:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e14;--bg-elev:#141722;--bg-card:#171b27;--bg-row:#12151f;--bg-row-alt:#151924;--border:#242938;--border-soft:#1e2330;--text:#e8eaef;--text-dim:#8b93a7;--text-mute:#5c6578;--gold:#d4a017;--gold-soft:#c9a227;--gold-bg:#d4a0171f;--green:#22c55e;--green-soft:#3dd68c;--red:#ef4444;--red-up:#f04343;--orange:#f59e0b;--chip-bg:#1a1f2c;--input-bg:#0f1219;--bar-track:#252b3a;--shadow:0 18px 50px #00000047;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,Inter,Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.45}*{box-sizing:border-box}html,body,#root{height:100%}html{overflow:hidden}body{height:100dvh;color:var(--text);background:var(--bg);margin:0;overflow:hidden}#root{flex-direction:column;height:100%;min-height:0;display:flex}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,.toggle:focus-visible{outline:1px solid var(--gold);outline-offset:1px}.page{flex-direction:column;flex:auto;width:100%;height:100%;min-height:0;margin:0;padding:18px 28px 0;display:flex}.header{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px;margin-bottom:14px;display:flex}.title{letter-spacing:.02em;color:#f2f4f8;white-space:nowrap;margin:0;font-size:22px;font-weight:650}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{background:var(--chip-bg);border:1px solid var(--border);height:28px;color:var(--text-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;display:inline-flex}.chip .dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #22c55e8c}.chip .label{color:var(--text-mute);margin-right:2px}.chip .val{color:#d7dbe6;font-variant-numeric:tabular-nums}.chip.emph .val{color:var(--gold-soft);font-weight:560}.kpis{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;display:grid}.kpi{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:10px;min-height:78px;padding:14px 18px 14px 22px;position:relative;overflow:hidden}.kpi:before{content:"";border-radius:10px 0 0 10px;width:4px;position:absolute;top:0;bottom:0;left:0}.kpi.gold:before{background:var(--gold)}.kpi.green:before{background:var(--green)}.kpi.orange:before{background:var(--orange)}.kpi.red:before{background:var(--red)}.kpi .num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:680;line-height:1.1}.kpi.gold .num{color:#f0e6c8}.kpi.green .num{color:var(--green-soft)}.kpi.orange .num{color:#fbbf24}.kpi.red .num{color:#f87171}.kpi .desc{color:var(--text-mute);margin-top:6px;font-size:12px}.toolbar{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:10px;margin-bottom:10px;display:flex}.search{background:var(--input-bg);border:1px solid var(--border);width:220px;height:32px;color:var(--text-dim);border-radius:8px;flex-shrink:0;align-items:center;gap:8px;padding:0 12px;display:flex}.search svg{opacity:.55;flex-shrink:0}.search input,.mini-input,.note-input{color:var(--text);background:0 0;border:0;outline:0;font-size:12.5px}.search input{flex:1;width:auto;min-width:0}.search input::placeholder,.mini-input::placeholder,.note-input::placeholder{color:var(--text-mute)}.search:focus-within,.mini-input:focus{border-color:#d4a017b3}.search input:focus,.search input:focus-visible,.mini-input:focus,.mini-input:focus-visible,.note-input:focus,.note-input:focus-visible{outline:none}.seg{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;flex-shrink:0;align-items:center;gap:2px;height:32px;padding:2px;display:inline-flex}.seg button{height:26px;color:var(--text-dim);background:0 0;border:1px solid #0000;border-radius:6px;padding:0 12px;font-size:12px}.seg button.on{color:var(--gold-soft);background:#d4a01729;border-color:#d4a01759}.points{background:var(--input-bg);border:1px solid var(--border);border-radius:999px;flex-shrink:0;align-items:center;height:32px;display:inline-flex;overflow:hidden}.points .step{width:28px;height:32px;color:var(--text-mute);background:0 0;border:0;place-items:center;padding:0;font-size:14px;display:grid}.points .step:hover:not(:disabled){color:var(--text)}.points .body{color:var(--text-dim);border-left:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;align-items:center;gap:4px;height:100%;padding:0 10px;font-size:12px;display:flex}.points .body b{color:#dce1ee;font-variant-numeric:tabular-nums;font-weight:600}.toggle{background:var(--input-bg);border:1px solid var(--border);height:32px;color:var(--text-dim);border-radius:8px;flex-shrink:0;align-items:center;gap:8px;padding:0 10px 0 6px;font-size:12px;display:inline-flex}.toggle[aria-checked=true]{color:var(--gold-soft);border-color:#d4a01759}.switch{background:#2a3142;border-radius:999px;flex-shrink:0;width:32px;height:18px;position:relative}.switch:after{content:"";background:#9aa3b5;border-radius:50%;width:14px;height:14px;position:absolute;top:2px;left:2px}.switch.on{background:#d4a01773}.switch.on:after{background:var(--gold);left:16px}.spacer{flex:1;min-width:8px}.ghost-ops{opacity:.55;flex-shrink:0;align-items:center;gap:6px;margin:0;display:inline-flex}.ghost-ops:hover,.ghost-ops:focus-within{opacity:1}.mini-input{background:var(--input-bg);border:1px solid var(--border-soft);width:118px;height:30px;color:var(--text-dim);border-radius:7px;padding:0 10px;font-size:12px}.btn-ghost{border:1px solid var(--border);height:30px;color:var(--text-mute);white-space:nowrap;background:0 0;border-radius:7px;padding:0 10px;font-size:12px}.btn-ghost.goldish{color:#c9a227bf;border-color:#d4a01747}.ghost-ops:hover .btn-ghost.goldish,.ghost-ops:focus-within .btn-ghost.goldish{color:var(--gold-soft);border-color:#d4a01773}.points .step:disabled,.btn-ghost:disabled,.banner button:disabled{opacity:.4;cursor:not-allowed}.banner,.pending,.form-error{flex-shrink:0;margin:0 0 8px}.banner{color:#f3c9c9;background:#ef44441a;border:1px solid #ef444459;border-radius:8px;padding:8px 12px;font-size:12px}.banner.info{background:var(--gold-bg);color:#e6c35c;border-color:#d4a01759}.banner p{margin:0 0 8px}.banner button{color:var(--gold-soft);background:0 0;border:1px solid #d4a01773;border-radius:7px;padding:4px 10px}.pending{color:var(--gold-soft);font-size:12px}.form-error{color:#f3c9c9;font-size:12px}.table-region{flex-direction:column;flex:auto;min-height:0;display:flex}.table-wrap{border:1px solid var(--border-soft);background:var(--bg-elev);border-radius:10px;flex:auto;min-height:0;overflow:auto}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1280px}thead{background:#161a25}th{z-index:2;text-align:left;color:var(--text-mute);border-bottom:1px solid var(--border);white-space:nowrap;background:#161a25;padding:8px 12px;font-size:11.5px;font-weight:520;position:sticky;top:0}th:first-child{z-index:3;left:0}th button{color:inherit;font-size:inherit;font-weight:inherit;background:0 0;border:0;padding:0}th button.on{color:var(--gold-soft)}.c-name{width:168px}.c-price{width:88px}.c-chg{width:78px}.c-mv{width:96px}.c-pct{width:220px}.c-bull{width:340px}.c-chglist{width:280px}tbody tr{background:var(--bg-row)}tbody tr:nth-child(2n){background:var(--bg-row-alt)}td{vertical-align:middle;border-bottom:1px solid var(--border-soft);padding:7px 12px;font-size:12.5px}td:first-child{z-index:1;background:var(--bg-row);position:sticky;left:0}tbody tr:nth-child(2n) td:first-child{background:var(--bg-row-alt)}tbody tr:hover td,tbody tr:hover td:first-child{background:#1b2130}.name-cell{min-width:0;padding-right:28px;position:relative}.name-main{color:#f0f2f7;align-items:center;gap:6px;min-width:0;font-size:13.5px;font-weight:600;line-height:1.2;display:flex}.name-main strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.tag-a{color:var(--text-mute);border:1px solid var(--border);background:#1c2230;border-radius:4px;flex-shrink:0;align-items:center;height:16px;padding:0 4px;font-size:10px;font-weight:500;display:inline-flex}.code{color:var(--text-mute);font-variant-numeric:tabular-nums;letter-spacing:.02em;margin-top:2px;font-size:11px}.remove-btn{color:var(--text-mute);opacity:0;background:0 0;border:0;padding:0 2px;font-size:11px;position:absolute;top:0;right:0}tr:hover .remove-btn,.card:hover .remove-btn,.name-cell:focus-within .remove-btn,.remove-btn:focus-visible{opacity:1;color:#f3c9c9}.price{font-variant-numeric:tabular-nums;color:#eef1f7;font-size:14px;font-weight:620}.up{color:var(--red-up);font-variant-numeric:tabular-nums;font-weight:600}.down{color:var(--green);font-variant-numeric:tabular-nums;font-weight:600}.flat{color:var(--text-dim);font-variant-numeric:tabular-nums;font-weight:600}.mv{font-variant-numeric:tabular-nums;color:#d5dae6;white-space:nowrap}.mv span{color:var(--text-mute);margin-left:2px;font-size:11px;font-weight:400}.pct-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.pct-row{align-items:center;gap:8px;display:flex}.bar{background:var(--bar-track);border-radius:999px;flex:1;min-width:48px;height:10px;position:relative;overflow:hidden}.bar>i{border-radius:999px;height:100%;font-style:normal;display:block}.bar.low>i{background:linear-gradient(90deg,#1a9b55,#22c55e)}.bar.mid>i{background:linear-gradient(90deg,#b8860b,#d4a017)}.bar.high>i{background:linear-gradient(90deg,#c0392b,#ef4444)}.pill{font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:48px;height:20px;padding:0 8px;font-size:11.5px;font-weight:650;display:inline-flex}.pill.low{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d}.pill.mid{color:#e6c35c;background:#d4a01726;border:1px solid #d4a01759}.pill.high{color:#f87171;background:#ef444426;border:1px solid #ef444459}.pill.none{color:var(--text-mute);border:1px solid var(--border);background:0 0;font-weight:560}.pct-meta{color:var(--text-mute);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10.5px}.bull,.chglist{flex-direction:column;gap:2px;min-width:0;display:flex}.chglist{gap:3px}.bull-item,.chg-item{align-items:center;gap:6px;min-width:0;font-size:12px;line-height:1.35;display:flex}.bull-tag{color:var(--gold-soft);flex-shrink:0;font-size:11px;font-weight:650}.bull-txt,.chg-txt{flex:1;min-width:0;overflow:hidden}.bull-txt a,.bull-txt span,.chg-txt a,.chg-txt span{text-overflow:ellipsis;white-space:nowrap;color:#b8c0d0;text-decoration:none;display:block;overflow:hidden}.bull-txt a:hover,.chg-txt a:hover{color:#e6c35c}.date-badge{color:#e6c35c;font-variant-numeric:tabular-nums;background:#d4a0171f;border:1px solid #d4a0178c;border-radius:4px;flex-shrink:0;align-items:center;height:18px;padding:0 6px;font-size:10.5px;font-weight:600;display:inline-flex}.muted{color:var(--text-mute)}.note-label{min-width:0;display:block}.note-input{background:var(--input-bg);border:1px solid var(--border);width:100%;height:28px;color:var(--text-dim);border-radius:6px;padding:0 10px;font-size:12px}.note-input:focus{border-color:#d4a017b3}.note-input.is-error{border-color:#ef4444b3}.note-error{color:#f3c9c9;margin-top:2px;font-size:10.5px;display:block}.empty,.empty-state{text-align:center;border:1px dashed var(--border);color:var(--text-dim);background:var(--bg-elev);border-radius:10px;flex:auto;margin:0;padding:36px 20px}.empty-state h2{color:var(--text);margin:0 0 8px;font-size:18px;font-weight:620}.empty-state p{max-width:36rem;margin:0 auto}.mobile-list{display:none}footer{color:#4a5263;flex:none;padding:8px 2px 10px;font-size:10.5px;line-height:1.45}footer p{margin:0}footer p+p{margin-top:2px}.sr{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-backdrop{z-index:30;background:#06080ab8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--bg-card);width:min(420px,100%);box-shadow:var(--shadow);border-radius:12px;padding:20px 20px 16px}.modal p{color:var(--text);margin:0;font-size:15px;line-height:1.55}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.modal-actions button{border-radius:8px;padding:8px 14px;font-size:13px}.modal-actions .ghost{border:1px solid var(--border);color:var(--text);background:0 0}.modal-actions .danger{color:#f3c9c9;background:#ef444424;border:1px solid #ef4444b3}@media (width<=1200px){.toolbar{flex-wrap:wrap}.ghost-ops{margin-left:auto}}@media (width<=960px){.page{padding:14px 14px 0}.kpis{grid-template-columns:1fr 1fr}.toolbar,.ghost-ops{flex-wrap:wrap}.search{width:100%}.ghost-ops{width:100%;margin-left:0}.mini-input{flex:1;width:auto;min-width:0}.desktop-table{display:none}.mobile-list{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow:auto}.card{border:1px solid var(--border-soft);background:var(--bg-card);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.card header,.card-metrics{justify-content:space-between;gap:12px;display:flex}.kicker{color:var(--text-mute);margin-bottom:4px;font-size:11px;display:block}.remove-btn{opacity:.8;margin-top:4px;position:static}.name-cell{padding-right:0}.title{font-size:20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
