:root{--navy: #0B1424;--navy-soft: #1A2436;--bone: #F7F7F5;--bone-dim: #F0EEE9;--ink: #0B1424;--ink-dim: #5B6472;--violet: #5B4FE3;--violet-soft: #EEECFC;--amber: #E8A33D;--amber-soft: #FBF0DD;--green: #2FAE66;--green-soft: #E5F6EC;--red: #E14B4B;--red-soft: #FCEAEA;--border: #E4E2DC;--display: "Space Grotesk", system-ui, sans-serif;--body: "Inter", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--radius: 10px;--shadow: 0 1px 2px rgba(11, 20, 36, .06), 0 4px 12px rgba(11, 20, 36, .05)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--body);background:var(--bone);background-image:radial-gradient(circle at 0% 0%,rgba(91,79,227,.05),transparent 45%),radial-gradient(circle at 100% 0%,rgba(232,163,61,.05),transparent 45%);background-attachment:fixed;color:var(--ink);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--display);font-weight:600;margin:0;letter-spacing:-.01em}button,input,select{font-family:inherit;font-size:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.mono{font-family:var(--mono)}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--navy);color:var(--bone);display:flex;flex-direction:column;padding:24px 16px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px 24px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--amber);flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolyline points='24,50 36,50 42,30 54,72 62,50 76,50' fill='none' stroke='%230B1424' stroke-width='9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:62%;background-repeat:no-repeat;background-position:center}.sidebar-brand strong{font-family:var(--display);font-size:17px;letter-spacing:.02em}.nav-group{margin-top:20px}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#fafaf873;padding:0 12px 8px}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#fafaf8d9;text-decoration:none;font-size:14px;font-weight:500;transition:background .12s ease}.nav-link:hover{background:#ffffff0f}.nav-link.active{background:var(--amber);color:var(--navy)}.sidebar-footer{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.08);font-size:13px}.sidebar-footer button{background:none;border:none;color:#fafaf899;padding:0;font-size:12.5px;margin-top:6px}.sidebar-footer button:hover{color:var(--bone)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;border-bottom:1px solid var(--border);background:var(--bone);position:sticky;top:0;z-index:5}.topbar h1{font-size:20px}.offline-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:5px 10px;border-radius:999px;background:var(--red-soft);color:var(--red)}.offline-pill.online{background:var(--green-soft);color:var(--green)}.offline-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.content{padding:28px 32px;flex:1}.card{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #0b14240a,0 8px 24px -12px #0b14241f;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--violet),var(--amber))}.card:hover{box-shadow:0 2px 4px #0b14240f,0 14px 32px -14px #0b14242e}.card-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.card-header h2{font-size:15px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:0 1px 2px #0b14240a,0 8px 20px -12px #0b14241a;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--violet),var(--amber))}.stat-card:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0b14240f,0 12px 28px -14px #0b142429}.stat-card .label{font-size:12.5px;color:var(--ink-dim);margin-bottom:6px}.stat-card .value{font-family:var(--display);font-size:26px;font-weight:600;background:linear-gradient(90deg,var(--ink),var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-dim);padding:10px 20px;border-bottom:1px solid var(--border)}td{padding:13px 20px;border-bottom:1px solid var(--bone-dim);font-size:14px}tr:last-child td{border-bottom:none}.num{font-family:var(--mono);text-align:right}.stock-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle}.stock-dot.ok{background:var(--green)}.stock-dot.low{background:var(--amber)}.stock-dot.out{background:var(--red)}.btn{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;border:1px solid transparent;transition:filter .12s ease}.btn:hover{filter:brightness(.95)}.btn-primary{background:var(--navy);color:var(--bone)}.btn-amber{background:var(--amber);color:var(--navy)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--ink)}.btn-danger{background:var(--red-soft);color:var(--red)}.btn:disabled{opacity:.5;cursor:not-allowed}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--ink)}.field input,.field select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--ink)}.field input:focus,.field select:focus{border-color:var(--amber)}.error-box{background:var(--red-soft);color:var(--red);padding:10px 14px;border-radius:8px;font-size:13.5px;margin-bottom:16px}.empty-state{padding:48px 24px;text-align:center;color:var(--ink-dim)}.badge{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.badge.draft{background:var(--bone-dim);color:var(--ink-dim)}.badge.received{background:var(--green-soft);color:var(--green)}.badge.pending{background:var(--amber-soft);color:#8a6316}.badge.synced{background:var(--green-soft);color:var(--green)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b1424,#1a2436 45%,#5b4fe3);padding:20px}.login-card{width:100%;max-width:380px;background:var(--navy);border-radius:16px;padding:36px 32px;box-shadow:0 20px 60px #00000059;text-align:center}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px}.login-brand .brand-mark{width:36px;height:36px;border-radius:10px}.login-brand strong{font-family:var(--display);font-size:22px;color:#fff}.login-brand-center{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:4px}@keyframes brandPulse{0%{transform:scale(1)}55%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes brandGlow{0%{box-shadow:0 0 #e8a33d8c}70%{box-shadow:0 0 0 16px #e8a33d00}to{box-shadow:0 0 #e8a33d00}}.login-brand-center .brand-mark-lg{width:72px;height:72px;animation:brandPulse 2.2s ease-in-out infinite,brandGlow 2.2s ease-in-out infinite}.login-brand-center strong{font-size:30px}.login-sub{color:#ffffffbf;font-size:14px;margin-bottom:28px}.login-card .field{text-align:left}.login-card .field label{color:#ffffffd9}.field-row{display:flex;justify-content:space-between;align-items:baseline}.pos-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start}.pos-scan-panel{background:var(--navy);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.pos-scan-label{color:#fafaf899;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.pos-scan-input{width:100%;background:var(--navy-soft);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:14px 16px;color:var(--bone);font-family:var(--mono);font-size:17px;letter-spacing:.02em}.pos-scan-input:focus{border-color:var(--amber);outline:none}.pos-scan-input::placeholder{color:#fafaf859}.pos-scan-msg{margin-top:10px;font-size:13px;font-family:var(--mono);min-height:18px}.pos-scan-msg.ok{color:#6fe3a6}.pos-scan-msg.err{color:#f29b9b}.pos-ticket{margin-top:18px;border-top:1px dashed rgba(255,255,255,.15);padding-top:14px}.pos-ticket-empty{color:#fafaf866;font-size:13.5px;text-align:center;padding:24px 0}.pos-line{display:grid;grid-template-columns:minmax(70px,110px) 1fr auto auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);color:var(--bone);font-size:13.5px}.pos-line .sku{font-family:var(--mono);color:var(--amber);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-line .qty{font-family:var(--mono);color:#fafaf8b3}.pos-line .subtotal{font-family:var(--mono);font-weight:600;min-width:70px;text-align:right}.pos-line .remove-btn{background:none;border:none;color:#fafaf859;font-size:16px;line-height:1;padding:2px 4px}.pos-line .remove-btn:hover{color:var(--red)}.pos-summary{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;position:sticky;top:90px}.pos-total-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-size:13.5px;color:var(--ink-dim)}.pos-total-row.grand{border-top:1px solid var(--border);margin-top:10px;padding-top:14px;color:var(--ink)}.pos-total-row.grand .amount{font-family:var(--display);font-size:30px;font-weight:700}.pos-total-row .amount{font-family:var(--mono);font-size:15px}.pos-payment{margin-top:20px;padding-top:18px;border-top:1px dashed var(--border)}.pos-quick-cash{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.pos-quick-cash button{flex:1;min-width:62px;background:var(--bone-dim);border:1px solid var(--border);border-radius:8px;padding:8px 6px;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink)}.pos-quick-cash button:hover{background:var(--amber-soft);border-color:var(--amber)}.pos-change{background:var(--green-soft);border-radius:10px;padding:14px 16px;margin-top:12px;display:flex;justify-content:space-between;align-items:center}.pos-change.insufficient{background:var(--red-soft)}.pos-change .label{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}.pos-change.insufficient .label{color:var(--red)}.pos-change:not(.insufficient) .label{color:var(--green)}.pos-change .amount{font-family:var(--display);font-size:22px;font-weight:700}.pos-change:not(.insufficient) .amount{color:var(--green)}.pos-change.insufficient .amount{color:var(--red)}.pos-confirmed{text-align:center;padding:20px 10px}.pos-confirmed .check{width:46px;height:46px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 12px}@media (max-width: 900px){.pos-grid{grid-template-columns:1fr}.pos-summary{position:static}}.label-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.label-tile{border:1px dashed var(--border);border-radius:6px;padding:8px 6px;text-align:center;background:#fff}.label-name{font-size:10.5px;font-weight:600;color:var(--ink);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label-tile canvas{max-width:100%;height:auto}.label-price{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--ink);margin-top:2px}@media print{.sidebar,.topbar,.no-print,.card-header,.stat-grid,.empty-state{display:none!important}.content{padding:0!important}.card{border:none!important;box-shadow:none!important}.label-sheet{gap:4mm}.label-tile{border:1px solid #ccc;break-inside:avoid}}.brand-logo{width:30px;height:30px;border-radius:8px;object-fit:cover;flex-shrink:0}.logo-preview{width:64px;height:64px;border-radius:12px;background:var(--bone-dim);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.logo-preview img{width:100%;height:100%;object-fit:cover}.mode-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:18px}.mode-toggle button{background:#fff;border:none;padding:8px 14px;font-size:13px;font-weight:500;color:var(--ink-dim);border-right:1px solid var(--border)}.mode-toggle button:last-child{border-right:none}.mode-toggle button.active{background:var(--navy);color:var(--bone)}@media (max-width: 720px){.sidebar{display:none}.content{padding:18px}.topbar{padding:14px 18px}}@media print{body:has(.pos-receipt) *{visibility:hidden}body:has(.pos-receipt) .pos-receipt,body:has(.pos-receipt) .pos-receipt *{visibility:visible}body:has(.pos-receipt) .pos-receipt{position:absolute;top:0;left:0;width:100%;border:none!important}.pos-no-print{display:none!important}}@media print{body:has(.label-sheet) *:not(:has(.label-sheet)):not(.label-sheet):not(.label-sheet *){display:none!important}body:has(.label-sheet) .label-sheet{position:static!important;width:100%!important}}.camera-scanner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:var(--ink);display:flex;flex-direction:column}.camera-scanner-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;color:var(--bone);font-family:Space Grotesk,sans-serif;font-size:15px}.camera-scanner-close{background:#ffffff14;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--bone);cursor:pointer}.camera-scanner-video-wrap{position:relative;flex:1;overflow:hidden;background:#000}.camera-scanner-video{width:100%;height:100%;object-fit:cover}.camera-scanner-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:82%;max-width:420px;height:140px;border:3px solid var(--amber);border-radius:var(--radius);box-shadow:0 0 0 2000px #0b14248c;pointer-events:none}.camera-scan-btn{display:flex;align-items:center;gap:6px;background:linear-gradient(90deg,var(--violet),var(--amber));color:#fff;border:none;border-radius:var(--radius);padding:10px 14px;font-family:Inter,sans-serif;font-weight:600;font-size:13px;cursor:pointer;margin-bottom:8px}.camera-scanner-error{padding:16px;color:var(--red);background:var(--red-soft);text-align:center;font-family:Inter,sans-serif}
