.portal-shell{background:linear-gradient(180deg,#f7fbff 0,#fff 42%)}
.portal-hero{padding:3rem 0 1.5rem}.portal-hero h1{font-weight:800;letter-spacing:-.03em}.portal-card,.portal-table{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;box-shadow:0 18px 55px rgba(15,23,42,.08)}.portal-card{padding:1.25rem}.portal-stat{min-height:120px}.portal-stat strong{font-size:1.8rem}.portal-muted{color:#64748b}.portal-badge{border-radius:999px;padding:.35rem .7rem;background:#eef6ff;color:#0b4a7a;font-weight:700;font-size:.8rem}.table>:not(caption)>*>*{vertical-align:middle}.portal-form .form-control,.portal-form .form-select{border-radius:16px}.portal-actions{display:flex;gap:.5rem;flex-wrap:wrap}.system-note{background:#f8fafc;border:1px dashed rgba(15,23,42,.18);border-radius:18px;padding:1rem}.generator-locked-overlay{position:relative}.generator-locked-overlay:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.62);backdrop-filter:blur(1px);border-radius:22px;pointer-events:none}.auth-panel{max-width:680px;margin:auto}.copy-field input{font-weight:700;color:#0b4a7a}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .65rem;background:#eef2ff;font-weight:700;font-size:.78rem}

/* V8 production cleanup */
.portal-status-timeline{position:relative;margin:0;padding:0;list-style:none}.portal-status-timeline li{padding:.75rem 0 .75rem 1.5rem;border-left:2px solid rgba(15,23,42,.12);position:relative}.portal-status-timeline li:before{content:'';width:.7rem;height:.7rem;border-radius:99px;background:var(--bs-primary);position:absolute;left:-.42rem;top:1rem}.sr-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:rgba(15,23,42,.06);border-radius:.5rem;padding:.1rem .35rem}.table-sr td,.table-sr th{vertical-align:middle}.generator-access-card{border:1px solid rgba(37,99,235,.12)}
