:root{--ink:#15231b;--muted:#66736a;--paper:#f7f8f4;--card:#fff;--green:#176b43;--line:#dce3db;--red:#a82e2e}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.brand,nav a,.admin-link,.link{touch-action:manipulation}header{min-height:64px;background:#fff;border-bottom:1px solid var(--line);padding:0 5%;display:flex;align-items:center;gap:24px;justify-content:space-between}.brand{font-weight:750;color:var(--ink);text-decoration:none}nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}nav a,.admin-link{color:var(--green);font-size:.92rem;text-decoration:none}.admin-link{margin-left:auto}nav form{margin:0}.link{border:0;background:transparent;color:var(--green);font:inherit;cursor:pointer;padding:0}main{max-width:1080px;margin:0 auto;padding:42px 20px 64px}.hero{max-width:690px}.eyebrow{font-size:.75rem;letter-spacing:.11em;font-weight:750;color:var(--green);margin:0 0 7px}h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.08;margin:0 0 14px}h2{font-size:1.25rem;margin:0 0 16px}.card{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin:22px 0;box-shadow:0 2px 6px #15231b08}.usage,.allocation{max-width:760px}.usage>label,.allocation>label,.narrow-form label{display:block;margin:15px 0}.line-item{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--line)}.line-item:first-child{border-top:0}.line-item label,.filters label{display:block;font-size:.88rem;font-weight:650}.line-item .balance{grid-column:1/-1;margin:0;color:var(--muted)}.allocation-group{border-top:1px solid var(--line);padding:18px 0}.allocation-group:first-child{border-top:0}.allocation-group>label{display:block;font-size:.88rem;font-weight:650}.allocation-group .line-item{margin-left:18px}input,select,textarea{margin-top:5px;width:100%;min-height:44px;border:1px solid #bdc9c0;border-radius:8px;background:#fff;padding:9px 11px;font:inherit;color:var(--ink)}textarea{min-height:88px;resize:vertical}button,.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:0;border-radius:8px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;touch-action:manipulation}.primary{background:var(--green);color:#fff;margin-top:16px}.secondary{color:var(--green);background:#e5f1e9;margin:4px 8px 4px 0}.remove-line,.danger{color:var(--red);background:#fff;border:1px solid #ebc8c8}.remove-line{position:absolute;right:0;bottom:14px;padding:5px 8px;min-height:36px;font-size:.8rem}.remove-allocation-line,.remove-allocation-group{color:var(--red);background:#fff;border:1px solid #ebc8c8;min-height:36px;padding:5px 8px;font-size:.8rem}.remove-allocation-line{align-self:end}.notice{padding:13px 15px;border-radius:9px;margin-bottom:18px}.notice.success{background:#e4f4e9;color:#135431}.notice.error{background:#fae8e8;color:#8c2525}.narrow{max-width:440px;margin:42px auto}.narrow-form{max-width:560px}.stock-form{max-width:800px}.stock-form>label{display:block;margin:15px 0}.stock-line{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,.8fr) minmax(150px,.9fr) auto;gap:12px;align-items:end;padding:16px 0;border-top:1px solid var(--line)}.stock-line:first-child{border-top:0}.stock-line label{font-size:.88rem;font-weight:650}.hint{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats div{background:#e6f0e9;border-radius:12px;padding:18px}.stats strong,.stats span{display:block}.stats strong{font-size:2rem}.stats span{font-size:.85rem;color:var(--muted)}.inline,.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline input{width:auto;flex:1;min-width:150px}.inline .toggle{display:flex;align-items:center;min-height:44px}.inline .toggle input{flex:none;min-width:0}.inline button,.filters button{margin-top:5px}.filters label{min-width:145px;flex:1}.filters .button{margin:5px 0 0}.table-wrap,.card:has(>table){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}th{color:var(--muted);font-weight:650}td input{min-width:100px;padding:7px;margin:0}.small{min-height:36px;padding:7px 9px;font-size:.8rem;margin:0}.toggle{font-size:.8rem}.toggle input{width:auto;min-height:0;margin:0 5px 0 0}@media(max-width:650px){header{padding:12px 16px;align-items:stretch;flex-direction:column;gap:8px}.brand{display:inline-flex;min-height:44px;align-items:center}main{padding:28px 16px calc(48px + env(safe-area-inset-bottom))}.admin-link{display:inline-flex;min-height:44px;align-items:center;margin-left:0}.public-nav,.admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.public-nav a,.admin-nav a,.admin-nav form{min-width:0}.public-nav a,.admin-nav a,.admin-nav .link{display:flex;min-height:44px;align-items:center;padding:8px 10px;border-radius:8px;background:#f1f6f2}.admin-nav .link{width:100%;justify-content:flex-start}.line-item,.stock-line{grid-template-columns:1fr;gap:10px;padding:18px 0}.allocation-group .line-item{margin-left:0}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats div{padding:14px}.remove-line{position:static;justify-self:start}.stock-line .remove-stock-line{justify-self:start}.inline{display:block}.inline input,.inline button{width:100%;margin:5px 0}.inline .toggle{justify-content:flex-start}.inline .toggle input{width:auto;margin-right:5px}.filters{display:block}.filters label{margin:12px 0}.filters button,.filters .button{width:100%;text-align:center;margin:6px 0 0}.card{padding:16px;margin:16px 0}.table-wrap{padding:0}.table-wrap table,.card>table{min-width:560px}table{font-size:.82rem}th,td{padding:9px 8px}}@media(max-width:360px){main{padding-left:12px;padding-right:12px}.card{padding:14px}.public-nav,.admin-nav{grid-template-columns:1fr}.stats{grid-template-columns:1fr}h1{font-size:2rem}}
