:root{font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#142d3a;background:#f3f7f6;font-size:16px;line-height:1.6;font-synthesis:none;--navy-950: #0a2533;--navy-900: #123647;--navy-800: #1a4658;--navy-700: #2b5c6d;--teal-700: #08706c;--teal-600: #0b817b;--teal-100: #dff2ef;--teal-50: #eff9f7;--surface: #ffffff;--surface-subtle: #f8fbfa;--surface-raised: #ffffff;--canvas: #f3f7f6;--line: #d6e2e0;--line-strong: #bacdca;--muted: #567079;--muted-strong: #3f5e68;--danger: #9c2f35;--danger-dark: #79232a;--danger-surface: #fff1f1;--warning: #77510e;--warning-surface: #fff7e6;--success: #17655e;--success-surface: #e6f5f1;--focus: #0a8580;--navy: var(--navy-900);--teal: var(--teal-700);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgb(10 37 51 / .04);--shadow-md: 0 12px 32px rgb(10 37 51 / .08);--content-width: 1180px;--motion-fast: .14s;--motion-base: .2s}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas);scroll-padding-top:96px}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 8% 0%,rgb(11 129 123 / .07),transparent 30rem),var(--canvas);color:var(--navy-950)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{min-height:44px;border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 16px;background:var(--navy-900);color:#fff;font-weight:700;line-height:1.35;cursor:pointer;transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}button:hover:not(:disabled){background:var(--navy-800);box-shadow:0 4px 12px #0a253321}button:active:not(:disabled){background:var(--navy-950);box-shadow:none}button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}input,select,textarea{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;background:var(--surface);color:var(--navy-950);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease}textarea{min-height:104px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:#91aaa7}input:disabled,select:disabled,textarea:disabled{background:#edf2f1;color:var(--muted);cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}a{color:var(--teal-700);text-underline-offset:3px}a:hover{color:var(--navy-800)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{color:var(--navy-950);line-height:1.28;text-wrap:balance}h1{margin:0 0 12px;font-size:clamp(1.75rem,3vw,2.35rem);letter-spacing:-.035em}h2{margin:0 0 10px;font-size:clamp(1.2rem,2vw,1.45rem)}h3{font-size:1.05rem}.skip{position:fixed;left:12px;top:-80px;z-index:1000;border-radius:var(--radius-sm);padding:10px 14px;background:var(--navy-950);color:#fff;font-weight:700;text-decoration:none}.skip:focus{top:12px}.shell{min-height:100dvh}.header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:24px;align-items:center;min-height:72px;padding:10px max(24px,calc((100% - var(--content-width)) / 2));border-bottom:1px solid rgb(186 205 202 / .82);background:#fffffff0;box-shadow:0 1px #0a253305;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;gap:11px;align-items:center;width:fit-content;color:var(--navy-950);text-decoration:none}.brand-mark{display:grid;width:36px;height:36px;border-radius:11px;background:var(--navy-950);box-shadow:inset 0 0 0 1px #ffffff1a;place-items:center}.brand-mark:before{width:17px;height:11px;border-right:3px solid #81d0c7;border-bottom:3px solid #81d0c7;content:"";transform:skew(-28deg) rotate(-35deg)}.brand-copy{display:grid;line-height:1.15}.brand-title{font-size:1rem;font-weight:800;letter-spacing:.02em}.brand-subtitle{margin-top:4px;color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.nav{display:flex;gap:4px;align-items:center}.nav a{display:inline-flex;align-items:center;min-height:44px;border-radius:var(--radius-sm);padding:9px 13px;color:var(--muted-strong);font-weight:700;text-decoration:none;transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease}.nav a:hover{background:var(--teal-50);color:var(--navy-950)}.nav a[aria-current=page]{background:var(--teal-100);color:var(--navy-950)}.account-menu{display:flex;gap:10px;align-items:center;padding-left:18px;border-left:1px solid var(--line)}.account-copy{display:grid;max-width:180px;line-height:1.3;text-align:right}.account-name{overflow:hidden;color:var(--navy-950);font-size:.9rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.account-role{color:var(--muted);font-size:.74rem}.main{width:min(100%,var(--content-width));margin:auto;padding:40px 24px 64px}.page-header{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.page-header p{max-width:68ch;margin:0}.eyebrow{margin:0 0 5px;color:var(--teal-700);font-size:.77rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card{min-width:0;margin-bottom:18px;border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;background:var(--surface-raised);box-shadow:var(--shadow-sm)}.card-subtle{background:var(--surface-subtle)}.section-heading{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.section-heading p{margin:4px 0 0}.step-label{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:50%;background:var(--teal-100);color:var(--teal-700);font-size:.82rem;font-weight:800}.auth{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(360px,1fr);align-items:stretch;max-width:920px;min-height:620px;padding-top:clamp(28px,7vh,76px)}.auth-intro{position:relative;overflow:hidden;border-radius:var(--radius-lg) 0 0 var(--radius-lg);padding:clamp(32px,5vw,54px);background:var(--navy-950);color:#dcebea}.auth-intro:after{position:absolute;right:-90px;bottom:-100px;width:280px;height:280px;border:1px solid rgb(129 208 199 / .28);border-radius:50%;box-shadow:0 0 0 36px #81d0c70f,0 0 0 78px #81d0c70a;content:""}.auth-intro h1,.auth-intro h2{color:#fff}.auth-intro p{position:relative;z-index:1;max-width:32ch}.auth-product{display:inline-flex;gap:10px;align-items:center;margin-bottom:68px;color:#fff;font-weight:800}.auth .auth-panel{display:grid;align-content:center;margin:0;border-left:0;border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:clamp(32px,5vw,58px);box-shadow:var(--shadow-md)}.field{display:grid;gap:7px;margin-bottom:16px}.field>label,.field>span:first-child{color:var(--navy-950);font-size:.92rem;font-weight:700}.hint,.muted{color:var(--muted);font-size:.9rem}.error{margin:7px 0;color:var(--danger)}.notification{border:1px solid transparent;border-radius:var(--radius-sm);margin:10px 0;padding:11px 13px}.notification-info{border-color:#b9dfda;background:var(--teal-50);color:var(--navy-900)}.notification-error{border-color:#edc8ca;background:var(--danger-surface);color:var(--danger)}.notification-success{border-color:#b9dfda;background:var(--success-surface);color:var(--success)}.risk,.capability-warning{display:flex;gap:10px;align-items:baseline;border:1px solid #bcdeda;border-left:4px solid var(--teal-700);border-radius:var(--radius-sm);padding:12px 15px;background:var(--teal-50);color:var(--navy-800)}.capability-risk{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;align-items:baseline;border:1px solid #bcdeda;border-left:4px solid var(--teal-700);border-radius:var(--radius-sm);padding:11px 15px;background:var(--teal-50);color:var(--navy-800)}.capability-risk>strong{color:var(--navy-950);white-space:nowrap}.capability-risk>.risk{display:block;border:0;border-radius:0;padding:0;background:transparent}.risk+.risk,.capability-warning+.risk{margin-top:-6px}.users{display:grid;gap:10px}.user{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;background:var(--surface-subtle)}.actions,.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.secondary{border-color:var(--line-strong);background:var(--surface);color:var(--navy-900)}.secondary:hover:not(:disabled){border-color:#8eaaa6;background:var(--teal-50)}.danger{border-color:var(--danger);background:var(--danger);color:#fff}.danger:hover:not(:disabled){background:var(--danger-dark)}.text-link,.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--radius-sm);padding:9px 14px;font-weight:700}.button-link{background:var(--navy-900);color:#fff;text-decoration:none}.button-link:hover{background:var(--navy-800);color:#fff}.empty-state{display:grid;gap:12px;justify-items:start;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:18px;background:var(--surface-subtle)}.empty-state p{margin:0}.loading-state{display:inline-flex;gap:9px;align-items:center;color:var(--muted-strong)}.loading-state:before{width:15px;height:15px;border:2px solid var(--line-strong);border-top-color:var(--teal-700);border-radius:50%;content:"";animation:spin .8s linear infinite}.status-badge{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:3px 10px;background:var(--teal-100);color:var(--teal-700);font-size:.8rem;font-weight:800;white-space:nowrap}.status-badge[data-tone=warning]{background:var(--warning-surface);color:var(--warning)}.status-badge[data-tone=danger]{background:var(--danger-surface);color:var(--danger)}.numeric,output,td,dd{font-variant-numeric:tabular-nums}details.disclosure{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}details.disclosure>summary{display:inline-flex;align-items:center;min-height:44px;color:var(--navy-900);font-weight:800;cursor:pointer}details.disclosure>summary::marker{color:var(--teal-700)}.danger-zone{border:1px solid #edc8ca;border-radius:var(--radius-sm);margin-top:18px;padding:16px;background:var(--danger-surface)}.dialog-summary{display:grid;grid-template-columns:minmax(100px,.55fr) minmax(0,1fr);gap:8px 16px;margin:18px 0;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--surface-subtle)}.dialog-summary div{display:contents}.dialog-summary dt{color:var(--muted);font-size:.86rem}.dialog-summary dd{margin:0;color:var(--navy-950);font-weight:700;overflow-wrap:anywhere}dialog{max-width:540px;width:calc(100% - 32px);max-height:min(720px,calc(100dvh - 32px));overflow:auto;border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;background:var(--surface);color:var(--navy-950);box-shadow:0 24px 80px #0a253347}dialog::backdrop{background:#0a25338a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog h2{padding-right:24px}dialog .actions{justify-content:flex-end;margin-top:22px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){html{scroll-padding-top:136px}.header{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;min-height:0;padding:10px 14px 0}.brand-subtitle,.account-copy{display:none}.account-menu{grid-column:2;grid-row:1;padding-left:0;border-left:0}.account-menu button{min-height:40px;padding:7px 12px}.nav{grid-column:1 / -1;grid-row:2;width:100%;overflow-x:auto;border-top:1px solid var(--line);scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{flex:1 0 auto;justify-content:center;border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:8px 12px}.main{padding:28px 16px 52px}.auth{grid-template-columns:1fr;max-width:520px;min-height:0;padding-top:24px}.auth-intro{border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:28px}.auth-product{margin-bottom:28px}.auth .auth-panel{border-top:0;border-left:1px solid var(--line);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:28px}.page-header,.risk,.capability-warning{align-items:flex-start;flex-direction:column}.capability-risk{grid-template-columns:1fr;gap:2px}.section-heading{flex-direction:column}.user{grid-template-columns:1fr}.actions button{flex:1 1 150px}.dialog-summary{grid-template-columns:1fr;gap:3px 0}.dialog-summary div{display:grid;gap:1px}dialog{padding:22px 18px}}@media(max-width:390px){.brand-mark{width:32px;height:32px}.brand-title{font-size:.9rem}.nav a{min-width:80px;padding-inline:10px}.card{padding:19px 16px}dialog .actions{display:grid;grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-page .page-header{display:flex;gap:20px;justify-content:space-between;margin-bottom:22px}.admin-page .eyebrow{margin:0 0 5px;color:var(--teal-700, var(--teal, #08706c));font-size:.77rem;font-weight:800;letter-spacing:.12em}.admin-page-header{align-items:flex-end}.admin-page-header .muted{max-width:64ch}.admin-scope-badge{display:inline-flex;flex:0 0 auto;align-items:center;min-height:32px;border:1px solid var(--line, #d6e2e0);border-radius:999px;padding:4px 12px;background:var(--surface, #fff);color:var(--navy-800, #1a4658);font-size:.82rem;font-weight:800}.admin-reason-card{border-color:var(--line-strong, #bacdca);background:var(--surface-subtle, #f8fbfa)}.admin-page .section-heading>div{display:flex;gap:12px;align-items:flex-start}.admin-page .section-heading{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.admin-page .step-label{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:50%;background:var(--teal-100, #dff2ef);color:var(--teal-700, var(--teal, #08706c));font-size:.82rem;font-weight:800}.admin-page .status-badge{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:3px 10px;background:var(--teal-100, #dff2ef);color:var(--teal-700, var(--teal, #08706c));font-size:.8rem;font-weight:800;white-space:nowrap}.admin-page .status-badge[data-tone=warning]{background:var(--warning-surface, #fff7e6);color:var(--warning, #77510e)}.admin-page .section-heading h2,.admin-page .section-heading p{margin-top:0}.admin-reason-card textarea{min-height:92px}.admin-reason-actions{display:flex;gap:14px;align-items:center}.admin-reason-actions .hint{max-width:50ch;margin:0}.admin-workspace{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(420px,1.3fr);gap:18px;align-items:start}.admin-create-card,.admin-users-card{margin-bottom:0}.admin-create-card>button{width:100%}.admin-locked-hint{margin:12px 0 0;text-align:center}.admin-empty-prompt{display:grid;min-height:156px;border:1px dashed var(--line-strong, #bacdca);border-radius:var(--radius-sm, 8px);padding:24px;background:var(--surface-subtle, #f8fbfa);text-align:center;place-content:center}.admin-empty-prompt p{margin:4px 0 0}.admin-page .users{gap:12px}.admin-page .user{border:1px solid var(--line, #d6e2e0);border-radius:var(--radius-sm, 8px);padding:15px 16px;background:var(--surface-subtle, #f8fbfa)}.admin-user-meta{display:flex;gap:9px;align-items:center;margin-top:7px}.admin-user-meta .hint{font-size:.78rem}.admin-dialog-check,.admin-secret-warning{border-left:3px solid var(--teal-600, #0b817b);margin:18px 0 0;padding:9px 12px;background:var(--teal-50, #eff9f7);color:var(--navy-800, #1a4658);font-size:.9rem}.admin-secret-block{display:grid;gap:8px;margin:20px 0 12px}.admin-secret-block>span{color:var(--muted, #567079);font-size:.82rem;font-weight:700}.admin-secret-block output{overflow-x:auto;border:1px solid var(--line-strong, #bacdca);border-radius:var(--radius-sm, 8px);padding:14px 16px;background:var(--surface-subtle, #f8fbfa);color:var(--navy-950, #0a2533);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:clamp(1rem,4vw,1.2rem);font-weight:800;letter-spacing:.04em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.admin-secret-warning{border-left-color:var(--warning, #77510e);background:var(--warning-surface, #fff7e6);color:var(--warning, #77510e)}@media(max-width:820px){.admin-workspace{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.admin-page-header,.admin-reason-actions{align-items:stretch;flex-direction:column}.admin-reason-actions button{width:100%}.admin-page .user{grid-template-columns:minmax(0,1fr)}.admin-page .user .actions{display:grid;grid-template-columns:1fr}.admin-page .user .actions button{width:100%}}@media(prefers-reduced-motion:reduce){.admin-page *,.admin-page *:before,.admin-page *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-layout{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(360px,1fr);align-items:stretch;max-width:920px;min-height:620px;padding-top:clamp(28px,7vh,76px)}.auth-layout .eyebrow{margin:0 0 5px;color:var(--teal-700, var(--teal, #08706c));font-size:.77rem;font-weight:800;letter-spacing:.12em}.auth-layout .auth-intro{position:relative;overflow:hidden;border-radius:var(--radius-lg, 18px) 0 0 var(--radius-lg, 18px);padding:clamp(32px,5vw,54px);background:var(--navy-950, #0a2533);color:#dcebea}.auth-layout .auth-intro:after{position:absolute;right:-90px;bottom:-100px;width:280px;height:280px;border:1px solid rgb(129 208 199 / .28);border-radius:50%;box-shadow:0 0 0 36px #81d0c70f,0 0 0 78px #81d0c70a;content:"";pointer-events:none}.auth-layout .auth-intro h2{position:relative;z-index:1;max-width:12ch;margin:0 0 18px;color:#fff;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.28;letter-spacing:-.035em;text-wrap:balance}.auth-product{position:relative;z-index:1;display:inline-flex;gap:11px;align-items:center;margin-bottom:64px;color:#fff;font-weight:800;letter-spacing:.02em}.auth-product-mark{display:grid;width:34px;height:34px;border:1px solid rgb(255 255 255 / .2);border-radius:11px;background:#ffffff14;place-items:center}.auth-product-mark:before{width:15px;height:10px;border-right:3px solid #81d0c7;border-bottom:3px solid #81d0c7;content:"";transform:skew(-28deg) rotate(-35deg)}.auth-kicker{position:relative;z-index:1;margin:0 0 10px;color:#81d0c7;font-size:.78rem;font-weight:800;letter-spacing:.12em}.auth-intro-copy{position:relative;z-index:1;max-width:32ch;margin:0;color:#c5d8d8;line-height:1.75}.auth-feature-list,.auth-step-list{position:relative;z-index:1;display:grid;gap:12px;margin:30px 0 0;padding:0;color:#e7f1f0;list-style:none}.auth-feature-list li,.auth-step-list li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start}.auth-feature-list li:before{color:#81d0c7;content:"✓";font-weight:800}.auth-step-list{counter-reset:auth-step}.auth-step-list li{counter-increment:auth-step}.auth-step-list li:before{display:grid;width:24px;height:24px;border:1px solid rgb(129 208 199 / .5);border-radius:50%;color:#81d0c7;content:counter(auth-step);font-size:.76rem;font-weight:800;place-items:center}.auth-layout .auth-panel{display:grid;align-content:center;margin:0;border-left:0;border-radius:0 var(--radius-lg, 18px) var(--radius-lg, 18px) 0;padding:clamp(32px,5vw,58px);box-shadow:var(--shadow-md, 0 12px 32px rgb(10 37 51 / .08))}.auth-panel form{margin-top:22px}.auth-panel form>button:last-child{width:100%;margin-top:4px}.auth-lead{max-width:38ch;margin:0;color:var(--muted-strong, #3f5e68)}.auth-notice,.auth-password-rule{border-left:3px solid var(--teal-600, #0b817b);margin:20px 0 0;padding:8px 0 8px 12px;background:var(--teal-50, #eff9f7);color:var(--navy-800, #1a4658)}.auth-password-rule{margin-top:10px;font-size:.9rem}.auth-success{border:1px solid #b9dfda;border-radius:var(--radius-sm, 8px);margin:18px 0 0;padding:10px 12px;background:var(--success-surface, #e6f5f1);color:var(--success, #17655e)}.auth-footnote{margin:22px 0 0;color:var(--muted, #567079);font-size:.82rem;line-height:1.6}@media(max-width:760px){.auth-layout{grid-template-columns:minmax(0,1fr);max-width:520px;min-height:0;padding-top:24px}.auth-layout .auth-intro{border-radius:var(--radius-lg, 18px) var(--radius-lg, 18px) 0 0;padding:28px}.auth-product{margin-bottom:28px}.auth-layout .auth-intro h2{max-width:18ch;font-size:clamp(1.55rem,7vw,2rem)}.auth-intro-copy,.auth-feature-list,.auth-step-list{max-width:40ch}.auth-layout .auth-panel{border-top:0;border-left:1px solid var(--line, #d6e2e0);border-radius:0 0 var(--radius-lg, 18px) var(--radius-lg, 18px);padding:28px}}@media(max-width:390px){.auth-layout .auth-intro,.auth-layout .auth-panel{padding:24px 20px}.auth-feature-list,.auth-step-list{margin-top:22px}}@media(prefers-reduced-motion:reduce){.auth-layout *,.auth-layout *:before,.auth-layout *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portfolio-page{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.portfolio-page>.card,.portfolio-page>.risk,.portfolio-page>.capability-warning{margin-bottom:0}.portfolio-header{margin-bottom:0}.portfolio-management-card{border-top:3px solid var(--navy-900)}.portfolio-controls{display:grid;gap:4px}.portfolio-controls>.field{max-width:560px}.create-portfolio-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 12px;align-items:end}.create-portfolio-panel .empty-state{grid-column:1 / -1}.create-portfolio-panel .field,.portfolio-create-inline .field{margin-bottom:0}.portfolio-steps{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px}.portfolio-steps a{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:var(--surface-subtle);color:var(--navy-800);font-size:.9rem;font-weight:700;text-decoration:none}.portfolio-steps a:hover{border-color:#8eaaa6;background:var(--teal-50)}.portfolio-settings-body{display:grid;gap:18px;max-width:680px;padding:16px 0 4px}.portfolio-create-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.portfolio-settings-body .danger-zone h3,.portfolio-settings-body .danger-zone p{margin-top:0}.target-banner{border-left:4px solid var(--teal-700);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:12px 0;padding:10px 12px;background:var(--teal-50);color:var(--navy-900);font-weight:700}.fund-result,.watchlist-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:10px;padding:14px 16px;background:var(--surface-subtle)}.fund-result>div,.watchlist-entry>div{min-width:0}.fund-result strong,.watchlist-entry strong{color:var(--navy-950)}.watchlist{display:grid;margin-top:18px}.watchlist-detail-link{display:block;width:fit-content;margin-top:4px;font-size:.88rem;font-weight:700}.search-guidance{margin:-4px 0 14px}.holding-status-line{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap}.holding-total{display:grid;justify-items:start;margin:20px 0;border-radius:var(--radius-sm);padding:18px;background:var(--navy-950);color:#d6e5e5}.holding-total strong{margin-top:3px;color:#fff;font-size:clamp(1.45rem,4vw,2rem);letter-spacing:-.02em}.ledger-entry{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.ledger-entry-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.ledger-entry-form-grid .field-wide{grid-column:1 / -1}.ledger-entry-form-grid .ledger-confirm-button{justify-self:start}.holdings-capability-copy{display:flex;gap:4px 14px;flex-wrap:wrap}.portfolio-table{max-width:100%;overflow-x:auto;margin:18px 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);-webkit-overflow-scrolling:touch}.portfolio-table table{width:100%;min-width:720px;border-collapse:collapse}.portfolio-table th,.portfolio-table td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.portfolio-table thead th{background:var(--surface-subtle);color:var(--muted-strong);font-size:.78rem;font-weight:800;letter-spacing:.03em}.portfolio-table tbody tr:last-child th,.portfolio-table tbody tr:last-child td{border-bottom:0}.portfolio-table tbody tr:hover{background:var(--teal-50)}.portfolio-table small{display:block;margin-top:5px;color:var(--muted)}@media(max-width:620px){.create-portfolio-panel,.portfolio-create-inline,.ledger-entry-form-grid{grid-template-columns:1fr}.fund-result,.watchlist-entry{align-items:stretch;grid-template-columns:1fr}.fund-result button,.watchlist-entry button,.create-portfolio-panel button,.portfolio-create-inline button{width:100%}.ledger-entry-form-grid .ledger-confirm-button{justify-self:stretch}.portfolio-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-steps a{justify-content:center;padding-inline:8px;text-align:center}.holding-status-line{align-items:flex-start;flex-direction:column}}.dashboard-target-picker{border-color:var(--line-strong, #bacdca);background:var(--surface-subtle, #f8fbfa)}.dashboard-target-picker .eyebrow{margin:0 0 5px;color:var(--teal-700, var(--teal, #08706c));font-size:.77rem;font-weight:800;letter-spacing:.12em}.admin-target-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.admin-target-heading h2,.admin-target-heading .eyebrow{margin-top:0}.admin-target-scope{display:inline-flex;flex:0 0 auto;min-height:30px;align-items:center;border:1px solid var(--line, #d6e2e0);border-radius:999px;padding:3px 10px;background:var(--surface, #fff);color:var(--muted-strong, #3f5e68);font-size:.78rem;font-weight:800}.admin-target-intro{max-width:62ch;margin:0 0 18px}.admin-target-load{display:flex;gap:12px;align-items:center;margin-bottom:18px}.admin-target-prompt{margin:0;border:1px dashed var(--line-strong, #bacdca);border-radius:var(--radius-sm, 8px);padding:16px;background:var(--surface, #fff);color:var(--muted, #567079)}.dashboard-target-picker .target-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.dashboard-target-picker .target-list li{display:flex;gap:14px;align-items:center;justify-content:space-between;border:1px solid var(--line, #d6e2e0);border-radius:var(--radius-sm, 8px);padding:12px 14px;background:var(--surface, #fff)}.dashboard-target-picker .target-list li>span{display:grid;min-width:0}.dashboard-target-picker .target-list strong{overflow-wrap:anywhere}.dashboard-target-picker .target-list small{color:var(--muted, #567079)}@media(max-width:520px){.admin-target-heading,.admin-target-load,.dashboard-target-picker .target-list li{align-items:stretch;flex-direction:column}.admin-target-scope{align-self:flex-start}.admin-target-load button,.dashboard-target-picker .target-list button{width:100%}}@media(prefers-reduced-motion:reduce){.dashboard-target-picker *,.dashboard-target-picker *:before,.dashboard-target-picker *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.valuation-page{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.valuation-page>.card,.valuation-page>.risk,.valuation-page>.capability-warning{margin-bottom:0}.valuation-page .capability-warning{border-color:#e4c995;border-left-color:#b77916;background:var(--warning-surface);color:#5f430f}.valuation-page .valuation-header{margin-bottom:0}.valuation-page .back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:10px;font-size:.9rem;font-weight:800;text-decoration:none}.valuation-page .valuation-header h1,.valuation-page .latest-nav h2,.valuation-page .history-card h2,.valuation-page .synchronization-status h2{margin-top:0}.valuation-page .metric-label{color:var(--muted);font-size:.86rem;font-weight:700}.valuation-page .latest-nav{border-top:3px solid var(--teal-700);box-shadow:var(--shadow-md)}.valuation-page .latest-nav-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:22px;background:var(--line)}.valuation-page .latest-nav-values>div{display:grid;gap:4px;padding:20px;background:var(--surface-subtle)}.valuation-page .latest-nav-values output{color:var(--navy-950);font-size:clamp(1.55rem,4vw,2.1rem);font-weight:800;letter-spacing:-.02em}.valuation-page .valuation-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);margin:0;background:var(--line)}.valuation-page .valuation-metadata-item{min-width:0;padding:13px 15px;background:var(--surface)}.valuation-page .valuation-metadata dt{color:var(--muted);font-size:.8rem;font-weight:700}.valuation-page .valuation-metadata dd{overflow-wrap:anywhere;margin:3px 0 0;color:var(--navy-950);font-weight:700}.valuation-page .range-controls{margin:0 0 12px;border:0;padding:0}.valuation-page .range-controls legend{margin-bottom:8px;color:var(--muted-strong);font-size:.86rem;font-weight:800}.valuation-page .range-controls>div{display:flex;gap:8px;flex-wrap:wrap}.valuation-page .range-controls button[aria-pressed=true]{border-color:var(--teal-700);background:var(--teal-700);color:#fff}.valuation-page .official-nav-chart{min-width:0;margin-top:24px}.valuation-page .official-nav-chart>h2{font-size:1.1rem}.valuation-page .chart-legend{color:var(--navy-800);font-size:.9rem;font-weight:700}.valuation-page .official-nav-table{contain:paint;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:20px;-webkit-overflow-scrolling:touch}.valuation-page .official-nav-table h3{margin:0;padding:16px 14px 8px}.valuation-page .official-nav-table table{width:100%;min-width:660px;border-collapse:collapse;text-align:left}.valuation-page .official-nav-table th,.valuation-page .official-nav-table td{border-bottom:1px solid var(--line);padding:11px 12px;white-space:nowrap}.valuation-page .official-nav-table thead th{background:var(--surface-subtle);color:var(--muted-strong);font-size:.78rem;font-weight:800}.valuation-page .table-pagination{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:12px}.valuation-page .synchronization-status{background:var(--surface-subtle)}.valuation-page .synchronization-status ul{display:grid;gap:8px;padding-left:20px}.valuation-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:760px){.valuation-page .valuation-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.valuation-page .latest-nav-values,.valuation-page .valuation-metadata{grid-template-columns:1fr}.valuation-page .range-controls button{flex:1 1 132px}.valuation-page .table-pagination{align-items:stretch;flex-direction:column;text-align:center}}.dashboard-page{gap:18px}.dashboard-page .page-header{margin-bottom:0}.dashboard-page .page-header .button-link{flex:0 0 auto}.dashboard-page .dashboard-target-picker h2,.dashboard-page .portfolio-picker{margin-top:0}.dashboard-page .portfolio-picker{display:grid;grid-template-columns:minmax(0,420px);padding-block:18px;background:var(--surface-subtle)}.dashboard-page .portfolio-picker .field{margin:0}.dashboard-page .dashboard-empty{display:grid;justify-items:start;min-height:260px;align-content:center;padding:clamp(28px,6vw,58px);background:linear-gradient(100deg,#fffffffa,#eff9f7e6),var(--surface)}.dashboard-page .dashboard-empty p:not(.eyebrow){max-width:58ch;margin-top:0}.dashboard-page .target-list{display:grid;gap:10px;padding:0;list-style:none}.dashboard-page .target-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.dashboard-page .portfolio-valuation-card{border-top:3px solid var(--teal-700);box-shadow:var(--shadow-md)}.dashboard-page .portfolio-valuation-card .section-heading .hint{margin-bottom:0}.dashboard-page .dashboard-metrics{display:grid;grid-template-columns:1.4fr repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);margin:22px 0;background:var(--line)}.dashboard-page .dashboard-metrics div{min-width:0;padding:18px;background:var(--surface-subtle)}.dashboard-page .dashboard-metrics dt,.dashboard-page .dashboard-facts dt{color:var(--muted);font-size:.82rem;font-weight:700}.dashboard-page .dashboard-metrics dd{margin:5px 0 0;overflow-wrap:anywhere;color:var(--navy-900);font-size:clamp(1.05rem,2vw,1.3rem);font-weight:800;letter-spacing:-.015em}.dashboard-page .dashboard-metrics .metric-primary{color:var(--navy-950);font-size:clamp(1.35rem,3vw,1.8rem)}.dashboard-page .dashboard-facts{display:flex;gap:14px 28px;flex-wrap:wrap;margin:0}.dashboard-page .dashboard-facts div{display:grid;gap:2px}.dashboard-page .dashboard-facts dd{margin:0;font-weight:700}@media(max-width:620px){.dashboard-page .dashboard-metrics{grid-template-columns:1fr}.dashboard-page .target-list li{align-items:stretch;flex-direction:column}.dashboard-page .page-header .button-link{width:100%}}
