:root{
  --blue:#2f6bff;--blue-2:#1f55d9;--nav:#3f78ad;--bg:#f4f7fb;--text:#121b3a;--muted:#64748b;--line:#dfe7f2;--card:#fff;--dark:#0f172a;--green:#18a957;--red:#df2d2d;--amber:#f59e0b;--soft:#eef5ff;--radius:16px;--shadow:0 10px 28px rgba(15,23,42,.08)
}
*{box-sizing:border-box}html{font-size:16px}body{font-family:Inter,Arial,"Microsoft YaHei",sans-serif;margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.35}a{color:#2862d7}.mobile-menu{display:none}.ms-topbar{min-height:72px;background:linear-gradient(90deg,#356f9e,#4c86bb);color:white;display:flex;align-items:stretch;padding:0 18px;gap:14px;position:sticky;top:0;z-index:50;box-shadow:0 4px 18px rgba(15,23,42,.18)}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:900;font-size:21px;white-space:nowrap;padding:0 6px}.brand-mark{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#e6f1ff,#fff);color:#2d6ca3;display:inline-flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,.16)}.main-modules{display:flex;align-items:stretch;gap:2px;overflow-x:auto;flex:1;scrollbar-width:none}.main-modules::-webkit-scrollbar{display:none}.module{min-width:88px;color:#eaf3ff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 12px;font-size:13px;border-radius:0 0 14px 14px;transition:.14s;background:transparent}.module span{font-size:22px;line-height:1}.module b{font-weight:750;white-space:nowrap}.module:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}.module.primary{background:rgba(18,61,104,.24)}.module.primary:hover{background:rgba(18,61,104,.36)}.userbox{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:14px}.userbox a{color:#fff;text-decoration:none}.avatar{width:36px;height:36px;border-radius:50%;background:#e8f2ff;color:#326b9d;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.username{font-weight:800}.logout{opacity:.9}.subbar{height:50px;background:#fff;display:flex;align-items:center;gap:30px;padding:0 22px;border-bottom:1px solid var(--line);position:sticky;top:72px;z-index:40;overflow-x:auto;box-shadow:0 2px 8px rgba(15,23,42,.03)}.subbar a{text-decoration:none;color:#315987;font-weight:800;white-space:nowrap}.wrap{max-width:1620px;margin:0 auto;padding:30px 24px}.page-title,h1{font-size:34px;line-height:1.15;margin:6px 0 20px;font-weight:900;color:#0b1539}h2{font-size:24px;margin:8px 0 14px}.grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:18px}.card,.box,.note,.err,.panel{background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);border:1px solid #edf2f7;margin:16px 0}.card{display:block;text-decoration:none;color:var(--text);font-size:22px;font-weight:900;min-height:130px;transition:.15s transform,.15s box-shadow}.card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.13)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.stats div{background:#fff;border-radius:16px;padding:18px;box-shadow:var(--shadow);border:1px solid #edf2f7;color:var(--muted)}.stats b{font-size:34px;color:var(--text)}.note{background:#eef5ff;color:#385a7a}.err{background:#fee2e2;color:#991b1b;border-color:#fecaca;font-weight:800}.hint{font-size:13px;color:var(--muted);margin-top:6px}input,select,button{font-family:inherit;font-size:16px;padding:11px 13px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}input,select{color:#0f172a}input:focus,select:focus{outline:3px solid #bfdbfe;border-color:#60a5fa}button,.btn,.btnlink{min-height:42px;border:0;border-radius:12px;padding:10px 16px;margin:4px;font-size:15px;font-weight:850;line-height:1.1;box-shadow:0 3px 10px rgba(15,23,42,.12);transition:.12s transform,.12s filter,.12s box-shadow;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;cursor:pointer;background:#111827;color:#fff}button:hover,.btn:hover,.btnlink:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 7px 18px rgba(15,23,42,.16)}.btn-lg{min-height:48px;font-size:17px;padding:13px 20px;border-radius:14px}.btn-sm{min-height:34px;font-size:13px;padding:7px 10px;border-radius:10px}.btn-primary{background:var(--blue)!important;color:#fff!important}.btn-success{background:var(--green)!important;color:#fff!important}.btn-danger,.danger{background:var(--red)!important;color:#fff!important}.btn-dark{background:#111827!important;color:#fff!important}.btn-light{background:#f8fafc!important;color:#1e293b!important;border:1px solid #cbd5e1!important}.green{background:var(--green)!important;color:#fff!important}.btn-ship-main{background:linear-gradient(135deg,#4a90ff,#215fe5)!important;color:#fff!important}.toolbar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;align-items:center;flex-wrap:wrap;margin:12px 0;display:flex;gap:10px;box-shadow:0 4px 16px rgba(15,23,42,.05)}.form-card{border:1px solid var(--line)}.form-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.form-row label,.inline-label{font-weight:850;color:#334155}.small-select{width:auto;min-width:128px;font-size:16px;padding:10px 12px}.row-actions,.actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions form{display:inline-block;margin:0}.table-wrap{overflow:auto;background:white;border-radius:16px;border:1px solid var(--line);box-shadow:0 4px 16px rgba(15,23,42,.04)}table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;margin:0;border-radius:16px;overflow:hidden}th,td{border-bottom:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:middle}th{position:sticky;top:0;background:#eef6ff;color:#1e3a5f;font-size:14px;font-weight:900;z-index:3}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcff}.mono{font-family:Consolas,Monaco,monospace;font-weight:800}.qty{width:76px}.scan-form input[name=bag_code],.scan-form input[name=barcode],.box input[data-scanner="1"]{font-size:24px;width:520px;max-width:90%;min-width:420px}.login{max-width:420px;margin:48px auto}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;z-index:9999}.modal-box{background:white;border:6px solid var(--red);border-radius:20px;padding:34px;max-width:560px;text-align:center;box-shadow:0 20px 80px rgba(0,0,0,.4)}.modal-title{font-size:42px;font-weight:900;color:var(--red)}.modal-code{font-size:30px;font-weight:800;margin:18px 0;padding:14px;background:#fee2e2;border-radius:10px}.modal-text{font-size:20px;margin-bottom:20px}.list-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qr-reader{display:none;max-width:420px;margin-top:12px;background:#fff;border-radius:14px;padding:10px}.mobile-camera-btn{background:#4f46e5!important}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.panel-head h2{margin:0;font-size:22px}.panel-head p{margin:5px 0 0;color:var(--muted)}.compact-head{margin-bottom:8px}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.shipment-create-panel{border-top:5px solid var(--blue)}.shipment-form{display:grid;grid-template-columns:1fr 1.2fr .85fr 1fr 1fr .75fr 1.2fr auto;gap:10px;align-items:end}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:900;color:#475569;text-transform:uppercase;letter-spacing:.02em}.field input,.field select{width:100%;box-sizing:border-box;margin:0}.action-field{align-self:end}.shipment-summary{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;margin:12px 0 16px}.shipment-summary div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 15px;box-shadow:0 3px 12px rgba(15,23,42,.05)}.shipment-summary span{display:block;font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:900;margin-bottom:5px}.shipment-summary b{font-size:17px}.shipment-scan-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.shipment-scan-row input{font-size:24px;min-width:420px}.download-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.download-left{display:flex;align-items:center;gap:8px;margin-right:8px}.dash-hero{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:stretch}.hero-card{background:#fff;border-radius:20px;padding:26px;box-shadow:var(--shadow);border:1px solid #edf2f7}.hero-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.hero-action{background:#fff;color:#111b3d;text-decoration:none;border-radius:20px;padding:22px;box-shadow:var(--shadow);font-size:18px;font-weight:900;border:1px solid #edf2f7}.hero-action span{display:block;font-size:34px;margin-bottom:12px}.hero-action.primary{background:linear-gradient(135deg,#5aa2f3,#376fd0);color:#fff}.hero-action.green{background:linear-gradient(135deg,#35c280,#16a34a);color:#fff}.hero-action.orange{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.hero-action.red{background:linear-gradient(135deg,#f97373,#dc2626);color:#fff}.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.button-row .btn,.button-row button{margin:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:1180px){.ms-topbar{height:auto;flex-wrap:wrap;padding:10px 14px}.brand{padding:4px 0}.main-modules{order:3;width:100%}.userbox{margin-left:auto}.subbar{top:126px}.shipment-form{grid-template-columns:1fr 1fr}.shipment-summary{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.hero-actions{grid-template-columns:repeat(2,1fr)}.dash-hero{grid-template-columns:1fr}}
@media(max-width:760px){body{font-size:15px}.wrap{padding:14px}.mobile-menu{display:inline-flex;align-items:center;justify-content:center;border:0;background:rgba(255,255,255,.16);color:#fff;width:42px;height:42px;border-radius:12px;margin:auto 0;font-size:22px}.ms-topbar{position:sticky;min-height:62px;align-items:center}.brand{font-size:18px;flex:1}.brand-mark{width:34px;height:34px}.main-modules{display:none;position:fixed;left:0;right:0;top:62px;background:#fff;padding:10px;grid-template-columns:repeat(2,1fr);box-shadow:0 18px 40px rgba(15,23,42,.2);z-index:99}.nav-open .main-modules{display:grid}.module{color:#14395d;background:#f1f7ff!important;border-radius:14px;min-width:0;padding:14px 8px}.module.primary{background:#e2efff!important;color:#14395d}.userbox{width:auto;font-size:12px}.username,.logout{display:none}.subbar{position:relative;top:0;height:auto;padding:10px 14px;gap:18px}.grid,.gridform,.shipment-form{grid-template-columns:1fr}.stats,.shipment-summary{grid-template-columns:1fr 1fr}.box,.note,.err,.panel,.hero-card{padding:15px;border-radius:16px;margin:12px 0}input,select,button{font-size:16px;max-width:100%}button,.btn,.btnlink{width:100%;margin:4px 0}.scan-form input[name=bag_code],.scan-form input[name=barcode],.box input[data-scanner="1"],.shipment-scan-row input{width:100%;min-width:0;font-size:21px}.actions,.row-actions,.shipment-scan-row,.download-panel,.head-actions,.button-row{display:block}.download-left{display:block}.small-select{width:100%;margin-top:5px}.table-wrap{border-radius:14px}table{font-size:14px;min-width:760px}th,td{padding:8px}.modal-box{max-width:86vw;padding:22px}.modal-title{font-size:30px}.modal-code{font-size:22px}.qr-reader{max-width:100%}.hero-actions{grid-template-columns:1fr}.page-title,h1{font-size:27px}.panel-head{display:block}.shipment-summary b{font-size:15px}}

/* v22: removed duplicate second navigation line */
.subbar{display:none!important}
.wrap{padding-top:24px}

/* v24 dashboard refresh */
.dashboard-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:linear-gradient(135deg,#eff6ff,#ffffff);border:1px solid #dbeafe;border-radius:24px;padding:28px;box-shadow:var(--shadow);margin-bottom:18px}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#dbeafe;color:#1d4ed8;font-weight:900;border-radius:999px;padding:7px 12px;font-size:13px;text-transform:uppercase;letter-spacing:.03em}.dashboard-title{font-size:48px;margin:14px 0 4px;color:#0b1539}.dashboard-subtitle{font-size:18px;color:#475569;margin:0}.dashboard-date{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:16px 18px;min-width:210px;box-shadow:0 6px 18px rgba(15,23,42,.06)}.dashboard-date span{display:block;font-size:13px;text-transform:uppercase;color:#64748b;font-weight:900}.dashboard-date b{font-size:22px;color:#0f172a}.dashboard-actions{grid-template-columns:repeat(4,1fr);margin:18px 0 24px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;margin:14px 0 28px}.kpi-card{position:relative;overflow:hidden;background:#fff;border-radius:20px;padding:20px;box-shadow:var(--shadow);border:1px solid #edf2f7;min-height:132px}.kpi-card:after{content:"";position:absolute;right:-28px;top:-28px;width:100px;height:100px;border-radius:999px;opacity:.13;background:currentColor}.kpi-card span{display:block;color:#475569;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.kpi-card b{display:block;font-size:38px;line-height:1.05;margin:10px 0;color:#0f172a}.kpi-card small{color:#64748b;font-weight:700}.kpi-card.blue{color:#2563eb}.kpi-card.violet{color:#7c3aed}.kpi-card.green{color:#16a34a}.kpi-card.orange{color:#f59e0b}.kpi-card.cyan{color:#0891b2}.kpi-card.slate{color:#475569}.kpi-card.rose{color:#e11d48}.kpi-card.indigo{color:#4f46e5}.dashboard-columns{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}.activity-list{display:flex;flex-direction:column;gap:10px}.activity-item{display:flex;gap:12px;align-items:flex-start;border:1px solid #edf2f7;background:#fbfdff;border-radius:16px;padding:12px}.activity-item span{width:34px;height:34px;border-radius:12px;background:#eef6ff;display:flex;align-items:center;justify-content:center}.activity-item b{display:block;color:#0f172a}.activity-item small{display:block;color:#64748b;margin-top:3px}.empty-state{padding:20px;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b;text-align:center}.admin-grid .card{min-height:90px;font-size:18px}
@media(max-width:980px){.dashboard-hero,.dashboard-columns{grid-template-columns:1fr}.dashboard-actions,.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-title{font-size:40px}.dashboard-date{min-width:0}}
@media(max-width:760px){.dashboard-hero{padding:18px;border-radius:18px}.dashboard-title{font-size:34px}.dashboard-subtitle{font-size:16px}.dashboard-actions,.kpi-grid{grid-template-columns:1fr}.kpi-card{min-height:112px}.kpi-card b{font-size:32px}}

/* v25: compact label creation button */
.label-create-btn{flex-direction:column;align-items:center;gap:3px;min-width:260px}
.label-create-btn .btn-main{font-size:18px;font-weight:900;line-height:1.05}
.label-create-btn .btn-sub{font-size:11px;font-weight:700;opacity:.86;line-height:1.05}
@media(max-width:760px){.label-create-btn{width:100%;min-width:0}.label-create-btn .btn-main{font-size:17px}.label-create-btn .btn-sub{font-size:10px}}
.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:12px 0 18px}.stat-card.mini{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 3px 12px rgba(15,23,42,.05)}.stat-card.mini span{display:block;color:var(--muted);font-size:12px;font-weight:900}.stat-card.mini b{display:block;font-size:24px;color:#0b1539}.stat-card.mini small{color:var(--muted)}
.import-box{display:flex;flex-direction:column;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.dropzone{border:2px dashed #8fb5ff;border-radius:16px;background:#f6f9ff;padding:28px;text-align:center;color:#1f4fbf;cursor:pointer}.dropzone input{display:none}.dropzone small{display:block;color:#64748b;margin-top:6px}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.dropzone{padding:20px}}

/* v30 compact UX refresh */
.shipment-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.shipment-sidebar{position:sticky;top:92px;margin-top:0}.shipment-sidebar h2{margin-top:0}.shipment-sidebar .full{width:100%;margin:7px 0}.compact-shipment-form{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr 160px auto;gap:10px;align-items:end;margin-bottom:10px}.compact-field{display:flex;flex-direction:column;gap:5px}.compact-field label,.mini-field label{font-size:11px;text-transform:uppercase;color:#64748b;font-weight:900;letter-spacing:.02em}.compact-field input,.mini-field input,.mini-field select{width:100%;margin:0}.compact-field.small{max-width:160px}.compact-scan-panel{padding:14px;margin:10px 0}.compact-one-line{gap:8px}.compact-one-line input{min-width:360px;flex:1;font-size:20px}.bags-panel{margin-top:10px}.one-line-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.one-line-actions .btn,.one-line-actions button{margin:0}.compact-bag-create{padding:14px}.bag-create-line{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.mini-field{width:120px;display:flex;flex-direction:column;gap:5px}.mini-field.wide{width:190px}.label-create-btn.compact{min-width:190px;min-height:48px;margin:0}.import-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.google-form input{min-width:360px}.edit-row{display:none;background:#f8fbff}.edit-row.open{display:table-row}.product-edit-line{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;align-items:end}.product-edit-line input{width:100%;margin:0}.product-edit-line button{margin:0}.table-wrap table td{vertical-align:middle}@media(max-width:1100px){.shipment-layout{grid-template-columns:1fr}.shipment-sidebar{position:relative;top:0}.compact-shipment-form{grid-template-columns:repeat(2,1fr)}.product-edit-line{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.compact-shipment-form,.product-edit-line{grid-template-columns:1fr}.compact-one-line input,.google-form input{min-width:0;width:100%}.mini-field,.mini-field.wide{width:calc(50% - 6px)}.bag-create-line{align-items:stretch}.shipment-sidebar .full{width:100%}.inline-form{display:block}.import-toolbar .btn,.import-toolbar button{width:100%}}

/* v31 compact production UI */
.tight-line-form{grid-template-columns:160px 150px 220px 180px 150px 120px!important;padding:14px!important;gap:10px!important;align-items:start!important}
.tight-line-form .compact-field{gap:4px!important}
.tight-line-form .compact-field label,.bag-create-line .mini-field label{order:2;font-size:11px!important;line-height:1.1;color:#64748b!important;text-transform:none!important;letter-spacing:0!important;margin-top:2px}
.tight-line-form .compact-field input,.bag-create-line .mini-field input,.bag-create-line .mini-field select{height:42px!important;padding:8px 11px!important;font-size:16px!important;border-radius:12px!important}
.bag-create-line{flex-wrap:nowrap!important;align-items:flex-start!important;gap:9px!important}
.bag-create-line .mini-field{width:96px!important;min-width:96px!important;gap:4px!important}
.bag-create-line .mini-field.wide{width:160px!important;min-width:150px!important}
.label-create-btn.compact{height:42px!important;min-height:42px!important;margin:0!important;padding:7px 14px!important;min-width:164px!important;align-self:flex-start!important}
.label-create-btn .btn-main{font-size:15px!important;line-height:1.05!important}.label-create-btn .btn-sub{font-size:10px!important;opacity:.75!important;line-height:1!important}.product-edit-line{grid-template-columns:150px 150px 170px 170px 150px 150px 170px 100px!important}.product-edit-line input{height:40px!important}.edit-row{display:none!important}.edit-row.open{display:table-row!important;background:#f8fbff!important}
@media(max-width:1100px){.tight-line-form{grid-template-columns:repeat(3,1fr)!important}.bag-create-line{flex-wrap:wrap!important}.product-edit-line{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:760px){.tight-line-form{grid-template-columns:1fr!important}.bag-create-line{flex-wrap:wrap!important}.bag-create-line .mini-field,.bag-create-line .mini-field.wide{width:calc(50% - 6px)!important;min-width:0!important}.label-create-btn.compact{width:100%!important}.product-edit-line{grid-template-columns:1fr!important}}
.warehouses-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.compact-line{align-items:end}.status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-weight:800;font-size:12px;background:#eef2ff;color:#3730a3}.status.ok{background:#dcfce7;color:#166534}.status.muted{background:#f1f5f9;color:#64748b}@media(max-width:900px){.warehouses-layout{grid-template-columns:1fr}.compact-line{display:block}.compact-line .mini-field{width:100%!important;margin-bottom:8px}}

/* v34 shipment fields */
.wide-note{min-width:180px}.compact-shipment-form{grid-template-columns:.9fr .9fr 1.05fr .9fr 150px 120px 1.2fr auto!important}.note-field{min-width:170px}@media(max-width:1280px){.compact-shipment-form{grid-template-columns:repeat(3,1fr)!important}.shipment-form{grid-template-columns:repeat(3,1fr)!important}}@media(max-width:760px){.compact-shipment-form,.shipment-form{grid-template-columns:1fr!important}.wide-note,.note-field{min-width:0}}
.metric-row{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:14px 0 18px}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px rgba(15,23,42,.05)}.metric-card span{display:block;color:#64748b;font-size:13px}.metric-card b{display:block;font-size:30px;line-height:1.1;margin-top:6px}.metric-card.success b{color:#16a34a}.metric-card.warning b{color:#d97706}.metric-card.danger b{color:#dc2626}.soft-card{background:#f8fafc}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.quick-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;display:flex;gap:10px;flex-direction:column}.quick-card b{font-size:16px}.quick-card span{color:#64748b;font-size:13px}.compact-table th,.compact-table td{padding:9px 10px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.badge.green{background:#dcfce7;color:#166534}.badge.yellow{background:#fef3c7;color:#92400e}.badge.red{background:#fee2e2;color:#991b1b}.row-ok{background:#fbfffc}.row-warn{background:#fffaf0}.row-error{background:#fff5f5}@media(max-width:760px){.metric-row{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:1fr}.page-head{gap:12px}.page-head .btn{width:100%}}
/* v38 products table improvements */
.product-search-bar{padding:14px;margin-bottom:12px}.search-main-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.product-main-search{min-width:420px;flex:1}.products-table-wrap{max-height:calc(100vh - 300px);overflow:auto}.products-table th,.products-table td{white-space:nowrap}.products-table .filter-row th{top:42px;background:#f8fbff;padding:6px 8px;z-index:4}.products-table .filter-row input{height:28px;min-width:86px;width:100%;font-size:12px;padding:4px 6px;border-radius:7px}.products-table .row-num{font-weight:900;color:#64748b;text-align:center}.product-bottom-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 16px}.product-count{color:#334155;font-weight:800}.product-limit-buttons,.product-page-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.products-table .mono{font-variant-numeric:tabular-nums}@media(max-width:760px){.product-main-search{min-width:0;width:100%}.search-main-line .btn,.product-bottom-controls .btn{width:auto}.product-bottom-controls{align-items:flex-start}.products-table-wrap{max-height:none}}

/* v39: polished compact product filters */
.products-table{font-size:13px;border-spacing:0}
.products-table th,.products-table td{padding:7px 8px}
.products-table thead th{font-size:12px;line-height:1.15}
.products-table .filter-row th{padding:4px 6px;background:#f6f9ff}
.products-table .filter-row input.filter-combo{
  width:60%!important;
  min-width:58px!important;
  max-width:96px!important;
  height:27px!important;
  font-size:11px!important;
  padding:3px 6px!important;
  margin:0 auto!important;
  display:block;
  border-radius:7px!important;
  border:1px solid #cbd5e1!important;
  background:#fff;
}
.products-table .filter-row input.filter-combo:focus{
  width:100%!important;
  max-width:160px!important;
  outline:2px solid rgba(47,107,255,.18);
  border-color:#2f6bff!important;
}
.products-table .filter-row .compact-ok{height:27px!important;padding:3px 8px!important;font-size:11px!important;margin:0!important}
.products-table-wrap{border-radius:14px;border:1px solid #e5edf7;background:#fff}
.products-table th:first-child,.products-table td:first-child{min-width:46px;width:46px;text-align:center}
.products-table th:last-child,.products-table td:last-child{min-width:54px;width:54px;text-align:center}
.products-table td{max-width:190px;overflow:hidden;text-overflow:ellipsis}
.products-table td:hover{overflow:visible;white-space:normal;word-break:break-word;background:#fff;position:relative;z-index:3}
.product-main-search{height:42px!important}
.product-bottom-controls{margin-top:12px}
@media(max-width:760px){
  .products-table{font-size:12px}
  .products-table .filter-row input.filter-combo{width:78%!important;max-width:120px!important}
  .products-table .filter-row input.filter-combo:focus{width:100%!important}
}

/* v41 order analytics */
.order-head h1{margin-bottom:6px}.big-muted{font-size:15px}.badge.blue{background:#dbeafe;color:#1e40af}.badge.gray{background:#f1f5f9;color:#64748b}.order-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin:12px 0 14px}.order-kpi{background:#fff;border:1px solid #e5edf7;border-radius:16px;padding:14px 16px;box-shadow:0 6px 18px rgba(15,23,42,.06)}.order-kpi span{display:block;color:#64748b;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.02em}.order-kpi b{font-size:30px;line-height:1.05;display:block;margin:5px 0}.order-kpi small{color:#64748b;font-weight:700}.order-kpi.primary b{color:#1d4ed8}.order-kpi.success b{color:#16a34a}.order-kpi.warning b{color:#d97706}.card-clean{background:#fff;border:1px solid #e5edf7;border-radius:18px;padding:16px;margin:14px 0;box-shadow:0 8px 22px rgba(15,23,42,.05)}.progress-panel{padding:14px 16px}.progress-title{display:flex;justify-content:space-between;align-items:center;font-size:18px;margin-bottom:9px}.progress-title span{font-weight:900;color:#1d4ed8}.progress-bar{height:12px;background:#eaf0f8;border-radius:999px;overflow:hidden}.progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:999px}.progress-bar.small{height:8px;margin-top:10px}.progress-hint{margin-top:8px;color:#64748b}.warehouse-analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;margin:12px 0}.warehouse-card{background:#fff;border:1px solid #e5edf7;border-radius:18px;padding:14px 16px;box-shadow:0 8px 22px rgba(15,23,42,.06)}.warehouse-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.warehouse-card-top b{font-size:22px}.warehouse-card-top small{display:block;color:#64748b;font-weight:800;margin-top:2px}.warehouse-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.warehouse-stats div{background:#f8fafc;border-radius:12px;padding:8px}.warehouse-stats span{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.warehouse-stats b{font-size:20px}.warehouse-meta{margin-top:10px;color:#64748b;font-weight:800;font-size:12px}.section-title-line{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title-line h2{margin:0}.warehouse-detail{border:1px solid #e5edf7;border-radius:14px;margin:9px 0;background:#fff;overflow:hidden}.warehouse-detail summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:#f8fbff;border-bottom:1px solid #e5edf7}.warehouse-detail summary::-webkit-details-marker{display:none}.warehouse-detail summary b{font-size:17px}.warehouse-detail summary span{color:#64748b;font-weight:800}.table-wrap.inner{border:0;border-radius:0;margin:0}.two-col-order{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:14px;align-items:start}.advice-card{position:sticky;top:90px}.advice-list{display:grid;gap:10px}.advice-list div{background:#f8fafc;border:1px solid #edf2f7;border-radius:14px;padding:11px 12px}.advice-list b{display:block}.advice-list span{display:block;color:#64748b;margin-top:4px;font-size:13px}@media(max-width:1400px){.order-kpi-grid{grid-template-columns:repeat(3,1fr)}.warehouse-analytics-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1000px){.warehouse-analytics-grid{grid-template-columns:repeat(2,1fr)}.two-col-order{grid-template-columns:1fr}.advice-card{position:relative;top:0}}@media(max-width:760px){.order-kpi-grid,.warehouse-analytics-grid{grid-template-columns:1fr}.section-title-line{display:block}.order-kpi b{font-size:26px}.warehouse-stats{grid-template-columns:1fr}}

/* v41.2 clean UI */
.clean-topbar .module{min-width:76px;padding:8px 9px}.clean-topbar .module span{font-size:19px}.clean-topbar .module b{font-size:12px}.admin-menu{position:relative;list-style:none}.admin-menu summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.admin-menu summary::-webkit-details-marker{display:none}.admin-dropdown{position:absolute;right:0;top:64px;background:#fff;color:#0f172a;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;min-width:190px;z-index:999}.admin-dropdown a{display:block;color:#0f172a;text-decoration:none;padding:10px 12px;border-radius:10px;font-weight:800}.admin-dropdown a:hover{background:#eef5ff}.clean-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.clean-head h1{margin-bottom:4px}.muted{color:var(--muted)}.work-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.work-main{min-width:0}.side-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);position:sticky;top:92px}.side-panel h2{font-size:20px;margin:0 0 8px}.side-form{display:flex;flex-direction:column;gap:10px}.side-form input,.side-form select{width:100%;margin:0}.full{width:100%;margin:0!important}.clean-drop{display:flex;flex-direction:column;gap:6px;align-items:flex-start;justify-content:center;border:2px dashed #9db7d8;border-radius:16px;padding:18px;background:#f8fbff;min-height:130px;cursor:pointer}.clean-drop.active{background:#eef6ff;border-color:#2f6bff}.clean-drop input[type=file]{display:none}.clean-drop span,.clean-drop small{color:var(--muted)}.small-note{font-size:12px;line-height:1.35;color:var(--muted);margin-top:10px;background:#f8fafc;border-radius:12px;padding:10px}.filters-clean{padding:10px;margin:0 0 14px}.filters-clean input,.filters-clean select{min-height:38px;padding:8px 10px;font-size:14px}.compact-table th,.compact-table td{font-size:13px;padding:8px 9px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900;background:#e2e8f0;color:#334155}.badge.blue{background:#dbeafe;color:#1d4ed8}.badge.green,.green{background:#dcfce7!important;color:#166534!important}.badge.yellow{background:#fef3c7;color:#92400e}.badge.gray{background:#e5e7eb;color:#374151}.clean-kpis{grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px}.clean-kpis .order-kpi{padding:14px;border-radius:16px}.clean-kpis .order-kpi b{font-size:27px}.warehouse-summary-table td,.warehouse-summary-table th{white-space:nowrap}.bulk-edit-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px}.bulk-edit-bar select,.bulk-edit-bar input{height:38px;font-size:14px;padding:8px 10px}.clean-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px}.thin-details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.thin-details summary{cursor:pointer;font-weight:900}.clean-create-line{padding:12px;margin-bottom:12px}.row-actions form{display:inline-block}.products-table td,.products-table th{white-space:nowrap}.filter-combo{width:72px!important;max-width:100%;font-size:12px!important;padding:5px 6px!important;min-height:28px!important}.filter-combo:focus{width:140px!important;position:relative;z-index:5}.edit-row{display:none}.edit-row.open{display:table-row}.product-edit-line{display:flex;gap:8px;flex-wrap:wrap}.product-edit-line input{font-size:13px;padding:7px 8px}.product-main-search{min-width:420px}.product-bottom-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.order-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:12px 0}.order-kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.order-kpi span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.order-kpi b{font-size:30px;display:block;margin:4px 0}.order-kpi small{color:var(--muted)}.card-clean{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);margin:14px 0}.section-title-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title-line h2{margin:0}.progress-bar{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-bar i{height:100%;display:block;background:#2f6bff;border-radius:999px}.progress-title{display:flex;justify-content:space-between;margin-bottom:8px}.progress-hint{margin-top:8px;color:var(--muted)}.warehouse-detail{border:1px solid var(--line);border-radius:14px;margin:10px 0;background:#fff}.warehouse-detail summary{cursor:pointer;display:flex;justify-content:space-between;padding:12px 14px;font-weight:900}.warehouse-detail .inner{border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0 0 14px 14px}.table-wrap.inner{max-height:70vh}@media(max-width:1100px){.work-layout{grid-template-columns:1fr}.side-panel{position:static}.clean-kpis,.order-kpi-grid{grid-template-columns:repeat(2,1fr)}.product-main-search{min-width:0;width:100%}.clean-head{display:block}}

/* v41.3 refinements */
.user-menu{position:relative;display:inline-flex;align-items:center}
.user-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;border-radius:999px;padding:4px 6px 4px 4px;background:rgba(255,255,255,.12)}
.user-menu summary::-webkit-details-marker{display:none}
.user-dropdown{position:absolute;right:0;top:48px;min-width:210px;background:#fff;color:#0f172a;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;z-index:1000}
.user-dropdown a{display:block;color:#0f172a!important;text-decoration:none;padding:10px 12px;border-radius:10px;font-weight:850}
.user-dropdown a:hover{background:#eef5ff}
.user-dropdown hr{border:0;border-top:1px solid #e5edf7;margin:6px}
.warehouse-import-card{padding:0;overflow:hidden;border:0;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.import-card-head{display:flex;gap:12px;align-items:center;padding:16px;border-bottom:1px solid #e5edf7;background:linear-gradient(135deg,#edf6ff,#ffffff)}
.import-card-head h2{margin:0;font-size:19px}.import-card-head p{margin:3px 0 0;color:#64748b;font-size:12px;font-weight:750}.import-icon{width:42px;height:42px;border-radius:14px;background:#dbeafe;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-size:22px}
.warehouse-import-card .side-form,.warehouse-import-card .btn,.warehouse-import-card .thin-details{margin:12px 14px!important}.mini-drop{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-height:96px;border:1.5px dashed #9bb7da;border-radius:16px;background:#f8fbff;padding:14px;cursor:pointer;text-align:center}.mini-drop input{display:none}.mini-drop b{color:#173b65}.mini-drop span{color:#64748b;font-size:12px}.import-rules{margin:12px 14px;padding:11px 12px;border-radius:14px;background:#f8fafc;border:1px solid #e5edf7;color:#475569;font-size:12px;display:grid;gap:4px}.import-rules b{color:#0f172a}.compact-add{padding:12px 14px 14px!important;border-top:1px solid #e5edf7;margin-top:14px!important}.compact-add summary{color:#174477}
.admin-menu{display:none!important}

/* v41.4: sticky table headers + sortable arrows */
.table-wrap{max-height:72vh;overflow:auto;position:relative}
.table-wrap table{border-collapse:separate;border-spacing:0}
.table-wrap th, table.crm-sortable-table th{position:sticky;top:0;z-index:8;background:#eef6ff;box-shadow:0 1px 0 var(--line)}
.table-wrap thead tr.filter-row th{top:43px;z-index:7;background:#f7fbff}
.sortable-th{cursor:pointer;user-select:none;white-space:nowrap}
.sortable-th:hover{background:#dcecff!important;color:#0b2e59}
.sort-arrow{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;min-width:18px;height:18px;border-radius:6px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:900;vertical-align:middle}
.select-all-inline{margin-right:8px!important}
.products-table-wrap{max-height:74vh}
@media(max-width:900px){.table-wrap{max-height:none}.table-wrap th, table.crm-sortable-table th{top:0}.table-wrap thead tr.filter-row th{top:38px}}

/* v41.6 fact import */
.fact-import-card{border-left:4px solid var(--green)}
.fact-import-form{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:12px;align-items:center}
.fact-file-drop{border:1.5px dashed #94a3b8;border-radius:14px;padding:12px 14px;background:#f8fafc;display:flex;flex-direction:column;gap:4px;cursor:pointer}
.fact-file-drop input{display:none}.fact-file-drop b{color:#0f172a}.fact-file-drop span{color:#64748b;font-size:12px}.check-line{font-weight:850;color:#334155;display:flex;align-items:center;gap:8px;white-space:nowrap}.check-line input{width:18px;height:18px}.fact-ship-fields{grid-column:1/-1;display:none;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;background:#f8fbff;border:1px solid #e5edf7;border-radius:14px;padding:12px}.fact-ship-fields.show{display:grid}.fact-ship-fields input{width:100%;font-size:14px;padding:9px 10px}@media(max-width:1000px){.fact-import-form{grid-template-columns:1fr}.fact-ship-fields{grid-template-columns:1fr}}
/* v41_18 */
.outside-plan-row td{background:#fff7df!important}
.badge.yellow{background:#fff1b8;color:#7a4b00}
.badge.gray{background:#eef2f7;color:#52627a}
