.sidebar{position:fixed;inset:0 auto 0 0;width:208px;padding:24px 14px;background:#fff;border-right:1px solid #dce1e4;display:flex;flex-direction:column;z-index:30;overflow-y:auto}
.sidebar-brand{display:grid;gap:7px;padding:0 12px 26px}
.sidebar-brand strong{color:#1f6b45;font-size:21px;letter-spacing:0}
.sidebar-brand span{font-weight:650;color:#48545c}
.sidebar #nav{display:flex;flex-direction:column;gap:6px;flex:1}
.sidebar #nav button{text-align:left;background:transparent;color:#46525a;border-radius:6px;display:flex;align-items:center;justify-content:space-between;padding:12px}
.sidebar #nav button.active{background:#e5eeea;color:#195d40}
.sidebar .user{flex-wrap:wrap;white-space:normal;margin-top:20px;font-size:12px}
.sidebar .user span{width:100%}
.nav-badge{font-size:11px;background:#b72e3c;color:#fff;padding:1px 6px;border-radius:6px}
.app-topbar{margin-left:208px;height:56px;padding:0 26px;position:sticky;top:0;font-weight:600;color:#4b565e;z-index:15}
#menuToggle{display:none}
#app>main{margin-left:208px;max-width:none;padding:26px;min-width:0}
.sidebar-backdrop{display:none}
.grid>*,.garment-workspace>*{min-width:0}
.toolbar{flex-wrap:wrap}
.toolbar>div{flex-wrap:wrap}
.progress-warning{padding:12px 16px;margin-bottom:16px;background:#fff0f1;border-left:3px solid #bb3340;color:#932530;border-radius:4px;font-weight:600}
.progress-options{display:flex;gap:0;white-space:nowrap}
.progress-options button{background:#fff;color:#4b565e;border:1px solid #ccd4d9;border-radius:0;padding:5px 7px;font-weight:500;font-size:12px}
.progress-options button:first-child{border-radius:5px 0 0 5px}
.progress-options button:last-child{border-radius:0 5px 5px 0}
.progress-options button+button{border-left:0}
.progress-options button.selected{background:#e2eee8;color:#17593b;box-shadow:inset 0 -2px #24724e}
.progress-age{font-size:11px;color:#6c7780;margin-top:7px;max-width:210px}
.is-overdue{color:#af2637;font-weight:600}
.overdue-order{background:#fff7f7}
.day>summary{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;border-radius:5px;border:1px solid #dce2e5}
.day>summary::before{content:'+';font-weight:bold}
.day[open]>summary::before{content:'-'}
.daily-progress-counts{font-size:12px;color:#606c75;flex-basis:100%}
.daily-orders{padding:0}
.daily-orders table{min-width:1180px}
.daily-orders th,.daily-orders td{white-space:nowrap}
.daily-orders td:nth-child(4),.daily-orders td:nth-child(7){white-space:normal;min-width:140px}
.daily-orders td:nth-child(8){white-space:normal;min-width:160px}
.daily-orders td:last-child,.daily-orders th:last-child{position:sticky;right:0;background:#fff;min-width:220px;box-shadow:-3px 0 5px #00000008}
.daily-orders .overdue-order td:last-child{background:#fff7f7}
.garment-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.garment-workspace .card{border-radius:8px;box-shadow:none}
.garment-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.garment-filters label{margin:0;flex:1;min-width:130px}
.garment-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;align-items:start}
.garment-card{display:grid;grid-template-columns:minmax(110px,42%) minmax(0,1fr);border:1px solid #becbd8;border-radius:6px;background:#fff;overflow:hidden}
.garment-image{background:#f4f6f8;display:flex;align-items:center;justify-content:center;min-height:300px;border-right:1px solid #becbd8}
.garment-image img{width:100%;height:300px;object-fit:contain;display:block}
.garment-quantities{min-width:0;background:#e9eff8}
.garment-quantities h3{font-size:16px;margin:0;padding:12px 10px 4px;text-align:center;overflow-wrap:anywhere}
.garment-quantities p{font-size:11px;margin:0;padding:0 8px 10px;text-align:center;overflow-wrap:anywhere;color:#5d6b7a}
.garment-quantities table{min-width:0;table-layout:fixed;font-size:16px}
.garment-quantities th,.garment-quantities td{width:50%;text-align:center;padding:7px 4px;border-top:1px solid #bac7d8;border-bottom:0;color:#223041;background:transparent;position:static}
.garment-quantities td{border-left:1px solid #bac7d8;font-variant-numeric:tabular-nums}
.garment-quantities .garment-total{font-weight:700;background:#dce7f5}
.garment-adjust{grid-column:1/-1;border-top:1px solid #becbd8!important;border-radius:0!important}
.garment-size-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.garment-size-inputs label{margin:4px 0}
.garment-size-inputs input{min-width:0;padding:9px}
.garment-history{margin-top:24px}
.garment-history summary{padding:12px 0;cursor:pointer;font-weight:600}
.garment-card-actions{grid-column:1/-1;display:flex;border-top:1px solid #becbd8}
.garment-card-actions button{flex:1;border-radius:0!important;border:0!important}
.garment-card-actions .garment-adjust{grid-column:auto}
.movement-indicator{font-size:11px;text-align:center;padding:6px 8px;color:#5b6978;border-top:1px solid #bac7d8}
.stock-slow{border-color:#d4ad31}
.stock-slow .garment-quantities{background:#fff5cb}
.stock-slow .garment-quantities th,.stock-slow .garment-quantities td{border-color:#dfcc88}
.stock-slow .movement-indicator{background:#ffe38c;color:#6d4c00;font-weight:700;border-color:#dfcc88}
.stock-slow .garment-total{background:#ffedaf}
.garment-summary{margin-bottom:22px;border-top:1px solid #d3dbdf;padding-top:16px}
.garment-summary table{min-width:400px}
.summary-total{font-weight:700;background:#edf2ef}
.analysis-local{font-size:12px;color:#5d6c65;background:#e9f0eb;padding:6px 10px;border-radius:5px}
.analysis-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.analysis-metrics>div{border-left:3px solid #b3c1b9;padding:8px 16px;display:grid;gap:4px}
.analysis-metrics b{font-size:24px}
.analysis-metrics span{color:#68766f;font-size:12px}
.analysis-slow{background:#fff3bd}
.analysis-details-title{margin:26px 0 16px}
#page-garment-analysis td:last-child{min-width:220px;white-space:normal}
#garmentToolsDialog{max-width:520px}
@media(max-width:760px){.analysis-metrics{gap:8px}.analysis-metrics>div{padding:6px 9px}.analysis-metrics b{font-size:20px}}
@media print{#garmentToolsDialog{display:none!important}}
.matrix-workspace{display:block}
.matrix-entry{margin:0 0 18px;border-bottom:1px solid #d1dadd;padding-bottom:14px}
.matrix-entry>summary{cursor:pointer;font-weight:600;padding:8px 0}
.matrix-entry form{max-width:680px;margin-top:12px}
.matrix-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.stock-matrix{margin:0 0 24px;background:#fff;border:1px solid #c9d2d8;border-radius:6px;overflow:hidden}
.matrix-title{padding:12px 14px;display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;font-size:12px;color:#627079}
.matrix-title h3{font-size:16px;margin:0;color:#25343c}
.matrix-scroll{border:0;border-radius:0}
.matrix-scroll table{min-width:720px;table-layout:fixed}
.matrix-scroll th,.matrix-scroll td{position:static;text-align:center;padding:8px 6px;border:1px solid #aebdc6;background:#fff;vertical-align:middle;font-variant-numeric:tabular-nums}
.matrix-scroll th{font-size:13px;overflow-wrap:anywhere}
.matrix-scroll th small{display:block;font-size:11px;font-weight:400;margin-top:3px}
.matrix-scroll .matrix-style-head{background:#329b67;color:#fff;width:160px;font-size:17px}
.matrix-scroll th[rowspan]:not(.matrix-style-head){width:60px}
.matrix-scroll .matrix-stock-head{background:#fff0a2;color:#423b23}
.matrix-scroll .matrix-work-head{background:#d9effc;color:#23495d}
.matrix-scroll .matrix-image-cell{width:160px;padding:6px}
.matrix-image-cell img{display:block;width:100%;height:240px;object-fit:contain}
.matrix-image-cell b{display:block;margin:8px 0;font-size:12px;overflow-wrap:anywhere}
.matrix-scroll .matrix-slow{background:#ffe083}
.matrix-scroll .matrix-total{font-weight:700}
.matrix-scroll tfoot th,.matrix-scroll tfoot td{background:#f3f6f7;font-size:12px}
.matrix-source{padding:10px 14px;color:#516776;font-size:12px;overflow-wrap:anywhere}
.matrix-actions{display:flex;align-items:center;gap:8px;padding:10px 14px;flex-wrap:wrap}
.matrix-actions select{width:auto;min-width:160px;max-width:100%;flex:1}
.matrix-producing-tag{background:#e1f0fa;color:#235c7d}
.extra-stock-sizes{grid-column:1/-1}
.extra-stock-sizes>summary{cursor:pointer;padding:8px 0;font-size:12px;color:#64747d}
.matrix-scroll table{table-layout:auto}
.matrix-scroll td:not(.matrix-image-cell){min-width:100px}
.matrix-scroll .platform-temu{background:#ffe681}
.matrix-scroll .platform-shein{background:#b1e5f8}
.matrix-scroll .platform-common{background:#f0f3f5}
.matrix-scroll .matrix-slow{background:#ffcf52;font-weight:700}
.matrix-low-warning{background:#ffdc73;color:#684a00;padding:3px 8px;border-radius:4px;font-weight:600}
.matrix-wash-image{display:block;margin:6px auto 0;width:52px;height:60px;object-fit:contain;background:#fff}
.matrix-actions .garment-adjust{border:0!important;border-radius:6px!important}
.matrix-scroll .matrix-image-cell,.matrix-scroll .matrix-style-head{min-width:160px;width:160px}
.matrix-scroll th[rowspan]:not(.matrix-style-head),.matrix-scroll th[scope="row"]{min-width:60px;width:60px;white-space:nowrap}
@media(max-width:760px){.matrix-identity{grid-template-columns:minmax(0,1fr)}.matrix-title{gap:6px}.matrix-actions{padding:10px}.matrix-scroll table{min-width:680px}.matrix-scroll .matrix-style-head{width:140px}.matrix-image-cell img{height:220px}}
@media(max-width:1100px){.garment-workspace{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:760px){
 .sidebar{transform:translateX(-100%);width:224px;transition:transform .15s ease}
 .sidebar-open .sidebar{transform:translateX(0)}
 .sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:#0005;z-index:25;border-radius:0;padding:0}
 .sidebar .user span{display:block}
 .app-topbar{margin-left:0;flex-wrap:nowrap;height:54px;padding:0 14px;gap:14px}
 #menuToggle{display:block;padding:7px 10px}
 #app>main{margin-left:0;padding:16px 12px}
 .garment-workspace{grid-template-columns:minmax(0,1fr);gap:20px}
 .garment-cards{grid-template-columns:minmax(0,1fr)}
 .garment-filters{gap:8px}
 .sidebar-open{overflow:hidden}
 .progress-warning{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
@media print{.sidebar,.app-topbar,.sidebar-backdrop{display:none!important}}
.nav-section{border-top:1px solid #dce3df;margin-top:12px;padding-top:12px}.nav-section h2{font-size:19px;color:#243a30;margin:0 12px 10px;font-weight:750}.nav-section button{width:100%}.sidebar #nav button{font-size:13px;font-weight:550;padding:10px 12px}.free-warehouse-bar{display:flex;gap:12px;align-items:center;margin:12px 0}.free-warehouse{max-width:280px}.analysis-rule-form{padding:16px 0;margin-bottom:16px;border-bottom:1px solid #dce3df}.analysis-rule-form p{font-size:13px;color:#657168}
