:root{--green:#28634f;--deep:#153e34;--bg:#f5f7f6;--text:#283d32;--muted:#89958b;--border:#e3e9e2;--red:#a64c42}*{box-sizing:border-box}body{margin:0;font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer;border:0;transition:.15s}button:hover{filter:brightness(.96)}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,input:focus-visible,select:focus-visible,[contenteditable]:focus-visible{outline:2px solid #64a389;outline-offset:2px}[hidden]{display:none!important}input,select{width:100%;padding:11px 13px;border:1px solid #dce4da;border-radius:7px;background:white;color:var(--text)}input:focus,select:focus{outline:0;border-color:#6c9f80;box-shadow:0 0 0 3px #edf5ea}label{display:block;font-size:12px;font-weight:600;margin:19px 0 8px}label input,label select{margin-top:8px}h1,h2,h3,p{margin-top:0}.muted{font-size:12px;color:var(--muted)}.eyebrow{font-size:9px;letter-spacing:2px;color:#8ba18e;font-weight:600}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;padding:9px 14px;white-space:nowrap;font-size:11px;font-weight:500}.primary{background:var(--green);color:white;box-shadow:0 2px 3px #163e3512}.secondary{background:white;border:1px solid var(--border);color:#5e6d5d}.text-btn{padding:0;background:transparent;color:var(--green);font-size:11px}.icon-button{background:transparent;font-size:18px;color:#81917e;padding:4px 8px}.brand{display:flex;gap:11px;align-items:center;font-size:17px;font-weight:650;letter-spacing:1px}.brand small{display:block;font-size:9px;color:#9cb8a4;font-weight:400;margin-top:3px;letter-spacing:1px}.logo{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#e4efdc;color:var(--deep);border-radius:8px;font:25px serif}.brand em{font-style:normal;background:#ffffff12;padding:1px 4px;border-radius:3px;font-size:8px;letter-spacing:0;margin-left:4px}.login{display:flex;min-height:100dvh}.login-story{width:47%;background:var(--deep);color:#f1f6eb;padding:44px 55px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;border:1px solid #ffffff08;width:650px;height:650px;right:-420px;bottom:-340px;border-radius:50%;box-shadow:0 0 0 80px #ffffff03,0 0 0 160px #ffffff02;pointer-events:none}.login-story .logo{background:#ffffff16;color:#e8f0dc}.login-story h1{font-size:clamp(32px,3.5vw,51px);font-weight:500;line-height:1.55;letter-spacing:2px;margin:24px 0}.login-story>div:nth-child(2){margin:85px 0 100px;z-index:1}.login-story p{font-size:15px;color:#a2bfaa;line-height:2}.features{display:flex;gap:35px;margin-top:65px;color:#7ca085;font-size:10px}.features b{display:block;color:#c2d6c1;font-size:11px;font-weight:400;margin-top:12px}.login-story footer{display:flex;justify-content:space-between;font-size:9px;color:#94ad95}.login-panel{flex:1;display:flex;align-items:center;justify-content:center;background:#fcfdfb;padding:40px;position:relative}.login-panel form{width:350px}.login-panel h2{font-size:28px;font-weight:600;margin:11px 0 9px}.login-panel .muted{font-size:11px;margin-bottom:35px}.password-wrap{display:block;position:relative}.password-wrap input{padding-right:55px}.password-wrap button{position:absolute;right:13px;top:21px}.login-submit{width:100%;justify-content:space-between;padding:13px 17px;font-size:13px;margin-top:10px}.login-note{text-align:center;font-size:10px;color:#97a18e;margin-top:25px}.login-bottom{position:absolute;bottom:26px;color:#adb6a6;font-size:9px}.error{color:var(--red);font-size:12px;min-height:15px;margin:8px 0}.layout{display:flex;min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:238px;background:var(--deep);color:#d7e5d2;padding:28px 18px 16px;display:flex;flex-direction:column;z-index:30}aside .brand{padding-left:6px}.side-caption{font-size:9px;letter-spacing:2px;color:#759880;margin:40px 12px 12px}.space-label{font-size:12px;padding:10px 12px;border-bottom:1px solid #ffffff0e;color:#bdd1ba}.side-title{display:flex;justify-content:space-between;font-size:10px;color:#809f83;margin:28px 12px 14px}.side-title>span{background:#ffffff0b;padding:0 6px;border-radius:4px}#sheetTabs{display:flex;flex-direction:column;gap:6px}.sheet-tab{display:flex;width:100%;align-items:center;text-align:left;padding:11px 12px;gap:10px;background:transparent;color:#a9c4ab;border:1px solid transparent;border-radius:7px;font-size:12px}.tab-avatar{width:27px;height:27px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#ffffff0c;font-size:11px}.tab-count{margin-left:auto;font-size:9px;opacity:.6}.sheet-tab.active{background:#ffffff12;color:#edf7e5;border-color:#ffffff12}.sheet-tab.active:after{content:"";width:5px;height:5px;background:#c2d9a5;border-radius:50%}.sheet-tab.active .tab-avatar{background:#acd29b22;color:#d6e7bb}.side-bottom{margin-top:auto;padding-top:30px}.side-tip{padding:14px;background:#ffffff05;border:1px solid #ffffff09;border-radius:7px;margin-bottom:17px;color:#8fa88e}.side-tip b{font-size:10px;font-weight:500;color:#b8cbb0}.side-tip p{font-size:10px;line-height:1.9;margin:6px 0 0}.side-action{display:flex;align-items:center;width:100%;padding:10px;background:transparent;color:#bbd0b4;font-size:12px;margin-bottom:10px}.side-action span{margin-left:auto}.user-card{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:#e7f0de;border-top:1px solid #ffffff12;padding:16px 4px 8px;text-align:left}.avatar{display:flex;align-items:center;justify-content:center;width:31px;height:31px;background:#bfceab;color:#23482c;border-radius:50%;font-size:12px}.user-card strong{display:block;font-size:11px;font-weight:500}.user-card small{display:block;font-size:9px;color:#80a080}.gear{margin-left:auto;color:#7d9f7c}.logout{background:transparent;color:#769572;font-size:10px;padding:6px 3px;margin-left:41px}.workspace{margin-left:238px;width:calc(100% - 238px);min-width:0}.topbar{height:65px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.breadcrumbs{display:flex;align-items:center;gap:17px;font-size:11px;color:#92a08a}.breadcrumbs b{font-weight:500;color:#5c6e52}.slash{color:#c7d1bf}.topbar-right{display:flex;gap:22px;align-items:center;font-size:10px;color:#a0ab96}.save-state{background:transparent;font-size:10px;color:#6b8864;padding:0}.save-state.error-state{color:var(--red)}main{padding:30px 32px 15px;max-width:2000px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.page-heading h1{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:600;margin:7px 0;letter-spacing:.5px}.page-heading .muted{font-size:11px;margin-bottom:0}.version{font-size:9px;font-weight:400;color:#96a28b;border:1px solid #dce5d5;padding:1px 6px;border-radius:4px;letter-spacing:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.metrics article{display:flex;align-items:center;gap:14px;padding:19px 20px;background:white;border:1px solid var(--border);border-radius:9px}.metric-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:9px;background:#edf4e7;color:#7b9970;font-size:20px}.amber{background:#faf4e6!important;color:#b6a16e!important}.blue{background:#eef3f9!important;color:#8e9fb8!important}.metrics small{display:block;font-size:10px;color:#95a08a;margin-bottom:2px}.metrics strong{font-size:25px;line-height:1.4;font-weight:550}.metric-tag{margin-left:auto;font-size:9px;background:#f1f6ec;color:#99a88b;padding:2px 7px;border-radius:4px;white-space:nowrap}.table-card{background:white;border:1px solid #e0e7dc;border-radius:9px;overflow:hidden;box-shadow:0 3px 12px #273f2c03}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 20px}.toolbar-title{display:flex;gap:10px;align-items:center;white-space:nowrap}.toolbar-title b{font-size:13px;font-weight:600}.count-pill{background:#f0f4eb;color:#97a28c;font-size:10px;padding:1px 7px;border-radius:4px}.table-actions{display:flex;gap:8px;align-items:center}.search{width:230px;position:relative}.search>span{position:absolute;left:11px;top:3px;font-size:23px;color:#a1ae96}.search input{padding:8px 10px 8px 33px;font-size:10px;background:#fcfdf9;border-color:var(--border)}.table-hint{display:flex;justify-content:space-between;align-items:center;font-size:9px;background:#fcfdf9;color:#95a18b;padding:9px 20px;border-top:1px solid #f1f4ed;border-bottom:1px solid var(--border)}.table-hint i{display:inline-block;width:7px;height:7px;background:#cce2cc;margin-right:7px;border-radius:2px}.table-scroll{overflow:auto;max-height:calc(100vh - 420px);min-height:300px;scrollbar-width:thin;scrollbar-color:#c8d7bf #f7f9f2;overscroll-behavior:contain}table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:11px}thead{position:sticky;top:0;z-index:8}th,td{border-right:1px solid #ebf0e7;border-bottom:1px solid #ebf0e7;padding:11px 12px;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left}th{background:#f2f6ec;color:#718067;font-size:10px;font-weight:500;vertical-align:middle}.group-row th{padding:7px 12px;background:#eaf0e3;letter-spacing:1px;text-align:center;border-bottom-color:#dfe8d7}.group-row .adjust-head,.adjust-head{background:#e1eeda}.head-label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}.header-menu{font-size:14px;padding:0 3px;opacity:.7;background:transparent;color:#9fac90}td{height:46px;background:white;vertical-align:top;color:#6c7a5f}tbody tr:nth-child(even) td{background:#fcfdf9}tbody tr:hover td{background:#f4f8ee}td.cell{cursor:text}td.cell:focus{outline:2px solid #76a282;outline-offset:-2px;z-index:5}td.cell[data-saving="true"]{background:#fff7df!important}td.adjust{background:#f0f8eb;color:#4f7a42}tbody tr:nth-child(even) td.adjust{background:#edf6e6}td.error-cell{box-shadow:inset 0 0 0 2px #c87d67;background:#fff4eb!important}.row-index{position:sticky;left:0;z-index:4;width:46px;min-width:46px;max-width:46px;text-align:center;color:#a5b098;font-size:10px;background:#f8faf4!important;padding:11px 4px}.row-menu-btn{background:none;color:inherit;font-size:inherit;padding:0;width:100%}.first-col{position:sticky;left:46px;z-index:3;background:#fbfdf7!important;color:#7b8d6a!important;font-size:10px}.name-col{font-weight:500;color:#425b35}thead .row-index,thead .first-col{z-index:9;background:#f2f6ec!important}.table-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;border-top:1px solid var(--border);font-size:10px;color:#9faa92}.pagination{display:flex;align-items:center;gap:12px}.pagination .secondary{font-size:10px;padding:5px 9px}.workspace-footer{display:flex;justify-content:space-between;font-size:9px;color:#a8b29c;margin-top:21px}.notice{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff9e9;border:1px solid #eee2ba;border-radius:7px;color:#9d8454;font-size:11px;padding:10px 14px;margin-bottom:18px}.danger{background:#fff3ec;border-color:#eed4c5;color:#a0674d}.notice .text-btn{white-space:nowrap}.empty{text-align:center;padding:50px;color:#a0ac93}.empty>span{font-size:32px}.empty h3{font-size:15px;font-weight:500;margin:8px}.empty p{font-size:12px}.context-menu{position:fixed;z-index:100;background:white;border:1px solid #dfe7d7;border-radius:8px;padding:5px;box-shadow:0 8px 35px #153e3520;min-width:190px}.context-menu button{display:block;width:100%;text-align:left;background:transparent;color:#59744b;font-size:12px;padding:10px 12px;border-radius:4px}.context-menu button:hover{background:#f0f6e8}.menu-caption{font-size:9px;color:#a3ae94;padding:5px 12px}dialog{border:1px solid var(--border);border-radius:12px;width:min(780px,calc(100% - 30px));padding:0;max-height:90vh;box-shadow:0 25px 100px #143e3533;color:var(--text)}dialog::backdrop{background:#132b2673;backdrop-filter:blur(3px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:23px 28px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:21px;margin:5px 0 0}#modalBody{padding:22px 28px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid label{margin-top:10px}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.check-grid label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:12px;margin:0;padding:9px 12px;background:#f6f9f0;border:1px solid #e8eee0;border-radius:5px}input[type="checkbox"]{width:auto;margin:0;accent-color:var(--green)}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.admin-toolbar p{margin:0}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;table-layout:auto;font-size:12px}.admin-table th{background:#f3f7ec}.admin-table td{white-space:nowrap;vertical-align:middle;font-size:11px;padding:12px 10px;height:auto}.role-pill{background:#eef4e5;color:#79945f;border-radius:4px;padding:2px 6px;font-size:10px}.disabled-pill{color:#b38a66;background:#fbf0e5}.admin-tabs{display:flex;gap:18px;border-bottom:1px solid var(--border);margin-bottom:20px}.admin-tabs button{background:transparent;color:#9aa78d;padding:0 0 10px;font-size:12px}.admin-tabs button.selected{border-bottom:2px solid var(--green);color:var(--green)}.log-item{padding:11px 0;border-bottom:1px solid var(--border);font-size:11px;display:flex;justify-content:space-between;gap:15px}.log-item time{color:#9fa990;white-space:nowrap}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#34542d;color:white;padding:12px 21px;border-radius:8px;z-index:150;box-shadow:0 8px 30px #173a3425;font-size:12px;max-width:90%;white-space:pre-wrap}.toast-error{background:#985d43}.form-error{color:var(--red);font-size:12px;margin-top:15px}.no-sheets{font-size:11px;padding:15px;color:#9ab38b}.conflict{border:1px solid var(--border);border-radius:7px;padding:15px;margin-bottom:12px}.conflict p{font-size:12px;word-break:break-word;margin-bottom:7px}.conflict .modal-actions{margin-top:12px}.mobile-only{display:none}
@media(max-width:1180px){.metric-tag{display:none}.metrics article{padding:17px}.table-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.table-actions{width:100%}.search{flex:1}.table-scroll{max-height:calc(100vh - 460px)}main{padding:25px 22px}.topbar{padding:0 24px}aside{width:218px;padding-left:14px;padding-right:14px}.workspace{margin-left:218px;width:calc(100% - 218px)}.brand{font-size:15px}.features{gap:15px}.login-story{padding:35px}}
@media(max-width:800px){aside{transform:translateX(-100%);transition:transform .2s;width:238px;box-shadow:8px 0 30px #1c34292b}aside.open{transform:translateX(0)}.workspace{margin-left:0;width:100%}.mobile-only{display:inline-block}.topbar{height:58px;padding:0 16px}.breadcrumbs{gap:10px}.topbar-right #today{display:none}main{padding:24px 16px}.page-heading h1{font-size:21px}.page-heading .secondary{font-size:10px;padding:7px 10px}.metrics{gap:10px}.metrics article{gap:8px;padding:14px 10px}.metric-icon{width:30px;height:30px;font-size:17px}.metrics small{font-size:9px}.metrics strong{font-size:22px}.table-actions{flex-wrap:wrap}.search{min-width:100%;margin-bottom:2px}.table-toolbar{padding:15px}.table-hint{padding:8px 15px}.table-scroll{max-height:60vh;min-height:320px}.table-footer{padding:12px;font-size:9px}.workspace-footer{font-size:8px}.login-story{width:44%;padding:30px}.login-story h1{font-size:31px}.features{flex-direction:column;gap:12px;margin-top:35px}.features b{margin-top:4px}.login-panel{padding:30px}.login-panel form{width:100%}.login-panel h2{font-size:25px}.notice{font-size:10px}}
@media(max-width:540px){.login-story{display:none}.login-panel{min-height:100dvh;padding:40px 30px}.login-panel form{max-width:350px}.login-panel h2{font-size:28px}.login-panel .muted{font-size:12px}.metrics{gap:7px;margin-bottom:18px}.metrics article{display:block;padding:11px}.metric-icon{display:none}.metrics small{font-size:8px}.metrics strong{font-size:23px}.page-heading{margin-bottom:17px;align-items:flex-start}.page-heading h1{font-size:19px;gap:6px}.page-heading .eyebrow{font-size:8px;letter-spacing:1px}.page-heading .muted{font-size:10px;max-width:210px}.page-heading .secondary{margin-top:24px;padding:6px 8px;font-size:9px}.table-actions{gap:6px}.table-actions .primary,.table-actions .secondary{padding:7px 11px;font-size:10px}.table-hint>span:last-child{max-width:160px;text-align:right}.table-footer{align-items:flex-start;flex-direction:column}.pagination{width:100%;justify-content:space-between}.workspace-footer>span:last-child{display:none}.form-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr 1fr}#modalBody,.modal-header{padding:18px}.admin-toolbar{gap:10px}.admin-toolbar p{font-size:10px}.save-state{font-size:9px}.notice{align-items:flex-start}}

/* Workbook presentation. The navigation sidebar retains its original design. */
.workspace{background:#fff;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
.workspace .topbar{height:42px;padding:0 14px;border-color:#c6d0d6}
.workspace .breadcrumbs{gap:12px;font-size:12px;color:#697784}
.workspace .breadcrumbs b{color:#344755}
.workspace .topbar-right{font-size:11px;color:#697784}
.workspace .save-state{font-size:11px;color:#42685b}
.workspace main{padding:0;max-width:none;margin:0;height:calc(100dvh - 42px);display:flex;flex-direction:column;min-height:0}
.workspace .page-heading,.workspace .metrics,.workspace .table-hint,.workspace .workspace-footer{display:none}
.workspace .notice{flex-shrink:0;margin:6px 8px;font-size:11px;padding:6px 10px;border-radius:2px}
.workspace .table-card{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;border:0;border-radius:0;box-shadow:none}
.workspace .table-toolbar{display:flex;flex-direction:row;padding:7px 10px;gap:8px;flex-shrink:0;border-bottom:1px solid #a3b2be;background:#f4f6f8;min-height:44px}
.workspace .toolbar-title{display:none}
.workspace .table-actions{display:flex;width:100%;gap:8px;align-items:center;flex-wrap:nowrap}
.workspace .search{flex:0 1 290px;width:290px;min-width:170px;margin:0 auto 0 0}
.workspace .search input{font-size:12px;padding:6px 10px 6px 30px;background:white;border-color:#c7d0d6;border-radius:3px;height:30px}
.workspace .search>span{top:-1px;left:8px;color:#697784}
.workspace .primary,.workspace .secondary{height:30px;padding:5px 11px;font-size:11px;border-radius:3px;box-shadow:none}
.workspace .primary{background:#465a68;color:#fff}
.workspace .secondary{color:#465a68;border-color:#c7d0d6}
.workspace .text-btn{color:#426b7a}
.workspace .table-scroll{flex:1;min-height:0;height:auto;max-height:none;scrollbar-width:auto;scrollbar-color:#b5c1c8 #eef1f3;background:white;overflow:auto}
.workspace .table-footer{min-height:27px;padding:3px 9px;flex-shrink:0;flex-direction:row;align-items:center;background:#f4f6f8;border-top:1px solid #a3b2be;color:#556473;font-size:10px}
.workspace .table-footer .secondary{height:22px;padding:1px 7px;font-size:10px}
.workspace .pagination{width:auto;gap:8px}
.excel-sheet{table-layout:fixed;border-collapse:separate;border-spacing:0;font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:12px;line-height:15px;color:#344755;isolation:isolate}
.excel-sheet thead{position:sticky;top:0;z-index:12}
.excel-sheet th,.excel-sheet td{box-sizing:border-box;position:relative;padding:1px 4px;white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:0;border:0;border-bottom:1px dashed #a3b2be;border-right:1px dashed #a3b2be;line-height:15px;text-align:center;vertical-align:middle;font-size:12px;min-height:0}
.excel-sheet td{font-weight:400;background:white}
.excel-sheet tbody tr:nth-child(even) td,.excel-sheet tbody tr:hover td{background:inherit}
.excel-sheet th{font-weight:700;background:#465a68;color:white}
.excel-sheet .sheet-title{padding:0 10px;line-height:1.2;text-align:left!important;font-size:21.3333px;background:#243746!important;overflow:visible}
.excel-sheet .sheet-title>div{position:sticky;left:46px;width:max-content;max-width:calc(100vw - 285px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.excel-sheet .header-text{display:block;white-space:pre-wrap;line-height:15px}
.excel-sheet .header-menu{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:1px 2px;line-height:16px;font-size:12px;background:transparent;color:inherit;opacity:0}
.excel-sheet th:hover .header-menu,.excel-sheet .header-menu:focus-visible{opacity:.75}
.excel-sheet .row-index{position:sticky;left:0;z-index:9;width:36px;min-width:36px;max-width:36px;padding:0 2px;background:#eef1f3!important;color:#697784!important;border:0!important;border-right:1px solid #a3b2be!important;border-bottom:1px solid #c6d0d6!important;font:11px/15px "Microsoft YaHei",sans-serif;text-align:center}
.excel-sheet .sheet-corner{z-index:16;background:#e5eaee!important}
.excel-sheet .frozen-cell{position:sticky;z-index:5}
.excel-sheet thead .frozen-cell{z-index:14}
.excel-sheet .cell-text{display:block;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:15px}
.excel-sheet .cell:focus{z-index:10;outline:2px solid #527e8d;outline-offset:-2px;white-space:pre-wrap}
.excel-sheet .cell[data-saving="true"]{box-shadow:inset 0 -2px 0 #a08b65}
.excel-sheet .cell.error-cell{box-shadow:inset 0 0 0 2px #b75549}
@media(max-width:800px){.workspace .topbar{height:42px;padding:0 9px}.workspace .breadcrumbs{gap:7px}.workspace .table-toolbar{padding:6px 8px}.workspace .table-actions{gap:6px;flex-wrap:wrap}.workspace .search{flex:1 1 100%;width:auto;min-width:100%;margin-bottom:1px}.workspace .table-footer{font-size:9px}.excel-sheet .sheet-title>div{max-width:calc(100vw - 65px)}.excel-sheet .header-menu{opacity:.55}}
@media(max-width:540px){.workspace .table-actions .primary,.workspace .table-actions .secondary{font-size:11px;padding:4px 10px}.workspace .table-footer{flex-direction:row;gap:6px}.workspace .table-footer .pagination{gap:4px}.excel-sheet .sheet-title{font-size:21.3333px}}

/* Save/export stay in the visible toolbar above the scrolling sheet. */
.excel-sheet .column-letters-row{height:24px}
.excel-sheet .column-letters-row th{height:24px;padding:2px 4px;background:#e7edf1!important;color:#506371!important;border-right:1px solid #bdc9d1;border-bottom:1px solid #a3b2be;font:11px/19px "Microsoft YaHei",sans-serif;white-space:nowrap;text-align:center;vertical-align:middle}
.excel-sheet .column-letters-row .column-letter-corner{z-index:16;background:#dce5eb!important}
.workspace .commit-actions{display:flex;align-items:center;gap:7px;border-left:1px solid #c7d0d6;padding-left:10px;flex-shrink:0}
.workspace #saveBtn{background:#2f6356;border:1px solid #2f6356;min-width:79px;font-weight:600}
.workspace #saveBtn:hover{background:#254f45}
.workspace .formula-bar{height:29px;min-height:29px;display:flex;align-items:center;gap:0;border-bottom:1px solid #b8c4cd;background:#fff;color:#596d79;font:11px "Microsoft YaHei",sans-serif}
.workspace .cell-address{width:61px;min-width:61px;text-align:center;border-right:1px solid #d4dde3;line-height:28px;color:#344755;font-variant-numeric:tabular-nums}
.workspace .fx-label{font:italic 15px Georgia,serif;padding:0 10px;color:#81939d}
.workspace #formulaPreview{border:0;outline:0;box-shadow:none;padding:3px 5px;margin:0;min-width:0;flex:1;height:27px;background:transparent;font:11px "Microsoft YaHei",sans-serif;color:#344755}
.workspace .snapshot-label{font-size:10px;padding:3px 9px;background:#f5f1e7;color:#866b38;white-space:nowrap;border-left:1px solid #e6dfcc}
.excel-sheet .cell.formula-cell::after{content:"";position:absolute;top:1px;right:1px;border-top:4px solid #6c9487;border-left:4px solid transparent;pointer-events:none}
.excel-sheet .cell.formula-error{color:#b44f3e!important}
@media(max-width:1100px) and (min-width:801px){.workspace .search{flex:1 1 170px;min-width:130px}.workspace .table-actions{gap:5px}.workspace .table-actions .secondary,.workspace .table-actions .primary{padding:5px 7px}.workspace .commit-actions{padding-left:6px;gap:5px}}
@media(max-width:800px){.workspace .commit-actions{margin-left:auto;padding-left:8px}.workspace .formula-bar{height:28px;min-height:28px}.workspace .snapshot-label{font-size:9px;padding:3px 6px}}
@media(max-width:430px){.workspace .table-actions{gap:5px}.workspace .table-actions .secondary,.workspace .table-actions .primary{font-size:10px;padding:4px 7px}.workspace .commit-actions{gap:5px;padding-left:6px}.workspace #saveBtn{min-width:65px}.workspace .snapshot-label{max-width:96px;overflow:hidden;text-overflow:ellipsis}}

.workspace .erp-status{flex-shrink:0;height:24px;margin:0 5px;padding:2px 8px;border:1px solid #bdd4d2;border-radius:3px;background:#edf5f2;color:#35685c;font:10px "Microsoft YaHei",sans-serif;white-space:nowrap;cursor:pointer}
.workspace .erp-status-warning{background:#faf3e6;border-color:#e2d4b8;color:#8c6c34}
.excel-sheet .cell.erp-cell::before{content:"";position:absolute;left:1px;top:1px;border-top:4px solid #4e90a1;border-right:4px solid transparent;pointer-events:none}
.excel-sheet .cell.erp-uncertain::before{border-top-color:#b88d47}
.excel-sheet .cell::before,.excel-sheet .cell::after{content:none!important;display:none!important;border:0!important}
.excel-sheet .cell.erp-cell:focus{outline:2px solid #7b9faa;outline-offset:-2px}
.erp-panel{font-size:13px}.erp-time{padding:8px 10px;background:#f0f5f4;border-radius:4px;color:#416b60}.erp-mapping{border:1px solid #dbe3e6;border-radius:5px;overflow:hidden;margin:14px 0}.erp-mapping-row{display:grid;grid-template-columns:72px 145px 1fr;gap:9px;padding:9px 10px;border-bottom:1px solid #e6ecee;align-items:start;font-size:12px}.erp-mapping-row:last-child{border-bottom:0}.erp-mapping-row code{font-size:11px;color:#497182}.erp-mapping-row b{font-size:12px}.erp-evidence{margin:14px 0}.erp-evidence summary{cursor:pointer;color:#497182;font-size:12px}.erp-evidence p{margin:7px 0;font-size:11px}.erp-source{font-size:10px;color:#71818a;overflow-wrap:anywhere}.erp-settings{border-top:1px solid #dce5e5;padding-top:16px;margin-top:14px}
@media(max-width:600px){.erp-mapping-row{grid-template-columns:65px 1fr}.erp-mapping-row>span{grid-column:2}.workspace .erp-status{max-width:130px;overflow:hidden;text-overflow:ellipsis;padding:2px 5px}.workspace .snapshot-label{display:none}}

.excel-sheet .virtual-spacer,.excel-sheet .virtual-spacer td{padding:0!important;border:0!important;line-height:0!important;min-height:0!important;background:transparent!important;pointer-events:none}
.workspace .table-scroll{overflow-anchor:none}

/* Compact headers, explicit column controls, and collapsible personnel navigation. */
.excel-sheet .excel-header-row th{white-space:pre;overflow-wrap:normal;padding:2px 4px}
.excel-sheet .header-text{white-space:pre;overflow-wrap:normal}
.excel-sheet .column-letter{position:relative;padding-right:20px!important}
.excel-sheet .column-filter{position:absolute;right:1px;top:2px;width:18px;height:19px;padding:0;background:transparent;color:#637d89;font:12px/19px sans-serif;border-radius:3px}
.excel-sheet .column-filter:hover,.excel-sheet .active-filter{background:#c9ded4;color:#1d5743}
.excel-sheet tr.price-warning td{background:#fff0ef!important;color:#a82b29!important}
.excel-sheet tr.price-warning .slow-index{box-shadow:inset 3px 0 #c84842}
.excel-sheet .cell-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-collapse{position:absolute;right:5px;top:9px;padding:2px 7px;background:#ffffff18;color:#e1eadf;font-size:21px}
.nav-reveal{display:none}
@media(min-width:801px){
 #sidebar{transition:transform .18s ease;z-index:40}
 .workspace{transition:margin-left .18s ease,width .18s ease}
 .layout.nav-collapsed #sidebar{transform:translateX(calc(-100% + 8px))}
 .layout.nav-collapsed #sidebar:hover,.layout.nav-collapsed #sidebar.peek,.layout.nav-collapsed #sidebar:focus-within{transform:translateX(0);box-shadow:8px 0 24px #153e3429}
 .layout.nav-collapsed .workspace{margin-left:8px;width:calc(100% - 8px)}
 .layout.nav-collapsed .nav-reveal{display:block;position:fixed;z-index:39;left:0;top:40%;width:14px;padding:18px 0;background:#2f6356;color:white;border-radius:0 4px 4px 0}
}
@media(prefers-reduced-motion:reduce){#sidebar,.workspace{transition:none!important}}

.excel-sheet .excel-header-row .header-menu{display:none}

@media(min-width:801px){.layout.nav-collapsed.nav-close-click #sidebar:hover{transform:translateX(calc(-100% + 8px))}}
@media(pointer:coarse){.excel-sheet .column-filter{width:24px;height:24px;top:0}.excel-sheet .column-letter{padding-right:26px!important}}

/* Compact monthly bands with complete product information and alternating accounts. */
.excel-sheet td[data-info] .cell-text{white-space:pre-wrap;overflow-wrap:anywhere;overflow:visible;text-overflow:clip;line-height:16px;text-align:left}
.excel-sheet td[data-account="haikou"]{background:#c7dff6!important;color:#234a69!important}
.excel-sheet td[data-account="sanya"]{background:#e0edb8!important;color:#3f5421!important}
.excel-sheet td[data-account="combined"]{background:#dfeaf0!important;color:#365e6e!important;font-weight:700!important}
.excel-sheet td[data-summary="true"][data-account="haikou"]{background:#acccec!important;font-weight:600!important}
.excel-sheet td[data-summary="true"][data-account="sanya"]{background:#cadf96!important;font-weight:600!important}
.excel-sheet th[data-account="haikou"]{background:#386d93!important;color:#fff!important}
.excel-sheet th[data-account="sanya"]{background:#52712d!important;color:#fff!important}
.excel-sheet th[data-account="combined"]{background:#426b7a!important;color:#fff!important}
.excel-sheet .cell{padding:2px 5px}
.excel-sheet .row-index{width:32px;min-width:32px;max-width:32px}
.excel-sheet .sheet-title{font-size:18px!important}
.excel-sheet tr.price-warning td[data-account]{background:#fff0ef!important;color:#a82b29!important}

.excel-sheet .column-letter{padding-right:4px!important}
.excel-sheet th.has-column-filter{padding-bottom:18px!important}
.excel-sheet .column-filter{position:absolute;right:1px;top:auto;bottom:1px;width:17px!important;height:16px!important;padding:0!important;background:#fff;color:#28634f;border:1px solid #d5dde1;border-radius:0;font:16px/13px sans-serif;box-shadow:inset 0 -1px #edf1f3}
.excel-sheet .column-filter.active-filter{background:#d8eee2;color:#1b6547;border-color:#82af98}
.column-filter-card{position:fixed;z-index:120;width:min(286px,calc(100vw - 16px));padding:14px;border:1px solid #cad5db;border-radius:9px;background:#fff;box-shadow:0 8px 30px #24374624;color:#344755;font-size:12px}
.filter-card-title{padding-right:20px;font-weight:600;font-size:12px;line-height:1.5;margin-bottom:12px}
.filter-card-close{position:absolute;right:8px;top:7px;background:transparent;color:#7d8a91;font-size:20px;line-height:24px;padding:0 5px}
.filter-card-sorts{display:flex;gap:8px;padding-bottom:12px;border-bottom:1px solid #e5ebee}
.filter-card-sorts button{flex:1;font-size:12px;padding:5px 8px;height:30px}
.filter-card-sorts .selected{background:#e5f1eb;border-color:#82ad97;color:#23634b}
.column-filter-card label{font-size:11px;margin:12px 0 0}
.column-filter-card input{font-size:12px;padding:8px;margin-top:6px;border-radius:4px}
.filter-card-note{font-size:10px;color:#84939b;margin:7px 0 12px}
.filter-card-actions{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #e5ebee;padding-top:12px}
.filter-card-actions button{font-size:11px;padding:5px 12px;height:30px}
.excel-sheet .column-letter.frozen-cell{position:sticky}
.excel-sheet tbody .row-index{height:auto}

/* Center the worksheet, including product text, while retaining wrapping. */
.workspace .excel-sheet th,.workspace .excel-sheet td,.workspace .excel-sheet .cell-text{ text-align:center!important;vertical-align:middle!important }
.workspace .excel-sheet .sheet-title>div{text-align:left!important;left:70px;width:calc(100vw - 285px);max-width:calc(100vw - 285px)}
.layout.nav-collapsed .workspace .excel-sheet .sheet-title>div{width:calc(100vw - 65px);max-width:calc(100vw - 65px)}
@media(max-width:800px){.workspace .excel-sheet .sheet-title>div{width:calc(100vw - 65px);max-width:calc(100vw - 65px)}}
.workspace .table-actions{flex-wrap:wrap}
.workspace .table-actions>.secondary{flex-shrink:0}
.deleted-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e5ebee}
.deleted-item span{overflow-wrap:anywhere;font-size:12px}

/* One shared statistics area, with a keyboard-accessible header switch. */
.excel-sheet th.statistics-toggle-header{padding:0!important;cursor:pointer}
.statistics-switch{display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:24px;cursor:pointer;text-align:center}
.statistics-switch-label{display:block;position:sticky;white-space:pre;overflow:hidden;text-overflow:ellipsis;padding:0 7px;font-size:11px;line-height:12px}
.statistics-switch:hover{background:#ffffff18;filter:none}
.statistics-switch:focus-visible{outline:2px solid #f0ce70;outline-offset:-2px}
.excel-sheet td[data-today="true"]{color:#b4232c!important;font-weight:700!important}
.excel-sheet th[data-today="true"]{background:#fbe1e3!important;color:#a61e29!important;font-weight:700!important}
.excel-sheet th[data-today="true"][data-account="sanya"]{background:#fbe8cb!important}
.pending-brand{padding:10px 0 16px;border-bottom:1px solid #dce5e5}
.pending-brand details{font-size:12px;margin-top:8px}
.excel-sheet tr.price-warning td[data-account="haikou"]{background:#f0d8e8!important;color:#a82b29!important}
.excel-sheet tr.price-warning td[data-account="sanya"]{background:#ffe2cc!important;color:#a82b29!important}
.excel-sheet .row-index{width:60px;min-width:60px;max-width:60px}
.row-selector{display:flex;align-items:center;justify-content:center;gap:4px;height:100%;padding:0 3px}
.excel-sheet .row-select-checkbox,.excel-sheet .select-filtered-checkbox{width:14px;height:14px;margin:0;box-shadow:none;accent-color:var(--green);cursor:pointer;flex:none}
.row-selector .row-menu-btn{width:auto;min-width:24px;flex:1;font-variant-numeric:tabular-nums}
.excel-sheet tr.product-selected .selection-index{background:#deecdf!important}
#clearSelectionBtn{padding:5px 7px;font-size:11px}

.excel-sheet .selection-gutter-title{display:inline-block;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:3px;line-height:1.25;vertical-align:middle}

/* Clear navigation controls, immediate filters, and segmented statistics switching. */
.nav-toggle{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid #87ae9b;border-radius:5px;background:#e7f2eb;color:#205d48;font-size:12px;font-weight:650;white-space:nowrap}
.nav-toggle:hover{background:#d9eadf;filter:none}
.side-collapse{position:static;display:block;flex-shrink:0;width:100%;margin-top:18px;padding:7px 10px;background:#e3efdf;color:#204e3d;border:1px solid #b0c8aa;border-radius:5px;font-size:12px;font-weight:650;text-align:center}
.navigation-hint{margin:5px 0 0;text-align:center;font-size:10px;color:#b8d1c0}
#sidebar .side-caption{margin-top:18px}
#sheetTabs{min-height:0;overflow-y:auto}
#sidebar .side-bottom{flex-shrink:0}
@media(min-width:801px){.layout.nav-collapsed .nav-reveal{top:160px;width:30px;padding:10px 5px;font-size:11px;line-height:17px;white-space:pre-line;box-shadow:2px 2px 8px #173d3529}}
.filter-card-actions{justify-content:center}
.filter-card-actions .primary{min-width:124px;font-size:12px;font-weight:600;height:32px}
.excel-sheet .freeze-boundary{border-right:2px solid #829ca9!important}
.excel-sheet th.statistics-toggle-header{cursor:default}
.statistics-switch{display:flex;position:sticky;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:44px;padding:2px 4px;background:transparent;cursor:default;line-height:normal;box-sizing:border-box}
.statistics-segments{position:relative;display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:300px;height:28px;min-height:28px;border:1px solid #b1c8c6;border-radius:7px;padding:2px;background:#213f4c}
.statistics-segments:before{content:'';position:absolute;left:2px;top:2px;bottom:2px;width:calc(50% - 3px);border-radius:4px;background:#e4f0cf;box-shadow:0 1px 3px #102d3330;transition:transform .16s ease;pointer-events:none}
.statistics-segments[data-mode='customers']:before{transform:translateX(calc(100% + 2px))}
.statistics-option{position:relative;z-index:1;background:transparent;border:0;border-radius:4px;padding:1px 3px;color:#eff7f2;font-size:11px;line-height:20px;font-weight:600;white-space:nowrap}
.statistics-option[aria-pressed='true']{color:#294a35;font-weight:750}
.statistics-option:hover{filter:none;background:#ffffff0c}
.statistics-option:focus-visible{outline:2px solid #f0ce70;outline-offset:-1px}
.statistics-switch-hint{font-size:9px;line-height:10px;color:#e2eee7;white-space:nowrap;letter-spacing:.2px}
@media(prefers-reduced-motion:reduce){.statistics-segments:before{transition:none}}

.freeze-badge{flex:none;padding:2px 7px;margin-right:7px;border:1px solid #cad9df;border-radius:4px;background:#edf3f6;color:#4b6b7b;font-size:10px;white-space:nowrap}

#sidebar .space-label{margin:8px 0 12px;padding:10px 5px}
#sidebar .side-title{margin-bottom:8px}
#sidebar .side-tip{padding:10px;font-size:10px;line-height:1.5}
#sidebar .side-tip p{margin:5px 0 0;font-size:10px;line-height:1.5}
#sidebar .side-action{margin-top:10px}

#sidebar .side-caption,#sidebar .space-label{display:none}
#sidebar .side-title{margin-top:20px}
#sidebar .sheet-tab{padding:7px 10px;gap:9px}
#sidebar .tab-avatar{width:26px;height:26px;min-width:26px}
#sidebar .side-bottom{padding-top:12px}

#sidebar .side-tip.price-guide{background:#fff4f0;color:#77312b;border:1px solid #f2aaa0;border-left:4px solid #dd594a;border-radius:10px;padding:13px 12px;box-shadow:0 4px 16px #082a241a}#sidebar .price-guide-title{display:flex;align-items:center;gap:7px;color:#a82b29;font-size:12px}#sidebar .price-guide-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c93832;box-shadow:0 0 0 3px #f5d3cd;flex-shrink:0}#sidebar .side-tip.price-guide p{font-size:11px;line-height:1.8;margin:9px 0;color:#77312b}#sidebar .price-guide-action{display:block;font-size:11px;font-weight:700;background:#ffe0d8;padding:6px 8px;border-radius:5px;color:#a42b27;text-align:center}

#sidebar .side-tip.price-guide .price-guide-title b{color:#a82b29;font-size:12px;font-weight:750}#sidebar .side-tip.price-guide .price-guide-action{white-space:nowrap;font-size:11px}

/* Keep the seven personnel choices visible; the full warning copy stays readable. */
#sidebar .side-tip.price-guide{padding:8px 9px;border-radius:7px;border-left-width:3px;box-shadow:none}
#sidebar .side-tip.price-guide .price-guide-title b{font-size:11px}
#sidebar .side-tip.price-guide p{font-size:10px;line-height:1.45;margin:5px 0}
#sidebar .side-tip.price-guide .price-guide-action{background:transparent;padding:2px 0 0;font-size:10px;text-align:left;border-top:1px solid #f5d2ca;border-radius:0}
#sidebar .price-guide-dot{width:7px;height:7px;box-shadow:0 0 0 2px #f5d3cd}
#sidebar #sheetTabs{gap:3px;flex-shrink:0;overflow-y:visible}
#sidebar .sheet-tab{padding:4px 8px;gap:7px;min-height:34px}
#sidebar .tab-avatar{width:24px;height:24px;min-width:24px}
#sidebar .side-title{margin-top:12px;margin-bottom:6px}
#sidebar .side-collapse{margin-top:12px}
#sidebar .side-bottom{padding-top:8px}
#sidebar .side-action{padding:7px;margin-top:6px;margin-bottom:6px}
#sidebar .user-card{padding-top:10px}

/* One compact toolbar row; narrow windows scroll horizontally instead of wrapping. */
.workspace .table-toolbar{overflow-x:auto;overflow-y:hidden;min-width:0;padding:6px 10px}
.workspace .table-toolbar .table-actions{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;width:max-content;min-width:max-content;max-width:none}
.workspace .table-toolbar .search{flex:0 0 clamp(190px,18vw,280px);width:clamp(190px,18vw,280px);min-width:190px;max-width:280px;margin:0}
.workspace .table-toolbar .commit-actions{display:contents}
.workspace .table-toolbar button{flex-shrink:0;white-space:nowrap;margin-top:0}

/* Keep the search at left and all action buttons aligned against the right edge. */
.workspace .table-toolbar .table-actions{width:100%;min-width:max-content;justify-content:flex-end}
.workspace .table-toolbar .search{margin-right:auto}
#redOnlyBtn[aria-pressed="true"]{background:#a82b29;color:white;border-color:#a82b29}
.recent-period-control{display:block;margin:0;color:inherit;font-size:12px;line-height:20px;font-weight:600;white-space:nowrap}
.recent-period-select{display:inline-block;width:65px;padding:1px 3px;margin:0 0 0 3px;border:1px solid #557c71;border-radius:4px;background:#fff;color:#214f42;font:inherit;cursor:pointer;vertical-align:middle}
.excel-sheet th.statistics-toggle-header{position:relative}
.statistics-toggle-header .statistics-switch{position:absolute;top:50%;transform:translate(-50%,-50%);max-width:100%;overflow:hidden}

#sidebar .price-guide #redOnlyBtn{display:block;width:100%;height:27px;margin-top:6px;padding:3px 6px;border:1px solid #d68f85;border-radius:4px;background:#fff9f6;color:#9e332e;font-size:10px;font-weight:600;text-align:center;white-space:nowrap}
#sidebar .price-guide #redOnlyBtn:hover{background:#ffe8e1}
#sidebar .price-guide #redOnlyBtn[aria-pressed="true"]{background:#a82b29;border-color:#a82b29;color:#fff}

#sidebar #adminBtn{margin:8px 0 0;padding:9px 4px 0;border-top:1px solid #ffffff18;color:#b8cbb4;font-size:11px}
.account-flags{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-top:12px}
.account-flags label{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:500}
.readonly-workspace{opacity:.65}
.user-actions{white-space:nowrap}.user-actions .text-btn+.text-btn{margin-left:24px}.user-actions .delete-user{color:#a82b29}.user-actions .delete-user:disabled{color:#adb6af;cursor:not-allowed}
.password-required-notice{padding:12px 14px;border:1px solid #e9be85;border-radius:6px;background:#fff6e7;color:#8a5a20;font-size:13px;line-height:1.7}

/* Keep both row alerts compact, with the yellow alert directly below red. */
#sidebar .side-tip.price-guide,#sidebar .side-tip.stockout-guide{margin-bottom:7px;padding:7px 9px}
#sidebar .side-tip.stockout-guide{background:#fff7d9;color:#765310;border:1px solid #e4c66c;border-left:3px solid #d3a52b;border-radius:7px;box-shadow:none}
#sidebar .stockout-guide-title{display:flex;align-items:center;gap:7px}
#sidebar .side-tip.stockout-guide b{color:#795508;font-size:11px;font-weight:750}
#sidebar .stockout-guide-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#cc971c;box-shadow:0 0 0 2px #f6e6b0;flex-shrink:0}
#sidebar .side-tip.stockout-guide p{color:#765310;font-size:10px;line-height:1.45;margin:5px 0}
#sidebar .stockout-guide #yellowOnlyBtn{display:block;width:100%;height:27px;margin-top:6px;padding:3px 6px;border:1px solid #d4b758;border-radius:4px;background:#fffdf3;color:#795508;font-size:10px;font-weight:600;text-align:center;white-space:nowrap}
#sidebar .stockout-guide #yellowOnlyBtn:hover{background:#ffefb0}
#sidebar .stockout-guide #yellowOnlyBtn[aria-pressed="true"]{background:#946c0e;border-color:#946c0e;color:white}
.excel-sheet tr.stockout-warning td{background:#fff3c4!important;color:#795508!important}
.excel-sheet tr.stockout-warning td[data-account="haikou"]{background:#f3dda0!important}
.excel-sheet tr.stockout-warning td[data-account="sanya"]{background:#fff5cd!important}
.excel-sheet tr.stockout-warning .slow-index{box-shadow:inset 3px 0 #d3a52b}
.excel-sheet tr.stockout-warning td[data-today="true"]{color:#b4232c!important;font-weight:700!important}

/* Three frozen utility columns outside Excel A: marks, selection, row number. */
.excel-sheet .slow-index,.excel-sheet .selection-index,.excel-sheet .row-index{position:sticky;width:32px;min-width:32px;max-width:32px;padding:0 2px;z-index:9;font-size:11px;line-height:15px;text-align:center;vertical-align:middle;background:#eef1f3!important;color:#697784;border-right:1px solid #b7c5cf;border-bottom:1px solid #c6d0d6}
.excel-sheet .slow-index{left:0;width:var(--mark-width,22px);min-width:var(--mark-width,22px);max-width:var(--mark-width,22px)}.excel-sheet .selection-index{left:var(--mark-width,22px);width:var(--selection-width,20px);min-width:var(--selection-width,20px);max-width:var(--selection-width,20px)}.excel-sheet .row-index{left:calc(var(--mark-width,22px) + var(--selection-width,20px));width:var(--number-width,24px);min-width:var(--number-width,24px);max-width:var(--number-width,24px)}
.excel-sheet .slow-mark-checkbox{width:14px;height:14px;margin:0;box-shadow:none;accent-color:#3d78b0;cursor:pointer}
.excel-sheet .slow-mark-checkbox:disabled{cursor:wait;opacity:.6}
.excel-sheet .row-menu-btn{width:100%;min-width:0;padding:0;font-variant-numeric:tabular-nums}
.workspace .excel-sheet .sheet-title>div{left:calc(var(--mark-width,22px) + var(--selection-width,20px) + var(--number-width,24px) + 10px)}
.excel-sheet tr.slow-moving:not(.price-warning) td{background:#d6e9ff!important;color:#245b8e!important}
.excel-sheet tr.slow-moving:not(.price-warning) td[data-account="haikou"]{background:#c2dcfa!important;color:#245b8e!important}
.excel-sheet tr.slow-moving:not(.price-warning) td[data-account="sanya"]{background:#e3eeff!important;color:#245b8e!important}
.excel-sheet tr.slow-moving:not(.price-warning) .slow-index{box-shadow:inset 3px 0 #4f88bf}
.excel-sheet tr.slow-moving:not(.price-warning) td[data-today="true"]{color:#b4232c!important;font-weight:700!important}
#sidebar .side-tip.slow-guide{margin-bottom:7px;padding:7px 9px;background:#d6e9ff;color:#245b8e;border:1px solid #9abfe5;border-left:3px solid #4f88bf;border-radius:7px;box-shadow:none}
#sidebar .slow-guide-title{display:flex;align-items:center;gap:7px}
#sidebar .side-tip.slow-guide b{color:#245b8e;font-size:11px;font-weight:750}
#sidebar .slow-guide-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4f88bf;box-shadow:0 0 0 2px #bcd6f0;flex-shrink:0}
#sidebar .side-tip.slow-guide p{color:#245b8e;font-size:10px;line-height:1.45;margin:5px 0}
.slow-guide-actions{display:flex;align-items:center;gap:6px;margin-top:6px}
#sidebar .slow-guide #blueOnlyBtn{flex:1;min-width:0;height:27px;padding:3px 4px;border:1px solid #9abfe5;border-radius:4px;background:#f5faff;color:#245b8e;font-size:10px;font-weight:600;white-space:nowrap}
#sidebar .slow-guide #blueOnlyBtn:hover{background:#c6dffa}
#sidebar .slow-guide #blueOnlyBtn[aria-pressed="true"]{background:#3d78b0;border-color:#3d78b0;color:white}
#sidebar .slow-guide #exportSlowBtn{flex:none;color:#245b8e;font-size:10px;white-space:nowrap;padding:3px 0}
@media(max-height:850px){#sidebar .side-tip.price-guide p,#sidebar .side-tip.stockout-guide p,#sidebar .side-tip.slow-guide p{font-size:9.5px;line-height:1.35;margin:4px 0}}
@media(max-height:760px){#sidebar{overflow-y:auto;scrollbar-width:thin}}

/* Utility checkboxes must not inherit the generic 46px td minimum. */
.excel-sheet tbody .slow-index,.excel-sheet tbody .selection-index{height:auto}
.excel-sheet .row-index{padding:0 1px}
.freight-note{font-size:12px;line-height:1.7;background:#eef5ef;border:1px solid #d4e5da;border-radius:6px;padding:10px 12px;margin:0 0 8px}
.freight-search{margin:4px 0 12px;max-width:320px}
.freight-table-wrap{max-height:43vh;overflow:auto;border:1px solid var(--border);border-radius:6px}
.freight-table thead th{position:sticky;top:0;z-index:1;padding:10px;text-align:left}
.freight-table td{padding:7px 10px}
.freight-table input,.freight-table select{width:100%;max-width:160px;margin:0;padding:7px 9px;font-size:12px}
.freight-table th:first-child{width:42%}
.freight-owner td{background:#edf4ef;font-weight:600}
.freight-form .muted{font-size:11px;margin:6px 0 10px}
.freight-form .modal-actions{margin-top:14px}

/* Keep catch-weight units visible without changing saved numbers or row geometry. */
td.cell[data-unit] .cell-text{font-variant-numeric:tabular-nums}td.cell[data-unit]:hover{cursor:help}

td.cell[data-unit="元/kg"]{--price-basis:"元/kg"}

/* Short compositor-only feedback; the grid and its data never animate. */
@keyframes workbench-card-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 #columnFilterCard:not([hidden]),.context-menu:not([hidden]),dialog[open]{animation:workbench-card-in .12s ease-out}
 .table-toolbar button{transition:background-color .1s ease,border-color .1s ease}
}

/* Keep the assignment entry prominent, including before products are selected. */
.workspace #assignSelectedBtn{background:#E62935;border-color:#E62935;color:#fff;font-weight:600;opacity:1}
.workspace #assignSelectedBtn:hover:not(:disabled){background:#CB1E2B;border-color:#CB1E2B}
.workspace #assignSelectedBtn:disabled{background:#E62935;border-color:#E62935;color:#fff;opacity:1;cursor:not-allowed}

/* Filtered totals stay directly below the sticky headers in the same grid. */
.excel-sheet thead tr.summary-row{height:28px}
.excel-sheet thead td.summary-cell{box-sizing:border-box;height:28px;min-height:28px;max-height:28px;padding:1px 3px!important;vertical-align:middle;text-align:center;white-space:nowrap;overflow-wrap:normal;background:#e7f0ec!important;color:#235548!important;border:0;border-top:1px solid #709a88;border-right:1px solid #b8cec3;border-bottom:1px solid #b8cec3;font-size:11px;line-height:12px;font-weight:600;font-variant-numeric:tabular-nums}
.excel-sheet thead td.summary-cell.summary-utility{position:sticky;z-index:15;padding:0!important;background:#d8e7df!important}
.excel-sheet thead td.summary-cell.summary-label{background:#d8e7df!important;color:#214d40!important;font-weight:700}
.excel-sheet thead td.summary-cell[data-account="haikou"]{background:#d4e5f0!important}
.excel-sheet thead td.summary-cell[data-account="sanya"]{background:#dfead2!important}
.excel-sheet thead td.summary-cell[data-account="combined"]{background:#cddfd5!important;font-weight:700!important}
.excel-sheet .summary-value{display:block;line-height:12px;white-space:nowrap}
.excel-sheet .summary-mixed .summary-value{font-size:10px;line-height:11px}

/* Incomplete plan totals use red text in place of the old asterisk. */
.excel-sheet thead td.summary-cell.summary-incomplete{color:#b83232!important;font-weight:700!important}

.excel-sheet th.plan-edit-header{position:relative}
.excel-sheet .plan-header-actions{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);display:flex;gap:8px;justify-content:center}
.excel-sheet .plan-header-actions button{height:18px;padding:0 4px;border:1px solid #e4d8c3;border-radius:4px;background:#f7f0e3;color:#59472e;font-size:10.5px;line-height:16px;font-weight:600;white-space:nowrap;box-shadow:none}
.excel-sheet .plan-header-actions button:hover{background:#fff8eb}
.excel-sheet .plan-header-actions .copy-plan-content{background:#e0eedc;border-color:#b4cfb0;color:#244f38}
.excel-sheet .plan-header-actions .copy-plan-content:hover{background:#edf7e9}

.excel-sheet thead td.summary-cell.summary-plan-tonnes{color:#C85C5C!important;font-weight:700!important}

/* Opaque, continuous locator bands override every original background family.
   Original text/status strips and save-error shadows stay visible. No layout changes. */
#dataTable.excel-sheet tbody tr.locator-row>td{background-image:linear-gradient(to bottom,#aa947a 0 1px,transparent 1px calc(100% - 1px),#aa947a calc(100% - 1px)),linear-gradient(#d8cabb,#d8cabb)!important}
#dataTable.excel-sheet .locator-column{background-image:linear-gradient(to right,#aa947a 0 1px,transparent 1px calc(100% - 1px),#aa947a calc(100% - 1px)),linear-gradient(#d8cabb,#d8cabb)!important}
#dataTable.excel-sheet tbody tr.locator-row>td.locator-column{background-image:linear-gradient(to bottom,#aa947a 0 1px,transparent 1px calc(100% - 1px),#aa947a calc(100% - 1px)),linear-gradient(to right,#aa947a 0 1px,transparent 1px calc(100% - 1px),#aa947a calc(100% - 1px)),linear-gradient(#beaa91,#beaa91)!important}
#dataTable.excel-sheet .locator-active,#dataTable.excel-sheet .cell.locator-active:focus{background-image:linear-gradient(#beaa91,#beaa91)!important;outline:2px solid #786550;outline-offset:-2px}
#dataTable.excel-sheet thead th.locator-column{background-image:linear-gradient(to right,#aa947a 0 1px,transparent 1px calc(100% - 1px),#aa947a calc(100% - 1px)),linear-gradient(#cdbca6,#cdbca6)!important;color:#514335!important}
#dataTable.excel-sheet .column-letter.locator-column{box-shadow:inset 0 -2px #786550;font-weight:700}
#dataTable.excel-sheet tr.locator-row>.row-index{font-weight:700}
@media(forced-colors:active){#dataTable.excel-sheet .locator-active{outline:2px solid Highlight}#dataTable.excel-sheet .column-letter.locator-column{border-bottom:2px solid Highlight}}

/* Searchable brand choices; other columns keep the compact keyword-only card. */
#columnFilterCard.brand-filter-card{width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow-y:auto}
#columnFilterCard .brand-values{margin-top:12px;border:1px solid #dbe5df;border-radius:6px;overflow:hidden}
#columnFilterCard .brand-values-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#f0f5f1;border-bottom:1px solid #dbe5df}
#columnFilterCard .brand-values-all,#columnFilterCard .brand-value-item{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:400;cursor:pointer}
#columnFilterCard .brand-values input[type="checkbox"]{width:14px;height:14px;padding:0;margin:0;flex:0 0 14px;accent-color:#2f6857}
#columnFilterCard .brand-values-summary{font-size:10px;color:#71857b;white-space:nowrap}
#columnFilterCard .brand-values-list{max-height:min(220px,30vh);overflow-y:auto;overscroll-behavior:contain}
#columnFilterCard .brand-value-item{padding:8px 10px;min-height:34px;border-bottom:1px solid #eef2ef}
#columnFilterCard .brand-value-item:last-child{border-bottom:0}
#columnFilterCard .brand-value-item:hover{background:#f4f8f5}
#columnFilterCard .brand-value-item:focus-within{outline:1px solid #78a48d;outline-offset:-1px;background:#f0f6f2}
#columnFilterCard .brand-value-name{flex:1;min-width:0;overflow-wrap:anywhere;color:#344d42}
#columnFilterCard .brand-value-count{flex-shrink:0;font-size:10px;color:#83938b;font-variant-numeric:tabular-nums}
#columnFilterCard .brand-values-empty{margin:0;padding:16px 10px;text-align:center;color:#84938b;font-size:11px}

/* Unit switch shares the existing segmented control and header row height. */
.excel-sheet th.price-unit-header{padding:0!important;vertical-align:middle}
.price-unit-control{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;padding:2px 8px;box-sizing:border-box}
.price-unit-control .statistics-segments{width:180px;max-width:100%}
.price-unit-control .statistics-segments[data-mode='kg']:before{transform:translateX(calc(100% + 2px))}
.price-unit-control .statistics-switch-hint{font-size:9px;line-height:10px}
.excel-sheet td.cell.price-unit-exception{padding-right:15px}
.excel-sheet td.cell.price-unit-exception:after{content:attr(data-price-exception)!important;display:block!important;position:absolute;right:2px;bottom:2px;font-size:8px;line-height:10px;font-weight:500;color:#6a7881;pointer-events:none}
.excel-sheet td.cell.price-unit-exception:focus:after{display:none!important}

/* Price clipboard action occupies the existing E-H summary cell. */
.excel-sheet thead td.summary-cell.summary-copy-cell{padding:0 4px!important}
.copy-adjustment-content{height:22px;max-width:100%;padding:0 10px;border:1px solid #2f6356;border-radius:4px;background:#2f6356;color:#fff;font-size:11px;line-height:20px;font-weight:650;white-space:nowrap;vertical-align:middle;box-shadow:0 1px 2px #153e3414}
.copy-adjustment-content:hover{background:#254f45;border-color:#254f45;filter:none}
.copy-adjustment-content:focus-visible{outline:2px solid #729c8f;outline-offset:1px}
.copy-adjustment-content:disabled{opacity:.6}

/* Align the I-K total caption with the first numeric summary column. */
.excel-sheet thead td.summary-cell.summary-caption{text-align:right!important;padding-right:6px!important}

/* Keep the combined quantity header readable within the compact metric width. */
.excel-sheet th.wrapped-quantity-header .header-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;line-height:17px;padding:0 3px}

/* Match the measured content width; retain the existing font sizes and line breaks. */
.excel-sheet .cell{padding-left:3px;padding-right:3px}

/* Regional formula groups share the original header heights and stable columns. */
.excel-sheet th.replenishment-group-header{position:relative}
.excel-sheet .replenishment-group-header .header-text{font-weight:700}
.excel-sheet .region-period-control{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);font-size:10.5px;line-height:18px;white-space:nowrap}
.excel-sheet .region-period-control .recent-period-select{height:18px;width:55px;padding:0 3px;font-size:10.5px;line-height:16px}
.excel-sheet th.replenishment-metric-header{position:relative}
.excel-sheet .replenishment-metric-header[data-operator]:before{content:attr(data-operator);position:absolute;left:1px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;color:#fff;line-height:16px;pointer-events:none}
.excel-sheet .replenishment-metric-header[data-operator] .header-text{padding-left:9px}
.excel-sheet .replenishment-group-start{border-left:2px solid #a4b5bd!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning) td[data-replenishment-metric="sales"]{background:#e8f1fa!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning) td[data-replenishment-metric="inventory"]{background:#eef0f5!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning) td[data-replenishment-metric="transit"]{background:#edf3ed!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning) td[data-replenishment-metric="plan"]{background:#f7ebd8!important;color:#76582f!important;font-weight:700!important}
.excel-sheet thead td.summary-cell.summary-plan-tonnes{color:#C85C5C!important}

/* New tiers occupy the existing four header rows. */
.excel-sheet th.price-root-header .header-text{font-weight:700;font-size:14px}
.excel-sheet .price-unit-control{flex-direction:row;gap:8px;padding:1px 5px}
.excel-sheet .price-unit-control .statistics-segments{width:160px;height:20px;min-height:20px;padding:1px;border-radius:5px}
.excel-sheet .price-unit-control .statistics-option{font-size:10.5px;line-height:16px;padding:0 3px}
.excel-sheet .price-unit-control .statistics-segments:before{left:1px;top:1px;bottom:1px;width:calc(50% - 2px)}
.excel-sheet .statistics-days-header{padding:0 3px!important}
.statistics-days-control{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;font-size:11px;line-height:20px;white-space:nowrap;color:inherit}
.statistics-days-select{display:inline-block;width:59px;height:20px;margin:0;padding:0 2px;border:1px solid #afc6c3;border-radius:3px;font-size:10.5px;line-height:18px;color:#244d42;background:#fff;cursor:pointer}
.excel-sheet .replenishment-group-header .header-text{transform:translateY(-10px)}
.excel-sheet .replenishment-subtitle-header .header-text{font-size:11px;line-height:18px;font-weight:600}
.excel-sheet .replenishment-metric-header[data-operator]:before{display:none}
.excel-sheet .replenishment-metric-header[data-operator] .header-text{padding-left:0}
.excel-sheet .replenishment-metric-header .header-text{line-height:15px}

/* Four restrained block families; warning rows and locator images keep priority. */
.excel-sheet th[data-block="price"],.excel-sheet th[data-block="replenishment"]{color:#fff!important}
.excel-sheet th[data-block="import"]{color:#65583c!important}
.excel-sheet th.block-root-header .header-text{font-size:14px!important;line-height:18px;font-weight:700;transform:none}
.excel-sheet .statistics-days-control{font-size:14px;gap:6px;line-height:20px}
.excel-sheet .price-unit-control .statistics-segments,.excel-sheet .statistics-switch .statistics-segments{height:28px;min-height:28px;padding:2px;border-radius:7px}
.excel-sheet .price-unit-control .statistics-option,.excel-sheet .statistics-switch .statistics-option{font-size:11px;line-height:20px;padding:1px 3px}
.excel-sheet .price-unit-control .statistics-segments{width:180px}
.excel-sheet .price-unit-control .statistics-segments:before{left:2px;top:2px;bottom:2px;width:calc(50% - 3px)}
.excel-sheet .statistics-switch{height:100%;gap:0;padding:0}
.excel-sheet th.wrapped-quantity-header[data-block="replenishment"] .header-text{line-height:14px}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning)>td[data-block="price"]{background:#f0f2f6!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning)>td[data-block="price"][contenteditable="true"]{background:#f7f3e9!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning)>td[data-block="replenishment"]{background:#eef3eb!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning)>td[data-block="replenishment"][data-replenishment-metric="plan"]{background:#f7ebd8!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning)>td[data-block="import"]{background:#fbf6e9!important}
.excel-sheet thead td.summary-cell[data-block="replenishment"]{background:#e2eadc!important}
.excel-sheet thead td.summary-cell[data-block="replenishment"][data-replenishment-metric="plan"]{background:#f2e8d6!important}
.excel-sheet thead td.summary-cell[data-block="import"]{background:#f3ecd9!important}
.excel-sheet .block-start{border-left:2px solid #aebdb6!important}

/* Shared replenishment period, aligned with the block title without adding height. */
.excel-sheet .replenishment-root-control{display:flex;align-items:center;justify-content:center;gap:14px;white-space:nowrap}
.excel-sheet .replenishment-period-control{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:10.5px;font-weight:500;line-height:20px;white-space:nowrap}
.excel-sheet .replenishment-period-control .recent-period-select{height:20px;width:58px;padding:0 3px;font-size:10.5px;line-height:18px}

/* Fit the three-line combined availability header in the existing header band. */
.excel-sheet th.wrapped-quantity-header[data-replenishment-metric="availability"] .header-text{line-height:12px}

/* Keep block controls together while retaining the existing header row heights. */
.excel-sheet .price-root-control{display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}
.excel-sheet th.block-root-header[data-block="price"] .header-text,.excel-sheet th.block-root-header[data-block="statistics"] .header-text,.excel-sheet th.block-root-header[data-block="replenishment"] .header-text{font-size:16px!important;line-height:20px}
.excel-sheet .statistics-days-label{font-size:10.5px;font-weight:500;line-height:20px}
.excel-sheet .replenishment-group-header .header-text{font-size:15px!important;line-height:20px;transform:none}
.excel-sheet .replenishment-root-control{gap:12px}
.excel-sheet .replenishment-root-control .plan-header-actions{position:static;transform:none;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}
.excel-sheet .replenishment-root-control .plan-header-actions button{height:20px;line-height:18px;padding:0 6px}
.excel-sheet .price-unit-control .statistics-segments,.excel-sheet .statistics-switch .statistics-segments{width:136px;min-width:136px;max-width:136px;flex-shrink:0}

/* Primary category titles, centered formula labels and matching cream actions. */
.excel-sheet th.block-root-header[data-block] .header-text{font-size:20px!important;line-height:26px;font-weight:750}
.excel-sheet th.replenishment-metric-header,.excel-sheet th.replenishment-metric-header .header-text{text-align:center!important}
.excel-sheet th.replenishment-metric-header .header-text{margin-left:auto;margin-right:auto}
.excel-sheet th .copy-adjustment-content,.excel-sheet .plan-header-actions .copy-plan-content{background:#f7f0e3;border-color:#e4d8c3;color:#59472e;box-shadow:none}
.excel-sheet th .copy-adjustment-content:hover,.excel-sheet .plan-header-actions .copy-plan-content:hover{background:#fff8eb;border-color:#e4d8c3;color:#59472e;filter:none}

/* One global workbook geometry and a comfortable default desktop scale. */
html.workbench-zoom{zoom:.9}
html.workbench-zoom .layout{min-height:calc(100dvh / .9)}
html.workbench-zoom .workspace main{height:calc(100dvh / .9 - 42px)}
html.workbench-zoom #columnFilterCard.brand-filter-card{max-height:calc(100dvh / .9 - 16px)}
.excel-sheet th.info-column-header .header-text{font-size:15px!important;line-height:22px;font-weight:700}
.excel-sheet th.info-column-header{font-size:15px!important}
.excel-sheet.shared-layout .cell-text,.excel-sheet.shared-layout td[data-info] .cell-text{white-space:pre;overflow-wrap:normal;word-break:normal}
.excel-sheet th .copy-adjustment-content,.excel-sheet .replenishment-root-control .plan-header-actions button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:24px;min-height:24px;padding:0 9px;border:1px solid #e4d8c3;border-radius:4px;background:#f7f0e3;color:#59472e;font-size:11px;font-weight:650;line-height:22px;box-shadow:none;vertical-align:middle}
.excel-sheet .replenishment-period-control .recent-period-select,.excel-sheet .statistics-days-select{height:24px;line-height:22px;font-size:11px;border-radius:4px}
.excel-sheet .price-root-control{gap:12px}
.excel-sheet .replenishment-root-control{gap:12px}
/* Slate teal import headers share the neighboring block's restrained hierarchy. */
.excel-sheet th[data-block="import"]{color:#fff!important;border-color:#cad7d5!important}
.excel-sheet th[data-block="import"] .header-text{color:#fff!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning)>td[data-block="import"]{background:#eef3f2!important}
.excel-sheet thead td.summary-cell[data-block="import"]{background:#e2ebe8!important}

/* Distinct muted plum family for the mall/Kingdee import block. */
.excel-sheet th[data-block="import"]{border-color:#d4cbd9!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning)>td[data-block="import"]{background:#f2eff4!important}
.excel-sheet thead td.summary-cell[data-block="import"]{background:#e7e1eb!important}

/* Combined deduction stays on one line within the shared quantity column budget. */
.excel-sheet th.availability-header{font-size:10px!important;padding-left:1px!important;padding-right:1px!important}
.excel-sheet th.availability-header .header-text{white-space:nowrap;overflow-wrap:normal;word-break:normal;line-height:15px;padding:0!important}
/* Center both actions over the three-column combined group. */
.excel-sheet th[data-header-key="replenishment-root"]{position:relative}
.excel-sheet .combined-plan-actions{position:absolute;top:50%;bottom:auto;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.excel-sheet .combined-plan-actions button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:24px;min-height:24px;padding:0 9px;border:1px solid #e4d8c3;border-radius:4px;background:#f7f0e3;color:#59472e;font-size:11px;font-weight:650;line-height:22px;box-shadow:none}
.excel-sheet .combined-plan-actions button:hover{background:#fff8eb;border-color:#e4d8c3;color:#59472e;filter:none}
/* Warm terracotta is distinct from the blue-grey, teal and green block families. */
.excel-sheet th[data-block="import"]{border-color:#dcc9bc!important}
.excel-sheet tbody tr:not(.price-warning):not(.slow-moving):not(.stockout-warning)>td[data-block="import"]{background:#f5f0ec!important}
.excel-sheet thead td.summary-cell[data-block="import"]{background:#ede2da!important}

/* Prices retain the shared width budget with less horizontal padding. */
.excel-sheet td.cell[data-block="price"]{padding-left:2px;padding-right:2px}

/* Personnel navigation stays in one column at every window height and zoom. */
#sidebar{overflow-y:auto;scrollbar-width:thin;overscroll-behavior-y:contain}
#sidebar>*{flex-shrink:0}
#sidebar #sheetTabs{display:flex;flex-direction:column;gap:3px;flex-shrink:0;overflow:visible}
#sidebar .sheet-tab{width:100%;min-width:0;min-height:34px;flex-shrink:0;padding:4px 8px;gap:7px;font-size:clamp(11px,1.4vh,12px)}
#sidebar .sheet-tab>span:nth-child(2){min-width:0;white-space:nowrap}
#sidebar .sheet-tab .tab-avatar{display:flex;flex-shrink:0}
#sidebar .sheet-tab.active:after{display:block;flex-shrink:0}
#sidebar .tab-count{flex-shrink:0}
#sidebar .side-tip.zoom-guide{margin-bottom:7px;padding:7px 9px;background:#edf3f4;color:#365762;border:1px solid #b8cdd2;border-left:3px solid #72939c;border-radius:7px;box-shadow:none}
#sidebar .zoom-guide b{font-size:11px;font-weight:750;color:#365762}
#sidebar .side-tip.zoom-guide p{margin:5px 0 0;font-size:10px;line-height:1.5;color:#496570}
#sidebar .zoom-guide kbd{display:inline-block;margin:0 2px;padding:0 3px;border:1px solid #c6d4d8;border-radius:3px;background:#fff;font:inherit;font-weight:650;color:#365762}
