:root{--ink:#10233d;--accent:#ff6b35;--soft:#f5f7fb;--line:#dfe5ec;--muted:#65758b}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--soft)}a{color:inherit}header{background:#fff;padding:18px 6%;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 12px #0001;position:relative;z-index:2}.brand{font-size:24px;font-weight:800}.hero,.restaurant-hero{padding:78px 6%;background:linear-gradient(120deg,#10233d,#204b73);color:#fff}.hero.small{padding:45px 6%}.hero h1,.restaurant-hero h1{font-size:clamp(38px,6vw,70px);max-width:900px;margin:0 0 12px}.hero p{font-size:20px}.restaurant-hero p{opacity:.85}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800}.btn{display:inline-block;border:0;background:var(--accent);color:#fff;padding:13px 20px;border-radius:10px;text-decoration:none;font-weight:750;cursor:pointer}.btn.disabled{opacity:.45;cursor:not-allowed}.wrap,.menu-wrap{max-width:1180px;margin:0 auto;padding:38px 22px}.card{background:#fff;padding:26px;border-radius:16px;box-shadow:0 8px 25px #0001;margin-bottom:22px}.form{max-width:760px}.form label{display:block;font-weight:700;margin:14px 0}.form input,.form select,.form textarea,.inline-form input{width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);border-radius:9px;font:inherit}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex!important;gap:10px;align-items:center}.check input{width:auto!important;margin:0!important}.alert{padding:12px;background:#fff0ed;border-radius:8px}.success{padding:12px;background:#eaf8ee;border-radius:8px;margin-bottom:18px}.login{min-height:100vh;display:grid;place-items:center;padding:25px}.login .card{width:min(460px,100%)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.admin-shell aside{background:#10233d;color:#fff;padding:25px 18px}.restaurant-name{opacity:.65;margin:8px 0 25px}.admin-shell nav{display:grid;gap:6px}.admin-shell nav a{text-decoration:none;padding:11px 12px;border-radius:8px}.admin-shell nav a:hover{background:#ffffff12}.admin-main{padding:35px;min-width:0}.muted{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0}.stat{background:#fff;border-radius:14px;padding:22px}.stat b{display:block;font-size:27px}.stat span{color:var(--muted)}.inline-form{display:grid;grid-template-columns:1fr 110px auto;gap:12px;align-items:end}.inline-form input{margin:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 9px;border-bottom:1px solid var(--line)}.link{border:0;background:none;text-decoration:underline;cursor:pointer}.danger{color:#a22}.lang a{margin-left:12px;text-decoration:none}.pills{display:flex;gap:8px;flex-wrap:wrap}.pills span{background:#ffffff1c;padding:8px 12px;border-radius:999px}.menu-section{margin-bottom:38px}.menu-section>h2{font-size:30px}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.menu-item{background:#fff;border-radius:16px;overflow:hidden;display:grid;grid-template-columns:170px 1fr;box-shadow:0 6px 20px #0001}.menu-item img{width:100%;height:100%;min-height:190px;object-fit:cover}.menu-copy{padding:20px}.menu-title{display:flex;justify-content:space-between;gap:15px}.menu-title h3{margin:0}.menu-copy p{color:var(--muted)}.menu-copy small{display:block;margin-bottom:15px}@media(max-width:850px){.admin-shell{grid-template-columns:1fr}.admin-shell aside{position:relative}.stats{grid-template-columns:1fr 1fr}.menu-grid{grid-template-columns:1fr}.menu-item{grid-template-columns:120px 1fr}}@media(max-width:560px){header{align-items:flex-start;gap:15px}.lang{display:flex;flex-wrap:wrap;justify-content:flex-end}.two,.inline-form{grid-template-columns:1fr}.admin-main{padding:22px 14px}.stats{grid-template-columns:1fr}.menu-item{grid-template-columns:1fr}.menu-item img{height:210px}.restaurant-hero{padding:55px 22px}}.cart-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid #e8edf3}.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:1.15rem;padding:20px 0}.qty{width:70px}.checkout{max-width:720px;margin:auto}.checkout label{display:block;margin-top:14px;font-weight:700}.checkout input,.checkout textarea,.checkout select,.card select,.card input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #ccd5df;border-radius:9px;margin-top:5px}.type-grid{display:flex;gap:10px;flex-wrap:wrap}.type-grid label{background:#f3f6f9;padding:10px 14px;border-radius:9px}.type-grid input{width:auto}.alert{background:#fff0f0;border:1px solid #efbcbc;padding:10px;border-radius:8px;margin:8px 0}.success{text-align:center;max-width:650px;margin:50px auto}.success-mark{font-size:48px}.status{padding:5px 9px;border-radius:999px;background:#eef2f6;font-size:.85rem}.status-new{font-weight:800}.status-ready,.status-completed{background:#e9f7ee}@media(max-width:650px){.cart-row{grid-template-columns:1fr auto}.cart-row>b{grid-column:1/3}.type-grid{display:block}}
.table-banner{padding:12px 18px;background:#fff3cd;border-bottom:1px solid #ead28a;font-weight:700;text-align:center}.floor-plan{position:relative;min-height:360px;border:1px dashed #bbb;border-radius:14px;padding:20px}.table-node{display:inline-block;margin:8px;padding:16px;min-width:90px;text-align:center;border:1px solid #ddd;border-radius:12px;background:#fff}

.zone-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;align-items:end}.hours-row{display:grid;grid-template-columns:140px 1fr 1fr 120px;gap:10px;align-items:center;margin:8px 0}@media(max-width:650px){.hours-row{grid-template-columns:1fr 1fr}.hours-row strong{grid-column:1/-1}}

/* Phase 11 Kitchen Display System */
.kds-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.kds-board{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:14px;align-items:start}.kds-col{background:#f3f4f6;border-radius:16px;padding:12px;min-height:65vh}.kds-col h2{display:flex;justify-content:space-between;margin:2px 2px 12px}.kds-col h2 span{background:#111827;color:white;border-radius:99px;padding:2px 9px;font-size:14px}.kds-stack{display:grid;gap:12px}.kds-order{background:white;border-radius:14px;padding:14px;box-shadow:0 2px 8px #0001;border-top:5px solid #64748b}.kds-order header{display:flex;justify-content:space-between;gap:8px;font-size:18px}.kds-time{font-weight:700;margin:8px 0;color:#475569}.kds-time.late{color:#b91c1c}.kds-item{font-size:17px;padding:5px 0;border-bottom:1px solid #eee}.kds-note{margin:10px 0;padding:9px;background:#fff7ed;border-radius:8px}.kds-btn{width:100%;margin-top:12px}.kds-col:nth-child(1) .kds-order{border-top-color:#dc2626}.kds-col:nth-child(2) .kds-order{border-top-color:#2563eb}.kds-col:nth-child(3) .kds-order{border-top-color:#d97706}.kds-col:nth-child(4) .kds-order{border-top-color:#16a34a}@media(max-width:1100px){.kds-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.kds-board{grid-template-columns:1fr}.kds-head{align-items:flex-start;flex-direction:column}}

/* v0.14.1: language-safe file upload layout */
.cx-file-field{min-width:0}.cx-file-label{display:block}.cx-file-picker{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:7px;min-width:0}.cx-file-picker .cx-file-button{width:auto;max-width:100%;white-space:normal;text-align:center;line-height:1.25;margin:0}.cx-file-name{display:block;width:100%;font-weight:600;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.cx-file-picker input{display:none!important}@media(max-width:560px){.cx-file-picker .cx-file-button{width:100%}}

/* v0.33.6: polished order-mode buttons, especially on mobile */
.order-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px;margin-top:18px}.order-mode-btn{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:var(--accent);color:#fff;text-decoration:none;box-shadow:0 8px 20px #ff6b3526;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.order-mode-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #ff6b3538}.order-mode-btn.is-active{filter:saturate(1.08);box-shadow:0 0 0 3px #10233d22,0 10px 24px #ff6b3530}.order-mode-table{grid-column:1/-1}.order-mode-icon{font-size:30px;line-height:1;filter:grayscale(1) brightness(0) invert(1)}.order-mode-copy{min-width:0}.order-mode-copy strong{display:block;font-size:1.12rem;line-height:1.15}.order-mode-arrow{font-size:32px;font-weight:300;line-height:1}.order-mode-grid+.muted{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);line-height:1.5}@media(max-width:650px){.card:has(.order-mode-grid){padding:24px 20px;border-radius:22px}.order-mode-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.order-mode-btn{min-height:76px;padding:14px 12px;gap:9px;border-radius:16px}.order-mode-icon{font-size:25px}.order-mode-copy strong{font-size:1.03rem}.order-mode-arrow{font-size:27px}.order-mode-table{grid-column:1/-1}}@media(max-width:390px){.order-mode-grid{grid-template-columns:1fr}.order-mode-table{grid-column:auto}.order-mode-btn{min-height:70px}}

/* v0.33.7: mobile order mode spacing hardening */
@media (max-width:650px){
  .card .type-grid.order-mode-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:16px!important;
    row-gap:16px!important;
    width:100%!important;
    max-width:none!important;
    margin:20px 0 0!important;
  }
  .card .type-grid.order-mode-grid > .order-mode-btn{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:16px 14px!important;
    min-height:82px!important;
    border-radius:18px!important;
  }
  .card .type-grid.order-mode-grid > .order-mode-table{
    grid-column:1 / -1!important;
  }
}
@media (max-width:420px){
  .card .type-grid.order-mode-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .card .type-grid.order-mode-grid > .order-mode-table{
    grid-column:auto!important;
  }
  .card .type-grid.order-mode-grid > .order-mode-btn{
    min-height:74px!important;
  }
}


/* v0.33.8 definitive mobile order-mode layout; cache-busted in index.php */
@media (max-width: 650px) {
  main.menu-wrap > section.card:has(.order-mode-grid) { padding: 26px 22px !important; }
  main.menu-wrap .order-mode-grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 20px 0 0 !important;
  }
  main.menu-wrap .order-mode-grid .order-mode-btn {
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) auto !important;
    align-items: center !important;
    column-gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 15px 14px !important;
    border-radius: 18px !important;
  }
  main.menu-wrap .order-mode-grid .order-mode-table {
    grid-column: 1 / -1 !important;
  }
  main.menu-wrap .order-mode-grid + .muted {
    margin-top: 20px !important;
  }
}
@media (max-width: 360px) {
  main.menu-wrap .order-mode-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  main.menu-wrap .order-mode-grid .order-mode-table { grid-column: 1 !important; }
}

/* v0.34.1 order count CTA */
.channel-order-cta{margin-top:18px;display:flex;justify-content:flex-end}.channel-order-button{display:inline-flex;align-items:center;justify-content:center;min-width:180px;text-decoration:none;font-weight:800}.alert.success{background:#eaf8ef;border-color:#9bd7ad;color:#155d2b}@media(max-width:760px){.channel-order-cta{justify-content:stretch}.channel-order-button{width:100%;min-height:52px}}

/* CarrieNex Food Demo */
.demo-banner{margin:0 0 18px;padding:14px 16px;border-radius:14px;background:#eaf2ff;border:1px solid #b9d1ff;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.demo-banner span{flex:1;min-width:220px}.demo-banner a{font-weight:700}.demo-public-bar{background:#0b1f3a;color:#fff;padding:10px 5%;display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap}.demo-public-bar a{color:#fff;font-weight:800;text-decoration:underline}.demo-public-bar span{opacity:.82}@media(max-width:700px){.demo-public-bar{font-size:14px;gap:8px}.demo-banner{align-items:flex-start;flex-direction:column}}
