:root{color-scheme:dark;--bg:#0b111c;--panel:#111a28;--panel-raised:#152032;--sidebar:#0d1521;--line:#243147;--line-soft:#1b283a;--text:#e9eef7;--muted:#91a0b6;--subtle:#64758e;--mint:#5be4ba;--mint-dark:#183c37;--red:#ff8f99;--amber:#edc67d;--blue:#9abbff;--radius:12px;--font:Inter,Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:3px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;line-height:1.35;font-weight:650}h2{font-size:18px;letter-spacing:-.35px;font-weight:600}h3{font-size:15px;font-weight:600}small{font-size:11px}strong{font-weight:600}[hidden]{display:none!important}.app-shell{min-height:100vh}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);border-right:1px solid var(--line-soft);padding:34px 18px 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;color:var(--text);font-weight:750;font-size:26px;letter-spacing:3px;line-height:1.2;margin:0 12px 44px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:8px;letter-spacing:1.6px;color:var(--subtle);font-weight:600;margin-top:6px}.brand-mark{display:grid;place-items:center;width:37px;height:40px;font-size:27px;font-weight:800;color:var(--bg);background:var(--mint);border-radius:10px 3px 10px 3px;letter-spacing:-2px}.workspace-label{font-size:9px;letter-spacing:1.5px;color:var(--subtle);padding:0 13px;margin-bottom:14px}.nav-link{width:100%;display:flex;align-items:center;gap:11px;border:0;background:transparent;color:var(--muted);padding:12px 12px;border-radius:7px;text-align:left;font-size:12px;margin-bottom:6px;white-space:nowrap}.nav-link:hover{background:#162236;color:var(--text)}.nav-link.active{color:var(--mint);background:#15302e}.nav-icon{font-size:18px;width:21px;text-align:center;line-height:1}.nav-tag{font-size:8px;letter-spacing:1px;margin-left:auto;opacity:.7}.nav-separator{height:1px;margin:18px 13px;background:var(--line-soft)}.sidebar-bottom{margin-top:auto;padding:30px 9px 22px;display:flex;align-items:flex-start;gap:10px;font-size:10px}.sidebar-bottom strong{font-size:11px;color:#a8b6c9;font-weight:500}.sidebar-bottom p{color:var(--subtle);font-size:10px;margin-top:4px}.schedule-icon{color:var(--mint);font-size:21px;line-height:1.4}.sidebar-foot{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);padding:17px 12px;border-top:1px solid var(--line-soft)}.version{margin-left:auto;font-size:9px;color:var(--subtle)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);flex-shrink:0}.muted-dot{background:var(--subtle)}#quality-dot{background:var(--amber);margin-left:auto}.workspace{margin-left:236px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line-soft);padding:0 38px}.breadcrumb{display:flex;gap:13px;align-items:center;font-size:11px;color:var(--subtle)}.breadcrumb strong{color:#a8b7ca;font-weight:500}.slash{color:#41516a}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-time{font-size:10px;color:var(--subtle);font-variant-numeric:tabular-nums}.icon-button{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:19px;line-height:1}.icon-button:hover{color:var(--text);border-color:#53637e}.demo-banner{background:#30271c;border-bottom:1px solid #57452a;padding:11px 38px;color:var(--amber);display:flex;gap:16px;font-size:11px}.demo-banner strong{font-size:10px;letter-spacing:1px}.global-notice{padding:12px 38px;background:#302126;color:#ffb3b9;font-size:12px}main{padding:32px 38px 42px;max-width:1680px;width:100%;margin:0 auto;flex:1}main:focus{outline:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.eyebrow{font-size:9px;font-weight:650;color:var(--mint);letter-spacing:1.8px;display:block;margin-bottom:9px}.subtitle{color:var(--muted);font-size:12px;margin-top:10px;line-height:1.8;max-width:750px}.heading-actions{display:flex;gap:9px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:37px;border-radius:7px;padding:8px 14px;font-size:11px;font-weight:550;line-height:1.4;border:1px solid var(--line);background:var(--panel);color:#c2cddd;text-decoration:none;white-space:nowrap}.button:hover{background:#1c2b42;border-color:#405571;text-decoration:none}.button.primary{background:var(--mint);border-color:var(--mint);color:#0e2b25}.button.primary:hover{background:#8cefd0;border-color:#8cefd0}.button.danger{color:var(--red);border-color:#593440;background:#2c1e28}.button.small{min-height:29px;padding:5px 9px;font-size:10px}.button.ghost{background:transparent;border-color:transparent}.button-icon{font-size:15px;line-height:1}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.metric{padding:19px 21px;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);position:relative;overflow:hidden}.metric-label{font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:9px}.metric-label .symbol{font-size:16px;color:var(--subtle)}.metric-value{font-variant-numeric:tabular-nums;display:block;font-size:29px;font-weight:550;letter-spacing:-1px;line-height:1.4;margin:10px 0 3px}.metric-note{font-size:10px;color:var(--subtle)}.metric-value.accent{color:var(--mint)}.metric-value small{font-size:14px;color:var(--muted);margin-left:4px;font-weight:400}.panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.panel-header{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line-soft)}.panel-header h2{font-size:14px}.panel-header p{font-size:10px;color:var(--subtle);margin-top:4px}.panel-body{padding:23px}.panel-footer{padding:13px 23px;color:var(--subtle);font-size:10px;border-top:1px solid var(--line-soft);display:flex;gap:18px;justify-content:space-between}.filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:17px 22px;border-bottom:1px solid var(--line-soft)}.segmented{display:inline-flex;background:var(--bg);border:1px solid var(--line-soft);padding:3px;border-radius:7px;gap:3px}.segment{border:0;background:none;color:var(--muted);font-size:10px;padding:6px 12px;border-radius:4px;min-width:39px}.segment.active{background:#27384c;color:var(--text)}.segment:hover{color:var(--text)}.filter-field{display:flex;align-items:center;gap:7px;color:var(--subtle);font-size:10px}.filter-field select{font-size:10px;padding:7px 25px 7px 10px;width:auto;min-height:31px}.search-field{position:relative;margin-left:auto}.search-field span{position:absolute;left:11px;top:5px;color:var(--subtle);font-size:17px}.search-field input{padding:7px 11px 7px 34px;min-height:33px;font-size:10px;max-width:220px}input,select,textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:9px 11px;min-height:38px;outline:none;font-size:12px}input:hover,select:hover,textarea:hover{border-color:#3f526e}input:focus,select:focus,textarea:focus{border-color:var(--mint)}input::placeholder,textarea::placeholder{color:var(--subtle)}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--mint)}input[type=number]{font-variant-numeric:tabular-nums}textarea{min-height:95px;resize:vertical}select{cursor:pointer}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:9px;color:var(--subtle);font-weight:500;letter-spacing:.2px;background:#101927;padding:12px 17px;border-bottom:1px solid var(--line-soft)}td{padding:15px 17px;font-size:11px;border-bottom:1px solid var(--line-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#142033}.table-scroll{overflow-x:auto}.table-scroll::-webkit-scrollbar{height:5px}.table-scroll::-webkit-scrollbar-thumb{background:#2b3b52;border-radius:5px}.numeric{text-align:right;font-variant-numeric:tabular-nums}.security-cell{display:flex;align-items:center;gap:11px;min-width:185px}.ticker-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid #30445c;border-radius:8px;color:#adc4e3;background:#1a2a3e;font-size:9px;font-weight:650;letter-spacing:.2px;flex-shrink:0}.security-cell strong{display:block;font-size:12px;line-height:1.4}.security-cell small{display:block;color:var(--subtle);font-size:10px;margin-top:3px;max-width:225px;overflow:hidden;text-overflow:ellipsis}.link-button{padding:0;background:none;border:0;color:inherit;text-align:left;cursor:pointer}.link-button:hover strong,.link-button:hover{color:var(--mint)}.positive{color:var(--mint)!important}.negative{color:var(--red)!important}.muted{color:var(--muted)}.subtle{color:var(--subtle)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:1.5;font-weight:500;border:1px solid var(--line);background:#172236;color:#adbed5;padding:3px 7px;border-radius:5px;white-space:nowrap}.badge.green{color:var(--mint);background:#13332e;border-color:#25463f}.badge.amber{color:var(--amber);background:#302b21;border-color:#49402f}.badge.red{color:var(--red);background:#301f2a;border-color:#51303e}.badge.blue{color:var(--blue);background:#1b2a42;border-color:#2c4166}.badge.muted{background:transparent;color:var(--subtle)}.tags{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.fund-pills{display:flex;gap:4px;align-items:center}.mini-bar{height:4px;width:70px;background:#213247;border-radius:4px;margin-top:6px;overflow:hidden}.mini-bar span{display:block;height:100%;background:var(--mint);border-radius:4px}.rank{color:var(--subtle);font-size:10px;font-variant-numeric:tabular-nums}.row-action{display:flex;gap:7px;justify-content:flex-end}.empty-state{padding:57px 24px;text-align:center;max-width:560px;margin:0 auto}.empty-symbol{font-size:30px;color:#506681;display:grid;place-items:center;margin:0 auto 18px;width:66px;height:66px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(140deg,#182639,#111a28)}.empty-state h3{font-size:15px;margin-bottom:9px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.9}.empty-state .button{margin-top:19px}.error-state{padding:28px;color:#ffb3b9;font-size:12px}.error-state button{margin:12px 0 0}.page-loading{padding:100px 24px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:12px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--mint);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.two-column{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px}.three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.explain-card{padding:20px}.explain-card .number{font-size:9px;letter-spacing:1px;color:var(--mint);margin-bottom:12px}.explain-card h3{font-size:12px;margin-bottom:7px}.explain-card p{font-size:11px;color:var(--muted);line-height:1.9}.help-line{font-size:11px;color:var(--muted);line-height:1.85;margin-top:13px}.help-line strong{color:#c1cfe0}.callout{border:1px solid #29483f;background:#112921;color:#9bc9b8;padding:14px 17px;border-radius:8px;font-size:11px;line-height:1.9;margin-bottom:20px}.callout strong{color:var(--mint)}.callout.amber{border-color:#4f4130;background:#29251e;color:#cbbb9f}.callout.amber strong{color:var(--amber)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label{font-size:11px;color:#a8b6ca}.field small{font-size:10px;color:var(--subtle);line-height:1.8}.field.full{grid-column:1/-1}.checkbox-field{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}.form-section{padding-bottom:21px;margin-bottom:21px;border-bottom:1px solid var(--line-soft)}.form-section h3{font-size:12px;margin-bottom:15px;color:#d5deeb}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.form-error{margin-top:14px;color:var(--red);font-size:12px;white-space:pre-wrap}.form-status{font-size:11px;color:var(--muted);line-height:1.8}.status-line{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:11px}.status-line:last-child{border-bottom:0}.status-line dt{color:var(--muted)}.status-line dd{margin:0;max-width:70%;text-align:right;overflow-wrap:anywhere}.status-list{margin:0}.source-url{display:inline-flex;gap:6px;font-size:10px;max-width:350px;overflow:hidden;text-overflow:ellipsis}.detail-meta{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px;color:var(--muted);margin:2px 0 23px}.detail-meta strong{color:var(--text);font-weight:500}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 12px}.detail-heading h3{font-size:12px}.detail-table th,.detail-table td{font-size:10px;padding:11px 12px}.flag-list{padding:0;margin:10px 0;list-style:none}.flag-list li{font-size:11px;color:var(--muted);padding:7px 0 7px 15px;position:relative;line-height:1.8}.flag-list li:before{content:"·";position:absolute;left:0;color:var(--amber)}.allocation-table input{padding:7px 8px;min-height:32px;font-size:11px}.allocation-table th,.allocation-table td{padding:12px 10px}.allocation-table input.weight-input{width:80px;text-align:right}.allocation-table .position-ticker{min-width:80px;width:90px}.allocation-table .position-name{min-width:130px}.allocation-table .position-sector{min-width:110px;width:130px}.allocation-table .position-currency{width:75px}.allocation-table .position-id{min-width:120px;width:135px}.table-actions{padding:15px 20px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;gap:14px}.chart-bars{display:flex;flex-direction:column;gap:17px}.chart-row{display:grid;grid-template-columns:80px minmax(0,1fr) 65px;gap:13px;align-items:center;font-size:10px}.chart-track{height:7px;background:#203048;border-radius:3px;overflow:hidden}.chart-fill{height:100%;background:var(--mint);min-width:2px;border-radius:3px}.chart-fill.red{background:var(--red)}.chart-number{text-align:right;font-variant-numeric:tabular-nums}.legend{display:flex;align-items:center;gap:15px;font-size:9px;color:var(--subtle)}.legend i{display:inline-block;width:6px;height:6px;border-radius:2px;margin-right:4px;background:var(--mint)}.legend i.red{background:var(--red)}.issue{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid var(--line-soft);align-items:flex-start}.issue:last-child{border-bottom:0}.issue-content{min-width:0}.issue-content p{font-size:11px;color:#bbc8d9;overflow-wrap:anywhere}.issue-content small{display:block;font-size:9px;color:var(--subtle);margin-top:4px}.issue-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);margin-top:7px;flex-shrink:0}.issue-dot.error{background:var(--red)}.sparkline{display:block;width:110px;height:30px}.page-footer{margin:0 38px;padding:20px 0 24px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:20px;color:#52647d;font-size:9px}.page-footer span:first-child{letter-spacing:1px}.toast-container{position:fixed;bottom:24px;right:26px;z-index:100;width:360px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:9px}.toast{padding:14px 18px;border:1px solid #335247;background:#142b26;box-shadow:0 8px 32px #0004;border-radius:8px;font-size:12px;line-height:1.7;color:#c0f3df}.toast.error{background:#36222b;border-color:#66404f;color:#ffc0c8}dialog{background:var(--panel);color:var(--text);border:1px solid #33425a;border-radius:14px;width:min(800px,calc(100vw - 40px));max-height:calc(100vh - 64px);padding:0;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#050a13c7;backdrop-filter:blur(5px)}.dialog-header{padding:23px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}.dialog-header .eyebrow{font-size:8px;margin-bottom:6px}.dialog-header h2{font-size:21px}#dialog-content{padding:25px 26px}.skip-link{position:fixed;left:12px;top:-100px;padding:10px 20px;background:var(--mint);color:var(--bg);z-index:200;border-radius:5px}.skip-link:focus{top:12px}.inline-label{font-size:10px;color:var(--subtle);margin-left:9px}.import-type-note{font-size:10px;color:var(--subtle);line-height:1.8;overflow-wrap:anywhere;padding:11px 13px;background:var(--bg);border:1px solid var(--line-soft);border-radius:6px}.notes-area{min-height:85px}.split-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.data-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.btn-loading{display:inline-flex;gap:8px;align-items:center}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.bullet-separator{color:var(--subtle);padding:0 5px}.scope-indicator{font-size:10px;color:var(--muted)}.mobile-view-label{display:none}.watch-note{max-width:300px;white-space:normal;color:var(--muted);font-size:11px}.chart-empty{padding:30px 20px;text-align:center;font-size:11px;color:var(--subtle)}.portfolio-dirty{color:var(--amber);font-size:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){main{padding-top:40px}.metric{padding:23px 25px}.metric-value{font-size:34px}.nav-link{font-size:13px}td{padding-top:18px;padding-bottom:18px}}@media(max-width:1200px){.sidebar{width:210px;padding-left:12px;padding-right:12px}.workspace{margin-left:210px}.brand{margin-left:12px;font-size:23px}.brand small{font-size:7px}main{padding:28px 25px}.topbar{padding:0 25px}.page-footer{margin:0 25px}.nav-tag{display:none}.metric{padding:17px}.two-column{grid-template-columns:1fr 1fr}.heading-actions{flex-shrink:1}h1{font-size:27px}.three-column{gap:12px}.explain-card{padding:17px}}@media(max-width:980px){.sidebar{width:76px;padding:25px 11px 0}.brand{margin:0 auto 36px}.brand>span:last-child,.workspace-label,.nav-link>span:not(.nav-icon),.sidebar-bottom,.sidebar-foot{display:none}.nav-link{font-size:0;padding:12px;justify-content:center;margin-bottom:10px}.nav-icon{font-size:22px}.nav-separator{margin:19px 8px}.workspace{margin-left:76px}.metrics-grid{gap:10px}.metric{padding:16px}.metric-label{font-size:10px}.metric-value{font-size:26px}.metric-note{font-size:9px}.two-column{grid-template-columns:1fr}.three-column{grid-template-columns:1fr}.explain-card{padding:16px 20px}.explain-card .number{float:left;margin:3px 20px 25px 0}.page-heading{align-items:flex-start}.search-field{margin-left:0;flex:1}.search-field input{max-width:none;width:100%}.topbar-time{display:none}.nav-link::after{content:attr(aria-label)}}@media(max-width:650px){.sidebar{position:static;width:100%;height:auto;padding:18px 16px 0;border-right:0;border-bottom:1px solid var(--line-soft);display:block}.brand{margin:0 0 20px;gap:9px;font-size:22px;display:inline-flex}.brand>span:last-child{display:block}.brand-mark{height:31px;width:29px;font-size:23px;border-radius:8px 2px 8px 2px}.brand small{font-size:6px;margin-top:4px}.sidebar nav{display:flex;gap:6px;overflow-x:auto;padding:0 0 9px;scrollbar-width:none}.nav-link{font-size:10px;width:auto;padding:9px 11px;margin:0;flex-shrink:0;gap:7px}.nav-icon{font-size:15px;width:auto}.nav-separator{display:none}.workspace{margin-left:0}.topbar{height:49px;padding:0 20px}.breadcrumb{font-size:9px;gap:9px}.topbar-right{gap:9px}.topbar .badge{font-size:8px}.topbar .icon-button{width:25px;height:25px;font-size:16px}.demo-banner{padding:10px 20px;font-size:10px;gap:7px;flex-direction:column}.demo-banner strong{font-size:8px}main{padding:24px 16px 30px}.page-heading{display:block;margin-bottom:22px}.heading-actions{margin-top:18px}.eyebrow{font-size:8px}h1{font-size:25px}.subtitle{font-size:11px;margin-top:8px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.metric{padding:15px}.metric-label{font-size:9px}.metric-value{font-size:27px;margin:7px 0 1px}.metric-note{font-size:9px}.panel-header{padding:17px}.panel-header h2{font-size:13px}.panel-header p{font-size:9px}.panel-body{padding:18px}.filters{padding:13px;gap:9px}.segmented{flex:0 0 auto}.segment{padding:5px 9px;font-size:9px;min-width:33px}.filter-field{gap:5px;font-size:9px}.filter-field select{font-size:9px;min-height:30px;padding:7px 5px;max-width:100px}.search-field{flex-basis:100%}.panel-footer{padding:12px 17px;display:block;font-size:9px}.panel-footer span{display:block;margin-bottom:4px}.page-footer{margin:0 16px;font-size:8px;gap:12px;flex-direction:column;padding:16px 0 22px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.field-grid.compact-grid{grid-template-columns:1fr 1fr}.form-actions{flex-wrap:wrap}.empty-state{padding:39px 20px}.empty-state p{font-size:11px}.global-notice{padding:12px 20px;font-size:11px}dialog{width:calc(100vw - 22px);max-height:calc(100dvh - 30px)}.dialog-header{padding:20px}.dialog-header h2{font-size:18px}#dialog-content{padding:20px 17px}.dialog-header .icon-button{flex-shrink:0}.detail-meta{font-size:10px}.table-actions{padding:13px 17px}.button{font-size:10px;min-height:35px;padding:8px 12px}.toast-container{right:16px;bottom:16px}.table-scroll td,.table-scroll th{padding-left:13px;padding-right:13px}.callout{padding:13px;font-size:10px}.detail-heading{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}

/* Keep visually hidden table headings inside their scroll container. */
[hidden]{display:none!important}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:36px 20px;background:var(--bg)}
.login-card{width:min(100%,430px);border-top:3px solid var(--mint);background:var(--panel);padding:38px;border-radius:2px 2px 14px 14px;box-shadow:0 20px 70px #0003}
.login-brand{margin:0 0 36px;pointer-events:none}
.login-card h1{font-size:26px;line-height:1.4;letter-spacing:-.7px}
.login-description{color:var(--muted);font-size:13px;line-height:1.8;margin:12px 0 28px}
#login-form .field{margin:18px 0}
#login-form .field>label{font-size:13px}
#login-form input,#login-form select{min-height:46px;font-size:14px;width:100%}
#login-form button[type=submit]{width:100%;font-size:14px;margin-top:14px;min-height:46px}
.login-help{font-size:12px;line-height:1.8;color:var(--muted);margin-top:24px}
.readonly-notes{white-space:pre-wrap;color:var(--muted);line-height:1.85;font-size:12px;margin-top:20px;overflow-wrap:anywhere}
#logout-button{white-space:nowrap}
@media(max-width:650px){.login-card{padding:28px 24px}.login-brand>span:last-child{display:block}.login-card .brand{font-size:23px}.topbar:has(#role-badge:not([hidden])){height:auto;min-height:64px;flex-wrap:wrap;gap:8px;padding:12px 16px}.topbar-right{flex-wrap:wrap}.topbar #logout-button{min-height:28px;padding:5px 7px;font-size:10px}}
.table-scroll{position:relative;min-width:0}.sr-only{left:0;top:0;clip-path:inset(50%)}
.comparison-summary{min-width:160px;max-width:250px;white-space:normal}.comparison-summary>small{display:block;color:var(--subtle);font-size:10px;line-height:1.6;margin:4px 0;overflow-wrap:anywhere}.comparison-summary .tags{gap:5px;margin-top:6px}.comparison-details{margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.comparison-details>.detail-heading:first-child{margin-top:0}.comparison-rationale{font-size:12px;line-height:1.9;margin:14px 0;color:var(--muted);white-space:pre-wrap}.comparison-editor{margin:0 0 24px;padding:16px;border:1px solid var(--line);border-radius:8px}.comparison-editor>summary{cursor:pointer;font-size:12px}.comparison-editor .field-grid{margin-top:16px}.comparison-details .candidate-source-links{margin-top:16px}

.security-price-chart{margin-top:12px;min-height:150px}.security-price-chart svg{display:block;max-height:250px}.price-observations{margin:20px 0;border:1px solid var(--line-soft);border-radius:7px;overflow:hidden}.price-observations summary{padding:11px 14px;font-size:11px;color:var(--muted);cursor:pointer;background:var(--bg)}.price-observations summary:focus-visible{outline:2px solid var(--mint);outline-offset:-3px}#holdings-explorer{scroll-margin-top:20px}@media(max-width:650px){.security-price-chart{min-height:90px}.detail-heading>span.muted{font-size:10px}}





#candidate-catalog{scroll-margin-top:22px}.candidate-filters{align-items:flex-end;gap:13px}.candidate-filters .filter-field{flex-direction:column;align-items:flex-start;gap:5px}.candidate-filters .filter-field select{min-width:110px;max-width:230px}.candidate-filters .search-field{min-width:200px;flex:1}.candidate-filters .search-field input{max-width:none}.candidate-toolbar,.candidate-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 21px;border-bottom:1px solid var(--line-soft)}.candidate-pagination{border-bottom:0;border-top:1px solid var(--line-soft)}.candidate-toolbar-controls,.candidate-page-controls{display:flex;align-items:center;gap:10px}.candidate-page-controls>select{width:auto;min-width:76px;min-height:30px;font-size:10px;padding:5px 8px}.candidate-data-note{display:block;color:var(--subtle);font-size:9px;line-height:1.7;margin-top:4px}.candidate-detail-title{margin-bottom:22px}.candidate-detail-title h3{font-size:18px}.candidate-detail-title .tags{margin-top:13px}.candidate-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:20px}.candidate-evidence{font-size:11px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap}.candidate-evidence p+p{margin-top:10px}.candidate-evidence .source-url{display:block;max-width:100%;white-space:normal;font-size:11px}.candidate-source-links{display:flex;gap:15px;flex-wrap:wrap;font-size:11px}#candidate-table .security-cell{min-width:230px}#candidate-table .security-cell small{max-width:250px}.candidate-filters .filter-field select:focus{outline-offset:2px}@media(max-width:900px){.candidate-detail-grid{grid-template-columns:1fr;gap:0}.candidate-toolbar,.candidate-pagination{flex-wrap:wrap}.candidate-pagination .candidate-page-controls{margin-left:auto}.candidate-filters .search-field{flex-basis:100%}}@media(max-width:650px){.candidate-filters .filter-field{flex:1 1 42%;min-width:0}.candidate-filters .filter-field select{max-width:100%;width:100%;min-width:0}.candidate-toolbar,.candidate-pagination{padding:12px 14px}.candidate-toolbar-controls{width:100%;justify-content:space-between}.candidate-pagination .candidate-page-controls{width:100%;justify-content:space-between;margin-left:0;gap:6px}.candidate-page-controls .filter-field{gap:4px}.candidate-detail-title h3{font-size:16px}.heading-actions{flex-wrap:wrap}}

.candidate-panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.candidate-source-status{display:flex;gap:12px;flex-wrap:wrap;padding:15px 21px;border-bottom:1px solid var(--line-soft);background:var(--bg)}.candidate-source-status>div{flex:1;min-width:170px;font-size:11px}.candidate-source-status .badge{margin-left:9px}.candidate-source-status small{display:block;color:var(--subtle);font-size:9px;margin-top:6px}.candidate-source-status p{font-size:10px;color:var(--amber);margin-top:6px;overflow-wrap:anywhere}@media(max-width:650px){.candidate-panel-actions{gap:6px}.candidate-source-status{padding:13px 15px}.candidate-source-status>div{min-width:130px}}
