:root{--green:#174e3d;--green-dark:#103b2e;--mint:#eef5ef;--ink:#213b32;--muted:#728079;--line:#e3e8e2;--bg:#f5f6f2;--orange:#c37739;--red:#b65348;--white:#fff;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bf914a;outline-offset:3px}button{border:0}#sidebar{width:236px;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:34px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;font-size:22px;font-weight:650;letter-spacing:2px}.brand small{display:block;font-size:12px;letter-spacing:3px;color:var(--muted);font-weight:400}.monogram{background:var(--green);color:white;border-radius:12px;width:44px;height:48px;text-align:center;line-height:48px;font-family:Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-4px;padding-right:4px}.store-label{display:flex;align-items:center;gap:9px;background:var(--bg);border:1px solid var(--line);padding:12px 9px;margin:34px 0 28px;border-radius:9px;font-size:14px}.store-label small{display:block;font-size:12px;color:var(--muted)}.store-icon{font-size:24px}.tag{font-size:10px;letter-spacing:1px;margin-left:auto;color:var(--muted)}.nav-caption{font-size:12px;letter-spacing:2px;color:#8a948d;margin:0 12px 12px}nav{display:grid;gap:6px}nav a{display:flex;align-items:center;gap:13px;padding:11px 15px;border-radius:8px;font-size:15px;color:#66746c}nav a.active{background:var(--green);color:#fff}nav a:hover:not(.active){background:var(--mint)}.nav-icon{width:20px;display:inline-flex}.nav-icon svg{width:20px;height:20px}.nav-count{margin-left:auto;font-size:12px;background:#ffffff25;border-radius:5px;padding:0 6px}.side-bottom{margin-top:auto;padding:32px 12px 0}.leaf-mark{font:italic 38px Georgia;color:#a9ba9c}.side-bottom strong{font-size:13px;font-weight:500}.side-bottom p{font-size:12px;color:var(--muted);margin:4px 0 30px}.version{font-size:12px;color:#8e9891;border-top:1px solid var(--line);padding-top:17px}.workspace{margin-left:236px}header{height:77px;display:flex;justify-content:space-between;align-items:center;padding:0 38px;background:#fff;border-bottom:1px solid var(--line);font-size:14px}.breadcrumb{color:var(--muted)}.breadcrumb span{padding:0 16px;color:#bcc5bd}.breadcrumb b{color:var(--ink);font-weight:500}.header-right{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}.local-dot{width:6px;height:6px;background:#7c9276;border-radius:50%}.avatar{display:inline-flex;align-items:center;justify-content:center;background:#e7ece1;color:var(--green);border:3px solid white;box-shadow:0 0 0 1px var(--line);width:34px;height:34px;border-radius:50%;font-size:13px;margin-left:18px}.demo-banner{background:#edf1e8;padding:10px 38px;font-size:12px;color:#637359;display:flex;align-items:center;gap:12px}.demo-banner>span{font-weight:650;border-right:1px solid #ced8c6;padding-right:12px;white-space:nowrap}main{max-width:1510px;padding:30px 38px 50px;margin:auto;min-height:calc(100vh - 185px)}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:12px;letter-spacing:2px;color:#7a897d;margin-bottom:7px}h1{font-size:28px;line-height:1.4;letter-spacing:-.5px;margin:0;font-weight:650}h2{font-size:18px;margin:0;font-weight:600}h3{font-size:16px;margin:0;font-weight:600}p{margin:8px 0}.subtitle{font-size:14px;color:var(--muted);margin-top:8px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border-radius:7px;background:white;color:var(--ink);border:1px solid #dce3db;font-size:14px;font-weight:500;white-space:nowrap}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.primary:hover{background:var(--green-dark)}.btn.soft{background:var(--mint);border-color:var(--mint);color:var(--green)}.btn.small{padding:6px 11px;font-size:13px}.btn.danger{color:var(--red)}.text-btn{background:none;color:var(--green);font-size:14px;padding:4px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.metric{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:21px 23px;position:relative}.metric-label{font-size:14px;color:var(--muted)}.metric-number{font-size:33px;font-weight:600;line-height:1.5;letter-spacing:-1px;margin:8px 0 4px}.metric-number span{font-size:16px;color:#99a49c;font-weight:400;letter-spacing:0}.metric-foot{font-size:12px;color:var(--muted)}.metric-icon{position:absolute;right:20px;top:20px;background:var(--mint);width:31px;height:31px;display:grid;place-items:center;border-radius:8px;color:#668371}.metric-icon svg{width:17px;height:17px}.metric.emphasis{background:var(--green);color:#fff;border-color:var(--green)}.metric.emphasis .metric-label,.metric.emphasis .metric-foot{color:#c0d2c7}.metric.emphasis .metric-number span{color:#a9c0b3}.metric.emphasis .metric-icon{background:#ffffff18;color:#d0e0d3}.progress-track{height:4px;background:#ffffff30;border-radius:3px;margin-top:15px;overflow:hidden}.progress-track i{height:100%;display:block;background:#bfdaaa}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:23px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:21px 23px;border-bottom:1px solid var(--line);gap:12px}.panel-body{padding:22px}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:0 23px}.tabs button{background:none;padding:14px 0;font-size:14px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--green);border-color:var(--green);font-weight:600}.task-row{display:flex;align-items:center;gap:13px;padding:19px 23px;border-bottom:1px solid #eef0eb}.task-row:last-child{border-bottom:0}.check-ring{height:23px;width:23px;border:1.5px solid #cfd8cd;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:13px;flex-shrink:0}.check-ring.done{background:var(--green);border-color:var(--green);color:white}.task-main{flex:1;min-width:0}.task-main h3{font-size:15px}.meta{font-size:12px;color:var(--muted);margin-top:4px}.meta span+span:before{content:'·';margin:0 8px;color:#bdc6be}.pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:5px;font-size:12px;white-space:nowrap;background:#f1f3ef;color:#7a847a}.pill.amber{background:#fbf1e5;color:#a97435}.pill.green{background:#eaf3ec;color:#458063}.pill.red{background:#fbeeea;color:#b66455}.task-photo-count{color:#8b978d;font-size:12px;min-width:50px;text-align:right}.stock-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.stock-row:last-child{border-bottom:0}.stock-mark{width:35px;height:38px;background:#f7f2e9;border-radius:8px;display:grid;place-items:center;font-size:13px;color:#ad8757;font-weight:600}.stock-text{flex:1}.stock-text b{font-size:14px;font-weight:500}.stock-text small{display:block;font-size:12px;color:var(--muted)}.right-stack{display:grid;gap:22px;align-content:start}.report-callout{background:#eff2e8;border:1px solid #dfe6d4;border-radius:var(--radius);padding:23px;position:relative}.report-callout .overline{font-size:11px;letter-spacing:2px;color:#81906d}.report-callout h2{font-size:21px;margin:8px 0}.report-callout p{font-size:13px;color:#78816e;max-width:235px;margin-bottom:18px}.section-gap{margin-top:23px}.shift-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 23px}.shift-item{border-right:1px solid var(--line);padding-right:12px}.shift-item:last-child{border:0}.shift-item b{font-size:14px}.shift-item small{display:block;color:var(--muted);font-size:12px;margin:3px 0 10px}.face{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;background:#f0e9de;border:2px solid white;border-radius:50%;font-size:10px;color:#907c61;margin-left:-5px}.shift-names{font-size:13px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.segmented{display:flex;background:#e9eee7;padding:4px;border-radius:8px;gap:4px}.segmented button{background:none;color:#71806e;border-radius:5px;padding:7px 17px;font-size:14px}.segmented button.active{background:white;color:var(--green);box-shadow:0 1px 5px #263b2c10}.search{background:white;border:1px solid var(--line);border-radius:7px;padding:9px 12px;font-size:14px;min-width:200px}.tasks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.task-card{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column}.task-card .card-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.task-card h3{font-size:17px}.task-card p{font-size:14px;color:var(--muted);min-height:45px}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:18px;padding-top:15px;gap:8px}.tiny-progress{height:4px;background:#edf1e9;border-radius:3px;margin:16px 0 8px;overflow:hidden}.tiny-progress i{display:block;height:100%;background:#759567}.empty{padding:35px;text-align:center;color:var(--muted);font-size:14px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{color:var(--muted);font-weight:500;background:#fafbf8;font-size:13px;padding:15px 20px;white-space:nowrap}td{padding:17px 20px;border-top:1px solid var(--line);white-space:nowrap}td small{display:block;color:var(--muted);font-size:12px}input[type=number],input[type=text],input[type=date],input[type=tel],input[type=time],select,textarea{border:1px solid #d7dfd5;border-radius:7px;padding:9px 11px;background:white;color:var(--ink);max-width:100%;min-width:0}.quantity{width:88px!important}.schedule-table td{padding:12px 9px}.schedule-table th{padding:14px 9px;text-align:center}.schedule-table th:first-child,.schedule-table td:first-child{padding-left:20px;text-align:left}.shift-select{width:100%;font-size:13px;border:0!important;background:#edf3e9!important;color:#5e7654!important;padding:9px!important;min-width:78px}.shift-select[data-shift="晚班"]{background:#edf1f7!important;color:#687c9e!important}.shift-select[data-shift="休息"]{background:#f5f5f2!important;color:#9ba398!important}.shift-select[data-shift="中班"]{background:#fbf3e6!important;color:#aa884f!important}.notice{padding:14px 18px;background:#eef3e9;border:1px solid #dce5d3;border-radius:8px;font-size:14px;color:#68805c;margin:18px 0}.notice.warn{background:#fff7eb;color:#a47a3d;border-color:#f3e4cc}.report-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.9fr);gap:24px;align-items:start}.report-controls{padding:24px}.field{display:block;font-size:14px;margin-bottom:18px}.field>span{display:block;color:#617261;margin-bottom:7px}.field input,.field select,.field textarea{width:100%}.field small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.report-paper{background:white;border:1px solid var(--line);border-radius:10px;padding:36px;box-shadow:0 6px 18px #1d332e04}.report-brand{font-family:Georgia,serif;letter-spacing:4px;font-size:23px;color:var(--green)}.report-rule{height:3px;background:var(--green);margin:22px 0}.report-summary{display:flex;gap:25px;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:20px;font-size:14px}.report-item{border-bottom:1px solid var(--line);padding:22px 0;break-inside:avoid}.report-item:last-child{border-bottom:0}.report-item-head{display:flex;justify-content:space-between;gap:10px}.report-item h3{font-size:16px}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.evidence{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fafbf8}.evidence img{display:block;width:100%;height:190px;object-fit:contain;background:#f2f4ee;cursor:zoom-in}.evidence figcaption{font-size:12px;padding:10px 12px;color:var(--muted)}figure{margin:0}.photo-empty{display:flex;align-items:center;justify-content:center;min-height:110px;padding:15px;text-align:center;color:#929e8a;background:repeating-linear-gradient(45deg,#f5f7f1,#f5f7f1 8px,#f1f4ec 8px,#f1f4ec 9px);font-size:13px}.photo-empty svg{width:22px}.upload-box{border:1px dashed #bdcbb6;border-radius:9px;padding:16px;margin-top:12px;background:#f8faf5}.upload-box label{font-size:14px;display:block}.upload-box input{font-size:12px;width:100%;margin-top:10px}.upload-box img{width:100%;max-height:220px;object-fit:contain;margin-top:12px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.icon-btn{background:transparent;padding:4px 9px;font-size:22px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:16px;max-width:660px;width:calc(100% - 32px);padding:28px;max-height:88vh;color:var(--ink);box-shadow:0 30px 100px #09241c30}dialog::backdrop{background:#0a271f66;backdrop-filter:blur(3px)}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-meta{font-size:14px;color:var(--muted);margin-bottom:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.staff-card{padding:24px}.staff-card .avatar{margin:0 0 15px;width:44px;height:44px;font-size:16px}.staff-card h3{font-size:18px}.staff-card .meta{font-size:14px}.stat-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;margin-top:18px;font-size:14px}.settings-row{padding:21px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.settings-row p{font-size:13px;color:var(--muted);margin:4px 0}.badge-number{font:28px Georgia;color:#b9c5b4}.checklist{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:14px}.checklist input{margin-top:6px;accent-color:var(--green)}footer{padding:20px 38px;color:#99a293;font-size:12px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}#toast{position:fixed;left:calc(50% + 118px);bottom:30px;transform:translateX(-50%) translateY(20px);background:#173d30;color:white;padding:12px 22px;border-radius:8px;font-size:14px;opacity:0;transition:.2s;z-index:100;pointer-events:none;max-width:90vw}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.mobile-menu{display:none}.money{font-variant-numeric:tabular-nums}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.photo-view{width:100%;max-height:70vh;object-fit:contain}.order-head{display:flex;justify-content:space-between;background:var(--mint);padding:15px 20px}.order-line{display:flex;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line)}@media(min-width:1600px){main{padding-top:40px}.metrics{gap:24px}.metric{padding:25px}.task-row{padding-top:24px;padding-bottom:24px}}@media(max-width:1150px){#sidebar{width:205px;padding:28px 14px}.workspace{margin-left:205px}main{padding:26px 24px}.dashboard-grid{grid-template-columns:1.4fr 1fr}.metric{padding:18px}.tasks-grid{grid-template-columns:repeat(2,1fr)}.report-layout{grid-template-columns:250px minmax(0,1fr)}.metric-icon{display:none}.brand{font-size:20px}.task-photo-count{display:none}}@media(max-width:850px){#sidebar{transform:translateX(-100%);transition:transform .2s}body.menu-open #sidebar{transform:translateX(0);box-shadow:10px 0 30px #102b2420}.workspace{margin-left:0}.mobile-menu{display:block}.breadcrumb{margin-right:auto;margin-left:10px}header{padding:0 18px;height:64px}.demo-banner{padding:9px 20px;font-size:12px}.dashboard-grid{grid-template-columns:1fr}.right-stack{grid-template-columns:1fr 1fr}.metrics{gap:10px}.metric-number{font-size:28px}.report-layout{grid-template-columns:1fr}.report-controls{display:flex;gap:15px;align-items:end;flex-wrap:wrap}.report-controls .field{flex:1;min-width:160px}.report-controls .notice{width:100%;margin:0}.staff-grid{grid-template-columns:repeat(2,1fr)}#toast{left:50%}.split{grid-template-columns:1fr}}@media(max-width:560px){main{padding:24px 16px}.page-title{align-items:flex-start;flex-direction:column;gap:15px}h1{font-size:25px}.page-title .actions{width:100%}.metrics{grid-template-columns:repeat(2,1fr);margin-bottom:18px}.metric{padding:16px}.metric-label{font-size:13px}.metric-number{margin:5px 0}.metric-foot{font-size:11px}.right-stack{grid-template-columns:1fr}.panel-head,.task-row{padding:17px}.tasks-grid,.staff-grid{grid-template-columns:1fr}.task-row{gap:10px}.task-main h3{font-size:14px}.task-row .btn{padding:6px 9px}.meta{font-size:11px}.task-row>.pill{display:none}.shift-strip{padding:17px;gap:10px}.shift-item b{font-size:13px}.shift-item small{font-size:11px}.shift-names{font-size:12px}.face{display:none}.report-paper{padding:22px}.report-summary{gap:15px;font-size:12px}.evidence-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}footer{padding:18px;display:block}footer span{display:block;margin-top:4px}.header-right>span:not(.avatar){display:none}.demo-banner{align-items:flex-start}.toolbar .search{width:100%}.settings-row{align-items:flex-start;flex-direction:column}dialog{padding:22px}.report-item-head{flex-wrap:wrap}.report-controls{padding:18px}.segmented{max-width:100%}.segmented button{padding:7px 13px}}@media print{body{background:white}#sidebar,header,.demo-banner,footer,.page-title,.report-controls,#toast,.no-print{display:none!important}.workspace{margin:0}main{padding:0;min-height:0}.report-layout{display:block}.report-paper{border:0;box-shadow:none;padding:0}.evidence img{height:auto;max-height:350px}.report-item{break-inside:avoid}.report-brand{color:#174e3d}dialog{display:none!important}}
.template-intro{display:flex;align-items:center;justify-content:space-between;background:var(--mint);border:1px solid #dce6d5;border-radius:12px;padding:24px;margin-bottom:20px;gap:20px}.template-intro h2{margin-top:10px;font-size:21px}.template-intro p{font-size:14px;color:var(--muted)}.template-intro>strong{font-size:38px;font-weight:500;white-space:nowrap;text-align:center}.template-intro small{display:block;font-size:12px;color:var(--muted)}.template-row{display:flex;align-items:center;gap:18px;padding:23px;border-bottom:1px solid var(--line)}.template-row:last-child{border-bottom:0}.template-number{font:22px Georgia;color:#a4b29c}.template-checks{font-size:13px;color:var(--muted);margin:5px 0 0}.period-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0}.period-summary .meta{display:block}.period-picker{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:560px){.template-row{gap:12px;flex-wrap:wrap;padding:18px}.template-row .task-main{min-width:65%}.template-row>.actions{margin-left:30px}.template-intro{padding:18px}.template-intro>strong{font-size:30px}.period-summary{align-items:flex-start}.period-summary strong{font-size:14px}.page-title .actions .btn{font-size:13px;padding:9px 12px}}
.training-video{margin:20px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fbfcf9}.training-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line)}.video-player{aspect-ratio:16/9;min-height:200px;background:#e9efe4}.video-player iframe{display:block;width:100%;height:100%;min-height:200px;border:0}.video-cover{height:100%;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:20px}.play-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:white;color:var(--green);font-size:17px}.video-cover strong{font-size:15px;font-weight:500}.training-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px;flex-wrap:wrap}.training-foot>span,.video-hint{font-size:12px;color:var(--muted)}.video-hint{padding:0 16px 12px;margin:0}.video-empty{padding:13px 16px;background:var(--mint);color:var(--muted);font-size:13px;border-radius:8px;margin:18px 0}.photo-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 9px}.upload-box .photo-choice{display:inline-flex;position:relative;overflow:hidden;font-size:14px;cursor:pointer}.photo-choice input[type=file]{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer;font-size:16px}.photo-choice:focus-within{outline:3px solid #bf914a;outline-offset:3px}.photo-choice:has(input:disabled){opacity:.5;cursor:wait}.photo-help{display:block;line-height:1.7}.video-task-badge{font-size:12px;color:var(--green);margin-top:2px}#video-preview:empty{display:none}
.assignment-preview{background:var(--mint);padding:12px 14px;border-radius:8px;margin:0 0 18px;font-size:14px}.assignment-preview strong{font-weight:500}.assignment-preview small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.check-editor-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.check-editor-row input:not([type=hidden]){flex:1;width:0;min-width:0}.check-index{font-size:13px;color:var(--muted);min-width:20px}.check-editor-row .btn{padding:8px 10px}.photo-check-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-check-heading strong{font-size:14px;font-weight:500}.photo-instruction{font-size:14px;color:var(--muted);margin:20px 0 8px}.video-fallback{padding:15px}.video-error{font-size:14px;color:var(--muted)}.video-unavailable{min-height:200px;display:grid;place-items:center;color:var(--muted);padding:20px}.task-assignment{margin-top:18px}.task-assignment .field{margin-bottom:12px}.retired-evidence{font-size:13px;margin:18px 0;color:var(--muted)}.retired-evidence figure{margin-top:12px}

/* Inventory: stocktaking and product settings */
.product-cell{display:flex;align-items:center;gap:14px;min-width:230px}.product-image{width:76px;height:76px;aspect-ratio:1;object-fit:contain;flex-shrink:0;border:1px solid #e2e9e4;border-radius:12px;background:#fff}.product-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#84978a;background:#f4f7f3}.product-placeholder svg{width:25px;height:25px}.product-placeholder small{font-size:10px!important;margin-top:4px}.stock-control{display:flex;align-items:center;gap:4px}.stock-control input{width:88px;min-width:0;text-align:center;padding:10px 4px;font-size:16px;font-weight:600;appearance:textfield}.stock-control input::-webkit-inner-spin-button{appearance:none}.stock-control button{min-width:36px;min-height:40px;padding:6px}.inventory-table td{vertical-align:middle}.inventory-table [data-stock-status]{color:#317459;font-size:11px}.product-upload{display:flex;gap:20px;align-items:center;margin:10px 0 24px}.product-upload .product-image{width:124px;height:124px}.product-upload p{margin:8px 0}.product-upload .text-btn{margin-left:10px}@media(max-width:600px){.product-upload{align-items:flex-start;gap:12px}.product-upload .product-image{width:90px;height:90px}.product-upload .text-btn{display:block;margin:10px 0 0}.product-cell{min-width:200px}.product-image{width:64px;height:64px}}

.inventory-filters{padding:20px;margin-bottom:20px}.inventory-filter-fields{display:flex;gap:16px;align-items:flex-end}.inventory-filter-fields .field{flex:1;margin:0;min-width:0}.inventory-filter-fields select{width:100%;font-size:16px}.inventory-filter-summary{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;font-size:14px;color:#64786c}.inventory-filter-summary strong{color:#174e3d}.inventory-filters .btn{min-height:44px}@media(max-width:600px){.inventory-filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inventory-filter-fields>.btn{grid-column:1/-1}.inventory-filters{padding:16px}.inventory-filter-summary{gap:6px;flex-direction:column}}

/* Compact stocktaking rows */
.inventory-table td{padding:10px 12px}.inventory-table .product-image{width:44px;height:44px;border-radius:7px}.inventory-table .product-placeholder small{display:none}.inventory-table .product-cell{gap:10px;min-width:180px}.inventory-table .product-cell b{font-size:14px}.inventory-table .stock-control input{width:70px;padding:7px 3px}.inventory-table .stock-control button{min-height:36px;min-width:32px}.inventory-table td>small{font-size:12px;margin-top:2px}
@media(max-width:1000px){.inventory-table,.inventory-table tbody{display:block;width:100%;min-width:0!important}.inventory-table thead{display:none}.inventory-table tr{display:grid;grid-template-columns:minmax(0,1fr) 142px 50px;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.inventory-table tr:last-child{border-bottom:0}.inventory-table td{display:block;padding:0;border:0;min-width:0;white-space:normal}.inventory-table td:nth-child(n+3):nth-child(-n+6){display:none}.inventory-table .product-cell{min-width:0;gap:8px}.inventory-table .product-cell>div{min-width:0}.inventory-table .product-cell b{display:block;overflow-wrap:anywhere;line-height:1.4}.inventory-table .product-cell small{font-size:12px;line-height:1.35;margin-top:3px}.inventory-table td:last-child .btn{min-height:36px;padding:6px 9px;font-size:14px}.inventory-table .stock-control{gap:3px}.inventory-table .stock-control input{width:66px}.inventory-table td>small{line-height:1.2}}
@media(max-width:480px){.inventory-table tr{grid-template-columns:minmax(0,1fr) 112px 44px;gap:6px;padding:9px 8px}.inventory-table .product-image{width:32px;height:32px}.inventory-table .product-cell{gap:6px}.inventory-table .stock-control input{width:46px}.inventory-table .stock-control button{min-width:30px;padding:4px}.inventory-table .product-cell small{font-size:11px}.inventory-table td:last-child .btn{padding:6px}.inventory-table [data-stock-status]{font-size:10px}}
.schedule-shifts{padding:0 20px 16px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.schedule-shift{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:var(--mint);border-radius:8px}.schedule-shift small{display:block;font-size:13px;color:var(--muted)}.schedule-help{padding:0 20px;font-size:14px;color:var(--muted)}.schedule-table select{min-width:100px;border:1px solid #aebeb2;background:#fff;cursor:pointer;font-size:14px}.coverage-table,.staff-week{width:100%;min-width:850px}.coverage-table th,.coverage-table td,.staff-week th,.staff-week td{padding:10px;text-align:center}.coverage-table th:first-child,.coverage-table td:first-child,.staff-week th:first-child,.staff-week td:first-child{position:sticky;left:0;background:white;z-index:1;text-align:left}.week-work{padding:9px 5px;min-width:100px;border-radius:7px;font-size:14px}.week-work.working{background:#e8f3ee;color:var(--green)}.week-work.rest{background:#f3f4f2;color:#849087}.week-work small{font-size:12px;white-space:nowrap}.staff-week th small,.schedule-table th small{display:block}.coverage-table{border-top:1px solid var(--line)}
.schedule-table .shift-select[data-shift="休息"]{background:#fff;color:var(--green);border:1px solid #aebeb2}.schedule-table .shift-select:hover{border-color:var(--green);background:#eef5ef}
.shift-grid{width:100%;min-width:1020px;table-layout:fixed}.shift-grid th,.shift-grid td{padding:10px;vertical-align:top}.shift-grid th:first-child{width:150px;position:sticky;left:0;background:white;z-index:1}.shift-grid th small{display:block;white-space:normal;font-weight:400;font-size:12px}.shift-cell{width:100%;min-height:110px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;background:#fff;border:1px solid #b9ccbf;border-radius:8px;padding:10px;text-align:left;color:var(--ink)}.shift-cell:hover{background:var(--mint);border-color:var(--green)}.shift-cell-names{display:flex;gap:5px;flex-wrap:wrap;font-size:14px}.shift-cell-names>span:not(.meta){background:var(--mint);padding:2px 6px;border-radius:4px}.shift-cell small{font-size:12px;color:var(--muted);white-space:normal}.shift-people{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.shift-person{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;cursor:pointer}.shift-person input{width:20px;height:20px;accent-color:var(--green);flex-shrink:0}.shift-person small{display:block;font-size:12px;color:var(--muted)}.shift-person.busy{background:#f4f4f2;color:var(--muted);cursor:default}@media(max-width:500px){.shift-people{grid-template-columns:1fr}}
.simple-shift-cell{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-height:42px}.assigned-person{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 4px 3px 9px;border-radius:6px;background:var(--mint);font-size:14px}.assigned-person button{font-size:20px;line-height:1;min-width:30px;min-height:30px;background:transparent;color:#64786c;border-radius:4px}.assigned-person button:hover{background:#f5e9e6;color:var(--red)}.add-shift-person{width:100%;min-width:0;min-height:36px;font-size:13px;padding:6px 3px;border:1px dashed #9eb7a6;border-radius:6px;background:white;color:var(--green);cursor:pointer}.add-shift-person:disabled{color:var(--muted);border-color:var(--line);font-size:12px;cursor:default}.shift-grid td{padding:10px 7px}
