:root{--espresso:#2f2116;--coffee:#4a3324;--latte:#f7efe3;--cream:#fffaf1;--sand:#e8d8bd;--gold:#c6975b;--caramel:#af743f;--sage:#7d8d70;--danger:#b94f3c;--warning:#c27a28;--success:#4f7c55;--text:#2c231c;--muted:#786a5d;--line:#4a332426;--shadow:0 24px 70px #2f211624}*{box-sizing:border-box}[v-cloak]{display:none}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#c6975b3d,#0000 32rem),linear-gradient(135deg,#fffaf1 0%,#f3e7d3 48%,#e8d3b0 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.ambient{filter:blur(12px);opacity:.55;border-radius:999px;position:absolute}.ambient-one{background:#d0a36b;width:340px;height:340px;top:-120px;left:-80px}.ambient-two{background:#7d8d70;width:260px;height:260px;bottom:70px;right:-80px}.login-card{width:min(480px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf1e0;border:1px solid #4a332424;border-radius:34px;padding:38px;position:relative}.login-logo{width:270px;max-width:100%;margin-bottom:18px;display:block}.eyebrow{color:var(--caramel);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:800}h1,h2{color:var(--espresso);margin:0;line-height:1.04}h1{letter-spacing:-.05em;font-size:clamp(2rem,4vw,3.5rem)}h2{letter-spacing:-.03em;font-size:1.35rem}.muted{color:var(--muted);line-height:1.6}.login-form{gap:16px;margin-top:28px;display:grid}label{color:var(--coffee);gap:8px;font-size:.92rem;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--espresso);background:#ffffffb8;border-radius:16px;outline:none;padding:13px 15px;transition:border-color .2s,box-shadow .2s,background .2s}input:focus,select:focus,textarea:focus{background:#fff;border-color:#af743f99;box-shadow:0 0 0 4px #c6975b29}textarea{resize:vertical;min-height:100px}.primary-btn,.secondary-btn,.ghost-btn,.file-btn,.mini-btn,.icon-btn{border:0;border-radius:16px;padding:12px 16px;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s}.primary-btn{background:var(--espresso);color:var(--cream);box-shadow:0 14px 30px #2f211638}.secondary-btn{color:var(--espresso);border:1px solid var(--line);background:#fff}.ghost-btn{color:var(--coffee);background:#4a332414}.file-btn{color:var(--espresso);border:1px solid var(--line);background:#fff;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,.file-btn:hover,.mini-btn:hover,.icon-btn:hover{transform:translateY(-1px)}.full{width:100%}.error-message{color:var(--danger);margin:0;font-weight:800}.login-note{color:var(--coffee);background:#c6975b26;border-radius:18px;justify-content:space-between;gap:12px;margin-top:22px;padding:14px 16px;display:flex}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{height:100vh;color:var(--cream);background:#2f2116f5;flex-direction:column;padding:24px;display:flex;position:sticky;top:0}.side-brand{border-bottom:1px solid #fffaf124;align-items:center;gap:12px;padding-bottom:24px;display:flex}.side-brand img{background:var(--cream);border-radius:14px;width:92px;height:auto;padding:6px}.side-brand div{gap:3px;display:grid}.side-brand strong{font-size:1.05rem}.side-brand span,.side-footer span{color:#fffaf1b8;font-size:.86rem}.sidebar nav{gap:8px;margin-top:28px;display:grid}.sidebar nav a{color:#fffaf1b8;border-radius:16px;padding:13px 14px;font-weight:800;text-decoration:none}.sidebar nav a.active,.sidebar nav a:hover{color:var(--cream);background:#fffaf11f}.side-footer{gap:12px;margin-top:auto;display:grid}.side-footer .ghost-btn{color:var(--cream);background:#fffaf11f}.main-content{width:100%;max-width:1500px;padding:32px}.topbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.topbar-actions,.backup-actions,.filters,.drawer-actions{flex-wrap:wrap;gap:12px;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.stat-card,.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf1cc;border:1px solid #4a332421;border-radius:28px;box-shadow:0 16px 38px #2f211614}.stat-card{gap:8px;padding:22px;display:grid}.stat-card span{color:var(--muted);font-weight:800}.stat-card strong{color:var(--espresso);font-size:2.25rem;line-height:1}.stat-card small{color:var(--muted)}.stat-card.warn{background:#fff2dce0}.stat-card.accent{background:#e9d7bbe0}.stat-card.danger{background:#ffe9e2e0}.panel{margin-bottom:18px;padding:24px}.alert-panel{justify-content:space-between;align-items:center;gap:18px;display:flex}.chip-list{flex-wrap:wrap;gap:10px;display:flex}.chip,.category-pill,.status-badge{border-radius:999px;align-items:center;padding:7px 10px;font-size:.82rem;font-weight:900;display:inline-flex}.danger-chip{color:var(--danger);background:#b94f3c1f}.category-pill{color:var(--coffee);background:#c6975b24}.status-badge.ok{color:var(--success);background:#4f7c5521}.status-badge.low{color:var(--danger);background:#b94f3c21}.status-badge.expiring{color:var(--warning);background:#c27a2829}.panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.panel-heading.compact{margin-bottom:14px}.filters input{min-width:280px}.filters select{min-width:170px}.table-wrap{border:1px solid var(--line);background:#ffffff75;border-radius:20px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 16px}th{color:var(--coffee);text-transform:uppercase;letter-spacing:.08em;background:#e8d8bd73;font-size:.78rem}td strong{color:var(--espresso);display:block}td small{color:var(--muted)}.stock-cell{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.stock-cell button,.icon-btn{width:30px;height:30px;color:var(--coffee);background:#4a332417;border-radius:10px;place-items:center;padding:0;display:inline-grid}.action-cell{gap:8px;display:flex}.mini-btn{color:var(--coffee);background:#4a332414;border-radius:12px;padding:8px 10px}.danger-btn{color:var(--danger);background:#b94f3c17}.empty-cell{text-align:center;color:var(--muted);padding:34px}.grid-two{grid-template-columns:1fr 1fr;gap:18px;display:grid}.inline-form{gap:10px;margin-bottom:16px;display:flex}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.category-card{border:1px solid var(--line);background:#ffffff7a;border-radius:18px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px;display:grid}.category-card span{font-weight:900}.category-card strong{color:var(--caramel)}.category-card button{color:var(--danger);background:0 0;border:0;font-size:1.1rem;font-weight:900}.drawer-backdrop{z-index:20;background:#2f21166b;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--cream);width:min(520px,100%);min-height:100vh;padding:26px;overflow-y:auto;box-shadow:-20px 0 50px #2f211633}.drawer-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.item-form{gap:15px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.drawer-actions{justify-content:flex-end;margin-top:6px}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:16px;height:auto;position:static;overflow-x:auto}.side-brand{border-bottom:0;min-width:230px;padding-bottom:0}.sidebar nav{margin-top:0;display:flex}.side-footer{min-width:120px;margin:0 0 0 auto}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.panel-heading,.alert-panel{flex-direction:column;align-items:stretch}}@media (width<=720px){.login-card,.main-content,.panel,.main-content{padding:18px}.stats-grid,.grid-two,.category-grid,.form-row{grid-template-columns:1fr}.topbar-actions,.filters,.backup-actions,.inline-form{flex-direction:column}.filters input,.filters select{min-width:100%}.sidebar{padding:16px}.side-brand img{width:74px}}
