:root{--bg:#07090f;--panel:#111722;--panel2:#151d2a;--muted:#8b97aa;--text:#f6f8fc;--line:#263143;--blue:#4f8cff;--blue2:#6aa6ff;--green:#3fd18b;--orange:#ffb85c;--red:#ff6b7a;--purple:#a78bfa;--radius:18px;--shadow:0 18px 50px rgba(0,0,0,.36)}*{box-sizing:border-box}html,body{height:100%;margin:0;background:radial-gradient(circle at top,#121c2e 0,#07090f 48%,#05060a 100%);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif}body{display:flex;justify-content:center}.phone{width:min(100vw,460px);min-height:100vh;background:linear-gradient(180deg,#090d15,#080a10);position:relative;overflow-x:clip;overflow-y:clip}.wide{width:min(100vw,980px)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{position:relative;top:auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:rgba(7,9,15,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.icon-btn,.capsule{height:42px;border:1px solid rgba(255,255,255,.08);background:#121824;color:var(--text);border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.24)}.icon-btn{width:42px;cursor:pointer}.hamb{width:18px;height:12px;position:relative}.hamb:before,.hamb:after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:4px;background:#fff}.hamb:before{top:1px}.hamb:after{bottom:1px}.capsule{gap:6px;padding:0 7px}.capsule button{width:34px;height:34px;border:0;background:transparent;color:#fff;border-radius:999px;cursor:pointer}.title{font-size:17px;font-weight:800;letter-spacing:.06em}.dropdown{position:fixed;z-index:60;top:58px;width:min(86vw,340px);max-height:72vh;overflow:auto;background:rgba(17,23,34,.96);border:1px solid rgba(255,255,255,.1);border-radius:22px;box-shadow:var(--shadow);padding:10px;display:none}.dropdown.open{display:block}.dropdown.left{left:12px}.dropdown.right{right:12px}.drop-item{width:100%;border:0;background:transparent;color:#dfe7f5;display:flex;align-items:center;gap:11px;padding:12px;border-radius:14px;cursor:pointer;text-align:left}.drop-item:hover,.drop-item.active{background:rgba(79,140,255,.14);color:#fff}.drop-item span:first-child{width:24px;text-align:center}.main{padding:14px 14px 90px}.page{display:none;animation:fade .16s ease}.page.active{display:block}@keyframes fade{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hero{padding:12px 2px 16px}.hero h1{font-size:24px;line-height:1.2;margin:4px 0 6px}.hero p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.grid{display:grid;gap:10px}.grid.cards{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.one{grid-template-columns:1fr}.card{background:linear-gradient(180deg,var(--panel),#0e1420);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);box-shadow:0 12px 28px rgba(0,0,0,.18);padding:14px}.stat .label{font-size:12px;color:var(--muted)}.stat .value{font-size:23px;font-weight:900;margin-top:5px}.stat .sub{font-size:12px;color:#7d8da6;margin-top:4px}.chip-row{display:flex;gap:8px;overflow-x:auto;overflow-y:clip;padding:3px 0 8px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid rgba(255,255,255,.1);background:#101724;color:#d6deee;border-radius:999px;padding:8px 11px;font-size:12px;cursor:pointer}.chip.active,.chip:hover{border-color:rgba(79,140,255,.8);background:rgba(79,140,255,.16);color:#fff}.section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 10px}.section-title h2{font-size:16px;margin:0}.muted{color:var(--muted)}.small{font-size:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.list{display:grid;gap:10px}.list-card{background:rgba(17,23,34,.92);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:12px}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 8px;font-size:11px;border:1px solid rgba(255,255,255,.08);background:#172234;color:#c8d7f2}.badge.blue{background:rgba(79,140,255,.16);color:#9fc0ff}.badge.green{background:rgba(63,209,139,.14);color:#8af0be}.badge.orange{background:rgba(255,184,92,.14);color:#ffd093}.badge.red{background:rgba(255,107,122,.14);color:#ff9ea9}.badge.purple{background:rgba(167,139,250,.14);color:#cbbdff}.btn{border:0;border-radius:15px;padding:11px 14px;color:#fff;background:#162033;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:linear-gradient(135deg,var(--blue),#3376ff)}.btn.green{background:linear-gradient(135deg,#21b978,#36d897)}.btn.red{background:linear-gradient(135deg,#ff5367,#d92e46)}.btn.ghost{border:1px solid rgba(255,255,255,.1);background:#101723}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;gap:8px;align-items:center}.search{width:100%;height:46px;border:1px solid rgba(255,255,255,.08);background:#101724;color:#fff;border-radius:16px;padding:0 14px;outline:none}.search:focus{border-color:rgba(79,140,255,.8);box-shadow:0 0 0 3px rgba(79,140,255,.14)}.form-grid{display:grid;gap:10px}.field{display:grid;gap:6px}.field label{font-size:12px;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.08);background:#0d1420;color:#fff;border-radius:13px;padding:10px 12px;outline:none}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left}.table th{color:var(--muted);font-weight:700}.progress{height:7px;border-radius:999px;background:#0a0f18;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:999px}.bottom-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:12px;width:min(calc(100vw - 24px),436px);z-index:40;background:rgba(17,23,34,.92);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);border-radius:22px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.wide .bottom-bar{width:min(calc(100vw - 24px),940px)}.menu-frame{width:100%;overflow:hidden}.menu-slider{display:flex;transition:transform .26s ease;touch-action:auto}.menu-page{min-width:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:9px;padding:2px}.food-card{min-height:118px;background:linear-gradient(180deg,#141c29,#0e1420);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:9px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.food-card:hover{border-color:rgba(79,140,255,.6)}.food-img{height:47px;border-radius:13px;background:#1b2536;display:flex;align-items:center;justify-content:center;font-size:30px}.food-name{font-size:13px;font-weight:800;margin-top:6px}.food-meta{display:flex;justify-content:space-between;align-items:center;gap:5px}.price{font-size:13px;font-weight:900;color:var(--blue2)}.dots{display:flex;justify-content:center;gap:6px;margin:10px 0}.dot{width:6px;height:6px;border-radius:99px;background:#344052}.dot.active{width:18px;background:var(--blue)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:80;display:none;align-items:center;justify-content:center;padding:16px}.modal-backdrop.open{display:flex}.modal{width:min(94vw,420px);max-height:88vh;overflow:auto;background:#101724;border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:var(--shadow);padding:16px}.modal-head{display:flex;gap:12px;align-items:center}.modal-img{width:78px;height:78px;background:#1b2536;border-radius:18px;font-size:42px;display:flex;align-items:center;justify-content:center}.qty{display:flex;align-items:center;gap:8px}.qty button{width:34px;height:34px;border-radius:12px;border:0;background:#1b2638;color:#fff}.notice{border:1px solid rgba(79,140,255,.2);background:rgba(79,140,255,.08);border-radius:16px;padding:12px;color:#cfe0ff}.launcher{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.launcher-card{width:min(920px,100%);background:rgba(17,23,34,.9);border:1px solid rgba(255,255,255,.08);border-radius:30px;padding:26px;box-shadow:var(--shadow)}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.role-card{padding:18px;border-radius:22px;background:#101724;border:1px solid rgba(255,255,255,.08)}.role-card .emoji{font-size:34px}.role-card h2{margin:10px 0 6px}.role-card p{color:var(--muted);font-size:13px;line-height:1.6}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:620px){.wide{width:100vw}.role-grid{grid-template-columns:1fr}.grid.cards,.two-col{grid-template-columns:1fr}.food-card{min-height:112px}.main{padding-left:12px;padding-right:12px}.table{font-size:11px}.table th:nth-child(4),.table td:nth-child(4){display:none}}@media(max-width:390px){.food-card{padding:7px;min-height:106px}.food-img{height:42px}.food-name{font-size:12px}.price{font-size:12px}.topbar{padding-left:10px;padding-right:10px}}
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px}.auth-card{width:min(440px,100%);background:rgba(17,23,34,.94);border:1px solid rgba(255,255,255,.09);border-radius:28px;box-shadow:var(--shadow);padding:22px}.auth-card h1{margin:4px 0 8px;font-size:25px}.auth-grid{display:grid;gap:10px;margin-top:14px}.auth-demo{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px}.auth-demo button{justify-content:flex-start}.status-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.status-strip .badge{font-size:12px}.pwa-note{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.6}.mini-link{font-size:12px;color:#a9c8ff;text-decoration:underline;text-underline-offset:3px}.top-auth{position:fixed;right:12px;bottom:12px;z-index:100;max-width:min(92vw,360px)}
.pos-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:12px;align-items:start}.pos-head{align-items:flex-start;margin-bottom:12px}.pos-toolbar{margin:10px 0 8px}.pos-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.pos-menu-button{min-height:132px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#141c29,#0e1420);color:var(--text);border-radius:17px;padding:10px;text-align:left;display:flex;flex-direction:column;gap:6px;cursor:pointer}.pos-menu-button:hover{border-color:rgba(79,140,255,.7);transform:translateY(-1px)}.pos-menu-button .pos-emoji{height:42px;border-radius:13px;background:#1b2536;display:flex;align-items:center;justify-content:center;font-size:28px}.pos-menu-button small{color:var(--muted);line-height:1.35}.pos-menu-button strong{margin-top:auto;color:var(--blue2)}.pos-cart-panel{position:sticky;top:72px}.pos-total{border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);margin:12px 0;padding:12px 0}.pos-total strong{font-size:25px;color:var(--green)}@media(max-width:820px){.pos-layout{grid-template-columns:1fr}.pos-cart-panel{position:static}.pos-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:470px){.pos-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-menu-button{min-height:120px}}


/* 4.7.0 Responsive Device Experience Pack
   Customer pages are phone-first, POS/KDS/queue are tablet-first, and admin/reporting pages are desktop-first.
   These rules keep all pages usable on every device while nudging each workflow toward its best screen size. */
:root{--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--touch:46px}
html{font-size:clamp(15px,1.05vw,17px)}
body.device-mobile{justify-content:center}body.device-tablet,body.device-desktop{justify-content:center}
body.surface-customer .phone{width:min(100vw,480px)}
body.surface-customer .main{padding-bottom:calc(96px + var(--safe-bottom))}
body.surface-customer .bottom-bar{padding-bottom:calc(10px + var(--safe-bottom));width:min(calc(100vw - 18px),456px)}
body.surface-pos .phone,body.surface-kds .phone,body.surface-queue .phone{width:min(100vw,1180px)}
body.surface-admin .phone,body.surface-platform .phone,body.surface-reporting .phone{width:min(100vw,1240px)}
body.surface-pos .main,body.surface-kds .main,body.surface-admin .main,body.surface-platform .main,body.surface-reporting .main{padding-left:clamp(14px,2vw,26px);padding-right:clamp(14px,2vw,26px)}
.device-fit-banner{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;padding:10px 12px;border-radius:16px;border:1px solid rgba(79,140,255,.22);background:rgba(79,140,255,.09);color:#dce9ff;font-size:12px;line-height:1.5}.device-fit-banner b{color:#fff}.device-fit-banner .badge{flex:0 0 auto}.device-fit-banner button{margin-left:auto;min-height:32px;padding:6px 10px;border-radius:999px}.device-fit-banner[data-hidden="1"]{display:none}.device-hint{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#cbd7eb;border-radius:999px;padding:5px 9px;font-size:11px}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}.table-wrap table{min-width:680px}.table{min-width:620px}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.btn,.drop-item,.chip,.icon-btn,.capsule button,.qty button{min-height:var(--touch)}input,select,textarea{min-height:44px}.topbar{padding-top:calc(14px + var(--safe-top))}.modal{width:min(96vw,560px)}
@media (min-width:1180px){.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}body.surface-admin .two-col,body.surface-platform .two-col,body.surface-reporting .two-col{grid-template-columns:1.1fr .9fr}.dropdown{max-width:420px}.wide .bottom-bar{width:min(calc(100vw - 48px),1160px)}}
@media (min-width:820px) and (max-width:1179px){body.surface-admin .grid.cards,body.surface-platform .grid.cards,body.surface-reporting .grid.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-bar{width:min(calc(100vw - 24px),900px)}}
@media (max-width:819px){body.surface-pos .pos-layout{grid-template-columns:1fr}body.surface-pos .pos-cart-panel{position:static}body.surface-admin .grid.cards,body.surface-platform .grid.cards,body.surface-reporting .grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.section-title{align-items:flex-start;gap:8px}.toolbar{flex-wrap:wrap}.toolbar .btn,.toolbar .search{flex:1 1 160px}.dropdown{top:calc(58px + var(--safe-top));width:min(94vw,380px)}}
@media (max-width:620px){body.surface-pos .phone,body.surface-admin .phone,body.surface-platform .phone,body.surface-reporting .phone,body.surface-queue .phone{width:100vw}.device-fit-banner{font-size:11px;padding:9px 10px}.device-fit-banner button{display:none}body.surface-admin .grid.cards,body.surface-platform .grid.cards,body.surface-reporting .grid.cards{grid-template-columns:1fr}.table-wrap table,.table{min-width:560px}.role-card,.card,.list-card{border-radius:15px}.pos-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-menu-button{min-height:116px}.main{padding-bottom:calc(84px + var(--safe-bottom))}.bottom-bar{bottom:max(8px,var(--safe-bottom));border-radius:18px}.hero h1{font-size:22px}.title{font-size:15px}}
@media (max-width:420px){body.surface-customer .menu-page{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.food-card{min-height:118px}.capsule{gap:2px}.capsule button{width:30px}.device-hint{display:none}}
@media (orientation:landscape) and (max-height:520px){body.surface-pos .topbar{position:relative}body.surface-pos .pos-cart-panel{position:static}.modal{max-height:92vh}.main{padding-bottom:24px}}
@media print{.topbar,.bottom-bar,.dropdown,.device-fit-banner,.btn,.icon-btn,.capsule{display:none!important}.phone,.wide{width:100%!important;background:#fff;color:#000}.card,.list-card{box-shadow:none;border:1px solid #ddd;background:#fff;color:#000}}


/* 4.9.0 旭點 SunDine Brand Identity Pack
   Launch-ready visual system: warm hospitality SaaS palette, premium cards,
   phone-first customer ordering, tablet-first POS, and desktop-first dashboards. */
:root{
  --bg:#f7f2ea;--panel:#fffaf7;--panel2:#fff3e3;--muted:#8a7a68;--text:#1f1712;--line:#eadfd0;
  --blue:#e87500;--blue2:#c96500;--green:#22a85a;--orange:#ff8a00;--red:#e14f45;--purple:#8b5cf6;
  --espresso:#4b3426;--amber:#ff8a00;--ivory:#fffaf4;--cream:#f7f2ea;
  --radius:22px;--shadow:0 22px 58px rgba(82,50,22,.14);--shadow-soft:0 10px 28px rgba(82,50,22,.09)
}
html,body{background:radial-gradient(circle at 16% -10%,#fff7e8 0,#f7f2ea 38%,#efe6d8 100%);color:var(--text);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 84% 10%,rgba(255,138,0,.16),transparent 28%),linear-gradient(110deg,rgba(255,255,255,.68),transparent 42%);z-index:-1}.phone{background:rgba(255,250,244,.88);border:1px solid rgba(75,52,38,.08);box-shadow:0 28px 80px rgba(72,45,22,.13);backdrop-filter:blur(18px)}.topbar{background:rgba(255,250,244,.9);border-bottom:1px solid rgba(75,52,38,.1);color:var(--text);box-shadow:0 8px 24px rgba(75,52,38,.06)}.title{display:flex;align-items:center;gap:9px;color:#1f1712;font-weight:900;letter-spacing:.03em}.title:before{content:"";width:34px;height:34px;display:inline-block;border-radius:12px;background:linear-gradient(145deg,#ff8a00,#a94e00);box-shadow:0 8px 18px rgba(232,117,0,.24);-webkit-mask:url('icon.svg') center/26px 26px no-repeat;mask:url('icon.svg') center/26px 26px no-repeat}.icon-btn,.capsule{background:#fffaf4;color:#4b3426;border-color:rgba(75,52,38,.12);box-shadow:var(--shadow-soft)}.hamb:before,.hamb:after{background:#4b3426}.capsule button{color:#4b3426}.dropdown{background:rgba(255,250,244,.98);border-color:rgba(75,52,38,.12);box-shadow:var(--shadow);color:#1f1712}.drop-item{color:#4b3426}.drop-item:hover,.drop-item.active{background:rgba(255,138,0,.12);color:#b85b00}.hero{padding:18px 2px 20px}.hero h1{font-size:clamp(24px,3vw,36px);letter-spacing:-.03em;color:#1f1712}.hero p{color:#7e6d5c}.card,.list-card,.auth-card,.launcher-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,250,244,.92));border:1px solid rgba(75,52,38,.1);box-shadow:var(--shadow-soft);color:var(--text)}.card h2,.section-title h2{color:#1f1712;letter-spacing:-.01em}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-26px;top:-32px;width:92px;height:92px;border-radius:999px;background:linear-gradient(140deg,rgba(255,138,0,.14),transparent 72%)}.stat .label{color:#8a7a68}.stat .value{color:#211813;letter-spacing:-.03em}.stat .sub{color:#9b8a77}.chip{background:#fffaf4;color:#5a4637;border-color:rgba(75,52,38,.12);box-shadow:0 5px 14px rgba(75,52,38,.05)}.chip.active,.chip:hover{background:linear-gradient(135deg,#ff8a00,#d46c00);color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(232,117,0,.25)}.badge{background:#fff7ec;color:#6b4a35;border-color:rgba(75,52,38,.1)}.badge.blue,.badge.orange{background:rgba(255,138,0,.13);color:#c96500}.badge.green{background:rgba(34,168,90,.12);color:#157a42}.badge.red{background:rgba(225,79,69,.11);color:#b63b33}.price{color:#d66e00;font-weight:950}.btn{border-radius:16px;background:#fff4e5;color:#4b3426;border:1px solid rgba(75,52,38,.1);box-shadow:0 8px 18px rgba(75,52,38,.08);font-weight:800}.btn.primary{background:linear-gradient(135deg,#ff8a00,#e87500);color:#fff;box-shadow:0 14px 26px rgba(232,117,0,.28)}.btn.green{background:linear-gradient(135deg,#22c55e,#18a84f);color:#fff}.btn.red{background:linear-gradient(135deg,#ff6b5f,#d84a3f);color:#fff}.btn.ghost{background:#fffaf4;color:#6b4a35;border:1px solid rgba(75,52,38,.12)}.search,.field input,.field select,.field textarea{background:#fffaf4;color:#1f1712;border-color:rgba(75,52,38,.13);box-shadow:0 6px 18px rgba(75,52,38,.05)}.search::placeholder,input::placeholder,textarea::placeholder{color:#b0a193}.search:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#ff8a00;box-shadow:0 0 0 4px rgba(255,138,0,.16)}.notice{background:rgba(255,138,0,.08);border-color:rgba(255,138,0,.2);color:#6d4a2c}.table th{color:#8a7a68;background:#fff7ec}.table td,.table th{border-bottom-color:rgba(75,52,38,.08)}.bottom-bar{background:rgba(255,250,244,.94);border-color:rgba(75,52,38,.11);box-shadow:0 18px 46px rgba(75,52,38,.17)}
/* Premium customer ordering */
.customer-launch-hero{position:relative;margin:12px 0 16px;border-radius:28px;padding:20px;overflow:hidden;color:#fff;background:linear-gradient(120deg,rgba(31,23,18,.96),rgba(75,52,38,.86)),radial-gradient(circle at 82% 42%,rgba(255,138,0,.32),transparent 38%);box-shadow:0 24px 58px rgba(31,23,18,.22)}.customer-launch-hero:after{content:"";position:absolute;right:-32px;bottom:-40px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,#ffb45f 0 12%,#eb7800 13% 28%,#59331f 29% 48%,transparent 49%);opacity:.78}.customer-launch-hero>*{position:relative;z-index:1}.customer-launch-hero .eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.15);font-size:12px}.customer-launch-hero h2{font-size:clamp(27px,7vw,38px);line-height:1.05;margin:12px 0 7px;color:#fff}.customer-launch-hero p{margin:0 0 14px;color:#f4dcc0}.customer-quick-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.customer-mode-card{border-radius:21px;background:linear-gradient(160deg,#fff7ec,#fffaf4);border:1px solid rgba(75,52,38,.09);padding:14px;box-shadow:var(--shadow-soft)}.customer-mode-card b{display:block;font-size:17px}.surface-customer .toolbar{background:#fffaf4;border:1px solid rgba(75,52,38,.09);border-radius:20px;padding:6px;box-shadow:var(--shadow-soft)}.surface-customer .toolbar .search{box-shadow:none;border:0}.surface-customer .menu-page{gap:12px}.food-card{position:relative;background:#fff;border-color:rgba(75,52,38,.09);box-shadow:var(--shadow-soft);padding:0;overflow:hidden;min-height:174px}.food-card:hover{border-color:rgba(255,138,0,.35);transform:translateY(-2px);box-shadow:0 18px 42px rgba(75,52,38,.15)}.food-card .food-img{height:92px;border-radius:0;background:linear-gradient(135deg,#f5e6d6,#fff5e9);font-size:36px}.food-card .food-name,.food-card .food-meta{padding-left:12px;padding-right:12px}.food-card .food-name{font-size:15px;color:#211813;margin-top:10px}.food-card .food-meta{padding-bottom:12px}.food-photo{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#fbdfb9,#fff2db);isolation:isolate}.food-photo:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 28% 36%,rgba(255,255,255,.85),transparent 18%),radial-gradient(circle at 70% 58%,rgba(75,52,38,.28),transparent 35%);opacity:.8}.food-photo span{position:relative;z-index:1;filter:drop-shadow(0 8px 12px rgba(75,52,38,.22))}.food-card:after,.pos-menu-button:after{content:"＋";position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff8a00,#d46c00);color:#fff;font-weight:900;box-shadow:0 10px 22px rgba(232,117,0,.28)}
/* Premium POS */
.pos-layout{grid-template-columns:minmax(0,1.52fr) minmax(350px,.86fr);gap:18px}.pos-menu-panel,.pos-cart-panel{border-radius:28px}.pos-head{padding:2px 2px 10px}.pos-menu-grid{gap:14px}.pos-menu-button{position:relative;background:#fff;color:#211813;border-color:rgba(75,52,38,.1);box-shadow:var(--shadow-soft);min-height:176px;padding:0;overflow:hidden}.pos-menu-button:hover{border-color:rgba(255,138,0,.36);box-shadow:0 20px 46px rgba(75,52,38,.16)}.pos-menu-button .pos-emoji{height:96px;border-radius:0;background:linear-gradient(135deg,#f7e3c8,#fff7ec);font-size:36px}.pos-menu-button b,.pos-menu-button small,.pos-menu-button strong{padding-left:13px;padding-right:13px}.pos-menu-button b{font-size:15px;letter-spacing:-.01em}.pos-menu-button small{color:#8a7a68}.pos-menu-button strong{padding-bottom:14px;color:#d66e00}.pos-cart-panel{background:linear-gradient(180deg,#fffaf4,#fff7ec);box-shadow:0 24px 58px rgba(75,52,38,.14)}.pos-total{border-color:rgba(75,52,38,.1)}.pos-total strong{color:#d66e00;font-size:30px}.modal{background:#fffaf4;color:#211813;border-color:rgba(75,52,38,.12);box-shadow:0 24px 68px rgba(31,23,18,.22)}.modal-img{background:linear-gradient(135deg,#f7e3c8,#fff7ec);color:#4b3426}.qty button{background:#fff2df;color:#6b4a35}.progress i{background:linear-gradient(90deg,#ff8a00,#22c55e)}
/* Premium dashboard/admin */
body.surface-admin .hero,body.surface-platform .hero,body.surface-reporting .hero{padding:24px 0}.surface-admin .main,.surface-platform .main,.surface-reporting .main{max-width:1320px;margin:0 auto}.surface-admin .card,.surface-platform .card,.surface-reporting .card{border-radius:24px}.surface-admin .grid.cards,.surface-platform .grid.cards,.surface-reporting .grid.cards{gap:16px}.launcher-card{max-width:1120px}.role-card{background:#fffaf4;color:#211813;transition:transform .18s ease,box-shadow .18s ease}.role-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(75,52,38,.15)}.device-fit-banner{background:#fff7ec;color:#6b4a35;border-color:rgba(255,138,0,.22);box-shadow:var(--shadow-soft)}.device-fit-banner b{color:#211813}.device-hint{background:#fff7ec;color:#b85b00;border-color:rgba(255,138,0,.2)}
@media(max-width:620px){.customer-launch-hero{border-radius:23px;padding:17px}.customer-quick-modes{grid-template-columns:1fr}.surface-customer .menu-page{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.food-card{min-height:168px}.food-card .food-img{height:84px}.pos-menu-button{min-height:150px}.pos-menu-button .pos-emoji{height:74px}.title:before{width:30px;height:30px}.pos-layout{gap:12px}}
@media(min-width:1180px){.pos-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.surface-pos .phone{width:min(100vw,1360px)}body.surface-admin .phone,body.surface-platform .phone,body.surface-reporting .phone{width:min(100vw,1440px)}}
.food-photo.has-image{background-size:cover;background-position:center;background-repeat:no-repeat}.food-photo.has-image:before{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16))}.food-photo.has-image span{display:none}


/* 5.0.0 Fluid Layout System Pack - all-device responsive layout */
:root{
  --fluid-min:320px;
  --fluid-phone:520px;
  --fluid-tablet:960px;
  --fluid-desktop:1440px;
  --fluid-wide:1680px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-top:env(safe-area-inset-top,0px);
  --space-1:clamp(6px,.6vw,10px);
  --space-2:clamp(10px,1vw,16px);
  --space-3:clamp(14px,1.5vw,24px);
  --space-4:clamp(20px,2.2vw,36px);
  --text-xs:clamp(11px,.78vw,13px);
  --text-sm:clamp(12px,.9vw,14px);
  --text-md:clamp(14px,1vw,16px);
  --text-lg:clamp(18px,1.45vw,24px);
  --text-xl:clamp(24px,2.6vw,40px);
  --tap:44px;
  --app-max:1440px;
}
html{font-size:16px;min-width:320px;overflow-x:hidden;scroll-behavior:smooth}body{min-height:100dvh;min-height:calc(var(--vh,1vh)*100);overflow-x:hidden}.app-skip-link{position:fixed;left:12px;top:12px;z-index:9999;transform:translateY(-140%);padding:10px 14px;border-radius:999px;background:#1f1712;color:#fff;box-shadow:var(--shadow)}.app-skip-link:focus{transform:translateY(0)}
body.device-mobile{--app-max:520px}body.device-tablet{--app-max:1120px}body.device-desktop{--app-max:1560px}.phone{inline-size:min(100vw,var(--app-max));min-inline-size:0;min-height:100dvh;margin-inline:auto}.main{inline-size:100%;max-inline-size:var(--app-max);margin-inline:auto;padding:var(--space-3);padding-bottom:calc(96px + var(--safe-bottom))}.surface-customer .phone{max-inline-size:520px}.surface-customer.device-desktop .phone{margin-block:clamp(0px,2.5vh,28px);border-radius:clamp(0px,2vw,32px);min-height:min(100dvh,980px);overflow:hidden}.surface-pos .phone,.surface-queue .phone,.surface-admin .phone,.surface-platform .phone,.surface-reporting .phone{inline-size:min(100vw,var(--app-max));max-inline-size:none}.surface-queue{--app-max:1920px}.surface-admin,.surface-platform,.surface-reporting{--app-max:1540px}.surface-pos{--app-max:1480px}.topbar{padding-block:calc(10px + var(--safe-top)*.45) 10px;padding-inline:clamp(12px,1.7vw,26px);gap:var(--space-2)}.title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-hint{flex:0 0 auto}.icon-btn,.capsule button,.btn,button,[role="button"]{min-height:var(--tap);min-width:var(--tap);touch-action:manipulation}.btn{padding-inline:clamp(12px,1.2vw,20px)}.toolbar{flex-wrap:wrap}.toolbar>.search,.toolbar>input,.toolbar>select{flex:1 1 210px;min-width:0}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-3)}.grid.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.role-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-3)}.two-col{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--space-2)}.card,.list-card,.notice{overflow-wrap:anywhere}.table-scroll{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:18px;border:1px solid rgba(75,52,38,.08);background:rgba(255,250,244,.72)}.table-scroll>.table{min-width:720px}.table{font-size:var(--text-sm)}.table th,.table td{vertical-align:top}.chip-row{scroll-snap-type:x proximity;overscroll-behavior-inline:contain}.chip-row>.chip{scroll-snap-align:start}.menu-frame{contain:layout paint}.menu-page{grid-template-columns:repeat(auto-fit,minmax(min(100%,142px),1fr));grid-template-rows:none}.food-card{min-width:0;min-height:clamp(148px,21vw,196px)}.food-card .food-img{height:clamp(74px,11vw,110px)}.bottom-bar{bottom:calc(10px + var(--safe-bottom));width:min(calc(100vw - 20px),var(--fluid-phone));max-width:calc(100vw - 20px)}.surface-pos .bottom-bar,.surface-admin .bottom-bar,.surface-platform .bottom-bar,.surface-reporting .bottom-bar{width:min(calc(100vw - 24px),var(--app-max))}.device-fit-banner{display:flex;align-items:flex-start;gap:12px;margin:0 0 var(--space-3);padding:12px 14px;border-radius:18px;border:1px solid rgba(75,52,38,.12)}.device-fit-banner button{margin-left:auto;white-space:nowrap}.responsive-density-control{display:flex;align-items:center;gap:8px}.layout-compact .card,.layout-compact .list-card{padding:10px}.layout-comfort .card,.layout-comfort .list-card{padding:clamp(14px,1.5vw,22px)}.layout-roomy .card,.layout-roomy .list-card{padding:clamp(18px,2vw,28px)}
.surface-pos .main{padding-bottom:calc(22px + var(--safe-bottom))}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,420px);align-items:start;gap:var(--space-3)}.pos-cart-panel{position:sticky;top:calc(72px + var(--safe-top));max-height:calc(100dvh - 92px - var(--safe-bottom));overflow:auto}.pos-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-2)}.pos-menu-button{min-width:0}.pos-order-actions,.pos-actions{display:flex;gap:10px;flex-wrap:wrap}.pos-order-actions>.btn,.pos-actions>.btn{flex:1 1 120px}.surface-pos.device-mobile .pos-layout{grid-template-columns:1fr}.surface-pos.device-mobile .pos-cart-panel{position:relative;top:auto;max-height:none}.surface-pos.device-mobile .pos-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.surface-pos.device-mobile .hero p{display:none}.surface-pos.device-mobile .topbar{position:relative;top:auto}.surface-pos.device-tablet.orientation-landscape .pos-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.surface-pos.device-desktop .pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.surface-queue .main{max-width:1200px}.surface-queue .stat .value{font-size:clamp(34px,5vw,84px)}.surface-admin .main,.surface-platform .main,.surface-reporting .main{padding-inline:clamp(16px,2.5vw,36px)}.surface-admin .hero,.surface-platform .hero,.surface-reporting .hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-3)}.surface-admin .page,.surface-platform .page,.surface-reporting .page{min-width:0}.surface-admin .stat .value,.surface-platform .stat .value,.surface-reporting .stat .value{font-size:clamp(22px,2.1vw,36px)}.surface-reporting .grid.cards,.surface-admin .grid.cards,.surface-platform .grid.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.admin-table-card,.dashboard-panel{overflow:hidden}.surface-customer .main{padding-inline:clamp(12px,3.6vw,18px)}.surface-customer .toolbar{position:sticky;top:calc(58px + var(--safe-top));z-index:25}.surface-customer .bottom-bar{padding-bottom:max(10px,var(--safe-bottom));border-radius:24px}.surface-customer.device-mobile .menu-page{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.surface-customer.device-tablet .phone{max-width:760px}.surface-customer.device-tablet .menu-page{grid-template-columns:repeat(3,minmax(0,1fr))}.surface-customer.device-desktop .menu-page{grid-template-columns:repeat(3,minmax(0,1fr))}.surface-customer .search{font-size:16px}.modal{width:min(96vw,520px);max-height:min(88dvh,780px)}.modal-backdrop{padding:max(16px,var(--safe-top)) max(16px,env(safe-area-inset-right,0px)) max(16px,var(--safe-bottom)) max(16px,env(safe-area-inset-left,0px))}.orientation-portrait.surface-pos.device-tablet .pos-layout{grid-template-columns:1fr}.orientation-portrait.surface-pos.device-tablet .pos-cart-panel{position:relative;top:auto;max-height:none}
@media (max-width:760px){.device-fit-banner{font-size:13px}.device-fit-banner .badge{display:none}.device-fit-banner button{padding-inline:10px}.row{align-items:flex-start}.surface-admin .hero,.surface-platform .hero,.surface-reporting .hero{grid-template-columns:1fr}.table-scroll>.table{min-width:0}.surface-admin .table,.surface-platform .table,.surface-reporting .table{display:block}.surface-admin .table thead,.surface-platform .table thead,.surface-reporting .table thead{display:none}.surface-admin .table tbody,.surface-platform .table tbody,.surface-reporting .table tbody{display:grid;gap:10px}.surface-admin .table tr,.surface-platform .table tr,.surface-reporting .table tr{display:grid;gap:6px;padding:12px;border:1px solid rgba(75,52,38,.09);border-radius:16px;background:#fffaf4}.surface-admin .table td,.surface-platform .table td,.surface-reporting .table td{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:10px;border:0;padding:4px 0}.surface-admin .table td::before,.surface-platform .table td::before,.surface-reporting .table td::before{content:attr(data-label);font-weight:800;color:#8a7a68}.dropdown{top:calc(58px + var(--safe-top));width:min(94vw,380px)}}
@media (max-width:430px){:root{--tap:46px}.topbar{padding-inline:10px}.title{font-size:15px}.title:before{width:28px;height:28px}.capsule{gap:2px;padding:0 4px}.main{padding-inline:10px}.hero h1{font-size:22px}.chip{padding:8px 10px}.food-card{min-height:154px}.food-card .food-name{font-size:13px}.bottom-bar{left:10px;right:10px;transform:none;width:auto;max-width:none}.surface-customer .toolbar{gap:4px}.surface-customer .toolbar select{max-width:none!important;flex-basis:100%}.surface-pos.device-mobile .pos-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pos-menu-button{min-height:136px}.pos-menu-button .pos-emoji{height:66px}.table td{font-size:12px}}
@media (min-width:1600px){.surface-admin,.surface-platform,.surface-reporting{--app-max:1680px}.surface-pos{--app-max:1640px}.pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media (hover:hover){.card,.list-card,.food-card,.pos-menu-button,.btn{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-1px)}.card:hover,.list-card:hover{box-shadow:0 20px 48px rgba(75,52,38,.13)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (forced-colors:active){.btn,.card,.list-card,.chip,.badge,.search{border:1px solid CanvasText}.btn.primary{background:Highlight;color:HighlightText}}@media print{body{background:#fff;color:#111;display:block}.topbar,.bottom-bar,.dropdown,.device-fit-banner,.btn,.icon-btn,.capsule{display:none!important}.phone,.card,.list-card{box-shadow:none;border:1px solid #ddd;background:#fff}.main{padding:0}.table-scroll{overflow:visible;border:0}.table{min-width:0;font-size:11px}}

/* 5.1.0 Device UX Stabilization Pack */
:root{
  --focus-ring:0 0 0 4px rgba(255,138,0,.22),0 0 0 1px rgba(255,138,0,.82);
  --scroll-fade:linear-gradient(90deg,rgba(255,250,244,0),rgba(255,250,244,.95) 72%);
}
:focus-visible{outline:0;box-shadow:var(--focus-ring)!important;border-color:rgba(255,138,0,.75)!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:0;box-shadow:var(--focus-ring)!important}
.device-fit-banner[data-hidden="1"]{display:none!important}
.device-fit-banner{background:linear-gradient(135deg,rgba(255,250,244,.96),rgba(255,242,223,.92));color:#211813;box-shadow:0 14px 38px rgba(75,52,38,.1)}
.device-fit-banner .badge{box-shadow:none}.device-fit-banner .btn{min-height:38px}
.network-offline .topbar::after{content:"離線模式";position:absolute;right:12px;bottom:-14px;padding:3px 8px;border-radius:999px;background:#ff6b6b;color:#fff;font-size:11px;font-weight:800;box-shadow:0 8px 18px rgba(255,107,107,.22)}
.connection-toast{position:fixed;z-index:9998;left:50%;bottom:calc(22px + var(--safe-bottom,0px));transform:translateX(-50%) translateY(120%);max-width:min(92vw,520px);padding:12px 16px;border-radius:999px;background:#211813;color:#fff;box-shadow:0 18px 44px rgba(31,23,18,.25);font-size:14px;font-weight:800;opacity:0;transition:opacity .22s ease,transform .22s ease}.connection-toast.open{opacity:1;transform:translateX(-50%) translateY(0)}
.table-scroll{position:relative}.table-scroll[data-overflow-x="true"]::after{content:"可左右滑動";position:sticky;right:8px;float:right;display:inline-flex;margin:8px;padding:4px 8px;border-radius:999px;background:rgba(31,23,18,.74);color:#fff;font-size:11px;font-weight:800;pointer-events:none}.table-scroll[data-overflow-x="false"]::after{display:none}.table-scroll[data-overflow-x="true"]{scrollbar-gutter:stable both-edges}.table-scroll[data-overflow-x="true"] .table{margin-bottom:6px}
.form-grid .field input,.form-grid .field select,.form-grid .field textarea{min-height:var(--tap)}
.keyboard-open.device-mobile .bottom-bar{display:none}.keyboard-open.device-mobile .modal-backdrop{align-items:flex-start;overflow:auto}.keyboard-open.device-mobile .modal{margin-top:max(12px,var(--safe-top,0px));max-height:none}
.surface-admin.device-mobile .responsive-density-control,.surface-platform.device-mobile .responsive-density-control,.surface-reporting.device-mobile .responsive-density-control{display:none}.responsive-density-control .btn[aria-pressed="true"]{background:#ff8a00;color:#fff;border-color:#ff8a00}
.surface-pos .pos-cart-panel{overscroll-behavior:contain}.surface-pos .pos-menu-grid{align-items:stretch}.surface-pos .pos-menu-button{isolation:isolate}.surface-pos .pos-menu-button strong{font-variant-numeric:tabular-nums}
.surface-customer .bottom-bar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.surface-queue .card,.surface-queue .list-card{text-align:center}.surface-queue .badge{font-size:clamp(12px,1.1vw,18px)}
[data-scrollable="true"]{scrollbar-width:thin}.chip-row[data-scrollable="true"]{padding-inline:2px}.chip-row[data-scrollable="true"]::after{content:"";flex:0 0 8px}
@media (max-width:760px){.device-fit-banner{margin-inline:0}.connection-toast{border-radius:18px;bottom:calc(14px + var(--safe-bottom,0px))}.surface-admin .table td,.surface-platform .table td,.surface-reporting .table td{grid-template-columns:minmax(7em,38%) minmax(0,1fr)}}
@media (max-width:430px){.table-scroll[data-overflow-x="true"]::after{content:"左右滑動"}.device-fit-banner{display:grid;grid-template-columns:1fr;gap:8px}.device-fit-banner button{margin-left:0;width:100%}.surface-pos .pos-order-actions>.btn,.surface-pos .pos-actions>.btn{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.connection-toast{transition:none}}


/* 5.2.0 Effortless Operations UX Pack - simpler, faster, launch-ready workflows */
:root{
  --easy-radius:22px;
  --easy-panel:linear-gradient(180deg,#fffdf9 0%,#fff7ec 100%);
  --easy-border:rgba(75,52,38,.10);
  --easy-shadow:0 18px 50px rgba(75,52,38,.12);
}
.easy-focus-shell{scroll-behavior:smooth}
.smart-dock{position:fixed;z-index:9997;left:50%;bottom:calc(14px + var(--safe-bottom,0px));transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:min(96vw,760px);padding:8px;border:1px solid rgba(75,52,38,.10);border-radius:999px;background:rgba(255,250,244,.88);box-shadow:0 20px 58px rgba(31,23,18,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.smart-dock .smart-dock-label{font-size:12px;font-weight:900;color:#8a5a2a;padding:0 8px;white-space:nowrap}.smart-dock .btn{min-height:42px;border-radius:999px;white-space:nowrap}.keyboard-open .smart-dock{display:none}
.smart-welcome-card,.smart-workspace-card{display:grid;gap:12px;margin:12px 0 14px;padding:18px;border:1px solid var(--easy-border);border-radius:var(--easy-radius);background:var(--easy-panel);box-shadow:var(--easy-shadow)}
.smart-welcome-card h2,.smart-workspace-card h2{margin:0;font-size:clamp(20px,4vw,32px);letter-spacing:-.02em}.smart-welcome-card p,.smart-workspace-card p{margin:0;color:#776654;line-height:1.65}
.smart-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.smart-action{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:12px 14px;border:1px solid rgba(75,52,38,.10);border-radius:18px;background:#fffaf4;color:#211813;text-decoration:none;font-weight:900;box-shadow:0 10px 26px rgba(75,52,38,.08);cursor:pointer}.smart-action .small{font-weight:700}.smart-action:hover{transform:translateY(-1px);box-shadow:0 16px 38px rgba(75,52,38,.13)}
.smart-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}.smart-step{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:18px;background:#fffaf4;border:1px solid rgba(75,52,38,.08);font-weight:900;color:#4b3426}.smart-step span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#ff8a00;color:#fff;font-size:13px;box-shadow:0 8px 20px rgba(255,138,0,.22)}
.smart-advanced{margin-top:12px;border:1px dashed rgba(75,52,38,.18);border-radius:20px;background:rgba(255,250,244,.78);overflow:hidden}.smart-advanced>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;font-weight:900;color:#4b3426;cursor:pointer}.smart-advanced>summary::-webkit-details-marker{display:none}.smart-advanced>summary::after{content:'展開';font-size:12px;color:#8a7a68;padding:4px 9px;border-radius:999px;background:#fff}.smart-advanced[open]>summary::after{content:'收合'}.smart-advanced>.form-grid,.smart-advanced>.smart-advanced-body{padding:0 14px 14px}.smart-advanced:not([open]){box-shadow:none}.smart-advanced:not([open])>.form-grid,.smart-advanced:not([open])>.smart-advanced-body{display:none}
.pos-core-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-core-fields textarea{grid-column:1/-1}.pos-quick-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.pos-quick-modes .btn{min-height:46px}.pos-cart-panel .toolbar:last-of-type{position:sticky;bottom:calc(8px + var(--safe-bottom,0px));z-index:12;padding:10px;margin-inline:-4px;border-radius:18px;background:rgba(255,250,244,.90);backdrop-filter:blur(14px);box-shadow:0 -10px 32px rgba(75,52,38,.10)}
.surface-customer .customer-launch-hero{display:none}.surface-customer .smart-welcome-card{position:relative;overflow:hidden}.surface-customer .smart-welcome-card::after{content:'SunDine';position:absolute;right:-18px;bottom:-20px;font-size:56px;font-weight:900;color:rgba(255,138,0,.08);letter-spacing:-.04em}.surface-customer .customer-quick-modes{display:none}.customer-easy-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 12px}.customer-easy-nav .smart-action{min-height:66px;align-items:flex-start;flex-direction:column;justify-content:center}.customer-easy-nav .smart-action b{font-size:15px}
.surface-admin .smart-workspace-card,.surface-platform .smart-workspace-card,.surface-reporting .smart-workspace-card{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center}.surface-admin .smart-action-grid,.surface-platform .smart-action-grid,.surface-reporting .smart-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.easy-empty{padding:22px;border-radius:20px;background:#fffaf4;border:1px solid rgba(75,52,38,.08);text-align:center;color:#776654}.easy-primary-path{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.easy-primary-path .badge{font-size:12px}
@media (max-width:900px){.smart-dock{left:10px;right:10px;transform:none;overflow:auto;justify-content:flex-start}.smart-dock .smart-dock-label{position:sticky;left:0;background:rgba(255,250,244,.95);border-radius:999px}.surface-admin .smart-workspace-card,.surface-platform .smart-workspace-card,.surface-reporting .smart-workspace-card{grid-template-columns:1fr}.surface-admin .smart-action-grid,.surface-platform .smart-action-grid,.surface-reporting .smart-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-core-fields{grid-template-columns:1fr}.smart-stepper{grid-template-columns:1fr}}
@media (max-width:520px){.smart-dock{display:none}.customer-easy-nav{grid-template-columns:1fr}.smart-action-grid{grid-template-columns:1fr}.surface-customer .smart-welcome-card{padding:16px}.pos-quick-modes{grid-template-columns:1fr}.pos-cart-panel .toolbar:last-of-type{grid-template-columns:1fr}.smart-step{padding:10px 12px}.smart-advanced>summary{font-size:14px}}
@media print{.smart-dock,.smart-welcome-card,.smart-workspace-card,.smart-stepper,.smart-advanced>summary{display:none!important}}


/* 5.3.0 Flow Coach Pack - fewer clicks, tenant-safe guidance, friendlier empty states */
.flow-coach-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(12px,2vw,22px);align-items:center;margin:0 0 var(--space-3,16px);padding:clamp(16px,2vw,24px);border:1px solid rgba(255,138,0,.18);border-radius:24px;background:linear-gradient(135deg,rgba(255,250,244,.94),rgba(255,241,221,.84));box-shadow:0 18px 52px rgba(75,52,38,.12)}.flow-coach-copy h2{margin:8px 0 6px;font-size:clamp(20px,2.1vw,30px)}.flow-coach-copy p{margin:0;color:#7c6757;line-height:1.65}.flow-coach-actions{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:10px;align-items:stretch}.flow-coach-action,.command-row{border:1px solid rgba(75,52,38,.10);border-radius:18px;background:#fffaf4;color:#221812;text-align:left;padding:13px 14px;display:grid;gap:4px;cursor:pointer;box-shadow:0 10px 24px rgba(75,52,38,.08)}.flow-coach-action:hover,.command-row:hover{border-color:rgba(255,138,0,.5);box-shadow:0 14px 30px rgba(255,138,0,.16);transform:translateY(-1px)}.flow-coach-action span,.command-row span{font-size:12px;color:#8a7564}.empty-state{border:1px dashed rgba(75,52,38,.18);border-radius:18px;background:rgba(255,250,244,.72);padding:16px;display:grid;gap:5px;color:#3c2b20}.empty-state span{color:#8a7564;font-size:13px}.command-palette{position:fixed;inset:0;z-index:10000;background:rgba(24,18,14,.38);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:flex-start;justify-content:center;padding:clamp(16px,8vh,72px) 16px}.command-palette.open{display:flex}.command-panel{width:min(640px,96vw);border:1px solid rgba(75,52,38,.12);border-radius:26px;background:#fffaf4;box-shadow:0 30px 90px rgba(31,23,18,.28);padding:16px;display:grid;gap:12px}.command-results{display:grid;gap:8px;max-height:min(58vh,520px);overflow:auto}.smart-dock [data-command-open]{border-color:rgba(255,138,0,.22)}a[data-tenant-safe]{outline-offset:4px}.surface-pos .flow-coach-card{grid-template-columns:1fr}.surface-pos .flow-coach-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.surface-customer .flow-coach-card{margin-top:8px}.surface-customer .flow-coach-actions{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.flow-coach-card{grid-template-columns:1fr}.flow-coach-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.surface-pos .flow-coach-actions,.surface-customer .flow-coach-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-coach-dismiss{grid-column:1/-1}}@media(max-width:520px){.flow-coach-actions,.surface-pos .flow-coach-actions,.surface-customer .flow-coach-actions{grid-template-columns:1fr}.command-palette{padding-top:14px}.command-panel{border-radius:22px}.flow-coach-card{padding:14px}}@media(prefers-reduced-motion:reduce){.flow-coach-action:hover,.command-row:hover{transform:none}}

/* 5.4.0 Tenant Scoped Drafts + Recovery UX Pack - safer drafts and faster correction */
.undo-toast{position:fixed;z-index:10001;left:50%;bottom:calc(72px + var(--safe-bottom,0px));transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:min(92vw,560px);padding:10px 12px;border:1px solid rgba(75,52,38,.12);border-radius:999px;background:rgba(34,24,18,.94);color:#fff;box-shadow:0 24px 70px rgba(31,23,18,.28);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.undo-toast span{font-weight:800}.undo-toast .btn{min-height:38px;border-radius:999px;background:#fffaf4;color:#4b3426;border:0}.keyboard-open .undo-toast{display:none}
.draft-status-chip{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin:8px 0 4px;padding:6px 10px;border-radius:999px;background:#fff4df;border:1px solid rgba(255,138,0,.18);color:#7a4a16;font-size:12px;font-weight:900;box-shadow:0 8px 20px rgba(255,138,0,.10)}
.draft-status-chip::before{content:'●';font-size:10px;color:#22c55e}.surface-customer .draft-status-chip{margin-left:2px}.surface-pos .draft-status-chip{margin-top:6px}
@media(max-width:520px){.undo-toast{left:10px;right:10px;bottom:calc(16px + var(--safe-bottom,0px));transform:none;border-radius:18px;justify-content:space-between}.draft-status-chip{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.undo-toast{transition:none}}

/* 5.5.0 Action Safety + Error Clarity Pack */
.global-busy-indicator{position:fixed;inset:auto max(12px,var(--safe-right,0px)) calc(18px + var(--safe-bottom,0px)) auto;z-index:10040;display:none;align-items:center;gap:10px;padding:11px 16px;border-radius:999px;background:rgba(31,23,18,.94);color:#fff;box-shadow:0 18px 44px rgba(31,23,18,.28);font-weight:850;letter-spacing:.02em}.global-busy-indicator:before{content:"";width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.35);border-top-color:#ff8a00;animation:sundine-spin .75s linear infinite}.global-busy-indicator.open{display:flex}@keyframes sundine-spin{to{transform:rotate(360deg)}}.api-status-banner{position:fixed;left:max(12px,var(--safe-left,0px));right:max(12px,var(--safe-right,0px));bottom:calc(74px + var(--safe-bottom,0px));z-index:10030;max-width:920px;margin-inline:auto;display:flex;align-items:flex-start;gap:14px;justify-content:space-between;padding:14px 16px;border-radius:20px;border:1px solid rgba(255,138,0,.24);background:rgba(255,250,244,.98);color:#241913;box-shadow:0 20px 56px rgba(75,52,38,.2);backdrop-filter:blur(18px)}.api-status-banner[data-mode="mutation"]{border-color:rgba(216,74,63,.28);background:linear-gradient(135deg,rgba(255,250,244,.98),rgba(255,241,238,.96))}.api-status-banner .btn{flex:0 0 auto}.action-safety-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(34,197,94,.12);color:#166534;border:1px solid rgba(34,197,94,.22);font-size:12px;font-weight:850;white-space:nowrap}.action-safety-chip:before{content:"✓"}button[disabled],.btn[disabled],button[aria-busy="true"]{cursor:not-allowed;filter:saturate(.7);opacity:.72}.api-mutating .smart-dock [data-mutation-submit],.api-mutating .bottom-bar [data-mutation-submit]{pointer-events:none}@media (max-width:640px){.api-status-banner{bottom:calc(92px + var(--safe-bottom,0px));display:grid}.global-busy-indicator{left:max(12px,var(--safe-left,0px));right:max(12px,var(--safe-right,0px));justify-content:center}}

/* 5.9.0 Multilingual Guest Experience */
.language-switcher{
  margin: 10px auto 0;
  width: min(100% - 28px, 720px);
  display: grid;
  grid-template-columns: auto minmax(132px, 1fr);
  align-items: center;
  gap: 6px 10px;
  padding: 10px 12px;
  border: 1px solid rgba(120,79,42,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 10px 24px rgba(70,45,24,.08);
  backdrop-filter: blur(10px);
}
.language-switcher .small:last-child{ grid-column: 1 / -1; }
.language-switcher select.search{ min-height: 42px; width: 100%; }
[data-locale="en"] .food-name,
[data-locale="ja"] .food-name,
[data-locale="ko"] .food-name,
[data-locale="th"] .food-name,
[data-locale="vi"] .food-name{ line-height: 1.18; }
[data-locale="en"] .food-card,
[data-locale="ja"] .food-card,
[data-locale="ko"] .food-card,
[data-locale="th"] .food-card,
[data-locale="vi"] .food-card{ min-height: 104px; }
@media (max-width: 520px){
  .language-switcher{ width: calc(100% - 20px); grid-template-columns: 1fr; }
}

/* 6.0.0 Engagement Games Pack - 消費達標小遊戲 / 抽獎動畫 */
.game-inline{margin-top:14px;padding:14px;border-radius:24px;background:linear-gradient(135deg,#fff8e9,#fff1d6);border:1px solid rgba(255,138,0,.22);box-shadow:0 16px 40px rgba(255,138,0,.12)}
.game-reward-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:12px;padding:12px;border-radius:20px;background:rgba(255,255,255,.78);border:1px solid rgba(75,52,38,.08)}
.game-orb{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff,#ffd27d 38%,#ff8a00 70%);box-shadow:0 10px 28px rgba(255,138,0,.28);font-size:22px}
.game-modal .game-close{position:absolute;right:14px;top:14px;z-index:2}.game-modal{position:relative;text-align:center;overflow:hidden}.game-animation{padding:26px 10px 12px}.sunburst{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;font-size:56px;background:radial-gradient(circle,#fff 0,#ffe1a3 42%,#ff8a00 72%,rgba(255,138,0,.18) 73%);box-shadow:0 0 0 18px rgba(255,138,0,.08),0 20px 60px rgba(255,138,0,.28);animation:sundine-pop .72s cubic-bezier(.2,1.4,.3,1)}
.game-lose .sunburst{background:linear-gradient(135deg,#f7f4ee,#e8e2d8);box-shadow:0 16px 48px rgba(31,31,31,.10)}
.game-win .game-modal:before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 0deg,transparent 0 18deg,rgba(255,138,0,.18) 18deg 22deg,transparent 22deg 44deg);animation:sundine-spin 6s linear infinite;pointer-events:none}.game-modal>*{position:relative}.game-draw-btn{white-space:nowrap}
@keyframes sundine-pop{0%{transform:scale(.72) rotate(-8deg);opacity:.15}60%{transform:scale(1.08) rotate(3deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes sundine-spin{to{transform:rotate(360deg)}}
@media (max-width:560px){.game-reward-card{grid-template-columns:auto 1fr}.game-reward-card .btn{grid-column:1/-1;width:100%}.sunburst{width:96px;height:96px;font-size:46px}}
@media (prefers-reduced-motion:reduce){.sunburst,.game-win .game-modal:before{animation:none}}

/* 6.1.0 Offline LAN Ordering Pack - local Wi-Fi QR ordering and offline queue UX */
.lan-hero{background:linear-gradient(135deg,#fff8ef,#ffe7c2);border:1px solid rgba(255,138,0,.18)}
.lan-grid{align-items:start}.lan-qr-box{display:grid;place-items:center;min-height:300px;border:1px dashed rgba(75,52,38,.22);border-radius:var(--radius-lg,22px);background:#fffaf3;padding:18px}.lan-qr-box img{max-width:min(360px,88vw);width:100%;height:auto;border-radius:18px;background:#fff;box-shadow:var(--shadow-soft,0 16px 40px rgba(31,31,31,.08))}.offline-lan-banner{position:fixed;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:80;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:22px;background:rgba(31,31,31,.92);color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.24);backdrop-filter:blur(16px)}.offline-lan-banner .small{color:rgba(255,255,255,.76)}.offline-lan-banner .btn{color:#fff;border-color:rgba(255,255,255,.28)}.lan-gateway-online .offline-lan-banner{background:linear-gradient(135deg,rgba(34,197,94,.94),rgba(31,31,31,.94))}.lan-local-outbox-only .offline-lan-banner{background:linear-gradient(135deg,rgba(255,138,0,.94),rgba(31,31,31,.94))}@media (max-width:640px){.offline-lan-banner{flex-direction:column;align-items:stretch}.offline-lan-banner .toolbar{justify-content:stretch}.offline-lan-banner .btn{flex:1}.lan-qr-box{min-height:220px}}
/* 6.2.0 Offline Resilience + Incident Drill Pack */
.notice.success{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.24);color:#176c3a}.notice.danger{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.25);color:#8a271f}.lan-doctor-issue{display:grid;gap:6px}.lan-safeguard-list{display:flex;flex-wrap:wrap;gap:6px}.lan-safeguard-list .badge{font-size:11px}

/* 6.3.0 Menu Unlocks + Smart Savings Pack */
.food-card.locked{
  position:relative;
  opacity:.72;
  filter:saturate(.75);
  border-style:dashed;
  background:linear-gradient(135deg, rgba(255,248,232,.95), rgba(255,255,255,.86));
}
.food-card.locked::after{
  content:'🔒';
  position:absolute;
  inset:10px 10px auto auto;
  width:32px;height:32px;border-radius:999px;
  display:grid;place-items:center;
  background:rgba(31,31,31,.82);
  color:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.cart-advisor{display:grid;gap:10px;margin-top:12px}
.saving-advisor{
  border:1px solid rgba(255,138,0,.28);
  border-radius:18px;
  padding:12px 14px;
  background:linear-gradient(135deg, rgba(255,248,232,.96), rgba(255,255,255,.92));
  box-shadow:0 12px 30px rgba(78,52,32,.08);
}
.saving-advisor.applied{
  border-color:rgba(34,197,94,.34);
  background:linear-gradient(135deg, rgba(239,255,246,.96), rgba(255,255,255,.92));
}
.saving-advisor .chip-row{margin-top:8px}
.badge.orange{background:rgba(255,138,0,.14);color:#9a4b00;border:1px solid rgba(255,138,0,.25)}
@media (max-width:640px){.saving-advisor{padding:10px 12px;border-radius:14px}.food-card.locked::after{width:28px;height:28px;font-size:14px}}

/* 6.4.0 Browser Test Recovery Pack */
.sundine-render-recovery-needed main.main::before{content:'系統已偵測到本機預覽載入不完整，正在自動恢復核心畫面。';display:block;margin:0 0 12px;padding:12px 14px;border-radius:16px;background:#fff7ed;border:1px solid rgba(255,138,0,.24);color:#7c3f00;font-weight:850}

/* 6.5.0 Browser Action Recovery Pack */
.file-preview-ready-chip{position:fixed;left:calc(12px + env(safe-area-inset-left));bottom:calc(72px + env(safe-area-inset-bottom));z-index:9998;display:flex;align-items:center;gap:8px;max-width:min(520px,calc(100vw - 24px));padding:10px 12px;border:1px solid rgba(255,138,0,.28);border-radius:16px;background:rgba(255,250,244,.96);box-shadow:var(--shadow,0 10px 30px rgba(0,0,0,.12));color:var(--ink,#222);font-size:13px;backdrop-filter:blur(12px)}
.file-preview-ready-chip span{color:var(--muted,#6f6a62)}
.file-preview-ready-chip button{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:inherit}
@media(max-width:720px){.file-preview-ready-chip{bottom:calc(86px + env(safe-area-inset-bottom));align-items:flex-start}.file-preview-ready-chip span{display:block}}
/* 6.5.0 Browser Test Recovery Pack compatibility marker for layout audit */


/* 6.5.1 Desktop Interaction Optimization Pack - wider dashboards, safer overflow, keyboard/mouse friendly controls */
@media (min-width:1024px){
  body.device-desktop{align-items:flex-start;}
  body.surface-admin .phone,
  body.surface-platform .phone,
  body.surface-reporting .phone,
  body.surface-deploy .phone,
  body.surface-merchant .phone,
  body.surface-multistore .phone,
  body.surface-governance .phone,
  body.surface-observability .phone,
  body.surface-assurance .phone,
  body.surface-fulfillment .phone,
  body.surface-accounting .phone,
  body.surface-stabilization .phone,
  body.surface-experience .phone,
  body.surface-food-safety .phone,
  body.surface-intelligence .phone,
  body.surface-integrations .phone,
  body.surface-app-readiness .phone,
  body.surface-billing .phone,
  body.surface-operations .phone,
  body.surface-communications .phone{width:min(calc(100vw - 32px),1480px);margin:16px auto;border-radius:28px;}
  body.surface-pos .phone,
  body.surface-queue .phone,
  body.surface-lan .phone{width:min(calc(100vw - 32px),1420px);margin:16px auto;border-radius:28px;}
  body.surface-customer.device-desktop .phone{width:min(calc(100vw - 32px),640px);margin:16px auto;border-radius:28px;}
  .main{padding-left:clamp(18px,2.4vw,36px);padding-right:clamp(18px,2.4vw,36px);}
  .topbar{position:relative;top:auto;z-index:20;}
  .grid.cards,.stats-grid,.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;}
  .toolbar,.form-grid,.filters{flex-wrap:wrap;}
  .toolbar .btn,.toolbar a.btn,.toolbar button{min-width:max-content;}
  .card,.list-card,.stat,.notice,.table-wrap,.table-scroll{min-width:0;}
  .table-wrap,.table-scroll{overflow:auto;max-width:100%;}
  .table-wrap table,.table-scroll table{width:100%;}
  .dropdown{position:fixed;max-width:min(420px,calc(100vw - 24px));}
  .pos-layout{grid-template-columns:minmax(520px,1.35fr) minmax(360px,.65fr);gap:18px;align-items:start;}
  .pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
  .pos-cart-panel{position:sticky;top:92px;max-height:calc(100vh - 128px);overflow:auto;}
  .local-preview-json-wrap{position:fixed;inset:24px;z-index:9998;padding:16px;border-radius:24px;background:rgba(255,250,244,.98);box-shadow:0 28px 80px rgba(72,45,22,.24);display:flex;flex-direction:column;gap:12px;}
  .local-preview-json-wrap>.btn{align-self:flex-end;}
  .local-preview-json-modal{margin:0;overflow:auto;white-space:pre-wrap;word-break:break-word;flex:1;border-radius:18px;padding:14px;background:#fff;}
}
@media (min-width:1440px){
  body.surface-admin .phone,
  body.surface-platform .phone,
  body.surface-reporting .phone,
  body.surface-deploy .phone,
  body.surface-merchant .phone,
  body.surface-multistore .phone,
  body.surface-governance .phone,
  body.surface-observability .phone,
  body.surface-assurance .phone,
  body.surface-fulfillment .phone,
  body.surface-accounting .phone,
  body.surface-stabilization .phone,
  body.surface-experience .phone,
  body.surface-food-safety .phone,
  body.surface-intelligence .phone,
  body.surface-integrations .phone,
  body.surface-app-readiness .phone,
  body.surface-billing .phone,
  body.surface-operations .phone,
  body.surface-communications .phone{width:min(calc(100vw - 48px),1680px);}
  body.surface-pos .phone,
  body.surface-queue .phone,
  body.surface-lan .phone{width:min(calc(100vw - 48px),1540px);}
  .pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}
}


/* 6.6.0 Customer Desktop Commerce Recovery
   Fixes the desktop guest page: no phone mockup, no blocking local-preview API banner, desktop menu + sticky cart. */
.local-preview-mode .api-status-banner{display:none!important}
.desktop-cart-head{display:none}
.customer-desktop-commerce .smart-dock{display:none!important}
.customer-desktop-commerce .api-status-banner{max-width:520px;left:auto;right:24px;bottom:24px;border-radius:16px;font-size:12px}
@media (min-width:1100px){
  body.surface-customer.customer-desktop-commerce,
  body.customer-desktop-commerce{display:block;background:radial-gradient(circle at 12% -8%,#fff7e8 0,#f7f2ea 34%,#efe4d5 100%);}
  body.customer-desktop-commerce .phone{width:min(calc(100vw - 48px),1280px)!important;max-inline-size:1280px!important;min-height:calc(100dvh - 48px);margin:24px auto!important;border-radius:32px!important;overflow:visible!important;background:rgba(255,250,244,.82);box-shadow:0 30px 90px rgba(75,52,38,.16)}
  body.customer-desktop-commerce .topbar{position:relative;top:auto;z-index:50;margin:0;border-radius:32px 32px 0 0;padding-inline:28px;background:rgba(255,250,244,.94)}
  body.customer-desktop-commerce .language-switcher{width:min(calc(100% - 56px),1180px);margin:18px auto 0;grid-template-columns:auto minmax(220px,360px) minmax(0,1fr);border-radius:22px;background:rgba(255,255,255,.84)}
  body.customer-desktop-commerce .main{max-width:1220px!important;padding:24px 28px 72px!important;margin:0 auto!important}
  body.customer-desktop-commerce .device-fit-banner{grid-column:1/-1;max-width:none;margin-bottom:18px}
  body.customer-desktop-commerce .main:has(.page[data-page="menu"].active){display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:26px;align-items:start}
  body.customer-desktop-commerce .main:has(.page[data-page="menu"].active)>.page[data-page="menu"]{display:block!important;grid-column:1;min-width:0}
  body.customer-desktop-commerce .main:has(.page[data-page="menu"].active)>.page[data-page="cart"]{display:block!important;grid-column:2;position:sticky;top:104px;max-height:calc(100dvh - 128px);overflow:auto;border:1px solid rgba(75,52,38,.10);border-radius:28px;background:linear-gradient(180deg,#fffdf9,#fff7ec);box-shadow:0 18px 50px rgba(75,52,38,.12);padding:18px}
  body.customer-desktop-commerce .main:has(.page[data-page="menu"].active)>.page[data-page="cart"] .section-title{display:none}
  body.customer-desktop-commerce .desktop-cart-head{display:block;margin-bottom:12px}
  body.customer-desktop-commerce .desktop-cart-head h2{margin:8px 0 4px;font-size:26px;letter-spacing:-.03em}
  body.customer-desktop-commerce .desktop-cart-head p{margin:0;line-height:1.55}
  body.customer-desktop-commerce .surface-customer .customer-launch-hero,
  body.customer-desktop-commerce .customer-launch-hero{display:block!important;margin:0 0 18px;padding:26px 28px;border-radius:30px;min-height:220px;background:linear-gradient(120deg,rgba(31,23,18,.98),rgba(91,55,30,.90)),radial-gradient(circle at 82% 44%,rgba(255,138,0,.42),transparent 36%)}
  body.customer-desktop-commerce .customer-launch-hero h2{font-size:clamp(34px,4.1vw,54px);max-width:720px}
  body.customer-desktop-commerce .customer-launch-hero p{font-size:16px;max-width:620px}
  body.customer-desktop-commerce .toolbar{position:static!important;display:grid;grid-template-columns:minmax(260px,1fr) minmax(148px,180px);gap:10px;padding:8px;border-radius:24px;margin-bottom:14px}
  body.customer-desktop-commerce .smart-welcome-card{padding:22px 24px;margin:0 0 18px;border-radius:28px;background:linear-gradient(135deg,#fffdf9,#fff3df)}
  body.customer-desktop-commerce .smart-welcome-card h2{font-size:clamp(28px,2.6vw,40px)}
  body.customer-desktop-commerce .customer-easy-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  body.customer-desktop-commerce .customer-easy-nav .smart-action{min-height:82px;border-radius:22px}
  body.customer-desktop-commerce .chip-row{padding:4px 2px 14px;margin-bottom:4px}
  body.customer-desktop-commerce .chip{font-size:14px;padding:10px 14px}
  body.customer-desktop-commerce .menu-frame{border:1px solid rgba(75,52,38,.08);border-radius:28px;background:rgba(255,255,255,.58);box-shadow:0 16px 44px rgba(75,52,38,.08);padding:14px;overflow:hidden}
  body.customer-desktop-commerce .menu-page{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px;padding:2px;align-items:stretch}
  body.customer-desktop-commerce .food-card{min-height:214px;border-radius:22px}
  body.customer-desktop-commerce .food-card .food-img{height:118px}
  body.customer-desktop-commerce .food-card .food-name{font-size:16px;margin-top:12px}
  body.customer-desktop-commerce .food-card .food-meta{padding-bottom:16px}
  body.customer-desktop-commerce .row:has(#pageDots){justify-content:center;gap:18px;margin:14px 0 0}
  body.customer-desktop-commerce .bottom-bar{display:none!important}
  body.customer-desktop-commerce #cartList{display:grid;gap:10px}
  body.customer-desktop-commerce #cartList .list-card{border-radius:18px;background:#fffaf4}
  body.customer-desktop-commerce #orderNote{height:112px!important;margin-top:12px!important}
  body.customer-desktop-commerce #submitOrder{min-height:52px;border-radius:18px;font-size:16px;font-weight:900}
  body.customer-desktop-commerce #checkoutTotal{font-size:24px;color:#d66e00}
  body.customer-desktop-commerce .modal{width:min(96vw,560px)}
}
@media (min-width:1100px) and (max-width:1220px){
  body.customer-desktop-commerce .main:has(.page[data-page="menu"].active){grid-template-columns:minmax(0,1fr) 340px;gap:18px}
  body.customer-desktop-commerce .menu-page{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:1099px){
  body.customer-desktop-commerce .desktop-cart-head{display:none}
}

/* 6.7.0 Whole-System Desktop Shell Recovery
   全頁面桌機版修復：不再依賴手機外框；寬版頁面即使 JS 尚未完成也能使用桌機寬度。 */
@media (min-width:1024px){
  body.whole-desktop-shell,
  body:has(.phone.wide){
    align-items:flex-start;
    justify-content:center;
    min-height:100dvh;
    background:radial-gradient(circle at 16% -8%,#fff7e8 0,#f7f2ea 34%,#efe4d5 100%);
  }
  .phone.wide{
    width:min(calc(100vw - 48px),1500px)!important;
    max-width:1500px!important;
    min-height:calc(100dvh - 48px);
    margin:24px auto!important;
    border-radius:32px!important;
    overflow:visible!important;
    background:rgba(255,250,244,.86)!important;
    box-shadow:0 30px 90px rgba(75,52,38,.15);
  }
  .phone.wide .topbar{
    border-radius:32px 32px 0 0;
    padding-inline:clamp(24px,2.4vw,36px);
    background:rgba(255,250,244,.94);
  }
  .phone.wide .main{
    max-width:none!important;
    padding:clamp(22px,2.4vw,36px)!important;
    padding-bottom:72px!important;
  }
  .phone.wide .hero{
    padding:clamp(18px,2.2vw,32px) 0 clamp(16px,1.8vw,24px);
  }
  .phone.wide .hero h1{
    font-size:clamp(30px,3vw,46px);
    letter-spacing:-.04em;
  }
  .phone.wide .hero p{
    max-width:980px;
    font-size:15px;
  }
  .phone.wide .grid.cards{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:16px;
  }
  .phone.wide .grid.three{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  }
  .phone.wide .two-col,
  .phone.wide .form-grid.two-col{
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  }
  .phone.wide .card,
  .phone.wide .list-card,
  .phone.wide .notice{
    border-radius:24px;
  }
  .phone.wide .table{
    font-size:13px;
  }
  .phone.wide .table th,
  .phone.wide .table td{
    padding:12px 10px;
  }
  .phone.wide .bottom-bar,
  body.whole-desktop-shell .smart-dock{
    display:none!important;
  }
  .launcher-card{
    width:min(calc(100vw - 48px),1280px)!important;
    padding:clamp(28px,3vw,44px)!important;
  }
  .launcher-card .hero h1{
    font-size:clamp(34px,3.6vw,54px);
  }
  .launcher-card .role-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (min-width:1100px){
  body:has(#customerMenuSlider){
    display:block;
    background:radial-gradient(circle at 12% -8%,#fff7e8 0,#f7f2ea 34%,#efe4d5 100%);
  }
  body:has(#customerMenuSlider) .phone{
    width:min(calc(100vw - 48px),1280px)!important;
    max-inline-size:1280px!important;
    min-height:calc(100dvh - 48px);
    margin:24px auto!important;
    border-radius:32px!important;
    overflow:visible!important;
    background:rgba(255,250,244,.82)!important;
    box-shadow:0 30px 90px rgba(75,52,38,.16);
  }
  body:has(#customerMenuSlider) .topbar{
    position:relative;
    top:auto;
    z-index:50;
    border-radius:32px 32px 0 0;
    padding-inline:28px;
    background:rgba(255,250,244,.94);
  }
  body:has(#customerMenuSlider) .main{
    max-width:1220px!important;
    padding:24px 28px 72px!important;
    margin:0 auto!important;
  }
  body:has(#customerMenuSlider) .bottom-bar,
  body:has(#customerMenuSlider) .smart-dock,
  body:has(#customerMenuSlider) .device-fit-banner{
    display:none!important;
  }
}
.local-preview-mode .api-status-banner:not([data-mode="mutation"]){display:none!important}
body:not(:has(.file-preview-ready-chip)) .file-preview-ready-chip{display:none!important}

/* 7.0.0 Runtime Contract Guard Desktop Recovery
   根因修正：桌機寬版不再依賴單一 JS surface class；所有 app shell 在桌機先得到商用寬版，再由顧客端規則縮到適合購物的 1280px。 */
@media (min-width:1024px){
  body:not(.surface-auth) .phone{
    width:min(calc(100vw - 48px),1500px)!important;
    max-width:1500px!important;
    min-height:calc(100dvh - 48px);
    margin:24px auto!important;
    border-radius:32px!important;
    overflow:visible!important;
    background:rgba(255,250,244,.88)!important;
    box-shadow:0 30px 90px rgba(75,52,38,.15);
  }
  body:not(.surface-auth) .phone .topbar{
    border-radius:32px 32px 0 0;
    padding-inline:clamp(24px,2.4vw,36px);
    background:rgba(255,250,244,.94);
  }
  body:not(.surface-auth) .phone .main{
    max-width:none!important;
    padding:clamp(22px,2.4vw,36px)!important;
    padding-bottom:72px!important;
  }
  body:not(.surface-auth) .phone .table-scroll,
  body:not(.surface-auth) .phone .table-wrap,
  body:not(.surface-auth) .phone .admin-table-card{overflow:auto;max-width:100%}
  body:not(.surface-auth) .phone .toolbar{flex-wrap:wrap;align-items:stretch}
  body:not(.surface-auth) .phone .toolbar>.btn,
  body:not(.surface-auth) .phone .toolbar>a.btn{min-height:44px}
  body:not(.surface-auth) .phone .dropdown{max-width:min(420px,calc(100vw - 32px))}
  body:not(.surface-auth) .phone .bottom-bar,
  body:not(.surface-auth).whole-desktop-shell .smart-dock{display:none!important}
  body:not(.surface-auth) .launcher-card{width:min(calc(100vw - 48px),1280px)!important}
}
@media (min-width:1100px){
  body:has(#customerMenuSlider) .phone,
  body.customer-desktop-commerce .phone{
    width:min(calc(100vw - 48px),1280px)!important;
    max-width:1280px!important;
  }
  body:has(#customerMenuSlider) .main:has(.page[data-page="menu"].active),
  body.customer-desktop-commerce .main:has(.page[data-page="menu"].active){
    grid-template-columns:minmax(0,1fr) minmax(320px,380px);
  }
}

/* 7.1.0 Art Director Full-Surface Design Evolution
   Premium editorial hospitality UI: layered atmosphere, gallery-grade cards,
   cinematic hero blocks, richer customer commerce, POS cockpit, and desktop dashboards.
   API contracts, routes, migrations, and data mutations are intentionally untouched. */
:root{
  --art-ink:#231611;
  --art-ink-soft:#5f4738;
  --art-muted:#8e7a67;
  --art-paper:#fffaf2;
  --art-paper-2:#fff3df;
  --art-glass:rgba(255,250,242,.78);
  --art-glass-strong:rgba(255,252,248,.92);
  --art-line:rgba(79,52,34,.13);
  --art-line-strong:rgba(79,52,34,.2);
  --art-gold:#f9b45b;
  --art-ember:#ff7a00;
  --art-copper:#b35a23;
  --art-mint:#20b970;
  --art-ruby:#df4a45;
  --art-blue:#3f7dff;
  --art-violet:#8357ff;
  --art-shadow:0 30px 90px rgba(78,45,23,.16);
  --art-shadow-soft:0 14px 40px rgba(78,45,23,.10);
  --art-shadow-lift:0 28px 72px rgba(78,45,23,.20);
  --art-radius-xl:34px;
  --art-radius-lg:26px;
  --art-radius-md:18px;
}
html{background:#f5eadb;scroll-behavior:smooth;}
body{position:relative;min-height:100%;background:
  radial-gradient(circle at 8% -12%,rgba(255,255,255,.95) 0 12%,transparent 35%),
  radial-gradient(circle at 84% 4%,rgba(255,122,0,.23) 0 8%,transparent 32%),
  radial-gradient(circle at 74% 86%,rgba(131,87,255,.12) 0 8%,transparent 31%),
  linear-gradient(135deg,#fff8ee 0%,#f8efe1 42%,#efe0cf 100%);
  color:var(--art-ink);
}
body::before{opacity:1;background:
  linear-gradient(120deg,rgba(255,255,255,.82),rgba(255,255,255,0) 38%),
  radial-gradient(circle at 86% 16%,rgba(255,122,0,.20),transparent 30%),
  radial-gradient(circle at 12% 78%,rgba(32,185,112,.10),transparent 30%);
}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.36;background-image:
  linear-gradient(rgba(75,52,38,.06) 1px,transparent 1px),
  linear-gradient(90deg,rgba(75,52,38,.045) 1px,transparent 1px);
  background-size:54px 54px;mask-image:linear-gradient(to bottom,transparent,black 12%,black 78%,transparent);
}
.phone{isolation:isolate;background:linear-gradient(180deg,rgba(255,252,246,.88),rgba(255,245,231,.78));border-color:rgba(85,54,34,.13);box-shadow:var(--art-shadow);overflow:hidden;}
.phone::before{content:"";position:absolute;inset:-80px -90px auto auto;width:360px;height:360px;z-index:-1;pointer-events:none;border-radius:999px;background:radial-gradient(circle,rgba(255,122,0,.18),rgba(255,122,0,.05) 48%,transparent 72%);filter:blur(4px);}
.phone::after{content:"";position:absolute;inset:auto auto -140px -120px;width:420px;height:420px;z-index:-1;pointer-events:none;border-radius:999px;background:radial-gradient(circle,rgba(131,87,255,.11),rgba(249,180,91,.08) 42%,transparent 72%);filter:blur(10px);}
.topbar{gap:14px;background:linear-gradient(180deg,rgba(255,252,248,.88),rgba(255,247,236,.72));border-bottom:1px solid rgba(77,49,31,.12);box-shadow:0 16px 42px rgba(72,43,20,.08);backdrop-filter:blur(22px) saturate(1.24);-webkit-backdrop-filter:blur(22px) saturate(1.24);}
.topbar::after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,122,0,.42),rgba(249,180,91,.22),transparent);pointer-events:none;}
.title{font-size:clamp(15px,1.2vw,18px);letter-spacing:.035em;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.title::before{flex:0 0 auto;background:linear-gradient(145deg,#ffab42 0%,#ff7900 54%,#883b10 100%);box-shadow:0 12px 28px rgba(255,122,0,.26),inset 0 1px 0 rgba(255,255,255,.48);}
.icon-btn,.capsule{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,243,224,.72));border-color:rgba(75,52,38,.15);box-shadow:0 12px 32px rgba(75,52,38,.11),inset 0 1px 0 rgba(255,255,255,.72);}
.icon-btn:hover,.capsule button:hover,.capsule a:hover{transform:translateY(-1px);}
.capsule a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;color:#5b3d2b;font-weight:850;}
.dropdown{border-radius:26px;background:linear-gradient(180deg,rgba(255,252,248,.98),rgba(255,246,233,.96));border-color:rgba(75,52,38,.16);box-shadow:0 30px 80px rgba(75,52,38,.22);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);}
.drop-item{position:relative;font-weight:800;border:1px solid transparent;transition:background .18s ease,transform .18s ease,border-color .18s ease;color:#5a3f30;}
.drop-item:hover,.drop-item.active{transform:translateX(2px);border-color:rgba(255,122,0,.18);background:linear-gradient(135deg,rgba(255,122,0,.14),rgba(255,255,255,.68));color:#9f4f17;}
.main{position:relative;}
.hero{position:relative;overflow:hidden;margin:2px 0 22px;padding:clamp(20px,3.2vw,38px);border:1px solid rgba(85,54,34,.13);border-radius:var(--art-radius-xl);background:
  linear-gradient(135deg,rgba(255,252,248,.90),rgba(255,243,224,.78)),
  radial-gradient(circle at 86% 18%,rgba(255,122,0,.24),transparent 34%),
  radial-gradient(circle at 20% 110%,rgba(32,185,112,.11),transparent 34%);
  box-shadow:var(--art-shadow-soft);
}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(115deg,rgba(255,255,255,.66),transparent 38%),
  repeating-linear-gradient(90deg,rgba(75,52,38,.045) 0 1px,transparent 1px 42px);opacity:.9;}
.hero::after{content:"SUN DINE";position:absolute;right:clamp(12px,3vw,34px);bottom:-.28em;pointer-events:none;font-size:clamp(46px,10vw,142px);line-height:.8;font-weight:950;letter-spacing:-.08em;color:rgba(75,52,38,.055);}
.hero>*{position:relative;z-index:1;}
.hero .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,122,0,.20);background:rgba(255,255,255,.66);color:#9b4a14;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 26px rgba(75,52,38,.08);}
.hero .hero-eyebrow b{color:#4b3426;letter-spacing:.04em;text-transform:none;}
.hero h1{max-width:980px;margin:0 0 10px;font-size:clamp(28px,4.4vw,56px);line-height:1.04;letter-spacing:-.055em;color:#21140f;text-wrap:balance;}
.hero p{max-width:920px;color:#725846;font-size:clamp(13px,1.2vw,16px);line-height:1.85;text-wrap:pretty;}
.section-title{position:relative;margin:24px 2px 14px;padding-top:2px;}
.section-title h2{display:flex;align-items:center;gap:10px;font-size:clamp(17px,1.6vw,22px);font-weight:950;letter-spacing:-.025em;}
.section-title h2::before{content:"";width:9px;height:26px;border-radius:999px;background:linear-gradient(180deg,#ffb25e,#ff7900);box-shadow:0 8px 18px rgba(255,122,0,.24);}
.card,.list-card,.auth-card,.launcher-card,.notice,.smart-welcome-card,.smart-workspace-card,.flow-coach-card,.customer-mode-card,.saving-advisor,.game-inline,.language-switcher{position:relative;border-color:var(--art-line);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,249,239,.82));box-shadow:var(--art-shadow-soft);backdrop-filter:blur(18px) saturate(1.08);-webkit-backdrop-filter:blur(18px) saturate(1.08);}
.card,.list-card,.auth-card,.launcher-card,.smart-welcome-card,.smart-workspace-card,.flow-coach-card{overflow:hidden;}
.card::before,.list-card::before,.auth-card::before,.launcher-card::before,.smart-welcome-card::before,.smart-workspace-card::before,.flow-coach-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.88),rgba(255,122,0,.28),transparent);pointer-events:none;}
.card:hover,.list-card:hover,.role-card:hover,.customer-mode-card:hover{transform:translateY(-2px);box-shadow:var(--art-shadow-lift);border-color:rgba(255,122,0,.24);}
.grid{gap:clamp(12px,1.6vw,18px);}
.grid.cards{gap:clamp(12px,1.7vw,20px);}
.row{gap:clamp(10px,1.4vw,16px);}
.stat{min-height:122px;padding:clamp(15px,2vw,20px);background:
  linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,246,232,.86)),
  radial-gradient(circle at 88% 18%,rgba(255,122,0,.15),transparent 32%);
}
.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#ffb25e,#ff7900,#b35a23);}
.stat .label{font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8c715d;}
.stat .value{font-size:clamp(27px,3.2vw,42px);font-variant-numeric:tabular-nums;letter-spacing:-.055em;}
.stat .sub{font-weight:750;color:#9c8069;}
.badge{font-weight:900;letter-spacing:.02em;border-color:rgba(75,52,38,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.58);}
.badge.blue{background:rgba(63,125,255,.12);color:#255bc6;border-color:rgba(63,125,255,.22);}
.badge.green{background:rgba(32,185,112,.13);color:#127342;border-color:rgba(32,185,112,.22);}
.badge.orange{background:rgba(255,122,0,.14);color:#a74f0e;border-color:rgba(255,122,0,.25);}
.badge.purple{background:rgba(131,87,255,.12);color:#5e35c9;border-color:rgba(131,87,255,.22);}
.badge.red{background:rgba(223,74,69,.12);color:#ad342f;border-color:rgba(223,74,69,.22);}
.btn,.chip,.drop-item,.icon-btn,.capsule button,.qty button{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease;}
.btn{min-height:44px;border-radius:17px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,239,216,.76));border:1px solid rgba(75,52,38,.14);box-shadow:0 12px 26px rgba(75,52,38,.10),inset 0 1px 0 rgba(255,255,255,.72);font-weight:900;letter-spacing:.015em;}
.btn:hover{transform:translateY(-1px);box-shadow:0 18px 38px rgba(75,52,38,.16),inset 0 1px 0 rgba(255,255,255,.76);}
.btn.primary{background:linear-gradient(135deg,#ffb15b 0%,#ff7900 52%,#b65319 100%);border-color:rgba(255,122,0,.18);box-shadow:0 18px 36px rgba(255,122,0,.28),inset 0 1px 0 rgba(255,255,255,.34);}
.btn.green{background:linear-gradient(135deg,#42dd90,#15a45d);box-shadow:0 18px 36px rgba(32,185,112,.24);}
.btn.red{background:linear-gradient(135deg,#ff766d,#ca3e39);box-shadow:0 18px 36px rgba(223,74,69,.23);}
.btn.ghost{background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,247,235,.66));}
.chip{font-weight:850;border-color:rgba(75,52,38,.13);background:rgba(255,252,248,.72);}
.chip:hover,.chip.active{transform:translateY(-1px);}
.search,.field input,.field select,.field textarea,textarea.search{border-radius:18px;border-color:rgba(75,52,38,.15);background:rgba(255,252,248,.84);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 26px rgba(75,52,38,.07);}
.field label{font-weight:900;color:#7c6250;letter-spacing:.035em;}
.table-wrap,.table-scroll{border:1px solid rgba(75,52,38,.12);border-radius:22px;background:rgba(255,252,248,.76);box-shadow:var(--art-shadow-soft);}
.table{border-collapse:separate;border-spacing:0;overflow:hidden;}
.table th{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,rgba(255,246,232,.98),rgba(255,238,213,.94));color:#765743;font-size:11px;text-transform:uppercase;letter-spacing:.06em;}
.table td{background:rgba(255,255,255,.38);}
.table tbody tr:nth-child(2n) td{background:rgba(255,247,235,.50);}
.table tbody tr:hover td{background:rgba(255,122,0,.07);}
.progress{height:9px;background:rgba(75,52,38,.09);box-shadow:inset 0 1px 2px rgba(75,52,38,.10);}
.progress i{background:linear-gradient(90deg,#ff7900,#f9b45b,#20b970);box-shadow:0 0 18px rgba(255,122,0,.42);}
.bottom-bar,.smart-dock,.undo-toast,.api-status-banner{backdrop-filter:blur(22px) saturate(1.18);-webkit-backdrop-filter:blur(22px) saturate(1.18);}
.bottom-bar{border-radius:26px;background:linear-gradient(180deg,rgba(255,252,248,.90),rgba(255,243,225,.84));border-color:rgba(75,52,38,.16);box-shadow:0 24px 64px rgba(75,52,38,.22);}
.modal-backdrop{background:rgba(35,22,17,.48);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.modal{border-radius:30px;background:linear-gradient(180deg,rgba(255,252,248,.98),rgba(255,246,235,.97));border-color:rgba(75,52,38,.16);box-shadow:0 34px 100px rgba(35,22,17,.28);color:var(--art-ink);}
.modal-img,.food-img,.pos-menu-button .pos-emoji{box-shadow:inset 0 1px 0 rgba(255,255,255,.62);}
.role-grid{gap:clamp(14px,2vw,22px);}
.role-card{position:relative;overflow:hidden;min-height:260px;padding:clamp(18px,2.4vw,28px);border-radius:30px;background:
  linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,245,230,.80)),
  radial-gradient(circle at 88% 12%,rgba(255,122,0,.16),transparent 32%);
  border:1px solid rgba(75,52,38,.14);box-shadow:var(--art-shadow-soft);
}
.role-card::after{content:"";position:absolute;right:-42px;top:-42px;width:142px;height:142px;border-radius:999px;background:radial-gradient(circle,rgba(255,122,0,.16),transparent 70%);pointer-events:none;}
.role-card .emoji{width:64px;height:64px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,230,196,.88));box-shadow:0 14px 34px rgba(75,52,38,.13);font-size:34px;}
.role-card h2{font-size:clamp(20px,2vw,25px);letter-spacing:-.03em;color:#21140f;}
.role-card p{font-size:14px;color:#755f4d;}
.launcher{position:relative;align-items:flex-start;padding:clamp(18px,4vw,48px);}
.launcher-card{width:min(1480px,100%);border-radius:38px;padding:clamp(20px,3.5vw,44px);}
.launcher-card .hero{margin-top:0;}
.auth-shell{background:transparent;}
.auth-card{border-radius:34px;padding:clamp(22px,4vw,34px);}
.auth-card h1{font-size:clamp(28px,4vw,42px);letter-spacing:-.05em;}
.customer-launch-hero{border-radius:34px;background:
  radial-gradient(circle at 78% 18%,rgba(255,182,94,.44),transparent 30%),
  radial-gradient(circle at 88% 86%,rgba(32,185,112,.22),transparent 24%),
  linear-gradient(135deg,#21140f 0%,#4a2d1f 52%,#9b4a14 100%);
  box-shadow:0 34px 92px rgba(45,26,17,.28);}
.customer-launch-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 38%),repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 1px,transparent 1px 38px);pointer-events:none;}
.customer-launch-hero::after{filter:drop-shadow(0 22px 36px rgba(255,122,0,.28));opacity:.9;}
.customer-launch-hero h2{font-size:clamp(32px,7vw,54px);letter-spacing:-.065em;text-wrap:balance;}
.customer-quick-modes,.customer-easy-nav{gap:clamp(10px,1.4vw,16px);}
.customer-mode-card,.customer-easy-nav .smart-action{border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,244,225,.84));}
.surface-customer .toolbar{position:sticky;top:calc(72px + var(--safe-top,0px));z-index:18;border-radius:24px;background:rgba(255,252,248,.86);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);}
.surface-customer .menu-frame{margin-top:12px;}
.food-card{border-radius:24px;box-shadow:0 16px 38px rgba(78,45,23,.12);}
.food-card .food-img{height:104px;background:
  radial-gradient(circle at 30% 24%,rgba(255,255,255,.90),transparent 23%),
  linear-gradient(135deg,#ffe6c0,#fff8ec 64%,#f9d2aa);}
.food-card .food-name{font-size:16px;letter-spacing:-.025em;}
.food-card .food-meta{align-items:flex-end;}
.food-card::after,.pos-menu-button::after{background:linear-gradient(135deg,#ffb15b,#ff7900 60%,#b65319);box-shadow:0 14px 28px rgba(255,122,0,.32);}
.food-photo.has-image{background-size:cover;background-position:center;}
.food-photo.has-image::before{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(35,22,17,.18));}
.pos-layout{gap:clamp(16px,2vw,24px);}
.pos-menu-panel,.pos-cart-panel{position:relative;overflow:hidden;border:1px solid rgba(75,52,38,.13);background:linear-gradient(180deg,rgba(255,252,248,.92),rgba(255,244,228,.84));box-shadow:var(--art-shadow-soft);}
.pos-menu-grid{gap:clamp(12px,1.6vw,18px);}
.pos-menu-button{border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,246,232,.86));border-color:rgba(75,52,38,.13);box-shadow:0 16px 38px rgba(78,45,23,.11);}
.pos-menu-button .pos-emoji{height:106px;background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.9),transparent 22%),linear-gradient(135deg,#ffe5bf,#fff7ec 58%,#f7d0a4);}
.pos-menu-button b{font-size:16px;letter-spacing:-.025em;}
.pos-cart-panel{top:96px;}
.pos-total{border-radius:22px;background:rgba(255,255,255,.62);}
.surface-queue .hero{text-align:center;background:radial-gradient(circle at 50% 0%,rgba(255,122,0,.30),transparent 36%),linear-gradient(135deg,rgba(255,252,248,.92),rgba(255,239,216,.82));}
.surface-queue .stat .value{font-size:clamp(54px,9vw,112px);line-height:.9;}
.surface-queue .card,.surface-queue .list-card{border-radius:32px;}
.surface-admin .hero,.surface-platform .hero,.surface-reporting .hero,.surface-accounting .hero,.surface-fulfillment .hero,.surface-lan .hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;}
.surface-admin .hero p,.surface-platform .hero p,.surface-reporting .hero p,.surface-accounting .hero p,.surface-fulfillment .hero p,.surface-lan .hero p{grid-column:1/-1;}
.surface-admin .hero::after,.surface-platform .hero::after,.surface-reporting .hero::after,.surface-accounting .hero::after,.surface-fulfillment .hero::after,.surface-lan .hero::after{font-size:clamp(58px,9vw,156px);}
.smart-action,.flow-coach-action,.command-row{border-color:rgba(75,52,38,.13);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,246,232,.76));}
.smart-action:hover,.flow-coach-action:hover,.command-row:hover{box-shadow:var(--art-shadow-soft);border-color:rgba(255,122,0,.24);}
.language-switcher{border-radius:24px;background:rgba(255,252,248,.86);}
.lan-hero{background:radial-gradient(circle at 76% 16%,rgba(32,185,112,.20),transparent 32%),linear-gradient(135deg,rgba(255,252,248,.96),rgba(255,239,216,.86));}
.lan-qr-box{border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,245,230,.74));box-shadow:var(--art-shadow-soft);}
.notice.success{background:rgba(32,185,112,.10);border-color:rgba(32,185,112,.24);}
.notice.danger{background:rgba(223,74,69,.10);border-color:rgba(223,74,69,.25);}
@media (min-width:1024px){
  body{align-items:flex-start;}
  body:not(.surface-auth) .phone{margin:clamp(14px,1.8vw,28px) auto;border-radius:clamp(28px,2.4vw,42px);}
  body:not(.surface-auth) .phone .main{padding-top:clamp(18px,2vw,30px);}
  .phone.wide .hero h1{max-width:1050px;}
  .phone.wide .grid.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
  .phone.wide .grid.three{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
  body.customer-desktop-commerce .phone{border-radius:42px;}
  body.customer-desktop-commerce .main:has(.page[data-page="menu"].active){align-items:start;}
  body.customer-desktop-commerce .main:has(.page[data-page="menu"].active)>.page[data-page="cart"]{border-radius:32px;background:linear-gradient(180deg,rgba(255,252,248,.92),rgba(255,246,234,.84));border:1px solid rgba(75,52,38,.13);box-shadow:var(--art-shadow-soft);}
  body.customer-desktop-commerce .menu-page{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));}
  body.customer-desktop-commerce .food-card{min-height:218px;}
  body.customer-desktop-commerce .food-card .food-img{height:124px;}
}
@media (min-width:1440px){
  .phone.wide .main{padding-left:48px;padding-right:48px;}
  .phone.wide .hero{padding:46px;}
  .pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(186px,1fr));}
}
@media (max-width:819px){
  .hero{border-radius:28px;padding:22px;}
  .hero::after{font-size:54px;right:14px;}
  .surface-admin .hero,.surface-platform .hero,.surface-reporting .hero,.surface-accounting .hero,.surface-fulfillment .hero,.surface-lan .hero{display:block;}
  .topbar{gap:8px;}
  .title::before{width:30px;height:30px;border-radius:11px;}
  .table th{position:static;}
}
@media (max-width:620px){
  .phone{border-left:0;border-right:0;}
  body:not(.surface-auth) .phone{border-radius:0;}
  .main{padding-left:14px;padding-right:14px;}
  .hero{margin-top:0;border-radius:24px;padding:18px;}
  .hero .hero-eyebrow{font-size:11px;padding:6px 9px;}
  .hero h1{font-size:clamp(25px,8vw,34px);}
  .hero p{font-size:13px;line-height:1.65;}
  .grid.cards{gap:12px;}
  .card,.list-card,.notice{border-radius:20px;}
  .role-card{min-height:0;border-radius:24px;}
  .role-card .emoji{width:54px;height:54px;border-radius:20px;}
  .customer-launch-hero{border-radius:28px;}
  .surface-customer .toolbar{top:calc(62px + var(--safe-top,0px));border-radius:20px;}
  .food-card{min-height:154px;border-radius:20px;}
  .food-card .food-img{height:82px;}
  .food-card::after,.pos-menu-button::after{width:30px;height:30px;right:10px;bottom:10px;}
  .pos-menu-button{min-height:148px;border-radius:20px;}
  .pos-menu-button .pos-emoji{height:80px;}
  .bottom-bar{border-radius:22px;}
}
@media (max-width:390px){
  .food-card{min-height:144px;}
  .food-card .food-img{height:76px;}
  .food-card .food-name{font-size:14px;}
  .hero::after{display:none;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .btn,.chip,.drop-item,.icon-btn,.capsule button,.card,.list-card,.role-card,.customer-mode-card,.food-card,.pos-menu-button{transition:none!important;}
  .btn:hover,.chip:hover,.drop-item:hover,.icon-btn:hover,.capsule button:hover,.card:hover,.list-card:hover,.role-card:hover,.customer-mode-card:hover,.food-card:hover,.pos-menu-button:hover{transform:none!important;}
}
@media print{
  body,html{background:#fff!important;}
  body::before,body::after,.phone::before,.phone::after,.hero::before,.hero::after,.card::before,.list-card::before{display:none!important;}
  .hero,.card,.list-card,.notice{background:#fff!important;color:#000!important;box-shadow:none!important;}
}

/* 7.1.0 Art Direction JS atmosphere layer */
.art-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;}
.art-atmosphere span{position:absolute;display:block;border-radius:999px;filter:blur(20px);opacity:.34;mix-blend-mode:multiply;}
.art-atmosphere span:nth-child(1){width:36vw;height:36vw;left:-10vw;top:10vh;background:radial-gradient(circle,rgba(255,180,91,.46),transparent 68%);}
.art-atmosphere span:nth-child(2){width:42vw;height:42vw;right:-12vw;top:-10vh;background:radial-gradient(circle,rgba(255,122,0,.34),transparent 70%);}
.art-atmosphere span:nth-child(3){width:34vw;height:34vw;right:8vw;bottom:-16vh;background:radial-gradient(circle,rgba(32,185,112,.22),transparent 70%);}
.gallery-grade-ui .hero-eyebrow span{font-variant-caps:all-small-caps;}
.gallery-grade-ui .card[data-art-index="2"]::after,.gallery-grade-ui .list-card[data-art-index="4"]::after{content:"";position:absolute;right:-34px;top:-34px;width:98px;height:98px;border-radius:999px;background:radial-gradient(circle,rgba(255,122,0,.12),transparent 72%);pointer-events:none;}
@media (max-width:620px){.art-atmosphere span{filter:blur(14px);opacity:.24}}
@media print{.art-atmosphere{display:none!important}}


/* 7.1.1 Customer Category Chip Layout Guard
   Fixes guest menu category chips: flex items must scroll horizontally instead of shrinking,
   and text must stay inside each chip across desktop, tablet, mobile, and multilingual labels. */
#customerCategories.chip-row{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:10px;
  max-inline-size:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:8px 4px 14px;
  margin:2px 0 10px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  contain:layout paint;
}
#customerCategories.chip-row::after{content:"";flex:0 0 8px;}
#customerCategories .chip,
#customerCategories .customer-category-chip{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  inline-size:max-content;
  min-inline-size:0;
  max-inline-size:min(56vw,220px);
  min-height:42px;
  height:auto;
  padding:10px 14px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  scroll-snap-align:start;
  vertical-align:middle;
}
#customerCategories .chip-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.15em;
  min-width:1.15em;
  line-height:1;
}
#customerCategories .chip-label{
  display:block;
  flex:0 1 auto;
  min-inline-size:0;
  max-inline-size:calc(min(56vw,220px) - 44px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.15;
}
body.customer-desktop-commerce #customerCategories.chip-row,
body.surface-customer #customerCategories.chip-row{
  overscroll-behavior-inline:contain;
}
body.customer-desktop-commerce #customerCategories .chip,
body.customer-desktop-commerce #customerCategories .customer-category-chip{
  min-height:44px;
  padding:10px 15px;
  max-inline-size:230px;
}
body.customer-desktop-commerce #customerCategories .chip-label{
  max-inline-size:176px;
}
@media (max-width:520px){
  #customerCategories.chip-row{gap:9px;padding:8px 4px 16px;margin-bottom:12px;}
  #customerCategories .chip,
  #customerCategories .customer-category-chip{max-inline-size:62vw;min-height:44px;padding:10px 13px;}
  #customerCategories .chip-label{max-inline-size:calc(62vw - 42px);}
}
@media (max-width:360px){
  #customerCategories .chip,
  #customerCategories .customer-category-chip{max-inline-size:68vw;}
  #customerCategories .chip-label{max-inline-size:calc(68vw - 42px);}
}

/* 7.1.2 Topbar Dropdown Interaction Guard
   Prevents duplicate-init toggle collapse and keeps dropdown menus visible, tappable, and above visual surfaces. */
.dropdown[id$="Drop"]{
  z-index:10020;
  pointer-events:auto;
  opacity:1;
  visibility:visible;
  touch-action:manipulation;
  overscroll-behavior:contain;
}
.dropdown[id$="Drop"][hidden]:not(.open){display:none!important;}
.dropdown[id$="Drop"].open{
  display:grid!important;
  gap:4px;
  pointer-events:auto!important;
  opacity:1!important;
  visibility:visible!important;
}
.dropdown[id$="Drop"] .drop-item{
  pointer-events:auto!important;
  user-select:none;
  -webkit-user-select:none;
  min-height:44px;
}
#leftBtn,#rightBtn,#topSearchBtn,.topbar .icon-btn,.topbar .capsule button{
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
#leftBtn[aria-expanded="true"],#rightBtn[aria-expanded="true"]{
  border-color:rgba(255,122,0,.42);
  box-shadow:0 16px 38px rgba(255,122,0,.18),inset 0 1px 0 rgba(255,255,255,.76);
}


/* 7.4.0 Topbar Scroll-With-Content Guard
   User request: every app-shell header row must scroll together with the page content, not stick/fix to the viewport. */
.phone > .topbar,
.phone.wide > .topbar,
body:not(.surface-auth) .phone > .topbar,
body.customer-desktop-commerce .phone > .topbar,
body:has(#customerMenuSlider) .phone > .topbar,
body.surface-pos.device-mobile .phone > .topbar,
body.surface-pos.device-tablet .phone > .topbar,
body.surface-pos.device-desktop .phone > .topbar {
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  inset-block-start:auto!important;
  inset-block-end:auto!important;
  z-index:30;
  flex:0 0 auto;
}
.phone > .topbar.is-floating,
.phone > .topbar.sticky,
.phone > .topbar.fixed {
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  inset:auto!important;
}
.phone > .dropdown[id$="Drop"] {
  position:absolute!important;
  top:calc(58px + var(--safe-top,0px))!important;
  bottom:auto!important;
  max-height:min(72vh,calc(100dvh - 88px - var(--safe-bottom,0px)));
}
.phone > .dropdown[id$="Drop"].left {left:max(12px,var(--safe-left,0px))!important;right:auto!important;}
.phone > .dropdown[id$="Drop"].right {right:max(12px,var(--safe-right,0px))!important;left:auto!important;}
@media (min-width:1024px){
  .phone > .dropdown[id$="Drop"]{max-width:min(420px,calc(100vw - 32px));}
}
@media (max-width:620px){
  .phone > .dropdown[id$="Drop"]{top:calc(58px + var(--safe-top,0px))!important;width:min(94vw,380px);}
}
@media print{
  .phone > .topbar{position:static!important;}
}

/* 7.4.0 Clean Rhythm Spacing System
   7.2.9 Clean Rhythm Spacing System
   User request: all pages should use even, predictable spacing between small blocks.
   This layer normalizes page padding, section gaps, card/list/form/table inner rhythm,
   and removes scattered inline margin/padding drift without changing data/API flows. */
:root{
  --rhythm-page:clamp(16px,2vw,28px);
  --rhythm-page-wide:clamp(22px,2.8vw,40px);
  --rhythm-section:clamp(16px,1.8vw,24px);
  --rhythm-block:clamp(14px,1.5vw,20px);
  --rhythm-card:clamp(16px,1.7vw,22px);
  --rhythm-inner:clamp(10px,1.1vw,14px);
  --rhythm-tight:clamp(7px,.8vw,10px);
  --rhythm-control:44px;
  --rhythm-radius:24px;
  --rhythm-radius-sm:18px;
}
body:not(.surface-auth) .phone > .topbar,
body.customer-desktop-commerce .phone > .topbar{
  padding-block:calc(var(--rhythm-inner) + var(--safe-top,0px)*.35) var(--rhythm-inner)!important;
  padding-inline:var(--rhythm-page)!important;
  gap:var(--rhythm-inner)!important;
}
.main{
  display:grid!important;
  align-content:start!important;
  grid-auto-flow:row!important;
  gap:var(--rhythm-section)!important;
  padding:var(--rhythm-page)!important;
  padding-bottom:calc(var(--rhythm-page-wide) + var(--safe-bottom,0px))!important;
}
.phone.wide .main,
body.surface-admin .main,
body.surface-platform .main,
body.surface-reporting .main,
body.surface-deploy .main,
body.surface-merchant .main,
body.surface-multistore .main,
body.surface-governance .main,
body.surface-observability .main,
body.surface-assurance .main,
body.surface-fulfillment .main,
body.surface-accounting .main,
body.surface-stabilization .main,
body.surface-experience .main,
body.surface-food-safety .main,
body.surface-intelligence .main,
body.surface-integrations .main,
body.surface-app-readiness .main,
body.surface-billing .main,
body.surface-operations .main,
body.surface-communications .main,
body.surface-pos .main,
body.surface-queue .main,
body.surface-lan .main{
  padding-inline:var(--rhythm-page-wide)!important;
}
.main > *,
.page > *,
.stack > *,
.list > *,
.grid > *,
.form-grid > *,
.auth-grid > *,
.auth-demo > *,
.toolbar > *,
.chip-row > *,
.role-grid > *,
.pos-menu-grid > *,
.customer-easy-nav > *,
.customer-quick-modes > *,
.smart-action-grid > *,
.smart-stepper > *,
.flow-coach-actions > *,
.command-results > *,
#cartList > *,
#posCartList > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}
.page.active,
.stack,
.list,
.form-grid,
.auth-grid,
.auth-demo,
.command-results,
#cartList,
#posCartList,
.cart-advisor,
.lan-doctor-issue{
  display:grid!important;
  gap:var(--rhythm-block)!important;
  align-content:start!important;
}
.grid,
.grid.cards,
.grid.three,
.grid.one,
.role-grid,
.pos-menu-grid,
.customer-easy-nav,
.customer-quick-modes,
.smart-action-grid,
.smart-stepper,
.flow-coach-actions,
.pos-quick-modes,
.game-reward-card,
.lan-grid{
  gap:var(--rhythm-block)!important;
}
.two-col,
.pos-layout,
body.customer-desktop-commerce .main:has(.page[data-page="menu"].active),
.surface-admin .smart-workspace-card,
.surface-platform .smart-workspace-card,
.surface-reporting .smart-workspace-card,
.flow-coach-card{
  gap:var(--rhythm-section)!important;
}
.hero,
.customer-launch-hero,
.card,
.stat,
.stat.card,
.list-card,
.notice,
.auth-card,
.launcher-card,
.role-card,
.customer-mode-card,
.smart-welcome-card,
.smart-workspace-card,
.flow-coach-card,
.smart-action,
.flow-coach-action,
.command-row,
.easy-empty,
.empty-state,
.saving-advisor,
.game-inline,
.game-reward-card,
.language-switcher,
.device-fit-banner,
.command-panel,
.modal,
.lan-qr-box,
.pos-menu-panel,
.pos-cart-panel{
  padding:var(--rhythm-card)!important;
  border-radius:var(--rhythm-radius)!important;
}
.food-card,
.pos-menu-button{
  padding:var(--rhythm-card)!important;
  border-radius:var(--rhythm-radius)!important;
  gap:var(--rhythm-inner)!important;
}
.food-card .food-img,
.pos-menu-button .pos-emoji{
  border-radius:var(--rhythm-radius-sm)!important;
  margin:0!important;
}
.food-card .food-name,
.food-card .food-meta,
.pos-menu-button b,
.pos-menu-button small,
.pos-menu-button strong{
  padding-inline:0!important;
  padding-block:0!important;
  margin-block:0!important;
}
.food-card .food-name,
.pos-menu-button b{
  margin-top:0!important;
}
.food-card::after,
.pos-menu-button::after{
  right:var(--rhythm-card)!important;
  bottom:var(--rhythm-card)!important;
}
.hero,
.customer-launch-hero{
  margin:0!important;
}
.hero > *,
.customer-launch-hero > *,
.card > *,
.list-card > *,
.notice > *,
.auth-card > *,
.launcher-card > *,
.role-card > *,
.smart-welcome-card > *,
.smart-workspace-card > *,
.flow-coach-card > *,
.customer-mode-card > *,
.saving-advisor > *,
.game-inline > *,
.language-switcher > *,
.modal > *,
.pos-menu-panel > *,
.pos-cart-panel > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}
.hero > * + *,
.customer-launch-hero > * + *,
.card > * + *,
.list-card > * + *,
.notice > * + *,
.auth-card > * + *,
.launcher-card > * + *,
.role-card > * + *,
.smart-welcome-card > * + *,
.smart-workspace-card > * + *,
.flow-coach-card > * + *,
.customer-mode-card > * + *,
.saving-advisor > * + *,
.game-inline > * + *,
.language-switcher > * + *,
.modal > * + *,
.pos-menu-panel > * + *,
.pos-cart-panel > * + *{
  margin-block-start:var(--rhythm-inner)!important;
}
.section-title{
  margin:0!important;
  padding:0!important;
  min-height:var(--rhythm-control)!important;
  display:flex!important;
  align-items:center!important;
  gap:var(--rhythm-inner)!important;
}
.section-title h2,
.card h2,
.list-card h2,
.notice h2,
.role-card h2,
.smart-welcome-card h2,
.smart-workspace-card h2,
.flow-coach-card h2,
.customer-launch-hero h2,
.auth-card h1,
.launcher-card h1,
.hero h1{
  margin:0!important;
}
.hero p,
.card p,
.list-card p,
.notice p,
.role-card p,
.smart-welcome-card p,
.smart-workspace-card p,
.flow-coach-card p,
.customer-launch-hero p,
.auth-card p,
.launcher-card p{
  margin:0!important;
}
.toolbar,
.pos-toolbar,
.chip-row,
.status-strip,
.easy-primary-path,
.lan-safeguard-list,
.row{
  gap:var(--rhythm-inner)!important;
}
.toolbar,
.pos-toolbar,
.chip-row,
.status-strip{
  margin-block:0!important;
  padding:var(--rhythm-tight)!important;
  border-radius:var(--rhythm-radius-sm)!important;
}
.chip-row{
  min-height:calc(var(--rhythm-control) + var(--rhythm-tight)*2)!important;
  align-items:center!important;
}
.btn,
.chip,
.badge,
.drop-item,
.smart-action,
.flow-coach-action,
.command-row{
  border-radius:var(--rhythm-radius-sm)!important;
}
.btn,
.chip,
.drop-item,
.field input,
.field select,
.field textarea,
.search,
textarea.search{
  min-height:var(--rhythm-control)!important;
  padding-inline:var(--rhythm-inner)!important;
}
.field,
.field label,
.form-grid label.field{
  gap:var(--rhythm-tight)!important;
}
textarea.search,
.field textarea{
  padding-block:var(--rhythm-inner)!important;
}
.table-wrap,
.table-scroll{
  border-radius:var(--rhythm-radius)!important;
  padding:0!important;
  overflow:auto!important;
}
.table th,
.table td{
  padding:var(--rhythm-inner)!important;
}
.modal-head,
.qty,
.food-meta,
.pos-head,
.pos-total,
.api-status-banner,
.undo-toast,
.global-busy-indicator,
.offline-lan-banner,
.file-preview-ready-chip{
  gap:var(--rhythm-inner)!important;
}
.pos-total{
  margin-block:var(--rhythm-block)!important;
  padding-block:var(--rhythm-block)!important;
}
.bottom-bar,
.smart-dock,
.api-status-banner,
.undo-toast,
.global-busy-indicator,
.offline-lan-banner,
.file-preview-ready-chip{
  padding:var(--rhythm-inner)!important;
}
#orderNote,
#supportSubject,
#posOrderNote,
#posLastOrder,
#posCartList,
#merchantKitchen .toolbar,
#acctKds .toolbar,
.draft-status-chip,
.game-inline,
.cart-advisor,
.saving-advisor .chip-row{
  margin-top:0!important;
}
body.customer-desktop-commerce .main:has(.page[data-page="menu"].active) > .page[data-page="menu"],
body.customer-desktop-commerce .main:has(.page[data-page="menu"].active) > .page[data-page="cart"]{
  display:grid!important;
  gap:var(--rhythm-block)!important;
  align-content:start!important;
}
body.customer-desktop-commerce .toolbar,
body.customer-desktop-commerce .smart-welcome-card,
body.customer-desktop-commerce .customer-launch-hero,
body.customer-desktop-commerce .menu-frame,
body.customer-desktop-commerce .chip-row,
body.customer-desktop-commerce #cartList,
body.customer-desktop-commerce #orderNote,
body.customer-desktop-commerce #submitOrder{
  margin-block:0!important;
}
body.customer-desktop-commerce .menu-frame{
  padding:var(--rhythm-block)!important;
  border-radius:var(--rhythm-radius)!important;
}
body.customer-desktop-commerce .menu-page,
.menu-page{
  gap:var(--rhythm-block)!important;
  padding:0!important;
}
@media (max-width:620px){
  :root{--rhythm-page:14px;--rhythm-page-wide:14px;--rhythm-section:16px;--rhythm-block:12px;--rhythm-card:14px;--rhythm-inner:10px;--rhythm-radius:22px;}
  .main{padding-inline:var(--rhythm-page)!important;}
  .hero,
  .customer-launch-hero,
  .card,
  .list-card,
  .notice,
  .auth-card,
  .launcher-card,
  .smart-welcome-card,
  .smart-workspace-card,
  .flow-coach-card,
  .modal,
  .pos-menu-panel,
  .pos-cart-panel{border-radius:var(--rhythm-radius)!important;}
}
@media print{
  .main{display:block!important;padding:0!important;}
  .page.active,.stack,.list,.form-grid{display:block!important;}
}

/* 7.4.0 Topbar Scroll-With-Content Guard refresh
   Kept after the clean rhythm layer so header rows still scroll with content on every page. */
.phone > .topbar,
.phone.wide > .topbar,
body:not(.surface-auth) .phone > .topbar,
body.customer-desktop-commerce .phone > .topbar,
body:has(#customerMenuSlider) .phone > .topbar,
body.surface-pos.device-mobile .phone > .topbar,
body.surface-pos.device-tablet .phone > .topbar,
body.surface-pos.device-desktop .phone > .topbar{
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  inset-block-start:auto!important;
  inset-block-end:auto!important;
  flex:0 0 auto;
}
.phone > .dropdown[id$="Drop"]{
  position:absolute!important;
  top:calc(58px + var(--safe-top,0px))!important;
  bottom:auto!important;
}

/* 7.2.4 Local Full-Auto Deploy Center */
.deploy-hero{position:relative;overflow:hidden}
.deploy-hero:after{content:"";position:absolute;inset:auto 24px 24px auto;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,rgba(255,184,92,.24),transparent 70%);pointer-events:none}
.deploy-grid{grid-template-columns:minmax(min(100%,560px),1.35fr) minmax(min(100%,280px),.75fr) minmax(min(100%,280px),.75fr)!important;align-items:stretch}
.deploy-card-lg{grid-column:1/-1}
.deploy-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rhythm-block,14px)}
.deploy-form label{display:grid;gap:8px;align-content:start;color:var(--muted,#786b60);font-size:13px;font-weight:800;letter-spacing:.02em}
.deploy-form input,.deploy-form select{width:100%;border:1px solid rgba(75,52,38,.14);border-radius:16px;padding:12px 14px;background:rgba(255,255,255,.82);color:var(--ink,#1e1713);outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.deploy-form input:focus,.deploy-form select:focus{border-color:rgba(190,113,36,.55);box-shadow:0 0 0 4px rgba(235,162,74,.16)}
.deploy-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:14px;border-radius:18px;background:rgba(255,248,238,.68);border:1px solid rgba(75,52,38,.08)}
.deploy-options .check{display:flex;align-items:flex-start;gap:10px;font-weight:700;color:var(--ink,#1e1713)}
.deploy-options input{width:auto;min-width:18px;margin-top:3px}
.deploy-actions{grid-column:1/-1;margin:0!important}
.deploy-log{min-height:320px;max-height:520px;overflow:auto;white-space:pre-wrap;border-radius:22px;padding:18px;background:linear-gradient(180deg,rgba(19,21,27,.96),rgba(7,9,15,.97));color:#f7efe6;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.kv-list{display:grid;gap:10px}.kv-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(75,52,38,.08)}.kv-list>div:last-child{border-bottom:0}.kv-list span{text-align:right;color:var(--muted,#786b60)}
.badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:none;border:1px solid rgba(75,52,38,.1);background:rgba(255,255,255,.72);color:var(--muted,#786b60)}
.badge.good{background:rgba(27,127,85,.12);color:#176c49;border-color:rgba(27,127,85,.2)}.badge.bad{background:rgba(181,56,42,.12);color:#9b3024;border-color:rgba(181,56,42,.2)}.badge.neutral{background:rgba(216,139,50,.13);color:#8a5520;border-color:rgba(216,139,50,.2)}
.notice.danger{background:rgba(181,56,42,.1);border-color:rgba(181,56,42,.2);color:#7d2a21}
@media(max-width:960px){.deploy-grid{grid-template-columns:1fr!important}.deploy-form{grid-template-columns:1fr}.deploy-options{grid-template-columns:1fr}.deploy-card-lg{grid-column:auto}}

/* 7.2.4 Local Deployment Center */
.deploy-hero code,
.deploy-log-card code{
  padding:2px 6px;
  border-radius:8px;
  background:rgba(15,23,42,.08);
  color:#7c2d12;
}
.deploy-status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--rhythm-block,14px);
  margin-bottom:var(--rhythm-section,18px);
}
.deploy-status-grid .stat{
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.deploy-status-grid .stat b,
.deploy-status-grid .stat span{
  overflow-wrap:anywhere;
}
.deploy-form-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:var(--rhythm-section,18px);
  align-items:start;
  margin-bottom:var(--rhythm-section,18px);
}
.deploy-form-card{
  display:grid;
  gap:var(--rhythm-block,14px);
}
.deploy-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--rhythm-inner,10px);
}
.deploy-check-grid label{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(120,92,52,.16);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  font-weight:800;
  color:#3f3123;
}
.deploy-actions{
  display:flex;
  flex-wrap:wrap;
  gap:var(--rhythm-inner,10px);
  align-items:center;
}
.deploy-log-card{
  margin-top:var(--rhythm-section,18px);
}
.deploy-log{
  min-height:320px;
  max-height:560px;
  overflow:auto;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.12);
  background:#090d14;
  color:#d7f7d7;
  font:13px/1.58 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.notice.danger,
.btn.danger{
  border-color:rgba(185,28,28,.28)!important;
  background:linear-gradient(135deg,rgba(254,226,226,.92),rgba(255,247,237,.92))!important;
  color:#7f1d1d!important;
}
.hidden{display:none!important;}
@media (max-width:920px){
  .deploy-status-grid,
  .deploy-form-grid{grid-template-columns:1fr;}
  .deploy-check-grid{grid-template-columns:1fr;}
}


/* 7.2.7 Deploy Readiness Wizard */
.deploy-readiness-card{
  margin-top:var(--rhythm-section,18px);
}
.deploy-readiness{
  display:grid;
  gap:var(--rhythm-block,14px);
}
.deploy-readiness-group{
  display:grid;
  gap:8px;
  padding:var(--rhythm-card,16px);
  border:1px solid rgba(120,92,52,.14);
  border-radius:var(--rhythm-radius,18px);
  background:rgba(255,255,255,.62);
}
.deploy-readiness-group>b{
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7c4a1e;
}
.deploy-readiness-row{
  display:grid;
  grid-template-columns:28px minmax(140px,.8fr) minmax(0,1.2fr);
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.72);
}
.deploy-readiness-row span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  font-weight:900;
}
.deploy-readiness-row.ok span{background:rgba(34,197,94,.14);color:#166534;}
.deploy-readiness-row.warn span{background:rgba(245,158,11,.16);color:#92400e;}
.deploy-readiness-row.fail span{background:rgba(239,68,68,.15);color:#991b1b;}
.deploy-readiness-row strong{color:#2b2218;}
.deploy-readiness-row small{color:#66584b;overflow-wrap:anywhere;}
.notice.success{
  border-color:rgba(34,197,94,.24)!important;
  background:linear-gradient(135deg,rgba(220,252,231,.92),rgba(240,253,244,.92))!important;
  color:#14532d!important;
}
@media (max-width:720px){
  .deploy-readiness-row{grid-template-columns:28px 1fr;}
  .deploy-readiness-row small{grid-column:2;}
}


/* 7.2.8 Deploy Safety Guard */
.deploy-security-card{
  margin-top:var(--rhythm-section,18px);
  border-color:rgba(27,94,145,.16)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(239,246,255,.72))!important;
}
.deploy-audit-group{
  background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(248,250,252,.75));
}
.deploy-audit-group code,
.deploy-security-card code{
  padding:2px 6px;
  border-radius:8px;
  background:rgba(15,23,42,.08);
  color:#1e3a8a;
}

/* 7.2.8 Deploy Safety Backup Drill */
.deploy-safety-card{border:1px solid rgba(124,77,45,.18);background:linear-gradient(145deg,rgba(255,251,244,.92),rgba(255,244,227,.82));}
.deploy-backup-result{display:grid;gap:12px;margin-top:10px;}
.deploy-backup-result code{word-break:break-all;white-space:normal;}
.deploy-readiness-row small{overflow-wrap:anywhere;}


/* 7.2.9 Data Protection Drill Console */
.data-protection-card .deploy-actions{align-items:flex-start}
.data-protection-card .deploy-readiness{margin-top:var(--rhythm-inner,14px)}
.deploy-readiness-row.fail span{font-weight:900}
.notice.ok{border-color:rgba(21,128,61,.25);background:rgba(240,253,244,.72)}


/* 7.3.0 Deploy Save Visibility Guard */
.deploy-save-result { margin-top: var(--rhythm-inner, 14px); }
.deploy-save-result .deploy-readiness-row { align-items: flex-start; }
.deploy-save-result code { word-break: break-all; }
.deploy-save-status-grid { display: grid; gap: 10px; margin-top: 10px; }
@media (min-width: 760px) { .deploy-save-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


/* 7.3.1 Deploy Center Button Reality Guard */
.deploy-help-box{border-left:4px solid rgba(245,158,11,.55);}
.deploy-action-card{margin:var(--rhythm-section,18px) 0;}
.deploy-log.mini{min-height:96px;max-height:180px;font-size:12px;line-height:1.55;padding:14px;margin-top:12px;}
.deploy-save-result .notice.success b{font-size:1.02rem;}
.deploy-readiness-row.warn strong,.deploy-readiness-row.fail strong{font-weight:850;}
#deployActionResult .deploy-readiness-group{margin-top:12px;}

/* 7.4.6 One-click compact deploy center */
body.deploy-compact-body {
  background:
    radial-gradient(circle at 12% 0%, rgba(255,184,107,.20), transparent 34%),
    radial-gradient(circle at 92% 12%, rgba(91,141,239,.14), transparent 30%),
    linear-gradient(135deg, #090b10 0%, #10121a 42%, #08090d 100%);
}
.deploy-compact-shell.wide {
  max-width: min(1480px, 100vw);
}
.deploy-compact-main {
  padding: clamp(10px, 1.2vw, 16px);
  gap: 12px;
}
.deploy-command-panel {
  padding: 14px 16px;
}
.deploy-command-title {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(360px, 560px);
  gap: 14px;
  align-items: center;
}
.deploy-command-title h1 {
  margin: 2px 0 4px;
  font-size: clamp(22px, 2.2vw, 34px);
  letter-spacing: -.04em;
}
.deploy-command-title p {
  margin: 0;
  max-width: 860px;
  color: var(--muted, #9ca3af);
  line-height: 1.55;
}
.deploy-command-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.deploy-big-action {
  grid-column: span 2;
  min-height: 52px;
  font-size: 17px;
  font-weight: 900;
}
.deploy-summary-strip,
.deploy-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.deploy-one-screen-grid {
  display: grid;
  grid-template-columns: minmax(360px, .95fr) minmax(320px, .75fr) minmax(360px, 1fr);
  grid-template-areas:
    "settings status checks"
    "settings log log"
    "advanced advanced advanced";
  gap: 12px;
  align-items: start;
}
.deploy-control-card { grid-area: settings; }
.deploy-status-card { grid-area: status; }
.deploy-checks-card { grid-area: checks; }
.deploy-log-card { grid-area: log; }
.deploy-advanced-card { grid-area: advanced; }
.deploy-control-card,
.deploy-status-card,
.deploy-checks-card,
.deploy-log-card,
.deploy-advanced-card {
  padding: 13px;
  border-radius: 22px;
}
.section-title.compact {
  margin-bottom: 8px;
}
.section-title.compact h2 {
  font-size: 18px;
}
.deploy-compact-fields {
  display: grid;
  gap: 9px;
}
.deploy-compact-fields.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.deploy-compact-fields .field.full {
  grid-column: 1 / -1;
}
.deploy-compact-fields .field,
.deploy-control-card .field {
  gap: 5px;
}
.deploy-compact-fields input,
.deploy-compact-fields select,
.deploy-compact-fields textarea,
.deploy-control-card input,
.deploy-control-card select,
.deploy-control-card textarea {
  min-height: 42px;
}
.deploy-compact-details {
  margin: 10px 0;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 8px 10px;
  background: rgba(255,255,255,.035);
}
.deploy-compact-details summary {
  cursor: pointer;
  font-weight: 800;
}
.deploy-compact-details[open] summary {
  margin-bottom: 8px;
}
.deploy-compact-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
  margin-top: 8px;
  font-size: 13px;
}
.deploy-compact-checks label {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 8px;
  border-radius: 12px;
  background: rgba(255,255,255,.045);
}
.deploy-compact-echo,
.deploy-compact-result {
  margin-top: 8px;
}
.deploy-status-card .deploy-log.mini {
  max-height: 150px;
  min-height: 120px;
  font-size: 12px;
}
.deploy-tabs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.deploy-tabs-grid h3 {
  margin: 0 0 6px;
  font-size: 14px;
}
.deploy-mini-panel {
  max-height: 210px;
  overflow: auto;
  border-radius: 14px;
}
.deploy-mini-panel .deploy-readiness-group {
  margin: 0 0 8px;
}
.deploy-mini-panel .deploy-readiness-row {
  grid-template-columns: 24px minmax(100px, .8fr) minmax(0, 1fr);
  padding: 7px;
}
.deploy-log-card .deploy-log {
  min-height: 250px;
  max-height: 44vh;
  overflow: auto;
}
.deploy-secondary-actions,
.deploy-actions.compact-only {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.deploy-advanced-card summary {
  cursor: pointer;
  font-weight: 900;
}
.deploy-save-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
}
.deploy-button-help,
.deploy-stepper,
.deploy-help-box,
.deploy-form-grid {
  display: none !important;
}
@media (max-width: 1180px) {
  .deploy-command-title,
  .deploy-one-screen-grid {
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
  .deploy-control-card,
  .deploy-status-card,
  .deploy-checks-card,
  .deploy-log-card,
  .deploy-advanced-card { grid-area: auto; }
  .deploy-summary-strip,
  .deploy-status-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .deploy-compact-main { padding: 10px; }
  .deploy-command-actions,
  .deploy-compact-fields.two,
  .deploy-tabs-grid,
  .deploy-save-status-grid,
  .deploy-compact-checks,
  .deploy-summary-strip,
  .deploy-status-grid { grid-template-columns: 1fr; }
  .deploy-big-action { grid-column: auto; }
}


/* 7.4.7 Deploy Console Redesign — corrected matching selectors, dense dashboard */
* { box-sizing: border-box; }
body.deploy-v747-body{
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 4% -10%, rgba(250,184,91,.20), transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(99,155,255,.16), transparent 26%),
    linear-gradient(135deg,#070910 0%,#10131d 48%,#07080d 100%) !important;
}
body.deploy-v747-body .phone.wide.deploy-v747-shell{
  width:100%;
  max-width:none;
  min-height:100vh;
  margin:0;
  padding:0;
  border-radius:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
.deploy-v747-topbar.topbar{
  position:relative!important;
  top:auto!important;
  margin:8px 10px 0;
  min-height:42px;
  padding:7px 10px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045));
  box-shadow:0 12px 30px rgba(0,0,0,.20);
  backdrop-filter: blur(18px);
  z-index:3;
}
.deploy-v747-topbar .title{font-size:15px;font-weight:950;letter-spacing:-.02em;color:#fff;}
.deploy-v747-main.main{
  height:calc(100vh - 52px);
  min-height:0;
  padding:8px 10px 10px;
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:hidden;
}
.deploy-v747-header.card{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(390px,.9fr) minmax(360px,1fr);
  gap:8px;
  align-items:stretch;
  padding:10px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(251,246,239,.80));
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  min-height:86px;
}
.deploy-v747-brand{min-width:0;align-self:center;}
.deploy-v747-brand .eyebrow{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9a5a15;font-weight:950;margin-bottom:2px;}
.deploy-v747-brand h1{margin:0;font-size:22px;line-height:1.05;letter-spacing:-.045em;color:#20160f;}
.deploy-v747-brand p{margin:4px 0 0;font-size:12px;line-height:1.28;color:#6d6258;max-width:60ch;}
.deploy-v747-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-content:center;}
.deploy-v747-actions .btn{min-height:34px;padding:7px 10px;font-size:12px;border-radius:12px;}
.deploy-v747-actions .deploy-v747-primary{grid-column:1/-1;min-height:42px;font-size:15px;font-weight:950;}
.deploy-v747-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;}
.deploy-v747-kpis .stat,.deploy-v747-bridge .stat{
  min-height:0!important;
  padding:8px 9px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.70)!important;
  border:1px solid rgba(54,42,30,.08)!important;
  box-shadow:none!important;
}
.deploy-v747-kpis .stat b,.deploy-v747-bridge .stat b{font-size:11px!important;color:#7b6350!important;}
.deploy-v747-kpis .stat strong,.deploy-v747-bridge .stat strong{font-size:14px!important;line-height:1.15!important;color:#21160f!important;}
.deploy-v747-kpis .stat span,.deploy-v747-bridge .stat span{font-size:10.5px!important;line-height:1.2!important;white-space:normal!important;}
.deploy-v747-bridge{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  min-height:0;
}
.deploy-v747-bridge .notice{margin:0;padding:8px 10px;border-radius:12px;font-size:12px;}
.deploy-v747-grid{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(330px,420px) minmax(330px,.86fr) minmax(390px,1.04fr);
  grid-template-rows:minmax(0,1fr) minmax(170px,.45fr);
  grid-template-areas:
    "settings status checks"
    "settings log advanced";
  gap:8px;
  align-items:stretch;
}
.deploy-v747-card.card{
  min-width:0;
  min-height:0;
  overflow:hidden;
  padding:10px;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(251,246,239,.86));
  border:1px solid rgba(42,31,21,.10);
  box-shadow:0 14px 32px rgba(0,0,0,.14);
}
.deploy-v747-settings-card{grid-area:settings;overflow:auto;}
.deploy-v747-status-card{grid-area:status;display:flex;flex-direction:column;gap:7px;}
.deploy-v747-checks-card{grid-area:checks;overflow:hidden;display:flex;flex-direction:column;}
.deploy-v747-log-card{grid-area:log;display:flex;flex-direction:column;}
.deploy-v747-advanced-card{grid-area:advanced;overflow:auto;}
.deploy-v747-cardhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;}
.deploy-v747-cardhead h2{margin:0;font-size:15px;line-height:1.1;color:#22160f;letter-spacing:-.02em;}
.deploy-v747-cardhead span{font-size:11px;color:#827060;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.deploy-v747-fieldrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:7px;}
.deploy-v747-fieldrow .field.full{grid-column:1/-1;}
.deploy-v747-fieldrow .field{display:grid;gap:3px;margin:0;min-width:0;}
.deploy-v747-fieldrow .field span{font-size:11px;font-weight:900;color:#594538;}
.deploy-v747-fieldrow input,.deploy-v747-fieldrow select,.deploy-v747-fieldrow textarea{
  width:100%;
  min-height:34px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.2!important;
  background:#fff!important;
  border:1px solid rgba(47,32,21,.16)!important;
  box-shadow:none!important;
}
.deploy-v747-fieldrow textarea{min-height:56px!important;resize:vertical;}
.deploy-v747-hint{font-size:12px;color:#6b5e52;margin:5px 0 0;padding:7px 8px;border-radius:10px;background:rgba(126,80,46,.07);}
.deploy-v747-advanced-fields{margin-top:8px;border:1px dashed rgba(126,80,46,.22);border-radius:12px;background:rgba(255,255,255,.58);padding:7px 8px;}
.deploy-v747-advanced-fields summary{cursor:pointer;font-size:13px;font-weight:950;color:#3b281b;}
.deploy-v747-advanced-fields[open] summary{margin-bottom:7px;}
.deploy-v747-switches{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.deploy-v747-switches label{display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:rgba(18,24,38,.055);border:1px solid rgba(18,24,38,.07);font-size:11px;font-weight:850;color:#5c4b3d;}
.deploy-v747-result{min-height:0;}
.deploy-v747-result .notice,.deploy-v747-echo .notice{padding:8px 9px!important;border-radius:11px!important;font-size:12px!important;line-height:1.25!important;}
.deploy-v747-echo{max-height:155px;overflow:auto;border-radius:12px;}
.deploy-v747-actionlog.deploy-log.mini{flex:1 1 auto;min-height:80px!important;max-height:none!important;font-size:11px!important;line-height:1.45!important;padding:8px!important;overflow:auto!important;}
.deploy-v747-checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;overflow:auto;padding-right:2px;}
.deploy-v747-checkgrid h3{margin:0 0 4px;font-size:12px;color:#4a382a;}
.deploy-mini-panel{max-height:172px!important;overflow:auto;border-radius:12px!important;background:rgba(255,255,255,.56)!important;border:1px solid rgba(45,33,23,.06)!important;}
.deploy-mini-panel .notice{padding:8px!important;font-size:12px!important;border-radius:10px!important;}
.deploy-readiness-group{padding:7px!important;border-radius:11px!important;}
.deploy-readiness-group>b{font-size:11px!important;}
.deploy-readiness-row{grid-template-columns:22px minmax(76px,.75fr) minmax(0,1fr)!important;gap:5px!important;min-height:30px!important;padding:5px!important;border-radius:9px!important;}
.deploy-readiness-row span{width:22px!important;height:22px!important;font-size:11px!important;}
.deploy-readiness-row strong{font-size:12px!important;}
.deploy-readiness-row small{font-size:11px!important;line-height:1.22!important;}
.deploy-v747-log{flex:1 1 auto;min-height:0!important;max-height:none!important;font-size:11.5px!important;line-height:1.45!important;padding:9px!important;overflow:auto!important;border-radius:12px!important;background:#0b0f17!important;color:#d7e2f0!important;}
.deploy-v747-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;}
.deploy-v747-tools .btn{min-height:31px;padding:6px 9px;font-size:12px;border-radius:10px;}
.deploy-v747-advanced-card summary{cursor:pointer;font-size:13px;font-weight:950;color:#2d1f16;}
.deploy-v747-advanced-card[open] summary{margin-bottom:7px;}
.deploy-save-status-grid{grid-template-columns:1fr!important;gap:5px!important;margin-top:5px!important;}
.deploy-button-help,.deploy-stepper,.deploy-help-box,.deploy-form-grid,.deploy-command-panel,.deploy-one-screen-grid,.deploy-tabs-grid{display:none!important;}
body.deploy-v747-body .dropdown{z-index:50;}
@media (max-width:1280px){
  .deploy-v747-header{grid-template-columns:1fr 1fr;}
  .deploy-v747-kpis{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));}
  .deploy-v747-bridge{grid-template-columns:repeat(2,minmax(0,1fr));}
  .deploy-v747-grid{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);grid-template-areas:"settings status" "settings checks" "log checks" "advanced advanced";grid-template-rows:auto minmax(0,1fr) minmax(210px,.48fr) auto;}
}
@media (max-width:820px){
  body.deploy-v747-body{overflow:auto;}
  .deploy-v747-main.main{height:auto;overflow:visible;padding:8px;}
  .deploy-v747-header{grid-template-columns:1fr;}
  .deploy-v747-actions,.deploy-v747-fieldrow,.deploy-v747-checkgrid,.deploy-v747-kpis,.deploy-v747-bridge{grid-template-columns:1fr;}
  .deploy-v747-grid{display:block;}
  .deploy-v747-card{margin-bottom:8px;}
  .deploy-v747-actionlog.deploy-log.mini{max-height:180px!important;}
  .deploy-v747-log{min-height:260px!important;}
}

/* 7.4.7 Deploy Console Redesign: dense single-screen command center */
body.deploy-console-body {
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% -10%, rgba(251, 191, 36, .22), transparent 34%),
    radial-gradient(circle at 88% 4%, rgba(59, 130, 246, .18), transparent 30%),
    linear-gradient(135deg, #06080d 0%, #0c1018 48%, #06070b 100%);
}
.deploy-console-shell.wide {
  width: 100%;
  max-width: min(1600px, 100vw);
  height: 100vh;
  min-height: 100vh;
  border-radius: 0;
  overflow: hidden;
}
.deploy-console-topbar {
  min-height: 46px;
  padding: 7px 14px;
  margin: 0;
  border-radius: 0 0 16px 16px;
}
.deploy-console-main {
  height: calc(100vh - 46px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  padding: 8px 10px 10px;
  overflow: hidden;
}
.deploy-console-head {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(290px, .92fr) minmax(430px, 1.08fr) minmax(0, .25fr);
  gap: 10px;
  align-items: stretch;
  padding: 10px 12px;
  margin: 0;
  border-radius: 18px;
}
.deploy-head-copy { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.deploy-head-copy h1 { margin: 1px 0 2px; font-size: clamp(20px, 1.6vw, 28px); line-height: 1.05; letter-spacing: -.04em; }
.deploy-head-copy p { margin: 0; color: var(--muted, #9ca3af); font-size: 12.5px; line-height: 1.35; max-width: 760px; }
.deploy-head-actions { display: grid; grid-template-columns: 1.35fr .95fr .68fr .48fr; gap: 7px; align-items: stretch; }
.deploy-head-actions .btn { min-height: 39px; padding: 8px 10px; border-radius: 13px; white-space: nowrap; font-size: 13px; }
.deploy-primary-action { font-weight: 950; font-size: 15px !important; }
.deploy-console-grid {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(370px, .95fr) minmax(300px, .66fr) minmax(410px, 1.02fr);
  grid-template-rows: minmax(190px, .52fr) minmax(220px, .63fr) auto;
  grid-template-areas:
    "settings options status"
    "settings live checks"
    "log log checks"
    "advanced advanced advanced";
  gap: 8px;
  align-items: stretch;
  overflow: hidden;
}
.deploy-console-card { min-height: 0; padding: 10px; margin: 0; border-radius: 17px; overflow: hidden; }
.deploy-console-settings { grid-area: settings; overflow: auto; }
.deploy-console-options { grid-area: options; overflow: auto; }
.deploy-console-status { grid-area: status; overflow: auto; }
.deploy-console-checks { grid-area: checks; display: flex; flex-direction: column; overflow: hidden; }
.deploy-console-live { grid-area: live; display: flex; flex-direction: column; overflow: hidden; }
.deploy-console-log { grid-area: log; display: flex; flex-direction: column; overflow: hidden; }
.deploy-console-advanced { grid-area: advanced; max-height: 62px; overflow: auto; }
.deploy-console-advanced[open] { max-height: 148px; }
.deploy-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.deploy-card-head h2 { margin: 0; font-size: 16px; line-height: 1.1; letter-spacing: -.02em; }
.deploy-card-head span { color: var(--muted, #9ca3af); font-size: 11.5px; white-space: nowrap; }
.deploy-field-grid { display: grid; gap: 7px; }
.deploy-field-grid.tight-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.deploy-field-grid .field.full { grid-column: 1 / -1; }
.deploy-field-grid .field { gap: 3px; margin: 0; }
.deploy-field-grid .field > span { font-size: 11px; font-weight: 850; color: rgba(255,255,255,.72); }
.deploy-field-grid input,
.deploy-field-grid select,
.deploy-field-grid textarea { min-height: 34px; padding: 7px 9px; border-radius: 11px; font-size: 13px; }
.deploy-field-grid textarea { min-height: 64px; }
.deploy-hint { margin: 7px 0; padding: 7px 9px; border-radius: 11px; background: rgba(255,255,255,.045); color: var(--muted, #9ca3af); font-size: 12px; line-height: 1.3; }
.deploy-inline-details { margin: 7px 0; padding: 7px 9px; border-radius: 13px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.035); }
.deploy-inline-details summary,
.deploy-console-advanced summary { cursor: pointer; font-weight: 900; font-size: 13px; }
.deploy-inline-details[open] summary { margin-bottom: 7px; }
.deploy-switch-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.deploy-switch-board label { display: flex; align-items: center; gap: 5px; min-width: 0; padding: 6px 7px; border-radius: 10px; background: rgba(255,255,255,.045); color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.15; }
.deploy-switch-board .production-confirm { grid-column: 1 / -1; background: rgba(239, 68, 68, .12); border: 1px solid rgba(239, 68, 68, .24); }
.deploy-compact-strip { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; margin-bottom: 7px; }
.deploy-compact-strip .stat,
.deploy-compact-strip .notice { min-height: 58px; padding: 8px; border-radius: 13px; overflow: hidden; }
.deploy-action-result,
.deploy-compact-result,
.deploy-compact-echo { margin-top: 7px; }
.deploy-console-card .notice { padding: 8px 9px; border-radius: 12px; line-height: 1.32; }
.deploy-check-matrix { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; overflow: hidden; }
.deploy-check-matrix > div { min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
.deploy-check-matrix h3 { margin: 0 0 4px; font-size: 12px; color: rgba(255,255,255,.76); }
.deploy-check-matrix .deploy-mini-panel { flex: 1 1 auto; min-height: 0; max-height: none; overflow: auto; border-radius: 12px; }
.deploy-console-live .deploy-log.mini { flex: 1 1 auto; min-height: 0 !important; max-height: none !important; margin: 0; padding: 9px; font-size: 11px; line-height: 1.45; }
.deploy-console-log .deploy-log { flex: 1 1 auto; min-height: 0 !important; max-height: none !important; margin: 0; padding: 9px; font-size: 11px; line-height: 1.45; }
.deploy-console-tools,
.deploy-actions.compact-only { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.deploy-console-tools .btn,
.deploy-actions.compact-only .btn { min-height: 32px; padding: 7px 8px; border-radius: 10px; font-size: 12px; }
.deploy-console-card .deploy-readiness-group { margin: 0 0 6px; }
.deploy-console-card .deploy-readiness-row { grid-template-columns: 22px minmax(80px, .70fr) minmax(0, 1fr); gap: 6px; padding: 6px; border-radius: 10px; font-size: 11.5px; }
.deploy-console-card .deploy-readiness-row small { min-width: 0; overflow-wrap: anywhere; }
.deploy-console-body .dropdown { z-index: 70; }
.deploy-button-help, .deploy-stepper, .deploy-help-box, .deploy-form-grid { display: none !important; }
@media (max-width: 1280px) {
  body.deploy-console-body { overflow: auto; }
  .deploy-console-shell.wide { height: auto; min-height: 100vh; overflow: visible; }
  .deploy-console-main { height: auto; overflow: visible; }
  .deploy-console-head { grid-template-columns: 1fr; }
  .deploy-console-grid { grid-template-columns: 1fr; grid-template-rows: auto; grid-template-areas: none; overflow: visible; }
  .deploy-console-settings,.deploy-console-options,.deploy-console-status,.deploy-console-checks,.deploy-console-live,.deploy-console-log,.deploy-console-advanced { grid-area: auto; overflow: visible; }
  .deploy-check-matrix { min-height: 480px; }
}
@media (max-width: 760px) {
  .deploy-console-main { padding: 8px; }
  .deploy-head-actions,
  .deploy-field-grid.tight-two,
  .deploy-switch-board,
  .deploy-compact-strip,
  .deploy-check-matrix { grid-template-columns: 1fr; }
  .deploy-card-head { align-items: flex-start; flex-direction: column; }
}

/* 7.4.7 Deploy Console Corrected: compact selectors for actual deploy-console markup */
body.deploy-console-body{
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 5% -8%, rgba(250,184,91,.20), transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(99,155,255,.16), transparent 26%),
    linear-gradient(135deg,#070910 0%,#10131d 48%,#07080d 100%) !important;
}
body.deploy-console-body .phone.wide.deploy-console-shell{
  width:100%;max-width:none;min-height:100vh;margin:0;padding:0;border-radius:0;border:0;box-shadow:none;background:transparent;
}
.deploy-console-topbar.topbar{
  position:relative!important;top:auto!important;margin:8px 10px 0;min-height:42px;padding:7px 10px;border-radius:16px;
  border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045));box-shadow:0 12px 30px rgba(0,0,0,.20);z-index:3;
}
.deploy-console-topbar .title{font-size:15px;font-weight:950;letter-spacing:-.02em;color:#fff;}
.deploy-console-main.main{height:calc(100vh - 52px);min-height:0;padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px;overflow:hidden;}
.deploy-console-head.card{
  flex:0 0 auto;display:grid;grid-template-columns:minmax(280px,1fr) minmax(390px,.92fr) minmax(360px,1fr);gap:8px;align-items:stretch;
  padding:10px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(251,246,239,.80));box-shadow:0 14px 34px rgba(0,0,0,.16);min-height:82px;
}
.deploy-head-copy{min-width:0;align-self:center;}
.deploy-head-copy .eyebrow{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9a5a15;font-weight:950;margin-bottom:2px;}
.deploy-head-copy h1{margin:0;font-size:22px;line-height:1.05;letter-spacing:-.045em;color:#20160f;}
.deploy-head-copy p{margin:4px 0 0;font-size:12px;line-height:1.28;color:#6d6258;max-width:60ch;}
.deploy-head-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-content:center;}
.deploy-head-actions .btn{min-height:34px;padding:7px 10px;font-size:12px;border-radius:12px;}
.deploy-head-actions .deploy-primary-action{grid-column:1/-1;min-height:42px;font-size:15px;font-weight:950;}
.deploy-console-grid{
  flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(330px,420px) minmax(330px,.86fr) minmax(390px,1.04fr);
  grid-template-rows:minmax(0,1fr) minmax(170px,.45fr);grid-template-areas:"settings status checks" "settings log advanced";gap:8px;align-items:stretch;
}
.deploy-console-card.card{min-width:0;min-height:0;overflow:hidden;padding:10px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(251,246,239,.86));border:1px solid rgba(42,31,21,.10);box-shadow:0 14px 32px rgba(0,0,0,.14);}
.deploy-console-settings{grid-area:settings;overflow:auto;}
.deploy-console-status{grid-area:status;display:flex;flex-direction:column;gap:7px;}
.deploy-console-checks{grid-area:checks;overflow:hidden;display:flex;flex-direction:column;}
.deploy-console-live{display:none!important;}
.deploy-console-log{grid-area:log;display:flex;flex-direction:column;}
.deploy-console-options{display:none!important;}
.deploy-console-advanced{grid-area:advanced;overflow:auto;}
.deploy-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;}
.deploy-card-head h2{margin:0;font-size:15px;line-height:1.1;color:#22160f;letter-spacing:-.02em;}
.deploy-card-head span{font-size:11px;color:#827060;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.deploy-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:7px;}
.deploy-field-grid .field.full{grid-column:1/-1;}
.deploy-field-grid .field{display:grid;gap:3px;margin:0;min-width:0;}
.deploy-field-grid .field span{font-size:11px;font-weight:900;color:#594538;}
.deploy-field-grid input,.deploy-field-grid select,.deploy-field-grid textarea{width:100%;min-height:34px!important;padding:7px 9px!important;border-radius:10px!important;font-size:13px!important;line-height:1.2!important;background:#fff!important;border:1px solid rgba(47,32,21,.16)!important;box-shadow:none!important;}
.deploy-field-grid textarea{min-height:56px!important;resize:vertical;}
.deploy-hint{font-size:12px;color:#6b5e52;margin:5px 0 0;padding:7px 8px;border-radius:10px;background:rgba(126,80,46,.07);}
.deploy-inline-details{margin-top:8px;border:1px dashed rgba(126,80,46,.22);border-radius:12px;background:rgba(255,255,255,.58);padding:7px 8px;}
.deploy-inline-details summary{cursor:pointer;font-size:13px;font-weight:950;color:#3b281b;}
.deploy-inline-details[open] summary{margin-bottom:7px;}
.deploy-switch-board{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.deploy-switch-board label{display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:rgba(18,24,38,.055);border:1px solid rgba(18,24,38,.07);font-size:11px;font-weight:850;color:#5c4b3d;}
.deploy-action-result .notice,.deploy-compact-result .notice,.deploy-compact-echo .notice{padding:8px 9px!important;border-radius:11px!important;font-size:12px!important;line-height:1.25!important;}
.deploy-compact-echo{display:none!important;}
.deploy-compact-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;}
.deploy-compact-strip .stat,.deploy-compact-strip .notice{min-height:0!important;padding:8px 9px!important;border-radius:12px!important;background:rgba(255,255,255,.70)!important;border:1px solid rgba(54,42,30,.08)!important;box-shadow:none!important;}
.deploy-compact-strip .stat b{font-size:11px!important;color:#7b6350!important;}.deploy-compact-strip .stat strong{font-size:14px!important;line-height:1.15!important;color:#21160f!important;}.deploy-compact-strip .stat span{font-size:10.5px!important;line-height:1.2!important;white-space:normal!important;}
.deploy-check-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;overflow:auto;padding-right:2px;}
.deploy-check-matrix h3{margin:0 0 4px;font-size:12px;color:#4a382a;}
.deploy-mini-panel{max-height:172px!important;overflow:auto;border-radius:12px!important;background:rgba(255,255,255,.56)!important;border:1px solid rgba(45,33,23,.06)!important;}
.deploy-mini-panel .notice{padding:8px!important;font-size:12px!important;border-radius:10px!important;}
.deploy-readiness-group{padding:7px!important;border-radius:11px!important;}
.deploy-readiness-group>b{font-size:11px!important;}
.deploy-readiness-row{grid-template-columns:22px minmax(76px,.75fr) minmax(0,1fr)!important;gap:5px!important;min-height:30px!important;padding:5px!important;border-radius:9px!important;}
.deploy-readiness-row span{width:22px!important;height:22px!important;font-size:11px!important;}
.deploy-readiness-row strong{font-size:12px!important;}.deploy-readiness-row small{font-size:11px!important;line-height:1.22!important;}
.deploy-log{border-radius:12px!important;background:#0b0f17!important;color:#d7e2f0!important;border:1px solid rgba(255,255,255,.08)!important;}
.deploy-console-log .deploy-log{flex:1 1 auto;min-height:0!important;max-height:none!important;font-size:11.5px!important;line-height:1.45!important;padding:9px!important;overflow:auto!important;}
.deploy-console-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;}.deploy-console-tools .btn{min-height:31px;padding:6px 9px;font-size:12px;border-radius:10px;}
.deploy-console-advanced summary{cursor:pointer;font-size:13px;font-weight:950;color:#2d1f16;}.deploy-console-advanced[open] summary{margin-bottom:7px;}
.deploy-save-status-grid{grid-template-columns:1fr!important;gap:5px!important;margin-top:5px!important;}
.deploy-button-help,.deploy-stepper,.deploy-help-box,.deploy-form-grid,.deploy-command-panel,.deploy-one-screen-grid,.deploy-tabs-grid,.deploy-secondary-actions{display:none!important;}
body.deploy-console-body .dropdown{z-index:50;}
@media (max-width:1280px){
  .deploy-console-head{grid-template-columns:1fr 1fr;}.deploy-console-grid{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);grid-template-areas:"settings status" "settings checks" "log checks" "advanced advanced";grid-template-rows:auto minmax(0,1fr) minmax(210px,.48fr) auto;}
}
@media (max-width:820px){
  body.deploy-console-body{overflow:auto;}.deploy-console-main.main{height:auto;overflow:visible;padding:8px;}.deploy-console-head{grid-template-columns:1fr;}.deploy-head-actions,.deploy-field-grid,.deploy-check-matrix,.deploy-compact-strip{grid-template-columns:1fr;}.deploy-console-grid{display:block;}.deploy-console-card{margin-bottom:8px;}.deploy-console-log .deploy-log{min-height:260px!important;}
}

/* 7.4.7 Deploy Console Redesign — final matching selectors */
body.deploy-console-body{
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 4% -12%, rgba(250,184,91,.20), transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(91,146,255,.16), transparent 26%),
    linear-gradient(135deg,#070910 0%,#10131d 48%,#07080d 100%) !important;
}
body.deploy-console-body .phone.wide.deploy-console-shell{
  width:100%;max-width:none;min-height:100vh;margin:0;padding:0;border-radius:0;border:0;box-shadow:none;background:transparent;
}
.deploy-console-topbar.topbar{position:relative!important;top:auto!important;margin:8px 10px 0;min-height:42px;padding:7px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045));box-shadow:0 12px 30px rgba(0,0,0,.20);backdrop-filter:blur(18px);z-index:3;}
.deploy-console-topbar .title{font-size:15px;font-weight:950;letter-spacing:-.02em;color:#fff;}
.deploy-console-main.main{height:calc(100vh - 52px);min-height:0;padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px;overflow:hidden;}
.deploy-console-head.card{flex:0 0 auto;display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,.92fr) auto;gap:9px;align-items:stretch;padding:10px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(251,246,239,.82));box-shadow:0 14px 34px rgba(0,0,0,.16);min-height:78px;}
.deploy-head-copy{min-width:0;align-self:center;}
.deploy-head-copy .eyebrow{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9a5a15;font-weight:950;margin-bottom:2px;}
.deploy-head-copy h1{margin:0;font-size:22px;line-height:1.05;letter-spacing:-.045em;color:#20160f;}
.deploy-head-copy p{margin:4px 0 0;font-size:12px;line-height:1.28;color:#6d6258;max-width:68ch;}
.deploy-head-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-content:center;}
.deploy-head-actions .btn{min-height:34px;padding:7px 10px;font-size:12px;border-radius:12px;}
.deploy-head-actions .deploy-primary-action{grid-column:1/-1;min-height:42px;font-size:15px;font-weight:950;}
.deploy-console-head #deployLocalOnlyWarning{align-self:center;margin:0;max-width:360px;}
.deploy-console-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(350px,420px) minmax(300px,.72fr) minmax(410px,1.05fr);grid-template-rows:minmax(0,.98fr) minmax(162px,.42fr);grid-template-areas:"settings status checks" "options live log" "advanced advanced log";gap:8px;align-items:stretch;}
.deploy-console-card.card{min-width:0;min-height:0;overflow:hidden;padding:10px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(251,246,239,.86));border:1px solid rgba(42,31,21,.10);box-shadow:0 14px 32px rgba(0,0,0,.14);}
.deploy-console-settings{grid-area:settings;overflow:auto;}
.deploy-console-options{grid-area:options;overflow:auto;}
.deploy-console-status{grid-area:status;overflow:auto;}
.deploy-console-checks{grid-area:checks;overflow:hidden;display:flex;flex-direction:column;}
.deploy-console-live{grid-area:live;display:flex;flex-direction:column;}
.deploy-console-log{grid-area:log;display:flex;flex-direction:column;}
.deploy-console-advanced{grid-area:advanced;overflow:auto;}
.deploy-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;}
.deploy-card-head h2{margin:0;font-size:15px;line-height:1.1;color:#22160f;letter-spacing:-.02em;}
.deploy-card-head span{font-size:11px;color:#827060;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.deploy-field-grid.tight-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:7px;}
.deploy-field-grid .field.full{grid-column:1/-1;}
.deploy-field-grid .field{display:grid;gap:3px;margin:0;min-width:0;}
.deploy-field-grid .field span{font-size:11px;font-weight:900;color:#594538;}
.deploy-field-grid input,.deploy-field-grid select,.deploy-field-grid textarea{width:100%;min-height:34px!important;padding:7px 9px!important;border-radius:10px!important;font-size:13px!important;line-height:1.2!important;background:#fff!important;border:1px solid rgba(47,32,21,.16)!important;box-shadow:none!important;}
.deploy-field-grid textarea{min-height:52px!important;resize:vertical;}
.deploy-hint{font-size:12px;color:#6b5e52;margin:5px 0 0;padding:7px 8px;border-radius:10px;background:rgba(126,80,46,.07);}
.deploy-inline-details{margin-top:8px;border:1px dashed rgba(126,80,46,.22);border-radius:12px;background:rgba(255,255,255,.58);padding:7px 8px;}
.deploy-inline-details summary{cursor:pointer;font-size:13px;font-weight:950;color:#3b281b;}
.deploy-inline-details[open] summary{margin-bottom:7px;}
.deploy-switch-board{display:flex;flex-wrap:wrap;gap:5px;}
.deploy-switch-board label{display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:rgba(18,24,38,.055);border:1px solid rgba(18,24,38,.07);font-size:11px;font-weight:850;color:#5c4b3d;}
.deploy-switch-board .production-confirm{background:rgba(194,65,12,.08);border-color:rgba(194,65,12,.18);}
.deploy-compact-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:7px;}
.deploy-compact-strip .stat,.deploy-compact-strip .notice{min-height:0!important;padding:8px 9px!important;border-radius:12px!important;background:rgba(255,255,255,.70)!important;border:1px solid rgba(54,42,30,.08)!important;box-shadow:none!important;font-size:12px!important;}
.deploy-compact-strip .stat b{font-size:11px!important;color:#7b6350!important;}
.deploy-compact-strip .stat strong{font-size:14px!important;line-height:1.15!important;color:#21160f!important;}
.deploy-compact-strip .stat span{font-size:10.5px!important;line-height:1.2!important;white-space:normal!important;}
.deploy-action-result .notice,.deploy-compact-result .notice,.deploy-compact-echo .notice{padding:8px 9px!important;border-radius:11px!important;font-size:12px!important;line-height:1.25!important;}
.deploy-compact-echo{max-height:105px;overflow:auto;margin-top:7px;}
.deploy-compact-result{margin-top:7px;}
.deploy-console-live .deploy-log.mini{flex:1 1 auto;min-height:0!important;max-height:none!important;font-size:11px!important;line-height:1.45!important;padding:8px!important;overflow:auto!important;}
.deploy-check-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;overflow:auto;padding-right:2px;}
.deploy-check-matrix h3{margin:0 0 4px;font-size:12px;color:#4a382a;}
.deploy-mini-panel{max-height:160px!important;overflow:auto;border-radius:12px!important;background:rgba(255,255,255,.56)!important;border:1px solid rgba(45,33,23,.06)!important;}
.deploy-mini-panel .notice{padding:8px!important;font-size:12px!important;border-radius:10px!important;}
.deploy-readiness-group{padding:7px!important;border-radius:11px!important;}
.deploy-readiness-group>b{font-size:11px!important;}
.deploy-readiness-row{grid-template-columns:22px minmax(76px,.75fr) minmax(0,1fr)!important;gap:5px!important;min-height:30px!important;padding:5px!important;border-radius:9px!important;}
.deploy-readiness-row span{width:22px!important;height:22px!important;font-size:11px!important;}
.deploy-readiness-row strong{font-size:12px!important;}
.deploy-readiness-row small{font-size:11px!important;line-height:1.22!important;}
.deploy-console-log .deploy-log{flex:1 1 auto;min-height:0!important;max-height:none!important;font-size:11.5px!important;line-height:1.45!important;padding:9px!important;overflow:auto!important;border-radius:12px!important;background:#0b0f17!important;color:#d7e2f0!important;border:1px solid rgba(255,255,255,.08)!important;}
.deploy-console-tools,.deploy-actions.compact-only{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;}
.deploy-console-tools .btn,.deploy-actions.compact-only .btn{min-height:31px;padding:6px 9px;font-size:12px;border-radius:10px;}
.deploy-console-advanced summary{cursor:pointer;font-size:13px;font-weight:950;color:#2d1f16;}
.deploy-console-advanced[open] summary{margin-bottom:7px;}
.deploy-save-status-grid{grid-template-columns:1fr!important;gap:5px!important;margin-top:5px!important;}
.deploy-button-help,.deploy-stepper,.deploy-help-box,.deploy-form-grid,.deploy-command-panel,.deploy-one-screen-grid,.deploy-tabs-grid{display:none!important;}
body.deploy-console-body .dropdown{z-index:50;}
@media (max-width:1280px){.deploy-console-head{grid-template-columns:1fr 1fr;}.deploy-console-head #deployLocalOnlyWarning{grid-column:1/-1;max-width:none;}.deploy-console-grid{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);grid-template-areas:"settings status" "settings checks" "options checks" "live log" "advanced advanced";grid-template-rows:auto minmax(0,1fr) auto minmax(200px,.45fr) auto;}}
@media (max-width:820px){body.deploy-console-body{overflow:auto;}.deploy-console-main.main{height:auto;overflow:visible;padding:8px;}.deploy-console-head{grid-template-columns:1fr;}.deploy-head-actions,.deploy-field-grid.tight-two,.deploy-check-matrix,.deploy-compact-strip{grid-template-columns:1fr;}.deploy-console-grid{display:block;}.deploy-console-card{margin-bottom:8px;}.deploy-console-live .deploy-log.mini{max-height:180px!important;}.deploy-console-log .deploy-log{min-height:260px!important;}.deploy-head-copy h1{font-size:20px;}}

/* 7.4.8 Commercial Deploy Console — product-grade executive dashboard */
body.deploy-commercial-body {
  --dc-bg: #070911;
  --dc-panel: rgba(17, 21, 31, .78);
  --dc-panel-2: rgba(255, 255, 255, .075);
  --dc-line: rgba(255,255,255,.105);
  --dc-line-strong: rgba(255,255,255,.18);
  --dc-text: #f8efe4;
  --dc-soft: rgba(248,239,228,.70);
  --dc-muted: rgba(248,239,228,.54);
  --dc-gold: #f6b44b;
  --dc-gold-2: #ffd384;
  --dc-green: #48d597;
  --dc-red: #ff6b70;
  --dc-blue: #8fb8ff;
  min-height: 100vh;
  overflow: hidden;
  color: var(--dc-text);
  background:
    radial-gradient(circle at 12% 4%, rgba(246, 180, 75, .22), transparent 28%),
    radial-gradient(circle at 86% 0%, rgba(70, 126, 255, .20), transparent 26%),
    radial-gradient(circle at 74% 78%, rgba(72, 213, 151, .10), transparent 30%),
    linear-gradient(145deg, #060812 0%, #0c1019 44%, #07080d 100%) !important;
}
body.deploy-commercial-body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(circle at 50% 0%, black, transparent 78%);
  opacity: .58;
}
body.deploy-commercial-body .phone.wide.deploy-commercial-shell {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  overflow: hidden;
}
body.deploy-commercial-body .topbar.deploy-commercial-topbar {
  position: relative !important;
  top: auto !important;
  z-index: 20;
  min-height: 54px;
  margin: 10px 14px 0;
  padding: 8px 12px;
  border-radius: 18px;
  border: 1px solid var(--dc-line);
  background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.045));
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
  backdrop-filter: blur(22px);
}
.deploy-commercial-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--dc-text);
}
.deploy-logo-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: #1a1008;
  font-weight: 1000;
  background: linear-gradient(135deg, var(--dc-gold-2), var(--dc-gold));
  box-shadow: 0 10px 22px rgba(246,180,75,.28), inset 0 1px 0 rgba(255,255,255,.44);
}
.deploy-commercial-logo b { display:block; font-size: 15px; letter-spacing: -.015em; color: var(--dc-text); }
.deploy-commercial-logo small { display:block; margin-top: 1px; color: var(--dc-muted); font-size: 11px; }
.deploy-commercial-topstatus {
  margin-left: auto;
  display: flex;
  gap: 7px;
  align-items: center;
}
.deploy-commercial-topstatus span {
  padding: 6px 9px;
  border-radius: 999px;
  border: 1px solid var(--dc-line);
  color: var(--dc-soft);
  background: rgba(255,255,255,.045);
  font-size: 11px;
  font-weight: 850;
}
body.deploy-commercial-body .deploy-commercial-main.main {
  height: calc(100vh - 64px);
  min-height: 0;
  padding: 10px 14px 14px;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 10px;
  overflow: hidden;
}
.deploy-commercial-hero {
  display: grid;
  grid-template-columns: minmax(380px, .96fr) minmax(430px, .90fr) minmax(360px, 1.04fr);
  gap: 10px;
  align-items: stretch;
  min-height: 118px;
  border: 1px solid var(--dc-line);
  border-radius: 24px;
  padding: 12px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.125), rgba(255,255,255,.055)),
    radial-gradient(circle at 4% 0%, rgba(246,180,75,.18), transparent 40%);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
  backdrop-filter: blur(24px);
}
.deploy-hero-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2px 6px 2px 2px;
}
.deploy-eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 6px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #221409;
  background: linear-gradient(135deg, var(--dc-gold-2), var(--dc-gold));
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: .13em;
}
.deploy-hero-copy h1 {
  margin: 0;
  max-width: 780px;
  color: var(--dc-text);
  font-size: clamp(24px, 2.1vw, 38px);
  line-height: .98;
  letter-spacing: -.065em;
}
.deploy-hero-copy p {
  margin: 8px 0 0;
  max-width: 760px;
  color: var(--dc-soft);
  font-size: 13px;
  line-height: 1.45;
}
.deploy-hero-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-content: stretch;
}
.deploy-hero-actions .btn {
  min-height: 40px;
  border-radius: 15px;
  font-weight: 950;
  white-space: nowrap;
  box-shadow: none;
}
.deploy-hero-actions .deploy-primary-action {
  grid-column: 1 / -1;
  min-height: 58px;
  font-size: 17px !important;
  color: #1a1008;
  background: linear-gradient(135deg, var(--dc-gold-2), var(--dc-gold)) !important;
  border: 0 !important;
  box-shadow: 0 18px 42px rgba(246,180,75,.25), inset 0 1px 0 rgba(255,255,255,.52) !important;
}
.deploy-hero-actions .deploy-secondary-action,
.deploy-hero-actions .deploy-stop-action {
  background: rgba(255,255,255,.075) !important;
  border: 1px solid var(--dc-line) !important;
  color: var(--dc-text) !important;
}
.deploy-hero-actions .deploy-stop-action { color: #ffd1d4 !important; background: rgba(255,107,112,.10) !important; }
.deploy-commercial-status-strip {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.deploy-commercial-status-strip .stat,
.deploy-commercial-status-strip .notice {
  min-width: 0;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 10px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(255,255,255,.07) !important;
  color: var(--dc-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.deploy-commercial-status-strip .stat b { color: var(--dc-muted) !important; font-size: 11px !important; }
.deploy-commercial-status-strip .stat strong { color: var(--dc-text) !important; font-size: 17px !important; line-height: 1.15 !important; }
.deploy-commercial-status-strip .stat span { color: var(--dc-soft) !important; font-size: 11px !important; line-height: 1.3 !important; overflow-wrap: anywhere; }
.deploy-commercial-grid {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(360px, 430px) minmax(300px, .64fr) minmax(430px, 1.04fr);
  grid-template-rows: minmax(0, 1fr) 176px auto;
  grid-template-areas:
    "config control checks"
    "config options log"
    "advanced advanced log";
  gap: 10px;
  overflow: hidden;
}
.deploy-commercial-panel.card {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 13px;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid var(--dc-line);
  color: var(--dc-text);
  background: linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.055));
  box-shadow: 0 20px 58px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.075);
  backdrop-filter: blur(18px);
}
.deploy-commercial-panel.card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 34%, rgba(246,180,75,.035));
}
.deploy-commercial-panel > * { position: relative; z-index: 1; }
.deploy-config-panel { grid-area: config; overflow: auto !important; }
.deploy-control-panel { grid-area: control; display:flex; flex-direction: column; gap: 8px; overflow: auto !important; }
.deploy-options-panel { grid-area: options; overflow: auto !important; }
.deploy-check-panel { grid-area: checks; display:flex; flex-direction:column; overflow:hidden !important; }
.deploy-log-panel { grid-area: log; display:flex; flex-direction:column; overflow:hidden !important; }
.deploy-advanced-panel { grid-area: advanced; overflow:auto !important; max-height: 64px; }
.deploy-advanced-panel[open] { max-height: 180px; }
.deploy-card-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.deploy-card-heading div { display:flex; align-items:center; gap:8px; min-width:0; }
.deploy-card-heading span {
  display:grid;
  place-items:center;
  width: 24px;
  height: 24px;
  border-radius: 9px;
  color: #1a1008;
  background: linear-gradient(135deg, var(--dc-gold-2), var(--dc-gold));
  font-size: 11px;
  font-weight: 1000;
}
.deploy-card-heading h2 {
  margin:0;
  color: var(--dc-text);
  font-size: 17px;
  line-height: 1;
  letter-spacing: -.035em;
}
.deploy-card-heading small { color: var(--dc-muted); font-size: 11.5px; white-space: nowrap; }
.deploy-field-grid {
  display: grid;
  gap: 8px;
  margin: 0;
}
.deploy-field-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.deploy-field-grid.compact { gap: 7px; }
.deploy-field-grid .field { display:grid; gap:4px; margin:0; min-width:0; }
.deploy-field-grid .field.full { grid-column: 1 / -1; }
.deploy-field-grid .field > span {
  color: var(--dc-soft) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}
body.deploy-commercial-body .deploy-field-grid input,
body.deploy-commercial-body .deploy-field-grid select,
body.deploy-commercial-body .deploy-field-grid textarea {
  width:100%;
  min-height: 38px !important;
  padding: 9px 10px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: var(--dc-text) !important;
  background: rgba(4,7,12,.46) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  font-size: 13px !important;
  outline: none;
}
body.deploy-commercial-body .deploy-field-grid select option { color:#10131d; background:#fff; }
body.deploy-commercial-body .deploy-field-grid textarea { min-height: 66px !important; resize: vertical; }
body.deploy-commercial-body .deploy-field-grid input:focus,
body.deploy-commercial-body .deploy-field-grid select:focus,
body.deploy-commercial-body .deploy-field-grid textarea:focus {
  border-color: rgba(246,180,75,.55) !important;
  box-shadow: 0 0 0 3px rgba(246,180,75,.13) !important;
}
.deploy-hint,
.deploy-form-echo,
.deploy-action-result .notice,
.deploy-save-result .notice,
body.deploy-commercial-body .notice {
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.06) !important;
  color: var(--dc-soft) !important;
}
.deploy-hint { margin: 8px 0 0; padding: 9px 10px; font-size: 12px; line-height: 1.38; }
.deploy-form-echo { margin-top: 8px; max-height: 136px; overflow:auto; }
.deploy-inline-details {
  margin-top: 10px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
}
.deploy-inline-details summary,
.deploy-advanced-panel summary {
  cursor:pointer;
  color: var(--dc-text);
  font-size: 13px;
  font-weight: 950;
}
.deploy-inline-details[open] summary { margin-bottom: 9px; }
.deploy-switch-board {
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 7px;
}
.deploy-switch-board label {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  min-height: 34px;
  padding: 8px 9px;
  border-radius: 13px;
  color: var(--dc-soft);
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 12px;
  font-weight: 800;
}
.deploy-switch-board label.production-confirm { grid-column: 1 / -1; color:#ffd9dc; background: rgba(255,107,112,.11); border-color: rgba(255,107,112,.24); }
.deploy-action-log.deploy-log.mini,
.deploy-main-log.deploy-log {
  margin: 0 !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: #090d15 !important;
  color: #d8e4f0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
  white-space: pre-wrap;
}
.deploy-action-log.deploy-log.mini {
  flex: 1 1 auto;
  min-height: 118px !important;
  max-height: none !important;
  padding: 10px !important;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  overflow: auto !important;
}
.deploy-main-log.deploy-log {
  flex: 1 1 auto;
  min-height: 0 !important;
  max-height: none !important;
  padding: 11px !important;
  font-size: 11.5px !important;
  line-height: 1.48 !important;
  overflow: auto !important;
}
.deploy-check-matrix {
  flex: 1 1 auto;
  min-height: 0;
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
  overflow:hidden;
}
.deploy-check-matrix > div { min-height:0; display:flex; flex-direction:column; }
.deploy-check-matrix h3 { margin:0 0 6px; color: var(--dc-soft); font-size: 12px; }
.deploy-mini-panel {
  flex:1 1 auto;
  min-height:0;
  max-height: none !important;
  overflow:auto;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(4,7,12,.30) !important;
}
.deploy-mini-panel .notice { padding: 9px !important; font-size: 12px !important; line-height: 1.35 !important; }
body.deploy-commercial-body .deploy-readiness-group {
  margin: 0 0 8px !important;
  padding: 8px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.065) !important;
}
body.deploy-commercial-body .deploy-readiness-group > b { display:block; margin-bottom:5px; color: var(--dc-text); font-size: 11px; }
body.deploy-commercial-body .deploy-readiness-row {
  display:grid !important;
  grid-template-columns: 24px minmax(86px,.68fr) minmax(0,1fr) !important;
  gap: 7px !important;
  align-items:center !important;
  min-height: 30px !important;
  margin: 4px 0 !important;
  padding: 6px !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.04) !important;
}
body.deploy-commercial-body .deploy-readiness-row span { width:24px !important; height:24px !important; border-radius:8px !important; display:grid !important; place-items:center !important; font-size:11px !important; }
body.deploy-commercial-body .deploy-readiness-row.ok span { background: rgba(72,213,151,.16); color: var(--dc-green); }
body.deploy-commercial-body .deploy-readiness-row.fail span { background: rgba(255,107,112,.16); color: var(--dc-red); }
body.deploy-commercial-body .deploy-readiness-row.warn span { background: rgba(246,180,75,.16); color: var(--dc-gold); }
body.deploy-commercial-body .deploy-readiness-row strong { color: var(--dc-text) !important; font-size: 12px !important; }
body.deploy-commercial-body .deploy-readiness-row small { min-width:0; color: var(--dc-muted) !important; font-size: 11px !important; line-height:1.25 !important; overflow-wrap:anywhere; }
.deploy-console-tools {
  display:flex;
  flex-wrap:wrap;
  gap: 7px;
  margin-top: 9px;
}
.deploy-console-tools .btn {
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 900;
}
body.deploy-commercial-body .btn {
  transition: transform .18s ease, filter .18s ease, border-color .18s ease;
}
body.deploy-commercial-body .btn:hover { transform: translateY(-1px); filter: brightness(1.04); }
body.deploy-commercial-body .dropdown { z-index: 80; }
body.deploy-commercial-body .deploy-button-help,
body.deploy-commercial-body .deploy-stepper,
body.deploy-commercial-body .deploy-help-box,
body.deploy-commercial-body .deploy-form-grid,
body.deploy-commercial-body .deploy-command-panel,
body.deploy-commercial-body .deploy-one-screen-grid,
body.deploy-commercial-body .deploy-tabs-grid,
body.deploy-commercial-body .deploy-secondary-actions {
  display: none !important;
}
@media (max-width: 1360px) {
  body.deploy-commercial-body { overflow: auto; }
  body.deploy-commercial-body .phone.wide.deploy-commercial-shell { overflow: visible; }
  body.deploy-commercial-body .deploy-commercial-main.main { height:auto; overflow: visible; }
  .deploy-commercial-hero { grid-template-columns: 1fr; }
  .deploy-commercial-status-strip { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .deploy-commercial-grid { grid-template-columns: minmax(340px,.92fr) minmax(380px,1.08fr); grid-template-rows:auto; grid-template-areas:"config control" "options checks" "log checks" "advanced advanced"; overflow: visible; }
  .deploy-check-panel { min-height: 520px; }
  .deploy-log-panel { min-height: 330px; }
}
@media (max-width: 860px) {
  body.deploy-commercial-body .topbar.deploy-commercial-topbar { margin: 8px; }
  .deploy-commercial-topstatus { display:none; }
  body.deploy-commercial-body .deploy-commercial-main.main { padding: 8px; }
  .deploy-commercial-status-strip,
  .deploy-hero-actions,
  .deploy-field-grid.two,
  .deploy-switch-board,
  .deploy-check-matrix { grid-template-columns: 1fr; }
  .deploy-commercial-grid { display:block; }
  .deploy-commercial-panel.card { margin-bottom: 10px; }
  .deploy-hero-copy h1 { font-size: 25px; }
  .deploy-check-panel, .deploy-log-panel { min-height: auto; }
  .deploy-main-log.deploy-log { min-height: 260px !important; }
}

/* 7.4.9 Market Deploy Studio — clean commercial SaaS console */
body.deploy-market-body {
  --mk-bg: #f7f2eb;
  --mk-bg-2: #efe6d9;
  --mk-card: rgba(255,255,255,.86);
  --mk-card-solid: #fffaf3;
  --mk-text: #221a14;
  --mk-muted: #776a5e;
  --mk-soft: #a39384;
  --mk-line: rgba(52, 38, 26, .12);
  --mk-line-2: rgba(52, 38, 26, .18);
  --mk-gold: #bc7a24;
  --mk-gold-2: #f0b156;
  --mk-ink: #161a22;
  --mk-green: #14865f;
  --mk-red: #bd303d;
  --mk-blue: #255ea8;
  margin: 0;
  min-height: 100vh;
  color: var(--mk-text);
  background:
    radial-gradient(circle at 12% 5%, rgba(240,177,86,.34), transparent 28%),
    radial-gradient(circle at 90% 2%, rgba(120,154,206,.24), transparent 24%),
    linear-gradient(140deg, var(--mk-bg) 0%, #fbf7f0 48%, var(--mk-bg-2) 100%) !important;
  overflow: auto;
}
body.deploy-market-body *, body.deploy-market-body *::before, body.deploy-market-body *::after { box-sizing: border-box; }
body.deploy-market-body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(35,24,16,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(35,24,16,.035) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: .58;
  mask-image: radial-gradient(circle at 50% 10%, black, transparent 72%);
}
.deploy-market-shell {
  position: relative;
  z-index: 1;
  width: min(1680px, calc(100vw - 28px));
  margin: 0 auto;
  padding: 14px 0 18px;
}
.market-hero {
  display: grid;
  grid-template-columns: minmax(300px, 360px) minmax(420px, 1fr) minmax(520px, 650px);
  gap: 12px;
  align-items: stretch;
  min-height: 96px;
  margin-bottom: 12px;
}
.market-brand, .market-status-strip, .market-actions, .market-card {
  border: 1px solid var(--mk-line);
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,250,243,.76));
  box-shadow: 0 18px 50px rgba(85, 58, 27, .12), inset 0 1px 0 rgba(255,255,255,.75);
  backdrop-filter: blur(18px);
}
.market-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border-radius: 24px;
}
.market-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  border-radius: 16px;
  color: #fff7ea;
  font-size: 22px;
  font-weight: 1000;
  background: linear-gradient(145deg, #24190f, #8a551d 62%, #e2a046);
  box-shadow: 0 14px 26px rgba(137,81,26,.20);
}
.market-brand strong { display: block; font-size: 18px; line-height: 1.05; letter-spacing: -.035em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.market-brand small { display: block; margin-top: 5px; color: var(--mk-muted); font-size: 12px; line-height: 1.25; }
.market-status-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border-radius: 24px;
  overflow: hidden;
}
.market-status-strip .stat, .market-status-strip .notice {
  min-width: 0;
  margin: 0 !important;
  padding: 10px 11px !important;
  border: 1px solid var(--mk-line) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.64) !important;
  color: var(--mk-text) !important;
  box-shadow: none !important;
}
.market-status-strip .stat b { display: block; color: var(--mk-muted) !important; font-size: 11px !important; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.market-status-strip .stat strong { display: block; margin-top: 5px; color: var(--mk-text) !important; font-size: 16px !important; line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.market-status-strip .stat span { display: block; margin-top: 5px; color: var(--mk-muted) !important; font-size: 11px !important; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-actions {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr .85fr 46px;
  gap: 8px;
  padding: 10px;
  border-radius: 24px;
}
.market-actions button,
.market-tools button,
.advanced-tools button,
body.deploy-market-body .btn {
  appearance: none;
  min-height: 42px;
  border: 1px solid var(--mk-line-2);
  border-radius: 16px;
  padding: 0 14px;
  color: var(--mk-text);
  background: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
  white-space: nowrap;
}
.market-actions button:hover, .market-tools button:hover, .advanced-tools button:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(77,51,26,.12); }
.market-primary, .market-tools .primary {
  border: 0 !important;
  color: #fff8ee !important;
  background: linear-gradient(135deg, #1f1710, #8f5b22 68%, #d99d45) !important;
  box-shadow: 0 16px 30px rgba(124,74,23,.22) !important;
}
.market-secondary { color: #2d2118 !important; background: rgba(255,255,255,.76) !important; }
.market-danger, .market-tools .danger { color: #8f1523 !important; background: rgba(189,48,61,.08) !important; border-color: rgba(189,48,61,.22) !important; }
.market-icon { padding: 0 !important; font-size: 18px !important; }
.market-grid {
  display: grid;
  grid-template-columns: minmax(340px, 390px) minmax(390px, 1fr) minmax(410px, .96fr);
  grid-template-areas:
    "settings command checks"
    "settings options checks"
    "log log checks"
    "advanced advanced advanced";
  gap: 12px;
  align-items: start;
}
.market-card {
  min-width: 0;
  border-radius: 24px;
  padding: 16px;
  overflow: hidden;
}
.market-settings { grid-area: settings; }
.market-command { grid-area: command; }
.market-checks { grid-area: checks; }
.market-options { grid-area: options; }
.market-log { grid-area: log; }
.market-advanced { grid-area: advanced; }
.market-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.market-card-head > div { display: flex; align-items: center; gap: 9px; min-width: 0; }
.market-card-head span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border-radius: 10px;
  color: #fff7ea;
  background: linear-gradient(135deg, #2a1d12, var(--mk-gold));
  font-size: 12px;
  font-weight: 1000;
}
.market-card-head h2 { margin: 0; color: var(--mk-text); font-size: 18px; line-height: 1; letter-spacing: -.035em; }
.market-card-head em { color: var(--mk-soft); font-size: 12px; font-style: normal; white-space: nowrap; }
.market-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.market-fields.compact { margin-top: 12px; }
.market-fields label { display: grid; gap: 6px; min-width: 0; margin: 0; }
.market-fields label.full { grid-column: 1 / -1; }
.market-fields label > span {
  color: var(--mk-muted);
  font-size: 12px;
  font-weight: 900;
}
body.deploy-market-body input,
body.deploy-market-body select,
body.deploy-market-body textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(52,38,26,.16);
  border-radius: 14px;
  padding: 10px 12px;
  color: var(--mk-text);
  background: rgba(255,255,255,.76);
  outline: none;
  font-size: 13px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
body.deploy-market-body textarea { min-height: 68px; resize: vertical; }
body.deploy-market-body input:focus,
body.deploy-market-body select:focus,
body.deploy-market-body textarea:focus {
  border-color: rgba(188,122,36,.55);
  box-shadow: 0 0 0 3px rgba(188,122,36,.14), inset 0 1px 0 rgba(255,255,255,.7);
}
.market-hint, .market-echo, body.deploy-market-body .notice {
  border: 1px solid var(--mk-line) !important;
  border-radius: 16px !important;
  color: var(--mk-muted) !important;
  background: rgba(255,255,255,.64) !important;
  box-shadow: none !important;
}
.market-hint { margin-top: 10px; padding: 10px 12px; font-size: 12px; line-height: 1.42; }
.market-echo { margin-top: 10px; max-height: 150px; overflow: auto; }
.market-details {
  margin-top: 12px;
  border: 1px solid var(--mk-line);
  border-radius: 18px;
  padding: 10px 12px;
  background: rgba(255,255,255,.46);
}
.market-details summary,
.market-advanced summary { cursor: pointer; font-weight: 950; color: var(--mk-text); }
.market-details[open] summary { margin-bottom: 10px; }
.market-result, .market-save { margin-bottom: 10px; }
.market-result .notice, .market-save .notice, .market-check-box .notice { padding: 11px 12px !important; font-size: 12px !important; line-height: 1.45 !important; }
.market-mini-log, .market-main-log {
  width: 100%;
  margin: 0;
  border: 1px solid rgba(52,38,26,.13);
  border-radius: 18px;
  background: #181511;
  color: #f6ecdf;
  white-space: pre-wrap;
  overflow: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.market-mini-log { height: 154px; padding: 12px; font-size: 11.5px; line-height: 1.5; }
.market-main-log { height: 330px; padding: 14px; font-size: 12px; line-height: 1.55; }
.market-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}
.market-check-grid article { min-width: 0; }
.market-check-grid h3 { margin: 0 0 7px; color: var(--mk-muted); font-size: 12px; font-weight: 1000; }
.market-check-box {
  height: 218px;
  overflow: auto;
  border: 1px solid var(--mk-line);
  border-radius: 18px;
  background: rgba(255,255,255,.52);
}
.market-switches {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 8px;
}
.market-switches label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid var(--mk-line);
  border-radius: 14px;
  color: var(--mk-muted);
  background: rgba(255,255,255,.54);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.market-switches label.danger { color: #8f1523; background: rgba(189,48,61,.07); border-color: rgba(189,48,61,.18); }
.market-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.market-tools button { min-height: 36px; font-size: 12px; padding: 0 12px; border-radius: 13px; background: rgba(255,255,255,.62); }
.market-advanced { padding: 12px 16px; }
.market-advanced[open] { padding-bottom: 16px; }
.advanced-tools { margin-top: 12px; }
body.deploy-market-body .deploy-readiness-group {
  margin: 0 0 8px !important;
  padding: 9px !important;
  border: 1px solid var(--mk-line) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.52) !important;
}
body.deploy-market-body .deploy-readiness-group > b { display: block; margin-bottom: 6px; color: var(--mk-text); font-size: 12px; }
body.deploy-market-body .deploy-readiness-row {
  display: grid !important;
  grid-template-columns: 24px minmax(90px,.62fr) minmax(0,1fr) !important;
  gap: 7px !important;
  align-items: center !important;
  margin: 5px 0 !important;
  padding: 7px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.58) !important;
}
body.deploy-market-body .deploy-readiness-row span { display: grid !important; place-items: center !important; width: 24px !important; height: 24px !important; border-radius: 8px !important; font-size: 11px !important; }
body.deploy-market-body .deploy-readiness-row.ok span { color: var(--mk-green); background: rgba(20,134,95,.10); }
body.deploy-market-body .deploy-readiness-row.fail span { color: var(--mk-red); background: rgba(189,48,61,.10); }
body.deploy-market-body .deploy-readiness-row.warn span { color: var(--mk-gold); background: rgba(188,122,36,.13); }
body.deploy-market-body .deploy-readiness-row strong { color: var(--mk-text) !important; font-size: 12px !important; line-height: 1.25 !important; }
body.deploy-market-body .deploy-readiness-row small { min-width: 0; color: var(--mk-muted) !important; font-size: 11.5px !important; line-height: 1.32 !important; overflow-wrap: anywhere; }
body.deploy-market-body .hidden { display: none !important; }
body.deploy-market-body code { color: #8a551d; }
@media (max-width: 1320px) {
  .market-hero { grid-template-columns: 1fr; }
  .market-actions { grid-template-columns: 1.4fr 1fr 1fr .8fr 46px; }
  .market-grid { grid-template-columns: minmax(320px, .9fr) minmax(420px, 1.1fr); grid-template-areas:"settings command" "settings checks" "options checks" "log log" "advanced advanced"; }
  .market-check-box { height: 200px; }
}
@media (max-width: 860px) {
  .deploy-market-shell { width: calc(100vw - 16px); padding-top: 8px; }
  .market-hero, .market-grid { display: block; }
  .market-brand, .market-status-strip, .market-actions, .market-card { margin-bottom: 10px; }
  .market-status-strip, .market-actions, .market-fields, .market-check-grid, .market-switches { grid-template-columns: 1fr; }
  .market-main-log { height: 280px; }
  .market-check-box { height: auto; max-height: 260px; }
}

/* 7.5.7 Mobile Production Scroll + Customer Menu Recovery
   Fixes production mobile screens being clipped by legacy body flex stretch + .phone overflow rules.
   Keeps horizontal clipping, restores natural vertical document scrolling across customer/POS/admin pages. */
html{
  height:auto!important;
  min-height:100%!important;
  overflow-x:clip!important;
  overflow-y:auto!important;
  -webkit-text-size-adjust:100%;
}
body:not(.deploy-console-body):not(.deploy-commercial-body):not(.deploy-market-body):not(.deploy-v747-body):not(.deploy-v748-body):not(.deploy-v749-body):not(.deploy-v750-body):not(.deploy-v751-body):not(.deploy-v752-body):not(.deploy-v753-body):not(.deploy-v754-body):not(.deploy-v755-body):not(.deploy-v756-body){
  height:auto!important;
  min-height:100dvh!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  align-items:flex-start!important;
  -webkit-overflow-scrolling:auto;
}
body:not(.surface-auth) > .phone,
body:not(.surface-auth) .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell){
  height:auto!important;
  min-height:100dvh!important;
  max-height:none!important;
  align-self:flex-start!important;
  flex:0 1 auto!important;
  overflow:hidden!important;
  overflow-x:clip!important;
  overflow-y:clip!important;
}
body:not(.surface-auth) .main:not(.deploy-console-main):not(.deploy-commercial-main):not(.deploy-v747-main){
  height:auto!important;
  max-height:none!important;
  min-height:auto!important;
  overflow:visible!important;
  -webkit-overflow-scrolling:touch;
}
body.surface-customer .main,
body.surface-pos .main,
body.surface-admin .main,
body.surface-platform .main,
body.surface-reporting .main,
body.surface-queue .main{
  overflow:visible!important;
  height:auto!important;
  max-height:none!important;
}
body.surface-customer.device-mobile .toolbar,
body.surface-customer.device-tablet .toolbar{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
}
body.surface-customer .menu-frame{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  overflow-x:clip!important;
  overflow-y:clip!important;
  border-radius:28px;
}
body.surface-customer .menu-slider{
  min-height:0!important;
  align-items:stretch!important;
}
body.surface-customer .menu-page{
  grid-template-rows:none!important;
  grid-auto-rows:minmax(132px,auto)!important;
  align-items:stretch!important;
}
body.surface-customer .food-card{
  overflow:visible!important;
  min-width:0;
}
body.surface-customer .bottom-bar{
  position:fixed!important;
  z-index:80!important;
}
.mobile-scroll-sentinel{
  position:absolute!important;
  inline-size:1px!important;
  block-size:1px!important;
  pointer-events:none!important;
  opacity:0!important;
}
.customer-menu-empty{
  grid-column:1 / -1;
  min-height:220px;
  display:grid;
  place-items:center;
  padding:24px;
  border:1px dashed rgba(129,87,48,.24);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,252,246,.92),rgba(255,244,230,.78));
  color:#5f4938;
  text-align:center;
  box-shadow:0 14px 40px rgba(75,52,38,.08);
}
.customer-menu-empty b{display:block;margin-bottom:6px;color:#3d2b1e;font-size:18px;}
.customer-menu-empty span{display:block;font-size:13px;line-height:1.6;color:#8a735f;}

/* 7.5.8 Mobile / Tablet / Desktop UX hotfix */
html,body{min-height:100%;height:auto;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:auto;scroll-behavior:auto!important;}
body.modal-open{overflow:hidden;overscroll-behavior:none;}
.phone{min-height:100dvh;overflow:hidden!important;overflow-x:clip!important;overflow-y:clip!important;}
@media (min-width:900px){body.surface-customer .phone{width:min(100vw,1180px);}body.surface-customer .main{max-width:1180px;margin:0 auto;}}
#languageSwitcher,.language-switcher,#customerSearch,#topSearchBtn{display:none!important;}
body.surface-customer #rightDrop .drop-item:first-child:is(button){display:none;}
.menu-slider{touch-action:auto;will-change:transform;}
.menu-frame{touch-action:auto;}
.bottom-bar{padding-bottom:max(10px,var(--safe-bottom,0px));transform:translate3d(-50%,0,0);contain:layout paint;}
.main{min-height:calc(100dvh - 70px);padding-bottom:calc(108px + var(--safe-bottom,0px));}
.modal-backdrop{position:fixed;inset:0;align-items:center!important;justify-content:center!important;overflow:hidden;overscroll-behavior:contain;touch-action:auto;padding:max(12px,var(--safe-top,0px)) max(12px,var(--safe-right,0px)) max(12px,var(--safe-bottom,0px)) max(12px,var(--safe-left,0px));}
.modal{width:min(94vw,520px);max-height:min(86dvh,720px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:auto;}
.modal *{touch-action:auto;}
.checkout-coupon-card{margin-top:10px;display:grid;gap:8px;}
.coupon-card{display:grid;gap:10px;}
.coupon-card>.row{flex-wrap:wrap;justify-content:space-between;}
.global-busy-indicator{top:calc(10px + var(--safe-top,0px));bottom:auto;right:max(12px,var(--safe-right,0px));left:auto;z-index:10060;}
.smart-workspace-card,.smart-dock,.flow-coach-card{display:none!important;}
.card,.list-card,.notice{overflow-wrap:anywhere;}
.table-wrap{width:100%;overflow:visible;-webkit-overflow-scrolling:auto;border-radius:18px;}
@media (max-width:700px){
  .grid.cards,.grid.three,.two-col,.form-grid.two-col,.role-grid{grid-template-columns:1fr!important;}
  .toolbar,.row{flex-wrap:wrap;align-items:stretch;}
  .toolbar>.btn,.toolbar>.search,.row>.btn{flex:1 1 140px;min-width:0;}
  .section-title{align-items:flex-start;gap:8px;}
  .section-title .toolbar{width:100%;}
  .menu-page{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;align-content:start;}
  .food-card{min-height:136px;}
  .food-img{height:58px;}
  .table-wrap,.card:has(> .table){overflow:visible!important;}
  table.table,.table-wrap table{display:block;width:100%;border-collapse:separate;}
  table.table thead,.table-wrap table thead{display:none;}
  table.table tbody,.table-wrap table tbody{display:grid;gap:10px;}
  table.table tr,.table-wrap table tr{display:grid;gap:8px;padding:12px;border:1px solid rgba(75,52,38,.10);border-radius:16px;background:rgba(255,250,244,.78);box-shadow:0 8px 22px rgba(31,23,18,.06);}
  table.table td,.table-wrap table td{display:flex;justify-content:space-between;gap:12px;padding:0!important;border:0!important;text-align:right;min-width:0;}
  table.table td::before,.table-wrap table td::before{content:attr(data-label);flex:0 0 auto;max-width:46%;font-weight:850;color:#8a7564;text-align:left;}
  .pos-layout,.admin-layout,.platform-layout{grid-template-columns:1fr!important;}
  .pos-cart-panel{position:static!important;max-height:none!important;}
  .bottom-bar{left:8px;right:8px;width:auto;transform:none;bottom:max(8px,var(--safe-bottom,0px));}
  .main{padding-left:10px;padding-right:10px;}
  .dropdown{width:min(94vw,420px);max-height:72dvh;}
}
@media (min-width:701px) and (max-width:1100px){
  .grid.cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .menu-page{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* 7.6.0 Unified Device UX Repair */
html,body{
  touch-action:auto!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch;
}
.phone{
  width:100%;
  max-width:100vw;
}
body.sundine-modal-locked{
  position:fixed!important;
  inset-inline:0!important;
  width:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.modal-backdrop.open{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  place-items:center!important;
}
.modal{
  max-height:min(86dvh,720px)!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.modal button,.modal .chip,.modal input,.modal textarea,.modal select{
  touch-action:manipulation!important;
}
body.surface-customer .menu-slider.customer-vertical-menu{
  display:block!important;
  transform:none!important;
  will-change:auto!important;
  touch-action:auto!important;
  transition:none!important;
}
body.surface-customer .menu-slider.customer-vertical-menu .menu-page{
  min-width:0!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
  grid-auto-rows:minmax(148px,auto)!important;
  gap:12px!important;
  align-content:start!important;
}
.customer-menu-count-row{
  justify-content:center!important;
  gap:8px!important;
}
.checkout-discount{
  display:block;
  margin-top:3px;
  font-size:12px;
  line-height:1.35;
  color:var(--muted);
  font-weight:750;
}
.customer-record-list,
.admin-card-list{
  display:grid;
  gap:10px;
  width:100%;
}
.record-card,
.admin-data-card{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(75,52,38,.10);
  border-radius:18px;
  background:rgba(255,250,244,.82);
  box-shadow:0 10px 26px rgba(31,23,18,.06);
  overflow-wrap:anywhere;
}
.record-main,
.record-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.record-main{
  align-items:flex-start;
}
.record-main b{
  min-width:0;
}
.record-meta{
  justify-content:flex-start;
}
.admin-mobile-section,
.customer-mobile-section{
  margin-top:14px;
  margin-bottom:10px;
}
.device-card-list,
.staff-card-grid,
.schedule-card-grid,
.invite-card-list,
.ledger-admin-cards{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.invite-form-card .form-grid{
  align-items:end;
}
.loading-placeholder{
  min-height:74px;
  display:grid;
  place-items:center;
  text-align:center;
  position:relative;
}
.loading-placeholder::after{
  content:'';
  width:18px;
  height:18px;
  margin-top:8px;
  border-radius:999px;
  border:3px solid rgba(75,52,38,.16);
  border-top-color:rgba(75,52,38,.62);
  animation:sundine-spin760 .85s linear infinite;
}
@keyframes sundine-spin760{to{transform:rotate(360deg)}}
.smart-workspace-card,.smart-dock,.flow-coach-card,.command-palette{
  display:none!important;
}
.table-wrap table:not(.table){
  width:100%;
  border-collapse:collapse;
}
@media (max-width:700px){
  body.surface-customer .menu-slider.customer-vertical-menu .menu-page{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.surface-customer .food-card{
    min-height:150px!important;
    touch-action:manipulation!important;
  }
  body.surface-customer .food-img{
    height:62px!important;
  }
  .record-card,
  .admin-data-card{
    padding:12px;
    border-radius:16px;
  }
  .record-main,
  .record-meta{
    display:grid;
    grid-template-columns:1fr;
    justify-items:start;
  }
  .device-card-list,
  .staff-card-grid,
  .schedule-card-grid,
  .invite-card-list,
  .ledger-admin-cards{
    grid-template-columns:1fr;
  }
  .invite-form-card .form-grid,
  .form-grid.two-col{
    grid-template-columns:1fr!important;
  }
  .modal-backdrop.open{
    padding:12px!important;
  }
  .modal{
    width:min(94vw,520px)!important;
    border-radius:24px!important;
  }
}
@media (min-width:701px) and (max-width:1100px){
  body.surface-customer .menu-slider.customer-vertical-menu .menu-page{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .device-card-list,
  .staff-card-grid,
  .schedule-card-grid,
  .invite-card-list,
  .ledger-admin-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* 7.7.1 Mobile Scroll Performance Patch
   Root cause fixed: 7.7.0 removed nested scroll traps but introduced a runtime sanitizer plus broad
   class/style selectors. 7.7.1 uses targeted CSS-only scroll ownership, lighter mobile paint, and no
   repeated inline style writes during the first gestures. */
:root{
  --release-version:"7.9.4";
  --smooth-paper:#fffaf2;
  --smooth-card:rgba(255,252,248,.94);
  --smooth-card-2:rgba(255,246,232,.88);
  --smooth-line:rgba(75,52,38,.14);
  --smooth-ink:#231611;
  --smooth-muted:#7b6654;
  --smooth-accent:#ff7a00;
  --smooth-blue:#3f7dff;
  --smooth-shadow:0 12px 28px rgba(78,45,23,.10);
  --smooth-shadow-soft:0 6px 16px rgba(78,45,23,.075);
}
@media (max-width:1100px), (pointer:coarse){
  html{
    width:100%!important;
    min-height:100%!important;
    height:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-behavior:auto!important;
    touch-action:auto!important;
    background:linear-gradient(180deg,#fffaf2,#fff3e3)!important;
  }
  body:not(.sundine-modal-locked){
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:100svh!important;
    height:auto!important;
    margin:0!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    align-items:initial!important;
    justify-content:initial!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:auto!important;
    touch-action:auto!important;
    background:radial-gradient(circle at 18% 0,rgba(255,194,112,.30),transparent 34%),linear-gradient(180deg,#fffaf2,#fff1de 72%,#fff8ed)!important;
    color:var(--smooth-ink)!important;
  }
  body:not(.surface-auth) > .phone,
  body:not(.surface-auth) .phone,
  body:not(.surface-auth) .phone.wide,
  body:not(.sundine-modal-locked) .deploy-executive-shell,
  body:not(.sundine-modal-locked) .deploy-v747-shell,
  body:not(.sundine-modal-locked) .deploy-commercial-shell,
  body:not(.sundine-modal-locked) .deploy-market-shell,
  body:not(.sundine-modal-locked) .deploy-console-shell{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:100vw!important;
    min-height:100svh!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    flex:none!important;
    align-self:auto!important;
    overflow:hidden!important;
    overflow-x:clip!important;
    overflow-y:clip!important;
    overscroll-behavior:initial!important;
    -webkit-overflow-scrolling:auto!important;
    background:linear-gradient(180deg,rgba(255,252,246,.94),rgba(255,245,231,.88))!important;
    border-radius:0!important;
    box-shadow:none!important;
    transform:none!important;
    translate:none!important;
    contain:none!important;
    will-change:auto!important;
    touch-action:auto!important;
  }
  .main,
  main,
  .page,
  .page.active,
  section,
  article,
  .stack,
  .list,
  .grid,
  .grid.cards,
  .grid.three,
  .role-grid,
  .form-grid,
  .two-col,
  .pos-layout,
  .admin-layout,
  .platform-layout,
  .dashboard-grid,
  .deploy-studio-grid,
  .deploy-fields,
  .deploy-options,
  .deploy-status-row,
  .menu-frame,
  .menu-slider,
  .menu-slider.customer-vertical-menu,
  .menu-page,
  .menu-page.customer-menu-all,
  .table-wrap,
  .table-scroll,
  .admin-table-card,
  .dashboard-panel,
  .pos-menu-panel,
  .pos-cart-panel,
  .deploy-panel,
  .deploy-log,
  .deploy-log-box,
  .deploy-console-log,
  pre,
  .market-check-box{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    scroll-snap-type:none!important;
    transform:none!important;
    translate:none!important;
    will-change:auto!important;
    animation:none!important;
    transition:none!important;
    touch-action:auto!important;
  }
  .main,
  main{
    padding-left:12px!important;
    padding-right:12px!important;
    padding-bottom:calc(108px + var(--safe-bottom,0px))!important;
  }
  .page{animation:none!important;}
  .page.active{display:block!important;}
  .topbar{
    position:relative!important;
    top:auto!important;
    z-index:30!important;
    gap:8px!important;
    background:linear-gradient(180deg,rgba(255,252,248,.96),rgba(255,247,236,.88))!important;
    border-bottom:1px solid var(--smooth-line)!important;
    color:var(--smooth-ink)!important;
    box-shadow:0 6px 16px rgba(72,43,20,.08)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    contain:layout paint!important;
    will-change:auto!important;
    touch-action:auto!important;
  }
  .title,
  .hero h1,
  .section-title h2,
  .food-name,
  .role-card h2,
  h1,h2,h3,b{color:var(--smooth-ink)!important;}
  .hero{
    position:relative!important;
    overflow:hidden!important;
    margin:2px 0 18px!important;
    padding:18px!important;
    border:1px solid var(--smooth-line)!important;
    border-radius:26px!important;
    background:radial-gradient(circle at 86% 18%,rgba(255,122,0,.16),transparent 35%),linear-gradient(135deg,rgba(255,252,248,.96),rgba(255,239,216,.86))!important;
    box-shadow:var(--smooth-shadow-soft)!important;
    contain:layout paint!important;
    touch-action:auto!important;
  }
  .hero h1{font-size:clamp(25px,8vw,34px)!important;}
  .hero p,
  .muted,
  .small{color:var(--smooth-muted)!important;}
  .card,
  .list-card,
  .notice,
  .role-card,
  .food-card,
  .panel,
  .record-card,
  .admin-data-card,
  .stat.card,
  .customer-mode-card,
  .smart-welcome-card,
  .game-reward-card,
  .pos-menu-panel,
  .pos-cart-panel,
  .command-panel,
  .deploy-panel,
  .launcher-card{
    pointer-events:auto!important;
    background:linear-gradient(180deg,var(--smooth-card),var(--smooth-card-2))!important;
    border:1px solid var(--smooth-line)!important;
    border-radius:22px!important;
    box-shadow:var(--smooth-shadow-soft)!important;
    outline:0!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible!important;
    contain:layout paint!important;
    transform:none!important;
    translate:none!important;
    will-change:auto!important;
    animation:none!important;
    transition:none!important;
    touch-action:auto!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .card,.list-card,.notice,.panel{padding:13px!important;}
  .launcher{
    min-height:100svh!important;
    padding:16px!important;
    align-items:flex-start!important;
  }
  .launcher-card{
    width:100%!important;
    max-width:960px!important;
    padding:20px!important;
    border-radius:30px!important;
    box-shadow:var(--smooth-shadow)!important;
  }
  .role-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .role-card{display:block!important;min-height:0!important;padding:18px!important;}
  .role-card .emoji{
    width:56px!important;
    height:56px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:20px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,230,196,.88))!important;
    box-shadow:0 8px 18px rgba(75,52,38,.10)!important;
    font-size:30px!important;
    contain:layout paint!important;
  }
  .role-card h2{margin:12px 0 6px!important;font-size:20px!important;}
  .role-card p{color:var(--smooth-muted)!important;}
  .grid.cards,
  .grid.three,
  .two-col,
  .form-grid.two-col{grid-template-columns:1fr!important;}
  .btn,
  button,
  a,
  input,
  select,
  textarea,
  .chip,
  .drop-item,
  .food-action,
  .icon-btn,
  .capsule button,
  .qty button{
    touch-action:manipulation!important;
  }
  .btn{
    border-radius:15px!important;
    padding:11px 14px!important;
    min-height:42px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,243,224,.74))!important;
    border:1px solid rgba(75,52,38,.15)!important;
    box-shadow:0 6px 16px rgba(75,52,38,.08)!important;
    color:#5b3d2b!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .btn.primary{background:linear-gradient(135deg,#ff9b35,#ff7900 62%,#b65319)!important;border-color:rgba(255,122,0,.28)!important;color:#fff!important;}
  .btn.green{background:linear-gradient(135deg,#20b970,#36d897)!important;color:#fff!important;}
  .btn.red{background:linear-gradient(135deg,#ff766d,#ca3e39)!important;color:#fff!important;}
  .btn.ghost{background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,243,224,.68))!important;color:#5b3d2b!important;}
  .icon-btn,
  .capsule{
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(75,52,38,.13)!important;
    color:#5b3d2b!important;
    box-shadow:0 5px 14px rgba(75,52,38,.08)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .hamb:before,.hamb:after{background:#5b3d2b!important;}
  .toolbar,
  body.surface-customer .toolbar{
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    overflow:visible!important;
    contain:layout!important;
    touch-action:auto!important;
  }
  .chip-row{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    padding:4px 0 10px!important;
    touch-action:auto!important;
  }
  .chip,.badge{
    border-radius:999px!important;
    border:1px solid rgba(75,52,38,.13)!important;
    background:rgba(255,255,255,.74)!important;
    box-shadow:none!important;
    color:#5b3d2b!important;
  }
  .chip.active{background:rgba(255,122,0,.14)!important;border-color:rgba(255,122,0,.30)!important;color:#9b4a14!important;}
  body.surface-customer .menu-frame{height:auto!important;overflow:visible!important;margin-top:12px!important;border-radius:0!important;touch-action:auto!important;}
  body.surface-customer .menu-slider,
  body.surface-customer .menu-slider.customer-vertical-menu{
    display:block!important;
    width:100%!important;
    transform:none!important;
    transition:none!important;
    overflow:visible!important;
    contain:layout!important;
    touch-action:auto!important;
  }
  body.surface-customer .menu-slider.customer-vertical-menu .menu-page,
  body.surface-customer .menu-page.customer-menu-all{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    padding:2px!important;
    overflow:visible!important;
  }
  body.surface-customer .food-card{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    gap:8px!important;
    min-height:150px!important;
    width:100%!important;
    margin:0!important;
    padding:10px!important;
    border-radius:20px!important;
    cursor:pointer!important;
    content-visibility:auto!important;
    contain-intrinsic-size:150px 180px!important;
  }
  body.surface-customer .food-img{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:78px!important;
    min-height:78px!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#ffe6c0,#fff8ec 64%,#f9d2aa)!important;
    border:0!important;
    box-shadow:none!important;
    font-size:34px!important;
    contain:layout paint!important;
  }
  body.surface-customer .food-name{font-size:15px!important;line-height:1.25!important;margin:0!important;font-weight:900!important;}
  body.surface-customer .food-meta{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:8px!important;}
  body.surface-customer .food-action{
    align-self:flex-end!important;
    border-radius:999px!important;
    padding:7px 10px!important;
    min-width:48px!important;
    background:rgba(255,122,0,.12)!important;
    border:1px solid rgba(255,122,0,.25)!important;
    box-shadow:none!important;
    color:#9b4a14!important;
    font-weight:900!important;
    text-align:center!important;
  }
  body.surface-customer #prevPage,
  body.surface-customer #nextPage,
  body.surface-customer #pageDots{display:none!important;}
  body.surface-customer #pageCounter{text-align:left!important;margin-top:8px!important;}
  .table-wrap,
  .table-scroll{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    overflow-y:visible!important;
    border-radius:18px!important;
    touch-action:auto!important;
  }
  table.table,
  .table-wrap table,
  .table-scroll table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important;}
  table.table thead,
  .table-wrap table thead,
  .table-scroll table thead{display:none!important;}
  table.table tbody,
  .table-wrap table tbody,
  .table-scroll table tbody{display:grid!important;gap:10px!important;}
  table.table tr,
  .table-wrap table tr,
  .table-scroll table tr{
    display:grid!important;
    gap:8px!important;
    padding:12px!important;
    border:1px solid var(--smooth-line)!important;
    border-radius:16px!important;
    background:rgba(255,250,244,.84)!important;
    box-shadow:0 5px 14px rgba(31,23,18,.045)!important;
    contain:layout paint!important;
  }
  table.table td,
  .table-wrap table td,
  .table-scroll table td{
    display:grid!important;
    grid-template-columns:minmax(7em,.38fr) minmax(0,1fr)!important;
    gap:8px!important;
    padding:0!important;
    border:0!important;
    text-align:left!important;
    word-break:break-word!important;
    overflow-wrap:anywhere!important;
  }
  table.table td::before,
  .table-wrap table td::before,
  .table-scroll table td::before{content:attr(data-label);font-weight:900;color:var(--smooth-muted)!important;}
  input,
  select,
  textarea,
  .search{
    background:#fff!important;
    color:var(--smooth-ink)!important;
    border:1px solid rgba(75,52,38,.15)!important;
    border-radius:16px!important;
    box-shadow:none!important;
  }
  .bottom-bar{
    left:50%!important;
    right:auto!important;
    bottom:max(10px,var(--safe-bottom,0px))!important;
    width:min(calc(100vw - 24px),436px)!important;
    transform:translate3d(-50%,0,0)!important;
    border-radius:22px!important;
    background:rgba(255,252,248,.96)!important;
    border:1px solid rgba(75,52,38,.14)!important;
    box-shadow:0 8px 22px rgba(75,52,38,.13)!important;
    contain:layout paint!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .dropdown:not(.open),
  #toast:not(.open){display:none!important;overflow:visible!important;max-height:none!important;}
  .dropdown.open{
    background:linear-gradient(180deg,rgba(255,252,248,.98),rgba(255,246,233,.96))!important;
    border:1px solid rgba(75,52,38,.16)!important;
    border-radius:24px!important;
    box-shadow:0 20px 48px rgba(75,52,38,.18)!important;
    max-height:min(72dvh,calc(100dvh - 88px - var(--safe-bottom,0px)))!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:auto!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .modal-backdrop.open{
    overflow:hidden!important;
    overscroll-behavior:contain!important;
    touch-action:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .modal-backdrop.open .modal{
    background:linear-gradient(180deg,rgba(255,252,248,.98),rgba(255,246,235,.97))!important;
    border:1px solid var(--smooth-line)!important;
    border-radius:26px!important;
    box-shadow:0 24px 64px rgba(35,22,17,.22)!important;
    max-height:min(86dvh,720px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:auto!important;
  }
  textarea{
    max-height:40dvh!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}
@media (max-width:420px), (pointer:coarse) and (max-width:420px){
  body.surface-customer .menu-slider.customer-vertical-menu .menu-page,
  body.surface-customer .menu-page.customer-menu-all{grid-template-columns:1fr!important;}
  body.surface-customer .food-card{
    min-height:126px!important;
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
  }
  body.surface-customer .food-img{
    width:72px!important;
    height:72px!important;
    min-height:72px!important;
    grid-row:1 / span 2!important;
  }
  body.surface-customer .food-action{grid-column:2!important;justify-self:start!important;align-self:start!important;}
}
@supports (-webkit-touch-callout:none){
  @media (max-width:1100px), (pointer:coarse){
    html,body{min-height:-webkit-fill-available!important;}
    body{cursor:default;}
  }
}


/* 7.7.2 Mobile Root Scroll Owner Fix
   Real root cause fixed: .phone still had high-specificity overflow-x:hidden/clip + overflow-y:visible,
   which computes to overflow-y:auto and turns the phone shell into a nested scroll container.
   This final high-specificity rule prevents the shell itself from accepting vertical pan gestures;
   only the document/root viewport remains the vertical scroll owner. */
:root{--release-version:"7.9.4";}
@media (max-width:1100px), (pointer:coarse){
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell),
  body:not(.surface-auth) .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell),
  body:not(.surface-auth) .phone.wide:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell){
    overflow:hidden!important;
    overflow-x:clip!important;
    overflow-y:clip!important;
    overscroll-behavior:initial!important;
    -webkit-overflow-scrolling:auto!important;
    touch-action:auto!important;
  }
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .main,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .page,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .panel,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .card,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .list-card,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .food-card,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .role-card,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .menu-frame,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .menu-slider,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .menu-page,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .table-wrap,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .table-scroll,
  body:not(.surface-auth) > .phone:not(.deploy-console-shell):not(.deploy-commercial-shell):not(.deploy-v747-shell):not(.deploy-executive-shell):not(.deploy-market-shell):not(.auth-shell) .pos-cart-panel{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    scroll-snap-type:none!important;
    touch-action:auto!important;
  }
}


/* POS007 7.7.4 — visible in-page image integration, not only background/CSS decoration. */
.pos007-splash-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,440px)!important;
  gap:22px!important;
  align-items:stretch!important;
  margin:0 0 18px!important;
}
.pos007-splash-grid .hero{min-height:100%!important;margin:0!important;}
.pos007-main-visual-card,
.pos007-hero-inline-art,
.pos007-customer-art-card,
.pos007-login-visual-card{
  margin:0!important;
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(242,181,66,.46)!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,rgba(20,9,3,.98),rgba(4,2,1,.98))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.62),0 0 42px rgba(242,181,66,.20),inset 0 1px 0 rgba(255,236,166,.16)!important;
  isolation:isolate!important;
}
.pos007-main-visual-card::before,
.pos007-hero-inline-art::before,
.pos007-customer-art-card::before,
.pos007-login-visual-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,rgba(255,238,166,.08),transparent 32%,rgba(0,0,0,.28) 100%),
    radial-gradient(circle at 14% 12%,transparent 0 28px,rgba(255,58,28,.44) 29px 30px,transparent 31px 60px,rgba(255,58,28,.24) 61px 62px,transparent 63px),
    linear-gradient(90deg,transparent,rgba(242,181,66,.18),transparent)!important;
  mix-blend-mode:screen!important;
}
.pos007-main-visual-card img,
.pos007-hero-inline-art img,
.pos007-customer-art-card img,
.pos007-login-visual-card img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  filter:saturate(1.08) contrast(1.06)!important;
}
.pos007-main-visual-card img{min-height:430px!important;}
.pos007-main-visual-card figcaption,
.pos007-hero-inline-art figcaption,
.pos007-customer-art-card figcaption,
.pos007-login-visual-card figcaption{
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  bottom:14px!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:10px 12px!important;
  color:#180a04!important;
  background:linear-gradient(135deg,#fff1a9,#f2b542 55%,#9a5414)!important;
  border:1px solid rgba(255,238,166,.58)!important;
  border-radius:18px!important;
  box-shadow:0 14px 32px rgba(0,0,0,.38),0 0 24px rgba(242,181,66,.28)!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.pos007-main-visual-card figcaption b,
.pos007-customer-art-card figcaption b,
.pos007-login-visual-card figcaption b{
  font-weight:1000!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}
.pos007-main-visual-card figcaption span,
.pos007-customer-art-card figcaption span,
.pos007-login-visual-card figcaption span{
  opacity:.86!important;
  text-align:right!important;
  font-weight:900!important;
}
.hero.pos007-hero-with-art{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,315px)!important;
  gap:18px 24px!important;
  align-items:center!important;
}
.hero.pos007-hero-with-art > :not(.pos007-hero-inline-art){
  grid-column:1!important;
  max-width:850px!important;
}
.hero.pos007-hero-with-art > .pos007-hero-inline-art{
  grid-column:2!important;
  grid-row:1 / span 8!important;
  align-self:stretch!important;
  min-height:220px!important;
  max-height:380px!important;
}
.pos007-hero-inline-art img{min-height:220px!important;}
.pos007-hero-inline-art figcaption{
  justify-content:center!important;
  color:#180a04!important;
  font-weight:1000!important;
  letter-spacing:.06em!important;
  text-align:center!important;
}
.pos007-customer-art-card,
.pos007-login-visual-card{
  margin-bottom:14px!important;
}
.pos007-customer-art-card img{height:310px!important;}
.pos007-login-visual-card img{height:320px!important;}
.auth-card .pos007-login-visual-card{width:100%!important;}
@media (max-width:980px){
  .pos007-splash-grid{grid-template-columns:1fr!important;}
  .pos007-main-visual-card img{min-height:0!important;height:auto!important;max-height:560px!important;}
}
@media (max-width:760px){
  .pos007-splash-grid{gap:14px!important;}
  .pos007-main-visual-card,
  .pos007-hero-inline-art,
  .pos007-customer-art-card,
  .pos007-login-visual-card{border-radius:24px!important;}
  .pos007-main-visual-card img{height:auto!important;max-height:420px!important;}
  .hero.pos007-hero-with-art{grid-template-columns:1fr!important;}
  .hero.pos007-hero-with-art > :not(.pos007-hero-inline-art),
  .hero.pos007-hero-with-art > .pos007-hero-inline-art{grid-column:1!important;grid-row:auto!important;}
  .hero.pos007-hero-with-art > .pos007-hero-inline-art{min-height:0!important;max-height:none!important;margin-top:8px!important;}
  .pos007-hero-inline-art img{height:auto!important;min-height:0!important;aspect-ratio:16/10!important;object-position:center 22%!important;}
  .pos007-customer-art-card img,.pos007-login-visual-card img{height:auto!important;max-height:320px!important;aspect-ratio:16/10!important;object-position:center 18%!important;}
  .pos007-main-visual-card figcaption,
  .pos007-customer-art-card figcaption,
  .pos007-login-visual-card figcaption{align-items:flex-start!important;flex-direction:column!important;gap:4px!important;}
  .pos007-main-visual-card figcaption span,
  .pos007-customer-art-card figcaption span,
  .pos007-login-visual-card figcaption span{text-align:left!important;}
}

/* 7.7.5 security UX fixes */
.auth-required-card{max-width:720px;margin:48px auto;padding:24px}.auth-required-card h1{margin-top:0}.auth-required-card .toolbar{flex-wrap:wrap;margin:16px 0}.modal-backdrop.open{display:flex!important}.modal-backdrop .modal{position:relative;z-index:2}.modal-open{overflow:hidden}.api-status-banner[data-mode="mutation"]{border-color:rgba(255,107,122,.35)}
@media(max-width:620px){.auth-required-card{margin:18px 0}.modal{max-height:86vh}.table-wrap table,.table{min-width:560px}}


/* 7.9.4 Full System Audit Version Guard */
:root{--release-version:"7.9.4";}


/* 7.9.4 Native Mobile Scrollship Rule
   Input: first finger swipe starts from card/panel/menu/table content.
   Output: html/document remains the only normal vertical scroll owner; ordinary content surfaces never use vertical nested scrolling.
   Allowed exceptions: modal/dialog/dropdown/textarea and explicitly designed console/log scroll regions. */
@media (max-width:1100px), (pointer:coarse){
  html{overflow-y:auto!important;}
  body:not(.surface-auth) .phone{overflow:hidden!important;overflow-x:clip!important;overflow-y:clip!important;-webkit-overflow-scrolling:auto!important;overscroll-behavior:initial!important;touch-action:auto!important;}
  body:not(.surface-auth) .phone .main,
  body:not(.surface-auth) .phone .page,
  body:not(.surface-auth) .phone .panel,
  body:not(.surface-auth) .phone .card,
  body:not(.surface-auth) .phone .list-card,
  body:not(.surface-auth) .phone .food-card,
  body:not(.surface-auth) .phone .role-card,
  body:not(.surface-auth) .phone .menu-frame,
  body:not(.surface-auth) .phone .menu-slider,
  body:not(.surface-auth) .phone .menu-page,
  body:not(.surface-auth) .phone .table-wrap,
  body:not(.surface-auth) .phone .table-scroll,
  body:not(.surface-auth) .phone .sundine-table-card,
  body:not(.surface-auth) .phone .pos-cart-panel{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    overscroll-behavior:initial!important;
    -webkit-overflow-scrolling:auto!important;
    scroll-snap-type:none!important;
    touch-action:auto!important;
  }
}

/* 7.9.4 Native Mobile Scroll First-Swipe Final Override
   Root cause: nested scroll containers and runtime repair layers can steal the first finger gesture.
   Input: first finger swipe from card/panel/menu/table content on a phone.
   Output: html/document is the only normal vertical scroll owner; ordinary content stays in natural document flow.
   Allowed exceptions: modal/dialog/dropdown/textarea and explicitly designed console/log scroll regions. */
@media (max-width:1100px), (pointer:coarse){
  html{height:auto!important;min-height:100%!important;overflow-x:clip!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:auto!important;scroll-behavior:auto!important;}
  body:not(.surface-auth){height:auto!important;min-height:100%!important;max-height:none!important;display:block!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;overscroll-behavior:initial!important;-webkit-overflow-scrolling:auto!important;touch-action:auto!important;}
  body:not(.surface-auth) .phone{height:auto!important;max-height:none!important;min-height:100dvh!important;overflow:hidden!important;overflow-x:clip!important;overflow-y:clip!important;overscroll-behavior:initial!important;-webkit-overflow-scrolling:auto!important;touch-action:auto!important;}
  body:not(.surface-auth) .phone .main,
  body:not(.surface-auth) .phone .page,
  body:not(.surface-auth) .phone .panel,
  body:not(.surface-auth) .phone .card,
  body:not(.surface-auth) .phone .list-card,
  body:not(.surface-auth) .phone .food-card,
  body:not(.surface-auth) .phone .role-card,
  body:not(.surface-auth) .phone .menu-frame,
  body:not(.surface-auth) .phone .menu-slider,
  body:not(.surface-auth) .phone .menu-page,
  body:not(.surface-auth) .phone .table-wrap,
  body:not(.surface-auth) .phone .table-scroll,
  body:not(.surface-auth) .phone .sundine-table-card,
  body:not(.surface-auth) .phone .pos-cart-panel,
  body.sundine-customer-standalone .main,
  body.sundine-customer-standalone .page,
  body.sundine-customer-standalone .panel,
  body.sundine-customer-standalone .card,
  body.sundine-customer-standalone .food-card,
  body.sundine-customer-standalone .role-card,
  body.sundine-customer-standalone .menu-frame,
  body.sundine-customer-standalone .menu-slider,
  body.sundine-customer-standalone .menu-page,
  body.sundine-customer-standalone .table-wrap,
  body.sundine-customer-standalone .table-scroll,
  body.sundine-customer-standalone .sundine-table-card,
  body.sundine-customer-standalone .pos-cart-panel{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    overscroll-behavior:initial!important;
    -webkit-overflow-scrolling:auto!important;
    scroll-snap-type:none!important;
    touch-action:auto!important;
    transform-style:flat!important;
  }
  body:not(.surface-auth) .phone .chip-row,
  body.sundine-customer-standalone .chip-row{overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;flex-wrap:wrap!important;touch-action:auto!important;scrollbar-width:none!important;}
  body:not(.surface-auth) .phone .menu-slider,
  body.sundine-customer-standalone .menu-slider{transform:none!important;transition:none!important;will-change:auto!important;}
}


/* 7.9.4 High-specificity mobile body/native-scroll override.
   Reason: legacy selectors with multiple :not() entries used overflow-x:hidden + overflow-y:visible/auto;
   on mobile that can compute to a nested root/body scroll owner before the first finger gesture. */
@media (max-width:1100px), (pointer:coarse){
  body:not(.surface-auth):not(.sundine-modal-locked),
  body.sundine-customer-standalone:not(.surface-auth):not(.sundine-modal-locked),
  body.surface-customer:not(.surface-auth):not(.sundine-modal-locked){
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:auto!important;
    touch-action:auto!important;
  }
  body:not(.surface-auth) .phone{
    overflow:hidden!important;
    overflow-x:clip!important;
    overflow-y:clip!important;
    -webkit-overflow-scrolling:auto!important;
    touch-action:auto!important;
  }
}
