:root{--pine:#203d32;--gold:#906f38;--line:#d9d6ca;--paper:#fffefa;--muted:#595e52;color:#263329;background:#f6f4eb;font:16px/1.45 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main,header .bar{max-width:1160px;margin:auto;padding:18px clamp(12px,3vw,32px)}header{background:var(--pine);color:white}header a{color:white}header .bar{display:flex;justify-content:space-between;align-items:center;gap:14px}h1,h2,h3,p{margin:0 0 .6em}h1,h2{font-family:Georgia,serif;font-weight:500;color:var(--pine)}h1{font-size:clamp(30px,4vw,48px);line-height:1.1}.kicker{color:var(--gold);font-size:.78rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.card,fieldset{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}fieldset{min-width:0}legend{font-weight:750;color:var(--pine);padding:0 5px}.grid,.actions,.checks{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.grid>label{flex:1 1 170px}.qty{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}label{display:block;font-size:.9rem;font-weight:650}input,select,textarea,button,.button{font:inherit;color:inherit;border:1px solid #abb3a6;border-radius:7px;padding:9px 11px;background:white}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:4px;min-height:41px}textarea{resize:vertical}input[type=checkbox]{width:18px;height:18px;vertical-align:middle}button,.button{font-weight:650;cursor:pointer;text-decoration:none;min-height:42px;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--pine);color:white;border-color:var(--pine)}button:disabled{opacity:.55;cursor:wait}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}th,td{padding:9px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#e9ede4;color:var(--pine)}.stats{display:flex;gap:15px;flex-wrap:wrap}.stats span{border-left:3px solid var(--gold);padding-left:8px}.note,small{color:var(--muted)}.alert:not(:empty){background:#fff2d8;border:1px solid #c59241;padding:12px;border-radius:8px;margin:10px 0}.sg{border-left:4px solid #79502b;padding-left:8px}.variation{padding:12px;background:#f3f2e9;border-radius:8px;margin:8px 0}.variation .grid{margin-bottom:8px}[hidden]{display:none!important}a{color:var(--pine)}.receipt{background:#e8eee3;padding:25px;border:2px solid var(--pine);border-radius:12px}details summary{cursor:pointer;font-weight:700;margin:4px 0}.muted{font-size:.88rem;color:var(--muted)}.filters{margin:12px 0}#headline{padding-top:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media(max-width:650px){.grid>label{flex:1 1 125px}.actions>*{flex:1 1 auto}main{padding:12px}.card,fieldset{padding:11px}th,td{padding:6px}}

#order-dialog {
    width: min(960px, calc(100% - 24px));
    max-height: 92vh;
    max-height: 92dvh;
    padding: 0;
    color: inherit;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--paper);
    overflow-y: auto;
}
#order-dialog::backdrop { background: rgb(15 30 22 / 55%); }
#order-dialog .card { margin: 0; border: 0; }
.step-progress { color: var(--pine); font-weight: 700; padding: 10px 0; }
.order-summary { overflow-wrap: anywhere; padding: 16px; background: #edf1e8; border-radius: 8px; }
.order-actions { position: sticky; bottom: 0; padding: 12px 0; background: var(--paper); border-top: 1px solid var(--line); z-index: 1; }
.order-actions button { min-height: 46px; }
.order-step { min-width: 0; }
form[aria-busy=true] .order-step { pointer-events: none; }
@media (max-width: 650px) {
    #order-dialog h2 { font-size: 1.4rem; }
    .qty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .order-actions button { flex: 1 1 120px; }
    .step-progress { font-size: .9rem; }
}

.receipt{overflow-wrap:anywhere}.receipt .actions{margin-top:20px}
@media print{body{background:white}header,#headline,main>details,#notice,main>.muted,.receipt .actions{display:none!important}main{max-width:none;padding:0}.receipt{border:0;background:white;padding:0;font-size:11pt}.receipt h2{font-size:20pt}.receipt p{break-inside:avoid}button{display:none!important}}

.settings-day{flex:1 1 230px}.settings-day>label{margin:10px 0}
