.portal-shell{--sidebar-width:264px;--header-height:64px;background:var(--color-surface-subtle);min-height:100dvh}.portal-header{z-index:40;height:var(--header-height);align-items:center;gap:var(--space-3);padding:0 var(--space-5);color:var(--color-text-inverse);background:linear-gradient(110deg, var(--color-brand-900), var(--color-brand-800));box-shadow:var(--shadow-header);display:flex;position:fixed;inset:0 0 auto}.portal-header__menu{color:inherit;display:none}.portal-header__brand{gap:1px;min-width:0;display:grid}.portal-header__brand strong{letter-spacing:-.01em;font-size:1rem}.portal-header__brand span{color:#ffffffad;font-size:.72rem}.portal-header__actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.header-action,.profile-button{color:inherit;background:0 0;border:0}.header-action{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);display:inline-flex}.header-action:hover,.profile-button:hover{background:#ffffff1a}.header-action svg{width:19px}.header-action__label{font-size:.82rem;font-weight:600}.profile-button{align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);text-align:left;min-height:48px;padding:4px 8px;display:flex}.profile-button__avatar{width:36px;height:36px;color:var(--color-brand-950);background:var(--color-brand-100);border:1px solid #ffffff3d;border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:800;display:grid}.profile-button__copy{gap:1px;display:grid}.profile-button__copy strong{font-size:.78rem}.profile-button__copy small{color:#ffffffa3;font-size:.68rem}.portal-sidebar{z-index:30;inset:var(--header-height) auto 0 0;width:var(--sidebar-width);border-right:1px solid var(--color-border);background:var(--color-surface);transition:width var(--transition-base), transform var(--transition-base);flex-direction:column;display:flex;position:fixed}.portal-sidebar__scroll{padding:var(--space-5) var(--space-3);flex:1;overflow:auto}.nav-group+.nav-group{margin-top:var(--space-6)}.nav-group h2{margin:0 0 var(--space-2);padding:0 var(--space-3);color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:.67rem;font-weight:800}.nav-group nav{gap:3px;display:grid}.nav-item{align-items:center;gap:var(--space-3);min-height:42px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:color var(--transition-fast), background var(--transition-fast);font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.nav-item svg{flex:none;width:19px;height:19px}.nav-item:hover{color:var(--color-brand-900);background:var(--color-brand-50)}.nav-item--active{color:var(--color-brand-900);background:var(--color-brand-100);box-shadow:inset 3px 0 0 var(--color-brand-600)}.sidebar-collapse{align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-6);border:0;border-top:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);white-space:nowrap;font-size:.78rem;font-weight:700;display:flex}.sidebar-collapse:hover{color:var(--color-brand-800);background:var(--color-brand-50)}.sidebar-collapse svg{width:18px}.portal-main{min-height:100dvh;padding:calc(var(--header-height) + var(--space-7)) var(--space-7) var(--space-8);margin-left:var(--sidebar-width);transition:margin-left var(--transition-base)}.portal-shell--collapsed{--sidebar-width:76px}.portal-shell--collapsed .nav-group h2,.portal-shell--collapsed .nav-item span,.portal-shell--collapsed .sidebar-collapse span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.portal-shell--collapsed .nav-group+.nav-group{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.portal-shell--collapsed .nav-item,.portal-shell--collapsed .sidebar-collapse{justify-content:center;padding-inline:0}.portal-shell--collapsed .nav-item--active{box-shadow:none}.portal-overlay{display:none}@media (width<=1023px){.portal-shell{--sidebar-width:min(312px, 86vw)}.portal-header{padding-inline:var(--space-3)}.portal-header__menu{display:inline-grid}.portal-sidebar{box-shadow:var(--shadow-drawer);transform:translate(-100%)}.portal-shell--sidebar-open .portal-sidebar{transform:translate(0)}.portal-overlay{z-index:20;inset:var(--header-height) 0 0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a1f2475;border:0;width:100%;display:block;position:fixed}.portal-main{padding-inline:var(--space-5);margin-left:0}}@media (width<=639px){.portal-header__brand span,.header-action__label,.profile-button__copy{display:none}.portal-header__actions{gap:0}.header-action{padding-inline:var(--space-2)}.profile-button{padding-inline:var(--space-1)}.portal-main{padding:calc(var(--header-height) + var(--space-5)) var(--space-3) var(--space-6)}}.page-container{width:min(100%,1480px);margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.page-heading h1,.placeholder-panel h1{margin:var(--space-1) 0 var(--space-2);color:var(--color-text-primary);letter-spacing:-.035em;font-size:clamp(1.65rem,2.8vw,2.25rem)}.page-heading p,.placeholder-panel p{max-width:760px;color:var(--color-text-secondary);line-height:1.65}.page-eyebrow,.panel__eyebrow,.auth-card__eyebrow,.state-card__eyebrow{color:var(--color-brand-700);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.status-chip{min-height:28px;padding:0 var(--space-3);border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-surface);white-space:nowrap;border-radius:999px;align-items:center;font-size:.72rem;font-weight:800;display:inline-flex}.status-chip--success{border-color:var(--color-success-border);color:var(--color-success-text);background:var(--color-success-surface)}.summary-grid{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.summary-card{gap:var(--space-4);min-height:170px;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card);display:flex}.summary-card__icon{border-radius:var(--radius-lg);width:44px;height:44px;color:var(--color-brand-800);background:var(--color-brand-100);flex:none;place-items:center;display:grid}.summary-card__icon svg{width:22px}.summary-card__body>span{color:var(--color-success-text);text-transform:uppercase;font-size:.68rem;font-weight:800}.summary-card h2{margin:var(--space-2) 0;color:var(--color-text-primary);font-size:1rem}.summary-card p{color:var(--color-text-secondary);font-size:.82rem;line-height:1.55}.content-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);display:grid}.panel,.placeholder-panel{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card)}.panel__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.panel__header h2{margin:var(--space-1) 0 0;color:var(--color-text-primary);font-size:1.05rem}.roadmap-list{display:grid}.roadmap-item{gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-border-subtle);grid-template-columns:38px 1fr;display:grid}.roadmap-item:first-child{border-top:0;padding-top:0}.roadmap-item__number{width:34px;height:34px;color:var(--color-brand-800);background:var(--color-brand-100);border-radius:50%;place-items:center;font-size:.68rem;font-weight:900;display:grid}.roadmap-item strong{color:var(--color-text-primary);font-size:.86rem}.roadmap-item p{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.78rem}.principles-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.principles-list li{padding-left:var(--space-5);color:var(--color-text-secondary);font-size:.82rem;line-height:1.5;position:relative}.principles-list li:before{content:"";background:var(--color-brand-500);width:7px;height:7px;box-shadow:0 0 0 4px var(--color-brand-100);border-radius:50%;position:absolute;top:.52em;left:0}.placeholder-panel{align-content:center;justify-items:start;min-height:320px;display:grid}.auth-page{background:var(--color-surface);grid-template-columns:minmax(360px,1.05fr) minmax(420px,.95fr);min-height:100dvh;display:grid}.auth-page__visual{color:#fff;background:linear-gradient(145deg,#082830f5,#115b66e8),radial-gradient(circle at 18% 22%,#5dcbcd8c,#0000 34%);align-items:flex-end;padding:clamp(36px,6vw,88px);display:flex;position:relative;overflow:hidden}.auth-page__visual:before,.auth-page__visual:after{content:"";border:1px solid #ffffff1f;border-radius:50%;position:absolute}.auth-page__visual:before{width:520px;height:520px;top:-160px;right:-150px}.auth-page__visual:after{width:280px;height:280px;top:40px;right:-40px}.auth-page__visual-copy{z-index:1;max-width:620px;position:relative}.auth-page__visual-copy>span{letter-spacing:.11em;text-transform:uppercase;font-size:.78rem;font-weight:800}.auth-page__visual-copy h1{max-width:700px;margin:var(--space-4) 0;letter-spacing:-.055em;font-size:clamp(2.15rem,5vw,4.5rem);line-height:1.03}.auth-page__visual-copy p{color:#ffffffbd;max-width:600px;font-size:.98rem;line-height:1.7}.auth-page__content{place-items:center;padding:clamp(28px,6vw,80px);display:grid}.auth-card{width:min(100%,430px)}.auth-card h2{margin:var(--space-2) 0 var(--space-3);color:var(--color-text-primary);letter-spacing:-.035em;font-size:clamp(1.55rem,3vw,2rem)}.auth-card>p{color:var(--color-text-secondary);line-height:1.65}.foundation-note{gap:var(--space-3);margin:var(--space-6) 0;padding:var(--space-4);border:1px solid var(--color-brand-200);border-radius:var(--radius-lg);color:var(--color-brand-900);background:var(--color-brand-50);display:flex}.foundation-note svg{flex:none;width:22px}.foundation-note div{gap:var(--space-1);display:grid}.foundation-note strong{font-size:.82rem}.foundation-note span{color:var(--color-text-secondary);font-size:.76rem;line-height:1.5}.preview-link{margin-top:var(--space-4);color:var(--color-brand-700);text-align:center;font-size:.78rem;font-weight:700;text-decoration:none;display:block}.preview-link:hover{text-decoration:underline}@media (width<=980px){.summary-grid{grid-template-columns:1fr}.summary-card{min-height:auto}.content-grid,.auth-page{grid-template-columns:1fr}.auth-page__visual{align-items:center;min-height:310px}}@media (width<=639px){.page-heading{display:grid}.page-heading .status-chip{justify-self:start}.summary-card,.panel,.placeholder-panel{padding:var(--space-4);border-radius:var(--radius-lg)}.auth-page__visual{min-height:260px;padding:var(--space-6) var(--space-5)}.auth-page__visual-copy h1{font-size:2rem}.auth-page__content{padding:var(--space-7) var(--space-5)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-brand-50:#edf8f8;--color-brand-100:#d6eeee;--color-brand-200:#b4dfe0;--color-brand-500:#2d8f98;--color-brand-600:#1f747d;--color-brand-700:#195f67;--color-brand-800:#154d54;--color-brand-900:#0e3d44;--color-brand-950:#07282d;--color-surface:#fff;--color-surface-subtle:#f4f7f7;--color-surface-muted:#eaf0f0;--color-border:#dce5e5;--color-border-subtle:#e9eeee;--color-text-primary:#172b30;--color-text-secondary:#50656a;--color-text-muted:#71858a;--color-text-inverse:#fff;--color-success-surface:#eaf7ef;--color-success-border:#b8dfc4;--color-success-text:#2c6f44;--color-danger-surface:#fff0ef;--color-danger-text:#a53c35;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--radius-sm:6px;--radius-md:9px;--radius-lg:13px;--radius-xl:17px;--shadow-card:0 8px 28px #14353a0d;--shadow-header:0 4px 18px #051e232e;--shadow-drawer:18px 0 40px #07282d2e;--transition-fast:.14s ease;--transition-base:.22s ease;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--color-surface-subtle);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px}body{min-width:320px;min-height:100dvh;color:var(--color-text-primary);background:var(--color-surface-subtle);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline-offset:2px;outline:3px solid #2d8f9859}::selection{color:var(--color-brand-950);background:var(--color-brand-200)}.icon-button{border-radius:var(--radius-md);background:0 0;border:0;place-items:center;width:42px;height:42px;padding:0;display:inline-grid}.icon-button:hover{background:#ffffff1a}.icon-button svg{width:21px}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-md);transition:transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.button--primary{color:var(--color-text-inverse);background:var(--color-brand-700)}.button--primary:hover:not(:disabled){background:var(--color-brand-800);transform:translateY(-1px)}.button--primary:disabled{opacity:.55}.button--full{width:100%}.full-page-state{place-items:center;gap:var(--space-4);min-height:100dvh;padding:var(--space-6);color:var(--color-text-secondary);background:var(--color-surface-subtle);text-align:center;display:grid}.spinner{border:3px solid var(--color-brand-100);border-top-color:var(--color-brand-700);border-radius:50%;width:34px;height:34px;animation:.75s linear infinite spin}.state-card{width:min(100%,520px);padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card)}.state-card h1{margin:var(--space-2) 0 var(--space-3);color:var(--color-text-primary);letter-spacing:-.04em;font-size:clamp(1.55rem,4vw,2.2rem)}.state-card p{color:var(--color-text-secondary);line-height:1.65}.state-card .button{margin-top:var(--space-5)}.state-card__operation{margin-top:var(--space-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
