:root{font-family:system-ui,sans-serif;color:#f2e5c5;background:#151411;font-size:18px}*{box-sizing:border-box}body{margin:0;background:repeating-linear-gradient(112deg,#181713 0 3px,#1c1b17 4px 7px);min-height:100vh}header{background:#090909;text-align:center;padding:0 1rem 1rem;border-bottom:0}.stripe{height:4px;background:linear-gradient(90deg,#008c45 0 33%,#eee 33% 66%,#cd212a 66%)}h1{font-size:1.2rem;letter-spacing:.16em;color:#d6b86c}.brand{color:#a98a43;font-size:.9rem}main{max-width:1100px;margin:auto;padding:1rem}h2{font-size:1.25rem;color:#d6b86c;margin:.4rem 0}button,input,select{font:inherit;min-height:48px;border-radius:9px}button{background:#201c12;border:2px solid #c2a15b;color:#f3d994;padding:.6rem 1rem;cursor:pointer}button:disabled{opacity:.4}input,select{background:#27241f;color:#fff;border:1px solid #a98a43;padding:0 .5rem}label{display:grid;gap:.3rem;margin:1rem 0}label input{width:100%}.toolbar,.area-title{display:flex;justify-content:space-between;align-items:center;gap:1rem}.area-title{margin-bottom:.7rem}#areaSubtitle{font-size:.72rem;letter-spacing:.08em;margin:.2rem 0;color:#ad9d7a}nav{display:flex;gap:.5rem;margin:1.2rem 0;flex-wrap:wrap}nav button.active{background:#c2a15b;color:#111}.legend{font-size:.66rem;display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.dot{width:.7rem;height:.7rem;border-radius:50%;display:inline-block;margin-left:.25rem}.dot.libero{background:#18743f}.dot.prenotato{background:#b46a10}.dot.occupato{background:#9b2926}
.floorplan{position:relative;width:100%;height:min(72vh,760px);min-height:590px;overflow:hidden;border:2px solid #9f8247;border-radius:14px;background-color:#ddd3bc;background-image:linear-gradient(rgba(98,81,52,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(98,81,52,.08) 1px,transparent 1px);background-size:24px 24px;box-shadow:inset 0 0 40px #5a4a3355}.floorplan.terrazza{background-color:#d9d1bd;background-image:linear-gradient(90deg,transparent 49.5%,rgba(100,85,58,.08) 50%,transparent 50.5%),linear-gradient(rgba(100,85,58,.08) 49.5%,transparent 50%);background-size:78px 78px}.table{position:absolute;min-height:0;padding:.15rem;border:3px solid #f5e4b2;border-radius:7px;color:#fff;font-weight:800;z-index:3;box-shadow:0 3px 7px #0005;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1}.table strong{font-size:clamp(.66rem,1.7vw,1rem)}.table small{font-size:clamp(.42rem,1.05vw,.63rem);font-weight:600;margin-top:.18rem}.LIBERO{background:#18743f}.PRENOTATO{background:#b46a10}.OCCUPATO{background:#9b2926}.landmark{position:absolute;color:#3d3426;border:2px solid #8c7958;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;letter-spacing:.08em;z-index:1}.zone-label{border:0;justify-content:flex-start;color:#7b6339}.kitchen,.kitchen-up{background:#918166;color:#fff;writing-mode:vertical-rl}.kitchen-up{writing-mode:horizontal-tb}.stairs{background:repeating-linear-gradient(0deg,#a79778 0 5px,#d6cbb5 5px 9px)}.toilets{background:#b8c4c4}.divider{background:#a98a43;color:#fff;border:0}.sea{background:linear-gradient(#64c6dd,#1687a8);color:#fff;border:0}.bar{background:#272119;color:#d6b86c}.pillar{width:13px;height:13px;border-radius:50%;background:#f0e8d5;border:2px solid #8e8067}.row{border:1px solid #8b743f;border-radius:8px;padding:.7rem;margin:.6rem 0;display:flex;justify-content:space-between;align-items:center;gap:.7rem}.row input{width:75px}#tablePanel{position:fixed;z-index:10;right:1rem;top:8rem;width:min(460px,calc(100% - 2rem));max-height:calc(100vh - 9rem);overflow:auto;background:#11100e;border:2px solid #c2a15b;border-radius:14px;padding:1rem;box-shadow:0 18px 60px #000c}.close-panel{float:right;min-height:38px;width:38px;padding:0;border-radius:50%}#message{position:sticky;bottom:0;background:#2b2115;color:#ffe0a0;padding:.3rem;z-index:20}#message:empty{display:none}#lang{position:absolute;top:12px;right:12px}
@media(max-width:650px){:root{font-size:16px}main{padding:.65rem}.floorplan{height:68vh;min-height:540px}.legend{display:flex}.area-title{align-items:flex-end}.table{border-width:2px}.table small{display:none}#tablePanel{top:auto;bottom:.5rem;max-height:72vh}.kitchen,.stairs,.toilets,.bar,.kitchen-up{font-size:.5rem}}
dialog{background:#17191c;color:#f2dab0;border:1px solid #c6a05a;border-radius:14px;max-width:540px;width:90%;max-height:85vh}dialog::backdrop{background:#000b}#reservationForm{display:grid;gap:12px}#reservationForm label{display:grid;gap:5px}#reservationForm input,#reservationForm select{padding:10px;background:#24282e;color:#fff;border:1px solid #806b49}#reservationAlternatives{display:grid;gap:8px}#reservationFeedback{white-space:pre-wrap}button:disabled{opacity:.5}
.direct-service{background:#cfaa57;color:#151411;font-weight:800;margin:12px 10px 12px 0;padding:18px 24px}.takeaway-dialog{max-width:760px;width:90%;max-height:90vh;overflow:auto}.takeaway-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.product,.takeaway-card{padding:14px;border:1px solid #756a4e;border-radius:10px;margin-bottom:10px}.product input.quantity{width:80px;margin:8px}.takeaway-card button{margin:5px}#takeawayPanel{padding:16px;background:#201e19}

/* v0.5 targeted service refinements */
[hidden]{display:none!important}.stripe{display:none}nav button.active{border-bottom-color:transparent;box-shadow:none}nav button.active::after{display:none}.legend{border:0!important;background:none!important;box-shadow:none!important;padding:0}.service-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;white-space:nowrap;font-size:clamp(.6rem,2.1vw,.9rem);margin-top:14px}.service-heading span{margin-left:auto;font-weight:400;color:#bbae92}
.floorplan,.floorplan.terrazza{border:0;border-radius:0;background:none;box-shadow:none;width:100%;height:min(72vh,760px);min-height:590px;isolation:isolate}.architecture{position:absolute;inset:0;z-index:0;pointer-events:none;background-color:#645e50;background-image:linear-gradient(#e3d8ba18 1px,transparent 1px),linear-gradient(90deg,#e3d8ba18 1px,transparent 1px);background-size:24px 24px;opacity:.45;mask-image:radial-gradient(ellipse at center,#000 36%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,#000 36%,transparent 72%)}.terrazza .architecture{background-size:78px 78px}.zone-label,.divider,.pillar,.sea{opacity:.5}.divider{background:none;color:#b5ad95;border:0}.sea{background:none;color:#87b6bf}.landmark.kitchen,.landmark.kitchen-up,.landmark.stairs,.landmark.toilets,.landmark.bar{z-index:4;opacity:1;color:#fff;background:#282722;border:2px solid #f3deb0;text-shadow:0 1px 2px #000;box-shadow:0 2px 6px #0009}.table{border-color:#fff3cb;box-shadow:0 3px 10px #000b}.table:focus-visible,button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.table-number{font-size:2.1rem;text-align:center}.floor{text-align:center;font-size:1.15rem}.table-ok{display:block;width:100%;min-height:64px;background:#16813d;border:2px solid #76d794;color:#fff;font-size:1.5rem;font-weight:800;margin:16px 0}#tableScanner video{width:100%;max-height:45vh;object-fit:contain}.tag-card{padding:12px;border:1px solid #5e594b;margin:10px 0}.tag-card p{white-space:pre-wrap;font-size:.8rem;overflow-wrap:anywhere}.tag-card button{margin:4px}.tag-card label{display:inline-grid;margin:8px}.order-line{position:relative;padding:10px 4px}.cancelled-line{opacity:.5;background:#171717;color:#c3b7a4}.cancelled-line:after{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:#ff3333;pointer-events:none}.cancelled-line button{display:none}.void-alert{padding:18px;border:3px solid #ef6464;background:#4b1414;margin:14px 0}.void-alert button{margin:12px 0;background:#861f1f;color:#fff}.toolbar{flex-wrap:wrap}#networkState{font-size:.75rem;color:#90d49e}#networkState[data-state=pending],#networkState[data-state=offline]{color:#ffd064}#retrySync{font-size:.72rem}.receipt-body{color:#fff}
@media(max-width:650px){.floorplan,.floorplan.terrazza{height:68vh;min-height:540px}.legend{display:flex;font-size:.55rem}.area-title{flex-wrap:wrap}.table strong{font-size:clamp(.62rem,2.2vw,.9rem)}.landmark.kitchen,.landmark.stairs,.landmark.toilets,.landmark.bar,.landmark.kitchen-up{font-size:.5rem}}
@media print{body{background:#fff;color:#000}body>*:not(#receiptDialog){display:none!important}#receiptDialog{display:block;position:static;border:0;max-height:none;color:#000;background:#fff}#receiptDialog button{display:none}.receipt-body{color:#000}}

/* Legibility check after real 390px browser render. */
.service-heading{font-size:clamp(.75rem,2.7vw,.9rem)}.cancelled-line{opacity:1;background:#141311;color:#9f9889}.cancelled-line:after{background:#f04444}.cancelled-line>span{opacity:.8}
@media(max-width:650px){header h1{padding:14px 64px 0 12px;font-size:.95rem;letter-spacing:.1em;line-height:1.4;margin-top:0}.legend{font-size:.65rem}}
