.site-header { position: sticky; z-index: 20; top: 0; min-height: 72px; display:flex; align-items:center; border-bottom: var(--border); background:var(--color-forest); color:var(--color-white); }
.site-header__inner { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); }
.site-header__actions { display:flex; align-items:center; gap:var(--space-3); }
.site-header__secondary { display:none; }
.wordmark { display:block; width:min(100%,150px); color:var(--color-white); line-height:0; text-decoration:none; }
.wordmark__svg { display:block; width:100%; height:auto; }
.site-header__inner--compact { max-width:1420px; }
.site-header:has(.site-header__inner--compact) { min-height:40px; }
.site-header__question { display:none; font:500 .68rem/1.3 var(--font-mono); }
.site-header__login { display:none; font:650 .68rem/1.3 var(--font-mono); text-decoration:none; }
.button.site-header__primary { display:none; }
.button, button, input[type=submit] { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:12px 22px; border:var(--border); border-radius:0; background:var(--color-pink); color:var(--color-ink); box-shadow:var(--shadow-action); cursor:pointer; font:650 .78rem/1.1 var(--font-mono); letter-spacing:.02em; text-decoration:none; transition:transform 150ms,box-shadow 150ms; }
.button:hover,button:hover,input[type=submit]:hover { transform:translate(2px,2px); box-shadow:3px 3px 0 var(--color-maroon); }
.button--secondary { background:transparent; box-shadow:none; }.button--destructive{background:var(--color-white);border-color:var(--color-orange-deep);color:var(--color-orange-deep);box-shadow:none}
.site-header .button--secondary { border-color:rgba(255,255,255,.72); color:white; }.site-header .button--secondary:hover{background:white;color:var(--color-ink)}
button:disabled,input:disabled { opacity:.55; cursor:not-allowed; transform:none!important; box-shadow:none!important; }
.panel,.card { border:var(--border); background:var(--color-white); padding:var(--space-6); }.panel--featured{border-top:8px solid var(--color-orange);box-shadow:var(--shadow-panel)}
.status-badge { display:inline-flex; align-items:center; gap:.35rem; padding:.4rem .55rem; border:1px solid currentColor; border-radius:999px; font:700 .65rem/1 var(--font-mono); text-transform:uppercase; letter-spacing:.06em; }
.status-badge--neutral{background:var(--color-paper-deep)}.status-badge--pending{background:var(--color-ochre)}.status-badge--progress{background:var(--color-sky-light);color:var(--color-sky-deep)}.status-badge--complete{background:var(--color-forest);color:white}.status-badge--attention{background:var(--color-orange-light);color:var(--color-maroon)}
.flash,.error-summary { margin-block:var(--space-4); padding:var(--space-4); border-left:4px solid var(--color-orange-deep); background:var(--color-orange-light); color:var(--color-maroon); }.flash--notice{border-color:var(--color-forest);background:var(--color-sky-light);color:var(--color-sky-deep)}
.empty-state{padding:var(--space-8);border:2px solid var(--color-rule);background:var(--color-paper-deep)}
.empty-state__mark { display:grid; grid-template-columns:repeat(2,8px); gap:2px; }
.empty-state__mark i { width:8px; height:8px; background:var(--color-orange); }.empty-state__mark i:nth-child(2){background:var(--color-sky)}.empty-state__mark i:nth-child(3){background:var(--color-ochre)}.empty-state__mark i:nth-child(4){background:var(--color-pink)}
.universal-footer { min-width:0; background:var(--color-forest-deep); }
.universal-footer-fallback { padding:var(--space-8) 0; border-top:var(--border); color:var(--color-white); }
.universal-footer-fallback__inner { display:flex; flex-direction:column; gap:var(--space-4); }
.universal-footer-fallback nav { display:flex; flex-wrap:wrap; gap:var(--space-4); }
table{width:100%;border-collapse:collapse;background:var(--color-white)}th,td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-rule);text-align:left}th{background:var(--color-paper-deep);font:700 .68rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
@media(max-width:479px){.button,button,input[type=submit]{width:100%}}
@media(min-width:640px){.button.site-header__primary{display:inline-flex}}
@media(min-width:768px){.site-header{min-height:82px}.wordmark{width:230px}.site-header__login{display:inline}}
@media(min-width:1024px){.site-header__secondary{display:inline-flex}.wordmark{width:260px}.site-header__question{display:inline}}
@media(min-width:768px){.site-header:has(.site-header__inner--compact){min-height:51px}}

.auth-frame { width:min(calc(100% - 40px),1040px); display:grid; gap:2.5rem; padding-block:var(--space-12); }
.auth-frame__intro h1 { margin-bottom:1.25rem; font-size:3rem; line-height:.94; letter-spacing:-.05em; }
.auth-frame__intro > p:last-child { color:var(--color-muted); font-size:1.125rem; }
.auth-frame__panel { min-width:0; }
.auth-panel__heading { margin-bottom:var(--space-6); }
.auth-panel__heading h2 { margin:0; font-size:1.875rem; line-height:1.2; letter-spacing:-.03em; }
.auth-panel__heading p { margin:var(--space-2) 0 0; color:var(--color-muted); }
.auth-panel__primary { margin-top:var(--space-6); }
.auth-panel__primary input[type=submit] { width:100%; }
.auth-panel__new-sponsor { margin:var(--space-6) 0 0; color:var(--color-muted); font-size:.75rem; text-align:center; }
.auth-panel__new-sponsor a,
.auth-panel__recovery a { color:var(--color-forest); font-weight:700; }
.auth-panel__recovery { margin:0; }
.auth-panel__alternates { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-4); margin-top:var(--space-6); }
.auth-panel__alternates form { margin:0; }
.auth-panel__alternates button { min-height:0; width:auto; padding:0; border:0; background:transparent; box-shadow:none; color:var(--color-forest); font:700 .875rem/1.5 var(--font-sans); letter-spacing:0; text-align:left; }
.auth-panel__alternates form:last-child button { color:var(--color-muted); font-weight:400; text-decoration:underline; text-underline-offset:.18em; }
.auth-panel__alternates button:hover { transform:none; box-shadow:none; text-decoration:underline; }
.site-header--portal { position:relative; min-height:0; }
.site-header--portal .site-header__inner { align-items:stretch; flex-direction:column; gap:var(--space-4); padding-block:var(--space-6); }
.site-header--portal .site-header__inner { width:calc(100% - 40px); max-width:1240px; }
.portal-identity { display:flex; min-width:0; align-items:center; gap:var(--space-3); }
.portal-identity { flex-wrap:wrap; }
.portal-identity__copy { min-width:0; flex:1 1 10rem; }
.portal-identity__copy strong,
.portal-identity__copy span { display:block; overflow-wrap:anywhere; }
.portal-identity__copy span { margin:0; color:rgba(247,247,242,.64); font:500 .625rem/1.45 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }
.portal-identity__avatar { display:flex; width:40px; height:40px; flex:0 0 auto; align-items:center; justify-content:center; border-radius:50%; background:var(--color-orange); font-weight:700; }
.portal-identity__signout { flex:0 0 auto; }
.site-header--portal .button { min-height:38px; width:auto; padding:var(--space-2) var(--space-3); font-size:.625rem; letter-spacing:.12em; text-transform:uppercase; }
.task-shell { width:calc(100% - 40px); max-width:980px; padding-block:var(--space-12); }
.task-shell--wide { max-width:1280px; }
.task-shell__back { display:inline-flex; margin-bottom:var(--space-8); color:var(--color-forest); font:700 .7rem/1.3 var(--font-mono); letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.task-shell__layout { display:grid; gap:var(--space-8); }
.task-shell__heading { min-width:0; }
.task-shell__heading .eyebrow { margin:0 0 var(--space-3); }
.task-shell__heading h1 { margin-bottom:var(--space-4); font-size:clamp(2.5rem,7vw,3.75rem); line-height:1; }
.task-shell__heading > p:last-child { margin:0; color:var(--color-muted); font-size:1.125rem; line-height:1.55; }
.task-shell__content { min-width:0; padding:var(--space-6); border:var(--border); border-top:8px solid var(--color-orange); background:var(--color-white); box-shadow:var(--shadow-panel); }
@media (min-width:1024px) {
  .auth-frame { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:2.5rem; }
  .task-shell:not(.task-shell--wide) .task-shell__layout { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); align-items:start; }
}
@media (min-width:768px) {
  .auth-frame { width:min(calc(100% - 64px),1040px); padding-block:5rem; }
  .auth-frame__intro h1 { font-size:3.75rem; line-height:1; }
  .auth-frame__panel { padding:2.5rem; }
  .site-header--portal .site-header__inner { width:calc(100% - 64px); min-height:104px; align-items:center; flex-direction:row; justify-content:space-between; }
  .site-header--portal .wordmark { flex:0 1 260px; }
  .portal-identity { flex:1 1 auto; justify-content:flex-end; }
  .portal-identity__copy { flex:0 1 auto; text-align:right; }
  .task-shell { width:calc(100% - 64px); padding-block:var(--space-16); }
  .task-shell__content { padding:var(--space-8); }
  .universal-footer-fallback__inner { flex-direction:row; align-items:flex-start; justify-content:space-between; }
}
@media (max-width:479px) {
  .auth-frame { width:min(calc(100% - 40px),1040px); }
  .auth-panel__alternates { align-items:flex-start; flex-direction:row; }
  .auth-panel__alternates form { width:auto; }
}
