*{box-sizing:border-box}body{margin:0;font:18px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f4f1ea;color:#222;padding-bottom:40px}
button{font:inherit;cursor:pointer}
.demo{position:fixed;top:6px;right:6px;background:#333;color:#fff;font-size:12px;padding:3px 9px;border-radius:20px;z-index:20;opacity:.85}
header{background:#2f5d3a;color:#fff;padding:18px 12px 0}.top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:8px}
h1{margin:0;font-size:28px;flex:1}.wk{font-size:18px}.wk select{font-size:20px;padding:6px 10px;border-radius:10px;margin-left:6px}
.sub{margin:4px 0 12px;opacity:.9;font-size:16px}
nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}nav button{flex:1 0 auto;font-size:17px;padding:12px 14px;border:0;border-radius:12px 12px 0 0;background:#4b7a55;color:#fff;white-space:nowrap}
nav button.on{background:#f4f1ea;color:#2f5d3a;font-weight:700}
.daytabs{display:flex;gap:6px;overflow-x:auto;margin:14px 0 4px}.daytabs button{flex:1 0 auto;padding:12px 14px;border-radius:12px;border:2px solid #2f5d3a;background:#fff;color:#2f5d3a;font-size:17px}
.daytabs button.on{background:#2f5d3a;color:#fff;font-weight:700}.daytabs .dot{color:#c62828}
main,.actions{max-width:1150px;margin:0 auto;padding:0 12px}
.grid{display:grid;gap:14px;grid-template-columns:1fr;margin-top:12px}@media(min-width:760px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 8px #0001;margin-top:14px}.grid .card{margin:0}
h2{margin:0 0 10px;font-size:22px}h3{margin:14px 0 6px;font-size:19px}
.tag{display:inline-block;font-size:14px;font-weight:700;padding:3px 11px;border-radius:20px;margin:0 6px 8px 0}
.Kött{background:#fde2d6}.Fisk{background:#d9e8f7}.Vegetariskt{background:#dcefd6}.pop{background:#ffd54f}.fast{background:#e0e0e0}
.dish{font-size:21px;font-weight:600;margin:4px 0 8px;cursor:pointer}.dish small{display:block;font-size:14px;color:#2f5d3a;font-weight:400;margin-top:3px}
.opts{display:grid;gap:8px;margin:10px 0}.opt{text-align:left;font-size:17px;padding:13px;border:2px solid #ddd;border-radius:12px;background:#fafafa}
.opt.on{border-color:#2f5d3a;background:#e8f2ea;font-weight:600}.opt b{color:#2f5d3a}
.lbl{font-size:14px;color:#666;margin:10px 0 4px;text-transform:uppercase;letter-spacing:.03em}.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:16px;padding:10px 15px;border-radius:30px;border:2px solid #ccc;background:#fff}.chip.on{background:#2f5d3a;color:#fff;border-color:#2f5d3a}
input[type=text],textarea{width:100%;font-size:18px;padding:12px;border:2px solid #ccc;border-radius:12px;font-family:inherit}
.warn{background:#c62828;color:#fff;font-weight:700;padding:13px;border-radius:12px;margin-top:10px}
.note{background:#ffe9b0;color:#6a4b00;padding:11px;border-radius:12px;margin-top:10px}
.info{font-size:14px;color:#555;margin-top:8px}
.map{display:grid;gap:8px;grid-template-columns:1fr}@media(min-width:760px){.map{grid-template-columns:repeat(4,1fr)}}
.map div{border-radius:12px;padding:10px;font-size:16px}.map b{display:block;font-size:13px;text-transform:uppercase;color:#444}
.c0{background:#e2efda}.c1{background:#fff7d1}.c2{background:#ddebf7}.c3{background:#fce4d6}
.blk{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:10px;margin:6px 0}.blk pre{flex:1;margin:0;white-space:pre-wrap;font:inherit}
.cp{padding:10px 14px;border-radius:10px;border:2px solid #2f5d3a;background:#fff;color:#2f5d3a;font-weight:700;font-size:15px}
.tblw{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:15px}td,th{border-bottom:1px solid #e3e3e3;padding:8px 6px;text-align:left;vertical-align:top}th{background:#f3f3f3;position:sticky;top:0}
td.n{text-align:right;white-space:nowrap}tr.hus td{background:#fff3c4}tr.hus td:first-child{border-left:4px solid #f0a500}.done td{opacity:.45;text-decoration:line-through}
td input[type=checkbox]{width:26px;height:26px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.big{flex:1;min-width:200px;font-size:20px;padding:18px;border-radius:16px;border:0;font-weight:700}
.sec{background:#fff;border:3px solid #2f5d3a!important;color:#2f5d3a}.lock{background:#2f5d3a;color:#fff}
.lockbar{background:#37474f;color:#fff;text-align:center;padding:10px;font-weight:600}.lockbar button{margin-left:10px;padding:6px 12px;border-radius:8px;border:0}
body.locked .edit{pointer-events:none;opacity:.6}body.locked #lock{display:none}
.modal{position:fixed;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;z-index:30;padding:10px}.modal[hidden]{display:none}
.sheet{background:#fff;border-radius:14px;padding:22px;max-width:480px}.row{display:flex;gap:10px;flex-wrap:wrap}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#2f5d3a;color:#fff;padding:12px 22px;border-radius:30px;z-index:40}
.a4{background:#fff;aspect-ratio:297/210;padding:18px;box-shadow:0 2px 10px #0003;margin-top:14px;overflow:auto}
.kb{display:grid;grid-template-columns:90px repeat(4,1fr);border:2px solid #333;height:calc(100% - 40px);grid-auto-rows:auto}
.kb div{border:1px solid #333;padding:7px;font-size:14px}.kb .h{font-weight:700;background:#eee}.kb .d{font-weight:700}
.kb .x{display:block;font-size:12px;font-style:italic;margin-top:4px}
@media(max-width:600px){.kb{grid-template-columns:52px repeat(4,1fr)}.kb div{font-size:10px;padding:3px}.a4{aspect-ratio:auto}h1{font-size:24px}}
.seg{display:flex;gap:0;border:2px solid #2f5d3a;border-radius:12px;overflow:hidden;margin-top:6px}.seg button{flex:1;padding:10px 4px;border:0;background:#fff;color:#2f5d3a;font-size:15px}.seg button.on{background:#2f5d3a;color:#fff;font-weight:700}
@media print{@page{size:A4 landscape;margin:8mm}body{background:#fff;padding:0}.noprint,.daytabs,.card:not(.printme){display:none!important}main{max-width:none;padding:0}
.a4{box-shadow:none;margin:0;padding:0;aspect-ratio:auto;height:190mm;overflow:visible}.kb div{font-size:12pt}.kb{height:180mm}}
@media(max-width:600px){.tblw th:nth-child(2),.tblw td:nth-child(2),.tblw th:nth-child(6),.tblw td:nth-child(6){display:none}.tblw td .info{display:none}table{font-size:14px}td,th{padding:7px 4px}}
