*{box-sizing:border-box}body{margin:0;background:#f4f3ef;color:#182a3d;font:16px/1.5 system-ui,sans-serif}header{background:#182a3d;color:white;padding:22px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px}header a{color:white;text-decoration:none}header strong{letter-spacing:2px}nav{display:flex;gap:24px;padding:16px 5vw;background:white;overflow:auto;border-bottom:1px solid #ddd}nav a{color:#334a5b;text-decoration:none;white-space:nowrap}main{max-width:1200px;margin:32px auto;padding:0 24px}h1{font-size:32px;margin:0 0 8px}h2{font-size:22px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:13px;color:#6c7a7d}.muted{color:#657378}.card{display:block;background:white;border:1px solid #dddcd4;border-radius:12px;padding:24px;margin:18px 0;text-decoration:none;color:inherit}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.grid .card{margin:0}.number{font-size:36px;font-weight:650}.top{display:flex;justify-content:space-between;gap:16px;align-items:center}button,.button{display:inline-block;background:#d36d46;color:white;border:0;border-radius:7px;padding:12px 18px;font:inherit;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#b9512a}header button{padding:7px 12px;background:#34485b}input,select,textarea{font:inherit;max-width:100%;padding:10px;border:1px solid #b8c0c2;border-radius:6px;background:white}label{display:block;margin:6px 0}form p{margin:18px 0}.table{overflow:auto}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:14px;border-bottom:1px solid #ddd;white-space:nowrap}th{font-size:14px;color:#586a73}.notice{background:#fff0d9;border-left:4px solid #d36d46;padding:14px}.errorlist{color:#ad3128}.login{max-width:440px;margin-top:10vh;background:white;padding:36px;border-radius:12px}.login input{width:100%}.tag{font-size:13px;background:#e6ece8;border-radius:5px;padding:4px 8px}.actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:600px){header{padding:16px}main{padding:0 16px}nav{gap:18px;padding:14px 16px}.top{align-items:flex-start;flex-direction:column}h1{font-size:28px}}

.table-wrap{overflow:auto;margin:20px 0}.table-wrap input[type=number]{width:100px}button{margin:4px}section{background:white;padding:20px;margin:20px 0;border-radius:12px}

@media(max-width:600px){
.mobile-cards,.mobile-cards tbody{display:block;background:transparent}
.mobile-cards thead,.mobile-cards tr:has(th){display:none}
.mobile-cards tr{display:block;margin:0 0 16px;padding:12px;background:white;border:1px solid #d9dcd9;border-radius:10px}
.mobile-cards td{display:grid;grid-template-columns:minmax(100px,38%) minmax(0,1fr);gap:12px;align-items:center;white-space:normal;overflow-wrap:anywhere;padding:9px 4px;border:0}
.mobile-cards td:before{content:attr(data-label);font-size:13px;font-weight:600;color:#657378}
.mobile-cards td[colspan]{display:block}.mobile-cards td[colspan]:before{content:none}
.mobile-cards td form{grid-column:2;margin:0}.mobile-cards input[type=number]{width:100%;min-height:44px}
.mobile-cards a{display:inline-block;padding:9px 0}.mobile-cards button{margin:4px 0;width:100%;min-height:44px}
.mobile-save{position:sticky;bottom:0;background:#f4f3ef;padding:12px 0 calc(12px + env(safe-area-inset-bottom));border-top:1px solid #ddd}.mobile-save button{width:100%;margin:0}
.card .table-wrap{margin:12px -8px}.card:has(.mobile-cards){padding:18px}.grid .number{font-size:28px}
}

.category-section{padding:0;background:transparent;margin:28px 0}.category-section h2{padding:12px 0;border-bottom:2px solid #d9dcd9}.category-section h2 small{font-size:15px;color:#657378;font-weight:400}
/* Compact touch layout: less scrolling without shrinking tap targets. */
@media(max-width:600px){
main{margin:18px auto;padding:0 12px}h1{font-size:25px}h2{font-size:20px}
header{padding:12px 16px}nav{padding:10px 12px;gap:16px}
.category-section{margin:18px 0}.category-section h2{padding:7px 0;margin:0 0 8px}
.category-section .table-wrap{margin:8px 0}.mobile-cards tr{padding:8px 12px;margin-bottom:8px}
.mobile-cards td{padding:4px 0;gap:8px;grid-template-columns:100px minmax(0,1fr)}
.mobile-cards td[data-label="Product"]{display:block;font-weight:600;padding-bottom:6px;font-size:16px}
.mobile-cards td[data-label="Product"]:before{display:none}
.mobile-cards td[data-label="Unit"],.mobile-cards td[data-label="Weekly limit"]{display:inline-flex;width:auto;gap:6px;font-size:13px;margin-right:12px;padding:1px 0}
.mobile-cards td[data-label="Unit"]:before,.mobile-cards td[data-label="Weekly limit"]:before{font-size:12px;font-weight:400}
.mobile-cards td[data-label="Quantity"]{padding-top:8px}
.mobile-cards input[type=number]{height:46px;min-height:46px;padding:8px 12px;font-size:18px}
.mobile-cards a{min-height:44px}.mobile-cards button{min-height:44px}
.card{padding:16px;margin:12px 0}.grid{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.grid .card{padding:10px;font-size:12px}.grid .number{font-size:26px}
form p{margin:12px 0}.mobile-save{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
}
