/* Mobile guest flow, scoped so the restaurant control panel keeps its base layout. */
body.guest-mode{background:#fff;color:#2d333f}
.g-header{height:72px;display:flex;align-items:center;gap:12px;padding:0 max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid #e4e6ea;background:white}
.g-logo{font-size:28px;font-weight:800;letter-spacing:-1.3px}.g-logo span{color:#da3743;margin-left:4px;font-size:18px}.g-demo{font-size:9px;letter-spacing:1px;border:1px solid #e3e4e8;padding:4px 6px;border-radius:4px;color:#8b8e97}
.g-header-actions{display:flex;margin-left:auto;gap:20px;align-items:center}.g-header-actions button{border:0;background:none;font-size:12px}.g-role{color:#da3743}.g-header-bookings{color:#555d68}
.g-app{max-width:1160px;margin:auto;padding:24px 24px 112px}.g-content{min-width:0}.g-welcome{display:flex;align-items:center;justify-content:space-between;margin:4px 0 19px}.g-welcome h1{font-size:23px;letter-spacing:-.6px;margin:0;line-height:1.4}.g-welcome>span{font-size:12px;color:#757b84}
.g-ai{display:flex;align-items:center;gap:10px;border:1px solid #d5d8e0;border-radius:9px;background:#fff;padding:9px 11px;max-width:840px}.g-ai>span{font-size:25px;color:#da3743}.g-ai input{flex:1;border:0;outline:0;padding:8px 2px;min-width:0;font-size:13px;background:none}.g-ai>button{width:36px;height:36px;background:#da3743;border:0;border-radius:6px;color:white;font-size:23px}.g-ai-note{font-size:9px;color:#9398a2;padding:6px 3px}.g-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 23px}.g-suggestions>button{border:1px solid #e2e4e8;background:white;border-radius:20px;padding:8px 13px;font-size:11px;min-height:35px}.g-suggestions>button.selected{color:#c72c38;background:#fff1f2;border-color:#eab5ba}
.g-tabs{display:flex;gap:28px;border-bottom:1px solid #e4e6ea;align-items:stretch;height:44px;margin-bottom:17px}.g-tabs>span,.g-tabs>button{display:flex;align-items:center;background:none;border:0;font-size:12px;padding:0 0 12px;color:#68707b}.g-tabs .active{border-bottom:2px solid #da3743;color:#da3743;font-weight:800}
.g-filters{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 28px}.g-filter{background:white;border:1px solid #d9dce2;border-radius:20px;padding:10px 14px;font-size:12px;min-height:40px}
.g-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 17px}.g-section-heading h2{font-size:22px;letter-spacing:-.5px}.g-section-heading>span{font-size:11px;color:#7e8490}
.g-card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.g-card{min-width:0;border:1px solid #e0e3e8;border-radius:8px;overflow:hidden;background:white}.g-card-photo{position:relative;height:190px}.g-image-button{padding:0;border:0;width:100%;height:100%;display:block;background:#e6e7e7}.g-image-button img{width:100%;height:100%;object-fit:cover}.g-save{position:absolute;right:12px;top:12px;background:#fffffff2;border:0;color:#d52c3e;border-radius:50%;width:35px;height:35px;font-size:24px;line-height:1}.g-card-body{padding:16px}.g-card-title{background:none;border:0;padding:0;text-align:left;font-size:18px;letter-spacing:-.4px}.g-stars{font-size:17px;color:#da3743;letter-spacing:1px;margin-top:8px}.g-stars span{font-size:10px;color:#747c88;letter-spacing:0;margin-left:5px}.g-card-body>p{font-size:11px;color:#717987;margin:8px 0 15px}.g-slots{display:flex;gap:7px;flex-wrap:wrap}.g-time{background:#da3743;border:1px solid #da3743;color:white;font-weight:800;font-size:12px;border-radius:4px;padding:9px 11px;min-height:39px}.g-time.selected{background:#af1f2b;border-color:#af1f2b}.g-card-body>small{display:block;margin-top:12px;color:#747c88;font-size:9px}.g-none{font-size:12px;color:#8a7274}
.g-viber-entry{margin-top:24px}.g-viber-entry>button{display:flex;align-items:center;gap:15px;border:1px solid #e0d9ec;background:#faf8fd;border-radius:8px;padding:18px;width:100%;text-align:left;color:#51446b}.g-viber-entry strong{font-size:13px;display:block}.g-viber-entry small{font-size:11px;display:block;margin-top:5px;color:#837b91}.g-viber-icon{font-size:29px;color:#7f60ad}.g-viber-entry b{margin-left:auto}.g-disclaimer{color:#9296a0;font-size:10px;line-height:1.7;margin:22px 0 0}
.g-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;border-top:1px solid #e0e3e8;box-shadow:0 -3px 12px #00000003;background:#fff;display:flex;justify-content:space-around;gap:0;padding:9px max(12px,calc((100vw - 1000px)/2)) calc(9px + env(safe-area-inset-bottom));border-radius:0}.g-bottom-nav button{border:0;background:white;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-width:60px;min-height:45px;color:#7b818c}.g-bottom-nav button>span{font-size:21px;line-height:1}.g-bottom-nav button>small{font-size:9px}.g-bottom-nav button.active{color:#da3743}
.g-restaurant{max-width:900px;padding-top:0}.g-venue-hero{height:300px;background:#5c4c3c center/cover;position:relative;border-radius:0 0 9px 9px;overflow:hidden;margin-bottom:0}.g-venue-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(#0002,#0000 30%,#000b)}.g-hero-tools{position:relative;display:flex;justify-content:space-between;padding:18px}.g-circle{background:#ffffffee;border:0;border-radius:50%;width:37px;height:37px;font-size:22px;color:#343844}.g-venue-caption{position:absolute;bottom:21px;left:22px;color:white}.g-venue-caption h1{font-size:29px;letter-spacing:-.7px;line-height:1.3;margin:0}.g-venue-caption .g-stars{color:#ffd27d}.g-venue-caption .g-stars span{color:#f0e9df}.g-venue-caption p{font-size:12px;color:#f2ece5;margin:7px 0 0}
.g-restaurant-tabs{display:flex;border-bottom:1px solid #e0e3e8;gap:0}.g-restaurant-tabs button{flex:1;border:0;background:white;padding:17px 8px;font-size:12px;color:#6c747f}.g-restaurant-tabs .active{color:#cf2e3c;border-bottom:2px solid #da3743;font-weight:800}.g-venue-content{padding:21px 0}.g-restaurant-filter{margin-bottom:25px}.g-venue-content h2{font-size:19px;margin:0 0 15px;letter-spacing:-.4px}.venue-slots{margin:15px 0}.g-subtle{font-size:11px;line-height:1.7;color:#7b838f}.g-description{font-size:12px;color:#737c87;line-height:1.8}.g-experience-preview{padding:25px 0;margin:20px 0;border-top:1px solid #e8e9ed;border-bottom:1px solid #e8e9ed}.g-experience-preview>div{display:flex;gap:15px;border:1px solid #e2e4e8;border-radius:7px;padding:17px}.g-experience-preview>div>span{font-size:24px;color:#da3743}.g-experience-preview strong{font-size:13px}.g-experience-preview p,.g-experience-preview small{font-size:11px;color:#737c87;margin:7px 0}.g-menu-item{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e4e6e9;padding:17px 0;font-size:13px}.g-review-score{font-size:30px;color:#da3743;margin:25px 0}.g-review-score span{font-size:13px;color:#8a909a}
.g-sheet-overlay{position:fixed;inset:0;z-index:25;background:#15202e88;display:flex;justify-content:center;align-items:flex-end}.g-sheet{background:white;width:540px;max-width:100%;border-radius:17px 17px 0 0;padding:14px 24px calc(23px + env(safe-area-inset-bottom));max-height:92dvh;overflow:auto}.g-sheet-grip{height:4px;border-radius:10px;background:#d7d9df;width:35px;margin:0 auto 15px}.g-sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.g-sheet-heading h2{font-size:19px;line-height:1.4;letter-spacing:-.5px}.g-close{background:none;border:0;color:#8a919a;font-size:28px;padding:0 3px;min-width:35px}.g-sheet h3{font-size:12px;margin:20px 0 13px}.g-people{display:flex;gap:10px;justify-content:space-between}.g-people button{width:43px;height:43px;border-radius:50%;border:1px solid #d7dbe2;background:white;font-weight:700}.g-people .active{border:2px solid #da3743;color:#ba2834;background:#fff7f8}.g-label{font-size:12px;font-weight:700;display:block;margin:22px 0 9px}.g-input{border:1px solid #d7dce3;border-radius:6px;padding:13px;width:100%;font-size:14px;min-width:0;min-height:46px;background:white;color:#333d49}.g-time-picker{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.g-time-picker button{border:1px solid #d7dce3;background:white;border-radius:5px;min-height:41px;padding:10px 15px;font-size:12px}.g-time-picker .active{border:1px solid #da3743;color:#ca2a3b;background:#fff1f3}.g-sheet-footer{margin-top:25px}.g-primary{border:0;background:#da3743;color:#fff;font-weight:800;border-radius:5px;padding:14px 16px;min-height:48px;font-size:13px}.g-secondary{border:1px solid #d9dce2;color:#444d5b;background:#fff;border-radius:5px;padding:13px 16px;min-height:46px;font-size:12px}.g-full{display:block;width:100%;margin:11px 0}.g-options{display:flex;flex-direction:column;gap:12px}.g-option{display:flex;gap:13px;border:1px solid #e1e4e9;border-radius:7px;padding:17px;cursor:pointer}.g-option.selected{border-color:#da3743;background:#fffafb}.g-option input{accent-color:#da3743;width:17px;height:17px;margin:2px 0;flex-shrink:0}.g-option strong{font-size:13px;line-height:1.5;display:block}.g-option small{display:block;font-size:11px;color:#777f8b;margin-top:5px}.g-option p{font-size:11px;line-height:1.7;color:#7c8490;margin:8px 0 0}.g-warning{color:#ac3946;background:#fff0f1;border-radius:6px;padding:12px;font-size:12px}
.g-page-title{display:flex;align-items:center;gap:15px;margin:0 0 23px}.g-page-title h1{font-size:22px;letter-spacing:-.5px;margin:0;line-height:1.4}.g-back{border:0;background:none;color:#da3743;font-size:26px;padding:0;min-width:35px;min-height:38px}.g-app:has(#g-confirm-form),.g-app:has(.g-qr-box){max-width:720px}.g-summary-image{height:160px;width:100%;object-fit:cover;border-radius:8px}.g-summary{display:flex;gap:20px;margin:22px 0 25px;padding-bottom:22px;border-bottom:1px solid #e1e5ea}.g-summary h2{font-size:20px;letter-spacing:-.5px}.g-summary p{font-size:12px;color:#6b7481;line-height:2}.g-date-tile{width:65px;flex-shrink:0;border-right:1px solid #e0e3e8;padding-right:20px;text-align:center}.g-date-tile strong{font-size:32px;display:block}.g-date-tile span{font-size:12px;color:#818a96}.g-policy{margin:27px 0;border-top:1px solid #e1e5eb;padding-top:22px}.g-policy h3{font-size:15px}.g-policy p{font-size:12px;color:#6d7683;line-height:1.9}.g-confirm-title{font-size:24px;margin:10px 0 15px}.g-confirm-status{color:#398156;font-size:12px;font-weight:700}.g-confirm-details{font-size:12px;line-height:2.1;margin-top:17px;color:#596472}.g-qr-box{border:1px solid #dfe4e9;border-radius:9px;text-align:center;padding:10px 20px 22px;margin:24px 0}.g-qr-box .qr{margin:12px auto}.g-qr-box>strong{font-size:13px;letter-spacing:1px}.g-qr-box p{font-size:12px;margin:9px 0}.g-qr-box small{font-size:10px;color:#9199a4}.g-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.g-confirm-actions>button{padding:18px 15px;border:1px solid #e0e4e9;border-radius:6px;background:white;text-align:left;color:#da3743;font-size:27px}.g-confirm-actions strong{display:block;font-size:12px;margin-top:10px;color:#343e4a}.g-booking-owner{border-top:1px solid #e4e7ec;padding:21px 0;margin-top:20px}.g-booking-owner span{font-size:14px;font-weight:800}.g-booking-owner small{display:block;color:#7d8794;font-size:11px;margin-top:8px}.g-booking-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 0;border-bottom:1px solid #e3e6eb}.g-booking-row strong{font-size:14px}.g-booking-row p,.g-booking-row small{font-size:11px;color:#7b8390;margin:7px 0}.g-text-button{border:0;background:none;font-size:12px;color:#c72f3d;white-space:nowrap}.g-empty{padding:35px 20px;color:#828b96;line-height:1.8;font-size:13px;text-align:center}.g-app .mapbox{position:relative;margin-top:18px}.g-app .map{height:440px}.g-app .mapdetail .btn{background:#da3743;border-radius:5px}.g-app .pin.on{background:#da3743;border-color:#da3743}
@media(min-width:761px){.g-sheet-overlay{align-items:center}.g-sheet{border-radius:12px;padding:24px 30px;max-height:88vh}.g-sheet-grip{display:none}.g-card:last-child{display:block}.g-venue-content{padding:25px 5px}.g-app:has(.g-qr-box){padding-top:32px}}
@media(max-width:1000px) and (min-width:761px){.g-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.g-header{height:65px;padding:0 18px;gap:8px}.g-logo{font-size:25px}.g-demo{font-size:8px}.g-header-bookings{display:none}.g-header-actions{gap:0}.g-role{font-size:10px!important;min-height:40px;padding:8px 0}.g-app{padding:19px 18px calc(90px + env(safe-area-inset-bottom));width:100%;overflow-x:clip}.g-welcome{margin:3px 0 18px;align-items:baseline}.g-welcome h1{font-size:21px}.g-welcome>span{font-size:10px}.g-ai{padding:9px 10px}.g-ai input{font-size:12px}.g-suggestions{gap:7px;margin-bottom:20px}.g-suggestions>button{font-size:10px;padding:8px 11px}.g-tabs{gap:23px;height:41px}.g-tabs>span,.g-tabs>button{font-size:11px}.g-filters{gap:8px;flex-direction:column;margin-bottom:25px}.g-filter{font-size:11px;text-align:left;width:100%;min-height:42px;padding:11px 13px}.g-section-heading h2{font-size:20px}.g-section-heading>span{font-size:10px}.g-card-list{grid-template-columns:minmax(0,1fr);gap:18px}.g-card-photo{height:205px}.g-card-body{padding:16px}.g-card-title{font-size:19px}.g-slots{gap:8px}.g-time{font-size:12px;min-height:42px;min-width:57px;padding:10px}.g-card-body>p{font-size:12px}.g-bottom-nav{padding:8px 4px calc(8px + env(safe-area-inset-bottom))}.g-bottom-nav button{min-width:0;flex:1;min-height:43px}.g-bottom-nav button small{font-size:8px}.g-restaurant{padding-top:0}.g-venue-hero{margin:0 -18px;border-radius:0;height:265px}.g-hero-tools{padding:15px 18px}.g-venue-caption{left:18px;bottom:19px}.g-venue-caption h1{font-size:26px}.g-restaurant-tabs{margin:0 -18px}.g-restaurant-tabs button{min-height:50px;font-size:11px}.g-venue-content{padding-top:18px}.g-restaurant-filter{margin-bottom:24px}.g-experience-preview{margin:22px 0}.g-people{gap:7px}.g-people button{width:40px;height:40px}.g-sheet{padding:12px 20px calc(20px + env(safe-area-inset-bottom));max-height:92dvh}.g-sheet-heading h2{font-size:18px}.g-time-picker button{flex:1 0 20%;padding:10px 9px}.g-options{gap:10px}.g-option{padding:14px}.g-page-title h1{font-size:21px}.g-summary-image{height:130px}.g-summary{gap:16px}.g-summary h2{font-size:19px}.g-confirm-actions{gap:10px}.g-confirm-actions>button{padding:15px 12px}.g-confirm-actions strong{font-size:11px}.g-app .map{height:355px}.g-app .maptop{flex-wrap:wrap;gap:8px}.g-app .mapbox{border-radius:7px}.g-app .mapdetail h3{font-size:18px}
.owner{display:block}.owner aside{display:flex;flex-direction:column;align-items:stretch;overflow:visible;gap:4px;padding:18px 5%;border-bottom:1px solid var(--line);border-right:0}.owner .venue{display:block;padding:0 12px 12px}.owner .sidelink{display:block;white-space:normal;width:100%;padding:13px 14px;min-height:46px;text-align:left}.owner .sidebottom{display:none}.owner .main{width:100%;padding:23px 5%;min-width:0}.owner .main>.row{flex-direction:column;align-items:stretch}.owner .main>.row>.row{flex-direction:column;align-items:stretch}.owner .main>.row>.row .btn{width:100%;min-height:46px}.owner .stats,.owner .lower,.owner .plans{grid-template-columns:minmax(0,1fr)}.owner .reservation{flex-wrap:wrap;gap:12px}.owner .gridwrap{max-width:100%;overscroll-behavior:contain}.owner .grid .cell.table{position:sticky;left:0;z-index:2;background:white}.owner .panel>.row{flex-wrap:wrap}.owner input[type=date]{max-width:100%;min-height:40px}.modal{max-height:90dvh}.owner .statusline{gap:15px;line-height:1.6}.owner .statusline strong{text-align:right}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

