:root{--bg:#f7f3ec;--surface:#fffdf9;--ink:#1f2a2c;--muted:#56666a;--line:#e3dccf;--brand:#0f5c5c;--brand-text:#fff;--accent:#c8962e;--accent-text:#1a1a1a;--error:#a4262c;--st-available:#177d78;--st-selected:#105653;--st-held:#efc975;--st-held-line:#76581e;--st-confirmed:#637580;--st-blocked:#d8dee2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}h1,h2{line-height:1.2}h1{margin:0 0 .25rem;font-size:1.75rem}h2{font-size:1.25rem}a{color:var(--brand)}button,input,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.skip{background:var(--surface);z-index:10;padding:.5rem;position:absolute;top:0;left:-999px}.skip:focus{left:.5rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand-bar{background:var(--brand);color:var(--brand-text);padding:.6rem 1rem}.brand{color:inherit;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.brand img{background:#fff;border-radius:4px}.page{max-width:72rem;margin:0 auto;padding:1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0 0 1rem;padding:1rem 1.25rem}.notification-job{overflow-wrap:anywhere}.transfer-flow>label{margin:.75rem 0;font-weight:600;display:block}.transfer-flow>label select{width:100%;max-width:100%;margin-top:.25rem;display:block}.transfer-flow p{overflow-wrap:anywhere}.muted{color:var(--muted)}.small{font-size:.875rem}.error{color:var(--error);font-weight:600}.event-head{margin-bottom:1rem}.event-head p{color:var(--muted);margin:0}.event-list{padding:0;list-style:none}.service-list-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.service-list-head p{margin:.25rem 0 0}.service-list-head label{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.service-list-head input{background:#fff;border:1px solid #b9b0a1;border-radius:8px;width:7rem;min-height:44px;padding:.4rem .6rem}.service-card{justify-content:space-between;align-items:start;gap:1rem 2rem;display:flex}.service-card h2{margin:0 0 .35rem}.service-card-main p{margin:.25rem 0}.service-card-side{text-align:right;flex-direction:column;align-items:flex-end;gap:.4rem;min-width:13rem;display:flex}.service-card-side .button-link{font-weight:600}.service-status{background:#f2eee6;border-radius:999px;padding:.2rem .7rem;font-weight:600;display:inline-block;margin-top:.65rem!important}.service-status.available{background:#e0efe9}button.primary{background:var(--brand);color:var(--brand-text);border:0;border-radius:8px;min-height:44px;padding:.7rem 1.2rem;font-weight:600}button.primary:disabled{opacity:.45;cursor:not-allowed}button.link{color:var(--brand);background:0 0;border:0;min-height:44px;padding:.4rem;text-decoration:underline}button.link:disabled{color:var(--muted)}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.form label,.summary label,.review label{margin:.75rem 0;font-weight:600;display:block}.form input,.form select,.review input{background:#fff;border:1px solid #b9b0a1;border-radius:8px;width:100%;max-width:24rem;min-height:44px;margin-top:.25rem;padding:.6rem .7rem;font-weight:400;display:block}select{background:#fff;border:1px solid #b9b0a1;border-radius:8px;min-height:44px;padding:.3rem .5rem}.banner{border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.6rem 1rem;display:flex}.banner.info{background:#e6f0ef}.banner.warn{background:#fff1cc;border:1px solid #e0b64f}.banner.error{background:#fbe5e6;border:1px solid #e0a3a6}.select-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1rem;display:grid}.summary{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem;position:sticky;top:1rem}.chosen{margin:0 0 1rem;padding:0;list-style:none}.chosen li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.timer{margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.timer.urgent{color:var(--error)}.timer-value{font-variant-numeric:tabular-nums}.map-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;padding:.5rem}.seatmap-wrap{position:relative}.map-tools{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.map-tools button{background:#fff;border:1px solid #b9b0a1;border-radius:8px;min-width:44px;min-height:44px}.map-hint{color:var(--muted);font-size:.875rem}.seatmap{touch-action:none;-webkit-user-select:none;user-select:none;background:#fbfcfa;border-radius:8px;overflow:hidden}.seatmap svg{width:100%;height:auto;max-height:75vh;display:block}.seatmap.disabled{opacity:.7}.seatmap svg .seat{cursor:pointer}.seatmap:not(.zoomed) svg .seat{cursor:zoom-in}.seatmap svg .seat[data-state=available]{fill:#fff;stroke:var(--st-available)}.seatmap svg .seat[data-state=selected]{fill:var(--st-selected);stroke:var(--st-selected)}.seatmap svg .seat[data-state=pending]{fill:#cfe6e4;stroke:var(--st-selected);stroke-width:2px;stroke-dasharray:3 2}.seatmap svg .seat[data-state=held]{fill:var(--st-held);stroke:var(--st-held-line);stroke-dasharray:2 1;cursor:not-allowed}.seatmap svg .seat[data-state=confirmed]{fill:var(--st-confirmed);stroke:#324854;cursor:not-allowed}.seatmap svg .seat[data-state=blocked]{fill:var(--st-blocked);stroke:#7b858a;cursor:not-allowed}.seatmap svg .wheelchair[data-state] circle,.seatmap svg .wheelchair[data-state] rect{fill:inherit}.seatmap svg .kb-focus{stroke:var(--accent)!important;stroke-width:3px!important}.seatmap svg .seat-marks .mark{fill:none;stroke-width:1.6px;stroke-linecap:round;pointer-events:none}.seatmap svg .mark-selected,.seatmap svg .mark-confirmed{stroke:#fff}.seatmap svg .mark-blocked{stroke:#4b5559}.seatmap svg .mark-held{stroke:var(--st-held-line)}.seatmap svg .seat-labels{pointer-events:none;fill:#203b42;font-size:5.5px;display:none}.seatmap.zoomed svg .seat-labels{display:inline}.seatmap.zoomed svg .seat-marks~.seat-labels,.seatmap svg .seat[data-state=selected]+text{fill:#fff}.seat-tip{background:var(--ink);color:#fff;pointer-events:none;white-space:nowrap;z-index:5;border-radius:6px;padding:.3rem .5rem;font-size:.8rem;position:absolute;transform:translate(-50%,-110%)}.legend{flex-wrap:wrap;gap:.4rem 1rem;margin:0;padding:.5rem 0 0;font-size:.875rem;list-style:none;display:flex}.swatch{border:2px solid var(--st-available);vertical-align:middle;color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:inline-grid}.swatch.selected{background:var(--st-selected);border-color:var(--st-selected)}.swatch.held{background:var(--st-held);border:2px dashed var(--st-held-line)}.swatch.confirmed{background:var(--st-confirmed);border-color:#324854}.swatch.blocked{background:var(--st-blocked);border-color:#7b858a}.swatch.wheel{color:var(--ink);border-color:#234e52}.list-toggle{margin-top:.75rem}.list-toggle summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.seat-list label{font-weight:600}.seat-row{flex-wrap:wrap;align-items:center;gap:.3rem;margin:.4rem 0;display:flex}.row-label{width:4.5rem;color:var(--muted);font-size:.875rem}.seat-btn{border:2px solid var(--st-available);background:#fff;border-radius:50%;min-width:44px;min-height:44px;font-weight:600}.seat-btn.state-selected{background:var(--st-selected);color:#fff;border-color:var(--st-selected)}.seat-btn.state-selected:after{content:" ✓"}.seat-btn.state-pending{background:#cfe6e4;border-style:dashed}.seat-btn.state-held{background:var(--st-held);border:2px dashed var(--st-held-line)}.seat-btn.state-confirmed{background:var(--st-confirmed);color:#fff;border-color:#324854;text-decoration:line-through}.seat-btn.state-blocked{background:var(--st-blocked);color:#4b5559;text-decoration:line-through}.seat-btn[aria-disabled=true]{cursor:not-allowed}.receipt dl,.review dl{grid-template-columns:max-content 1fr;gap:.3rem 1rem;display:grid}.receipt dt,.review dt{font-weight:600}.receipt dd,.review dd{margin:0}.receipt dd ul,.review dd ul{margin:0;padding-left:1.1rem}.receipt .ref{font-size:1.2rem}.email-failed{color:var(--error)}.admin-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.admin-table{border-collapse:collapse;background:var(--surface);max-width:100%;margin-bottom:1rem;display:block;overflow-x:auto}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem}.admin-table th{color:var(--muted);font-size:.85rem}.stats{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem;margin:1rem 0;display:grid}.stats div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem}.stats div.alert{border-color:var(--error)}.stats dt{color:var(--muted);font-size:.8rem}.stats dd{margin:0;font-size:1.5rem;font-weight:700}.tabs{border-bottom:2px solid var(--line);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;display:flex}.tabs button{background:0 0;border:0;border-bottom:3px solid #0000;min-height:44px;padding:.6rem 1rem;font-weight:600}.tabs button.active{border-bottom-color:var(--brand);color:var(--brand)}.pill{background:#e8e3d9;border-radius:999px;margin-left:.3rem;padding:.05rem .45rem;font-size:.75rem;display:inline-block}.pill.warn,.pill.email-failed{color:var(--error);background:#fbe5e6}.pill.email-sent,.pill.state-open{background:#e0efe9}.filters{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.filters label{flex-direction:column;font-size:.9rem;font-weight:600;display:flex}.filters input{border:1px solid #b9b0a1;border-radius:8px;min-height:44px;padding:.3rem .5rem}.button-link{border:1px solid var(--brand);border-radius:8px;align-items:center;min-height:44px;padding:0 1rem;text-decoration:none;display:inline-flex}.actions button:not(.primary):not(.link){background:#fff;border:1px solid #b9b0a1;border-radius:8px;min-height:44px;padding:0 .9rem}button.danger,.actions button.danger{border-color:var(--error);color:var(--error)}button.primary.danger{background:var(--error);color:#fff}label.check{align-items:center;gap:.5rem;font-weight:400;display:flex}label.check input{width:auto;min-height:0}.detail{grid-template-columns:max-content minmax(0,1fr);gap:.3rem 1rem;display:grid}.detail dt{font-weight:600}.detail dd{margin:0}.notification-settings summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.notification-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.5rem 1rem;margin:1rem 0;display:grid}.notification-grid label,.notification-form>label{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.notification-grid label.check{flex-direction:row;align-items:center;font-weight:400}.notification-grid input:not([type=checkbox]),.notification-grid select,.notification-form>label input,.notification-form textarea{background:#fff;border:1px solid #b9b0a1;border-radius:8px;width:100%;min-width:0;padding:.5rem}.notification-form textarea{resize:vertical}.template-preview{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-top:1rem;padding:1rem}.template-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}@media (width<=900px){.select-layout{grid-template-columns:1fr}.summary{border-radius:12px 12px 0 0;max-height:40vh;padding:.6rem .8rem;position:sticky;top:auto;bottom:0;overflow:auto;box-shadow:0 -4px 16px #00000014}.seatmap svg{max-height:60vh}}@media (width<=480px){.page{padding:.6rem}h1{font-size:1.4rem}.card{padding:.8rem}.service-card{flex-direction:column;gap:.65rem}.service-card-side{text-align:left;align-items:stretch;width:100%;min-width:0}.service-card-side .button-link{justify-content:center}.receipt dl,.review dl{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{body{background:#fff}.no-print,.brand-bar,.banner,.skip{display:none!important}.card,.receipt{border:0;padding:0}}.actions>button:not(.primary):not(.link),.receipt>button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:8px;padding:.5rem .8rem}.form fieldset{border:0;min-width:0;margin:0;padding:0}.receipt,[aria-label=Manage\ reservation]{overflow-wrap:anywhere}.staff-page{max-width:52rem}.staff-match,.staff-page [aria-label=Verify\ reservation]{overflow-wrap:anywhere}.staff-page .actions>button,.staff-page form>button{min-height:48px}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.duplicate-comparison{overflow-wrap:anywhere}@media (width<=600px){.comparison-grid{grid-template-columns:1fr}}.operations-services{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1rem;display:grid}.operation-service,.notification-health{overflow-wrap:anywhere;min-width:0}.operation-service .stats,.notification-health .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.event-delete-dialog{border:1px solid var(--line);width:min(34rem,100% - 2rem);max-height:90dvh;color:var(--ink);background:var(--surface);border-radius:12px;padding:1.25rem;overflow:hidden}.event-delete-dialog::backdrop{background:#0000008c}.event-delete-dialog h2,.event-delete-dialog p,.event-delete-dialog strong{overflow-wrap:anywhere}.event-delete-dialog .form{flex-direction:column;max-height:calc(90dvh - 2.5rem);margin:0;display:flex}.event-delete-content{min-height:0;overflow-y:auto}.event-delete-dialog .actions{border-top:1px solid var(--line);flex-shrink:0;padding-top:.75rem}.event-delete-dialog .form>h2,.event-delete-dialog .form>.error{flex-shrink:0}.event-delete-dialog .form>.error{margin:.5rem 0}
