:root{--bg: #10131a;--panel: #181d27;--panel2: #202735;--border: #2b3443;--text: #f1f4f9;--muted: #8994a6;--accent: #a8e66c;--accent-dark: #263d1c;--danger: #ff727c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}.app{display:flex;min-height:100vh}.sidebar{width:245px;min-width:245px;background:#141923;border-right:1px solid var(--border);padding:28px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 38px}.brand-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--accent);color:#14200e;font-size:23px;font-weight:900}.brand h2{margin:0;font-size:19px}.brand small{font-size:9px;color:var(--muted);letter-spacing:1.5px}.nav-label,.eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.5px;font-weight:700}.nav-label{padding-left:10px;margin-bottom:12px}nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#aab4c4;text-align:left;padding:13px 12px;border-radius:9px;font-size:13px}.nav-item:hover,.nav-item.active{background:var(--accent-dark);color:var(--accent)}.sidebar-bottom{margin-top:auto;display:grid;gap:14px;padding:15px 8px 0}.sidebar-bottom small{color:#657185;font-size:10px;letter-spacing:1px}.local-status{font-size:12px;color:#aab4c4}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:7px}.main{flex:1;min-width:0;padding:30px 35px}.topbar,.top-actions,.section-heading,.welcome{display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar{margin-bottom:28px}.topbar h1{font-size:27px;margin:5px 0 0}.eyebrow{margin:0}.today{color:var(--muted);font-size:12px}.primary-btn{background:var(--accent);color:#17210f;border:0;padding:12px 17px;border-radius:8px;font-weight:750;font-size:12px}.primary-btn:hover{background:#c1f38f}.welcome{background:linear-gradient(110deg,#263b24,#1c2930);border:1px solid #3b5035;border-radius:13px;padding:23px 25px;margin-bottom:23px}.welcome h2{margin:0 0 7px;font-size:19px}.welcome p{margin:0;color:#b6c6b0;font-size:12px}.live-label{color:var(--accent);font-size:10px;letter-spacing:1px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.stat-card,.content-card{background:var(--panel);border:1px solid var(--border);border-radius:12px}.stat-card{padding:19px;display:grid;gap:10px}.stat-card span{color:#a8b2c2;font-size:12px}.stat-card strong{font-size:27px;letter-spacing:-1px}.stat-card small{color:var(--muted);font-size:11px}.warning-card strong{color:#ffc36d}.content-card{padding:21px}.section-heading{margin-bottom:17px}.section-heading h2{font-size:16px;margin:0 0 6px}.section-heading p{color:var(--muted);font-size:11px;margin:0}.text-btn{background:none;border:0;color:var(--accent);font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:620px}th{color:#8793a6;font-size:9px;letter-spacing:1px;text-align:left;padding:14px 10px;border-bottom:1px solid var(--border)}td{padding:15px 10px;font-size:12px;border-bottom:1px solid #262e3b}tbody tr:last-child td{border-bottom:0}.status{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px}.in-stock{background:#1d3829;color:#8fe5a7}.low-stock{background:#42331e;color:#ffc36d}.out-stock{background:#42242a;color:#ff8992}.action-btn{background:var(--panel2);color:var(--accent);border:1px solid var(--border);border-radius:6px;padding:6px 9px;font-size:11px;margin:2px}.action-btn.delete{color:var(--danger)}.search{width:100%;max-width:380px;margin-bottom:18px;background:#111720;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:12px;outline:none}.search:focus,input:focus{border-color:var(--accent)}.empty-state{background:var(--panel);border:1px solid var(--border);border-radius:12px;min-height:270px;padding:45px 20px;display:grid;align-content:center;justify-items:center;text-align:center}.empty-state>div{font-size:35px;color:var(--accent)}.empty-state h2{font-size:18px}.empty-state p{max-width:420px;color:var(--muted);font-size:12px;line-height:1.7}.hidden{display:none!important}dialog{width:min(510px,calc(100% - 28px));background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:14px;padding:25px}dialog::backdrop{background:#05080dcc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;margin-bottom:20px}.dialog-heading h2{font-size:19px;margin:0 0 5px}.dialog-heading p{color:var(--muted);font-size:11px;margin:0}.close-btn{background:none;color:var(--muted);border:0;font-size:18px}label{display:grid;gap:7px;margin-bottom:15px;font-size:11px;color:#b5c0d0}label input{background:#10151e;color:#fff;border:1px solid var(--border);border-radius:7px;padding:11px;width:100%;outline:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{color:var(--danger);font-size:11px}.full-btn{width:100%;margin-top:10px}@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.app{display:block}.sidebar{width:100%;min-width:0;padding:12px}.brand{padding:0 5px 12px}.sidebar-bottom,.nav-label{display:none}nav{display:flex;overflow-x:auto;padding-bottom:5px}.nav-item{white-space:nowrap;padding:10px}.main{padding:20px 14px}.topbar{align-items:flex-start}.topbar h1{font-size:22px}.top-actions{flex-direction:column;align-items:flex-end}.today{display:none}.welcome{align-items:flex-start;flex-direction:column}.stats-grid{gap:9px}.stat-card{padding:13px}.stat-card strong{font-size:22px}.content-card{padding:13px}.form-grid{grid-template-columns:1fr;gap:0}}.billing-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:18px;align-items:start}.billing-layout h3{margin:0 0 16px;font-size:15px}.billing-layout .content-card{min-width:0}.billing-layout input,.billing-layout select{background:#10151e;color:var(--text);border:1px solid var(--border);border-radius:7px;padding:11px;width:100%;outline:none}.billing-layout select:focus,.billing-layout input:focus{border-color:var(--accent)}.billing-rule{border:0;border-top:1px solid var(--border);margin:20px 0}.billing-cart-wrap{margin:18px 0}.billing-cart-wrap table{min-width:560px}.cart-sub{display:block;color:var(--muted);font-size:10px;margin-top:4px}.bill-summary{position:sticky;top:18px}.summary-line{display:flex;justify-content:space-between;gap:12px;padding:11px 0;font-size:12px;border-bottom:1px solid var(--border)}.total-line{font-size:17px;border:0}.total-line strong{color:var(--accent)}.muted-note{font-size:10px;color:var(--muted);line-height:1.6}.sales-history{margin-top:20px}@media(max-width:900px){.billing-layout{grid-template-columns:1fr}.bill-summary{position:static}}.pwa-install-btn{white-space:nowrap}#install-app-button[hidden]{display:none!important}@media(max-width:700px){.pwa-install-btn{padding:10px 12px}}.record-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:10px;align-items:center;margin-bottom:20px}.record-form input,.record-form select,.restore-label input,.barcode-tools input{min-width:0;width:100%;padding:11px;border:1px solid var(--border);border-radius:7px;background:#10151e;color:var(--text);outline:none}.record-form .primary-btn{white-space:nowrap}.barcode-tools{border:1px dashed var(--border);border-radius:9px;padding:13px;margin:12px 0 18px}.barcode-tools label{margin-bottom:8px}.barcode-actions{display:flex;flex-wrap:wrap;gap:6px}#barcode-video{width:min(100%,420px);max-height:260px;margin-top:10px;border-radius:8px;background:#050505}.muted-note{font-size:11px;color:var(--muted);line-height:1.6}.backup-card{margin-top:18px}.backup-card h3{margin-top:0}.restore-label{max-width:420px;margin:18px 0 8px}.restore-label input{margin-top:7px}@media(max-width:900px){.record-form{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-layout{grid-template-columns:1fr}}@media(max-width:560px){.record-form{grid-template-columns:1fr}.record-form .primary-btn{width:100%}}#barcode-video{width:min(100%,520px);max-height:360px;aspect-ratio:4 / 3;object-fit:cover;margin-top:12px;border:1px solid var(--border);border-radius:12px;background:#050505;box-shadow:0 8px 24px #00000047}@media(max-width:560px){#barcode-video{width:100%;max-height:50vh;aspect-ratio:4 / 3}.barcode-actions button{min-height:42px}}.barcode-tools{position:relative;overflow:hidden;margin:14px 0 20px;padding:19px;border:1px solid #354254;border-radius:16px;background:linear-gradient(145deg,#19212d,#111720 76%);box-shadow:0 12px 30px #0003}.scanner-heading{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:19px}.scanner-brand-mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid #455a3b;border-radius:12px;background:#263d1c;color:#a8e66c;font-size:25px}.scanner-heading-copy{min-width:0}.scanner-kicker{margin:0 0 4px;color:#a8e66c;font-size:9px;font-weight:800;letter-spacing:1.4px}.scanner-heading h4{margin:0;color:#f1f4f9;font-size:17px;font-weight:750}.scanner-subtitle{margin:4px 0 0;color:#8994a6;font-size:11px}.scanner-mode-tag{padding:7px 9px;border:1px solid #394a32;border-radius:20px;background:#202d1d;color:#b9ed91;font-size:9px;font-weight:800;letter-spacing:.7px;white-space:nowrap}.scanner-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:15px}.scanner-input-label{min-width:0;margin:0;gap:7px}.scanner-input-label>span{color:#aeb9c9;font-size:9px;font-weight:800;letter-spacing:1px}.scanner-input-label input{box-sizing:border-box;min-height:45px;border:1px solid #344154;border-radius:9px;background:#0d131c;color:#f1f4f9;font-size:13px}.scanner-input-label input:focus{border-color:#a8e66c;box-shadow:0 0 0 3px #a8e66c17}.scanner-lookup-btn{min-height:45px;padding:0 17px;border-radius:9px;background:#28391f;border-color:#526b3e;color:#c3f49c;font-weight:750}.scanner-camera-card{padding:12px;border:1px solid #303b4b;border-radius:13px;background:#0d131c}.scanner-camera-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.scanner-camera-label{display:flex;align-items:center;gap:8px;color:#c0cad8;font-size:9px;font-weight:800;letter-spacing:1px}.scanner-status-dot{width:7px;height:7px;border-radius:50%;background:#788496;box-shadow:0 0 0 3px #78849621}.scanner-camera-state{color:#929daf;font-size:9px;font-weight:800;letter-spacing:.8px}.scanner-live-state{display:none;color:#a8e66c}.scanner-viewport{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16 / 9;min-height:180px;overflow:hidden;border:1px solid #293548;border-radius:10px;background:radial-gradient(ellipse at center,#182333,#0b111a 72%)}#barcode-video{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;max-height:none;margin:0;border:0;border-radius:0;background:#050505;object-fit:contain;box-shadow:none}#barcode-video[hidden]{display:none!important}.scanner-placeholder{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:15px;text-align:center}.scanner-placeholder-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:3px;border:1px solid #3e5635;border-radius:14px;background:#1d2c1a;color:#a8e66c;font-size:28px}.scanner-placeholder strong{color:#e7edf5;font-size:12px}.scanner-placeholder>span{color:#8994a6;font-size:10px}.scanner-live-overlay{position:absolute;z-index:3;inset:0;display:none;pointer-events:none}.scanner-frame{position:absolute;top:50%;left:50%;width:76%;height:40%;transform:translate(-50%,-50%)}.scanner-corner{position:absolute;width:23px;height:23px;border-color:#a8e66c;border-style:solid}.corner-tl{top:0;left:0;border-width:3px 0 0 3px}.corner-tr{top:0;right:0;border-width:3px 3px 0 0}.corner-bl{bottom:0;left:0;border-width:0 0 3px 3px}.corner-br{bottom:0;right:0;border-width:0 3px 3px 0}.scanner-line{position:absolute;top:50%;left:5%;right:5%;height:2px;background:#b8f47e;box-shadow:0 0 10px #a8e66c,0 0 22px #a8e66c99;animation:stockpilot-scan-line 2.2s ease-in-out infinite}.scanner-frame-caption{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);color:#d5f3bd;font-size:8px;font-weight:800;letter-spacing:1.4px;white-space:nowrap;text-shadow:0 1px 5px #000}@keyframes stockpilot-scan-line{0%,to{transform:translateY(-28px)}50%{transform:translateY(28px)}}.scanner-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.scanner-actions .action-btn{min-height:41px;margin:0;padding:0 15px;border-radius:8px;font-size:11px;font-weight:750}.scanner-start-btn{flex:1;background:#a8e66c;border-color:#a8e66c;color:#17210f}.scanner-start-btn:hover{background:#c1f38f}.scanner-stop-btn{background:#251a20;border-color:#53303a;color:#ff929b}.scanner-footnote{margin:12px 2px 8px;color:#8994a6;font-size:10px;line-height:1.6}.scanner-message{min-height:20px;margin:0;padding:10px 12px;border:1px solid #303b4b;border-left:3px solid #a8e66c;border-radius:8px;background:#111923;color:#b9c5d5;font-size:10px}.scanner-viewport:has(#barcode-video:not([hidden])) .scanner-placeholder{display:none}.scanner-viewport:has(#barcode-video:not([hidden])) .scanner-live-overlay{display:block}.scanner-camera-card:has(#barcode-video:not([hidden])) .scanner-ready-state{display:none}.scanner-camera-card:has(#barcode-video:not([hidden])) .scanner-live-state{display:inline}.scanner-camera-card:has(#barcode-video:not([hidden])) .scanner-status-dot{background:#a8e66c;box-shadow:0 0 10px #a8e66cbf}@media(max-width:560px){.barcode-tools{padding:13px;border-radius:13px}.scanner-heading{grid-template-columns:38px minmax(0,1fr)}.scanner-brand-mark{width:38px;height:38px}.scanner-mode-tag{grid-column:2;justify-self:start}.scanner-input-row{grid-template-columns:1fr}.scanner-lookup-btn{width:100%}.scanner-camera-card{padding:9px}.scanner-viewport{min-height:165px}.scanner-actions .action-btn{flex:1}}@media(prefers-reduced-motion:reduce){.scanner-line{animation:none}}.scanner-focus-btn{background:#202b38;border:1px solid #465569;color:#d0dbea}.scanner-refocus-btn{background:#1d2e24;border:1px solid #3e6242;color:#b9ed91}.scanner-actions .action-btn:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.5)}.scanner-actions .scanner-focus-btn:not(:disabled):hover,.scanner-actions .scanner-refocus-btn:not(:disabled):hover{border-color:#a8e66c}.csv-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.csv-btn{background:#202b38;color:#e7edf5;border:1px solid #465569;border-radius:7px;padding:10px 14px;cursor:pointer;font-size:12px;font-weight:600}.csv-btn:hover{border-color:var(--accent);color:var(--accent)}.csv-btn:disabled{opacity:.5;cursor:not-allowed}.csv-status{margin:10px 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.csv-preview{margin-top:14px;overflow-x:auto}.csv-preview table{min-width:650px}.csv-preview th,.csv-preview td{padding:9px}.csv-valid{color:#9be477}.csv-invalid{color:#ff8585}@media(max-width:560px){.csv-toolbar>button{flex:1 1 100%}}.report-filter-card{margin-bottom:18px}.report-filter{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.report-filter label{color:var(--text);font-size:13px;font-weight:700}.report-filter select,.report-filter input{min-height:40px;padding:9px 12px;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:8px;outline:none}.report-filter select:focus,.report-filter input:focus{border-color:var(--accent)}.report-period-label{margin-top:10px}.report-stats{margin-bottom:20px}.report-stats .stat-card{min-width:0;transition:border-color .2s ease,transform .2s ease}.report-stats .stat-card:hover{border-color:var(--accent);transform:translateY(-2px)}.report-stats .stat-card strong{overflow-wrap:anywhere}.report-chart-card,.report-products-card{margin-bottom:18px;min-width:0}.report-chart-total{color:var(--accent);font-size:19px;font-weight:800;white-space:nowrap}.report-chart-scroll{width:100%;overflow-x:auto;overflow-y:hidden;padding:14px 2px 8px;scrollbar-width:thin}.report-chart-bars{display:grid;align-items:end;gap:7px;height:250px;min-width:0}.report-chart-bars.daily-chart{grid-template-columns:repeat(31,minmax(30px,1fr))}.report-chart-bars.yearly-chart{grid-template-columns:repeat(12,minmax(48px,1fr))}.report-bar-button{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;height:100%;min-width:0;padding:4px 2px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;transition:background .2s ease,border-color .2s ease}.report-bar-button:hover,.report-bar-button:focus-visible{background:#78a0dc14;border-color:var(--border);outline:none}.report-bar-button.selected{background:#78a0dc1f;border-color:var(--accent)}.report-bar-value{max-width:100%;min-height:15px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.report-bar-track{display:flex;align-items:flex-end;justify-content:center;width:100%;height:175px;overflow:hidden;border-radius:6px 6px 3px 3px;background:#788caa12}.report-bar-fill{display:block;width:min(75%,28px);min-height:0;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--accent),#4d78c8);box-shadow:0 0 12px #5a8cdc29;transition:height .35s ease,filter .2s ease}.report-bar-button:hover .report-bar-fill,.report-bar-button.selected .report-bar-fill{filter:brightness(1.25)}.report-bar-label{min-height:17px;color:var(--muted);font-size:10px;font-weight:700}.report-products-card .table-wrap{margin-top:12px}.report-products-card table{min-width:760px}.report-products-card th,.report-products-card td{padding:12px 10px;white-space:nowrap}.report-products-card tbody tr:hover{background:#78a0dc0f}.report-products-card tbody td:first-child{font-weight:650}@media(max-width:700px){.report-filter{align-items:stretch}.report-filter label{flex:1 1 100%}.report-filter select,.report-filter input{flex:1 1 100%;width:100%}.report-chart-bars.daily-chart{min-width:980px}.report-chart-bars.yearly-chart{min-width:600px}.report-chart-bars{height:220px;gap:5px}.report-bar-track{height:150px}.report-chart-total{font-size:15px}.report-stats .stat-card{overflow:hidden}.report-products-card table{min-width:760px}}@media(prefers-reduced-motion:reduce){.report-stats .stat-card,.report-bar-button,.report-bar-fill{transition:none}}
