:root{--bg:#05091c;--bg-2:#0a1128;--panel:#0a132c;--panel-2:#0f1a37;--border:#d4af6a2e;--border-strong:#d4af6a5c;--text:#e7d6a3;--text-dim:#9c8c66;--accent:#d4af6a;--accent-2:#6fcf9a;--danger:#e2765a;--radius:12px;--shadow:0 10px 28px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 0%, var(--bg-2) 0%, var(--bg) 60%) fixed;color:var(--text);margin:0}#root{min-height:100vh}a{color:var(--accent)}button{cursor:pointer;border:1px solid var(--border-strong);background:var(--panel-2);color:var(--accent);border-radius:8px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:border-color .15s,background .15s,filter .15s}button:hover{border-color:var(--accent);background:#1c2f5e}button.primary{background:linear-gradient(180deg, #e2c17e, var(--accent));color:#241a04;border-color:var(--accent);font-weight:700}button.primary:hover{filter:brightness(1.06)}button.danger{border-color:var(--danger);color:var(--danger);background:0 0;font-weight:600}button.danger:hover{background:#e2765a1f}button:disabled{opacity:.45;cursor:not-allowed;filter:none}input,select,textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{outline:1px solid var(--accent)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.field input,.field select,.field textarea{width:100%}.app-shell{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--panel), var(--bg));border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:220px;padding:18px 12px;display:flex}.brand{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:10px;display:flex}.brand-logo{object-fit:cover;width:68px;height:68px;box-shadow:0 0 0 2px var(--border-strong), 0 6px 16px #00000080;border-radius:50%}.brand-logo-lg{width:100px;height:100px;margin-bottom:4px}.sidebar h1{color:var(--accent);letter-spacing:.05em;text-shadow:0 1px 8px #d4af6a40;margin:0 0 10px;font-size:17px}.sidebar .user-badge{color:var(--text-dim);margin:0 8px 16px;font-size:13px}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav a{color:var(--text-dim);border-left:2px solid #0000;border-radius:8px;padding:9px 10px;font-size:14px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.sidebar nav a:hover{color:var(--text);background:#d4af6a12}.sidebar nav a.active{color:var(--accent);border-left-color:var(--accent);background:#d4af6a1a;font-weight:600}.nav-group{flex-direction:column;display:flex}.nav-group-toggle{width:100%;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;background:0 0;border:none;border-left:2px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 10px;font-size:14px;font-weight:600;display:flex}.nav-group-toggle:hover{color:var(--text);background:#d4af6a12}.nav-group-toggle.active{color:var(--accent);border-left-color:var(--accent)}.nav-group-chevron{opacity:.7;font-size:11px}.nav-group-links{flex-direction:column;gap:2px;margin-bottom:2px;padding:2px 0 4px 14px;display:flex}.nav-group-links a{color:var(--text-dim);border-left:2px solid #0000;border-radius:8px;padding:7px 10px;font-size:13px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.nav-group-links a:hover{color:var(--text);background:#d4af6a12}.nav-group-links a.active{color:var(--accent);border-left-color:var(--accent);background:#d4af6a1a;font-weight:600}.sidebar .logout{margin-top:auto}.main{flex:1;padding:28px 34px;overflow-x:auto}.main h2{margin-top:0}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:18px 20px}.modal-overlay{z-index:1000;background:#02050fb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 0 0 2px var(--border-strong), 0 12px 40px #0009;text-align:center;max-width:420px;padding:32px 36px}.modal-box .modal-icon{margin-bottom:6px;font-size:48px}.modal-box h3{color:var(--accent);margin:0 0 6px}.modal-box p{color:var(--text);margin:0 0 20px}.grid{gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.stat{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat .label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.stat .value{color:var(--accent);margin-top:4px;font-size:24px;font-weight:700}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}tr:hover td{background:#d4af6a0a}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.badge{background:var(--panel-2);border:1px solid var(--border-strong);border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.badge.warn{color:var(--danger);border-color:var(--danger)}.badge.caution{color:#e0a13d;border-color:#e0a13d}.badge.ok{color:var(--accent-2);border-color:var(--accent-2)}.error-text{color:var(--danger);font-size:13px}.success-text{color:var(--accent-2);font-size:13px}.login-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);width:320px;box-shadow:var(--shadow);padding:28px}.login-box h1{color:var(--accent);text-align:center;letter-spacing:.05em;text-shadow:0 1px 8px #d4af6a40;margin-top:0}.login-box button{width:100%;margin-top:6px}.till{grid-template-columns:2fr 1fr;align-items:start;gap:20px;display:grid}.till-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.till-tabs button{padding:10px 18px;font-size:15px}.till-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.till-key{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;justify-content:center;min-height:84px;padding:16px 12px;transition:border-color .1s,transform 50ms,box-shadow .15s;display:flex;position:relative}.till-key:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.till-key:active{transform:scale(.97)}.till-key-name{font-size:15px;font-weight:600}.till-key-price{color:var(--accent-2);margin-top:4px;font-size:14px;font-weight:600}.till-key-note{color:var(--text-dim);margin-top:6px;font-size:11px;line-height:1.3}.till-key-badge{background:var(--accent);color:var(--bg);border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;font-size:13px;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px}.till-grid-pos{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.till-key-pos{border-radius:14px;min-height:112px;padding:20px 18px}.till-key-pos .till-key-name{font-size:18px}.till-key-pos .till-key-price{font-size:16px}.stock-tile-grid{grid-template-columns:repeat(5,minmax(0,130px));gap:10px;display:grid}.stock-tile{aspect-ratio:1;background:var(--panel-2);border:1px solid var(--border);text-align:center;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:9px;display:flex;position:relative}.stock-tile-caution{border-color:#e0a13d}.stock-tile-warn{border-color:var(--danger)}.stock-tile-draggable{cursor:grab}.stock-tile-draggable:hover{border-color:var(--accent)}.stock-tile-draggable:active{cursor:grabbing;opacity:.7}.stock-tile-name{font-size:13px;font-weight:600;line-height:1.2}.stock-tile-category{color:var(--text-dim);font-size:10px}.stock-tile-qty{color:var(--accent);margin-top:3px;font-size:14px;font-weight:700}.stock-tile-qty-editable{cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.stock-tile-adjust{align-items:center;gap:3px;margin-top:2px;display:flex}.stock-tile-adjust input{text-align:center;width:40px;padding:1px 3px;font-size:10px}.stock-tile-adjust button{padding:0 4px;font-size:10px}@media (width<=900px){.stock-tile-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.stock-tile-grid{grid-template-columns:repeat(2,1fr)}}.receipt{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;font-family:Courier New,Courier,monospace;position:sticky;top:16px}.receipt-header{text-align:center;letter-spacing:.12em;color:var(--text-dim);border-bottom:1px dashed var(--border-strong);margin-bottom:12px;padding-bottom:10px;font-weight:700}.receipt-body{min-height:60px;margin-bottom:8px}.receipt-line{border-bottom:1px dashed var(--border);padding:8px 0}.receipt-line-top{justify-content:space-between;font-weight:600;display:flex}.receipt-line-bottom{color:var(--text-dim);justify-content:space-between;align-items:center;margin-top:4px;font-size:13px;display:flex}.receipt-line-bottom button{padding:2px 8px;font-size:12px}.receipt-qty-input{text-align:center;width:44px;padding:2px 4px;font-size:13px}.receipt-total-row{border-top:2px solid var(--border);justify-content:space-between;align-items:baseline;margin-top:6px;padding-top:10px;display:flex}.receipt-total{color:var(--accent);font-size:24px;font-weight:800}.till-checkout{padding:12px;font-size:15px}@media (width<=900px){.till{grid-template-columns:1fr}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--panel-2);border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}*{scrollbar-color:var(--panel-2) var(--bg);scrollbar-width:thin}
