
:root{--bg:#f6f5f2;--ink:#2f2e2b;--muted:#89857d;--line:#eae7df;--green:#51472e;--lime:#dcd4c2;--white:#fff;--red:#b45c4b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}aside{width:224px;background:#f0eee8;border-right:1px solid #e4e0d5;position:fixed;inset:0 auto 0 0;padding:38px 24px;display:flex;flex-direction:column}.brand{font-size:29px;font-weight:650;letter-spacing:4px}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:9px;color:#89847a}.workspace{font-size:10px;color:#a09b8f;margin:56px 12px 16px;letter-spacing:2px}.nav{border:0;background:none;width:100%;padding:15px 13px;text-align:left;border-radius:7px;display:flex;gap:12px;align-items:center;color:#807b6e;margin:4px 0}.nav.active{background:#e5e0d6;color:#473e28;font-weight:650}.nav b{margin-left:auto;font-size:11px;background:#f4f3ef;padding:2px 6px;border-radius:4px}.aside-bottom{margin-top:auto;font-size:11px;color:#746d5e}.aside-bottom i{display:inline-block;background:#988967;width:6px;height:6px;border-radius:50%;margin-right:7px}.aside-bottom small{display:block;margin-top:10px;color:#a09b8f;font-size:10px}main{margin-left:224px;padding:0 40px 22px;max-width:1800px}header{height:91px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.crumb{font-size:12px;color:#908b80}.crumb span{padding:0 13px;color:#bdbab2}.header-right{display:flex;align-items:center;gap:18px}.pill{font-size:11px;border:1px solid #e5e1d7;border-radius:30px;padding:7px 11px;color:#7e7664}.quiet{border:1px solid #e5e0d6;color:#68604c;background:transparent;border-radius:5px;padding:10px 13px}.primary{border:1px solid var(--green);background:var(--green);color:#fff;padding:12px 18px;border-radius:5px;font-weight:550}.primary:hover{background:#3b3321}.quiet:hover{background:#efece5}button:disabled{opacity:.5;cursor:wait}.button{display:inline-block;margin-left:8px}.title-row{display:flex;align-items:center;justify-content:space-between;margin:36px 0 26px;gap:16px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:#928975;margin:0 0 12px}h1{font-size:28px;font-weight:600;letter-spacing:-.5px;margin:0 0 11px}h2{font-size:16px;font-weight:600;margin:0 0 10px}.muted{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.card{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:24px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric{padding:21px 24px;border:1px solid var(--line);background:#fff;border-radius:8px}.metric:first-child{background:var(--green);color:white;border-color:var(--green)}.metric .name{font-size:11px;color:#89857d;margin-bottom:16px}.metric:first-child .name{color:#d8d3c7}.metric .value{font-family:Inter,system-ui,sans-serif;font-size:29px;letter-spacing:-1px;font-weight:550;font-variant-numeric:tabular-nums}.metric .sub{font-size:10px;color:#96938c;margin-top:12px}.metric:first-child .sub{color:#c8c0ad}.overview-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.legend{font-size:10px;display:flex;gap:7px;align-items:center;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.green{background:var(--green)}.gray{background:#b4ad9d;margin-left:10px}#chart{height:256px;display:flex;align-items:center;justify-content:center;margin-top:20px}#chart svg{width:100%;height:100%;overflow:visible}.chart-foot{border-top:1px solid #f2f0eb;padding-top:15px;display:flex;justify-content:space-between;font-size:11px;color:#908978}.empty{text-align:center;color:#979389;line-height:1.9;padding:25px}.empty .symbol{display:block;font-size:35px;color:#c9c2b0;margin-bottom:16px}.empty b{color:#665e4c;font-weight:500;display:block;font-size:15px}.empty p{font-size:12px;margin:8px 0}.allocation{text-align:left}#donut{height:193px;display:flex;justify-content:center;align-items:center}#donut svg{width:172px;height:172px}.allocation-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;font-size:11px;border-bottom:1px solid #f3f1ed}.allocation-row:last-child{border:0}.allocation-row span:first-child{display:flex;gap:8px;align-items:center}.holdings{margin-top:22px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;color:#a0998a;font-weight:500;padding:17px 12px;border-bottom:1px solid var(--line)}td{font-size:12px;padding:17px 12px;border-bottom:1px solid #f1efe9;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}td.empty{font-size:12px;padding:35px}.signal-grid,.setup-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.signal-grid .card{min-width:0}.file-row{display:flex;justify-content:space-between;margin:20px 0 12px;gap:10px}.file-button{border:1px dashed #c8c0af;border-radius:5px;padding:10px;color:#786f5a;cursor:pointer;font-size:12px}.file-button input{display:none}textarea{width:100%;min-height:280px;background:#f9f8f6;border:1px solid #e6e2d9;border-radius:5px;padding:16px;font-family:Consolas,monospace;font-size:12px;color:#605846;line-height:1.7;resize:vertical}.helper{color:#948e7f;font-size:11px;line-height:1.8}.rule{display:flex;gap:18px;margin:25px 0;color:#b6ae9c;font-size:13px}.rule b{color:#635a44;font-size:13px}.rule p{color:#969185;line-height:1.8;font-size:12px;margin:8px 0}.soft-note{background:#f3f1ed;border:1px solid #e9e5dc;border-radius:5px;font-size:11px;color:#827964;line-height:1.9;padding:14px}.signal-item{margin-top:20px}.signal-top{display:flex;justify-content:space-between;gap:12px}.badge{font-size:10px;display:inline-block;padding:6px 10px;border-radius:30px;background:#f0eee8;color:#807252}.badge.approved{background:#fff2d6;color:#9a7b35}.badge.executed{background:#ece8e0;color:#6d5f3d}.badge.cancelled{background:#f1f1ed;color:#98948c}.weights{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.weight{padding:9px 14px;border-radius:5px;background:#f6f4f0;color:#6c624b;font-size:12px}.signal-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #f0eee8;padding-top:15px}.signal-bottom .muted{font-size:10px;overflow-wrap:anywhere}.actions{display:flex;gap:10px;flex-shrink:0}.intro{margin:48px 0 32px}.intro h1{font-size:34px;letter-spacing:1px;margin-bottom:15px}.intro>p:last-child{color:#918c7f;font-size:13px}.setup-grid{max-width:1100px}form label{display:block;font-size:11px;color:#79705b;margin-top:22px}input,select{display:block;width:100%;border:1px solid #e6e1d7;border-radius:5px;padding:12px;background:#fbfbfa;color:#5a513b;margin-top:9px}input:focus,select:focus,textarea:focus{outline:2px solid #c4b696;outline-offset:1px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .primary{width:100%;margin-top:12px}.flow{background:#f0eee8}.flow ol{padding-left:22px;margin-top:26px}.flow li{padding-left:10px;margin:23px 0;color:#80755a}.flow b{font-size:13px;font-weight:550}.flow p{font-size:12px;color:#98907d;line-height:1.7}dl{font-size:12px;line-height:1.9}dt{color:#655a41;font-weight:600;margin-top:20px}dd{margin:4px 0 0;color:#948e7f}.coverage{max-height:630px;overflow-y:auto}.audit{margin-top:22px}.audit-row{border-bottom:1px solid #f0ede7;padding:13px 0;display:flex;gap:20px;font-size:11px;color:#877e6a}.audit-row span:first-child{color:#ada695;min-width:150px}.audit-row:last-child{border:0}footer{display:flex;justify-content:space-between;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;color:#a59e8f}#notice{position:sticky;top:12px;background:#ebe7df;color:#665839;border:1px solid #d8cfbb;padding:14px 18px;z-index:5;border-radius:6px;margin-top:14px}#notice.error{background:#fff0e8;color:#a25337;border-color:#efd8c7}dialog{border:1px solid #e3dfd4;border-radius:10px;padding:30px;max-width:560px;width:90%;color:var(--ink)}dialog::backdrop{background:#28272553}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:2px solid #ae9d75;outline-offset:3px}@media(min-width:1600px){main{padding-left:56px;padding-right:56px}}@media(max-width:1120px){aside{width:185px;padding:30px 15px}main{margin-left:185px;padding:0 24px 20px}.metrics{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1.7fr 1fr}.card{padding:20px}.legend{flex-wrap:wrap}.signal-grid{grid-template-columns:1fr 1fr}.signal-bottom{flex-wrap:wrap}}@media(max-width:800px){aside{position:static;width:auto;padding:20px;border-right:0;border-bottom:1px solid #e4e0d5}.brand{font-size:23px}.brand span{display:inline;margin-left:20px}.workspace,.aside-bottom{display:none}nav{display:flex;margin-top:18px;gap:5px}.nav{font-size:11px;padding:10px;justify-content:center;gap:5px}.nav b{display:none}main{margin:0;padding:0 18px 22px}header{height:72px}.crumb{display:none}.header-right{width:100%;justify-content:space-between}.overview-grid,.signal-grid,.setup-grid{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:18px}.metric .value{font-size:24px}.title-row{align-items:flex-start;margin-top:26px}h1{font-size:24px}.title-row>.primary{font-size:11px;white-space:nowrap;padding:11px}.card-head{flex-wrap:wrap}.allocation #donut{height:180px}.intro h1{font-size:28px}.intro{margin-top:30px}.title-row .button{font-size:10px;margin:4px 0}footer{gap:12px}.audit-row{gap:8px;flex-wrap:wrap}.signal-top{flex-wrap:wrap}}
.color0{background:#51472e}.color1{background:#9f8e68}.color2{background:#bfb08e}.color3{background:#d6cdb7}.color4{background:#968d79}.color5{background:#e1dcd1}
@media(max-width:800px){.nav{font-size:10px;padding:10px 6px;gap:3px}.nav span{white-space:nowrap}}

/* Brand gold is independent of executed/error state colors. */
:root{--bg:#f6f4ee;--ink:#292a24;--muted:#6e695e;--line:#e0d9ca;--green:#96743c;--lime:#eee2c8;--white:#fffdf9;--red:#b45c4b;--brand-gold:#d8c397;--brand-ink:#30291c}
aside{background:#eeebe3;border-color:#ded6c6}.nav.active{background:#e6dbc1;color:#61491f}.nav:hover{background:#eae3d3}.primary{background:var(--brand-gold);border-color:#c7ae7b;color:var(--brand-ink)}.primary:hover{background:#c9af78;color:#282216}.quiet{color:#6b562f;border-color:#cfc2a7}.quiet:hover{background:#eee4d2}.metric:first-child{background:#302b22;border-color:#302b22;color:#f3e8cd}.metric:first-child .name,.metric:first-child .sub{color:#d7c69f}.badge{background:#eee4ce;color:#705528}.badge.executed{background:#e2eee8;color:#32644b}.badge.approved{background:#fff2d6;color:#806020}.badge.cancelled{background:#eeece7;color:#747066}#notice{background:#eee5d2;color:#65502c;border-color:#d8c39b}#notice.error{background:#fff0e8;color:#a25337;border-color:#efd8c7}.aside-bottom i{background:#58826b}.brand{font:400 30px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-1px}.brand span{font:11px/1.5 'Microsoft YaHei',sans-serif;letter-spacing:1px;margin-top:10px;color:#776a51}.brand-symbol{width:33px;height:33px;color:#a28247;flex:none}.brand-lockup{display:flex;align-items:center;gap:10px}input:focus,select:focus,textarea:focus{outline-color:#96743c}button:focus-visible,a:focus-visible{outline-color:#96743c}
