:root{color-scheme:light;--ink: #171514;--muted: #6d6761;--line: #ded6cb;--paper: #fbfaf7;--panel: #ffffff;--accent: #8f1d2c;--accent-dark: #5f101c;--gold: #b68b45;--sage: #6c7b5d}*{box-sizing:border-box}[hidden],.is-zone-hidden{display:none!important}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-nav{align-items:center;background:#171514e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;display:flex;justify-content:space-between;left:0;padding:18px clamp(18px,4vw,56px);position:fixed;right:0;top:0;z-index:20}.brand{font-family:Georgia,serif;font-size:1.3rem;letter-spacing:.04em}.nav-links{align-items:center;display:flex;gap:18px}.dropdown{position:relative}.dropdown-content{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 38px #00000029;color:var(--ink);display:none;min-width:160px;padding:8px;position:absolute;right:0;top:32px}.dropdown:hover .dropdown-content,.dropdown:focus-within .dropdown-content{display:grid}.dropdown-content a{border-radius:6px;padding:10px 12px}.dropdown-content a:hover{background:#f4eee6}.hero{align-items:end;background:linear-gradient(180deg,#00000040,#000000c2),url(https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=1800&q=80) center/cover;color:#fff;display:grid;min-height:92vh;padding:120px clamp(18px,5vw,72px) 70px}.demo-hero{background:linear-gradient(180deg,#0000002e,#000000c2),url(https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=1800&q=80) center/cover;min-height:94vh}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.hero h1{font-family:Georgia,serif;font-size:clamp(3rem,8vw,7.5rem);font-weight:500;line-height:.92;margin:0 0 20px;max-width:900px}.hero p{color:#f4ede4;font-size:1.18rem;line-height:1.7;max-width:650px}.btn{align-items:center;background:var(--accent);border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;min-height:44px;padding:10px 16px}.btn.secondary{background:#efe7dc;color:var(--ink)}.btn.danger{background:#9f1f1f}.section{padding:44px clamp(18px,4vw,56px)}.demo-intro{align-items:end;display:grid;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.demo-intro h2,.demo-steps h2,.demo-paths h2{font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,4.2rem);font-weight:500;line-height:1;margin:0}.demo-intro p,.demo-step-copy p,.demo-path-list p,.demo-grid p,.demo-credentials p{color:var(--muted);line-height:1.6}.demo-grid,.demo-path-list,.demo-credentials{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.demo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.demo-grid article,.demo-path-list article,.demo-credentials article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.demo-grid span{color:var(--accent);font-weight:900}.demo-steps{background:#1d1a18;color:#fff;display:grid;gap:24px;grid-template-columns:minmax(280px,.85fr) 1fr}.demo-steps .muted,.demo-steps p{color:#e7ded1}.demo-credentials article{background:#ffffff14;border-color:#ffffff2e}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;padding-top:80px}.sidebar{background:#1d1a18;color:#fff;padding:28px 18px}.sidebar nav{display:grid;gap:8px;margin-top:28px}.sidebar a,.sidebar button{background:transparent;border:0;border-radius:8px;color:#eee8de;cursor:pointer;display:block;padding:10px 12px;text-align:left;width:100%}.sidebar a:hover,.sidebar button:hover{background:#ffffff1a}.content{padding:30px clamp(18px,4vw,44px)}.site-footer{align-items:center;background:#171514;color:#fff;display:flex;gap:18px;justify-content:space-between;padding:28px clamp(18px,4vw,56px)}.site-footer p{color:#d8cfc4;line-height:1.5;margin:6px 0 0;max-width:620px}.site-footer nav{display:flex;flex-wrap:wrap;gap:14px}.site-footer a{color:#eee8de}.cookie-banner{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;bottom:18px;box-shadow:0 20px 44px #0000002e;display:flex;gap:16px;justify-content:space-between;left:18px;padding:16px;position:fixed;right:18px;z-index:80}.cookie-banner p{color:var(--muted);line-height:1.45;margin:4px 0 0}.legal-page{padding:120px clamp(18px,4vw,56px) 54px}.legal-card{margin:0 auto;max-width:860px}.legal-card h1{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:500;line-height:1;margin:0 0 22px}.legal-card p{color:var(--muted);line-height:1.65}.toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:20px}.grid{display:grid;gap:16px}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{color:var(--muted);display:grid;font-size:.9rem;gap:6px}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:42px;padding:9px 11px;width:100%}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left}.status{background:#edf4ea;border:1px solid #cbdcc4;border-radius:8px;margin-bottom:16px;padding:12px}.errors{background:#fff0f0;border:1px solid #efb5b5;border-radius:8px;margin-bottom:16px;padding:12px}.table-manager{display:grid;gap:18px;grid-template-columns:minmax(280px,360px) 1fr;min-height:calc(100vh - 120px)}.map-toolbar-actions,.button-row{display:flex;flex-wrap:wrap;gap:10px}.map-sidebar{align-content:start;display:grid;gap:20px;max-height:calc(100vh - 130px);overflow:auto}.table-list{display:grid;gap:10px}.table-list-item{border:1px solid var(--line);border-radius:8px;padding:12px}.floor-plan{background:linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),#f2ede4;background-size:40px 40px;border:1px solid var(--line);border-radius:8px;min-height:620px;overflow:hidden;position:relative}.floor-table{align-items:center;background:#fff;border:2px solid var(--gold);border-radius:999px;box-shadow:0 12px 24px #382a1c29;cursor:grab;display:grid;justify-items:center;position:absolute;touch-action:none;-webkit-user-select:none;user-select:none;z-index:2}.table-chair{background:#d9c6aa;border:1px solid #9f8157;border-radius:999px;box-shadow:0 3px 8px #382a1c24;height:14px;pointer-events:none;position:absolute;width:14px;z-index:0}.floor-table-rectangular{border-radius:12px}.floor-table-round{border-radius:999px}.floor-table.is-dragging,.map-element.is-dragging{opacity:.86;z-index:5}.floor-table-selectable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.floor-table-selectable:hover,.floor-table-selectable.is-selected{border-color:var(--accent);box-shadow:0 18px 34px #8f1d2c38;transform:translateY(-2px)}.floor-table-selectable.is-available{background:#edf8ed;border-color:#3f8f4e}.floor-table-selectable.is-unavailable{background:#fff0f0;border-color:#c74a4a;color:#7d2424}.floor-table-selectable.is-unavailable:hover{box-shadow:0 10px 24px #9f1f1f29}.floor-table strong{font-size:1rem;position:relative;z-index:1}.floor-table span{color:var(--muted);font-size:.78rem;position:relative;z-index:1}.map-element{align-items:center;background:#ffffffb8;border:1px dashed #9f9283;border-radius:8px;color:#5c554d;cursor:grab;display:flex;font-size:.84rem;font-weight:800;justify-content:center;padding:8px;position:absolute;text-align:center;text-transform:capitalize;touch-action:none;-webkit-user-select:none;user-select:none;z-index:1}.customer-floor-plan .map-element{cursor:default;pointer-events:none}.map-element-barra,.map-element-cocina{background:#efe7dc;border-style:solid}.map-element-entrada,.map-element-salida,.map-element-puerta{background:#eaf2f6}.map-element-baño{background:#eef3ea}.modal{background:#00000073;display:none;top:0;right:0;bottom:0;left:0;place-items:center;position:fixed;z-index:50}.modal:target,.modal.is-open{display:grid}.modal-panel{background:#fff;border-radius:8px;max-height:92vh;max-width:680px;overflow:auto;padding:22px;width:min(92vw,680px)}.modal-panel-scroll{max-height:min(92vh,900px);max-width:920px;overflow:auto;width:min(94vw,920px)}.auth-page{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-card{max-width:460px;width:100%}.reservation-page{padding-top:110px}.reservation-booking-grid{display:grid;gap:18px;grid-template-columns:minmax(300px,380px) 1fr}.reservation-side,.reservation-main{display:grid;gap:18px}.reservation-main{align-content:start}.calendar-input{min-height:54px}.available-tables-panel{align-content:start;display:grid;gap:12px}.zone-filter,.zone-selector{align-items:center;display:flex;gap:8px}.zone-filter select,.zone-selector select{min-width:160px}.zone-selector{align-items:stretch;background:#f7f2ea;border:1px solid var(--line);border-radius:8px;display:grid;padding:12px}.zone-selector[hidden]{display:none}.zone-selector p{color:var(--muted);line-height:1.45;margin:0}.available-table-list{display:grid;gap:10px}.available-table{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;gap:4px;padding:13px;text-align:left;width:100%}.available-table:hover,.available-table.is-selected{border-color:var(--accent);box-shadow:0 10px 24px #8f1d2c1f}.available-table.is-available{border-left:5px solid #3f8f4e}.available-table.is-unavailable{border-left:5px solid #c74a4a;opacity:.82}.available-table span,.available-table small,.muted{color:var(--muted)}.availability-empty,.availability-alternatives{border-radius:8px;color:var(--muted);line-height:1.5}.availability-empty:not([hidden]){background:#fff6ed;border:1px solid #ecd1b2;display:block;padding:12px}.availability-alternatives:not(:empty){background:#f7f2ea;border:1px solid var(--line);padding:12px}.availability-alternatives p{margin:0 0 8px}.availability-alternatives p:last-child{margin-bottom:0}.customer-floor-plan{min-height:560px}.consent-box,.account-invitation{background:#f7f2ea;border:1px solid var(--line);border-radius:8px;margin:14px 0;padding:14px}.consent-box p,.account-invitation p{color:var(--muted);line-height:1.55;margin-bottom:0}.reservation-success{margin:0 auto;max-width:760px}.reservation-success h1{font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,4.6rem);font-weight:500;line-height:1;margin:8px 0 16px}.eyebrow{color:var(--accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-settings-card{grid-column:span 1}.reservation-price-banner{background:#fff8e8;border:1px solid #d7b46f;border-radius:8px;color:var(--ink);display:inline-block;line-height:1.5;margin-top:8px;padding:10px 12px}.reservation-payment-summary{background:#f7f2ea;border:1px solid var(--line);border-radius:8px;line-height:1.55;margin:12px 0;padding:12px}.availability-form-grid{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.availability-form-grid>.card{height:620px;min-height:0;overflow:auto}.weekly-ranges-grid{display:grid;gap:12px;grid-template-columns:repeat(7,minmax(120px,1fr))}.weekly-range-day{background:#fbfaf7;border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;padding:12px}.weekly-range-day h3{margin:0}.weekly-range-pill{align-items:center;display:flex;gap:6px}.weekly-range-day span{background:#edf4ea;border:1px solid #cbdcc4;border-radius:999px;color:#34462c;display:inline-flex;font-size:.85rem;font-weight:700;padding:5px 8px}.weekly-range-pill button{background:#f6e2e2;border:1px solid #e2b4b4;border-radius:999px;color:#822222;cursor:pointer;height:26px;line-height:1;width:26px}.weekly-range-row{border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;padding:10px}.weekly-range-fields{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.general-ranges-card{display:grid;gap:12px}.general-ranges-list{display:grid;gap:10px}.general-range-row{align-items:end;background:#fbfaf7;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding:12px}.general-range-row span{background:#fff;border:1px solid var(--line);border-radius:8px;font-weight:800;padding:10px 12px}.waitlist-panel{background:#f7f2ea;border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;padding:12px}.waitlist-panel[hidden]{display:none}.waitlist-panel p{color:var(--muted);line-height:1.5;margin:0}.availability-calendar-card{display:grid;gap:16px}.calendar-toolbar{align-items:end;display:flex;gap:12px;justify-content:space-between}.month-selector{align-items:end;display:flex;gap:10px}.calendar-grid{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{color:var(--muted);font-size:.84rem;text-align:center;text-transform:uppercase}.calendar-day{align-content:start;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;gap:5px;min-height:116px;padding:10px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.calendar-day:hover{border-color:var(--accent);box-shadow:0 12px 24px #1715141a;transform:translateY(-1px)}.calendar-day.blocked{background:#fff0f0;border-color:#d48a8a}.calendar-day.special{background:#fff8e8;border-color:#d7b46f}.calendar-day.muted-month{opacity:.42}.calendar-day-number{font-size:1.15rem;font-weight:800}.calendar-day small{color:var(--muted);line-height:1.35}.calendar-day em{color:var(--accent-dark);font-size:.78rem;font-style:normal;font-weight:700}.calendar-legend{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}.calendar-legend span{align-items:center;display:flex;gap:8px}.legend-dot{border:1px solid var(--line);border-radius:999px;display:inline-block;height:14px;width:14px}.legend-dot.available{background:#fff}.legend-dot.blocked{background:#f3a5a5;border-color:#d48a8a}.legend-dot.special{background:#f1d58f;border-color:#d7b46f}.menu-page{background:#fbfaf7;padding:106px clamp(18px,5vw,72px) 54px}.menu-hero,.menu-download-band,.menu-section{margin:0 auto 28px;max-width:1120px}.menu-hero{border-bottom:1px solid var(--line);padding-bottom:28px}.menu-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,8vw,7rem);font-weight:500;line-height:.95;margin:0}.menu-hero p:not(.eyebrow){color:var(--muted);font-size:1.1rem;line-height:1.6;max-width:680px}.menu-download-band{align-items:center;background:#1d1a18;border-radius:8px;color:#fff;display:flex;justify-content:space-between;padding:18px}.menu-download-band p{color:#e7ded1;margin:4px 0 0}.menu-section-heading{align-items:end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:10px}.menu-section-heading h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:0}.menu-section-heading span,.menu-item-card p,.menu-pack-card p,.admin-menu-item small{color:var(--muted)}.menu-items-grid,.menu-pack-grid,.menu-admin-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.menu-item-card,.menu-pack-card{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:block;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.menu-item-card:hover,.menu-pack-card:hover{border-color:var(--gold);box-shadow:0 16px 34px #382a1c1f;transform:translateY(-2px)}.menu-image-frame,.menu-detail-carousel{background:#efe7dc}.menu-image-frame img,.menu-pack-card img,.menu-detail-carousel img{aspect-ratio:16 / 9;display:block;object-fit:cover;width:100%}.menu-image-placeholder{align-items:center;aspect-ratio:16 / 9;background:linear-gradient(135deg,#b68b452e,#6c7b5d29),#efe7dc;color:var(--accent-dark);display:grid;font-family:Georgia,serif;font-size:3rem;justify-items:center;width:100%}.menu-image-placeholder span{align-items:center;border:1px solid rgba(95,16,28,.22);border-radius:999px;display:grid;height:78px;justify-items:center;width:78px}.menu-image-placeholder.large{min-height:340px}.menu-image-placeholder.admin{aspect-ratio:auto;border:1px dashed var(--line);border-radius:8px;font-family:inherit;font-size:.95rem;min-height:118px}.menu-image-placeholder.admin span{border-radius:8px;height:auto;padding:10px 12px;width:auto}.menu-image-admin-panel{align-items:start;border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-template-columns:1fr auto;padding:12px}.menu-image-admin-panel .menu-image-preview-grid{grid-column:1 / -1}.menu-image-admin-panel p{margin:4px 0 0}.menu-image-preview-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.menu-image-preview{border:1px solid var(--line);border-radius:8px;margin:0;overflow:hidden}.menu-image-preview.pending{border-color:var(--gold);box-shadow:inset 0 0 0 2px #b68b4524}.menu-image-preview img{aspect-ratio:4 / 3;display:block;object-fit:cover;width:100%}.menu-image-preview figcaption{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:8px}.menu-image-preview .btn{min-height:34px;padding:6px 9px}.menu-item-body,.menu-pack-body{display:grid;gap:10px;padding:16px}.menu-item-title{align-items:start;display:flex;gap:12px;justify-content:space-between}.menu-item-title h3{margin:0}.menu-item-title strong{color:var(--accent);white-space:nowrap}.menu-item-card p,.menu-pack-card p{line-height:1.5;margin:0}.menu-detail-panel{display:grid;gap:0;max-height:92vh;max-width:1040px;overflow:auto;padding:0;width:min(94vw,1040px)}.menu-detail-carousel img{max-height:460px}.menu-detail-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.menu-detail-carousel img,.menu-detail-carousel .menu-image-placeholder{flex:0 0 100%;scroll-snap-align:start}.menu-detail-content{display:grid;gap:14px;padding:22px}.menu-detail-content h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;margin:0}.menu-detail-content p{color:var(--muted);line-height:1.6;margin:0}.allergen-row,.nutrition-grid,.admin-pill-list{display:flex;flex-wrap:wrap;gap:8px}.allergen-row span,.nutrition-grid span,.admin-pill-list span{align-items:center;background:#f7f2ea;border:1px solid var(--line);border-radius:999px;color:var(--ink);display:inline-flex;font-size:.85rem;gap:7px;padding:6px 9px}.allergen-row span a,.admin-pill-list span a{color:var(--accent);font-weight:800}.pack-course-list{display:grid;gap:8px;margin:0;padding-left:20px}.menu-admin-grid{margin-bottom:16px}.admin-menu-list{display:grid;gap:10px}.admin-menu-item{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px}.pack-row{display:grid;gap:10px;grid-template-columns:minmax(130px,.7fr) 1fr}@media(max-width:860px){.app-shell,.table-manager,.reservation-booking-grid,.form-grid.two,.grid.cols-3,.demo-intro,.demo-steps,.demo-grid,.demo-path-list,.demo-credentials{grid-template-columns:1fr}.site-nav,.site-footer,.cookie-banner{align-items:stretch;flex-direction:column}.nav-links{align-items:stretch;flex-wrap:wrap;gap:10px}.sidebar{position:static}.calendar-toolbar,.month-selector{align-items:stretch;flex-direction:column}.availability-form-grid,.weekly-range-fields,.general-range-row,.menu-items-grid,.menu-pack-grid,.menu-admin-grid,.pack-row{grid-template-columns:1fr}.calendar-grid{gap:6px}.weekly-ranges-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:86px;padding:8px}}@media(max-width:560px){.weekly-ranges-grid{grid-template-columns:1fr}}
