[hidden]{display:none!important}
button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:3px;background:#fff;padding:10px 14px;color:var(--teal-dark);min-height:44px}button:hover{background:var(--teal-light)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #C4956A;outline-offset:2px}
body{font-size:19px}h1,h2,h3{font-weight:400;color:var(--teal-dark)}h1{font-size:34px}h2{font-size:27px}h3{font-size:23px}p{margin:10px 0;line-height:1.4}a{color:var(--teal-dark)}
#sidebar{display:block;padding-bottom:20px}#main{padding-bottom:50px}.brand{color:white;letter-spacing:2px;font-size:20px}.tb-user{font-size:16px}.tb-title{font-size:21px}.tb-logout{min-height:44px}.login-logo img{height:116px;max-width:100%}.login-box label{text-align:left;font-size:17px}.login-box input{font-size:20px}.login-sub{font-size:19px}#menu-button{display:none;color:#fff;background:transparent;border-color:#6b8a88}
.nav-item{display:block;width:100%;text-align:left;padding:13px 16px;font-size:21px;text-decoration:none;border:0;border-left:3px solid transparent;border-radius:0;background:transparent}.nav-item.active{border-left-color:var(--teal);background:var(--teal-light)}.sb-actions{display:grid;gap:10px;padding:15px}.period-box input{width:100%}
label{display:block;margin-bottom:5px;color:var(--text-mid);font-size:18px}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:3px;background:white;color:var(--text);padding:10px 12px;font-size:20px;min-height:46px}textarea{min-height:80px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.toolbar input{width:auto;flex:1;min-width:180px}.toolbar button{flex-shrink:0}
.panel{background:white;border:1px solid var(--border);padding:20px;margin:16px 0;border-radius:4px}.note{padding:12px 16px;border-left:3px solid var(--gold);background:#fff8ec;color:#6b4b25}.error{background:#fff0f0;border-left:3px solid var(--red);padding:12px;color:#8b3333}.success{background:#e2f3e9;padding:12px;color:#235439}#status:empty{display:none}#status{margin-bottom:18px}
.kpi-grid{margin-top:18px;grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.kpi-lbl{font-size:16px;letter-spacing:1px}.kpi-val{font-size:30px}.kpi-sub{font-size:17px}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--border);border-radius:4px}table{width:100%;border-collapse:collapse;font-size:19px}th{background:var(--teal-dark);color:white;text-align:left;font-weight:400;padding:12px;white-space:nowrap}td{padding:12px;border-bottom:1px solid #e5efee;max-width:360px;overflow-wrap:anywhere}tbody tr:hover{background:var(--teal-light)}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--text-mid)}.empty{padding:30px;text-align:center}.actions{display:flex;gap:8px}.danger{color:#9b3333;background:#fff0f0}
dialog{border:1px solid var(--border);border-radius:4px;width:720px;max-width:96vw;max-height:92dvh;overflow:auto;margin:auto;background:var(--bg);color:var(--text)}dialog::backdrop{background:#0008}.modal-body{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field.wide,.ingredients{grid-column:1/-1}.modal-ft{justify-content:flex-end}.btn-primary{font-size:19px;color:white;min-height:44px}.btn-primary:hover{color:white}#form-error{padding:0 22px;color:#963434}.ingredient{border:1px solid var(--border);padding:12px;margin:10px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;background:white}.ingredient input{min-width:0}.ingredient label{font-size:16px}.checks{display:flex;gap:14px;flex-wrap:wrap}.checks label{display:flex;gap:7px;align-items:center}.checks input{width:22px;min-height:22px}details{margin:14px 0}summary{cursor:pointer;color:var(--teal-dark)}
@media(max-width:760px){:root{--hh:64px;--sw:244px}#menu-button{display:block;font-size:16px;padding:6px}#topbar{gap:8px;padding:0 10px}.brand{display:none}.tb-user{display:none}.tb-title{font-size:23px}.tb-logout{font-size:16px;padding:6px 8px}#sidebar{transform:translateX(-100%);z-index:90;box-shadow:4px 0 16px #0002}#sidebar.open{transform:translateX(0)}#main{margin-left:0;padding:20px 14px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi-card{padding:14px 12px}.kpi-val{font-size:25px}.kpi-lbl{font-size:14px}h1{font-size:30px}.modal-body{grid-template-columns:1fr}.field.wide,.ingredients{grid-column:1}table{font-size:18px}td,th{padding:10px}.login-box{padding:32px 25px}.login-box input{font-size:20px}.toolbar input{width:100%}}
