:root{--bg:#f7f9fd;--paper:#fff;--line:#e7ebf3;--text:#17253e;--muted:#78869c;--accent:#685dec;--accent-light:#f0edff;--teal:#159d8e;--green-bg:#e8f9f3;--danger:#d05c68;--shadow:0 8px 32px rgba(27,44,79,.045)}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-family:Inter,'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,-apple-system,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.8px}.layout{display:flex;min-height:100vh}.sidebar{width:248px;flex:0 0 248px;background:#fff;border-right:1px solid var(--line);padding:30px 18px 26px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;padding:0 10px 39px}.brand-symbol{width:40px;height:40px;border-radius:12px;background:#605fe4;color:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 9px 21px #8178eb33}.brand b{display:block;white-space:nowrap;font-size:17px}.brand b span{font-size:12px;color:#647389;font-weight:500}.brand small{font-size:8px;letter-spacing:1.1px;color:#9ba6ba}.side-caption{color:#a5aec0;font-size:10px;font-weight:750;letter-spacing:2px;padding:0 15px;margin-bottom:12px}.nav{display:grid;gap:7px}.nav-item{width:100%;border:0;background:transparent;border-radius:11px;padding:13px 15px;display:flex;align-items:center;text-align:left;gap:13px;color:#748096;font-size:13px;font-weight:700}.nav-item span{font-size:20px;min-width:19px;text-align:center}.nav-item.selected{background:var(--accent-light);color:#6057d9}.nav-item:hover{background:#f6f6ff;color:var(--accent)}.team-box{border:1px solid #eceaf9;border-radius:15px;background:#faf9ff;padding:17px;margin:0 4px}.team-box b{display:block;font-size:12px;margin:12px 0 5px}.team-box small{display:block;font-size:11px;color:#8491a8;line-height:1.8}.team-avatars{display:flex;padding-left:2px}.avatar{width:30px;height:30px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;background:#e5e3ff;color:#605bd9;font-size:10px;font-weight:800;margin-left:-2px}.avatar:nth-child(2){background:#dcf1ec;color:#278c83}.avatar:nth-child(3){background:#fff0da;color:#b38b4d}.avatar:nth-child(4){background:#e6edff;color:#5f81c2}.sidebar-end{margin-top:auto}.mode{border:1px solid #edf0f7;border-radius:12px;padding:12px;color:#61738b;font-size:12px;background:#fafcff}.mode.live{color:#168773;background:#eafaf5;border-color:#d1efe3}.sidebar-note{font-size:11px;color:#9fa9bc;line-height:1.8;margin-top:16px;padding:0 9px}.main{min-width:0;flex:1}.topbar{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3.1vw,54px);gap:12px}.crumb{font-size:12px;color:#66738d;font-weight:650}.crumb span{margin:0 8px;color:#b7bfce}.top-actions,.flex-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.account{font-size:12px;color:#566685;background:#f5f6fb;padding:10px 14px;border-radius:24px}.button{border:1px solid #dee4f0;border-radius:10px;background:#fff;padding:10px 15px;color:#344565;font-size:12px;font-weight:750;white-space:nowrap;transition:background .16s,transform .16s}.button:hover{background:#f3f2ff;border-color:#bdb7fc}.button.primary{color:#fff;background:#665be7;border-color:#665be7;box-shadow:0 5px 15px #685dec20}.button.primary:hover{background:#584bdc}.button.subtle{background:#fff}.button.warn{color:var(--danger);border-color:#f4d4d8}.button.small{padding:9px 13px}.button.fill{width:100%;padding:13px}.button:disabled{opacity:.46;cursor:not-allowed}.main-body{max-width:1650px;padding:35px clamp(20px,3.1vw,54px) 40px;margin:auto}.page{display:none}.page.active{display:block}.intro{display:flex;justify-content:space-between;align-items:center;gap:26px;margin-bottom:27px}.eyebrow{font-size:10px;color:var(--accent);font-weight:800;letter-spacing:2px;margin-bottom:11px}.intro h1{font-size:clamp(25px,2.5vw,35px);line-height:1.35;margin:0 0 11px;font-weight:820}.highlight{color:var(--accent)}.intro p{color:#8490a5;font-size:13px;line-height:1.9;margin:0;max-width:740px}.intro-aside{flex:0 0 235px;background:#f0edff;border:1px solid #e2defd;border-radius:15px;padding:17px 18px}.intro-aside span{font-size:10px;color:#8d85bf}.intro-aside b{display:block;margin:9px 0 6px;font-size:13px;color:#5c52a7}.intro-aside small{font-size:10px;color:#8680af}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:28px}.stat{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:19px 20px}.stat-kicker{font-size:11px;color:#8b98a9;display:flex;justify-content:space-between;gap:8px}.stat-icon{font-size:18px;color:#b5aefa}.stat-number{font-size:29px;letter-spacing:-1px;font-weight:820;margin:7px 0;color:#273751;font-variant-numeric:tabular-nums}.stat-note{font-size:10px;color:#a1adbd}.card{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:var(--shadow)}.card-head{padding:23px 25px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.card-head h2{font-size:17px;margin:0 0 7px}.mini{font-size:11px;font-weight:450;color:#9aa6b8}.card-head p{font-size:11px;color:#95a2b2;margin:0}.map-scroller{height:718px;overflow:auto;background:radial-gradient(ellipse at 30% 40%,#f7f5ff,transparent 55%),#fcfdff;scrollbar-color:#d4d2eb transparent;scrollbar-width:thin}.map-canvas{width:1950px;height:708px;position:relative;background-image:radial-gradient(#dcdff0 0.8px,transparent 0.9px);background-size:23px 23px}.year-line{position:absolute;top:38px;bottom:26px;border-left:1px dashed #dee1ed;pointer-events:none;padding:0 0 0 14px}.year-line b{font-size:12px;color:#8793aa}.year-line small{display:block;color:#b1bad0;font-size:10px;margin-top:4px}.map-paths{position:absolute;inset:0;pointer-events:none}.map-node{position:absolute;width:202px;min-height:122px;border:1px solid #e2e5f2;border-radius:16px;padding:15px 16px;background:#fff;box-shadow:0 7px 23px #3346680b;text-align:left;z-index:2;color:#26374f;transition:transform .2s,box-shadow .2s}.map-node:hover{box-shadow:0 16px 30px #7062bc1e;border-color:#a9a2ef}.map-node.complete{border-color:#a4dccf;background:#effcf8;box-shadow:0 0 0 2px #c9f2e7,0 10px 30px #16a48813}.map-node.progress{border-color:#b1a8f7;background:#f9f8ff}.map-node.locked{opacity:.58}.map-node .nrow{display:flex;align-items:center;justify-content:space-between}.map-node .glyph{font-size:22px;color:#7567e8}.map-node.complete .glyph{color:#139b80}.map-node h3{font-size:14px;margin:13px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-node .pills{background:#f0eefc;color:#8278c6;border-radius:25px;padding:4px 8px;font-size:9px;font-weight:800}.map-node.complete .pills{color:#137e69;background:#d1f5e9}.map-node .nfooter{display:flex;justify-content:space-between;gap:9px;font-size:10px;color:#8f9bb0}.bar{height:6px;background:#e9e9f3;overflow:hidden;border-radius:30px;margin-top:10px}.bar i{height:100%;display:block;background:linear-gradient(90deg,#8271ef,#67c9bf);border-radius:20px}.complete .bar i{background:#25b69b}.map-key{padding:15px 24px;display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);color:#95a0b1;font-size:11px;flex-wrap:wrap}.dot{height:8px;width:8px;border-radius:50%;display:inline-block;margin-right:5px}.dot.is-done{background:#24bc9f}.dot.is-going{background:#796bef}.dot.is-free{background:#e1b96e}.dot.is-wait{background:#bac3d3}.map-drag{margin-left:auto}.explainer{margin-top:15px;font-size:11px;color:#8894a8;line-height:1.9;display:flex;gap:11px}.explainer b{color:#53657e}.page-heading{margin:15px 0 25px}.page-heading h1{font-size:29px;margin:0 0 9px}.page-heading p{font-size:13px;color:#8e9bab;margin:0}.list-card{padding:20px 22px}.toolbar{display:flex;align-items:center;gap:9px;margin-bottom:16px;flex-wrap:wrap}.toolbar .button:last-child{margin-left:auto}select,input[type=text],input[type=number],input[type=date],input[type=password],textarea{min-height:39px;border:1px solid #e0e5ef;border-radius:10px;background:#fff;color:#26354b;padding:9px 11px;width:100%;min-width:0}select{max-width:250px}.toolbar select{max-width:176px}.scroll-table{overflow:auto}.task-table,.bom-table{width:100%;border-collapse:collapse}.task-table th,.bom-table th{text-align:left;font-size:11px;font-weight:650;color:#98a3b4;border-bottom:1px solid #e8ecf3;padding:13px 11px}.task-table td,.bom-table td{font-size:12px;line-height:1.6;border-bottom:1px solid #eff1f6;padding:13px 11px;vertical-align:middle}.task-table tr:hover td{background:#fbfaff}.checkbox{width:19px;height:19px;accent-color:#6e62e9;cursor:pointer}.task-link{background:none;border:0;padding:0;color:#4f51c6;font-weight:750;text-align:left;white-space:normal;text-decoration:none}.task-link:hover{text-decoration:underline}.subline{color:#a5afbf;font-size:11px;margin-top:4px}.status{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:750;border-radius:30px;padding:5px 9px;background:#f1effd;color:#7564c7;white-space:nowrap}.status.good{background:#e6faf4;color:#14947c}.status.gray{background:#f1f4f8;color:#8e9aac}.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.goal{padding:26px}.goal small{color:#665be7;letter-spacing:1px;font-weight:750}.goal h2{margin:15px 0 28px}.goal-value{font-size:28px;font-weight:850;color:#584fc9}.goal-value span{font-size:10px;color:#8794aa;font-weight:500}.goal p{font-size:12px;line-height:2;color:#8090a3;margin:16px 0 0}.activity-card{padding:20px 25px}.activity-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.activity-entry{display:flex;gap:13px;padding:15px 0;border-top:1px solid #edf1f7;align-items:start}.activity-entry .log-text{font-size:12px;color:#3d4d64}.activity-entry .log-date{font-size:10px;color:#9aa8bc;margin-top:6px}.footer{text-align:center;color:#b0bac8;font-size:10px;margin:32px 0 0}.shade{position:fixed;inset:0;background:#17233b65;backdrop-filter:blur(3px);z-index:50;display:none}.shade.visible{display:block}.drawer{position:absolute;right:0;top:0;bottom:0;width:min(540px,100vw);overflow:auto;background:#fff;padding:30px 31px 60px;box-shadow:-20px 0 65px #25354d25}.drawer-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.drawer-head h2{font-size:24px;margin:9px 0 8px}.drawer-head p{font-size:12px;color:#8d9ba9;line-height:1.8}.icon-btn{border:0;background:#f3f5f9;border-radius:10px;color:#60738b;font-size:18px;width:35px;height:35px;flex-shrink:0}.icon-btn:hover{background:#ecebff;color:#5c51b3}.progress-row{display:flex;justify-content:space-between;color:#667489;font-size:12px;margin:24px 0 10px}.detail-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:23px 0}.field-label,.modal label{font-size:11px;color:#8c9aad;display:block;font-weight:650}.field-label input,.field-label select,.modal label input,.modal label select,.modal label textarea{display:block;margin-top:7px}.section-title{margin:22px 0 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.task-line{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid #eef0f5}.task-line .checkbox{margin-top:2px}.task-line .task-body{flex:1;min-width:0}.task-line .task-body button{line-height:1.6}.task-line .action-edit{border:0;background:transparent;color:#9a9daf;font-size:12px}.task-line .action-edit:hover{color:#5b58d0}.note-field textarea{min-height:86px}.note{margin-top:9px;background:#f8f9fd;border:1px solid #edf0f7;border-radius:11px;padding:12px;color:#586780;font-size:12px;white-space:pre-wrap;line-height:1.75}.note small{display:block;color:#95a4ba;margin-bottom:5px}.modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:18px;box-shadow:0 22px 70px #172f4b32;padding:27px 29px;width:min(480px,calc(100vw - 28px));max-height:94vh;overflow:auto}.modal h2{font-size:20px;margin:0 0 8px}.modal p{font-size:12px;color:#92a0b0;line-height:1.8}.modal label{margin-top:15px}.modal textarea{min-height:110px;resize:vertical}.modal-footer{display:flex;gap:9px;margin-top:20px}.modal-footer .button{flex:1}.login .error{min-height:20px;color:var(--danger);font-size:12px;padding:8px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);z-index:120;max-width:90vw;border-radius:12px;background:#263453;color:white;box-shadow:0 13px 36px #1529412c;padding:12px 18px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;white-space:pre-wrap}.back{border:0;background:transparent;color:#7264d9;font-size:12px;font-weight:750;padding:0 0 13px}.detail-title{display:flex;justify-content:space-between;align-items:start;gap:10px}.detail-title h1{font-size:27px;margin:3px 0 8px}.detail-title p{color:#9aa5b4;font-size:12px}.detail-card{padding:24px;margin-top:20px}.detail-hero{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}.detail-hero h2{margin:0;font-size:17px}.detail-hero p{font-size:12px;margin:6px 0 0;color:#93a0b3}.bom-panel{padding:24px}.bom-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:20px}.bom-toolbar h2{font-size:17px;margin:0}.bom-toolbar p{font-size:11px;color:#95a2b1;margin:6px 0 0}.bom-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:23px}.summary-item{border-radius:12px;padding:15px 17px;background:#f7f9fd}.summary-item small{font-size:10px;color:#8290a6}.summary-item b{font-size:22px;display:block;margin-top:6px;font-variant-numeric:tabular-nums}.bom-table{min-width:1020px}.bom-table td{padding:9px 7px}.bom-table th{padding:10px 8px}.bom-table input{font-size:12px;width:100%;padding:8px;min-height:36px}.bom-table .num{text-align:right}.bom-table .total{font-variant-numeric:tabular-nums;color:#5b62ad;font-weight:700;white-space:nowrap}.bom-table .del-row{border:0;background:#fff5f6;color:#c35c68;border-radius:8px;padding:7px 8px}.bom-table .del-row:disabled{opacity:.3}.bom-notice{background:#fffbeb;border:1px solid #f6eac4;color:#957b39;border-radius:11px;padding:12px 15px;font-size:11px;line-height:1.8;margin-top:14px}.muted{color:#8f9cad}.empty{padding:34px;text-align:center;color:#a2acbc;font-size:12px}.lock-mark{color:#128770;background:#e8f9f3;padding:7px 11px;border-radius:20px;font-size:11px;font-weight:750}.lock-mark.open{color:#8672c8;background:#f1effd}.explain-detail{font-size:13px;color:#637188;line-height:2;white-space:pre-wrap}.check-row{display:flex;align-items:center;gap:10px}.nowrap{white-space:nowrap}@media(max-width:1050px){.sidebar{width:74px;flex-basis:74px;padding:24px 10px}.brand{padding:0 6px 40px}.brand>b:not(.brand-symbol),.brand>div:last-child,.side-caption,.nav-item{font-size:0}.nav-item{padding:12px;justify-content:center}.nav-item span{font-size:21px}.team-box,.sidebar-end{display:none}.intro-aside{display:none}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.layout{display:block}.sidebar{width:100%;height:60px;padding:10px 13px;position:sticky;z-index:15;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0}.brand>div:last-child{display:block}.brand b{font-size:13px}.brand small{display:none}.brand-symbol{height:34px;width:34px}.nav{display:flex;gap:3px}.nav-item{padding:7px 8px;font-size:0}.nav-item span{font-size:17px}.topbar{height:65px;padding:0 17px}.top-actions{gap:5px}.top-actions .button.subtle{display:none}.account{padding:8px;font-size:10px}.top-actions .button.primary{font-size:11px;padding:9px}.main-body{padding:25px 15px}.intro h1{font-size:24px}.stat-grid{gap:9px}.stat{padding:14px 13px}.stat-number{font-size:25px}.card-head{align-items:start;flex-direction:column;padding:20px 15px 15px}.map-scroller{height:690px}.map-key{padding:13px;gap:10px}.map-drag{margin:0}.detail-form{grid-template-columns:1fr}.drawer{padding:25px 17px}.list-card{padding:12px}.task-table{min-width:730px}.goal-grid{grid-template-columns:1fr}.bom-summary{grid-template-columns:1fr 1fr}.bom-panel{padding:15px}.intro p{font-size:12px}}

/* V2.1 new feature only: task evidence attachments. No other layout or typography changes. */
.doc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}
.doc-desc{line-height:1.9;white-space:pre-wrap;color:#66758d;font-size:12px}
.doc-input{display:block;width:100%;min-height:95px;border-radius:11px;border:1px solid var(--line);padding:12px;font-size:12px;resize:vertical}
.doc-subtle{color:#8a97ac;font-size:11px;line-height:1.9}
.doc-status{font-size:11px;color:#8170ba;background:#f2efff;border-radius:20px;padding:6px 10px}
.doc-status.locked{color:#138b72;background:#e7f9f2}
.doc-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:12px 0}
.doc-file{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;min-width:0}
.doc-file-preview{height:120px;background:#f5f7fc;border-radius:9px;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;width:100%;border:0;color:#9ca7bb;font-size:32px}
.doc-file-preview img{width:100%;height:100%;object-fit:contain}
.doc-file strong{display:block;font-size:12px;margin:10px 0 5px;overflow-wrap:anywhere}
.doc-file small{color:#9ca7b8;font-size:10px;display:block}
.doc-file-ops{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}
.doc-file-ops .button{padding:7px 10px;font-size:11px}
.doc-drop{border:1.5px dashed #cdd1eb;background:#f9f9ff;border-radius:12px;padding:16px;text-align:center;margin:14px 0}
.doc-drop.drag-over{background:#f0edff;border-color:#8077e4}
.doc-drop input{max-width:100%;font-size:12px}
.doc-viewer{position:absolute;inset:5% 5% 5%;background:#fff;border-radius:14px;display:flex;flex-direction:column;padding:16px;max-width:1180px;margin:auto;box-shadow:0 22px 70px #152b4b35;overflow:hidden}
.doc-viewer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 12px;font-size:13px}
.doc-viewer-main{flex:1;min-height:0;background:#f4f6fa;display:grid;place-items:center;border-radius:10px;overflow:auto}
.doc-viewer-main img{max-height:100%;max-width:100%;object-fit:contain}
.doc-viewer-main iframe{height:100%;width:100%;border:0}
.doc-viewer-error{color:#8c9caf;font-size:12px;padding:20px}
.doc-preview-actions{display:flex;align-items:center;gap:8px}
@media(max-width:650px){.doc-files{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-viewer{inset:2% 2% 2%;padding:10px}}

/* V2.2 经营数据中心：延续第二版蓝紫/白色、紧凑仪表盘 UI */
.sales-page{font-family:'Microsoft YaHei','SimHei',sans-serif}
.sales-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 16px;flex-wrap:wrap}.sales-head h1{font-size:26px;margin:0 0 9px;letter-spacing:0}.sales-head p{font-size:12px;color:#8895a8;line-height:1.8;margin:0;max-width:850px}.sales-notice{font-size:11px;color:#647389;background:#f0efff;border:1px solid #e6e2ff;border-radius:10px;padding:12px 15px;margin-bottom:14px;line-height:1.8}.sales-filter-card{padding:16px 20px;margin-bottom:15px}.sales-filter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap;font-size:12px}.sales-filter-title .button{padding:6px 10px;font-size:11px}.sales-filters{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.sales-filters label{font-size:10px;color:#7d8ba2;display:grid;gap:5px}.sales-filters input,.sales-filters select{min-height:34px;width:100%;min-width:0;font-size:11px;padding:7px 8px;border:1px solid #e4e8f3;border-radius:8px;background:#fff;color:#33445d}.sales-filters .sales-search{grid-column:span 2}.sales-switch{display:flex;align-items:center;gap:8px;margin:14px 0}.sales-switch>span{margin-left:auto;font-size:11px;color:#9aa6bb}.sales-tab{border:1px solid #e6e9f2;border-radius:9px;background:#fff;color:#78869e;padding:9px 16px;font-size:12px;font-weight:750;cursor:pointer}.sales-tab.active{border-color:#c7c0ff;background:#f1eeff;color:#655add}.sales-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:14px}.sales-kpi{padding:18px 20px}.sales-kpi-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#7d8ba4;font-size:11px}.sales-kpi-heading span{color:#aaa4e9;font-size:18px}.sales-kpi strong{display:block;font-size:26px;line-height:1.45;margin:5px 0;color:#293a56;font-weight:800;white-space:nowrap}.sales-kpi small{font-size:10px;color:#a1acbd}.sales-visual-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-bottom:14px}.sales-panel{padding:18px 20px;min-width:0}.sales-panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.sales-panel-heading h3{font-size:14px;margin:0}.sales-panel-heading span{font-size:10px;color:#a3afbe}.sales-month{min-height:263px}.sales-ranking{min-height:194px}.sales-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:10px;height:178px}.sales-bar-col{flex:1;min-width:0;max-width:74px;display:flex;flex-direction:column;justify-content:end;align-items:center;height:100%;gap:6px}.sales-bar-value{font-size:10px;color:#7b87a0;white-space:nowrap}.sales-bar-track{height:126px;width:min(43px,100%);display:flex;align-items:flex-end;border-radius:7px 7px 0 0;background:#f7f6ff;overflow:hidden}.sales-bar-fill{width:100%;background:linear-gradient(180deg,#8277ed,#b4abf5);border-radius:7px 7px 0 0;min-height:4px}.sales-bar-fill.negative{background:#e0a1a8}.sales-bar-label{font-size:10px;color:#8a98ad}.sales-trend-caption{text-align:right;font-size:10px;color:#b3becc;margin-top:6px}.sales-rank{display:flex;align-items:center;gap:12px;margin:0 0 12px}.sales-rank-num{font-size:10px;color:#aeafd4;min-width:21px}.sales-rank-body{flex:1;min-width:0}.sales-rank-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.sales-rank-header b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:56%}.sales-rank-header span{font-size:10px;font-weight:750;color:#555a93;white-space:nowrap}.sales-rank-track{background:#f0f0fa;height:6px;border-radius:20px;overflow:hidden}.sales-rank-track i{display:block;background:linear-gradient(90deg,#7971e6,#9cdbd1);height:100%;border-radius:20px}.sales-rank-track i.negative{background:#e3a5ae}.sales-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 23px}.sales-client{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0f6;padding:11px 0;font-size:12px}.sales-client span{font-size:10px;color:#ada7e1}.sales-client b{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650}.sales-client strong{white-space:nowrap;color:#5961a4;font-size:12px}.sales-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:160px;text-align:center;color:#94a1b4;font-size:12px}.sales-empty span{font-size:25px;color:#c6c2ef}.sales-empty small{font-size:10px;color:#b1bdcc}.sales-table-card{padding:16px 18px}.sales-table-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.sales-table-head h3{font-size:14px;margin:0 0 5px}.sales-table-head p{font-size:11px;color:#a0adbd;margin:0}.sales-table-head>div:last-child{font-size:11px;font-weight:750;color:#665be2}.sales-table{min-width:1320px}.sales-table td,.sales-table th{padding:11px 8px}.sales-table td{font-size:11px}.sales-table td b{font-weight:700}.sales-table .sales-amount{color:#4c5bab;font-weight:800;white-space:nowrap}.sales-table .sales-amount.negative{color:#c97a83}.sales-refund{background:#fff0f0;color:#ba7780}.sales-row-action{border:0;background:transparent;color:#675ad4;font-size:11px;padding:5px 6px;cursor:pointer}.sales-row-action.danger{color:#c87983}.sales-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 3px;color:#9aa8b9;font-size:11px}.sales-pager button{padding:7px 12px;font-size:11px}.sales-footnote{font-size:10px;color:#a1adbc;line-height:1.9;margin-top:13px}.sales-modal-head h2{margin:0 0 8px}.sales-modal-head p{margin:0 0 10px}.sales-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.sales-form-grid label{margin-top:10px}.sales-form-grid input,.sales-form-grid select,.sales-form-grid textarea{font-size:12px;max-width:none;min-height:35px}.sales-form-grid textarea{min-height:55px}.sales-full{grid-column:1 / -1}.sales-form-total{margin-top:13px;border-radius:12px;background:#f5f3ff;padding:12px 14px;font-size:11px;color:#657389;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sales-form-total strong{font-size:18px;color:#6459d7}.sales-form-total small{color:#9a9bb7}.modal:has(.sales-form-grid){width:min(730px,calc(100vw - 28px))}
@media(max-width:1250px){.sales-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.sales-kpi strong{font-size:21px}}@media(max-width:850px){.sales-visual-grid{grid-template-columns:1fr}.sales-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-customer-grid{grid-template-columns:1fr}.sales-head h1{font-size:23px}}@media(max-width:580px){.sales-kpis{grid-template-columns:1fr 1fr}.sales-kpi{padding:13px}.sales-kpi strong{font-size:17px}.sales-form-grid{grid-template-columns:1fr}.sales-full{grid-column:auto}.sales-filters{grid-template-columns:1fr 1fr}}

/* V2.3: 只增强原第二版地图交互，不改变布局尺寸与品牌风格 */
.map-node {touch-action:none; user-select:none; cursor:grab;}
.map-node.map-dragging {cursor:grabbing; transition:none!important; box-shadow:0 16px 38px rgba(73,65,150,.19); border-color:#766aed; z-index:8; opacity:.98;}
.map-node.map-link-source {background:#f0edff; border:2px solid #685dec; opacity:1; box-shadow:0 0 0 4px rgba(104,93,236,.15); z-index:6;}
.map-node.map-link-target {cursor:crosshair; opacity:1;}
.map-node.map-link-target:hover {background:#f6f4ff; border-color:#766aed;}
.map-paths path {transition:stroke .15s;}
#map-link-mode[aria-pressed="true"] {background:#675ce8; color:#fff; border-color:#675ce8;}
.map-link-hint {margin:0 23px 12px; padding:10px 13px; background:#f2f0ff; border:1px solid #dcd7ff; border-radius:10px; color:#5c51b5; font-size:12px; font-weight:600;}
.map-link-hint[hidden] {display:none}

.map-node.map-new-highlight {outline:3px solid rgba(104,93,236,.48);outline-offset:3px;box-shadow:0 0 0 8px rgba(104,93,236,.09),0 12px 32px rgba(57,48,134,.13);}

/* ===== V3.0 进销存管理：沿用V2.3蓝紫白 / 紧凑工作台视觉语言 ===== */
.inv-page-heading{margin:10px 0 16px}.inv-page-heading h1{font-size:26px;margin-bottom:7px}
.inv-warning{padding:12px 16px;background:#f0f0ff;color:#685e93;border:1px solid #e2defb;border-radius:12px;font-size:12px;line-height:1.8;margin-bottom:14px}
.inv-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.inv-tab{border:1px solid #e7e9f4;background:#fff;padding:10px 12px;border-radius:11px;font-size:12px;font-weight:700;color:#738098;white-space:nowrap}
.inv-tab span{font-size:10px;margin-right:7px;color:#afa7d8}
.inv-tab.selected{background:#eeeaff;border-color:#d7d0fc;color:#6255ca}
.inv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px}.inv-head h2{font-size:18px;margin:0 0 5px}.inv-head p{font-size:12px;color:#8996aa;margin:0;line-height:1.7}
.inv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.inv-kpi{padding:17px 19px;display:flex;flex-direction:column;gap:7px}.inv-kpi small{font-size:11px;color:#8e9aaa}.inv-kpi strong{font-size:22px;font-weight:780;font-family:'Microsoft YaHei','SimHei',sans-serif}.inv-kpi span{font-size:10px;color:#94a0b2}
.inv-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.inv-overview-panel{padding:18px}.inv-overview-panel h3{font-size:15px;margin:0 0 14px}.inv-tally{display:flex;justify-content:space-between;border-top:1px solid #eef0f8;padding:12px 0;font-size:13px}.inv-tally b{color:#6153cb}.inv-hint{font-size:12px;color:#96a1b4;line-height:1.9;margin:8px 0 0}.inv-steps{font-size:13px;color:#625ba0;line-height:2.8;background:#f7f6ff;padding:13px;border-radius:10px}.inv-steps b{color:#aea5d9;padding:0 4px}
.inv-table-card{padding:12px 16px}.inv-table td{font-size:12px;line-height:1.65}.inv-empty{padding:24px;text-align:center;color:#8b96ad;font-size:12px}.inv-empty small{display:block;margin-top:8px;color:#aeb7c7}
.inv-partner-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.inv-partner-heading h3{margin:0;font-size:15px}.inv-action{border:0;background:#efedff;border-radius:8px;color:#5e55cc;padding:7px 10px;margin:2px;font-size:11px;font-weight:700}.inv-action:hover{background:#e4e1fc}
.inv-lot{font-size:11px;color:#74839b;margin:4px 0}.inv-pos{color:#139e82!important;font-weight:700}.inv-neg{color:#c46070!important;font-weight:700}
#modal-shade .modal:has(.inv-form){width:min(720px,calc(100vw - 30px))}.inv-form h2{font-size:21px;margin:0 0 4px}.inv-form p{font-size:12px;color:#8997ab;line-height:1.9;margin:0 0 12px}
.inv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inv-form label{display:block;margin:12px 0;font-size:12px;color:#77859d;font-weight:700}.inv-form input,.inv-form select,.inv-form textarea{display:block;width:100%;max-width:none;margin-top:6px;background:white;border:1px solid #e2e7f2;border-radius:9px;padding:10px 12px;color:#20344a;font-size:12px;min-height:39px}.inv-form textarea{min-height:62px}
.inv-line-toolbar{display:flex;align-items:center;justify-content:space-between;margin:10px 0 4px}.inv-line-toolbar b{font-size:13px}.inv-line{display:grid;grid-template-columns:2.5fr 1fr 1.15fr auto;align-items:end;gap:10px;padding:8px 4px;border-bottom:1px solid #eef0f7}.inv-line label{min-width:0;margin:0 0 4px}.inv-row-delete{border:0;border-radius:9px;background:#fff0f2;color:#c46070;padding:10px 13px;margin-bottom:4px}
@media(max-width:1100px){.inv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.inv-two,.inv-form-grid{grid-template-columns:1fr}.inv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-line{grid-template-columns:1fr 1fr}.inv-head{flex-direction:column;align-items:flex-start}}

/* V3.1 · one-entry sales, history and order-tracking views */
.sales-switch{gap:8px;flex-wrap:wrap}.sales-switch #sales-counter{margin-left:auto}.sales-history-summary{margin:0 0 8px}.sales-history-summary .sales-notice{line-height:1.7}.sales-table th,.sales-table td{white-space:nowrap}

/* V3.1.1 地图定位安全补丁：与原第二版尺寸保持一致 */
.map-canvas>.map-node{position:absolute!important;}

/* V3.1.2 — Map nodes are positioned via GPU-safe translate3d using the same coordinates as SVG paths. */
.map-canvas>.map-node {left:0!important;top:0!important;will-change:transform;}

/* V3.1.3 — Progress fills: rendered percentage independent from competing width rules.
   Outer track stays neutral; inner fill is full width and visually scaled to pct(n)/100. */
.map-node .bar, .drawer .bar { background:#e9e9f3; overflow:hidden; }
.map-node .bar > i, .drawer .bar > i {display:block; width:100%!important; height:100%; transform-origin:left center!important; background:linear-gradient(90deg,#8271ef,#67c9bf);}


/* V3.1.5: exact percentage drawn by SVG rect width (viewBox 0–100). */
.map-node .fos-progress, .drawer .fos-progress {
 display:block; width:100%; height:6px; margin-top:10px;
 overflow:visible; flex:none;
}
/* No position transition on map cards: task toggles and server refreshes must never
   slide the cards back from (0,0). Hover keeps a small non-positional shadow. */
.map-canvas > .map-node { transition: box-shadow .15s ease, border-color .15s ease !important; }
.map-canvas > .map-node.map-dragging {transition:none!important;}
/* Year headings are short fixed-size labels, so the Chinese characters cannot overlap. */
.map-canvas > .map-year-marker {
  position:absolute;top:23px;width:164px;height:28px;
  display:flex;align-items:center;gap:7px;padding:5px 10px;
  border:1px solid #e5e6f4;border-radius:7px;background:#fffdfd;
  white-space:nowrap;overflow:hidden;text-overflow:clip;
  color:#687690;font-size:11px;line-height:17px;
  z-index:1;pointer-events:none;
}
.map-year-marker b{font-size:11px;letter-spacing:0;font-family:'Microsoft YaHei','PingFang SC',sans-serif;color:#566887;font-weight:750;flex-shrink:0}
.map-year-marker span{font-family:'Microsoft YaHei','PingFang SC',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


/* V3.3 · focused workspace: remove explanatory paragraphs, retain data and controls */
.sidebar .team-box,.sidebar .sidebar-note,.sidebar .side-caption[style],
.intro p,.intro-aside,.explainer,.map-wrap .card-head p,.stat-note,
.page-heading>p,.sales-head p,.sales-notice,.sales-footnote,.sales-table-head p,
.sales-panel-heading>span,.inv-page>.inv-warning,#inv-content>.inv-warning,.inv-head p,.inv-overview-panel .inv-hint,
.inv-empty small,.inv-kpi>span{display:none!important}
.sidebar .sidebar-end{margin-top:auto}
.inv-page-heading{margin-bottom:15px}
.inv-page-heading h1{margin-bottom:0}
.inv-head{margin:16px 0 16px}
.inv-head h2{margin-bottom:0}
.intro{margin-bottom:20px}
.main-body{padding-top:25px}
/* Larger navigation blocks: two rows of five on desktop, visible hover and keyboard focus. */
.inv-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:19px}
.inv-tab{display:flex;align-items:center;justify-content:center;min-height:57px;padding:12px 10px;border:1px solid #e2e5f1;border-radius:13px;font-size:13px;font-weight:750;background:#fff;color:#56657f;cursor:pointer;transition:color .16s,background .16s,border-color .16s,box-shadow .16s,transform .16s}
.inv-tab span{font-size:11px;margin-right:8px;color:#9d9bbf}
.inv-tab.selected{background:#edeaff;color:#5c50d4;border-color:#bcb4fa;box-shadow:0 3px 12px rgba(104,93,236,.09)}
.inv-tab:hover{background:#e8e4ff;color:#4d40c2;border-color:#9d93f0;box-shadow:0 8px 22px rgba(104,93,236,.15);transform:translateY(-2px)}
.inv-tab.selected:hover{background:#e1dcff}
.inv-tab:focus-visible,.supplier-name:focus-visible{outline:2px solid #6156e9;outline-offset:3px}
.inv-tab:active{transform:translateY(0)}
/* Clickable supplier names & derived supplier portfolio */
.supplier-name{font:inherit;font-weight:750;color:#6055d6;border:0;background:none;padding:4px 0;cursor:pointer;text-align:left}
.supplier-name span{font-size:12px;opacity:.72;padding-left:5px}
.supplier-name:hover{color:#4033b8;text-decoration:underline}
#modal-shade .modal:has(.supplier-profile){width:min(880px,calc(100vw - 32px));max-height:min(88vh,900px);padding:25px 28px}
.supplier-profile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.supplier-profile h2{font-size:22px;line-height:1.35;margin:0 0 6px;color:#1c2b44}
.supplier-location{font-size:12px;color:#8492a8}
.supplier-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
.supplier-stat{min-height:104px;padding:14px 13px;border-radius:14px;background:#f7f7ff;border:1px solid #edebff}
.supplier-stat small,.supplier-stat span{display:block;font-size:11px;color:#8e98aa;line-height:1.5}
.supplier-stat strong{display:block;font-size:19px;color:#273851;margin:8px 0 5px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.supplier-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 8px}
.supplier-section-head h3{font-size:14px;margin:0}
.supplier-section-head small{color:#94a0b1;font-size:11px}
.supplier-rows{border:1px solid #eceff7;border-radius:12px;max-height:220px;overflow:auto}
.supplier-rows table{width:100%;min-width:580px}
.supplier-rows th{position:sticky;top:0;background:#fbfbfe;z-index:1;font-size:11px}
.supplier-rows td{vertical-align:top;font-size:12px}
.supplier-line{padding:0 0 6px;margin-bottom:6px;border-bottom:1px dashed #ebedf4}
.supplier-line:last-child{border:0;margin:0;padding:0}
.supplier-qty{font-size:11px;color:#7e8aa1;margin-top:3px}
.supplier-pending{color:#bc7754}
.supplier-empty{text-align:center;color:#9aa4b3;padding:19px 0!important}
.supplier-profile-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px}
@media(max-width:1300px){.inv-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.inv-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.supplier-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.inv-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-tab{min-height:54px}.supplier-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#modal-shade .modal:has(.supplier-profile){padding:18px}.supplier-profile-actions{flex-direction:column}}

/* V3.4 · shared interaction language, not new visual theme */
.sales-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px;align-items:stretch}
.sales-switch .sales-tab{display:flex;align-items:center;justify-content:center;min-height:57px;padding:12px 10px;border:1px solid #e2e5f1;border-radius:13px;background:#fff;color:#56657f;font-size:13px;font-weight:750;cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s}
.sales-switch .sales-tab.active{background:#edeaff;border-color:#bcb4fa;color:#5c50d4;box-shadow:0 3px 12px rgba(104,93,236,.09)}
.sales-switch .sales-tab:hover{background:#e8e4ff;border-color:#9d93f0;color:#4d40c2;transform:translateY(-2px);box-shadow:0 8px 22px rgba(104,93,236,.15)}
.sales-switch .sales-tab:active{transform:translateY(0)}
.sales-switch #sales-counter{grid-column:1/-1;justify-self:end;margin:0;color:#8794ad;font-size:12px}
.sales-switch .sales-tab:focus-visible,.fos-clickable:focus-visible,.fos-sales-client:focus-visible,.fos-inline-link:focus-visible{outline:2px solid #6456e9;outline-offset:3px}
.fos-clickable{font-family:inherit;text-align:left;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}
.fos-clickable:hover{background:#f1efff!important;border-color:#b9b2f7!important;box-shadow:0 8px 22px rgba(104,93,236,.12)}
.inv-kpi.fos-clickable{width:100%;color:inherit}
.fos-inline-link{font:inherit;font-weight:650;color:#5549bc;background:none;border:0;cursor:pointer;padding:5px 0;text-align:left}
.fos-inline-link:hover{text-decoration:underline;color:#3929b6}
.fos-sales-client{border:1px solid transparent;width:100%;font:inherit;text-align:left;cursor:pointer;transition:background .16s,border-color .16s}
.fos-sales-client:hover{background:#f1efff;border-color:#beb5fa}
/* Keep warnings that affect real transactions. V3.3 hid all of them, including unsupported business operations. */
.inv-page>.inv-warning,#inv-content>.inv-warning,.sales-footnote,.sales-notice{display:block!important}
.inv-page>.inv-warning{font-size:12px;line-height:1.7;margin-bottom:14px;padding:10px 15px;background:#f7f6ff;border-radius:11px;border:1px solid #eeeafe;color:#6d668d}
.sales-footnote{font-size:12px;color:#7c879d;line-height:1.75;margin-top:18px}
@media(max-width:800px){.sales-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}

.fos-next-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #d7e3e0;border-radius:13px;background:#f2fbf8;color:#315e58;font-size:13px;line-height:1.6;margin:0 0 14px}
.fos-next-banner .flex-actions{flex-shrink:0}
.fos-next-banner .button{min-height:35px;padding:8px 13px}
@media(max-width:800px){.fos-next-banner{align-items:stretch;flex-direction:column}}

/* -------- V3.6 sales presentation -------- */
/* Founder OS V3.6 — scoped V3.5-inspired sales design system.
   No global layout changes; map / tasks / inventory remain untouched. */
.fos-v36{font-family:'Microsoft YaHei','微软雅黑','SimHei',Arial,sans-serif;color:#27334d}
.fos-v36 button,.fos-v36 input,.fos-v36 select{font-family:inherit}
.fos-v36 button:focus-visible,.fos-v36 input:focus-visible,.fos-v36 select:focus-visible{outline:3px solid #b0a7ff;outline-offset:2px}
.fos-v36 .fos36-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px}
.fos-v36 .fos36-head h1{margin:0;font-size:28px;line-height:1.32;font-weight:820;letter-spacing:.1px;color:#202b42}
.fos-v36 .fos36-head p{display:none}
.fos-v36 .fos36-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.fos-v36 .fos36-actions .button{min-height:37px;border-radius:11px}
.fos-v36 .sales-switch.fos36-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 13px}
.fos-v36 .fos36-nav .sales-tab{display:flex;align-items:center;gap:11px;text-align:left;width:100%;height:66px;min-width:0;border-radius:14px;border:1px solid #e5e9f3;background:#fff;padding:12px 15px;color:#4d5972;box-shadow:0 7px 22px rgba(35,50,82,.025);transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;position:relative}
.fos-v36 .fos36-nav .sales-tab:hover{background:#f2efff;border-color:#bfb7ff;box-shadow:0 9px 24px rgba(91,82,205,.11);transform:translateY(-2px);color:#5c50d9}
.fos-v36 .fos36-nav .sales-tab.active{background:#eeebff;border-color:#c5bdff;color:#5c50d9}
.fos-v36 .fos36-nav .sales-tab:active{transform:translateY(0)}
.fos-v36 .fos36-nav .sales-tab>span:nth-child(2){flex:1;min-width:0}
.fos-v36 .fos36-nav .sales-tab b{display:block;font-size:13px;color:#27334d;font-weight:800;white-space:nowrap}
.fos-v36 .fos36-nav .sales-tab.active b,.fos-v36 .fos36-nav .sales-tab:hover b{color:#5a4fd5}
.fos-v36 .fos36-nav .sales-tab small{display:block;font-size:10px;color:#9aa5b7;margin-top:4px;white-space:nowrap}
.fos-v36 .fos36-tab-icon{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:10px;background:#f1efff;color:#6c5fea;font-size:18px}
.fos-v36 .fos36-nav .sales-tab.active .fos36-tab-icon{background:#ded9ff}
.fos-v36 .fos36-tab-arrow{font-size:13px;color:#b4afcf;opacity:0;transform:translate(-3px,3px);transition:all .16s}
.fos-v36 .fos36-nav .sales-tab:hover .fos36-tab-arrow,.fos-v36 .fos36-nav .sales-tab.active .fos36-tab-arrow{opacity:1;transform:none}
.fos-v36 .fos36-range-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 15px;background:rgba(255,255,255,.72);border:1px solid #e8ebf4;border-radius:13px;padding:9px 13px}
.fos-v36 .fos36-range-left,.fos-v36 .fos36-range-right{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.fos-v36 .fos36-filter-label{color:#73829a;font-size:11px;font-weight:700;margin-right:3px}
.fos-v36 .fos36-range-caption{font-size:11px;color:#9aa6b8;margin-left:6px}
.fos-v36 .fos36-range-bar .button{padding:7px 12px;border-radius:10px;min-height:32px}
.fos-v36 .fos36-range-bar .sales-quick:hover{background:#f0eeff;color:#5f54de;border-color:#c3bcff}
.fos-v36 #sales-counter{font-size:11px;color:#92a0b5;white-space:nowrap}
.fos-v36 .fos36-filters{margin-bottom:15px;padding:15px 17px;border-radius:14px}
.fos-v36 .fos36-filters[hidden]{display:none!important}
.fos-v36 .fos36-filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.fos-v36 .fos36-filters .sales-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fos-v36 .fos36-filters .sales-search{grid-column:span 2}
.fos-v36 .sales-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}
.fos-v36 .fos36-kpi{min-width:0;min-height:152px;position:relative;text-align:left;border:1px solid #e8ebf3;border-radius:16px;background:#fff;padding:18px 20px;color:#24314c;cursor:pointer;box-shadow:0 9px 26px rgba(39,56,85,.033);transition:transform .18s,box-shadow .18s,border-color .18s}
.fos-v36 .fos36-kpi:hover{transform:translateY(-3px);box-shadow:0 15px 28px rgba(74,72,153,.13);border-color:#bab2fb}
.fos-v36 .fos36-kpi-primary{background:linear-gradient(120deg,#6559e8,#8880ed);color:#fff;border-color:transparent;box-shadow:0 11px 25px rgba(96,83,213,.20)}
.fos-v36 .fos36-kpi-primary:hover{box-shadow:0 17px 33px rgba(96,83,213,.3)}
.fos-v36 .fos36-kpi-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;color:#69758d;font-size:15px;font-weight:800;line-height:1.35}
.fos-v36 .fos36-kpi-primary .fos36-kpi-top{color:#f2efff}
.fos-v36 .fos36-kpi-icon{width:36px;height:36px;display:grid;place-items:center;background:#f1efff;color:#6d61ec;border-radius:11px;font-size:18px;flex:none}
.fos-v36 .fos36-kpi-primary .fos36-kpi-icon{background:rgba(255,255,255,.18);color:#fff}
.fos-v36 .fos36-kpi>strong{display:block;margin-top:14px;font-size:clamp(25px,2.5vw,42px);line-height:1.16;font-weight:850;letter-spacing:-.6px;word-break:break-word}
.fos-v36 .fos36-kpi>small{display:block;font-size:12px;margin-top:9px;color:#8995a8;line-height:1.55}
.fos-v36 .fos36-kpi-primary>small{color:#ece9ff}
.fos-v36 .fos36-kpi-link{display:block;font-size:11px;font-weight:700;color:#786bea;opacity:0;position:absolute;right:17px;bottom:14px;transition:opacity .15s}
.fos-v36 .fos36-kpi-primary .fos36-kpi-link{color:#fff}
.fos-v36 .fos36-kpi:hover .fos36-kpi-link,.fos-v36 .fos36-kpi:focus-visible .fos36-kpi-link{opacity:1}
.fos-v36 .fos36-hero-grid,.fos-v36 .fos36-bottom-grid,.fos-v36 .fos36-secondary-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(285px,1fr);gap:14px;margin-bottom:14px}
.fos-v36 .fos36-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.fos-v36 .fos36-data-panel{padding:17px 19px;min-width:0;border:1px solid #e7eaf2;border-radius:17px;box-shadow:0 10px 30px rgba(34,50,86,.035)}
.fos-v36 .fos36-panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.fos-v36 .fos36-panel-title h3{font-size:14px;font-weight:800;color:#28354e;margin:0 0 5px}
.fos-v36 .fos36-panel-title p{font-size:10px;margin:0;color:#9ba7b8}
.fos-v36 .fos36-action-link{background:none;border:0;color:#796ce6;font-size:11px;font-weight:700;cursor:pointer;padding:4px 6px;border-radius:7px;white-space:nowrap}
.fos-v36 .fos36-action-link:hover{background:#f2efff}
.fos-v36 .fos36-trend{height:254px;display:flex;flex-direction:column;justify-content:center}
.fos-v36 .fos36-trend-svg{width:100%;min-height:0;flex:1}
.fos-v36 .fos36-trend-svg svg{height:100%;width:100%;display:block;overflow:visible}
.fos-v36 .fos36-legend{display:flex;align-items:center;gap:8px;font-size:10px;color:#98a5b7;margin:2px 0 0}
.fos-v36 .fos36-legend span{color:#786aef}
.fos-v36 .fos36-region-chart{display:flex;align-items:center;justify-content:center;gap:12px;min-height:244px}
.fos-v36 .fos36-donut{flex:0 1 46%;min-width:130px;max-width:190px}
.fos-v36 .fos36-donut svg{display:block;width:100%;height:auto}
.fos-v36 .fos36-donut-legend{min-width:100px;flex:1;display:grid;gap:10px}
.fos-v36 .fos36-donut-legend>div{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;color:#697995}
.fos-v36 .fos36-donut-legend strong{font-size:11px;color:#24334d;margin-left:auto;font-variant-numeric:tabular-nums}
.fos-v36 .fos36-legend-dot{width:8px;height:8px;border-radius:50%;flex:none}
.fos-v36 .fos36-region-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fos-v36 .fos36-bottom-grid .fos36-data-panel{min-height:249px}
.fos-v36 .fos36-table-scroll{overflow:auto}
.fos-v36 .fos36-recent-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;min-width:470px}
.fos-v36 .fos36-recent-table th{color:#9aa5b9;font-weight:600;background:#f8f9fc;padding:11px 8px;white-space:nowrap}
.fos-v36 .fos36-recent-table td{color:#64738d;padding:12px 8px;border-bottom:1px solid #f0f1f6;white-space:nowrap}
.fos-v36 .fos36-recent-table td b{color:#29364d}
.fos-v36 .fos36-recent-table tr:hover td{background:#faf9ff}
.fos-v36 .fos36-link{padding:3px 0;border:0;background:none;color:#6358d8;font-weight:700;cursor:pointer}
.fos-v36 .fos36-link:hover{text-decoration:underline}
.fos-v36 .fos36-status{color:#2da58a;background:#e8faf4;padding:5px 8px;border-radius:8px;font-size:10px}
.fos-v36 .fos36-customer-list{display:grid;gap:8px}
.fos-v36 .fos36-customer{display:flex;gap:11px;align-items:center;width:100%;padding:7px 6px;border:1px solid transparent;border-radius:9px;text-align:left;background:transparent;cursor:pointer;transition:background .17s,border .17s}
.fos-v36 .fos36-customer:hover{background:#f6f4ff;border-color:#e7e1ff}
.fos-v36 .fos36-customer-rank{font-size:12px;color:#a6b0c3;font-weight:800}
.fos-v36 .fos36-customer-main{flex:1;min-width:0}
.fos-v36 .fos36-customer-top{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:11px}
.fos-v36 .fos36-customer-top b{color:#4a5672;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fos-v36 .fos36-customer-top strong{color:#27354e;font-variant-numeric:tabular-nums;white-space:nowrap}
.fos-v36 .fos36-customer-bar,.fos-v36 .fos36-rank-bar{height:5px;border-radius:10px;background:#f0eff8;overflow:hidden;display:block;margin-top:7px}
.fos-v36 .fos36-customer-bar i,.fos-v36 .fos36-rank-bar i{height:100%;display:block;background:linear-gradient(90deg,#7365ed,#8dc9f6);border-radius:10px}
.fos-v36 .fos36-rank-item{display:flex;gap:12px;align-items:center;margin:13px 0}
.fos-v36 .fos36-rank-item>span{font-size:11px;color:#a6afc1}
.fos-v36 .fos36-rank-item>div{flex:1;min-width:0}
.fos-v36 .fos36-rank-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}
.fos-v36 .fos36-rank-heading b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#53617b}
.fos-v36 .fos36-rank-heading strong{color:#2c3953;white-space:nowrap}
.fos-v36 .fos36-rank-bar i.negative{background:#ef9b9b}
.fos-v36 .fos36-empty{min-height:175px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:10px;color:#96a4b8}
.fos-v36 .fos36-empty-symbol{font-size:27px;color:#c9c4fc}
.fos-v36 .fos36-empty strong{font-size:12px;color:#75839c}
.fos-v36 .fos36-empty small{font-size:10px;max-width:300px;line-height:1.6}
.fos-v36 .fos36-empty-action{border:0;color:#6e61e0;background:#f2f0ff;border-radius:9px;font-size:11px;padding:8px 12px;cursor:pointer}
.fos-v36 .fos36-empty-action:hover{background:#e6e2ff}
.fos-v36 .fos36-footnote{color:#98a5b5;font-size:10px;line-height:1.8;margin:13px 0 4px}
.fos-v36 #sales-list .sales-table-card,.fos-v36 #sales-orders.sales-table-card,.fos-v36 #sales-history.sales-table-card{border-radius:16px}
@media(max-width:1300px){.fos-v36 .fos36-region-chart{gap:6px}.fos-v36 .fos36-donut{min-width:115px}.fos-v36 .fos36-nav .sales-tab{gap:7px;padding:11px 10px}.fos-v36 .fos36-tab-arrow{display:none}.fos-v36 .fos36-nav .sales-tab small{font-size:9px}}
@media(max-width:1020px){.fos-v36 .fos36-hero-grid,.fos-v36 .fos36-bottom-grid{grid-template-columns:1fr}.fos-v36 .fos36-region-chart{min-height:195px}.fos-v36 .fos36-donut{max-width:160px}.fos-v36 .fos36-filters .sales-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.fos-v36 .sales-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.fos-v36 .fos36-head{align-items:flex-start;flex-direction:column}.fos-v36 .sales-switch.fos36-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.fos-v36 .fos36-nav .sales-tab{min-height:63px}.fos-v36 .fos36-secondary-grid{grid-template-columns:1fr}.fos-v36 .fos36-filters .sales-filters{grid-template-columns:1fr}.fos-v36 .fos36-filters .sales-search{grid-column:auto}.fos-v36 .fos36-kpi{min-height:125px;padding:12px}.fos-v36 .fos36-kpi>strong{font-size:20px}}

.fos-v36 .fos36-range-bar .sales-quick.active{background:#eeebff;border-color:#d2cbff;color:#5e52da;font-weight:800}


/* ================================================================
   Founder OS 3.6.2 · Unified legible typography + quieter layout
   Business validation, workflow and data logic are unchanged.
   Keep financial / regulatory caveats visible and accessible.
   ================================================================ */
:root{--fos-text:#26334b;--fos-subtle:#60718c;--fos-dim:#7b899d;--fos-type-caption:12px;--fos-type-body:14px;--fos-type-label:13px;--fos-type-heading:22px;--fos-type-value:30px}
body,button,input,select,textarea{font-family:"Microsoft YaHei","微软雅黑","SimHei","黑体",Arial,sans-serif}
body{color:var(--fos-text);font-size:14px;line-height:1.52}
.main-body{padding-top:28px}
/* Information hierarchy: page > section > KPI > table > metadata */
.page-heading h1,.inv-page-heading h1{font-size:26px;line-height:1.3;font-weight:800;letter-spacing:0;margin-bottom:0}
.intro h1{font-size:clamp(25px,2.3vw,30px);line-height:1.3;margin-bottom:0;font-weight:800}
.page-heading{margin-top:10px;margin-bottom:20px}
.card-head h2,.inv-head h2{font-size:19px;font-weight:800;margin-bottom:0}
.fos-v36 .fos36-head h1{font-size:27px}
.card-head{padding-top:19px;padding-bottom:18px}
.card-head p{display:none} /* the title and action buttons are self explanatory */
.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.45px;color:#7164d9;margin-bottom:8px}
.nav-item{font-size:14px;min-height:44px}
.brand small{font-size:10px;letter-spacing:.7px;color:#8b96aa}
.side-caption{font-size:11px;letter-spacing:1px;color:#8794ab}
.team-box b{font-size:13px}
.mode{font-size:12px;font-weight:650}
.crumb,.account{font-size:13px}
.button{font-size:13px;font-weight:700}
.button.small{font-size:12px}
/* Strategic roadmap: labels stay readable without expanding node cards. */
.stat-kicker{font-size:13px;color:var(--fos-subtle);font-weight:700}
.stat-number{font-size:30px}
.stat-note{display:none}
.stat{padding:19px 20px}
.stat-grid{margin-bottom:21px}
.map-node h3{font-size:14px}
.map-node .nfooter{font-size:11px;color:#65748e}
.map-node .pills{font-size:10px}
.year-line b{font-size:12px;color:#69788f}
.year-line small{font-size:11px;color:#8795a9}
.map-key{font-size:12px;color:#687994}
.explainer{font-size:12px;color:#6e7c90;line-height:1.7}
/* Tabs and primary business navigation */
.inv-tab{font-size:14px;font-weight:750;min-height:56px}
.inv-tab span{font-size:12px}
.fos-v36 .fos36-nav .sales-tab{height:60px;padding:12px 15px}
.fos-v36 .fos36-nav .sales-tab b{font-size:14px}
.fos-v36 .fos36-nav .sales-tab small{display:none}
.fos-v36 .fos36-tab-icon{width:35px;height:35px}
.fos-v36 .fos36-range-label,.fos-v36 .fos36-filter-label{font-size:12px}
.fos-v36 .fos36-range-caption,.fos-v36 #sales-counter{font-size:12px;color:#7786a0}
/* KPI cards: stable 15px labels and prominent values. */
.fos-v36 .fos36-kpi{min-height:148px;padding:18px 20px}
.fos-v36 .fos36-kpi-top{font-size:15px;font-weight:800;color:#556780;line-height:1.35}
.fos-v36 .fos36-kpi-primary .fos36-kpi-top{color:#fff}
.fos-v36 .fos36-kpi>strong{font-size:clamp(27px,2.25vw,36px);line-height:1.2;margin-top:15px}
.fos-v36 .fos36-kpi>small{font-size:12px;line-height:1.5;color:#77859a}
.fos-v36 .fos36-kpi-primary>small{color:#fff;opacity:.87}
.fos-v36 .fos36-kpi-link{font-size:12px}
.inv-kpi small{font-size:13px;color:#677993;font-weight:700}
.inv-kpi strong{font-size:28px;font-weight:800}
.inv-kpi>span{display:none}
/* Charts, ranks and transaction tables */
.fos-v36 .fos36-panel-title h3{font-size:16px;letter-spacing:0;margin-bottom:0}
.fos-v36 .fos36-panel-title p{display:none}
.fos-v36 .fos36-action-link{font-size:13px}
.fos-v36 .fos36-legend{font-size:12px;color:#6f7f96}
.fos-v36 .fos36-donut-legend>div,.fos-v36 .fos36-donut-legend strong{font-size:12px}
.fos-v36 .fos36-recent-table{font-size:12px}
.fos-v36 .fos36-recent-table th{color:#68788e;font-size:12px;font-weight:700}
.fos-v36 .fos36-recent-table td{color:#546780;font-size:12px}
.fos-v36 .fos36-status{font-size:11px}
.fos-v36 .fos36-customer-top,.fos-v36 .fos36-rank-heading{font-size:12px}
.fos-v36 .fos36-customer-rank,.fos-v36 .fos36-rank-item>span{font-size:12px}
.fos-v36 .fos36-empty strong{font-size:14px;color:#677993}
.fos-v36 .fos36-empty small{font-size:12px;color:#7789a2}
.fos-v36 .fos36-empty-action{font-size:12px;font-weight:700}
.task-table th,.bom-table th{font-size:12px;font-weight:750;color:#697b91}
.task-table td,.bom-table td{font-size:13px;color:#354560;line-height:1.65}
.inv-table td{font-size:13px;line-height:1.6}
.sales-table th,.sales-table td{font-size:12px}
.subline{font-size:12px;color:#77869a}
.status{font-size:11px}
.inv-partner-heading h3,.inv-overview-panel h3{font-size:16px}
.inv-empty{font-size:13px}
.inv-hint{font-size:12px;color:#6b7a90;line-height:1.6}
.inv-action{font-size:12px}
/* Details, forms and documents: never require zoom for form labels. */
.inv-form label,.modal label,.drawer label{font-size:13px;color:#52637b;font-weight:700}
input,select,textarea{font-size:13px}
.mini,.goal-value span{font-size:12px}
.goal small{font-size:12px}
.goal p,.activity-entry,.activity-actions{font-size:13px}
.activity-card{font-size:13px}
/* Critical context is compact, but never silently hidden. */
.fos362-disclosure{border:1px solid #e1e5f1;border-radius:12px;background:#fff;margin:0 0 17px;overflow:hidden}
.fos362-disclosure summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;list-style:none;padding:11px 15px;min-height:43px;color:#52647c;font-size:12px;cursor:pointer}
.fos362-disclosure summary::-webkit-details-marker{display:none}
.fos362-disclosure summary strong{font-size:13px;color:#5146b6}
.fos362-disclosure-rule{color:#6d7891;font-size:12px}
.fos362-disclosure-more{margin-left:auto;color:#6357cc;font-weight:700}
.fos362-disclosure-more:after{content:' ▾'}
.fos362-disclosure[open] .fos362-disclosure-more:after{content:' ▴'}
.fos362-disclosure .inv-warning{display:block!important;border:0;border-top:1px solid #e7eaf4;border-radius:0;background:#f8f8ff;color:#55657c;font-size:13px;line-height:1.65;margin:0;padding:12px 15px}
.fos362-goal-caveat{display:block!important;color:#6f7792!important;font-size:13px!important;font-weight:700;margin-top:5px!important}
.fos-v36 .fos36-footnote{font-size:12px;color:#6e7b93;line-height:1.7}
/* Responsive typography must not collapse into 10px microtext */
@media(max-width:1300px){
 .fos-v36 .fos36-nav .sales-tab b{font-size:13px}
 .fos-v36 .fos36-kpi-top{font-size:14px}
 .fos-v36 .fos36-kpi>strong{font-size:clamp(23px,2.2vw,31px)}
 .fos-v36 .fos36-region-chart{gap:8px}
}
@media(max-width:780px){
 .fos-v36 .fos36-kpi{padding:15px 16px;min-height:132px}
 .fos-v36 .fos36-kpi-top{font-size:13px}
 .fos-v36 .fos36-kpi>strong{font-size:26px}
 .fos-v36 .fos36-nav .sales-tab{min-height:58px}
 .stat-kicker{font-size:12px}
}
@media(max-width:680px){
 .fos-v36 .fos36-kpi>strong{font-size:24px}
 .fos-v36 .fos36-kpi>small{font-size:12px}
}

#view-goals .page-heading>p.fos362-goal-caveat{display:block!important}
/* V3.7 业务状态、发货单和库存预警 */
.status.inv-danger{color:#bc263b!important;background:#ffe5e8!important;border:1px solid #ffc6ce!important;font-weight:800}
.status.inv-partial{color:#a76006;background:#fff2d9;border:1px solid #ffdda8}
.status.inv-closed{color:#6259c4;background:#edeaff;border:1px solid #dcd6ff}
.inv-stop-action{color:#a35b16!important;background:#fff6e7!important}
.inv-draft-notice{color:#287e68;background:#e9f8f1;border:1px solid #cdebdc;padding:9px 11px;border-radius:9px;font-size:13px;margin:5px 0}
.inv-draft-clear{margin-right:auto}
.inv-ship-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(130px,.8fr) auto;gap:10px;align-items:end;padding:8px 0;border-bottom:1px solid #edf0f7}
.inv-ship-row label{margin:0;min-width:0}.inv-ship-row .inv-row-delete{margin-bottom:1px}
.inv-close-lines{border:1px solid #f4dcbc;background:#fffaf2;border-radius:9px;padding:11px 13px;margin-bottom:12px;font-size:13px;color:#805321}
.inv-close-lines>div{display:flex;justify-content:space-between;padding:4px 0}
.fos-v36 .fos36-customer-bar i.fos-rank-0,.fos-v36 .fos36-rank-bar i.fos-rank-0{background:linear-gradient(90deg,#6559e8,#9b91f5)}
.fos-v36 .fos36-customer-bar i.fos-rank-1,.fos-v36 .fos36-rank-bar i.fos-rank-1{background:linear-gradient(90deg,#2681e9,#8ab5ff)}
.fos-v36 .fos36-customer-bar i.fos-rank-2,.fos-v36 .fos36-rank-bar i.fos-rank-2{background:linear-gradient(90deg,#24a6a0,#84ded2)}
.fos-v36 .fos36-customer-bar i.fos-rank-3,.fos-v36 .fos36-rank-bar i.fos-rank-3{background:linear-gradient(90deg,#d79b52,#f2cf98)}
.fos-v36 .fos36-customer-bar i.fos-rank-4,.fos-v36 .fos36-rank-bar i.fos-rank-4{background:linear-gradient(90deg,#8b92bd,#c2c8e3)}
@media(max-width:650px){.inv-ship-row{grid-template-columns:minmax(0,1fr) 115px auto}}

/* V3.7.1 ranking chart: SVG geometry guarantees truthful proportional lengths. */
.fos-v36 .fos36-customer-bar,.fos-v36 .fos36-rank-bar{height:9px;line-height:0;overflow:hidden;border-radius:6px;background:transparent}
.fos-v36 .fos36-customer-bar .fos371-rank-svg,.fos-v36 .fos36-rank-bar .fos371-rank-svg{display:block;width:100%;height:9px;max-width:none;overflow:visible}

/* V3.9.2 batch-identified dispatch rows */
.inv-ship-row{grid-template-columns:minmax(0,1.35fr) minmax(0,2.2fr) minmax(100px,.72fr) auto;align-items:start;gap:10px;padding:12px 0}
.inv-ship-row label{display:block;min-width:0;margin:0}
.inv-ship-row .iv-ship-lot-note{display:block;color:#71839d;font-size:11px;font-weight:400;line-height:1.45;margin-top:5px;overflow-wrap:anywhere}
.inv-ship-row .inv-row-delete{margin-top:25px}
@media(max-width:720px){.inv-ship-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.inv-ship-row label:nth-child(2){grid-column:1/-1;grid-row:2}.inv-ship-row .inv-row-delete{margin-top:0;justify-self:end}}

/* V3.9.3 live per-SKU order fulfilment progress in shipment modal */
.inv-ship-progress{border:1px solid #e4e7f3;background:#f9faff;border-radius:13px;padding:14px 15px 10px;margin:17px 0 16px}
.inv-ship-progress-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.inv-ship-progress-title strong{font-size:13px;color:#34445f}
.inv-ship-progress-title small{font-size:11px;color:#8390a7}
.inv-ship-progress-item{padding:11px 0;border-top:1px solid #e9edf6;--ship-tone:#9aa6b9;--ship-bar:#cbd3e1}
.inv-ship-progress-item.partial{--ship-tone:#a76d11;--ship-bar:#efbd58}
.inv-ship-progress-item.complete{--ship-tone:#14836e;--ship-bar:#2ab89a}
.inv-ship-progress-item.over{--ship-tone:#bd3d50;--ship-bar:#ed8892}
.inv-ship-progress-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.inv-ship-progress-name{font-size:13px;font-weight:720;color:#263852;min-width:0;overflow-wrap:anywhere}
.inv-ship-progress-name small{display:block;font-size:10px;font-weight:450;color:#8996ad;margin-top:3px}
.inv-ship-progress-right{display:flex;align-items:center;gap:10px;flex:none}
.inv-ship-progress-value{color:var(--ship-tone);font-size:17px;line-height:1.3;font-variant-numeric:tabular-nums;font-weight:820;white-space:nowrap}
.inv-ship-progress-state{background:color-mix(in srgb,var(--ship-tone) 10%,white);border:1px solid color-mix(in srgb,var(--ship-tone) 24%,white);color:var(--ship-tone);padding:3px 7px;border-radius:6px;font-size:10px;font-weight:750;white-space:nowrap}
.inv-ship-progress-track{height:5px;border-radius:99px;background:#e6eaf3;overflow:hidden;margin-top:9px}
.inv-ship-progress-track>span{display:block;height:100%;border-radius:99px;background:var(--ship-bar);transition:width .16s ease}
@media(max-width:620px){.inv-ship-progress-title{align-items:flex-start;flex-direction:column}.inv-ship-progress-right{gap:6px}.inv-ship-progress-value{font-size:15px}.inv-ship-progress-state{font-size:9px}}

/* V3.9.4 · shipment correction dialogs */
.inv-correction-dialog{max-width:760px}.inv-correction-block{padding:13px 15px;border:1px solid #e3e8f5;border-radius:12px;background:#f9fbff;margin:12px 0;display:grid;gap:7px;font-size:13px;line-height:1.7;color:#354560}.inv-correction-block>b{font-size:13px;color:#182b4a}.inv-correction-history{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid #edf0f8}.inv-correction-history:last-child{border:0}.inv-correction-history span{color:#556785}.inv-correction-history small{color:#8a9ab2}.inv-correction-map{max-height:275px;overflow:auto;display:grid;gap:8px;margin:8px 0 14px}.inv-correction-map-row{border:1px solid #e4e9f6;padding:10px 12px;border-radius:12px;display:grid;grid-template-columns:minmax(140px,1fr) minmax(230px,1.6fr);align-items:center;gap:12px}.inv-correction-map-row small{display:block;color:#74829e;margin-top:4px}.inv-correction-map-row label{margin:0}.inv-correction-confirm{display:flex!important;gap:10px!important;align-items:flex-start!important;margin:12px 0;color:#344766!important}.inv-correction-confirm input{width:18px;height:18px;flex:none;margin-top:2px}@media(max-width:720px){.inv-correction-map-row{grid-template-columns:1fr}}

/* V3.9.6 · 安全运维面板；沿用现有紫白工作台风格 */
#ops-nav[hidden]{display:none!important}
.ops-head{margin-bottom:14px}.ops-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ops-card{padding:22px 18px;min-width:0;display:flex;flex-direction:column;gap:12px}.ops-card span{font-size:12px;color:#8090a6;font-weight:700}.ops-card strong{font-size:23px;line-height:1.3;color:#253453;letter-spacing:0}.ops-card small{font-size:11px;color:#8694a7;line-height:1.7;overflow-wrap:anywhere}.ops-good{color:#12876c!important}.ops-danger{color:#c64250!important}.ops-tip{border:1px solid #e3e8f2;background:#fff;border-radius:11px;margin:13px 0 20px;padding:12px 16px;color:#63738c;font-size:12px}.ops-log{padding:20px 23px}.ops-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.ops-card-head h2{font-size:16px;margin:0}.ops-card-head span{color:#8593a7;font-size:11px}.ops-log-scroller{max-height:400px;overflow:auto}.ops-wait{padding:30px}.ops-footnote{font-size:12px;color:#77869b;line-height:1.8;margin:18px 0}
@media(max-width:1100px){.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ops-grid{grid-template-columns:1fr}.ops-card strong{font-size:21px}}
