/* X7 — shared public login entry, isolated from the signed-in Arch app shell. */
body{background:#FFFFFF}
.portal-top{background:#202020;color:#fff;padding:22px clamp(20px,4vw,52px);display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.portal-wordmark{font-size:1.2rem;color:#fff;font-weight:900;line-height:1;letter-spacing:-.035em;text-decoration:none}
.portal-wordmark strong{color:#D3B640}
.portal-top nav{display:flex;gap:clamp(14px,2.4vw,28px);flex-wrap:wrap}
.portal-top nav a{color:#fff;font-size:.79rem;font-weight:800;text-decoration:none}
.portal-top nav a:hover{text-decoration:underline;text-decoration-color:#D3B640;text-underline-offset:5px}
.portal-top a:focus-visible,.portal-card button:focus-visible{outline:3px solid #D3B640;outline-offset:4px}
.public-header{max-width:1200px;align-items:end;justify-content:space-between;padding:clamp(36px,6vw,68px) 24px 12px}
.public-header h1{margin:4px 0 0;max-width:800px;font-size:clamp(1.7rem,4vw,3rem);line-height:1.12;letter-spacing:-.04em}
.portal-eyebrow{font-size:.74rem;font-weight:900;letter-spacing:.13em;margin:0;color:#7e6800}
.tag{border-radius:0;border-color:#898B90;white-space:normal}
.warning{max-width:1152px;margin:14px auto 26px;border-radius:0;background:#fff;padding:16px 20px;border:1px solid #898B90;border-left:5px solid #D3B640;line-height:1.7}
.portal-cards{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 24px 26px;align-items:start}
.portal-card,.auth-card.portal-card{max-width:none;margin:0;min-width:0;border-radius:0;border:2px solid #898B90;padding:24px;background:#fff;color:#202020}
.portal-card-head{display:flex;gap:13px;align-items:start;padding:0 0 20px;border-bottom:1px solid #898B90}
.portal-number{font-size:.84rem;font-weight:900;padding-top:6px}
.portal-card h2{font-size:1.7rem;letter-spacing:-.05em;line-height:1.1;margin:0 0 7px}
.portal-card-head p{font-size:.88rem;line-height:1.45;margin:0}
.portal-state{font-size:.69rem;font-weight:900;letter-spacing:.085em;color:#746000;margin:20px 0 15px}
.portal-card h3{font-size:1.11rem;margin:0 0 6px}
.portal-card>p:not(.portal-state){line-height:1.62;font-size:.88rem}
.portal-card label{font-weight:700}
.portal-card input{border-radius:0;min-height:47px;border-color:#898B90}
.portal-card .buttons{flex-direction:column;align-items:stretch}
.portal-card .buttons button{min-height:49px;border-radius:0;background:#202020;color:#fff;border:2px solid #898B90;font-weight:800}
.portal-card .buttons button:hover{border-color:#D3B640}
.portal-card .buttons button.secondary{background:#fff;color:#202020}
.portal-unavailable{background:#fff}
.portal-unavailable .portal-state{color:#333}
#password-recovery{max-width:760px;border-radius:0;border:2px solid #898B90;margin:22px auto;padding:24px}
#password-recovery input,#password-recovery button{border-radius:0}
.public-footer{max-width:1200px;margin:25px auto 0;border-top:1px solid #898B90}
.public-footer a{color:#202020;text-underline-offset:4px}
@media(max-width:950px){.portal-cards{grid-template-columns:1fr 1fr}.portal-card:first-child{grid-column:1 / -1}}
@media(max-width:580px){.portal-top{padding:20px 18px}.portal-top nav{gap:14px}.public-header{padding:42px 20px 8px;display:block}.public-header .tag{display:inline-block;margin-top:16px}.warning{margin:12px 20px 26px}.portal-cards{grid-template-columns:1fr;padding:0 20px 30px}.portal-card:first-child{grid-column:auto}.portal-card{padding:22px}.public-footer{padding:20px;margin:15px 20px}#password-recovery{margin:15px 20px}}


/* X7 owner review — same-size login panels, charcoal title strips,
   and non-interactive Bridge/Console previews, with no new authentication. */
.portal-cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.portal-card,.auth-card.portal-card{
  min-height:575px;height:100%;
  display:flex;flex-direction:column;
  border:2px solid #202020;
}
.portal-card-head{
  flex:0 0 auto;
  margin:-24px -24px 0;
  padding:24px 22px;
  min-height:123px;
  align-items:center;
  color:#FFFFFF;background:#202020;
  border-bottom:0;
}
.portal-card-head .portal-number,.portal-card-head h2,
.portal-card-head p{color:#FFFFFF}
.portal-card-head .portal-number{align-self:center;padding:0}
.portal-card .portal-state{min-height:18px;color:#625000}
.portal-unavailable .portal-state{color:#202020}
.portal-card .buttons button{border:2px solid #202020}
.portal-card .buttons button:hover{border-color:#202020}
.portal-card .buttons button.secondary{border-color:#202020}
.login-placeholder-fields label{display:block;margin:14px 0 6px;font-weight:700}
.login-placeholder-fields input{
  display:block;width:100%;padding:12px;min-height:47px;
  border:1px solid #202020;background:#FFFFFF;color:#202020;border-radius:0;
}
.login-placeholder-fields input:disabled{background:#FFFFFF;color:#202020;opacity:1}
.login-placeholder-fields input::placeholder{color:#666}
.login-placeholder-fields .buttons{display:flex;flex-direction:column;margin-top:16px;gap:8px}
.login-placeholder-fields .buttons button{
  min-height:49px;background:#202020;color:#FFFFFF;border:2px solid #202020;
  border-radius:0;font-weight:800;
}
.login-placeholder-fields .buttons button.secondary{background:#FFFFFF;color:#202020}
.login-placeholder-fields .buttons button:disabled{opacity:.6;cursor:not-allowed}
.portal-unavailable>p:last-child{margin-top:auto;padding-top:20px}
@media(max-width:950px){
  .portal-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .portal-card:first-child{grid-column:auto}
}
@media(max-width:760px){
  .portal-cards{grid-template-columns:1fr}
  .portal-card:first-child{grid-column:auto}
  .portal-card,.auth-card.portal-card{min-height:575px}
}
@media(max-width:580px){
  .portal-card-head{margin:-22px -22px 0;padding:22px}
  .portal-card,.auth-card.portal-card{padding:22px}
}

/* X7 consistent public-login heading spacing and simple navigation. 
   Do not touch the authenticated #app conversation headings. */
.public-header h1,.portal-card h2,.portal-card h3,#password-recovery h2{
  letter-spacing:.04em;
}
.portal-breadcrumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin:0 0 20px;font-size:.80rem;font-weight:700;
  color:#202020;letter-spacing:.02em;
}
.portal-breadcrumbs a{color:#202020;text-decoration:none}
.portal-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:.12em}
.portal-breadcrumbs a:focus-visible{outline:3px solid #D3B640;outline-offset:3px}
.portal-breadcrumbs [aria-current="page"]{color:#555}
.portal-footer-links{display:flex;flex-wrap:wrap;gap:16px 24px;margin:0 0 15px}
.portal-footer-links a{color:#202020;text-decoration:none;font-weight:700}
.portal-footer-links a:hover{text-decoration:underline;text-underline-offset:.12em}
.public-footer p{margin:0}
