@charset "UTF-8";
:root{--bg:#f4f7f9;--paper:#fff;--ink:#142e3a;--muted:#70828b;--line:#e1e9ed;--dark:#102a36;--accent:#087f75;--mint:#d9f6ec;--amber:#a76b10;--amber-bg:#fff6e5;--red:#bd4747;--blue:#2c65b1;--shadow:0 6px 22px #17344405}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 "Segoe UI","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--dark);color:#d8e6ec;padding:32px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:21px;font-weight:650;line-height:1.3;padding:0 6px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:10px;letter-spacing:2.1px;font-weight:500;color:#a4bbc8;margin-top:7px}.brand-icon{display:grid;place-items:center;width:40px;height:44px;font-size:45px;line-height:1;color:#5be0be}.workspace-label{font-size:10px;letter-spacing:1px;color:#829fac;border-top:1px solid #ffffff16;padding:26px 6px 15px;margin-top:32px}.workspace-label span{margin-left:8px;color:#aac1cc}nav{display:grid;gap:8px}.nav{border:0;background:none;color:#b4c7d0;text-align:left;padding:12px 15px;border-radius:7px;font-size:15px;display:flex;gap:14px;align-items:center}.nav span{font-size:21px;width:23px;line-height:1}.nav:hover{background:#ffffff0b;color:#fff}.nav.active{background:#1e4651;color:#70e0c3;box-shadow:inset 3px 0 #61d6ba}.side-bottom{margin-top:auto;padding:28px 8px 0}.readonly{font-size:13px;color:#7ce0c5;border:1px solid #396169;border-radius:5px;padding:5px 10px;width:fit-content}.side-bottom p{font-size:13px;color:#90a9b6;line-height:1.9;margin-top:14px}.side-bottom small{font-size:11px;color:#698492}.workspace{margin-left:236px;min-width:0;flex:1}.topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:12px}.breadcrumb{font-size:14px;color:var(--muted)}.breadcrumb span{margin:0 16px;color:#bbc7cd}.breadcrumb b{font-weight:500;color:var(--ink)}.top-actions{display:flex;gap:14px;align-items:center}.pill{font-size:11px;letter-spacing:.8px;color:var(--accent);background:#e9f6f1;border:1px solid #d2ebe1;border-radius:4px;padding:3px 8px;white-space:nowrap}.pill.amber{background:var(--amber-bg);border-color:#f0ddbc;color:var(--amber)}.pill.blue{background:#eef4fb;border-color:#d4e1f5;color:var(--blue)}.icon-button{border:1px solid var(--line);background:#fff;border-radius:6px;width:34px;height:34px;font-size:22px;color:var(--muted)}.text-button{border:0;background:none;color:var(--muted);font-size:14px;padding:4px}.primary,.secondary{border:0;border-radius:6px;padding:10px 17px;font-size:14px;font-weight:550;white-space:nowrap}.primary{background:var(--accent);color:#fff;box-shadow:0 3px 8px #087f7512}.primary:hover{background:#06695f}.secondary{background:#fff;border:1px solid #d6e1e5;color:#355461}.secondary:hover{background:#f6fafb}main{max-width:1540px;margin:0 auto;padding:35px 42px 40px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{font-size:11px;font-weight:650;color:var(--muted);letter-spacing:1.8px;margin-bottom:6px}h1{font-size:28px;line-height:1.4;font-weight:650;letter-spacing:.4px;margin:0 0 8px}h2{font-size:18px;font-weight:650;margin:0}h3{font-size:16px;font-weight:600;margin:0 0 9px}p{margin:8px 0}.subtext{font-size:14px;color:var(--muted)}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.banner{border:1px solid #e9dbb9;border-left:3px solid #cca758;background:#fffaf0;padding:17px 22px;border-radius:7px;display:flex;gap:15px;margin-bottom:26px}.banner-icon{font-size:22px;color:var(--amber)}.banner strong{font-size:14px;font-weight:600}.banner p{font-size:13px;color:#8a784f;margin:3px 0 0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{background:var(--paper);padding:21px 24px;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.stat-label{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);gap:12px}.stat-label i{font-size:17px;font-style:normal;color:#98afb8}.stat-value{font-size:31px;letter-spacing:-.7px;line-height:1.5;font-weight:650;margin:10px 0 3px;font-variant-numeric:tabular-nums}.stat-value small{font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:8px}.stat-foot{font-size:12px;color:var(--muted)}.teal{color:var(--accent)}.amber-text{color:var(--amber)}.red{color:var(--red)}.grid-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(295px,1fr);gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:24px}.panel-head{padding:20px 24px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-head small{font-size:12px;color:var(--muted)}.panel-body{padding:23px 24px}.steps{padding:7px 24px}.step{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid #edf1f3;position:relative}.step:last-child{border:0}.step-index{display:grid;place-items:center;width:27px;height:27px;border:1px solid #dce7eb;background:#f4f8fa;border-radius:50%;font-size:11px;color:#7996a3;flex-shrink:0;margin-top:2px}.step-index.passed{border-color:#a3dfcd;background:var(--mint);color:var(--accent)}.step-copy{flex:1;min-width:0}.step-title{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:550;align-items:center}.step-copy p{font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.7}.status-label{font-size:11px;color:#8b9ba3;font-weight:400;white-space:nowrap}.status-label.ok{color:var(--accent)}.strategy-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0 22px}.tranche{background:#f1f7f8;border-radius:5px;text-align:center;padding:11px 0;color:var(--accent);font-size:16px;font-weight:650}.tranche.sell{color:var(--blue);background:#f1f5fb}.mini-label{font-size:12px;color:var(--muted)}.kv{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-top:1px solid #edf1f3;font-size:13px}.kv b{font-weight:550;text-align:right}.progress{height:5px;border-radius:4px;background:#e8eef1;overflow:hidden;margin:12px 0}.progress span{height:100%;display:block;background:var(--accent);width:0}.quiet{font-size:12px;color:var(--muted);line-height:1.8}.empty{padding:35px 26px;text-align:center}.empty-symbol{font-size:32px;color:#adc1cb;margin-bottom:10px}.empty h3{font-size:15px;margin:0 0 8px;color:#597482}.empty p{font-size:13px;color:var(--muted);max-width:450px;margin:0 auto 17px;line-height:1.9}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap;text-align:left}th{background:#f8fafb;font-weight:500;color:#7c909b;font-size:12px}th,td{padding:13px 20px;border-bottom:1px solid #eaf0f3}tbody tr:last-child td{border:0}tbody tr:hover{background:#fcfefe}.address{font-family:Consolas,monospace;font-size:12px}.ellipsis{max-width:320px;overflow:hidden;text-overflow:ellipsis}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:block;color:#5b727e;font-size:13px}input,select,textarea{width:100%;border:1px solid #d6e1e5;border-radius:6px;background:#fff;padding:10px 12px;color:var(--ink);margin-top:6px;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid #7bd6c0;border-color:transparent}textarea{resize:vertical;min-height:90px;font-family:Consolas,monospace}.inline-form{display:flex;gap:12px;align-items:end}.inline-form label{flex:1}.inline-form button{height:45px}.form-actions{margin-top:21px;display:flex;align-items:center;gap:14px}.hint{font-size:12px;color:var(--muted);margin-top:14px}.notice{font-size:13px;background:#f0f7fa;padding:14px 18px;border-radius:6px;line-height:1.9;color:#5f7b88;margin-bottom:20px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tabs-inline{display:flex;gap:6px;align-items:center;padding:4px;background:#eaf0f3;border-radius:6px}.tabs-inline button{border:0;padding:6px 15px;background:none;border-radius:4px;font-size:13px;color:#647f8c}.tabs-inline button.active{background:white;color:var(--ink);box-shadow:0 1px 4px #163d4210}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-item{border:1px solid var(--line);border-radius:7px;padding:20px}.review-item h3{display:flex;gap:12px;font-size:14px}.review-item h3 span{font-size:12px;color:var(--accent)}.review-item p{font-size:13px;color:var(--muted)}.review-item .after{color:#355966}.source-links{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}.audit-event{display:flex;gap:16px;padding:13px 0;border-bottom:1px solid #edf1f3;font-size:13px}.audit-event time{font-size:12px;color:var(--muted);min-width:140px}.audit-event:last-child{border:0}.loading{padding:80px;text-align:center;color:var(--muted)}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:200;background:var(--dark);box-shadow:0 8px 28px #16343d25;color:#fff;border-radius:7px;padding:12px 22px;font-size:14px;max-width:min(90vw,800px)}.toast.error-toast{background:#903a3a}.hidden{display:none!important}footer{display:flex;justify-content:space-between;gap:15px;padding:0 42px 24px;font-size:11px;color:#9aabb4}dialog{border:1px solid var(--line);border-radius:12px;padding:34px;max-width:420px;width:90vw;box-shadow:0 20px 80px #122e3b30}dialog::backdrop{background:#102a3699;backdrop-filter:blur(5px)}dialog p{color:var(--muted);font-size:14px}dialog label{margin:25px 0 12px}dialog .primary{width:100%}.error{color:var(--red)}.result-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.result-number{padding:18px;background:#f3f8f9;border-radius:7px}.result-number b{display:block;font-size:24px;line-height:1.5}.result-number span{font-size:12px;color:var(--muted)}.cost-table input{max-width:150px;margin:0}.cost-table td,.cost-table th{padding:10px 12px}.chart{height:200px;width:100%;display:block}.chart-label{font-size:12px;fill:#8aa0ab}.split-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.upload-zone{padding:26px;border:1px dashed #b9cdd5;background:#f8fbfc;border-radius:7px}.upload-zone input{border:0;background:transparent;padding:4px;font-size:13px}.full-span{grid-column:1/-1}
@media(min-width:1700px){main{padding-top:42px}.stats{gap:24px}.stat{padding:24px 28px}}
@media(max-width:1200px){.sidebar{width:205px;padding:28px 14px}.workspace{margin-left:205px}.topbar{padding:0 28px}main{padding:28px}.grid-main{grid-template-columns:1.3fr 1fr;gap:18px}.stats{gap:12px}.stat{padding:18px}.stat-value{font-size:26px}.panel-head,.panel-body{padding:18px}.steps{padding:5px 18px}.brand{font-size:18px}.brand small{font-size:9px}.page-heading{align-items:start}footer{padding:0 28px 22px}}
@media(max-width:950px){.grid-main,.columns{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.sidebar{width:190px}.workspace{margin-left:190px}.review-grid{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}.heading-actions{width:100%}.panel-head{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{position:static;width:auto;padding:15px 18px;display:block}.shell{display:block}.workspace{margin-left:0}.brand{font-size:19px}.brand small{font-size:9px}.brand-icon{width:30px;height:33px}.workspace-label,.side-bottom{display:none}nav{display:flex;overflow:auto;gap:5px;margin-top:19px}.nav{font-size:13px;padding:8px 10px;white-space:nowrap;gap:6px}.nav span{display:none}.nav.active{box-shadow:none}.topbar{height:60px;padding:0 20px}.breadcrumb{font-size:12px}.breadcrumb span{margin:0 8px}.pill{font-size:10px}.top-actions{gap:8px}main{padding:24px 18px}h1{font-size:25px}.subtext{font-size:13px}.banner{padding:14px}.stats{gap:10px;margin-bottom:18px}.stat{padding:15px}.stat-label{font-size:12px}.stat-foot{font-size:11px}.stat-value{font-size:25px}.stat-value small{font-size:12px;margin-left:4px}.panel-head h2{font-size:16px}.step-copy p{font-size:12px}.step-title{font-size:13px}.columns{gap:0}.result-numbers{grid-template-columns:1fr}.inline-form{flex-direction:column;align-items:stretch}.audit-event{flex-direction:column;gap:2px}.form-actions{flex-wrap:wrap}footer{padding:0 18px 22px;display:block}.source-links{gap:12px}.panel{margin-bottom:18px}.tabs-inline button{padding:6px 11px}.cost-table td,.cost-table th{padding:9px}.cost-table input{min-width:70px}.review-item{padding:16px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s}.panel,.stat{animation:appear .2s ease-out}@keyframes appear{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}
