@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@600;700;800&display=swap";:root{--font-sans: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--bg-page: #f8fafc;--bg-card: #ffffff;--bg-sidebar: #0f172a;--color-text: #0f172a;--color-text-secondary: #334155;--color-muted: #64748b;--color-border: #e2e8f0;--color-border-input: #cbd5e1;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--primary-border: #dbeafe;--success: #10b981;--success-light: #dcfce7;--success-text: #15803d;--success-border: #bbf7d0;--warning: #f59e0b;--warning-light: #fef3c7;--warning-text: #b45309;--warning-border: #fde68a;--danger: #ef4444;--danger-hover: #dc2626;--danger-light: #fee2e2;--danger-text: #b91c1c;--danger-border: #fecaca;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 20px -2px rgba(15, 23, 42, .06), 0 2px 6px -1px rgba(15, 23, 42, .03);--shadow-lg: 0 12px 28px -4px rgba(15, 23, 42, .1), 0 4px 10px -2px rgba(15, 23, 42, .04);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px}*{box-sizing:border-box}body{margin:0;min-width:320px;font-family:var(--font-sans);color:var(--color-text);background:var(--bg-page);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:inherit}button,.button{cursor:pointer;touch-action:manipulation}a,.nav-item,.bottom-nav-item,.clickable-row,.action-btn,.text-button,.icon-button{touch-action:manipulation}a{color:var(--primary);text-decoration:none;transition:color .15s}a:hover{color:var(--primary-hover)}.app-shell{min-height:100vh;display:flex;background:var(--bg-page)}.sidebar{width:260px;background:linear-gradient(180deg,#0f172a,#1e293b);color:#cbd5e1;display:flex;flex-direction:column;padding:24px 16px;transition:width .25s cubic-bezier(.4,0,.2,1);position:relative;z-index:40;box-shadow:4px 0 24px #0f172a14}.is-compact .sidebar{width:78px;padding:24px 12px}.brand{height:48px;display:flex;align-items:center;gap:12px;padding:0 10px 24px;color:#fff;font-weight:800;font-size:17px;white-space:nowrap;letter-spacing:-.02em;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-md);background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:20px;box-shadow:0 0 16px #2563eb66;flex-shrink:0}nav{display:grid;gap:6px;margin-top:20px}.nav-item{display:flex;align-items:center;gap:14px;min-height:44px;padding:0 14px;border-radius:var(--radius-md);color:#94a3b8;text-decoration:none;font-size:14px;font-weight:600;transition:all .15s ease;white-space:nowrap}.nav-item:hover{background:#ffffff14;color:#fff;transform:translate(2px)}.nav-item.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:700;box-shadow:0 4px 14px #2563eb59;transform:none}.nav-icon{width:22px;text-align:center;font-size:18px;flex-shrink:0}.bottom-nav{display:none}.bottom-nav-item{border:0;background:transparent;color:#64748b;text-decoration:none;font:inherit;font-weight:800}.bottom-nav-item:hover{color:var(--primary)}.bottom-nav-icon,.bottom-nav-label{display:block}.collapse-button{margin-top:auto;color:#94a3b8;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:#ffffff08;padding:12px;text-align:left;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:650;transition:all .15s}.collapse-button:hover{background:#ffffff1a;color:#fff}.collapse-icon{width:20px;text-align:center;font-weight:800}.main-content{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:30}.topbar-left{display:flex;align-items:center;gap:16px}.mobile-toggle{display:none;border:1px solid var(--color-border);background:#fff;color:var(--color-text);border-radius:var(--radius-sm);padding:8px 12px;font-size:18px}.eyebrow{color:var(--primary);font-size:11px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}.connection-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);margin-left:10px;box-shadow:0 0 0 3px var(--success-light);animation:pulse-green 2s infinite}@keyframes pulse-green{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.topbar-actions{display:flex;align-items:center;gap:12px}.user-chip{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);background:#f1f5f9;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:7px 16px;font-size:13px;font-weight:700}.user-avatar{font-size:14px}.icon-button{border:1px solid var(--color-border);background:#fff;color:var(--color-text-secondary);font-size:14px;padding:7px 14px;border-radius:var(--radius-md);font-weight:700;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.icon-button:hover{background:#f8fafc;border-color:var(--color-border-input)}.logout-button{background:var(--danger-light);border-color:var(--danger-border);color:var(--danger-text)}.logout-button:hover{background:#fca5a5;color:var(--danger-text)}.offline-banner,.update-banner,.install-hint{margin:14px 32px 0;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.offline-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff7ed;border-color:#fed7aa;color:#9a3412}.offline-banner span{font-weight:850}.offline-banner small{color:#9a3412;font-weight:650}.update-banner,.install-hint{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}.update-banner{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}.install-hint{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.update-banner div,.install-hint div{display:grid;gap:2px}.update-banner strong,.install-hint strong{font-size:14px;font-weight:850}.update-banner span,.install-hint span{color:#334155;font-size:13px;font-weight:650}.update-banner button,.install-hint button{flex-shrink:0;border:0;border-radius:var(--radius-md);background:var(--primary);color:#fff;padding:9px 13px;font-weight:800;cursor:pointer}.page-content{padding:32px;max-width:1560px;margin:0 auto;width:100%}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}h1{font-size:clamp(24px,2.5vw,32px);line-height:1.15;letter-spacing:-.03em;font-weight:800;margin:4px 0 6px;color:var(--color-text)}h2{font-size:18px;font-weight:750;margin:0;color:var(--color-text);letter-spacing:-.01em}.muted{color:var(--color-muted);font-size:14px;line-height:1.55;margin:0}.title-suffix{color:var(--color-muted);font-size:.5em;font-weight:600;letter-spacing:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-md);min-height:42px;padding:0 18px;text-decoration:none;font-size:13.5px;font-weight:700;transition:all .15s ease;white-space:nowrap}.button.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 14px #2563eb47}.button.primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2563eb61;color:#fff}.button.secondary{background:var(--primary-light);border-color:var(--primary-border);color:var(--primary-hover)}.button.secondary:hover{background:#dbeafe;transform:translateY(-1px)}.button.danger-button,.text-button.danger-button{background:var(--danger-light);border-color:var(--danger-border);color:var(--danger-text)}.button.danger-button:hover,.text-button.danger-button:hover{background:#fee2e2;border-color:#fca5a5}.button.full{width:100%;margin-top:8px}.button:disabled{cursor:wait;opacity:.6;transform:none!important;box-shadow:none!important}.text-button{border:1px solid var(--color-border);background:#fff;color:var(--color-text-secondary);border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;font-weight:700;transition:all .15s;cursor:pointer}.text-button:hover{background:#f1f5f9;color:var(--color-text);border-color:var(--color-border-input)}.dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.period-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.period-switch button{border:0;border-radius:var(--radius-sm);min-height:34px;padding:0 14px;color:var(--color-muted);background:transparent;font-size:13px;font-weight:700;transition:all .15s}.period-switch button.active{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #2563eb4d}.period-switch button:not(.active):hover{color:var(--primary);background:var(--primary-light)}.metric-grid,.lot-overview,.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:24px}.metric-card,.lot-stat{position:relative;overflow:hidden;display:flex!important;flex-direction:column!important;gap:6px;padding:20px 22px!important;background:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover,.lot-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.metric-card:before,.lot-stat:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:var(--primary)}.metric-card span,.lot-stat span{color:var(--color-muted);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.metric-card strong,.lot-stat strong{color:var(--color-text);font-size:28px;font-weight:850;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.15}.metric-card strong .unit-text,.lot-stat strong .unit-text{font-size:15px;font-weight:650;color:var(--color-muted);letter-spacing:normal;margin-left:4px}.metric-card small,.lot-stat small{color:var(--color-muted);font-size:12px;font-weight:600;margin-top:2px}.accent-blue:before,.accent-primary:before{background:var(--primary)}.accent-green:before{background:var(--success)}.accent-orange:before{background:var(--warning)}.accent-purple:before{background:#8b5cf6}.accent-red:before{background:var(--danger)}.lot-title-link{font-size:14.5px;font-weight:800;color:var(--primary);display:block;margin-bottom:3px}.lot-status-summary{font-size:12.5px;font-weight:650;color:var(--color-muted);margin-bottom:2px}.lot-types-line{font-size:12px;color:#64748b;line-height:1.4}.lot-model-name{font-size:14px;font-weight:750;color:var(--color-text)}.lot-capacity-tag{display:inline-block;margin-top:3px;padding:1px 7px;font-size:11.5px;font-weight:750;font-family:var(--font-mono);background:#f1f5f9;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.stock-count-wrap{display:inline-flex;flex-direction:column;align-items:flex-end}.stock-num{font-family:var(--font-mono);font-size:14.5px;font-weight:850;display:inline-block}.stock-num.in-stock{color:#15803d;background:#dcfce7;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid #bbf7d0}.stock-num.imported{color:#1e293b;background:#f1f5f9;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid #e2e8f0}.stock-label{font-size:11.5px;font-weight:600;color:var(--color-muted);margin-top:3px}.date-badge{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--color-text-secondary)}.supplier-pill{display:inline-block;padding:2px 8px;font-size:12.5px;font-weight:700;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.cost-value{font-family:var(--font-mono);font-size:14px;font-weight:800;color:var(--color-text)}.table-action-btns{display:inline-flex;align-items:center;gap:6px}.two-column,.detail-grid,.sale-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);gap:24px;align-items:start;margin-top:20px}.two-column>*,.detail-grid>*,.sale-layout>*{min-width:0;max-width:100%}.sale-summary{position:sticky;top:90px;display:flex;flex-direction:column;gap:10px;background:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-md)}.sale-summary h2{font-size:18px;font-weight:850;margin:0}.sale-summary>div:not(.sale-lines):not(.callout):not(.panel-heading):not(.summary-total),.sale-summary .summary-row{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:10px 0!important;font-size:14px;border-bottom:1px dashed var(--color-border)}.sale-summary>div>span,.sale-summary .summary-row>span{font-weight:650;color:var(--color-muted)}.sale-summary>div>strong,.sale-summary .summary-row>strong{font-family:var(--font-mono);font-size:16px;font-weight:800;color:var(--color-text)}.sale-summary .summary-total{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:14px 16px!important;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:var(--radius-md);border:1.5px solid #bfdbfe;margin-top:6px;margin-bottom:6px}.sale-summary .summary-total span{font-weight:850;font-size:13.5px;color:#1e40af;text-transform:uppercase;letter-spacing:.04em}.sale-summary .summary-total strong{font-family:var(--font-mono);font-size:20px;font-weight:900;color:var(--primary)}.muted-callout{font-size:12.5px;color:var(--color-muted);background:#f8fafc;border:1px solid var(--color-border);padding:10px 14px;border-radius:var(--radius-sm);margin:4px 0 0;line-height:1.5}.panel{background:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-heading a{color:var(--primary);font-size:13px;font-weight:700}.alert-list{display:grid;gap:8px}.alert-row{display:flex;gap:14px;align-items:center;border-radius:var(--radius-md);padding:12px 16px;background:#f8fafc;border:1px solid var(--color-border)}.alert-row strong{display:block;font-size:14px;color:var(--color-text);font-weight:700}.alert-row small{display:block;color:var(--color-muted);margin-top:2px;font-size:12px}.alert-dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:#60a5fa}.alert-warning .alert-dot{background:var(--warning)}.alert-critical .alert-dot{background:var(--danger)}.progress-list{display:grid;gap:12px}.progress-list>div:not(.progress-track){display:flex;justify-content:space-between;font-size:13px;color:var(--color-muted);font-weight:600}.progress-list strong{color:var(--color-text);font-weight:800}.progress-track{height:8px;border-radius:var(--radius-full);overflow:hidden;background:#e2e8f0;margin-bottom:8px}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#3b82f6)}.progress-track.orange i{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.filters{display:flex;gap:12px;margin-bottom:20px;padding:14px 18px;background:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center}.search-input,input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border:1.5px solid var(--color-border-input);border-radius:var(--radius-md);background:#fff;color:var(--color-text);padding:10px 14px;font-size:14px;font-weight:500;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3.5px #2563eb26}input[type=checkbox],input[type=radio]{width:18px!important;height:18px!important;min-width:18px!important;padding:0!important;margin:0!important;cursor:pointer;accent-color:var(--primary);border-radius:4px;flex-shrink:0;vertical-align:middle}.check-row{display:inline-flex!important;align-items:center!important;gap:10px!important;cursor:pointer;font-size:14px;font-weight:650;color:var(--color-text);-webkit-user-select:none;user-select:none;margin:0}.filters select{max-width:240px}.order-debt-total{display:flex;flex-direction:column;justify-content:center;min-width:210px;padding:9px 16px;border:1px solid #fed7aa;border-radius:var(--radius-md);background:linear-gradient(180deg,#fffbeb,#fff7ed);box-shadow:inset 4px 0 #f59e0b}.order-debt-total span{color:#92400e;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.order-debt-total strong{color:#0f172a;font-size:18px;font-weight:950;letter-spacing:-.02em;white-space:nowrap}.table-wrap{padding:0;overflow-x:auto;background:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid #f1f5f9;white-space:nowrap}th{color:#0f172a;font-size:13.5px;letter-spacing:.03em;text-transform:uppercase;font-weight:900;background:#f1f5f9;border-bottom:2px solid #cbd5e1}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:#f8fafc}.clickable-row{cursor:pointer}td small,.customer-card small,.sale-line small,.match-row small{display:block;color:var(--color-muted);margin-top:4px;font-size:12px;font-weight:500}.align-right{text-align:right}.align-center{text-align:center}.entity-link{color:var(--primary-hover);text-decoration:none;font-weight:750}.entity-link:hover{text-decoration:underline}.mono,.device-imei-link,.device-imei-cell{font-family:var(--font-mono);font-size:15px;font-weight:800;color:var(--primary-hover);letter-spacing:.02em}.device-imei-cell{display:inline-block;background:var(--primary-light);border:1px solid var(--primary-border);border-radius:6px;padding:2px 8px}.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-full);padding:5px 12px;font-size:12px;font-weight:750;white-space:nowrap;border:1px solid transparent}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.tone-success{color:var(--success-text);background:var(--success-light);border-color:var(--success-border)}.tone-success .status-dot{background:var(--success)}.tone-info{color:var(--primary-hover);background:var(--primary-light);border-color:var(--primary-border)}.tone-info .status-dot{background:var(--primary)}.tone-warning{color:var(--warning-text);background:var(--warning-light);border-color:var(--warning-border)}.tone-warning .status-dot{background:var(--warning)}.tone-danger{color:var(--danger-text);background:var(--danger-light);border-color:var(--danger-border)}.tone-danger .status-dot{background:var(--danger)}.tone-neutral{color:#475569;background:#f1f5f9;border-color:var(--color-border)}.tone-neutral .status-dot{background:#94a3b8}.async-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;gap:12px;color:var(--color-muted);font-size:14px;text-align:center;padding:32px}.loading-state{color:var(--primary);font-weight:650}.spinner-ring{display:inline-block;position:relative;width:36px;height:36px}.spinner-ring div{box-sizing:border-box;display:block;position:absolute;width:30px;height:30px;margin:3px;border:3.5px solid var(--primary);border-radius:50%;animation:spinner-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--primary) transparent transparent transparent}.spinner-ring div:nth-child(1){animation-delay:-.45s}.spinner-ring div:nth-child(2){animation-delay:-.3s}.spinner-ring div:nth-child(3){animation-delay:-.15s}@keyframes spinner-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.state-icon{font-size:36px}.empty-state{background:#fff;border:1px dashed var(--color-border-input);border-radius:var(--radius-lg)}.empty-state strong{color:var(--color-text);font-size:16px}.error-state{color:var(--danger-text);background:var(--danger-light);border:1px solid var(--danger-border);border-radius:var(--radius-lg)}.error-state strong{color:var(--danger-text);font-size:16px}.form-panel{display:grid;gap:18px}label{display:grid;gap:6px;color:var(--color-text-secondary);font-size:13px;font-weight:650}.inline-form{display:flex;gap:12px;align-items:flex-end}.inline-form>label{flex:0 1 240px}.inline-form .grow{flex:1 1 auto}.form-error{border-radius:var(--radius-md);padding:12px 16px;margin:0;font-size:13px;font-weight:600;color:var(--danger-text);background:var(--danger-light);border:1px solid var(--danger-border)}.form-success{border-radius:var(--radius-md);padding:12px 16px;margin:0;font-size:13px;font-weight:600;color:var(--success-text);background:var(--success-light);border:1px solid var(--success-border)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0f172a,#1e293b)}.login-panel{width:min(460px,100%);display:grid;gap:24px;padding:36px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 20px 50px #0003}.login-panel .brand-mark{margin-bottom:12px}.register-panel{width:min(780px,100%)}.customer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.customer-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:inherit;text-decoration:none;transition:all .2s ease}.customer-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.customer-avatar{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--primary-light);color:var(--primary-hover);font-weight:800;font-size:16px}.customer-card strong{display:block;font-size:15px;color:var(--color-text);font-weight:750}.customer-search-wrap{position:relative;margin-bottom:20px}.customer-input{font-size:15px;font-weight:600;padding:12px 16px;border-radius:var(--radius-md);border:1.5px solid var(--color-border-input);background:#fff;transition:all .2s ease}.customer-input:focus{border-color:var(--primary);box-shadow:0 0 0 3.5px #2563eb26}.customer-loading-text{font-size:13px;color:var(--primary);font-weight:600;margin:6px 0 0}.customer-picker-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:100;background:#fff;border:1.5px solid #cbd5e1;border-radius:var(--radius-lg);box-shadow:0 16px 36px -4px #0f172a29,0 4px 14px #0f172a14;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;padding:6px;gap:4px}.customer-picker-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid transparent;border-radius:var(--radius-md);background:#fff;text-align:left;cursor:pointer;transition:all .15s ease;width:100%}.customer-picker-item:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translate(2px)}.picker-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:800;font-size:15px;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 8px #2563eb4d}.picker-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.picker-main-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.picker-name{font-size:14.5px;font-weight:800;color:#0f172a}.picker-nickname{font-size:13px;font-weight:650;color:#475569}.picker-tag.diff{padding:1px 7px;background:#fef3c7;color:#b45309;border:1px solid #fde68a;border-radius:4px;font-size:11px;font-weight:700}.picker-sub-row{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#64748b;flex-wrap:wrap}.picker-phone{font-family:var(--font-mono);font-weight:750;color:#2563eb}.picker-territory,.picker-address{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.picker-select-arrow{font-size:12px;font-weight:750;color:var(--primary);background:var(--primary-light);padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--primary-border);flex-shrink:0;opacity:.8}.customer-picker-item:hover .picker-select-arrow{opacity:1;background:#2563eb;color:#fff}.customer-selected-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;border-radius:var(--radius-lg);margin-top:14px;box-shadow:0 4px 14px #16a34a14}.selected-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;font-weight:850;font-size:17px;display:grid;place-items:center;flex-shrink:0;box-shadow:0 4px 12px #16a34a59}.selected-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.selected-tag{font-size:11px;font-weight:850;letter-spacing:.08em;color:#15803d;text-transform:uppercase}.selected-name{font-size:16px;font-weight:850;color:#0f172a}.selected-details{display:flex;align-items:center;gap:10px;font-size:13px;color:#374151;flex-wrap:wrap}.selected-phone{font-family:var(--font-mono);font-weight:750;color:#15803d}.selected-nickname{font-weight:650;color:#4b5563}.selected-diff{padding:1px 6px;background:#0000000d;border-radius:4px;font-size:11.5px;font-weight:700}.selected-address{font-size:12px;color:#64748b}.btn-reselect{flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:750;background:#fff;border:1px solid #bbf7d0;color:#15803d}.btn-reselect:hover{background:#fff;border-color:#86efac;box-shadow:0 2px 8px #0000000f}.debt-sheet-box{padding:24px;background:#f1f5f9;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid #cbd5e1}.debt-sheet-toolbar{width:min(920px,100%);margin:0 auto 12px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.debt-sheet-frame{width:min(920px,100%);min-width:760px;margin:0 auto;background:#fff;border:2px solid #1e293b;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg)}.debt-sheet-title{padding:16px 20px;text-align:center;color:#0f172a;background:#f8fafc;border-bottom:2px solid #1e293b;font-size:18px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;font-family:var(--font-sans)}.debt-sheet-table{width:100%;border-collapse:collapse;font-size:14px;color:#0f172a;background:#fff}.debt-sheet-table th,.debt-sheet-table td{border:1px solid #94a3b8!important;padding:10px 12px;vertical-align:middle;line-height:1.4}.debt-sheet-table thead th{background:#e2e8f0;color:#0f172a;font-weight:850;font-size:13px;text-transform:uppercase;letter-spacing:.04em;text-align:center!important;border-top:none!important;border-bottom:2px solid #1e293b!important}.debt-sheet-table thead th.col-date{width:80px;text-align:center!important}.debt-sheet-table thead th.col-product{width:130px;text-align:center!important}.debt-sheet-table thead th.col-back{width:65px;text-align:center!important}.debt-sheet-table thead th.col-qty{width:85px;text-align:center!important}.debt-sheet-table thead th.col-price{width:130px;text-align:right!important}.debt-sheet-table thead th.col-tt{width:70px;text-align:center!important}.debt-sheet-table thead th.col-amount{width:150px;text-align:right!important}.debt-sheet-table thead th:first-child,.debt-sheet-table tbody tr td:first-child{border-left:none!important}.debt-sheet-table thead th:last-child,.debt-sheet-table tbody tr td:last-child{border-right:none!important}.debt-sheet-table .cell-date{font-family:var(--font-mono);font-weight:800;font-size:13.5px;color:#1e293b;text-align:center!important}.debt-sheet-table .cell-product{font-weight:800;color:#0f172a;font-size:14px;text-align:center!important}.debt-sheet-table .cell-product strong{display:block;font:inherit}.debt-sheet-table .cell-product small{display:block;margin-top:3px;font-family:var(--font-sans);font-size:10.5px;font-weight:700;line-height:1.25;color:#64748b}.debt-sheet-table .cell-qty{font-family:var(--font-mono);font-weight:800;font-size:14px;color:#0f172a;text-align:center!important}.debt-sheet-table .cell-price{font-family:var(--font-mono);font-weight:800;font-size:14px;color:#0f172a;text-align:right!important;padding-right:14px}.debt-sheet-table .cell-tt{font-weight:850;font-size:13.5px;color:#1d4ed8;text-align:center!important}.debt-sheet-table .cell-amount{font-family:var(--font-mono);font-weight:850;font-size:14.5px;color:#0f172a;text-align:right!important;padding-right:14px}.debt-sheet-table td.negative{color:#dc2626!important;font-weight:900!important}.debt-sheet-table .debt-sheet-spacer td{height:16px;background:#f8fafc;border-top:1px solid #94a3b8!important;border-bottom:1px solid #94a3b8!important}.debt-sheet-table .debt-sheet-total-row td{background:#f1f5f9;border-top:2px solid #1e293b!important;border-bottom:none!important;padding:14px 12px}.debt-sheet-table .total-label{text-align:center!important;font-weight:900;font-size:15px;letter-spacing:.08em;color:#0f172a;text-transform:uppercase}.debt-sheet-table .total-value{font-family:var(--font-mono);font-size:18px;font-weight:900;color:#0f172a;text-align:right!important;padding-right:14px}.debt-sheet-note{margin-top:14px;font-size:13px;font-weight:600;color:#475569;text-align:center}.overview-sheet-box{padding:24px;background:linear-gradient(180deg,#f8fafc,#eef4ff);border:1px solid #cbd5e1;border-radius:var(--radius-lg);box-shadow:inset 0 1px #ffffffb3}.overview-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.overview-sheet-header h2{margin:4px 0 6px;font-size:22px;font-weight:900;color:#0f172a;letter-spacing:-.02em}.overview-sheet-total{min-width:190px;padding:14px 18px;background:#fff;border:1px solid #bfdbfe;border-radius:var(--radius-md);text-align:right;box-shadow:var(--shadow-sm)}.overview-sheet-total span{display:block;color:#64748b;font-size:13px;font-weight:800;margin-bottom:4px}.overview-sheet-total strong{display:block;color:#0f172a;font-size:22px;font-weight:950;letter-spacing:-.02em}.overview-sheet-table-wrap{overflow-x:auto;background:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.overview-sheet-table{min-width:1120px;font-size:14.5px;color:#0f172a}.overview-sheet-table th,.overview-sheet-table td{padding:14px 16px;border-bottom:1px solid #e2e8f0;vertical-align:top;white-space:normal}.overview-sheet-table thead th{color:#334155;background:#eff6ff;font-size:12px;font-weight:900;letter-spacing:.08em;border-bottom:1px solid #bfdbfe}.overview-date,.overview-qty,.overview-money,.overview-formula{font-family:var(--font-mono);font-weight:850}.overview-date{color:#1e293b;white-space:nowrap}.overview-imeis{min-width:280px;max-width:430px}.overview-imeis span{display:inline-flex;margin:0 8px 8px 0;padding:4px 8px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-family:var(--font-mono);font-size:14px;font-weight:900}.overview-imeis small{display:block;margin-top:4px;color:#dc2626;font-weight:800}.overview-formula{color:#475569;white-space:nowrap}.overview-amount{color:#0f172a;font-size:15px}.overview-total-row td{background:#f8fafc;border-top:2px solid #94a3b8;border-bottom:none;font-size:15px;font-weight:950}@media(max-width:1060px){.metric-grid,.customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.detail-grid,.sale-layout{grid-template-columns:1fr}}@media(max-width:768px){.app-shell{min-height:100svh;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.mobile-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:0}.sidebar-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:55}.sidebar{position:fixed;top:0;bottom:0;left:0;width:260px!important;max-width:calc(100vw - 42px);padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-100%);transition:transform .25s ease;overflow-y:auto;z-index:60}.mobile-open .sidebar{transform:translate(0)}.sidebar .brand-text,.sidebar .nav-label,.sidebar .collapse-text{display:inline}.sidebar .collapse-button{display:none}.topbar{height:auto;min-height:calc(60px + env(safe-area-inset-top));padding-top:calc(env(safe-area-inset-top) + 6px);padding-bottom:6px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));gap:10px}.topbar-left{gap:10px;min-width:0;flex:1 1 auto}.topbar-actions{flex:0 1 auto;gap:8px;min-width:0}.topbar-left .eyebrow{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.offline-banner,.update-banner,.install-hint{margin:10px max(14px,env(safe-area-inset-left)) 0 max(14px,env(safe-area-inset-right))}.offline-banner{align-items:flex-start;flex-direction:column;padding:12px 14px}.update-banner,.install-hint{align-items:flex-start;flex-direction:column;padding:14px}.update-banner button,.install-hint button{width:100%;min-height:42px}.user-chip{max-width:min(44vw,178px);padding:7px 10px;font-size:12px}.user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{min-height:40px;padding:8px 10px;border-radius:var(--radius-md)}.page-content{padding:20px max(14px,env(safe-area-inset-left)) calc(96px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right))}.metric-grid,.lot-overview,.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metric-card,.lot-stat{min-width:0;padding:18px!important}.metric-card strong,.lot-stat strong{max-width:100%;white-space:nowrap;font-size:clamp(22px,6.4vw,28px);line-height:1.08}.dashboard-metrics .metric-card,.supplier-metrics .metric-card{grid-column:1 / -1}.metric-card small,.lot-stat small{overflow-wrap:break-word}.page-heading{align-items:flex-start;flex-direction:column;gap:16px}.dashboard-actions,.period-switch{width:100%}.period-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.period-switch button{width:100%}.customer-grid{grid-template-columns:1fr}.filters{flex-direction:column;align-items:stretch}.filters select{max-width:none}.order-debt-total{min-width:0;width:100%}.inline-form{flex-direction:column;align-items:stretch}.inline-form>label{flex-basis:auto}button,input,select,textarea{font-size:16px}input,select{min-height:46px}textarea{min-height:96px;line-height:1.45}input[type=checkbox],input[type=radio]{min-height:auto}.button,button.button{min-height:46px}.mobile-sticky-submit{position:sticky;bottom:calc(82px + env(safe-area-inset-bottom));z-index:30;min-height:54px;font-size:16px;border-radius:16px;box-shadow:0 12px 30px #2563eb47}.stock-filter-grid{grid-template-columns:1fr;padding:12px;gap:10px}.btn-filter-stock,.btn-bulk-add{width:100%}.stock-bulk-card{padding:14px;margin-bottom:14px}.bulk-card-top,.bulk-card-bottom{flex-direction:column;align-items:stretch}.select-all-btn{justify-content:center;min-height:46px}.stock-common-price-box{max-width:none;width:100%}.stock-picker-table{overflow:visible;border:0;background:transparent}.stock-picker-table table,.stock-picker-table tbody,.stock-picker-table tr,.stock-picker-table td{display:block;width:100%}.stock-picker-table thead{display:none}.stock-picker-table tbody{display:grid;gap:10px}.stock-picker-table tr{position:relative;margin:0;padding:14px 14px 14px 48px;border:1px solid var(--color-border);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent}.stock-picker-table tr:active{transform:scale(.992)}.stock-picker-table td{border:0!important;padding:2px 0!important}.stock-picker-table td:first-child{position:absolute;left:14px;top:18px;width:auto}.stock-picker-table td:first-child input{width:20px;height:20px}.stock-picker-table td:nth-child(2){font-size:18px;font-weight:850}.stock-picker-table td:nth-child(3) strong{display:block;font-size:15.5px}.stock-picker-table td:nth-child(3) small{display:block;margin-top:2px}.stock-picker-table td:nth-child(4),.stock-picker-table td:nth-child(5),.stock-picker-table td:nth-child(6),.stock-picker-table td:nth-child(7){color:var(--color-text-secondary);font-size:13.5px}.stock-picker-table td:nth-child(4):before{content:"Lô: ";font-weight:800;color:var(--color-muted)}.stock-picker-table td:nth-child(5):before{content:"Loại: ";font-weight:800;color:var(--color-muted)}.stock-picker-table td:nth-child(6):before{content:"Pin: ";font-weight:800;color:var(--color-muted)}.stock-picker-table td:nth-child(7):before{content:"Giá dự kiến: ";font-weight:800;color:var(--color-muted)}.stock-picker-table .align-right{text-align:left}.mobile-card-table{overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.mobile-card-table>table{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;table-layout:auto!important;border-collapse:separate!important}.mobile-card-table>table>thead{display:none!important}.mobile-card-table>table>tbody{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.mobile-card-table>table>tbody>tr:not(.payment-row){display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:14px!important;border:1px solid var(--color-border)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--shadow-sm)!important;overflow:hidden!important;contain:inline-size}.mobile-card-table>table>tbody>tr:not(.payment-row)>td{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border:0!important;padding:6px 0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:right!important}.mobile-card-table>table>tbody>tr:not(.payment-row)>td:before{content:attr(data-label)!important;display:block!important;flex:0 0 auto!important;max-width:45%!important;color:var(--color-muted)!important;font-size:11px!important;font-weight:850!important;letter-spacing:.06em!important;text-align:left!important;text-transform:uppercase!important}.mobile-card-table>table>tbody>tr:not(.payment-row)>td>*:not(:before){min-width:0!important;text-align:right!important}.mobile-card-table>table>tbody>tr:not(.payment-row)>td.actions-cell{display:block!important;text-align:left!important;width:100%!important;max-width:100%!important;margin-top:8px!important;padding-top:10px!important;border-top:1px dashed var(--color-border)!important}.mobile-card-table>table>tbody>tr:not(.payment-row)>td.actions-cell:before{display:block!important;margin-bottom:8px!important;max-width:100%!important}.mobile-card-table>table>tbody>tr>td[data-label=""]:before,.mobile-card-table>table>tbody>tr.payment-row>td:before{display:none!important}.mobile-card-table .align-right,.mobile-card-table .align-center{text-align:right}.mobile-card-table .entity-link,.mobile-card-table .device-imei-link,.mobile-card-table .customer-name-link,.mobile-card-table .money-text,.mobile-card-table .debt-cell-badge,.mobile-card-table .cost-value{font-size:16px;font-weight:850}.mobile-card-table .order-actions,.mobile-card-table .row-actions,.mobile-card-table .debt-actions,.mobile-card-table .table-action-btns{width:100%!important;max-width:100%!important;box-sizing:border-box!important;gap:8px}.mobile-card-table .action-btn{min-height:40px;padding:9px 12px;font-size:13px}.mobile-card-table>table>tbody>tr.payment-row{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important}.mobile-card-table>table>tbody>tr.payment-row>td{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:0!important;border:0!important;text-align:left!important}.logout-text{display:none}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;margin:0;padding:6px max(8px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));background:#fffffff0;border-top:1px solid rgba(148,163,184,.28);box-shadow:0 -10px 28px #0f172a1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav-item{min-width:0;min-height:58px;padding:6px 2px 5px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:background .15s ease,color .15s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.bottom-nav-item.active{color:var(--primary);background:#eff6ff}.bottom-nav-item:active{transform:scale(.96)}.bottom-nav-icon{font-size:18px;line-height:1}.bottom-nav-label{font-size:10.5px;line-height:1.1;letter-spacing:-.01em;white-space:nowrap}}@supports (height: 100dvh){@media(max-width:768px){.app-shell{min-height:100dvh}}}@media(max-width:420px){.topbar{min-height:calc(58px + env(safe-area-inset-top));padding-top:calc(env(safe-area-inset-top) + 5px);padding-bottom:5px}.eyebrow{font-size:10px;letter-spacing:.1em}.connection-dot{margin-left:7px}.mobile-toggle{min-width:38px;min-height:38px}.topbar-left .eyebrow{max-width:112px}.user-chip{max-width:132px;padding-inline:9px}.user-avatar{display:none}.bottom-nav{padding-inline:max(5px,env(safe-area-inset-left)) max(5px,env(safe-area-inset-right))}.metric-grid,.lot-overview,.summary-cards{gap:12px}.metric-card,.lot-stat{padding:16px!important}.metric-card span,.lot-stat span{font-size:11px;letter-spacing:.035em}.metric-card strong,.lot-stat strong{font-size:clamp(22px,7vw,28px)}.bottom-nav-item{min-height:56px;border-radius:13px}.bottom-nav-icon{font-size:17px}.bottom-nav-label{font-size:10px}}.stock-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) auto;gap:12px;align-items:flex-end;margin-bottom:16px;padding:16px;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-md)}.stock-filter-field{display:grid;gap:6px}.btn-filter-stock{height:42px;padding:0 18px;white-space:nowrap}.stock-bulk-card{display:flex;flex-direction:column;gap:14px;padding:16px 20px;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:var(--radius-lg);margin-bottom:18px;box-shadow:0 2px 8px #2563eb0f}.bulk-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #dbeafe}.select-all-btn{display:inline-flex!important;align-items:center!important;gap:10px!important;cursor:pointer;background:#fff;padding:8px 14px;border-radius:var(--radius-sm);border:1.5px solid #93c5fd;transition:all .15s ease;-webkit-user-select:none;user-select:none}.select-all-btn:hover{background:#f0fdf4;border-color:#2563eb}.select-all-text{font-size:14px;font-weight:750;color:#1e3a8a}.selected-counter{font-size:14px;color:#1e40af;font-weight:600}.selected-counter strong{font-size:20px;font-weight:850;color:#1d4ed8;font-family:var(--font-mono)}.bulk-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.stock-common-price-box{display:flex;flex-direction:column;gap:4px;flex:1;max-width:400px}.price-box-label{font-size:13px;font-weight:700;color:#1e3a8a}.price-input-wrap{position:relative;display:flex;align-items:center}.price-input-wrap input{padding-right:32px;font-family:var(--font-mono);font-weight:750;font-size:14.5px}.currency-badge{position:absolute;right:12px;color:var(--color-muted);font-weight:700;font-size:14px;pointer-events:none}.price-box-hint{font-size:12px;color:#475569;font-weight:600}.btn-bulk-add{min-height:42px;padding:0 24px;font-size:14px;font-weight:800}.stock-picker-table table{-webkit-user-select:none;user-select:none}.stock-picker-row{cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease}.stock-picker-row:hover{background:#f8fbff}.stock-row-selected{background:#ecfdf5!important;box-shadow:inset 4px 0 #22c55e}.stock-row-selected .device-imei-link{color:#047857}.stock-row-selected input[type=checkbox]{accent-color:#16a34a}.stock-picker-row td:first-child{cursor:pointer}.muted-row{cursor:not-allowed;opacity:.62}.sale-lines-panel{overflow:visible}.sale-lines-panel>.table-wrap{overflow-x:auto}.sale-lines-table{table-layout:fixed;width:100%;min-width:780px}.sale-lines-table th,.sale-lines-table td{white-space:normal;word-break:break-word;vertical-align:top;padding:12px 10px}.sale-lines-table th:nth-child(1),.sale-lines-table td:nth-child(1){width:12%}.sale-lines-table th:nth-child(2),.sale-lines-table td:nth-child(2){width:18%}.sale-lines-table th:nth-child(3),.sale-lines-table td:nth-child(3){width:14%}.sale-lines-table th:nth-child(4),.sale-lines-table td:nth-child(4){width:16%}.sale-lines-table th:nth-child(5),.sale-lines-table td:nth-child(5){width:16%}.sale-lines-table th:nth-child(6),.sale-lines-table td:nth-child(6){width:14%}.sale-lines-table th:nth-child(7),.sale-lines-table td:nth-child(7){width:10%}.money-input-cell{vertical-align:middle!important}.money-input{width:100%!important;min-width:0!important;font-family:var(--font-mono)!important;font-weight:750!important;font-size:13px!important;text-align:right!important;padding:8px 10px!important;border:1.5px solid var(--color-border-input);border-radius:var(--radius-sm);background:#fff}.money-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb1f}.money-preview{display:block!important;text-align:right!important;font-size:12px!important;font-weight:700!important;color:#16a34a!important;margin-top:4px!important;font-family:var(--font-mono)!important;white-space:nowrap}.sale-source-cell{display:flex;flex-direction:column;gap:6px}.sale-source-cell select{width:100%!important;min-width:0!important;font-size:13px;padding:6px 8px}.sale-source-cell input{width:100%!important;min-width:0!important;font-size:12px;padding:6px 8px}.bulk-price-bar{display:flex;align-items:flex-end;gap:12px;padding:14px 18px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-md);margin-bottom:16px;flex-wrap:wrap}.bulk-price-bar>label{flex:1;min-width:200px}.pill-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:750;line-height:1;white-space:nowrap}.pill-badge.small{padding:2px 7px;font-size:11px}.pill-badge.diff-easy{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.pill-badge.diff-normal{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.pill-badge.diff-hard{background:#fff1f2;color:#e11d48;border:1px solid #fecdd3}.pill-badge.risk-safe{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.pill-badge.risk-warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.pill-badge.risk-danger{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 12px;border-radius:7px;font-size:12px;font-weight:750;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:all .15s ease;white-space:nowrap;line-height:1.2}.action-btn.primary{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.action-btn.primary:hover{background:#2563eb;color:#fff;border-color:#2563eb}.action-btn.success{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.action-btn.success:hover{background:#16a34a;color:#fff;border-color:#16a34a}.action-btn.debt{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.action-btn.debt:hover{background:#7c3aed;color:#fff;border-color:#7c3aed}.action-btn.overview{background:#f8fafc;color:#475569;border-color:#cbd5e1}.action-btn.overview:hover{background:#475569;color:#fff;border-color:#475569}.action-btn.download{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.action-btn.download:hover{background:#2563eb;color:#fff;border-color:#2563eb}.action-btn.edit{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}.action-btn.edit:hover{background:#0d9488;color:#fff;border-color:#0d9488}.action-btn.add-dev{background:#ecfeff;color:#0e7490;border-color:#a5f3fc}.action-btn.add-dev:hover{background:#0891b2;color:#fff;border-color:#0891b2}.action-btn.payment{background:#f0fdf4;color:#16a34a;border-color:#86efac}.action-btn.payment:hover{background:#16a34a;color:#fff;border-color:#16a34a}.action-btn.payment.paid-full{background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0;cursor:default}.action-btn.delete{background:#fff1f2;color:#e11d48;border-color:#fecdd3}.action-btn.delete:hover{background:#e11d48;color:#fff;border-color:#e11d48}.customer-cell-main{display:flex;align-items:center;gap:10px}.customer-avatar-sm{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 6px #2563eb40}.customer-name-link{font-size:14.5px;font-weight:800;color:#0f172a}.customer-name-link:hover{color:var(--primary);text-decoration:underline}.customer-nickname-tag{color:#64748b;font-size:12px;margin-left:4px;font-weight:600}.customer-phone-mono{font-family:var(--font-mono);font-weight:750;color:#2563eb;font-size:13.5px}.customer-address-text{font-size:13px;color:#475569;max-width:260px;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-meta-row{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.customer-card-content{display:flex;flex-direction:column;gap:2px;flex:1}.customer-card-name{font-size:15px;font-weight:800;color:#0f172a}.customer-card-phone{font-family:var(--font-mono);font-size:12.5px;color:#64748b;font-weight:600}.action-cell{display:flex;align-items:center;justify-content:flex-end;gap:6px}.view-switch{display:flex;align-items:center;gap:6px;margin-left:auto}.debt-cell-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-family:var(--font-mono);font-size:13.5px;font-weight:850}.debt-cell-badge.has-debt{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.debt-cell-badge.no-debt{color:#94a3b8;font-weight:600}.debt-highlight{color:#dc2626!important;font-weight:900!important}.money-text{font-family:var(--font-mono);font-size:13.5px}.money-text.paid-text{color:#16a34a;font-weight:800}.date-badge{display:inline-block;padding:3px 8px;background:#f1f5f9;color:#475569;border-radius:6px;font-size:12px;font-weight:700;font-family:var(--font-mono)}.device-count-btn{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;cursor:pointer;transition:all .15s ease;font-weight:750}.device-count-btn:hover{background:#2563eb;color:#fff}.order-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.partner-name{font-size:14.5px;font-weight:800;color:#0f172a}.tenant-tag{display:block;font-size:11.5px;color:#64748b;margin-top:2px}tbody tr:nth-child(2n){background-color:#fafbfc}tbody tr:hover{background-color:#f0f7ff!important}@media(max-width:768px){html,body,#app,.app-shell,.main-content,.page-content{max-width:100vw!important;overflow-x:hidden!important;box-sizing:border-box!important}html,body{width:100%!important;position:relative;overscroll-behavior-x:none;-webkit-text-size-adjust:100%}.app-shell{min-height:100svh;padding-bottom:0!important}.topbar{padding-top:max(10px,env(safe-area-inset-top))!important;padding-bottom:8px!important;padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important}.page-content{padding:16px max(14px,env(safe-area-inset-left)) calc(96px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right))!important;contain:inline-size;width:100%!important;max-width:100%!important}.money-text,.cost-value,.debt-cell-badge,.total-value,.currency-badge,.money-preview,.price-preview,.overview-money,.overview-amount,.unit-text,.fact-value,.debt-highlight,.paid-text,dl.facts dd{white-space:nowrap!important;word-break:keep-all!important}.metric-card strong,.lot-stat strong{font-size:clamp(17px,5.2vw,26px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important}.sale-layout,.sale-layout>*,.form-panel,.sale-summary,.stock-picker-panel,.sale-lines-panel,.external-consignment-panel,.two-column,.detail-grid,.field-grid,.inline-form{min-width:0!important;max-width:100%!important;width:100%!important;grid-template-columns:1fr!important;flex-direction:column!important}.form-panel>*,.inline-form>label,.inline-form>button,.inline-form>input,.inline-form>select,.field-grid>label{min-width:0!important;max-width:100%!important;width:100%!important;flex:1 1 100%!important}input,select,textarea,button{font-size:16px!important}input,select{min-height:46px!important}input[type=date],input[type=datetime-local]{-webkit-appearance:none!important;appearance:none!important;min-height:46px!important}textarea{min-height:80px!important;max-width:100%!important}.stock-picker-toggle,.consignment-toggle{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:stretch!important}.stock-picker-toggle .button,.consignment-toggle .button{width:100%!important;justify-content:center}.stock-filter-grid{display:grid!important;grid-template-columns:1fr!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:12px!important;gap:10px!important}.stock-filter-grid>*,.stock-filter-field,.stock-bulk-card,.bulk-card-top,.bulk-card-bottom,.stock-common-price-box,.price-input-wrap,.bulk-price-bar{min-width:0!important;max-width:100%!important;width:100%!important}.stock-bulk-card{overflow:hidden!important;padding:14px!important}.sale-stock-bulk-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;max-width:100%!important;margin-inline:0!important;transform:none!important;contain:inline-size}.sale-stock-bulk-card *,.sale-stock-bulk-card *:before,.sale-stock-bulk-card *:after{max-width:100%!important;min-width:0!important}.bulk-card-top,.bulk-card-bottom,.bulk-price-bar{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}.sale-stock-bulk-card .bulk-card-top,.sale-stock-bulk-card .bulk-card-bottom{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:stretch!important;justify-content:stretch!important;gap:12px!important;padding-inline:0!important}.select-all-btn{width:100%!important;justify-content:flex-start!important}.sale-stock-bulk-card .select-all-btn{display:flex!important;flex-wrap:wrap!important;white-space:normal!important;overflow:hidden!important}.selected-counter{text-align:left!important}.sale-stock-bulk-card .selected-counter{width:100%!important;justify-self:stretch!important}.price-input-wrap input,.stock-common-price-box input,.bulk-price-bar input{width:100%!important;min-width:0!important}.btn-filter-stock,.btn-bulk-add{width:100%!important;min-height:48px!important}.sale-stock-bulk-card .btn-bulk-add{justify-self:stretch!important}.stock-picker-panel .table-wrap.stock-picker-table{width:100%!important;max-width:100%!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}.stock-picker-table table,.stock-picker-table tbody,.stock-picker-table tr,.stock-picker-table td{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}.stock-picker-table thead{display:none!important}.stock-picker-table tbody{display:grid!important;gap:10px!important}.stock-picker-table tr{position:relative!important;padding:14px 14px 14px 48px!important;border:1px solid var(--color-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--shadow-sm)!important;overflow:hidden;contain:inline-size;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .15s ease}.stock-picker-table tr.stock-row-selected{background:#eff6ff!important;border:2px solid #2563eb!important;box-shadow:0 4px 12px #2563eb26!important}.stock-picker-table tr.stock-row-selected td:nth-child(2) a{color:#1d4ed8!important;font-weight:900!important}.stock-picker-table td{border:0!important;padding:2px 0!important;text-align:left!important;overflow-wrap:anywhere}.stock-picker-table td:first-child{position:absolute!important;left:14px!important;top:18px!important;width:auto!important}.stock-picker-table td:first-child input{width:22px;height:22px}.stock-picker-table .align-right{text-align:left!important}.sale-lines-panel>.table-wrap{width:100%!important;max-width:100%!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}.sale-create-lines-panel{contain:inline-size}.sale-lines-table,.sale-lines-table tbody,.sale-lines-table tr,.sale-lines-table td{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}.sale-lines-table thead{display:none!important}.sale-lines-table tbody{display:grid!important;gap:12px!important}.sale-lines-table tr{padding:14px!important;border:1px solid var(--color-border)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--shadow-sm)!important;overflow:hidden;contain:inline-size}.sale-lines-table td{display:grid!important;grid-template-columns:minmax(86px,32%) minmax(0,1fr)!important;gap:10px!important;align-items:start!important;border:0!important;padding:7px 0!important;text-align:left!important;overflow-wrap:anywhere}.sale-lines-table td:before{color:var(--color-muted);font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sale-lines-table td:nth-child(1):before{content:"Máy"}.sale-lines-table td:nth-child(2):before{content:"Model"}.sale-lines-table td:nth-child(3):before{content:"Nguồn"}.sale-lines-table td:nth-child(4):before{content:"Giá bán"}.sale-lines-table td:nth-child(5):before{content:"Trả bên gửi"}.sale-lines-table td:nth-child(6):before{content:"Thành tiền"}.sale-lines-table td:nth-child(7):before{content:"Thao tác"}.sale-lines-table .sale-source-cell select,.sale-lines-table .sale-source-cell input,.sale-lines-table .money-input-cell .money-input,.sale-lines-table .money-input-cell .money-preview{grid-column:2;width:100%!important;min-width:0!important}.sale-lines-table .money-input{text-align:left!important;font-size:16px!important;min-height:46px!important}.sale-lines-table .money-preview{text-align:left!important}.sale-lines-table td:last-child{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}.sale-lines-table td:last-child:before{flex:1 1 auto}.sale-lines-table td:last-child .button{flex:0 0 auto;min-height:38px;padding:8px 16px}.order-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.order-actions .action-btn{width:100%!important;min-height:42px!important;padding:8px 4px!important;font-size:13px!important;font-weight:800!important;justify-content:center!important;text-align:center!important;border-radius:10px!important;box-sizing:border-box!important}.debt-sheet-box{padding:10px 8px!important;margin:0!important;border-radius:14px!important;max-width:100%!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;box-sizing:border-box!important}.debt-sheet-frame{min-width:620px!important;width:max-content!important;max-width:none!important;margin:0!important}.overview-sheet-box{padding:12px 10px!important;border-radius:14px!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}.overview-sheet-header{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.overview-sheet-total{min-width:0!important;width:100%!important;text-align:left!important;box-sizing:border-box!important}.overview-sheet-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;max-width:100%!important;width:100%!important}.overview-sheet-table{min-width:720px!important}.mobile-sticky-submit{position:sticky!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;z-index:35!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;min-height:52px!important;font-size:16px!important;font-weight:800!important;border-radius:16px!important;box-shadow:0 10px 25px #2563eb4d!important}.bottom-nav{padding-bottom:max(10px,env(safe-area-inset-bottom))!important;padding-left:max(8px,env(safe-area-inset-left))!important;padding-right:max(8px,env(safe-area-inset-right))!important}.order-detail-box,.order-detail-box *{box-sizing:border-box!important}.order-detail-box{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;contain:inline-size;padding:12px 10px!important;margin:6px 0 12px!important;border-radius:16px!important;background:#f8fafc!important;border:1.5px solid #cbd5e1!important}.order-edit-heading{display:flex!important;flex-direction:column!important;gap:6px!important;align-items:flex-start!important;margin-bottom:12px!important}.add-order-device{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;padding:12px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--color-border)!important;margin-bottom:12px!important}.add-order-device .inline-form,.add-device-fields{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important}.add-order-device .inline-form .grow,.add-order-device .inline-form input,.add-order-device .inline-form .button,.add-device-fields label,.add-device-fields input,.add-device-fields select,.add-device-fields .button{width:100%!important;max-width:100%!important;min-width:0!important}.add-device-card{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}.add-device-card .device-pick-main{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important;min-width:0!important}.order-lines-wrap{width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}.order-lines-edit-table,.order-lines-edit-table thead,.order-lines-edit-table tbody,.order-lines-edit-table tr,.order-lines-edit-table td{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.order-lines-edit-table{display:block!important;table-layout:auto!important}.order-lines-edit-table thead{display:none!important}.order-lines-edit-table tbody{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important}.order-lines-edit-table tr{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:14px!important;border:1px solid var(--color-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--shadow-sm)!important;overflow:hidden!important}.order-lines-edit-table td{display:block!important;width:100%!important;max-width:100%!important;border:0!important;padding:6px 0!important;text-align:left!important;overflow-wrap:anywhere!important}.order-lines-edit-table td+td{border-top:1px solid rgba(148,163,184,.18)!important}.order-lines-edit-table td:before{content:attr(data-label)!important;display:block!important;margin-bottom:4px!important;color:var(--color-muted)!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}.order-lines-edit-table .align-right,.order-lines-edit-table .align-center,.order-lines-edit-table .actions-cell{text-align:left!important}.order-lines-edit-table input,.order-lines-edit-table select,.order-lines-edit-table textarea,.order-lines-edit-table .action-btn{width:100%!important;max-width:100%!important;min-width:0!important}.order-lines-edit-table input,.order-lines-edit-table select{min-height:46px!important;font-size:16px!important;text-align:left!important}.order-lines-edit-table small{display:block!important;margin-top:5px!important;line-height:1.45!important;overflow-wrap:anywhere!important}.order-lines-edit-table .entity-link.mono{display:inline-block!important;font-size:18px!important;font-weight:900!important;line-height:1.15!important;word-break:break-word!important}.order-lines-edit-table .item-type-badge{display:inline-flex!important;max-width:100%!important;white-space:normal!important;line-height:1.35!important;text-align:left!important}.order-lines-edit-table .actions-cell:before{margin-bottom:8px!important}.order-lines-edit-table .actions-cell .action-btn{min-height:44px!important;justify-content:center!important;font-size:14px!important;font-weight:850!important}}@media(max-width:480px){.metric-grid,.lot-overview,.summary-cards{grid-template-columns:1fr!important;gap:10px!important}}@media(max-width:380px){.order-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@supports (overflow-x: clip){@media(max-width:768px){html,body,#app,.app-shell,.main-content,.page-content{overflow-x:clip!important}}}
