:root{--bg:#f8fafc;--bg-deep:#e2e8f0;--panel:#fff;--panel-strong:#f1f5f9;--line:#e2e8f0;--text:#0f172a;--muted:#64748b;--cyan:#2563eb;--cyan-strong:#1d4ed8;--gold:#ffd86a;--gold-dark:#b98112;--danger:#dc2626;--success:#16a34a;--shadow:0 12px 32px #0f172a0f;--sidebar:#07111f;--sidebar-soft:#0b1728;--blue:#2563eb;--sky:#38bdf8;--warning:#f97316}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.portal-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.portal-shell:before,.auth-shell:before{content:none}.auth-shell{place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{border:1px solid var(--line);width:min(100%,620px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#091525db,#040d1ac2);border-radius:32px;padding:clamp(28px,5vw,48px)}.auth-card h1{letter-spacing:-.055em;margin-bottom:12px;font-size:clamp(2.1rem,5vw,4rem);line-height:.98}.auth-card h2{color:#e8f7ff;margin:0 0 14px;font-size:clamp(1.25rem,3vw,1.9rem)}.auth-card .brand-mark{margin-bottom:24px}.auth-form{margin-top:24px}.auth-links{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.auth-tabs{border:1px solid var(--line);background:#ffffff0a;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:22px 0 4px;padding:6px;display:grid}.auth-tabs button{color:var(--muted);background:0 0;border:0;border-radius:13px;padding:11px 12px;font-weight:850}.auth-tabs button.active{color:#06111e;background:linear-gradient(135deg,#fff5ad,#ffd86a 45%,#c9951e)}.check-row{color:var(--text);grid-template-columns:auto 1fr;align-items:center;gap:10px;display:flex}.check-row input{width:18px;height:18px}.fine-print{color:#eef7ff9e;margin:18px 0 0;font-size:.92rem}.portal-sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#020914ad;flex-direction:column;gap:24px;height:100vh;padding:34px 26px;display:flex;position:sticky;top:0}.brand-mark{color:#06111e;letter-spacing:.08em;background:linear-gradient(135deg,#fff6be,#ffd86a 42%,#b97808);border-radius:18px;place-items:center;width:58px;height:58px;font-weight:900;display:grid;box-shadow:0 14px 30px #ffc73f2e}.eyebrow{color:var(--cyan);text-transform:uppercase;letter-spacing:.18em;margin:0 0 8px;font-size:.74rem;font-weight:800}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:8px;font-size:1.55rem}h2{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(1.8rem,3vw,3.2rem)}h3{margin-bottom:12px;font-size:1.5rem}h4{margin-bottom:0}.muted{color:var(--muted);line-height:1.6}.nav-list{gap:10px;margin-top:10px;display:grid}.nav-list button,.ghost-button,.secondary-button{color:var(--text);border:1px solid var(--line);text-align:left;background:#ffffff0a;border-radius:14px;padding:11px 14px}.nav-list button.active,.nav-list button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){background:#49d7ff1a;border-color:#49d7ff75}.portal-main{width:100%;max-width:1240px;padding:34px}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.status-pill{color:#ffe89a;white-space:nowrap;background:#ffd86a17;border:1px solid #ffd86a57;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;font-weight:800;display:inline-flex}.status-pill.compact{text-transform:capitalize;gap:0;padding:8px 11px;font-size:.82rem}.pulse{background:var(--gold);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 7px #ffd86a1f}.glass-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:26px;padding:26px}.glass-panel.narrow{max-width:540px}.glass-panel.wide{grid-column:1/-1}.grid{gap:18px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.button-row.between{justify-content:space-between}.primary-button{color:#03111e;background:linear-gradient(135deg,#fff5ad,#ffd86a 45%,#c9951e);border:0;border-radius:16px;padding:12px 18px;font-weight:900;box-shadow:0 16px 32px #ffc73f2e}.secondary-button{text-align:center}.secondary-button.compact{border-radius:12px;padding:8px 12px}.secondary-button.compact.danger{color:#fecaca;border-color:#f8717173}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.summary-card{background:linear-gradient(145deg,#0c1d32d1,#09152594);border:1px solid #97c5ff29;border-radius:22px;min-height:148px;padding:18px;box-shadow:0 18px 48px #0000003d}.summary-card span,.completeness-head span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;font-size:.76rem;font-weight:850;display:block}.summary-card strong{color:#f8fbff;margin-bottom:8px;font-size:1.1rem;display:block}.summary-card p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.dashboard-action-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;display:grid}.next-action-card,.completeness-card,.checklist-panel,.dashboard-preview{min-width:0}.completeness-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.completeness-head h3{margin-bottom:0;font-size:2.4rem}.completeness-head span{color:#ffe89a;margin:4px 0 0}.progress-track{background:#ffffff0f;border:1px solid #97c5ff29;border-radius:999px;height:12px;margin:18px 0 16px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--cyan), #ffd86a);height:100%;display:block}.checklist-panel{grid-template-columns:minmax(220px,.38fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.missing-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.missing-list li{color:#dbeafe;background:#ffffff0a;border:1px solid #97c5ff29;border-radius:14px;min-height:44px;padding:11px 12px 11px 36px;font-weight:800;position:relative}.missing-list li:before{content:"";background:var(--gold);border-radius:999px;width:8px;height:8px;position:absolute;top:18px;left:14px;box-shadow:0 0 0 5px #ffd86a1f}.request-list{gap:12px;margin-top:16px;display:grid}.status-tabs{flex-wrap:wrap;gap:10px;margin:14px 0 18px;display:flex}.status-tabs button{border:1px solid var(--line);color:var(--muted);background:#ffffff0a;border-radius:999px;padding:9px 13px;font-weight:800}.status-tabs button.active,.status-tabs button:hover{color:#03111e;background:#ffd86a;border-color:#ffd86acc}.request-row{background:#ffffff0a;border:1px solid #97c5ff29;border-radius:16px;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.request-row.highlighted{border-color:#ffd86ad9;box-shadow:0 0 0 3px #ffd86a1f}.request-row .avatar{color:#03111e;background:#ffd86a;border-radius:999px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.request-body{min-width:0}.request-meta{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.request-meta span,.note-inline{color:var(--muted);background:#ffffff0a;border:1px solid #97c5ff29;border-radius:999px;padding:5px 8px;font-size:.82rem;font-weight:800}.note-inline{border-radius:12px;margin:10px 0 0;display:inline-block}.request-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ghost-button.small{border-radius:12px;padding:8px 12px}.form-stack,.form-grid{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}label{color:#d9e8f5;gap:8px;font-weight:750;display:grid}label.wide,.wide{grid-column:1/-1}input,textarea{width:100%;color:var(--text);background:#040c17bd;border:1px solid #97c5ff33;border-radius:14px;outline:none;padding:12px 13px}textarea{resize:vertical}input:focus,textarea:focus{border-color:#49d7ff9e;box-shadow:0 0 0 4px #49d7ff14}.field-error{color:var(--danger);font-size:.84rem;font-weight:650}.alert{border:1px solid var(--line);border-radius:16px;margin-bottom:18px;padding:13px 15px}.alert.error{color:#ffd4d8;background:#ff6f7a21;border-color:#ff6f7a47}.alert.success{color:#d6ffe4;background:#72f0a11f;border-color:#72f0a142}.note-box{border-left:3px solid var(--cyan);background:#ffffff0d;border-radius:10px;margin-top:16px;padding:12px 14px}.note-box.warning{border-left-color:var(--gold)}.wizard-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:18px;display:grid}.wizard-steps{gap:10px;display:grid}.wizard-steps button{border:1px solid var(--line);color:var(--text);background:#ffffff0a;border-radius:16px;align-items:center;gap:10px;padding:12px;display:flex}.wizard-steps button span{width:27px;height:27px;color:var(--cyan);background:#49d7ff1f;border-radius:50%;place-items:center;font-weight:900;display:grid}.wizard-steps button.active{background:#ffd86a1a;border-color:#ffd86a75}.save-strip{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;display:flex}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.media-card{border:1px solid var(--line);background:#ffffff09;border-radius:20px;padding:18px}.media-card-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.media-preview,.media-placeholder{aspect-ratio:16/9;object-fit:cover;width:100%;color:var(--muted);background:#49d7ff0f;border:1px dashed #97c5ff38;border-radius:16px;place-items:center;display:grid}.file-button{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#49d7ff14;border-radius:14px;justify-content:center;align-items:center;padding:10px 13px;font-weight:800;display:inline-flex}.file-button input{display:none}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:16px;display:grid}.gallery-item{border:1px solid var(--line);border-radius:16px;position:relative;overflow:hidden}.gallery-item img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.gallery-item button{color:var(--text);background:#000000ad;border:0;border-radius:999px;padding:7px 10px;position:absolute;bottom:8px;right:8px}.preview-wrap{gap:18px;display:grid}.academy-preview{border:1px solid var(--line);background:#0209148c;border-radius:24px;overflow:hidden}.academy-preview>img,.preview-cover{object-fit:cover;width:100%;height:220px;color:var(--muted);background:linear-gradient(135deg,#49d7ff29,#ffd86a1a);place-items:center;display:grid}.preview-body{padding:22px}.preview-logo{object-fit:cover;background:var(--panel-strong);border:2px solid #ffffffb8;border-radius:20px;width:74px;height:74px;margin-top:-58px}.preview-logo.empty{color:#06111e;background:linear-gradient(135deg,#fff5ad,#ffd86a,#c9951e);place-items:center;font-weight:900;display:grid}.tag-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.tag-row span{border:1px solid var(--line);color:#dcecff;background:#ffffff0d;border-radius:999px;padding:7px 10px;font-size:.86rem}.timeline{gap:16px;display:grid}.timeline-item{grid-template-columns:16px minmax(0,1fr);gap:12px;display:grid}.timeline-item>span{background:var(--cyan);border-radius:50%;width:10px;height:10px;margin-top:6px;box-shadow:0 0 0 6px #49d7ff1a}.timeline-item strong{text-transform:capitalize}.timeline-item p{color:var(--muted);margin:5px 0}.timeline-item small{color:#eef7ff99}.portal-gate-shell{align-content:start;gap:24px;min-height:100vh;padding:32px;display:grid}.portal-gate-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.package-gate{gap:20px;display:grid}.package-copy{max-width:none}.gate-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.gate-status-grid span{border:1px solid var(--line);color:var(--muted);border-radius:14px;gap:4px;padding:12px;display:grid}.gate-status-grid strong{color:var(--text)}.billing-toggle{border:1px solid var(--line);background:#ffffff0a;border-radius:18px;justify-self:start;gap:8px;padding:6px;display:inline-flex}.billing-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 14px;font-weight:800}.billing-toggle button.active{color:#06111e;background:var(--cyan)}.package-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.package-card{border:1px solid var(--line);background:#ffffff0d;border-radius:8px;gap:16px;padding:18px;display:grid}.package-card.selected{border-color:#49d7ffe6;box-shadow:0 0 0 1px #49d7ff40}.package-price{align-items:baseline;gap:8px;display:flex}.package-price strong{font-size:2rem}.package-card ul{color:var(--muted);gap:10px;margin:0;padding-left:18px;display:grid}@media (max-width:900px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{height:auto;position:static}.portal-main{padding:22px}.topbar,.grid.two,.wizard-layout,.form-grid,.media-grid,.portal-gate-head,.gate-status-grid,.package-grid,.summary-grid,.dashboard-action-grid,.checklist-panel,.missing-list{grid-template-columns:1fr}.grid.two,.topbar{display:grid}.request-row{grid-template-columns:42px minmax(0,1fr)}.request-actions{grid-column:1/-1;justify-content:flex-start}}.portal-sidebar{color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#07111f 0%,#0b1728 100%);border-right:0;padding:28px 18px}.portal-sidebar h1,.portal-sidebar .brand-mark+div h1{color:#fff}.portal-sidebar .muted{color:#94a3b8}.portal-sidebar .eyebrow{color:#38bdf8}.portal-sidebar .ghost-button{color:#cbd5e1;background:#ffffff0a;border-color:#94a3b838;margin-top:auto}.nav-list button{color:#94a3b8;background:0 0;border-color:#0000;align-items:center;min-height:44px;font-weight:750;display:flex;position:relative}.nav-list button.active{color:#fff;background:#38bdf824;border-color:#38bdf833}.nav-list button.active:before{content:"";background:#38bdf8;border-radius:999px;width:3px;height:26px;position:absolute;left:-18px}.portal-main{max-width:1180px;margin:0 auto;padding:32px}.topbar{min-height:72px;margin-bottom:24px}.topbar h2{color:#0f172a;font-size:clamp(1.8rem,3vw,2.15rem);font-weight:750}.topbar-description{color:#64748b;max-width:620px;margin:8px 0 0;font-size:.95rem}.topbar-actions{align-items:center;gap:12px;display:flex}.glass-panel,.portal-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:24px;box-shadow:0 12px 32px #0f172a0f}.portal-card{animation:.22s cubic-bezier(.2,.8,.2,1) both portalCardIn}.primary-button{color:#fff;background:#2563eb;border:0;border-radius:14px;min-height:44px;padding:0 18px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;box-shadow:0 10px 20px #2563eb24}.primary-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 10px 20px #2563eb2e}.secondary-button,.ghost-button{color:#0f172a;background:#fff;border-color:#cbd5e1;font-weight:750}.status-pill{color:#0f172a;background:#fff;border-color:#e2e8f0}.pulse{background:#16a34a;box-shadow:0 0 0 7px #16a34a1f}.dashboard-page{gap:24px;display:grid}.academy-hero-card{background:linear-gradient(135deg,#fff 0%,#f8fafc 55%,#eff6ff 100%);border:1px solid #e2e8f0;border-radius:28px;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:24px;min-height:190px;padding:28px;display:grid;box-shadow:0 18px 45px #0f172a14}.hero-identity{align-items:center;gap:18px;min-width:0;display:flex}.hero-logo,.hero-logo-fallback{object-fit:cover;background:#e2e8f0;border-radius:18px;flex:0 0 64px;width:64px;height:64px}.hero-logo-fallback,.public-preview-logo-fallback,.preview-logo.empty{color:#0f172a;place-items:center;font-weight:900;display:grid}.hero-logo-fallback span,.public-preview-logo-fallback span,.preview-logo.empty span{display:none}.hero-identity h3{color:#0f172a;margin:8px 0 4px;font-size:clamp(1.6rem,3vw,2rem);font-weight:760}.hero-identity p,.hero-readiness span{color:#64748b;margin:0}.status-chip{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.status-chip.draft,.next-action-card.draft,.compact-info-card.draft{color:#9a3412;background:#fff7ed;border-color:#fdba74}.status-chip.review,.next-action-card.review,.compact-info-card.review{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.status-chip.published,.next-action-card.published,.compact-info-card.published{color:#166534;background:#ecfdf5;border-color:#86efac}.status-chip.danger,.next-action-card.danger,.compact-info-card.danger{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.hero-readiness{gap:8px;display:grid}.hero-readiness strong{color:#0f172a;font-size:2.75rem;line-height:1}.hero-actions{flex-wrap:wrap;grid-column:1/-1;gap:12px;display:flex}.dashboard-layout{grid-template-columns:minmax(0,8fr) minmax(280px,4fr);gap:24px;display:grid}.dashboard-primary,.dashboard-secondary{align-content:start;gap:24px;display:grid}.card-heading-row{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.next-action-card,.compact-info-card{box-shadow:none}.next-action-card h3,.readiness-card h3,.public-preview-card h3,.compact-info-card h3{color:#0f172a;font-size:1.25rem;font-weight:750}.next-action-card .muted,.compact-info-card p{color:#475569}.progress-track{background:#e2e8f0;border:0;border-radius:999px;height:10px;margin:16px 0}.progress-track span{border-radius:inherit;height:100%;transition:width .7s ease-out;display:block}.progress-track.attention span{background:#f97316}.progress-track.steady span{background:#2563eb}.progress-track.ready span{background:#16a34a}.missing-summary{gap:12px;display:grid}.missing-summary strong{color:#0f172a}.missing-summary ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.missing-summary li{color:#475569;padding-left:24px;position:relative}.missing-summary li:before{content:"";border:2px solid #94a3b8;border-radius:50%;width:10px;height:10px;position:absolute;top:.45em;left:0}.public-preview-shell{background:#f8fafc;border:1px solid #e2e8f0;border-radius:24px;overflow:hidden}.public-preview-cover,.public-preview-cover-fallback{object-fit:cover;width:100%;height:180px}.public-preview-cover-fallback,.media-placeholder,.preview-cover,.gallery-image-fallback{color:#475569;text-align:center;background:linear-gradient(135deg,#e2e8f0,#f8fafc);align-content:center;place-items:center;gap:8px;padding:18px;display:grid}.public-preview-body{gap:12px;padding:0 20px 20px;display:grid}.public-preview-logo,.public-preview-logo-fallback{object-fit:cover;background:#e2e8f0;border:4px solid #fff;border-radius:20px;width:74px;height:74px;margin-top:-34px}.public-preview-body h4{color:#0f172a;font-size:1.2rem}.public-preview-body p{color:#475569}.quick-links-card{gap:8px;display:grid}.quick-links-card button{color:#334155;text-align:left;background:#f8fafc;border:0;border-radius:12px;min-height:42px;font-weight:750}.quick-links-card button:hover{color:#0f172a;background:#e0f2fe}.media-step-layout{gap:20px;display:grid}.media-step-head h3{color:#0f172a}.brand-media-grid{grid-template-columns:220px minmax(0,1fr);gap:20px;display:grid}.upload-card{align-content:start;gap:14px;display:grid}.media-preview.logo,.media-placeholder.logo{object-fit:cover;border-radius:28px;justify-self:center;width:120px;height:120px}.media-preview.cover,.media-placeholder.cover{object-fit:cover;border-radius:20px;width:100%;height:160px}.gallery-card{background:#fff}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.gallery-item{position:relative}.gallery-image,.gallery-image-fallback{object-fit:cover;border-radius:16px;width:100%;height:120px}.gallery-item button{opacity:0;transition:opacity .16s;position:absolute;bottom:8px;right:8px}.gallery-item:hover button,.gallery-item:focus-within button{opacity:1}.gallery-upload-preview{color:#475569;align-items:center;gap:12px;margin:14px 0;font-weight:700;display:flex}.gallery-upload-image{object-fit:cover;border-radius:12px;width:72px;height:54px}.preview-cover-image{object-fit:cover;width:100%;height:220px}@keyframes portalCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.portal-main{padding:16px}.topbar-actions,.hero-actions,.button-row{align-items:stretch}.topbar-actions,.hero-actions{width:100%;display:grid}.academy-hero-card,.dashboard-layout,.brand-media-grid{grid-template-columns:1fr}.academy-hero-card{border-radius:22px;padding:20px}.hero-logo,.hero-logo-fallback{flex-basis:56px;width:56px;height:56px}.primary-button,.secondary-button,.ghost-button{text-align:center;justify-content:center;width:100%;min-height:46px}}
