html,body,#root{height:100%}:root{--paper:#f1ede2;--card:#fffcf4;--ink:#17221d;--ink-faint:#526159;--rule:#d2c7ae;--pine:#214d3b;--pine-dark:#153a2c;--brass:#8f4619;--orange:#d66f2c;--shadow:0 20px 60px #153a2c1f}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);background-image:linear-gradient(#214d3b09 1px,#0000 1px),linear-gradient(90deg,#214d3b09 1px,#0000 1px);background-size:40px 40px;margin:0;font-family:Archivo,Arial,sans-serif}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:color-mix(in srgb, var(--card) 94%, transparent);border-bottom:1px solid var(--rule);z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:.85rem 2rem;display:grid;position:sticky;top:0}.app-brand{min-width:0}.brand-lockup{letter-spacing:-.045em;align-items:center;gap:.65rem;font-family:Archivo,Arial,sans-serif;font-size:1.25rem;font-weight:700;display:inline-flex}.brand-accent{color:var(--orange)}.logo-mark{flex:none;width:2.25rem;height:2.25rem}.brand-lockup-compact .logo-mark{width:2rem;height:2rem}.auth-logo{margin:0 0 1.5rem}.auth-logo .brand-lockup{font-size:1.75rem}.auth-logo .logo-mark{width:3rem;height:3rem}.app-header nav{flex-wrap:nowrap;justify-content:center;gap:.5rem;min-width:0;display:flex}.app-header nav button{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;min-height:40px;padding:.55rem .9rem;font-weight:600}.app-header nav button.active{border-color:color-mix(in srgb, var(--pine) 25%, transparent);background:color-mix(in srgb, var(--pine) 9%, var(--card));color:var(--pine-dark)}.user-info{justify-self:end;align-items:center;gap:.75rem;display:flex}.app-shell>main{flex:1}.app-footer{border-top:1px solid var(--rule);background:var(--card);color:var(--ink-faint);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 2rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;display:flex}.app-footer a{color:var(--pine);text-underline-offset:.25rem;font-weight:600}.screen{max-width:960px;margin:0 auto;padding:2.5rem 2rem 4rem}.screen-narrow{background:var(--card);border-inline:1px solid var(--rule);max-width:430px;min-height:100vh;box-shadow:var(--shadow);flex-direction:column;justify-content:center;padding-inline:2.5rem;display:flex}@media (width<=760px){.screen{padding:1rem}.app-header{grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;padding:.75rem 1rem 0}.app-header nav{border-top:1px solid var(--rule);grid-area:2/1/auto/-1;grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;width:100%;display:grid}.app-header nav button{white-space:nowrap;border-radius:0;min-width:0;min-height:48px;padding:.6rem .25rem;font-size:.82rem}.app-header nav button.active{border:0;border-bottom:3px solid var(--orange);background:0 0}.user-info{gap:.5rem}.user-info>span{text-overflow:ellipsis;white-space:nowrap;max-width:5.5rem;font-size:.85rem;overflow:hidden}.user-info button{min-height:40px;padding-inline:.75rem;font-size:.82rem}.app-footer{padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start}.stat-row{flex-wrap:wrap}.stat-card{flex:calc(50% - .5rem);min-width:0}}@media (width<=380px){.brand-lockup{font-size:1.05rem}.brand-lockup-compact .logo-mark{width:1.75rem;height:1.75rem}.user-info>span{display:none}}form{flex-direction:column;gap:.75rem;display:flex}.inline-form{flex-flow:wrap;align-items:center;margin-bottom:1.5rem}label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}input,select,button{border:1px solid var(--rule);border-radius:10px;min-height:44px;padding:.65rem .9rem;font-size:.95rem}button{background:var(--pine);color:var(--card);cursor:pointer;border:none;font-weight:600;transition:background-color .16s,border-color .16s,box-shadow .16s}button:hover{background:var(--pine-dark);box-shadow:0 6px 18px #153a2c24}button:disabled{background:var(--rule);color:var(--ink-faint);cursor:not-allowed}.link-button{min-height:auto}table{border-collapse:collapse;background:var(--card);border:1px solid var(--rule);width:100%}th,td{text-align:left;border-bottom:1px solid var(--rule);padding:.8rem}.mono{font-family:Courier New,monospace}.error{color:#a33}.notice{color:var(--brass)}.pending-row{opacity:.7;font-style:italic}.subtitle{color:var(--ink-faint)}.link-button{color:var(--pine);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.stat-row{gap:1rem;margin-bottom:2rem;display:flex}.stat-card{background:var(--card);border:1px solid var(--rule);border-radius:14px;flex-direction:column;gap:.25rem;min-width:140px;padding:1.25rem 1.5rem;display:flex}.stat-label{color:var(--ink-faint);font-size:.85rem}.stat-value{font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:700}.low-stock-row{color:#a33}.bar-chart{background:var(--card);border:1px solid var(--rule);border-radius:14px;align-items:flex-end;gap:.5rem;height:160px;margin-bottom:2rem;padding:.5rem;display:flex;overflow-x:auto}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:32px;height:100%;display:flex}.bar{background:var(--pine);border-radius:6px 6px 0 0;width:100%;min-height:2px}h1,h2,h3{color:var(--ink)}h1,h2{letter-spacing:-.025em;font-family:Fraunces,Georgia,serif}input:focus,select:focus{outline:3px solid color-mix(in srgb, var(--orange) 35%, transparent);border-color:var(--orange)}::selection{background:var(--pine);color:var(--card)}.bar-label{color:var(--ink-faint);white-space:nowrap;margin-top:.25rem;font-size:.7rem}
