:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d2924;background:#f3f6f4}
*{box-sizing:border-box}
body{margin:0;padding-bottom:env(safe-area-inset-bottom)}
.topbar{background:#172b24;color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:5}
.brand{font-weight:800;letter-spacing:.04em}
main{max-width:900px;margin:0 auto;padding:14px}
.panel{background:#fff;border:1px solid #dfe7e2;border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 2px 8px #15271d0a}
h1{font-size:1.35rem;margin:0 0 10px}
h2{font-size:1.1rem;margin:0 0 12px}
h3{font-size:1rem;margin:14px 0 8px}
p{line-height:1.55}
label{display:block;font-weight:650;margin:12px 0}
input,select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #cbd7cf;border-radius:10px;font:inherit;background:#fff}
button{font:inherit;font-weight:700;border:0;border-radius:11px;padding:12px 14px;cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
.primary{background:#176b48;color:white}
.ghost{background:#e8efeb;color:#1d392c}
.danger{background:#fff0ee;color:#9b2c20}
.wide{width:100%;margin-top:8px}
.muted{color:#66756c}
.small{font-size:.82rem}
.hint{font-size:.82rem;color:#66756c;line-height:1.5;margin-top:12px}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px}
.tab{white-space:nowrap;background:#e8efeb;color:#244234}
.tab.active{background:#176b48;color:#fff}
.row{display:flex;align-items:center;gap:10px}
.between{justify-content:space-between}
.summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pill{font-size:.78rem;padding:5px 9px;border-radius:99px;background:#e8efeb}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.action{padding:18px 12px;text-align:left;border:1px solid #dfe7e2;background:#fbfdfb;min-height:92px}
.action strong{display:block;font-size:1.02rem}
.action span{display:block;font-size:.8rem;color:#66756c;margin-top:5px}
.stat{background:#f3f7f4;border-radius:12px;padding:12px}
.stat b{display:block;font-size:1.5rem}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:9px 6px;border-bottom:1px solid #e7ede9}
td:last-child,th:last-child{text-align:right}
.notice{padding:12px;border-radius:10px;background:#f0f6f2;color:#254735;margin:10px 0}
.warn{background:#fff7e8;color:#80500b}
.error{background:#fff0ee;color:#9b2c20}
.big-number{font-size:2.1rem;font-weight:800;text-align:center;margin:8px 0}
.scan-box{padding:20px;background:#eef6f0;border:2px dashed #9cbba7;border-radius:14px;text-align:center;margin:12px 0}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#172b24;color:#fff;padding:11px 16px;border-radius:99px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20;max-width:90vw;text-align:center}
#toast.show{opacity:1}
.footer-panel{margin-top:18px}
@media(min-width:650px){main{padding:24px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.scanner-modal{position:fixed;inset:0;background:#07140edb;z-index:30;display:flex;align-items:center;justify-content:center;padding:14px}
.scanner-modal[hidden]{display:none}
.scanner-card{background:#fff;border-radius:16px;padding:14px;width:min(100%,560px);max-height:92dvh;overflow:auto}
#reader{width:100%;margin:14px auto;border-radius:12px;overflow:hidden;background:#101010;min-height:220px}
#reader video{object-fit:cover}
#reader__dashboard_section_csr button{padding:8px;margin:4px}

.label-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.barcode-label{border:1px dashed #aebbb3;border-radius:8px;padding:10px;text-align:center;break-inside:avoid;min-width:0}
.barcode-label b{display:block;font-size:.9rem}
.barcode{max-width:100%;height:auto}
@media print{
  body{background:#fff}
  .topbar,main>section:not(#appPanel),#setupPanel,#tabs,.summary,#view>h2,#view>p,#view>button,#view>table,#view>h3:not(:first-of-type),#view>label,#view>.notice,#view>.hint,#view>#addProduct{display:none!important}
  main{padding:0;max-width:none}
  #appPanel{display:block!important}
  #view{border:0;box-shadow:none;padding:0}
  #labelPrintArea{display:block!important}
  .barcode-label{border:1px solid #777}
}

/* Product price editor: visually group each product with its own controls. */
.product-price-card{border:1.5px solid #cbd8d0;border-radius:14px;padding:14px;margin:14px 0;background:#fbfdfb;box-shadow:0 1px 3px #15271d0a}
.product-price-card> b{display:block;font-size:1.02rem;padding-bottom:9px;margin-bottom:10px;border-bottom:1px solid #e2eae5}
.product-price-card details{margin-top:10px;padding-top:9px;border-top:1px solid #e2eae5}
.product-price-card summary{font-weight:650;cursor:pointer}

.dispatch-details{margin:12px 0;padding:10px 12px;border:1px solid var(--line,#d8e4dd);border-radius:10px;background:#fbfdfb}
.dispatch-details summary{cursor:pointer;font-weight:600;padding:4px 0}
.dispatch-details .table-wrap{overflow-x:auto;margin-top:10px}
.dispatch-details table{min-width:680px;width:100%;font-size:.9rem}
.dispatch-details th,.dispatch-details td{padding:9px 8px;text-align:left;border-bottom:1px solid var(--line,#d8e4dd);white-space:nowrap}

.stock-negative{color:#b42318;background:#fff1f0;font-weight:700}

.dispatch-choice{cursor:pointer;background:#fff}
.dispatch-choice:has(input:checked){border:2px solid var(--accent,#26734d);background:#f1f8f3}
.dispatch-choice input{margin-right:8px}

.analysis-bars{display:flex;flex-direction:column;gap:9px;margin:10px 0 22px}
.analysis-bar-row{display:grid;grid-template-columns:minmax(76px,1fr) minmax(80px,2fr) auto;gap:9px;align-items:center;font-size:.9rem}
.analysis-bar-row>span{overflow-wrap:anywhere}
.analysis-bar-track{height:12px;background:var(--border,#e5e7eb);border-radius:8px;overflow:hidden}
.analysis-bar-track i{display:block;height:100%;background:var(--primary,#3976b8);border-radius:8px}
.analysis-bar-row b{font-variant-numeric:tabular-nums;white-space:nowrap}

.analysis-expand{margin:8px 0 22px;padding:10px 12px;border:1px solid var(--border,#dce5e0);border-radius:10px}
.analysis-expand summary{cursor:pointer;font-weight:600;color:var(--primary,#176b4b);padding:3px 0}
.analysis-expand[open] summary{margin-bottom:8px}

.analysis-place-product{margin:18px 0;padding:14px;border:1px solid var(--border,#dce5e0);border-radius:12px}
.analysis-place-product h3{margin-top:0}


/* Gmail integration */
.tab-separated{margin-left:18px;border-left:2px solid #b8c8bf;padding-left:18px}
.gmail-card{margin:14px 0;padding:14px;border:1px solid #dfe7e2;border-radius:14px;background:#fff}
.gmail-card h3{margin-top:0}
.gmail-status{display:grid;gap:8px;margin-top:12px;padding:10px;background:#f4f7f5;border-radius:10px}
.gmail-message{border:1px solid #dfe7e2;border-radius:12px;padding:12px;margin:10px 0}
.gmail-attachment{gap:8px;padding:9px 0;border-top:1px solid #e7ede9;flex-wrap:wrap}
.gmail-attachment button{font-size:.82rem;padding:8px 10px}
