
:root{font-family:var(--font-sans,Arial,sans-serif);color:var(--foreground,#ecebe5);--gold:#c5a77b;--radius:12px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button,input,select,textarea{border:1px solid var(--border,#494841);border-radius:9px;background:var(--card,#24251f);color:inherit;padding:12px;min-height:44px}input,select,textarea{width:100%;min-width:0}label{display:block;font-size:13px}label input,label select,label textarea{margin-top:7px}header{padding:12px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border,#444);gap:10px}header strong{font-size:16px}header small,.muted{color:var(--muted-foreground,#aaa)}h1{font:400 35px Georgia,serif;margin:24px 0 8px}h2{font-size:20px;font-weight:500;margin:0 0 18px}p{line-height:1.55}.draft{margin:14px 0;padding:11px 14px;border-left:3px solid var(--gold);background:var(--secondary,#2b2c25);font-size:12px;line-height:1.5}.switch,.tabs,.steps{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.switch button{font-size:13px}.active,button[aria-pressed=true],.primary{background:var(--gold);color:#171a15;border-color:var(--gold)}.steps{gap:18px;font-size:13px;list-style:none;padding:0}.steps li{color:var(--muted-foreground,#999);padding:8px 0}.steps li[aria-current=step]{color:var(--gold);border-bottom:2px solid var(--gold)}.panel{padding:20px;background:var(--card,#24251f);border-radius:var(--radius);margin:14px 0}.controls{display:grid;grid-template-columns:1fr 1fr;gap:15px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.chips button{padding:8px 13px;font-size:14px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.legend{font-size:12px;color:var(--muted-foreground,#aaa);margin:12px 0}.map-wrap{overflow:auto;border:1px solid var(--border,#555);border-radius:12px;background:var(--secondary,#2c3028)}.map{position:relative;height:430px;min-width:0;overflow:auto}.map-inner{position:relative;width:100%;height:100%}.map-inner svg{position:absolute;inset:0;width:100%;height:100%}[data-plan-table]{cursor:pointer}[data-plan-table]:focus{outline:none}[data-plan-table]:focus .plan-highlight{opacity:1}[data-plan-table][aria-disabled=true]{cursor:default;opacity:.45}[data-plan-table][aria-pressed=true] .plan-highlight{opacity:1}.zoom{display:flex;gap:8px;align-items:center;margin:10px 0}.zoom button{min-width:44px;padding:8px}.map-note{font-size:12px;color:var(--muted-foreground,#aaa)}.map.vip{min-width:340px;height:220px}.map svg{position:absolute;inset:0;width:100%;height:100%}.table{position:absolute;transform:translate(-50%,-50%);min-width:48px;min-height:48px;padding:7px;line-height:1.2;background:var(--card,#24251f);border:2px solid var(--gold);font-size:14px;z-index:1}.table small{display:block;font-size:10px;margin-top:4px}.table[aria-pressed=true]{box-shadow:0 0 0 3px var(--background,#111),0 0 0 5px var(--gold)}.table:disabled{border-style:dashed;color:var(--muted-foreground,#aaa)}.list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.list button{text-align:left;line-height:1.5}.list small{display:block;font-size:12px}.picked{padding:14px 0;font-size:14px;min-height:46px}.primary{font-weight:600;min-width:160px}.bottom{display:flex;justify-content:space-between;gap:10px;margin:18px 0 4px}.back{border-color:transparent;background:transparent}.summary{font-size:15px;line-height:1.7;border-bottom:1px solid var(--border,#444);padding-bottom:16px;margin-bottom:20px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;margin:18px 0}.consent input{width:19px;min-height:19px;margin:0;flex-shrink:0}.bubble{white-space:pre-line;line-height:1.7;background:var(--secondary,#292e30);border-radius:12px;padding:18px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.status{font-size:14px;color:var(--gold);line-height:1.5}.record{padding:14px 0;border-bottom:1px solid var(--border,#444)}.record button{font-size:12px;min-height:36px;padding:8px}.hint{font-size:12px;color:var(--muted-foreground,#aaa);line-height:1.6}.view-toggle button{min-height:36px;padding:7px 10px;font-size:12px}footer{font-size:12px;color:var(--muted-foreground,#aaa);line-height:1.6;margin:20px 0}[hidden]{display:none!important}@media(max-width:480px){h1{font-size:29px}.panel{padding:15px}.controls{gap:10px}.list{grid-template-columns:1fr 1fr}.tabs button{font-size:12px;padding:10px}.steps{gap:12px;font-size:12px}header strong{font-size:14px}.row{align-items:flex-start}.bottom .primary{min-width:0}.switch button{padding:9px;font-size:12px}}

html{background:#000}body{max-width:1060px;margin:auto;padding:20px}.honeypot{position:absolute;left:-10000px;visibility:hidden}a{color:inherit}.error{color:#f0b3a6}.success{color:#b5d0a4}.admin-form{display:grid;gap:12px}.admin-form label{min-width:0}.record-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.record-actions button{font-size:12px;padding:7px}.record p{margin:5px 0}.admin-notice{padding:12px;border-left:3px solid #c5a77b}.admin-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.admin-controls label{flex:1}
html,body{background:#000}

/* Keep the drawing box proportional to the full restaurant plan. */
body{max-width:1280px;padding:12px}h1{margin-top:14px}.panel{padding:12px}.map{height:auto;aspect-ratio:2140/1280}.map-inner{position:absolute;inset:0}.map-wrap{background:#000}.legend{margin:8px 0}.steps{margin:10px 0}.panel>.row{margin-bottom:6px}#planTools{margin:8px 0}#picked{padding:8px 0;min-height:0}#step1>.bottom{margin-top:8px}@media(max-width:480px){body{padding:8px}.panel{padding:8px}h1{font-size:25px;margin-top:10px}.map{height:auto;aspect-ratio:2140/1280}.map-wrap{margin-left:-4px;margin-right:-4px}}

/* Phone layout, including Safari date inputs and focus zoom. */
html{width:100%;overflow-x:clip}body{width:100%;min-width:0;overflow-x:clip}main,.panel,.controls,.controls>*,label{min-width:0;max-width:100%}.controls{grid-template-columns:repeat(2,minmax(0,1fr))}input,select,textarea{max-width:100%;font-size:16px}input[type=date]{min-inline-size:0;appearance:none;-webkit-appearance:none;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}h1,h2,.summary,#dateTable,.hint,.status{overflow-wrap:anywhere}.row{flex-wrap:wrap}.bottom>*{min-width:0;white-space:normal}.map-wrap{max-width:100%;margin-left:0;margin-right:0}@media(max-width:600px){body{padding:8px;padding-bottom:max(16px,env(safe-area-inset-bottom))}header{flex-wrap:wrap}header strong{font-size:14px}header small{font-size:11px}h1{font-size:26px;line-height:1.15}.panel{padding:12px}.controls{grid-template-columns:minmax(0,1fr);gap:12px}.controls label,input,select,textarea{width:100%}input,select,textarea{font-size:16px;min-height:48px}.steps{gap:12px;font-size:12px}.bottom{flex-direction:column-reverse;align-items:stretch}.bottom button{width:100%;min-width:0}.row .tabs{margin:4px 0}.hint,.status{font-size:13px;line-height:1.5}.chips button{font-size:16px}.summary{font-size:14px}#dateTable+label{margin-bottom:12px}}

.required-error{display:block;margin-top:6px;color:#ff9a9a;font-size:13px;line-height:1.4}.required-missing{border-color:#e96f6f!important}.required-missing-label.consent{flex-wrap:wrap}.consent .required-error{flex-basis:100%}.consent.required-missing-label{outline:1px solid #e96f6f;outline-offset:4px;border-radius:4px}

.telegram-notify{display:block;text-align:center;text-decoration:none;margin-top:16px;padding:14px;border-radius:10px;min-height:48px}.status.success .hint{color:#aaa}
