*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f4f5f7;--surface:#fff;--border:#e2e4e9;--text:#111318;--muted:#6b7280;--accent:#2563eb;--accent-h:#1d4ed8;--danger:#ef4444;--danger-h:#dc2626;--green:#16a34a;--radius:8px;--shadow:0 1px 4px #00000014}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,system-ui,sans-serif;font-size:14px}.layout{grid-template-columns:300px 1fr;min-height:100vh;transition:grid-template-columns .25s;display:grid}.layout.sidebar-collapsed{grid-template-columns:0 1fr}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;transition:visibility .25s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar>*{min-width:300px}.layout.sidebar-collapsed .sidebar{visibility:hidden}.main{padding:28px 32px}.sidebar-toggle{z-index:10;background:var(--surface);border:1px solid var(--border);cursor:pointer;width:20px;height:48px;color:var(--muted);border-left:none;border-radius:0 6px 6px 0;justify-content:center;align-items:center;font-size:.9rem;transition:left .25s;display:flex;position:fixed;top:50%;left:300px;transform:translateY(-50%);box-shadow:2px 0 6px #0000000f}.sidebar-collapsed .sidebar-toggle{left:0}.main-toolbar{margin-bottom:20px}.search-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;max-width:400px;color:var(--text);outline:none;padding:9px 14px;font-family:inherit;font-size:.9rem;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.sidebar-header{border-bottom:1px solid var(--border);padding:24px 20px 16px}.app-title{margin-bottom:16px;font-size:1.25rem;font-weight:600}.stats{gap:12px;display:flex}.stat{background:var(--bg);border-radius:var(--radius);flex:1;padding:8px 10px}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px;font-size:.7rem;font-weight:500;display:block}.stat-value{font-size:1rem;font-weight:600;display:block}.add-form{flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.form-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.85rem;font-weight:600}.image-picker{cursor:pointer;border:2px dashed var(--border);border-radius:var(--radius);transition:border-color .15s;display:block;overflow:hidden}.image-picker:hover{border-color:var(--accent)}.image-preview{object-fit:cover;width:100%;height:120px;display:block}.image-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:4px;height:80px;display:flex}.image-icon{font-size:1.4rem}.image-hint{color:var(--muted);font-size:.75rem}.fields{flex-direction:column;gap:10px;display:flex}.field-row{gap:10px;display:flex}.field-row .field{flex:1}.field{flex-direction:column;gap:4px;display:flex}.label{color:var(--muted);font-size:.75rem;font-weight:500}.input{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface);outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:.9rem;transition:border-color .15s}.input:focus{border-color:var(--accent)}.form-error{color:var(--danger);font-size:.8rem}.btn-add{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:9px 14px;font-family:inherit;font-size:.875rem;font-weight:500;transition:background .15s}.btn-add:hover{background:var(--accent-h)}.item-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:10px;display:grid}.item-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:12px;animation:.18s both slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.item-img-wrap{border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:100%;height:140px;overflow:hidden}.item-img{object-fit:cover;width:100%;height:100%;display:block}.item-img-placeholder{background:var(--bg);justify-content:center;align-items:center;width:100%;height:100%;font-size:1.5rem;display:flex}.item-info{flex:1;min-width:0}.item-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:.95rem;font-weight:600;overflow:hidden}.item-price{color:var(--accent);cursor:pointer;border-bottom:1px dashed #0000;font-size:.875rem;font-weight:500;transition:border-color .15s;display:inline-block}.item-price:hover{border-bottom-color:var(--accent)}.price-input{border:1px solid var(--accent);width:90px;color:var(--accent);border-radius:4px;outline:none;padding:3px 6px;font-family:inherit;font-size:.875rem;font-weight:500}.item-total{color:var(--muted);margin-top:2px;font-size:.75rem}.item-footer{justify-content:space-between;align-items:center;display:flex}.item-count{align-items:center;gap:6px;display:flex}.count-btn{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;line-height:1;transition:background .12s,border-color .12s;display:flex}.count-btn:hover{background:var(--border);border-color:#bbb}.count-value{text-align:center;border:1px solid var(--border);border-radius:6px;outline:none;width:48px;padding:4px;font-family:inherit;font-size:.875rem;font-weight:600}.count-value:focus{border-color:var(--accent)}.remove-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;transition:background .12s,color .12s;display:flex}.remove-btn:hover{color:var(--danger);background:#fee2e2}.remove-btn-icon{width:16px;height:16px}.empty-state{min-height:60vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-icon{font-size:3rem}.empty-text{color:var(--text);font-size:1rem;font-weight:600}.empty-sub{font-size:.875rem}@media (width<=640px){.layout,.layout.sidebar-collapsed{grid-template-columns:1fr}.sidebar{z-index:100;width:280px;height:100vh;transition:transform .25s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(0);box-shadow:4px 0 16px #0000001f}.layout.sidebar-collapsed .sidebar{visibility:visible;transform:translate(-280px)}.sidebar-toggle{z-index:101;border-left:none;border-radius:0 6px 6px 0;width:32px;height:32px;transition:left .25s;position:fixed;top:16px;left:280px;transform:none}.layout.sidebar-collapsed .sidebar-toggle{left:0}.main{padding:20px 16px}}
