/* Public pages (index/plans/login/dashboard) using the same /portal theme */

.portal.public{
  grid-template-columns: 1fr;
}
.portal.public .sidebar{display:none;}
.portal.public .main{grid-column:1;}

/* Slightly narrower for storefront pages */
.portal.public .container{max-width: 1120px;}

/* Plans grid + pricing */
.grid.plans-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.plan-card .price{
  font-size: 34px;
  font-weight: 900;
  margin: 12px 0 8px;
  letter-spacing: .2px;
}
.plan-card ul{margin:10px 0 0; padding-left:18px; color: rgba(255,255,255,.80)}
.plan-card li{margin:6px 0}

/* Public hero buttons */
.big-buttons .btn{min-width: 170px;}

/* Centered auth card */
.auth-wrap{max-width: 460px; margin: 0 auto;}
.auth-wrap label{display:block; margin: 10px 0 6px; color: rgba(255,255,255,.70); font-weight: 800; font-size: 13px;}

@media (max-width: 1020px){
  .grid.plans-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 720px){
  .grid.plans-grid{grid-template-columns: 1fr;}
}

/* Utility */
.muted{color: rgba(255,255,255,.65);} 
.linkbox{
  white-space: pre-wrap;
  word-break: break-all;
  padding: 12px;
  border-radius: 16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.28);
  color: rgba(255,255,255,.90);
  font-size: 12px;
  line-height: 1.35;
}
