:root{--text:#59474a;--text-h:#32151c;--bg:#fffaf0;--border:#e3d5b9;--code-bg:#f6edda;--accent:#781c2d;--accent-hover:#5e1423;--accent-contrast:#ffe15a;--accent-bg:#781c2d17;--accent-border:#781c2d61;--danger:#a52b3b;--danger-contrast:#fff;--social-bg:#f6eddac7;--shadow:#4018201f 0 10px 15px -3px, #4018200f 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#eadbd1;--text-h:#fff5e7;--bg:#211419;--border:#583640;--code-bg:#321f26;--accent:#f3ca4b;--accent-hover:#ffdc68;--accent-contrast:#3c1721;--accent-bg:#f3ca4b24;--accent-border:#f3ca4b80;--danger:#f08b87;--danger-contrast:#32151c;--social-bg:#321f26d1;--shadow:#00000061 0 10px 15px -3px, #00000038 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:40px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}p.result{box-sizing:border-box;border:1px solid var(--accent-border);border-left:6px solid var(--accent);width:min(100% - 40px,720px);color:var(--text-h);background:var(--accent-bg);box-shadow:var(--shadow);text-align:left;white-space:pre-line;border-radius:10px;padding:18px 22px;font-size:clamp(1.1rem,2.5vw,1.35rem);line-height:1.55}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}select{appearance:none;font-size:16px;font-family:var(--sans);color:var(--bg);background:var(--accent);border:1px solid var(--accent-border);cursor:pointer;box-shadow:var(--shadow);background-image:url("data:image/svg+xml;utf8,<svg fill='%23ffffff' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border-radius:8px;padding:10px 14px;transition:all .2s}@media (prefers-color-scheme:dark){select{background-image:url("data:image/svg+xml;utf8,<svg fill='%233c1721' height='20' viewBox='0 0 24 24' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>")}}select:hover{background:var(--accent-bg);color:var(--text-h);border-color:var(--accent-border)}select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg);outline:none}.date-option-group{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.date-option{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;cursor:pointer;box-shadow:var(--shadow);border-radius:999px;padding:.7rem 1rem;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.date-option:hover{border-color:var(--accent-border);background:var(--accent-bg)}.date-option.selected{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.date-option:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}.public-hero{padding-top:28px}.public-home-link,.admin-topbar-home{border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.public-home-link:focus-visible,.admin-topbar-home:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#center{flex-direction:column;flex-grow:1;justify-content:flex-start;align-items:center;gap:25px;padding-top:20px;display:flex}@media (width<=1024px){#center{gap:18px;padding:40px 20px 24px}}.session-loading{place-items:center;min-height:48px;margin:0;display:grid}.session-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite session-loading-spin}@keyframes session-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.session-loading-spinner{animation-duration:2s}}.welcome-heading{box-sizing:border-box;letter-spacing:normal;overflow-wrap:break-word;text-wrap:balance;width:100%;max-width:100%;margin:12px 0 0;padding-inline:24px;font-size:clamp(1.5rem,4vw,2.25rem);line-height:1.2}.welcome-subtitle{box-sizing:border-box;width:100%;max-width:720px;color:var(--text);text-wrap:balance;margin:-8px 0 0;padding-inline:24px;font-size:clamp(1rem,2.2vw,1.15rem);font-weight:500;line-height:1.5}.admin-panel-heading{letter-spacing:normal;text-wrap:balance;max-width:100%;margin:12px 16px 4px;font-size:clamp(1.75rem,6vw,2.5rem);line-height:1.2}.admin-page-title{letter-spacing:normal;text-wrap:balance;font-size:clamp(1.875rem,5vw,2.25rem);line-height:1.2}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}.textbox{text-align:center;width:85%;color:var(--text-h);background:var(--bg);border:1px solid var(--border);text-transform:uppercase;border-radius:12px;outline:none;margin:12px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.textbox::placeholder{color:var(--text)}.textbox:hover{border-color:var(--accent-border)}.textbox:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-bg)}.textbox:disabled{background:var(--code-bg);color:var(--text);cursor:not-allowed}.login-form{text-align:left;gap:18px;width:min(100%,360px);display:grid}.launch-message{max-width:640px;color:var(--text-h);margin:0 20px;font-size:1.25rem;font-weight:600}.opening-date-form{text-align:left;gap:14px;width:min(100%,420px);margin:0 0 24px;display:grid}.opening-date-form label{gap:6px;display:grid}.opening-date-form input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-h);background:var(--bg);font:inherit;border-radius:6px;padding:11px 12px}.opening-date-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-form h1{text-align:center}.login-form label{gap:6px;display:grid}.login-form input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-h);background:var(--bg);font:inherit;border-radius:6px;padding:11px 12px}.login-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-form .button:disabled{cursor:wait;opacity:.7}.admin-action-link{min-height:38px;color:var(--text-h);white-space:nowrap;border:1px solid #0000;border-radius:7px;align-items:center;padding:0 12px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.admin-topbar{z-index:10;box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--bg);width:100%;min-height:76px;box-shadow:var(--shadow);align-items:center;gap:20px;padding:8px 20px;display:flex;position:sticky;top:0}.admin-topbar-logo{object-fit:contain;flex:none;width:54px;height:54px}.admin-topbar .admin-navigation{flex:auto;justify-content:flex-end;gap:4px;min-width:0;margin:0}.admin-topbar .admin-action-link:hover,.admin-topbar .admin-action-link:focus-visible{border-color:var(--border);background:var(--code-bg)}.admin-topbar .admin-action-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-navigation{flex-wrap:wrap;justify-content:center;gap:16px 24px;margin-bottom:20px;display:flex}.admin-action-link:hover{color:var(--accent)}@media (width<=700px){.admin-topbar{gap:10px;min-height:64px;padding:6px 10px}.admin-topbar-logo{width:42px;height:42px}.admin-topbar .admin-navigation{scrollbar-width:thin;justify-content:flex-start;gap:2px;overflow-x:auto}.admin-topbar .admin-action-link{min-height:36px;padding:0 9px;font-size:.78rem}}.receipt-summary{box-sizing:border-box;border:1px solid var(--accent-border);border-left:6px solid var(--accent);width:min(100% - 40px,460px);color:var(--text-h);background:var(--accent-bg);box-shadow:var(--shadow);border-radius:10px;justify-items:center;gap:18px;margin-bottom:24px;padding:22px;display:grid}.receipt-summary h2{text-align:center;margin:0;font-size:1.3rem;line-height:1.25}.receipt-details{gap:10px;width:100%;margin:0;display:grid}.receipt-details>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding-bottom:10px;display:flex}.receipt-details dt{font-weight:600}.receipt-details dd{text-align:right;overflow-wrap:anywhere;margin:0}.receipt-summary svg{background:#fff;max-width:100%;padding:8px}.receipt-download-link{text-decoration:none}.receipt-download-link[aria-disabled=true]{cursor:wait;opacity:.7}.receipt-download-error{color:var(--danger);font-size:.9rem}.receipt-save-hint{border:1px dashed var(--accent-border);color:var(--text-h);background:var(--bg);text-align:center;text-wrap:balance;border-radius:8px;margin:0;padding:12px 14px;font-size:.9rem;line-height:1.45}.receipt-contact-hint{color:var(--text);text-align:center;text-wrap:balance;margin:0;font-size:.9rem;line-height:1.45}.receipt-contact-hint a,.booking-details-link{color:var(--text-h);-webkit-text-decoration-color:var(--accent-border);text-decoration-color:var(--accent-border);text-underline-offset:3px}.booking-details-link:hover{color:var(--accent)}.button{color:var(--accent-contrast);background:var(--accent);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;padding:12px 20px;font-family:inherit;font-size:1rem;font-weight:600;transition:background-color .2s,transform .15s,box-shadow .2s;display:inline-flex}.button:hover{background:var(--accent-hover);box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 28%, transparent)}.button:active{transform:translateY(1px)}.button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.app-footer{box-sizing:border-box;width:100%;padding:18px 24px calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);color:var(--text);background:var(--code-bg);text-align:center;font-size:.85rem;line-height:1.5}.app-footer p{text-wrap:balance;max-width:720px;margin:0 auto}.app-footer a{color:var(--accent);-webkit-text-decoration-color:var(--accent-border);text-decoration-color:var(--accent-border);text-underline-offset:3px;font-weight:600}.app-footer a:hover{color:var(--accent-hover)}.app-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.preferred-date-groups{text-align:left;width:min(100%,960px)}.preferred-date-groups h2{text-align:center;margin-bottom:20px}.configured-subscription-dates>.admin-page-title{text-align:center;margin:0 0 20px}.preferred-date-tabs{border-bottom:1px solid var(--border);gap:8px;display:flex;overflow-x:auto}.compact-admin-tabs{flex-wrap:wrap;gap:4px;overflow-x:visible}.preferred-date-tab{border:1px solid var(--border);color:var(--text-h);background:var(--code-bg);font:inherit;cursor:pointer;border-bottom:0;border-radius:8px 8px 0 0;flex:none;padding:10px 16px}.compact-admin-tab{padding:5px 8px;font-size:.75rem;line-height:1.2}.preferred-date-tabs[aria-label="Gruppi per cognome"] .compact-admin-tab{justify-items:center;gap:2px;min-width:54px;padding:7px 10px;display:grid}.fiscal-code-tab-letters{letter-spacing:.08em;font-size:.86rem;font-weight:800}.fiscal-code-tab-count{opacity:.82;font-size:.68rem;font-weight:500}.preferred-date-tab:hover,.preferred-date-tab.selected{color:var(--accent-contrast);background:var(--accent)}.preferred-date-tab:focus-visible,.preferred-date-panel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preferred-date-panel{padding:16px 0}.preferred-date-capacity{color:var(--text-h);margin:10px 0 0;font-size:.9rem;font-weight:600}.preferred-date-cancel{border:1px solid var(--border);width:34px;height:32px;color:var(--danger);background:var(--bg);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:5px;display:inline-flex}.preferred-date-cancel svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.preferred-date-cancel:hover:not(:disabled){color:var(--danger-contrast);background:var(--danger)}.preferred-date-cancel:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.preferred-date-cancel:disabled{cursor:wait;opacity:.65}.preferred-date-confirmation-backdrop{z-index:1000;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.preferred-date-confirmation{box-sizing:border-box;border:1px solid var(--border);width:min(100%,440px);color:var(--text-h);background:var(--bg);border-radius:10px;padding:24px;box-shadow:0 16px 48px #0000003d}.preferred-date-confirmation h3{margin:0 0 12px}.preferred-date-confirmation p{margin:0 0 20px}.preferred-date-confirmation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.preferred-date-confirmation-actions button{border:1px solid var(--border);color:var(--text-h);background:var(--bg);font:inherit;cursor:pointer;border-radius:6px;padding:8px 12px}.preferred-date-confirmation-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preferred-date-confirmation-actions button:disabled{cursor:wait;opacity:.65}.preferred-date-confirmation-actions .preferred-date-confirmation-submit{border-color:var(--danger);color:var(--danger-contrast);background:var(--danger)}.fiscal-code-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.preferred-date-export{border:1px solid var(--accent-border);color:var(--text-h);background:var(--accent-bg);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;margin-left:auto;padding:7px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.preferred-date-export:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.preferred-date-export:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preferred-date-export:disabled{cursor:not-allowed;opacity:.6}.preferred-date-export svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.fiscal-code-search-toggle,.fiscal-code-missing-toggle{border:1px solid var(--border);width:36px;height:36px;color:var(--text-h);background:var(--bg);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.fiscal-code-search-toggle:hover,.fiscal-code-missing-toggle:hover,.fiscal-code-missing-toggle.selected{background:var(--accent-bg)}.fiscal-code-search-toggle:focus-visible,.fiscal-code-missing-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fiscal-code-search-toggle svg,.fiscal-code-missing-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:100%;height:100%}.fiscal-code-missing-toggle.selected{color:var(--accent)}.fiscal-code-search-field{width:min(100%,320px)}.fiscal-code-missing-filter{color:var(--text-h);white-space:nowrap;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.fiscal-code-search-field input{box-sizing:border-box;border:1px solid var(--border);width:100%;height:36px;color:var(--text-h);background:var(--bg);font:inherit;border-radius:6px;padding:0 10px}.fiscal-code-search-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.preferred-date-table-scroll{overflow-x:auto}.preferred-date-table{border-collapse:collapse;text-align:left;width:100%}.preferred-date-table th,.preferred-date-table td{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:10px 12px}.preferred-date-table th{color:var(--text-h);background:var(--code-bg)}.configured-date-actions{text-align:right;white-space:nowrap}.configured-date-edit-button,.configured-date-cancel-edit{border:1px solid var(--border);color:var(--text-h);background:var(--bg);font:inherit;cursor:pointer;border-radius:6px;padding:7px 10px}.configured-date-edit-button:hover,.configured-date-cancel-edit:hover{background:var(--accent-bg)}.configured-date-edit-button:focus-visible,.configured-date-cancel-edit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.configured-date-edit-button:disabled,.configured-date-cancel-edit:disabled{cursor:wait;opacity:.65}.configured-date-editor-row>td{background:var(--accent-bg);padding:16px}.configured-date-edit-form{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.configured-date-fixed{color:var(--text);grid-column:1/-1;margin:0}.configured-date-edit-form>label:not(.configured-date-operative){min-width:0;color:var(--text-h);gap:5px;font-size:.82rem;font-weight:600;display:grid}.configured-date-edit-form input:not([type=checkbox]){box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;color:var(--text-h);background:var(--bg);font:inherit;border-radius:6px;padding:8px 9px}.configured-date-edit-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.configured-date-operative{min-height:38px;color:var(--text-h);align-items:center;gap:8px;font-size:.875rem;display:flex}.configured-date-edit-actions{flex-wrap:wrap;gap:8px;display:flex}.configured-date-edit-actions .button{padding:8px 12px;font-size:.875rem}.configured-dates-table{min-width:780px}.preferred-date-category-header th{text-align:left;background:var(--accent-bg)}.compact-admin-table{font-size:.875rem;line-height:1.45}.compact-admin-table th,.compact-admin-table td{padding:9px 12px}.compact-admin-table th{letter-spacing:.015em;padding-block:8px;font-size:.8rem}.fiscal-code-table tbody tr.fiscal-code-row-expanded>td{background:var(--accent-bg)}.fiscal-code-table tbody tr[id^=fiscal-code-details-]>td{background:var(--bg);padding:12px}.fiscal-code-value,.fiscal-code-actions{white-space:nowrap}.fiscal-code-actions>button+button{margin-left:6px}.fiscal-code-operative-cell{white-space:nowrap}.fiscal-code-operative-toggle{border:1px solid var(--border);color:var(--text);background:var(--bg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 6px;font-size:.78rem;font-weight:600;display:inline-flex}.fiscal-code-operative-switch{background:var(--border);border-radius:999px;flex:none;width:28px;height:16px;transition:background .15s;position:relative}.fiscal-code-operative-switch:after{content:"";background:var(--text-h);border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.fiscal-code-operative-toggle.is-operative{border-color:var(--accent-border);color:var(--accent);background:var(--accent-bg)}.fiscal-code-operative-toggle.is-operative .fiscal-code-operative-switch{background:var(--accent)}.fiscal-code-operative-toggle.is-operative .fiscal-code-operative-switch:after{background:var(--accent-contrast);transform:translate(12px)}.fiscal-code-operative-toggle:disabled{cursor:wait;opacity:.65}.fiscal-code-operative-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preferred-date-actions{text-align:right;white-space:nowrap}.preferred-date-actions>button+button{margin-left:6px}.fiscal-code-details-toggle,.fiscal-code-retry{border:1px solid var(--border);color:var(--text-h);background:var(--bg);font:inherit;cursor:pointer;border-radius:5px;padding:4px 8px}.fiscal-code-details-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;display:block}.fiscal-code-icon-button{justify-content:center;align-items:center;width:34px;height:32px;padding:4px;display:inline-flex}.fiscal-code-update-form{flex-wrap:wrap;align-items:center;gap:4px;min-width:240px;display:flex}.fiscal-code-update-form input{box-sizing:border-box;border:1px solid var(--border);width:150px;color:var(--text-h);background:var(--bg);font:inherit;text-transform:uppercase;border-radius:5px;padding:4px 6px}.fiscal-code-update-form button{border:1px solid var(--border);color:var(--text-h);background:var(--bg);font:inherit;cursor:pointer;border-radius:5px;padding:4px 8px}.fiscal-code-update-form button:disabled{cursor:wait;opacity:.7}.fiscal-code-update-form button:focus-visible,.fiscal-code-update-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fiscal-code-details-toggle:hover,.fiscal-code-retry:hover{background:var(--accent-bg)}.fiscal-code-details-toggle:focus-visible,.fiscal-code-retry:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fiscal-code-retry{margin-top:6px;display:block}.preferred-date-groups-error{color:var(--accent)}@media (width<=600px){.preferred-date-groups{width:100%;min-width:0}.preferred-date-groups h2{margin-bottom:14px}.compact-admin-tabs{gap:4px}.compact-admin-tab{padding:6px 8px;font-size:.72rem}.preferred-date-panel{padding-top:12px}.configured-dates-table{min-width:0}.configured-date-editor-row>td{padding:12px;display:block}.configured-date-editor-row>td:before{content:none}.configured-date-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.configured-date-edit-form>label:not(.configured-date-operative){font-size:.78rem}.configured-date-edit-actions{grid-column:1/-1}.preferred-date-table-scroll{overflow:visible}.preferred-date-table:not(.fiscal-code-table),.preferred-date-table:not(.fiscal-code-table) tbody{width:100%;display:block}.preferred-date-table:not(.fiscal-code-table) thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.preferred-date-table:not(.fiscal-code-table) tbody tr{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:8px;gap:0;margin-bottom:12px;padding:6px 14px;display:grid}.preferred-date-table:not(.fiscal-code-table) tbody td{border-bottom:1px solid color-mix(in srgb, var(--border) 65%, transparent);overflow-wrap:anywhere;grid-template-columns:minmax(105px,.42fr) minmax(0,1fr);align-items:start;gap:14px;padding:10px 0;display:grid}.preferred-date-table:not(.fiscal-code-table) tbody td:last-child{border-bottom:0}.preferred-date-table:not(.fiscal-code-table) tbody td:before{content:attr(data-label);color:var(--text-h);font-size:.78rem;font-weight:700}.fiscal-code-table,.fiscal-code-table tbody{width:100%;display:block}.fiscal-code-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-]){border:1px solid var(--border);background:var(--bg);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;margin-bottom:12px;padding:14px;display:grid}.fiscal-code-table tbody tr.fiscal-code-row-expanded:not([id^=fiscal-code-details-]){border-color:var(--accent-border);background:var(--accent-bg)}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td{overflow-wrap:anywhere;background:0 0;border:0;min-width:0;padding:0}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:first-child,.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:nth-child(2){grid-column:1/-1}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:first-child{color:var(--accent);letter-spacing:.025em;font-size:.8rem;font-weight:700}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:nth-child(2){color:var(--text-h);font-size:.95rem;font-weight:600}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:nth-child(3){color:var(--text);align-self:center;font-size:.85rem}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:nth-child(4){justify-self:end}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:nth-child(5){grid-column:1/-1;justify-self:end}.fiscal-code-details-toggle{white-space:nowrap;min-height:38px;padding:7px 10px}.fiscal-code-table tbody tr[id^=fiscal-code-details-]{margin:-10px 0 10px;display:block}.fiscal-code-table tbody tr[id^=fiscal-code-details-]>td{border:0;padding:0 4px 8px;display:block}.fiscal-code-expanded-card .booking-details-section{padding:14px}.fiscal-code-expanded-card .booking-details-section-heading{gap:9px;margin-bottom:12px}.fiscal-code-expanded-card .booking-details-section-icon{flex-basis:32px;width:32px;height:32px}.fiscal-code-expanded-card .booking-details-section-heading h3{font-size:.98rem}.fiscal-code-expanded-card .booking-details-section-heading p{font-size:.75rem}.fiscal-code-expanded-card .booking-details-list{gap:7px}.fiscal-code-expanded-card .booking-details-list>div{padding:9px 10px}}@media (width<=360px){.configured-date-edit-form{grid-template-columns:minmax(0,1fr)}.configured-date-fixed,.configured-date-edit-actions{grid-column:1}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-]){grid-template-columns:minmax(0,1fr)}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:nth-child(3),.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:nth-child(4),.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:nth-child(5){grid-column:1}.fiscal-code-table tbody tr:not([id^=fiscal-code-details-])>td:nth-child(5){justify-self:stretch}.fiscal-code-details-toggle{width:100%}}.booking-wizard{justify-items:center;gap:22px;width:min(100%,760px);margin:0 auto 28px;display:grid}.booking-wizard-progress{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0;padding:0;list-style:none;display:grid}.booking-wizard-progress-step{color:var(--text);justify-items:center;gap:8px;font-size:.76rem;line-height:1.25;display:grid;position:relative}.booking-wizard-progress-step:not(:last-child):after{background:var(--border);content:"";width:calc(100% - 44px);height:2px;position:absolute;top:17px;left:calc(50% + 22px)}.booking-wizard-progress-step.is-complete:not(:last-child):after{background:var(--accent)}.booking-wizard-step-number{z-index:1;border:2px solid var(--border);width:36px;height:36px;color:var(--text);background:var(--bg);border-radius:50%;place-items:center;font-size:.9rem;font-weight:700;display:grid}.booking-wizard-progress-step.is-current{color:var(--text-h);font-weight:700}.booking-wizard-progress-step.is-current .booking-wizard-step-number,.booking-wizard-progress-step.is-complete .booking-wizard-step-number{border-color:var(--accent);color:var(--accent-contrast);background:var(--accent)}.booking-wizard-panel{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;box-shadow:var(--shadow);border-radius:14px;justify-items:center;gap:14px;padding:28px;display:grid}.booking-wizard-panel h2{margin:0}.booking-wizard-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.booking-wizard-description{max-width:560px;color:var(--text)}.booking-wizard-form{justify-items:center;gap:14px;width:100%;display:grid}.booking-wizard-field{width:min(100%,480px);color:var(--text-h);justify-items:center;font-weight:600;display:grid}.booking-wizard-field .textbox{box-sizing:border-box;width:100%;margin:8px 0 0}.booking-wizard-panel .result{margin:0}.booking-wizard-panel .result.date-option-group{width:100%;box-shadow:none;background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.booking-wizard-panel .date-option-group .date-option{box-sizing:border-box;justify-content:center;width:100%;min-width:0;padding-inline:8px}.booking-wizard-selection{color:var(--text-h);background:var(--code-bg);border-radius:999px;padding:9px 14px}.booking-wizard-review{text-align:left;gap:10px;width:min(100%,480px);margin:4px 0;display:grid}.booking-wizard-review>div{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;grid-template-columns:1fr auto;gap:14px;padding:12px 14px;display:grid}.booking-wizard-review dt{color:var(--text)}.booking-wizard-review dd{color:var(--text-h);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:700}.booking-wizard-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:4px;display:flex}.booking-wizard-back{border:1px solid var(--border);min-height:48px;color:var(--text-h);background:var(--bg);font:inherit;cursor:pointer;border-radius:12px;padding:10px 16px;font-weight:600}.booking-wizard-back:hover{border-color:var(--accent-border);background:var(--accent-bg)}.booking-wizard-back:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.preopening-opening-date,.preopening-highlight{box-sizing:border-box;border:1px solid var(--accent-border);max-width:560px;color:var(--text-h);background:var(--accent-bg);text-wrap:balance;border-radius:10px;margin:0;padding:10px 16px;font-weight:600;line-height:1.4}.preopening-identity-form{text-align:left;gap:14px;width:min(100%,480px);display:grid}.preopening-identity-form label{color:var(--text-h);gap:6px;font-weight:600;display:grid}.preopening-identity-form input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-h);background:var(--bg);font:inherit;border-radius:6px;padding:11px 12px}.preopening-identity-form input[readonly]{color:var(--text);background:var(--code-bg)}.preopening-identity-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=560px){.booking-wizard{gap:16px;width:100%}.booking-wizard-progress-step{font-size:.66rem}.booking-wizard-progress-step:not(:last-child):after{width:calc(100% - 36px);left:calc(50% + 18px)}.booking-wizard-step-number{width:30px;height:30px}.booking-wizard-panel{padding:22px 16px}.booking-wizard-actions{flex-direction:column-reverse;width:100%}.booking-wizard-actions .button,.booking-wizard-back{box-sizing:border-box;width:100%}}.booking-details-page{text-align:left;width:min(100% - 40px,880px)}.booking-details-header{margin:8px 0 28px}.booking-details-eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:700}.booking-details-header h1.admin-page-title{text-align:left;margin:0;line-height:1.15}.booking-details-intro{color:var(--text);margin-top:10px}.booking-details-state,.booking-details-error{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;margin:28px 0;padding:18px 20px}.booking-details-error{color:var(--accent)}.booking-details-card{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:12px;grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);margin-bottom:20px;display:grid;overflow:hidden}.booking-details-section{min-width:0;padding:24px}.booking-details-reservation{border-left:1px solid var(--border);background:var(--code-bg)}.booking-details-section-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.booking-details-section-icon{color:#fff8e8;background:var(--accent);border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:.78rem;font-weight:700;display:grid}.booking-details-section-heading h2,.booking-details-section-heading h3{text-align:left;margin:0;font-size:1.1rem;line-height:1.25}.booking-details-section-heading h3{color:var(--text-h);font-family:var(--heading);font-weight:500}.booking-details-section-heading p{color:var(--text);margin-top:3px;font-size:.82rem}.booking-details-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.booking-details-list>div{border:1px solid color-mix(in srgb, var(--border) 75%, transparent);background:var(--bg);border-radius:8px;min-width:0;padding:11px 12px}.booking-details-list dt{color:var(--text);margin-bottom:3px;font-size:.76rem}.booking-details-list dd{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-weight:600}.booking-details-list .booking-details-code{border-color:var(--accent-border);grid-column:1/-1}.booking-details-code dd{color:var(--accent);letter-spacing:.035em;font-size:1.05rem}.booking-status{align-items:center;gap:7px;display:inline-flex}.booking-status>span{color:var(--accent);font-size:.75rem}.booking-status.is-positive>span{color:#34734a}.booking-reservation-list{grid-template-columns:1fr}.booking-details-list .booking-details-date{border-color:var(--accent-border);background:var(--bg);padding:16px}.booking-details-date dd{color:var(--accent);font-size:1.25rem}.booking-details-empty{border:1px dashed var(--border);background:var(--bg);border-radius:8px;padding:14px}.fiscal-code-expanded-card{box-shadow:none;border-radius:8px;margin:0}@media (width<=700px){.booking-details-page{width:min(100% - 28px,520px)}.booking-details-header{margin:0 0 20px}.booking-details-card{grid-template-columns:1fr}.booking-details-section{padding:18px}.booking-details-reservation{border-top:1px solid var(--border);border-left:0}}@media (width<=420px){.booking-details-list{grid-template-columns:1fr}.booking-details-list .booking-details-code{grid-column:auto}}
