:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0a0a0a;--surface: #141414;--surface-hover: #1a1a1a;--border: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .12);--text: #fafafa;--text-muted: rgba(255, 255, 255, .55);--text-secondary: rgba(255, 255, 255, .7);--accent: #4ade80;--accent-dim: rgba(74, 222, 128, .15);--warn: #fbbf24;--warn-dim: rgba(251, 191, 36, .12);--danger: #f87171;--danger-dim: rgba(248, 113, 113, .12);--radius: .625rem;--radius-sm: .375rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{max-width:52rem;margin:0 auto;padding:1.5rem 1rem 3rem}.header{margin-bottom:1.5rem}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.header-top h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.logo-icon{font-size:1.4rem}.stats{display:flex;gap:.75rem}.stat{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.5rem;font-weight:700;line-height:1.2}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.stat-warn .stat-value{color:var(--warn)}.stat-danger .stat-value{color:var(--danger)}.stat-price .stat-value{color:var(--accent)}.header-actions{display:flex;gap:.5rem}.active-toggle{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.btn{border:none;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;border-radius:var(--radius-sm);padding:.5rem 1rem;transition:background .15s,opacity .15s}.btn-primary{background:var(--accent);color:#0a0a0a}.btn-primary:hover{opacity:.85}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-light)}.btn-ghost:hover{background:var(--surface)}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.form-card h2{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.span-2{grid-column:span 2}.form-group label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.35rem}.form-group input,.form-group select{width:100%;padding:.55rem .75rem;background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.9rem;outline:none;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:var(--accent)}.form-group input::placeholder{color:var(--text-muted)}.qty-row{display:flex;gap:.5rem}.qty-row input{flex:1;min-width:0}.qty-row select{width:5.5rem;flex-shrink:0}.form-actions{display:flex;gap:.5rem;margin-top:1rem}.toolbar{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.search-input{flex:1;min-width:10rem;padding:.55rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.9rem;outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-muted)}.filters{display:flex;gap:.5rem}.filters select{padding:.55rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.85rem;outline:none;cursor:pointer}.filters select:focus{border-color:var(--accent)}.sort-bar{display:flex;align-items:center;gap:.35rem;margin-bottom:.75rem;flex-wrap:wrap}.sort-label{font-size:.75rem;color:var(--text-muted);margin-right:.25rem}.sort-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-family:inherit;font-size:.75rem;padding:.25rem .6rem;cursor:pointer;transition:all .15s}.sort-btn:hover{color:var(--text-secondary);border-color:var(--border-light)}.sort-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.inventory-list{display:flex;flex-direction:column;gap:.5rem}.item-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.125rem;transition:border-color .15s,background .15s}.item-card:hover{background:var(--surface-hover);border-color:var(--border-light)}.item-card.soon{border-left:3px solid var(--warn)}.item-card.expired{border-left:3px solid var(--danger)}.item-main{flex:1;min-width:0}.item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem;flex-wrap:wrap}.item-name{font-weight:600;font-size:.95rem}.item-category{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:#ffffff0d;padding:.15rem .45rem;border-radius:.25rem;border:1px solid var(--border)}.item-details{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.item-qty{font-size:.85rem;color:var(--text-secondary)}.item-expiry{font-size:.8rem}.item-expiry.ok{color:var(--accent)}.item-expiry.soon{color:var(--warn)}.item-expiry.expired{color:var(--danger)}.item-price{font-size:.85rem;color:var(--accent);font-weight:500}.item-price-total{color:var(--text-muted);font-weight:400}.item-notes{font-size:.8rem;color:var(--text-muted);margin-top:.3rem}.item-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.btn-icon{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:.25rem;border-radius:var(--radius-sm);transition:background .15s;line-height:1}.btn-icon:hover{background:#ffffff14}.confirm-delete{display:flex;gap:.25rem}.btn-danger-sm{font-size:.7rem;color:var(--danger);font-weight:600}.price-history-toggle{background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.75rem;cursor:pointer;padding:.2rem 0;margin-top:.25rem}.price-history-toggle:hover{color:var(--text-secondary)}.price-history{margin-top:.35rem;padding:.5rem .75rem;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.25rem}.ph-row{display:flex;align-items:center;gap:.75rem;font-size:.8rem}.ph-date{color:var(--text-muted);min-width:7rem}.ph-price{color:var(--text);font-weight:500;min-width:4.5rem}.ph-diff{font-size:.75rem;font-weight:600}.ph-diff.up{color:var(--danger)}.ph-diff.down{color:var(--accent)}.comparison-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;animation:slideDown .2s ease}.comparison-panel.empty{text-align:center;color:var(--text-muted);padding:2rem}.comparison-panel h2{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.comparison-section{margin-bottom:1.25rem}.comparison-section:last-child{margin-bottom:0}.comparison-section h3{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.6rem}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem}.comparison-item{display:flex;flex-direction:column;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.comparison-item.cheap{border-color:#4ade8040;background:#4ade800a}.comparison-item.expensive{border-color:#f8717133;background:#f871710a}.comp-name{font-weight:600;font-size:.85rem}.comp-price{font-size:.9rem;font-weight:700;color:var(--accent)}.comparison-item.expensive .comp-price{color:var(--danger)}.comp-cat{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.category-comparison{display:flex;flex-direction:column;gap:.6rem}.cat-row{padding:.6rem .75rem;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-sm)}.cat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.cat-name{font-weight:600;font-size:.9rem}.cat-avg{font-size:.75rem;color:var(--text-muted)}.cat-items{display:flex;flex-direction:column;gap:.2rem}.cat-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.cat-item-label{color:var(--text-muted);min-width:4.5rem}.cat-item.cheap{color:var(--accent)}.cat-item.expensive{color:var(--danger)}.barcode-input-row{display:flex;gap:.5rem}.barcode-input-row input{flex:1;min-width:0}.barcode-scanned-badge{display:inline-block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:var(--accent-dim);padding:.15rem .4rem;border-radius:.25rem;margin-top:.25rem}.item-barcode{display:inline-block;font-size:.75rem;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:.25rem}.btn-sm{font-size:.8rem;padding:.4rem .75rem}.scanner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scanner-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;width:100%;max-width:26rem;animation:slideDown .2s ease}.scanner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.scanner-header h3{font-size:1rem;font-weight:600}.scanner-viewport{margin-bottom:1rem}.scanner-video{width:100%;border-radius:var(--radius-sm);overflow:hidden;background:#000}.scanner-video video{width:100%;display:block}.scanner-hint{text-align:center;font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.scanner-error{padding:1rem;text-align:center;color:var(--text-muted);background:#f871710f;border:1px solid rgba(248,113,113,.15);border-radius:var(--radius-sm);margin-bottom:1rem}.scanner-error p{font-size:.85rem;margin-bottom:.25rem}.scanner-manual{display:flex;gap:.5rem}.scanner-manual input{flex:1;padding:.55rem .75rem;background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.9rem;outline:none}.scanner-manual input:focus{border-color:var(--accent)}.scanner-manual input::placeholder{color:var(--text-muted)}.scan-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--accent);color:#0a0a0a;font-weight:600;font-size:.85rem;padding:.6rem 1.25rem;border-radius:var(--radius);z-index:1001;animation:toastIn .3s ease,toastOut .3s ease 2s forwards}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-icon{font-size:2.5rem;display:block;margin-bottom:.75rem}.empty-state p{font-size:.95rem}.footer{margin-top:1.5rem;text-align:center;font-size:.8rem;color:var(--text-muted)}@media(max-width:40rem){.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.stats{gap:.5rem;flex-wrap:wrap}.stat{padding:.5rem;min-width:calc(50% - .25rem)}.stat-value{font-size:1.2rem}.toolbar{flex-direction:column}.filters,.filters select{flex:1}.header-actions{flex-wrap:wrap}.comparison-grid{grid-template-columns:1fr}}
