html,body{max-width:100%;overflow-x:hidden}.main,.content,.content>*,.grid>*{min-width:0}.content{max-width:none!important;margin:0!important;padding:24px clamp(16px,2.2vw,36px)}
.title-row{padding:19px 22px;margin-bottom:16px;border:1px solid #e1ebe8;border-radius:16px;background:linear-gradient(120deg,#fff,#f2f8f6);box-shadow:0 5px 18px #153f3510;flex-wrap:wrap}.title-row h1{font-size:clamp(23px,2vw,31px);color:#102b29}.title-row>.actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}
.card,.metric,.table-wrap,.room-card{box-shadow:0 6px 20px #183f3510}.card{overflow:hidden}.card p{overflow-wrap:anywhere}.card p>span[style*="float:right"]{float:none!important;display:block;margin-top:4px;color:#536b67}.grid{max-width:100%}.two{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}
input,select,textarea{min-width:0;max-width:100%;min-height:42px;border:1px solid #d6e1de;background:#fbfdfc;box-shadow:inset 0 1px 2px #153f3508;transition:border-color .18s,box-shadow .18s,background .18s}input:hover,select:hover,textarea:hover{border-color:#aebfba;background:#fff}input:focus,select:focus,textarea:focus{outline:0;border-color:#168878;box-shadow:0 0 0 3px #1688781e;background:#fff}textarea{min-height:92px;resize:vertical}.filters{padding:12px;border:1px solid #e0e9e6;border-radius:13px;background:#fff;align-items:flex-end}.filters>div,.filters>label{min-width:150px;max-width:100%;margin:0}.filters label{margin-top:0}.filters input,.filters select{width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal{width:min(760px,calc(100vw - 28px));border-radius:18px;box-shadow:0 30px 100px #061e1a70}.modal .actions{flex-wrap:wrap}
.table-wrap{width:100%;max-width:100%;overscroll-behavior-x:contain}.table-wrap table{min-width:720px}.table-wrap td{max-width:360px;overflow:hidden;text-overflow:ellipsis}.actions{min-width:0;flex-wrap:wrap}.actions button{white-space:normal}.rest-tabs{padding:5px;background:#e7efed;border-radius:12px;width:max-content;max-width:100%;scrollbar-width:thin}.rest-tabs button{background:transparent;color:#31504c}.rest-tabs button:hover{background:#fff;color:#0c6358;box-shadow:0 2px 8px #173f3515}
.content:has(.restaurant-shell) .title-row,.content:has(.rest-tabs) .title-row{position:relative;isolation:isolate;min-height:118px;align-items:end;color:#fff;border:0;background:#0b3734 url('/restaurant-hero-v2.png') center 55%/cover no-repeat;overflow:hidden}.content:has(.rest-tabs) .title-row:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#052e2be8,#052e2b70 52%,#052e2b10);z-index:-1}.content:has(.rest-tabs) .title-row h1,.content:has(.rest-tabs) .title-row .muted{color:#fff}.content:has(.rest-tabs) .title-row button{background:#e1b65e;color:#163c38}
.restaurant-shell{grid-template-columns:minmax(230px,.75fr) minmax(330px,1.2fr) minmax(300px,.85fr)!important;align-items:start;gap:16px!important;width:100%;max-width:100%}.restaurant-shell>*,.restaurant-shell section{min-width:0}.restaurant-tables{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))!important}.restaurant-menu{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important}.pos-table,.pos-item{border-radius:12px!important;padding:13px!important;overflow:hidden;overflow-wrap:anywhere;box-shadow:0 3px 12px #173f3510;transition:.18s}.pos-table:hover,.pos-item:hover{transform:translateY(-2px);border-color:#99bbb4;box-shadow:0 8px 20px #173f3520}.pos-order{top:88px;max-width:100%;overflow:hidden}.pos-order .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pos-order .actions button{min-width:0;padding-inline:7px}.order-line,.pos-line{min-width:0}.order-line>*{min-width:0;overflow-wrap:anywhere}.kds-ticket{overflow:hidden}.kds-ticket .actions{flex-wrap:wrap}.kds-ticket .actions button{flex:1 1 90px}
.content:not(:has(.rest-tabs)):not(:has(.dash-v2))>.title-row{border-left:5px solid #20a484;background:linear-gradient(115deg,#fff 0%,#eff8f5 64%,#e8f1ee 100%)}
@media(max-width:1250px){.restaurant-shell{grid-template-columns:minmax(240px,.75fr) minmax(340px,1.25fr)!important}.restaurant-shell>.pos-order{grid-column:1/-1;position:static}.pos-order .actions{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.content{padding:14px 12px 82px}.restaurant-shell{grid-template-columns:1fr!important}.restaurant-shell>.pos-order{grid-column:auto;order:-1}.pos-order .actions{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.title-row{padding:16px}.content:has(.rest-tabs) .title-row{min-height:104px}.filters>*{flex:1 1 180px}.form-grid{grid-template-columns:1fr}}
@media(max-width:520px){.restaurant-tables,.restaurant-menu{grid-template-columns:repeat(2,minmax(0,1fr))!important}.table-wrap{border-radius:9px}.title-row>.actions{width:100%;justify-content:stretch}.title-row>.actions button{flex:1 1 130px}.quick-grid{grid-template-columns:repeat(2,1fr)}.modal{padding:18px}.filters>*,.filters>div,.filters>label{width:100%;flex-basis:100%}}

/* POS workstation: the floor plan is the primary touch target. */
.content:has(.restaurant-shell) .restaurant-shell{
  display:grid!important;
  grid-template-columns:minmax(680px,1fr) 360px!important;
  grid-template-areas:"floor order" "menu order"!important;
  gap:20px!important;
}
.restaurant-shell>section:first-child{grid-area:floor;min-width:0}
.restaurant-shell>section:nth-child(2){grid-area:menu;min-width:0}
.restaurant-shell>.pos-order{grid-area:order;position:sticky;top:88px}
.restaurant-shell.ordering{grid-template-columns:minmax(520px,1fr) 400px!important;grid-template-areas:"menu order"!important}.restaurant-shell.ordering>section:first-child{display:none}.restaurant-shell.ordering>section:nth-child(2){display:block}.restaurant-shell.ordering .restaurant-menu{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important}.restaurant-shell.ordering .pos-item{min-height:112px;font-size:16px}.pos-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pos-order-head h2{margin:0}.pos-order-head small{color:#647773}
.restaurant-floor{width:100%;min-height:600px;border-radius:0 0 18px 18px}
.floor-table{min-width:118px;min-height:96px;touch-action:manipulation}
.floor-table.round{min-width:106px;min-height:106px}
.table-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.table-action-grid button{min-height:58px;font-size:14px}
.finish-check{background:#d9a94f!important;color:#123b37!important;font-weight:900!important}
.restaurant-floor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.restaurant-floor-heading h2{margin:0}
.restaurant-floor.editing{outline:3px solid #d9a94f;outline-offset:-3px;cursor:crosshair;background-color:#fffbef}
.restaurant-floor.editing .floor-table{cursor:grab;user-select:none;touch-action:none;animation:floor-table-edit .7s ease-in-out infinite alternate}
.restaurant-floor.editing .floor-table.dragging{cursor:grabbing;z-index:20;animation:none;transform:translate(-50%,-50%) scale(1.08);box-shadow:0 16px 32px #0004}
#floor-edit-button.active{background:#d9a94f;color:#123b37}
@keyframes floor-table-edit{from{box-shadow:0 6px 14px #1232}to{box-shadow:0 9px 20px #d9a94f66}}
@media(max-width:1180px){
  .content:has(.restaurant-shell) .restaurant-shell{grid-template-columns:1fr!important;grid-template-areas:"floor" "order" "menu"!important}
  .content:has(.restaurant-shell) .restaurant-shell.ordering{grid-template-areas:"order" "menu"!important}
  .restaurant-shell>.pos-order{position:static}
}
.nav-svg{display:block;width:19px;height:19px}.nav-label i{display:grid!important;place-items:center;font-style:normal}.nav button .nav-label i{color:#83d8c8;background:#ffffff0b;border:1px solid #ffffff0d}.nav button:hover .nav-label i,.nav button.active .nav-label i{color:#ffd477;background:#ffffff16;border-color:#ffffff20}.mobile-nav .nav-svg{width:20px;height:20px;margin:auto}.mobile-nav i{height:23px;display:grid;place-items:center;color:#177767}
.wellness-tabs{display:flex;gap:8px;margin:0 0 18px}.wellness-tabs button{background:#eaf2f0;color:#123f3b}.wellness-tabs button.active{background:#0c5b52;color:#fff}.wellness-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.wellness-layout aside{display:grid;gap:18px;align-content:start}.wellness-schedule{display:grid;gap:10px}.wellness-visit{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:14px;align-items:center;padding:14px;border:1px solid #dfe9e6;border-left:5px solid #16a36f;border-radius:14px;background:#fff}.wellness-visit small{display:block;color:#647773;margin-top:5px}.wellness-visit.CANCELLED,.wellness-visit.NO_SHOW{border-left-color:#e05c5c;opacity:.7}.wellness-visit.COMPLETED{border-left-color:#6680a5}@media(max-width:950px){.wellness-layout{grid-template-columns:1fr}.wellness-visit{grid-template-columns:1fr}.wellness-tabs{overflow:auto}}
.id-scan-pair{text-align:center}.scan-phone-icon{font-size:70px;color:#08766a}.pairing-code{font-size:42px;font-weight:900;letter-spacing:10px;color:#0c514b;margin:18px}.id-scan-pair a{display:block;overflow-wrap:anywhere}.id-scan-pair #id-scan-qr{display:flex;justify-content:center;margin:14px auto}.id-scan-pair #id-scan-qr img,.id-scan-pair #id-scan-qr canvas{border:10px solid #fff;border-radius:12px;box-shadow:0 8px 28px #073f3b22;max-width:220px;width:100%;height:auto}.confidence-low{color:#bc4f25}.existing-guest{padding:14px;margin:16px 0;background:#fff8df;border:1px solid #e8c96c;border-radius:12px}.existing-guest label{display:block;padding:6px}
.wizard-head progress{width:100%;height:9px;accent-color:#0b756b}.wizard-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.feature-check{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dbe8e5;border-radius:12px;background:#f8fbfa}.feature-check input{width:20px;height:20px;margin:0}.feature-check span{font-weight:700}
