:root{--font-main: "Unbounded", ui-sans-serif, system-ui, sans-serif;--font-side: "Roboto", ui-sans-serif, system-ui, sans-serif;color-scheme:light;font-family:var(--font-main);background:#f5f7fb;color:#172033;--panel: #ffffff;--line: #d8dee9;--muted: #667085;--primary: #2364d2;--primary-dark: #174ca1;--accent: #0d8f72;--danger: #c33d42;--ink: #172033}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a.icon-text,a.primary,.icon-button{min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.55}.primary{border-color:var(--primary);background:var(--primary);color:#fff}.primary:hover{background:var(--primary-dark)}.ghost{background:transparent}.danger{color:var(--danger)}.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:14px;height:58px;padding:0 18px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-left,.topbar-actions,.brand,.nav,.icon-text,.scan-badge,.back-link,.barcode-line,.login-title{display:inline-flex;align-items:center}.topbar-left{flex:1 1 auto;min-width:0;gap:16px}.topbar-actions{flex-shrink:0;gap:8px}.topbar-actions .icon-text{flex:0 0 auto}.brand{flex-shrink:0;gap:8px;color:var(--ink);font-size:14px;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap}.brand svg{flex:0 0 auto;width:22px;height:22px}.nav{flex:1 1 auto;min-width:0;max-width:100%;gap:3px;overflow:hidden;padding:3px;border:1px solid #dfe5ef;border-radius:9px;background:#eef2f8}.nav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 9px;border-radius:6px;color:var(--muted);font-size:12px;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap}.nav a svg{flex:0 0 auto;width:15px;height:15px}.nav-employee{flex:0 0 auto;justify-content:flex-start}.nav a:not(.active):hover,.nav a:not(.active):focus-visible{background:#ffffff8f;color:var(--primary-dark)}.nav a.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0f172a1f}.brand:focus-visible,.nav a:focus-visible,.icon-text:focus-visible{outline:2px solid rgba(35,100,210,.32);outline-offset:2px}.icon-text{gap:6px;justify-content:center;padding:7px 10px;font-size:13px;line-height:1;white-space:nowrap}.icon-text svg{flex:0 0 auto;width:16px;height:16px}@media(min-width:1450px){.topbar{gap:18px;padding:0 26px}.topbar-left{gap:20px}.nav-admin{justify-content:space-between;gap:8px;padding:5px 10px}.nav-admin a{flex:0 0 auto;justify-content:center;min-width:0;min-height:38px;gap:6px;padding:0 8px;font-size:13px}.nav-admin a svg{width:16px;height:16px}}@media(min-width:1600px){.nav-admin a{min-height:40px;gap:7px;padding:0 14px;font-size:14px}.nav-admin a svg{width:18px;height:18px}}.topbar-actions .ghost:hover,.topbar-actions .ghost:focus-visible{background:#f8fafc}.main{padding:28px}.workspace{width:min(1180px,100%);margin:0 auto}.workspace.narrow{width:min(820px,100%)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}h1,p{margin:0}.page-heading h1,.product-card h1{font-size:28px;line-height:1.15}.page-heading p,.muted-cell,.product-meta,.screen-state{color:var(--muted)}.toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,220px) repeat(3,auto);gap:10px;align-items:center;margin-bottom:14px}.history-toolbar{grid-template-columns:minmax(260px,1fr) minmax(160px,190px) minmax(160px,190px) auto}.inventory-toolbar{grid-template-columns:minmax(190px,240px) minmax(260px,1fr)}.promotions-toolbar{grid-template-columns:minmax(260px,1fr) minmax(170px,220px) auto}.promotions-table{min-width:1120px}.promotion-field{display:grid;grid-template-columns:auto minmax(90px,1fr);gap:7px;align-items:center;color:var(--muted)}.promotion-field input{min-width:0}.promotion-status{display:inline-flex;align-items:center;min-height:30px;padding:0 9px;border:1px solid #dfe5ef;border-radius:8px;background:#f8fafc;color:var(--muted);font-family:var(--font-side);font-size:13px;font-weight:800;white-space:nowrap}.promotion-status.active{border-color:#b9dfd3;background:#edf8f4;color:#08705b}.analytics-product-filter{display:grid;gap:10px;margin-bottom:14px}.analytics-product-filter-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:center}.analytics-product-search{min-width:0}.selected-product-filter,.product-picker-row{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.selected-product-filter{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px}.selected-product-filter div,.selected-product-summary-grid>div{min-width:0}.selected-product-filter span,.selected-product-filter small,.selected-product-summary-grid span,.selected-product-summary-grid small{color:var(--muted);font-size:13px;font-weight:700}.selected-product-filter strong,.selected-product-summary-grid strong{display:block;margin:2px 0;overflow-wrap:anywhere;font-family:var(--font-side)}.product-picker-results{display:grid;gap:8px;max-height:320px;overflow-y:auto}.product-picker-row{display:grid;gap:4px;width:100%;min-height:auto;padding:12px;text-align:left}.product-picker-row:hover{border-color:#b9c4d6}.segmented-control{display:inline-flex;gap:4px;padding:4px;border:1px solid #dfe5ef;border-radius:10px;background:#eef2f8}.segmented-control button{min-height:34px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:800}.segmented-control button.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0f172a1f}.report-period{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--muted);font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric-card{display:grid;gap:8px;min-height:138px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.metric-card>span,.metric-card small{color:var(--muted);font-size:13px;font-weight:700}.metric-card strong{font-family:var(--font-side);font-size:24px}.metric-card p{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-family:var(--font-side);font-size:13px}.report-panel{display:grid;gap:12px;margin-bottom:16px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.selected-product-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.selected-product-summary-grid>div{display:grid;gap:4px;padding:14px}.analytics-chart-panel{display:grid;gap:14px;margin-bottom:16px;padding:16px;border:1px solid #1f2937;border-radius:8px;background:#0b0e11;color:#f5f7fb;box-shadow:0 18px 44px #0f172a2e}.analytics-chart-header,.sales-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.analytics-chart-header h2,.sales-heading h2{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:18px;line-height:1.25}.analytics-chart-header p{margin-top:4px;color:#848e9c;font-family:var(--font-side);font-size:13px}.analytics-chart-legend{display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.analytics-chart-legend span{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:0 10px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#11161c;color:#d7dde6;font-family:var(--font-side);font-size:13px;font-weight:700}.analytics-chart-legend i{width:9px;aspect-ratio:1;border-radius:999px}.analytics-chart-legend .revenue,.analytics-chart-tooltip .revenue{color:#f0b90b}.analytics-chart-legend .revenue{background:#f0b90b}.analytics-chart-legend .profit,.analytics-chart-tooltip .profit{color:#22c55e}.analytics-chart-legend .profit{background:#22c55e}.analytics-chart-legend .quantity{background:#3b82f6}.analytics-chart-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.analytics-chart-summary div{min-width:0;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#11161c}.analytics-chart-summary span{display:block;color:#848e9c;font-family:var(--font-side);font-size:12px;font-weight:700}.analytics-chart-summary strong{display:block;margin-top:3px;overflow-wrap:anywhere;font-family:var(--font-side);font-size:18px}.analytics-chart-canvas{position:relative;width:100%;height:360px;min-height:320px;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#0b0e11}.analytics-chart-tooltip{position:absolute;z-index:5;display:none;gap:7px;min-width:220px;padding:10px 12px;border:1px solid rgba(240,185,11,.32);border-radius:8px;background:#111827f5;box-shadow:0 14px 30px #0000005c;color:#e5e7eb;font-family:var(--font-side);pointer-events:none}.analytics-chart-tooltip-date{color:#f5f7fb;font-weight:800}.analytics-chart-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#a7b0bf;font-size:13px}.analytics-chart-tooltip-row strong{color:#f5f7fb;font-weight:800;white-space:nowrap}.sales-heading h2{display:inline-flex;align-items:center;gap:8px}.bar-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:minmax(210px,1fr) minmax(160px,42%) auto;gap:14px;align-items:center}.bar-row div:first-child{min-width:0}.bar-row strong{font-family:var(--font-side)}.bar-row div:first-child strong,.bar-row div:first-child span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row div:first-child span{margin-top:3px;color:var(--muted);font-family:var(--font-side);font-size:13px}.bar-track{height:12px;overflow:hidden;border-radius:999px;background:#eef2f8}.bar-track span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.inventory-table{min-width:980px}.inventory-table tbody td:nth-child(n+3){font-family:var(--font-side)}.muted-line{margin-top:4px;color:var(--muted);font-size:12px;font-weight:500}.search-box{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.search-box input,.search-box input:focus{width:100%;border:0;outline:0}.date-box{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:13px;font-weight:700}.date-box input,.date-box input:focus{min-height:38px;padding:0;border:0;outline:0}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}input,select{min-height:42px;padding:0 12px}textarea{padding:12px;resize:vertical}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.product-table{width:100%;min-width:960px;border-collapse:collapse}.product-table th,.product-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.product-table th{color:var(--muted);font-size:13px;font-weight:700}.product-table:not(.receipt-table) tbody td:nth-child(3),.product-table:not(.receipt-table) tbody td:nth-child(6),.product-table:not(.receipt-table) tbody td:nth-child(7){font-family:var(--font-side)}.product-table tr:last-child td{border-bottom:0}.select-cell{width:42px}.actions-cell{width:178px}.row-actions{display:flex;gap:6px;justify-content:flex-end}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:0}.table-link,.back-link{color:var(--primary);font-weight:700;text-decoration:none}.table-link{font-family:var(--font-side)}.back-link{gap:6px;margin-bottom:14px}.link-button{width:auto;min-height:auto;padding:0;border:0;background:transparent;cursor:pointer}.mono{font-family:SFMono-Regular,Consolas,monospace}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.pagination button{padding:7px 12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.form-grid label,.form-grid .article-field,.login-panel label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.form-grid input[name=name],.form-grid input[name=article],.form-grid input[name=category],.form-grid input[name=price],.form-grid input[name=costPrice]{font-family:var(--font-side)}.article-input-row{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px;gap:8px;align-items:center}.article-input-row input{min-width:0;cursor:text}.article-input-row input[readonly]{background:#f8fafc;cursor:not-allowed}.article-edit-button.active{border-color:#b7c8e9;background:#eef4ff;color:var(--primary)}.article-save-button{width:42px;height:42px;min-height:42px;padding:0}.wide{grid-column:1 / -1}.file-input input{position:absolute;width:1px;height:1px;opacity:0}.file-pill{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px dashed var(--line);border-radius:8px;color:var(--ink);font-weight:500}.file-error{margin:-8px 0 0;color:var(--danger);font-size:12px;line-height:1.35}.photo-preview{display:flex;align-items:center;justify-content:center;width:min(340px,100%);aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#eef2f8;color:var(--muted)}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-preview.empty{border-style:dashed}.form-actions{display:flex;justify-content:flex-end}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-bottom:14px}.product-card{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:22px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.product-card.compact{grid-template-columns:140px minmax(0,1fr)}.product-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#eef2f8;color:var(--muted)}.product-photo img{width:100%;height:100%;object-fit:cover}.product-card-body{min-width:0}.product-meta{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:8px;font-size:14px;font-family:var(--font-side)}.secondary-meta{color:var(--muted);font-size:13px}.product-discount-pill{display:inline-flex;align-items:center;gap:7px;width:fit-content;margin-bottom:10px;padding:6px 9px;border:1px solid #b9dfd3;border-radius:8px;background:#edf8f4;color:#08705b;font-family:var(--font-side);font-size:13px;font-weight:800}.price,.label-price{font-family:var(--font-side);color:var(--accent);font-weight:800}.product-card h1{font-family:var(--font-side)}.stock-pill{display:inline-flex;align-items:center;gap:7px;width:fit-content;margin-top:12px;padding:7px 10px;border:1px solid #b9dfd3;border-radius:8px;background:#edf8f4;color:#08705b;font-family:var(--font-side);font-weight:700}.stock-pill.empty{border-color:#f0b7bc;background:#fff1f2;color:#a0262e}.product-card p{margin-top:12px;color:#344054;line-height:1.55;white-space:pre-wrap}.barcode-line{gap:8px;margin-top:16px;font-family:SFMono-Regular,Consolas,monospace}.barcode-preview{display:block;width:min(360px,100%);margin-top:16px}.login-screen{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(120deg,rgba(35,100,210,.08),transparent 45%),#f5f7fb}.login-panel{display:grid;gap:14px;width:min(390px,100%);padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.login-title{gap:10px;margin-bottom:4px}.login-title h1{font-size:24px}.alert{margin:12px 0;padding:10px 12px;border:1px solid #f0b7bc;border-radius:8px;background:#fff1f2;color:#a0262e}.screen-state,.muted-cell{padding:28px;text-align:center}.scan-sale-panel,.sales-panel{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.scan-sale-panel{display:grid;grid-template-columns:minmax(180px,1fr) minmax(130px,170px) auto;gap:14px;align-items:end}.scan-sale-panel h2,.sales-panel h2{margin:0;font-size:20px;line-height:1.2}.scan-sale-panel p{margin-top:4px;color:var(--muted)}.scan-sale-panel label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.success{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #b9dfd3;border-radius:8px;background:#edf8f4;color:#08705b;font-weight:700}.sales-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sales-heading span{color:var(--muted)}.sales-table-wrap{overflow-x:auto}.sales-table{width:100%;min-width:560px;border-collapse:collapse}.sales-table th,.sales-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.sales-table th{color:var(--muted);font-size:13px}.sales-table tr:last-child td{border-bottom:0}.sales-table tbody td:nth-child(1),.sales-table tbody td:nth-child(3),.sales-table tbody td:nth-child(4),.sales-table tbody td:nth-child(5),.sales-table tbody td:nth-child(6),.receipt-lines-table tbody td:nth-child(1),.receipt-lines-table tbody td:nth-child(3),.receipt-lines-table tbody td:nth-child(5),.receipt-lines-table tbody td:nth-child(6),.receipt-lines-table tbody td:nth-child(7),.receipt-table tbody td:nth-child(5),.receipt-table tbody td:nth-child(6),.receipt-table tbody td:nth-child(7){font-family:var(--font-side)}.receipt-table{min-width:980px}.receipt-row.active td{background:#f8fbff}.receipt-number{display:inline-flex;align-items:center;gap:8px;font-weight:800}.receipt-details-row td{padding:0;background:#f8fbff}.receipt-details-panel{padding:14px}.receipt-lines-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.receipt-lines-table th,.receipt-lines-table td{padding:9px 11px;border-bottom:1px solid var(--line);text-align:left}.receipt-lines-table th{color:var(--muted);font-size:13px}.receipt-lines-table tr:last-child td{border-bottom:0}.user-create-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(140px,180px) auto}.user-create-form label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.inline-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-family:var(--font-side);font-weight:700}.inline-toggle input{width:18px;min-height:18px}.inline-password{display:grid;grid-template-columns:minmax(150px,1fr) 34px;gap:8px;align-items:center}.checkout-workspace{width:min(1240px,100%)}.checkout-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.checkout-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.checkout-header h1{margin:0;font-size:28px;line-height:1.15}.checkout-header p{margin-top:5px;color:var(--muted)}.checkout-success{margin-bottom:14px}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.checkout-list{display:grid;gap:10px}.checkout-item,.checkout-summary,.empty-checkout{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.checkout-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:12px}.checkout-item.invalid{border-color:#f0b7bc;background:snow}.checkout-photo{display:flex;align-items:center;justify-content:center;width:92px;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#eef2f8}.checkout-photo img{width:100%;height:100%;object-fit:cover}.checkout-item-main{min-width:0}.checkout-item-top,.checkout-controls,.summary-row{display:flex;align-items:center}.checkout-item-top{justify-content:space-between;gap:16px}.checkout-item-top h2{margin:0;font-family:var(--font-side);font-size:18px;line-height:1.2}.checkout-item-top p{margin-top:4px;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.checkout-item-top strong{font-family:var(--font-side);white-space:nowrap}.line-amount{display:grid;gap:3px;justify-items:end;font-family:var(--font-side)}.line-amount span{color:var(--muted);font-size:12px;text-decoration:line-through}.checkout-controls{flex-wrap:wrap;gap:10px;margin-top:12px;color:var(--muted);font-family:var(--font-side);font-size:14px}.discount-input{display:inline-grid;grid-template-columns:auto 70px auto;gap:7px;align-items:center;color:var(--muted);font-family:var(--font-side);font-size:14px}.discount-input input{min-height:34px;padding:0 8px;text-align:center}.discount-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 9px;border:1px solid #dfe5ef;border-radius:8px;background:#f8fafc;color:var(--muted);font-weight:800}.discount-badge.active{border-color:#b9dfd3;background:#edf8f4;color:#08705b}.checkout-line-warning{display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:#a0262e;font-size:13px;font-weight:700}.quantity-stepper{display:inline-grid;grid-template-columns:34px 74px 34px;gap:6px;align-items:center}.quantity-stepper input{min-height:34px;padding:0 8px;text-align:center}.checkout-summary{position:sticky;top:82px;display:grid;gap:12px;padding:16px}.checkout-summary h2{margin:0;font-size:20px}.summary-discount{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.summary-discount div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.summary-discount input{min-width:0}.summary-discount button{padding:0 10px}.summary-row{justify-content:space-between;gap:12px;color:var(--muted)}.summary-row strong{font-family:var(--font-side);color:var(--ink)}.summary-row.total{padding-top:12px;border-top:1px solid var(--line);color:var(--ink);font-size:18px}.empty-checkout{display:grid;min-height:280px;place-items:center;padding:34px;color:var(--muted);text-align:center}.empty-checkout p{margin-top:10px;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#0f172a6b}.test-scan-modal{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;width:min(720px,100%);max-height:min(760px,calc(100vh - 48px));padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 20px 52px #0f172a38}.confirm-modal{display:grid;gap:18px;width:min(520px,100%);padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 20px 52px #0f172a38}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.modal-heading h2{display:flex;align-items:center;gap:8px;margin:0;font-size:22px}.modal-heading p{margin-top:4px;color:var(--muted)}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.modal-actions .danger{border-color:#f0b7bc;background:#fff1f2}.modal-search{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.modal-search input,.modal-search input:focus{width:100%;border:0;outline:0}.compact-alert{margin:0}.test-product-list{display:grid;align-content:start;gap:8px;min-height:180px;overflow-y:auto}.test-product-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.test-product-photo{display:flex;align-items:center;justify-content:center;width:58px;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#eef2f8;color:var(--muted)}.test-product-photo img{width:100%;height:100%;object-fit:cover}.test-product-info{min-width:0}.test-product-info h3{margin:0;overflow:hidden;font-family:var(--font-side);font-size:16px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.test-product-info p{margin-top:3px;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.test-product-info span{display:block;margin-top:4px;color:var(--muted);font-family:var(--font-side);font-size:13px}.test-product-info .test-product-discount{color:#08705b;font-weight:800}.scan-badge{gap:8px;color:var(--muted)}.print-screen{min-height:100vh;padding:20px;background:#edf1f7}.print-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.print-toolbar a{color:var(--primary);font-weight:700;text-decoration:none}.print-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:760px;margin:-6px auto 20px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb}.print-mode-toggle{min-height:38px;padding:0 4px}.print-status,.print-status-icon{display:inline-flex;align-items:center;color:var(--muted)}.print-status{min-height:32px;font-family:var(--font-side);font-size:13px;font-weight:700}.print-status.warning{color:var(--danger)}.print-status-icon{justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff}.label-sheet{display:flex;flex-wrap:wrap;gap:10mm;align-items:flex-start;justify-content:center}.label-print-controls{display:grid;gap:8px;max-width:900px;margin:0 auto 18px}.label-print-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.label-print-product{display:grid;min-width:0;gap:3px}.label-print-product strong,.label-print-product span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.label-print-product span,.label-print-copies span{color:var(--muted);font-size:13px}.label-print-copies{display:flex;align-items:center;gap:10px}.label{display:grid;grid-template-rows:minmax(8mm,auto) 6mm 13mm;width:50mm;height:30mm;overflow:hidden;padding:2.2mm 3mm 1.8mm;border:1px dashed #98a2b3;background:#fff;color:#111827}.label-name{overflow:hidden;font-family:var(--font-side);font-size:10pt;font-weight:800;line-height:1.05;text-align:center}.label-price{align-self:center;font-size:9pt;text-align:center}.label-barcode{width:100%;max-height:13mm;object-fit:contain}@media(max-width:1180px){.topbar{gap:12px;padding:0 16px}.topbar-left{gap:12px}.brand{gap:0}.brand span{display:none}}@media(max-width:1024px){.topbar{padding:0 14px}.nav a{gap:4px;padding:0 7px;font-size:11px}.icon-text{padding:7px 9px}}@media(max-width:900px){.nav{flex:0 1 auto}.nav a{justify-content:center;width:34px;min-width:34px;padding:0}.nav a span{display:none}}@media(max-width:760px){.topbar{height:54px;align-items:center;gap:10px;padding:0 12px}.topbar-left{gap:8px}.nav a{width:34px;min-width:34px;min-height:34px}.main{padding:18px 14px}.page-heading{align-items:stretch;flex-direction:column}.toolbar{grid-template-columns:1fr 1fr}.toolbar .search-box,.toolbar select,.inventory-toolbar .date-box,.history-toolbar .search-box,.history-toolbar .icon-text,.user-create-form label,.user-create-form button{grid-column:1 / -1}.form-grid,.product-card,.product-card.compact,.scan-sale-panel,.checkout-layout,.checkout-item{grid-template-columns:1fr}.checkout-header{align-items:stretch;flex-direction:column}.checkout-actions{justify-content:stretch}.checkout-actions button{flex:1}.checkout-summary{position:static}.metric-grid,.analytics-product-filter-row,.selected-product-summary-grid,.bar-row{grid-template-columns:1fr}.analytics-chart-header{align-items:stretch;flex-direction:column}.analytics-chart-legend{justify-content:flex-start}.analytics-chart-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-chart-canvas{height:300px;min-height:280px}.segmented-control{width:100%}.segmented-control button{flex:1}.checkout-photo{width:min(160px,100%)}.modal-backdrop{padding:12px}.test-scan-modal{max-height:calc(100vh - 24px)}.confirm-modal{width:100%}.modal-actions{display:grid;grid-template-columns:1fr}.test-product-row{grid-template-columns:50px minmax(0,1fr)}.test-product-row .icon-text{grid-column:1 / -1}.print-toolbar,.print-options{align-items:stretch;flex-direction:column}.print-options .icon-text,.print-mode-toggle{width:100%}.label-print-row,.label-print-copies{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.label-print-copies .quantity-stepper{width:100%;grid-template-columns:38px minmax(0,1fr) 38px}}@media(max-width:520px){.topbar{height:50px;gap:6px;padding:0 10px}.topbar-left{gap:6px}.nav{gap:2px;padding:2px}.nav a{width:32px;min-width:32px;min-height:32px}.topbar-actions .icon-text{width:34px;min-width:34px;min-height:34px;padding:0}.topbar-actions .icon-text span{display:none}}@media(max-width:360px){.topbar{padding:0 8px}.brand svg{width:20px;height:20px}.nav a{width:30px;min-width:30px}.nav a svg{width:14px;height:14px}.topbar-actions .icon-text{width:32px;min-width:32px}}@page{size:50mm 30mm;margin:0}@media print{body,.print-screen{margin:0;padding:0;background:#fff}.print-toolbar,.print-options,.label-print-controls,.alert{display:none!important}.label-sheet{display:block}.label{page-break-after:always;break-after:page;border:0}}
