:root{--bg: #f4f5f7;--panel: #ffffff;--border: #e2e5ea;--text: #1f2430;--muted: #6b7280;--primary: #2563eb;--primary-dark: #1d4ed8;--danger: #dc2626;--radius: 8px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}h1{font-size:1.5rem;margin:0 0 1rem}h2{font-size:1.1rem;margin:0 0 .75rem}h3{font-size:1rem;margin:1rem 0 .5rem}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:#161b26;color:#cbd5e1;padding:1rem 0;flex-shrink:0}.brand{font-size:1.25rem;font-weight:700;color:#fff;padding:0 1rem 1rem;border-bottom:1px solid #2a3242;margin-bottom:.5rem}.sidebar nav{display:flex;flex-direction:column}.sidebar nav a{color:#cbd5e1;text-decoration:none;padding:.6rem 1rem;border-left:3px solid transparent}.sidebar nav a:hover{background:#1f2533}.sidebar nav a.active{background:#1f2533;color:#fff;border-left-color:var(--primary)}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{background:var(--panel);border-bottom:1px solid var(--border);padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.content{padding:1.5rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem;margin-bottom:1.5rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.card-value{font-size:1.75rem;font-weight:700}.card-label{color:var(--muted);font-size:.85rem}.recent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem}section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:.9rem}th,td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}th{background:#fafbfc;color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}tr:last-child td{border-bottom:none}.filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.create-form{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}.create-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.create-form input,.create-form select{min-width:180px}.create-form .field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.reset-form{display:flex;flex-direction:column;gap:.75rem}.reset-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--muted)}input,select{padding:.5rem .6rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;background:var(--panel)}button{padding:.5rem .9rem;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;font-size:.9rem}button:hover{background:var(--primary-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.link{background:none;color:var(--primary);padding:.25rem .5rem;font-size:.85rem}button.link:hover{text-decoration:underline;background:none}button.link.danger{color:var(--danger)}button.danger{background:var(--danger)}button.danger:hover{background:#b91c1c}.pagination{display:flex;align-items:center;gap:.75rem;margin-top:1rem;color:var(--muted);font-size:.85rem}.pagination button{background:var(--panel);border:1px solid var(--border);color:var(--text)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:#e0e7ff;color:#3730a3;font-size:.75rem;font-weight:600}.muted{color:var(--muted);font-size:.85rem}.error{color:var(--danger);background:#fee2e2;border:1px solid #fecaca;padding:.5rem .75rem;border-radius:var(--radius)}.thumb{width:48px;height:36px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.scan-image{max-width:100%;max-height:400px;object-fit:contain;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:1rem}.details{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0 0 1rem}.details dt{color:var(--muted);font-weight:600}.details dd{margin:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal-card{background:var(--panel);border-radius:var(--radius);padding:1.5rem;max-width:720px;width:100%;max-height:85vh;overflow:auto}.modal-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap;align-items:center}.modal-field{display:flex;flex-direction:column;gap:.3rem;margin-right:.75rem}.modal-field label{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.modal-field select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:.9rem;cursor:pointer}.modal-field select:focus{outline:2px solid var(--accent);outline-offset:1px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:340px;display:flex;flex-direction:column;gap:1rem}.login-card h1{text-align:center;margin-bottom:.5rem}.login-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted)}.login-card input{padding:.6rem;font-size:1rem}.store-picker{position:relative;min-width:240px}.store-picker input{width:100%}.picker-results{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);list-style:none;margin:0;padding:.25rem 0;max-height:260px;overflow-y:auto;z-index:20;box-shadow:0 4px 12px #00000014}.picker-results li{display:flex;flex-direction:column;gap:.1rem;padding:.45rem .75rem;cursor:pointer}.picker-results li:hover{background:#eef2ff}.picker-chip{display:inline-flex;align-items:center;gap:.35rem;background:#eef2ff;border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .6rem;font-size:.85rem}.promo-rows{width:100%}.promo-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem}.promo-row input{min-width:120px}
