:root{--ink:#1e2822;--forest:#29493a;--paper:#f2ede2;--cream:#fbf8f1;--coral:#e86847;--muted:#6d756f;--line:rgba(30,40,34,.16);--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.is-hidden{display:none!important}.wordmark{font-size:24px;font-weight:900;letter-spacing:-.06em}.wordmark span,.admin-brand span{color:var(--coral)}.eyebrow{margin:0 0 16px;color:var(--coral);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.link-button{padding:0;border:0;background:none;color:inherit;font-weight:700;cursor:pointer}.outline-button{padding:12px 17px;border:1px solid var(--ink);border-radius:999px}.primary-button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding:0 20px;border:0;border-radius:12px;background:var(--coral);color:#fff;font-weight:800;cursor:pointer}.primary-button:disabled{opacity:.45;cursor:not-allowed}.primary-button span{font-size:22px}.secondary-button{border:1px solid var(--line);border-radius:12px;background:transparent;font-weight:700;cursor:pointer}
.guest-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,74px);border-bottom:1px solid var(--line)}.guest-header nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700}.lookup-bar{padding:17px clamp(22px,7vw,104px);background:var(--forest);color:#fff}.lookup-bar form{display:grid;grid-template-columns:auto minmax(120px,180px) minmax(180px,1fr) auto;gap:9px;align-items:center}.lookup-bar input,.lookup-bar button{height:41px;padding:0 13px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.1);color:#fff}.lookup-bar input::placeholder{color:rgba(255,255,255,.58)}.lookup-bar button{background:#fff;color:var(--forest);font-weight:800}.lookup-bar p{margin:10px 0 0;color:rgba(255,255,255,.72);font-size:11px}.guest-hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);gap:clamp(42px,7vw,110px);align-items:center;padding:52px clamp(22px,7vw,104px) 70px;overflow:hidden;position:relative}.guest-hero:before{content:"";position:absolute;left:-18vw;bottom:-33vw;width:46vw;height:46vw;min-width:540px;min-height:540px;border:1px solid rgba(41,73,58,.14);border-radius:50%}.hero-copy{position:relative;z-index:1}.hero-copy h1{margin:0;max-width:680px;font:400 clamp(64px,8.5vw,130px)/.83 Georgia,serif;letter-spacing:-.065em}.hero-copy h1 em{color:var(--forest);font-weight:400}.hero-description{max-width:470px;margin:34px 0 0;color:#4e5851;font-size:clamp(16px,1.4vw,20px);line-height:1.6}.service-note{display:flex;align-items:center;gap:10px;margin:33px 0 0;font-size:11px;font-weight:800}.service-note span{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(232,104,71,.13)}.connection-badge{display:inline-flex;margin:25px 0 0;padding:9px 12px;border:1px solid rgba(232,104,71,.35);border-radius:999px;background:rgba(232,104,71,.08);color:#98472f;font-size:10px;font-weight:800}.connection-badge.is-connected{border-color:#a9c4b3;background:#e6efe9;color:#315742}.connection-badge.is-error{border-color:#e7ad9c;background:#f8ded6;color:#923b26}.booking-card{position:relative;z-index:2;width:100%;max-width:580px;justify-self:end;padding:clamp(23px,3vw,40px);border:1px solid var(--line);border-radius:28px;background:var(--cream);box-shadow:0 30px 80px rgba(30,40,34,.12)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid var(--line)}.step-label{margin:0 0 7px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.card-header h2,.panel-head h2,.section-heading h2{margin:0;font:400 31px Georgia,serif;letter-spacing:-.035em}.mini-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font:italic 18px Georgia,serif}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:23px 0 20px}.booking-fields label,.details-form>label,.settings-form label{display:flex;flex-direction:column;gap:8px}.booking-fields label>span,.details-form label>span,.settings-form label>span,.slot-heading{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.booking-fields input,.booking-fields select,.details-form input,.details-form textarea,.settings-form input,.settings-form select{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none}.details-form textarea{padding-top:12px;resize:vertical}.booking-fields input:focus,.booking-fields select:focus,.details-form input:focus,.details-form textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(41,73,58,.1)}.full-field{grid-column:1/-1}.slot-heading{display:flex;justify-content:space-between;margin:3px 0 11px}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-slots button{height:44px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);cursor:pointer}.time-slots button.is-selected{border-color:var(--forest);background:var(--forest);color:#fff}.empty-inline{grid-column:1/-1;min-height:67px;display:grid;place-items:center;margin:0;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:11px;text-align:center}.form-message{min-height:0;margin:10px 0 0;color:var(--muted);font-size:10px}.form-message.is-error{padding:9px 11px;border-radius:8px;background:#f8ded6;color:#923b26}.details-form{display:grid;gap:13px;padding-top:21px}.selection-summary{display:flex;flex-direction:column;gap:5px;padding:13px;border-radius:10px;background:var(--paper)}.selection-summary strong{font:400 16px Georgia,serif}.selection-summary span{color:var(--muted);font-size:10px}.details-form .check-label{flex-direction:row;align-items:flex-start}.check-label input{width:17px;min-height:17px}.check-label span{text-transform:none;letter-spacing:0;line-height:1.45}.form-actions{display:grid;grid-template-columns:100px 1fr;gap:9px}.form-actions .primary-button{margin:0}.confirmation{padding-top:21px;text-align:center}.confirmation-card{position:relative;min-height:290px;display:flex;flex-direction:column;align-items:center;padding:28px 20px;border-radius:18px;background:var(--forest);color:#fff;overflow:hidden}.confirmation-card:after{content:"";position:absolute;right:-70px;bottom:-80px;width:165px;height:165px;border:30px solid var(--coral);border-radius:50%}.confirmation-card i{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:var(--coral);font-style:normal;font-weight:900}.confirmation-card p{margin:16px 0 8px;color:rgba(255,255,255,.64);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.confirmation-card h3{margin:0 0 17px;font:400 37px Georgia,serif}.confirmation-card>strong{font-size:13px}.confirmation-card>span{margin-top:7px;color:rgba(255,255,255,.7);font-size:11px}.confirmation-card>div{margin-top:25px;padding-top:15px;border-top:1px solid rgba(255,255,255,.18);font-weight:900;letter-spacing:.1em}.confirmation>p{color:var(--muted);font-size:10px;line-height:1.5}.restart-button{display:block;margin:14px auto 0;color:var(--forest)}.steps-footer{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.steps-footer div{display:grid;grid-template-columns:auto 1fr;gap:17px;align-items:center;padding:26px clamp(22px,5vw,74px);border-right:1px solid var(--line)}.steps-footer strong{color:var(--coral);font:400 25px Georgia,serif}.steps-footer span{max-width:200px;font-size:11px;line-height:1.4}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr);background:#f6f4ef}.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:29px 21px;background:var(--ink);color:#fff}.admin-brand{width:47px;height:47px;display:grid;place-items:center;margin-bottom:48px;border:1px solid rgba(255,255,255,.25);border-radius:50%;font-size:20px;font-weight:900}.admin-sidebar nav{display:flex;flex-direction:column;gap:7px}.admin-sidebar nav button{width:100%;display:flex;align-items:center;gap:15px;padding:13px;border:0;border-radius:9px;background:transparent;color:rgba(255,255,255,.58);text-align:left;cursor:pointer}.admin-sidebar nav button span{font-size:8px;letter-spacing:.12em}.admin-sidebar nav button.is-active{background:rgba(255,255,255,.09);color:#fff}.public-link{margin-top:auto;padding:13px;border-top:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.68);font-size:10px}.admin-main{min-width:0;padding:33px clamp(22px,4.5vw,70px) 55px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:22px}.admin-topbar .eyebrow{margin-bottom:6px}.admin-topbar h1{margin:0;font:400 clamp(32px,4vw,52px) Georgia,serif;letter-spacing:-.045em}.admin-actions{display:flex;gap:9px}.admin-actions button,.new-reservation{height:43px;display:flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.new-reservation{border-color:var(--forest);background:var(--forest);color:#fff;font-weight:800}.admin-status{display:flex;margin-bottom:16px;padding:11px 13px;border:1px solid #d9c9a6;border-radius:10px;background:#fff8df;color:#735f34;font-size:10px}.admin-status.is-connected{border-color:#b7cbbc;background:#edf3ed;color:#315742}.admin-tab{display:none}.admin-tab.is-active{display:block}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.metrics article{min-height:138px;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}.metrics article>span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.metrics strong{margin:13px 0 auto;font:400 38px Georgia,serif}.metrics small{color:var(--muted);font-size:9px}.metrics .accent{border-color:var(--coral);background:var(--coral);color:#fff}.metrics .accent>span,.metrics .accent small{color:rgba(255,255,255,.75)}.panel,.admin-tab:not(#tab-resumen){padding:26px;border:1px solid var(--line);border-radius:19px;background:#fff}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.panel-head .eyebrow{margin-bottom:5px}.view-switch{display:flex;padding:3px;border-radius:9px;background:#efede7}.view-switch button{padding:8px 14px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer}.view-switch button.is-active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(30,40,34,.08)}.reservation-row{min-height:76px;display:grid;grid-template-columns:66px 38px minmax(0,1fr) auto;gap:14px;align-items:center;border-bottom:1px solid var(--line)}.reservation-row:last-child{border-bottom:0}.reservation-row time{font:400 17px Georgia,serif}.avatar{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--forest);font:400 16px Georgia,serif}.reservation-row>div{display:flex;flex-direction:column;gap:3px}.reservation-row strong{font-size:12px}.reservation-row span,.reservation-row small{color:var(--muted);font-size:9px}.reservation-row select{max-width:126px;padding:7px 9px;border:0;border-radius:999px;background:#edf3ed;color:#39634d;font-size:8px;font-weight:900;text-transform:uppercase}.reservation-row select.status-cancelled,.reservation-row select.status-no_show{background:#f8ded6;color:#923b26}.floor-plan{position:relative;height:390px;margin-top:21px;border:1px dashed rgba(41,73,58,.26);border-radius:14px;background:#f5f3ed;overflow:hidden}.plan-label{position:absolute;left:18px;top:15px;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.14em}.floor-table{position:absolute;width:100px;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #adc1b6;border-radius:38px;background:#e6efe9;color:#315742}.floor-table span{font-size:8px;text-transform:uppercase}.floor-table.is-reserved{border-color:#e7ad9c;background:#f8ded6;color:#923b26}.section-heading{max-width:650px;margin-bottom:22px}.section-heading .eyebrow{margin-bottom:5px}.section-heading h2{font-size:37px}.section-heading>p:last-child{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.toolbar{display:grid;grid-template-columns:170px minmax(220px,1fr) auto;gap:9px;margin-bottom:11px}.toolbar input,.inline-form input,.inline-form select,.schedule-form input,.schedule-form select{height:43px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.toolbar a,.inline-form button,.schedule-form button{display:flex;align-items:center;justify-content:center;padding:0 15px;border:0;border-radius:9px;background:var(--forest);color:#fff;font-weight:800}.empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:10px}.empty-state strong{color:var(--ink);font-size:13px}.admin-columns{display:grid;grid-template-columns:minmax(270px,.75fr) minmax(420px,1.25fr);gap:28px}.admin-columns h3{margin:0 0 13px;font:400 23px Georgia,serif}.inline-form{display:grid;grid-template-columns:1fr 1.2fr auto;gap:7px;margin-bottom:13px}.table-form{grid-template-columns:.7fr .7fr 1fr auto}.config-list{display:grid;gap:7px}.config-list article{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:11px}.config-list article div{display:flex;flex-direction:column;gap:3px}.config-list span{color:var(--muted);font-size:9px}.config-list button,.table-grid button{border:0;background:transparent;color:var(--coral);font-size:9px;font-weight:900;cursor:pointer}.is-muted{opacity:.45}.table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.table-grid article{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px}.table-icon{width:52px;height:42px;display:grid;place-items:center;border:1px solid #adc1b6;border-radius:50%;background:#e6efe9;color:#315742;font-weight:900}.table-grid article div{display:flex;flex-direction:column;gap:3px}.table-grid small{color:var(--muted);font-size:8px}.schedule-form{display:grid;grid-template-columns:1fr 1fr 140px 140px auto;gap:8px;margin-bottom:20px}.schedule-list{border-top:1px solid var(--line)}.schedule-day{min-height:61px;display:grid;grid-template-columns:125px 1fr;align-items:center;border-bottom:1px solid var(--line)}.schedule-day>strong{font-size:11px}.schedule-day>div{display:flex;flex-wrap:wrap;gap:7px}.schedule-day button{padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:9px;cursor:pointer}.schedule-day>div>span{color:var(--muted);font-size:10px}.settings-form{max-width:690px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-form input,.settings-form select{min-height:47px}.settings-form .primary-button{align-self:end;margin:0}.security-note{max-width:690px;margin-top:26px;padding:17px;border:1px solid #d9c9a6;border-radius:12px;background:#fff8df}.security-note strong{font-size:11px}.security-note p{margin:6px 0 0;color:#735f34;font-size:10px;line-height:1.5}
@media(max-width:960px){.guest-hero{grid-template-columns:1fr;padding-top:70px}.booking-card{max-width:none;justify-self:stretch}.metrics{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:80px minmax(0,1fr)}.admin-sidebar{align-items:center;padding-inline:12px}.admin-sidebar nav button{justify-content:center;font-size:0}.admin-sidebar nav button:after{content:"•";font-size:18px}.public-link{font-size:0}.public-link:after{content:"↗";font-size:18px}.admin-columns{grid-template-columns:1fr}.schedule-form{grid-template-columns:1fr 1fr 1fr 1fr}.schedule-form button{grid-column:1/-1;height:43px}}
@media(max-width:640px){.guest-header{height:68px}.guest-header nav>a:not(.outline-button),.guest-header nav>.link-button{display:none}.outline-button{padding:9px 12px;font-size:10px}.lookup-bar form{grid-template-columns:1fr}.guest-hero{min-height:auto;padding:50px 17px 40px;gap:45px}.hero-copy h1{font-size:65px}.booking-card{padding:22px 17px;border-radius:21px}.booking-fields{grid-template-columns:1fr}.full-field{grid-column:auto}.steps-footer{grid-template-columns:1fr}.steps-footer div{border-right:0;border-bottom:1px solid var(--line)}.admin-shell{display:block;padding-bottom:72px}.admin-sidebar{position:fixed;z-index:10;top:auto;bottom:0;width:100%;height:66px;flex-direction:row;padding:7px 10px}.admin-brand,.public-link{display:none}.admin-sidebar nav{width:100%;flex-direction:row;justify-content:space-around}.admin-sidebar nav button{width:auto;padding:11px}.admin-main{padding:22px 14px 38px}.admin-topbar{align-items:flex-start}.admin-actions{gap:5px}.admin-actions button{width:42px;font-size:0}.admin-actions button:after{content:"⌕";font-size:18px}.new-reservation{width:42px;padding:0;font-size:0}.new-reservation:after{content:"+";font-size:20px}.metrics{grid-template-columns:1fr 1fr}.metrics article{min-height:120px;padding:16px}.metrics strong{font-size:30px}.panel,.admin-tab:not(#tab-resumen){padding:17px 13px}.reservation-row{grid-template-columns:48px 32px minmax(0,1fr);gap:7px;padding:8px 0}.reservation-row select{grid-column:3;justify-self:start}.toolbar{grid-template-columns:1fr auto}.toolbar input[type=search]{grid-column:1/-1;grid-row:1}.toolbar input[type=date]{grid-row:2}.toolbar a{grid-row:2}.inline-form,.table-form,.schedule-form,.settings-form{grid-template-columns:1fr}.inline-form button,.schedule-form button{grid-column:auto;height:43px}.table-grid{grid-template-columns:1fr}.schedule-day{grid-template-columns:85px 1fr}.floor-table{transform:scale(.76);transform-origin:top left}.form-actions{grid-template-columns:85px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Acceso administrativo propio de MESA */
.access-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);background:var(--cream)}
.access-visual{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:42px clamp(32px,6vw,88px);overflow:hidden;background:var(--forest);color:#fff}
.access-visual:before,.access-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;pointer-events:none}
.access-visual:before{right:-24vw;bottom:-24vw;width:56vw;height:56vw}
.access-visual:after{right:-9vw;bottom:-9vw;width:28vw;height:28vw;border:34px solid rgba(232,104,71,.78)}
.access-brand{position:relative;z-index:1;width:max-content;font-size:25px;font-weight:900;letter-spacing:-.06em}.access-brand span{color:var(--coral)}
.access-visual>div{position:relative;z-index:1;max-width:560px}.access-visual .eyebrow{color:#f2997f}.access-visual h1{margin:0;font:400 clamp(66px,7vw,112px)/.84 Georgia,serif;letter-spacing:-.065em}.access-visual>div>p:last-child{max-width:460px;margin:30px 0 0;color:rgba(255,255,255,.68);font-size:16px;line-height:1.6}
.access-visual>small{position:relative;z-index:1;color:rgba(255,255,255,.52);font-size:10px}
.access-panel{display:grid;place-items:center;padding:34px}.access-card{width:min(100%,480px);padding:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:0 30px 80px rgba(30,40,34,.1)}
.access-card h2{margin:0;font:400 clamp(34px,4vw,48px)/1 Georgia,serif;letter-spacing:-.045em}.access-card>p:not(.eyebrow):not(.form-message){margin:15px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.access-card code{font-size:11px}
.access-form{display:grid;gap:14px;margin-top:27px}.access-form label{display:flex;flex-direction:column;gap:8px}.access-form label>span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.access-form input{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);outline:none}.access-form input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(41,73,58,.1)}.access-form .primary-button{margin-top:4px}
.auth-switch{width:100%;margin-top:19px;padding:11px;border:0;background:transparent;color:var(--forest);font-size:11px;font-weight:800;cursor:pointer}.auth-note{margin:20px 0 0!important;padding-top:16px;border-top:1px solid var(--line);color:var(--muted)!important;font-size:9px!important;font-weight:800;letter-spacing:.04em;text-align:center}.form-message.is-success{color:#315742}.form-message.is-success:not(:empty){padding:9px 11px;border-radius:8px;background:#edf3ed}
.admin-status.is-error{border-color:#e7ad9c;background:#f8ded6;color:#923b26}.admin-user{max-width:170px;align-self:center;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.logout-button{color:#923b26!important}.connected-note{border-color:#b7cbbc;background:#edf3ed}.connected-note p{color:#315742}
.share-box{max-width:690px;display:grid;grid-template-columns:1fr minmax(220px,1.3fr) auto;gap:10px;align-items:center;margin-top:14px;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.share-box strong{font-size:11px}.share-box p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.4}.share-box input{min-width:0;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:9px}.share-box button{height:42px;padding:0 15px;border:0;border-radius:8px;background:var(--forest);color:#fff;font-size:10px;font-weight:800;cursor:pointer}.empty-state.small{min-height:90px}
@media(max-width:850px){.access-shell{grid-template-columns:1fr}.access-visual{min-height:330px;padding:30px}.access-visual h1{font-size:62px}.access-visual>small{margin-top:45px}.access-panel{padding:25px 16px 45px}.admin-user{display:none}.share-box{grid-template-columns:1fr auto}.share-box>div{grid-column:1/-1}.share-box input{min-width:0}}
@media(max-width:640px){.access-visual{min-height:285px}.access-visual h1{font-size:52px}.access-visual>div>p:last-child{font-size:13px}.access-card{padding:27px 20px;border-radius:20px}.logout-button{display:none!important}.share-box{grid-template-columns:1fr}.share-box button{width:100%}.admin-actions #focus-search:after{content:"⌕"}.admin-actions .new-reservation:after{content:"+"}}

/* Consulta pública únicamente por código de reserva. */
.lookup-bar form{grid-template-columns:auto minmax(180px,1fr) auto}
@media(max-width:640px){.lookup-bar form{grid-template-columns:1fr}}

/* Mejoras de operación del panel administrativo. */
.metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.reservation-totals{grid-column:span 2}.reservation-totals>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.reservation-totals p{display:flex;flex-direction:column;gap:3px;margin:0}.reservation-totals p+p{padding-left:14px;border-left:1px solid var(--line)}.reservation-totals p strong{margin:0;font-size:31px}.reservation-row{grid-template-columns:66px 38px minmax(0,1fr) auto auto;padding:0 8px;margin:0 -8px;border-radius:9px;cursor:pointer}.reservation-row:hover{background:var(--cream)}.reservation-row select{cursor:pointer}.reservation-open{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--forest);font-size:9px;font-weight:900;cursor:pointer}.reservation-open:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
#tab-mesas{padding:0;border:0;background:transparent}.management-panels{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(430px,1.2fr);gap:18px}.config-panel{padding:25px;border:1px solid var(--line);border-radius:19px;background:#fff}.config-panel-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px;padding-bottom:17px;border-bottom:1px solid var(--line)}.config-panel-head .eyebrow{margin-bottom:4px}.config-panel-head h3{margin:0;font:400 27px Georgia,serif}.config-panel-head>p{max-width:220px;margin:0;color:var(--muted);font-size:10px;line-height:1.45;text-align:right}
.schedule-form{align-items:start}.schedule-form label{display:flex;flex-direction:column;gap:7px}.schedule-form label>span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.schedule-form label>small{color:var(--muted);font-size:8px;line-height:1.4}.schedule-form>button{height:43px;margin-top:16px}.schedule-day{padding:9px 0;align-items:start}.schedule-day>strong{padding-top:13px}.schedule-period{display:flex;align-items:center;gap:12px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.schedule-period>div:first-child{display:flex;flex-direction:column;gap:2px}.schedule-period b{font-size:10px}.schedule-period span{color:var(--muted);font-size:9px}.schedule-actions{display:flex;gap:4px;margin-left:auto}.schedule-actions button{padding:6px 8px;border:0;background:#fff;color:var(--forest)}.schedule-actions .danger-action{color:#923b26}
.field-label{display:flex;align-items:center;gap:7px}.help-tip{position:relative;width:19px;height:19px;display:inline-grid;place-items:center;padding:0;border:1px solid #b9c3bc;border-radius:50%;background:#fff;color:var(--forest);font-size:11px;font-weight:900;line-height:1;cursor:help}.help-tip:after{content:attr(data-tooltip);position:absolute;z-index:20;left:50%;bottom:calc(100% + 9px);width:250px;padding:10px 11px;border-radius:9px;background:var(--ink);color:#fff;font-size:10px;font-weight:500;letter-spacing:0;line-height:1.45;text-align:left;text-transform:none;box-shadow:0 10px 25px rgba(30,40,34,.18);opacity:0;pointer-events:none;transform:translate(-50%,5px);transition:opacity .16s,transform .16s}.help-tip:hover:after,.help-tip:focus-visible:after{opacity:1;transform:translate(-50%,0)}
.reservation-dialog{width:min(760px,calc(100% - 30px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:24px;background:transparent;color:var(--ink);box-shadow:0 30px 90px rgba(20,29,24,.3)}.reservation-dialog::backdrop{background:rgba(20,29,24,.64);backdrop-filter:blur(5px)}.reservation-hero-card{max-height:calc(100vh - 32px);overflow:auto;border-radius:24px;background:linear-gradient(135deg,#29493a 0 172px,#fff 172px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:29px 31px 24px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94)}.dialog-head .eyebrow{margin-bottom:5px}.dialog-head h2{margin:0;font:400 clamp(31px,4vw,43px) Georgia,serif}.dialog-close{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:24px;line-height:1;cursor:pointer}.reservation-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:26px 31px 31px;background:#fff}.detail-field,.detail-status{min-width:0;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:11px;background:var(--cream)}.detail-field.is-wide,.detail-status.is-wide,.reservation-cancel-actions.is-wide,.reservation-cancelled-note.is-wide{grid-column:1/-1}.detail-field span,.detail-status>span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.detail-field strong{overflow-wrap:anywhere;font-size:12px;line-height:1.45}.detail-status select{min-height:42px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.reservation-cancel-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:4px;padding:16px;border:1px solid #edc2b7;border-radius:11px;background:#fff7f4}.reservation-cancel-actions div{display:flex;flex-direction:column;gap:4px}.reservation-cancel-actions strong{font-size:12px}.reservation-cancel-actions span,.reservation-cancelled-note{color:var(--muted);font-size:10px;line-height:1.45}.reservation-cancel-actions button{min-height:42px;padding:0 14px;border:1px solid #b33b32;border-radius:9px;background:#fff;color:#923b26;font-size:10px;font-weight:900;cursor:pointer}.reservation-cancel-actions button:hover{background:#923b26;color:#fff}.reservation-cancel-actions button:disabled{opacity:.55;cursor:wait}.reservation-cancelled-note{margin:4px 0 0;padding:12px 14px;border-radius:10px;background:#edf3ed;color:#315742}
@media(max-width:1200px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-totals{grid-column:span 2}.management-panels{grid-template-columns:1fr}}
@media(max-width:640px){.reservation-totals{grid-column:1/-1}.reservation-row{grid-template-columns:48px 32px minmax(0,1fr) auto}.reservation-row .reservation-open{grid-column:3;justify-self:start}.reservation-row select{grid-column:3;justify-self:start}.config-panel{padding:18px 14px}.config-panel-head{align-items:flex-start;flex-direction:column;gap:7px}.config-panel-head>p{text-align:left}.schedule-form>button{margin-top:0}.schedule-day{grid-template-columns:1fr}.schedule-day>strong{padding:2px 0 7px}.schedule-period{width:100%;justify-content:space-between}.help-tip:after{left:auto;right:-12px;transform:translateY(5px)}.help-tip:hover:after,.help-tip:focus-visible:after{transform:translateY(0)}.reservation-dialog{width:calc(100% - 18px);max-height:calc(100vh - 18px)}.reservation-hero-card{max-height:calc(100vh - 18px);border-radius:17px;background:linear-gradient(135deg,#29493a 0 118px,#fff 118px)}.reservation-detail-grid{grid-template-columns:1fr;padding:18px}.detail-field.is-wide,.detail-status.is-wide,.reservation-cancel-actions.is-wide,.reservation-cancelled-note.is-wide{grid-column:auto}.dialog-head{padding:22px 18px 17px}.dialog-head h2{font-size:29px}.reservation-cancel-actions{align-items:stretch;flex-direction:column}.reservation-cancel-actions button{width:100%}}

/* Controles explícitos para abrir y cerrar días de servicio. */
.schedule-day-label{display:flex!important;flex-direction:column;gap:5px!important;padding-top:5px}.schedule-day-label strong{font-size:11px}.schedule-day-label span{width:max-content;padding:4px 7px;border-radius:999px;background:#e6efe9;color:#315742!important;font-size:7px!important;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.schedule-day.is-closed .schedule-day-label span{background:#f0ece6;color:#746c62!important}.schedule-day-content{min-width:0;display:flex!important;flex-direction:column;gap:9px!important}.schedule-periods{display:flex;flex-wrap:wrap;gap:7px}.closed-day-message{margin:6px 0;color:var(--muted);font-size:10px}.schedule-day-controls{display:flex;flex-wrap:wrap;gap:6px}.schedule-day-controls button{padding:7px 9px;border-color:#b9c8bf;background:#fff;color:var(--forest);font-weight:800}.schedule-day-controls .close-day-action{border-color:#e7c0b5;color:#923b26}
@media(max-width:640px){.schedule-day-label{padding:0 0 5px}.schedule-day-content{width:100%}.schedule-day-controls{width:100%}.schedule-day-controls button{flex:1}.schedule-periods{width:100%}}

/* Calendario de reservas con indicadores por fecha. */
.reservation-date-picker{position:relative;min-width:0}.reservation-date-trigger{width:100%;height:43px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.reservation-date-trigger>span{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.reservation-date-trigger>strong{font-size:10px}.reservation-date-trigger>i{color:var(--forest);font-style:normal}.reservation-date-trigger:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.reservation-calendar{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:330px;max-width:calc(100vw - 54px);padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 22px 55px rgba(30,40,34,.2)}.reservation-calendar[hidden]{display:none}.reservation-calendar header{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:13px}.reservation-calendar header strong{text-align:center;font:400 17px Georgia,serif;text-transform:capitalize}.reservation-calendar header button{width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--cream);color:var(--forest);cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays{margin-bottom:5px}.calendar-weekdays span{padding:4px 0;color:var(--muted);font-size:8px;font-weight:900;text-align:center;text-transform:uppercase}.calendar-day,.calendar-empty{aspect-ratio:1}.calendar-day{position:relative;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);font-size:10px;cursor:pointer}.calendar-day:hover{border-color:#adc1b6;background:#edf3ed}.calendar-day.is-today{border-color:#adc1b6}.calendar-day.has-reservations{border-color:#e7ad9c;background:#f8ded6;color:#923b26;font-weight:900}.calendar-day.is-selected{border-color:var(--forest);background:var(--forest);color:#fff}.calendar-day small{position:absolute;right:2px;bottom:2px;min-width:14px;height:14px;display:grid;place-items:center;padding:0 3px;border-radius:999px;background:var(--coral);color:#fff;font-size:7px}.calendar-day.is-selected small{background:#fff;color:var(--forest)}.calendar-loading{grid-column:1/-1;min-height:190px;display:grid;place-items:center;margin:0;color:var(--muted);font-size:10px}.calendar-legend{display:flex;align-items:center;gap:7px;margin:13px 0 0;padding-top:11px;border-top:1px solid var(--line);color:var(--muted);font-size:8px}.calendar-legend i{width:10px;height:10px;border:1px solid #e7ad9c;border-radius:3px;background:#f8ded6}
@media(max-width:640px){.reservation-date-picker{grid-row:2}.reservation-calendar{width:min(330px,calc(100vw - 54px))}}

/* Vista pública · inspiración japonesa de la era feudal. */
.reservation-error-banner{margin:18px 0 0;padding:13px 15px;border:1px solid #b33b32;border-left:4px solid #8e201b;border-radius:9px;background:#fce3df;color:#8e201b;font-size:12px;font-weight:800;line-height:1.4}.reservation-error-banner[hidden]{display:none}
.guest-body{--guest-ink:#171411;--guest-indigo:#17262b;--guest-paper:#eee5d2;--guest-paper-deep:#ded0b5;--guest-lacquer:#8f2424;--guest-gold:#b28a45;--guest-muted:#786f61;min-height:100vh;background-color:#d9cdb6;background-image:linear-gradient(30deg,rgba(116,91,55,.08) 12%,transparent 12.5%,transparent 87%,rgba(116,91,55,.08) 87.5%),linear-gradient(150deg,rgba(116,91,55,.08) 12%,transparent 12.5%,transparent 87%,rgba(116,91,55,.08) 87.5%),linear-gradient(30deg,rgba(116,91,55,.08) 12%,transparent 12.5%,transparent 87%,rgba(116,91,55,.08) 87.5%);background-position:0 0,0 0,32px 56px;background-size:64px 112px;color:var(--guest-ink)}
.guest-body:before,.guest-body:after{content:"";position:fixed;z-index:-1;width:38vw;height:38vw;border-radius:50%;filter:blur(2px);pointer-events:none}.guest-body:before{top:80px;left:-18vw;border:1px solid rgba(143,36,36,.19);box-shadow:0 0 0 8vw rgba(143,36,36,.025),0 0 0 16vw rgba(143,36,36,.02)}.guest-body:after{right:-20vw;bottom:-15vw;border:1px solid rgba(23,38,43,.2);box-shadow:0 0 0 8vw rgba(23,38,43,.025),0 0 0 16vw rgba(23,38,43,.02)}
.guest-body .guest-header{height:78px;padding:0 clamp(18px,5vw,72px);border-bottom:3px solid var(--guest-lacquer);background:var(--guest-indigo);color:var(--guest-paper);box-shadow:0 8px 26px rgba(23,20,17,.16)}
.guest-body .wordmark{display:flex;align-items:center;gap:12px;letter-spacing:.08em}.guest-body .wordmark span{color:inherit}.guest-body .brand-mon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--guest-gold);border-radius:50%;color:var(--guest-gold)!important;font:400 20px Georgia,serif}.guest-body .brand-name{display:flex;flex-direction:column;font-size:18px}.guest-body .brand-name small{margin-top:2px;color:#c8b994;font:400 8px Georgia,serif;letter-spacing:.27em}.guest-body .guest-header nav{gap:28px;font-size:11px;letter-spacing:.04em}.guest-body .guest-header nav>a:not(.outline-button),.guest-body .guest-header .link-button{color:#d9ceb7}.guest-body .guest-header .outline-button{border-color:rgba(238,229,210,.38);border-radius:3px;color:var(--guest-paper)}.guest-body .guest-header .outline-button:hover{border-color:var(--guest-gold);color:#e3c987}
.guest-body .lookup-bar{border-bottom:1px solid #bd9452;background:#22201c;color:var(--guest-paper)}.guest-body .lookup-bar input,.guest-body .lookup-bar button{border-radius:2px}.guest-body .lookup-bar button{background:var(--guest-lacquer);color:#fff}
.guest-body .guest-hero{min-height:calc(100vh - 78px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;padding:clamp(30px,5vw,68px) 18px 38px;overflow:visible}.guest-body .guest-hero:before{display:none}
.guest-body .booking-card{justify-self:auto;width:min(100%,860px);max-width:860px;padding:clamp(24px,4vw,48px);border:1px solid #a88d62;border-radius:2px;background:var(--guest-paper);background-image:linear-gradient(rgba(255,255,255,.22),rgba(255,255,255,.05)),repeating-linear-gradient(90deg,transparent 0,transparent 4px,rgba(83,61,38,.018) 5px);box-shadow:0 2px 0 #75613f,0 22px 55px rgba(34,28,21,.2)}
.guest-body .booking-card:before,.guest-body .booking-card:after{content:"";position:absolute;width:28px;height:28px;border-color:var(--guest-lacquer);pointer-events:none}.guest-body .booking-card:before{top:11px;left:11px;border-top:2px solid;border-left:2px solid}.guest-body .booking-card:after{right:11px;bottom:11px;border-right:2px solid;border-bottom:2px solid}
.card-crest{display:grid;grid-template-columns:1fr 54px 1fr;align-items:center;gap:16px;margin:-12px 0 18px;color:var(--guest-lacquer)}.card-crest span{height:1px;background:linear-gradient(90deg,transparent,var(--guest-gold))}.card-crest span:last-child{background:linear-gradient(90deg,var(--guest-gold),transparent)}.card-crest svg{width:54px;height:54px;padding:8px;border:1px solid var(--guest-lacquer);border-radius:50%;fill:none;stroke:currentColor;stroke-width:2}
.guest-body .card-header{align-items:center;padding:0 0 27px;border-bottom:1px solid rgba(80,60,37,.24)}.guest-body .card-header>div{max-width:650px}.guest-body .step-label{margin-bottom:8px;color:var(--guest-lacquer);font-size:9px;letter-spacing:.2em}.guest-body .card-header h1{margin:0;font:400 clamp(30px,5vw,48px)/1.05 Georgia,"Times New Roman",serif;letter-spacing:-.035em}.card-intro{max-width:570px;margin:12px 0 0;color:var(--guest-muted);font-size:12px;line-height:1.6}.guest-body .mini-mark{width:62px;height:62px;border:1px solid var(--guest-gold);border-radius:50%;background:transparent;color:var(--guest-lacquer);font:400 13px Georgia,serif;letter-spacing:.08em}
.guest-calendar{max-width:680px;margin:28px auto 0;padding:22px;border:1px solid rgba(80,60,37,.25);background:rgba(255,252,244,.52)}.guest-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px;margin-bottom:17px}.guest-calendar-head strong{text-align:center;font:400 21px Georgia,serif;text-transform:capitalize}.guest-calendar-head button{width:42px;height:38px;border:1px solid rgba(80,60,37,.25);border-radius:2px;background:transparent;color:var(--guest-lacquer);cursor:pointer}.guest-calendar-head button:disabled{opacity:.25;cursor:not-allowed}.guest-calendar-head button:not(:disabled):hover{border-color:var(--guest-lacquer);background:rgba(143,36,36,.06)}.guest-calendar-weekdays,.guest-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.guest-calendar-weekdays{margin-bottom:7px}.guest-calendar-weekdays span{padding:5px 0;color:var(--guest-muted);font-size:8px;font-weight:900;letter-spacing:.12em;text-align:center;text-transform:uppercase}.guest-calendar-day,.guest-calendar-empty{aspect-ratio:1;min-height:44px}.guest-calendar-day{position:relative;border:1px solid rgba(80,60,37,.16);border-radius:2px;background:rgba(255,255,255,.42);color:var(--guest-ink);font:400 14px Georgia,serif;cursor:pointer}.guest-calendar-day:not(:disabled):hover{border-color:var(--guest-lacquer);background:#f5eee1;color:var(--guest-lacquer);transform:translateY(-1px)}.guest-calendar-day.is-today:after{content:"";position:absolute;left:50%;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--guest-lacquer);transform:translateX(-50%)}.guest-calendar-day.is-selected{border-color:var(--guest-lacquer);background:var(--guest-lacquer);color:#fff;box-shadow:inset 0 0 0 3px var(--guest-paper),inset 0 0 0 4px var(--guest-lacquer)}.guest-calendar-day:disabled{border-color:transparent;background:transparent;color:#aaa090;text-decoration:line-through;cursor:not-allowed}
.booking-options{max-width:680px;margin:24px auto 0}.selected-date-banner{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px 15px;border-left:3px solid var(--guest-lacquer);background:#ded2bc}.selected-date-banner>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--guest-gold);border-radius:50%;color:var(--guest-lacquer);font:400 15px Georgia,serif}.selected-date-banner>div{display:flex;flex-direction:column;gap:3px}.selected-date-banner small{color:var(--guest-muted);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.selected-date-banner strong{font:400 15px Georgia,serif;text-transform:capitalize}.selected-date-banner button{padding:8px 0;border:0;border-bottom:1px solid var(--guest-lacquer);background:transparent;color:var(--guest-lacquer);font-size:9px;font-weight:900;cursor:pointer}.guest-body .booking-fields{gap:14px;padding:20px 0}.guest-body .booking-fields label>span,.guest-body .details-form label>span,.guest-body .slot-heading{color:var(--guest-muted);letter-spacing:.14em}.guest-body .booking-fields select,.guest-body .details-form input,.guest-body .details-form textarea{border-color:rgba(80,60,37,.24);border-radius:2px;background:#f8f2e7}.guest-body .booking-fields select:focus,.guest-body .details-form input:focus,.guest-body .details-form textarea:focus{border-color:var(--guest-lacquer);box-shadow:0 0 0 2px rgba(143,36,36,.1)}.guest-body .time-slots{grid-template-columns:repeat(4,1fr)}.guest-body .time-slots button{border-color:rgba(80,60,37,.24);border-radius:2px;background:rgba(255,255,255,.34);font:400 14px Georgia,serif}.guest-body .time-slots button:hover{border-color:var(--guest-lacquer);color:var(--guest-lacquer)}.guest-body .time-slots button.is-selected{border-color:var(--guest-lacquer);background:var(--guest-lacquer);color:#fff}.guest-body .empty-inline{border-color:rgba(80,60,37,.25);border-radius:2px}.guest-body .primary-button{border-radius:2px;background:var(--guest-lacquer);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);letter-spacing:.04em}.guest-body .primary-button:not(:disabled):hover{background:#741b1b}.guest-body .secondary-button{border-radius:2px;border-color:rgba(80,60,37,.3);color:var(--guest-ink)}
.guest-body .details-form{max-width:680px;margin:0 auto;padding-top:24px}.guest-body .selection-summary{border-left:3px solid var(--guest-lacquer);border-radius:0;background:#ded2bc}.guest-body .confirmation{max-width:680px;margin:0 auto}.guest-body .confirmation-card{border:1px solid var(--guest-gold);border-radius:2px;background:var(--guest-indigo)}.guest-body .confirmation-card:after{border-color:var(--guest-lacquer)}.guest-body .confirmation-card i{background:var(--guest-lacquer)}.guest-body .restart-button{color:var(--guest-lacquer)}
.guest-body .connection-badge{margin:0;padding:6px 10px;border-color:rgba(80,60,37,.3);border-radius:2px;background:rgba(238,229,210,.72);color:#6b5736;backdrop-filter:blur(5px)}.guest-body .connection-badge.is-connected{border-color:#6f8978;background:rgba(225,235,225,.84);color:#315742}.guest-body .connection-badge.is-error{border-color:#a85b50;background:rgba(248,222,214,.84);color:#762d24}
@media(max-width:640px){.guest-body .guest-header{height:67px;padding-inline:14px}.guest-body .brand-mon{width:36px;height:36px;font-size:17px}.guest-body .brand-name{font-size:15px}.guest-body .guest-header .outline-button{padding:8px 9px;font-size:0}.guest-body .guest-header .outline-button span{font-size:14px}.guest-body .guest-hero{min-height:calc(100vh - 67px);padding:20px 10px 28px}.guest-body .booking-card{padding:25px 14px 23px}.card-crest{grid-template-columns:1fr 44px 1fr;margin:-8px 0 15px}.card-crest svg{width:44px;height:44px}.guest-body .card-header{align-items:flex-start;padding-inline:4px}.guest-body .mini-mark{width:47px;height:47px;flex:0 0 47px;font-size:10px}.guest-body .card-header h1{font-size:31px}.card-intro{font-size:11px}.guest-calendar{margin-top:20px;padding:14px 8px}.guest-calendar-weekdays,.guest-calendar-grid{gap:3px}.guest-calendar-day,.guest-calendar-empty{min-height:39px}.guest-calendar-day{font-size:12px}.selected-date-banner{grid-template-columns:36px 1fr auto;padding:11px 9px}.selected-date-banner>span{width:32px;height:32px}.selected-date-banner strong{font-size:12px}.guest-body .booking-fields{grid-template-columns:1fr 1fr}.guest-body .time-slots{grid-template-columns:repeat(3,1fr)}}
@media(max-width:390px){.guest-body .booking-fields{grid-template-columns:1fr}.guest-body .time-slots{grid-template-columns:repeat(2,1fr)}.guest-calendar-day,.guest-calendar-empty{min-height:35px}}

/* Ajuste compacto: el calendario inicial cabe completo sin desplazamiento. */
.guest-body .guest-hero{min-height:calc(100svh - 78px);padding:16px 18px;justify-content:center}
.guest-body .booking-card{width:min(100%,790px);max-width:790px;padding:20px 36px 24px}
.guest-body .card-crest{grid-template-columns:1fr 38px 1fr;gap:12px;margin:-5px 0 8px}
.guest-body .card-crest svg{width:38px;height:38px;padding:6px}
.guest-body .card-header{padding-bottom:14px}
.guest-body .card-header h1{font-size:clamp(28px,4vw,39px)}
.guest-body .card-intro{margin-top:7px;line-height:1.4}
.guest-body .mini-mark{width:48px;height:48px;font-size:11px}
.guest-body .guest-calendar{max-width:620px;margin-top:14px;padding:10px 15px 12px}
.guest-body .guest-calendar-head{grid-template-columns:34px 1fr 34px;margin-bottom:6px}
.guest-body .guest-calendar-head strong{font-size:18px}
.guest-body .guest-calendar-head button{width:34px;height:30px}
.guest-body .guest-calendar-weekdays,.guest-body .guest-calendar-grid{gap:4px}
.guest-body .guest-calendar-weekdays{margin-bottom:2px}
.guest-body .guest-calendar-weekdays span{padding:2px 0}
.guest-body .guest-calendar-day,.guest-body .guest-calendar-empty{min-height:31px;aspect-ratio:auto;height:31px}
.guest-body .guest-calendar-day.is-today:after{bottom:3px}
@media(max-width:640px){.guest-body .guest-hero{min-height:calc(100svh - 67px);padding:8px}.guest-body .booking-card{padding:15px 12px 17px}.guest-body .card-crest{grid-template-columns:1fr 32px 1fr;margin:-2px 0 5px}.guest-body .card-crest svg{width:32px;height:32px;padding:5px}.guest-body .card-header{padding-bottom:10px}.guest-body .card-header h1{font-size:27px}.guest-body .card-intro{margin-top:5px;font-size:10px;line-height:1.35}.guest-body .mini-mark{width:40px;height:40px;flex-basis:40px}.guest-body .guest-calendar{margin-top:10px;padding:8px 6px 9px}.guest-body .guest-calendar-head{margin-bottom:4px}.guest-body .guest-calendar-head strong{font-size:17px}.guest-body .guest-calendar-day,.guest-body .guest-calendar-empty{height:35px;min-height:35px}}
@media(max-width:390px){.guest-body .guest-calendar-day,.guest-body .guest-calendar-empty{height:32px;min-height:32px}}

/* Arte panorámico y paleta ceremonial inspirados en el Japón feudal. */
.guest-body{--guest-indigo:#082e45;--guest-lacquer:#b52323;--guest-gold:#d4a72c;--guest-jade:#166a55;--guest-paper:#f4e2b7;--guest-paper-deep:#dfc584;background-color:var(--guest-indigo);background-image:linear-gradient(90deg,rgba(6,29,40,.2),rgba(111,28,20,.08),rgba(6,29,40,.22)),url('assets/feudal-landscape.png');background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
.guest-body:before,.guest-body:after{display:none}
.guest-body .guest-header{border-bottom-color:var(--guest-gold);background:linear-gradient(100deg,rgba(7,39,56,.97),rgba(11,55,70,.96) 58%,rgba(135,25,25,.96));box-shadow:0 5px 0 rgba(181,35,35,.88),0 14px 35px rgba(0,0,0,.25)}
.guest-body .brand-mon{border-color:var(--guest-gold);background:var(--guest-lacquer);color:#ffe4a3!important;box-shadow:0 0 0 3px rgba(212,167,44,.18)}
.guest-body .booking-card{border-color:var(--guest-gold);background:rgba(244,226,183,.94);background-image:linear-gradient(rgba(255,247,221,.32),rgba(255,247,221,.08)),repeating-linear-gradient(90deg,transparent 0,transparent 4px,rgba(83,61,38,.025) 5px);box-shadow:0 0 0 4px rgba(181,35,35,.64),0 0 0 7px rgba(212,167,44,.7),0 24px 70px rgba(0,0,0,.38);backdrop-filter:blur(2px)}
.guest-body .booking-card:before,.guest-body .booking-card:after{border-color:var(--guest-indigo)}
.guest-body .card-crest{color:var(--guest-lacquer)}.guest-body .card-crest span{background:linear-gradient(90deg,transparent,var(--guest-lacquer),var(--guest-gold))}.guest-body .card-crest span:last-child{background:linear-gradient(90deg,var(--guest-gold),var(--guest-lacquer),transparent)}
.guest-body .step-label{color:#a21717}.guest-body .mini-mark{border-color:var(--guest-lacquer);background:var(--guest-indigo);color:#ffd367}
.guest-body .guest-calendar{border-color:rgba(181,35,35,.38);background:rgba(255,244,213,.68);box-shadow:inset 0 0 0 1px rgba(212,167,44,.45)}
.guest-body .guest-calendar-head button{border-color:var(--guest-gold);background:var(--guest-indigo);color:#ffd367}.guest-body .guest-calendar-head button:not(:disabled):hover{border-color:var(--guest-lacquer);background:var(--guest-lacquer);color:#fff}
.guest-body .guest-calendar-day:not(:disabled){border-color:rgba(8,46,69,.2);background:rgba(255,248,226,.52)}.guest-body .guest-calendar-day:not(:disabled):hover{border-color:var(--guest-lacquer);background:#ffd98a;color:#8f1616}.guest-body .guest-calendar-day.is-selected{border-color:var(--guest-indigo);background:var(--guest-lacquer);color:#fff}
.guest-body .guest-calendar-day.is-closed{border-color:rgba(181,35,35,.32);background:repeating-linear-gradient(135deg,rgba(181,35,35,.04) 0,rgba(181,35,35,.04) 4px,rgba(181,35,35,.12) 4px,rgba(181,35,35,.12) 6px);color:#9d5148;text-decoration:none}.guest-body .guest-calendar-day.is-closed:after{content:"×";position:absolute;right:4px;top:1px;color:var(--guest-lacquer);font:700 10px Arial,sans-serif}.guest-body .guest-calendar-day.is-closed.is-today:after{left:auto;bottom:auto;width:auto;height:auto;background:none;transform:none}
.guest-body .guest-calendar-day.is-special-closure{height:38px;display:flex;align-items:flex-start;justify-content:center;padding-top:4px;border-color:rgba(181,35,35,.55);background:#f4d6b2;color:#751c1c}.guest-body .guest-calendar-day.is-special-closure small{position:absolute;left:3px;right:3px;bottom:2px;overflow:hidden;color:#8a231d;font:700 6px/1.05 Arial,sans-serif;text-overflow:ellipsis;white-space:nowrap}.guest-body .guest-calendar-day.is-special-closure:after{top:0}
.guest-body .selected-date-banner{border-left-color:var(--guest-gold);background:linear-gradient(90deg,var(--guest-indigo),#105368);color:#fff}.guest-body .selected-date-banner small{color:#e6c873}.guest-body .selected-date-banner>span{border-color:var(--guest-gold);background:var(--guest-lacquer);color:#ffe5a2}.guest-body .selected-date-banner button{border-bottom-color:#ffd367;color:#ffd367}
.guest-body .time-slots button.is-selected,.guest-body .primary-button{background:linear-gradient(100deg,#991c1c,var(--guest-lacquer) 58%,#d14a20)}
@media(max-width:640px){.guest-body{background-position:24% center;background-attachment:scroll}.guest-body .booking-card{background:rgba(244,226,183,.95);box-shadow:0 0 0 3px rgba(181,35,35,.68),0 0 0 5px rgba(212,167,44,.72),0 18px 45px rgba(0,0,0,.3)}}

/* Interfaz pública: dirección editorial sobria y calendario de altura estable. */
.guest-body{--guest-ink:#24231f;--guest-indigo:#2e3b35;--guest-paper:#f8f6f1;--guest-paper-deep:#ebe6dc;--guest-lacquer:#6d4c3d;--guest-gold:#a18b68;--guest-muted:#777269;background:#eeece7;background-image:radial-gradient(circle at 15% 15%,rgba(255,255,255,.9),transparent 35%),linear-gradient(135deg,#eeece7,#e7e3dc);color:var(--guest-ink)}
.guest-body .guest-header{height:70px;padding:0 clamp(20px,5vw,70px);border-bottom:1px solid rgba(36,35,31,.1);background:rgba(248,246,241,.88);color:var(--guest-ink);box-shadow:none;backdrop-filter:blur(14px)}
.guest-body .wordmark{gap:10px;letter-spacing:.12em}.guest-body .brand-mon{width:34px;height:34px;border:1px solid #bdb5a8;border-radius:50%;background:transparent;color:var(--guest-indigo)!important;box-shadow:none;font-size:15px}.guest-body .brand-name{font-size:15px}.guest-body .brand-name small{display:none}.guest-body .guest-header nav{gap:24px}.guest-body .guest-header nav>a:not(.outline-button),.guest-body .guest-header .link-button{color:#5e5a53;font-weight:600}.guest-body .guest-header .outline-button{padding:10px 14px;border-color:#cbc5ba;border-radius:999px;color:var(--guest-ink)}.guest-body .guest-header .outline-button:hover{border-color:var(--guest-indigo);color:var(--guest-indigo)}
.guest-body .lookup-bar{border:0;background:var(--guest-indigo);color:#fff}.guest-body .lookup-bar input,.guest-body .lookup-bar button{border-radius:8px}.guest-body .lookup-bar button{background:#fff;color:var(--guest-indigo)}
.guest-body .guest-hero{min-height:calc(100svh - 70px);padding:32px 18px 44px;justify-content:center}.guest-body .booking-card{width:min(100%,760px);max-width:760px;padding:32px clamp(24px,5vw,52px) 38px;border:1px solid rgba(36,35,31,.1);border-radius:22px;background:rgba(250,249,246,.96);background-image:none;box-shadow:0 22px 70px rgba(45,42,36,.1);backdrop-filter:none}.guest-body .booking-card:before,.guest-body .booking-card:after{display:none}
.guest-body .card-crest{display:none}.guest-body .card-header{align-items:flex-start;padding:0 0 22px;border-bottom:1px solid rgba(36,35,31,.1)}.guest-body .card-header>div{max-width:590px}.guest-body .step-label{margin-bottom:9px;color:var(--guest-lacquer);font-size:9px;letter-spacing:.16em}.guest-body .card-header h1{font:400 clamp(29px,4.5vw,40px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.025em}.guest-body .card-intro{max-width:530px;margin-top:9px;color:var(--guest-muted);font-size:12px;line-height:1.55}.guest-body .mini-mark{display:none}
.guest-body .guest-calendar{width:100%;max-width:620px;margin:20px auto 0;padding:18px 20px 20px;border:1px solid rgba(36,35,31,.1);border-radius:14px;background:#fff;box-shadow:none}.guest-body .guest-calendar-head{grid-template-columns:36px minmax(0,1fr) 36px;gap:10px;margin-bottom:12px}.guest-body .guest-calendar-head strong{overflow:hidden;font:400 18px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.guest-body .guest-calendar-head button{width:36px;height:34px;border:1px solid #ddd8cf;border-radius:50%;background:transparent;color:var(--guest-indigo)}.guest-body .guest-calendar-head button:not(:disabled):hover{border-color:var(--guest-indigo);background:#f2f0eb;color:var(--guest-indigo)}
.guest-body .guest-calendar-weekdays,.guest-body .guest-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.guest-body .guest-calendar-weekdays{margin-bottom:5px}.guest-body .guest-calendar-weekdays span{padding:3px 0;color:#989187;font-size:8px;letter-spacing:.1em}.guest-body .guest-calendar-grid{grid-template-rows:repeat(6,38px);height:253px}.guest-body .guest-calendar-day,.guest-body .guest-calendar-empty{width:100%;height:38px;min-height:38px;aspect-ratio:auto}.guest-body .guest-calendar-day{border:1px solid transparent;border-radius:9px;background:transparent;color:var(--guest-ink);font:400 13px Arial,sans-serif}.guest-body .guest-calendar-day:not(:disabled){border-color:transparent;background:transparent}.guest-body .guest-calendar-day:not(:disabled):hover{border-color:#d7d0c4;background:#f3f0ea;color:var(--guest-ink);transform:none}.guest-body .guest-calendar-day.is-today:after{bottom:4px;width:3px;height:3px;background:var(--guest-lacquer)}.guest-body .guest-calendar-day.is-selected{border-color:var(--guest-indigo);background:var(--guest-indigo);color:#fff;box-shadow:none}.guest-body .guest-calendar-day:disabled{border-color:transparent;background:transparent;color:#c0bbb2;text-decoration:none}.guest-body .guest-calendar-day.is-closed{border-color:transparent;background:transparent;color:#b9b3aa;text-decoration:none}.guest-body .guest-calendar-day.is-closed:after{content:""}.guest-body .guest-calendar-day.is-special-closure{display:grid;height:38px;padding:0;border-color:#eadfd9;background:#faf5f2;color:#8a6252;place-items:center}.guest-body .guest-calendar-day.is-special-closure small{display:none}
.guest-body .booking-options,.guest-body .details-form,.guest-body .confirmation{max-width:620px}.guest-body .selected-date-banner{grid-template-columns:38px minmax(0,1fr) auto;gap:12px;padding:13px 14px;border:1px solid #ded9d0;border-left:3px solid var(--guest-lacquer);border-radius:10px;background:#f2efe9;color:var(--guest-ink)}.guest-body .selected-date-banner small{color:var(--guest-muted)}.guest-body .selected-date-banner>span{width:34px;height:34px;border-color:#d0c6b8;background:transparent;color:var(--guest-lacquer)}.guest-body .selected-date-banner button{border-color:var(--guest-lacquer);color:var(--guest-lacquer)}
.guest-body .booking-fields select,.guest-body .details-form input,.guest-body .details-form textarea{border-color:#d9d4ca;border-radius:9px;background:#fff}.guest-body .booking-fields select:focus,.guest-body .details-form input:focus,.guest-body .details-form textarea:focus{border-color:var(--guest-indigo);box-shadow:0 0 0 3px rgba(46,59,53,.08)}.guest-body .time-slots button{border-color:#d9d4ca;border-radius:9px;background:#fff;font-family:Arial,sans-serif}.guest-body .time-slots button:hover{border-color:var(--guest-indigo);color:var(--guest-indigo)}.guest-body .time-slots button.is-selected{border-color:var(--guest-indigo);background:var(--guest-indigo);color:#fff}.guest-body .primary-button{border-radius:10px;background:var(--guest-indigo);box-shadow:none}.guest-body .primary-button:not(:disabled):hover{background:#202d27}.guest-body .secondary-button{border-radius:10px}.guest-body .selection-summary{border-left-color:var(--guest-lacquer);border-radius:9px;background:#f2efe9}.guest-body .confirmation-card{border:0;border-radius:16px;background:var(--guest-indigo)}.guest-body .confirmation-card:after{border-color:var(--guest-lacquer)}.guest-body .confirmation-card i{background:var(--guest-lacquer)}.guest-body .restart-button{color:var(--guest-indigo)}
@media(max-width:640px){.guest-body .guest-header{height:64px;padding-inline:14px}.guest-body .guest-header nav{gap:12px}.guest-body .guest-header nav>a:not(.outline-button){display:none}.guest-body .guest-header .link-button{font-size:10px}.guest-body .guest-header .outline-button{padding:8px 10px}.guest-body .guest-hero{min-height:calc(100svh - 64px);padding:14px 9px 24px}.guest-body .booking-card{padding:24px 14px 27px;border-radius:16px}.guest-body .card-header{padding:0 5px 17px}.guest-body .card-header h1{font-size:29px}.guest-body .card-intro{font-size:11px}.guest-body .guest-calendar{margin-top:15px;padding:13px 8px 15px}.guest-body .guest-calendar-head{margin-bottom:8px}.guest-body .guest-calendar-grid{grid-template-rows:repeat(6,36px);height:241px}.guest-body .guest-calendar-day,.guest-body .guest-calendar-empty,.guest-body .guest-calendar-day.is-special-closure{height:36px;min-height:36px}.guest-body .guest-calendar-weekdays,.guest-body .guest-calendar-grid{gap:4px}.guest-body .booking-fields{grid-template-columns:1fr 1fr}.guest-body .time-slots{grid-template-columns:repeat(3,1fr)}}
@media(max-width:390px){.guest-body .brand-name{display:none}.guest-body .guest-header nav{margin-left:auto}.guest-body .booking-fields{grid-template-columns:1fr}.guest-body .time-slots{grid-template-columns:repeat(2,1fr)}.guest-body .guest-calendar-grid{grid-template-rows:repeat(6,34px);height:229px}.guest-body .guest-calendar-day,.guest-body .guest-calendar-empty,.guest-body .guest-calendar-day.is-special-closure{height:34px;min-height:34px}}

/* Comprobante del comensal: detalle centrado con cancelación autorizada por clave. */
.guest-receipt-dialog{width:min(760px,calc(100% - 30px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:0;background:transparent;color:var(--sakura-ink,var(--guest-ink));box-shadow:18px 18px 0 rgba(5,36,56,.52),0 30px 90px rgba(5,36,56,.4)}.guest-receipt-dialog::backdrop{background:rgba(5,36,56,.78);backdrop-filter:blur(4px)}.guest-receipt-card{position:relative;max-height:calc(100vh - 32px);overflow:auto;padding:clamp(25px,5vw,48px);border:1px solid rgba(243,234,215,.74);border-radius:0;background:var(--sakura-paper,var(--guest-paper));box-shadow:inset 8px 0 0 var(--sakura-red,#b43b2f)}.guest-receipt-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border:1px solid var(--sakura-line,rgba(8,47,73,.2));border-radius:0;background:#fff;color:var(--sakura-blue,#082f49);font-size:25px;line-height:1;cursor:pointer}.guest-receipt-eyebrow{margin:0 0 8px;color:var(--sakura-red,#b43b2f);font:600 10px "Barlow Condensed",sans-serif;letter-spacing:.18em;text-transform:uppercase}.guest-receipt-card h2{max-width:80%;margin:0;color:var(--sakura-blue,#082f49);font:500 clamp(32px,5vw,48px)/1.04 "Montserrat",Arial,sans-serif;letter-spacing:-.04em}.guest-receipt-status{display:inline-flex;margin:13px 0 26px;padding:7px 10px;border:1px solid #9cb3bd;border-radius:0;background:#e8eef0;color:var(--sakura-blue,#082f49);font:600 10px "Barlow Condensed",sans-serif;letter-spacing:.12em;text-transform:uppercase}.guest-receipt-status.is-cancelled{border-color:#d8aaa2;background:#f9eeea;color:#923b26}.guest-receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guest-receipt-field{display:flex;min-width:0;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--sakura-line,rgba(8,47,73,.2));border-radius:0;background:#fff}.guest-receipt-field:last-child{grid-column:1/-1}.guest-receipt-field span{color:#65717a;font:600 9px "Barlow Condensed",sans-serif;letter-spacing:.13em;text-transform:uppercase}.guest-receipt-field strong{overflow-wrap:anywhere;color:var(--sakura-ink,#182026);font-size:12px;line-height:1.45}.guest-receipt-note{margin:15px 0 0;padding:13px 14px;border-left:4px solid #7da2af;background:#e8eef0;color:var(--sakura-blue,#082f49);font-size:11px;line-height:1.45}.guest-cancel-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:17px;padding:17px;border:1px solid #e1b4ac;border-left:4px solid var(--sakura-red,#b43b2f);border-radius:0;background:#fff8f6}.guest-cancel-form>div{display:flex;flex-direction:column;gap:5px}.guest-cancel-form>div strong{color:var(--sakura-blue,#082f49);font-size:13px}.guest-cancel-form>div span{max-width:430px;color:#65717a;font-size:10px;line-height:1.45}.guest-cancel-form p{grid-column:1/-1;min-height:0;margin:0;color:#923b26;font-size:10px}.guest-cancel-form button{grid-column:2;min-height:42px;padding:0 17px;border:1px solid var(--sakura-red,#b43b2f);border-radius:0;background:var(--sakura-red,#b43b2f);color:#fff;font:600 11px "Barlow Condensed",sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.guest-cancel-form button:hover{background:#8f2c24}.guest-cancel-form button:disabled{opacity:.55;cursor:wait}@media(max-width:640px){.guest-receipt-dialog{width:calc(100% - 18px);max-height:calc(100vh - 18px);box-shadow:8px 8px 0 rgba(5,36,56,.52),0 20px 60px rgba(5,36,56,.4)}.guest-receipt-card{max-height:calc(100vh - 18px);padding:25px 18px;border-radius:0}.guest-receipt-close{top:14px;right:14px}.guest-receipt-grid{grid-template-columns:1fr}.guest-receipt-field:last-child{grid-column:auto}.guest-cancel-form{grid-template-columns:1fr}.guest-cancel-form button{grid-column:auto;width:100%}}

/* Cierres excepcionales dentro del administrador de horarios. */
.special-dates-panel{margin-top:30px;padding-top:27px;border-top:1px solid var(--line)}.special-dates-panel .config-panel-head{align-items:center}.special-date-form{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(220px,1fr) minmax(220px,1fr) auto;gap:10px;align-items:start;padding:18px;border:1px solid #e2c890;border-radius:15px;background:#fff9e9}.special-date-form label{display:flex;flex-direction:column;gap:7px}.special-date-form label>span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.special-date-form label>small{color:var(--muted);font-size:8px;line-height:1.35}.special-date-form input,.special-date-form select{width:100%;height:43px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.special-date-form>button{height:43px;margin-top:16px;padding:0 16px;border:0;border-radius:9px;background:#923b26;color:#fff;font-weight:800;cursor:pointer}.special-date-list{display:grid;gap:8px;margin-top:13px}.special-date-list article{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.special-date-list time{display:flex;align-items:baseline;gap:6px;color:#923b26}.special-date-list time strong{font:400 25px Georgia,serif}.special-date-list time span{color:var(--muted);font-size:8px;text-transform:uppercase}.special-date-list article>div{display:flex;flex-direction:column;gap:4px}.special-date-list article>div strong{font-size:11px}.special-date-list article>div span{color:var(--muted);font-size:9px}.special-date-status{padding:6px 9px;border-radius:999px;background:#f8ded6;color:#923b26;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.special-date-list button{padding:7px 0;border:0;border-bottom:1px solid #923b26;background:transparent;color:#923b26;font-size:9px;font-weight:900;cursor:pointer}.special-date-empty{display:flex;flex-direction:column;align-items:center;gap:5px;padding:24px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:9px}.special-date-empty strong{color:var(--ink);font-size:11px}
@media(max-width:1050px){.special-date-form{grid-template-columns:1fr 1fr}.special-date-form>button{margin-top:0}}
@media(max-width:640px){.special-date-form{grid-template-columns:1fr;padding:14px}.special-date-form>button{margin-top:0}.special-date-list article{grid-template-columns:64px minmax(0,1fr) auto}.special-date-status{display:none}.special-date-list button{grid-column:2;justify-self:start}.special-dates-panel .config-panel-head{align-items:flex-start}}

/* Identidad SAKURA en el acceso y panel administrativo. */
.access-brand,.admin-brand{display:flex;align-items:center;gap:11px;width:max-content;height:auto;border:0;border-radius:0;letter-spacing:.15em}
.access-brand .brand-mon,.admin-brand .brand-mon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.68);background:transparent;color:#fff!important;font:700 19px "Noto Sans JP",sans-serif;box-shadow:inset 0 0 0 4px var(--forest),inset 0 0 0 5px rgba(255,255,255,.2)}
.access-brand .brand-name,.admin-brand .brand-name{display:flex;flex-direction:column;color:#fff!important;font:700 17px "Montserrat",Arial,sans-serif;letter-spacing:.16em}
.access-brand .brand-name small,.admin-brand .brand-name small{margin-top:2px;color:rgba(255,255,255,.65);font:600 7px "Montserrat",Arial,sans-serif;letter-spacing:.19em}
.admin-brand{margin-bottom:48px}.admin-brand .brand-mon{box-shadow:inset 0 0 0 4px var(--ink),inset 0 0 0 5px rgba(255,255,255,.2)}
.access-visual>small a{padding-bottom:2px;border-bottom:1px solid rgba(255,255,255,.45)}

/* Formularios de mesas fluidos en anchos intermedios. */
.config-panel,.management-panels,.inline-form>*{min-width:0}
.inline-form input,.inline-form select{width:100%;max-width:100%}
.inline-form button{max-width:100%;white-space:nowrap}
@media(max-width:1350px) and (min-width:641px){.table-form{grid-template-columns:repeat(2,minmax(0,1fr))}.table-form button{grid-column:1/-1;height:43px}}
@media(max-width:960px) and (min-width:641px){.admin-brand{justify-content:center;width:47px}.admin-brand .brand-name{display:none}}
@media(max-width:640px){.admin-brand{display:none}.table-form button{width:100%}}
