:root{--bg:#f5f7fb;--panel:#fff;--ink:#202b3c;--muted:#6f7c8e;--line:#e2e7ef;--blue:#4772d9;--blue-light:#edf3ff;--green:#16845f;--green-light:#eaf8f2;--red:#b34a48;--red-light:#fff0ef;--orange:#a36b17;--orange-light:#fff6e7;--radius:15px;--shadow:0 10px 28px rgba(31,46,72,.045)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{max-width:1510px;margin:0 auto;padding:30px 34px 70px}.eyebrow{letter-spacing:.11em;text-transform:uppercase;font-size:10px;color:var(--blue);font-weight:850}.head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:20px}h1{font-size:31px;letter-spacing:-.9px;line-height:1.15;margin:7px 0 8px}h2{font-size:19px;letter-spacing:-.25px;margin:0}.muted{color:var(--muted)}.actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:9px 14px;color:var(--ink);font-weight:700;transition:.15s}.btn:hover{border-color:#b8c9eb;background:#f7f9ff}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.soft{background:var(--blue-light);border-color:#d6e2ff;color:#315dae}.btn.danger{padding:6px 10px;color:var(--red);background:transparent}.tag{display:inline-flex;align-items:center;border-radius:99px;padding:4px 9px;font-size:11px;font-weight:750;background:var(--blue-light);color:#315daf}.tag.green{background:var(--green-light);color:var(--green)}.tag.orange{background:var(--orange-light);color:var(--orange)}.tag.red{background:var(--red-light);color:var(--red)}.banner{background:#edf3ff;border:1px solid #dae5ff;border-radius:12px;color:#3d61a9;padding:12px 15px;margin-bottom:19px;font-size:12px}.notice{position:sticky;top:10px;z-index:20;padding:12px 15px;border-radius:10px;margin-bottom:14px;background:var(--red-light);border:1px solid #f0cac8;color:var(--red)}.notice.ok{background:var(--green-light);border-color:#bee4d4;color:var(--green)}
.context-gate{max-width:720px;margin:100px auto;display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.context-gate p{margin:4px 0 0;color:var(--muted)}.context-gate.error .spinner{display:none}.context-gate.error{border-color:#efcac8}.spinner{width:25px;height:25px;border:3px solid #dce6fa;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:17px 18px;box-shadow:var(--shadow);min-height:124px}.metric .name{color:var(--muted);font-weight:650;font-size:12px;margin-bottom:13px}.metric .num{font-size:23px;font-weight:850;white-space:nowrap;letter-spacing:-.6px}.metric .foot{font-size:11px;color:var(--muted);margin-top:6px}.metric.negative .num{color:var(--red)}.metric.positive .num{color:var(--green)}
.two-columns{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-top:19px}.operational-columns{grid-template-columns:1fr 1fr}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panelhead{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:13px;border-bottom:1px solid var(--line)}.panelhead p{margin:4px 0 0;color:var(--muted);font-size:12px}.wide{margin-top:18px}.tablewrap{overflow:auto}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-weight:750;font-size:11px;color:#647389;border-bottom:1px solid var(--line);padding:12px 11px;background:#fbfcfe;white-space:nowrap}.tbl td{border-bottom:1px solid #edf0f5;padding:11px;vertical-align:middle}.tbl .right{text-align:right}.tbl input,.tbl select{width:100%;min-width:72px;border:1px solid #dce3ed;background:#fff;border-radius:8px;padding:8px}.tbl input.title{min-width:210px}.tbl input.number{width:106px;text-align:right}.panel-total{display:flex;align-items:center;justify-content:space-between;padding:17px 21px;font-size:13px}.panel-total b{font-size:20px}.estimate-table td:nth-child(2){min-width:235px}.empty{padding:24px!important;text-align:center;color:var(--muted)}
.finance-model{padding:21px;display:grid;gap:0}.finance-model>label:first-child{display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:750;padding:8px 0 14px}.money-input{display:flex;align-items:center;gap:10px}.money-input input{width:145px;text-align:right;font-size:18px;font-weight:800;border:1px solid #dce3ed;border-radius:9px;padding:10px}.finance-line{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid #eef1f5}.finance-line b{font-size:15px}.finance-details{border-top:1px solid #eef1f5;padding:11px 0}.finance-details summary,.manual-cost summary{font-weight:700;color:#315dae;cursor:pointer}.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding-top:12px}.finance-grid label,.form-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:650}.finance-grid input,.form-grid input{border:1px solid #dce3ed;border-radius:8px;padding:8px;color:var(--ink)}.checkbox{display:flex!important;align-items:center;gap:8px;padding:9px 0;font-size:12px}.checkbox input{width:auto}.fact-notice{background:var(--orange-light);border:1px solid #f0dfbd;color:#7b612b;border-radius:10px;padding:10px 12px;margin:4px 0 12px;font-size:12px}
.integration-status,.stock-note{padding:10px 20px;background:#fbfcfe;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.manual-cost{border-top:1px solid var(--line);padding:16px 20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:12px;padding-top:14px}.form-grid .btn{align-self:end}.source-name{display:block;font-weight:750}.source-meta{display:block;color:var(--muted);font-size:11px;margin-top:2px}.source-link{color:#315dae;text-decoration:none}.source-link:hover{text-decoration:underline}.stock-table{min-width:760px}.status-select{min-width:145px!important}.stock-note{border-top:1px solid var(--line);border-bottom:0}
.version-cards{display:flex;gap:10px;overflow:auto;padding:17px 21px;border-bottom:1px solid var(--line)}.version-card{min-width:190px;border:1px solid var(--line);border-radius:11px;padding:12px}.version-card.active{border-color:#abc2f1;background:#f7f9ff}.version-card strong{display:block;margin-bottom:5px}.version-card small{color:var(--muted)}.version-card .file-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.version-card a{font-size:11px;color:#315dae}.timeline{padding:5px 21px 15px}.timeline-event{display:grid;grid-template-columns:165px 1fr;gap:15px;padding:13px 3px;border-bottom:1px solid #edf0f5}.timeline-event time{color:var(--muted);font-size:11px}.timeline-event b{display:block}.timeline-event span{color:var(--muted);font-size:12px}.panelhead select{border:1px solid #dce3ed;border-radius:9px;padding:8px;background:#fff}footer{margin-top:22px;text-align:center;color:#9aa6b6;font-size:11px}
@media(max-width:1280px){.metrics{grid-template-columns:repeat(3,1fr)}.two-columns{grid-template-columns:1fr}}@media(max-width:720px){.shell{padding:17px}.head{flex-direction:column}h1{font-size:25px}.metrics{grid-template-columns:repeat(2,1fr)}.panelhead{align-items:flex-start;flex-direction:column}.form-grid,.finance-grid{grid-template-columns:1fr}.timeline-event{grid-template-columns:1fr;gap:3px}}
