/* Shared font faces and scale are loaded after this legacy layout sheet. */
@import url('/static/v1/6df721a31517794a2bb74fafdd8bda141ada448d59f88ad3ce9e5b72b5b327ea/src/device-security.css');
.crm-readonly-fields{border:0;padding:0;margin:0;min-width:0}
:root{--night:#11110f;--night2:#1a1916;--ivory:#f4f0e8;--paper:#fbf9f4;--bronze:#b89a68;--bronze2:#d0b98f;--line:#d9d2c5;--muted:#716c64;--danger:#9b3434;--serif:var(--font-app);--sans:var(--font-app)}*{box-sizing:border-box}html{background:var(--night);scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,var(--night) 0 520px,var(--ivory) 520px);color:var(--night);font:15px/1.55 var(--sans)}.site-header{height:82px;max-width:1180px;margin:auto;padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#eee9df;border-bottom:1px solid #ffffff21}.site-header>span{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#aaa49a}.wordmark{font:24px/1 var(--serif);letter-spacing:.2em;color:white;text-decoration:none}.admin-link{justify-self:end;color:#c7c0b5;text-decoration:none;font-size:12px;border-bottom:1px solid #777064;padding-bottom:3px}.shell{max-width:1180px;margin:auto;padding:0 28px 50px}.intro{min-height:438px;color:white;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:80px}.intro h1{font:clamp(55px,7vw,92px)/.94 var(--serif);font-weight:400;letter-spacing:-.02em;margin:13px 0}.intro h1 i{color:var(--bronze2);font-weight:400}.intro-copy{align-self:end;margin-bottom:86px;border-left:1px solid #ffffff33;padding-left:28px;color:#cdc7bd;max-width:330px}.intro-copy p{font-size:17px;color:#eee9df;margin:0 0 28px}.intro-copy span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;margin:8px 0}.kicker{text-transform:uppercase;letter-spacing:.22em;color:var(--bronze2);font-size:10px;font-weight:600}form{max-width:1040px;margin:-15px auto 0}.step{background:var(--paper);border:1px solid var(--line);padding:34px 38px;margin:14px 0;box-shadow:0 10px 40px #19140c0b}.step-title{display:flex;gap:16px;align-items:center;margin-bottom:26px}.step-title b{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--bronze);border-radius:50%;color:#876d40;font-size:12px}.step-title h2,h2{font:32px/1.1 var(--serif);font-weight:400;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{position:relative;appearance:none;text-align:left;background:#fff;border:1px solid var(--line);padding:26px 24px 22px;min-height:258px;cursor:pointer;color:var(--night);transition:.25s ease;overflow:hidden}.card:hover{transform:translateY(-3px);border-color:var(--bronze);box-shadow:0 16px 30px #2d241714}.card:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}.card small,.card strong,.card>span,.card em{display:block}.card-number{position:absolute;right:18px;top:13px;font:42px var(--serif);color:#ebe6dc}.card small{position:relative;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:#84765f;margin-top:16px}.card strong{position:relative;font:29px/1.08 var(--serif);font-weight:400;margin:14px 0}.card>span:not(.card-number):not(.choose){color:var(--muted)}.card em{font-style:normal;color:#81683d;margin-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.card .choose{position:absolute;bottom:20px;left:24px;right:24px;border-top:1px solid #e9e4da;padding-top:12px;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#615b52}.card .choose b{float:right;font-size:16px;line-height:10px}.card.selected{border:1px solid var(--bronze)!important;background:var(--night2)!important;color:white}.card.selected .card-number{color:#2d2b26}.card.selected>span,.card.selected small{color:#bdb6a9!important}.card.selected strong{color:white}.card.selected em{color:var(--bronze2)}.card.selected .choose{border-color:#38352f}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#4f4a43}input,select,textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #bfb7aa;background:transparent;padding:13px 2px;font:15px var(--sans);color:var(--night);border-radius:0}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--bronze)}textarea{resize:vertical}.slots{display:flex;flex-wrap:wrap;gap:9px}.slots button{background:white;border:1px solid var(--line);padding:12px 18px;min-width:74px;cursor:pointer;font:500 13px var(--sans);transition:.2s}.slots button:hover{border-color:var(--bronze)}.slots button.selected{background:var(--night)!important;color:white;border-color:var(--night)!important}.primary,.secondary,.danger{border:0;padding:16px 22px;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.primary{background:var(--night);color:white;width:100%;font-size:12px}.primary:hover{background:#292720}.secondary{background:var(--bronze);color:white}.danger{background:var(--danger);color:white}.check{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px;text-transform:none;letter-spacing:0;font-size:13px;font-weight:400}.check input{width:18px;height:18px;margin:1px 0;accent-color:var(--night)}.error{color:var(--danger);font-size:12px}.muted{color:var(--muted)}.guarantee{background:#eee7da;border-color:#cdbb99}.hidden{display:none!important}.success{text-align:center;background:var(--paper);border:1px solid var(--bronze);padding:70px 24px;margin:20px auto;max-width:780px}.success h2{font-size:46px;margin:15px}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.summary{display:grid;grid-template-columns:auto auto auto auto;gap:10px;align-items:baseline;margin:30px 0}.summary strong{font:40px var(--serif)}.booking-list{display:grid;gap:12px}.booking{display:flex;justify-content:space-between;gap:20px;background:var(--paper);border:1px solid var(--line);padding:24px}.booking h3{font:27px var(--serif);margin:5px 0}.booking p{margin:5px 0}.status{display:block;text-align:center;padding:6px 9px;margin-bottom:8px;background:#eee;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.status.confirmed{background:#dfe9dc}.status.cancelled,.status.no_show{background:#f0dada}.empty{text-align:center;padding:50px;border:1px dashed var(--line)}footer{display:flex;justify-content:space-between;border-top:1px solid #cfc7b9;margin-top:45px;padding:24px 0;color:#6e685f;text-transform:uppercase;letter-spacing:.1em;font-size:9px}.admin{padding-top:0}.admin .brand{display:flex;justify-content:space-between;align-items:center;height:82px;color:white;border-bottom:1px solid #ffffff26;letter-spacing:.15em}.admin .brand a{color:white}.admin .intro{min-height:330px;display:block;padding-top:85px}.admin .intro h1{margin:10px 0}.admin .toolbar{background:var(--paper);padding:24px;border:1px solid var(--line)}@media(max-width:760px){body{background:linear-gradient(180deg,var(--night) 0 470px,var(--ivory) 470px)}.site-header{height:68px;padding:0 18px;grid-template-columns:1fr 1fr}.site-header>span{display:none}.wordmark{font-size:20px}.shell{padding:0 14px 35px}.intro{min-height:400px;display:block;padding-top:65px}.intro h1{font-size:54px}.intro-copy{display:none}.step{padding:24px 18px;margin:10px 0}.step-title h2{font-size:27px}.cards,.fields{grid-template-columns:1fr}.card{min-height:225px}.booking{display:block}.booking>div:last-child{margin-top:14px}.summary{grid-template-columns:auto auto}footer{display:grid;gap:8px}.admin .intro{min-height:280px;padding-top:65px}}
/* Monthly availability: same ivory/bronze palette, accessible native buttons. */
.booking-calendar{max-width:520px;margin:28px auto 0;border-top:1px solid var(--line);padding-top:20px}.calendar-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:18px}.calendar-header h3{text-align:center;font:28px var(--serif);margin:0;text-transform:capitalize}.calendar-header button,.calendar-days button{min-height:44px;border:1px solid var(--line);background:white;color:var(--night);font:500 14px var(--sans);cursor:pointer}.calendar-header button:disabled{opacity:.3;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{text-align:center;font-size:11px;color:var(--muted);padding-bottom:10px}.calendar-days button{border-radius:3px;padding:0;min-width:0}.calendar-days button:disabled{color:#847d73;background:#ebe6dc;border-color:transparent;cursor:default}.calendar-days button.selected:not(:disabled){background:var(--night);color:white;border-color:var(--night)}.calendar-days button[aria-current=date]{box-shadow:inset 0 -3px var(--bronze)}.calendar-days button:not(:disabled):hover{border-color:var(--bronze);box-shadow:0 2px 7px #19140c15}.booking-calendar button:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}.calendar-message{min-height:40px;font-size:12px;color:var(--muted)}.calendar-refresh{background:transparent;border:0;border-bottom:1px solid var(--bronze);padding:8px 0;min-height:44px;font:500 12px var(--sans);color:#6c5734;cursor:pointer}.calendar-refresh:disabled{opacity:.45;cursor:default}.slots button:disabled{color:#847d73;background:#ebe6dc;cursor:default;opacity:.7}
/* Availability refinements */
.field-note{display:block;margin-top:7px;color:var(--muted);font-size:10px;text-transform:none;letter-spacing:0;font-weight:400}
.experience-menu{margin-top:22px;padding:22px;border:1px solid var(--line);background:#f4f0e8}.experience-menu h3{font:25px/1.2 var(--serif);font-weight:400;margin:0 0 6px}.menu-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.menu-options button{text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:100px;padding:16px;border:1px solid var(--line);background:white;color:var(--night);font:14px/1.35 var(--sans);cursor:pointer}.menu-options button strong{font:24px var(--serif);font-weight:400;color:#7b6035}.menu-options button:hover,.menu-options button:focus-visible{border-color:var(--bronze);outline:2px solid transparent}.menu-options button.selected{background:var(--night2);border-color:var(--bronze);color:white}.menu-options button.selected strong{color:var(--bronze2)}@media(max-width:760px){.menu-options{grid-template-columns:1fr}.menu-options button{min-height:72px;flex-direction:row;align-items:center}}
.slots button{padding:10px 18px;min-width:84px}
.slots button small{display:block;margin-top:2px;color:var(--muted);font-size:9px;font-weight:400}
.slots button.selected small{color:#fff}
.booking-main{flex:1}.edit-booking{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.edit-booking .primary{margin-top:18px}.text-danger{border:0;background:transparent;color:var(--danger);padding:12px;cursor:pointer;font:600 10px var(--sans);text-transform:uppercase;letter-spacing:.08em}
.optional{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}.field-wide{grid-column:1/-1}.marketing{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.booking-review{margin:0 0 24px;padding:15px 18px;border-left:3px solid #2e6a52;background:#edf5ef;color:#244a39;font-size:14px;font-weight:600;line-height:1.5}
.crm-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.crm-summary article{background:var(--paper);border:1px solid var(--line);padding:24px}.crm-summary strong{display:block;font:40px var(--serif)}.crm-summary span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.nation-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 0 15px;border-bottom:1px solid var(--line)}.nation-row i{position:absolute;bottom:5px;left:0;height:3px;background:var(--bronze)}.customer-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.tier{display:inline-block;padding:4px 8px;border-radius:20px;background:#ddd;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.tier.bronce{background:#c99a6b}.tier.plata{background:#d6d6d6}.tier.oro{background:#d9b64a}.tier.platinum{background:#242424;color:white}@media(max-width:760px){.crm-summary{grid-template-columns:1fr}}
.alternatives{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}.alternatives>span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
#operations-content form{margin:22px 0 0;max-width:none}#operations-content h2{margin-bottom:14px}#operations-content .fields{margin-bottom:20px}#operations-content .step>button{margin-top:12px}#operations-content .check{align-items:flex-start}#operations-content [role="status"]{margin-top:16px}#operations-content .secondary{margin-right:8px}.tier.historico_pendiente{background:#eee5d6;color:#675435}
/* Private panels: preserve every navigation action at narrow widths. */
.admin .brand{height:auto;min-height:82px;flex-wrap:wrap;gap:12px 20px;padding:16px 0}
.admin .brand nav{display:flex;flex-wrap:wrap;gap:8px}
.admin .booking-main,.admin .fields>label{min-width:0}
.admin .booking-main{overflow-wrap:anywhere}
.admin .toolbar>label{flex:1 1 140px;min-width:0}
.admin .toolbar input,.admin .toolbar select{max-width:100%}
.admin .summary>span:last-child{grid-column:1/-1;font-size:12px;color:var(--muted)}
.customer-card details{margin:16px 0;padding:12px 0;border-top:1px solid var(--line)}
.customer-card summary{cursor:pointer;font-weight:600}
.customer-form label small{display:block;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:6px}
.customer-form .check input{flex-shrink:0}
.message-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 var(--sans);padding:16px;border:1px solid var(--line);background:white}
.connection-notice{background:#fff3d9;color:#553b12;padding:14px 18px;border:1px solid var(--bronze);margin:16px 0}.connection-notice[hidden]{display:none}#install-link{white-space:nowrap}#install-app[hidden]{display:none}
.operational-report summary{cursor:pointer;font-weight:600}.report-scroll{overflow-x:auto}.operational-report table{width:100%;border-collapse:collapse;font-size:13px;margin:18px 0}.operational-report th,.operational-report td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}.cancel-confirmation{border:1px solid var(--bronze);padding:14px;margin:12px 0}.cancel-confirmation button{margin:4px}
.reservation-analytics>summary{cursor:pointer;font:27px/1.2 var(--serif);color:var(--night)}
.reservation-analytics>summary:focus-visible,.analytics-detail>summary:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
.reservation-analytics h3{font:23px var(--serif);margin:30px 0 14px}.reservation-analytics h4{font:18px var(--serif);margin:0 0 14px}
.analytics-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:20px 0}.analytics-controls label{min-width:155px}.analytics-controls [hidden]{display:none!important}
.analytics-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analytics-kpis article{border:1px solid var(--line);background:#fff;padding:18px;min-width:0}.analytics-kpis span,.analytics-kpis small{display:block;color:var(--muted);font-size:11px}.analytics-kpis span{text-transform:uppercase;letter-spacing:.08em}.analytics-kpis strong{display:block;font:34px var(--serif);margin:5px 0}.analytics-highlights{border-left:3px solid var(--bronze);padding:4px 20px;margin:25px 0;background:#f2eee6}.analytics-highlights p{margin:10px 0}
.analytics-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.analytics-panels section{border:1px solid var(--line);background:#fff;padding:20px;min-width:0}.analytics-bar{display:grid;grid-template-columns:minmax(80px,1fr) 2fr auto auto;gap:8px;align-items:center;font-size:12px;margin:7px 0}.analytics-bar small{color:var(--muted)}.analytics-track{height:9px;background:#efece6;min-width:30px}.analytics-track i{display:block;height:100%;background:var(--bronze)}.analytics-detail{margin-top:20px}.analytics-detail>summary{cursor:pointer;font-weight:600}.analytics-detail table{width:100%;border-collapse:collapse;font-size:13px}.analytics-detail th,.analytics-detail td{padding:9px;border-bottom:1px solid var(--line);text-align:left}
@media(max-width:760px){.analytics-kpis,.analytics-panels{grid-template-columns:1fr}.analytics-bar{grid-template-columns:75px minmax(60px,1fr) auto}.analytics-bar small{grid-column:3;display:none}}
#closure-hours{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 20px}#closure-hours fieldset{border:1px solid var(--line);padding:14px;display:flex;flex-wrap:wrap;gap:8px}#closure-hours legend{padding:0 6px;font-size:11px;font-weight:600;color:var(--muted)}#closure-hours .check{align-items:center;margin:0;padding:8px 10px;border:1px solid var(--line);background:white;cursor:pointer}#closure-hours .check:has(input:checked){border-color:var(--bronze);background:#f3eadb}#closure-hours .check input{flex:none;margin:0}
@media(max-width:760px){.admin .brand>span{flex-basis:100%}.admin .brand a{font-size:12px;letter-spacing:.06em}.admin .brand button{padding:13px}.admin .toolbar{padding:18px}.admin .summary{grid-template-columns:auto minmax(0,1fr)}.admin .booking input,.admin .booking select{max-width:100%}.customer-card ul{padding-left:20px}}
@media(max-width:760px){#closure-hours{grid-template-columns:1fr}}
/* App-style staff workspace: familiar persistent navigation with Dexcaro branding. */
.admin-app{min-height:100vh;background:#f4f6f5;color:#202824;font-family:var(--sans)}
.admin-layout{min-height:100vh;display:grid;grid-template-columns:226px minmax(0,1fr)}
.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:22px 14px 16px;background:#151916;color:#f6f4ef;overflow-y:auto}
.app-sidebar .brand-logo{width:190px;height:60px;margin:0 auto 5px}
.sidebar-caption{padding:0 14px;color:#a9a89d;font-size:9px;font-weight:700;letter-spacing:.18em}
.app-nav,.sidebar-bottom{display:grid;gap:5px}
.app-nav a,.sidebar-bottom a{min-height:46px;display:flex;align-items:center;gap:13px;padding:10px 13px;border-radius:8px;color:#e6e7e2;text-decoration:none;font-size:13px;font-weight:500;transition:background .18s ease,color .18s ease}
.app-nav a:hover,.sidebar-bottom a:hover{background:#292f2b;color:white}
.app-nav a.active{background:#293d35;color:#d0b98f;box-shadow:inset 3px 0 #b89a68}
.nav-icon{width:20px;flex:none;text-align:center;font-size:20px;line-height:1;color:#cfcfc5}
.app-nav a.active .nav-icon{color:#d0b98f}
.sidebar-bottom{margin-top:auto;padding-top:15px;border-top:1px solid #ffffff28}
.sidebar-note{padding:8px 12px;color:#969a91;font-size:10px;letter-spacing:.04em}
.sidebar-bottom a{min-height:38px;color:#bdbeb6;font-size:12px}
.app-main{min-width:0;padding:0 clamp(18px,3vw,42px) 48px}
.app-topbar{height:68px;min-height:68px!important;padding:0!important;border-bottom:1px solid #dfe4df!important;color:#48514b!important;letter-spacing:0!important}
.app-topbar>div{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}
.topbar-eyebrow{color:#70796f;font-size:10px;letter-spacing:.12em}
.topbar-separator{color:#b2b8b2;font-weight:400}
.app-topbar #sign-out{margin-left:auto;padding:10px 15px;background:#fff;color:#39463e;border:1px solid #d8ded8;border-radius:7px;font-size:10px;letter-spacing:.06em}
.admin-intro{min-height:0!important;display:flex!important;align-items:end!important;justify-content:space-between;gap:24px!important;padding:25px 0 19px!important;color:#202824!important}
.admin-intro .kicker{margin:0 0 4px;color:#7c6847}
.admin-intro h1{font:36px/1.12 var(--serif)!important;color:#202824!important;margin:0!important;letter-spacing:0!important}
.admin-intro>p{max-width:430px;margin:0!important;color:#68716b!important;font-size:13px}
.admin-intro .guarantee-link{flex-basis:100%;margin:0;font-size:11px}
.admin-intro .guarantee-link a{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border:1px solid #d8ded8;border-radius:6px;background:#fff;color:#536d5c;text-decoration:none;font-weight:500}
.admin-intro .guarantee-link a:hover{border-color:#b89a68;background:#faf8f3;color:#47381e}
.admin-app .step{margin:12px 0;padding:24px 28px;border-color:#e0e5e0;border-radius:10px;box-shadow:0 2px 8px #19221a08}
.admin-app .step-title{margin-bottom:20px}
.admin-app .step-title b{border:0;border-radius:7px;background:#eef2ef;color:#506457}
.admin-login{max-width:560px;margin:18px auto!important}
.admin-login .primary{margin-top:12px;border-radius:7px;background:#315c4d;letter-spacing:.08em}
.admin-login .primary:hover{background:#25483c}
.admin-login .secondary,.admin-app .toolbar .secondary{border-radius:7px;background:#e8eee9;color:#315c4d;letter-spacing:.06em}
.admin-app #admin-content{display:grid;gap:15px}
.admin-app #admin-content>.toolbar{position:relative;padding:15px 17px;background:#fff;border:1px solid #e0e5e0;border-radius:9px;box-shadow:0 2px 7px #19221a06}
.admin-app .toolbar label{font-size:9px;color:#6a746c}
.admin-app .toolbar input,.admin-app .toolbar select{margin-top:4px;padding:10px 8px;border:1px solid #dce2dc;border-radius:6px;background:white;font-size:13px}
.admin-app .summary{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:0;margin:0;padding:14px 4px;background:white;border:1px solid #e0e5e0;border-radius:9px}
.admin-app .summary>*{padding:0 15px;border-right:1px solid #e8ece8}
.admin-app .summary>*:last-child{border-right:0}
.admin-app .summary strong{font:30px var(--serif);color:#315c4d}
.admin-app .booking-list{gap:9px}
.admin-app .booking{align-items:center;padding:18px 20px;border:1px solid #e0e5e0;border-radius:9px;background:#fff;box-shadow:0 1px 5px #19221a06}
.admin-app .booking h3{font:20px var(--sans);font-weight:600;color:#29332d}
.admin-app .booking .status{width:max-content;padding:5px 10px;border-radius:20px;background:#edf2ee;color:#3d664f;font-weight:600}
.admin-app .booking .status.cancelled,.admin-app .booking .status.no_show{background:#f6e8e5;color:#963f37}
.admin-app button,.admin-app a{transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.admin-app :focus-visible{outline:2px solid #557b68;outline-offset:2px}
@media(max-width:820px){.admin-layout{grid-template-columns:1fr;align-content:start;grid-auto-rows:max-content}.app-sidebar{position:sticky;z-index:5;height:auto;gap:8px;padding:10px 14px 9px}.app-sidebar .brand-logo{display:none}.sidebar-caption{display:none}.app-nav{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin;padding-bottom:1px}.app-nav a{flex:0 0 auto;min-height:40px;padding:8px 12px;font-size:12px}.nav-icon{width:16px;font-size:17px}.sidebar-bottom{display:flex;margin:0;padding:0;border:0}.sidebar-bottom a:first-child{display:none}.sidebar-bottom a{position:absolute;right:14px;top:12px;min-height:30px;padding:5px 8px}.app-main{padding:0 16px 32px}.app-topbar{height:53px;min-height:53px!important}.admin-intro{align-items:start!important;flex-direction:column;padding:19px 0 13px!important;gap:8px!important}.admin-intro h1{font-size:31px!important}.admin-intro>p{max-width:unset;font-size:12px}.admin-app .step{padding:19px 17px}.admin-app .summary{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}.admin-app .summary>*{padding:0 11px}.admin-app .booking{display:block}.admin-app .booking>div:last-child{margin-top:12px}.admin-app .booking .status{margin-bottom:10px}}
@media(max-width:460px){.app-nav a{padding:7px 9px;gap:7px}.nav-icon{display:none}.admin-app .toolbar>label{flex-basis:calc(50% - 8px)}.admin-app .toolbar>button{width:100%}}
/* Visibilidad clara: marfil, piedra y bronce, con iconos de trazo y botones premium. */
.admin-app{background:#f7f6f2;color:#292a27}
.admin-layout{background:#f7f6f2}
.app-sidebar{background:linear-gradient(180deg,#fbfaf7 0%,#f2efe8 100%);color:#49483f;border-right:1px solid #e4dfd4;box-shadow:3px 0 16px #514b3f0a}
.app-sidebar .brand-logo{background:#37332d;border:1px solid #6e6048;border-radius:9px;box-shadow:0 5px 14px #3d33231c}
.sidebar-caption{color:#877653}
.app-nav a,.sidebar-bottom a{color:#4d4c44}
.app-nav a:hover,.sidebar-bottom a:hover{background:#fff;color:#302f2a;box-shadow:0 2px 8px #53483012}
.app-nav a.active{background:#e8e1d2;color:#5e4a29;box-shadow:inset 3px 0 #aa8750,0 2px 8px #53483010}
.nav-icon{width:20px;height:20px;color:#78705f;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-nav a.active .nav-icon{color:#80683e}
.sidebar-bottom{border-top-color:#ded8cc}
.sidebar-note{color:#807965}
.app-main{background:#f7f6f2}
.admin-app .admin{color:#34332e}
.admin-app .admin .brand{background:#fffdfa;border-bottom:1px solid #e4dfd4;color:#49483f;box-shadow:0 2px 8px #514b3f08}
.admin-app .admin .brand a{color:#625238}
.admin-app .admin .brand .brand-logo{background:#37332d;border:1px solid #6e6048;border-radius:8px}
.admin-app .admin .brand .brand-logo img{mix-blend-mode:normal}
.admin-app .admin .brand-role{color:#80683e}
.admin-app .admin .intro{display:block;min-height:0;padding:28px 0 18px;color:#36352f}
.admin-app .admin .intro h1{font:36px/1.12 var(--serif);color:#34332e;letter-spacing:0;margin:6px 0 9px}
.admin-app .admin .intro>p:not(.kicker){max-width:850px;color:#66665e;font-size:13px}
.admin-app .admin .brand nav a{text-decoration:none;padding:8px 11px;border-radius:7px}
.admin-app .admin .brand nav a:hover{background:#eee9de;color:#4b3d27}
.app-topbar{background:#fffdfa;border-bottom-color:#e4e0d7!important;color:#555349!important;box-shadow:0 1px 4px #443c2b08}
.topbar-eyebrow{color:#8a7551}
.topbar-separator{color:#c7c0b4}
.app-topbar #sign-out{background:#fffdfa;color:#62543b;border-color:#d8cfbd;box-shadow:0 2px 5px #5146320a}
.app-topbar #sign-out:hover{background:#f3eee3;border-color:#b99e6d}
.admin-intro h1{color:#34332e!important}
.admin-intro .kicker{color:#8a6b3c}
.admin-intro>p{color:#66665e!important}
.admin-app .step{background:#fffdfa;border-color:#e4dfd4;box-shadow:0 4px 18px #514b3f0c}
.admin-app .step-title b{background:#f1eee7;color:#80683e}
.admin-app .step-title h2{color:#3b3933}
.admin-login .primary,.admin-app .primary{min-height:48px;border:1px solid #725a34;border-radius:9px;background:linear-gradient(135deg,#92784c 0%,#725a34 100%);color:#fff;font-weight:700;letter-spacing:.07em;box-shadow:0 4px 11px #70582f2e}
.admin-login .primary:hover,.admin-app .primary:hover{background:linear-gradient(135deg,#80663d 0%,#654e2d 100%);box-shadow:0 6px 15px #70582f3b;transform:translateY(-1px)}
.admin-app .secondary,.admin-app .toolbar .secondary{min-height:42px;border:1px solid #d5cbb8;border-radius:8px;background:#fffdfa;color:#625238;font-weight:700;letter-spacing:.04em;box-shadow:0 2px 6px #5348300c}
.admin-app .secondary:hover,.admin-app .toolbar .secondary:hover{background:#f4eee2;border-color:#b89a68;color:#4a3b23}
.admin-app .danger,.admin-app .text-danger{border-radius:8px}
.admin-app .toolbar{background:#fffdfa;border-color:#e4dfd4;box-shadow:0 3px 12px #514b3f09}
.admin-app .toolbar label{color:#716a5b}
.admin-app .toolbar input,.admin-app .toolbar select{border-color:#dcd5c8;background:#fff;color:#33332f}
.admin-app .toolbar input:focus,.admin-app .toolbar select:focus{border-color:#a88853;box-shadow:0 0 0 3px #b89a6826}
.admin-app .summary{background:#fffdfa;border-color:#e4dfd4}
.admin-app .summary strong{color:#5c725f}
.admin-app .booking{border-color:#e4dfd4;background:#fffdfa;box-shadow:0 3px 12px #514b3f09}
.admin-app .booking h3{color:#34342f}
.admin-app .booking .status{background:#e8eee7;color:#49654e}
.admin-app .booking .status.confirmed,.admin-app .booking .status.seated{background:#e4eee5;color:#426449}
.admin-app .booking .status.cancelled,.admin-app .booking .status.no_show{background:#f5e6e2;color:#913f35}
.admin-app :focus-visible{outline-color:#9d7a43;box-shadow:0 0 0 3px #b89a6828}
@media(max-width:820px){.app-sidebar{background:#f7f5ef;box-shadow:0 3px 10px #514b3f0c;border-right:0;border-bottom:1px solid #e3ddd1}.app-nav a.active{box-shadow:inset 0 -3px #a98750;background:#eae4d7}.app-nav a:hover{background:#fff}.app-topbar{background:#fffdfa}}
/* Identidad oficial: se recorta visualmente el lienzo negro, sin alterar el PNG recibido. */
.brand-logo{position:relative;display:block;flex:none;width:230px;height:70px;overflow:hidden;background:#000;color:#fff;text-decoration:none}
.brand-logo img{position:absolute;display:block;width:175%;max-width:none;height:auto;left:50%;top:56%;transform:translate(-50%,-50%)}
.app-nav [hidden]{display:none!important}
.settings-card[hidden]{display:none!important}
/* Agenda privada: fecha actual primero, calendario con reservas y tres modalidades visibles. */
.service-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,340px);gap:18px;align-items:start}
.service-main{min-width:0}
.service-day-banner{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;padding:4px 0 0}
.service-day-banner h2{font:clamp(32px,3.5vw,45px)/1.1 var(--serif);color:#34332e;margin:4px 0}
.service-day-banner p{margin:3px 0}
.service-day-banner .secondary{width:auto;min-height:42px}
.service-filters{margin:0 0 10px;padding:0 14px;border:1px solid #e4dfd4;border-radius:9px;background:#fffdfa}
.service-filters>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:600;color:#5e533e}
.service-filters>summary:focus-visible{outline:2px solid #52775b;outline-offset:2px}
.service-main .toolbar{margin:0 0 12px;border:0;box-shadow:none;padding:10px 0 0}
.service-main .summary{grid-template-columns:auto minmax(0,1fr);margin:10px 0 15px;gap:2px 12px;padding:13px 15px}
.service-main .summary strong{font-size:28px}
.service-main .summary span{font-size:12px}
.service-main .summary .summary-breakdown,.service-main .summary small{grid-column:1/-1;font-size:12px;line-height:1.4;color:#3d5748}
.service-main .summary>span:last-child{grid-column:1/-1}
.service-calendar{margin:8px 0 16px!important;padding:22px 26px!important}
.service-workspace .service-calendar{margin:0!important;padding:18px!important;position:sticky;top:18px}
.service-calendar-title{display:flex;justify-content:space-between;align-items:center;gap:16px}
.service-calendar-title h2{font:clamp(30px,3vw,40px)/1.1 var(--serif);margin:2px 0;color:#34332e}
.service-calendar-title p{margin:3px 0}
.service-calendar-title .secondary{width:auto;white-space:nowrap}
.service-calendar-nav{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;max-width:520px;margin:15px 0 10px}
.service-calendar-nav strong{text-align:center;color:#45453e;font-size:16px}
.service-calendar-nav button{min-height:40px;border:1px solid #d5cbb8;border-radius:8px;background:#fff;color:#665237;font-size:25px;cursor:pointer}
.service-calendar-weekdays,.service-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;max-width:520px}
.service-calendar-weekdays span{text-align:center;color:#716a5b;font-size:11px;font-weight:700}
.service-calendar-days button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:0;min-height:51px;border:1px solid #e0dbd0;border-radius:9px;background:#fffdfa;color:#494840;font:600 13px var(--sans);cursor:pointer}
.service-calendar-days button small{font:700 10px var(--sans);line-height:1;color:inherit}
.service-calendar-days button.has-bookings{background:#d9e9d9;border-color:#90b294;color:#234d35}
.service-calendar-days button.has-pending:not(.has-bookings){background:#f4ead4;border-color:#d3b372;color:#6b4b14}
.service-calendar-days button.selected{background:#3f6954!important;border-color:#2e5641!important;color:white!important;box-shadow:0 3px 9px #294d362e}
.service-calendar-days button.is-today:not(.selected){outline:2px solid #a48756;outline-offset:-3px}
.service-calendar-days button:hover,.service-calendar-nav button:hover{border-color:#52775b;box-shadow:0 2px 8px #294d3624}
.service-calendar-days button:focus-visible,.service-calendar-nav button:focus-visible{outline:2px solid #47694f;outline-offset:2px}
.service-calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:12px 0 0;color:#66665e;font-size:11px}
.service-calendar-legend .calendar-mark{width:12px;height:12px;margin-left:10px;border:1px solid #b4b4a9;border-radius:3px;background:#fff}
.service-calendar-legend .calendar-mark:first-child{margin-left:0}
.calendar-mark.booked{background:#d9e9d9;border-color:#90b294}.calendar-mark.pending{background:#f4ead4;border-color:#d3b372}.calendar-mark.selected{background:#3f6954;border-color:#2e5641}
.service-day-group{min-width:0}.service-day-group>h2{font:clamp(25px,2.5vw,34px) var(--serif);color:#37362f;margin:15px 0 12px}
.service-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.service-workspace .service-experience-grid{grid-template-columns:1fr}
.service-experience-block{min-width:0;border:1px solid #e0dbcf;border-radius:12px;background:#fffdfa;box-shadow:0 4px 16px #514b3f0b;overflow:hidden}
.service-experience-block>summary{display:flex;align-items:center;gap:12px;padding:17px 18px;background:#f8f6f0;cursor:pointer;list-style:none}
.service-experience-block>summary::-webkit-details-marker{display:none}
.service-experience-block[open]>summary{border-bottom:1px solid #e9e4d8}
.service-experience-block>summary:hover{background:#f0f2eb}
.service-experience-block>summary:focus-visible{outline:2px solid #47694f;outline-offset:-3px}
.service-block-title{min-width:0;flex:1;display:grid;gap:4px}
.service-block-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.service-block-heading strong{font:25px/1.15 var(--serif);color:#37362f}
.service-count{display:inline-block;padding:4px 9px;border-radius:999px;background:#e2ece2;color:#2e5540;font-size:12px;font-weight:700;white-space:nowrap}
.service-block-meta{color:#66655e;font-size:12px}
.service-chevron{flex:0 0 10px;width:10px;height:10px;border-right:2px solid #466650;border-bottom:2px solid #466650;transform:rotate(45deg);transition:transform .15s}
.service-experience-block[open] .service-chevron{transform:rotate(225deg)}
.service-attention,.booking-attention{display:inline-flex;align-items:center;gap:5px;width:fit-content;border:1px solid #d7a973;border-radius:7px;background:#fff2dc;color:#6c390e;font-size:12px;font-weight:700;padding:5px 8px}
.booking-attention{display:flex;margin:0 0 8px}
.booking-translation{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:10px 0;padding:10px;border-radius:8px;background:#f6f3eb}
.booking-translation label{font-size:12px;flex:1 1 150px}
.booking-translation select{margin-top:4px;min-width:150px}
.booking-translation button{width:auto;min-height:40px}
.booking-translation small,.booking-translation .translation-status,.booking-translation .translation-result{flex-basis:100%;margin:0;font-size:12px}
.booking-translation .translation-result{padding:8px;border-left:3px solid #52775b;background:#fff}
.service-block-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:9px;background:#e8eee5;color:#45624c;font-size:23px}
.service-neo .service-block-icon{background:#eee8da;color:#86693b}.service-experience .service-block-icon{background:#eadfe0;color:#88404c}
.service-block-list{padding:12px;display:grid;gap:10px}
.service-block-list .booking{display:block;margin:0;padding:17px;border-radius:9px;box-shadow:none;overflow-wrap:anywhere}
.service-block-list .booking>div:last-child{margin-top:12px}
.service-block-list .booking h3{font:23px/1.12 var(--serif)}
.service-block-list .booking .fields{grid-template-columns:1fr}
.service-block-list .booking .secondary,.service-block-list .booking .text-danger{margin-top:8px;margin-right:5px}
.service-empty{margin:4px!important;padding:15px;border:1px dashed #ddd6c9;border-radius:8px;color:#777169;font-size:12px;text-align:center}
@media(max-width:1200px){.service-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:790px){.service-experience-grid{grid-template-columns:1fr}.service-calendar{padding:18px!important}}
@media(max-width:460px){.service-calendar-title{align-items:flex-start;flex-direction:column}.service-calendar-title .secondary{width:100%}.service-calendar-days button{min-height:47px}.service-block-list{padding:8px}}
@media(min-width:1550px){.service-workspace .service-experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1360px) and (max-width:1549px){.service-workspace .service-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.service-workspace{grid-template-columns:1fr}.service-workspace .service-calendar{position:static;grid-row:2}.service-workspace .service-experience-grid{grid-template-columns:1fr}}
@media(max-width:460px){.service-day-banner{align-items:flex-start}.service-day-banner .secondary{white-space:nowrap;padding:12px}}
.site-header .brand-logo,.brand .brand-logo{background:transparent}
.site-header .brand-logo img,.brand .brand-logo img{mix-blend-mode:screen}
.brand-logo:focus-visible{outline:2px solid var(--bronze2);outline-offset:3px}
.brand-logo-small{width:128px;height:40px}
.brand-identity{display:flex;align-items:center;gap:15px;min-width:0}
.brand-role{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#d0b98f}
.brand{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px;min-height:82px;padding:8px 0;color:white;border-bottom:1px solid #ffffff26}
.brand a{color:white}.brand nav{display:flex;flex-wrap:wrap;gap:8px}
.footer-brand{display:flex;align-items:center;gap:10px;min-width:0}
@media(max-width:760px){.site-header{grid-template-columns:minmax(0,1fr) auto}.site-header .brand-logo{width:155px;height:48px}.brand .brand-logo{width:175px;height:54px}.brand-identity{gap:9px}.brand-role{font-size:9px}.footer-brand{flex-wrap:wrap}.footer-brand .brand-logo-small{width:128px;height:40px}}
.settings-top-link{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid #dfd8ca;border-radius:8px;background:#fffdfa!important;color:#625238!important;text-decoration:none;font-size:12px;font-weight:600}
.settings-top-link:hover{background:#f2ecdf;border-color:#b89a68}
.settings-intro{padding:28px 0 21px}
.settings-intro .kicker{margin:0 0 6px;color:#80683e}
.settings-intro h1{margin:0;color:#282a27;font:42px/1.1 var(--sans);font-weight:750;letter-spacing:-.035em}
.settings-intro>p:last-child{margin:8px 0 0;color:#68716b;font-size:14px}
.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px}
.settings-card{min-width:0;overflow:hidden;border:1px solid #e6e3dc;border-radius:15px;background:#fff;box-shadow:0 2px 8px #28261e07;transition:border-color .18s ease,box-shadow .18s ease}
.settings-card:hover{border-color:#d5c8ae;box-shadow:0 6px 19px #28261e0d}
.settings-card[open]{border-color:#c6b28e;box-shadow:0 6px 20px #514b3f10}
.settings-card>summary{min-height:112px;display:grid;grid-template-columns:28px minmax(0,1fr) auto 12px;align-items:center;gap:12px;padding:19px 17px;list-style:none;cursor:pointer}
.settings-card>summary::-webkit-details-marker{display:none}
.settings-card>summary>svg{width:25px;height:25px;fill:none;stroke:#434840;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.settings-card>summary strong,.settings-card>summary small{display:block}
.settings-card>summary strong{color:#272a27;font-size:17px;line-height:1.25;font-weight:750}
.settings-card>summary small{margin-top:6px;color:#74786f;font-size:11px;line-height:1.4}
.settings-chevron{align-self:center;color:#877856;font-size:18px;font-weight:500;transition:transform .18s ease}
.settings-card[open] .settings-chevron{transform:rotate(180deg)}
.settings-badge{align-self:start;padding:5px 8px;border-radius:999px;background:#edf5f0;color:#426c57;font-size:9px;font-weight:700;white-space:nowrap}
.settings-badge--pending{background:#f7f1e6;color:#856a37}
.settings-badge--ready{background:#eaf4ed;color:#416b50}
.settings-links{display:grid;gap:0;padding:0 18px 14px 57px}
.settings-links a{display:block;padding:10px 0;border-top:1px solid #f0eee9;color:#41483f;text-decoration:none;font-size:13px;line-height:1.4}
.settings-links a:hover{color:#725a34;text-decoration:underline;text-underline-offset:3px}
.settings-links p{margin:8px 0 4px;color:#74786f;font-size:11px;line-height:1.5}
.settings-footnote{margin:18px 0;color:#73766f;font-size:11px}
.admin-app .shell.admin>.brand{min-height:82px;height:auto;padding:8px 0;color:#48514b;border-bottom:1px solid #e4dfd4;letter-spacing:0;background:transparent}
.admin-app .shell.admin>.brand a{color:#465149}
.admin-app .shell.admin>.brand .brand-role{color:#80683e}
.admin-app .shell.admin>.brand nav a{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid #e2ddd3;border-radius:7px;background:#fffdfa;color:#55594f;text-decoration:none;font-size:11px;font-weight:600}
.admin-app .shell.admin>.brand nav a:hover{border-color:#b89a68;background:#f3eee4;color:#5c4828}
@media(max-width:1250px){.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-card>summary{min-height:100px}}
@media(max-width:620px){.settings-intro{padding:19px 0 15px}.settings-intro h1{font-size:34px}.settings-grid{grid-template-columns:1fr;gap:11px}.settings-card>summary{min-height:82px;padding:15px 14px;grid-template-columns:26px minmax(0,1fr) auto 12px}.settings-card>summary strong{font-size:16px}.settings-links{padding-left:54px}.settings-top-link{min-height:32px;padding:6px 9px;font-size:10px}}
.mfa-secret{display:block;overflow-wrap:anywhere;padding:1rem;border:1px solid var(--line,#ddd);border-radius:12px;background:#fff;font-size:1.15rem;letter-spacing:.08em;user-select:all}
.mfa-dialog{max-width:min(92vw,30rem);border:1px solid var(--line,#ddd);border-radius:18px;padding:1.5rem;color:inherit;box-shadow:0 20px 60px #0002}.mfa-dialog::backdrop{background:#1b1b1b80}.mfa-dialog form{display:grid;gap:1rem}.mfa-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}

/* Agenda compacta: el listado muestra lo imprescindible; el detalle se abre a la derecha. */
.service-workspace{grid-template-columns:minmax(0,1fr) minmax(340px,480px)}
.service-workspace .service-experience-grid{grid-template-columns:1fr}
.service-workspace [hidden]{display:none!important}
.service-block-list{padding:0;gap:0}
.reservation-row{width:100%;min-height:65px;display:grid;grid-template-columns:66px 86px minmax(0,1fr) 84px 24px 14px;align-items:center;gap:10px;margin:0;padding:9px 15px;border:0;border-top:1px solid #ece8df;background:#fffdfa;color:#333b35;text-align:left;font:13px/1.3 var(--sans);cursor:pointer}
.reservation-row:first-child{border-top:0}
.reservation-row:hover,.reservation-row[aria-pressed="true"]{background:#eff5ef}
.reservation-row[aria-pressed="true"]{box-shadow:inset 4px 0 #456d55}
.reservation-row:focus-visible{outline:2px solid #456d55;outline-offset:-3px;position:relative;z-index:1}
.reservation-row-time{padding:5px 7px;border-radius:16px;background:#263e33;color:#fff;text-align:center;font-weight:700;white-space:nowrap}
.reservation-row-person{min-width:0;display:grid;gap:2px}
.reservation-row-person strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reservation-row-person small{font-size:11px;color:#61736a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reservation-row-pax,.reservation-row-table{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reservation-row-table{color:#666a60}
.reservation-row-alert{color:#9a4d11;font-size:18px;font-weight:700;text-align:center}
.reservation-row-arrow{color:#52775b;font-size:24px;line-height:1}
.reservation-row[data-state="cancelled"],.reservation-row[data-state="deposit_expired"],.reservation-row[data-state="payment_expired"]{color:#817c72;background:#f9f7f4}
.reservation-row[data-state="cancelled"] .reservation-row-time{background:#87857f}
.booking-detail{margin:0!important;padding:18px!important;position:sticky;top:18px;max-height:calc(100vh - 36px);overflow-y:auto;overflow-x:hidden;scroll-margin-top:115px}
.booking-detail-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #e4dfd4}
.booking-detail-title h2{font:clamp(29px,2.5vw,37px)/1.1 var(--serif);margin:0}
.booking-detail-title .kicker{margin:0 0 3px}
.booking-detail-title .secondary{width:auto;min-height:42px;padding:9px 11px;font-size:10px;letter-spacing:0;white-space:nowrap}
.booking-detail .booking{display:block;margin:12px 0 0;padding:0;border:0;box-shadow:none;background:transparent;overflow-wrap:anywhere}
.booking-detail .booking h3{font:clamp(25px,2.4vw,34px)/1.16 var(--serif)}
.booking-detail .booking>div:last-child{margin-top:17px;padding-top:10px;border-top:1px solid #e4dfd4}
.booking-detail .booking .fields{grid-template-columns:1fr}
.booking-detail .booking button{margin:8px 5px 8px 0}
.guest-service-context{margin:12px 0;padding:15px;border:1px solid #d9e3dd;border-radius:12px;background:#f4faf5;color:#263e33}
.guest-service-context h3{margin:0 0 8px;font:600 17px/1.3 var(--sans)}
.guest-service-context p{margin:6px 0;line-height:1.45}
.guest-vip{display:inline-block;padding:2px 7px;border-radius:12px;background:#d6eddb;font-weight:700}
.tools-back{display:inline-block;margin:0 0 18px 26px;text-decoration:none}
.admin-app .service-workspace[hidden]{display:none!important}
.admin-app #operations-content > [hidden]{display:none!important}
@media(max-width:1500px){.reservation-row{grid-template-columns:62px 76px minmax(0,1fr) 72px 20px 12px;gap:7px}.reservation-row-table{font-size:11px}}
@media(max-width:1100px){.service-workspace{grid-template-columns:1fr}.booking-detail{position:static;max-height:none}.service-workspace .service-calendar{position:static;grid-row:auto}}
@media(max-width:600px){.reservation-row{grid-template-columns:52px 48px minmax(0,1fr) 38px 16px 8px;gap:4px;padding:8px 7px;min-height:68px}.reservation-row-table{font-size:10px}.reservation-row-person strong{font-size:12px}.reservation-row-person small{font-size:10px}.reservation-row-pax{font-size:10px;white-space:normal}.booking-detail-title{align-items:flex-start;flex-direction:column}.booking-detail-title .secondary{white-space:normal}}
/* Installed app identity: white icon against the existing Dexcaro visual system. */
.install-intro{display:flex!important;align-items:center!important;justify-content:space-between;gap:28px!important}
.install-icon-preview{flex:none;display:grid;justify-items:center;gap:12px;padding:18px;background:#fff;border:1px solid #e5ded2;border-radius:20px;box-shadow:0 14px 38px #0000001c;color:#19302d;text-align:center}
.install-icon-preview img{display:block;width:120px;height:120px;border-radius:17px}
.install-icon-preview span{font-weight:700;font-size:12px;letter-spacing:.04em}
@media(max-width:760px){.install-intro{align-items:flex-start!important;flex-direction:column;justify-content:center}.install-icon-preview{width:100%;grid-template-columns:88px 1fr;align-items:center;justify-items:start;padding:10px 16px}.install-icon-preview img{width:88px;height:88px}}
/* Inicio de gestión y navegación lateral coherente en escritorio y móvil. */
.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:18px 0 35px}
.home-grid>a{display:flex;flex-direction:column;gap:9px;min-height:150px;padding:22px;background:#fffdfa;border:1px solid #ded8cc;border-radius:12px;color:#3e3a32;text-decoration:none;box-shadow:0 4px 14px #4b3f2b0b}
.home-grid>a:hover{border-color:#aa8750;box-shadow:0 9px 24px #4b3f2b17}
.home-grid .nav-icon{width:27px;height:27px;color:#80683e}
.home-grid strong{font-size:17px}.home-grid small{color:#716c64;font-size:12px}
.home-grid [hidden],.app-nav [hidden],.settings-grid[hidden]{display:none!important}
.admin-app button:disabled{cursor:wait;opacity:.64}
@media(max-width:820px){
  .admin-layout{grid-template-columns:72px minmax(0,1fr);grid-auto-rows:auto}
  .app-sidebar{position:sticky;top:0;z-index:9;height:100vh;gap:7px;padding:10px 5px;overflow-x:hidden;overflow-y:auto;border-right:1px solid #ded8cc;border-bottom:0;box-shadow:none}
  .app-sidebar .brand-logo{display:block;width:52px;height:52px;margin:0 auto 12px;border:0;background:white}
  .app-sidebar .brand-logo img{content:url('/static/v1/6df721a31517794a2bb74fafdd8bda141ada448d59f88ad3ce9e5b72b5b327ea/icons/app-192.png');width:100%;height:100%;object-fit:contain}
  .app-nav{display:grid;gap:5px;overflow:visible;padding:0}
  .app-nav a{min-height:61px;padding:7px 2px;flex-direction:column;justify-content:center;gap:3px;text-align:center;font-size:9px;line-height:1.1;white-space:normal}
  .app-nav .nav-icon{display:block;width:21px;height:21px}
  .sidebar-bottom{display:none}
  .app-main{min-width:0;padding:0 12px 28px}
  .home-grid{grid-template-columns:1fr;gap:9px}
  .home-grid>a{min-height:78px;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:2px 11px;padding:13px}
  .home-grid>a .nav-icon{grid-column:1;grid-row:1/3}
  .home-grid>a strong{grid-column:2;grid-row:1;align-self:end}
  .home-grid>a small{grid-column:2;grid-row:2;align-self:start}
}
/* CRM: list-first workspace; private details are opened only for the selected customer. */
.customer-workspace{display:grid;grid-template-columns:minmax(350px,1.1fr) minmax(330px,1fr);gap:16px;align-items:start;margin-top:12px}
.customer-list-panel,.customer-detail{min-width:0;background:#fffdfa;border:1px solid #ded8cc;border-radius:12px;box-shadow:0 3px 13px #42392a0a}
.customer-list-panel{padding:8px;max-height:calc(100vh - 35px);overflow:auto}
.customer-list{display:grid;gap:5px}
.crm-list-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:15px 0 7px}.crm-list-actions button{min-height:42px}.crm-alpha-sort{display:flex;align-items:center;gap:7px;margin-right:auto;color:#294536;font-size:13px;font-weight:650}.crm-alpha-sort button[aria-pressed="true"]{background:#e2f2e8!important;border-color:#0b6048!important}.crm-danger-action{border:1px solid #9b4b39;border-radius:8px;background:#fff;color:#8d382d;padding:9px 14px;font-weight:700;cursor:pointer}.crm-danger-action:hover:not(:disabled){background:#fff1ed}.crm-list-actions button:disabled{opacity:.48;cursor:not-allowed}#selected-count{font-size:12px;color:#40534a}.customer-row-wrap{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:stretch;gap:4px}.customer-row-wrap.is-selected{background:#edf7f0;border-radius:9px}.customer-row-select{display:grid;place-items:center;cursor:pointer}.customer-row-select input{width:19px;height:19px;accent-color:#0b6048;cursor:pointer}
.customer-row{width:100%;display:grid;grid-template-columns:minmax(130px,1.3fr) 85px 100px 105px 84px minmax(125px,1fr) 14px;gap:10px;align-items:center;border:1px solid transparent;border-radius:8px;background:#fff;text-align:left;color:#343830;padding:12px;cursor:pointer;font:13px/1.3 var(--sans)}
.customer-row:hover,.customer-row[aria-pressed="true"]{border-color:#bdad8b;background:#f6f2e9}
.customer-row[aria-pressed="true"]{box-shadow:inset 3px 0 #947c4d}
.customer-row-name{min-width:0}.customer-row-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.customer-row-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#706d64;font-size:11px}
.customer-row>span:not(.customer-row-name){min-width:0;overflow-wrap:anywhere;color:#6b6d64;font-size:11px}.customer-row>span b{display:block;color:#343830;font-size:13px}.customer-row-option{font-size:12px!important;color:#526951!important}.customer-row-chevron{font-size:23px!important;color:#64806b!important}
.customer-list-panel>button{margin:9px;width:calc(100% - 18px)}
.customer-detail{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow-y:auto;scroll-margin-top:12px;padding:18px}
.admin-app .customer-detail .customer-card{display:block;padding:0;border:0;box-shadow:none;background:transparent}
.customer-detail .booking-main{width:100%;min-width:0;overflow-wrap:anywhere}.customer-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.customer-detail-heading h3{margin:4px 0 0}.customer-detail-heading button{flex:none;padding:10px;font-size:10px;letter-spacing:0}
.customer-insights{margin:16px 0;padding:14px;background:#f6f3eb;border:1px solid #e6ddc9;border-radius:8px}.customer-insights p{margin:6px 0}.customer-insights small{color:#716c64}
.customer-allergy{padding:8px 10px;margin:6px 0!important;background:#fff0db;color:#76501d;border-radius:6px}
.customer-detail .customer-form{margin-top:20px}.customer-detail .customer-form .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-detail .customer-form .fields label:has(textarea){grid-column:1/-1}
.customer-criteria-summary{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0;color:#173b2f;font-size:13px}.customer-criterion{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #b8d6c7;border-radius:999px;background:#ecf6ef;color:#124932;font-weight:600;font-size:12px}
.customer-criteria-picker{grid-column:1/-1;margin:4px 0;padding:14px;border:1px solid #cbded3;border-radius:12px;background:#fbfefd;min-width:0}.customer-criteria-picker legend{padding:0 6px;font-weight:700;color:#173b2f}.customer-criteria-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:8px 0 10px}.customer-criterion-choice{display:flex!important;align-items:center;gap:9px;padding:10px;border:1px solid #d9e7df;border-radius:10px;background:#fff;color:#203a30;text-transform:none!important;letter-spacing:normal!important;font-size:13px!important;cursor:pointer}.customer-criterion-choice:has(input:checked){border-color:#0b6048;background:#e9f6ee;font-weight:700}.customer-criterion-choice input{flex:none;width:18px;height:18px;accent-color:#0b6048}.customer-criteria-picker>small{display:block;color:#56665d;line-height:1.45}
@media(max-width:1550px){.customer-row{grid-template-columns:minmax(125px,1.3fr) 65px 90px 88px 70px 14px}.customer-row-option{display:none}}
@media(max-width:1100px){.customer-workspace{grid-template-columns:1fr}.customer-list-panel{max-height:460px}.customer-detail{position:static;max-height:none}}
@media(max-width:660px){.customer-row{grid-template-columns:minmax(0,1fr) 58px 82px 13px;gap:6px;padding:10px}.customer-row>span:nth-child(4),.customer-row>span:nth-child(5),.customer-row-option{display:none}.customer-row-name strong{font-size:13px}.customer-detail{padding:13px}.customer-detail .customer-form .fields{grid-template-columns:1fr}.customer-detail-heading{flex-direction:column}}
@media(max-width:660px){.crm-list-actions{align-items:stretch}.crm-alpha-sort{width:100%;justify-content:space-between}.crm-list-actions>button{flex:1 1 45%}.crm-list-actions #selected-count{width:100%}.customer-row-wrap{grid-template-columns:34px minmax(0,1fr)}}
.allergen-picker{grid-column:1/-1;margin:8px 0;padding:15px;border:1px solid #dcd3c3;border-radius:12px;background:#fffdfa}
.allergen-picker legend{padding:0 6px;font-weight:700;color:#314d40}
.allergen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin:10px 0}
.allergen-chip{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #dcd6c9;border-radius:10px;background:#f7f4ee;color:#273b32;font-size:13px;cursor:pointer}
.allergen-chip:has(input:checked){border-color:#506e59;background:#e5f1e7;font-weight:700}
.allergen-chip input{width:17px;height:17px;accent-color:#365d49}
.allergen-picker small{display:block;color:#695d4e;line-height:1.4}
.experience-switch-confirmation{display:flex!important;gap:9px;margin:14px 0;padding:12px;border-radius:10px;background:#faf0df}
.experience-switch-confirmation[hidden]{display:none!important}

/* TB&Go 2026: blanco principal, tinta negra y verde del logo. El rojo queda
   reservado para acciones destructivas y el ámbar para avisos operativos. */
:root{--night:#17211d;--night2:#073d30;--ivory:#fff;--paper:#fff;--bronze:#0d604b;--bronze2:#146e56;--line:#d9e3dd;--muted:#57665e;--danger:#a03131}
html,body{background:#fff;color:#17211d}
.site-header{color:#17211d;border-bottom:1px solid #d9e3dd;background:#fff}
.site-header>span,.admin-link{color:#456756}
.admin-link{border-bottom-color:#95b3a4}
.intro{color:#17211d}
.intro h1 i,.kicker{color:#0d604b}
.intro-copy{border-left-color:#c9dbd1;color:#4f6559}
.intro-copy p{color:#17211d}
.step,.success,.booking{background:#fff;border-color:#d9e3dd;box-shadow:0 5px 20px #092e1c0b}
.step-title b{color:#0d604b}
.card{border-radius:11px}
.card:hover,.card:focus-visible{border-color:#0d604b}
.card-number{color:#dbece2}
.card small,.card em{color:#0d604b}
.card .choose{border-top-color:#d9e3dd;color:#345c49}
.card.selected{background:#0b513e!important;border-color:#0b513e!important;color:#fff}
.card.selected .card-number{color:#33725d}
.card.selected>span,.card.selected small{color:#d7efe2!important}
.card.selected em{color:#fff}
.slots button.selected{background:#0b513e!important;border-color:#0b513e!important}
.primary{background:#0b6048;color:#fff}
.primary:hover{background:#084835}
.secondary{background:#e7f2eb;color:#0b513e}
.check input{accent-color:#0b6048}
.guarantee{background:#f1f8f3;border-color:#b8d8c5}
input,select,textarea{border-bottom-color:#a9c2b3;color:#17211d}
input:focus,select:focus,textarea:focus{border-color:#0b6048}
footer{border-top-color:#d9e3dd;color:#4d6558}
.brand-logo,.site-header .brand-logo,.brand .brand-logo,.app-sidebar .brand-logo,.admin-app .admin .brand .brand-logo{background:#fff;border:0;border-radius:7px;box-shadow:none;color:#17211d}
.brand-logo img,.site-header .brand-logo img,.brand .brand-logo img,.app-sidebar .brand-logo img,.admin-app .admin .brand .brand-logo img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;mix-blend-mode:normal;transform:none}
.brand-role,.admin-app .admin .brand-role{color:#0d604b}
.brand a{color:#17211d}
.admin-app,.admin-layout,.app-main{background:#fff;color:#17211d}
.app-sidebar,.admin-app .app-sidebar{background:#fff;border-right:1px solid #d9e3dd;box-shadow:2px 0 12px #0b36200a;color:#17211d}
.sidebar-caption,.sidebar-note{color:#436855}
.app-nav a,.sidebar-bottom a{color:#263e31}
.app-nav a:hover,.sidebar-bottom a:hover{background:#edf6ef;color:#073d30}
.app-nav a.active{background:#e0f0e6;color:#073d30;box-shadow:inset 3px 0 #0b6048}
.nav-icon,.app-nav a.active .nav-icon{color:#0b6048}
.sidebar-bottom{border-top-color:#d9e3dd}
.app-topbar,.admin-app .admin .brand{background:#fff;border-bottom-color:#d9e3dd!important;color:#17211d!important;box-shadow:none}
.topbar-eyebrow,.admin-intro .kicker,.settings-intro .kicker{color:#0b6048}
.topbar-separator{color:#9bb5a5}
.admin-intro h1,.admin-app .admin .intro h1,.service-day-banner h2,.service-day-group>h2,.service-block-heading strong{color:#17211d!important}
.admin-app .step,.admin-app .toolbar,.admin-app .summary,.admin-app .booking,.service-experience-block,.customer-list-panel,.customer-detail{background:#fff;border-color:#d9e3dd;box-shadow:0 3px 14px #0b36200a}
.admin-app .step-title b{background:#e8f4ec;color:#0b6048}
.admin-login .primary,.admin-app .primary{background:#0b6048;border-color:#0b6048;box-shadow:0 4px 11px #0b604825}
.admin-login .primary:hover,.admin-app .primary:hover{background:#084835;box-shadow:0 6px 15px #0b604832}
.admin-app .secondary,.admin-app .toolbar .secondary,.settings-top-link{background:#fff!important;border-color:#b7d2c1;color:#0b6048!important;box-shadow:none}
.admin-app .secondary:hover,.admin-app .toolbar .secondary:hover,.settings-top-link:hover{background:#eaf5ee!important;border-color:#0b6048;color:#073d30!important}
.admin-app .toolbar input:focus,.admin-app .toolbar select:focus{border-color:#0b6048;box-shadow:0 0 0 3px #0b604824}
.admin-app .summary strong{color:#0b6048}
.admin-app :focus-visible,.brand-logo:focus-visible{outline-color:#0b6048;box-shadow:0 0 0 3px #0b604824}
.settings-card,.home-grid>a{background:#fff;border-color:#d9e3dd;box-shadow:0 3px 14px #0b36200a;color:#17211d}
.settings-card:hover,.settings-card[open],.home-grid>a:hover{border-color:#0b6048;box-shadow:0 7px 20px #0b362018}
.settings-chevron,.home-grid .nav-icon,.settings-links a:hover{color:#0b6048}
.settings-links a{border-top-color:#e7eee9;color:#263e31}
.service-filters,.service-experience-block>summary,.customer-insights,.allergen-picker{background:#f7fbf8;border-color:#d9e3dd}
.service-filters>summary,.service-calendar-nav button,.service-calendar-days button,.service-block-meta{color:#263e31}
.service-calendar-nav button,.service-calendar-days button,.reservation-row,.customer-row{background:#fff;border-color:#d9e3dd}
.service-calendar-days button.is-today:not(.selected){outline-color:#0b6048}
.service-experience-block[open]>summary{border-bottom-color:#d9e3dd}
.service-experience-block>summary:hover,.reservation-row:hover,.customer-row:hover,.customer-row[aria-pressed="true"]{background:#ecf6ef}
.customer-row[aria-pressed="true"]{border-color:#0b6048;box-shadow:inset 3px 0 #0b6048}
.customer-allergy,.service-attention,.booking-attention{background:#fff5e7;color:#693f15}
#booking-closed-notice{display:grid;justify-items:start;gap:14px}
#booking-closed-notice h2,#booking-closed-notice p{margin:0}
#booking-closed-notice .primary{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;padding:11px 17px;border-radius:8px;text-decoration:none;letter-spacing:.05em}
#booking-closed-notice a:not(.primary){display:inline-block;color:#0b6048;text-underline-offset:3px}
.analytics-highlights{background:#edf7f0}
.analytics-track{background:#e2eee6}
.customer-statistics-coverage{display:flex;flex-wrap:wrap;gap:8px 20px;margin:16px 0;color:var(--muted)}
.customer-statistics .analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.customer-statistics .analytics-kpis article{padding:12px}.customer-statistics .analytics-kpis strong{font-size:26px}.customer-statistics .analytics-kpis span{font-size:11px;letter-spacing:0;text-transform:none}
.customer-statistics .analytics-panels{margin-top:16px}.customer-statistics h3{font:600 16px var(--sans);margin:0 0 16px}
.customer-frequency{display:grid;grid-template-columns:minmax(85px,1fr) minmax(50px,2fr) auto;gap:10px;align-items:center;margin:14px 0;font-size:14px}
.customer-frequency progress{width:100%;height:12px;accent-color:#146e56}
.customer-ranking{list-style:none;padding:0;margin:0}.customer-ranking li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.customer-ranking span{overflow-wrap:anywhere}
.notification-sound-controls{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.notification-sound-controls>.security-help{display:inline-block;margin-inline-start:10px}.notification-sound-controls [data-sound-status]:empty{display:none}
#closure-hours .check:has(input:checked){background:#e7f4eb;border-color:#0b6048}
@media(max-width:820px){.app-sidebar{background:#fff;border-right:1px solid #d9e3dd;border-bottom:0}.app-nav a.active{background:#e0f0e6;box-shadow:inset 0 -3px #0b6048}.app-topbar{background:#fff}}

/* Mobile staff navigation: the work surface uses the full viewport; navigation opens on demand. */
.app-menu-toggle,.app-menu-close,.app-menu-backdrop{display:none}
@media(max-width:820px){
  .admin-layout{display:block;min-height:100dvh}
  .app-main{width:100%;min-width:0;padding:0 16px 32px}
  .app-topbar{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:10px;min-width:0;min-height:58px!important;height:58px;padding:0 2px!important;background:#fff!important}
  .app-topbar>div{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .app-topbar .settings-top-link,.app-topbar #sign-out{white-space:nowrap}
  .app-menu-toggle,.app-menu-close{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #c9d9cf;border-radius:11px;background:#fff;color:#0b513e;cursor:pointer}
  .app-menu-toggle:hover,.app-menu-close:hover{background:#eaf5ee}
  .app-menu-toggle:focus-visible,.app-menu-close:focus-visible,.app-menu-backdrop:focus-visible{outline:3px solid #0b6048;outline-offset:2px}
  .app-menu-glyph{width:21px;display:grid;gap:5px}
  .app-menu-glyph i{height:2px;width:21px;background:currentColor;border-radius:3px}
  .app-sidebar,.admin-app .app-sidebar{position:fixed;inset:0 auto 0 0;z-index:31;width:min(300px,calc(100vw - 52px));height:100dvh;max-height:100dvh;display:flex;flex-direction:column;gap:14px;padding:18px 16px 22px;overflow-y:auto;overflow-x:hidden;border-right:1px solid #d9e3dd;box-shadow:10px 0 35px #08271b24;transform:translateX(-105%);visibility:hidden;transition:transform .22s ease,visibility .22s ease}
  .app-sidebar.is-open{transform:translateX(0);visibility:visible}
  .app-sidebar .brand-logo{display:block;width:174px;height:57px;margin:0 0 12px}
  .app-sidebar .brand-logo img{content:normal;width:100%;height:100%;object-fit:contain}
  .app-menu-close{position:absolute;top:20px;right:16px;font-size:29px;line-height:1}
  .sidebar-caption{display:block;padding:0 10px;color:#436855;font-size:10px}
  .app-nav{display:grid;gap:5px;overflow:visible;padding:0}
  .app-nav a{min-height:48px;flex-direction:row;justify-content:flex-start;gap:13px;padding:10px 12px;text-align:left;font-size:14px;line-height:1.2}
  .app-nav .nav-icon{display:block;width:21px;height:21px}
  .sidebar-bottom{display:grid;margin-top:auto;padding-top:14px;border-top:1px solid #d9e3dd}
  /* Retire the old horizontal-navigation override: account links must remain
     visible and inside the drawer, never hidden or pinned over its header. */
  .sidebar-bottom a,.sidebar-bottom a:first-child{display:flex;position:static;min-height:44px;padding:10px 12px;font-size:13px}
  .sidebar-note{font-size:11px}
  .app-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:30;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#061b13a6;cursor:pointer}
  body.app-menu-open{overflow:hidden}
}
@media(max-width:390px){
  .app-main{padding-inline:12px}
  .app-topbar{gap:7px}
  .app-topbar>div{font-size:11px;gap:6px}
  .app-topbar .settings-top-link{font-size:10px;padding:7px 8px}
}
@media(prefers-reduced-motion:reduce){.app-sidebar{transition:none!important}}

/* Reservation detail: one fact per tile, icons plus text, no customer data in icons. */
.reservation-icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle;color:inherit}
.booking-detail .reservation-identity{display:flex;align-items:center;gap:12px;margin:4px 0 16px;min-width:0}
.reservation-identity>div{min-width:0}
.reservation-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border-radius:14px;background:#e8f4ed;color:#0b6048}
.reservation-avatar .reservation-icon{width:24px;height:24px;flex-basis:24px}
.booking-detail .reservation-eyebrow{margin:0 0 4px;font:600 11px/1.3 var(--sans);color:#52675b;letter-spacing:.06em;text-transform:uppercase}
.booking-detail .booking .reservation-identity h3{margin:0;font:600 clamp(20px,2vw,25px)/1.25 var(--sans);color:#17211d;overflow-wrap:anywhere}
.reservation-facts,.reservation-history-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}
.reservation-fact{min-width:0;padding:12px;border:1px solid #dce7df;border-radius:12px;background:#f8fbf9}
.reservation-fact dt{display:flex;align-items:center;gap:7px;color:#476452;font:500 12px/1.3 var(--sans)}
.reservation-fact dd{margin:7px 0 0;font:600 16px/1.35 var(--sans);color:#17211d;overflow-wrap:anywhere}
.reservation-fact-mode{grid-column:1/-1;background:#edf7f1;border-color:#c4dfce}
.reservation-fact-mode dd{font-size:18px}
.reservation-quick-edit{margin:0 0 18px;padding:12px;border:1px solid #dce7df;border-radius:12px;background:#f8fbf9}
.reservation-quick-edit fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;margin:0;padding:0;min-width:0}
.reservation-quick-edit .quick-date{grid-column:1/-1}
.reservation-quick-edit label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:13px;text-transform:none;letter-spacing:0}
.reservation-quick-edit label>.reservation-icon{width:17px;height:17px}
.reservation-quick-edit input,.reservation-quick-edit select{flex-basis:100%;box-sizing:border-box;min-width:0;width:100%;min-height:44px;margin:0;padding:8px;border:1px solid #c1d6c9;border-radius:8px;background:#fff;font:500 16px/1.3 var(--sans);color:#17211d}
.quick-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.quick-edit-actions button{min-height:44px;padding:9px 16px;font-size:13px;letter-spacing:0;text-transform:none}
.quick-edit-actions button:disabled{opacity:.5;cursor:default}
.quick-edit-result,.quick-edit-protected{margin:8px 0 0;font:500 13px/1.45 var(--sans);overflow-wrap:anywhere}
.quick-edit-result:empty{display:none}
@media(max-width:600px){.quick-edit-actions button{flex:1}}
.reservation-section{margin:16px 0;padding:16px;border:1px solid #dce7df;border-radius:14px;background:#fff}
.booking-detail .reservation-section h4,.booking-detail .reservation-status-section h4{display:flex;align-items:center;gap:8px;margin:0 0 13px;font:600 15px/1.35 var(--sans);color:#223e2f}
.reservation-contact-item{display:flex;align-items:center;gap:10px;margin-top:13px;min-width:0;color:#0b6048}
.reservation-contact-item>div{display:grid;gap:4px;min-width:0}
.reservation-contact-item span{font:500 12px/1.3 var(--sans);color:#5b6a60}
.reservation-contact-item strong,.reservation-contact-item a{font:500 15px/1.4 var(--sans);color:#17211d;overflow-wrap:anywhere;text-underline-offset:3px}
.reservation-contact-item a:hover{color:#0b6048}
.reservation-notes{background:#fffaf2;border-color:#e6cca6}
.booking-detail .reservation-notes h4{color:#714719}
.booking-detail .reservation-note-label{margin:12px 0 6px;font:600 12px/1.4 var(--sans);color:#6a512e}
.booking-detail .reservation-note-text{margin:0;font:400 15px/1.55 var(--sans);white-space:pre-line;color:#392e1e;overflow-wrap:anywhere}
.reservation-allergens{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0}
.reservation-allergens li{padding:5px 9px;background:#fff0d9;border:1px solid #e4c492;border-radius:8px;color:#674319;font:600 13px/1.35 var(--sans)}
.reservation-translation{margin-top:14px;border-top:1px solid #ead9bf;padding-top:4px}
.reservation-translation>summary,.reservation-reference>summary,.reservation-history>summary,.booking-audit>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font:600 13px/1.4 var(--sans);color:#28553e;list-style:none}
.reservation-translation>summary::after,.reservation-reference>summary::after,.reservation-history>summary::after,.booking-audit>summary::after{content:'›';font-size:23px;margin-left:auto;transform:rotate(90deg);flex:none}
.reservation-translation[open]>summary::after,.reservation-reference[open]>summary::after,.reservation-history[open]>summary::after,.booking-audit[open]>summary::after{transform:rotate(-90deg)}
.reservation-translation>summary::-webkit-details-marker,.reservation-reference>summary::-webkit-details-marker,.reservation-history>summary::-webkit-details-marker,.booking-audit>summary::-webkit-details-marker{display:none}
.reservation-translation .booking-translation{margin:5px 0 0;padding:0;background:transparent}
.reservation-translation .booking-translation button{margin:0!important;font-size:12px;letter-spacing:0;text-transform:none}
.reservation-reference{border-bottom:1px solid #e0e9e3;padding:0 3px 8px;margin:0 0 14px}
.booking-detail .reservation-reference p{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.booking-detail .guest-service-context{margin:14px 0;padding:8px 13px;background:#f6faf7}
.reservation-history>summary{flex-wrap:wrap;column-gap:8px;row-gap:5px}
.reservation-history-count{font-size:11px;font-weight:500;color:#466651;margin-left:auto;white-space:nowrap}
.reservation-history>summary::after{margin-left:0}
.reservation-history-facts{margin:10px 0;gap:8px}
.reservation-history-facts .reservation-fact{padding:10px;background:#fff}
.reservation-history-facts .reservation-fact dd{font-size:14px}
.reservation-history .guest-vip{display:inline-flex;align-items:center;gap:4px;font:600 11px/1.4 var(--sans);white-space:nowrap}
.reservation-history .guest-vip .reservation-icon{width:14px;height:14px;flex-basis:14px}
.booking-detail .reservation-history-warning{display:flex;align-items:flex-start;gap:8px;font:400 12px/1.5 var(--sans);color:#536157}
.reservation-history-warning .reservation-icon{width:16px;height:16px;flex-basis:16px;margin-top:2px}
.reservation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #e0e9e3}
.booking-detail .reservation-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;margin:0!important;padding:10px 8px;font:600 13px/1.4 var(--sans);text-transform:none;letter-spacing:0;border-radius:10px}
.booking-detail .reservation-actions .text-danger{border:1px solid #e7c5bf;background:#fff9f8;color:#973a2d}
.reservation-actions>.cancel-confirmation,.reservation-actions>label,.reservation-actions>select{grid-column:1/-1}
.reservation-status-section{margin-top:16px;padding:16px;border:1px solid #dce7df;border-radius:12px;background:#f8fbf9}
.reservation-status-section>label{display:block;font:500 12px/1.4 var(--sans);color:#476452;text-transform:none;letter-spacing:0;margin-top:12px}
.reservation-status-section select{display:block;width:100%;margin-top:5px;font-size:14px}
.booking-detail .booking .edit-booking>.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;letter-spacing:0;text-transform:none}
.booking-audit{margin-top:14px;padding-top:6px;border-top:1px solid #e0e9e3}
.booking-audit p{font-size:12px;line-height:1.5}
.booking-detail .reservation-menu-summary,.booking-detail .reservation-deposit-note{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #cfe3d6;border-radius:10px;background:#f1f8f4;font-size:13px;line-height:1.5}
.booking-detail-title .secondary{display:inline-flex;align-items:center;gap:7px}
.reservation-row-time,.reservation-row-table,.reservation-row-pax{display:flex;align-items:center;gap:5px;min-width:0}
.reservation-row-time{justify-content:center;padding-inline:4px;font-size:12px}
.reservation-row .reservation-icon{width:14px;height:14px;flex-basis:14px}
.reservation-row-table>span,.reservation-row-person small>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reservation-row-person small{display:flex;align-items:center;gap:4px;min-width:0}
.reservation-row-pax{font-size:12px;white-space:normal}
@media(max-width:600px){
  .app-topbar{flex-wrap:nowrap}
  .app-topbar .topbar-eyebrow,.app-topbar .topbar-separator{display:none}
  .app-topbar #sign-out{min-height:40px;padding:8px;font-size:11px;letter-spacing:0;text-transform:none;margin:0}
  .app-topbar #install-link{font-size:12px;white-space:nowrap}
  .reservation-row{grid-template-columns:64px minmax(0,1fr) 68px;gap:4px 9px;min-height:76px;padding:10px}
  .reservation-row-time{grid-column:1;grid-row:1}
  .reservation-row-table{grid-column:1;grid-row:2;font-size:10px}
  .reservation-row-person{grid-column:2;grid-row:1/3}
  .reservation-row-person strong{font-size:13px;line-height:1.4}
  .reservation-row-person small{font-size:11px}
  .reservation-row-pax{grid-column:3;grid-row:1;font-size:11px;justify-content:flex-end}
  .reservation-row-alert{grid-column:3;grid-row:2;text-align:right}
  .reservation-row-arrow{display:none}
  .booking-detail{padding:14px!important}
  .reservation-section{padding:13px}
  .reservation-fact{padding:10px}
  .reservation-fact dt{font-size:11px}
  .reservation-fact dd{font-size:15px}
  .reservation-fact-mode dd{font-size:17px}
}
@media(max-width:360px){.reservation-actions{grid-template-columns:1fr}.reservation-row{grid-template-columns:59px minmax(0,1fr) 60px;gap:4px 6px;padding:9px 6px}}
.reservation-quick-filters,.service-day-actions,.service-tracking-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.quick-filter{display:inline-flex;align-items:center;gap:7px;background:#fff;color:#254e40;border:1px solid #dce7e0;border-radius:999px;padding:9px 12px;font-size:13px;min-height:42px}
.quick-filter span{background:#eff5f1;border-radius:99px;padding:2px 7px;font-weight:700}
.quick-filter[aria-pressed=true],.service-day-actions button[aria-pressed=true]{background:#e3f2e9;border-color:#317b59;color:#144a31}
.service-day-actions button{min-height:42px;padding:8px 14px}
.service-arrivals,.service-briefing,.reservation-service-tools,.reservation-contact-lookup{background:#fff;border:1px solid #dce7e0;border-radius:14px;padding:14px;margin:12px 0}
.service-arrivals summary,.service-briefing summary,.reservation-service-tools summary,.reservation-contact-lookup summary{font-weight:700;color:#254e40;cursor:pointer;line-height:1.6}
.arrival-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:12px}
.arrival-buckets article{display:flex;flex-direction:column;gap:5px;background:#f3f8f5;border-radius:10px;padding:12px;font-size:13px}
.reservation-service-tools textarea,.service-briefing textarea{min-height:80px;width:100%;resize:vertical}
.reservation-internal-note{border-left:3px solid #317b59}
.service-activity-row{display:block;width:100%;text-align:left;border:1px solid #dce7e0;border-radius:10px;background:#f7faf8;color:#254e40;padding:12px;margin:8px 0;font-size:14px;line-height:1.5}
.service-activity [data-events]{max-height:320px;overflow:auto;overscroll-behavior:contain}
.service-tools-dialog{width:min(950px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:22px;border:1px solid #dce7e0;border-radius:18px;background:white;color:#18271f}
.service-tools-dialog::backdrop{background:rgb(16 38 29 / .28)}
.service-tools-dialog-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.service-tools-dialog-title h2{font:600 24px var(--sans);margin:0}
.service-tools-dialog-title button{padding:8px 14px;min-height:44px}
.reservation-print-content{overflow:auto}
.reservation-print-content table{width:100%;border-collapse:collapse;font-size:12px}
.reservation-print-content td,.reservation-print-content th{border:1px solid #ccd9d0;padding:8px;text-align:left;white-space:pre-line;overflow-wrap:anywhere}
.reservation-print-content h1{font:700 24px var(--sans)}
@media(max-width:600px){.quick-filter{font-size:12px;padding:7px 9px}.service-tools-dialog{padding:14px}.service-tracking-actions button{width:100%;font-size:13px}.service-day-actions{gap:5px}.service-day-actions button{font-size:12px;padding:7px 10px}.arrival-buckets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
  body:has(.reservation-print-dialog[open])>*:not(.reservation-print-dialog){display:none!important}
  .reservation-print-dialog[open]{display:block!important;position:static;width:100%;max-width:none;max-height:none;overflow:visible;border:0;padding:0;margin:0}
  .reservation-print-dialog .service-tools-dialog-title,.reservation-print-dialog .print-controls,.reservation-print-dialog [data-feedback]{display:none!important}
  .reservation-print-content{overflow:visible}.reservation-print-content thead{display:table-header-group}.reservation-print-content tr{break-inside:avoid}
}
/* TB&Go agenda: compact service list. Deliberately scoped; public booking and tools unchanged. */
.reservations-app{--agenda-green:#005c49;--agenda-ink:#10251f;--agenda-line:#dce7e2}
.reservations-app .app-main{padding:22px 28px;max-width:1800px}
.reservations-app .admin-intro{margin:14px 0 10px;display:block;padding:8px 0!important;min-height:0!important}
.reservations-app .admin-intro .kicker{display:none}
.reservations-app .admin-intro h1{font:700 30px/1.2 var(--sans)!important;letter-spacing:-.7px!important;margin:0}
.reservations-app .service-workspace{grid-template-columns:minmax(0,1fr);gap:24px}
.reservations-app .service-workspace.has-calendar,.reservations-app .service-workspace.has-detail{grid-template-columns:minmax(0,1fr) minmax(290px,340px)}
.reservations-app .service-day-banner{margin:0 0 10px}
.reservations-app .service-day-banner h2{font:650 19px/1.3 var(--sans);margin:0}
.reservations-app #service-day-subtitle:empty{display:none}
.reservations-app .service-day-actions{display:flex;justify-content:space-between;gap:12px;margin:12px 0 18px}
.reservations-app .service-date-actions,.reservations-app .service-service-tabs{display:flex;align-items:center;gap:5px;min-width:0}
.reservations-app .service-day-actions button{font:600 14px var(--sans);letter-spacing:0;text-transform:none;min-height:44px;border-radius:9px;padding:8px 12px}
.reservations-app .service-day-actions [data-day="-1"],.reservations-app .service-day-actions [data-day="1"]{font-size:25px;line-height:1;padding:5px 12px}
.reservations-app .agenda-date-label{margin:0;display:block;min-width:0}
.reservations-app #filter-date{margin:0;border:1px solid #b7d2c1;border-radius:9px;min-height:44px;width:155px;padding:7px 10px;font:600 14px var(--sans);color:var(--agenda-ink);background:white}
.reservations-app .service-service-tabs{border-radius:10px;padding:3px;background:#f4f8f6}
.reservations-app .service-service-tabs .secondary{border-color:transparent;background:transparent!important;color:#30463e!important;box-shadow:none}
.reservations-app .service-service-tabs [aria-pressed=true]{background:var(--agenda-green)!important;color:white!important}
.reservations-app .service-controlbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:0 0 20px}
.reservations-app .service-main .summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;border:0;padding:0;margin:0;box-shadow:none;min-width:0}
.reservations-app .service-main .summary strong{font:600 15px/1.5 var(--sans);color:var(--agenda-ink)}
.reservations-app .service-main .summary>span{font-size:13px;color:#48645a}
.reservations-app .service-origins{font-size:13px;position:relative}
.reservations-app .service-origins summary{cursor:pointer;color:var(--agenda-green);text-decoration:underline;text-underline-offset:3px;min-height:32px;display:flex;align-items:center}
.reservations-app .service-origins p{padding:12px;margin:5px 0;border:1px solid var(--agenda-line);border-radius:8px;background:white;line-height:1.6}
.reservations-app .service-filters{padding:0;margin:0;border:1px solid #80aa9b;border-radius:9px;background:white;position:relative}
.reservations-app .service-filters>summary{padding:9px 12px;gap:10px;min-height:44px;font:600 13px var(--sans);list-style:none;color:var(--agenda-green)}
.reservations-app .service-filters>summary::-webkit-details-marker{display:none}
.reservations-app .service-filter-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:5;width:min(480px,calc(100vw - 40px));max-height:70dvh;overflow:auto;padding:16px;background:white;border:1px solid var(--agenda-line);border-radius:12px;box-shadow:0 12px 36px #003b2826}
.reservations-app .service-filters .service-chevron{width:8px;height:8px;flex:none;margin-left:2px;transform:rotate(45deg);border:solid currentColor;border-width:0 2px 2px 0}
.reservations-app .service-filters[open]>.service-chevron,.reservations-app .service-filters[open]>summary>.service-chevron{transform:rotate(225deg)}
.reservations-app #filter-active-count{background:var(--agenda-green);color:white;border-radius:50%;min-width:20px;height:20px;display:inline-flex;justify-content:center;align-items:center;font-size:12px}
.reservations-app .reservation-quick-filters{display:grid;grid-template-columns:1fr;gap:6px;margin:0 0 14px}
.reservations-app .quick-filter{display:flex;justify-content:flex-start;min-height:44px;width:100%;border:1px solid transparent;background:#f6faf8;font:600 14px var(--sans);border-radius:8px;padding:9px 12px}
.reservations-app .quick-filter>span{margin-left:auto}
.reservations-app .quick-filter[aria-pressed=true]{background:#e2f3ea;border-color:#005c49}
.reservations-app .quick-filter:disabled{opacity:.6}
.reservations-app .service-advanced>summary,.reservations-app #service-tools>details>summary{font:600 14px var(--sans);cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}
.reservations-app .service-advanced .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}
.reservations-app .service-advanced label{font:600 12px var(--sans);min-width:0;gap:5px}
.reservations-app .service-advanced input,.reservations-app .service-advanced select{font:400 14px var(--sans);min-height:44px;padding:8px;border:1px solid #c7d9d0;border-radius:7px;margin:0}
.reservations-app #service-tools{border-top:1px solid var(--agenda-line);padding-top:10px;display:grid;gap:7px}
.reservations-app #service-tools>.secondary{font:600 14px var(--sans);text-align:left;min-height:44px;margin:0;letter-spacing:0;display:flex;align-items:center;gap:8px}
.reservations-app #service-tools>.service-briefing,.reservations-app #service-tools>.service-arrivals{margin:0;padding:6px 12px;background:#f7faf8;border-color:var(--agenda-line)}
.reservations-app .service-new-reservation{width:auto;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:9px;text-decoration:none;font:600 14px var(--sans);letter-spacing:0;text-transform:none}
.reservations-app .service-experience-grid{gap:24px}
.reservations-app .service-experience-block{border:0;border-radius:0;background:white;box-shadow:none}
.reservations-app .service-experience-block>summary{padding:12px 14px;gap:12px;background:#e9f5ef;border:0;border-radius:7px;min-height:46px}
.reservations-app .service-block-heading{gap:6px}
.reservations-app .service-block-heading strong{font:650 16px/1.35 var(--sans)}
.reservations-app .service-count{font:500 14px var(--sans);padding:0;background:transparent;color:#285a48}
.reservations-app .service-count:before{content:'· ';color:#52786a}
.reservations-app .service-block-meta{font:500 12px var(--sans)}
.reservations-app .service-experience-block>summary>.service-chevron{width:8px;height:8px;flex:none;transform:rotate(-45deg);border:solid #075b43;border-width:0 2px 2px 0;order:0}
.reservations-app .service-experience-block[open]>summary>.service-chevron{transform:rotate(45deg)}
.reservations-app .service-attention{display:flex;align-items:center;gap:4px;font:600 12px var(--sans);margin:0;padding:5px;border:0;border-radius:6px;white-space:normal;max-width:145px}
.reservations-app .service-attention .reservation-icon{width:17px;height:17px;flex-basis:17px}
.reservations-app .reservation-list-head,.reservations-app .reservation-row{display:grid;grid-template-columns:70px minmax(100px,1fr) 64px 82px 108px 28px;gap:3px 12px;align-items:center;padding:12px 10px}
.reservations-app .reservation-list-head{font:500 12px var(--sans);color:#63766e;padding-top:10px;padding-bottom:8px}
.reservations-app .reservation-row{min-height:68px;border-top:1px solid var(--agenda-line);background:white;font:500 14px/1.35 var(--sans);color:var(--agenda-ink)}
.reservations-app .reservation-row-time{grid-column:1;grid-row:1/3;background:#064c3e;color:white;min-height:30px;padding:5px 7px;font-size:13px;gap:3px;border-radius:18px}
.reservations-app .reservation-row-time>.reservation-icon{display:none}
.reservations-app .reservation-row-person{grid-column:2;grid-row:1;gap:4px;min-width:0}
.reservations-app .reservation-row-person strong{font:650 15px/1.35 var(--sans);white-space:normal;overflow-wrap:anywhere}
.reservations-app .reservation-row-badges{display:flex;gap:5px;flex-wrap:wrap}
.reservations-app .reservation-row-badges:empty{display:none}
.reservations-app .reservation-row-vip,.reservations-app .reservation-row-recurrent{font:600 11px/1.35 var(--sans);display:inline-flex;align-items:center;gap:4px;border-radius:5px;background:#eff7f3;color:#186148;padding:3px 5px}
.reservations-app .reservation-row-vip{color:#72500e;background:#fff5d6}
.reservations-app .reservation-row-pax{grid-column:3;grid-row:1/3;font-size:14px;white-space:nowrap}
.reservations-app .reservation-pax-label{display:none}
.reservations-app .reservation-row-table{grid-column:4;grid-row:1/3;font-size:13px;color:var(--agenda-ink)}
.reservations-app .reservation-row-table>span{white-space:normal;overflow-wrap:anywhere}
.reservations-app .reservation-row-status{grid-column:5;grid-row:1/3;font-size:12px;display:flex;align-items:center;gap:7px;overflow-wrap:anywhere}
.reservations-app .reservation-row-status i{width:8px;height:8px;border-radius:50%;background:#00865d;flex:none}
.reservations-app .reservation-row[data-state="cancelled"] .reservation-row-status i,.reservations-app .reservation-row[data-state$="expired"] .reservation-row-status i,.reservations-app .reservation-row[data-state="payment_failed"] .reservation-row-status i{background:#af514b}
.reservations-app .reservation-row[data-state^="awaiting"] .reservation-row-status i,.reservations-app .reservation-row[data-state="payment_review"] .reservation-row-status i{background:#c07d11}
.reservations-app .reservation-row[data-state="no_show"] .reservation-row-status i{background:#8c5e81}
.reservations-app .reservation-row-phone{grid-column:2;grid-row:2;display:flex;align-items:center;gap:5px;font-size:12px;color:#537064;min-width:0;overflow-wrap:anywhere}
.reservations-app .reservation-row-end{grid-column:6;grid-row:1/3;display:flex;gap:4px;align-items:center;justify-content:flex-end}
.reservations-app .reservation-row-arrow{display:block;font-size:23px}
.reservations-app .reservation-row-alert{display:flex;color:#9b6508}
.reservations-app .service-calendar-title h2{font:650 21px var(--sans)}
.reservations-app .service-calendar-title .kicker{display:none}
.reservations-app .service-calendar-title button{font:600 12px var(--sans);letter-spacing:0;padding:9px}
.reservations-app .service-workspace .service-calendar{border-radius:12px;box-shadow:none;top:20px}
@media(min-width:821px){.reservations-app .admin-layout{grid-template-columns:210px minmax(0,1fr)}.reservations-app .app-sidebar{width:210px;padding:20px 12px}.reservations-app .app-sidebar .brand-logo{width:180px}.reservations-app .app-nav a{font-size:14px}}
@media(max-width:1450px){.reservations-app .service-workspace.has-calendar,.reservations-app .service-workspace.has-detail{grid-template-columns:minmax(0,1fr) 290px}.reservations-app .service-controlbar{grid-template-columns:minmax(0,1fr) auto}.reservations-app .service-controlbar>.summary{grid-column:1/-1}.reservations-app .service-new-reservation{justify-self:end}.reservations-app .service-filters{justify-self:start}.reservations-app .service-filter-panel{right:auto;left:0}.reservations-app .reservation-list-head,.reservations-app .reservation-row{grid-template-columns:60px minmax(95px,1fr) 48px 65px 82px 26px;gap:3px 8px}}
@media(max-width:1100px){.reservations-app .service-workspace.has-calendar,.reservations-app .service-workspace.has-detail{grid-template-columns:minmax(0,1fr)}.reservations-app .service-workspace .service-calendar{position:static;max-width:520px}.reservations-app .service-day-actions{flex-wrap:wrap}.reservations-app .service-filter-panel{max-height:none;position:static;width:100%;border:0;box-shadow:none;border-top:1px solid var(--agenda-line);border-radius:0;padding:12px}.reservations-app .service-controlbar{grid-template-columns:1fr auto}.reservations-app .service-filters{grid-column:1/-1;grid-row:2;justify-self:stretch}.reservations-app .service-controlbar>.summary{grid-column:1}.reservations-app .service-new-reservation{grid-column:2;grid-row:1}.reservations-app .service-filters>summary{justify-content:space-between}}
@media(max-width:820px){.reservations-app .app-main{padding:12px 14px}.reservations-app .admin-intro{margin:15px 0 10px}.reservations-app .admin-intro h1{font-size:26px}.reservations-app .service-date-actions{width:100%;justify-content:space-between;gap:3px}.reservations-app .service-day-actions button{padding:7px 10px}.reservations-app #filter-date{width:145px;padding:6px;font-size:13px}.reservations-app .service-service-tabs{width:100%}.reservations-app .service-service-tabs button{flex:1}.reservations-app .service-controlbar{gap:10px}.reservations-app .service-main .summary strong{font-size:14px}.reservations-app .service-new-reservation{font-size:12px;padding:9px 10px}.reservations-app .service-block-heading strong{font-size:15px}.reservations-app .service-count{font-size:12px}.reservations-app .service-experience-block>summary{padding:10px;gap:10px}.reservations-app .service-attention{max-width:90px;font-size:10px}.reservations-app .reservation-list-head{display:none}.reservations-app .reservation-row{grid-template-columns:58px 52px minmax(0,1fr) 22px;gap:5px 7px;min-height:74px;padding:10px 4px}.reservations-app .reservation-row-time{grid-column:1;grid-row:1;min-height:29px;font-size:12px}.reservations-app .reservation-row-person{grid-column:2/4;grid-row:1}.reservations-app .reservation-row-person strong{font-size:14px}.reservations-app .reservation-row-pax{grid-column:1;grid-row:2;justify-content:center;font-size:12px}.reservations-app .reservation-row-table{grid-column:2;grid-row:2;font-size:12px;gap:3px}.reservations-app .reservation-row-phone{grid-column:3;grid-row:2;font-size:11px;gap:4px}.reservations-app .reservation-row-end{grid-column:4;grid-row:1;flex-direction:column;gap:3px}.reservations-app .reservation-row-status{grid-column:4;grid-row:2;justify-content:center}.reservations-app .reservation-row-status>span{display:none}.reservations-app .reservation-row-table>span{white-space:normal;font-size:11px}.reservations-app .reservation-row-recurrent{font-size:10px}.reservations-app .service-experience-grid{gap:20px}}
@media(max-width:360px){.reservations-app .app-main{padding:10px}.reservations-app .service-day-actions button{padding:6px 8px}.reservations-app #filter-date{width:128px;font-size:12px}.reservations-app .service-new-reservation{font-size:11px;padding:8px}.reservations-app .service-block-heading{gap:3px}.reservations-app .service-block-heading strong{font-size:14px}.reservations-app .service-attention span{max-width:55px}.reservations-app .reservation-row{grid-template-columns:54px 45px minmax(0,1fr) 18px;gap:5px}.reservations-app .reservation-row-phone{font-size:10px}}
@media(max-width:820px){.reservations-app .reservation-row-phone{font-size:12px}.reservations-app .reservation-row-table>span{overflow:visible}}
@media(max-width:820px){.reservations-app .service-date-actions{display:grid;grid-template-columns:32px 42px minmax(0,1fr) 32px 36px;gap:4px}.reservations-app .service-date-actions button{padding:6px!important}.reservations-app .service-date-actions #filter-date{width:100%;min-width:0}}

/* Keep the choice divider after all card text, including wrapped translations. */
#experience-list .card{display:flex;flex-direction:column;align-items:stretch}
#experience-list .card>:nth-last-child(2){margin-bottom:16px}
#experience-list .card .choose{position:static;inset:auto;margin-top:auto}
#experience-list[data-entry="experience"]{grid-template-columns:minmax(0,1fr)}
@media(min-width:761px){#experience-list[data-entry="carta"]{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Public booking language control, local translations only. */
.site-header:has(.booking-language){grid-template-columns:1fr auto auto auto;gap:12px}.booking-language{width:auto;max-width:145px;padding:8px;border:1px solid #ddd;background:#fff;color:#222;border-radius:6px;font:inherit;font-size:13px}

@media(max-width:600px){.site-header:has(.booking-language){height:auto;min-height:82px;padding-top:12px;padding-bottom:12px;grid-template-columns:1fr auto}.site-header:has(.booking-language)>span{grid-column:1;grid-row:2}.site-header:has(.booking-language)>.admin-link{grid-column:2;grid-row:2}.booking-language{grid-column:2;grid-row:1}}
