:root{--bo-steel:#65819e;--bo-deep:#001a39;--bo-navy:#1d2835;--bo-light:#ecedee;--bo-line:#d9e1ea;--bo-gold:#d9a441;--bo-ok:#16a35f;--bo-danger:#d93c3c}
*{font-family:'Roboto',Arial,sans-serif} h1,h2,h3,.brand,.qr-brand,.rail-logo,.stat-card b{font-family:'Playfair Display',serif}
.page-top,.left-rail{background:linear-gradient(180deg,#65819e,var(--bo-deep))!important;color:#fff!important}.page-top a,.page-top button,.page-top h1,.page-top .muted,.left-rail *{color:#fff!important}.page-nav a,.page-nav button{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.22)!important}.rail-btn{background:transparent!important}.rail-btn:hover,.rail-btn.active{background:rgba(255,255,255,.18)!important}.topbar{background:linear-gradient(180deg,#65819e,var(--bo-deep))!important;color:#fff!important}.topbar *{color:#fff!important}.category-rail{background:linear-gradient(180deg,#65819e,var(--bo-deep))!important}.category-rail h3,.category-rail .cat-btn{color:#fff!important}.category-rail .cat-btn.active{background:#fff!important;color:var(--bo-deep)!important}
.page-brand-title img,.qr-hero-logo,.rail-logo,.receipt-preview-logo,.qr-card-logo img{background:#fff!important;border-radius:999px!important;object-fit:contain!important}.page-brand-title img{padding:4px!important}.logo-bg-white{background:#fff!important}
.menu-panel{min-width:0!important;overflow:hidden!important}.menu-head{background:#fff!important;color:var(--bo-deep)!important}.menu-head .breadcrumbs,.menu-head span{color:var(--bo-deep)!important}.search{min-height:58px!important;border-radius:20px!important}.search input{font-size:20px!important;font-weight:900!important;color:var(--bo-deep)!important}.product-grid{min-width:0!important;max-width:100%!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:8px!important}.product-card{min-width:0!important}.ticket-panel{background:#fff!important}.ticket-list{overflow:auto!important}.tables-drawer .drawer-card{width:min(1200px,96vw)!important;max-width:none!important}.drawer-head{gap:12px}.drawer-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.waiter-table-tools{grid-template-columns:minmax(310px,1.2fr) minmax(160px,210px) minmax(160px,210px)!important}.waiter-table-search{min-height:64px!important;border-radius:22px!important;border:2px solid var(--bo-line)!important}.waiter-table-search input{font-size:20px!important;padding:18px 4px!important}.waiter-table-tools select{font-size:17px!important;padding:18px 14px!important;border-radius:22px!important}.waiter-table-summary span{font-size:14px!important;padding:10px 14px!important}.tables-compact-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}.table-compact{min-height:105px!important}.ready-drawer-card{width:min(900px,96vw)!important}.ready-group h3,.free-report-section h3{margin:0 0 12px;color:var(--bo-deep)}.ready-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--bo-line)}.ready-line span{display:block;color:#657386;font-weight:800;font-size:12px}.wide-modal{max-width:min(920px,96vw)!important}.compact-kpi{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;margin-bottom:14px}.free-report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.free-report-grid button{border:1px solid var(--bo-line);border-radius:18px;background:#fff;padding:12px;text-align:left;color:var(--bo-deep);box-shadow:0 10px 24px rgba(0,26,57,.06)}.free-report-grid strong,.free-report-grid span{display:block}.free-report-grid span{color:#657386;font-weight:800;font-size:12px}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:9999;display:grid;gap:10px}.toast{background:#fff;border:1px solid var(--bo-line);border-left:6px solid var(--bo-gold);box-shadow:0 18px 50px rgba(0,26,57,.18);padding:12px 14px;border-radius:16px;min-width:260px}.toast strong{display:block;color:var(--bo-deep);font-weight:1000}.toast span{color:#526171;font-weight:800;font-size:13px}
.order-card{border:1px solid var(--bo-line)!important;border-radius:24px!important;box-shadow:0 18px 44px rgba(0,26,57,.08)!important}.order-actions .ok-btn{font-size:18px!important;padding:15px 22px!important;border-radius:16px!important}.station{background:#eef4fb!important;color:var(--bo-deep)!important}
.admin-shell{align-items:start}.admin-kpi.overview-kpi{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}.stat-card.hot{background:linear-gradient(135deg,#fff,#eef4fb)!important;border-color:#b8c9d9!important}.sub-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.sub-tab-btn{border:0;border-radius:999px;background:#eef4fb;color:var(--bo-deep);font-weight:1000;padding:12px 16px}.sub-tab-btn.active{background:linear-gradient(180deg,#65819e,var(--bo-deep));color:#fff}.sub-section{display:none}.sub-section.active{display:block}.image-warning{border-left:6px solid var(--bo-gold)!important}.allergen-box{background:#f6f9fc;border:1px solid var(--bo-line);border-radius:18px;padding:14px}.allergen-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:8px;margin-top:10px}.allergen-admin-grid label{display:flex!important;align-items:center!important;gap:6px!important;font-size:13px!important;font-weight:900!important}.allergen-admin-grid input{width:auto!important}.mini-allergen{display:inline-flex;margin:2px;border-radius:999px;background:#eef4fb;color:var(--bo-deep);padding:4px 8px;font-size:11px;font-weight:900}.receipt-preview{width:min(290px,100%);margin:auto;background:#fff;border:1px dashed #9aa9b8;border-radius:18px;padding:18px;color:#111;box-shadow:0 22px 50px rgba(0,26,57,.08)}.receipt-preview-logo{text-align:center}.receipt-preview-logo img{width:56px;height:56px;object-fit:contain}.receipt-preview h3{text-align:center;margin:8px 0 6px}.receipt-preview p{text-align:center;color:#677584;margin:3px 0}.receipt-preview div:not(.receipt-preview-logo){display:flex;justify-content:space-between;gap:10px;margin:8px 0}.receipt-preview .grand{font-size:19px;font-weight:1000;color:var(--bo-deep)}.receipt-preview footer{text-align:center;color:#667;margin-top:12px;font-weight:800}
.qr-v7-body{padding-bottom:94px!important}.qr-hero-v7{background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.22),transparent 30%),linear-gradient(180deg,#65819e,var(--bo-deep))!important}.qr-v7-search-row{position:sticky;top:0;z-index:20;background:#eef4fbcc;backdrop-filter:blur(10px);padding:10px 0;margin:0 -4px 8px}.qr-v7-search-row .qr-search{min-height:58px;border:2px solid var(--bo-line);border-radius:22px}.qr-v7-search-row input{font-size:18px!important;font-weight:900!important}.qr-product-view-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px;background:#fff;border:1px solid var(--bo-line);border-radius:22px;padding:12px 14px;box-shadow:0 14px 34px rgba(0,26,57,.07)}.qr-product-view-head.hidden{display:none!important}.qr-product-view-head span{display:block;color:#6b7886;font-weight:900;font-size:12px}.qr-product-view-head strong{display:block;color:var(--bo-deep);font-size:20px;font-weight:1000}.qr-category-showcase.hidden{display:none!important}.qr-start-note{background:#fff;border:1px solid var(--bo-line);border-radius:24px;padding:24px;text-align:center;color:#526171;font-weight:900}.qr-product-v7{cursor:pointer}.qr-product-v7 .allergen-icons{margin:10px 0}.allergen-icons{display:flex;gap:6px;flex-wrap:wrap}.allergen-icons span{display:inline-flex;align-items:center;gap:4px;background:#f1f6fa;color:var(--bo-deep);border:1px solid var(--bo-line);border-radius:999px;padding:6px 9px;font-weight:900;font-size:12px}.allergen-icons b{font-weight:900}.qr-bottom-account{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px max(12px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(238,244,251,.1),rgba(238,244,251,.95) 30%,#fff);backdrop-filter:blur(12px)}.qr-bottom-account button{width:min(760px,100%);margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;border:1px solid var(--bo-line);border-radius:22px;background:linear-gradient(180deg,#65819e,var(--bo-deep));color:#fff;padding:12px 16px;box-shadow:0 12px 36px rgba(0,26,57,.22);text-align:left}.qr-bottom-account span,.qr-bottom-account small{display:block;color:#e8f0f7;font-weight:900}.qr-bottom-account strong{font-size:24px;font-weight:1000;grid-row:1/3;grid-column:2;color:#fff}.account-modal-lines{max-height:60vh;overflow:auto}.account-modal-lines div{display:flex;justify-content:space-between;gap:12px;background:#f6f9fc;border-radius:14px;padding:10px 12px;margin:7px 0}.account-modal-lines span small{display:block;color:#6b7886;font-weight:800}.product-detail-modal{padding:0!important;overflow:hidden;position:relative}.modal-close{position:absolute;right:12px;top:12px;z-index:2;border:0;background:#fff;color:var(--bo-deep);width:42px;height:42px;border-radius:999px;font-size:25px;font-weight:1000;box-shadow:0 12px 30px rgba(0,26,57,.16)}.product-detail-modal>img{width:100%;height:240px;object-fit:cover;background:#eef4fb}.product-detail-body{padding:22px}.detail-category{display:inline-flex;background:#eef4fb;color:var(--bo-deep);border-radius:999px;padding:7px 10px;font-weight:1000;font-size:12px}.detail-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.detail-price-row strong{font-size:28px;color:var(--bo-deep)}.qr-ordering-off .qr-cart-btn,.qr-ordering-off .qr-cart{display:none!important}.qr-ordering-off .qr-bottom-account{display:block!important}
.qr-designer-layout{display:grid;grid-template-columns:minmax(340px,1fr) minmax(280px,420px);gap:16px;align-items:start}.qr-design-preview{position:relative;width:100%;max-width:380px;height:520px;margin:10px auto 16px;background:#fff;border:1px dashed #9fb0c2;border-radius:28px;box-shadow:0 20px 60px rgba(0,26,57,.10);overflow:hidden}.design-layer{position:absolute;transform:translate(-50%,-50%);touch-action:none;cursor:grab;border:2px dashed rgba(101,129,158,.45);border-radius:16px;background:rgba(255,255,255,.9);padding:8px;text-align:center}.design-layer.dragging{cursor:grabbing;box-shadow:0 20px 40px rgba(0,26,57,.18)}.logo-layer img{width:58px;height:58px;object-fit:contain;border-radius:999px;background:#fff}.title-layer small,.title-layer strong{display:block}.title-layer strong{font-size:18px;color:var(--bo-deep)}.qr-layer img{width:150px;height:150px}.text-layer h2{margin:0;color:var(--bo-deep)}.text-layer p{margin:4px 0 0;font-size:12px;color:#526171}.qr-mini-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.qr-mini-stats span{background:#eef4fb;border-radius:999px;color:var(--bo-deep);font-weight:1000;padding:8px 10px}.v7-qr-print .qr-a4-sheet{display:grid;grid-template-columns:repeat(2,1fr);gap:8mm;width:210mm;margin:14px auto;padding:8mm;background:#fff}.v7-qr-print.page-a3 .qr-a4-sheet{width:297mm;grid-template-columns:repeat(3,1fr)}.v7-qr-print .qr-a4-card{position:relative;min-height:130mm;border:0!important;box-shadow:none!important;border-radius:0!important;background:#fff!important;overflow:hidden;padding:0!important;page-break-inside:avoid}.v7-qr-print .qr-a4-card:before,.v7-qr-print .qr-a4-card:after{display:none!important}.qr-card-designed .qr-card-logo{position:absolute;left:var(--qr-logo-x,50%);top:var(--qr-logo-y,11%);transform:translate(-50%,-50%);height:auto!important}.qr-card-designed .qr-card-logo img{width:22mm!important;height:22mm!important;object-fit:contain;background:#fff!important;border-radius:999px}.qr-card-designed .qr-card-place{position:absolute;left:var(--qr-title-x,50%);top:var(--qr-title-y,23%);transform:translate(-50%,-50%);width:88%;text-align:center}.qr-card-designed .qr-card-place small{display:block;color:#687789;font-weight:900}.qr-card-designed .qr-card-place strong{display:block;color:var(--bo-deep);font-family:'Playfair Display',serif;font-size:20pt}.qr-card-designed .qr-image{position:absolute;left:var(--qr-qr-x,50%);top:var(--qr-qr-y,52%);transform:translate(-50%,-50%);width:58mm!important;height:58mm!important;border:0!important;border-radius:0!important;background:#fff!important}.qr-card-designed .qr-card-copy{position:absolute;left:var(--qr-text-x,50%);top:var(--qr-text-y,80%);transform:translate(-50%,-50%);width:84%;text-align:center}.qr-card-designed .qr-card-copy h2{margin:0;color:var(--bo-deep);font-size:24pt}.qr-card-designed .qr-card-copy p{margin:5px 0 0;color:#526171;font-weight:800}.qr-card-designed .qr-card-url{position:absolute;left:8mm;right:8mm;bottom:5mm;text-align:center;font-size:5.5pt;color:#8894a2;word-break:break-all}.page-a3 .qr-card-designed .qr-image{width:62mm!important;height:62mm!important}
@page{size:A4;margin:8mm}@media print{.page-top,.no-print,.qr-print-toolbar{display:none!important}body{background:#fff!important}.v7-qr-print .qr-a4-sheet{width:auto!important;margin:0!important;padding:0!important;box-shadow:none!important;gap:6mm!important}.v7-qr-print.page-a4 .qr-a4-sheet{grid-template-columns:repeat(2,1fr)!important}.v7-qr-print.page-a3 .qr-a4-sheet{grid-template-columns:repeat(3,1fr)!important}.v7-qr-print .qr-a4-card{min-height:130mm!important;border:0!important;box-shadow:none!important}@page{size:A4;margin:8mm}.v7-qr-print.page-a3{ } .v7-qr-print.page-a3 .qr-a4-card{min-height:125mm!important}}
@media(max-width:1100px){.qr-designer-layout{grid-template-columns:1fr}.waiter-table-tools{grid-template-columns:1fr!important}.admin-shell{grid-template-columns:1fr!important}.admin-side{position:static!important;display:flex!important;overflow:auto!important;gap:8px!important}.admin-side h3{display:none!important}.admin-tab-btn{white-space:nowrap!important}.split-grid{grid-template-columns:1fr!important}}
@media(max-width:760px){.left-rail{position:fixed!important;left:0;right:0;bottom:0;top:auto!important;z-index:70;height:70px!important;display:flex!important;overflow-x:auto!important;padding:6px!important}.rail-logo{display:none!important}.rail-btn{min-width:78px!important;height:58px!important;border-radius:16px!important}.app-shell{padding-bottom:72px!important}.ticket-panel,.menu-panel{width:100%!important}.mobile-tabs{position:sticky!important;top:0;z-index:30}.tables-drawer .drawer-card{width:100%!important;height:100dvh!important;border-radius:0!important}.tables-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.table-compact{min-height:78px!important;padding:9px!important;border-radius:15px!important}.table-compact strong{font-size:15px!important}.table-compact small{font-size:10px!important}.table-compact em{font-size:10px!important;padding:4px 6px!important}.waiter-table-summary span{font-size:12px!important}.drawer-head{align-items:flex-start!important;flex-direction:column!important}.drawer-actions{width:100%}.drawer-actions button{flex:1}.cashier-layout,.report-grid{grid-template-columns:1fr!important}.qr-category-showcase{grid-template-columns:repeat(2,minmax(0,1fr))!important}.qr-category-card img{height:100px!important}.qr-product-card{grid-template-columns:98px 1fr!important}.qr-product-card>img{width:98px!important;height:100%!important}.product-detail-modal>img{height:190px}.qr-bottom-account strong{font-size:20px}.free-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qr-design-preview{height:460px}.qr-card-designed .qr-card-place strong{font-size:16pt}.page-brand-title img{width:46px!important;height:46px!important}.page-top{align-items:flex-start!important;flex-direction:column!important}.page-nav{width:100%;overflow:auto}}@media(max-width:390px){.tables-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.qr-category-showcase{grid-template-columns:1fr!important}.qr-product-card{grid-template-columns:1fr!important}.qr-product-card>img{width:100%!important;height:150px!important}}

/* v8 final visual pass: logo rail, zero-shift desktop POS, compact customer welcome */
@media (min-width:761px){
  .pos-body{overflow:hidden!important;background:#fff!important}
  .app-shell{height:100vh!important;min-height:100vh!important;grid-template-columns:86px 360px minmax(0,1fr) 210px!important;background:#fff!important;overflow:hidden!important}
  .ticket-panel,.menu-panel,.category-rail{height:100vh!important;margin:0!important;border-radius:0!important}
  .ticket-panel{position:relative!important;display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
  .topbar,.menu-head{height:72px!important;min-height:72px!important;flex:0 0 72px!important}
  .ticket-list{height:auto!important;flex:1 1 auto!important;min-height:0!important;padding:14px 14px 16px!important;overflow:auto!important}
  .ticket-bottom{position:static!important;left:auto!important;bottom:auto!important;width:auto!important;flex:0 0 auto!important;min-height:84px!important;background:#fff!important;z-index:3!important}
  .menu-panel{min-width:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .product-grid{flex:1 1 auto!important;min-height:0!important;align-content:start!important;overflow-y:auto!important;overflow-x:hidden!important;padding:22px!important}
  .category-rail{overflow-y:auto!important;padding-top:18px!important;border-radius:0!important}
  .left-rail{height:100vh!important;min-height:100vh!important;overflow:hidden!important;padding-top:14px!important}
}
.rail-logo{width:58px!important;height:58px!important;margin:0 auto 10px!important;padding:7px!important;border-radius:999px!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 10px 26px rgba(0,26,57,.20)!important;font-size:0!important;line-height:0!important;letter-spacing:0!important;overflow:hidden!important;flex:0 0 auto!important}
.rail-logo img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:999px!important;display:block!important;background:#fff!important}
.left-rail .rail-btn{flex:0 0 auto!important}

.qr-welcome-bar{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:12px!important;margin:0 0 12px!important;padding:12px 14px!important;border-radius:22px!important;background:linear-gradient(180deg,#65819e,var(--bo-deep))!important;color:#fff!important;box-shadow:0 12px 34px rgba(0,26,57,.16)!important;min-height:0!important;overflow:hidden!important}
.qr-welcome-bar:before,.qr-welcome-bar:after{display:none!important}.qr-welcome-bar .qr-hero-logo{width:52px!important;height:52px!important;box-shadow:none!important;flex:0 0 auto!important}.qr-welcome-bar .qr-hero-logo img{max-width:42px!important;max-height:42px!important}.qr-welcome-copy{min-width:0!important}.qr-welcome-bar .qr-brand{font-size:15px!important;line-height:1!important;color:#fff!important;font-family:'Roboto',Arial,sans-serif!important;font-weight:1000!important;letter-spacing:.2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.qr-welcome-bar h1{margin:2px 0 0!important;font-size:20px!important;line-height:1.05!important;color:#fff!important;font-family:'Playfair Display',serif!important}.qr-welcome-bar p{margin:3px 0 0!important;color:#e8f0f7!important;font-size:12px!important;font-weight:800!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}.qr-floating-cart{position:fixed!important;right:14px!important;bottom:92px!important;z-index:65!important;min-width:58px!important;height:54px!important;border-radius:999px!important;background:linear-gradient(180deg,#65819e,var(--bo-deep))!important;color:#fff!important;box-shadow:0 16px 38px rgba(0,26,57,.28)!important;font-size:20px!important;font-weight:1000!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;border:1px solid rgba(255,255,255,.28)!important}.qr-floating-cart b{background:#fff!important;color:var(--bo-deep)!important;border-radius:999px!important;min-width:22px!important;height:22px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important}.qr-ordering-off .qr-floating-cart{display:none!important}
.qr-app{padding-top:12px!important}.qr-v7-search-row{top:0!important;margin-top:0!important}.qr-category-showcase{margin-top:10px!important}
@media(max-width:760px){.qr-welcome-bar{border-radius:18px!important;margin-bottom:10px!important;padding:10px 12px!important}.qr-floating-cart{right:12px!important;bottom:88px!important}.qr-welcome-bar .qr-hero-logo{width:46px!important;height:46px!important}.qr-welcome-bar h1{font-size:18px!important}.qr-welcome-bar p{font-size:11px!important}.qr-v7-body{padding-bottom:100px!important}}
