:root{--portal-brand:#5ecfca;--portal-brand-strong:#0f8f8a;--portal-brand-ink:#086763;--portal-brand-soft:#eafbf9;--portal-canvas:#f6f9fc;--portal-paper:#ffffff;--portal-paper-muted:#f8fafc;--portal-ink:#0f172a;--portal-ink-secondary:#475569;--portal-ink-muted:#64748b;--portal-ink-faint:#94a3b8;--portal-border:#dfe7ef;--portal-border-soft:#edf2f7;--portal-success:#188568;--portal-success-soft:#eaf8f2;--portal-warning:#b65c12;--portal-warning-soft:#fff6e9;--portal-danger:#b42338;--portal-danger-soft:#fff1f2;--portal-radius-sm:8px;--portal-radius-md:12px;--portal-radius-lg:16px;--portal-shadow:0 1px 2px rgba(15,23,42,0.04),0 12px 28px -24px rgba(15,23,42,0.28);--portal-sidebar-width:252px}*{box-sizing:border-box}html{min-width:320px}body,html{background:var(--portal-canvas)}body{margin:0;color:var(--portal-ink);font-family:Manrope,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:var(--portal-brand-ink)}:focus-visible{outline:3px solid color-mix(in srgb,var(--portal-brand) 42%,transparent);outline-offset:2px}.portal-app-shell{min-height:100vh}.portal-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;width:var(--portal-sidebar-width);flex-direction:column;overflow-y:auto;border-right:1px solid var(--portal-border);background:rgba(255,255,255,.94);color:var(--portal-ink-secondary)}.portal-brand{display:flex;align-items:center;gap:11px;min-height:84px;padding:18px 24px;border-bottom:1px solid var(--portal-border-soft);text-decoration:none}.portal-brand img{width:38px;height:38px}.portal-brand-copy{min-width:0}.portal-brand-name{display:block;color:var(--portal-ink);font-size:18px;font-weight:800;letter-spacing:-.035em}.portal-brand-label{display:block;margin-top:1px;color:var(--portal-ink-muted);font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.portal-nav{flex:1 1;padding:18px 12px}.portal-nav-label{margin:0 12px 8px;color:var(--portal-ink-faint);font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.portal-nav-list{display:grid;grid-gap:4px;gap:4px;margin:0;padding:0;list-style:none}.portal-nav-link{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border-radius:10px;color:var(--portal-ink-secondary);font-size:13px;font-weight:600;text-decoration:none;transition:background-color .15s ease,color .15s ease}.portal-nav-link:hover{background:var(--portal-paper-muted);color:var(--portal-ink)}.portal-nav-link[aria-current=page]{background:var(--portal-brand-soft);color:var(--portal-brand-ink);font-weight:750}.portal-nav-link[aria-current=page]:before{position:absolute;inset:9px auto 9px -12px;width:3px;border-radius:0 3px 3px 0;background:var(--portal-brand);content:""}.portal-nav-icon{display:grid;width:28px;height:28px;place-items:center;border:1px solid transparent;border-radius:8px}.portal-nav-link[aria-current=page] .portal-nav-icon{border-color:color-mix(in srgb,var(--portal-brand) 26%,white);background:var(--portal-paper)}.portal-user{margin:12px;padding:14px;border:1px solid var(--portal-border);border-radius:var(--portal-radius-md);background:var(--portal-paper)}.portal-user-row{display:flex;align-items:center;gap:10px}.portal-avatar{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--portal-brand-soft);color:var(--portal-brand-ink);font-size:12px;font-weight:800}.portal-user-copy{min-width:0;flex:1 1}.portal-user-email,.portal-user-name{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.portal-user-name{color:var(--portal-ink);font-size:12px;font-weight:750}.portal-user-email{margin-top:1px;color:var(--portal-ink-muted);font-size:10px}.portal-logout{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--portal-ink-muted);cursor:pointer}.portal-logout:hover{background:var(--portal-danger-soft);color:var(--portal-danger)}.portal-main{min-height:100vh;margin-left:var(--portal-sidebar-width);padding:34px clamp(24px,4vw,54px) 56px;background:var(--portal-canvas)}.portal-page{width:min(100%,1240px);margin:0 auto}.portal-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.portal-eyebrow{margin:0 0 6px;color:var(--portal-brand-ink);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.portal-page-title{margin:0;color:var(--portal-ink);font-size:clamp(25px,2.2vw,34px);font-weight:790;letter-spacing:-.04em;line-height:1.15}.portal-page-description{max-width:680px;margin:7px 0 0;color:var(--portal-ink-secondary);font-size:14px}.portal-surface{overflow:hidden;border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);background:var(--portal-paper);box-shadow:var(--portal-shadow)}.portal-surface-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--portal-border-soft)}.portal-surface-title{margin:0;color:var(--portal-ink);font-size:15px;font-weight:760;letter-spacing:-.015em}.portal-stack{display:grid;grid-gap:18px;gap:18px}.portal-action-surface{padding:24px}.portal-section-title{margin:0;color:var(--portal-ink);font-size:18px;font-weight:780;letter-spacing:-.025em}.portal-section-copy{margin:5px 0 0;color:var(--portal-ink-muted);font-size:13px}.portal-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.portal-action-card{display:flex;min-height:112px;align-items:center;gap:14px;padding:18px;border:1px solid var(--portal-border);border-radius:var(--portal-radius-md);background:var(--portal-paper);color:var(--portal-ink);text-decoration:none;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.portal-action-card:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--portal-brand-soft) 52%,white)}.portal-action-card:hover,.portal-action-card[data-primary=true]{border-color:var(--portal-brand)}.portal-action-icon,.portal-metric-icon{display:grid;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--portal-brand-soft);color:var(--portal-brand-strong)}.portal-action-icon{width:46px;height:46px}.portal-action-copy{min-width:0;flex:1 1}.portal-action-description,.portal-action-title{display:block}.portal-action-title{font-size:14px;font-weight:760}.portal-action-description{margin-top:3px;color:var(--portal-ink-muted);font-size:12px}.portal-action-arrow{color:var(--portal-ink-faint)}.portal-metric-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.portal-metric{position:relative;min-width:0;padding:20px;color:inherit;text-decoration:none}.portal-metric+.portal-metric{border-left:1px solid var(--portal-border-soft)}.portal-metric-head{display:flex;align-items:center;gap:10px}.portal-metric-icon{width:34px;height:34px}.portal-metric-label{color:var(--portal-ink-secondary);font-size:11px;font-weight:680}.portal-metric-value{display:block;margin-top:12px;color:var(--portal-ink);font-size:28px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:790;letter-spacing:-.04em;line-height:1}.portal-metric-link{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px;padding-top:12px;border-top:1px solid var(--portal-border-soft);color:var(--portal-brand-ink);font-size:11px;font-weight:680}.portal-content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);grid-gap:18px;gap:18px}.portal-table-wrap{width:100%;overflow-x:auto}.portal-table{width:100%;border-collapse:collapse}.portal-table th{padding:11px 20px;background:var(--portal-paper-muted);color:var(--portal-ink-muted);font-size:10px;font-weight:760;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}.portal-table td{padding:15px 20px;border-top:1px solid var(--portal-border-soft);color:var(--portal-ink-secondary);font-size:13px;vertical-align:middle}.portal-table a{color:var(--portal-ink);font-weight:720;text-decoration:none}.portal-table a:hover{color:var(--portal-brand-ink)}.portal-list{margin:0;padding:0;list-style:none}.portal-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;padding:16px 20px;border-top:1px solid var(--portal-border-soft)}.portal-list-row:first-child{border-top:0}.portal-list-title{margin:0;color:var(--portal-ink);font-size:13px;font-weight:730}.portal-list-meta{margin:3px 0 0;color:var(--portal-ink-muted);font-size:11px}.portal-asset-list{display:grid;grid-gap:12px;gap:12px;padding:16px}.portal-asset-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;padding:17px;border:1px solid var(--portal-border-soft);border-radius:var(--portal-radius-md);background:var(--portal-paper)}.portal-asset-card:hover{border-color:color-mix(in srgb,var(--portal-brand) 55%,var(--portal-border))}.portal-asset-main{display:flex;min-width:0;align-items:center;gap:14px}.portal-asset-mark{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--portal-paper-muted);color:var(--portal-ink-muted)}.portal-asset-title{color:var(--portal-ink);font-size:14px;font-weight:760;text-decoration:none}.portal-asset-details{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:5px;color:var(--portal-ink-muted);font-size:11px}.portal-asset-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.portal-action-link{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-paper);color:var(--portal-ink-secondary);font-size:10px;font-weight:730;text-decoration:none}.portal-action-link:hover,.portal-action-link[data-active=true]{border-color:var(--portal-brand);background:var(--portal-brand-soft);color:var(--portal-brand-ink)}.portal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--portal-border-soft)}.portal-search{position:relative;display:flex;width:min(100%,520px);gap:8px}.portal-search .portal-input{padding-left:38px}.portal-search-icon{position:absolute;z-index:1;top:13px;left:13px;color:var(--portal-ink-faint);pointer-events:none}.portal-row-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px}.portal-mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--portal-border-soft);border-radius:var(--portal-radius-md);background:var(--portal-border-soft)}.portal-info-cell{padding:14px;background:var(--portal-paper)}.portal-info-label{color:var(--portal-ink-muted);font-size:10px;font-weight:730;letter-spacing:.07em;text-transform:uppercase}.portal-info-value{display:block;margin-top:4px;color:var(--portal-ink);font-size:13px;font-weight:680}.portal-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:var(--portal-paper-muted);color:var(--portal-ink-secondary);font-size:10px;font-weight:750;letter-spacing:.02em;white-space:nowrap}.portal-badge[data-tone=brand]{background:var(--portal-brand-soft);color:var(--portal-brand-ink)}.portal-badge[data-tone=success]{background:var(--portal-success-soft);color:var(--portal-success)}.portal-badge[data-tone=warning]{background:var(--portal-warning-soft);color:var(--portal-warning)}.portal-badge[data-tone=danger]{background:var(--portal-danger-soft);color:var(--portal-danger)}.portal-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border:1px solid var(--portal-brand-strong);border-radius:var(--portal-radius-sm);background:var(--portal-brand-strong);color:#fff;font-size:12px;font-weight:740;text-decoration:none;cursor:pointer}.portal-button:hover{background:var(--portal-brand-ink)}.portal-button:disabled{border-color:#b8ebe8;background:#b8ebe8;color:#47706e;cursor:not-allowed}.portal-button[data-variant=secondary]{border-color:var(--portal-border);background:var(--portal-paper);color:var(--portal-ink-secondary)}.portal-button[data-variant=secondary]:hover{border-color:var(--portal-brand);color:var(--portal-brand-ink)}.portal-form-row{display:flex;align-items:center;gap:10px}.portal-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;color:var(--portal-ink-muted);font-size:11px}.portal-breadcrumb a{color:var(--portal-brand-ink);font-weight:680;text-decoration:none}.portal-form-surface{width:min(100%,720px)}.portal-form-body{display:grid;grid-gap:18px;gap:18px;padding:24px}.portal-form-notice{margin:20px 24px 0}.portal-field{display:grid;grid-gap:7px;gap:7px}.portal-field label,.portal-rating-fieldset legend{color:var(--portal-ink-secondary);font-size:12px;font-weight:720}.portal-field label span{color:var(--portal-ink-muted);font-weight:520}.portal-field textarea.portal-input{min-height:126px;resize:vertical}.portal-form-actions{display:flex;flex-wrap:wrap;gap:10px}.portal-form-body .portal-notice p{margin:3px 0 5px}.portal-rating-fieldset{min-width:0;margin:0;padding:0;border:0}.portal-rating-fieldset legend{margin-bottom:9px}.portal-rating-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.portal-rating-option{display:grid;min-height:82px;place-items:center;grid-gap:2px;gap:2px;padding:10px 6px;border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);background:var(--portal-paper);color:var(--portal-ink-secondary);cursor:pointer}.portal-rating-option strong{color:var(--portal-ink);font-size:20px}.portal-rating-option span{font-size:9px;line-height:1.25}.portal-rating-option:hover,.portal-rating-option[data-selected=true]{border-color:var(--portal-brand);background:var(--portal-brand-soft);color:var(--portal-brand-ink)}.portal-completion-wrap{display:grid;min-height:65vh;place-items:center}.portal-completion-card{width:min(100%,480px);padding:36px;text-align:center}.portal-completion-icon{display:grid;width:52px;height:52px;margin:0 auto 18px;place-items:center;border-radius:50%;background:var(--portal-brand-soft);color:var(--portal-brand-ink)}.portal-completion-card .portal-section-copy{margin-bottom:22px}.portal-input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);background:var(--portal-paper-muted);color:var(--portal-ink);outline:none}.portal-input:focus{border-color:var(--portal-brand);background:var(--portal-paper);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-brand) 18%,transparent)}.portal-notice{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--portal-brand) 28%,var(--portal-border));border-radius:var(--portal-radius-md);background:var(--portal-brand-soft);color:var(--portal-brand-ink);font-size:12px}.portal-notice[data-tone=warning]{border-color:#f3d7ad;background:var(--portal-warning-soft);color:#8f470f}.portal-notice[data-tone=danger]{border-color:#fecdd3;background:var(--portal-danger-soft);color:var(--portal-danger)}.portal-empty{padding:44px 24px;color:var(--portal-ink-muted);font-size:13px;text-align:center}.portal-public-page{min-height:100vh;background:var(--portal-canvas);color:var(--portal-ink)}.portal-auth-shell{position:relative}.portal-auth-shell:before{position:fixed;inset:0 0 auto;height:4px;background:var(--portal-brand);content:""}.portal-legal-page,.portal-public-card{border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);background:var(--portal-paper);box-shadow:var(--portal-shadow)}.portal-legal-page{min-height:calc(100vh - 64px);margin-top:32px!important;margin-bottom:32px!important;padding:42px!important}@media (max-width:980px){.portal-action-grid{grid-template-columns:1fr}.portal-action-card{min-height:88px}.portal-metric-band{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-metric:nth-child(3){border-left:0}.portal-metric:nth-child(3),.portal-metric:nth-child(4){border-top:1px solid var(--portal-border-soft)}.portal-content-grid{grid-template-columns:1fr}}@media (max-width:760px){:root{--portal-sidebar-width:100%}.portal-sidebar{position:-webkit-sticky;position:sticky;width:100%;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--portal-border)}.portal-brand{min-height:64px;padding:11px 16px}.portal-brand img{width:32px;height:32px}.portal-brand-label,.portal-nav-label,.portal-user{display:none}.portal-nav{padding:0 8px 8px;overflow-x:auto}.portal-nav-list{display:flex;min-width:max-content}.portal-nav-link{min-height:40px;gap:7px;padding:8px 10px;font-size:11px}.portal-nav-link[aria-current=page]:before{inset:auto 10px -8px;width:auto;height:3px;border-radius:3px 3px 0 0}.portal-nav-icon{width:24px;height:24px}.portal-main{margin-left:0;padding:24px 16px 40px}.portal-page-header{align-items:flex-start;flex-direction:column}.portal-page-title{font-size:27px}.portal-action-surface{padding:18px}.portal-metric-band{grid-template-columns:1fr}.portal-metric+.portal-metric,.portal-metric:nth-child(3),.portal-metric:nth-child(4){border-top:1px solid var(--portal-border-soft);border-left:0}.portal-form-row{align-items:stretch;flex-direction:column}.portal-completion-card,.portal-form-body{padding:20px}.portal-rating-grid{grid-template-columns:repeat(5,minmax(46px,1fr));overflow-x:auto}.portal-rating-option span{display:none}.portal-asset-card{grid-template-columns:1fr}.portal-asset-actions,.portal-row-badges{justify-content:flex-start}.portal-button,.portal-search{width:100%}.portal-table td,.portal-table th{padding-right:14px;padding-left:14px}.portal-legal-page{min-height:100vh;margin:0!important;padding:28px 20px 48px!important;border:0;border-radius:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}