:root{--orange:#ff6b00;--yellow:#ffb000;--dark:#111827;--bg:#f5f6fb}
*{box-sizing:border-box}body{font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:#111827}a{text-decoration:none}
.auth-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px;background:linear-gradient(135deg,#0f172a,#111827 55%,#ff6b00)}
.auth-card{width:100%;max-width:430px;background:#fff;border-radius:30px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.30)}
.app-nav{background:linear-gradient(135deg,#111827,#1f2937 60%,#ff6b00);box-shadow:0 12px 32px rgba(0,0,0,.15)}
.card-pro{border:0;border-radius:26px;background:#fff;box-shadow:0 14px 42px rgba(15,23,42,.08)}
.btn-main{background:linear-gradient(135deg,var(--orange),var(--yellow));border:0;color:#fff;font-weight:800;border-radius:16px}
.btn-main:hover{color:#fff}.btn-soft{background:#fff3e8;color:#c2410c;border:0;border-radius:15px;font-weight:700}
.form-control,.form-select{border-radius:15px;padding:12px 14px;border:1px solid #e5e7eb}.hotel-img{height:145px;width:100%;object-fit:cover;border-radius:20px;background:#111827}.small-muted{color:#6b7280;font-size:13px}
.stat-card{background:#fff;border-radius:24px;padding:20px;box-shadow:0 12px 34px rgba(15,23,42,.07)}.stat-num{font-size:28px;font-weight:900}
.badge-status{border-radius:999px;padding:7px 12px}.status-Active,.status-Paid,.status-Served,.status-Done,.status-Added{background:#dcfce7;color:#166534}.status-Inactive,.status-Unpaid,.status-Cancelled{background:#fee2e2;color:#991b1b}.status-New{background:#fff7ed;color:#9a3412}.status-Preparing{background:#eff6ff;color:#1d4ed8}
.customer-body{background:#0f172a;min-height:100vh}.customer-head{position:sticky;top:0;z-index:40;background:linear-gradient(135deg,#111827,#111827 60%,#ff6b00);color:#fff;border-radius:0 0 28px 28px;padding:16px 12px}
.menu-stage{max-width:900px;margin:0 auto;padding:14px 12px 140px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.service-btn{border:0;border-radius:20px;background:#fff;padding:12px 6px;text-align:center;font-weight:800}.service-btn span{display:block;font-size:23px}
.cat-title{color:#fff;font-weight:900;margin:22px 0 10px}.food-card{background:#fff;border-radius:24px;padding:12px;display:flex;gap:12px;align-items:center;margin-bottom:12px}.food-icon{width:74px;height:74px;border-radius:18px;background:#fff3e8;display:flex;align-items:center;justify-content:center;font-size:32px}.food-img{width:74px;height:74px;border-radius:18px;object-fit:cover}.food-name{font-weight:900;margin:0}.price{font-weight:900;color:#ea580c}.add-btn{border:0;border-radius:999px;background:#ff6b00;color:#fff;font-weight:900;padding:8px 14px}
.cart-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;max-width:820px;margin:0 auto;background:#fff;border-radius:26px;padding:13px;box-shadow:0 -12px 55px rgba(0,0,0,.27);display:none}.cart-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef2f7;padding:9px 0}.qty-btn{width:30px;height:30px;border-radius:50%;border:0;background:#111827;color:#fff;font-weight:900}
.table-card{border-left:6px solid #ff6b00}.bill-table td,.bill-table th{vertical-align:middle}
@media(max-width:576px){.service-grid{gap:7px}.service-btn{font-size:11px;padding:9px 4px}.food-icon,.food-img{width:66px;height:66px}.hide-mobile{display:none}.stat-num{font-size:22px}}

.logo-mini{width:42px;height:42px;border-radius:14px;object-fit:cover;background:#fff}
.owner-tabs{position:sticky;top:0;z-index:35;background:#ffffffcc;backdrop-filter:blur(10px);border-radius:0 0 20px 20px;padding:10px;box-shadow:0 10px 25px rgba(15,23,42,.08);overflow-x:auto}
.owner-tabs a{white-space:nowrap}
.search-box{background:#fff;border-radius:22px;padding:15px;box-shadow:0 10px 28px rgba(15,23,42,.07)}
.report-card{border-left:5px solid #ff6b00}
@media(max-width:768px){.owner-tabs .btn{font-size:12px;padding:8px 10px}.desktop-table{min-width:850px}}

.social-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}
.social-btn{border:0;border-radius:18px;padding:12px 10px;font-weight:900;text-align:center;background:#fff;color:#111827;box-shadow:0 10px 25px rgba(0,0,0,.15)}
.social-google{background:#fff7ed;color:#c2410c}.social-insta{background:#fdf2f8;color:#be185d}.social-fb{background:#eff6ff;color:#1d4ed8}.social-wa{background:#ecfdf5;color:#15803d}
@media(max-width:420px){.social-links{grid-template-columns:1fr 1fr}.social-btn{font-size:12px;padding:10px 6px}}

.toast-lite{position:fixed;right:18px;bottom:18px;z-index:9999;background:#111827;color:#fff;padding:12px 18px;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.quick-service-admin{display:grid;grid-template-columns:1fr 80px 80px 90px;gap:8px;align-items:center}
.bill-copy{border:1px dashed #999;padding:12px;margin-bottom:15px;border-radius:10px}
.bill-logo{width:70px;height:70px;border-radius:14px;object-fit:contain;object-position:center;background:transparent}
@media(max-width:768px){.quick-service-admin{grid-template-columns:1fr 1fr}.bill-copy{font-size:13px}}

.theme-preview{height:8px;border-radius:999px;background:var(--orange);margin-top:6px}
.parcel-badge{background:#ecfdf5;color:#15803d;border-radius:999px;padding:6px 12px;font-weight:800}
.hero-landing{background:linear-gradient(135deg,var(--orange),#111827);color:#fff;border-radius:30px;padding:40px 25px}
.landing-card{background:#fff;border-radius:24px;padding:22px;box-shadow:0 14px 35px rgba(15,23,42,.08)}

.single-hero{background:linear-gradient(135deg,var(--orange),#111827);color:#fff;border-radius:32px;padding:42px 28px;box-shadow:0 18px 45px rgba(15,23,42,.18)}
.single-logo{width:88px;height:88px;object-fit:cover;border-radius:24px;background:#fff;border:4px solid rgba(255,255,255,.65)}
.single-section{background:#fff;border-radius:28px;padding:24px;box-shadow:0 12px 32px rgba(15,23,42,.07)}
.single-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.single-menu-card{background:#fff;border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.08);border:1px solid #eef2f7}
.social-row{display:flex;flex-wrap:wrap;gap:10px}.social-pill{border-radius:999px;padding:10px 16px;font-weight:800;background:#fff;color:#111827}
@media(max-width:768px){.single-grid{grid-template-columns:1fr}.single-hero{padding:28px 18px}.single-logo{width:70px;height:70px}}

.item-thumb{width:54px;height:54px;object-fit:cover;border-radius:14px;background:#fff3e8;border:1px solid #f1f5f9}
.food-img{width:64px;height:64px;object-fit:cover;border-radius:18px;background:#fff3e8;border:1px solid #f1f5f9}
.single-menu-img{width:74px;height:74px;object-fit:cover;border-radius:18px;background:#fff3e8;border:1px solid #f1f5f9;margin-bottom:10px}

/* V16 Professional Landing Page */
.pro-landing{background:#f4f7fb;color:#111827;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.pro-wrap{max-width:1180px;margin:auto;padding:22px 16px}
.pro-hero{position:relative;overflow:hidden;min-height:560px;border-radius:36px;background:linear-gradient(135deg,#111827 0%,#18202b 45%,var(--orange) 160%);color:#fff;box-shadow:0 25px 70px rgba(15,23,42,.25)}
.pro-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 55%,rgba(255,255,255,.13),transparent 32%),linear-gradient(90deg,rgba(0,0,0,.2),transparent)}
.pro-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:26px 28px}
.pro-brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:22px}
.pro-logo{width:54px;height:54px;border-radius:18px;object-fit:cover;background:#fff;border:3px solid rgba(255,255,255,.45)}
.pro-menu-toggle{width:46px;height:46px;border-radius:16px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:26px}
.pro-hero-content{position:relative;z-index:2;padding:35px 30px 40px;max-width:560px}
.pro-eyebrow{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.12);padding:8px 14px;border-radius:999px;font-weight:800;margin-bottom:18px}
.pro-title{font-size:64px;line-height:1.04;font-weight:900;margin:0 0 18px;font-family:Georgia,"Times New Roman",serif}
.pro-desc{font-size:17px;line-height:1.75;color:#eef2f7;margin-bottom:24px}
.pro-actions{display:flex;flex-wrap:wrap;gap:12px}
.pro-btn{border:0;border-radius:999px;padding:13px 22px;text-decoration:none;font-weight:900;display:inline-flex;align-items:center;gap:8px}
.pro-btn-main{background:linear-gradient(135deg,var(--orange),var(--yellow));color:#fff;box-shadow:0 16px 35px rgba(255,107,0,.35)}
.pro-btn-light{background:#fff;color:#111827}
.pro-hero-food{position:absolute;right:2%;bottom:-6%;z-index:1;width:49%;max-width:560px;filter:drop-shadow(0 35px 35px rgba(0,0,0,.4))}
.pro-hero-food img{width:100%;border-radius:36px;object-fit:cover;aspect-ratio:1/1}
.pro-section{padding:52px 0}
.pro-section-title{text-align:center;font-size:46px;font-family:Georgia,"Times New Roman",serif;font-weight:900;margin-bottom:24px}
.pro-cats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.pro-cat{border:0;background:#fff;border-radius:999px;padding:11px 20px;font-weight:800;color:#374151;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.pro-cat.active{background:#1f2937;color:#fff}
.pro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pro-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 16px 42px rgba(15,23,42,.08);border:1px solid #edf2f7;transition:.2s}
.pro-card:hover{transform:translateY(-4px)}
.pro-img-box{height:210px;background:#eef2f7;display:grid;place-items:center}
.pro-img-box img{width:100%;height:100%;object-fit:cover}
.pro-icon-big{font-size:74px}
.pro-card-body{background:#1f2937;color:#fff;padding:22px}
.pro-card-title{font-size:22px;font-weight:900;margin-bottom:8px}
.pro-card-desc{color:#cbd5e1;font-size:14px;line-height:1.6;min-height:44px}
.pro-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
.pro-price{font-size:22px;font-weight:900;color:#fff}
.pro-cart-round{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--yellow));color:#fff;text-decoration:none;font-weight:900}
.pro-about{background:#1f2937;color:#fff;border-radius:36px;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;align-items:center}
.pro-about-text{padding:48px}
.pro-about h2{font-size:44px;font-family:Georgia,"Times New Roman",serif;font-weight:900;margin-bottom:16px}
.pro-about p{color:#e5e7eb;line-height:1.8}
.pro-about img{width:100%;height:100%;object-fit:cover;min-height:360px}
.pro-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pro-info{background:#fff;border-radius:28px;padding:24px;text-align:center;box-shadow:0 12px 34px rgba(15,23,42,.07)}
.pro-info .ico{font-size:34px;margin-bottom:10px}
.pro-info h4{font-weight:900}
.pro-social{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.pro-social a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#1f2937;color:#fff;text-decoration:none;font-weight:900}
.pro-review{background:#fff;border-radius:32px;padding:30px;box-shadow:0 12px 34px rgba(15,23,42,.07);max-width:760px;margin:auto;text-align:center}
.pro-footer{background:#1f2937;color:#fff;border-radius:36px;padding:42px;text-align:center;margin-bottom:25px}
.pro-footer h2{font-family:Georgia,"Times New Roman",serif;font-size:40px;font-weight:900}
.pro-footer p{color:#d1d5db}
@media(max-width:900px){
 .pro-title{font-size:46px}.pro-hero-food{position:relative;right:auto;bottom:auto;width:92%;margin:0 auto 20px;display:block}.pro-hero{min-height:auto}.pro-grid{grid-template-columns:1fr 1fr}.pro-about{grid-template-columns:1fr}.pro-info-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
 .pro-wrap{padding:14px 10px}.pro-hero{border-radius:0;margin:-14px -10px 0}.pro-nav{padding:18px}.pro-title{font-size:40px}.pro-hero-content{padding:24px 20px}.pro-grid{grid-template-columns:1fr}.pro-section-title{font-size:36px}.pro-card{border-radius:22px}.pro-img-box{height:190px}.pro-about-text{padding:28px}.pro-footer{border-radius:0;margin-left:-10px;margin-right:-10px}
}

.live-order-big{font-size:46px;font-weight:900;color:#111827;line-height:1.15}
.live-order-card{background:#fff;border-radius:28px;padding:28px;box-shadow:0 18px 45px rgba(15,23,42,.09);border-left:8px solid var(--orange);margin-bottom:18px}
.live-order-qty{font-size:64px;font-weight:900;color:var(--orange)}
.live-order-item{font-size:38px;font-weight:900}
.auto-refresh-note{background:#ecfdf5;color:#15803d;border-radius:18px;padding:12px 16px;font-weight:800}
@media(max-width:768px){.live-order-big{font-size:30px}.live-order-qty{font-size:46px}.live-order-item{font-size:28px}}

/* V20 Clean Dashboard */
.dash-shell-v20{max-width:1220px;margin:auto;padding:28px 16px}
.dash-hero-v20{background:#fff;border-radius:28px;padding:26px;box-shadow:0 16px 45px rgba(15,23,42,.07);margin-bottom:24px}
.dash-title-v20{font-size:34px;font-weight:900;margin:0;color:#111827}
.dash-sub-v20{color:#64748b;margin-top:6px;margin-bottom:0}
.stats-grid-v20{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.stat-v20{background:#fff;border-radius:24px;padding:22px;box-shadow:0 14px 35px rgba(15,23,42,.06)}
.stat-v20 small{color:#64748b;font-weight:700}
.stat-v20 b{display:block;font-size:34px;line-height:1.1;margin-top:8px}
.dash-grid-v20{display:grid;grid-template-columns:380px 1fr;gap:24px;align-items:start}
.form-card-v20,.hotel-card-v20{background:#fff;border-radius:28px;padding:22px;box-shadow:0 16px 45px rgba(15,23,42,.07)}
.hotel-list-v20{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.hotel-cover-v20{height:155px;width:100%;object-fit:cover;border-radius:22px;background:#111827;margin-bottom:14px}
.hotel-actions-v20{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.hotel-actions-v20 .btn{border-radius:14px;font-weight:800}
.help-box-v20{background:#e0f2fe;border:1px solid #7dd3fc;color:#075985;border-radius:18px;padding:14px;margin-bottom:16px}
.ocr-note-v20{background:#fff7ed;border-radius:16px;padding:12px;color:#c2410c;font-weight:800;text-align:center}
@media(max-width:992px){.dash-grid-v20{grid-template-columns:1fr}.stats-grid-v20{grid-template-columns:repeat(2,1fr)}.hotel-list-v20{grid-template-columns:1fr}}
@media(max-width:576px){.dash-shell-v20{padding:18px 10px}.stats-grid-v20{grid-template-columns:1fr}.dash-title-v20{font-size:26px}.hotel-actions-v20{grid-template-columns:1fr}}

.v24-site{background:#fff7ec;color:#29120b;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.v24-nav{position:sticky;top:0;z-index:1000;background:#fff9ef;border-bottom:1px solid #f2dfc5}
.v24-nav-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 18px}
.v24-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#d52a13;font-weight:900;font-size:22px}
.v24-brand img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#fff}.v24-brand small{display:block;color:#5d4037;font-size:11px;letter-spacing:2px}
.v24-links{display:flex;align-items:center;gap:24px}.v24-links a{text-decoration:none;color:#4b2a20;font-weight:800}.v24-links a.active{border:2px solid #111;padding:10px 16px;border-radius:6px;color:#d52a13}.v24-contact-btn{background:#d92d15!important;color:#fff!important;border-radius:999px;padding:11px 18px!important}.v24-pill{background:#d92d15;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}
.v24-mobile-btn{display:none;background:#1f2937;color:#fff;border:0;border-radius:10px;font-size:26px;width:48px;height:44px}
.v24-hero{min-height:720px;display:flex;align-items:center;position:relative;background-size:cover;background-position:center;overflow:hidden}.v24-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,5,0,.88),rgba(35,5,0,.55),rgba(35,5,0,.4))}
.v24-container{max-width:1180px;margin:auto;padding:0 18px;position:relative;z-index:2;width:100%}.v24-badge{display:inline-flex;background:#ffa600;color:#150a05;border-radius:999px;padding:9px 18px;font-weight:900;margin-bottom:24px;text-transform:uppercase}.v24-title{font-family:Georgia,serif;font-size:74px;line-height:1.05;color:#fff;font-weight:900;max-width:820px}.v24-title span{color:#ffb000}.v24-subtitle{color:#fff;font-size:22px;line-height:1.65;max-width:720px;font-weight:650;margin:24px 0 34px}.v24-actions{display:flex;gap:14px;flex-wrap:wrap}.v24-btn{border:0;border-radius:999px;padding:15px 25px;font-weight:900;text-decoration:none;display:inline-flex;gap:8px;align-items:center}.v24-btn-red{background:#dc2a12;color:#fff}.v24-btn-green{background:#00a846;color:#fff}
.v24-section{padding:78px 0}.v24-section.orange{background:#ffa600}.v24-section.dark{background:#2b0803;color:#fff}.v24-section-title{text-align:center;font-family:Georgia,serif;font-size:42px;font-weight:900;margin-bottom:8px}.v24-section-sub{text-align:center;color:#705349;margin-bottom:38px}.v24-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.v24-card{background:#fff;border:1px solid #ecd9c7;border-radius:14px;box-shadow:0 8px 22px rgba(45,18,8,.06);overflow:hidden}.v24-card-pad{padding:24px}.v24-feature-icon{font-size:42px;margin-bottom:14px}.v24-menu-card img{width:100%;height:230px;object-fit:cover}.v24-menu-body{padding:20px;display:flex;justify-content:space-between;align-items:center}.v24-price{font-weight:900;color:#d92d15}
.v24-menu-split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;margin-bottom:52px}.v24-menu-img{width:100%;border-radius:14px;height:370px;object-fit:cover}.v24-menu-list h3{font-family:Georgia,serif;color:#d92d15;font-size:28px}.v24-menu-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;border-bottom:1px solid #dcc9b8;padding:11px 0;font-weight:800}.v24-add{background:#d92d15;color:#fff;border:0;border-radius:999px;padding:9px 16px;font-weight:900}
.v24-order-panel{background:#fff;border-radius:18px;padding:22px;box-shadow:0 12px 35px rgba(45,18,8,.09);margin-top:26px}.v24-cart-row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #eee;padding:9px 0}.v24-input{width:100%;padding:13px;border:1px solid #ddd;border-radius:12px;margin-bottom:12px}.v24-alert-pay{background:#fff3cd;border:1px solid #ffe08a;color:#7c4a00;border-radius:14px;padding:14px;font-weight:800;margin-bottom:12px}
.v24-review-card{background:#fff;border-radius:14px;padding:24px;box-shadow:0 8px 22px rgba(45,18,8,.08)}.v24-footer{background:#2b0803;color:#fff;padding:56px 0 20px}.v24-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}.v24-map{width:100%;height:320px;border:0;border-radius:14px}.v24-notify-badge{background:#dc3545;color:#fff;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900}
@media(max-width:900px){.v24-mobile-btn{display:block}.v24-links{display:none;position:absolute;left:0;right:0;top:66px;background:#fff9ef;flex-direction:column;padding:18px;border-bottom:1px solid #ecd9c7}.v24-links.show{display:flex}.v24-title{font-size:44px}.v24-hero{min-height:620px}.v24-grid-3,.v24-menu-split,.v24-footer-grid{grid-template-columns:1fr}.v24-section{padding:54px 0}.v24-menu-row{grid-template-columns:1fr auto}}

.v25-lang-toggle{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #ecd9c7;border-radius:999px;padding:5px}
.v25-lang-toggle a{text-decoration:none!important;border:0!important;padding:7px 11px!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important;color:#5d4037!important}
.v25-lang-toggle a.active{background:#d92d15!important;color:#fff!important}
.v25-pay-card{background:#fff;border:1px solid #f1d3bd;border-radius:24px;padding:22px;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.v25-price{font-size:34px;font-weight:900;color:#d92d15}
.v25-status{display:inline-block;border-radius:999px;padding:5px 11px;font-weight:900;font-size:12px}.v25-status.on{background:#dcfce7;color:#166534}.v25-status.off{background:#fee2e2;color:#991b1b}

.v27-section-title{font-size:18px;font-weight:900;margin:18px 0 10px}
.v27-upload-box{background:#fff;border:1px dashed #cbd5e1;border-radius:18px;padding:14px;margin-bottom:14px}
.v27-preview{width:100%;max-height:170px;object-fit:cover;border-radius:16px;background:#0f172a;margin:8px 0}
.v27-help{background:#ecfeff;border:1px solid #67e8f9;border-radius:14px;padding:12px;color:#075985;font-weight:700}
.v27-danger-link{display:inline-flex;padding:8px 12px;border:1px solid #ef4444;border-radius:12px;color:#dc2626;text-decoration:none;font-weight:800}
.v27-payment-box{background:#fff;border:1px solid #facc15;border-radius:18px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.v27-payment-pending{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:14px;font-weight:800}
.v27-payment-success{background:#dcfce7;border:1px solid #86efac;color:#166534;border-radius:14px;padding:14px;font-weight:900}
.v27-pay-now{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border:0;border-radius:999px;padding:14px 24px;font-weight:900;text-decoration:none;display:inline-flex}
/* ================= V28 MARKET READY UI ================= */
.v28-shell{background:#f3f6fb;min-height:100vh}
.v28-hero-card{background:linear-gradient(135deg,#111827,#1f2937 45%,var(--orange,#ff6b00));color:#fff;border-radius:28px;padding:28px;box-shadow:0 18px 45px rgba(15,23,42,.16)}
.v28-wizard{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}
.v28-step{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px;text-align:center;font-weight:900;color:#64748b}
.v28-step.active{background:linear-gradient(135deg,#ff6b00,#ffb000);color:#fff;border-color:transparent}
.v28-step.done{background:#dcfce7;color:#166534;border-color:#86efac}
.v28-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:22px;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.v28-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.v28-action{border:1px solid #e5e7eb;background:#fff;border-radius:15px;padding:12px;text-align:center;text-decoration:none;color:#111827;font-weight:900}
.v28-action.primary{background:linear-gradient(135deg,#2b00ff,#6a00ff);color:#fff}
.v28-action.warn{background:linear-gradient(135deg,#ff7a00,#ffb000);color:#111}
.v28-action.green{background:#dcfce7;color:#166534;border-color:#86efac}
.v28-action.red{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.v28-upload-preview{width:100%;height:160px;object-fit:cover;border-radius:18px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:900}
.v28-menu-filter{position:sticky;top:65px;background:#fff7ec;z-index:5;padding:12px 0;display:flex;gap:10px;overflow:auto}
.v28-chip{border:1px solid #e7d6c8;border-radius:999px;padding:9px 15px;background:#fff;color:#4b2a20;font-weight:900;white-space:nowrap;cursor:pointer}
.v28-chip.active{background:#d92d15;color:#fff;border-color:#d92d15}
.v28-menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.v28-menu-item{background:#fff;border:1px solid #ecd9c7;border-radius:18px;overflow:hidden;box-shadow:0 8px 22px rgba(45,18,8,.06)}
.v28-menu-item img{width:100%;height:150px;object-fit:cover}
.v28-menu-item-body{padding:15px}
.v28-qty{display:inline-flex;align-items:center;gap:10px;background:#fff3e8;border-radius:999px;padding:6px 10px}
.v28-qty button{border:0;background:#d92d15;color:#fff;border-radius:50%;width:28px;height:28px;font-weight:900}
.v28-floating-cart{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:999;background:#111827;color:#fff;border-radius:999px;padding:14px 24px;font-weight:900;box-shadow:0 18px 45px rgba(0,0,0,.25);display:none;text-decoration:none}
.v28-drawer{position:fixed;right:-420px;top:0;bottom:0;width:390px;max-width:96vw;background:#fff;z-index:2000;transition:.25s;box-shadow:-14px 0 40px rgba(0,0,0,.16);padding:20px;overflow:auto}
.v28-drawer.show{right:0}
.v28-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1999;display:none}
.v28-overlay.show{display:block}
.v28-kitchen-card{border-left:6px solid #ff6b00;background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.08);margin-bottom:14px}
.v28-big-count{font-size:42px;font-weight:900;color:#ff6b00}
@media(max-width:900px){.v28-wizard{grid-template-columns:1fr}.v28-menu-grid{grid-template-columns:1fr}.v28-action-grid{grid-template-columns:1fr}.v28-hero-card{border-radius:20px;padding:20px}.v28-drawer{width:100%}}

/* V29 multiple menu/OCR photo controls */
.v29-photo-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:12px;margin-bottom:14px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.v29-photo-card img{width:100%;max-height:280px;object-fit:contain;background:#111827;border-radius:14px}
.v29-photo-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v29-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:900;background:#fff7ed;color:#c2410c;margin-bottom:8px}
.v29-upload-note{background:#f0f9ff;border:1px solid #7dd3fc;border-radius:14px;padding:10px;font-weight:700;color:#075985}
.v29-mini-preview{width:100%;height:96px;object-fit:cover;border-radius:12px;background:#111827}

.v31-qr-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;text-align:center;box-shadow:0 12px 30px rgba(15,23,42,.08);margin:14px 0}
.v31-qr-card img{max-width:260px;width:100%;border-radius:14px;border:1px solid #eee;background:#fff}
.v31-price-line{font-size:28px;font-weight:900;color:#7e22ce}
.v31-contact-box{background:#ecfdf5;border:1px solid #86efac;border-radius:16px;padding:14px;color:#166534;font-weight:800}
.v31-reset-note{background:#eff6ff;border:1px solid #93c5fd;border-radius:14px;padding:12px;color:#1e40af;font-size:13px}

/* ================= V34 POLISHED UI ================= */
:root{--v34-bg:#f5f7fb;--v34-card:#ffffff;--v34-text:#0f172a;--v34-muted:#64748b;--v34-primary:#ff7a00;--v34-primary2:#ffb000;--v34-success:#16a34a;--v34-danger:#ef4444;--v34-info:#2563eb}
.v34-page{background:var(--v34-bg);min-height:100vh;color:var(--v34-text)}
.v34-card{background:var(--v34-card);border:1px solid #e7ecf4;border-radius:28px;padding:24px;box-shadow:0 16px 45px rgba(15,23,42,.07)}
.v34-header-card{background:linear-gradient(135deg,#111827,#1e293b 55%,#ff7a00);color:#fff;border-radius:28px;padding:28px;box-shadow:0 20px 55px rgba(15,23,42,.15)}
.v34-btn{border:0;border-radius:16px;padding:12px 18px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}
.v34-btn:hover{transform:translateY(-1px)}
.v34-btn-primary{background:linear-gradient(135deg,var(--v34-primary),var(--v34-primary2));color:#fff}
.v34-btn-dark{background:#111827;color:#fff}
.v34-btn-soft{background:#fff4e8;color:#c2410c}
.v34-btn-success{background:#dcfce7;color:#166534}
.v34-alert{border-radius:18px;padding:14px 16px;border:1px solid;background:#fff;font-weight:700}
.v34-alert.success{border-color:#86efac;background:#f0fdf4;color:#166534}
.v34-alert.info{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.v34-alert.warning{border-color:#fcd34d;background:#fffbeb;color:#92400e}
.v34-alert.error{border-color:#fca5a5;background:#fef2f2;color:#991b1b}
.v34-empty{border:1px dashed #cbd5e1;border-radius:20px;padding:24px;text-align:center;color:#64748b;background:#fff}
@media(max-width:576px){.v34-header-card{padding:20px;border-radius:20px}.v34-card{padding:18px;border-radius:20px}}

/* V36 PAYMENT FLOW */
.v36-pay-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:22px;box-shadow:0 14px 40px rgba(15,23,42,.08)}
.v36-qr{max-width:280px;width:100%;border-radius:18px;border:1px solid #e5e7eb;background:#fff;padding:8px}
.v36-paid-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:900}
.v36-pending-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:#fef3c7;color:#92400e;font-weight:900}
.v36-pay-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 24px;background:#16a34a;color:#fff;text-decoration:none;font-weight:900;border:0}
.v36-pay-btn.secondary{background:#111827}
.v36-note{background:#eff6ff;border:1px solid #93c5fd;color:#1d4ed8;border-radius:16px;padding:12px;font-weight:700}
.v36-notify{background:#ecfdf5;border:1px solid #86efac;color:#166534;border-radius:16px;padding:14px;margin-bottom:12px;font-weight:800}

/* ================= V37 PRODUCTION UX ================= */
:root{--p-bg:#f5f7fb;--p-card:#fff;--p-text:#0f172a;--p-muted:#64748b;--p-primary:#ff7600;--p-primary2:#ffb000;--p-green:#16a34a;--p-red:#ef4444;--p-blue:#2563eb}
body{scroll-behavior:smooth}
.p-page{background:var(--p-bg);min-height:100vh;color:var(--p-text)}
.p-card{background:var(--p-card);border:1px solid #e7edf5;border-radius:26px;padding:22px;box-shadow:0 16px 45px rgba(15,23,42,.07)}
.p-hero{background:linear-gradient(135deg,#111827,#1e293b 55%,var(--p-primary));color:#fff;border-radius:30px;padding:30px;box-shadow:0 20px 55px rgba(15,23,42,.15)}
.p-btn{border:0;border-radius:16px;padding:12px 18px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s;cursor:pointer}
.p-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.p-btn:hover{transform:translateY(-1px)}
.p-primary{background:linear-gradient(135deg,var(--p-primary),var(--p-primary2));color:#fff}
.p-dark{background:#111827;color:#fff}
.p-soft{background:#fff4e8;color:#c2410c}
.p-green{background:#dcfce7;color:#166534}
.p-alert{border-radius:18px;padding:14px 16px;border:1px solid;font-weight:700;margin-bottom:12px}
.p-alert.success{border-color:#86efac;background:#f0fdf4;color:#166534}
.p-alert.info{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.p-alert.warning{border-color:#fcd34d;background:#fffbeb;color:#92400e}
.p-alert.error{border-color:#fca5a5;background:#fef2f2;color:#991b1b}
.p-empty{border:1px dashed #cbd5e1;border-radius:20px;padding:24px;text-align:center;color:#64748b;background:#fff}
.p-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.p-stat{background:#fff;border-radius:24px;padding:20px;border:1px solid #edf2f7}
.p-stat b{font-size:32px}
.p-qr{max-width:280px;width:100%;border-radius:18px;border:1px solid #e5e7eb;background:#fff;padding:8px}
.p-notify{background:#ecfdf5;border:1px solid #86efac;color:#166534;border-radius:16px;padding:14px;margin-bottom:12px;font-weight:800}
.p-floating-cart{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:999;background:#111827;color:#fff;border-radius:999px;padding:14px 24px;font-weight:900;box-shadow:0 18px 45px rgba(0,0,0,.25);display:none;text-decoration:none}
.p-drawer{position:fixed;right:-420px;top:0;bottom:0;width:390px;max-width:96vw;background:#fff;z-index:2000;transition:.25s;box-shadow:-14px 0 40px rgba(0,0,0,.16);padding:20px;overflow:auto}
.p-drawer.show{right:0}
.p-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1999;display:none}.p-overlay.show{display:block}
@media(max-width:992px){.p-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.p-grid{grid-template-columns:1fr}.p-hero{padding:20px;border-radius:20px}.p-card{padding:18px;border-radius:20px}.p-drawer{width:100%}}


/* =========================
V42 MOBILE + BUG FIX PATCH
========================= */

html,body{
overflow-x:hidden;
-webkit-tap-highlight-color:transparent;
}

img{
max-width:100%;
height:auto;
}

button,
.btn,
.add-btn{
touch-action:manipulation;
}

.food-card{
flex-wrap:nowrap;
}

.food-name{
word-break:break-word;
}

.cart-bar{
max-height:78vh;
overflow:auto;
}

.owner-tabs{
white-space:nowrap;
scrollbar-width:none;
}

.owner-tabs::-webkit-scrollbar{
display:none;
}

.table-responsive{
overflow:auto;
-webkit-overflow-scrolling:touch;
}

input,
select,
textarea{
font-size:16px !important;
}

/* Better mobile spacing */
@media(max-width:768px){

.container{
padding-left:12px !important;
padding-right:12px !important;
}

.customer-head{
padding:12px 10px;
border-radius:0 0 18px 18px;
}

.customer-head h3{
font-size:22px;
}

.menu-stage{
padding:10px 10px 160px;
}

.food-card{
padding:10px;
gap:10px;
align-items:center;
}

.food-icon,
.food-img{
width:58px;
height:58px;
min-width:58px;
border-radius:14px;
}

.food-name{
font-size:15px;
line-height:1.2;
}

.price{
font-size:15px;
}

.add-btn{
padding:8px 12px;
font-size:13px;
min-width:72px;
}

.service-grid{
grid-template-columns:repeat(2,1fr);
}

.service-btn{
min-height:72px;
font-size:12px;
}

.cart-bar{
left:8px;
right:8px;
bottom:8px;
padding:12px;
border-radius:20px;
}

.cart-row{
gap:10px;
}

.qty-btn{
width:34px;
height:34px;
font-size:16px;
}

.card-pro{
border-radius:18px;
}

.stat-card{
padding:15px;
}

.search-box{
padding:12px;
}

.btn-main{
min-height:48px;
font-size:15px;
}

.form-control,
.form-select{
min-height:48px;
}

}

/* Small phones */
@media(max-width:480px){

.customer-head .container{
flex-direction:column;
align-items:flex-start !important;
gap:10px;
}

.customer-head button{
width:100%;
}

.food-card{
align-items:flex-start;
}

.add-btn{
margin-left:auto;
}

.cart-row{
flex-direction:column;
align-items:flex-start;
}

.service-grid{
grid-template-columns:1fr 1fr;
}

.owner-tabs{
padding:8px;
}

.owner-tabs .btn{
font-size:11px;
padding:7px 10px;
}

.desktop-table{
min-width:700px;
}

}

/* Prevent double click issues */
.loading-disabled{
pointer-events:none !important;
opacity:.7 !important;
}


/* V43 QR TABLE STATUS + RESPONSIVE */
@media(max-width:768px){
  .qr-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .qr-card{padding:12px!important}
}
@media(max-width:480px){
  .qr-grid{grid-template-columns:1fr!important}
}
.table-responsive,.card-pro{max-width:100%}
body{overflow-x:hidden}

/* V44 FINAL RESPONSIVE QA */
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%;height:auto}
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
button,a.btn,.btn{touch-action:manipulation}
input,select,textarea{font-size:16px!important}
.auth-card,.p-card,.card-pro{max-width:100%}
@media(max-width:768px){
  .container{padding-left:12px!important;padding-right:12px!important}
  .row{--bs-gutter-x:1rem}
  h1{font-size:1.75rem!important}
  h2{font-size:1.45rem!important}
  h3{font-size:1.25rem!important}
  .btn,.p-btn,.btn-main{min-height:44px}
  .owner-tabs,.nav,.navbar-nav{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap!important}
  .food-card,.v24-menu-row,.v24-cart-row{gap:10px!important}
}
@media(max-width:480px){
  .p-hero{border-radius:18px!important;padding:18px!important}
  .p-card,.card-pro{border-radius:18px!important;padding:16px!important}
  .food-card,.v24-menu-row{align-items:flex-start!important}
}

/* V50 Combo Offers + SEO responsive UI */
.combo-v50-section{padding:26px 0;margin:18px auto;max-width:1180px}
.combo-v50-head{text-align:center;margin-bottom:16px}
.combo-v50-head h2{font-weight:900;margin:0;color:#0f172a}
.combo-v50-head p{color:#64748b;margin:4px 0 0}
.combo-v50-slider{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 12px 18px;-webkit-overflow-scrolling:touch}
.combo-v50-slider::-webkit-scrollbar{height:8px}.combo-v50-slider::-webkit-scrollbar-thumb{background:#ff7a00;border-radius:99px}
.combo-v50-card{min-width:285px;max-width:320px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(15,23,42,.12);scroll-snap-align:start;border:1px solid #eef2f7}
.combo-v50-card img{width:100%;height:170px;object-fit:cover;display:block}
.combo-v50-body{padding:16px}.combo-v50-badge{display:inline-block;background:#fff1df;color:#c2410c;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;margin-bottom:8px}
.combo-v50-body h3{font-size:20px;margin:0 0 6px;font-weight:900;color:#0f172a}.combo-v50-body p{color:#475569;font-size:14px;min-height:42px}
.combo-v50-price{font-size:22px;font-weight:900;color:#16a34a;margin-bottom:10px}.combo-v50-btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b00,#ffb000);color:#fff;text-decoration:none;font-weight:900;border-radius:999px;padding:10px 18px}
@media(max-width:640px){.combo-v50-section{padding:18px 0}.combo-v50-card{min-width:82vw}.combo-v50-card img{height:155px}.combo-v50-body h3{font-size:18px}}

/* V51 LAMP LOGIN UI - UI only, existing form logic untouched */
.lamp-login-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,186,73,.12), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(255,111,0,.18), transparent 30%),
    linear-gradient(135deg,#06101f 0%,#0d1728 42%,#2a160e 72%,#6a2a00 100%) !important;
  color:#fff;
  overflow-x:hidden;
}
.lamp-scene{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:110px 16px 38px;
  isolation:isolate;
}
.lamp-scene:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,transparent,black 22%,black 78%,transparent);
  opacity:.35;
  pointer-events:none;
}
.lamp-switch{position:absolute;opacity:0;pointer-events:none}
.lamp-area{
  position:absolute;
  top:0;
  left:50%;
  width:min(520px,92vw);
  height:430px;
  transform:translateX(-50%);
  pointer-events:none;
  z-index:0;
}
.lamp-rope{
  position:absolute;
  top:0;
  left:calc(50% + 100px);
  width:42px;
  height:190px;
  cursor:pointer;
  pointer-events:auto;
  transform-origin:top center;
  animation:ropeFloat 3.8s ease-in-out infinite;
  z-index:8;
}
.rope-line{
  position:absolute;
  top:0;
  left:50%;
  width:3px;
  height:156px;
  transform:translateX(-50%);
  background:linear-gradient(#f7d08a,#956229);
  border-radius:999px;
  box-shadow:0 0 16px rgba(255,197,105,.28);
}
.rope-handle{
  position:absolute;
  bottom:6px;
  left:50%;
  width:24px;
  height:24px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff6d7,#ffb02e 55%,#a64c00);
  box-shadow:0 10px 25px rgba(255,140,0,.35);
}
.lamp-cap{
  position:absolute;
  top:52px;
  left:50%;
  width:92px;
  height:22px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#f6c66f,#8b4a12);
  border-radius:30px 30px 12px 12px;
  box-shadow:0 8px 22px rgba(0,0,0,.35);
  z-index:4;
}
.lamp-shade{
  position:absolute;
  top:72px;
  left:50%;
  width:176px;
  height:88px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,#2d3748 0%,#111827 52%,#070b13 100%);
  clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);
  border-bottom:5px solid rgba(255,187,68,.92);
  filter:drop-shadow(0 22px 24px rgba(0,0,0,.42));
  z-index:4;
}
.lamp-glow-dot{
  position:absolute;
  left:50%;
  bottom:9px;
  width:44px;
  height:10px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#ffd36b;
  box-shadow:0 0 35px #ffb000,0 0 70px rgba(255,153,0,.72);
}
.light-cone{
  position:absolute;
  top:152px;
  left:50%;
  width:440px;
  height:560px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at top,rgba(255,207,104,.55) 0%,rgba(255,172,49,.22) 30%,rgba(255,150,0,.08) 56%,transparent 72%);
  clip-path:polygon(39% 0,61% 0,100% 100%,0 100%);
  opacity:.96;
  filter:blur(.2px);
  transition:opacity .55s ease, transform .55s ease;
  z-index:1;
}
.ambient-glow{
  position:absolute;
  top:130px;
  left:50%;
  width:560px;
  height:560px;
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(255,168,48,.22),transparent 62%);
  filter:blur(18px);
  opacity:.95;
  transition:opacity .55s ease;
}
.login-stage{
  position:relative;
  z-index:3;
  width:min(440px,100%);
}
.login-intro{
  text-align:center;
  margin-bottom:18px;
  transition:opacity .5s ease,transform .5s ease;
}
.premium-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#ffdf9a;
  font-weight:800;
  font-size:13px;
  backdrop-filter:blur(12px);
}
.login-intro h1{
  margin:13px 0 8px;
  font-size:clamp(30px,5vw,46px);
  font-weight:950;
  letter-spacing:-1.8px;
  color:#fff;
  text-shadow:0 0 34px rgba(255,174,0,.42);
}
.login-intro p{
  color:rgba(255,255,255,.78);
  margin:0;
}
.lamp-login-card.auth-card{
  width:100%;
  margin:0;
  padding:30px !important;
  border:1px solid rgba(255,255,255,.24);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.08)) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.28);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  transform:translateY(0) scale(1);
  opacity:1;
  transition:opacity .55s ease, transform .55s cubic-bezier(.2,.9,.2,1), filter .55s ease;
}
.lamp-login-card h3{
  color:#fff;
  text-shadow:0 0 24px rgba(255,181,43,.28);
  margin-bottom:22px;
}
.lamp-login-card .form-control{
  min-height:54px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.86);
  box-shadow:0 12px 28px rgba(0,0,0,.13);
}
.lamp-login-card .form-control:focus{
  border-color:#ffbc38;
  box-shadow:0 0 0 .22rem rgba(255,188,56,.22),0 15px 35px rgba(0,0,0,.18);
}
.lamp-login-card .btn-main{
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#ff6b00,#ffb000);
  box-shadow:0 18px 36px rgba(255,116,0,.28);
}
.lamp-login-card a{color:#fff;font-weight:800;text-decoration:none}
.lamp-login-card .btn-soft{
  border-radius:16px;
  background:rgba(255,255,255,.18);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}
.lamp-login-card .btn-outline-dark{
  color:#fff;
  border-color:rgba(255,255,255,.36);
  background:rgba(255,255,255,.08);
}
.lamp-login-card .small-muted{color:rgba(255,255,255,.78)}
.lamp-switch:not(:checked) ~ .lamp-area .light-cone,
.lamp-switch:not(:checked) ~ .lamp-area .ambient-glow{opacity:0}
.lamp-switch:not(:checked) ~ .lamp-area .lamp-glow-dot{
  background:#263242;
  box-shadow:none;
}
.lamp-switch:not(:checked) ~ .login-stage .lamp-login-card{
  opacity:0;
  transform:translateY(28px) scale(.94);
  filter:blur(8px);
  pointer-events:none;
}
.lamp-switch:not(:checked) ~ .login-stage .login-intro{
  opacity:.62;
  transform:translateY(10px);
}
.lamp-switch:not(:checked) ~ .login-stage .login-intro h1{
  text-shadow:none;
}
@keyframes ropeFloat{
  0%,100%{transform:rotate(-2deg)}
  50%{transform:rotate(2.5deg)}
}
.lamp-rope:active{animation:none;transform:translateY(10px) rotate(0)}
@media(max-width:560px){
  .lamp-scene{padding:118px 14px 28px}
  .lamp-area{height:360px}
  .lamp-rope{left:calc(50% + 76px);height:162px}
  .rope-line{height:132px}
  .lamp-shade{width:142px;height:74px}
  .light-cone{top:138px;width:330px;height:500px}
  .lamp-login-card.auth-card{padding:22px !important;border-radius:24px}
  .login-intro p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .lamp-rope{animation:none}
  .lamp-login-card,.light-cone,.ambient-glow,.login-intro{transition:none}
}


/* =========================
   V52 LOGIN LAMP FIX
   - default hidden form
   - no rope/text overlap
   - clearer mobile spacing
========================= */

.lamp-login-page .lamp-scene{
  min-height:100vh;
  align-items:start;
  padding-top:260px !important;
  padding-bottom:44px !important;
}

.lamp-login-page .lamp-area{
  top:0 !important;
  height:255px !important;
  z-index:1 !important;
}

.lamp-login-page .lamp-rope{
  left:calc(50% + 118px) !important;
  height:172px !important;
  z-index:12 !important;
}

.lamp-login-page .rope-line{
  height:136px !important;
}

.lamp-login-page .lamp-cap{
  top:38px !important;
}

.lamp-login-page .lamp-shade{
  top:58px !important;
}

.lamp-login-page .light-cone{
  top:132px !important;
  width:430px !important;
  height:470px !important;
  z-index:0 !important;
}

.lamp-login-page .ambient-glow{
  top:96px !important;
}

.lamp-login-page .login-stage{
  z-index:5 !important;
  margin-top:0 !important;
}

.lamp-login-page .login-intro{
  margin-top:0 !important;
  margin-bottom:22px !important;
  padding-top:0 !important;
  position:relative !important;
  z-index:6 !important;
}

.lamp-login-page .login-intro h1{
  margin-top:14px !important;
}

/* Default OFF state: form must be hidden at first */
.lamp-login-page .lamp-switch:not(:checked) ~ .login-stage .lamp-login-card{
  opacity:0 !important;
  transform:translateY(34px) scale(.92) !important;
  filter:blur(9px) !important;
  pointer-events:none !important;
  visibility:hidden !important;
  max-height:0 !important;
  overflow:hidden !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
}

/* OFF state: keep only instruction text visible */
.lamp-login-page .lamp-switch:not(:checked) ~ .login-stage .login-intro{
  opacity:1 !important;
  transform:none !important;
}

.lamp-login-page .lamp-switch:not(:checked) ~ .login-stage .premium-pill{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.22) !important;
}

/* ON state: form appears smoothly */
.lamp-login-page .lamp-switch:checked ~ .login-stage .lamp-login-card{
  opacity:1 !important;
  visibility:visible !important;
  max-height:900px !important;
  overflow:visible !important;
  transform:translateY(0) scale(1) !important;
  filter:none !important;
  pointer-events:auto !important;
  padding:30px !important;
  transition:
    opacity .55s ease,
    transform .55s cubic-bezier(.2,.9,.2,1),
    filter .55s ease,
    max-height .55s ease,
    padding .35s ease !important;
}

.lamp-login-page .lamp-switch:checked ~ .lamp-area .light-cone,
.lamp-login-page .lamp-switch:checked ~ .lamp-area .ambient-glow{
  opacity:.96 !important;
}

.lamp-login-page .lamp-switch:checked ~ .lamp-area .lamp-glow-dot{
  background:#ffd36b !important;
  box-shadow:0 0 35px #ffb000,0 0 70px rgba(255,153,0,.72) !important;
}

.lamp-login-page .lamp-switch:not(:checked) ~ .lamp-area .light-cone,
.lamp-login-page .lamp-switch:not(:checked) ~ .lamp-area .ambient-glow{
  opacity:0 !important;
}

.lamp-login-page .lamp-switch:not(:checked) ~ .lamp-area .lamp-glow-dot{
  background:#263242 !important;
  box-shadow:none !important;
}

/* Rope hint */
.lamp-login-page .lamp-rope:after{
  content:"Click";
  position:absolute;
  left:50%;
  bottom:-22px;
  transform:translateX(-50%);
  font-size:11px;
  font-weight:900;
  letter-spacing:.6px;
  color:#ffd36b;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.18);
  padding:3px 8px;
  border-radius:999px;
  white-space:nowrap;
}

@media(max-width:560px){
  .lamp-login-page .lamp-scene{
    padding-top:235px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .lamp-login-page .lamp-area{
    height:230px !important;
  }

  .lamp-login-page .lamp-rope{
    left:calc(50% + 76px) !important;
    height:150px !important;
  }

  .lamp-login-page .rope-line{
    height:118px !important;
  }

  .lamp-login-page .lamp-cap{
    top:34px !important;
    width:78px !important;
  }

  .lamp-login-page .lamp-shade{
    top:54px !important;
    width:132px !important;
    height:70px !important;
  }

  .lamp-login-page .light-cone{
    top:122px !important;
    width:320px !important;
    height:430px !important;
  }

  .lamp-login-page .login-intro h1{
    font-size:30px !important;
    line-height:1.05 !important;
  }

  .lamp-login-page .login-intro p{
    font-size:13px !important;
  }

  .lamp-login-page .lamp-switch:checked ~ .login-stage .lamp-login-card{
    padding:22px !important;
  }
}

@media(max-width:380px){
  .lamp-login-page .lamp-scene{
    padding-top:225px !important;
  }
  .lamp-login-page .lamp-rope{
    left:calc(50% + 62px) !important;
  }
  .lamp-login-page .premium-pill{
    font-size:11px !important;
    padding:7px 10px !important;
  }
}

/* =========================
   V54 ADMIN RESPONSIVE UI
========================= */
.admin-page-v54{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 4%,rgba(255,118,0,.14),transparent 28%),
    radial-gradient(circle at 88% 10%,rgba(37,99,235,.12),transparent 30%),
    linear-gradient(135deg,#f8fafc,#eef2f7);
  color:#0f172a;
}
.admin-topbar-v54{
  position:sticky;
  top:0;
  z-index:1020;
  padding:10px 0;
  background:rgba(15,23,42,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 35px rgba(15,23,42,.18);
}
.admin-nav-inner-v54{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.admin-brand-v54{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  min-width:0;
}
.admin-brand-v54:hover{color:#fff}
.brand-icon-v54{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#ff7600,#ffb000);
  box-shadow:0 14px 30px rgba(255,118,0,.28);
  flex:0 0 auto;
}
.admin-brand-v54 b{
  display:block;
  font-size:18px;
  line-height:1;
}
.admin-brand-v54 small{
  display:block;
  color:rgba(255,255,255,.65);
  font-weight:700;
  font-size:12px;
  margin-top:4px;
}
.admin-links-v54{
  display:flex;
  align-items:center;
  gap:8px;
}
.admin-links-v54 a{
  color:rgba(255,255,255,.86);
  text-decoration:none;
  font-weight:800;
  padding:10px 14px;
  border-radius:999px;
  transition:.2s;
}
.admin-links-v54 a:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
}
.admin-links-v54 .logout-v54{
  background:#fff;
  color:#111827;
}
.admin-menu-btn-v54{
  display:none;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  width:44px;
  height:44px;
  border-radius:14px;
  font-size:24px;
  line-height:1;
}
.admin-mobile-backdrop-v54{
  display:none;
}
.admin-hero-v54{
  border-radius:30px;
  padding:28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  color:#fff;
  background:linear-gradient(135deg,#111827,#1f2937 55%,#ff7600);
  box-shadow:0 24px 60px rgba(15,23,42,.18);
  overflow:hidden;
  position:relative;
}
.admin-hero-v54:after{
  content:"";
  position:absolute;
  right:-80px;
  top:-90px;
  width:250px;
  height:250px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.admin-hero-v54 > *{
  position:relative;
  z-index:1;
}
.admin-pill-v54{
  display:inline-flex;
  padding:7px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#ffdf9a;
  font-weight:900;
  font-size:12px;
  margin-bottom:10px;
}
.admin-hero-v54 h1{
  margin:0;
  font-weight:950;
  letter-spacing:-1.2px;
  font-size:clamp(30px,4vw,48px);
}
.admin-hero-v54 p{
  margin:8px 0 0;
  color:rgba(255,255,255,.78);
  max-width:680px;
}
.admin-hero-actions-v54{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.admin-stat-grid-v54{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.admin-stat-v54{
  background:#fff;
  border:1px solid #e8eef7;
  border-radius:26px;
  padding:20px;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.admin-stat-v54 span{
  color:#64748b;
  font-weight:900;
  font-size:13px;
}
.admin-stat-v54 b{
  display:block;
  font-size:30px;
  margin:8px 0 4px;
  color:#0f172a;
  line-height:1;
}
.admin-stat-v54 small{
  color:#94a3b8;
  font-weight:700;
}
.admin-card-v54{
  background:#fff;
  border:1px solid #e8eef7;
  border-radius:26px;
  padding:22px;
  box-shadow:0 18px 50px rgba(15,23,42,.08);
}
.admin-card-head-v54{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.admin-card-head-v54 h3{
  margin:0;
  font-weight:950;
  color:#111827;
}
.admin-card-head-v54 small{
  color:#64748b;
  font-weight:700;
}
.admin-card-v54 label{
  font-weight:800;
  color:#334155;
  margin-bottom:6px;
  font-size:13px;
}
.admin-card-v54 .form-control,
.admin-card-v54 .form-select{
  border-radius:16px;
  border:1px solid #dbe4ef;
  min-height:46px;
}
.admin-search-v54{
  max-width:320px;
}
.admin-table-wrap-v54{
  border-radius:20px;
  border:1px solid #edf2f7;
  overflow:auto;
}
.admin-table-v54{
  margin:0;
}
.admin-table-v54 th{
  background:#f8fafc;
  color:#475569;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.5px;
  white-space:nowrap;
  border-bottom:1px solid #e5e7eb;
}
.admin-table-v54 td{
  vertical-align:middle;
}
.admin-actions-v54{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.admin-actions-v54 .btn{
  border-radius:12px;
  font-weight:850;
}
.admin-status-v54{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  text-transform:capitalize;
}
.admin-status-pending{background:#fef3c7;color:#92400e}
.admin-status-approved{background:#dcfce7;color:#166534}
.admin-status-rejected{background:#fee2e2;color:#991b1b}
.admin-ref-v54{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:5px 8px;
  display:inline-block;
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
}
.admin-proof-v54{
  width:58px;
  height:58px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#fff;
}
.admin-mobile-list-v54{
  display:none;
}
.admin-mobile-card-v54{
  background:#fff;
  border:1px solid #e8eef7;
  border-radius:20px;
  padding:16px;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  margin-bottom:12px;
}
.admin-mobile-card-v54 h5{
  margin:0;
  font-weight:950;
}
.admin-mobile-card-v54 p{
  margin:4px 0 12px;
  color:#64748b;
  font-size:13px;
}
.admin-mobile-meta-v54{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:9px 0;
  border-bottom:1px dashed #e5e7eb;
}
.admin-mobile-meta-v54 small{
  color:#64748b;
  font-weight:900;
}
.admin-mobile-meta-v54:last-child{
  border-bottom:0;
}
@media(max-width:992px){
  .admin-stat-grid-v54{grid-template-columns:repeat(2,1fr)}
  .admin-hero-v54{align-items:flex-start;flex-direction:column}
}
@media(max-width:768px){
  .admin-page-v54 .container{padding-left:12px!important;padding-right:12px!important}
  .admin-menu-btn-v54{display:block}
  .admin-links-v54{
    position:fixed;
    right:-310px;
    top:0;
    width:290px;
    max-width:88vw;
    height:100vh;
    background:#0f172a;
    flex-direction:column;
    align-items:stretch;
    padding:90px 16px 20px;
    box-shadow:-20px 0 45px rgba(0,0,0,.28);
    transition:.25s ease;
    z-index:2000;
  }
  .admin-links-v54 a{
    border-radius:16px;
    padding:14px 16px;
    background:rgba(255,255,255,.06);
  }
  .admin-nav-open-v54 .admin-links-v54{right:0}
  .admin-nav-open-v54 .admin-mobile-backdrop-v54{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:1500;
  }
  .admin-topbar-v54{padding:8px 0}
  .admin-brand-v54 small{display:none}
  .brand-icon-v54{width:42px;height:42px;border-radius:14px}
  .admin-hero-v54{border-radius:22px;padding:22px}
  .admin-hero-v54 h1{font-size:28px}
  .admin-hero-actions-v54{width:100%}
  .admin-hero-actions-v54 .btn{width:100%}
  .admin-card-v54{border-radius:22px;padding:16px}
  .admin-card-head-v54{align-items:flex-start}
  .admin-search-v54{max-width:100%;width:100%}
  .admin-payment-table-desktop-v54{display:none}
  .admin-mobile-list-v54{display:block}
}
@media(max-width:480px){
  .admin-stat-grid-v54{grid-template-columns:1fr}
  .admin-stat-v54{border-radius:20px;padding:16px}
  .admin-actions-v54 .btn{width:100%}
}

/* =========================
   V56 AUTH PAGES UI
========================= */
.auth-v56-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 14% 12%,rgba(255,118,0,.22),transparent 30%),
    radial-gradient(circle at 82% 18%,rgba(37,99,235,.16),transparent 32%),
    linear-gradient(135deg,#07111f 0%,#0f172a 52%,#321607 100%) !important;
  overflow-x:hidden;
}
.auth-v56-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:36px 16px;
  position:relative;
  isolation:isolate;
}
.auth-v56-shell:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 85%,transparent);
  pointer-events:none;
  opacity:.65;
}
.auth-v56-wrap{
  width:min(1080px,100%);
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:24px;
  align-items:stretch;
  position:relative;
  z-index:1;
}
.auth-v56-info{
  color:#fff;
  padding:36px;
  border-radius:34px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055)),
    radial-gradient(circle at top right,rgba(255,183,0,.24),transparent 36%);
  border:1px solid rgba(255,255,255,.17);
  box-shadow:0 30px 90px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  overflow:hidden;
  position:relative;
}
.auth-v56-info:after{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:-90px;
  bottom:-90px;
  background:radial-gradient(circle,rgba(255,118,0,.30),transparent 68%);
  border-radius:50%;
}
.auth-v56-logo{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(135deg,#ff7600,#ffb000);
  font-size:34px;
  box-shadow:0 20px 42px rgba(255,118,0,.28);
  margin-bottom:22px;
}
.auth-v56-eyebrow{
  display:inline-flex;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.17);
  color:#ffdf9a;
  font-weight:950;
  font-size:12px;
  letter-spacing:.4px;
  text-transform:uppercase;
}
.auth-v56-info h1{
  margin:18px 0 12px;
  font-size:clamp(34px,4vw,54px);
  line-height:.98;
  letter-spacing:-2px;
  font-weight:950;
}
.auth-v56-info p{
  color:rgba(255,255,255,.78);
  line-height:1.75;
  font-size:16px;
  max-width:430px;
}
.auth-v56-points{
  display:grid;
  gap:12px;
  margin-top:26px;
}
.auth-v56-points span{
  display:flex;
  align-items:center;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.88);
  font-weight:850;
}
.auth-v56-card.auth-card{
  width:100%;
  max-width:none;
  margin:0;
  border-radius:34px;
  padding:34px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.84)) !important;
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 30px 90px rgba(0,0,0,.25);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.auth-v56-card h3{
  font-size:clamp(24px,3vw,34px);
  letter-spacing:-.8px;
  color:#0f172a;
  margin-bottom:8px;
}
.auth-v56-card p.text-muted{
  color:#64748b!important;
  font-weight:700;
}
.auth-v56-card .form-control{
  min-height:52px;
  border-radius:18px;
  border:1px solid #dbe4ef;
  background:#f8fafc;
  font-size:16px;
  transition:.2s ease;
}
.auth-v56-card .form-control:focus{
  background:#fff;
  border-color:#ff9b1f;
  box-shadow:0 0 0 .22rem rgba(255,118,0,.16);
}
.auth-v56-card .btn-main{
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#ff7600,#ffb000);
  box-shadow:0 16px 34px rgba(255,118,0,.22);
  font-weight:950;
}
.auth-v56-card .btn-light{
  border-radius:18px;
  min-height:46px;
  font-weight:900;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
}
.auth-v56-card a{
  color:#ea580c;
  text-decoration:none;
}
.auth-v56-card a:hover{
  text-decoration:underline;
}
.auth-v56-card .alert{
  border-radius:18px;
  border:0;
  font-weight:750;
}
.auth-v56-card .v31-reset-note{
  border-radius:18px;
  background:#fff7ed;
  color:#9a3412;
  padding:12px 14px;
  font-weight:750;
  border:1px solid #fed7aa;
}
@media(max-width:900px){
  .auth-v56-wrap{
    grid-template-columns:1fr;
  }
  .auth-v56-info{
    padding:28px;
  }
}
@media(max-width:560px){
  .auth-v56-shell{
    padding:18px 12px;
    align-items:start;
  }
  .auth-v56-info{
    padding:22px;
    border-radius:24px;
  }
  .auth-v56-logo{
    width:58px;
    height:58px;
    border-radius:20px;
    font-size:28px;
    margin-bottom:16px;
  }
  .auth-v56-info h1{
    font-size:32px;
    letter-spacing:-1.2px;
  }
  .auth-v56-info p{
    font-size:14px;
  }
  .auth-v56-points{
    gap:8px;
    margin-top:18px;
  }
  .auth-v56-points span{
    padding:10px 12px;
    font-size:13px;
    border-radius:15px;
  }
  .auth-v56-card.auth-card{
    padding:22px !important;
    border-radius:24px;
  }
  .auth-v56-card .form-control{
    min-height:50px;
  }
}

/* =========================
   V57 DASHBOARD TABS UI
========================= */
.v57-tabs-card{
  background:rgba(255,255,255,.82);
  border:1px solid #e8eef7;
  border-radius:30px;
  padding:18px;
  box-shadow:0 24px 70px rgba(15,23,42,.10);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  margin-top:24px;
}
.v57-tab-nav{
  display:flex;
  gap:12px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  border-radius:22px;
  padding:8px;
  margin-bottom:18px;
  position:sticky;
  top:78px;
  z-index:20;
}
.v57-tab-btn{
  flex:1;
  border:0;
  background:transparent;
  color:#475569;
  font-weight:950;
  padding:14px 16px;
  border-radius:17px;
  transition:.22s ease;
}
.v57-tab-btn.active{
  color:#fff;
  background:linear-gradient(135deg,#ff7600,#ffb000);
  box-shadow:0 14px 30px rgba(255,118,0,.22);
}
.v57-tab-panel{display:none;animation:v57Fade .25s ease}
.v57-tab-panel.active{display:block}
@keyframes v57Fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.v57-create-card.form-card-v20{
  max-width:920px;
  margin:0 auto;
  border:0;
  box-shadow:none;
  background:linear-gradient(145deg,#fff,#f8fafc);
  border-radius:24px;
}
.v57-create-card h3{
  font-size:clamp(24px,3vw,34px);
  letter-spacing:-.8px;
}
.v57-create-card .form-control{
  min-height:50px;
  border-radius:16px;
  border:1px solid #dbe4ef;
}
.v57-create-card .form-control:focus{
  border-color:#ff8a18;
  box-shadow:0 0 0 .22rem rgba(255,118,0,.13);
}
.v57-create-card label{
  color:#334155;
  font-weight:850!important;
  margin-bottom:7px;
}
.v57-hotels-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:18px;
  padding:4px 4px 0;
}
.v57-hotels-head h3{
  font-size:clamp(24px,3vw,34px);
  letter-spacing:-.8px;
}
.v57-tabs-card .hotel-list-v20{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.v57-tabs-card .hotel-card-v20{
  border-radius:28px;
  border:1px solid #e8eef7;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.08);
  overflow:hidden;
}
.v57-tabs-card .hotel-card-v20 h4{
  font-size:24px;
  letter-spacing:-.5px;
}
.v57-tabs-card .v27-preview{
  width:100%;
  min-height:120px;
  border-radius:18px;
  object-fit:cover;
  background:linear-gradient(135deg,#111827,#334155);
}
.v57-tabs-card .hotel-actions-v20{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.v57-tabs-card .hotel-actions-v20 .btn{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  font-weight:850;
  font-size:13px;
  white-space:normal;
}
.v57-tabs-card .badge{
  border-radius:999px;
  padding:7px 10px;
}
.v57-tabs-card .help-box-v20,
.v57-tabs-card .v27-upload-box{
  border-radius:20px;
  border:1px dashed #fed7aa;
  background:#fff7ed;
}
@media(max-width:992px){
  .v57-tabs-card .hotel-list-v20{
    grid-template-columns:1fr;
  }
}
@media(max-width:768px){
  .v57-tabs-card{
    border-radius:24px;
    padding:12px;
    margin-top:18px;
  }
  .v57-tab-nav{
    top:68px;
    gap:7px;
    padding:6px;
    border-radius:18px;
    overflow-x:auto;
  }
  .v57-tab-btn{
    min-width:150px;
    flex:0 0 auto;
    padding:12px 14px;
    border-radius:14px;
    font-size:14px;
  }
  .v57-create-card.form-card-v20{
    padding:16px!important;
    border-radius:20px;
  }
  .v57-hotels-head{
    align-items:flex-start;
  }
  .v57-hotels-head .btn{
    width:100%;
  }
  .v57-tabs-card .hotel-card-v20{
    border-radius:22px;
    padding:16px!important;
  }
  .v57-tabs-card .hotel-actions-v20{
    grid-template-columns:1fr;
  }
  .v57-tabs-card .v27-preview{
    min-height:96px;
  }
}
@media(max-width:420px){
  .v57-tab-btn{
    min-width:135px;
    font-size:13px;
  }
  .v57-tabs-card .hotel-card-v20 .row .col-6{
    width:100%;
  }
}


/* V68 COMPLETE RESPONSIVE UI HARDENING
   Prevents mobile overlap, horizontal scroll, broken tables/cards/forms across owner/customer pages. */
html,body{max-width:100%;overflow-x:hidden}img,video,canvas,svg{max-width:100%;height:auto}.container,.container-fluid{max-width:100%}.card,.card-pro,.landing-card,.single-section,.single-menu-card,.stat-card,.search-box{min-width:0;overflow-wrap:anywhere}.btn,.btn-main,.btn-soft,.service-btn,.add-btn,.social-btn,.pro-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;white-space:normal;text-align:center;line-height:1.2}.btn.w-100,.btn-main.w-100,.btn-soft.w-100{display:flex}.table{margin-bottom:0}.table th,.table td{white-space:normal;vertical-align:middle}.table-responsive{border-radius:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.form-control,.form-select,textarea{max-width:100%;font-size:16px}.owner-tabs{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.owner-tabs .btn{flex:0 0 auto;margin:0!important}.app-nav .container,.app-nav .navbar,.app-nav .d-flex{min-width:0;flex-wrap:wrap;gap:8px}.row{--bs-gutter-y:1rem}.modal-content{max-width:100%;overflow:hidden}.modal-body{overflow-wrap:anywhere}

/* Customer QR menu: clean OCR/menu cards */
.customer-body{overflow-x:hidden}.menu-stage{width:100%;max-width:900px}.customer-head .container{min-width:0}.customer-head h3{overflow-wrap:anywhere}.food-card{min-width:0;width:100%;border:1px solid rgba(15,23,42,.06);box-shadow:0 8px 22px rgba(15,23,42,.08)}.food-card .flex-grow-1{min-width:0}.food-name{overflow-wrap:anywhere;line-height:1.22}.menu-item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.menu-item-meta span{display:inline-flex;align-items:center;border-radius:999px;background:#f8fafc;border:1px solid #e5e7eb;color:#475569;padding:4px 8px;font-size:12px;font-weight:800}.menu-desc{font-size:13px;color:#64748b;line-height:1.45;margin-top:5px;overflow-wrap:anywhere}.add-btn{flex:0 0 auto;min-width:72px}.service-grid form{min-width:0}.service-btn{width:100%;height:100%;overflow-wrap:anywhere}.floating-cart-btn{max-width:calc(100vw - 24px)}

@media(max-width:992px){.single-grid,.pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card,.hero-grid{grid-template-columns:1fr!important}.desktop-table{min-width:760px}.card-pro.p-4,.landing-card{padding:18px!important}}
@media(max-width:768px){body{font-size:15px}.container{padding-left:14px;padding-right:14px}.row>[class*=col-]{min-width:0}.card-pro{border-radius:20px}.card-pro.p-4,.single-section,.landing-card{padding:16px!important}.owner-tabs{position:sticky;top:0;border-radius:0 0 16px 16px;padding:8px}.owner-tabs .btn{font-size:12px;padding:9px 10px;min-height:38px}.stat-card{padding:15px}.single-grid,.pro-grid,.feature-grid,.step-grid,.faq-grid{grid-template-columns:1fr!important}.single-hero,.hero-landing{border-radius:22px;padding:24px 16px}.social-row,.pro-actions{gap:8px}.social-pill,.pro-btn{width:100%;justify-content:center}.table-responsive .btn,.table .btn{min-height:34px;padding:7px 9px;font-size:12px;margin:2px 0}.quick-service-admin{grid-template-columns:1fr!important}.ocr-v58-toolbar{grid-template-columns:1fr!important}.import-row{gap:8px}.import-row .btn{width:100%}}
@media(max-width:576px){.customer-head{border-radius:0 0 20px 20px;padding:9px 8px}.customer-head .container{align-items:flex-start!important}.customer-head .d-flex.align-items-center.gap-3{gap:8px!important;min-width:0;flex:1}.customer-head .btn{flex:0 0 auto;min-width:auto;padding:8px 10px;font-size:12px}.logo-mini{width:38px;height:38px;border-radius:12px}.menu-stage{padding:12px 10px 110px}.hotel-info-card{border-radius:18px;padding:14px}.hotel-info-card>.d-flex{align-items:flex-start!important}.hotel-info-card .info-pill{width:100%;white-space:normal;justify-content:flex-start}.cat-title{top:58px;margin:14px 0 9px}.food-card{display:grid!important;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border-radius:18px}.food-card .add-btn{grid-column:1/-1;width:100%;margin-top:2px}.food-icon,.food-img{width:54px!important;height:54px!important;min-width:54px;border-radius:15px}.price{font-size:15px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.service-btn{min-height:58px;font-size:12px;padding:9px 6px}.social-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.social-btn{width:100%;font-size:12px;padding:10px 8px}.floating-cart-btn{left:10px!important;right:10px!important;bottom:10px!important;width:calc(100% - 20px)!important;border-radius:16px!important;padding:13px 10px!important}.modal-dialog{margin:8px!important}.modal-header,.modal-body{padding:14px}.cart-modal-row{flex-direction:column;align-items:flex-start}.cart-modal-row>div:last-child{width:100%;justify-content:flex-end}.bill-mini-table{font-size:12px}.bill-mini-table th,.bill-mini-table td{padding:7px 5px}.btn,.btn-main,.btn-soft{width:100%;margin-bottom:6px}.btn-group,.d-flex.gap-2,.d-flex.gap-3{flex-wrap:wrap}.app-nav .btn,.owner-tabs .btn,.table .btn{width:auto}.auth-card{border-radius:22px;padding:20px}.pro-title{font-size:38px!important}.pro-section-title{font-size:30px!important}.pro-hero{min-height:auto;border-radius:24px}.pro-hero-food{position:relative!important;width:100%!important;right:auto!important;bottom:auto!important;margin-top:12px}.pro-nav{padding:18px}.pro-hero-content{padding:22px 18px}.pro-card-footer{flex-direction:column;align-items:stretch!important;gap:10px}}
@media(max-width:380px){.container{padding-left:10px;padding-right:10px}.service-grid,.social-links{grid-template-columns:1fr!important}.food-card{grid-template-columns:48px minmax(0,1fr);gap:8px}.food-icon,.food-img{width:48px!important;height:48px!important;min-width:48px}.owner-tabs .btn{font-size:11px;padding:8px}.customer-head h3{font-size:16px}.customer-head .btn{font-size:11px;padding:7px 8px}.menu-item-meta span{font-size:11px}.table{font-size:13px}}
@media(max-width:576px){
  table.table:not(.bill-mini-table){display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:separate}
  table.table:not(.bill-mini-table) thead,table.table:not(.bill-mini-table) tbody,table.table:not(.bill-mini-table) tr{width:100%}
}
.owner-tabs>.container{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px}.owner-tabs>.container .btn{flex:0 0 auto}


/* V69 full responsive polish */
img,video,canvas,svg{max-width:100%;height:auto}
.table-responsive{border-radius:16px;overflow:auto;-webkit-overflow-scrolling:touch}
.table{min-width:640px}
.btn,.form-control,.form-select{max-width:100%}
.card-pro,.stat-card{overflow:hidden}
.food-card{background:#fff;border-radius:22px;padding:14px;margin-bottom:12px;box-shadow:0 10px 30px rgba(15,23,42,.08);border:1px solid rgba(255,255,255,.6)}
.food-icon{display:grid;place-items:center;width:64px;height:64px;min-width:64px;border-radius:18px;background:#fff7ed;font-size:30px;overflow:hidden}
.food-img{width:100%;height:100%;object-fit:cover}
.food-name{font-weight:900;font-size:16px;color:#111827}
.menu-desc{font-size:13px;color:#6b7280;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.menu-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.menu-meta span{font-size:11px;background:#f1f5f9;border-radius:999px;padding:4px 8px;color:#475569;font-weight:700}
.price{font-size:17px;font-weight:900;color:#16a34a}.add-btn,.qty-btn,.service-btn{border:0;border-radius:14px;font-weight:900}.add-btn{background:#111827;color:#fff;padding:10px 14px;min-width:76px}.qty-btn{background:#fff3e8;color:#c2410c;min-width:34px;min-height:34px}.service-btn{background:#fff7ed;color:#9a3412;padding:12px 10px;min-height:72px;box-shadow:inset 0 0 0 1px rgba(251,146,60,.25)}
.logo-mini{width:48px;height:48px;border-radius:14px;object-fit:cover;background:#fff}
.social-google{background:#fef3c7;color:#92400e}.social-insta{background:#fce7f3;color:#9d174d}.social-fb{background:#dbeafe;color:#1d4ed8}.social-wa{background:#dcfce7;color:#166534}
@media(max-width:768px){.container{max-width:100%}.card-pro{border-radius:20px}.table{font-size:13px}.table th,.table td{white-space:nowrap}.stat-num{font-size:22px}.auth-card{border-radius:22px;padding:22px}}
@media(max-width:576px){.row{--bs-gutter-x:.75rem}.btn{white-space:normal}.app-nav .navbar-brand,.app-nav .nav-link{max-width:100%;overflow-wrap:anywhere}.hotel-img{height:120px}.card-pro,.stat-card{border-radius:18px}.table{min-width:560px}.modal-content{max-height:calc(100vh - 20px)}}

/* V70 global popup/layer safety and visibility fixes */
.modal{z-index:12000!important}.modal-backdrop{z-index:11990!important}.swal2-container{z-index:20000!important}.toast-lite{z-index:21000!important}
.dropdown-menu,.flatpickr-calendar,.select2-container--open{z-index:13000!important}
.btn,.btn-main,.btn-soft,.service-btn,.add-btn,.social-btn{font-weight:800}
.btn:disabled,.loading-disabled{opacity:.72;cursor:not-allowed}

/* ================= V73 MOBILE-FIRST TOUCH UX PATCH =================
   Purpose: global touch-friendly controls, readable colors, better modal layers,
   responsive tables/cards and smoother low-cost transitions across the SaaS app.
*/
:root{
  --v73-bg:#f6f8fc;
  --v73-surface:#ffffff;
  --v73-text:#0f172a;
  --v73-muted:#64748b;
  --v73-border:#e2e8f0;
  --v73-primary:var(--orange,#ff6b00);
  --v73-dark:#111827;
  --v73-radius:22px;
  --v73-shadow:0 12px 34px rgba(15,23,42,.08);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--v73-bg);color:var(--v73-text);line-height:1.55;overflow-x:hidden}
a,button,.btn,.p-btn,.v34-btn,.v28-action,.social-btn,.service-btn,.add-btn,.qty-btn,input,select,textarea{touch-action:manipulation}
button,.btn,.p-btn,.v34-btn,.v28-action,.social-btn,.service-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.btn-sm{min-height:38px}
.btn-main,.p-primary,.v34-btn-primary{box-shadow:0 10px 22px rgba(255,107,0,.22)}
.btn:focus,.p-btn:focus,.v34-btn:focus,.form-control:focus,.form-select:focus,.add-btn:focus,.service-btn:focus{outline:3px solid rgba(255,107,0,.24)!important;outline-offset:2px;box-shadow:0 0 0 4px rgba(255,107,0,.10)!important}
.form-control,.form-select,textarea.form-control{min-height:46px;font-size:16px;border-color:var(--v73-border);background:#fff;color:var(--v73-text)}
.form-control::placeholder{color:#94a3b8}
.card-pro,.stat-card,.search-box,.single-section,.landing-card,.p-card,.v34-card,.v28-card{border:1px solid rgba(226,232,240,.9)!important;border-radius:var(--v73-radius)!important;box-shadow:var(--v73-shadow)!important}
.table-responsive{border-radius:18px;overflow:auto;-webkit-overflow-scrolling:touch}
.table{color:var(--v73-text)}
.table th{white-space:nowrap;color:#334155;background:#f8fafc}
.table td{vertical-align:middle;color:#1f2937}
img{max-width:100%;height:auto}.small-muted,.text-muted{color:var(--v73-muted)!important}
.modal{z-index:50000!important}.modal-backdrop{z-index:49990!important}.modal-dialog{max-width:min(96vw,900px)}.modal-content{box-shadow:0 30px 90px rgba(15,23,42,.30)!important;border:0!important}
.swal2-container{z-index:60000!important}.swal2-popup{border-radius:24px!important}.swal2-actions button{min-height:44px!important;border-radius:14px!important}.dropdown-menu,.popover,.tooltip{z-index:55000!important}.toast-lite{z-index:61000!important}
.owner-tabs{position:sticky;top:0;z-index:1020;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.owner-tabs a{scroll-snap-align:start;min-height:42px;display:inline-flex;align-items:center}
.desktop-table{min-width:780px}.bill-table input,.bill-table select{min-width:88px}.loading-disabled,.btn[disabled],button[disabled]{opacity:.72!important;pointer-events:none!important}
@media(max-width:768px){
  .container{padding-left:12px!important;padding-right:12px!important}.row{--bs-gutter-x:1rem}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1rem!important}.card-pro{border-radius:20px!important}.stat-num{font-size:22px}.app-nav .navbar-brand,.pro-brand{font-size:18px}.owner-tabs{margin-left:-12px;margin-right:-12px;border-radius:0;padding:10px 12px}.owner-tabs .btn{flex:0 0 auto}.quick-service-admin{grid-template-columns:1fr!important}.table:not(.bill-mini-table){font-size:13px}.table th,.table td{padding:.55rem}.btn,.p-btn,.v34-btn{width:auto}.w-100.btn,.w-100.p-btn,.w-100.v34-btn{width:100%!important}.d-inline .btn,.d-inline-block .btn{width:auto!important}
}
@media(max-width:480px){
  h1{font-size:1.65rem}h2{font-size:1.45rem}h3{font-size:1.25rem}h4{font-size:1.12rem}.auth-card{border-radius:22px;padding:20px}.modal-dialog{margin:8px}.modal-header,.modal-body,.modal-footer{padding:14px}.btn,.p-btn,.v34-btn,.service-btn{font-size:14px}.form-control,.form-select{font-size:16px}.table-responsive:after{content:'Swipe →';display:block;font-size:11px;color:#94a3b8;padding:4px 2px 0}.hide-mobile{display:none!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}


/* ================= V74 FULL APP TOUCH + UX CROSSCHECK FIXES ================= */
:root{--touch-primary:#ff6b00;--touch-primary-2:#ffb000;--touch-dark:#0f172a;--touch-muted:#64748b;--touch-border:#e5e7eb;--touch-bg:#f6f8fc;--touch-radius:18px;--touch-shadow:0 14px 36px rgba(15,23,42,.08)}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{overflow-x:hidden;background:var(--touch-bg);text-rendering:optimizeLegibility}.container{max-width:1180px}img,svg,video{max-width:100%;height:auto}button,a,input,select,textarea{font:inherit}button,.btn,a.btn,[role="button"],.service-btn,.add-btn,.qty-btn,.social-btn,.v34-btn,.v28-action{min-height:44px;touch-action:manipulation;tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}.btn,.service-btn,.add-btn,.social-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid rgba(37,99,235,.35)!important;outline-offset:2px}.form-control,.form-select,textarea.form-control{min-height:46px;font-size:16px;border-radius:16px}.form-control::placeholder,textarea::placeholder{color:#94a3b8}.card-pro,.stat-card,.search-box,.single-section,.v34-card,.v25-pay-card,.v36-pay-card{border-radius:24px!important;box-shadow:var(--touch-shadow)!important;border:1px solid rgba(226,232,240,.9)!important}.table-responsive{border-radius:18px;overflow:auto;-webkit-overflow-scrolling:touch}.table{margin-bottom:0}.table th{white-space:nowrap;color:#334155;background:#f8fafc}.table td,.table th{vertical-align:middle}.badge,.badge-status{line-height:1.3}.alert{border-radius:16px}.modal{z-index:12000!important}.modal-backdrop{z-index:11990!important}.dropdown-menu{z-index:12500!important}.swal2-container{z-index:22000!important}.toast-lite{z-index:23000!important}.loading-disabled,.is-submitting-v74{opacity:.75;pointer-events:none}.app-nav{position:sticky;top:0;z-index:1030}.app-nav .container,.navbar .container{gap:10px}.navbar-brand{white-space:normal;line-height:1.15}.owner-tabs{top:56px;z-index:1025;border-radius:0;background:rgba(255,255,255,.94);padding:9px 0}.owner-tabs .container{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.owner-tabs .btn{min-height:40px;flex:0 0 auto}.admin-topbar-v54{position:sticky;top:0;z-index:1040}.admin-links-v54 a{min-height:44px;display:inline-flex;align-items:center}.auth-card{border-radius:26px}.auth-card h1,.auth-card h2,.auth-card h3{line-height:1.15}.hotel-img,.item-thumb,.food-img,.single-menu-img{background:#f1f5f9}.quick-service-admin input,.quick-service-admin button{min-height:44px}.v28-floating-cart{z-index:11000}.v28-drawer{z-index:12010}.v28-overlay{z-index:12000}.social-btn .brand-icon{width:21px;height:21px;flex:0 0 auto}.social-btn{min-height:46px;line-height:1.2}.bill-copy{overflow:auto}.bill-table,.bill-mini-table{min-width:520px}.p-page,.v34-page,.v28-shell{overflow-x:hidden}
@media(max-width:991px){.container{padding-left:14px;padding-right:14px}.row{--bs-gutter-x:1rem}.card-pro,.v34-card,.single-section{padding:18px!important}.stat-card{padding:16px}.desktop-table{min-width:760px}.owner-tabs{top:54px}.app-nav .container{align-items:flex-start}.app-nav .navbar-brand{max-width:58%;font-size:16px}.app-nav .btn{padding:8px 12px;font-size:12px}.admin-links-v54{max-height:calc(100vh - 70px);overflow:auto}.quick-service-admin{grid-template-columns:1fr 1fr!important}.single-grid,.pro-grid{grid-template-columns:1fr!important}.pro-title{font-size:42px}.pro-hero{min-height:auto}.pro-hero-food{position:relative;width:100%;right:auto;bottom:auto;margin-top:10px}.v28-menu-filter{top:104px}}
@media(max-width:576px){body{font-size:14px}.container{padding-left:12px;padding-right:12px}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1rem!important}.btn{width:auto;white-space:normal}.btn-sm{min-height:40px}.row.g-4{--bs-gutter-y:1rem}.card-pro,.v34-card,.single-section,.search-box{border-radius:20px!important;padding:15px!important}.stat-num{font-size:22px}.table{font-size:13px}.table td,.table th{padding:.55rem}.form-control,.form-select{font-size:16px;padding:11px 12px}.owner-tabs{top:52px}.owner-tabs .btn{font-size:12px;padding:8px 10px}.app-nav .container{display:flex;align-items:center}.app-nav .navbar-brand{font-size:14px;max-width:52%}.app-nav .btn{min-height:38px;padding:7px 10px}.auth-bg{padding:12px}.auth-card{padding:20px;border-radius:22px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.quick-service-admin{grid-template-columns:1fr!important}.social-links{grid-template-columns:1fr 1fr!important}.social-btn{font-size:13px;padding:10px 8px}.v28-wizard{grid-template-columns:1fr!important}.v28-action-grid{grid-template-columns:1fr!important}.v28-menu-grid{grid-template-columns:1fr!important}.v34-header-card,.single-hero,.hero-landing{border-radius:22px!important;padding:20px!important}.pro-section-title{font-size:32px}.modal-dialog{margin:8px}.modal-content{border-radius:20px!important}.hide-mobile{display:none!important}}
@media(max-width:380px){.social-links{grid-template-columns:1fr!important}.app-nav .navbar-brand{max-width:48%;font-size:13px}.app-nav .btn{font-size:11px;padding:7px 8px}.owner-tabs .btn{font-size:11px}.food-card{gap:8px}.food-name{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.tap-call-link-v76{color:#0d6efd!important;font-weight:800;text-decoration:none;border-bottom:1px dashed currentColor}.tap-call-link-v76:before{content:'☎ ';}.kitchen-status-badge-v76{border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px}.status-new-v76{background:#fee2e2;color:#991b1b}.status-ready-v76{background:#fef3c7;color:#92400e}.status-served-v76{background:#dcfce7;color:#166534}

/* V78 Kitchen KDS + mobile stability */
.kds-shell{background:#f8fafc;min-height:100vh}.kds-header{background:linear-gradient(135deg,#111827,#1f2937);color:#fff;border-radius:24px;padding:18px;box-shadow:0 14px 36px rgba(15,23,42,.18)}.kds-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kds-lane{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:14px;min-height:220px;box-shadow:0 10px 26px rgba(15,23,42,.08)}.kds-lane h3{font-size:18px;font-weight:900;margin-bottom:12px}.kds-card{border-radius:20px;border:2px solid #e5e7eb;background:#fff;margin-bottom:14px;overflow:hidden;box-shadow:0 12px 28px rgba(15,23,42,.09);transition:.2s ease}.kds-card.status-new,.kds-card.status-pending,.kds-card.status-preparing{border-color:#ef4444}.kds-card.status-ready{border-color:#22c55e}.kds-card.status-served{display:none}.kds-card.new-pulse{animation:kdsPulse 1.2s infinite}.kds-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px;background:#f8fafc}.kds-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px}.kds-badge.red{background:#fee2e2;color:#991b1b}.kds-badge.green{background:#dcfce7;color:#166534}.kds-badge.dark{background:#111827;color:#fff}.kds-items{padding:10px 14px}.kds-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 0;border-top:1px dashed #e5e7eb}.kds-item:first-child{border-top:0}.kds-item.pending{color:#991b1b;font-weight:900}.kds-item.ready{color:#166534;font-weight:900}.kds-actions{display:flex;gap:10px;flex-wrap:wrap;padding:12px 14px;background:#fafafa}.kds-actions .btn{min-height:42px;border-radius:14px;font-weight:900}.kds-note{font-size:13px;color:#475569;margin-top:4px}.kds-clock{font-weight:900;color:#334155}.kds-login-card{max-width:440px;margin:6vh auto;background:#fff;border-radius:24px;padding:24px;box-shadow:0 20px 50px rgba(15,23,42,.18)}@keyframes kdsPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.35)}50%{box-shadow:0 0 0 10px rgba(239,68,68,0)}}@media(max-width:992px){.kds-grid{grid-template-columns:1fr}.kds-card-head{flex-direction:column}.kds-actions .btn{width:100%}}@media(max-width:576px){.kds-header{border-radius:18px;padding:14px}.kds-lane{border-radius:18px;padding:10px}.kds-card{border-radius:16px}.kds-card-head,.kds-items,.kds-actions{padding:10px}.kds-item{grid-template-columns:1fr}.owner-tabs .container{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:8px}.owner-tabs .btn{white-space:nowrap}}
.menu-item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.menu-item-meta span{background:#f1f5f9;border-radius:999px;padding:4px 8px;font-size:12px;color:#334155;font-weight:700}.veg-dot{width:14px;height:14px;border-radius:3px;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;margin-right:5px}.veg-dot:after{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.veg-dot.veg{color:#16a34a}.veg-dot.nonveg{color:#dc2626}.food-card{border:1px solid #eef2f7;background:#fff;border-radius:22px;padding:14px;margin-bottom:12px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.add-btn{border:0;background:var(--orange);color:#fff;border-radius:14px;font-weight:900;min-width:76px;align-self:center}.food-icon{width:64px;height:64px;min-width:64px;border-radius:18px;background:#fff7ed;display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden}.food-img{width:100%;height:100%;object-fit:cover}

/* V79 KDS item-level status polish */
.kds-item{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:12px}.kds-item span{min-width:0;word-break:break-word}.kds-item.pending{background:#fff7f7;border-radius:12px;padding:10px}.kds-item.ready{background:#f0fdf4;border-radius:12px;padding:10px}.kds-item-ready{border-radius:999px;font-weight:900;min-width:86px}.kds-card.status-processing,.kds-card.status-accepted{border-color:#f59e0b}.kds-card.status-ready .kds-item.ready{border-left:4px solid #22c55e}.kds-card.status-new .kds-item.pending,.kds-card.status-pending .kds-item.pending,.kds-card.status-preparing .kds-item.pending{border-left:4px solid #ef4444}@media(max-width:576px){.kds-item{grid-template-columns:1fr;align-items:stretch}.kds-item b,.kds-item-ready{justify-self:start}.kds-item-ready{width:100%}}

/* V85 combo ordering + mobile polish */
.combo-v50-btn{border:0;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none}
.combo-v50-card button.combo-v50-btn{width:100%}
@media(max-width:576px){.combo-v50-section{padding:18px 10px}.combo-v50-slider{gap:12px;overflow-x:auto;scroll-snap-type:x mandatory}.combo-v50-card{min-width:82vw;scroll-snap-align:start}.v24-menu-row{display:grid!important;grid-template-columns:1fr auto;gap:8px;align-items:center}.v24-menu-row .v24-add,.v24-add{grid-column:1/-1;width:100%;margin-top:6px}.floating-cart-btn{left:12px;right:12px;width:auto;text-align:center;justify-content:center}.food-card{align-items:flex-start}.add-btn{min-width:72px}}

/* V86 Kitchen KDS + 10 min active orders + KOT print refinements */
.kds-mini-panel{background:rgba(255,255,255,.92);border-radius:18px;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.08);border:1px solid rgba(15,23,42,.08)}
.kds-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.kds-mini-order{border:1px solid rgba(15,23,42,.12);border-left:5px solid #dc3545;border-radius:14px;padding:12px;background:#fff;margin-bottom:10px;transition:.2s ease}
.kds-mini-order:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08)}
.kot-print-frame{position:fixed;right:0;bottom:0;width:1px;height:1px;border:0;opacity:0;pointer-events:none}
@media(max-width:575px){.kds-mini-panel{padding:12px;border-radius:14px}.kds-mini-order{padding:10px}.kds-actions form,.kds-actions .btn{width:100%}}

/* ================= V100 COMPLETE AUDIT POLISH ================= */
:focus-visible{outline:3px solid rgba(255,107,0,.45);outline-offset:2px}
.btn,.form-control,.form-select,.card-pro,.stat-card{transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.btn:hover{transform:translateY(-1px)}
.card-pro:hover,.stat-card:hover{box-shadow:0 18px 48px rgba(15,23,42,.10)}
.table td,.table th{vertical-align:middle}.table-responsive{border-radius:18px}
.kds-card{border:1px solid #e5e7eb}.kds-card.status-new,.kds-card.status-pending{border-left:6px solid #ef4444}.kds-card.status-preparing,.kds-card.status-processing{border-left:6px solid #f59e0b}.kds-card.status-ready{border-left:6px solid #16a34a}
.kds-mini-order{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.kot-print-frame{position:fixed;right:0;bottom:0;width:0;height:0;border:0;opacity:0;pointer-events:none}
@media(max-width:768px){body{font-size:15px}.container{padding-left:14px;padding-right:14px}.card-pro,.stat-card{border-radius:20px;padding:16px!important}.btn{min-height:42px}.table{font-size:13px}.owner-tabs{top:0}.kds-grid{grid-template-columns:1fr!important}.kds-header h1{font-size:24px}.kds-actions{display:grid;grid-template-columns:1fr;gap:8px}.kds-actions .btn{width:100%}}

/* ================= V101 PROJECT-WIDE RESPONSIVE UI POLISH =================
   Final pass for mobile overflow, nav wrapping, card consistency, table safety,
   and clean touch targets across owner/admin/kitchen/customer pages. */
:root{--ui-radius:22px;--ui-shadow:0 14px 38px rgba(15,23,42,.08);--ui-border:#e5e7eb;--ui-muted:#64748b;--ui-accent:#ff7600;--ui-accent2:#ffb000}
*,*::before,*::after{box-sizing:border-box;min-width:0}
html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{width:100%;overflow-x:hidden;background:#f5f7fb;color:#0f172a}
a{overflow-wrap:anywhere}.container,.container-fluid{width:100%;max-width:100%;overflow-wrap:anywhere}img,video,iframe,object,embed{max-width:100%;height:auto}.ratio iframe{height:100%}
.app-nav,.admin-topbar-v54{position:sticky;top:0;z-index:1030}.app-nav .container,.admin-nav-inner-v54{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.app-nav .navbar-brand,.admin-brand-v54{min-width:0;max-width:100%;white-space:normal;line-height:1.18}.app-nav .navbar-brand{overflow:hidden;text-overflow:ellipsis}.app-nav .btn,.admin-links-v54 a{white-space:normal;text-align:center}
.owner-tabs{background:#fff;border-bottom:1px solid var(--ui-border);box-shadow:0 8px 24px rgba(15,23,42,.05);z-index:1025}.owner-tabs>.container{max-width:100%;padding-top:8px;padding-bottom:8px}.owner-tabs .btn{border-radius:999px;font-weight:800;box-shadow:none}.owner-tabs .btn:hover{box-shadow:0 8px 18px rgba(15,23,42,.08)}
.card,.card-pro,.v34-card,.p-card,.stat-card,.search-box,.form-card-v20,.hotel-card-v20,.landing-card,.single-section,.v28-card,.v36-pay-card{border-radius:var(--ui-radius)!important;border-color:var(--ui-border)!important;box-shadow:var(--ui-shadow);overflow:hidden}.card-body{min-width:0}.row>[class^="col"],.row>[class*=" col"]{min-width:0}
.btn,.btn-main,.btn-soft,.p-btn,.v34-btn,.v28-action,.v36-pay-btn{min-height:42px;border-radius:14px;font-weight:850;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.btn-sm{min-height:36px}.btn-group{flex-wrap:wrap;gap:6px}.btn-group>.btn{border-radius:12px!important;margin-left:0!important}
.form-control,.form-select,textarea,input,select{max-width:100%;min-width:0}.form-label,label{overflow-wrap:anywhere}.input-group{flex-wrap:nowrap}.input-group>.form-control{min-width:0}.alert{border-radius:16px;overflow-wrap:anywhere}
.table-responsive{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px;border:1px solid rgba(15,23,42,.06)}.table-responsive>.table{min-width:720px;margin-bottom:0}.table th,.table td{vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.table .btn{margin:2px;min-height:34px}.js-table-wrap-v101{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px;border:1px solid rgba(15,23,42,.06);margin-bottom:1rem}.js-table-wrap-v101>.table{min-width:720px;margin-bottom:0}
.modal-dialog{max-width:min(96vw, var(--bs-modal-width, 500px))}.modal-content{border-radius:22px;overflow:hidden}.dropdown-menu{max-width:calc(100vw - 24px);overflow-wrap:anywhere}.badge{white-space:normal}.small-muted,.text-muted{color:var(--ui-muted)!important}
.kds-grid,.v28-menu-grid,.single-grid,.pro-grid,.feature-grid,.step-grid,.faq-grid,.hotel-list-v20{min-width:0}.kds-card,.kds-lane,.food-card,.combo-v50-card{min-width:0;overflow:hidden}.kds-card-head,.kds-actions,.food-card,.hotel-info-card>.d-flex{min-width:0}.food-name,.kds-item span,.hotel-info-card,.card h1,.card h2,.card h3,.card h4{overflow-wrap:anywhere}
.auth-bg{min-height:100dvh}.auth-card{max-width:100%;overflow:hidden}.lamp-scene,.login-stage{max-width:100%;overflow:hidden}.login-intro h1{overflow-wrap:anywhere}.admin-links-v54{gap:8px}.admin-links-v54 a{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:992px){.app-nav .container{align-items:flex-start}.app-nav .navbar-brand{max-width:100%;font-size:16px}.app-nav .container>div:last-child{display:flex;gap:6px;flex-wrap:wrap}.admin-links-v54{width:100%}.table-responsive>.table,.js-table-wrap-v101>.table{min-width:680px}.price-card,.hero-grid{grid-template-columns:1fr!important}}
@media(max-width:768px){.container,.container-fluid{padding-left:12px!important;padding-right:12px!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1rem!important}.card,.card-pro,.v34-card,.p-card,.stat-card,.search-box,.form-card-v20,.hotel-card-v20{border-radius:18px!important}.app-nav .container{padding-top:8px;padding-bottom:8px}.app-nav .container>div:last-child{width:100%;justify-content:flex-start}.app-nav .btn{min-height:36px;padding:7px 10px;font-size:12px}.owner-tabs{position:sticky;top:56px}.owner-tabs>.container{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:thin}.owner-tabs .btn{flex:0 0 auto;font-size:12px;padding:8px 11px;white-space:nowrap}.table-responsive>.table,.js-table-wrap-v101>.table{min-width:620px}.table th,.table td{padding:.55rem;font-size:13px}.row.g-4{--bs-gutter-y:1rem}.btn-main.w-100,.btn-soft.w-100,.btn.w-100{display:flex}.d-flex.gap-2,.d-flex.gap-3{flex-wrap:wrap}.kds-header h1,.v34-header-card h1,.p-hero h1{font-size:clamp(22px,6vw,30px)}.kds-actions form,.kds-actions .btn{width:100%}.admin-links-v54{max-height:calc(100dvh - 70px);overflow:auto}}
@media(max-width:576px){body{font-size:14px}.container,.container-fluid{padding-left:10px!important;padding-right:10px!important}.btn:not(.owner-tabs .btn):not(.app-nav .btn):not(.table .btn){width:100%}.app-nav .navbar-brand{font-size:14px}.owner-tabs{top:52px}.table-responsive>.table,.js-table-wrap-v101>.table{min-width:560px}.card-body{padding:1rem}.modal-dialog{margin:8px}.form-control,.form-select{font-size:16px}.input-group{flex-wrap:wrap}.input-group>*{width:100%!important;border-radius:12px!important;margin:2px 0}.price,.stat-num{font-size:clamp(22px,9vw,42px)!important}.food-card{grid-template-columns:54px minmax(0,1fr)!important}.food-card .add-btn{grid-column:1/-1}.service-grid,.social-links{grid-template-columns:1fr!important}.footer-inner,.pro-card-footer{flex-direction:column;align-items:stretch!important}.kds-item{grid-template-columns:1fr!important}.admin-brand-v54 small{display:block}.admin-links-v54 a{width:100%}}
@media(max-width:360px){.container,.container-fluid{padding-left:8px!important;padding-right:8px!important}.owner-tabs .btn,.app-nav .btn{font-size:11px;padding:7px 8px}.table-responsive>.table,.js-table-wrap-v101>.table{min-width:520px}.btn,.btn-main,.btn-soft{font-size:13px}.card,.card-pro{border-radius:16px!important}.food-icon,.food-img{width:48px!important;height:48px!important;min-width:48px!important}.food-card{grid-template-columns:48px minmax(0,1fr)!important}}
@media(prefers-color-scheme:dark){body:not(.force-light){background:#0f172a}.force-light{color-scheme:light}}

/* ================= V162 MOBILE RESPONSIVE OFF-CANVAS + LAYOUT FIXES ================= */
:root{--v162-mobile-pad:16px;--v162-sidebar-width:312px;--v162-sidebar-bg:#ffffff;--v162-sidebar-shadow:-18px 0 42px rgba(15,23,42,.22)}
html,body{max-width:100%;overflow-x:hidden}.dash-shell-v20,.container,.container-fluid{min-width:0}.row{min-width:0}.app-nav-actions-v162{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}.owner-menu-toggle-v162{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:rgba(255,255,255,.12);color:#fff;font-size:22px;font-weight:900;line-height:1}.owner-tabs-head-v162{display:none}.owner-mobile-backdrop-v162{display:none}.stats-grid-v20,.admin-stat-grid-v54{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.hotel-list-v20,.v57-tabs-card .hotel-list-v20{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.hotel-actions-v20,.v57-tabs-card .hotel-actions-v20{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.card-pro,.stat-card,.stat-v20,.hotel-card-v20,.admin-card-v54,.admin-stat-v54{min-width:0}.btn,.btn-main,.btn-soft{max-width:100%}
@media(max-width:768px){
  body.owner-nav-open-v162,body.admin-nav-open-v54{overflow:hidden}
  .container,.container-fluid{padding-left:var(--v162-mobile-pad)!important;padding-right:var(--v162-mobile-pad)!important}
  .dash-shell-v20{padding:18px var(--v162-mobile-pad)!important;width:100%;max-width:100%;overflow:hidden}
  .app-nav .container{flex-wrap:nowrap!important;align-items:center!important;padding-top:10px!important;padding-bottom:10px!important}
  .app-nav .navbar-brand{max-width:calc(100% - 54px)!important;flex:1 1 auto;font-size:16px!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
  .app-nav-actions-v162{flex:0 0 auto;gap:7px}.app-nav-actions-v162 .btn{display:none}.owner-menu-toggle-v162{display:inline-flex}
  .owner-tabs{position:fixed!important;top:0!important;right:calc(-1 * var(--v162-sidebar-width));bottom:0;width:var(--v162-sidebar-width);max-width:88vw;height:100dvh;background:var(--v162-sidebar-bg)!important;z-index:2100!important;padding:0!important;border-radius:0!important;box-shadow:var(--v162-sidebar-shadow);overflow-y:auto;overflow-x:hidden;transition:right .26s ease;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-left:1px solid #e5e7eb}
  .owner-nav-open-v162 .owner-tabs{right:0}.owner-nav-open-v162 .owner-mobile-backdrop-v162{display:block;position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:2050}
  .owner-tabs-head-v162{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 12px;border-bottom:1px solid #eef2f7;color:#0f172a}.owner-tabs-head-v162 b{font-size:18px}.owner-menu-close-v162{width:40px;height:40px;border:0;border-radius:12px;background:#f1f5f9;color:#0f172a;font-size:28px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
  .owner-tabs>.container{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;overflow:visible!important;padding:16px!important;max-width:100%!important}.owner-tabs .btn{width:100%!important;min-height:44px;justify-content:flex-start!important;text-align:left!important;padding:12px 14px!important;border-radius:14px!important;white-space:normal!important;font-size:14px!important;flex:0 0 auto!important}.owner-tabs .badge{margin-left:auto}
  .admin-links-v54{right:calc(-1 * var(--v162-sidebar-width))!important;width:var(--v162-sidebar-width)!important;max-width:88vw!important;height:100dvh!important;padding:82px 16px 18px!important;overflow-y:auto!important;overflow-x:hidden!important;transition:right .26s ease!important}.admin-nav-open-v54 .admin-links-v54{right:0!important}.admin-links-v54 a{width:100%;justify-content:flex-start;text-align:left!important;white-space:normal!important}
  .dash-hero-v20,.v57-tabs-card,.form-card-v20,.hotel-card-v20,.card-pro,.stat-v20,.admin-card-v54,.admin-stat-v54{padding:16px!important;border-radius:20px!important}.dash-title-v20{font-size:26px!important}.stats-grid-v20,.admin-stat-grid-v54,.hotel-list-v20,.v57-tabs-card .hotel-list-v20{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.hotel-actions-v20,.v57-tabs-card .hotel-actions-v20{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.hotel-actions-v20 .btn,.v57-tabs-card .hotel-actions-v20 .btn,.admin-hero-actions-v54 .btn,.v57-hotels-head .btn{width:100%!important;justify-content:center!important}.v57-hotels-head{flex-direction:column!important;align-items:stretch!important;gap:12px}.v57-tab-nav{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}.v57-tab-btn{width:100%!important;min-width:0!important}.d-flex:not(.owner-tabs .d-flex):not(.app-nav .container):not(.app-nav-actions-v162):not(.admin-nav-inner-v54){flex-wrap:wrap}.gap-2>.btn,.gap-3>.btn{margin-bottom:4px}.table-responsive,.admin-table-wrap-v54{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table,.admin-table-v54{min-width:620px}.btn:not(.owner-tabs .btn):not(.app-nav .btn):not(.admin-links-v54 a):not(.table .btn){white-space:normal}.row>[class^="col"],.row>[class*=" col"]{width:100%;max-width:100%;min-width:0}.col-6{width:50%;max-width:50%}
}
@media(max-width:576px){:root{--v162-mobile-pad:16px;--v162-sidebar-width:300px}.dash-shell-v20{padding-left:16px!important;padding-right:16px!important}.btn:not(.owner-tabs .btn):not(.app-nav .btn):not(.admin-links-v54 a):not(.table .btn):not(.btn-sm){width:100%;display:flex;justify-content:center}.admin-hero-v54,.dash-hero-v20{padding:18px!important}.stat-v20 b,.admin-stat-v54 b{font-size:26px!important}.v57-tabs-card .hotel-card-v20 .row .col-6{width:100%;max-width:100%}.table-responsive>.table,.admin-table-v54{min-width:560px}}
@media(max-width:380px){:root{--v162-mobile-pad:14px;--v162-sidebar-width:286px}.app-nav .navbar-brand{font-size:14px!important}.owner-tabs .btn{font-size:13px!important}.dash-title-v20{font-size:24px!important}}


/* ================= V163 REQUESTED MOBILE BACKDROP FIX ================= */
@media (max-width: 768px) {
    .admin-nav-open-v54 .admin-mobile-backdrop-v54 {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .45);
        z-index: 1000;
    }
}

/* V170 global brand logo consistency */
.nav-brand-logo-v170{width:28px;height:28px;border-radius:9px;background:#fff;object-fit:contain;margin-right:8px;vertical-align:middle;box-shadow:0 6px 16px rgba(15,23,42,.14)}
.admin-brand-v54 .nav-brand-logo-v170{width:34px;height:34px;border-radius:12px;margin-right:0}.navbar-brand{display:inline-flex;align-items:center;gap:2px}
@media(max-width:768px){.nav-brand-logo-v170{width:26px;height:26px}.navbar-brand{max-width:68vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
/* V170 data management UX */
.table-responsive{max-width:100%;overflow:auto}.data-toolbar-v170{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:14px}.data-toolbar-v170 .form-control{max-width:360px}.pagination-v170{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-top:14px}.pagination-v170 a,.pagination-v170 span{border:1px solid #e5e7eb;border-radius:999px;padding:8px 13px;background:#fff;font-weight:800;text-decoration:none}.pagination-v170 .active{background:#111827;color:#fff}

/* ================= V173 Production Audit Polish ================= */
:root{--v173-line:#e5e7eb;--v173-soft:#f8fafc;--v173-ink:#0f172a;--v173-muted:#64748b}
.alert{word-break:break-word}.table-card{scroll-margin-top:96px}.bill-table input{font-size:16px}.bill-table .btn{min-height:40px}.toast-lite{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#111827;color:#fff;padding:12px 16px;border-radius:999px;box-shadow:0 16px 40px rgba(15,23,42,.28);font-weight:800;max-width:min(92vw,520px);text-align:center}
@media(max-width:768px){
  .table-card .d-flex.justify-content-between{align-items:flex-start!important}.table-card h4{width:100%;line-height:1.25}.table-card .badge{margin-top:4px;white-space:normal;text-align:left}.bill-table input{min-width:120px}.bill-table .item-name,.bill-table .new-name{min-width:220px}.orders-autocomplete-panel-v172{box-shadow:0 12px 38px rgba(15,23,42,.28)!important}.orders-autocomplete-hint-v172{position:sticky;top:0;z-index:1}.orders-autocomplete-list-v172{overscroll-behavior:contain}.toast-lite{bottom:calc(14px + env(safe-area-inset-bottom));border-radius:16px;width:calc(100vw - 24px)}
}
@media(max-width:576px){
  .table-card{padding:14px!important}.table-card .row.g-2>[class^="col"],.table-card .row.g-2>[class*=" col"]{margin-bottom:6px}.bill-table td,.bill-table th{padding:.5rem}.bill-table .btn{width:100%;min-width:86px}.orders-autocomplete-item-v172{grid-template-columns:44px minmax(0,1fr) auto!important}.orders-autocomplete-thumb-v172{width:44px!important;height:44px!important}.orders-autocomplete-price-v172{font-size:13px!important}
}

/* ================= V174 VERIFIED MOBILE NAV + RESPONSIVE STABILITY PATCH ================= */
:root{--v174-drawer-width:320px;--v174-drawer-bg:#fff;--v174-border:#e5e7eb;--v174-text:#0f172a;--v174-muted:#64748b;--v174-soft:#fff7ed;--v174-accent:#ea580c}
html,body{width:100%;max-width:100%;overflow-x:hidden!important}
body.owner-nav-open-v162,body.admin-nav-open-v54{touch-action:none}
.owner-menu-toggle-v162,.admin-menu-btn-v54{cursor:pointer}
.owner-mobile-backdrop-v162,.admin-mobile-backdrop-v54{cursor:pointer}
@media(max-width:768px){
  body.owner-nav-open-v162{overflow:hidden!important;position:relative}
  .app-nav{position:sticky!important;top:0!important;z-index:2400!important}.app-nav .container{width:100%!important;max-width:100%!important;min-width:0!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}.app-nav .navbar-brand{min-width:0!important;max-width:calc(100vw - 78px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.app-nav-actions-v162{flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:8px!important}.owner-menu-toggle-v162{display:inline-flex!important;flex:0 0 42px!important;width:42px!important;height:42px!important;min-height:42px!important;padding:0!important}
  .owner-tabs#ownerMobileMenuV162{position:fixed!important;display:block!important;inset:0 auto 0 auto!important;left:auto!important;right:calc(-1 * min(var(--v174-drawer-width), 88vw))!important;width:min(var(--v174-drawer-width), 88vw)!important;max-width:88vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0!important;border-radius:0!important;background:var(--v174-drawer-bg)!important;border-left:1px solid var(--v174-border)!important;box-shadow:-20px 0 55px rgba(15,23,42,.28)!important;overflow:hidden auto!important;overscroll-behavior:contain!important;z-index:2600!important;transition:right .24s ease!important;transform:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;scroll-snap-type:none!important}
  body.owner-nav-open-v162 .owner-tabs#ownerMobileMenuV162{right:0!important}
  body.owner-nav-open-v162 .owner-mobile-backdrop-v162{display:block!important;position:fixed!important;inset:0!important;background:rgba(15,23,42,.55)!important;z-index:2550!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important}
  .owner-tabs#ownerMobileMenuV162 .owner-tabs-head-v162{display:flex!important;position:sticky!important;top:0!important;z-index:2!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:16px!important;background:#fff!important;border-bottom:1px solid #eef2f7!important;color:var(--v174-text)!important}.owner-tabs#ownerMobileMenuV162 .owner-tabs-head-v162 b{font-size:17px!important;line-height:1.2!important;white-space:normal!important}.owner-menu-close-v162{flex:0 0 40px!important;width:40px!important;height:40px!important;min-height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:12px!important;background:#f1f5f9!important;color:#0f172a!important;font-size:26px!important;line-height:1!important;padding:0!important}
  .owner-tabs#ownerMobileMenuV162>.container{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:14px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:10px!important;overflow:visible!important}.owner-tabs#ownerMobileMenuV162 .btn{width:100%!important;max-width:100%!important;min-height:46px!important;margin:0!important;padding:12px 13px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;border-radius:14px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;line-height:1.2!important;font-size:14px!important;font-weight:900!important}.owner-tabs#ownerMobileMenuV162 .btn-soft{background:var(--v174-soft)!important;color:#c2410c!important}.owner-tabs#ownerMobileMenuV162 .btn-outline-dark{background:#fff!important;color:#111827!important}.owner-tabs#ownerMobileMenuV162 .badge{margin-left:auto!important;flex:0 0 auto!important}.owner-tabs#ownerMobileMenuV162 a:focus-visible,.owner-menu-close-v162:focus-visible,.owner-menu-toggle-v162:focus-visible{outline:3px solid rgba(234,88,12,.35)!important;outline-offset:2px!important}
  .dash-shell-v20,.container,.container-fluid{max-width:100%!important}.row{margin-left:0!important;margin-right:0!important}.row>[class^="col"],.row>[class*=" col"]{min-width:0!important}.card,.card-pro,.stat-card,.hotel-card-v20,.v34-card,.search-box{max-width:100%!important;min-width:0!important;overflow-wrap:anywhere!important}.table-responsive,.js-table-wrap-v101{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.table-responsive>.table,.js-table-wrap-v101>.table{min-width:560px}.btn:not(.owner-tabs .btn):not(.app-nav .btn):not(.table .btn):not(.btn-sm){white-space:normal!important}.modal-dialog{max-width:calc(100vw - 16px)!important;margin:8px!important}.modal-content{max-height:calc(100dvh - 16px)!important;overflow:auto!important}
}
@media(max-width:430px){:root{--v174-drawer-width:304px}.owner-tabs#ownerMobileMenuV162{width:min(304px,86vw)!important;max-width:86vw!important;right:calc(-1 * min(304px,86vw))!important}.app-nav .navbar-brand{font-size:14px!important;max-width:calc(100vw - 70px)!important}.nav-brand-logo-v170{width:25px!important;height:25px!important;margin-right:6px!important}.owner-tabs#ownerMobileMenuV162>.container{padding:12px!important}.owner-tabs#ownerMobileMenuV162 .btn{font-size:13px!important;padding:11px 12px!important}.table-responsive>.table,.js-table-wrap-v101>.table{min-width:520px}}
@media(max-width:360px){:root{--v174-drawer-width:286px}.owner-tabs#ownerMobileMenuV162{width:min(286px,86vw)!important;right:calc(-1 * min(286px,86vw))!important}.owner-tabs#ownerMobileMenuV162 .owner-tabs-head-v162{padding:13px!important}.owner-tabs#ownerMobileMenuV162 .btn{font-size:12px!important}.app-nav .navbar-brand{font-size:13px!important}}


/* ================= V205 Dashboard Quick Access + Data Management ================= */
.owner-tabs .owner-more-v205{display:inline-flex;align-items:center;gap:6px;position:relative}
.owner-more-v205 details{position:relative}.owner-more-v205 summary{list-style:none;cursor:pointer}.owner-more-v205 summary::-webkit-details-marker{display:none}.owner-more-v205 .owner-more-menu-v205{position:absolute;right:0;top:calc(100% + 8px);min-width:260px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 18px 55px rgba(15,23,42,.18);padding:10px;z-index:2500}.owner-more-menu-v205 a{display:flex!important;width:100%;margin:4px 0!important;justify-content:flex-start!important}.owner-daily-note-v205{font-size:12px;color:#64748b;font-weight:800;padding:2px 6px}.hotel-actions-v205{display:grid;gap:14px}.hotel-action-group-v205{border:1px solid #eef2f7;border-radius:18px;padding:13px;background:#fff}.hotel-action-group-v205 h6{font-weight:900;margin-bottom:10px;color:#0f172a}.hotel-action-group-v205 .btn{margin:4px 4px 4px 0}.filter-card-v205{background:#fff;border:1px solid #eef2f7;border-radius:18px;padding:14px;box-shadow:0 8px 24px rgba(15,23,42,.05);margin-bottom:16px}.pagination-v205{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;margin-top:14px}.pagination-v205 a,.pagination-v205 span{border:1px solid #e5e7eb;border-radius:999px;padding:8px 13px;background:#fff;font-weight:900;text-decoration:none}.pagination-v205 .active{background:#111827;color:#fff}.data-summary-v205{font-size:13px;color:#64748b;font-weight:800}.quick-clean-nav-v205{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:768px){.owner-more-v205 details{width:100%}.owner-more-v205 .owner-more-menu-v205{position:static;box-shadow:none;border-radius:14px;margin-top:8px}.hotel-action-group-v205 .btn{width:100%;margin:4px 0}.pagination-v205{justify-content:center}.filter-card-v205 .btn{width:100%}}

/* ================= V207 Clean Hotel Dashboard Card UI ================= */
.hotel-actions-v207{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;gap:18px!important;align-items:start!important;margin-top:14px!important}
.hotel-daily-panel-v207,.hotel-admin-panel-v207{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #e8eef6;border-radius:22px;padding:16px;box-shadow:0 14px 36px rgba(15,23,42,.06);min-width:0}
.hotel-panel-head-v207{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px;border-bottom:1px solid #eef2f7;padding-bottom:12px}
.hotel-panel-head-v207 h6{font-size:15px;font-weight:950;letter-spacing:.01em;margin:0;color:#0f172a}.hotel-panel-head-v207 p{font-size:12px;font-weight:750;color:#64748b;margin:3px 0 0;line-height:1.35}.daily-action-grid-v207{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.daily-action-card-v207{position:relative;display:flex!important;align-items:center;gap:11px;min-height:76px;padding:12px;border-radius:18px;background:#fff;border:1px solid #e5eaf2;text-decoration:none!important;color:#0f172a!important;box-shadow:0 8px 22px rgba(15,23,42,.04);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.daily-action-card-v207:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.09);border-color:#ff8a1f}.daily-action-card-v207 b{display:block;font-size:13px;font-weight:950;line-height:1.15}.daily-action-card-v207 small{display:block;font-size:11px;font-weight:750;color:#64748b;margin-top:3px;line-height:1.25}.action-icon-v207{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:14px;background:#fff3e8;font-size:19px}.daily-action-card-v207.primary{background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa}.daily-action-card-v207.success .action-icon-v207{background:#ecfdf5}.daily-action-card-v207.warning .action-icon-v207{background:#fffbeb}.daily-action-card-v207.danger .action-icon-v207{background:#fff1f2}.daily-action-card-v207.preview .action-icon-v207{background:#eff6ff}.daily-action-card-v207 .v24-notify-badge,.daily-action-card-v207 em.v24-notify-badge{position:absolute;right:10px;top:8px;font-style:normal}.admin-tools-v207{display:grid;gap:10px}.admin-tools-v207 details{border:1px solid #e8eef6;border-radius:17px;background:#fff;overflow:hidden}.admin-tools-v207 summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;cursor:pointer;list-style:none;font-size:13px;font-weight:950;color:#111827}.admin-tools-v207 summary::-webkit-details-marker{display:none}.admin-tools-v207 summary:after{content:'⌄';font-size:16px;color:#64748b;transition:transform .15s ease}.admin-tools-v207 details[open] summary:after{transform:rotate(180deg)}.admin-tools-v207 summary span{font-size:11px;font-weight:750;color:#64748b;white-space:nowrap}.admin-tool-grid-v207{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}.admin-tool-grid-v207 a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:38px;padding:9px 10px;border-radius:13px;background:#f8fafc;border:1px solid #e5eaf2;color:#334155!important;text-decoration:none!important;font-size:12px;font-weight:900;line-height:1.2}.admin-tool-grid-v207 a:hover{background:#fff7ed;border-color:#fdba74;color:#c2410c!important}.admin-tool-grid-v207 a.danger{background:#fff1f2;border-color:#fecdd3;color:#be123c!important}.v57-tabs-card .hotel-card-v20{border-radius:26px!important}.v57-tabs-card .hotel-card-v20 h4{font-size:22px!important}.v57-tabs-card .v27-preview{border-radius:16px!important}
@media(max-width:992px){.hotel-actions-v207{grid-template-columns:1fr!important}.daily-action-grid-v207{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tool-grid-v207{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:576px){.hotel-actions-v207{gap:14px!important}.hotel-daily-panel-v207,.hotel-admin-panel-v207{padding:13px!important;border-radius:20px!important}.daily-action-grid-v207{grid-template-columns:1fr!important}.daily-action-card-v207{min-height:68px;padding:11px}.admin-tools-v207 summary{align-items:flex-start;flex-direction:column}.admin-tools-v207 summary span{white-space:normal}.admin-tool-grid-v207{grid-template-columns:1fr!important}.hotel-panel-head-v207{margin-bottom:12px}.action-icon-v207{width:36px;height:36px;flex-basis:36px}.v57-tabs-card .hotel-card-v20{padding:14px!important}.v57-tabs-card .hotel-card-v20 h4{font-size:20px!important}}

/* V208: Hotel-owner dashboard action hierarchy cleanup */
.hotel-owner-flow-v208{margin-top:18px;display:grid;gap:18px;background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid #e2e8f0;border-radius:28px;padding:18px;box-shadow:0 18px 42px rgba(15,23,42,.07)}
.owner-flow-header-v208{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:linear-gradient(135deg,#fff7ed,#ffffff 60%);border:1px solid #fed7aa;border-radius:22px}
.flow-eyebrow-v208{display:inline-flex;margin-bottom:5px;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#c2410c}.owner-flow-header-v208 h5{margin:0;color:#0f172a;font-size:19px;font-weight:950}.owner-flow-header-v208 p{margin:4px 0 0;color:#475569;font-size:13px;font-weight:700;line-height:1.45}.owner-preview-v208{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:14px;background:#0f172a;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:900;box-shadow:0 10px 24px rgba(15,23,42,.14)}
.primary-actions-v208{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.focus-action-v208{position:relative;min-height:126px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:18px;border-radius:24px;text-decoration:none!important;background:#fff;border:1px solid #e2e8f0;color:#0f172a!important;box-shadow:0 14px 32px rgba(15,23,42,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.focus-action-v208:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,23,42,.1);border-color:#fb923c}.focus-action-v208 span{width:46px;height:46px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#fff7ed;font-size:24px}.focus-action-v208 strong{font-size:18px;font-weight:950;line-height:1.1}.focus-action-v208 small{font-size:13px;color:#475569;font-weight:750;line-height:1.35}.focus-action-v208.order{background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa}.focus-action-v208.menu span{background:#eff6ff}.focus-action-v208.kitchen span{background:#ecfdf5}
.support-actions-v208{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.support-actions-v208 a{display:flex;align-items:center;gap:11px;min-height:72px;padding:13px;border-radius:18px;background:#fff;border:1px solid #e5e7eb;text-decoration:none!important;color:#0f172a!important;box-shadow:0 8px 20px rgba(15,23,42,.04)}.support-actions-v208 a:hover{border-color:#fdba74;background:#fffaf5}.support-actions-v208 span{width:38px;height:38px;border-radius:14px;background:#f1f5f9;display:inline-flex;align-items:center;justify-content:center;font-size:19px;flex:0 0 38px}.support-actions-v208 b{display:block;font-size:13px;font-weight:950}.support-actions-v208 small{display:block;font-size:11px;color:#64748b;font-weight:750;margin-top:2px;line-height:1.25}
.admin-hub-v208{background:#ffffff;border:1px solid #e2e8f0;border-radius:24px;padding:16px}.admin-hub-head-v208{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-hub-head-v208 h6{margin:0;color:#0f172a;font-size:16px;font-weight:950}.admin-hub-head-v208 p{margin:2px 0 0;color:#64748b;font-size:12px;font-weight:750}.admin-groups-v208{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-groups-v208 details{border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc;overflow:hidden}.admin-groups-v208 summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 15px;color:#111827}.admin-groups-v208 summary::-webkit-details-marker{display:none}.admin-groups-v208 summary span{font-size:13px;font-weight:950}.admin-groups-v208 summary small{font-size:11px;font-weight:750;color:#64748b;text-align:right}.admin-groups-v208 summary:after{content:'⌄';color:#64748b;font-weight:900;margin-left:6px}.admin-groups-v208 details[open] summary:after{transform:rotate(180deg)}.admin-links-v208{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}.admin-links-v208 a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:39px;padding:9px 10px;border-radius:13px;background:#fff;border:1px solid #e5e7eb;color:#334155!important;text-decoration:none!important;font-size:12px;font-weight:900;line-height:1.25}.admin-links-v208 a:hover{background:#fff7ed;border-color:#fb923c;color:#c2410c!important}.admin-links-v208 a.danger{background:#fff1f2;border-color:#fecdd3;color:#be123c!important}
.v57-tabs-card .hotel-card-v20{border:1px solid #e2e8f0!important}.v57-tabs-card .badge{font-size:11px!important;padding:6px 9px!important}.v57-tabs-card .hotel-card-v20 h4{color:#0f172a!important;letter-spacing:-.02em!important}.hotel-card-v20 small,.dash-sub-v20{color:#64748b!important}.v27-preview{background:#162033!important;color:#f8fafc!important}
@media(max-width:992px){.owner-flow-header-v208{align-items:flex-start;flex-direction:column}.owner-preview-v208{width:100%}.primary-actions-v208{grid-template-columns:1fr}.focus-action-v208{min-height:104px}.support-actions-v208{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-groups-v208{grid-template-columns:1fr}}
@media(max-width:576px){.hotel-owner-flow-v208{padding:13px;border-radius:22px;gap:14px}.owner-flow-header-v208{padding:14px;border-radius:18px}.owner-flow-header-v208 h5{font-size:17px}.primary-actions-v208{gap:10px}.focus-action-v208{min-height:92px;padding:14px;border-radius:18px}.focus-action-v208 span{width:40px;height:40px;font-size:21px}.focus-action-v208 strong{font-size:16px}.support-actions-v208{grid-template-columns:1fr;gap:9px}.support-actions-v208 a{min-height:64px}.admin-hub-v208{padding:13px;border-radius:20px}.admin-hub-head-v208{display:block}.admin-groups-v208 summary{align-items:flex-start;flex-direction:column}.admin-groups-v208 summary small{text-align:left}.admin-links-v208{grid-template-columns:1fr}.admin-links-v208 a{min-height:42px}.v57-tabs-card .hotel-card-v20{padding:14px!important}}

/* V232: project-wide responsive overflow and touch UI hardening */
html,body{max-width:100%;}
body{overflow-x:auto;}
.app-nav .container{min-width:0!important;max-width:100%!important;}
.app-nav .navbar-brand{min-width:0!important;overflow:hidden;text-overflow:ellipsis;}
.app-nav-actions-v162{min-width:0!important;flex:0 0 auto;}
.owner-tabs{max-width:100vw!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain;}
.owner-tabs>.container,.owner-tabs .quick-clean-nav-v205{min-width:0!important;max-width:100%!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x proximity;padding-bottom:8px;}
.owner-tabs .btn{flex:0 0 auto!important;white-space:nowrap!important;min-height:44px!important;}
.card,.card-pro,.table-responsive,.admin-table-wrap{max-width:100%;min-width:0;}
.table-responsive,.admin-table-wrap{overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain;}
.table .btn{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;}
.table td,.table th{overflow-wrap:anywhere;}
@media(max-width:991.98px){
  .app-nav .container{flex-wrap:nowrap!important;align-items:center!important;}
  .app-nav .navbar-brand{max-width:48vw!important;white-space:nowrap!important;}
  .app-nav .btn{white-space:nowrap!important;min-height:44px!important;}
  .owner-tabs:not(#ownerMobileMenuV162){top:56px!important;}
}
@media(max-width:575.98px){
  .app-nav .navbar-brand{max-width:calc(100vw - 78px)!important;}
  .app-nav-actions-v162 .btn:not(:last-child){display:none!important;}
  .owner-tabs .btn{white-space:normal!important;}
}

/* V236: Hotel dashboard card grid/layout fix */
.dash-shell-v20{
  width:100%;
  max-width:1480px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.v57-tabs-card .hotel-list-v20,
.hotel-list-v20{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
}
.v57-tabs-card .hotel-card-v20,
.hotel-card-v20{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:visible!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.v57-tabs-card .hotel-card-v20 > .row.g-2,
.hotel-card-v20 > .row.g-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-left:0!important;
  margin-right:0!important;
  width:100%!important;
}
.v57-tabs-card .hotel-card-v20 > .row.g-2 > .col-6,
.hotel-card-v20 > .row.g-2 > .col-6{
  width:100%!important;
  max-width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
  min-width:0!important;
}
.v57-tabs-card .v27-preview,
.hotel-card-v20 .v27-preview{
  width:100%!important;
  height:124px!important;
  max-height:124px!important;
  object-fit:cover!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.25!important;
}
.hotel-card-v20 h4,
.hotel-card-v20 .badge,
.hotel-card-v20 small,
.hotel-card-v20 p,
.hotel-card-v20 a,
.hotel-card-v20 button,
.hotel-card-v20 summary,
.hotel-card-v20 strong,
.hotel-card-v20 b{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.hotel-owner-flow-v208{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.owner-flow-header-v208{
  min-width:0!important;
  align-items:flex-start!important;
}
.owner-flow-header-v208 > div{
  min-width:0!important;
}
.owner-preview-v208{
  white-space:normal!important;
  text-align:center!important;
}
.primary-actions-v208,
.support-actions-v208,
.admin-groups-v208,
.admin-links-v208{
  min-width:0!important;
}
.focus-action-v208,
.support-actions-v208 a,
.admin-links-v208 a{
  min-width:0!important;
  overflow:hidden!important;
}
.focus-action-v208 strong,
.focus-action-v208 small,
.support-actions-v208 b,
.support-actions-v208 small,
.admin-links-v208 a{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.admin-hub-v208{
  margin-top:auto!important;
  min-width:0!important;
}
.admin-groups-v208 summary{
  min-width:0!important;
}
.admin-groups-v208 summary small{
  white-space:normal!important;
}

@media (min-width:1200px){
  .v57-tabs-card .hotel-list-v20,
  .hotel-list-v20{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .primary-actions-v208{grid-template-columns:1fr!important;}
  .support-actions-v208{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .admin-groups-v208{grid-template-columns:1fr!important;}
}
@media (min-width:768px) and (max-width:1199.98px){
  .v57-tabs-card .hotel-list-v20,
  .hotel-list-v20{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .primary-actions-v208{grid-template-columns:1fr!important;}
  .support-actions-v208{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .admin-groups-v208{grid-template-columns:1fr!important;}
}
@media (max-width:767.98px){
  .v57-tabs-card .hotel-list-v20,
  .hotel-list-v20{grid-template-columns:1fr!important;gap:14px!important;}
  .v57-tabs-card .hotel-card-v20,
  .hotel-card-v20{padding:14px!important;}
  .v57-tabs-card .hotel-card-v20 > .row.g-2,
  .hotel-card-v20 > .row.g-2{grid-template-columns:1fr!important;}
  .v57-tabs-card .v27-preview,
  .hotel-card-v20 .v27-preview{height:150px!important;max-height:150px!important;}
  .primary-actions-v208,
  .support-actions-v208,
  .admin-groups-v208,
  .admin-links-v208{grid-template-columns:1fr!important;}
  .owner-flow-header-v208{flex-direction:column!important;}
  .owner-preview-v208{width:100%!important;}
}

/* V237/V238 Dashboard hotel cards: Bootstrap two-card grid + responsive overflow fix */
.hotel-list-v20.row,
.v57-tabs-card .hotel-list-v20.row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  width:100%!important;
  margin-left:calc(-.5 * var(--bs-gutter-x, 1.5rem))!important;
  margin-right:calc(-.5 * var(--bs-gutter-x, 1.5rem))!important;
  gap:0!important;
}
.hotel-card-col-v238{
  min-width:0!important;
  align-items:stretch!important;
}
@media (min-width:992px){
  .hotel-list-v20.row>.hotel-card-col-v238{flex:0 0 auto!important;width:50%!important;max-width:50%!important;}
}
@media (min-width:768px) and (max-width:991.98px){
  .hotel-list-v20.row>.hotel-card-col-v238{flex:0 0 auto!important;width:50%!important;max-width:50%!important;}
}
@media (max-width:767.98px){
  .hotel-list-v20.row>.hotel-card-col-v238{flex:0 0 auto!important;width:100%!important;max-width:100%!important;}
}
.hotel-card-col-v238>.hotel-card-v20{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  padding:22px!important;
  overflow:visible!important;
}
.hotel-card-col-v238 .hotel-owner-flow-v208{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  min-width:0!important;
}
.hotel-card-col-v238 .owner-flow-header-v208{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:16px!important;
  align-items:start!important;
}
.hotel-card-col-v238 .owner-flow-header-v208 p,
.hotel-card-col-v238 .owner-flow-header-v208 h5,
.hotel-card-col-v238 .flow-eyebrow-v208,
.hotel-card-col-v238 .daily-action-card-v207 b,
.hotel-card-col-v238 .daily-action-card-v207 small,
.hotel-card-col-v238 .focus-action-v208 strong,
.hotel-card-col-v238 .focus-action-v208 small,
.hotel-card-col-v238 .support-actions-v208 b,
.hotel-card-col-v238 .support-actions-v208 small{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}
.hotel-card-col-v238 .owner-preview-v208{
  min-height:44px!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
.hotel-card-col-v238 .primary-actions-v208{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
.hotel-card-col-v238 .support-actions-v208{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;}
.hotel-card-col-v238 .focus-action-v208,
.hotel-card-col-v238 .support-actions-v208 a{
  min-height:88px!important;
  padding:14px!important;
  align-items:flex-start!important;
  overflow:visible!important;
}
.hotel-card-col-v238 .admin-hub-v208{margin-top:auto!important;}
.hotel-card-col-v238 .admin-links-v208{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
.hotel-card-col-v238 .admin-links-v208 a{min-height:42px!important;white-space:normal!important;}
.hotel-card-col-v238 .v27-preview{height:130px!important;max-height:130px!important;}

@media (max-width:1199.98px){
  .hotel-card-col-v238>.hotel-card-v20{padding:18px!important;}
  .hotel-card-col-v238 .owner-flow-header-v208{grid-template-columns:1fr!important;}
  .hotel-card-col-v238 .owner-preview-v208{width:100%!important;white-space:normal!important;}
  .hotel-card-col-v238 .primary-actions-v208{grid-template-columns:1fr!important;}
  .hotel-card-col-v238 .support-actions-v208{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:767.98px){
  .hotel-card-col-v238>.hotel-card-v20{padding:15px!important;border-radius:20px!important;}
  .hotel-card-col-v238 .hotel-card-v20>.row.g-2{grid-template-columns:1fr!important;}
  .hotel-card-col-v238 .support-actions-v208,
  .hotel-card-col-v238 .admin-links-v208{grid-template-columns:1fr!important;}
  .hotel-card-col-v238 .v27-preview{height:150px!important;max-height:150px!important;}
}


/* V239: Final dashboard hotel card UI - Bootstrap 2-column, readable flex cards */
#tab-hotels .hotel-list-v20.row{
  display:flex!important;
  flex-wrap:wrap!important;
  --bs-gutter-x:24px!important;
  --bs-gutter-y:24px!important;
  align-items:stretch!important;
}
#tab-hotels .hotel-card-col-v239,
#tab-hotels .hotel-card-col-v238{
  display:flex!important;
  align-items:stretch!important;
  min-width:0!important;
}
#tab-hotels .hotel-card-col-v239>.hotel-card-v20,
#tab-hotels .hotel-card-col-v238>.hotel-card-v20{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  padding:24px!important;
  border-radius:28px!important;
  box-shadow:0 16px 42px rgba(15,23,42,.08)!important;
  overflow:visible!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
#tab-hotels .hotel-card-v20 *,
#tab-hotels .hotel-card-v20 h1,
#tab-hotels .hotel-card-v20 h2,
#tab-hotels .hotel-card-v20 h3,
#tab-hotels .hotel-card-v20 h4,
#tab-hotels .hotel-card-v20 h5,
#tab-hotels .hotel-card-v20 h6,
#tab-hotels .hotel-card-v20 p,
#tab-hotels .hotel-card-v20 small,
#tab-hotels .hotel-card-v20 strong,
#tab-hotels .hotel-card-v20 b,
#tab-hotels .hotel-card-v20 a,
#tab-hotels .hotel-card-v20 button,
#tab-hotels .hotel-card-v20 summary{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
  min-width:0!important;
}
#tab-hotels .hotel-card-v20>.row.g-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0 0 18px!important;
}
#tab-hotels .hotel-card-v20>.row.g-2>.col-6{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
}
#tab-hotels .hotel-card-v20 .v27-preview{
  width:100%!important;
  height:136px!important;
  max-height:136px!important;
  border-radius:16px!important;
  object-fit:cover!important;
  text-align:center!important;
  line-height:1.25!important;
  padding:10px!important;
}
#tab-hotels .hotel-card-v20 h4{
  font-size:24px!important;
  line-height:1.15!important;
  margin-bottom:8px!important;
}
#tab-hotels .hotel-card-v20 .badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  white-space:nowrap!important;
  margin:0 4px 6px 0!important;
}
#tab-hotels .hotel-owner-flow-v208{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  min-width:0!important;
  padding:16px!important;
  border-radius:24px!important;
}
#tab-hotels .owner-flow-header-v208{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:16px!important;
  border-radius:20px!important;
}
#tab-hotels .owner-flow-header-v208>div{
  flex:1 1 auto!important;
  min-width:0!important;
}
#tab-hotels .owner-preview-v208{
  flex:0 0 auto!important;
  min-height:46px!important;
  padding:12px 18px!important;
  white-space:nowrap!important;
  border-radius:14px!important;
}
#tab-hotels .primary-actions-v208,
#tab-hotels .support-actions-v208{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
#tab-hotels .focus-action-v208,
#tab-hotels .support-actions-v208 a{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:14px!important;
  min-height:82px!important;
  padding:16px!important;
  border-radius:18px!important;
  text-align:left!important;
  overflow:visible!important;
}
#tab-hotels .focus-action-v208 span,
#tab-hotels .support-actions-v208 span{
  flex:0 0 46px!important;
  width:46px!important;
  height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:15px!important;
  font-size:22px!important;
}
#tab-hotels .focus-action-v208 strong,
#tab-hotels .support-actions-v208 b{
  display:block!important;
  font-size:16px!important;
  line-height:1.25!important;
  margin:0 0 3px!important;
}
#tab-hotels .focus-action-v208 small,
#tab-hotels .support-actions-v208 small{
  display:block!important;
  font-size:12px!important;
  line-height:1.35!important;
  color:#64748b!important;
}
#tab-hotels .admin-hub-v208{
  margin-top:auto!important;
  padding:16px!important;
  border-radius:22px!important;
}
#tab-hotels .admin-hub-head-v208{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:12px!important;
}
#tab-hotels .admin-hub-head-v208 h6{
  flex:0 0 auto!important;
  margin:0!important;
  font-size:16px!important;
  line-height:1.25!important;
}
#tab-hotels .admin-hub-head-v208 p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.35!important;
}
#tab-hotels .admin-links-v208{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
#tab-hotels .admin-links-v208 a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:10px 12px!important;
  text-align:center!important;
  border-radius:14px!important;
  white-space:normal!important;
}
@media (min-width:768px){
  #tab-hotels .hotel-list-v20.row>.hotel-card-col-v239,
  #tab-hotels .hotel-list-v20.row>.hotel-card-col-v238{
    flex:0 0 auto!important;
    width:50%!important;
    max-width:50%!important;
  }
}
@media (min-width:1200px){
  #tab-hotels .support-actions-v208{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:1199.98px){
  #tab-hotels .owner-flow-header-v208{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  #tab-hotels .owner-preview-v208{
    width:100%!important;
    white-space:normal!important;
  }
  #tab-hotels .support-actions-v208{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:767.98px){
  #tab-hotels .hotel-list-v20.row>.hotel-card-col-v239,
  #tab-hotels .hotel-list-v20.row>.hotel-card-col-v238{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:100%!important;
  }
  #tab-hotels .hotel-card-col-v239>.hotel-card-v20,
  #tab-hotels .hotel-card-col-v238>.hotel-card-v20{padding:16px!important;border-radius:22px!important;}
  #tab-hotels .hotel-card-v20>.row.g-2{grid-template-columns:1fr!important;}
  #tab-hotels .hotel-card-v20 .v27-preview{height:150px!important;max-height:150px!important;}
  #tab-hotels .support-actions-v208,
  #tab-hotels .admin-links-v208{grid-template-columns:1fr!important;}
  #tab-hotels .admin-hub-head-v208{display:block!important;}
}


/* V240 audit fixes: readable dashboard cards, safer text wrapping and responsive tables/forms */
.hotel-list-v20{align-items:stretch!important;}
.hotel-card-col-v239{display:flex!important;}
.hotel-card-col-v239>.hotel-card-v20{width:100%!important;display:flex!important;flex-direction:column!important;min-height:100%!important;overflow:hidden!important;}
.hotel-card-v20,.focus-action-v208,.support-actions-v208 a,.admin-links-v208 a{word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important;}
.focus-action-v208 strong,.support-actions-v208 b,.admin-links-v208 a{white-space:normal!important;line-height:1.25!important;}
.primary-actions-v208,.support-actions-v208,.admin-links-v208{gap:12px!important;}
.focus-action-v208,.support-actions-v208 a{min-width:0!important;align-items:flex-start!important;}
.admin-groups-v208 details{border-radius:18px!important;overflow:hidden!important;}
.table-responsive{max-width:100%;}
input,select,textarea,button{font-size:16px;}
@media (min-width:768px){.hotel-card-col-v239{width:50%!important;max-width:50%!important;}.primary-actions-v208{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media (max-width:767.98px){.hotel-card-col-v239{width:100%!important;max-width:100%!important;}.primary-actions-v208{grid-template-columns:1fr!important;}.dash-shell-v20{padding-left:12px!important;padding-right:12px!important;}.v57-hotels-head{align-items:stretch!important;flex-direction:column!important;}.v57-hotels-head .btn{width:100%!important;}}

/* =====================================================
   V256 Menu combo offer responsive repair
   - Keeps combo images fully visible with object-fit: contain
   - Prevents squeezed cards, clipped text and button overlap
===================================================== */
.combo-v50-section{
    width:100%;
    max-width:1180px;
    margin:18px auto;
    padding:24px 0;
    overflow:hidden;
}
.combo-v50-head{
    padding:0 12px;
    text-align:center;
}
.combo-v50-slider{
    display:flex;
    align-items:stretch;
    gap:18px;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:10px 14px 20px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
}
.combo-v50-card{
    flex:0 0 clamp(280px, 30vw, 360px);
    min-width:280px!important;
    max-width:360px!important;
    display:flex;
    flex-direction:column;
    border-radius:24px;
    overflow:hidden;
    scroll-snap-align:start;
    background:#fff;
    border:1px solid #eef2f7;
    box-shadow:0 18px 45px rgba(15,23,42,.12);
    word-break:normal!important;
    overflow-wrap:break-word;
}
.combo-v50-media{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:190px;
    padding:14px;
    background:linear-gradient(180deg,#fff7ed,#ffffff);
    overflow:hidden;
}
.combo-v50-card img,
.combo-v50-img{
    width:100%!important;
    height:100%!important;
    max-width:100%;
    max-height:100%;
    object-fit:contain!important;
    object-position:center center!important;
    display:block;
}
.combo-v50-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    font-size:58px;
    border-radius:18px;
    background:#fff;
}
.combo-v50-badge-float{
    position:absolute;
    top:12px;
    left:12px;
    z-index:2;
    box-shadow:0 8px 20px rgba(194,65,12,.12);
}
.combo-v50-body{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    gap:10px;
    min-width:0;
    padding:16px!important;
}
.combo-v50-body h3{
    margin:0!important;
    font-size:clamp(17px, 2vw, 20px)!important;
    line-height:1.25!important;
    color:#0f172a;
    font-weight:900;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:anywhere;
}
.combo-v50-desc,
.combo-v50-body p{
    margin:0!important;
    min-height:0!important;
    max-height:none!important;
    color:#475569;
    font-size:14px;
    line-height:1.45;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:anywhere;
}
.combo-v50-pricing{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 10px;
    margin-top:auto;
}
.combo-v50-original{
    color:#94a3b8;
    text-decoration:line-through;
    font-weight:800;
    font-size:14px;
}
.combo-v50-price{
    margin:0!important;
    color:#16a34a!important;
    font-size:22px!important;
    line-height:1.1;
    font-weight:900;
    white-space:nowrap;
}
.combo-v50-save{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:5px 9px;
    background:#dcfce7;
    color:#166534;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}
.combo-v50-btn,
.combo-v50-card button.combo-v50-btn{
    width:100%;
    min-height:44px;
    margin-top:2px;
    border:0;
    white-space:normal;
    line-height:1.2;
    flex-shrink:0;
}
@media (min-width:1280px){
    .combo-v50-card{flex-basis:340px;}
    .combo-v50-media{height:205px;}
}
@media (max-width:767.98px){
    .combo-v50-section{
        max-width:100%;
        padding:18px 0;
        margin:14px auto;
    }
    .combo-v50-head{text-align:left;}
    .combo-v50-slider{
        gap:12px;
        padding:8px 12px 16px;
        scroll-snap-type:x mandatory;
    }
    .combo-v50-card{
        flex-basis:min(82vw, 330px);
        min-width:min(82vw, 330px)!important;
        max-width:min(82vw, 330px)!important;
        border-radius:20px;
    }
    .combo-v50-media{height:160px;padding:12px;}
    .combo-v50-body{padding:14px!important;}
}
@media (max-width:380px){
    .combo-v50-card{
        flex-basis:86vw;
        min-width:86vw!important;
        max-width:86vw!important;
    }
    .combo-v50-media{height:150px;}
    .combo-v50-price{font-size:20px!important;}
}

/* V257 menu.php image contain fallback: prevents product/category/combo images from being cropped. */
body.customer-body img{object-fit:contain!important;object-position:center center!important;}
body.customer-body .food-img,
body.customer-body .category-img-v201,
body.customer-body .svc-img-v241,
body.customer-body .menu-suggestion-media-v241,
body.customer-body .search-result-media-v243,
body.customer-body .combo-v50-card img,
body.customer-body .combo-v50-media img{object-fit:contain!important;object-position:center center!important;display:block;max-width:100%;}
body.customer-body .combo-v50-media img{width:100%!important;height:100%!important;}

/* V259: animated rotating circular border for menu social media options.
   Pure CSS only: no HTML/JS change, no layout/functionality impact. */
@keyframes socialBorderSpinV259{to{transform:rotate(360deg)}}
.hotel-info-card .social-links{overflow:visible}
.hotel-info-card .social-btn{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:0!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(15,23,42,.10)!important;
}
.hotel-info-card .social-btn::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    padding:2px;
    background:conic-gradient(from 0deg,#ff6b00,#ffb000,#22c55e,#06b6d4,#8b5cf6,#ec4899,#ff6b00);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    animation:socialBorderSpinV259 2.8s linear infinite;
    pointer-events:none;
    z-index:0;
}
.hotel-info-card .social-btn::after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:inherit;
    background:rgba(255,255,255,.96);
    pointer-events:none;
    z-index:-1;
}
.hotel-info-card .social-btn .brand-icon,
.hotel-info-card .social-btn span{
    position:relative;
    z-index:1;
}
.hotel-info-card .social-btn:hover::before{animation-duration:1.45s}
@media (prefers-reduced-motion: reduce){
    .hotel-info-card .social-btn::before{animation:none}
}

/* V260 FIX: visible animated rotating border for menu social media buttons.
   The previous rule targeted only `.hotel-info-card .social-btn`, but the
   social buttons are rendered outside `.hotel-info-card`, so it did not apply. */
@keyframes socialBorderSpinV260{to{transform:rotate(360deg)}}
body.customer-body .menu-stage > .social-links,
body.customer-body .social-links{
    overflow:visible!important;
    position:relative;
    z-index:4;
}
body.customer-body .menu-stage > .social-links .social-btn,
body.customer-body .social-links .social-btn{
    --social-ring-v260:conic-gradient(from 0deg,#ff6b00,#ffb000,#22c55e,#06b6d4,#8b5cf6,#ec4899,#ff6b00);
    position:relative!important;
    isolation:isolate!important;
    overflow:hidden!important;
    border:0!important;
    background:transparent!important;
    box-shadow:0 12px 28px rgba(15,23,42,.16),0 0 0 1px rgba(255,255,255,.70)!important;
    transform:translateZ(0);
}
body.customer-body .menu-stage > .social-links .social-btn::before,
body.customer-body .social-links .social-btn::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:var(--social-ring-v260);
    animation:socialBorderSpinV260 2.6s linear infinite;
    pointer-events:none;
    z-index:0;
}
body.customer-body .menu-stage > .social-links .social-btn::after,
body.customer-body .social-links .social-btn::after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:inherit;
    background:#fff;
    pointer-events:none;
    z-index:1;
}
body.customer-body .menu-stage > .social-links .social-btn .brand-icon,
body.customer-body .menu-stage > .social-links .social-btn span,
body.customer-body .social-links .social-btn .brand-icon,
body.customer-body .social-links .social-btn span{
    position:relative!important;
    z-index:2!important;
}
body.customer-body .menu-stage > .social-links .social-btn.social-wa,
body.customer-body .social-links .social-btn.social-wa{
    --social-ring-v260:conic-gradient(from 0deg,#25D366,#bbf7d0,#16a34a,#06b6d4,#25D366);
}
body.customer-body .menu-stage > .social-links .social-btn.social-google,
body.customer-body .social-links .social-btn.social-google{
    --social-ring-v260:conic-gradient(from 0deg,#4285F4,#34A853,#FBBC05,#EA4335,#4285F4);
}
body.customer-body .menu-stage > .social-links .social-btn:hover::before,
body.customer-body .social-links .social-btn:hover::before{animation-duration:1.25s}
@media(max-width:576px){
    body.customer-body .menu-stage > .social-links,
    body.customer-body .social-links{gap:12px!important;}
    body.customer-body .menu-stage > .social-links .social-btn,
    body.customer-body .social-links .social-btn{min-height:48px!important;}
}
@media (prefers-reduced-motion: reduce){
    body.customer-body .menu-stage > .social-links .social-btn::before,
    body.customer-body .social-links .social-btn::before{animation:none!important;}
}



/* V261: social buttons mobile two-column + thinner/slower animated border */
body.customer-body .social-links{
    box-sizing:border-box;
}
body.customer-body .menu-stage > .social-links .social-btn::before,
body.customer-body .social-links .social-btn::before{
    animation-duration:5.2s!important;
}
body.customer-body .menu-stage > .social-links .social-btn:hover::before,
body.customer-body .social-links .social-btn:hover::before{
    animation-duration:4.2s!important;
}
body.customer-body .menu-stage > .social-links .social-btn::after,
body.customer-body .social-links .social-btn::after{
    inset:2px!important;
}
@media(max-width:576px){
    body.customer-body .menu-stage > .social-links,
    body.customer-body .social-links{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:10px!important;
        overflow:visible!important;
        width:100%!important;
        max-width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
    }
    body.customer-body .menu-stage > .social-links .social-btn,
    body.customer-body .social-links .social-btn{
        flex:0 0 calc(50% - 5px)!important;
        width:calc(50% - 5px)!important;
        max-width:calc(50% - 5px)!important;
        min-width:0!important;
        min-height:46px!important;
        padding:10px 8px!important;
        box-sizing:border-box!important;
        white-space:normal!important;
        text-align:center!important;
        line-height:1.15!important;
        gap:6px!important;
    }
    body.customer-body .menu-stage > .social-links .social-btn .brand-icon,
    body.customer-body .social-links .social-btn .brand-icon{
        width:18px!important;
        height:18px!important;
    }
    body.customer-body .menu-stage > .social-links .social-btn span,
    body.customer-body .social-links .social-btn span{
        min-width:0!important;
        overflow-wrap:break-word!important;
        word-break:normal!important;
    }
}
@media(max-width:360px){
    body.customer-body .menu-stage > .social-links .social-btn,
    body.customer-body .social-links .social-btn{
        flex:0 0 calc(50% - 5px)!important;
        width:calc(50% - 5px)!important;
        max-width:calc(50% - 5px)!important;
        font-size:12px!important;
        padding-left:6px!important;
        padding-right:6px!important;
    }
}


/* =====================================================
   V324 Responsive UI and smooth-scroll hardening
   - Prevents dashboard action labels from breaking letter-by-letter
   - Removes nested scroll traps and horizontal page drift
   - Improves mobile/tablet cards, forms, tables and sticky controls
===================================================== */
html{
  scroll-behavior:smooth;
  scroll-padding-top:88px;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
main,.container,.container-fluid,.row,[class*="col-"]{min-width:0;}
img,svg,video,canvas,iframe{max-width:100%;height:auto;}
input,select,textarea{max-width:100%;}
:where(h1,h2,h3,h4,h5,h6,p,small,strong,b,a,button,label,summary,td,th){
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
}
.table-responsive,.admin-table-wrap,.js-table-wrap-v101{
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.modal-open{overflow:hidden!important;}

/* Dashboard: keep each card readable at every width. */
#tab-hotels .hotel-card-col-v239>.hotel-card-v20,
#tab-hotels .hotel-card-col-v238>.hotel-card-v20{
  overflow:visible!important;
}
#tab-hotels .primary-actions-v208{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#tab-hotels .support-actions-v208{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#tab-hotels .focus-action-v208,
#tab-hotels .support-actions-v208 a{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:14px!important;
  row-gap:3px!important;
  align-content:center!important;
  align-items:center!important;
  min-width:0!important;
  min-height:88px!important;
  overflow:hidden!important;
}
#tab-hotels .focus-action-v208>span,
#tab-hotels .support-actions-v208 a>span{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
}
#tab-hotels .focus-action-v208>strong,
#tab-hotels .support-actions-v208 a>b{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  font-size:clamp(15px,1.15vw,17px)!important;
  line-height:1.22!important;
}
#tab-hotels .focus-action-v208>small,
#tab-hotels .support-actions-v208 a>small{
  grid-column:2!important;
  grid-row:2!important;
  min-width:0!important;
  width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-height:1.35!important;
}
#tab-hotels .focus-action-v208 .v24-notify-badge{position:absolute!important;right:9px!important;top:8px!important;}

/* Avoid desktop nested-scroll traps while retaining useful table/category scrolling. */
@media (min-width:993px){
  .waiter_panel .table-grid{max-height:none;}
}

@media (max-width:1199.98px){
  #tab-hotels .primary-actions-v208,
  #tab-hotels .support-actions-v208{grid-template-columns:1fr!important;}
}

@media (max-width:767.98px){
  html{scroll-padding-top:72px;}
  body{font-size:15px;}
  #tab-hotels .hotel-card-col-v239>.hotel-card-v20,
  #tab-hotels .hotel-card-col-v238>.hotel-card-v20{padding:14px!important;}
  #tab-hotels .hotel-owner-flow-v208{padding:12px!important;gap:12px!important;}
  #tab-hotels .primary-actions-v208,
  #tab-hotels .support-actions-v208,
  #tab-hotels .admin-links-v208{grid-template-columns:1fr!important;}
  #tab-hotels .focus-action-v208,
  #tab-hotels .support-actions-v208 a{
    grid-template-columns:44px minmax(0,1fr)!important;
    min-height:82px!important;
    padding:13px!important;
    border-radius:17px!important;
  }
  #tab-hotels .focus-action-v208>strong,
  #tab-hotels .support-actions-v208 a>b{font-size:16px!important;}
  #tab-hotels .focus-action-v208>small,
  #tab-hotels .support-actions-v208 a>small{font-size:12px!important;}
  .sticky-submit,.combo-save-bar,.save-order-bar{max-width:100%;}
  .table-responsive>.table,.admin-table-wrap>.table,.js-table-wrap-v101>.table{min-width:640px;}
  .form-control,.form-select,.btn{min-height:44px;}
}

@media (max-width:420px){
  #tab-hotels .focus-action-v208,
  #tab-hotels .support-actions-v208 a{
    grid-template-columns:40px minmax(0,1fr)!important;
    column-gap:11px!important;
    padding:12px!important;
  }
  #tab-hotels .focus-action-v208>span,
  #tab-hotels .support-actions-v208 a>span{width:40px!important;height:40px!important;flex-basis:40px!important;font-size:20px!important;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
