html,body{height:100%;margin:0}body{color:#102017;background:#f4f6f3}.inventory-host{width:100vw;height:100vh;overflow:hidden}.inventory-frame{background:#f4f6f3;border:0;width:100%;height:100%;display:block}.home-shell{background:linear-gradient(135deg,#102017f5,#1b372aeb),#102017;place-items:center;min-height:100vh;padding:32px;display:grid}.home-card{text-align:center;background:#f4f6f3fa;border:1px solid #eeba5247;border-radius:8px;justify-items:center;gap:14px;width:min(520px,100%);padding:40px 28px;display:grid;box-shadow:0 22px 70px #00000038}.home-logo{object-fit:contain;background:#102017;border-radius:8px;width:84px;height:84px}.home-eyebrow{color:#1f6f56;letter-spacing:0;text-transform:uppercase;margin:6px 0 0;font-size:13px;font-weight:800}.home-card h1{margin:0;font-size:36px;line-height:1.1}.home-copy{color:#607067;max-width:390px;margin:0;font-size:17px;line-height:1.5}.home-action{color:#fff;background:#1f6f56;border-radius:8px;justify-content:center;align-items:center;min-height:48px;margin-top:12px;padding:0 22px;font-weight:800;text-decoration:none;display:inline-flex}.home-actions{grid-template-columns:1fr;gap:12px;width:min(360px,100%);display:grid}.home-action-secondary{background:#102017}.home-action-secondary:hover{background:#1b372a}@media (width<=520px){.home-actions{grid-template-columns:1fr}}.home-action:hover{background:#155640}.reservations-shell{isolation:isolate;color:#17241d;background:radial-gradient(circle at 14% 4%,#198e5b4d,#0000 29%),radial-gradient(circle at 89% 11%,#cf9d372e,#0000 25%),linear-gradient(155deg,#03160f 0,#08271c 37%,#f2f0e9 37.1%,#f7f4ed 100%);min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden}.reservations-shell *,.reservations-shell :before,.reservations-shell :after{box-sizing:border-box}.reservations-shell:before{content:"";z-index:-1;opacity:.45;pointer-events:none;background-image:linear-gradient(#eec6700b 1px,#0000 1px),linear-gradient(90deg,#eec6700b 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 52%);mask-image:linear-gradient(#000,#0000 52%)}.reservations-shell:after{content:"";z-index:-1;pointer-events:none;border:1px solid #14754c1a;border-radius:50%;width:420px;height:420px;position:absolute;top:300px;left:-170px;box-shadow:0 0 0 70px #14754c06,0 0 0 140px #14754c05}.reservations-header{z-index:10;-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);background:#031a12a8;border:1px solid #edc77133;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:min(1180px,100% - 40px);min-height:72px;margin:18px auto 0;padding:10px 14px 10px 11px;display:grid;position:relative;box-shadow:0 18px 45px #0003,inset 0 1px #ffffff0f}.reservations-header a{background:#092b1f;border-radius:12px;place-items:center;width:50px;height:50px;display:grid;overflow:hidden;box-shadow:0 7px 18px #082f2033}.reservations-header img{object-fit:contain;width:44px;height:44px}.reservations-header div{flex-direction:column;display:flex}.reservations-header span{color:#eecf88bd;letter-spacing:.2em;text-transform:uppercase;font-size:10px;font-weight:800}.reservations-header strong{color:#fff;margin-top:2px;font-size:14px}.text-button,.refresh-button{color:#196647;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.reservations-header .text-button{color:#f0cf82;background:#eec87114;border:1px solid #eec8714d;border-radius:99px;min-height:40px;padding:0 17px;transition:all .2s}.reservations-header .text-button:hover{color:#10251b;background:#d9a943;border-color:#e8bd5e;transform:translateY(-1px);box-shadow:0 10px 24px #d7a63f38}.booking-layout{grid-template-columns:1fr;gap:28px;width:min(1180px,100% - 40px);margin:0 auto;padding:28px 0 80px;display:grid}.booking-intro{isolation:isolate;color:#fff;background:radial-gradient(circle at 73% 11%,#2ab16f38,#0000 22%),radial-gradient(circle at 8% 105%,#daa73b24,#0000 34%),linear-gradient(132deg,#020e0a 0%,#06281c 52%,#0b5137 100%);border:1px solid #efc7693b;border-radius:36px;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(30px,6vw,82px);padding:clamp(44px,6vw,78px);display:grid;position:relative;overflow:hidden;box-shadow:0 40px 100px #00180f6b,inset 0 1px #ffffff14}.booking-intro:before{content:"";z-index:-1;opacity:.36;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0e 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 80% 30%,#000,#0000 58%);mask-image:radial-gradient(circle at 80% 30%,#000,#0000 58%)}.booking-intro:after{content:"D";z-index:-1;color:#ffffff0b;font-size:360px;font-weight:900;line-height:1;position:absolute;bottom:-108px;right:-16px;transform:rotate(-5deg)}.hero-copy{max-width:650px}.booking-intro .eyebrow{color:#ffd978;align-items:center;gap:10px;display:flex}.booking-intro .eyebrow i{background:currentColor;width:25px;height:1px;display:inline-block}.booking-intro h1,.admin-hero h1{letter-spacing:-.07em;max-width:720px;margin:17px 0 22px;font-size:clamp(48px,6.5vw,78px);font-weight:800;line-height:.93}.booking-intro h1 em{color:#edc670;font-style:normal;font-weight:450}.hero-copy>p:not(.eyebrow){color:#ffffffc7;max-width:590px;margin:0;font-size:16px;line-height:1.65}.hero-tags{flex-wrap:wrap;gap:9px;margin-top:25px;display:flex}.hero-tags span{color:#ffffffb8;letter-spacing:.05em;text-transform:uppercase;border:1px solid #ffffff24;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:750}.eyebrow{color:#b67b20;letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.hero-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#ffffff1a,#000d094d);border:1px solid #efc97038;border-radius:26px;padding:28px;position:relative;box-shadow:inset 0 1px #ffffff1a,0 28px 60px #000f0947}.hero-panel:before{content:"";background:linear-gradient(90deg,#ffd978,#0000);border-radius:99px;width:76px;height:2px;position:absolute;top:-1px;left:28px}.hero-panel>p{color:#ffd978;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font-size:11px;font-weight:850}.hero-seal{align-items:center;gap:12px;margin-bottom:24px;display:flex}.hero-seal span{color:#edc670;border:1px solid #edc66b80;border-radius:50%;place-items:center;width:46px;height:46px;font-size:22px;font-weight:800;display:grid;box-shadow:inset 0 0 0 5px #edc66b0d}.hero-seal small{color:#ffffff8c;letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:800}.hero-panel>strong{color:#ffffffb3;letter-spacing:.04em;justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;font-size:11px;display:flex}.hero-panel>strong i{background:#e7be65;width:22px;height:1px}.promise-list{color:#fff;gap:9px;display:grid}.promise-list span{background:linear-gradient(90deg,#ffffff1a,#ffffff0b);border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:14px;padding:14px;display:flex;box-shadow:inset 0 1px #ffffff0a}.promise-list b{color:#ffd978;letter-spacing:.08em;font-size:11px}.promise-list small{font-size:13px;font-weight:750}.booking-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#fffffff7,#f4f3edf0);border:1px solid #d1c19c6b;border-radius:32px;padding:clamp(24px,4vw,50px);position:relative;overflow:hidden;box-shadow:0 34px 90px #0b261929,inset 0 1px #fff}.booking-card:before{content:"";background:linear-gradient(90deg,#0000,#d6a946,#0000);border-radius:99px;width:30%;height:2px;position:absolute;top:-1px;left:8%}.form-heading{flex-direction:column;justify-content:center;min-height:46px;margin-bottom:22px;padding-left:58px;display:flex;position:relative}.form-heading:before{content:"01";color:#edc66e;letter-spacing:.08em;background:linear-gradient(145deg,#103b2b,#08271c);border:1px solid #ca9e3d57;border-radius:13px;place-items:center;width:43px;height:43px;font-size:11px;font-weight:900;display:grid;position:absolute;top:0;left:0;box-shadow:0 9px 22px #09352429}.form-heading.step-02:before{content:"02"}.form-heading.step-03:before{content:"03"}.section-step{margin-bottom:8px}.step-description{color:#708078;max-width:720px;margin:0 0 20px;font-size:12px;line-height:1.55}.form-heading span{color:#a17b2d;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:900}.form-heading h2,.login-modal h2{color:#112a1e;letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(24px,3vw,30px)}.field-grid{background:linear-gradient(145deg,#eff4f0e6,#ffffffb8);border:1px solid #1f5b3e1a;border-radius:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;margin-bottom:32px;padding:clamp(20px,3vw,30px);display:grid;position:relative;box-shadow:inset 0 1px #ffffffe6}.field-grid:after{content:"";background:linear-gradient(90deg,#0000,#d4aa50);width:64px;height:1px;position:absolute;top:0;right:22px}.booking-card label,.login-modal label{color:#3e5649;letter-spacing:.015em;gap:9px;margin:0;font-size:11px;font-weight:850;display:grid}.booking-card input,.booking-card select,.booking-card textarea,.login-modal input,.admin-tools input,.admin-tools select,.reservation-actions select,.reservation-actions textarea{color:#17241d;width:100%;min-width:0;font:inherit;background:#ffffffeb;border:1px solid #cbd5ce;border-radius:13px;outline:none;padding:14px 15px;transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:0 5px 14px #18412b09,inset 0 1px #fff}.field-grid input{min-height:54px}.booking-card input:hover,.booking-card select:hover,.booking-card textarea:hover{border-color:#aebfb4}.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus,.login-modal input:focus{border-color:#b88b32;transform:translateY(-1px);box-shadow:0 0 0 4px #c2963d1c,0 9px 20px #18412b0f}.upload-field{background:#f7faf7;border:1px dashed #b8c5bc;border-radius:13px;padding:14px}.upload-field input{background:0 0;border:0;padding:3px 0}.upload-field small,.privacy-note{color:#7b877f;font-weight:500}.primary-button{color:#fff;width:100%;min-height:54px;font:inherit;letter-spacing:.02em;cursor:pointer;background:linear-gradient(115deg,#062d20,#0d6745);border:1px solid #eac77447;border-radius:13px;font-weight:850;box-shadow:0 12px 26px #0b51362e,inset 0 1px #ffffff1a}.primary-button:hover{background:linear-gradient(115deg,#0a3b29,#128259);transform:translateY(-1px);box-shadow:0 16px 32px #0b51363d}.primary-button:disabled{opacity:.6;cursor:wait}.privacy-note{text-align:center;margin:12px 0 0;font-size:12px}.form-error{color:#9b3426;background:#fff0ed;border-radius:10px;padding:10px 12px;font-size:13px}.success-notice{color:#176747;background:#e7f5ec}.booking-total{background:#edf6f0;border-radius:14px;grid-template-columns:1fr auto;gap:4px 16px;margin:18px 0;padding:16px;display:grid}.booking-total span{color:#4f6357;font-weight:800}.booking-total strong{color:#176747;font-size:22px}.booking-total small{color:#708078;grid-column:1/-1}.catalog-picker{border-top:1px solid #e1e5df;margin:26px 0;padding-top:24px}.nested-picker{border-top:0;margin:0;padding-top:14px}.catalog-heading h3{margin:0;font-size:21px}.catalog-heading p{color:#738078;margin:5px 0 15px;font-size:13px}.step-label{color:#b67b20;letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:900;display:block}.choice-label{color:#405148;margin:17px 0 8px;font-size:12px;font-weight:900}.occasion-buttons{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.occasion-buttons button{color:#536159;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #ced8d1;border-radius:11px;padding:8px;font-size:12px;font-weight:900}.occasion-buttons button.active{color:#795315;background:#fff5df;border-color:#b67b20;box-shadow:0 0 0 3px #b67b201f}.catalog-empty{color:#6d7b72;text-align:center;background:#f8faf8;border:1px dashed #c4cec7;border-radius:14px;padding:25px;font-size:13px}.gender-tabs{background:#edf1ed;border-radius:13px;grid-template-columns:repeat(3,1fr);gap:8px;padding:5px;display:grid}.gender-tabs button{color:#66746b;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:13px;font-weight:900}.gender-tabs button.active{color:#fff;background:#176747;box-shadow:0 5px 14px #17674738}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.catalog-card{background:#fff;border:1px solid #dce3dd;border-radius:16px;transition:all .2s;position:relative;overflow:hidden}.catalog-card.selected{border-color:#1f7b56;box-shadow:0 0 0 3px #1f7b5621}.catalog-card>img,.catalog-placeholder{object-fit:cover;width:100%;height:135px}.catalog-placeholder{color:#fffc;letter-spacing:.2em;background:linear-gradient(135deg,#163b2c,#b88a3b);place-items:center;font-weight:900;display:grid}.recommended-badge{color:#51380c;text-transform:uppercase;background:#f6c865;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:900;position:absolute;top:10px;left:10px}.catalog-copy{padding:14px}.catalog-copy>div:first-child{justify-content:space-between;gap:8px;display:flex}.catalog-copy h4{margin:0;font-size:15px}.catalog-copy strong{color:#176747;white-space:nowrap}.catalog-copy em{color:#7a663e;background:#f2eee4;border-radius:99px;margin-top:7px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:800;display:inline-block}.catalog-copy p{color:#67746c;min-height:36px;margin:8px 0 12px;font-size:12px;line-height:1.45}.select-catalog{color:#176747;cursor:pointer;background:#f4faf6;border:1px solid #bfd0c5;border-radius:9px;width:100%;min-height:36px;font-weight:900}.quantity-control{text-align:center;grid-template-columns:36px 1fr 36px;align-items:center;display:grid!important}.quantity-control button{color:#176747;cursor:pointer;background:#f6f8f6;border:1px solid #cbd5ce;border-radius:8px;height:34px;font-size:20px}.quantity-control span{font-weight:900}.restaurant-map-section{background:linear-gradient(145deg,#f7f9f6f2,#edf2eeb8);border:1px solid #26553c1a;border-radius:24px;margin:36px 0;padding:28px;box-shadow:inset 0 1px #ffffffe6}.decoration-flow{background:linear-gradient(145deg,#faf9f5f5,#f2efe6c2);border:1px solid #26553c1a;border-radius:24px;margin-top:40px;padding:28px;box-shadow:inset 0 1px #ffffffe6}.custom-map{--map-photo:none;--map-photo-opacity:.58;--map-photo-fit:cover;isolation:isolate;background-color:#ebe7dd;background-image:radial-gradient(circle at 15% 15%,#ffffff7a,#0000 25%),linear-gradient(145deg,#ffffff2e,#11472e0d);border:1px solid #103d2a52;border-radius:27px;width:100%;min-height:540px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 7px #ffffff47,inset 0 0 0 8px #134d3317,0 22px 48px #1b412b29}.custom-map:before{content:"";z-index:0;pointer-events:none;background-image:var(--map-photo);background-position:50%;background-repeat:no-repeat;background-size:var(--map-photo-fit);opacity:var(--map-photo-opacity);filter:saturate(.92)contrast(1.04);position:absolute;inset:0}.custom-map:after{content:"";z-index:1;pointer-events:none;opacity:0;background-image:linear-gradient(#ffffff61 1px,#0000 1px),linear-gradient(90deg,#ffffff61 1px,#0000 1px);background-size:28px 28px;transition:opacity .2s;position:absolute;inset:0}.custom-map.show-grid:after{opacity:.72}.custom-map.has-map-photo{box-shadow:inset 0 0 0 9px #ffffff2e,0 22px 50px #1b412b30}.map-table,.map-landmark{z-index:2;color:#102e20;text-align:center;cursor:pointer;border:1px solid #19412b5c;flex-direction:column;justify-content:center;align-items:center;min-width:72px;min-height:52px;padding:7px;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s,filter .2s;display:flex;position:absolute;box-shadow:0 10px 20px #1a312433,inset 0 1px #ffffffb8,inset 0 -4px #173e290f}.map-table:before{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,#ffffff38,#0000 48%,#14422b0d);border:1px solid #ffffff61;position:absolute;inset:5px}.map-table:hover{z-index:4;filter:saturate(1.06);transform:translateY(-3px)scale(1.015);box-shadow:0 15px 28px #1933243d,inset 0 1px #ffffffc7,inset 0 -4px #173e290f}.map-table.shape-round{border-radius:999px}.map-table.shape-rectangle{border-radius:14px}.map-table strong,.map-table span,.map-table small{z-index:1;text-shadow:0 1px #ffffff8c;position:relative}.map-table strong{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:900;overflow:hidden}.map-table span{background:#ffffff7a;border-radius:99px;margin-top:2px;padding:2px 6px;font-size:8px;font-weight:850;line-height:1.3}.map-table small{color:#4c6155;margin-top:1px;font-size:8px;font-weight:700;line-height:1.3}.map-table.selected{border-color:#c89a39;box-shadow:0 0 0 3px #edc56a52,0 15px 30px #13563942,inset 0 1px #fffc}.map-table.selected:after{content:"✓";z-index:4;color:#fff;background:linear-gradient(145deg,#d8aa4c,#a9781d);border:2px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-weight:900;display:grid;position:absolute;top:-10px;right:-10px;box-shadow:0 6px 13px #53380a3d}.seat-ring{z-index:-1;pointer-events:none;inset:0;overflow:visible;position:absolute!important}.seat-ring i{--seat-size:14px;--seat-rotate:0deg;width:var(--seat-size);height:calc(var(--seat-size) * .82);transform:translate(-50%, -50%) rotate(var(--seat-rotate));transform-origin:50%;background:linear-gradient(145deg,#fff,#e7ece8 58%,#cbd5ce);border:1px solid #1a3d2a6b;border-radius:4px 4px 7px 7px;position:absolute;box-shadow:0 3px 6px #1430203d,inset 0 1px #fff}.seat-ring i:before{content:"";background:linear-gradient(#f9fbf9,#d6dfd9);border:1px solid #1a3d2a61;border-bottom:0;border-radius:4px 4px 1px 1px;height:4px;position:absolute;top:-4px;left:13%;right:13%}.seat-ring i:after{content:"";background:#194f341a;border-radius:2px 2px 4px 4px;height:34%;position:absolute;bottom:2px;left:2px;right:2px}.map-landmark{z-index:1;cursor:default;border-style:dashed;border-radius:12px}.editor-map .map-landmark{cursor:pointer}.map-landmark b{background:#ffffffa6;border-radius:8px;place-items:center;width:27px;height:27px;font-size:13px;display:grid}.map-landmark strong{margin-top:4px;font-size:11px}.map-landmark.selected{border-color:#174d35;box-shadow:0 0 0 4px #174d352e}.map-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:13px;display:flex}.map-toolbar span{color:#286447;letter-spacing:.035em;background:#ffffffbd;border:1px solid #1b5c3d1a;border-radius:99px;padding:7px 11px;font-size:9px;font-weight:900;box-shadow:0 4px 11px #1e462f0d}.map-legend{color:#637169;background:#ffffff94;border:1px solid #22503714;border-radius:12px;gap:18px;margin:14px 3px 0;padding:10px 13px;font-size:10px;display:flex}.legend-dot{background:#d7eadb;border:1px solid #84948a;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.selected-dot{background:#176747;border-color:#176747}.legend-square{background:#ffce45;border:1px dashed #7f6b3d;border-radius:2px;width:11px;height:9px;margin-right:5px;display:inline-block}.restaurant-map{background:#e8e4da;border:2px solid #cbd4cd;border-radius:24px 24px 12px 12px;grid-template-rows:1fr .72fr;grid-template-columns:1.1fr .9fr .9fr;gap:10px;min-height:390px;padding:42px 12px 35px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 8px #f7f4ed}.restaurant-map:before{content:"";pointer-events:none;border:1px dashed #52635938;border-radius:14px;position:absolute;inset:15px}.restaurant-map>button{z-index:1;color:#23382d;text-align:left;cursor:pointer;border:2px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:flex-start;padding:16px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative}.restaurant-map>button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #22352a1f}.restaurant-map>button.selected{border-color:#176747;box-shadow:0 0 0 3px #17674726}.restaurant-map>button strong{font-size:17px}.restaurant-map>button span{color:#5f6e65;margin-top:4px;font-size:11px}.restaurant-map>button i{color:#176747;margin-top:10px;font-size:11px;font-style:normal;font-weight:900}.map-salon{background:repeating-linear-gradient(90deg,#fff 0 34px,#f5f1e8 34px 36px);grid-row:1/3}.map-terrace{background:linear-gradient(135deg,#d8ebd7,#eef5e8);grid-column:2}.map-bar{background:linear-gradient(135deg,#f0dfc0,#fff5df);grid-area:2/2/auto/4}.map-private{background:linear-gradient(135deg,#e8dfef,#f6f0f7);grid-column:3}.map-kitchen,.map-entrance{z-index:2;color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#34473d;border-radius:6px;padding:5px 9px;font-size:9px;font-weight:900;position:absolute}.map-kitchen{top:9px;right:20px}.map-entrance{bottom:7px;left:46%}.map-selection{color:#647269;background:linear-gradient(135deg,#eef5f0,#f9faf8);border:1px solid #195e3d1a;border-radius:13px;align-items:center;gap:10px;margin-top:10px;padding:14px 16px;font-size:11px;display:flex;box-shadow:inset 0 1px #fff}.map-selection strong{color:#176747;margin-right:auto}.map-selection button{color:#8c4c3f;cursor:pointer;background:0 0;border:0;font-weight:800}.booking-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:480px;display:flex}.booking-success>span{color:#176747;background:#dff3e8;border-radius:50%;place-items:center;width:58px;height:58px;font-size:26px;display:grid}.booking-success h2{margin:18px 0 5px;font-size:30px}.booking-success p{color:#6c786f;margin:8px 0}.booking-success strong{letter-spacing:.1em;color:#176747;font-size:28px}.booking-success small{color:#6c786f;max-width:360px;margin:18px 0 28px;line-height:1.5}.booking-success button{color:#176747;cursor:pointer;background:0 0;border:0;font-weight:900}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0c1710a3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-modal{background:#fff;border-radius:24px;width:min(420px,100%);padding:34px;position:relative;box-shadow:0 25px 80px #0000004d}.login-modal h2{margin-bottom:24px}.modal-close{color:#69746d;cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:15px;right:17px}.admin-dashboard{width:min(1280px,100% - 40px);margin:0 auto;padding:44px 0 80px}.admin-hero{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.admin-hero h1{max-width:800px;font-size:clamp(34px,4vw,58px)}.refresh-button{background:#fff;border:1px solid #b9c9bf;border-radius:12px;padding:12px 18px}.admin-tabs{border-bottom:1px solid #d7ddd8;gap:8px;margin:24px 0;display:flex}.admin-tabs button{color:#69776f;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 16px;font-weight:900}.admin-tabs button.active{color:#176747;border-bottom-color:#176747}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0 22px;display:grid}.stat-grid article{background:#ffffffd9;border:1px solid #dfe3dc;border-radius:18px;flex-direction:column;min-height:130px;padding:21px;display:flex}.stat-grid span{color:#6d7971;font-size:13px;font-weight:800}.stat-grid strong{margin-top:auto;font-size:36px}.stat-grid small{color:#78847c}.alerts-panel{background:#fff7e5;border-left:4px solid #d79a33;border-radius:0 14px 14px 0;margin:0 0 22px;padding:18px 22px}.alerts-panel strong{color:#7f5615}.alerts-panel p{color:#725d37;margin:6px 0 0}.admin-tools{grid-template-columns:1fr 230px;gap:12px;margin:22px 0 15px;display:grid}.reservation-list{gap:12px;display:grid}.reservation-card{background:#fff;border:1px solid #dce1da;border-left:5px solid #c99739;border-radius:16px;grid-template-columns:120px 1fr 250px;align-items:start;gap:20px;padding:18px;display:grid}.reservation-card.status-confirmed{border-left-color:#28835f}.reservation-card.status-cancelled,.reservation-card.status-no_show{opacity:.78;border-left-color:#a9aea9}.reservation-card.status-completed{border-left-color:#6f7d75}.reservation-time strong{font-size:27px;display:block}.reservation-time span{color:#6e7c73;text-transform:capitalize;font-size:13px}.reservation-title{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.reservation-title h3{margin:0;font-size:20px}.reservation-title span,.reservation-title em{color:#526159;background:#eef3ef;border-radius:99px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:800}.reservation-main p{color:#5d6b63;margin:7px 0;font-size:14px}.reservation-main a{color:#176747;font-weight:800}.reservation-main blockquote{color:#58665e;background:#f6f8f6;border-left:2px solid #bdc8c0;margin:10px 0;padding:9px 12px;font-size:13px}.reservation-main>small{color:#8a958e;letter-spacing:.08em;margin-top:9px;display:block}.image-link{margin-top:5px;font-size:13px;display:inline-block}.reservation-order{color:#64563b;background:#f5f1e7;border-radius:10px;gap:4px;margin:12px 0;padding:12px;font-size:12px;display:grid}.reservation-order strong{color:#3b463f}.reservation-order b{color:#176747;margin-top:4px}.reservation-actions{gap:8px;display:grid}.reservation-actions select,.reservation-actions textarea{padding:9px 10px;font-size:13px}.reservation-actions button{color:#fff;cursor:pointer;background:#176747;border:0;border-radius:9px;min-height:37px;font-weight:900}.empty-state{text-align:center;color:#738078;border:1px dashed #c5cec7;border-radius:16px;padding:50px}.catalog-admin-head{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.catalog-admin-head h2{margin:5px 0;font-size:32px}.catalog-admin-head p:not(.eyebrow){color:#6c7971;margin:0}.catalog-admin-head>div:last-child{gap:8px;display:flex}.catalog-form{background:#fff;border:1px solid #dce2dd;border-radius:18px;margin:24px 0;padding:24px}.catalog-form label{color:#46564c;gap:6px;margin-bottom:14px;font-size:13px;font-weight:800;display:grid}.catalog-form input,.catalog-form select,.catalog-form textarea{color:#17241d;width:100%;font:inherit;background:#fff;border:1px solid #ccd5ce;border-radius:10px;padding:11px 12px}.check-row{gap:22px;margin-bottom:15px;display:flex}.check-row label{align-items:center;gap:8px;margin:0;display:flex}.check-row input{width:auto}.admin-catalog-list{gap:10px;display:grid}.admin-catalog-list article{background:#fff;border:1px solid #dce2dd;border-radius:14px;grid-template-columns:100px 1fr auto;align-items:center;gap:16px;padding:13px;display:grid}.admin-catalog-list article>div,.admin-catalog-list img{object-fit:cover;border-radius:10px;width:100px;height:80px}.admin-catalog-list article>div{color:#d6c18c;background:#173b2d;place-items:center;font-weight:900;display:grid}.admin-catalog-list h3{margin:2px 0}.admin-catalog-list p{color:#6a776f;margin:3px 0;font-size:13px}.admin-catalog-list small{color:#8b968f;text-transform:uppercase}.admin-catalog-list em{color:#74551c;background:#f4e7c7;border-radius:99px;margin-left:8px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:900}.admin-catalog-list button{color:#176747;cursor:pointer;background:#f5faf6;border:1px solid #bfd0c5;border-radius:9px;padding:9px 14px;font-weight:900}.danger-button{color:#9c4034;border-color:#e2c4bf}.vivid-button{color:#fff;background:#22a865;border-color:#28b870}.landmark-toolbar{background:#fff;border:1px solid #d9e1db;border-radius:13px;flex-wrap:wrap;align-items:center;gap:7px;margin:20px 0 10px;padding:13px;display:flex}.landmark-toolbar span{color:#56655c;margin-right:5px;font-size:11px;font-weight:900}.landmark-toolbar button{color:#285a40;min-height:35px;font:inherit;cursor:pointer;background:#edf4ef;border:0;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:900}.landmark-toolbar button:first-of-type{color:#795b00;background:#fff0b9}.landmark-toolbar button:nth-of-type(2){color:#8b411d;background:#ffe0cb}.landmark-toolbar button:nth-of-type(3){color:#176281;background:#d9f3ff}.landmark-toolbar button:nth-of-type(4){color:#8e3040;background:#ffd9df}.landmark-toolbar button:nth-of-type(5){color:#583c9b;background:#e8e0ff}.map-designer-stats{background:#edf3ef;border-radius:12px;align-items:center;gap:22px;margin:22px 0 12px;padding:12px 16px;display:flex}.map-designer-stats span{color:#65736a;font-size:12px}.map-designer-stats strong{color:#176747;font-size:20px}.map-designer-stats label{color:#536159;align-items:center;gap:8px;margin-left:auto;font-size:12px;font-weight:800;display:flex}.map-designer-stats input[type=color],.map-properties input[type=color]{background:#fff;border:1px solid #cbd5ce;border-radius:8px;width:46px;height:34px;padding:2px}.map-designer-stats em{color:#927126;letter-spacing:.05em;text-transform:uppercase;background:#fff;border-radius:99px;margin-left:auto;padding:6px 10px;font-size:10px;font-style:normal;font-weight:900}.map-background-studio{color:#fff;background:linear-gradient(135deg,#082d20,#0d4b34);border:1px solid #c8a65847;border-radius:19px;grid-template-columns:1fr auto;gap:18px 26px;margin:22px 0 14px;padding:20px;display:grid;box-shadow:0 16px 35px #08342324}.background-studio-copy{gap:3px;display:grid}.background-studio-copy span{color:#e9c46f;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:900}.background-studio-copy strong{font-size:18px}.background-studio-copy small{color:#ffffff94;font-size:11px}.map-background-studio form{align-items:center;gap:8px;display:flex}.map-upload-button,.map-background-studio form button{color:#f0cf82;min-height:40px;font:inherit;cursor:pointer;background:#ebc56d1a;border:1px solid #ebc56d52;border-radius:10px;justify-content:center;align-items:center;padding:0 14px;font-size:11px;font-weight:900;display:inline-flex}.map-upload-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.map-background-studio form button{color:#ffffffb8;background:#ffffff12;border-color:#ffffff21}.background-controls{border-top:1px solid #ffffff1a;grid-column:1/-1;grid-template-columns:auto minmax(180px,1fr) 180px auto;align-items:end;gap:18px;padding-top:16px;display:grid}.background-controls label{color:#ffffffa6;gap:7px;font-size:10px;font-weight:800;display:grid}.background-controls label b{color:#edc670}.background-controls input[type=color]{background:0 0;border:1px solid #fff3;border-radius:9px;width:52px;height:37px;padding:2px}.background-controls input[type=range]{accent-color:#ddb453}.background-controls select{color:#fff;min-height:37px;font:inherit;background:#123d2d;border:1px solid #ffffff29;border-radius:9px;padding:0 10px;font-size:11px}.background-controls .grid-switch{align-items:center;gap:9px;min-height:37px;display:flex}.grid-switch input{opacity:0;position:absolute}.grid-switch span{background:#ffffff2e;border-radius:99px;width:38px;height:22px;transition:all .2s;position:relative}.grid-switch span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px}.grid-switch input:checked+span{background:#d9ac49}.grid-switch input:checked+span:after{transform:translate(16px)}.map-editor-layout{grid-template-columns:minmax(0,1fr) 280px;gap:16px;display:grid}.editor-map{cursor:crosshair;min-height:600px}.map-table.editing{outline-offset:-5px;outline:2px dashed #fff}.map-properties{background:#fff;border:1px solid #d8dfda;border-radius:16px;min-height:420px;padding:20px;position:relative}.map-properties h3{margin:0 0 17px}.property-type{color:#b67b20;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.map-properties label{color:#536159;gap:5px;margin-bottom:12px;font-size:11px;font-weight:900;display:grid}.map-properties input:not([type=color]),.map-properties select{color:#24362c;width:100%;font:inherit;background:#fff;border:1px solid #ccd5cf;border-radius:8px;padding:9px 10px}.size-controls{border-top:1px solid #e2e6e2;padding-top:5px}.position-controls{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px;display:grid}.position-controls button{color:#176747;cursor:pointer;background:#f5f8f6;border:1px solid #cbd5ce;border-radius:8px;height:36px;font-weight:900}.map-save{margin-top:16px}.map-empty{color:#718077;text-align:center;place-items:center;display:grid;position:absolute;inset:0}.editor-tip{color:#7b8880;margin-top:14px;font-size:10px;line-height:1.4;display:block}@media (width<=900px){.booking-layout{grid-template-columns:1fr;gap:35px;padding-top:42px}.booking-intro{text-align:center;grid-template-columns:1fr}.hero-copy,.hero-copy>p:not(.eyebrow){margin-inline:auto}.booking-intro .eyebrow,.hero-tags{justify-content:center}.hero-panel{text-align:left;width:min(100%,520px);margin-inline:auto}.stat-grid{grid-template-columns:repeat(2,1fr)}.reservation-card{grid-template-columns:90px 1fr}.reservation-actions{grid-column:1/-1;grid-template-columns:190px 1fr 110px}.catalog-grid{grid-template-columns:1fr}.restaurant-map{min-height:330px}.map-editor-layout{grid-template-columns:1fr}.editor-map{min-height:500px}}@media (width<=600px){.reservations-header,.booking-layout,.admin-dashboard{width:min(100% - 24px,1180px)}.reservations-header{min-height:74px}.reservations-header strong{font-size:13px}.booking-layout{padding:36px 0 50px}.booking-card{border-radius:20px;padding:22px 17px}.field-grid{border-radius:17px;gap:17px;padding:16px}.form-heading{padding-left:52px}.booking-intro{border-radius:20px;padding:25px 18px}.booking-intro h1{font-size:38px}.hero-panel{padding:17px}.field-grid,.admin-tools,.stat-grid{grid-template-columns:1fr}.admin-hero{flex-direction:column;align-items:flex-start}.reservation-card{grid-template-columns:1fr;gap:12px}.reservation-actions{grid-column:auto;grid-template-columns:1fr}.reservation-time{align-items:baseline;gap:10px;display:flex}.catalog-admin-head{flex-direction:column;align-items:flex-start}.catalog-admin-head>div:last-child{flex-wrap:wrap}.admin-catalog-list article{grid-template-columns:76px 1fr}.admin-catalog-list article>div,.admin-catalog-list img{width:76px;height:70px}.admin-catalog-list article>button{grid-column:1/-1}.restaurant-map{grid-template-rows:repeat(4,1fr);grid-template-columns:1fr;min-height:500px;padding:38px 12px}.map-salon{grid-row:auto}.map-terrace,.map-bar,.map-private{grid-area:auto}.map-entrance{left:18px}.map-selection{flex-wrap:wrap;align-items:flex-start}.gender-tabs button{font-size:11px}.occasion-buttons{grid-template-columns:1fr}.custom-map{border-radius:18px;min-height:430px}.restaurant-map-section,.decoration-flow{border-radius:18px;padding:18px 15px}.map-table,.map-landmark{min-width:54px;min-height:46px;padding:4px}.map-table strong{font-size:10px}.map-table span,.map-table small{font-size:8px}.map-legend{gap:6px;display:grid}.map-designer-stats{flex-wrap:wrap;align-items:flex-start}.map-designer-stats label{width:100%;margin-left:0}.map-background-studio{grid-template-columns:1fr}.map-background-studio form{flex-wrap:wrap}.background-controls{grid-column:1;grid-template-columns:1fr;align-items:stretch}.map-designer-stats em{text-align:center;width:100%;margin-left:0}.landmark-toolbar{grid-template-columns:repeat(2,1fr);align-items:stretch;display:grid}.landmark-toolbar span{grid-column:1/-1}}
