:root{font-family:system-ui,sans-serif;color:#172c24;background:#f5f6f2;line-height:1.5;--line:#d9e0db;--green:#185b3b;--muted:#566b60}
*{box-sizing:border-box}body{margin:0}.container{width:min(100% - 2rem,72rem);min-width:0;margin:2rem auto}.login-card{max-width:26rem;margin:3rem auto;padding:2rem;background:white;border:1px solid var(--line);border-radius:.8rem}
h1{margin:.2rem 0;font-size:1.8rem;line-height:1.25}h2{margin:0 0 1rem;font-size:1.2rem}p{margin:.5rem 0}a{color:var(--green);text-underline-offset:.2rem}a:hover{color:#0b3721}form{display:grid;gap:.5rem}label{font-weight:600}
input,button,select,textarea{font:inherit;padding:.7rem;min-height:44px;max-width:100%;min-width:0;border-radius:.4rem;border:1px solid #82998c;background:#fff;color:inherit}select,input,textarea{width:100%}textarea{resize:vertical}button{margin-top:.5rem;color:white;background:var(--green);border:1px solid var(--green);cursor:pointer;font-weight:600}button:hover{background:#10462c}.secondary{color:var(--green);background:transparent;margin:0}.secondary:hover{background:#edf3ee}
.error{color:#9e2030;font-size:.9rem}.error:empty{display:none}:focus-visible{outline:3px solid #b78105;outline-offset:3px}.muted,.refresh-state{color:var(--muted);font-size:.9rem}.topbar{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding-bottom:1.2rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}.brand{font-size:1.15rem;font-weight:750;text-decoration:none}.brand span{font-size:.9rem;font-weight:400}.page-heading{display:flex;gap:1rem;justify-content:space-between;align-items:center;margin:1.5rem 0}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.panel{min-width:0;border:1px solid var(--line);border-radius:.7rem;background:white;padding:1.25rem}.filters{grid-template-columns:1fr 1.4fr 1fr;align-items:end;margin-bottom:1.2rem;gap:1rem}.filters>div{display:grid;gap:.4rem}.filters button{margin:0}.checkbox{display:flex;gap:.6rem;align-items:center;font-size:.9rem;min-height:44px}.checkbox input{width:20px;min-height:20px;height:20px;margin:0;flex:none}.forms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-bottom:1.5rem}.balance{display:grid;text-align:right;flex:none}.balance span{color:var(--muted);font-size:.9rem}.balance strong{font-size:1.7rem}.notice{padding:1rem;border:1px solid #7cab8c;background:#eaf5ec;border-radius:.5rem;margin-bottom:1.2rem}.section-heading{display:flex;gap:1rem;align-items:baseline;justify-content:space-between}.table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:.4rem}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f1f5f1;font-size:.8rem;color:var(--muted);font-weight:650;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcf9}.product-name{min-width:13rem;max-width:22rem;overflow-wrap:anywhere}.product-name a{font-weight:600}.product-name small{display:block;font-size:.8rem;color:var(--muted);margin-top:.3rem}.numeric{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.badge{display:inline-block;padding:.25rem .6rem;border-radius:2rem;font-size:.8rem;font-weight:650;white-space:nowrap}.badge.low{background:#fff1cb;color:#795000}.badge.out{background:#fbe4e5;color:#972638}.empty{padding:2rem;text-align:center;color:var(--muted);min-width:15rem}.comment{min-width:12rem;max-width:28rem;overflow-wrap:anywhere}.pagination{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-top:1rem;font-size:.9rem}.pagination a{display:inline-flex;align-items:center;min-height:44px}.journal table{min-width:680px}
.page-heading>div:first-child{min-width:0;max-width:100%;flex:1}.page-heading h1{overflow-wrap:anywhere}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.inventory-table{margin-top:1rem}.inventory-counted{min-width:6rem}.inventory-save-state{display:block;overflow-wrap:anywhere}.inventory-sold{color:#795000!important;background:#fff1cb;padding:.5rem;border-radius:.3rem}.inventory-add{margin-top:1.5rem;max-width:35rem}.inventory-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1.5rem}.inventory-actions>a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:639px){.inventory-table,.inventory-table tbody{display:block}.inventory-table thead{display:none}.inventory-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:2px solid var(--line)}.inventory-table td{min-width:0;max-width:none;padding:.7rem;border:0;overflow-wrap:anywhere}.inventory-table td:first-child{grid-column:1/-1}.inventory-table td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:.8rem;margin-bottom:.3rem}.inventory-table .inventory-counted{min-width:0}.inventory-table tr[hidden]{display:none}}
.admin-nav{padding:.6rem 0;border-bottom:1px solid var(--line);margin-bottom:1rem}.admin-nav a{font-size:.9rem}.mapping-choice{min-width:18rem}.mapping-warning{padding:.7rem;background:#fff1cb;color:#795000;font-size:.9rem}fieldset{min-width:0;margin:.5rem 0;border:1px solid var(--line);border-radius:.4rem;padding:.7rem}legend{font-weight:600}.users-heading{margin:2rem 0 .5rem}.user-card h2{overflow-wrap:anywhere}button:disabled{cursor:wait;opacity:.65}
@media(max-width:639px){.journal .mappings-table{min-width:0}.mappings-table,.mappings-table tbody,.mappings-table tr{display:block;width:100%}.mappings-table thead{display:none}.mappings-table td{display:block;width:100%;min-width:0;max-width:none}.mappings-table tr+tr{border-top:3px solid var(--line)}.mappings-table td:last-child{padding-bottom:1.4rem}}
.section-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.section-nav a{min-height:44px;display:inline-flex;align-items:center;font-weight:600}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.summary-grid strong{font-size:1.6rem;overflow-wrap:anywhere}.journal{margin-top:1.2rem}.date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.date-range>div{display:grid;gap:.4rem}.report-filters{grid-template-columns:1fr 2fr auto}.act-raw{tab-size:4;white-space:pre;overflow:auto;max-width:100%;padding:1rem;background:#f5f6f2;border:1px solid var(--line);font-size:.9rem}details{min-width:0;overflow-wrap:anywhere;margin:1rem 0}summary{cursor:pointer;min-height:44px}
@media(max-width:639px){.summary-grid,.date-range,.report-filters{grid-template-columns:minmax(0,1fr)}}
@media(max-width:639px){.container{margin:1rem auto}.login-card{padding:1.3rem}.brand span{display:block}.topbar{gap:.5rem}.page-heading{align-items:flex-start;flex-direction:column;gap:.6rem}h1{font-size:1.55rem}.balance{text-align:left}.balance strong{font-size:1.5rem}.filters,.forms-grid{grid-template-columns:minmax(0,1fr)}.panel{padding:1rem}.section-heading{align-items:flex-start;flex-direction:column;gap:0}.stock-panel .product-name{position:sticky;left:0;background:white;min-width:11rem;max-width:11rem}.stock-panel th:first-child{position:sticky;left:0;z-index:1}.stock-panel th,.stock-panel td{padding:.8rem}.refresh-state{margin:0}.table-scroll{min-width:0}}
.chart-panel svg{display:block;width:100%;min-width:640px;height:auto;color:var(--muted)}.chart-panel{overflow-x:auto}
