@charset "UTF-8";
/* TrilùTable · demo interattiva (dati di esempio). Struttura, tema scuro, mappa sala e modalità incorporata. */

/* ── demo-pro ── */
:root{--ink:#26382f;--muted:#788279;--line:#e5e9e2;--paper:#f6f7f4;--white:#fff;--copper:#b64b2c;--copper-light:#f7ebe4;--green:#41684b;--sage:#edf2e9;--sidebar:238px;--radius:14px;font-family:"Segoe UI",Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:13px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}input,select,textarea{color:var(--ink)}h1,h2,h3,p{margin:0}button{border:0;background:none}img,svg{display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #dba184;outline-offset:3px}button:hover,a:hover{transition:background .15s,color .15s,box-shadow .15s}::selection{background:#efd5c4}.icon{width:20px;height:20px;flex-shrink:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:20px;padding:12px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:12px}
.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:40;background:#fffefb;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 19px 16px;overflow-y:auto;scrollbar-width:thin}.app-brand{padding:0 11px;display:block;margin-bottom:30px}.app-brand img{width:180px;height:auto;mix-blend-mode:multiply}.venue-card{padding:13px 9px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:10px;background:#fafbf8;margin-bottom:30px}.venue-avatar{height:35px;width:35px;border-radius:9px;display:grid;place-items:center;background:#eee6db;color:#846347;font:italic 16px Georgia,serif;flex-shrink:0}.venue-card strong{display:block;font-size:12px;font-weight:650}.venue-card div>span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.venue-check{margin-left:auto;color:#82a288}.venue-check .icon{width:14px;height:14px}.nav-caption{font-size:9px;font-weight:700;letter-spacing:.1em;color:#929b91;margin:0 11px 12px}.app-navigation{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 13px;width:100%;border-radius:8px;text-align:left;color:#798279;font-size:12px;font-weight:550}.nav-item .icon{width:19px;height:19px}.nav-item:hover{background:#f3f5ef;color:#26382f}.nav-item.is-active{background:#f7ebe3;color:#a4482a}.nav-item b{font-size:10px;font-weight:650;min-width:22px;height:20px;border-radius:5px;display:grid;place-items:center;margin-left:auto;background:#fff8f1;color:#a4482a}.nav-item .unread-count{background:#eef2ea;color:#72866b}.nav-item.is-active .unread-count{background:#fff8f1;color:#a4482a}.nav-secondary{font-size:11px;min-height:40px}.nav-secondary .icon{width:16px;height:16px}.sidebar-divider{height:1px;background:var(--line);margin:25px 10px}.sidebar-bottom{margin-top:auto;padding-top:38px}.sidebar-invitation{padding:20px 17px;background:#eaf0e4;border:1px solid #dde5d5;border-radius:12px;position:relative;overflow:hidden}.invitation-mark{display:grid;place-items:center;color:#7e9773;width:29px;height:29px;border-radius:50%;background:#dde7d5;margin-bottom:13px}.invitation-mark .icon{width:16px;height:16px}.sidebar-invitation strong{display:block;font-size:15px;line-height:1.5;font-weight:600;letter-spacing:-.02em}.sidebar-invitation p{font-size:10px;color:#7c8872;line-height:1.7;margin:9px 0 17px}.sidebar-invitation a{font-size:11px;font-weight:650;display:flex;align-items:center;justify-content:space-between}.sidebar-invitation a .icon{width:16px;height:16px}.back-site{font-size:11px;display:flex;gap:9px;align-items:center;margin:23px 10px;color:#7c8579}.back-site .icon{width:15px;height:15px}.sidebar-version{border-top:1px solid var(--line);padding-top:15px;color:#8b9487;font-size:8px;display:flex;align-items:center;gap:5px}.sidebar-version>span:last-child{margin-left:auto}.tiny-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8da67f;flex-shrink:0}.app-frame{margin-left:var(--sidebar);min-width:0}.app-topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:16px}.topbar-left{font-size:11px}.workspace-label{color:#8a9388}.breadcrumb-divider{color:#c5cbc1}.topbar-left>strong{font-weight:600}.demo-badge{padding:3px 7px;font-size:8px;letter-spacing:.07em;border:1px solid #dfe6d7;background:#f5f8f0;color:#7d8d70;border-radius:4px}.local-state{font-size:10px;display:flex;align-items:center;gap:7px;color:#8b9585}.icon-button{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;border:1px solid transparent;flex-shrink:0;color:#85907f}.icon-button .icon{width:17px;height:17px}.icon-button:hover{background:#f1f4ec;border-color:#e0e6d8;color:var(--ink)}.topbar-divider{height:24px;width:1px;background:var(--line)}.user-avatar{width:32px;height:32px;display:grid;place-items:center;background:#e6ebdf;border:3px solid #f7f8f4;border-radius:50%;font-size:10px;color:#738569;font-weight:650}.menu-toggle{display:none}.workspace{padding:34px 36px 0;max-width:1750px;margin:auto;outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:29px}.section-eyebrow{font-size:8px;letter-spacing:.13em;font-weight:700;color:#8e9a85;margin-bottom:8px}h1{font-size:32px;line-height:1.2;letter-spacing:-.055em;font-weight:600}.page-heading p:last-child{font-size:12px;color:#87907f;margin-top:8px}.heading-actions{display:flex;align-items:center;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:7px;font-size:11px;line-height:1.45;font-weight:600;white-space:nowrap}.button .icon{width:16px;height:16px}.button.primary{background:var(--copper);border-color:var(--copper);color:white;box-shadow:0 3px 4px #672e1610}.button.primary:hover{background:#933d23;border-color:#933d23}.button.secondary{background:white;color:#697661;border-color:#dfe4d9}.button.secondary:hover{background:#f4f6ee;color:#31482b}.button.danger{background:#fbeee9;color:#a94c38;border-color:#efd8cf}.button.danger:hover{background:#f8ded5}.service-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.service-controls{display:flex;gap:9px;align-items:center}.date-control,.service-control{border:1px solid #e0e5d9;background:#fff;border-radius:7px;display:flex;align-items:center;height:36px;padding:0 12px;gap:8px}.date-control .icon{color:#97a28d;width:15px;height:15px}.date-control input{border:0;background:none;font-size:11px;width:128px;padding:0;color:#526449;color-scheme:light}.service-control select{font-size:10px;background:transparent;border:0;max-width:170px;outline-offset:8px}.service-dot{background:#9aa785;border-radius:50%;width:5px;height:5px}.toolbar-hint{font-size:10px;color:#8f9987;display:flex;gap:7px;align-items:center}.toolbar-hint .icon{width:13px;height:13px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.kpi-card{background:white;border:1px solid var(--line);border-radius:11px;padding:18px 20px 15px;min-width:0}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#72816a;font-size:11px}.kpi-top .icon{width:16px;height:16px;color:#a4ad9b}.kpi-value{display:flex;align-items:baseline;gap:10px;margin:12px 0 14px}.kpi-value strong{font-size:32px;font-weight:600;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.kpi-caption{font-size:9px;color:#9ca391}.kpi-foot{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:18px}.kpi-foot small{font-size:8px;color:#929b86}.metric-line{display:flex;align-items:end;gap:3px;height:14px}.metric-line i{width:5px;height:5px;background:#e7b99d;border-radius:1px}.metric-line i:nth-child(2){height:8px}.metric-line i:nth-child(3){height:6px}.metric-line i:nth-child(4){height:11px}.metric-line i:nth-child(5){height:9px}.metric-line i:nth-child(6){height:13px}.metric-line i:nth-child(7){height:11px}.metric-line i:nth-child(8){height:15px}.metric-line.sage i{background:#b4c5a6}.small-status{font-size:9px;display:flex;align-items:center;gap:7px;color:#90a080}.small-status:before{content:"";width:5px;height:5px;border-radius:50%;background:#91ad7d}.amber-dot{color:#a68b66}.amber-dot:before{background:#bd975b}.attention-card{background:#fffcf7}.attention-card .kpi-top .icon{color:#bd996c}.attention-card .kpi-value strong{color:#9b7447}
.view-panel{animation:panel-in .2s ease-out}@keyframes panel-in{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) 256px;gap:23px}.agenda-main,.service-aside{display:flex;flex-direction:column;gap:22px;min-width:0}.surface{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}.surface-heading{padding:22px 24px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.surface-heading h2{font-size:14px;font-weight:600;letter-spacing:-.025em;display:flex;align-items:center;gap:9px}.surface-heading p{font-size:10px;color:#929c88;margin-top:5px}.count-pill{display:inline-grid;place-items:center;min-width:20px;height:19px;background:#eef3e8;border:1px solid #e0e8d7;border-radius:4px;color:#7f9470;font-size:9px;font-weight:600;letter-spacing:0}.agenda-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px 19px}.filter-tabs{display:flex;gap:2px;align-items:center;min-width:0}.filter-tabs button{font-size:10px;white-space:nowrap;padding:7px 10px;border-radius:5px;color:#919b88;min-height:30px}.filter-tabs button:hover{background:#f4f6ef;color:#536d45}.filter-tabs button.is-active{background:#edf2e6;color:#5c764a;font-weight:600}.search-field{display:flex;gap:6px;border:1px solid #e6eadf;border-radius:6px;padding:7px 8px;align-items:center;max-width:165px}.search-field .icon{width:13px;height:13px;color:#a0ac94}.search-field input{border:0;min-width:0;width:100%;padding:0;font-size:9px;outline:none;background:none}.search-field input::placeholder{color:#a0aa94}.search-field:focus-within{border-color:#a9bb95;box-shadow:0 0 0 2px #a9bb9520}.table-scroll{overflow-x:auto;scrollbar-width:thin}.booking-table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}.booking-table th{background:#fafbf8;color:#98a08e;font-size:8px;font-weight:600;letter-spacing:.045em;text-transform:uppercase;padding:11px 9px;border-top:1px solid #f1f3ec;border-bottom:1px solid #edf0e7}.booking-table th:first-child,.booking-table td:first-child{padding-left:24px}.booking-table th:last-child,.booking-table td:last-child{padding-right:20px}.booking-table td{height:70px;padding:10px 9px;border-bottom:1px solid #f0f2eb}.booking-table tbody tr:last-child td{border-bottom:0}.booking-table tbody tr:hover{background:#fdfdfb}.booking-table td:first-child{font-weight:600;color:#68795a;font-size:11px;font-variant-numeric:tabular-nums}.guest-cell{display:flex;gap:10px;align-items:center}.guest-avatar{width:30px;height:30px;border:1px solid #e5ebde;background:#f0f4e9;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#859471;font-size:9px;font-weight:600}.booking-table tr:nth-child(3n+2) .guest-avatar{background:#f4eee7;color:#a18c70;border-color:#ede5d9}.booking-table tr:nth-child(3n) .guest-avatar{background:#ebf0f0;color:#809595;border-color:#dfe7e8}.guest-name{font-size:11px;font-weight:600;color:#4d6342;display:block}.guest-note{font-size:9px;color:#9aa58d;display:block;margin-top:3px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.channel-tag{font-size:9px;color:#829374;display:inline-flex;align-items:center;gap:4px}.channel-tag:before{content:"";width:4px;height:4px;border:1px solid #a8b99a;border-radius:50%}.status-pill{font-size:8px;display:inline-flex;align-items:center;gap:5px;line-height:1.4;white-space:nowrap;border-radius:4px;padding:4px 7px;font-weight:550;background:#f0f3eb;color:#7c8b6c}.status-pill:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.status-confirmed{color:#729254;background:#f0f5e8}.status-arrived,.status-seated{color:#68918e;background:#eaf3f0}.status-pending{color:#b48c4e;background:#fcf5e8}.status-completed{color:#8a9681;background:#f1f4ec}.status-cancelled{color:#b98170;background:#f8ede8}.row-action{font-size:10px;min-width:28px;min-height:30px;color:#91a17e;border:1px solid #e5ebdd;border-radius:5px;padding:5px 8px;display:inline-flex;align-items:center;justify-content:center}.row-action:hover{background:#eef3e6;color:#587444}.row-action svg{width:14px;height:14px}.table-footer{border-top:1px solid var(--line);padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:8px;color:#9aa48e}.table-footer>span{display:flex;align-items:center;gap:6px}.text-button{display:inline-flex;align-items:center;gap:7px;color:#83986c;font-size:9px;white-space:nowrap;padding:0}.text-button .icon{width:13px;height:13px}.empty-state{padding:40px 20px!important;text-align:center;white-space:normal;color:#8c9980;font-size:12px}.empty-state strong{display:block;color:#576d49;margin-bottom:6px}.empty-state p{font-size:11px}.subtle-badge{font-size:8px;padding:4px 7px;background:#f4f6ef;color:#8e9c7f;border-radius:4px;white-space:nowrap}.subtle-icon{color:#a3b095}.subtle-icon .icon{width:16px;height:16px}.service-aside .surface-heading{padding:20px 20px 16px}.service-aside h2{font-size:12px}.arrival-preview{padding:0 20px 10px}.arrival-item{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eff2e8;padding:13px 0}.arrival-item:last-child{border-bottom:0}.arrival-item time,.arrival-time{font-size:10px;font-weight:600;min-width:35px;color:#b78c69}.arrival-item strong{display:block;font-size:10px;color:#607351;font-weight:600}.arrival-item small{font-size:8px;color:#9aa88b;display:block;margin-top:3px}.arrival-item .arrival-avatar{width:27px;height:27px;font-size:8px;border-radius:50%;background:#edf3e6;display:grid;place-items:center}.arrival-item>span:last-child{margin-left:auto;font-size:9px;color:#b1b9a5}.room-summary{background:#223b2b;color:#eef4e9;border-radius:var(--radius);padding:21px 21px 0;overflow:hidden;position:relative;isolation:isolate}.room-summary-heading{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#b7c8ab}.room-summary-heading .icon{color:#98b086;width:18px;height:18px}.room-summary-value{display:flex;align-items:center;gap:12px;margin:25px 0 18px}.room-summary-value strong{font-size:33px;font-weight:500;line-height:1;letter-spacing:-.06em}.room-summary-value>span{font-size:9px;line-height:1.6;color:#9fb491}.occupancy-track{height:4px;background:#3a523b;border-radius:5px;overflow:hidden}.occupancy-track>span{display:block;background:#b9cda4;height:100%;width:0;max-width:100%;border-radius:5px;transition:width .3s}.room-summary p{font-size:9px;line-height:1.8;color:#9ab18b;margin:18px 0 22px}.room-summary button{display:flex;align-items:center;justify-content:space-between;width:calc(100% + 42px);margin-left:-21px;background:#2c4831;color:#c4d3b6;font-size:10px;padding:14px 21px;text-align:left}.room-summary button:hover{background:#35523a}.room-summary button .icon{width:13px;height:13px}.room-decoration{position:absolute;border:1px solid #496242;width:180px;height:180px;border-radius:50%;right:-98px;bottom:-30px;opacity:.3;z-index:-1}.channel-breakdown{padding:0 20px;display:flex;flex-direction:column;gap:14px}.channel-row{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:10px;color:#8b9b7b}.channel-row strong{font-size:9px;font-weight:500;color:#859772}.channel-track{height:3px;background:#f0f3e9;grid-column:span 2;border-radius:5px;overflow:hidden}.channel-track span{display:block;height:100%;background:#aebe99;border-radius:5px}.channel-row:nth-child(2) .channel-track span{background:#d6b497}.channel-row:nth-child(3) .channel-track span{background:#a7babc}.channel-row:nth-child(4) .channel-track span{background:#cac9ae}.mini-note{font-size:8px;color:#a3ad95;padding:21px 20px}.activity-surface .surface-heading{padding-bottom:10px}.activity-list{padding:0 24px 14px}.activity-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;font-size:10px;color:#8b9b7c;border-bottom:1px solid #f1f4e9}.activity-item:last-child{border:0}.activity-item::before{content:"";margin-top:4px;width:6px;height:6px;background:#bbcbab;border:2px solid #f1f5ec;outline:1px solid #dfe8d5;border-radius:50%;flex-shrink:0}.activity-item strong{font-weight:550;color:#6c835c}.activity-item small,.activity-item time{font-size:8px;color:#a6b197;margin-left:auto;white-space:nowrap}.workspace-footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0 24px;font-size:8px;color:#98a28d}.footer-dot{padding:0 6px}
.floor-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:23px}.compact-field{font-size:9px;color:#9aa98b;display:flex;align-items:center;gap:8px;white-space:nowrap}.compact-field select{border:1px solid #dfe6d5;background:#fff;padding:8px 9px;border-radius:6px;font-size:10px}.floor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px 20px;gap:16px}.floor-legend{display:flex;gap:12px;align-items:center;font-size:8px;color:#90a07e;white-space:nowrap}.floor-legend span{display:flex;align-items:center;gap:5px}.floor-legend span:before{content:"";width:6px;height:6px;border-radius:2px;background:#dae5ce;border:1px solid #bcccaa}.floor-legend .legend-reserved:before{background:#efd9bf;border-color:#dfbd95}.floor-legend .legend-occupied:before{background:#78976b;border-color:#698858}.floor-plan{border-top:1px solid #e8ecdf;background-color:#f8faf4;background-image:radial-gradient(#cdd8bd 1px,transparent 1px);background-size:18px 18px;padding:25px 35px 20px}.floor-architecture{display:flex;justify-content:space-between;padding-bottom:25px;border-bottom:3px double #d6dfcb;font-size:8px;letter-spacing:.1em;color:#a0ae8e}.floor-tables{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:37px 28px;padding:38px 0}.floor-table{min-height:108px;border:1px solid #c3d2b2;border-radius:12px;background:#eef4e6;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#7b9466;box-shadow:0 3px 0 #d9e3cf;font-size:11px;transition:transform .18s,box-shadow .18s}.floor-table:before,.floor-table:after{content:"";position:absolute;left:30%;right:30%;height:7px;border-radius:3px;background:#d3dfc5;box-shadow:inset 0 0 0 1px #c7d4b8}.floor-table:before{top:-12px}.floor-table:after{bottom:-12px}.floor-table:hover{transform:translateY(-2px);box-shadow:0 6px 0 #d9e3cf}.floor-table.is-selected{outline:2px solid #b87c50;outline-offset:5px}.floor-table strong,.table-symbol{font-weight:650;font-size:17px}.table-capacity{font-size:8px;color:inherit;opacity:.8}.floor-table small{font-size:8px}.floor-table.is-reserved{background:#fcf0de;border-color:#ddc3a0;color:#b48c58;box-shadow:0 3px 0 #eee0ca}.floor-table.is-reserved:before,.floor-table.is-reserved:after{background:#e9d8bc;box-shadow:inset 0 0 0 1px #dcc49e}.floor-table.is-occupied{background:#719466;color:#fff;border-color:#648557;box-shadow:0 3px 0 #557b4c}.floor-table.is-occupied:before,.floor-table.is-occupied:after{background:#a3b994;box-shadow:inset 0 0 0 1px #8ea77c}.floor-labels{border-top:1px solid #dde5d1;padding-top:20px;display:flex;justify-content:space-between;font-size:8px;color:#a5b096;gap:14px}.floor-labels span{display:flex;gap:7px;align-items:center}.floor-labels .icon{width:12px;height:12px}.floor-info{padding:24px;height:fit-content;min-height:230px}.floor-info h2,.floor-info h3{font-size:18px;font-weight:600;letter-spacing:-.04em;margin-bottom:8px}.floor-info p{font-size:11px;color:#8b9e7b;line-height:1.7;margin:10px 0}.floor-info .button{margin-top:15px;white-space:normal}.floor-info .detail-meta{display:block}.floor-info .detail-meta div{padding:10px 0;border-bottom:1px solid #edf1e5}.floor-info .detail-meta dt{font-size:9px;color:#a0ac92}.floor-info .detail-meta dd{margin:3px 0 0;font-size:12px}.floor-info .empty-state{padding:15px 0!important}.context-note{font-size:10px;color:#9ba88e;display:flex;align-items:center;gap:8px;margin-top:18px}.context-note .icon{width:14px;height:14px}
.inbox-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:555px}.conversation-sidebar{border-right:1px solid var(--line);background:#fff}.inbox-label{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:25px 22px 7px}.inbox-label h2{font-size:14px;font-weight:600}.inbox-intro{font-size:9px;color:#9bab8d;padding:0 22px 22px}.conversation-item{display:flex;align-items:flex-start;gap:11px;width:100%;padding:18px 20px;text-align:left;border-top:1px solid #eff3e8}.conversation-item:hover{background:#f8faf4}.conversation-item.is-active{background:#f1f5eb;border-left:3px solid #9cb386;padding-left:17px}.conversation-avatar{width:34px;height:34px;display:grid;place-items:center;background:#e8eee0;border-radius:50%;font-size:10px;flex-shrink:0;color:#8aa175}.conversation-copy{display:block;min-width:0;flex:1}.conversation-copy strong{display:block;font-size:11px;font-weight:600}.conversation-copy p,.conversation-copy small,.conversation-copy span{display:block;font-size:9px;color:#9eae8f;margin-top:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:165px}.conversation-time{font-size:8px;color:#a4b298;margin-left:auto;white-space:nowrap}.chat-main{display:flex;flex-direction:column;min-width:0;background:#fcfdf9}.chat-header{min-height:80px;padding:20px 26px;background:white;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.chat-header strong,.chat-header h3{font-size:13px;font-weight:600}.chat-header p,.chat-header small{font-size:10px;color:#91a181;display:block;margin-top:3px}.chat-body{padding:30px;flex:1;min-height:310px;max-height:430px;overflow-y:auto;display:flex;flex-direction:column;gap:17px;background-image:radial-gradient(#e4eadb .7px,transparent .7px);background-size:12px 12px}.chat-message{max-width:78%;display:flex;flex-direction:column;align-items:flex-start;align-self:flex-start}.chat-message.is-outgoing{align-self:flex-end;align-items:flex-end}.chat-bubble{background:#fff;border:1px solid #e7ecdf;border-radius:12px 12px 12px 2px;padding:14px 17px;font-size:12px;line-height:1.8;color:#70845d;overflow-wrap:anywhere}.is-outgoing .chat-bubble{background:#e9f1df;border-color:#dce7ce;border-radius:12px 12px 2px 12px;color:#657f51}.chat-time{font-size:8px;color:#aebaa0;margin-top:5px}.chat-compose{border-top:1px solid var(--line);background:white;display:flex;gap:10px;padding:16px 22px 9px}.chat-compose input{min-width:0;flex:1;border:1px solid #e2e8d9;background:#fcfdf9;border-radius:7px;padding:11px 14px;font-size:11px}.chat-compose input::placeholder{color:#b0baa5}.chat-compose .button{min-width:43px;padding:8px}.chat-disclaimer{font-size:8px;color:#a4b196;text-align:center;background:white;padding:0 20px 12px}
.menu-surface .surface-heading{padding:28px}.menu-surface h2{font-size:20px;letter-spacing:-.045em}.menu-items{padding:0 28px 12px}.menu-item{display:flex;gap:17px;align-items:center;padding:20px 0;border-top:1px solid #ecf1e3}.dish-icon{width:59px;height:59px;border-radius:10px;background:radial-gradient(circle at 40% 40%,#fbf5e9,#e9d3b5);display:grid;place-items:center;flex-shrink:0;font:italic 18px Georgia,serif;color:#a9916a;border:1px solid #e7d7be;position:relative}.dish-icon:after{content:"";position:absolute;width:35px;height:35px;border:1px solid #bd9f7450;outline:1px solid #bd9f7420;outline-offset:4px;border-radius:50%}.menu-item:nth-child(3n+2) .dish-icon{background:radial-gradient(circle at 40% 40%,#f5f6df,#d6dfb9);color:#8ca168;border-color:#dbe3c9}.menu-item:nth-child(3n) .dish-icon{background:radial-gradient(circle at 40% 40%,#f6ede7,#e3c6b8);color:#b3947e;border-color:#ead8cb}.menu-copy{flex:1;min-width:0}.menu-copy h3,.menu-copy strong{font-size:13px;font-weight:600;display:block}.menu-copy p{font-size:11px;color:#94a483;margin-top:3px;line-height:1.7}.menu-category{font-size:8px;color:#aaa98c;text-transform:uppercase;letter-spacing:.07em;display:block;margin-top:6px}.menu-price{font-size:13px;font-weight:550;min-width:68px;text-align:right;color:#8da173}.availability-toggle{font-size:9px;color:#a6ad95;border:1px solid #e3e8da;display:flex;gap:7px;align-items:center;border-radius:7px;padding:8px 10px;min-width:116px;justify-content:center;margin-left:15px;background:#fafbf7}.availability-toggle:before{content:"";width:17px;height:10px;border-radius:8px;background:#dce2d3;box-shadow:inset 0 0 0 1px #c9d1be}.availability-toggle.is-available{color:#7c9c5e;background:#f7fbf0;border-color:#dfe9d2}.availability-toggle.is-available:before{background:#9db67d;box-shadow:inset -5px 0 0 #7f9f5d}.menu-footer{background:#f9fbf5;border-top:1px solid #edf1e5;padding:19px 28px;font-size:10px;color:#9baa8a;display:flex;gap:9px;align-items:center}.menu-footer .icon{width:15px;height:15px}
.app-dialog{border:1px solid #dce3d3;border-radius:17px;padding:30px 34px;max-width:min(580px,calc(100vw - 32px));width:580px;max-height:calc(100svh - 50px);overflow-y:auto;box-shadow:0 25px 100px #132a2433;color:var(--ink)}.app-dialog::backdrop{background:#17291f66;backdrop-filter:blur(4px)}.dialog-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:15px}.dialog-eyebrow{font-size:8px;color:#a5ae98;font-weight:650;letter-spacing:.09em}.dialog-topline .icon-button{margin:-8px -10px -8px 0}.app-dialog h2{font-size:26px;font-weight:550;letter-spacing:-.055em;line-height:1.25;margin-bottom:9px}.dialog-intro,.app-dialog>p{font-size:11px;color:#8b9d7b;line-height:1.8}.dialog-intro{margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#70885d;font-weight:550;min-width:0}.span-two{grid-column:span 2}.field input,.field select,.field textarea{border:1px solid #dfe7d4;padding:10px 11px;background:#fcfdf9;border-radius:7px;font-size:12px;width:100%;min-width:0;min-height:39px}.field textarea{resize:vertical;min-height:68px}.field>span:not(.optional){font-size:9px;color:#a3ae96;font-weight:400}.field .optional{font-size:9px;color:#a5af97;font-weight:400}.field textarea::placeholder{color:#b1baa4;font-size:11px}.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}.dialog-actions>span{font-size:10px;color:#adb7a0}.dialog-note{font-size:9px!important;color:#a2ae95!important;background:#f6f8f1;padding:11px 14px;border-radius:7px;margin-top:19px!important;line-height:1.6!important}.form-error{font-size:11px;color:#b5624c;margin-top:15px;line-height:1.7}.form-error:empty{display:none}.field [aria-invalid=true]{border-color:#c17c64;background:#fff8f2}.review-intro{padding:17px;border:1px solid #dce8cd;background:#f6faef;border-radius:10px;display:flex;gap:13px;align-items:center;margin:23px 0}.review-intro>span{color:#8ca773}.review-intro strong{font-size:12px;font-weight:600}.review-intro p{font-size:10px;color:#a2ae91;margin-top:4px}.booking-summary{font-size:12px}.booking-summary dl,.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.booking-summary div,.detail-meta div{padding:0 0 13px;border-bottom:1px solid #edf1e6}.booking-summary dt,.detail-meta dt{font-size:9px;color:#a3b094;margin-bottom:5px}.booking-summary dd,.detail-meta dd{font-size:12px;margin:0;color:#708a5c;overflow-wrap:anywhere}.booking-summary p{font-size:12px;padding:9px 0}.detail-dialog h2{font-size:25px}.detail-note{padding:14px;background:#faf8ef;border:1px solid #ebe4cf;color:#b29b69;border-radius:8px;font-size:11px;line-height:1.8;margin:17px 0;overflow-wrap:anywhere}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.detail-actions .button{flex-grow:1;white-space:normal}.detail-dialog .field{margin-top:20px}.small-dialog{width:450px}.small-dialog .dialog-actions{flex-wrap:wrap}.help-steps{list-style:none;padding:0;margin:25px 0}.help-steps li{display:flex;align-items:flex-start;gap:17px;margin-bottom:21px}.help-steps li>span{font:italic 23px Georgia,serif;color:#b2bd9e;line-height:1.3}.help-steps strong{font-size:12px;font-weight:600;color:#70845e}.help-steps p{font-size:11px;color:#9aaa89;margin-top:5px;line-height:1.8}.help-notice{font-size:10px;background:#f4f7ee;border:1px solid #e6eddb;padding:13px 16px;color:#9aaa87;border-radius:8px;margin-bottom:23px}.help-dialog>.button{width:100%}.toast{position:fixed;bottom:25px;left:calc(50% + var(--sidebar)/2);transform:translateX(-50%);background:#243d2b;color:#e5eedc;border:1px solid #415b39;border-radius:10px;box-shadow:0 8px 25px #213d2520;padding:14px 22px;max-width:calc(100vw - 36px);font-size:12px;line-height:1.6;z-index:1000;text-align:center}.noscript-message{position:fixed;bottom:20px;right:20px;z-index:99;background:#fff;padding:25px;border:1px solid #dfcbae;color:#b3703e}.nav-scrim{display:none}
@media(min-width:1650px){.workspace{padding:42px 46px 0}.app-topbar{padding-inline:46px}.agenda-layout{grid-template-columns:minmax(0,1fr) 305px;gap:28px}.kpi-card{padding:22px 25px 18px}.kpi-top{font-size:12px}.kpi-foot small{font-size:9px}.surface-heading{padding:26px 28px}.surface-heading h2{font-size:15px}.booking-table{font-size:12px}.booking-table th{font-size:9px}.booking-table td{height:76px}.guest-name{font-size:12px}.guest-note{font-size:10px}.status-pill{font-size:9px}.channel-tag{font-size:10px}.arrival-item{padding:15px 0}.arrival-item strong{font-size:12px}.arrival-item small{font-size:10px}.room-summary{padding:25px 25px 0}.room-summary button{width:calc(100% + 50px);margin-left:-25px;padding-inline:25px}.room-summary-value strong{font-size:40px}.room-summary p{font-size:11px}.room-summary-heading{font-size:12px}.channel-row{font-size:11px}.activity-item{font-size:11px}.kpi-value strong{font-size:37px}}
@media(max-width:1350px){:root{--sidebar:213px}.app-sidebar{padding-inline:14px}.app-brand img{width:165px}.app-brand{padding:0 9px}.app-topbar{padding-inline:25px}.workspace{padding:29px 25px 0}.agenda-layout{grid-template-columns:minmax(0,1fr) 225px;gap:18px}.kpi-grid{gap:12px}.kpi-card{padding:16px}.kpi-foot{gap:4px}.kpi-foot small{font-size:7px}.metric-line{gap:2px}.metric-line i{width:4px}.agenda-tools{padding-inline:18px;flex-wrap:wrap}.search-field{max-width:none;flex:1;min-width:135px}.surface-heading{padding:20px 18px}.booking-table th:first-child,.booking-table td:first-child{padding-left:18px}.booking-table th:last-child,.booking-table td:last-child{padding-right:15px}.booking-table td{padding-inline:7px}.guest-note{max-width:108px}.guest-cell{gap:7px}.guest-avatar{width:27px;height:27px}.table-footer{padding-inline:18px}.table-footer>span{font-size:7px}.floor-layout{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.floor-toolbar{padding-inline:18px;flex-wrap:wrap}.floor-plan{padding-inline:25px}.floor-tables{gap:30px 22px}.floor-table{min-height:90px}.floor-info{padding:20px}.guest-action{padding-inline:12px}.heading-actions{gap:7px}.button{font-size:10px;padding-inline:13px}.workspace-footer{font-size:7px}}
@media(max-width:1100px){:root{--sidebar:195px}.app-sidebar{padding-inline:12px}.app-brand img{width:153px}.venue-card{gap:7px;padding-inline:7px}.venue-card strong{font-size:11px}.venue-card div>span{font-size:9px}.venue-check{display:none}.nav-item{font-size:11px;gap:9px;padding-inline:10px}.nav-caption{font-size:8px}.sidebar-invitation{padding:17px 13px}.sidebar-invitation strong{font-size:14px}.sidebar-version{font-size:7px}.workspace{padding:25px 21px 0}.app-topbar{padding-inline:21px}.page-heading{align-items:flex-start;gap:15px}.heading-actions{flex-direction:column;align-items:stretch}.heading-actions .guest-action{order:2;min-height:31px;font-size:9px;background:transparent;border:0;box-shadow:none;padding-block:3px}.page-heading{margin-bottom:23px}h1{font-size:29px}.agenda-layout{grid-template-columns:minmax(0,1fr)}.service-aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.room-summary p{display:none}.room-summary-value{margin:20px 0}.room-summary button{margin-top:22px}.channel-breakdown{gap:10px}.service-aside .surface-heading{padding:17px 16px 13px}.arrival-preview{padding-inline:16px}.mini-note{padding:15px 16px;font-size:7px}.activity-list{padding-inline:18px}.booking-table td{height:68px}.guest-note{max-width:170px}.guest-avatar{width:31px;height:31px}.floor-layout{grid-template-columns:1fr}.floor-info{min-height:0}.floor-info .detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.floor-tables{gap:35px}.floor-table{min-height:110px}.inbox-layout{grid-template-columns:220px minmax(0,1fr)}.conversation-item{padding-inline:15px;gap:8px}.conversation-item.is-active{padding-left:12px}.conversation-copy p,.conversation-copy small,.conversation-copy span{max-width:120px}.inbox-label{padding-inline:15px}.inbox-intro{padding-inline:15px;font-size:8px}.conversation-time{font-size:7px}.chat-body{padding:20px}.chat-message{max-width:88%}.chat-bubble{font-size:11px}.menu-copy p{font-size:10px}.menu-price{min-width:50px}.availability-toggle{margin-left:0;font-size:8px;min-width:99px;padding-inline:7px}.menu-item{gap:12px}.menu-surface .surface-heading{padding:23px}.menu-items{padding-inline:23px}.menu-surface h2{font-size:18px}}
@media(max-width:800px){:root{--sidebar:0px}.app-sidebar{width:240px;transform:translateX(-100%);transition:transform .2s;box-shadow:10px 0 35px #19282014;padding:25px 19px;z-index:80}.app-sidebar.is-open{transform:translateX(0)}.app-sidebar .app-brand img{width:180px}.nav-scrim:not([hidden]){display:block;position:fixed;inset:0;background:#162b1c55;backdrop-filter:blur(2px);z-index:75}.menu-toggle{display:grid}.app-topbar{height:63px;padding:0 22px;position:sticky;top:0;z-index:30}.topbar-left{gap:12px}.workspace{padding:28px 22px 0}.topbar-right{gap:10px}.app-sidebar .nav-item{font-size:12px;min-height:47px}.sidebar-invitation{margin-top:0}.sidebar-bottom{padding-top:30px}.sidebar-version{font-size:8px}.venue-card{padding:13px 10px;gap:10px}.venue-card strong{font-size:12px}.venue-card div>span{font-size:10px}.venue-check{display:block}.workspace-label,.breadcrumb-divider{display:none}.floor-tables{gap:35px 30px}.floor-table{min-height:105px}.menu-surface h2{font-size:17px}.toast{left:50%}.kpi-foot small{font-size:8px}.agenda-tools{flex-wrap:nowrap}.search-field{max-width:180px}.workspace-footer{font-size:8px}.service-aside{gap:15px}.arrival-item strong{font-size:10px}.arrival-item time{font-size:9px}.page-heading h1{font-size:32px}.heading-actions{flex-direction:row;align-items:center}.heading-actions .guest-action{order:0;border:1px solid #e0e5d8;min-height:40px;background:white;padding:8px 12px}.heading-actions .button{font-size:10px;min-height:40px}.page-heading p:last-child{font-size:11px}.kpi-card{padding:17px 15px}.kpi-value strong{font-size:30px}}
@media(max-width:620px){.app-topbar{padding:0 14px;height:59px}.topbar-left{gap:8px}.topbar-left>strong{font-size:11px}.topbar-right{gap:6px}.local-state{display:none}.topbar-divider{margin:0 3px}.user-avatar{height:29px;width:29px}.demo-badge{font-size:7px}.workspace{padding:25px 16px 0}.page-heading{display:block;margin-bottom:19px}.section-eyebrow{font-size:7px;letter-spacing:.12em;margin-bottom:7px}.page-heading h1{font-size:29px}.page-heading p:last-child{font-size:11px;margin-top:7px}.heading-actions{margin-top:20px;display:grid;grid-template-columns:1fr 1.14fr;gap:8px}.heading-actions .button{min-height:41px;font-size:10px;padding-inline:10px}.heading-actions .guest-action{min-height:41px;font-size:9px}.heading-actions .button .icon{width:14px;height:14px}.service-toolbar{margin-bottom:18px}.toolbar-hint{display:none}.service-controls{width:100%;gap:8px}.date-control,.service-control{flex:1;min-width:0;height:35px;padding-inline:9px}.date-control input{width:113px;font-size:10px;min-width:0;flex:1}.service-control select{font-size:9px;min-width:0;max-width:none;width:100%}.date-control .icon{width:13px;height:13px}.service-control{gap:6px}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px}.kpi-card{padding:14px 14px 12px;border-radius:9px}.kpi-top{font-size:10px}.kpi-top .icon{width:15px;height:15px}.kpi-value{margin:12px 0 10px;gap:8px}.kpi-value strong{font-size:28px}.kpi-caption{font-size:8px}.kpi-foot small{font-size:7px}.metric-line{display:none}.small-status{font-size:8px}.kpi-foot{min-height:13px}.surface{border-radius:11px}.surface-heading{padding:18px 16px 16px}.surface-heading h2{font-size:13px}.surface-heading p{font-size:9px;max-width:240px}.agenda-tools{display:block;padding:0 16px 17px}.filter-tabs{gap:2px;justify-content:space-between}.filter-tabs button{font-size:9px;padding:8px 10px;min-height:33px}.search-field{margin-top:12px;width:100%;max-width:none;padding:10px 11px}.search-field input{font-size:11px}.search-field .icon{width:14px;height:14px}.table-scroll{overflow:visible}.booking-table,.booking-table tbody{display:block;white-space:normal}.booking-table thead{display:none}.booking-table tbody tr{display:grid;grid-template-columns:49px minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:15px 16px;border-top:1px solid #edf1e5;position:relative}.booking-table td{display:block;padding:0!important;border:0;height:auto;min-width:0}.booking-table td:nth-child(1){grid-column:1;grid-row:1;font-size:12px;font-weight:650;align-self:center}.booking-table td:nth-child(2){grid-column:2;grid-row:1}.booking-table td:nth-child(3){grid-column:1;grid-row:2;font-size:9px;color:#8ea079;line-height:20px}.booking-table td:nth-child(3):after{content:" coperti";font-size:8px}.booking-table td:nth-child(4){grid-column:2;grid-row:3}.booking-table td:nth-child(5){grid-column:1;grid-row:3;font-size:9px;color:#8fa17a}.booking-table td:nth-child(6){grid-column:2;grid-row:2}.booking-table td:nth-child(7){grid-column:3;grid-row:1/4;align-self:center}.guest-cell{gap:8px}.guest-avatar{display:none}.guest-name{font-size:12px}.guest-note{font-size:9px;max-width:180px;white-space:nowrap;margin-top:3px}.row-action{min-height:34px;font-size:9px;max-width:59px;padding:7px}.status-pill{font-size:8px;padding:4px 7px}.channel-tag{font-size:8px}.booking-table tbody tr:has(.empty-state){display:block}.booking-table .empty-state{padding:28px 0!important}.table-footer{padding:14px 16px;gap:6px}.table-footer>span{font-size:7px;max-width:160px}.table-footer .tiny-dot{display:none}.text-button{font-size:8px}.service-aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-aside .channel-surface{grid-column:span 2}.next-arrivals .surface-heading h2{font-size:11px}.service-aside .surface-heading{padding:17px 14px 13px}.arrival-preview{padding-inline:14px}.arrival-item{gap:7px;padding:11px 0}.arrival-item time,.arrival-time{font-size:8px;min-width:29px}.arrival-item strong{font-size:9px}.arrival-item small{font-size:7px}.arrival-item>span:last-child{display:none}.room-summary{padding:18px 14px 0;border-radius:11px}.room-summary-heading{font-size:9px;line-height:1.6}.room-summary-heading .icon{display:none}.room-summary-value{margin:27px 0 22px;display:block}.room-summary-value strong{font-size:29px}.room-summary-value>span{display:block;font-size:8px;margin-top:12px;line-height:1.7}.room-summary button{width:calc(100% + 28px);margin-left:-14px;padding:15px 14px;font-size:9px}.room-summary button .icon{width:11px;height:11px}.activity-list{padding-inline:16px}.activity-item{font-size:9px;line-height:1.8}.activity-item small,.activity-item time{font-size:7px}.channel-breakdown{display:grid;grid-template-columns:1fr 1fr;padding-inline:16px;gap:17px 28px}.channel-row{font-size:10px}.mini-note{font-size:8px;padding:17px 16px}.workspace-footer{display:block;text-align:center;padding:25px 0;font-size:8px;line-height:1.9}.workspace-footer>span{display:block}.workspace-footer>span:last-child{font-size:7px;color:#aeb7a1}.floor-surface .surface-heading{align-items:flex-start}.floor-surface .surface-heading h2{font-size:13px;max-width:200px}.floor-surface .surface-heading p{font-size:9px;max-width:210px}.compact-field{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:8px}.compact-field select{padding:7px;font-size:9px}.floor-toolbar{display:block;padding:0 16px 16px}.floor-toolbar .filter-tabs{justify-content:flex-start;gap:2px}.floor-toolbar .filter-tabs button{font-size:9px;padding-inline:9px}.floor-legend{margin-top:13px;gap:17px;font-size:8px}.floor-plan{padding:20px}.floor-architecture{padding-bottom:19px;font-size:7px}.floor-tables{grid-template-columns:repeat(3,minmax(0,1fr));gap:31px 19px;padding:30px 0}.floor-table{min-height:84px;border-radius:9px;font-size:10px;gap:4px}.floor-table strong,.table-symbol{font-size:15px}.floor-table small,.table-capacity{font-size:7px}.floor-table:before,.floor-table:after{height:5px}.floor-table:before{top:-10px}.floor-table:after{bottom:-10px}.floor-labels{font-size:7px;gap:10px}.floor-labels .icon{display:none}.floor-info{padding:21px}.floor-info .detail-meta{grid-template-columns:1fr 1fr}.floor-info p{font-size:10px}.context-note{font-size:9px;line-height:1.8;align-items:flex-start}.context-note .icon{margin-top:3px;flex-shrink:0}.inbox-layout{display:block;min-height:0}.conversation-sidebar{border-right:0;border-bottom:1px solid var(--line)}.inbox-label{padding:18px 16px 5px}.inbox-intro{padding:0 16px 15px}.inbox-label h2{font-size:13px}#conversation-list{display:flex;overflow-x:auto;max-height:120px;background:#fcfdf9;scrollbar-width:thin;border-top:1px solid #eaf0df}.conversation-item{min-width:180px;max-width:180px;padding:13px 12px;gap:8px;border:0;border-right:1px solid #e9efde}.conversation-item.is-active{padding:13px 12px;border-left:0;box-shadow:inset 0 -3px #9fb888}.conversation-avatar{width:29px;height:29px;font-size:9px}.conversation-copy strong{font-size:10px}.conversation-copy p,.conversation-copy small,.conversation-copy span{max-width:112px;font-size:8px}.conversation-time{display:none}.chat-header{padding:17px 16px;min-height:70px}.chat-header h3,.chat-header strong{font-size:12px}.chat-header p,.chat-header small{font-size:9px}.chat-body{min-height:300px;max-height:410px;padding:21px 16px;gap:15px}.chat-bubble{padding:11px 13px;font-size:11px}.chat-message{max-width:88%}.chat-compose{padding:13px 13px 8px;gap:7px}.chat-compose input{font-size:10px;padding:10px}.chat-compose .button{min-width:38px;min-height:39px}.chat-disclaimer{font-size:7px;padding-inline:10px}.menu-surface .surface-heading{padding:21px 16px;display:block}.menu-surface .surface-heading h2{font-size:19px;line-height:1.3;max-width:265px}.menu-surface .surface-heading p{font-size:10px}.menu-surface .compact-field{margin-top:15px;flex-direction:row;align-items:center;gap:9px}.menu-items{padding:0 16px}.menu-item{gap:12px;padding:19px 0;display:grid;grid-template-columns:45px minmax(0,1fr) auto}.dish-icon{width:45px;height:45px;font-size:14px;grid-row:1}.dish-icon:after{height:27px;width:27px;outline-offset:3px}.menu-copy{grid-column:2/4;grid-row:1}.menu-copy h3,.menu-copy strong{font-size:12px}.menu-copy p{font-size:10px;line-height:1.6}.menu-category{font-size:7px;margin-top:4px}.menu-price{grid-column:2;grid-row:2;text-align:left;font-size:12px}.availability-toggle{grid-column:3;grid-row:2;min-width:101px;font-size:8px;min-height:30px;padding:6px 8px}.menu-footer{font-size:8px;line-height:1.8;padding:17px 16px}.menu-footer .icon{flex-shrink:0}.app-dialog{padding:25px 23px;width:calc(100vw - 22px);max-width:calc(100vw - 22px);max-height:calc(100svh - 22px);border-radius:13px}.app-dialog h2{font-size:24px}.dialog-intro{font-size:10px}.form-grid{gap:14px}.field{font-size:10px}.field input,.field select,.field textarea{font-size:12px;padding:10px 9px}.dialog-actions{gap:9px;margin-top:23px}.dialog-actions .button{min-height:41px;font-size:10px;padding-inline:12px;white-space:normal}.dialog-actions>span{font-size:8px;max-width:60px}.dialog-note{font-size:8px!important}.dialog-eyebrow{font-size:7px}.dialog-topline{margin-bottom:20px}.detail-actions .button{min-height:42px}.detail-meta{gap:13px}.toast{bottom:15px;font-size:11px;padding:13px 18px;min-width:250px}.help-steps p{font-size:11px}.small-dialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr}.help-dialog h2{font-size:25px}}
/* Legibility calibration for an operational interface. */
.workspace{max-width:1510px}.app-sidebar{scrollbar-width:thin}.nav-item{font-size:12px}.nav-caption{color:#737f69}.workspace-label,.local-state,.back-site{color:#75826a}.section-eyebrow{color:#75816b}.page-heading p:last-child{color:#74826a}.button{font-size:12px}.date-control input,.service-control select{font-size:11px}.kpi-top{font-size:12px;color:#6d7b63}.kpi-caption{color:#7d896f;font-size:10px}.kpi-foot small{font-size:9px;color:#7c876e}.small-status{font-size:10px;color:#6f865d}.amber-dot{color:#91723f}.surface-heading h2{font-size:15px}.surface-heading p{font-size:11px;color:#7e8a6e}.filter-tabs button{font-size:11px;color:#79876c}.search-field input{font-size:11px}.search-field input::placeholder{color:#879478}.booking-table th{font-size:9px;color:#7b876d}.booking-table td{font-size:12px;color:#768464}.guest-name{font-size:12px;color:#435b36}.guest-note{font-size:10px;color:#7f8e70}.channel-tag{font-size:10px;color:#748665}.status-pill{font-size:9px}.status-confirmed{color:#547938}.status-arrived,.status-seated{color:#44776f}.status-pending{color:#977035}.status-cancelled{color:#a56a55}.status-completed{color:#6d7e5e}.row-action{font-size:10px;color:#73895d}.table-footer{font-size:9px;color:#7e8c6a}.table-footer>span{font-size:9px}.text-button{font-size:10px;color:#73895c}.service-aside h2{font-size:13px}.arrival-item{width:100%;text-align:left}.arrival-item strong{font-size:11px;color:#5c744a}.arrival-item small{font-size:9px;color:#7e926a}.arrival-time{color:#a27550;font-size:11px}.arrival-person{flex:1;min-width:0}.room-summary-heading{font-size:11px;color:#c3d2b6}.room-summary-value>span,.room-summary p{color:#b2c5a1;font-size:10px}.room-summary button{font-size:11px}.channel-row{font-size:11px;color:#758b61;grid-template-columns:1fr auto}.channel-row .channel-track{grid-row:2;grid-column:1/-1}.channel-row strong{grid-column:2;grid-row:1;font-size:10px}.mini-note{font-size:9px;color:#829570}.activity-list{list-style:none;margin:0;padding-top:0}.activity-item{font-size:11px;color:#768b63}.activity-item>div{display:flex;align-items:center;justify-content:space-between;gap:18px;flex:1}.activity-dot{display:none}.activity-item time{font-size:9px;color:#859776}.menu-group-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 0 11px}.menu-group-heading h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:#8c9d77}.menu-group-heading>span{font-size:9px;color:#9eae89}.menu-copy h4{font-size:13px;font-weight:600;line-height:1.4;margin:0}.menu-copy p{color:#7d9269;font-size:11px}.menu-category{color:#8b9b76}.menu-price{color:#728a5b}.toggle-track{display:none}.availability-toggle{color:#7e8d69}.availability-toggle.is-available{color:#678649}.menu-footer{color:#849870}.chat-header{font-size:14px;font-weight:600;color:#56733f}.chat-day{font-size:9px;text-align:center;color:#98aa83;margin-bottom:12px}.chat-time{display:block;font-size:8px;color:#95a97f;text-align:right}.chat-bubble{font-size:12px;color:#5e7847}.chat-disclaimer{font-size:9px;color:#899d72}.conversation-copy strong{color:#5c7645}.conversation-copy span,.conversation-copy small{color:#849a70}.conversation-copy .unread-dot{display:inline-block;margin-left:7px;width:5px;height:5px;border-radius:50%;background:#94ad73;vertical-align:middle}.inbox-intro{color:#82976c}.floor-table .table-area{font-size:8px}.floor-table .table-state{font-size:9px}.floor-table .table-symbol{display:block;line-height:1.2}.floor-table.is-available{color:#66874a}.floor-table.is-reserved{color:#9c743f}.floor-info-empty small,.floor-selected>small{font-size:10px;color:#8ea377;display:block;line-height:1.8;margin-top:18px}.floor-info-icon{font-size:34px;color:#bbcda5;display:block;margin-bottom:19px}.floor-guest{display:flex;gap:10px;align-items:center;padding:18px 0}.floor-guest strong{font-size:12px;color:#627e48}.floor-guest p{margin:4px 0 0;font-size:10px}.floor-selected .eyebrow,.detail-heading .eyebrow{font-size:9px;color:#99a987;text-transform:uppercase;letter-spacing:.06em}.floor-selected .button{display:flex;width:100%;font-size:11px}.floor-info p{color:#7f9569}.floor-labels{color:#8a9f73}.floor-legend{color:#7d9266}.context-note{color:#82966f}.detail-heading{display:flex;align-items:center;gap:13px;margin-bottom:15px}.detail-heading .guest-avatar{width:47px;height:47px;font-size:13px}.detail-heading h2{margin-bottom:0}.detail-dialog .field small{font-size:9px;line-height:1.6;font-weight:400;color:#8c9f77}.detail-dialog .field+.button{margin-top:12px}.cancel-confirm{background:#fff8f2;border:1px solid #ead5c5;padding:16px;border-radius:8px;width:100%}.cancel-confirm p{font-size:11px;color:#a37d5d;margin-bottom:13px}.cancel-confirm .button{margin-right:6px;margin-top:5px}.dialog-intro,.app-dialog>p{color:#809469}.field{font-size:11px;color:#698352}.field>span:not(.optional){color:#839971;font-size:10px}.field .optional{color:#8ea078}.dialog-note{color:#84996d!important}.dialog-actions>span{color:#8fa47a}.booking-summary dt,.detail-meta dt{color:#889d74;font-size:10px}.booking-summary dd,.detail-meta dd{color:#617f47;font-size:13px}.review-intro p{color:#88a073}.help-steps p,.help-notice{color:#7e9568}.workspace-footer{color:#849873;font-size:9px}.sidebar-version{color:#7d8c6c;font-size:9px}
@media(max-width:1350px){.agenda-layout{grid-template-columns:minmax(0,1fr) 225px}.booking-table td{font-size:11px}.guest-name{font-size:11px}.guest-note{font-size:9px}.channel-tag{font-size:9px}.status-pill{font-size:8px}.row-action{font-size:9px}.kpi-top{font-size:11px}.kpi-foot small{font-size:8px}.kpi-caption{font-size:9px}.surface-heading h2{font-size:14px}.filter-tabs button{font-size:10px}.search-field input{font-size:10px}.table-footer>span{font-size:8px}.text-button{font-size:9px}.service-aside h2{font-size:12px}.button{font-size:11px}.workspace-footer{font-size:8px}}
@media(max-width:1100px){.agenda-layout{grid-template-columns:1fr}.guest-name{font-size:12px}.guest-note{font-size:10px}.channel-tag{font-size:10px}.booking-table td{font-size:12px}.status-pill{font-size:9px}.row-action{font-size:10px}}
@media(max-width:620px){.heading-actions .button{font-size:10px}.kpi-top{font-size:11px}.kpi-caption{font-size:9px}.small-status{font-size:9px}.kpi-foot small{font-size:9px}.filter-tabs button{font-size:10px;padding-inline:9px}.search-field input{font-size:12px}.booking-table td:nth-child(1){font-size:12px}.booking-table td:nth-child(2){font-size:12px}.guest-name{font-size:12px}.guest-note{font-size:10px;max-width:155px}.status-pill{font-size:9px}.channel-tag{font-size:9px}.row-action{font-size:9px}.service-aside h2{font-size:12px}.arrival-item strong{font-size:10px}.arrival-item small{font-size:8px}.arrival-time{font-size:9px}.room-summary-heading{font-size:10px}.room-summary-value>span{font-size:9px}.room-summary button{font-size:10px}.room-summary p{font-size:9px}.table-footer>span{font-size:8px}.text-button{font-size:9px}.activity-item{font-size:10px}.activity-item>div{align-items:flex-start;gap:10px}.activity-item time{font-size:8px}.surface-heading p{font-size:10px}.floor-table .table-area{font-size:7px}.floor-table .table-state{font-size:8px}.floor-tables{gap:31px 15px}.chat-bubble{font-size:12px}.chat-disclaimer{font-size:8px}.conversation-copy strong{font-size:11px}.conversation-copy span,.conversation-copy small{font-size:9px}.menu-copy h4{font-size:12px}.menu-copy p{font-size:11px}.menu-footer{font-size:9px}.field>span:not(.optional){font-size:9px}.dialog-note{font-size:9px!important}.booking-summary dd,.detail-meta dd{font-size:12px}.help-notice{font-size:10px}.workspace-footer{font-size:8px}.booking-table tbody tr:has(.empty-state){display:block}.booking-table tbody tr:has(.empty-state)>td{display:block;grid-column:1/-1}}
/* Secondary text stays readable on the light surfaces, not just decorative. */
.guest-note,.channel-tag,.booking-table th,.filter-tabs button,.surface-heading p,.page-heading p:last-child,.kpi-caption,.kpi-foot small,.arrival-item small,.activity-item,.activity-item time,.channel-row,.channel-row strong,.mini-note,.table-footer,.text-button,.menu-copy p,.menu-category,.menu-footer,.conversation-copy span,.conversation-copy small,.inbox-intro,.chat-disclaimer,.chat-time,.floor-info p,.floor-info-empty small,.floor-selected>small,.floor-labels,.floor-legend,.context-note,.field>span:not(.optional),.dialog-intro,.app-dialog>p,.dialog-actions>span,.booking-summary dt,.detail-meta dt,.detail-dialog .field small,.help-steps p,.help-notice,.workspace-footer,.sidebar-version,.nav-caption,.venue-card div>span,.back-site,.local-state,.workspace-label,.toolbar-hint,.compact-field,.menu-group-heading>span{color:#657459}
.status-pending{color:#8a632a}.status-completed{color:#61734e}.status-cancelled{color:#965f48}.table-footer>span{color:#657459}.field .optional{color:#738161}.dialog-note{color:#657459!important}.small-status{color:#5d7949}.amber-dot{color:#8a632a}.table-area{opacity:.86}.floor-table.is-available{color:#4f7335}.floor-table.is-reserved{color:#855f2b}.menu-copy h4{color:#425c33}.conversation-copy strong{color:#425f32}.guest-name{color:#344d2c}.arrival-item strong{color:#425f32}.row-action{color:#56763e}.availability-toggle.is-available{color:#547638}.availability-toggle{color:#6d7b5b}.dialog-note{background:#f5f7ef}
@media(max-height:950px) and (min-width:801px){.app-sidebar{padding-top:24px}.app-brand{margin-bottom:22px}.venue-card{margin-bottom:22px}.sidebar-divider{margin:19px 10px}.sidebar-bottom{padding-top:23px}.sidebar-invitation{padding:15px}.invitation-mark{display:none}.sidebar-invitation strong{font-size:14px}.sidebar-invitation p{margin:7px 0 12px;font-size:10px}.back-site{margin:17px 10px}.sidebar-version{padding-top:12px;font-size:8px}}
@media(max-height:740px) and (min-width:801px){.sidebar-invitation{display:none}.sidebar-bottom{padding-top:15px}}
@media(max-width:800px){.app-sidebar{visibility:hidden}.app-sidebar.is-open{visibility:visible}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ── demo-dark ── */
/* Tema nero e arancione. */
:root {
  --ink: #f5f5f3;
  --muted: #a4a6a8;
  --line: #292b2d;
  --paper: #090909;
  --white: #141516;
  --copper: #ff7a32;
  --copper-light: #302117;
  --green: #d7d9db;
  --sage: #202224;
  --radius: 14px;
  color-scheme: dark;
  background: var(--paper);
  color: var(--ink);
}

body { background: #090909; color: #f5f5f3; min-width: 0; }
::selection { color: #fff; background: #77401f; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #ff9b61; }
button:hover, a:hover { transition-duration: .18s; }
input, select, textarea { color: #f5f5f3; color-scheme: dark; }
select option { color: #f5f5f3; background: #181a1c; }
.skip-link { color: #101112; background: #ff7a32; }

/* Navigation shell */
.app-sidebar { background: #101112; border-right-color: #242527; scrollbar-color: #454749 #101112; }
.app-brand { margin-top: 1px; }
.app-brand img {
  filter: invert(1) hue-rotate(180deg) brightness(1.3) saturate(1.1);
  mix-blend-mode: screen;
}
.venue-card { background: #17181a; border-color: #2c2d30; border-radius: 11px; }
.venue-avatar { color: #ffc69d; background: #342319; }
.venue-card strong { color: #f5f5f3; font-size: 13px; }
.venue-check { color: #ff8b4d; }
.nav-caption { color: #94979b; font-size: 10px; letter-spacing: .12em; }
.nav-item { color: #aeb0b3; font-size: 13px; min-height: 47px; border: 1px solid transparent; }
.nav-item:hover { color: #f5f5f3; background: #1d1f21; }
.nav-item.is-active { color: #ff9c64; background: #302117; border-color: #59321e; }
.nav-item b, .nav-item.is-active .unread-count { color: #ffb185; background: #4a2d1d; }
.nav-item .unread-count { color: #bcc0c4; background: #2b2e31; }
.nav-secondary { font-size: 12px; }
.sidebar-divider { background: #2a2b2d; }
.sidebar-invitation { background: #18191b; border-color: #303234; border-radius: 12px; }
.sidebar-invitation strong { color: #f5f5f3; font-size: 15px; }
.sidebar-invitation p { color: #a4a6a8; font-size: 11px; }
.sidebar-invitation a { color: #ff9c64; font-size: 12px; }
.sidebar-invitation a:hover { color: #ffc9a9; }
.invitation-mark { background: #38261b; color: #ff9c64; }
.sidebar-version { border-color: #2c2e30; color: #8f9397; }
.tiny-dot { background: #ff8d50; }
.app-topbar { background: #101112; border-color: #27292b; }
.topbar-left > strong { color: #e3e5e7; font-size: 12px; }
.breadcrumb-divider { color: #575b60; }
.demo-badge { color: #ffb085; border-color: #603a23; background: #302117; font-size: 9px; }
.icon-button { color: #b2b5b9; }
.icon-button:hover { background: #252729; color: #fff; border-color: #393c40; }
.topbar-divider { background: #323438; }
.user-avatar { color: #eee; background: #2e3135; border-color: #1c1e21; }
.section-eyebrow { color: #ff9a5f; font-size: 10px; }
h1 { color: #f5f5f3; font-weight: 550; letter-spacing: -.045em; }
.page-heading p:last-child { color: #a4a6a8; font-size: 13px; }
.workspace { padding-top: 34px; }
.heading-actions .button { min-height: 44px; }

/* A restrained action hierarchy. */
.button { font-size: 12px; border-radius: 8px; }
.button.primary { background: #ff7a32; border-color: #ff7a32; color: #11100f; font-weight: 700; box-shadow: 0 2px 0 #00000025; }
.button.primary:hover { background: #ff985c; border-color: #ff985c; color: #11100f; }
.button.secondary, .heading-actions .guest-action { background: #17191b; color: #e4e6e8; border-color: #3a3d40; }
.button.secondary:hover, .heading-actions .guest-action:hover { background: #24272a; color: #fff; border-color: #555a5f; }
.button.danger { color: #ffb9ae; background: #352120; border-color: #6b3731; }
.button.danger:hover { color: #ffd3cc; background: #4d2925; border-color: #8d493f; }
.date-control, .service-control { background: #151719; border-color: #393c40; height: 39px; }
.date-control .icon { color: #aaaeb3; }
.date-control input { color: #e7e8ea; color-scheme: dark; }
.service-control select { color: #e1e3e6; }
.service-dot { background: #ff9454; }

/* Overview */
.kpi-card { background: #141516; border-color: #2c2e30; border-radius: 12px; padding-top: 20px; padding-bottom: 18px; }
.kpi-top { color: #b5b8bc; font-size: 12px; }
.kpi-top .icon { color: #8e949a; }
.kpi-value strong { color: #f5f5f3; letter-spacing: -.055em; }
.kpi-caption { color: #a4a6a8; }
.kpi-foot small { color: #999da2; }
.metric-line i { background: #e98245; }
.metric-line.sage i { background: #8a929a; }
.small-status { color: #c2c5c8; }
.small-status:before { background: #c2c5c8; }
.amber-dot { color: #ffad78; }
.amber-dot:before { background: #ff9454; }
.attention-card { background: #1c1714; border-color: #59351f; }
.attention-card .kpi-top .icon, .attention-card .kpi-value strong { color: #ff9c64; }
.surface { background: #141516; border-color: #2c2e30; box-shadow: 0 4px 24px #0000000b; }
.surface-heading h2 { color: #f0f1ef; font-weight: 600; }
.surface-heading p { color: #a4a6a8; }
.count-pill { color: #cbd0d5; background: #25282c; border-color: #3a3d41; }
.filter-tabs { gap: 4px; }
.filter-tabs button { color: #a4a6a8; border: 1px solid transparent; }
.filter-tabs button:hover { color: #fff; background: #26282a; }
.filter-tabs button.is-active { color: #ffad7c; background: #302217; border-color: #563622; }
.search-field { border-color: #3a3c3f; background: #111213; }
.search-field .icon { color: #93999e; }
.search-field input { color: #e7e9eb; }
.search-field input::placeholder { color: #8e949a; }
.search-field:focus-within { border-color: #c56a34; box-shadow: 0 0 0 2px #ff7a3217; }
.booking-table { color: #c9cdd1; }
.booking-table th { background: #111213; color: #a4a9af; border-color: #2c2e31; font-size: 10px; letter-spacing: .07em; }
.booking-table td { color: #c9cdd1; border-color: #27292c; }
.booking-table td:first-child { color: #eff0ef; font-variant-numeric: tabular-nums; }
.booking-table tbody tr:hover { background: #1b1d1f; }
.guest-avatar, .booking-table tr:nth-child(3n+2) .guest-avatar, .booking-table tr:nth-child(3n) .guest-avatar { background: #2a2e32; color: #cdd2d8; border-color: #3d4247; }
.booking-table tr:nth-child(3n+2) .guest-avatar { background: #35281f; color: #efbf9b; border-color: #534030; }
.booking-table tr:nth-child(3n) .guest-avatar { background: #242b35; color: #b4c6e0; border-color: #374457; }
.guest-name { color: #f0f1ef; font-size: 12px; }
.guest-note, .channel-tag { color: #a4a9af; }
.channel-tag:before { border-color: #9a9fa4; }
.status-pill { color: #c5cbd1; background: #282c30; padding: 5px 8px; border: 1px solid #3b4148; font-size: 10px; }
.status-confirmed { color: #dedfdf; background: #2b2e31; border-color: #44494e; }
.status-arrived, .status-seated { color: #b2d0fb; background: #1e2d40; border-color: #345174; }
.status-pending { color: #ffb689; background: #352418; border-color: #63412a; }
.status-completed { color: #b2b7be; background: #25272a; border-color: #393d42; }
.status-cancelled { color: #ffbcb1; background: #392523; border-color: #603d38; }
.row-action { color: #e5e7e9; border-color: #42464b; background: #222528; min-height: 32px; }
.row-action:hover { color: #ffc29b; background: #36281f; border-color: #7a4c2d; }
.table-footer { background: #121314; border-color: #2c2e31; color: #a4a6a8; }
.table-footer > span { color: #a4a6a8; }
.text-button { color: #ffad7c; }
.text-button:hover { color: #ffd1b6; }
.empty-state { color: #a4a6a8; }
.empty-state strong { color: #e6e7e8; }
.subtle-badge { color: #b1b7bd; background: #25282b; }
.subtle-icon { color: #929aa2; }

/* Service context */
.arrival-item { border-color: #2c2e30; }
.arrival-item:hover { background: #1c1e20; }
.arrival-item time, .arrival-time { color: #ffab79; }
.arrival-item strong { color: #e3e5e7; }
.arrival-item small { color: #a4a6a8; }
.arrival-item .arrival-avatar { color: #cbd0d5; background: #282c30; }
.arrival-item > span:last-child { color: #a4a6a8; }
.room-summary { background: #1c1815; color: #fff5ed; border: 1px solid #603b24; }
.room-summary-heading { color: #f4c3a3; }
.room-summary-heading .icon { color: #ffac79; }
.room-summary-value strong { color: #fff5ed; }
.room-summary-value > span, .room-summary p { color: #cbb8ac; }
.occupancy-track { background: #483326; }
.occupancy-track > span { background: #ff8a47; }
.room-summary button { background: #2e2118; color: #ffc197; border-top: 1px solid #5a3a26; }
.room-summary button:hover { background: #402d20; color: #ffe0ca; }
.room-decoration { border-color: #bd6d37; }
.channel-row, .channel-row strong { color: #b5bac0; }
.channel-track { background: #2b2e31; }
.channel-track span { background: #ff8b4a; }
.channel-row:nth-child(2) .channel-track span { background: #bdc4cd; }
.channel-row:nth-child(3) .channel-track span { background: #8397b0; }
.channel-row:nth-child(4) .channel-track span { background: #707980; }
.mini-note { color: #999fa5; }
.activity-item { color: #aeb3b9; border-color: #2a2c2f; }
.activity-item:before { background: #b0b5bb; border-color: #16181a; outline-color: #464c52; }
.activity-item strong { color: #e1e4e7; }
.activity-item small, .activity-item time { color: #979ea5; }

/* Floor plan — readable neutral tables with an orange occupancy state. */
.compact-field { color: #a4a6a8; }
.compact-field select { color: #e1e4e6; background: #17191b; border-color: #41464b; }
.floor-legend { color: #b7bdc4; }
.floor-legend span:before { background: #292d31; border-color: #69727c; }
.floor-legend .legend-reserved:before { background: #483020; border-color: #d08d58; }
.floor-legend .legend-occupied:before { background: #ff7a32; border-color: #ff9f67; }
.floor-plan { background-color: #0d0f10; background-image: radial-gradient(#34383d 1px, transparent 1px); border-color: #33373c; }
.floor-architecture { color: #9099a3; border-color: #4e5863; }
.floor-table, .floor-table.is-available { color: #e0e4e8; background: #202428; border-color: #5a626c; box-shadow: 0 3px 0 #0a0b0d; }
.floor-table:before, .floor-table:after { background: #333a42; box-shadow: inset 0 0 0 1px #535e69; }
.floor-table:hover { box-shadow: 0 6px 0 #050607; border-color: #abb4bf; }
.floor-table.is-selected { outline-color: #ff9a60; }
.floor-table.is-reserved { color: #ffc397; background: #35271e; border-color: #a06c47; box-shadow: 0 3px 0 #140f0c; }
.floor-table.is-reserved:before, .floor-table.is-reserved:after { background: #69452e; box-shadow: inset 0 0 0 1px #987053; }
.floor-table.is-occupied { color: #17110d; background: #ff8a47; border-color: #ffb180; box-shadow: 0 3px 0 #8a3f15; }
.floor-table.is-occupied:before, .floor-table.is-occupied:after { background: #b56432; box-shadow: inset 0 0 0 1px #ec9e68; }
.floor-table .table-area, .floor-table .table-state, .table-capacity { color: inherit; opacity: .91; }
.floor-labels { border-color: #353b42; color: #a4aab1; }
.floor-info h2, .floor-info h3 { color: #f0f2f3; }
.floor-info p, .floor-info-empty small, .floor-selected > small { color: #a4aab1; }
.floor-info-icon { color: #8996a3; }
.floor-info .detail-meta div { border-color: #33383f; }
.floor-info .detail-meta dt { color: #a4aab1; }
.floor-info .detail-meta dd { color: #e5e8eb; }
.floor-guest strong { color: #eff0f2; }
.floor-selected .eyebrow, .detail-heading .eyebrow { color: #ffae7b; }
.context-note { color: #a4aab1; }

/* Conversations */
.conversation-sidebar { background: #141516; border-color: #303338; }
.inbox-intro { color: #a4a6a8; }
.conversation-item { border-color: #2b2e32; }
.conversation-item:hover { background: #202326; }
.conversation-item.is-active { background: #2d231c; border-left-color: #ff9454; }
.conversation-avatar { color: #d4d9df; background: #2b3138; }
.conversation-copy strong { color: #f0f2f3; }
.conversation-copy p, .conversation-copy span, .conversation-copy small { color: #aeb5bd; }
.conversation-copy .unread-dot { background: #ff9454; }
.conversation-time { color: #969ea7; }
.chat-main { background: #0e1012; }
.chat-header { background: #141516; color: #f0f2f3; border-color: #303338; }
.chat-header strong, .chat-header h3 { color: #f0f2f3; }
.chat-header p, .chat-header small { color: #aab2bb; }
.chat-body { background-image: radial-gradient(#2c3035 .7px, transparent .7px); }
.chat-bubble { background: #22262b; color: #e0e4e9; border-color: #3b424a; }
.is-outgoing .chat-bubble { background: #38281e; color: #ffe1cd; border-color: #68442c; }
.chat-day, .chat-time { color: #a2abb5; }
.chat-compose { background: #141516; border-color: #303338; }
.chat-compose input { color: #f0f2f3; background: #101214; border-color: #3a4148; }
.chat-compose input::placeholder { color: #929ba5; }
.chat-disclaimer { background: #141516; color: #a2a9b2; }

/* Menu */
.menu-item { border-color: #303337; }
.menu-group-heading h3 { color: #ffab76; }
.menu-group-heading > span { color: #a5adb5; }
.dish-icon, .menu-item:nth-child(3n+2) .dish-icon, .menu-item:nth-child(3n) .dish-icon { background: #28221e; color: #dcb48f; border-color: #514134; }
.dish-icon:after { border-color: #c1967159; outline-color: #c196712e; }
.menu-copy h3, .menu-copy h4, .menu-copy strong { color: #f0f1ef; }
.menu-copy p { color: #afb5bb; }
.menu-category { color: #959fa9; }
.menu-price { color: #f1c3a4; }
.availability-toggle { color: #b2b9c1; background: #212428; border-color: #434a52; }
.availability-toggle:before { background: #4c5259; box-shadow: inset 0 0 0 1px #616970; }
.availability-toggle.is-available { color: #ffbe96; background: #30251e; border-color: #684831; }
.availability-toggle.is-available:before { background: #ff985b; box-shadow: inset -5px 0 0 #d26b2c; }
.availability-toggle:hover { border-color: #ff9e65; }
.menu-footer { color: #a7afb8; background: #111315; border-color: #30353b; }

/* Native modal surfaces and form states */
.app-dialog { color: #f5f5f3; background: #16181a; border-color: #4b5056; box-shadow: 0 32px 110px #00000099; }
.app-dialog::backdrop { background: #000000ab; backdrop-filter: blur(6px); }
.dialog-eyebrow { color: #ffad7b; font-size: 10px; }
.app-dialog h2 { color: #f5f5f3; }
.dialog-intro, .app-dialog > p { color: #afb6bd; font-size: 12px; }
.field { color: #d2d7dc; font-size: 12px; }
.field input, .field select, .field textarea { color: #f5f5f3; background: #0f1113; border-color: #454c54; min-height: 43px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #db874f; }
.field > span:not(.optional), .field .optional, .detail-dialog .field small { color: #a5afb9; }
.field textarea::placeholder { color: #8e99a4; }
.dialog-actions > span { color: #a5adb6; }
.dialog-note { color: #aab2ba !important; background: #21252a; border: 1px solid #373e46; }
.form-error { color: #ffb19b; }
.field [aria-invalid=true] { color: #ffe0d4; border-color: #cb7854; background: #2e1e19; }
.review-intro { color: #f3decc; background: #2b211a; border-color: #69482e; }
.review-intro > span { color: #ffae76; }
.review-intro p { color: #c5b7ab; }
.booking-summary div, .detail-meta div { border-color: #373c43; }
.booking-summary dt, .detail-meta dt { color: #a5afb9; }
.booking-summary dd, .detail-meta dd { color: #edf0f2; }
.detail-note { color: #e5bb9b; background: #2b231d; border-color: #62503e; }
.cancel-confirm { background: #30211c; border-color: #694233; }
.cancel-confirm p { color: #edb49c; }
.help-steps li > span { color: #ff9d62; }
.help-steps strong { color: #edf0f3; }
.help-steps p { color: #afb6bd; }
.help-notice { color: #aab5c0; background: #21262c; border-color: #3b4651; }
.toast { color: #f5ede7; background: #30231b; border-color: #9b5c32; box-shadow: 0 12px 40px #00000060; }
.noscript-message { color: #ffc19a; background: #201b17; border-color: #8b5b37; }
.workspace-footer, .workspace-footer > span:last-child { color: #9199a2; }
.venue-card div > span, .back-site, .local-state, .workspace-label, .toolbar-hint { color: #a4a6a8; }
.back-site:hover { color: #fff; }
.nav-scrim:not([hidden]) { background: #000000a6; }

@media (min-width: 1650px) {
  .booking-table { font-size: 13px; }
  .booking-table td, .guest-name { font-size: 13px; }
  .guest-note { font-size: 11px; }
  .status-pill, .channel-tag { font-size: 11px; }
}

@media (max-width: 1350px) {
  .nav-item { font-size: 12px; }
  .venue-card strong { font-size: 12px; }
  .booking-table td, .guest-name { font-size: 11px; }
  .status-pill { font-size: 9px; padding-inline: 6px; }
  .kpi-top { font-size: 11px; }
}

@media (max-width: 1100px) {
  .booking-table td, .guest-name { font-size: 12px; }
  .heading-actions .guest-action { background: transparent; }
  .heading-actions .guest-action:hover { background: #222528; }
}

@media (max-width: 800px) {
  .app-sidebar { box-shadow: 14px 0 55px #00000070; }
  .app-sidebar .nav-item { font-size: 13px; }
  .heading-actions .guest-action { background: #17191b; border-color: #3a3d40; }
  .workspace { padding-top: 27px; }
}

@media (max-width: 620px) {
  .app-topbar { background: #101112ed; backdrop-filter: blur(16px); }
  .page-heading p:last-child { font-size: 12px; line-height: 1.7; }
  .section-eyebrow { font-size: 9px; }
  .heading-actions .button { min-height: 44px; font-size: 11px; }
  .heading-actions .guest-action { font-size: 10px; }
  .date-control, .service-control { height: 39px; }
  .kpi-card { padding: 16px 14px 14px; }
  .kpi-top { font-size: 11px; }
  .kpi-caption, .kpi-foot small, .small-status { font-size: 9px; }
  .booking-table tbody tr { border-color: #303338; padding-block: 18px; }
  .booking-table td:nth-child(3), .booking-table td:nth-child(5) { color: #aeb7c0; }
  .guest-name { font-size: 13px; }
  .status-pill { font-size: 9px; }
  .row-action { min-height: 40px; }
  .filter-tabs { gap: 2px; }
  .filter-tabs button { padding-inline: 8px; font-size: 10px; min-height: 36px; }
  .table-footer { background: #111315; }
  .arrival-item strong { font-size: 11px; }
  .arrival-item small { font-size: 9px; }
  .arrival-time { font-size: 10px; }
  .room-summary { border-radius: 11px; }
  .floor-legend { color: #b5bdc5; }
  .floor-table .table-state { font-size: 8px; }
  .floor-table .table-area { font-size: 7px; }
  .conversation-sidebar { border-bottom-color: #303338; }
  #conversation-list { background: #111315; border-top-color: #303338; }
  .conversation-item { border-right-color: #32373c; }
  .conversation-item.is-active { box-shadow: inset 0 -3px #ff9454; }
  .chat-compose input, .search-field input { font-size: 16px; }
  .menu-copy h4 { font-size: 13px; }
  .availability-toggle { min-height: 36px; }
  .dialog-eyebrow { font-size: 9px; }
  .field { font-size: 11px; }
  .field input, .field select, .field textarea { font-size: 16px; }
  .dialog-actions .button { min-height: 44px; }
}

.workspace-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
}

.workspace-legal a {
  color: #a6adb5;
  text-decoration: none;
}

.workspace-legal a:hover,
.workspace-legal a:focus-visible {
  color: #ff9b63;
}

@media (max-width: 800px) {
  .workspace-footer {
    flex-wrap: wrap;
    gap: 11px 18px;
  }

  .workspace-legal {
    order: 3;
    flex-basis: 100%;
    justify-content: flex-start;
  }
}

/* ── restaurant-floor ── */
/* Architectural floor plan. All tables remain native, individually operable buttons. */
.floor-layout { align-items: start; }
.floor-surface { min-width: 0; overflow: hidden; }
.floor-plan { padding: 0; background: #111213; background-image: none; border-color: #303236; overflow: hidden; }
.floor-architecture { display: none; }
.floor-map-scroll { width: 100%; max-width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #73503a #161718; -webkit-overflow-scrolling: touch; }
.floor-map-scroll:focus-visible { outline: 2px solid #ff9a60; outline-offset: -3px; }
.floor-tables {
  display: block;
  position: relative;
  width: 100%;
  min-width: 720px;
  aspect-ratio: 1000 / 680;
  padding: 0;
  isolation: isolate;
  background: #111213 url("./assets/restaurant-plan.svg?v=20261013-floor-3") center / 100% 100% no-repeat;
  container-type: inline-size;
}
.floor-zone-label { position: absolute; z-index: 1; top: 3.7%; display: flex; align-items: center; gap: 11px; color: #e2ded7; pointer-events: none; }
.floor-zone-indoor { left: 5.3%; }
.floor-zone-terrace { left: 71%; }
.floor-zone-label strong { font-size: clamp(10px, 1.35cqw, 14px); font-weight: 600; letter-spacing: .025em; }
.floor-zone-label small { color: #92918c; font-size: clamp(8px, 1.03cqw, 11px); }
.floor-tables[data-focus-area="Sala interna"] .floor-zone-terrace,
.floor-tables[data-focus-area="Terrazza"] .floor-zone-indoor { opacity: .38; }
.floor-tables .plan-table {
  --table-face: #d8d0c1;
  --table-edge: #8d8170;
  --table-ink: #28231e;
  --seat-face: #59544d;
  --seat-edge: #91836e;
  --state-color: #d6d0c6;
  position: absolute;
  z-index: 2;
  display: block;
  height: 17.6471%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--table-ink);
  background: transparent;
  box-shadow: none;
  transform: translate(-50%, -50%);
  transition: opacity .2s ease;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.floor-tables .plan-table:before,
.floor-tables .plan-table:after { content: none; }
.floor-tables .plan-table:hover { border: 0; background: transparent; transform: translate(-50%, -50%); box-shadow: none; }
.floor-tables .plan-table.is-selected { z-index: 4; outline: none; }
.plan-tabletop {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 53.3333%;
  height: 53.3333%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #ede5d280;
  border-radius: 9%;
  color: var(--table-ink);
  background: radial-gradient(ellipse at 25% 10%, #ffffff26, transparent 75%), var(--table-face);
  box-shadow: 0 4px 0 var(--table-edge), 0 8px 10px #00000055, inset 0 0 0 3px #ffffff0b;
  transition: box-shadow .16s ease, filter .16s ease;
}
.plan-table.seats-2 .plan-tabletop { width: 51.6667%; height: 51.6667%; border-radius: 50%; }
.plan-table.seats-6 .plan-tabletop { width: 63.8554%; height: 50%; border-radius: 6px; }
.plan-table.seats-8 .plan-tabletop { width: 67.7419%; height: 51.6667%; border-radius: 6px; }
.floor-tables .plan-table strong { position: relative; z-index: 1; margin: 0; font-size: clamp(10px, 1.4cqw, 15px); font-weight: 750; letter-spacing: -.045em; line-height: 1.3; }
.floor-tables .plan-table small { position: relative; z-index: 1; font-size: clamp(7px, .9cqw, 10px); line-height: 1.45; font-weight: 550; }
.plan-chair {
  position: absolute;
  width: 20%;
  height: 15%;
  border: 1px solid var(--seat-edge);
  border-top-width: 3px;
  border-radius: 5px 5px 3px 3px;
  background: linear-gradient(#ffffff0b, transparent), var(--seat-face);
  box-shadow: 0 3px 0 #141311, 0 5px 5px #0000004d, inset 0 -2px 0 #0000002e;
  transform: translate(-50%, -50%) rotate(var(--chair-angle));
  pointer-events: none;
}
.seats-6 .plan-chair { width: 14.4578%; }
.seats-8 .plan-chair { width: 12.9032%; }
.plan-setting { position: absolute; width: 12%; aspect-ratio: 1; border: 1px solid #ffffffa1; border-radius: 50%; background: #ffffff38; opacity: .75; pointer-events: none; }
.plan-setting-one { left: 8%; top: 11%; }
.plan-setting-two { right: 8%; bottom: 11%; }
.seats-2 .plan-setting { width: 11%; }
.seats-2 .plan-setting-one { left: 45%; top: 8%; }
.seats-2 .plan-setting-two { right: 44%; bottom: 8%; }
.plan-table-caption { position: absolute; top: calc(100% + 3px); left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; color: #d2cec6; font-size: clamp(8px, 1.1cqw, 11px); font-weight: 500; line-height: 1.25; }
.plan-table-caption i { display: inline-block; width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; background: var(--state-color); }
.floor-tables .plan-table.is-reserved { --table-face: #986642; --table-edge: #61412c; --table-ink: #fff7ed; --seat-face: #554130; --seat-edge: #a47956; --state-color: #d1a077; }
.floor-tables .plan-table.is-occupied { --table-face: #ff8b4b; --table-edge: #a24d23; --table-ink: #28170d; --seat-face: #895435; --seat-edge: #d59567; --state-color: #ff8b4b; }
.floor-tables .plan-table.is-pending { --table-face: #e1ba72; --table-edge: #8a6c40; --table-ink: #2e2518; --seat-face: #635139; --seat-edge: #a48b61; --state-color: #e1ba72; }
.floor-tables .plan-table.is-pending .plan-table-caption i { background: transparent; box-shadow: inset 0 0 0 1px var(--state-color); }
.floor-tables .plan-table:is(:hover, :focus-visible) .plan-tabletop { filter: brightness(1.12); box-shadow: 0 4px 0 var(--table-edge), 0 8px 12px #00000070, 0 0 0 3px #ffffff28; }
.floor-tables .plan-table.is-selected .plan-tabletop,
.floor-tables .plan-table:focus-visible .plan-tabletop { box-shadow: 0 4px 0 var(--table-edge), 0 8px 12px #00000070, 0 0 0 3px #161718, 0 0 0 5px #ff9a60; }
.floor-tables .plan-table.is-outside-area { opacity: .19; cursor: default; pointer-events: none; }
.floor-labels { margin: 0; padding: 13px 20px; border-color: #303133; color: #aaa9a5; background: #171819; font-size: 10px; gap: 12px; flex-wrap: wrap; }
.floor-labels .icon { width: 13px; height: 13px; }
.floor-pan-hint { display: none !important; color: #e0b48d; }
.floor-legend { flex-wrap: wrap; gap: 12px; }
.floor-legend .legend-free:before { background: #d8d0c1; border-color: #a99e8c; }
.floor-legend .legend-reserved:before { background: #986642; border-color: #d1a077; }
.floor-legend .legend-occupied:before { background: #ff8b4b; border-color: #ffae7d; }
.floor-legend .legend-pending:before { background: #e1ba72; border-color: #e1ba72; }
.floor-info { position: sticky; top: 22px; }
@media (max-width: 1440px) and (min-width: 1101px) {
  .floor-layout { grid-template-columns: minmax(0, 1fr); }
  .floor-info { position: static; }
  .floor-info-empty { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 4px 16px; text-align: left; }
  .floor-info-empty .floor-info-icon { grid-row: 1 / 4; margin: 0; }
  .floor-info-empty h3, .floor-info-empty p, .floor-info-empty small { margin: 0; }
}
@media (max-width: 1100px) {
  .floor-info { position: static; }
}
@media (max-width: 800px) {
  .floor-tables { min-width: 720px; }
  .floor-pan-hint { display: inline-flex !important; }
  .floor-labels { padding: 12px 16px; font-size: 9px; }
}
@media (max-width: 620px) {
  .floor-plan { padding: 0; }
  .floor-tables { padding: 0; }
  .floor-toolbar { padding-bottom: 17px; }
  .floor-legend { gap: 10px 15px; font-size: 9px; }
  .floor-labels { align-items: center; }
  .floor-labels .icon { display: block; }
  .floor-surface .surface-heading p { font-size: 10px; line-height: 1.65; }
}

/* ── demo-embed ── */
/* A compact presentation of the actual application. No duplicate demo state. */
html.is-embedded { --sidebar: 200px; scroll-behavior: auto; }
.is-embedded body { font-size: 13px; }
.is-embedded .app-sidebar { padding: 22px 14px; }
.is-embedded .app-brand { padding: 0 5px; margin-bottom: 20px; }
.is-embedded .app-brand img { width: 165px; max-width: 100%; }
.is-embedded .venue-card { padding: 10px 8px; margin-bottom: 22px; gap: 8px; }
.is-embedded .venue-avatar { width: 30px; height: 30px; font-size: 14px; }
.is-embedded .venue-check { display: none; }
.is-embedded .nav-item { padding: 10px 11px; gap: 9px; min-height: 42px; }
.is-embedded .nav-item .icon { width: 17px; height: 17px; }
.is-embedded .sidebar-divider { margin: 20px 7px; }
.is-embedded .sidebar-invitation,
.is-embedded .sidebar-version,
.is-embedded .back-site,
.is-embedded .workspace-footer { display: none; }
.is-embedded .sidebar-bottom { margin: 0; padding: 0; }
.is-embedded .app-topbar { height: 58px; padding: 0 24px; }
.is-embedded .workspace { padding: 24px 24px 28px; }
.is-embedded .page-heading { margin-bottom: 20px; gap: 16px; }
.is-embedded .page-heading h1 { font-size: 28px; }
.is-embedded .section-eyebrow { margin-bottom: 6px; letter-spacing: .07em; }
.is-embedded .heading-actions { gap: 8px; }
.is-embedded .heading-actions .button { padding: 10px 12px; }
.is-embedded .service-toolbar { margin-bottom: 18px; }
.is-embedded .toolbar-hint { display: none; }
.is-embedded .kpi-grid { gap: 10px; margin-bottom: 20px; }
.is-embedded .kpi-card { padding: 14px; }
.is-embedded .kpi-value { margin: 10px 0 0; gap: 8px; }
.is-embedded .kpi-value strong { font-size: 29px; }
.is-embedded .kpi-foot { display: none; }
.is-embedded .agenda-layout { grid-template-columns: minmax(0, 1fr); }
.is-embedded .service-aside { display: none; }
.is-embedded .surface-heading { padding: 19px 20px 17px; }
.is-embedded .surface-heading p { line-height: 1.6; }
.is-embedded .agenda-tools { padding: 0 20px 16px; }
.is-embedded .search-field { max-width: 180px; }
.is-embedded .booking-table td { height: 69px; padding-inline: 12px; }
.is-embedded .booking-table th { padding-inline: 12px; }
.is-embedded .guest-cell { gap: 9px; }
.is-embedded .guest-note { max-width: 170px; }
.is-embedded .table-footer { padding: 15px 20px; }
.is-embedded .activity-list { padding-inline: 20px; }
.is-embedded .floor-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.is-embedded .floor-info { min-height: 0; }
.is-embedded .inbox-layout { grid-template-columns: 230px minmax(0, 1fr); min-height: 430px; }
.is-embedded .conversation-item { padding-inline: 14px; }
.is-embedded .conversation-item.is-active { padding-left: 11px; }
.is-embedded .inbox-label { padding: 20px 14px 8px; flex-wrap: wrap; }
.is-embedded .inbox-intro { padding: 0 14px 17px; }
.is-embedded .chat-header { min-height: 65px; padding: 16px 20px; }
.is-embedded .chat-body { min-height: 260px; max-height: 340px; padding: 20px; }
.is-embedded .chat-compose { padding: 13px 16px 8px; }
.is-embedded .app-dialog { max-height: calc(100svh - 24px); overflow-y: auto; }
.is-embedded .field input,
.is-embedded .field select,
.is-embedded .field textarea { font-size: 13px; }
.is-embedded .toast { max-width: calc(100vw - 28px); font-size: 12px; }

/* Metadata remains readable at the native iframe size: never shrink-to-fit. */
.is-embedded body :is(
  small, time, .nav-caption, .nav-item b, .nav-secondary, .venue-card div > span,
  .topbar-left, .local-state, .demo-badge, .user-avatar, .section-eyebrow,
  .page-heading p:last-child, .button, .date-control input, .service-control select,
  .kpi-top, .kpi-caption, .surface-heading p, .count-pill, .filter-tabs button,
  .search-field input, .booking-table th, .guest-note, .channel-tag, .status-pill,
  .row-action, .table-footer, .table-footer > span, .text-button, .activity-item,
  .activity-item time, .subtle-badge, .compact-field, .compact-field select,
  .floor-legend, .floor-labels, .floor-architecture, .table-capacity, .table-area,
  .table-state, .floor-info p, .floor-selected > small, .floor-info-empty small,
  .context-note, .conversation-copy span, .conversation-copy small,
  .conversation-time, .inbox-intro, .chat-time, .chat-disclaimer, .chat-day,
  .chat-compose input, .menu-group-heading h3, .menu-group-heading > span,
  .menu-copy p, .menu-category, .availability-toggle, .menu-footer,
  .dialog-eyebrow, .dialog-intro, .field, .field > span, .field .optional,
  .dialog-actions > span, .dialog-note, .detail-meta dt, .detail-dialog .field small,
  .review-intro p, .help-notice, .form-error, .floor-selected .eyebrow,
  .detail-heading .eyebrow
) { font-size: 11px; }

@media (min-width: 801px) and (max-width: 1120px) {
  .is-embedded .page-heading { flex-wrap: wrap; }
  .is-embedded .heading-actions { margin-top: 0; }
  .is-embedded .guest-avatar { display: none; }
  .is-embedded .booking-table { min-width: 610px; }
  .is-embedded .table-scroll { overflow-x: auto; }
}
@media (max-width: 800px) {
  html.is-embedded { --sidebar: 220px; }
  .is-embedded .app-frame { margin-left: 0; }
  .is-embedded .app-topbar { padding: 0 16px; }
  .is-embedded .workspace { padding: 20px 16px 25px; }
  .is-embedded .app-sidebar { padding: 24px 18px; }
  .is-embedded .page-heading h1 { font-size: 27px; }
  .is-embedded .inbox-layout { grid-template-columns: 200px minmax(0, 1fr); }
}
@media (max-width: 620px) {
  .is-embedded .app-topbar { height: 52px; padding-inline: 12px; }
  .is-embedded .workspace { padding: 19px 13px 24px; }
  .is-embedded .page-heading { margin-bottom: 16px; }
  .is-embedded .section-eyebrow { display: none; }
  .is-embedded .page-heading h1 { font-size: 25px; }
  .is-embedded .page-heading p:last-child { margin-top: 5px; }
  .is-embedded .heading-actions { margin-top: 16px; gap: 7px; }
  .is-embedded .heading-actions .button { font-size: 11px; padding: 9px 8px; min-height: 42px; white-space: normal; }
  .is-embedded .heading-actions .icon { display: none; }
  .is-embedded .service-controls { gap: 7px; }
  .is-embedded .date-control,
  .is-embedded .service-control { padding-inline: 7px; }
  .is-embedded .service-control .service-dot { display: none; }
  .is-embedded .kpi-grid { gap: 8px; margin-bottom: 17px; }
  .is-embedded .kpi-card { padding: 12px; }
  .is-embedded .kpi-top { gap: 5px; }
  .is-embedded .kpi-top .icon { width: 14px; height: 14px; }
  .is-embedded .kpi-caption { display: none; }
  .is-embedded .kpi-value strong { font-size: 27px; }
  .is-embedded .surface-heading { padding: 17px 14px 15px; }
  .is-embedded .surface-heading h2 { font-size: 14px; }
  .is-embedded .agenda-tools { padding: 0 14px 15px; }
  .is-embedded .filter-tabs { flex-wrap: wrap; justify-content: flex-start; gap: 3px; }
  .is-embedded .filter-tabs button { padding-inline: 8px; min-height: 35px; }
  .is-embedded .search-field { max-width: none; margin-top: 9px; }
  .is-embedded .table-scroll { overflow: visible; }
  .is-embedded .booking-table tbody tr { padding: 15px 14px; grid-template-columns: 44px minmax(0, 1fr) 51px; gap: 8px; }
  .is-embedded .booking-table td { height: auto; font-size: 11px; }
  .is-embedded .booking-table td:nth-child(3):after { content: ''; }
  .is-embedded .booking-table td:nth-child(3) .sr-only { position: static; width: auto; height: auto; clip: auto; margin-left: 3px; font-size: 11px; }
  .is-embedded .guest-note { max-width: 135px; }
  .is-embedded .row-action { max-width: 51px; padding: 7px 4px; font-size: 11px; }
  .is-embedded .row-action span { display: none; }
  .is-embedded .table-footer { display: block; padding: 14px; }
  .is-embedded .table-footer > span { display: block; max-width: none; margin-bottom: 8px; }
  .is-embedded .floor-legend { flex-wrap: wrap; gap: 12px; }
  .is-embedded .floor-labels { flex-wrap: wrap; }
  .is-embedded .inbox-layout { display: block; }
  .is-embedded .conversation-item { min-width: 205px; max-width: 205px; }
  .is-embedded .conversation-copy span { max-width: 145px; }
  .is-embedded .chat-body { min-height: 250px; padding: 18px 14px; }
  .is-embedded .chat-compose { padding-inline: 12px; }
  .is-embedded .menu-items { padding-inline: 14px; }
  .is-embedded .menu-item { column-gap: 10px; }
  .is-embedded .availability-toggle { min-width: 112px; }
  .is-embedded .app-dialog { width: calc(100vw - 16px); max-width: calc(100vw - 16px); padding: 22px 18px; }
  .is-embedded .dialog-actions .button { font-size: 11px; }
  .is-embedded .dialog-actions > span { max-width: 70px; }
  /* Keep editable controls at iOS' non-zooming size inside the compact frame. */
  .is-embedded body .field input,
  .is-embedded body .field select,
  .is-embedded body .field textarea,
  .is-embedded body #chat-input,
  .is-embedded body .search-field input { font-size: 16px; }
}

/* Homepage presentation: only the real floor-plan component, not the app shell. */
html.is-floor-embedded,
.is-floor-embedded body { height: auto; min-height: 0; overflow-x: hidden; overflow-y: hidden; }
.is-floor-embedded .app-sidebar,
.is-floor-embedded .app-topbar,
.is-floor-embedded .page-heading,
.is-floor-embedded .service-toolbar,
.is-floor-embedded .kpi-grid,
.is-floor-embedded .workspace-footer,
.is-floor-embedded .context-note,
.is-floor-embedded .skip-link,
.is-floor-embedded #nav-scrim,
.is-floor-embedded [data-panel]:not([data-panel="sala"]) { display: none !important; }
.is-floor-embedded .app-frame { margin: 0; min-height: 0; }
.is-floor-embedded .workspace { width: 100%; max-width: none; margin: 0; padding: 22px; min-height: 0; }
.is-floor-embedded .floor-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }
.is-floor-embedded .floor-info { position: static; top: auto; min-height: 0; }
.is-floor-embedded .floor-info-empty { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 5px 15px; align-items: center; text-align: left; }
.is-floor-embedded .floor-info-empty .floor-info-icon { grid-row: 1 / 4; font-size: 29px; margin: 0; }
.is-floor-embedded .floor-info-empty h3,
.is-floor-embedded .floor-info-empty p,
.is-floor-embedded .floor-info-empty small { margin: 0; }
.is-floor-embedded .floor-surface .surface-heading h2 { font-size: 18px; }
.is-floor-embedded .floor-surface .surface-heading p { max-width: 480px; }
.is-floor-embedded .floor-toolbar { gap: 15px; }
.is-floor-embedded .floor-toolbar .filter-tabs { flex-wrap: wrap; }
.is-floor-embedded .floor-legend { white-space: normal; }
.is-floor-embedded .floor-labels { font-size: 11px; }
.is-floor-embedded .floor-selected .button { min-height: 44px; }
.is-floor-embedded #floor-info [data-booking-detail],
.is-floor-embedded #floor-info [data-book-table],
.is-floor-embedded #floor-info .floor-selected > small { display: none; }
@media (min-width: 1001px) {
  .is-floor-embedded .floor-layout { grid-template-columns: minmax(0, 1fr) 240px; }
  .is-floor-embedded .floor-info { padding: 20px; }
  .is-floor-embedded .floor-info-empty { display: block; }
  .is-floor-embedded .floor-info-empty .floor-info-icon { display: block; margin-bottom: 17px; }
  .is-floor-embedded .floor-info-empty p { margin-top: 10px; }
  .is-floor-embedded .floor-info-empty small { margin-top: 18px; }
}
@media (max-width: 620px) {
  .is-floor-embedded .workspace { padding: 13px; }
  .is-floor-embedded .floor-layout { gap: 13px; }
  .is-floor-embedded .floor-surface .surface-heading { padding: 17px 14px; gap: 10px; }
  .is-floor-embedded .floor-surface .surface-heading h2 { max-width: 210px; font-size: 16px; line-height: 1.4; }
  .is-floor-embedded .floor-surface .surface-heading p { max-width: 210px; }
  .is-floor-embedded .floor-toolbar { padding: 0 14px 16px; }
  .is-floor-embedded .floor-toolbar .filter-tabs { gap: 3px; }
  .is-floor-embedded .floor-toolbar .filter-tabs button { padding-inline: 7px; }
  .is-floor-embedded .floor-info { padding: 20px 17px; }
  .is-floor-embedded .floor-info-empty { grid-template-columns: minmax(0, 1fr); }
  .is-floor-embedded .floor-info-empty .floor-info-icon { display: none; }
  .is-floor-embedded .floor-info-empty small { margin-top: 10px; }
  .is-floor-embedded .compact-field select { font-size: 16px; padding: 8px 5px; }
}

/* ── Marchio TrilùTable e banner della demo ── */
.app-brand img { filter: none; mix-blend-mode: normal; width: 168px; height: auto; }
.demo-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 12px; min-height: 44px; padding: 8px 16px; background: linear-gradient(90deg, #2a170c, #3a1f10 50%, #2a170c); border-bottom: 1px solid #5a3218; color: #f3e6db; font-size: 13px; text-align: center; }
.demo-banner strong { color: #ffb27c; font-weight: 650; }
.demo-banner a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: 999px; background: linear-gradient(180deg, #ffa566, #ff7c35); color: #1d0e05; font-weight: 700; text-decoration: none; }
.demo-banner a:focus-visible { outline: 2px solid #ffd2b0; outline-offset: 2px; }
.is-embedded .demo-banner { display: none; }

/* ── Leggibilità: nessun testo della demo sotto gli 11 px (i fogli precedenti scendevano a 7–9 px) ── */
:root body :is(.demo-badge, .count-pill, .subtle-badge, .sidebar-version, .sidebar-version span, .nav-caption, .nav-item b,
  .floor-legend span, .compact-field, .kpi-foot small, .small-status, .people-count, .channel-tag, .table-tag, .status-pill,
  .row-action, .table-footer, .table-footer > span, .text-button, .activity-item time, .arrival-person small, .mini-note,
  .workspace-footer, .workspace-footer span, .workspace-legal a, .room-summary-value > span, .section-eyebrow, .kpi-caption,
  .local-state, .toolbar-hint, .user-avatar, .chat-time, .chat-day, .conversation-time, .floor-table .table-area,
  .floor-table .table-state, .detail-dialog .field small, .field > span:not(.optional), .booking-summary dt, .detail-meta dt,
  .menu-group-heading > span, .availability-toggle, .chat-disclaimer, .inbox-intro, .venue-card div > span) { font-size: 11px; }
:root body :is(.guest-note, .arrival-time, .filter-tabs button, .surface-heading p, .room-summary button, .channel-row strong,
  .guest-action, .page-heading p:last-child, .conversation-copy small, .conversation-copy span, .menu-copy p) { font-size: 12px; }
:root body .demo-banner-note { color: #e6d6c8; }
@media (max-width: 560px) { :root body .demo-banner-note { display: none; } }
/* Aree tattili: l'intero riquadro di data e servizio è il controllo; link e pulsanti testuali ≥ 32 px (44 px su mobile). */
:root body .date-control, :root body .service-control { height: auto; min-height: 40px; padding-block: 0; }
:root body .date-control input, :root body .service-control select { align-self: stretch; min-height: 38px; }
:root body .text-button { min-height: 32px; }
:root body .workspace-legal a { display: inline-flex; align-items: center; min-height: 32px; padding-inline: 4px; }
@media (max-width: 800px) {
  :root body .date-control, :root body .service-control { min-height: 44px; }
  :root body .date-control input, :root body .service-control select { min-height: 42px; }
  :root body .text-button, :root body .workspace-legal a { min-height: 44px; }
}
@media (max-width: 420px) {
  :root body .heading-actions { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root body .heading-actions .button { min-width: 0; white-space: normal; text-align: center; }
}
