:root{--bg:#f5f5f7;--panel:#fff;--panel2:#fafafa;--text:#111113;--muted:#73737a;--line:#e4e4e8;--line2:#d4d4d8;--accent:#111113;--ok:#188038;--warn:#a15c00;--danger:#b42318;--shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.03)}
html[data-theme=dark]{--bg:#0f0f10;--panel:#18181a;--panel2:#202023;--text:#f5f5f7;--muted:#a1a1a8;--line:#2c2c30;--line2:#3a3a40;--accent:#f5f5f7;--ok:#55c878;--warn:#e9a23b;--danger:#ff7b72;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:226px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--panel);border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:4px 10px 22px}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--text);color:var(--panel);display:grid;place-items:center;font-weight:800}.brand strong{display:block;font-size:13px;letter-spacing:.13em}.brand span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.nav-group-label{font-size:9px;letter-spacing:.16em;color:var(--muted);padding:18px 12px 7px}.nav-btn{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text);padding:10px 12px;border-radius:10px;text-align:left;font-weight:600;cursor:pointer}.nav-btn:hover{background:var(--panel2)}.nav-btn.active{background:var(--bg)}.nav-icon{width:18px;text-align:center;color:var(--muted)}.nav-badge{margin-left:auto;font-size:10px;background:var(--panel2);border:1px solid var(--line);padding:1px 7px;border-radius:99px}.side-foot{margin-top:auto;border-top:1px solid var(--line);padding:16px 10px 0;color:var(--muted);font-size:10px;position:relative}.side-foot .dot{width:7px;height:7px;border-radius:50%;background:#34c759;display:inline-block;margin-right:7px}.side-foot b{font-size:10px;color:var(--text)}.side-foot small{display:block;margin-left:18px}.version{margin-top:12px;font-size:9px}.main{min-width:0}.topbar{height:94px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%, transparent);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:10}.eyebrow{font-size:9px;letter-spacing:.16em;color:var(--muted);font-weight:700}.topbar h1{font-size:25px;margin:4px 0 0;letter-spacing:-.03em}.top-actions{display:flex;gap:8px;align-items:center}button{font:inherit}.primary,.ghost,.icon-btn,.soft{height:38px;border-radius:10px;padding:0 14px;border:1px solid var(--line2);cursor:pointer;font-weight:650}.primary{background:var(--text);color:var(--panel);border-color:var(--text)}.ghost,.icon-btn,.soft{background:var(--panel);color:var(--text)}.icon-btn{width:38px;padding:0}.soft{background:var(--panel2)}button:disabled{opacity:.42;cursor:not-allowed}.content{padding:26px 30px 60px;max-width:1500px;margin:0 auto}.hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px}.hero h2{font-size:30px;margin:0 0 6px;letter-spacing:-.04em}.hero p{color:var(--muted);margin:0}.metrics{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:16px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;min-height:105px;box-shadow:var(--shadow)}.metric small{color:var(--muted);font-size:10px}.metric strong{display:block;font-size:28px;margin:9px 0 1px;letter-spacing:-.04em}.metric span{font-size:10px;color:var(--muted)}.grid2{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:12px}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 17px;border-bottom:1px solid var(--line)}.panel-head h3{font-size:14px;margin:0}.panel-head p{font-size:10px;color:var(--muted);margin:3px 0 0}.panel-body{padding:16px}.flow-list{display:grid;gap:8px}.flow-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;border:1px solid var(--line2);border-radius:99px;padding:4px 8px;width:max-content}.status.ok{color:var(--ok)}.status.warn{color:var(--warn)}.status.danger{color:var(--danger)}.order-main b{display:block;font-size:12px}.order-main small{display:block;color:var(--muted);margin-top:3px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{position:sticky;top:0;background:var(--panel);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tr:hover td{background:var(--panel2)}.sku-lines{display:flex;flex-wrap:wrap;gap:5px}.chip{display:inline-flex;gap:4px;align-items:center;border:1px solid var(--line);background:var(--panel2);padding:3px 7px;border-radius:7px;font-size:10px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.search{height:38px;background:var(--panel);border:1px solid var(--line2);color:var(--text);border-radius:10px;padding:0 12px;min-width:250px}.empty{padding:42px;text-align:center;color:var(--muted)}.packing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pack-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:17px}.pack-top{display:flex;justify-content:space-between;gap:10px}.pack-card h3{margin:0 0 3px;font-size:15px}.pack-card .addr{color:var(--muted);font-size:10px;margin-bottom:14px}.pick-list{display:grid;gap:7px;margin:13px 0}.pick{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;border-top:1px solid var(--line);padding-top:7px}.pick .carton{font-size:10px;color:var(--muted)}.pick b{font-size:11px}.print-job{display:grid;grid-template-columns:1fr 1px 1fr auto;gap:14px;align-items:stretch;padding:14px;border-bottom:1px solid var(--line)}.divider{background:var(--line)}.label-side b{font-size:12px;display:block}.label-side small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setting-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:17px}.setting-card h3{margin:0 0 12px}.field{display:grid;gap:5px;margin-bottom:12px}.field label{font-size:10px;color:var(--muted)}.field input,.field select{height:38px;border:1px solid var(--line2);border-radius:9px;background:var(--panel2);color:var(--text);padding:0 10px}.toast{position:fixed;right:22px;bottom:22px;background:var(--text);color:var(--panel);padding:11px 15px;border-radius:10px;font-size:11px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:none}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.32);backdrop-filter:blur(6px);z-index:50;display:grid;place-items:center;padding:24px}.modal-backdrop.hidden{display:none}.modal{width:min(680px,100%);max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.modal-head,.modal-foot{padding:16px 18px;border-bottom:1px solid var(--line)}.modal-foot{border-bottom:0;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.modal-body{padding:18px}.progress{height:7px;background:var(--panel2);border-radius:99px;overflow:hidden}.progress span{height:100%;display:block;background:var(--text)}.alert{border:1px solid var(--line);border-left:3px solid var(--warn);background:var(--panel2);border-radius:10px;padding:10px 12px;font-size:10px}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:9px}.timeline-item:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line2);margin-top:6px}.timeline-item.done:before{background:var(--ok)}.timeline-item>div{padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:9px}.timeline-item:last-child>div{border:0}.big-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--text);color:var(--panel);border-radius:14px;padding:18px;margin-bottom:12px}.big-cta h3{margin:0 0 4px}.big-cta p{margin:0;opacity:.65;font-size:10px}.big-cta button{background:var(--panel);color:var(--text);border:0;height:38px;border-radius:9px;padding:0 14px;font-weight:700;cursor:pointer}
@media(max-width:1000px){.app-shell{grid-template-columns:78px 1fr}.brand>div:last-child,.nav-btn span:not(.nav-badge),.nav-group-label,.side-foot div{display:none}.brand{justify-content:center}.nav-btn{justify-content:center}.nav-badge{display:none}.metrics{grid-template-columns:repeat(3,1fr)}.grid2,.settings-grid{grid-template-columns:1fr}.packing-grid{grid-template-columns:1fr}}
@media(max-width:700px){.app-shell{display:block}.sidebar{display:none}.topbar{padding:0 15px;height:82px}.content{padding:16px}.top-actions .ghost,.top-actions .icon-btn{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.hero{align-items:flex-start;flex-direction:column}.print-job{grid-template-columns:1fr}.divider{height:1px}.search{min-width:0;width:100%}}
.flow-steps{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.flow-steps span{padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-size:13px}.flow-steps b{color:var(--muted)}.pick.muted{opacity:.55}

/* V0.3.0 workflow refinements */
.import-zone{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;background:var(--panel);border:1.5px dashed var(--line2);border-radius:18px;padding:24px 26px;margin-bottom:14px;cursor:pointer;transition:.18s}.import-zone:hover,.import-zone.drag{border-color:var(--text);background:var(--panel2);transform:translateY(-1px)}.import-zone .import-icon{width:48px;height:48px;border-radius:14px;background:var(--text);color:var(--panel);display:grid;place-items:center;font-size:24px;font-weight:800}.import-zone h2{margin:0 0 4px;font-size:25px;letter-spacing:-.035em}.import-zone p{margin:0;color:var(--muted)}
.compact-metrics{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:9px;margin-bottom:14px}.compact-metric{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;align-items:baseline;justify-content:space-between;gap:10px}.compact-metric small{color:var(--muted);font-size:10px}.compact-metric strong{font-size:20px;letter-spacing:-.03em}
.order-products{display:grid;gap:4px}.order-products>div{display:flex;align-items:center;gap:8px;min-width:0}.order-products b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-products span{font-size:9px;font-weight:750;color:var(--muted);border:1px solid var(--line);padding:2px 6px;border-radius:6px;white-space:nowrap}
.pack-card{padding:18px;border-radius:16px}.pack-card.stock-error{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.pack-title h3{font-size:18px;margin:7px 0 1px}.pack-title>b{font-size:11px;color:var(--muted)}.checkline{font-size:10px;color:var(--muted);display:flex;gap:6px;align-items:center}.ship-meta{margin-top:11px;padding:8px 10px;border-radius:9px;background:var(--panel2);font-size:11px;font-weight:650}.product-stack{display:grid;gap:9px;margin:14px 0}.product-line{display:grid;grid-template-columns:132px minmax(0,1fr) 54px;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.carton-big{font-size:15px;font-weight:850;letter-spacing:-.02em;padding:8px 10px;border-radius:9px;background:var(--text);color:var(--panel);text-align:center}.product-name{font-size:15px;font-weight:800;min-width:0}.product-name small{display:block;color:var(--muted);font-size:10px;font-weight:500;margin-top:3px}.qty-big{font-size:22px;font-weight:850;text-align:right}.danger-line{border-color:color-mix(in srgb,var(--danger) 50%,var(--line))}.stock-warning{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));padding:9px 11px;border-radius:9px;font-size:11px;font-weight:700;margin-bottom:10px}.card-actions{display:flex;justify-content:flex-end;gap:8px}.card-actions .primary{flex:1}.danger-alert{border-left-color:var(--danger);font-size:12px}
.edit-label-grid{display:grid;gap:10px}.edit-label-row{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(160px,1.2fr) 110px 110px;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.edit-label-row>div b,.edit-label-row>div small{display:block}.edit-label-row>div small{color:var(--muted);margin-top:3px}.edit-label-row label{display:grid;gap:4px;font-size:9px;color:var(--muted)}.edit-label-row input{height:36px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);color:var(--text);padding:0 9px;min-width:0}
@media(max-width:1050px){.compact-metrics{grid-template-columns:repeat(3,1fr)}.edit-label-row{grid-template-columns:1fr 1fr}.product-line{grid-template-columns:110px minmax(0,1fr) 46px}}
@media(max-width:700px){.import-zone{grid-template-columns:1fr;padding:18px}.import-zone .import-icon{display:none}.compact-metrics{grid-template-columns:repeat(2,1fr)}.edit-label-row{grid-template-columns:1fr}.product-line{grid-template-columns:95px minmax(0,1fr) 42px}.carton-big,.product-name{font-size:12px}}

/* V0.4.0 compact operations refinements */
.folder-monitor{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 15px;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.folder-monitor>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.folder-monitor b{font-size:12px}.folder-monitor small{display:block;color:var(--muted);font-size:10px;grid-column:2}.folder-monitor>div:last-child{text-align:right}.folder-monitor>div:last-child strong{display:block;font-size:18px}.monitor-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.folder-monitor.active .monitor-dot{background:#34c759;box-shadow:0 0 0 4px color-mix(in srgb,#34c759 15%,transparent)}
.inventory-tools{display:flex;gap:8px;margin-bottom:12px}.inventory-tools select{height:38px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--text);padding:0 10px}.packing-section{margin-bottom:14px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 2px 9px}.section-title h3{font-size:14px;margin:0}.section-title span{font-size:10px;color:var(--muted)}.compact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pack-card.slim{padding:14px}.pack-card.slim h3{font-size:15px;margin:5px 0 2px}.pack-card.slim .pack-top small{display:block;color:var(--muted);font-size:9px}.product-stack.refined{gap:6px;margin:11px 0 8px}.product-line.refined{grid-template-columns:90px minmax(0,1fr) 40px;padding:8px 9px;border-radius:10px;gap:9px}.carton-chip{display:inline-flex;align-items:center;justify-content:center;min-width:76px;max-width:110px;padding:5px 8px;border-radius:7px;background:var(--text);color:var(--panel);font-size:11px;font-weight:800;white-space:nowrap}.product-line.refined .product-name{font-size:12px}.product-line.refined .product-name small{font-size:9px}.qty-chip{font-size:16px;text-align:right}.mini-ship{font-size:10px;color:var(--muted);margin:4px 0 10px}.full{width:100%}.packed-list-panel{overflow:visible}.packed-list{display:grid}.packed-row{display:grid;grid-template-columns:24px minmax(180px,.9fr) minmax(260px,1.6fr) auto;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line)}.packed-row:last-child{border-bottom:0}.packed-main b,.packed-main small{display:block}.packed-main small{font-size:9px;color:var(--muted);margin-top:2px}.packed-products{display:flex;gap:6px;flex-wrap:wrap}.packed-products span{font-size:10px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:var(--panel2)}.packed-products b{margin-right:4px}.row-actions{display:flex;gap:6px}.simple-list{display:grid}.simple-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.simple-list-row:hover{background:var(--panel2)}.simple-list-row:last-child{border-bottom:0}.simple-list-row span:first-child b,.simple-list-row span:first-child small{display:block}.simple-list-row small{color:var(--muted);font-size:9px;margin-top:2px}.simple-list-row>span:last-child{font-size:10px;color:var(--muted);white-space:nowrap}.rule-summary{display:grid}.rule-summary>div{display:flex;justify-content:space-between;gap:12px;padding:11px 15px;border-bottom:1px solid var(--line);font-size:10px}.rule-summary>div:last-child{border-bottom:0}.rule-summary span{color:var(--muted);white-space:nowrap}.modal.wide-modal{width:min(900px,100%)}.modal.extra-wide{width:min(1180px,100%)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:grid;gap:5px;font-size:10px;color:var(--muted)}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select{height:38px;border:1px solid var(--line2);border-radius:9px;background:var(--panel2);color:var(--text);padding:0 10px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head h3{margin:0 0 3px}.modal-head p{margin:0;color:var(--muted);font-size:10px}.expanded-products{display:grid;gap:7px;margin-bottom:14px}.expanded-products>div{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.detail-grid>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.detail-grid small,.detail-grid b{display:block}.detail-grid small{color:var(--muted);font-size:9px;margin-bottom:3px}.clean-panel{margin-top:0}
@media(max-width:1050px){.compact-cards{grid-template-columns:1fr}.packed-row{grid-template-columns:24px 1fr auto}.packed-products{grid-column:2/4}.row-actions{grid-column:3;grid-row:1}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
@media(max-width:700px){.inventory-tools{flex-direction:column}.folder-monitor{align-items:flex-start}.packed-row{grid-template-columns:24px 1fr}.packed-products,.row-actions{grid-column:2}.detail-grid{grid-template-columns:1fr}}

/* V0.4.2 Logistics + Inventory refinement */
.page-kicker{display:block;font-size:9px;letter-spacing:.15em;color:var(--muted);font-weight:750;margin-bottom:7px}.logistics-head,.inventory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.logistics-head h2,.inventory-head h2{font-size:29px;line-height:1.05;margin:0 0 7px;letter-spacing:-.045em}.logistics-head p,.inventory-head p{margin:0;color:var(--muted);max-width:780px;font-size:12px}.monitor-strip-v2{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:13px 15px;margin-bottom:12px;box-shadow:var(--shadow)}.monitor-main{display:flex;align-items:center;gap:10px}.monitor-main>div{display:grid;gap:2px}.monitor-main b{font-size:12px}.monitor-main small{font-size:10px;color:var(--muted)}.monitor-dot{width:9px;height:9px;border-radius:50%;background:var(--line2);box-shadow:0 0 0 4px color-mix(in srgb,var(--line2) 28%,transparent)}.monitor-dot.live{background:#34c759;box-shadow:0 0 0 4px rgba(52,199,89,.12)}.monitor-controls{display:flex;align-items:center;gap:8px}.scan-meta{font-size:10px;color:var(--muted);padding-right:5px}.logistics-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel);margin-bottom:12px}.logistics-metrics article{padding:14px 16px;min-height:92px;border-right:1px solid var(--line);display:flex;flex-direction:column}.logistics-metrics article:last-child{border-right:0}.logistics-metrics span{font-size:10px;color:var(--muted)}.logistics-metrics b{font-size:27px;line-height:1;margin:12px 0 5px;letter-spacing:-.04em}.logistics-metrics small{font-size:8px;letter-spacing:.08em;color:var(--muted)}.metric-alert b{color:var(--danger)}.logistics-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:12px}.logistics-panel{margin-bottom:0}.linklike{border:0;background:transparent;color:var(--text);font-size:10px;font-weight:700;cursor:pointer;padding:5px}.recent-label-list,.mini-print-list{min-height:248px}.recent-label-row{display:grid;grid-template-columns:8px minmax(160px,1.2fr) minmax(140px,.8fr) auto;align-items:center;gap:11px;padding:12px 15px;border-bottom:1px solid var(--line)}.recent-label-row:last-child{border-bottom:0}.label-state{width:7px;height:7px;border-radius:50%;background:var(--line2)}.label-state.ok{background:#34c759}.label-state.bad{background:var(--danger)}.recent-label-main,.recent-label-order{display:grid;gap:2px;min-width:0}.recent-label-main b,.recent-label-order b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-label-main small,.recent-label-order small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.danger-text{color:var(--danger)}.tiny-btn,.subtle-btn{height:31px;border:1px solid var(--line2);background:var(--panel);color:var(--text);border-radius:8px;padding:0 10px;font-size:10px;font-weight:650;cursor:pointer}.tiny-btn:hover,.subtle-btn:hover{background:var(--panel2)}.mini-print-row{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line)}.mini-print-row:last-child{border-bottom:0}.mini-print-row>i{height:42px;background:var(--line)}.mini-print-row>div{display:grid;gap:2px;min-width:0}.mini-print-row small{font-size:8px;letter-spacing:.08em;color:var(--muted)}.mini-print-row b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-print-row span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-empty{padding:70px 20px}.quick-logistics{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:15px 16px;margin-top:12px}.quick-logistics>div:first-child{display:grid;gap:3px}.quick-logistics b{font-size:12px}.quick-logistics span{font-size:10px;color:var(--muted);max-width:780px}.folder-settings{display:grid;gap:0;padding-top:5px}.folder-setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.folder-setting-row>div{display:grid;gap:3px}.folder-setting-row b{font-size:12px}.folder-setting-row small{font-size:10px;color:var(--muted)}.folder-note{margin-top:14px;padding:10px 12px;border-radius:9px;background:var(--panel2);font-size:10px;color:var(--muted)}
.inventory-overview{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel);margin-bottom:12px}.inventory-overview article{padding:14px 16px;border-right:1px solid var(--line);min-height:78px;display:flex;flex-direction:column;justify-content:space-between}.inventory-overview article:last-child{border-right:0}.inventory-overview span{font-size:9px;color:var(--muted)}.inventory-overview b{font-size:24px;letter-spacing:-.035em}.inventory-shell{border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden;box-shadow:var(--shadow)}.inventory-bar{display:grid;grid-template-columns:minmax(220px,360px) 165px 1fr;gap:9px;align-items:center;padding:12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 45%,var(--panel))}.inventory-search{height:36px;border:1px solid var(--line2);border-radius:9px;background:var(--panel);display:flex;align-items:center;gap:8px;padding:0 10px}.inventory-search span{color:var(--muted)}.inventory-search input{border:0;outline:0;background:transparent;color:var(--text);width:100%;font:inherit}.inventory-bar select{height:36px;border:1px solid var(--line2);border-radius:9px;background:var(--panel);color:var(--text);padding:0 10px}.inventory-actions{justify-self:end;display:flex;gap:7px}.subtle-btn em{font-style:normal;display:inline-grid;place-items:center;min-width:17px;height:17px;border-radius:99px;background:var(--panel2);font-size:8px;margin-left:4px}.inventory-table{width:100%;border-collapse:collapse;font-size:11px;min-width:950px}.inventory-table th{background:var(--panel);color:var(--muted);font-size:8px;letter-spacing:.07em;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid var(--line);position:sticky;top:0}.inventory-table td{height:51px;padding:9px 12px;border-bottom:1px solid var(--line)}.inventory-table tbody tr:last-child td{border-bottom:0}.inventory-table tbody tr:hover td{background:color-mix(in srgb,var(--panel2) 65%,transparent)}.carton-mini{display:inline-flex;align-items:center;height:27px;padding:0 9px;border:1px solid var(--line2);border-radius:7px;font-weight:700;font-size:10px;background:var(--panel2)}.sku-title{display:block;font-size:11px}.sku-note{display:block;font-size:9px;color:var(--muted);margin-top:2px}.mono-cell{font-variant-numeric:tabular-nums;color:var(--muted)}.stock-number{font-size:15px;font-variant-numeric:tabular-nums}.stock-number.low{color:var(--danger)}.stock-state{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:99px;border:1px solid var(--line2);font-size:9px;font-weight:700}.stock-state.ok{color:var(--ok)}.stock-state.low{color:var(--danger)}.stock-state.muted{color:var(--muted)}
@media(max-width:1050px){.logistics-grid{grid-template-columns:1fr}.inventory-bar{grid-template-columns:1fr 160px}.inventory-actions{grid-column:1/-1;justify-self:start}.inventory-overview{grid-template-columns:repeat(3,1fr)}.inventory-overview article:nth-child(3){border-right:0}.inventory-overview article:nth-child(n+4){border-top:1px solid var(--line)}}
@media(max-width:760px){.logistics-head,.inventory-head,.monitor-strip-v2,.quick-logistics{align-items:stretch;flex-direction:column}.monitor-controls{flex-wrap:wrap}.logistics-metrics{grid-template-columns:1fr 1fr}.logistics-metrics article:nth-child(2){border-right:0}.logistics-metrics article:nth-child(n+3){border-top:1px solid var(--line)}.recent-label-row{grid-template-columns:8px 1fr auto}.recent-label-order{display:none}.inventory-overview{grid-template-columns:1fr 1fr}.inventory-overview article{border-top:1px solid var(--line)}.inventory-overview article:nth-child(-n+2){border-top:0}.inventory-overview article:nth-child(2n){border-right:0}.inventory-bar{grid-template-columns:1fr}.inventory-actions{grid-column:auto;flex-wrap:wrap}}

/* V0.4.2 — restore proven Label Manager visual language and Inventory V1.5.5 compact table */
.label-manager-shell{max-width:1500px;margin:0 auto}.legacy-monitor{min-height:62px;margin-bottom:14px}.legacy-label-metrics{grid-template-columns:repeat(4,1fr);gap:12px}.legacy-label-metrics .metric{min-height:116px;padding:17px}.legacy-label-grid{grid-template-columns:1.1fr .9fr;gap:14px}.legacy-label-grid .card{border-radius:16px}.legacy-label-grid .activity-list{padding:0 10px 10px}.legacy-label-grid .activity-row{min-height:56px;padding:8px}.legacy-label-grid .mini-queue{padding:0 12px 12px}.legacy-quick{margin-top:14px;border-radius:16px}.legacy-quick p{max-width:820px}.legacy-quick .quick-actions{flex-wrap:wrap}.metric-alert .metric-value{color:var(--danger)}
.inventory-v154{max-width:1500px;margin:0 auto}.inventory-page-head{margin:2px 0 14px}.inventory-page-head h1{font-size:29px;margin:5px 0 3px;letter-spacing:-.035em}.inventory-page-head p{font-size:11px;color:var(--muted);margin:0}.primary-action,.ghost-btn,.table-edit-btn{min-height:38px;border:1px solid var(--line2);background:var(--panel);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-radius:9px;font-size:11px;font-weight:650;cursor:pointer}.primary-action{background:var(--text);border-color:var(--text);color:var(--panel)}.ghost-btn:hover,.table-edit-btn:hover{background:var(--panel2)}.inventory-summary-line{min-height:46px;border:1px solid var(--line);border-radius:11px;background:var(--panel);display:flex;align-items:center;gap:14px;padding:0 14px;margin-bottom:12px;color:var(--muted);font-size:10px}.inventory-summary-line span{display:flex;align-items:baseline;gap:5px}.inventory-summary-line b{font-size:15px;color:var(--text);font-variant-numeric:tabular-nums}.inventory-summary-line i{width:1px;height:18px;background:var(--line)}.inventory-main-panel{border-radius:12px}.inventory-filters{padding:12px;display:grid;grid-template-columns:minmax(260px,1fr) 190px auto;gap:9px;align-items:center;background:var(--panel);border-bottom:1px solid var(--line)}.inventory-filters label{height:40px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);display:flex;align-items:center;gap:8px;padding:0 10px}.inventory-filters input{border:0;outline:0;background:transparent;color:var(--text);min-width:0;flex:1;font-size:11px}.inventory-filters select{height:40px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);padding:0 10px;font-size:11px}.search-glyph{color:var(--muted)}.inventory-inline-actions{display:flex;justify-content:flex-end;gap:7px}.inventory-inline-actions .ghost-btn b{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:var(--panel2);font-size:8px}.inventory-v154-table{min-width:980px;font-size:10px}.inventory-v154-table th,.inventory-v154-table td{height:44px;padding:9px 12px}.inventory-v154-table th{background:var(--panel2);font-size:8px;text-transform:none;letter-spacing:0}.inventory-v154-table tbody tr:hover td{background:var(--panel2)}.inventory-v154-table td:first-child b{font-size:10px}.inventory-v154-table td:nth-child(2)>b{font-size:10px}.inventory-v154-table .sku-note{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}.inventory-v154-table .stock-number{font-size:12px}.badge{display:inline-block;border:1px solid var(--line);padding:4px 7px;background:var(--panel2);color:var(--text);border-radius:99px;font-size:8px;font-weight:650}.badge.danger{color:var(--danger)}.badge.muted{color:var(--muted)}.table-edit-btn{min-height:30px;height:30px;padding:0 10px;font-size:9px;border-radius:7px}
@media(max-width:1050px){.legacy-label-grid{grid-template-columns:1fr}.inventory-filters{grid-template-columns:1fr 180px}.inventory-inline-actions{grid-column:1/-1;justify-content:flex-start}.legacy-label-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.legacy-monitor,.legacy-quick,.inventory-page-head{align-items:stretch;flex-direction:column}.legacy-monitor .monitor-actions,.legacy-quick .quick-actions{flex-wrap:wrap}.inventory-summary-line{overflow:auto}.inventory-filters{grid-template-columns:1fr}.inventory-inline-actions{grid-column:auto;flex-wrap:wrap}.legacy-label-metrics{grid-template-columns:1fr 1fr}}


/* ==========================================================================\n   V1.2.2 — Animal Island UI exact-spec layer\n   Values and interaction contracts transcribed from guokaigdg/animal-island-ui\n   docs/design-system. Existing NEOVORA layout classes are retained; component\n   surfaces use the reference pixel specifications instead of approximations.\n   ========================================================================== */
:root{
  --animal-font:Nunito,'Noto Sans SC',-apple-system,'PingFang SC','Hiragino Sans GB',sans-serif;
  --animal-primary:#19c8b9;--animal-primary-hover:#3dd4c6;--animal-primary-active:#11a89b;--animal-primary-bg:#e6f9f6;
  --animal-text:#794f27;--animal-text-body:#725d42;--animal-text-secondary:#9f927d;--animal-text-muted:#8a7b66;--animal-text-disabled:#c4b89e;
  --animal-bg:#f8f8f0;--animal-bg-content:rgb(247,243,223);--animal-bg-disabled:#f0ece2;
  --animal-border:#c4b89e;--animal-border-hover:#a89878;
  --animal-radius-sm:12px;--animal-radius:18px;--animal-radius-lg:24px;--animal-radius-pill:50px;
  --animal-shadow-btn:#bdaea0;--animal-shadow-input:#d4c9b4;--animal-shadow-switch:#5a9e1e;
  --animal-focus-yellow:#ffcc00;--animal-focus-yellow-d:#e0b800;--animal-sidebar-active:#b7c6e5;--animal-sidebar-hover:#d6dff0;
  --animal-success:#6fba2c;--animal-warning:#f5c31c;--animal-error:#e05a5a;
  --animal-ease:cubic-bezier(.4,0,.2,1);--animal-duration-fast:.15s;--animal-duration:.25s;--animal-duration-slow:.35s;
  --bg:var(--animal-bg);--panel:var(--animal-bg-content);--panel2:#fffdf7;--text:var(--animal-text);--muted:var(--animal-text-muted);
  --line:#e8dcc8;--line2:var(--animal-border);--accent:var(--animal-primary);--ok:var(--animal-success);--warn:var(--animal-warning);--danger:var(--animal-error);
  --soft:var(--animal-primary-bg);--shadow:none;--soft-shadow:0 3px 10px 0 rgba(61,52,40,.10)
}
html[data-theme=dark]{
  --bg:#2b2118;--panel:#3a3025;--panel2:#44382b;--text:#f7f3df;--muted:#d4c9b4;--line:#5b4a37;--line2:#75634a;
  --accent:#3dd4c6;--ok:#8ac68a;--warn:#f7cd67;--danger:#fc736d;--soft:#254b46
}
*{box-sizing:border-box}
html,body{font-family:var(--animal-font);font-weight:500;letter-spacing:.01em}
body{color:var(--text);background:
 radial-gradient(circle,rgba(90,160,90,.22) 1.5px,transparent 1.5px) 0 0/28px 28px,
 radial-gradient(circle,rgba(140,200,140,.15) 1px,transparent 1px) 7px 7px/14px 14px,
 #bfe3bf}
.animal-defs{position:absolute;width:0;height:0;overflow:hidden}
.app-shell{background:rgba(248,248,240,.78)}
.main{background:rgba(248,248,240,.88)}
.sidebar{background:rgb(247,243,223);border-right:2px solid #e8dcc8;box-shadow:none}
.brand-mark{width:38px;height:38px;border-radius:18px;background:#19c8b9;color:#fff;font-weight:900;box-shadow:0 5px 0 0 #11a89b;transform:rotate(-3deg)}
.brand strong{color:#794f27;font-weight:900}.brand span{color:#9f927d;font-weight:600}
.nav-group-label,.eyebrow,.page-kicker{color:#9f927d;font-weight:700;letter-spacing:.02em}
.nav-btn{min-height:42px;border-radius:18px;color:#725d42;font-weight:700;transition:all .2s var(--animal-ease)}
.nav-btn:hover{background:#e6f9f6;color:#19c8b9;transform:translateY(-1px)}
.nav-btn.active{background:#19c8b9;color:#fff;font-weight:700}
.nav-btn.active .nav-icon{color:#fff}.nav-badge{background:#fffbe7;color:#725d42;border:1.5px solid #e8dcc8;border-radius:999px;font-weight:700}
.side-foot{border-top:1px dashed #e8dcc8;color:#9f927d}.side-foot b{color:#725d42}.side-foot .dot{background:#6fba2c}
.topbar{background:rgba(247,243,223,.92);border-bottom:2px solid #e8dcc8;backdrop-filter:blur(12px)}
.topbar h1,.hero h2,.logistics-head h2,.inventory-page-head h1{color:#794f27;font-weight:900;letter-spacing:.01em}
.content{background:transparent}
button,input,select,textarea{font-family:var(--animal-font);font-weight:500}
button{transition:all .2s var(--animal-ease)}
/* Button — exact general.md contract */
.primary,.primary-action{height:45px;padding:0 20px;font-size:14px;border:2px solid #f8f8f0;border-radius:50px;color:#794f27;background:#f8f8f0;font-weight:600;letter-spacing:.02em;line-height:1;box-shadow:0 5px 0 0 #bdaea0;cursor:pointer}
.primary:hover,.primary-action:hover{transform:translateY(-1px);box-shadow:0 6px 0 0 #bdaea0}
.primary:active,.primary-action:active{transform:translateY(2px);box-shadow:0 1px 0 0 #bdaea0}
.primary:focus-visible,.primary-action:focus-visible{outline:2px solid #19c8b9;outline-offset:2px}
.ghost,.icon-btn,.soft,.ghost-btn,.table-edit-btn,.tiny-btn,.subtle-btn{min-height:32px;border:2px solid #e8dcc8;border-radius:50px;background:#fffdf7;color:#725d42;font-weight:600;box-shadow:0 2px 4px 0 rgba(61,52,40,.06);cursor:pointer}
.ghost:hover,.icon-btn:hover,.soft:hover,.ghost-btn:hover,.table-edit-btn:hover,.tiny-btn:hover,.subtle-btn:hover{color:#19c8b9;border-color:#19c8b9;box-shadow:0 3px 10px 0 rgba(61,52,40,.10);transform:translateY(-1px)}
.ghost:active,.icon-btn:active,.soft:active,.ghost-btn:active,.table-edit-btn:active,.tiny-btn:active,.subtle-btn:active{color:#11a89b;border-color:#11a89b;transform:translateY(0);box-shadow:0 2px 4px 0 rgba(61,52,40,.06)}
button:focus-visible{outline:2px solid #19c8b9;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}
.icon-btn{width:40px;padding:0}.theme-orb{display:block;width:14px;height:14px;margin:auto;border-radius:50%;background:#19c8b9;border:2px solid #11a89b}
/* Input / selects — Input pixel spec */
.search,.field input,.field select,.form-grid input,.form-grid select,.edit-label-row input,.inventory-search,.inventory-bar select,.inventory-filters label,.inventory-filters select,#mapSelect,#labelOrderSelect{
 min-height:40px;border:0!important;border-radius:50px!important;background:#fffbe7!important;color:#8a7b66!important;font-size:14px;font-weight:500;letter-spacing:.01em;box-shadow:none;transition:all .2s var(--animal-ease)}
.search,.field input,.field select,.form-grid input,.form-grid select,.edit-label-row input,.inventory-bar select,.inventory-filters select{padding:0 18px}
input::placeholder{color:#c4b89e;font-weight:400}
.search:hover,.field input:hover,.field select:hover,.form-grid input:hover,.form-grid select:hover,.edit-label-row input:hover,.inventory-search:hover,.inventory-bar select:hover,.inventory-filters label:hover,.inventory-filters select:hover{box-shadow:0 3px 0 0 #c4b89e}
.search:focus,.field input:focus,.field select:focus,.form-grid input:focus,.form-grid select:focus,.edit-label-row input:focus,.inventory-search:focus-within,.inventory-bar select:focus,.inventory-filters label:focus-within,.inventory-filters select:focus,#mapSelect:focus,#labelOrderSelect:focus{outline:0;box-shadow:0 3px 0 0 #e0b800,0 0 0 3px rgba(255,204,0,.15)}
/* Card — exact layout.md defaults */
.panel,.metric,.compact-metric,.pack-card,.setting-card,.inventory-shell,.inventory-main-panel,.clean-panel,.logistics-panel,.packed-list-panel,.monitor-strip-v2,.quick-logistics,.inventory-summary-line,.inventory-overview,.import-zone{
 border-radius:20px;background:rgb(247,243,223);color:#725d42;box-shadow:none;transition:all .3s ease}
.panel,.metric,.compact-metric,.pack-card,.setting-card,.inventory-shell,.inventory-main-panel,.clean-panel,.logistics-panel,.packed-list-panel,.monitor-strip-v2,.quick-logistics,.inventory-summary-line,.inventory-overview{border:1.5px solid #e8dcc8}
.panel{overflow:hidden}.panel-head{border-bottom:1px dashed rgb(240,232,216);padding:16px 20px}.panel-head h3{color:#725d42;font-weight:700}.panel-head p{color:#9f927d}
.metric,.compact-metric{padding:16px 24px;min-height:96px}.metric small,.metric span,.compact-metric span{color:#9f927d}.metric strong,.compact-metric strong{color:#794f27;font-weight:900}
.panel.hoverable:hover,.metric:hover,.pack-card:hover,.setting-card:hover{transform:translateY(-2px)}
/* patterned cards / accents using documented Card palette */
.metric:nth-child(6n+1){background:radial-gradient(circle,rgba(130,213,187,.18) 1.5px,transparent 1.5px) 0 0/28px 28px,radial-gradient(circle,rgba(130,213,187,.12) 1px,transparent 1px) 7px 7px/14px 14px,#e3f6f0;border-color:#82d5bb}
.metric:nth-child(6n+2){background:radial-gradient(circle,rgba(247,205,103,.18) 1.5px,transparent 1.5px) 0 0/28px 28px,#fff2cf;border-color:#f7cd67}
.metric:nth-child(6n+3){background:radial-gradient(circle,rgba(183,125,238,.15) 1.5px,transparent 1.5px) 0 0/28px 28px,#f2e8fb;border-color:#b77dee}
.metric:nth-child(6n+4){background:radial-gradient(circle,rgba(136,157,240,.15) 1.5px,transparent 1.5px) 0 0/28px 28px,#e9edfb;border-color:#889df0}
.metric:nth-child(6n+5){background:radial-gradient(circle,rgba(248,166,178,.18) 1.5px,transparent 1.5px) 0 0/28px 28px,#fde4e8;border-color:#f8a6b2}
.metric:nth-child(6n){background:radial-gradient(circle,rgba(138,198,138,.17) 1.5px,transparent 1.5px) 0 0/28px 28px,#e9f5e9;border-color:#8ac68a}
/* Table — exact data-display.md contract */
.table-wrap{background:rgb(247,243,223);border-radius:20px;padding:6px;overflow:auto}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;color:#725d42}
th{position:sticky;top:0;background:rgb(247,243,223);padding:16px 20px;font-size:14px;font-weight:700;color:#725d42;letter-spacing:.02em;text-transform:none;border-bottom:1px dashed rgb(240,232,216);z-index:1}
td{padding:14px 20px;font-size:14px;font-weight:500;color:#725d42;line-height:1.6;border-bottom:1px dashed rgb(240,232,216)}
tbody tr:nth-child(even) td{background:rgba(248,248,240,.6)}
tbody tr:hover td{background:repeating-linear-gradient(-45deg,rgba(25,200,185,.6) 0 10px,rgba(14,196,182,.6) 10px 20px);background-size:28.28px 28.28px;color:#3d2e1e}
tbody tr:hover td:first-child{border-radius:30px 0 0 30px}tbody tr:hover td:last-child{border-radius:0 30px 30px 0}
.inventory-v154-table{font-size:13px}.inventory-v154-table th{font-size:13px}.inventory-v154-table td{font-size:13px;height:auto}
/* Tag — exact pill geometry, operational palette */
.status,.stock-state,.badge,.chip,.carton-chip,.carton-mini{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;line-height:1;font-weight:600;border-radius:999px;border:1.5px solid transparent;transition:all .2s ease;white-space:nowrap;min-height:24px;padding:0 10px;font-size:12px}
.status,.badge,.chip,.carton-mini{background:#f5f0e6;color:#8f734f}.status.ok,.stock-state.ok{background:#8ac68a;border-color:#8ac68a;color:#fff}.status.warn{background:#f7cd67;border-color:#f7cd67;color:#fff}.status.danger,.stock-state.low,.badge.danger{background:#fc736d;border-color:#fc736d;color:#fff}.badge.info{background:#889df0;border-color:#889df0;color:#fff}.carton-chip{background:#82d5bb;border-color:#82d5bb;color:#fff}.chip:nth-child(4n+1){background:#82d5bb;color:#fff}.chip:nth-child(4n+2){background:#f7cd67;color:#fff}.chip:nth-child(4n+3){background:#b77dee;color:#fff}.chip:nth-child(4n){background:#f8a6b2;color:#fff}
/* Logistics / inventory compact surfaces */
.monitor-strip-v2,.quick-logistics,.inventory-summary-line{padding:16px 20px}.monitor-dot.live{background:#6fba2c;box-shadow:0 0 0 4px rgba(111,186,44,.15)}
.logistics-metrics,.inventory-overview{border-radius:20px;border:1.5px solid #e8dcc8;background:rgb(247,243,223);overflow:hidden}.logistics-metrics article,.inventory-overview article{border-color:#e8dcc8}
.recent-label-row,.mini-print-row,.packed-row{border-bottom:1px dashed rgb(240,232,216)}.recent-label-row:hover,.mini-print-row:hover,.packed-row:hover{background:#e6f9f6}
.inventory-filters{background:rgb(247,243,223);border-bottom:1px dashed rgb(240,232,216)}
.inventory-summary-line{border-style:dashed}.stock-number{font-weight:900;color:#794f27}.stock-number.low{color:#e05a5a}
/* Import / action areas */
.import-zone{border:2px dashed #e8dcc8;background:rgb(250,248,242);padding:18px 24px}.import-zone:hover{transform:none;border-color:#d4c4a8}.import-icon{width:52px;height:52px;border-radius:50%;background:#e6f9f6;display:grid;place-items:center}.import-icon:after,.import-icon span{border-color:#19c8b9;background:#19c8b9;color:#19c8b9}
.big-cta{background:rgb(247,243,223);color:#725d42;border:2px dashed #e8dcc8;border-radius:20px;box-shadow:none}.big-cta button{height:45px;padding:0 20px;border-radius:50px;background:#f8f8f0;color:#794f27;box-shadow:0 5px 0 #bdaea0;font-weight:600}
.pack-card{position:relative;overflow:hidden}.pack-card:before{content:"";position:absolute;width:88px;height:88px;border-radius:50%;right:-32px;top:-34px;background:rgba(248,166,178,.18)}.pick{border-top:1px dashed rgb(240,232,216)}.packed-row{background:#fffbe7;border:1.5px solid #e8dcc8;border-radius:18px}
.progress{height:10px;background:#f0ece2;border-radius:50px;overflow:hidden}.progress span{height:100%;display:block;background:repeating-linear-gradient(-45deg,#0ec4b6,#0ec4b6 10px,#01b0a7 10px,#01b0a7 20px);background-size:28.28px 28.28px;animation:animal-btn-loading 1s linear infinite}@keyframes animal-btn-loading{to{background-position:-28.28px 0}}
.alert{border:2px solid #f5c31c;background:#fffbe7;border-radius:18px;padding:12px 16px;color:#725d42}.danger-alert{border-color:#e05a5a}
/* Modal — exact SVG blob clip path from overlays.md */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1000;display:grid;place-items:center;padding:32px;animation:animal-fade-in .25s ease;backdrop-filter:none}.modal-backdrop.hidden{display:none}
.modal{width:min(720px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow:auto;clip-path:url(#animal-modal-clip);background:rgb(247,243,223);color:rgb(128,115,89);border:0;border-radius:0;box-shadow:none;animation:animal-zoom-in .3s ease;padding:30px 42px 24px}
.modal.wide-modal{width:min(940px,calc(100vw - 32px))}.modal.extra-wide{width:min(1240px,calc(100vw - 32px))}.modal.small-modal{width:min(560px,calc(100vw - 32px))}
.modal-head{padding:18px 6px 15px;border:0;border-bottom:1px dashed #e8dcc8}.modal-head h3{margin:0;font-size:28px;font-weight:700;color:#725d42}.modal-head p{margin:6px 0 0;color:#9f927d;font-size:13px;font-weight:500}.modal-head .icon-btn{width:32px;height:32px;min-height:32px;border:0;background:transparent;box-shadow:none;color:rgba(114,93,66,.6)}.modal-head .icon-btn:hover{background:rgba(114,93,66,.1);color:#725d42;transform:none}
.modal-body{padding:20px 6px;font-size:14px;font-weight:500;line-height:1.6;color:#8a7b66}.modal-foot{padding:14px 6px 8px;border:0;border-top:1px dashed #e8dcc8;display:flex;justify-content:flex-end;gap:12px}.modal-foot .primary{color:#725d42;background:#ffcc00;border-color:#ffcc00;box-shadow:none;height:40px;padding:0 24px;font-size:16px}.modal-foot .primary:hover{background:rgba(255,204,0,.85);border-color:rgba(255,204,0,.85);transform:none;box-shadow:none}.modal-foot .ghost{height:40px;padding:0 24px;font-size:16px;border:2px solid rgba(114,93,66,.3);background:transparent;box-shadow:none}.modal-foot .ghost:hover{border-color:rgba(114,93,66,.6);background:rgba(114,93,66,.08);transform:none;box-shadow:none}
@keyframes animal-fade-in{from{opacity:0}to{opacity:1}}@keyframes animal-zoom-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
.css-x{display:block;width:14px;height:14px;position:relative;margin:auto}.css-x:before,.css-x:after{content:"";position:absolute;left:6px;top:0;width:2px;height:14px;background:currentColor;border-radius:3px}.css-x:before{transform:rotate(45deg)}.css-x:after{transform:rotate(-45deg)}
.toast{background:#794f27;color:#fffdf7;border-radius:50px;font-weight:700;box-shadow:0 3px 10px rgba(61,52,40,.10)}
.folder-note{background:#fffbe7;border-radius:16px;color:#8a7b66}
/* responsive */
@media(max-width:1000px){.app-shell{grid-template-columns:78px 1fr}.metrics{grid-template-columns:repeat(3,1fr)}.grid2,.settings-grid{grid-template-columns:1fr}.packing-grid{grid-template-columns:1fr}.table-wrap{padding:4px}th,td{padding:12px 14px}}
@media(max-width:760px){.modal-backdrop{padding:12px}.modal{padding:24px 22px 20px}.modal-head h3{font-size:22px}.content{padding:18px 14px 90px}.logistics-metrics{grid-template-columns:1fr 1fr}.inventory-filters{grid-template-columns:1fr}.primary,.primary-action{height:42px}.table-wrap{padding:3px}}

/* ========================================================================== 
   V1.2.2 — Animal Island full UI correction
   Exact visual vocabulary mapped from upstream design-system to NEOVORA.
   ========================================================================== */
:root{--island-paper:#f8f8f0;--island-card:rgb(247,243,223);--island-input:#fffbe7;--island-brown:#725d42;--island-brown-strong:#794f27;--island-muted:#9f927d;--island-mint:#19c8b9;--island-mint-soft:#e6f9f6;--island-line:#f0e8d8}
body{background-color:var(--island-paper);background-image:radial-gradient(rgba(25,200,185,.07) 1.3px,transparent 1.3px);background-size:22px 22px;color:var(--island-brown);font-weight:500}
.content{background:rgba(248,248,240,.88)}
.topbar{background:rgba(247,243,223,.92);backdrop-filter:blur(12px);border-bottom:1px solid #e8dcc8}.topbar h1{color:var(--island-brown-strong);font-weight:800}.eyebrow{color:#9f927d;font-weight:800;letter-spacing:.08em}
.sidebar{background:#fffbe7;border-right:1px solid #eadfc9}.brand strong,.nav-btn,.side-foot b{color:var(--island-brown-strong)}.brand-mark{background:var(--island-mint);box-shadow:0 4px 0 #11a89b;color:white;border:0}.nav-btn{border-radius:50px;min-height:44px;padding:0 18px;transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-btn:hover{background:#e6f9f6;color:#11a89b;transform:translateX(2px)}.nav-btn.active{background:var(--island-mint);color:#fff;box-shadow:0 4px 0 #11a89b;transform:translateY(-1px)}.nav-btn.active:active{transform:translateY(2px);box-shadow:0 1px 0 #11a89b}.nav-group-label{color:#9f927d;letter-spacing:.12em}
/* Ribbon section titles — upstream Title swallowtail vocabulary */
.hero h2,.logistics-head h2,.inventory-head h2{display:inline-flex;align-items:center;min-height:46px;margin:0 0 10px;padding:0 34px 0 22px;background:#82d5bb;color:#fff!important;font-weight:900!important;letter-spacing:.02em;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%,7% 50%);filter:drop-shadow(0 4px 0 rgba(114,93,66,.18))}.page-kicker{color:#9f927d!important;font-weight:800}.hero>div>p,.logistics-head p,.inventory-head p,.panel-head p,.setting-card p{color:#8a7b66!important;font-size:13px!important;line-height:1.65}
/* Buttons: only primary gets game 3D stack; secondary stays soft */
.primary,.primary-action{border:0!important;border-radius:50px!important;background:#19c8b9!important;color:#fff!important;min-height:42px!important;padding:0 20px!important;font-weight:800!important;box-shadow:0 5px 0 #bdaea0!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}.primary:hover,.primary-action:hover{background:#3dd4c6!important;box-shadow:0 6px 0 #bdaea0!important;transform:translateY(-1px)}.primary:active,.primary-action:active{background:#11a89b!important;box-shadow:0 1px 0 #bdaea0!important;transform:translateY(2px)}
.ghost,.soft,.ghost-btn,.tiny-btn,.subtle-btn,.table-edit-btn,.linklike{border:1.5px solid #e8dcc8!important;border-radius:50px!important;background:#fffbe7!important;color:#725d42!important;box-shadow:0 2px 4px rgba(61,52,40,.06)!important;font-weight:700!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}.ghost:hover,.soft:hover,.ghost-btn:hover,.tiny-btn:hover,.subtle-btn:hover,.table-edit-btn:hover,.linklike:hover{background:#e6f9f6!important;color:#11a89b!important;box-shadow:0 3px 10px rgba(61,52,40,.1)!important;transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ffcc00!important;outline-offset:2px!important}
/* Inputs/select: exact cream pill + gold focus vocabulary */
input,.search,select,.field input,.field select,.inventory-filters label,.inventory-filters select{background:#fffbe7!important;color:#725d42!important;border:1.5px solid #c4b89e!important;border-radius:50px!important;min-height:40px!important;font-family:var(--animal-font)!important}.inventory-filters label input{border:0!important;min-height:0!important}.search::placeholder,input::placeholder{color:#9f927d!important}.field input:focus,.field select:focus,.search:focus{box-shadow:0 3px 0 #e0b800,0 0 0 3px rgba(255,204,0,.15)!important;border-color:#ffcc00!important;outline:none!important}
/* Panels/cards */
.panel,.setting-card,.quick-logistics,.monitor-strip-v2,.inventory-summary-line,.import-zone{background:rgb(247,243,223)!important;border:1.5px solid #e8dcc8!important;border-radius:24px!important;box-shadow:none!important}.panel:hover{border-color:#d9c8ab}.settings-grid{gap:16px}.setting-card{padding:22px!important}.setting-card h3,.panel-head h3{color:#725d42!important;font-weight:800!important}
/* Pattern metric cards — upstream Card pattern palette */
.compact-metrics{gap:12px}.compact-metric{position:relative;overflow:hidden;border:2px solid rgba(114,93,66,.08)!important;border-radius:24px!important;min-height:92px!important;padding:16px 18px!important;background-color:#f7cd67!important;background-image:radial-gradient(rgba(255,255,255,.32) 2px,transparent 2px)!important;background-size:16px 16px!important}.compact-metric:nth-child(2){background-color:#82d5bb!important}.compact-metric:nth-child(3){background-color:#889df0!important}.compact-metric:nth-child(4){background-color:#e59266!important}.compact-metric:nth-child(5){background-color:#f8a6b2!important}.compact-metric:nth-child(6){background-color:#8ac68a!important}.compact-metric small{color:rgba(61,46,30,.72)!important;font-weight:800!important}.compact-metric strong{color:#fff!important;font-size:24px!important;font-weight:900!important;text-shadow:0 1px 0 rgba(61,46,30,.12)}
/* Dashboard drop zone */
.import-zone{min-height:118px!important;border:2px dashed #82d5bb!important;background:#fffdf7!important;transition:all .3s ease}.import-zone:hover{transform:translateY(-2px);background:#e6f9f6!important}.import-icon{width:58px!important;height:58px!important;border-radius:22px 22px 26px 26px!important;background:#f7cd67!important;position:relative;box-shadow:inset 0 -4px 0 rgba(114,93,66,.08)}.import-icon:before{content:'↥';position:absolute;inset:0;display:grid;place-items:center;color:#725d42;font-size:30px;font-weight:900}.import-icon span{display:none}.import-zone h2{color:#725d42!important;font-weight:900}.import-zone p{color:#8a7b66!important}
/* Tables: upstream shell has no solid border, dashed row rules, striped hover */
.table-wrap{background:rgb(247,243,223)!important;border:0!important;border-radius:20px!important;padding:6px!important;overflow:auto}table{border-collapse:separate!important;border-spacing:0!important;background:transparent!important}th{background:transparent!important;color:#725d42!important;font-size:13px!important;font-weight:700!important;padding:16px 20px!important;border:0!important;border-bottom:1px dashed #f0e8d8!important;letter-spacing:.02em!important}td{background:transparent!important;color:#725d42!important;font-size:13px!important;font-weight:500!important;padding:14px 20px!important;border:0!important;border-bottom:1px dashed #f0e8d8!important;line-height:1.6!important}tbody tr:nth-child(even) td{background:rgba(248,248,240,.6)!important}tbody tr:hover td{background:repeating-linear-gradient(-45deg,rgba(25,200,185,.16) 0 10px,rgba(14,196,182,.16) 10px 20px)!important;color:#3d2e1e!important}.inventory-v154-table th,.inventory-v154-table td{height:auto!important}.inventory-v154-table th{background:transparent!important}.inventory-v154-table tbody tr:hover td{background:repeating-linear-gradient(-45deg,rgba(25,200,185,.16) 0 10px,rgba(14,196,182,.16) 10px 20px)!important}
/* Tags/status */
.status,.badge{display:inline-flex!important;align-items:center!important;height:28px!important;padding:0 11px!important;border-radius:999px!important;border:1.5px solid transparent!important;font-size:12px!important;font-weight:700!important;background:#e6f9f6!important;color:#11a89b!important}.status.shipped,.badge.ok{background:#8ac68a!important;color:#fff!important}.badge.danger,.status.exception{background:#fc736d!important;color:#fff!important}.badge.muted{background:#f0ece2!important;color:#8a7b66!important}.order-products span{border:1.5px solid #9a835a!important;border-radius:999px!important;background:transparent!important;color:#9a835a!important;padding:2px 8px!important;font-weight:700!important}
/* Logistics metrics — no more empty-looking boxes */
.logistics-metrics{gap:12px!important;background:transparent!important;border:0!important}.logistics-metrics article{min-height:110px!important;border:0!important;border-radius:24px!important;padding:16px 18px!important;background-color:#82d5bb!important;background-image:radial-gradient(rgba(255,255,255,.28) 2px,transparent 2px)!important;background-size:16px 16px!important}.logistics-metrics article:nth-child(2){background-color:#889df0!important}.logistics-metrics article:nth-child(3){background-color:#f7cd67!important}.logistics-metrics article:nth-child(4){background-color:#f8a6b2!important}.logistics-metrics article span,.logistics-metrics article small{color:rgba(61,46,30,.7)!important;font-weight:800!important}.logistics-metrics article b{display:block!important;color:#fff!important;font-size:30px!important;font-weight:900!important;margin:4px 0!important}.monitor-dot{width:14px!important;height:14px!important;background:#f5c31c!important;box-shadow:0 0 0 5px rgba(245,195,28,.15)!important}.monitor-dot.live{background:#6fba2c!important;box-shadow:0 0 0 5px rgba(111,186,44,.15)!important}.logistics-grid{align-items:start!important}.logistics-panel{min-height:0!important}.compact-empty,.empty{color:#9f927d!important;min-height:88px!important;padding:28px 20px!important}.recent-label-row{border-bottom:1px dashed #f0e8d8!important}.quick-logistics{margin-top:14px!important}
/* Inventory summary becomes actual colourful data chips */
.inventory-summary-line{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;padding:10px!important;border:0!important;background:transparent!important}.inventory-summary-line i{display:none!important}.inventory-summary-line span{min-height:70px!important;border-radius:20px!important;padding:12px 14px!important;background:#fffbe7!important;border:1.5px solid #e8dcc8!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;color:#8a7b66!important}.inventory-summary-line span:nth-child(3){background:#e6f9f6!important}.inventory-summary-line span:nth-child(5){background:#fff0e7!important}.inventory-summary-line span:nth-child(7){background:#f4edff!important}.inventory-summary-line b{font-size:22px!important;color:#725d42!important;font-weight:900!important}.inventory-filters{background:transparent!important;border-bottom:1px dashed #f0e8d8!important}.inventory-main-panel{padding-top:4px!important}
/* Lists: soft dashed separators, readable text */
.simple-list-row,.rule-summary>div,.packed-row{border:0!important;border-bottom:1px dashed #f0e8d8!important;background:transparent!important;color:#725d42!important}.simple-list-row:hover,.packed-row:hover{background:#e6f9f6!important}.simple-list-row b,.simple-list-row small,.rule-summary b,.rule-summary span{color:#725d42!important}.simple-list-row small,.rule-summary span{opacity:.78}.rule-summary>div{padding:14px 16px!important}
/* Empty printing/packing states compact and actionable */
.hero+section.panel>.empty,.packing-section+.panel>.empty{min-height:130px!important;border:2px dashed #e8dcc8!important;border-radius:20px!important;margin:8px!important;background:#fffdf7!important;display:grid!important;place-items:center!important}.print-job{border-bottom:1px dashed #f0e8d8!important}
/* Modal organic blob feel + readable */
.modal{background:#f7f3df!important;color:#725d42!important;border:0!important;clip-path:polygon(3% 8%,14% 2%,31% 5%,47% 1%,63% 5%,80% 2%,96% 9%,99% 28%,96% 48%,99% 68%,94% 91%,78% 97%,60% 94%,42% 99%,24% 95%,7% 98%,1% 80%,4% 60%,1% 39%)!important;box-shadow:0 16px 40px rgba(61,52,40,.18)!important;padding:14px!important}.modal-head,.modal-foot{border-color:#e8dcc8!important}.modal h3{color:#794f27!important}.modal p,.modal label{color:#8a7b66!important}
/* Settings compact */
.settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:start!important}.setting-card{min-height:0!important}.field{margin-bottom:14px!important}
/* responsive */
@media(max-width:1000px){.compact-metrics{grid-template-columns:repeat(3,1fr)!important}.inventory-summary-line{grid-template-columns:repeat(2,1fr)!important}.settings-grid{grid-template-columns:1fr!important}.hero h2,.logistics-head h2,.inventory-head h2{clip-path:none;border-radius:18px;padding:0 18px}}
@media(max-width:700px){.compact-metrics{grid-template-columns:repeat(2,1fr)!important}.logistics-metrics{grid-template-columns:repeat(2,1fr)!important}.inventory-summary-line{grid-template-columns:1fr 1fr!important}.import-zone{align-items:flex-start!important}.hero h2,.logistics-head h2,.inventory-head h2{font-size:22px!important}}

/* ========================================================================== 
   V1.2.5 — Density, hierarchy and component-usage refinement
   Keeps Animal Island tokens, reduces decorative repetition and ERP whitespace.
   ========================================================================== */
:root{--neo-sidebar:202px;--neo-topbar:78px;--neo-content-max:1420px}
.app-shell{grid-template-columns:var(--neo-sidebar) minmax(0,1fr)!important}
.sidebar{padding:18px 12px!important}.brand{padding:2px 8px 17px!important}.brand-mark{width:36px!important;height:36px!important;border-radius:50%!important}.brand strong{font-size:12px!important}.brand span{font-size:10px!important}.nav-group-label{padding:14px 12px 5px!important;font-size:8px!important}.nav-btn{min-height:40px!important;padding:0 14px!important;margin:2px 0!important;font-size:13px!important;justify-content:flex-start}.nav-btn.active{box-shadow:0 3px 0 #11a89b!important}.nav-badge{margin-left:auto!important}.side-foot{padding:12px 8px 0!important;font-size:9px!important}.side-foot small{margin-left:0!important;margin-top:3px!important;line-height:1.35!important}.version{margin-top:8px!important}
.topbar{height:var(--neo-topbar)!important;padding:0 26px!important}.topbar h1{font-size:22px!important;margin-top:2px!important}.top-actions{gap:7px!important}.top-actions .primary,.top-actions .ghost{min-height:38px!important;height:38px!important;padding:0 16px!important}.icon-btn.theme-control{width:36px!important;height:36px!important;min-height:36px!important}
.content{padding:20px 26px 44px!important;max-width:var(--neo-content-max)!important}.hero,.logistics-head,.inventory-head{margin-bottom:14px!important;align-items:center!important}.hero h2,.logistics-head h2,.inventory-head h2{font-size:26px!important;min-height:40px!important;padding:0 28px 0 18px!important;margin-bottom:7px!important}.hero p,.logistics-head p,.inventory-head p{max-width:780px!important;font-size:12px!important;line-height:1.55!important}
/* Reserve ribbon emphasis for workflow entry pages; utility pages use calm section headings. */
.plain-hero h2{display:block!important;min-height:0!important;padding:0!important;background:none!important;color:#794f27!important;clip-path:none!important;filter:none!important;font-size:27px!important;line-height:1.15!important;letter-spacing:-.025em!important}.plain-hero{border-bottom:1px dashed #e8dcc8;padding-bottom:13px!important}
/* Smaller, semantically quieter dashboard metrics. */
.compact-metrics{gap:10px!important;margin-bottom:12px!important}.compact-metric{min-height:76px!important;padding:11px 14px!important;border-radius:19px!important;background-image:radial-gradient(rgba(255,255,255,.25) 1.5px,transparent 1.5px)!important;background-size:18px 18px!important}.compact-metric small{font-size:9px!important}.compact-metric strong{font-size:21px!important}.import-zone{min-height:94px!important;padding:15px 20px!important;grid-template-columns:52px minmax(0,1fr) auto!important}.import-icon{width:46px!important;height:46px!important;border-radius:18px!important}.import-icon:before{font-size:23px!important}.import-zone h2{font-size:21px!important;margin-bottom:3px!important}.import-zone p{font-size:11px!important}.import-zone .primary{min-height:40px!important}
/* Use colour as state support, not as dominant decoration. */
.compact-metric{filter:saturate(.78)}.compact-metric:nth-child(5){filter:saturate(.9)}
/* Dense panels and tables. */
.panel{margin-bottom:10px!important;border-radius:20px!important}.panel-head{padding:12px 15px!important}.panel-head h3{font-size:13px!important}.panel-head p{font-size:10px!important;line-height:1.45!important}.panel-body{padding:13px!important}.table-wrap{border-radius:16px!important;padding:4px!important}th{font-size:11px!important;padding:11px 14px!important}td{font-size:12px!important;padding:10px 14px!important;line-height:1.45!important}.order-products{gap:3px!important}.order-products div{gap:5px!important}.order-products b{font-size:11px!important}.order-products span{font-size:9px!important;padding:1px 6px!important}.status,.badge{height:25px!important;padding:0 9px!important;font-size:10px!important}.table-edit-btn,.tiny-btn,.subtle-btn{height:29px!important;min-height:29px!important;padding:0 10px!important;font-size:9px!important}
/* Logistics: one operational hierarchy, shorter cards, warning state is unmistakable. */
.label-manager-shell .logistics-head{margin-bottom:11px!important}.monitor-strip-v2{padding:11px 14px!important;margin-bottom:10px!important;border-radius:18px!important}.monitor-main b{font-size:11px!important}.monitor-main small{font-size:9px!important}.monitor-dot{width:12px!important;height:12px!important}.monitor-strip-v2:not(:has(.monitor-dot.live)){background:#fff8dc!important;border-color:#ead180!important}.logistics-metrics{gap:9px!important;margin-bottom:10px!important}.logistics-metrics article{min-height:82px!important;border-radius:19px!important;padding:11px 14px!important;filter:saturate(.74)}.logistics-metrics article span{font-size:9px!important}.logistics-metrics article b{font-size:24px!important;margin:3px 0!important}.logistics-metrics article small{font-size:7px!important}.logistics-grid{gap:10px!important;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important}.recent-label-list,.mini-print-list{min-height:160px!important}.recent-label-row{padding:9px 13px!important}.compact-empty{padding:34px 18px!important;min-height:120px!important}.quick-logistics{padding:11px 14px!important;margin-top:10px!important;border-radius:18px!important}.quick-logistics b{font-size:11px!important}.quick-logistics span{font-size:9px!important}
/* Empty states become compact tasks rather than giant blank canvases. */
.print-workspace,.empty-panel{padding:8px!important}.empty-state-card{min-height:104px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 19px;border:2px dashed #e8dcc8;border-radius:18px;background:#fffdf7;color:#725d42}.empty-state-card b,.empty-state-card span{display:block}.empty-state-card b{font-size:13px;font-weight:800}.empty-state-card span{font-size:10px;color:#8a7b66;margin-top:3px}.empty-state-mark{width:38px;height:38px;border-radius:50%;background:#e6f9f6;border:2px solid #82d5bb;position:relative}.empty-state-mark:after{content:"";position:absolute;left:10px;top:11px;width:14px;height:9px;border-left:3px solid #19c8b9;border-bottom:3px solid #19c8b9;transform:rotate(-45deg)}.empty-state-mark.done{background:#f1f8e8;border-color:#8ac68a}.empty-state-mark.done:after{border-color:#6fba2c}.print-workspace>.empty{display:none!important}
/* Packing controls do not pretend to be primary when disabled. */
.hero .toolbar{gap:7px!important}.hero .toolbar button{min-height:36px!important;height:36px!important;padding:0 14px!important;font-size:11px!important}.hero .toolbar .primary:disabled{background:#d7eee9!important;color:#78aaa3!important;box-shadow:0 3px 0 #d6ccc0!important}
/* Inventory: emphasize stock, group tool controls, prevent vertical edit text. */
.inventory-summary-line{gap:8px!important;margin-bottom:10px!important}.inventory-summary-line span{min-height:62px!important;padding:9px 13px!important;border-radius:17px!important;font-size:9px!important}.inventory-summary-line b{font-size:20px!important}.inventory-filters{padding:10px 10px!important;gap:7px!important}.inventory-filters label{min-width:240px!important}.inventory-inline-actions{gap:5px!important}.inventory-inline-actions button{height:31px!important;min-height:31px!important;padding:0 10px!important;font-size:9px!important}.inventory-v154-table th:nth-child(n+3):nth-child(-n+6),.inventory-v154-table td:nth-child(n+3):nth-child(-n+6){text-align:right!important;font-variant-numeric:tabular-nums}.stock-number{font-size:14px!important}.table-edit-btn{min-width:52px!important;white-space:nowrap!important;line-height:1!important}
/* Reports: metrics are support, real operational data owns the visual weight. */
.plain-hero+.compact-metrics{grid-template-columns:repeat(5,minmax(110px,1fr))!important}.grid2{gap:10px!important;grid-template-columns:minmax(0,1.28fr) minmax(340px,.72fr)!important}.simple-list-row{padding:10px 14px!important}.simple-list-row span:first-child b{font-size:11px!important}.rule-summary>div{padding:11px 14px!important;font-size:9px!important}
/* Settings: meaningful grouping rather than two empty slabs. */
.refined-settings{gap:12px!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important}.setting-card{padding:18px!important;border-radius:20px!important}.setting-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.setting-title-row h3{margin:1px 0 0!important;font-size:15px!important}.setting-kicker{font-size:8px;letter-spacing:.12em;color:#9f927d;font-weight:800}.cloud-state{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;background:#e6f9f6;color:#11a89b;font-size:9px;font-weight:800}.cloud-state i{width:7px;height:7px;border-radius:50%;background:#6fba2c}.cloud-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.cloud-facts>div{padding:12px;border:1px dashed #e8dcc8;border-radius:14px;background:#fffdf7}.cloud-facts b,.cloud-facts span{display:block}.cloud-facts b{font-size:11px}.cloud-facts span{font-size:9px;color:#8a7b66;margin-top:3px}.setting-actions{display:flex;gap:7px;flex-wrap:wrap}.setting-actions .primary,.setting-actions .ghost{min-height:36px!important;height:36px!important;font-size:11px!important;padding:0 14px!important}.field{margin-bottom:11px!important}.field label{font-size:9px!important}.field input,.field select{min-height:38px!important;height:38px!important}
/* Make disabled/secondary visual hierarchy explicit. */
button:disabled{filter:saturate(.25);opacity:.55!important;box-shadow:none!important;transform:none!important}.ghost,.soft,.ghost-btn{min-height:34px!important;height:34px!important;font-size:11px!important;padding:0 13px!important}
/* Mobile / tablet */
@media(max-width:1100px){:root{--neo-sidebar:78px}.brand>div:last-child,.nav-group-label,.nav-btn>span:not(.nav-badge),.side-foot div{display:none!important}.brand{justify-content:center!important;padding-left:0!important;padding-right:0!important}.nav-btn{width:46px!important;margin:5px auto!important;padding:0!important;justify-content:center!important}.nav-btn:after{content:"";width:8px;height:8px;border-radius:50%;background:#9f927d}.nav-btn.active:after{background:#fff}.side-foot{text-align:center!important}.plain-hero+.compact-metrics{grid-template-columns:repeat(3,1fr)!important}.grid2,.logistics-grid{grid-template-columns:1fr!important}.refined-settings{grid-template-columns:1fr!important}}
@media(max-width:760px){.topbar{height:68px!important;padding:0 14px!important}.top-actions .ghost{display:none!important}.content{padding:15px 12px 74px!important}.hero,.logistics-head,.inventory-head{align-items:flex-start!important}.hero{flex-direction:column!important}.plain-hero+.compact-metrics{grid-template-columns:repeat(2,1fr)!important}.empty-state-card{grid-template-columns:36px 1fr!important}.empty-state-card button{grid-column:2!important;width:max-content}.cloud-facts{grid-template-columns:1fr!important}.inventory-filters label{min-width:0!important;width:100%!important}}


/* ==========================================================================\n   V1.2.5 — consistency polish / operational hierarchy\n   ========================================================================== */
:root{--neo-sidebar:202px;--neo-topbar:76px}
/* One title language across all production pages: calm section title, ribbons reserved for special callouts only. */
.hero h2,.logistics-head h2,.inventory-head h2{display:block!important;min-height:0!important;padding:0!important;margin:0 0 5px!important;background:none!important;color:#794f27!important;clip-path:none!important;filter:none!important;font-size:26px!important;line-height:1.14!important;letter-spacing:-.022em!important}
.hero,.logistics-head,.inventory-head{padding-bottom:12px!important;border-bottom:1px dashed #e8dcc8!important;margin-bottom:12px!important}
.page-kicker{display:block!important;margin-bottom:4px!important;font-size:8px!important;letter-spacing:.12em!important;color:#9f927d!important;font-weight:800!important}
/* Header is utility chrome, not a second hero. */
.topbar{height:var(--neo-topbar)!important;padding:0 24px!important}.topbar h1{font-size:21px!important}.eyebrow{font-size:8px!important}.top-actions{gap:7px!important}
/* Dashboard: import is the task entry, KPI tiles stay secondary. */
.import-zone{min-height:86px!important;padding:13px 18px!important;border-radius:20px!important}.import-zone h2{font-size:19px!important}.import-zone .primary{height:38px!important;min-height:38px!important}.compact-metrics{gap:8px!important}.compact-metric{min-height:68px!important;padding:9px 12px!important;border-radius:17px!important;filter:saturate(.66)!important}.compact-metric strong{font-size:19px!important}.compact-metric small{font-size:8px!important}.clean-panel .panel-head{padding:10px 14px!important}.clean-panel .table-wrap{min-height:0!important}.dashboard-empty{padding:28px 18px!important}
/* Primary actions are scarce; secondary buttons are lighter. */
.ghost,.soft,.ghost-btn,.subtle-btn,.tiny-btn,.linklike,.table-edit-btn{box-shadow:0 2px 4px rgba(61,52,40,.05)!important}.ghost:hover,.soft:hover,.ghost-btn:hover,.subtle-btn:hover,.tiny-btn:hover,.linklike:hover,.table-edit-btn:hover{box-shadow:0 3px 10px rgba(61,52,40,.09)!important}.primary,.primary-action{box-shadow:0 4px 0 #bdaea0!important}.primary:hover,.primary-action:hover{box-shadow:0 5px 0 #bdaea0!important}.primary:active,.primary-action:active{transform:translateY(2px)!important;box-shadow:0 1px 0 #bdaea0!important}
/* Tables: stronger readable header/body relationship without ERP heaviness. */
th{color:#725d42!important;font-weight:800!important}td,td small{color:#725d42}.table-wrap tbody tr:nth-child(even) td{background:rgba(248,248,240,.48)}.table-wrap tbody tr:hover td{background:repeating-linear-gradient(-45deg,rgba(25,200,185,.11) 0 10px,rgba(14,196,182,.11) 10px 20px)!important}
/* Logistics: monitoring alert reads as one state control; avoid duplicated action weight. */
.monitor-strip-v2{min-height:50px!important}.monitor-controls .subtle-btn{background:#fffdf7!important}.scan-meta{font-size:8px!important;color:#9f927d!important}.logistics-metrics article{min-height:72px!important}.logistics-grid{align-items:start!important}.recent-label-list,.mini-print-list{min-height:132px!important}.quick-logistics{min-height:48px!important}
/* Printing / packing empty states: concise and action-oriented. */
.print-workspace,.empty-panel{margin-top:0!important}.empty-state-card{min-height:88px!important;padding:14px 17px!important;border-radius:17px!important}.empty-state-mark{width:34px!important;height:34px!important}.empty-state-mark:after{left:9px!important;top:10px!important}.empty-state-card b{font-size:12px!important}.empty-state-card span{font-size:9px!important}
/* Inventory: keep dense layout, make controls less crowded and current stock dominant. */
.inventory-summary-line{display:grid!important;grid-template-columns:repeat(4,1fr)!important;background:transparent!important;border:0!important;padding:0!important;gap:8px!important}.inventory-summary-line i{display:none!important}.inventory-summary-line span{display:block!important;border:1px solid #e8dcc8!important;background:#fffdf7!important}.inventory-summary-line span:nth-child(2){background:#eaf8f5!important}.inventory-summary-line span:nth-child(3){background:#fff0e7!important}.inventory-summary-line span:nth-child(4){background:#f3ecff!important}.inventory-summary-line b{display:block!important;margin-bottom:2px!important}.inventory-v154-table td:nth-child(4) .stock-number{font-weight:900!important;color:#794f27!important}.inventory-filters{grid-template-columns:minmax(280px,1fr) 190px auto!important}
/* Reports: operational lists are primary, KPI decoration quieter. */
.plain-hero+.compact-metrics .compact-metric{filter:saturate(.58)!important}.simple-list-row{min-height:44px!important}.simple-list-row span:last-child{color:#9f927d!important;font-size:9px!important}
/* Settings: tighter, aligned, readable controls. */
.refined-settings{max-width:1120px!important}.setting-card{min-height:0!important}.cloud-facts>div{min-height:60px!important}.field input,.field select{background:#fffbe7!important;border:0!important;box-shadow:0 2px 0 #d4c9b4!important;border-radius:50px!important;padding:0 16px!important}.field input:focus,.field select:focus{outline:0!important;box-shadow:0 3px 0 #e0b800,0 0 0 3px rgba(255,204,0,.15)!important}
/* Sidebar footer: deliberate four-line production status block, aligned to same left edge. */
.side-foot{padding:14px 10px 2px!important;border-top:1px dashed #e8dcc8!important;color:#8a7b66!important;font-size:9px!important}.cloud-foot-head{display:flex!important;align-items:center!important;gap:7px!important;margin-bottom:6px!important}.side-foot .dot{flex:0 0 auto!important;width:7px!important;height:7px!important;margin:0!important;background:#6fba2c!important}.cloud-foot-head b{font-size:9px!important;line-height:1!important;letter-spacing:.04em!important;color:#794f27!important}.cloud-foot-resources{display:grid!important;gap:2px!important;padding-left:14px!important;font-size:8px!important;line-height:1.35!important;color:#8a7b66!important}.cloud-foot-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:7px 0 0 14px!important;padding-top:6px!important;border-top:1px dotted #e8dcc8!important;font-size:8px!important;color:#9f927d!important}.side-foot .version{margin:0!important;font-size:8px!important;font-weight:800!important;color:#725d42!important}.cloud-foot-credit{display:block!important;margin:3px 0 0 14px!important;font-size:7.5px!important;letter-spacing:.01em!important;color:#b0a48f!important}
/* Desktop content width and rhythm. */
.content{padding:18px 24px 42px!important}.panel{border-radius:18px!important}
@media(max-width:1100px){.side-foot .cloud-foot-resources,.side-foot .cloud-foot-meta,.side-foot .cloud-foot-credit,.side-foot .cloud-foot-head b{display:none!important}.side-foot .cloud-foot-head{justify-content:center!important}.inventory-summary-line{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:760px){.hero h2,.logistics-head h2,.inventory-head h2{font-size:23px!important}.inventory-summary-line{grid-template-columns:1fr 1fr!important}.compact-metrics{grid-template-columns:1fr 1fr!important}.empty-state-card{min-height:82px!important}}

/* ==========================================================================\n   V1.3.1 — Animal Island Drawer + Login + RBAC\n   ========================================================================== */
.app-shell{display:block!important}.main{min-height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1),filter .3s cubic-bezier(.4,0,.2,1)}
.drawer-sidebar{position:fixed!important;z-index:1001!important;left:0!important;top:0!important;width:250px!important;height:100vh!important;padding:16px 14px!important;border-right:0!important;border-radius:0 20px 20px 0!important;box-shadow:12px 0 32px rgba(61,52,40,.18)!important;transform:translateX(-110%);transition:transform .3s cubic-bezier(.4,0,.2,1)!important;overflow:hidden;background:rgb(247,243,223)!important}
.drawer-open .drawer-sidebar{transform:translateX(0)}.drawer-mask{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-open .drawer-mask{opacity:1;pointer-events:auto}.drawer-open .main{transform:translateY(24px) scale(.96);filter:brightness(.85) saturate(.9)}
.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head .brand{padding:4px 8px 16px!important}.drawer-close{border:0!important;background:transparent!important;box-shadow:none!important;font-size:24px!important;color:#725d42!important}.drawer-sidebar .nav-btn{min-height:42px!important;border-radius:14px!important}.drawer-sidebar .nav-btn.active{background:#b7c6e5!important;color:#fff!important}.drawer-sidebar .side-foot{display:block!important}
.topbar-left{display:flex;align-items:center;gap:13px}.menu-trigger{width:42px;height:42px;border:0;border-radius:50%;background:#fffbe7;box-shadow:0 3px 0 #d4c9b4;display:grid;place-content:center;gap:4px;cursor:pointer}.menu-trigger span{display:block;width:17px;height:2px;border-radius:2px;background:#794f27}.topbar{padding-left:20px!important}
.login-screen{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:radial-gradient(circle,rgba(90,160,90,.22) 1.5px,transparent 1.5px) 0 0/28px 28px,radial-gradient(circle,rgba(140,200,140,.15) 1px,transparent 1px) 7px 7px/14px 14px,#bfe3bf}.login-screen.hidden{display:none}.login-card{width:min(440px,calc(100vw - 32px));background:#fffdf7;border:1.5px solid #e8dcc8;border-radius:24px;padding:28px;box-shadow:0 8px 24px rgba(61,52,40,.14);animation:animal-zoom-in .3s ease}.login-title{display:flex;align-items:center;gap:13px;margin-bottom:20px}.login-title h2{margin:0;color:#794f27;font-size:24px}.login-title p{margin:3px 0 0;color:#9f927d}.login-pattern{padding:20px;border:1.5px solid #f0a073;border-radius:20px;background:radial-gradient(circle,rgba(248,166,178,.18) 1.5px,transparent 1.5px) 0 0/28px 28px,radial-gradient(circle,rgba(255,200,210,.12) 1px,transparent 1px) 7px 7px/14px 14px,#fde4e8}.login-pattern label{display:block;color:#725d42;font-weight:700;margin-bottom:12px}.login-pattern input{display:block;width:100%;height:44px;margin-top:6px;border:0;border-radius:50px;background:#fffbe7;padding:0 18px;color:#725d42;font:inherit}.login-pattern input:focus{outline:0;box-shadow:0 3px 0 #e0b800,0 0 0 3px rgba(255,204,0,.15)}.login-primary{width:100%;height:44px!important;margin-top:4px}.login-error{min-height:22px;padding-top:8px;color:#c94444;font-size:12px;font-weight:700}.login-pattern small{display:block;color:#8a7b66;line-height:1.5}
.user-role-tag{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:#e6f9f6;color:#11a89b;font-weight:800;font-size:11px}.account-card{grid-column:1/-1}.user-create{display:grid;grid-template-columns:1fr 1fr 180px auto;gap:8px;margin-bottom:12px}.user-create input,.user-create select,.user-row input,.user-row select{height:38px;border:0;border-radius:50px;background:#fffbe7;box-shadow:0 2px 0 #d4c9b4;padding:0 14px;color:#725d42;font:inherit}.user-list{display:grid;gap:7px}.user-row{display:grid;grid-template-columns:minmax(160px,1fr) 150px 220px auto auto;gap:8px;align-items:center;padding:10px 12px;border:1px dashed #e8dcc8;border-radius:16px;background:#fffdf7}.user-row b,.user-row small{display:block}.user-row small{margin-top:2px;color:#9f927d;font-size:9px}.danger-lite{color:#c94444!important}.hidden-by-role{display:none!important}
@keyframes animal-zoom-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){.drawer-sidebar{width:min(88vw,300px)!important}.user-create,.user-row{grid-template-columns:1fr!important}.topbar-left{gap:8px}.menu-trigger{width:38px;height:38px}}


/* V1.3.4 — Animal Island homepage login + full-screen Loading */
.login-screen{position:fixed;inset:0;z-index:2000;display:block;padding:0;overflow:hidden;background-color:#8fd1a8;background-image:radial-gradient(circle,rgba(64,154,113,.23) 1.3px,transparent 1.4px);background-size:14px 14px;font-family:Nunito,'Noto Sans SC',system-ui,sans-serif;color:#725d42}
.login-screen.hidden{display:none}
.login-shell{position:relative;width:100%;height:100%;min-height:100vh}
.login-hero{position:absolute;left:17.3%;top:50%;transform:translateY(-46%);width:min(470px,68vw)}
.login-heading-row{display:flex;align-items:flex-end;gap:12px}
.login-heading-row h1{margin:0;color:#fff8df;font-size:64px;line-height:1.04;font-weight:900;letter-spacing:.015em;text-shadow:0 7px 0 rgba(105,94,69,.24),0 9px 18px rgba(61,52,40,.12)}
.login-version{margin-bottom:13px;display:inline-flex;align-items:center;height:24px;padding:0 11px;border-radius:999px;background:#effbea;color:#21b69d;font-size:12px;font-weight:900;box-shadow:0 1px 0 rgba(255,255,255,.8)}
.login-hero>p{margin:20px 0 24px;color:#8b6849;font-size:16px;font-weight:700;line-height:1.65}
.login-form{width:380px;max-width:100%}
.login-form label{display:block;margin:0 0 10px;color:#725d42;font-size:13px;font-weight:900}
.login-form input{display:block;width:100%;height:46px;margin-top:6px;padding:0 18px;border:2px solid rgba(114,93,66,.28);border-radius:999px;background:#fffdf3;color:#725d42;font:700 14px Nunito,'Noto Sans SC',sans-serif;box-shadow:0 4px 0 rgba(114,93,66,.13);outline:0;transition:.18s ease}
.login-form input:focus{border-color:#ffcc00;box-shadow:0 4px 0 rgba(114,93,66,.13),0 0 0 3px rgba(255,204,0,.2)}
.login-primary{display:inline-flex;align-items:center;justify-content:center;width:154px;height:50px;margin-top:3px;border:2px solid rgba(114,93,66,.14);border-radius:999px;background:#fffdf4;color:#725d42;font:900 16px Nunito,'Noto Sans SC',sans-serif;box-shadow:0 6px 0 rgba(114,93,66,.22);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.login-primary:hover{transform:translateY(-1px);background:#fffaf0;box-shadow:0 7px 0 rgba(114,93,66,.22)}
.login-primary:active{transform:translateY(4px);box-shadow:0 2px 0 rgba(114,93,66,.22)}
.login-primary:disabled{cursor:wait;opacity:.72;transform:none}
.login-error{min-height:18px;margin-top:10px;color:#b33d3d;font-size:12px;font-weight:900}
.login-form small{display:block;width:360px;max-width:100%;margin-top:2px;color:rgba(114,93,66,.7);font-size:11px;font-weight:700;line-height:1.5}
.login-scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.72);font-size:12px;font-weight:800;text-align:center;letter-spacing:.02em}.login-scroll-hint div{font-size:18px;line-height:1.1}

.login-loading{position:fixed;inset:0;z-index:4000;overflow:hidden;background:radial-gradient(circle at 50% 45%,#274c56 0,#17313d 45%,#0d1d27 100%);opacity:1;transition:opacity 1.2s ease}
.login-loading.hidden{display:none}.login-loading.fade-out{opacity:0;pointer-events:none}
.loading-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 28%,rgba(3,12,17,.18) 68%,rgba(2,7,11,.64) 100%);pointer-events:none}
.loading-leaves{position:absolute;inset:-12% 0 0;overflow:hidden}
.loading-leaf{position:absolute;top:-12vh;width:12px;height:20px;border-radius:80% 18% 80% 18%;background:#d9efe7;opacity:.72;filter:drop-shadow(0 2px 2px rgba(0,0,0,.12));animation-name:animal-login-fall,animal-login-spin;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite}
@keyframes animal-login-fall{0%{transform:translate3d(0,-14vh,0)}100%{transform:translate3d(var(--drift),116vh,0)}}
@keyframes animal-login-spin{0%,100%{rotate:0deg}50%{rotate:180deg}}
.loading-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:18px;color:#fffdf0;text-align:center}
.loading-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#20c2b2;color:#fff;font-size:22px;font-weight:1000;box-shadow:0 7px 0 rgba(0,0,0,.18),0 0 0 5px rgba(255,255,255,.1)}
.loading-tip{font-size:18px;font-weight:900;letter-spacing:.04em;text-shadow:0 2px 8px rgba(0,0,0,.35)}
@media(max-width:760px){.login-hero{left:9%;width:82vw}.login-heading-row h1{font-size:46px}.login-version{margin-bottom:8px}.login-form{width:100%}.login-primary{width:100%}.login-scroll-hint{bottom:18px}}
@media(prefers-reduced-motion:reduce){.loading-leaf{animation:none}.login-loading{transition:none}}
\n/* V1.4.3 — persistent push drawer + desktop density polish */
:root{--drawer-w:250px}
.drawer-mask{display:none!important}
.main{will-change:transform,width;margin-left:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),filter .3s cubic-bezier(.4,0,.2,1)!important}
.drawer-open .main{margin-left:var(--drawer-w)!important;width:calc(100% - var(--drawer-w))!important;transform:none!important;filter:none!important}
.drawer-open .drawer-sidebar{transform:translateX(0)!important}
.drawer-sidebar{overflow-y:auto!important;overscroll-behavior:contain}
/* Keep the working surface usable while the drawer is open. */
.drawer-open .topbar{padding-left:20px!important}.drawer-open .content{max-width:var(--neo-content-max)!important;margin:0 auto!important}
/* Desktop hierarchy: reduce dead space and align controls consistently. */
.hero,.plain-hero,.logistics-head,.inventory-head{align-items:center!important}.hero{margin-bottom:14px!important}.hero h2,.plain-hero h2{font-size:27px!important}.toolbar{align-items:center!important}.panel-head{min-height:58px!important}.table-wrap table{table-layout:auto}.settings-grid,.refined-settings{align-items:start!important}.setting-card{height:auto!important}.account-card{margin-top:0!important}.top-actions{flex-wrap:nowrap!important}
@media(max-width:900px){:root{--drawer-w:min(82vw,300px)}.drawer-mask{display:block!important}.drawer-open .drawer-mask{opacity:1!important;pointer-events:auto!important}.drawer-open .main{margin-left:0!important;width:100%!important;transform:none!important;filter:brightness(.85) saturate(.9)!important}.drawer-sidebar{width:var(--drawer-w)!important}}

/* V1.4.3 — desktop push drawer + mandatory fresh login */
@media (min-width:901px){
  .app-shell{display:block!important;min-height:100vh!important}
  .main{width:100%!important;margin-left:0!important;min-width:0!important;transition:margin-left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)!important}
  .drawer-open .main{margin-left:var(--drawer-w)!important;width:calc(100vw - var(--drawer-w))!important}
  .drawer-mask,.drawer-open .drawer-mask{display:none!important;opacity:0!important;pointer-events:none!important}
  .drawer-open .topbar{padding-left:30px!important}
  .drawer-open .content{width:100%!important;max-width:1500px!important;margin-left:auto!important;margin-right:auto!important}
}

/* ========================================================================== 
   V1.4.3 — responsive production layout + non-blocking desktop push drawer
   Authoritative overrides. Business/data behavior is unchanged.
   ========================================================================== */
:root{
  --drawer-wide:250px;
  --drawer-compact:220px;
  --page-gutter:clamp(14px,2vw,30px);
  --page-max:1560px;
  --touch-min:42px;
}
html,body{max-width:100%;overflow-x:hidden}
.app-shell{display:block!important;min-height:100dvh!important}
.main{width:100%!important;min-width:0!important;margin:0!important;padding-left:0!important;transition:padding-left .3s cubic-bezier(.4,0,.2,1)!important}
.topbar,.content{min-width:0!important}
.content{width:min(100%,var(--page-max))!important;max-width:var(--page-max)!important;margin-inline:auto!important;padding-left:var(--page-gutter)!important;padding-right:var(--page-gutter)!important}
.drawer-sidebar{width:var(--drawer-wide)!important;max-width:calc(100vw - 24px)!important}

/* Desktop: drawer occupies its own reserved rail. No mask, no dimming, no click interception. */
@media (min-width:1100px){
  .drawer-mask,.drawer-open .drawer-mask{display:none!important;opacity:0!important;pointer-events:none!important}
  .drawer-open .main{padding-left:var(--drawer-wide)!important;width:100%!important;margin-left:0!important;transform:none!important;filter:none!important}
  .drawer-open .topbar{padding-left:var(--page-gutter)!important}
  .drawer-open .content{width:min(100%,var(--page-max))!important;max-width:var(--page-max)!important;margin-inline:auto!important}
}
/* Small laptop / iPad landscape: use a narrower persistent rail but keep the work area live. */
@media (min-width:920px) and (max-width:1099px){
  .drawer-sidebar{width:var(--drawer-compact)!important}
  .drawer-mask,.drawer-open .drawer-mask{display:none!important;opacity:0!important;pointer-events:none!important}
  .drawer-open .main{padding-left:var(--drawer-compact)!important;width:100%!important;margin-left:0!important;transform:none!important;filter:none!important}
  .drawer-open .topbar{padding-left:18px!important}
}
/* Tablet portrait / phone: overlay navigation is intentional; closing it returns full workspace. */
@media (max-width:919px){
  .drawer-sidebar{width:min(84vw,320px)!important}
  .drawer-mask{display:block!important}
  .drawer-open .drawer-mask{opacity:1!important;pointer-events:auto!important}
  .drawer-open .main{padding-left:0!important;width:100%!important;margin:0!important;transform:none!important;filter:none!important}
}

/* Header adapts without clipping actions. */
.topbar{height:auto!important;min-height:76px!important;padding:12px var(--page-gutter)!important;gap:12px!important}
.topbar-left{min-width:0!important}.topbar-left>div{min-width:0!important}.topbar h1{font-size:clamp(19px,2vw,25px)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{min-width:0!important;display:flex!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
.top-actions button{min-height:var(--touch-min)!important;white-space:nowrap}

/* Page headings / toolbars: flex only while there is room, stack before overlap occurs. */
.hero,.plain-hero,.logistics-head,.inventory-head{min-width:0!important;gap:12px!important;flex-wrap:wrap!important}
.hero>div,.plain-hero>div,.logistics-head>div,.inventory-head>div{min-width:0!important}
.hero h2,.plain-hero h2,.logistics-head h2,.inventory-head h2{max-width:100%!important;overflow-wrap:anywhere}
.toolbar{min-width:0!important;display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.toolbar .search,.search{flex:1 1 260px!important;min-width:min(260px,100%)!important;max-width:100%!important}

/* Metric cards progressively reflow rather than shrink into illegible strips. */
.metrics,.compact-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.metric,.compact-metric{min-width:0!important;overflow:hidden}
.metric strong,.compact-metric strong{font-size:clamp(20px,2vw,28px)!important;overflow-wrap:anywhere}
@media (max-width:1350px){.metrics,.compact-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:760px){.metrics,.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:430px){.metrics,.compact-metrics{grid-template-columns:1fr!important}}

/* Two-column operational areas collapse before either panel becomes cramped. */
.grid2,.settings-grid,.refined-settings,.packing-grid{min-width:0!important}
@media (max-width:1180px){.grid2,.settings-grid,.refined-settings{grid-template-columns:1fr!important}.packing-grid{grid-template-columns:1fr!important}}
.panel,.setting-card,.pack-card{min-width:0!important;max-width:100%!important}
.panel-head{gap:10px!important;flex-wrap:wrap!important}.panel-head>div{min-width:0!important}.panel-head .toolbar{margin-left:auto}

/* Data tables: preserve columns, scroll inside their card only. */
.table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.table-wrap table{width:100%!important;min-width:760px!important;table-layout:auto!important}
.inventory-v154-table{min-width:900px!important}
th,td{white-space:normal;overflow-wrap:anywhere}
th{white-space:nowrap}

/* Forms/settings never bleed underneath the drawer or viewport edge. */
.user-create{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(130px,180px) auto!important}
.user-row{grid-template-columns:minmax(160px,1fr) minmax(130px,150px) minmax(170px,220px) auto auto!important}
.user-create>* ,.user-row>*{min-width:0!important;max-width:100%!important}
@media (max-width:1180px){.user-create{grid-template-columns:1fr 1fr!important}.user-row{grid-template-columns:1fr 1fr!important}.user-create button,.user-row button{width:max-content;max-width:100%}}
@media (max-width:620px){.user-create,.user-row{grid-template-columns:1fr!important}.user-create button,.user-row button{width:100%}}

/* Mobile / narrow tablet ergonomics. */
@media (max-width:760px){
  body{font-size:13px}
  .topbar{min-height:64px!important;padding:9px 12px!important}
  .eyebrow{display:none}
  .menu-trigger{flex:0 0 42px!important;width:42px!important;height:42px!important}
  .top-actions{gap:6px!important}
  .top-actions .theme-control{display:flex!important}
  .top-actions #resetQuick{display:none!important}
  .top-actions .primary{height:42px!important;padding-inline:12px!important;font-size:12px!important}
  .content{padding:14px 12px 74px!important}
  .hero,.plain-hero,.logistics-head,.inventory-head{align-items:flex-start!important;flex-direction:column!important}
  .hero .toolbar,.plain-hero .toolbar,.logistics-head .toolbar,.inventory-head .toolbar{width:100%!important}
  .hero .toolbar button,.plain-hero .toolbar button,.logistics-head .toolbar button,.inventory-head .toolbar button{flex:1 1 auto}
  .panel-head{padding:13px 14px!important}
  .panel-body{padding:14px!important}
  .table-wrap table{min-width:680px!important}
  .modal-backdrop{padding:8px!important;align-items:end!important}
  .modal{width:100%!important;max-width:100%!important;max-height:92dvh!important;padding:22px 18px 18px!important;border-radius:24px 24px 0 0!important;clip-path:none!important}
  .modal-foot{position:sticky;bottom:0;background:rgb(247,243,223);padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
}
@media (max-width:480px){
  .topbar h1{font-size:18px!important}
  .top-actions #importOrderTop{max-width:112px;overflow:hidden;text-overflow:ellipsis}
  .primary,.ghost,.soft{min-height:42px!important}
  .import-zone{grid-template-columns:1fr!important;text-align:left!important;padding:16px!important}
  .import-zone .import-icon{display:none!important}
  .flow-row,.pick{grid-template-columns:1fr!important;gap:6px!important}
  .print-job{grid-template-columns:1fr!important}
}

/* Login also adapts to short displays, tablets and phones. */
.login-screen{overflow:auto!important}
.login-shell{min-height:100dvh!important;height:auto!important;padding:clamp(24px,6vh,72px) 0!important}
.login-hero{position:relative!important;left:auto!important;top:auto!important;transform:none!important;margin-left:clamp(22px,17vw,265px)!important;width:min(470px,calc(100vw - 44px))!important}
.login-heading-row h1{font-size:clamp(40px,5vw,64px)!important}
.login-scroll-hint{display:none!important}
@media (max-width:760px){.login-shell{display:flex;align-items:center;padding:32px 20px!important}.login-hero{margin:0!important;width:100%!important}.login-heading-row{align-items:center;flex-wrap:wrap}.login-heading-row h1{font-size:clamp(38px,12vw,52px)!important}.login-version{margin:0!important}.login-form{width:100%!important}.login-form input{height:48px!important}.login-primary{width:100%!important}}
@media (max-height:650px) and (min-width:761px){.login-shell{padding:24px 0!important}.login-hero{margin-left:10vw!important}.login-heading-row h1{font-size:46px!important}.login-hero>p{margin:12px 0 14px!important}.login-form input{height:42px!important}.login-primary{height:44px!important}}

/* Safe-area support for notched mobile devices and standalone/PWA browser chrome. */
@supports (padding:max(0px)){
  .topbar{padding-left:max(var(--page-gutter),env(safe-area-inset-left))!important;padding-right:max(var(--page-gutter),env(safe-area-inset-right))!important}
  .drawer-sidebar{padding-bottom:max(16px,env(safe-area-inset-bottom))!important}
  .content{padding-bottom:max(74px,calc(54px + env(safe-area-inset-bottom)))!important}
}

/* ========================================================================== 
   V1.4.4 — modal/edit-page reliability audit
   Functional modal geometry takes precedence over decorative clipping.
   ========================================================================== */
:root{--modal-layer:2200;--modal-surface:rgb(247,243,223)}
.modal-backdrop{
  z-index:var(--modal-layer)!important;
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(12px,2.5vw,32px)!important;
  overflow:hidden!important;
  background:rgba(61,52,40,.36)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
.modal-backdrop.hidden{display:none!important}
body.modal-open{overflow:hidden!important}
.modal{
  display:flex!important;
  flex-direction:column!important;
  width:min(720px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  max-height:min(88dvh,920px)!important;
  min-height:0!important;
  overflow:hidden!important;
  background:var(--modal-surface)!important;
  color:#725d42!important;
  border:1px solid #e4d6bf!important;
  border-radius:28px!important;
  clip-path:none!important;
  box-shadow:0 24px 70px rgba(61,52,40,.28)!important;
  padding:0!important;
  transform:none!important;
}
.modal.wide-modal{width:min(980px,calc(100vw - 32px))!important}
.modal.extra-wide{width:min(1280px,calc(100vw - 32px))!important}
.modal.small-modal{width:min(560px,calc(100vw - 32px))!important}
.modal-head{
  position:sticky!important;top:0!important;z-index:4!important;
  flex:0 0 auto!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;
  padding:18px 20px 14px!important;background:var(--modal-surface)!important;border-bottom:1px solid #e8dcc8!important;
}
.modal-head>div{min-width:0!important}.modal-head h3{margin:0 0 4px!important;line-height:1.2!important;overflow-wrap:anywhere}.modal-head p{margin:0!important;line-height:1.45!important;overflow-wrap:anywhere}
.modal-head .icon-btn{position:relative!important;flex:0 0 40px!important;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;z-index:6!important}
.modal-body{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain!important;padding:18px 20px!important;-webkit-overflow-scrolling:touch}
.modal-foot{
  position:sticky!important;bottom:0!important;z-index:4!important;flex:0 0 auto!important;
  display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;
  padding:12px 20px 16px!important;background:var(--modal-surface)!important;border-top:1px solid #e8dcc8!important;
}
.modal-body .table-wrap{max-width:100%!important;overflow:auto!important;overscroll-behavior:contain!important}
.modal-body .table-wrap table{width:max-content!important;min-width:100%!important;max-width:none!important}
.modal-body img,.modal-body canvas,.modal-body svg{max-width:100%;height:auto}
.modal-body input,.modal-body select,.modal-body textarea{max-width:100%!important}
.modal-body .form-grid{min-width:0!important}
.modal-body .detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.modal-body .alias-row,.modal-body .folder-setting-row{min-width:0!important}
.modal-body code,.modal-body td,.modal-body th{overflow-wrap:anywhere}
/* Modal must always sit above the navigation drawer. */
body.modal-open .drawer-sidebar{pointer-events:none!important}
body.modal-open .drawer-mask{pointer-events:none!important}
/* Desktop: preserve sensible widths while preventing vertical clipping. */
@media (max-width:1100px){
  .modal.extra-wide,.modal.wide-modal{width:calc(100vw - 28px)!important}
  .modal-body .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  .modal-backdrop{align-items:flex-end!important;padding:0!important}
  .modal,.modal.wide-modal,.modal.extra-wide,.modal.small-modal{
    width:100%!important;max-width:100%!important;max-height:94dvh!important;
    border-radius:26px 26px 0 0!important;border-bottom:0!important;
  }
  .modal-head{padding:16px 16px 12px!important}
  .modal-body{padding:16px!important}
  .modal-foot{padding:10px 16px max(14px,env(safe-area-inset-bottom))!important}
  .modal-foot>button{flex:1 1 140px!important;min-height:44px!important}
  .modal-body .form-grid,.modal-body .detail-grid{grid-template-columns:1fr!important}
  .modal-body .form-grid .wide{grid-column:auto!important}
  .modal-body .table-wrap table{min-width:720px!important}
}
@media (max-width:430px){
  .modal{max-height:96dvh!important;border-radius:22px 22px 0 0!important}
  .modal-head h3{font-size:20px!important}
  .modal-head .icon-btn{width:42px!important;height:42px!important;flex-basis:42px!important}
  .modal-body{padding:14px!important}
}
/* V1.4.7 remembered folder permission state */
.monitor-dot.remembered{background:#f2bb36;box-shadow:0 0 0 6px rgba(242,187,54,.14)}
.recovery-search{display:grid;gap:7px;margin-bottom:14px}.recovery-search input{width:100%;box-sizing:border-box;padding:13px 16px;border:1px solid rgba(128,115,89,.28);border-radius:18px;background:#fffaf0;color:var(--text);font:inherit;outline:none}.recovery-search input:focus{border-color:#21b8aa;box-shadow:0 0 0 3px rgba(33,184,170,.12)}.recovery-search small{color:var(--muted)}.recovery-table{max-height:43vh;overflow:auto}.recovery-table td{vertical-align:middle}.status.warn{background:#fff0c7;color:#8a6722}

/* ========================================================================== 
   V1.5.5 — Shipment-state repair + Animal Island legibility correction
   Color values follow guokaigdg/animal-island-ui design tokens:
   earth-brown text, mint-teal accents, cream parchment content surfaces.
   ========================================================================== */
:root{
  --neo-readable-surface:#fffbe7;
  --neo-readable-surface-2:#f7f3df;
  --neo-readable-border:#c4b89e;
  --neo-readable-text:#725d42;
  --neo-readable-heading:#794f27;
  --neo-readable-muted:#8a7b66;
  --neo-readable-teal:#82d5bb;
}
/* Dense operational data must remain light; dark blocks made carton/SKU text hard to scan. */
.product-line,.product-line.refined{
  background:var(--neo-readable-surface)!important;
  color:var(--neo-readable-text)!important;
  border:1.5px solid var(--neo-readable-border)!important;
  box-shadow:0 2px 4px rgba(61,52,40,.06)!important;
}
.product-line:hover,.product-line.refined:hover{
  background:#e6f9f6!important;
  border-color:#9f927d!important;
}
.product-name,.product-name b,.qty-big,.qty-chip{color:var(--neo-readable-text)!important}
.product-name small{color:var(--neo-readable-muted)!important}
.carton-big,.carton-chip{
  background:var(--neo-readable-teal)!important;
  border-color:var(--neo-readable-teal)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.ship-meta,.packed-products span,.detail-grid>div,.expanded-products>div{
  background:var(--neo-readable-surface)!important;
  color:var(--neo-readable-text)!important;
  border-color:var(--neo-readable-border)!important;
}
.packed-products span b,.detail-grid b,.expanded-products b{color:var(--neo-readable-heading)!important}
.big-cta{
  background:rgb(247,243,223)!important;
  color:var(--neo-readable-text)!important;
  border:2px dashed #82d5bb!important;
  box-shadow:none!important;
}
.big-cta p{color:var(--neo-readable-muted)!important;opacity:1!important}
/* Keep warning/danger meaning without reducing text contrast. */
.product-line.danger-line{background:#fff0e7!important;border-color:#e05a5a!important}


/* ========================================================================== 
   V1.5.5 — Authoritative print-state + Animal Island token consistency
   Source-aligned palette: guokaigdg/animal-island-ui design-tokens + data-display.
   Operational controls never use dark-on-dark content surfaces.
   ========================================================================== */
:root{
  --ai-primary:#19c8b9;
  --ai-primary-hover:#3dd4c6;
  --ai-primary-bg:#e6f9f6;
  --ai-text:#794f27;
  --ai-body:#725d42;
  --ai-muted:#8a7b66;
  --ai-secondary:#9f927d;
  --ai-border:#c4b89e;
  --ai-rule:#f0e8d8;
  --ai-content:rgb(247,243,223);
  --ai-input:#fffbe7;
  --ai-soft:#fffdf7;
  --ai-disabled:#ece8dc;
  --ai-focus:#ffcc00;
}
/* Inventory toolbar: match-rule count is a readable Tag, never a dark disc. */
.inventory-inline-actions .ghost-btn{
  background:var(--ai-input)!important;
  color:var(--ai-body)!important;
  border:1.5px solid #e8dcc8!important;
}
.inventory-inline-actions .ghost-btn:hover{
  background:var(--ai-primary-bg)!important;
  color:#11a89b!important;
  border-color:var(--ai-primary)!important;
}
.inventory-inline-actions .ghost-btn .rule-count-badge,
.inventory-inline-actions .ghost-btn b{
  min-width:22px!important;height:22px!important;padding:0 7px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border-radius:50px!important;background:var(--ai-primary-bg)!important;
  color:var(--ai-body)!important;border:1px solid #b9e8e1!important;
  font-size:10px!important;font-weight:800!important;box-shadow:none!important;opacity:1!important;
}
.inventory-inline-actions .ghost-btn:hover .rule-count-badge,
.inventory-inline-actions .ghost-btn:hover b{background:#fff!important;color:#11a89b!important;border-color:#82d5bb!important}

/* Match-rules modal follows the upstream Table/Tag language. */
.alias-rules-modal .modal-body{background:var(--ai-content)!important}
.alias-rules-modal .table-wrap{background:var(--ai-content)!important;border-radius:20px!important;padding:6px!important;overflow:auto!important}
.alias-rules-modal table{background:transparent!important;color:var(--ai-body)!important}
.alias-rules-modal th{
  background:transparent!important;color:var(--ai-body)!important;font-weight:700!important;
  border-bottom:1px dashed var(--ai-rule)!important;text-transform:none!important;letter-spacing:.02em!important;
}
.alias-rules-modal td{color:var(--ai-body)!important;border-bottom:1px dashed var(--ai-rule)!important;background:transparent!important}
.alias-rules-modal tbody tr:nth-child(even) td{background:rgba(248,248,240,.6)!important}
.alias-rules-modal tbody tr:hover td{
  background:repeating-linear-gradient(-45deg,rgba(25,200,185,.12) 0 10px,rgba(14,196,182,.12) 10px 20px)!important;
  color:#3d2e1e!important;
}
.alias-rules-modal code{
  display:inline-flex!important;align-items:center!important;min-height:28px!important;padding:4px 10px!important;
  border-radius:50px!important;border:1px solid #d8eadf!important;background:#fffbe7!important;
  color:#725d42!important;font-family:Nunito,'Noto Sans SC',sans-serif!important;font-weight:700!important;
}
.alias-rules-modal td b{color:#794f27!important}
.alias-rules-modal .soft{background:#fffbe7!important;color:#725d42!important}

/* Global operational pills/chips: use light parchment + brown text; teal is selection/accent. */
.packed-products span,.ship-meta,.chip,.carton-mini,.badge,.stock-state,.status:not(.ok):not(.danger):not(.warn){
  background:var(--ai-input)!important;color:var(--ai-body)!important;border-color:#e8dcc8!important;
}
.packed-products span b,.carton-mini b,.chip b{color:var(--ai-text)!important}
.status.ok,.stock-state.ok,.badge:not(.danger):not(.muted){background:var(--ai-primary-bg)!important;color:#177e72!important;border-color:#b9e8e1!important}
.status.warn{background:#fff3cc!important;color:#7d6120!important;border-color:#efd98c!important}
.status.danger,.badge.danger{background:#fff0ef!important;color:#b94a4a!important;border-color:#efb8b8!important}
.badge.muted,.stock-state.muted{background:#f0ece2!important;color:var(--ai-muted)!important;border-color:#ddd2bd!important}

/* No dark operational content cards in light theme. */
html[data-theme=light] .packed-products span,
html[data-theme=light] .product-line,
html[data-theme=light] .detail-grid>div,
html[data-theme=light] .expanded-products>div,
html[data-theme=light] .ship-meta{
  background:var(--ai-input)!important;color:var(--ai-body)!important;
}

/* Dashboard metric labels are explicit scopes; keep high contrast. */
.compact-metric small,.logistics-metrics article span{color:#725d42!important;opacity:.9!important}
.compact-metric strong,.logistics-metrics article b{color:inherit;font-weight:900!important}

/* Tables follow upstream parchment/dashed-rule vocabulary more consistently. */
.data-table th,.inventory-v154-table th{color:#725d42!important;background:rgb(247,243,223)!important;border-bottom:1px dashed #f0e8d8!important}
.data-table td,.inventory-v154-table td{color:#725d42!important;border-bottom:1px dashed #f0e8d8!important}
.inventory-v154-table tbody tr:nth-child(even) td{background:rgba(248,248,240,.6)!important}
.inventory-v154-table tbody tr:hover td{background:#e6f9f6!important;color:#3d2e1e!important}

/* Dark mode remains readable but avoids low-contrast brown-on-brown. */
html[data-theme=dark] .inventory-inline-actions .ghost-btn,
html[data-theme=dark] .alias-rules-modal code,
html[data-theme=dark] .packed-products span,
html[data-theme=dark] .chip,
html[data-theme=dark] .carton-mini{
  background:#f7f3df!important;color:#725d42!important;border-color:#c4b89e!important;
}

/* V1.5.6 · visible single-label waiting slot; Animal Island parchment + mint tokens */
.print-job.waiting-pair{background:#fffdf7;border:1.5px dashed #c4b89e;box-shadow:none}
.print-job.waiting-pair .waiting-slot{background:#e6f9f6;border-radius:18px;padding:12px 16px;color:#725d42}
.print-job.waiting-pair .waiting-slot b{color:#19c8b9}
.print-job.waiting-pair .print-file-state{color:#8a7b66;font-weight:600}
.print-job.waiting-pair button[disabled]{background:#ece8dc!important;color:#9f927d!important;box-shadow:none!important;opacity:1}

/* V1.5.8 — Logistics intake / Printing workspace separation */
.logistics-metrics-v158{grid-template-columns:repeat(4,minmax(0,1fr))}
.logistics-grid-v158{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}
.print-handoff-panel{display:flex;flex-direction:column;justify-content:space-between;min-height:240px}
.handoff-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px 0 18px}
.handoff-stat{background:#fffbe7;border:1.5px solid #e8dcc8;border-radius:18px;padding:18px;text-align:center;color:#725d42}
.handoff-stat b{display:block;font-size:28px;font-weight:900;color:#794f27}.handoff-stat span{font-size:12px;font-weight:700;color:#8a7b66}
.handoff-stat.ok{background:#e6f9f6}.handoff-stat.bad{background:#fff0ee}.handoff-open{width:100%}
.print-status-strip{display:flex;gap:10px;align-items:center;margin:0 0 14px;flex-wrap:wrap}.print-status-strip span{background:#fffbe7;border:1.5px solid #e8dcc8;border-radius:50px;padding:8px 14px;color:#725d42;font-size:12px}.print-status-strip b{font-size:15px}.danger-text{color:#c94444!important}
.print-job-v158{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr) minmax(190px,.7fr) auto;gap:16px;align-items:center}
.print-job-v158 .print-job-state{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:14px;background:#fffbe7;border:1px solid #e8dcc8}.print-job-v158 .print-job-state b{color:#725d42;font-size:13px}.print-job-v158 .print-job-state small{color:#8a7b66;line-height:1.35}
.print-job-v158.state-ready .print-job-state{background:#e6f9f6}.print-job-v158.state-error .print-job-state{background:#fff0ee;border-color:#efc5bf}.print-job-v158.state-error .print-job-state b{color:#c94444}.print-job-v158.state-building .print-job-state{background:#fff7d8}
.print-job-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:1100px){.logistics-grid-v158{grid-template-columns:1fr}.print-job-v158{grid-template-columns:1fr 1px 1fr}.print-job-v158 .print-job-state,.print-job-v158 .print-job-actions{grid-column:1/-1}.print-job-actions{justify-content:flex-start}}
@media(max-width:720px){.logistics-metrics-v158{grid-template-columns:repeat(2,1fr)}.handoff-summary{grid-template-columns:1fr}.print-job-v158{grid-template-columns:1fr}.print-job-v158 .divider{display:none}}

/* V1.5.9 — logistics/print responsibility cleanup */
.logistics-grid-v159{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr)}
.logistics-next-step{display:flex;flex-direction:column;justify-content:space-between;min-height:220px}
.handoff-simple{display:flex;align-items:baseline;gap:10px;padding:20px;border-radius:18px;background:#fffbe7;color:#725d42;border:1px dashed #d8ccb8;margin:8px 0 16px}
.handoff-simple strong{font-size:36px;line-height:1;color:#19c8b9;font-weight:900}.handoff-simple span{font-weight:700}
.print-flow-guide{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:12px 16px;background:rgb(247,243,223);border-radius:18px;color:#9f927d;font-weight:700}
.print-flow-guide i{font-style:normal;color:#c4b89e}.print-flow-guide span{padding:7px 12px;border-radius:50px;background:#fffbe7}.print-flow-guide span.done{background:#e6f9f6;color:#11a89b}.print-flow-guide span.active{background:#fff3c4;color:#725d42}
.print-job-v159{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:18px;align-items:center;padding:18px 20px;border-radius:20px;background:rgb(247,243,223);border:1px dashed #d8ccb8;margin-bottom:12px}
.print-job-labels{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:16px;align-items:stretch}.print-job-labels .divider{background:#c4b89e;min-height:58px}
.print-job-v159 .label-side{display:flex;flex-direction:column;gap:3px;min-width:0}.print-job-v159 .label-side>span{font-size:10px;font-weight:800;letter-spacing:.08em;color:#9f927d}.print-job-v159 .label-side>b{color:#725d42;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.print-job-v159 .label-side>small{color:#8a7b66}
.print-job-state{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:16px;background:#fffbe7;color:#725d42}.print-job-state small{color:#8a7b66}.print-job-state em{font-style:normal;font-size:11px;color:#9f927d;margin-top:4px}.state-error .print-job-state{background:#fff0ef;color:#c94444}.state-building .print-job-state{background:#fff6d8}.state-ready .print-job-state{background:#e6f9f6;color:#11a89b}
.print-job-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.print-job-actions button{white-space:nowrap}
@media(max-width:1000px){.logistics-grid-v159{grid-template-columns:1fr}.print-job-v159{grid-template-columns:1fr}.print-job-actions{justify-content:flex-start}}
@media(max-width:680px){.print-job-labels{grid-template-columns:1fr}.print-job-labels .divider{height:1px;min-height:1px}.print-flow-guide{gap:6px}.print-flow-guide i{display:none}}

/* ========================================================================== 
   V1.6.3 — precision responsive layout
   Goal: preserve Animal Island visual language while making every workspace
   usable from 320px phones through 4K desktop browsers.
   ========================================================================== */
:root{
  --neo-content-max:1560px;
  --neo-gutter:clamp(12px,2.1vw,32px);
  --neo-control-h:42px;
  --neo-sidebar-wide:250px;
  --neo-sidebar-mid:216px;
}
html{min-width:0;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0;overflow-x:hidden}
.main,.content,.topbar,.panel,.panel-body,.table-wrap,.hero,.toolbar,.grid2,.logistics-grid-v159,.print-job-v159,.print-job-labels{min-width:0!important}
.content{width:100%!important;max-width:var(--neo-content-max)!important;margin-inline:auto!important;padding-inline:var(--neo-gutter)!important}
img,svg,canvas,video,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%;font:inherit}
button,.primary,.ghost,.soft,.tiny-btn,.subtle-btn,.ghost-btn{touch-action:manipulation}

/* Desktop and laptop drawer reserve real layout space rather than covering work. */
@media (min-width:1200px){
  .drawer-sidebar{width:var(--neo-sidebar-wide)!important}
  .drawer-open .main{padding-left:var(--neo-sidebar-wide)!important;width:100%!important;margin:0!important;filter:none!important}
  .drawer-mask,.drawer-open .drawer-mask{display:none!important;pointer-events:none!important;opacity:0!important}
}
@media (min-width:900px) and (max-width:1199px){
  .drawer-sidebar{width:var(--neo-sidebar-mid)!important}
  .drawer-open .main{padding-left:var(--neo-sidebar-mid)!important;width:100%!important;margin:0!important;filter:none!important}
  .drawer-mask,.drawer-open .drawer-mask{display:none!important;pointer-events:none!important;opacity:0!important}
  .content{--neo-gutter:18px}
  .topbar{padding-inline:18px!important}
}
@media (max-width:899px){
  .drawer-sidebar{width:min(86vw,320px)!important;max-width:320px!important}
  .drawer-open .main{padding-left:0!important;width:100%!important;margin:0!important;filter:none!important}
  .drawer-mask{display:block!important}
  .drawer-open .drawer-mask{pointer-events:auto!important;opacity:1!important}
}

/* Header remains one clean row on desktop; wraps predictably on narrow screens. */
.topbar{min-height:72px!important;height:auto!important;padding:10px var(--neo-gutter)!important;gap:10px!important}
.topbar-left{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;flex:1 1 auto!important}
.topbar-left>div{min-width:0!important}
.topbar h1{font-size:clamp(20px,2vw,28px)!important;line-height:1.08!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex:0 1 auto!important;flex-wrap:wrap!important}
.top-actions button{min-height:var(--neo-control-h)!important;white-space:nowrap!important}

/* Headings and action bars: never collide or squeeze controls into vertical text. */
.hero,.plain-hero,.logistics-head,.inventory-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important}
.hero>div,.plain-hero>div,.logistics-head>div,.inventory-head>div{min-width:0!important;flex:1 1 420px!important}
.hero .toolbar,.plain-hero .toolbar,.logistics-head .toolbar,.inventory-head .toolbar{flex:0 1 auto!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.toolbar .search,.search{min-width:220px!important;max-width:100%!important;flex:1 1 280px!important}

/* Metrics scale by usable width, not device names. */
.metrics,.compact-metrics,.logistics-metrics,.logistics-metrics-v158{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;
  gap:10px!important;
}
.metric,.compact-metric,.logistics-metrics article{min-width:0!important}
.metric strong,.compact-metric strong,.logistics-metrics article b{font-size:clamp(19px,2.2vw,28px)!important}

/* Operational two-column layouts collapse before either side becomes cramped. */
.grid2{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important}
.logistics-grid-v159{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr)!important}
.refined-settings{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important}
@media (max-width:1180px){
  .grid2,.settings-grid,.refined-settings,.packing-grid,.logistics-grid,.logistics-grid-v158,.logistics-grid-v159{grid-template-columns:1fr!important}
}

/* Print jobs: desktop keeps labels/state/actions aligned; tablet stacks safely. */
.print-job-v159{grid-template-columns:minmax(0,1fr) minmax(180px,230px) auto!important;gap:14px!important}
.print-job-labels{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;gap:14px!important}
.print-job-actions{display:flex!important;gap:8px!important;justify-content:flex-end!important;flex-wrap:wrap!important}
@media (max-width:1050px){
  .print-job-v159{grid-template-columns:1fr!important}
  .print-job-actions{justify-content:flex-start!important}
}
@media (max-width:620px){
  .print-job-labels{grid-template-columns:1fr!important}
  .print-job-labels .divider{height:1px!important;min-height:1px!important;width:100%!important}
}

/* Tables stay readable: scroll inside the card instead of breaking the page. */
.table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.table-wrap table{width:100%!important;min-width:720px!important;table-layout:auto!important}
.inventory-v154-table{min-width:900px!important}
th{white-space:nowrap!important}
td{white-space:normal!important;overflow-wrap:anywhere!important}
.table-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-thumb{background:#d8ccb8;border-radius:999px}

/* Settings/forms: fields grow evenly and never escape a card. */
.field,.field input,.field select,.field textarea{min-width:0!important;width:100%}
.user-create,.user-row{min-width:0!important}
.cloud-facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}

/* Modal/drawer safety for all aspect ratios, including short laptop windows. */
.modal-backdrop{padding:clamp(8px,2vw,24px)!important;overflow:auto!important;overscroll-behavior:contain}
.modal{width:min(960px,calc(100vw - 2*clamp(8px,2vw,24px)))!important;max-width:960px!important;max-height:min(88dvh,900px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.modal-head{flex:0 0 auto!important}.modal-body{min-height:0!important;overflow:auto!important;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
.modal-actions{flex:0 0 auto!important;position:sticky!important;bottom:0!important;background:linear-gradient(180deg,rgba(247,243,223,.15),rgb(247,243,223) 24%)!important;padding-top:12px!important;z-index:2}

/* Tablet portrait / compact browser windows. */
@media (max-width:899px){
  :root{--neo-gutter:14px}
  .topbar{min-height:64px!important;padding:8px 14px!important}
  .eyebrow{display:none!important}
  .top-actions{gap:6px!important}
  .top-actions button{min-height:40px!important;padding-inline:12px!important}
  .content{padding-top:14px!important;padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .panel-head{align-items:flex-start!important;flex-wrap:wrap!important}
  .panel-head .toolbar{width:100%!important;margin-left:0!important;justify-content:flex-start!important}
  .inventory-filters,.inventory-bar{grid-template-columns:1fr!important}
  .inventory-actions,.inventory-inline-actions{grid-column:auto!important;justify-content:flex-start!important;flex-wrap:wrap!important}
  .print-flow-guide{overflow-x:auto!important;flex-wrap:nowrap!important;white-space:nowrap!important;padding-bottom:10px!important;-webkit-overflow-scrolling:touch}
  .print-flow-guide span{flex:0 0 auto!important}
}

/* Phones: use the full viewport, large touch targets, compact 2-column metrics. */
@media (max-width:640px){
  :root{--neo-gutter:10px;--neo-control-h:44px}
  body{font-size:13px!important}
  .content{padding-inline:10px!important;padding-top:11px!important}
  .topbar{padding:7px 10px!important;gap:7px!important}
  .menu-trigger{width:42px!important;height:42px!important;flex:0 0 42px!important}
  .topbar h1{font-size:21px!important}
  .top-actions .ghost:not(.essential-action){display:none!important}
  .top-actions .primary{padding-inline:11px!important;font-size:11px!important}
  .hero,.plain-hero,.logistics-head,.inventory-head{flex-direction:column!important;gap:9px!important}
  .hero>div,.plain-hero>div,.logistics-head>div,.inventory-head>div{flex-basis:auto!important;width:100%!important}
  .hero .toolbar,.plain-hero .toolbar,.logistics-head .toolbar,.inventory-head .toolbar{width:100%!important;justify-content:flex-start!important}
  .hero .toolbar button,.plain-hero .toolbar button,.logistics-head .toolbar button,.inventory-head .toolbar button{flex:1 1 120px!important;min-height:44px!important}
  .metrics,.compact-metrics,.logistics-metrics,.logistics-metrics-v158{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .metric,.compact-metric,.logistics-metrics article{min-height:74px!important;padding:10px 11px!important;border-radius:17px!important}
  .panel,.setting-card,.pack-card{border-radius:17px!important}
  .panel-head{padding:11px 12px!important}.panel-body{padding:12px!important}
  .table-wrap{margin-inline:0!important;border-radius:14px!important}
  .table-wrap table{min-width:650px!important}
  th,td{padding:9px 10px!important;font-size:11px!important}
  .status,.badge{min-height:26px!important;height:auto!important}
  .print-job-v159{padding:13px!important;border-radius:17px!important;gap:10px!important}
  .print-job-state{padding:10px 11px!important}
  .print-job-actions button{flex:1 1 120px!important;min-height:44px!important}
  .handoff-simple{padding:14px!important}.handoff-simple strong{font-size:30px!important}
  .modal-backdrop{padding:0!important;align-items:flex-end!important}
  .modal{width:100%!important;max-width:100%!important;max-height:92dvh!important;border-radius:22px 22px 0 0!important;clip-path:none!important;padding:18px 14px max(12px,env(safe-area-inset-bottom))!important}
  .modal-head h3{font-size:20px!important}
  .modal-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .modal-actions button{width:100%!important;min-height:44px!important}
  .drawer-sidebar{padding-bottom:env(safe-area-inset-bottom)!important}
}

/* Small phones still keep useful density; only very narrow devices become 1-column. */
@media (max-width:340px){
  .metrics,.compact-metrics,.logistics-metrics,.logistics-metrics-v158{grid-template-columns:1fr!important}
  .top-actions .primary{max-width:116px!important;overflow:hidden;text-overflow:ellipsis}
}

/* Landscape phones / low-height laptop windows: save vertical room. */
@media (max-height:620px) and (min-width:641px){
  .topbar{min-height:58px!important;padding-block:6px!important}
  .content{padding-top:10px!important}
  .hero,.plain-hero,.logistics-head,.inventory-head{margin-bottom:8px!important}
  .compact-metric,.metric,.logistics-metrics article{min-height:64px!important}
  .modal{max-height:94dvh!important}
}

/* Large / HiDPI desktop: prevent an over-stretched interface. */
@media (min-width:1800px){
  :root{--neo-content-max:1640px;--neo-gutter:34px}
  .content{font-size:14px!important}
}

/* Accessibility/interaction: preserve Animal Island motion without forcing it. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
@media (hover:none){
  button,.nav-btn,.table-edit-btn,.tiny-btn,.subtle-btn,.ghost-btn{min-height:44px!important}
}
\n\n/* V1.6.4 — mobile drawer interaction hotfix */\n@media (max-width:899px){\n  /* Earlier legacy rule hid .sidebar below 700px. The drawer must remain rendered on phones. */\n  .sidebar.drawer-sidebar{display:flex!important;visibility:visible!important;pointer-events:auto!important}\n  .drawer-sidebar{\n    position:fixed!important;\n    inset:0 auto 0 0!important;\n    height:100dvh!important;\n    min-height:100vh!important;\n    transform:translate3d(-110%,0,0)!important;\n    will-change:transform;\n    -webkit-overflow-scrolling:touch;\n    overflow-y:auto!important;\n    overscroll-behavior:contain;\n  }\n  .drawer-open .drawer-sidebar{transform:translate3d(0,0,0)!important}\n  .drawer-mask{\n    display:block!important;\n    position:fixed!important;\n    inset:0!important;\n    z-index:1000!important;\n    opacity:0!important;\n    pointer-events:none!important;\n    touch-action:manipulation;\n  }\n  .drawer-open .drawer-mask{opacity:1!important;pointer-events:auto!important}\n  .drawer-sidebar{z-index:1001!important}\n  /* Do not freeze/scale/filter the app underneath; mask is the only interception layer. */\n  .drawer-open .main{transform:none!important;filter:none!important}\n}\n@media (max-width:700px){\n  .sidebar.drawer-sidebar{display:flex!important}\n}\n

/* V1.6.5 — print pairing truth + compact Animal Island print workspace */
.print-workspace{display:flex!important;flex-direction:column!important;gap:10px!important;padding:10px!important}
.print-job-v165{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;padding:16px 18px!important;border:1.5px dashed #d8ccb8!important;border-radius:20px!important;background:rgb(247,243,223)!important;margin:0!important}
.print-job-v165 .print-job-labels{display:grid!important;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;gap:14px!important;align-items:center!important}
.print-job-v165 .divider{width:1px!important;min-height:52px!important;background:#d8ccb8!important}
.print-job-v165 .label-side{min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important}
.print-job-v165 .label-side>span{font-size:9px!important;letter-spacing:.12em!important;color:#9f927d!important;font-weight:900!important}
.print-job-v165 .label-side>b{font-size:13px!important;color:#725d42!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.print-job-v165 .label-side>small{font-size:10px!important;color:#8a7b66!important;line-height:1.4!important}
.print-job-v165 .empty-label-side{opacity:.72!important}
.print-job-ops{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;min-width:0!important}
.print-ready-chips{display:flex!important;gap:6px!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important}
.print-ready-chips span{display:inline-flex!important;align-items:center!important;min-height:28px!important;padding:0 10px!important;border-radius:999px!important;background:#e6f9f6!important;color:#11a89b!important;font-size:10px!important;font-weight:800!important;white-space:nowrap!important}
.print-ready-chips span.warn{background:#fff3c4!important;color:#8a6329!important}
.print-job-v165 .print-job-actions{justify-content:flex-end!important;flex-wrap:nowrap!important}
.print-job-v165 .print-job-actions .primary{min-width:76px!important}
.print-flow-guide span.done{background:#e6f9f6!important;color:#11a89b!important}
.print-flow-guide span.active{background:#f7cd67!important;color:#725d42!important;box-shadow:inset 0 -3px 0 rgba(114,93,66,.08)!important}
.print-status-strip{gap:7px!important;margin-bottom:10px!important}.print-status-strip span{padding:6px 11px!important;font-size:10px!important}.print-status-strip b{font-size:13px!important}
@media(max-width:1050px){
  .print-job-v165{grid-template-columns:1fr!important}
  .print-job-ops{justify-content:space-between!important}
  .print-ready-chips{justify-content:flex-start!important}
}
@media(max-width:640px){
  .print-job-v165{padding:13px!important;gap:11px!important}
  .print-job-v165 .print-job-labels{grid-template-columns:1fr!important;gap:8px!important}
  .print-job-v165 .divider{height:1px!important;min-height:1px!important;width:100%!important}
  .print-job-ops{align-items:stretch!important;flex-direction:column!important;gap:9px!important}
  .print-ready-chips{justify-content:flex-start!important}
  .print-job-v165 .print-job-actions{width:100%!important}
  .print-job-v165 .print-job-actions button{flex:1 1 0!important;min-height:44px!important}
}

/* V1.6.6 — statistics truth/audit */
.compact-metric em{display:block;margin-top:5px;font-size:11px;font-style:normal;color:#8a7659;font-weight:700}
.report-audit-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 16px;padding:11px 14px;border:1px solid #d8c8a7;border-radius:14px;background:#fffbe7;color:#725d42}
.report-audit-bar.ok{background:#eaf9f3;border-color:#9edfc9}.report-audit-bar.warn{background:#fff3d8;border-color:#e8c979}
.report-audit-bar b{font-size:13px}.report-audit-bar span{font-size:12px;line-height:1.45}
.simple-list-row.static{cursor:default}.simple-list-row.static:hover{transform:none}
.shipment-archive-table td{vertical-align:middle}.shipment-archive-table td:nth-child(5){min-width:220px}.archive-seal{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:999px;background:#e6f9f6;color:#248a7b;font-size:10px;font-weight:800;white-space:nowrap}
.status.warn{background:#fff0c8;color:#8a6222}
@media(max-width:700px){.report-audit-bar{align-items:flex-start}.shipment-archive-table{min-width:880px}}


/* V1.6.7 — final truth + visual hierarchy closure */
.report-metrics{grid-template-columns:repeat(5,minmax(150px,1fr))!important;gap:10px!important}
.report-kpi{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:10px!important;row-gap:4px!important;min-height:84px!important;padding:13px 16px!important}
.report-kpi small{grid-column:1/2!important;grid-row:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.report-kpi strong{grid-column:1/2!important;grid-row:2!important;white-space:nowrap!important;word-break:keep-all!important;font-variant-numeric:tabular-nums!important;line-height:1!important}
.report-kpi em{grid-column:2!important;grid-row:1/3!important;align-self:center!important;margin:0!important;padding:4px 7px!important;border-radius:999px!important;background:rgba(255,255,255,.36)!important;color:#725d42!important;font-size:9px!important;white-space:nowrap!important}
.report-audit-bar{justify-content:space-between!important;gap:14px!important;padding:10px 13px!important}
.audit-copy{display:grid;gap:2px;min-width:220px}.audit-copy span{color:#8a7659}.audit-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.audit-badges i{font-style:normal;font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;background:#fffbe7;color:#725d42;border:1px solid #e8dcc8;white-space:nowrap}.audit-badges i.ok{background:#e6f9f6;color:#168f82;border-color:#a9ded5}.audit-badges i.warn{background:#fff1c7;color:#8a6329;border-color:#ebce85}.audit-badges i.danger{background:#ffe5df;color:#a6453a;border-color:#e8afa5}
.shipment-export-panel{margin-top:0!important}.shipment-archive-table th,.shipment-archive-table td{padding-top:9px!important;padding-bottom:9px!important}.shipment-archive-table td:nth-child(1){white-space:nowrap}.shipment-archive-table td:nth-child(2) b{color:#794f27}.shipment-archive-table td:nth-child(5){color:#8a7b66;font-size:10px}.shipment-archive-table .status{white-space:nowrap}.shipment-archive-table .tiny-btn{white-space:nowrap}
.report-section-title{display:flex;align-items:baseline;gap:10px;margin:16px 2px 8px;padding-top:2px}.report-section-title span{font-size:13px;font-weight:900;color:#794f27}.report-section-title small{font-size:9px;color:#9f927d}.report-secondary-grid{margin-top:0!important}
.logistics-metrics-v158 article{transition:none!important}.logistics-metrics-v158 article:nth-child(1),.logistics-metrics-v158 article:nth-child(2){background-color:#b9e5d7!important}.logistics-metrics-v158 article:nth-child(3){background-color:#f4d98e!important}.logistics-metrics-v158 article:nth-child(3):not(.metric-alert){background-color:#f5edd8!important}.logistics-metrics-v158 article.metric-handoff{background-color:#a9ddd2!important}.logistics-metrics-v158 article b{color:#fff!important;text-shadow:0 1px 0 rgba(61,46,30,.10)!important}.logistics-next-step .handoff-simple.empty-jobs{min-height:82px!important;padding:14px!important}.logistics-next-step .handoff-simple.empty-jobs strong{font-size:23px!important;color:#8a7b66!important}.logistics-next-step .handoff-simple.empty-jobs+button{opacity:.68}
.side-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}.cloud-foot-resources,.cloud-foot-credit{display:none!important}.cloud-foot-head b{font-size:9px!important}.cloud-foot-meta{margin-top:5px!important}.cloud-foot-meta span{font-size:8px!important}
@media(max-width:1180px){.report-metrics{grid-template-columns:repeat(3,minmax(160px,1fr))!important}.report-kpi:nth-child(4),.report-kpi:nth-child(5){min-width:0!important}}
@media(max-width:820px){.reports-hero .toolbar.report-tools{width:100%!important}.reports-hero .toolbar.report-tools button{flex:1 1 auto!important}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.report-audit-bar{align-items:flex-start!important}.audit-badges{justify-content:flex-start!important}.report-secondary-grid{grid-template-columns:1fr!important}}
@media(max-width:520px){.report-kpi{min-height:78px!important;padding:12px!important}.report-kpi strong{font-size:21px!important}.report-kpi em{font-size:8px!important;padding:3px 6px!important}.report-section-title{display:grid;gap:2px}.reports-hero .toolbar.report-tools{display:grid!important;grid-template-columns:1fr 1fr!important}.reports-hero .toolbar.report-tools .primary{grid-column:1/-1!important}.shipment-archive-table{min-width:800px!important}}

/* V2 workspace selection — Animal Island inspired, layout-stable */
.workspace-screen{position:fixed;inset:0;z-index:1200;background:var(--bg,#f7f2e7);overflow:auto;padding:clamp(24px,5vw,64px)}
.workspace-screen.hidden{display:none}
.workspace-shell{width:min(1120px,100%);margin:0 auto}
.workspace-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:36px}
.workspace-kicker{font:800 12px/1.2 Nunito,sans-serif;letter-spacing:.18em;color:var(--muted)}
.workspace-top h1{font-size:clamp(32px,5vw,54px);margin:8px 0 6px;color:var(--ink)}
.workspace-top p{margin:0;color:var(--muted);font-size:16px}
.workspace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:22px;align-items:stretch}
.workspace-card{min-height:210px;border:0;border-radius:28px;padding:26px;text-align:left;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:8px;box-shadow:0 12px 0 rgba(92,69,42,.12),0 18px 34px rgba(70,55,38,.10);transition:transform .2s ease,box-shadow .2s ease;font-family:inherit;color:#493a29;background:#9ddbd1}
.workspace-card:hover{transform:translateY(-4px);box-shadow:0 16px 0 rgba(92,69,42,.12),0 24px 42px rgba(70,55,38,.13)}
.workspace-card:focus-visible{outline:4px solid #f2c45d;outline-offset:4px}
.workspace-card.app-pink{background:#efb8c6}.workspace-card.purple{background:#c9b9eb}.workspace-card.app-blue{background:#a9c9eb}.workspace-card.app-yellow{background:#efd078}.workspace-card.app-orange{background:#e8ad7b}.workspace-card.app-teal{background:#9ed9cf}.workspace-card.app-green{background:#a9d39d}.workspace-card.app-red{background:#e7a5a1}.workspace-card.lime-green{background:#c7dc8d}.workspace-card.yellow-green{background:#d7dc91}.workspace-card.brown{background:#c9aa86}.workspace-card.warm-peach-pink{background:#e9b59f}
.workspace-card-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.76);font-weight:900;font-size:18px}
.workspace-card-role{justify-self:end;background:rgba(255,255,255,.56);padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800}
.workspace-card-name{grid-column:1/-1;align-self:end;font-size:28px;font-weight:900;letter-spacing:-.02em}
.workspace-card-enter{grid-column:1/-1;font-weight:800;font-size:14px}
.workspace-empty{padding:48px;border:2px dashed rgba(90,70,45,.22);border-radius:24px;text-align:center;color:var(--muted)}
.workspace-paused{visibility:hidden;pointer-events:none}
.workspace-switch{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){.workspace-screen{padding:24px 16px}.workspace-top{align-items:flex-start}.workspace-card{min-height:180px}.workspace-top p{font-size:14px}}

.workspace-empty.hidden{display:none!important}.workspace-actions{display:flex;gap:10px;align-items:center}.workspace-create-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:8px}.workspace-theme-option{height:58px;border:3px solid transparent;border-radius:16px;cursor:pointer;box-shadow:0 4px 0 rgba(80,60,40,.10)}.workspace-theme-option.selected{border-color:#5b4631;box-shadow:0 0 0 3px #fff,0 5px 0 rgba(80,60,40,.14)}.workspace-card.setup{opacity:.82;cursor:default}.workspace-card-state{grid-column:1/-1;font-size:12px;font-weight:800;opacity:.72}.workspace-card.setup:hover{transform:none}.workspace-create-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--panel2);color:var(--muted);font-size:11px}.workspace-create-themes .app-pink{background:#efb8c6}.workspace-create-themes .purple{background:#c9b9eb}.workspace-create-themes .app-blue{background:#a9c9eb}.workspace-create-themes .app-yellow{background:#efd078}.workspace-create-themes .app-orange{background:#e8ad7b}.workspace-create-themes .app-teal{background:#9ed9cf}.workspace-create-themes .app-green{background:#a9d39d}.workspace-create-themes .app-red{background:#e7a5a1}.workspace-create-themes .lime-green{background:#c7dc8d}.workspace-create-themes .yellow-green{background:#d7dc91}.workspace-create-themes .brown{background:#c9aa86}.workspace-create-themes .warm-peach-pink{background:#e9b59f}@media(max-width:720px){.workspace-actions{width:100%;justify-content:flex-end}.workspace-create-themes{grid-template-columns:repeat(3,1fr)}}
