:root{--accent:#dc6a35;--ink:#222a27;--muted:#7d8581;--paper:#f6f7f3;--sidebar:254px;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:0;border-radius:9px;cursor:pointer;padding:12px 17px;font-weight:650;font-size:13px;background:var(--accent);color:white;min-height:42px}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #e8a748;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}label{display:grid;gap:8px;font-size:12px;font-weight:650;margin:14px 0}input,textarea,select{width:100%;padding:12px 13px;border:1px solid #dce0dc;border-radius:9px;background:white;color:var(--ink);min-height:45px}textarea{min-height:75px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.3px;font-size:32px;line-height:1.2}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:15px}small{font-size:11px}.muted{color:var(--muted);font-size:13px;line-height:1.6}.overline{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--accent);margin-bottom:10px}.wordmark{font-size:29px;font-weight:800;letter-spacing:-1px}.wordmark span{display:block;font-size:9px;letter-spacing:3px;margin:8px 0 0 34px;font-weight:500}.wordmark.small{font-size:24px;display:block;color:white}.ghost{background:transparent;color:var(--muted);border:1px solid #dfe4df}.secondary{background:#ecefe9;color:var(--ink)}.danger{color:#b84137;background:#fff0eb}.check{display:flex;align-items:center;font-weight:500;line-height:1.6}.check input{width:17px;min-height:17px}#toast:empty{display:none}#toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:1000;padding:14px 20px;color:#fff;background:#253b31;box-shadow:0 10px 30px #0002;border-radius:10px;max-width:90vw;font-size:13px}#login{display:grid;grid-template-columns:1.15fr 1fr;min-height:100vh}.login-story{padding:65px max(50px,6vw);background:#19382d;color:white;position:relative;overflow:hidden}.login-story:after{content:'';position:absolute;right:-210px;bottom:-280px;width:650px;height:650px;border:90px solid #ffffff04;border-radius:50%;pointer-events:none}.login-story>.overline{color:#cfab7d;margin-top:80px}.login-story h1{font-size:clamp(40px,4vw,64px);letter-spacing:-2px;line-height:1.07}.login-story em{font-style:normal;color:#dca274}.login-story>p:not(.overline){max-width:340px;line-height:1.7;color:#b4c4bb;font-size:15px}.story-cards{display:grid;gap:16px;margin-top:45px;font-size:12px;color:#b4c4bb}.login-box{align-self:center;padding:55px max(30px,6vw);max-width:600px;width:100%;margin:auto}.login-box h2{font-size:29px;letter-spacing:-1px}#login-form{margin-top:28px}#login-form button{width:100%;margin-top:10px}#demo-access{padding:18px;border:1px solid #dce0d5;background:#eef1e8;border-radius:12px;margin-top:26px;font-size:12px}#demo-buttons{display:flex;gap:8px;margin-bottom:12px}#demo-buttons button{font-size:12px;padding:10px;background:white;color:#234437;border:1px solid #ced6c8}#demo-access small{color:#7b877d}#sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#182d25;color:#c8d4cc;display:flex;flex-direction:column;padding:28px 17px;z-index:30;overflow:auto;transition:width .2s}.restaurant-mark{display:flex;align-items:center;gap:11px;padding:23px 6px 25px;margin-top:20px;border-top:1px solid #ffffff10}.restaurant-mark>span{width:39px;height:39px;background:#ffffff12;border-radius:12px;display:grid;place-items:center;font-size:19px;font-weight:700;color:#eed2b1}.restaurant-mark img{width:40px;height:40px;object-fit:contain;background:white;border-radius:8px}.restaurant-mark strong{font-size:13px;color:#fff;display:block}.restaurant-mark small{font-size:10px;display:block;margin-top:4px;color:#8fa398}.nav-label{font-size:9px;letter-spacing:2px;color:#80998a;padding-left:13px;margin:5px 0 15px}nav{display:grid;gap:5px}nav button{text-align:left;display:flex;gap:12px;align-items:center;background:transparent;color:#9bb0a3;padding:12px 13px;font-size:12px;white-space:normal}nav button span{width:19px;font-size:19px;line-height:1;color:#9bb0a3}nav button.active{background:#ffffff12;color:#fff;box-shadow:inset 3px 0 var(--accent)}nav button:hover{background:#ffffff0a;color:white}.sidebar-footer{margin-top:auto;padding:28px 10px 0}.sidebar-footer>span{font-size:12px;display:block;color:white}.sidebar-footer>small{display:block;font-size:10px;color:#8fa398;margin:4px 0 18px}.sidebar-footer button{border-color:#ffffff15;color:#9db0a4;width:100%;font-size:11px}.main-shell{margin-left:var(--sidebar);transition:margin .2s}header{height:75px;padding:0 30px;display:flex;align-items:center;gap:20px;background:#fff;border-bottom:1px solid #e6e9e2;position:sticky;top:0;z-index:20}.breadcrumb{color:#909890;font-size:12px}.breadcrumb span{padding:0 12px;color:#bdc3bc}.breadcrumb strong{color:#4b5b50;font-weight:600}.header-end{margin-left:auto;display:flex;align-items:center;gap:18px}.header-end button{border:0;font-size:12px}#cash-indicator{font-size:10px;padding:7px 10px;border-radius:20px;background:#edf3eb;color:#597456}.avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#f4e4d6;color:#ae6435;font-size:12px;font-weight:700}.icon-button{background:#f0f3ed;color:#496150;font-size:18px;padding:8px;width:38px;min-height:38px}.compact{--sidebar:82px}.compact #sidebar .restaurant-mark,.compact .nav-label,.compact .sidebar-footer,.compact #sidebar>.wordmark{display:none}.compact nav button{justify-content:center;font-size:0;gap:0}.compact nav button span{font-size:22px}.compact #sidebar{padding-top:95px}main{padding:32px clamp(20px,3vw,42px) 60px;max-width:1800px;margin:auto;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:6px 0 27px;gap:20px}.page-heading h1{margin-bottom:8px}.page-heading .muted{margin-bottom:0}.demo-banner{padding:10px 15px;border:1px solid #e6d8bf;background:#fffbf2;color:#977849;font-size:10px;border-radius:7px;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.metric{background:white;border:1px solid #e3e7df;border-radius:13px;padding:20px 21px;position:relative}.metric>p{font-size:11px;color:#7c877d;margin-bottom:13px}.metric strong{font-size:29px;letter-spacing:-1px;display:block}.metric small{display:block;color:#929b91;margin-top:9px}.metric-icon{position:absolute;right:18px;top:16px;color:var(--accent);background:#f9f1e8;border-radius:9px;padding:8px;font-size:15px}.grid-two{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.panel{background:white;border:1px solid #e2e7de;border-radius:13px;padding:24px;margin-bottom:20px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.panel-heading h2{margin:0;font-size:17px}.panel-heading a,.panel-heading button{font-size:11px}.empty{padding:32px 20px;border:1px dashed #dce3d5;border-radius:10px;text-align:center;color:#859080;font-size:13px;line-height:1.7;background:#fcfdf9}.empty strong{display:block;color:#56644d;margin-bottom:6px}.badge{padding:5px 9px;font-size:10px;border-radius:5px;display:inline-block;background:#f2eddf;color:#957a43}.badge.preparando{background:#fff0e5;color:#c57d39}.badge.pronto{background:#e9f2e6;color:#527a45}.badge.entregue{background:#edf0ed;color:#7c877d}.badge.cancelado{background:#fbeae7;color:#b95e53}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid #edf0e9}.list-row:last-child{border-bottom:0}.list-row strong{font-size:13px;display:block;margin-bottom:5px}.list-row small{color:#929b91}.list-row .right{text-align:right}.list-row button{padding:8px;font-size:11px}.channel-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:23px}.channel-bar button{background:white;color:#7c887a;border:1px solid #e1e6da;padding:10px 17px;font-size:12px}.channel-bar button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.pos-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:23px;align-items:start}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.product-card{display:flex;flex-direction:column;text-align:left;min-height:160px;padding:19px 16px;background:white;border:1px solid #e0e6d9;border-radius:12px;color:var(--ink)}.product-card:hover{border-color:var(--accent);box-shadow:0 5px 20px #243b1910}.product-card .product-icon{font-size:25px;width:44px;height:44px;display:grid;place-items:center;background:#f7f0e6;border-radius:11px;margin-bottom:14px}.product-card strong{font-size:13px;margin-bottom:6px}.product-card small{font-size:10px;color:#859080;font-weight:400}.product-card .price{font-weight:750;color:var(--accent);font-size:14px;margin-top:13px}.cart{position:sticky;top:96px}.cart h2{margin-bottom:6px}.cart .fields,.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fields>*,.pos-layout>*,.grid-two>*{min-width:0}.cart-total{display:flex;justify-content:space-between;border-top:1px solid #dde5d6;margin-top:18px;padding:18px 0;font-size:18px;font-weight:700}.cart>button{width:100%}.cart-item{padding:13px 0;border-bottom:1px solid #eef1e9}.cart-item>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-item strong{font-size:12px}.qty-controls{display:flex;align-items:center;gap:10px}.qty-controls button{padding:3px 9px;background:#edf1e8;color:#65785b;min-height:28px}.cart-item input{margin-top:9px;font-size:11px;padding:8px;min-height:34px}.cart-item small{color:var(--accent)}.ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ticket{border:1px solid #e0e6da;border-top:3px solid #ddb982;background:white;border-radius:12px;padding:19px;min-width:0}.ticket.preparando{border-top-color:#d8844d}.ticket.pronto{border-top-color:#84a36c}.ticket h3{margin:0}.ticket .ticket-head{display:flex;justify-content:space-between;margin-bottom:12px}.ticket .ticket-meta{font-size:11px;color:#87907d;margin-bottom:18px}.ticket ul{padding-left:17px;font-size:13px;line-height:1.8}.ticket ul small{display:block;color:#a6764a}.ticket>p{font-size:12px;line-height:1.6;color:#818976}.ticket-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.ticket-actions button{flex:1;white-space:nowrap;padding:10px 12px;font-size:11px}.table-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.table-card{background:white;border:1px solid #e1e7d8;border-radius:12px;padding:21px;text-align:left;color:#546046;min-height:130px}.table-card strong{display:block;font-size:20px;margin:14px 0 5px}.table-card small{font-size:11px;font-weight:400}.table-card.occupied{background:#fff6ea;border-color:#ebceab}.table-card.occupied strong{color:#a47342}.table-card .table-status{font-size:10px}.table-card>span{display:block;font-size:11px;margin-top:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:13px 10px;text-align:left;border-bottom:1px solid #edf0e9;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#88917f}td button{font-size:11px;min-height:32px;padding:7px 10px}.form-actions{display:flex;gap:10px;margin-top:18px}.form-note{font-size:11px;color:#8b9584;line-height:1.6}.stock-recipe{padding:12px;background:#f8faf4;border:1px solid #e2e7da;border-radius:9px;margin:12px 0}.recipe-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:10px;margin-bottom:9px}.recipe-row button{background:#eee;color:#777}.cash-summary{padding:20px;background:#f4f7ef;border:1px solid #e0e7d7;border-radius:11px;margin-bottom:19px}.cash-summary strong{font-size:27px;display:block}.cash-summary small{display:block;margin-top:7px;color:#8a9681}.brand-preview{background:#18382b;padding:28px;color:white;border-radius:13px;border-top:5px solid var(--accent)}.brand-preview img{max-width:120px;max-height:90px;object-fit:contain;background:white;padding:10px;border-radius:9px;margin-bottom:18px}.brand-preview h2{color:white;font-size:27px}.brand-preview p{font-size:13px;color:#b0c3b4}.brand-preview .mini-menu{padding:18px;background:#ffffff0c;border-radius:10px;margin-top:28px}.brand-preview .mini-menu strong{display:block;margin-bottom:8px}.brand-preview .mini-menu span{color:#eab587;font-size:13px}.report-bars{display:flex;align-items:end;gap:18px;height:150px;border-bottom:1px solid #e3e9da;margin-top:30px}.report-bars>div{flex:1;text-align:center;font-size:10px;color:#909b83}.report-bars .bar{background:var(--accent);opacity:.8;border-radius:5px 5px 0 0;min-height:3px;margin-bottom:10px}.report-bars small{display:block}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:17px}.toolbar input{max-width:300px}.toolbar select{max-width:200px}.kitchen-heading{display:flex;gap:12px;margin-bottom:22px}.kitchen-heading span{background:white;border:1px solid #e1e6da;padding:12px 16px;border-radius:9px;font-size:12px;color:#7c8872}dialog{width:min(630px,95vw);max-height:90vh;overflow:auto;border:1px solid #dfe4d8;border-radius:16px;padding:28px;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#10291988;backdrop-filter:blur(3px)}.dialog-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.dialog-title h2{margin:0}.dialog-title button{background:#f1f4ec;color:#7d8a70;padding:6px 11px;min-height:34px}.dialog-error:not(:empty){padding:12px;background:#fff0e9;color:#ad6345;border-radius:8px;margin-top:16px;font-size:12px}#backdrop{position:fixed;inset:0;background:#12291f77;z-index:25;border-radius:0}.report-print{display:none}[hidden]{display:none!important}@media(max-width:1200px){:root{--sidebar:224px}.product-grid{grid-template-columns:1fr 1fr}.ticket-grid{grid-template-columns:1fr 1fr}.pos-layout{grid-template-columns:1.1fr 1fr}.grid-two{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:950px){:root{--sidebar:254px}#sidebar{transform:translateX(-100%);transition:transform .2s}.menu-open #sidebar{transform:translateX(0)}.main-shell{margin-left:0}.compact #sidebar .restaurant-mark,.compact .nav-label,.compact .sidebar-footer,.compact #sidebar>.wordmark{display:revert}.compact nav button{font-size:12px;justify-content:start;gap:12px}.compact #sidebar{padding-top:28px}.pos-layout{grid-template-columns:1fr}.cart{position:static}.breadcrumb{display:none}header{padding:0 20px}.login-story{padding:45px 35px}.login-story h1{font-size:44px}.login-box{padding:40px 30px}.login-story>.overline{margin-top:55px}}@media(max-width:650px){#login{grid-template-columns:1fr}.login-story{padding:32px;min-height:280px}.login-story>.overline{margin-top:38px}.login-story h1{font-size:38px}.story-cards,.login-story>p:not(.overline){display:none}.login-box{padding:38px 25px}.page-heading h1{font-size:27px}.page-heading{align-items:flex-start}.page-heading>button{font-size:0;padding:10px 13px}.page-heading>button:before{content:'+';font-size:22px}main{padding:24px 18px 45px}.metrics{gap:11px}.metric{padding:18px 15px}.metric strong{font-size:23px}.metric-icon{display:none}.grid-two,.ticket-grid{grid-template-columns:1fr}.table-grid{grid-template-columns:1fr 1fr}.fields,.cart .fields{grid-template-columns:1fr}.header-end{gap:7px}#cash-indicator{font-size:9px}.header-end button{padding:7px}.product-grid{gap:10px}.product-card{padding:16px;min-height:150px}.panel{padding:20px}.recipe-row{grid-template-columns:1fr 1fr}.recipe-row button{grid-column:1/-1}.table-wrap{max-width:100%}dialog{padding:22px}.header-end .avatar{display:none}}@media print{body>*{display:none!important}.report-print{display:block!important;padding:20px;font-size:12px}.report-print table{font-size:11px}}

.shop-link{display:inline-block;padding:13px 18px;background:var(--accent);color:white;border-radius:9px;font-size:13px;font-weight:650}.store-photo{max-width:180px;max-height:130px;object-fit:cover;border-radius:10px}.badge.aguardando{background:#fff0cf;color:#996b14}.badge.saiu{background:#e7ecff;color:#3d5391}.form-actions{flex-wrap:wrap}


/* Planta de salão */
.floor-panel {
  color: #122b48;
  background: #fff;
  border: 1px solid #d9e5f0;
  border-radius: 24px;
  padding: clamp(12px, 2vw, 24px);
  box-shadow: 0 12px 32px #0b2c5210;
}
.floor-heading {
  position: static;
  height: auto;
  padding: 0 0 14px;
  z-index: auto;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 15px;
}
.floor-heading h2 { margin: 0 0 4px; }
.floor-heading p { margin: 0; font-size: 13px; color: #45617d; }
.floor-filters { display: flex; flex-wrap: wrap; gap: 5px; }
.floor-filters button {
  background: #edf4fb;
  color: #21496f;
  padding: 8px 11px;
  white-space: nowrap;
}
.floor-filters button[aria-pressed="true"] { background: #103c71; color: #fff; }
.floor-filters span { margin-left: 4px; font-variant-numeric: tabular-nums; }
.floor-plan {
  --room-edge: #9fb9d2;
  position: relative;
  isolation: isolate;
  max-width: 1060px;
  margin: auto;
  padding: clamp(7px, 1.8vw, 21px);
  background: #dbe8f5;
  border: 1px solid #c4d7e9;
  border-radius: 30px;
  box-shadow: inset 0 2px 6px #467baa25;
}
.floor-landmarks {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 7%;
  padding: 0 7%;
  margin-bottom: -2px;
}
.floor-landmarks span, .floor-entry {
  display: grid;
  place-items: center;
  min-height: 34px;
  border: 2px solid var(--room-edge);
  color: #375671;
  background: repeating-linear-gradient(90deg,#f0f6fd 0 22px,#e5eef8 22px 24px);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.floor-landmarks span { border-radius: 12px 12px 0 0; }
.floor-entry {
  position: relative;
  width: min(30%, 135px);
  margin: -2px auto 0;
  border-top-color: #fbfdff;
  border-radius: 0 0 12px 12px;
}
.floor-tables {
  position: relative;
  height: clamp(440px, 44vw, 530px);
  border: 2px solid var(--room-edge);
  border-radius: 28px;
  background-color: #eef4fa;
  background-image: linear-gradient(#b7cade45 1px,transparent 1px),linear-gradient(90deg,#b7cade45 1px,transparent 1px);
  background-size: 32px 32px;
  box-shadow: inset 0 0 0 5px #fbfdff, inset 0 0 22px #5b83ad30;
}
.floor-aisle {
  position: absolute;
  inset: 6px 44%;
  background: #fbfdff;
  border-inline: 1px dashed #b1c7dc;
  pointer-events: none;
}
.floor-aisle::after {
  content: "";
  position: absolute;
  bottom: 18px;
  left: 50%;
  width: 12px;
  height: 12px;
  border-top: 2px solid #99b4cf;
  border-left: 2px solid #99b4cf;
  transform: translateX(-50%) rotate(45deg);
}
.floor-table {
  --seat: #94c5f7;
  --top: #1264c7;
  --rim: #0c4f9e;
  --pin: #10477d;
  --label: #315675;
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
  display: grid;
  justify-items: center;
  width: min(19%, 142px);
  gap: 5px;
  min-height: 0;
  padding: 4px 0;
  background: transparent;
  color: var(--label);
  border-radius: 14px;
  touch-action: manipulation;
}
.floor-table:hover { filter: none; background: #ffffff75; }
.floor-table:focus-visible { outline-color: #146ef5; }
.floor-table[hidden], .floor-empty[hidden] { display: none; }
.floor-pin {
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--pin);
  border: 1px solid var(--pin);
  border-radius: 50%;
  width: 26px;
  height: 26px;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 3px 6px #162a4b30;
}
.floor-table-drawing {
  display: grid;
  width: min(82%, 82px);
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 10px 32px 10px;
  gap: 3px;
  filter: drop-shadow(0 4px 3px #11345826);
  transition: transform .18s ease;
}
.floor-table:hover .floor-table-drawing, .floor-table:focus-visible .floor-table-drawing { transform: translateY(-3px); }
.floor-table-drawing i { background: var(--seat); border-radius: 5px; border: 1px solid #315b7d36; }
.floor-table-drawing b {
  grid-column: 1 / -1;
  border: 1px solid var(--rim);
  border-radius: 7px;
  background: linear-gradient(145deg,#ffffff35,transparent 70%),var(--top);
  box-shadow: inset 0 0 0 2px #ffffff3b;
}
.floor-table--round .floor-table-drawing { width: min(72%, 59px); grid-template-rows: 8px 39px 8px; }
.floor-table--round .floor-table-drawing b { border-radius: 50%; }
.floor-table--round .floor-table-drawing i { margin-inline: 2px; }
.floor-table--long .floor-table-drawing { width: min(96%, 109px); }
.floor-status { color: var(--label); font-size: clamp(10px, 1vw, 12px); line-height: 1.2; }
.floor-table[data-floor-state="occupied"] {
  --seat: #f4be8d;
  --top: #c8632d;
  --rim: #8f441b;
  --pin: #8b411d;
  --label: #803b19;
}
.floor-empty {
  position: absolute;
  inset: 42% 10% auto;
  margin: 0 auto;
  text-align: center;
  padding: 12px;
  color: #234561;
  background: #fff;
  border: 1px solid #c0d5e9;
  border-radius: 10px;
  width: fit-content;
}
.floor-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; padding: 14px 0 0; color: #3b5771; font-size: 12px; }
.floor-legend span::before { content: ""; display: inline-block; vertical-align: middle; width: 9px; height: 9px; border-radius: 3px; margin-right: 6px; background: #1264c7; }
.floor-legend span:last-child::before { background: #c8632d; }
@media (max-width: 480px) {
  .floor-tables { height: 410px; }
  .floor-table-drawing { grid-template-rows: 7px 24px 7px; }
  .floor-table--round .floor-table-drawing { grid-template-rows: 6px 29px 6px; }
  .floor-pin { width: 23px; height: 23px; }
  .floor-status { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .floor-table-drawing { transition: none; }
}

/* Controle de mesas */
#workspace:has(.floor-panel, .delivery-board) #sidebar {
  background: linear-gradient(165deg, #10243d, #09182c 78%);
  border-right: 1px solid #203c59;
  color: #c6d8eb;
}
#workspace:has(.floor-panel, .delivery-board) #nav button { color: #c6d8eb; }
#workspace:has(.floor-panel, .delivery-board) #nav button:hover { background: #173756; color: white; }
#workspace:has(.floor-panel, .delivery-board) #nav button.active {
  background: linear-gradient(140deg, #1368e4, #0645a2);
  color: white;
  box-shadow: 0 5px 16px #0069ef38;
}
#workspace:has(.floor-panel, .delivery-board) :is(.nav-label, .sidebar-footer small, .restaurant-mark small) { color: #a9bfd9; }
.main-shell:has(.floor-panel, .delivery-board) { background: #071528; color: #edf5ff; min-height: 100svh; }
.main-shell:has(.floor-panel, .delivery-board) > header { background: #091c34; border-color: #233f60; }
.main-shell:has(.floor-panel, .delivery-board) :is(.breadcrumb, .breadcrumb strong, .page-heading .muted, #refresh) { color: #b8cbe3; }
.main-shell:has(.floor-panel, .delivery-board) #new-order { background: #075acb; }
.main-shell:has(.floor-panel, .delivery-board) .page-heading .overline { color: #64caff; }
.floor-panel, .delivery-board {
  background: radial-gradient(ellipse at 50% 25%, #132d4c, #07182d 75%);
  border-color: #223e60;
  color: #f2f7ff;
  box-shadow: 0 18px 40px #0005;
}
.floor-heading { background: transparent; border-color: #254260; }
.floor-heading h2 { font-size: clamp(20px, 2.6vw, 29px); letter-spacing: -.035em; }
.floor-heading p { color: #a9bfd9; }
.floor-filters button { border-radius: 100px; background: #142e4c; color: #d8e6f8; }
.floor-filters button[aria-pressed="true"] {
  background: linear-gradient(135deg, #126cf2, #0648b4);
  box-shadow: 0 3px 13px #005dff38;
}
.floor-plan {
  --room-edge: #a8bfd8;
  background: linear-gradient(150deg, #173a62, #0c2340 55%, #163658);
  border-color: #244b73;
  box-shadow: inset 0 2px 0 #ffffff0d, 0 10px 30px #0003;
}
.floor-landmarks { gap: 4px; padding: 0 2%; }
.floor-landmarks span {
  min-height: 43px;
  border-color: #2d547b;
  background: linear-gradient(140deg, #144e98, #113865);
  color: #edf6ff;
}
.floor-landmarks span:last-child { background: linear-gradient(145deg, #152f50, #102641); }
.floor-tables {
  border: 4px solid #eef6ff;
  background-color: #cfdeed;
  background-image: radial-gradient(ellipse at center,#f1f7fd99,transparent 80%),
    linear-gradient(#9db3cc45 1px,transparent 1px),linear-gradient(90deg,#9db3cc45 1px,transparent 1px);
  background-size: auto, 30px 30px, 30px 30px;
  box-shadow: inset 0 0 32px #446c925c, 0 4px 12px #04162b80;
}
.floor-aisle { background: #f4f8ff45; inset-block: 0; }
.floor-entry { background: linear-gradient(#e5edf8, #cbd8e8); color: #102f51; border-color: #dce9f7; }
.floor-table { --seat: #4b9ce8; --top: #075ecf; --rim: #073b8a; --label: #123554; }
.floor-table:hover, .floor-table:focus-visible { background: #ffffff8c; }
.floor-table:focus-visible { outline: 2px solid #0856b3; outline-offset: 1px; box-shadow: 0 0 14px #0879ed75; }
.floor-table:active .floor-table-drawing { transform: scale(.94); }
.floor-pin { background: #eaf5ff; border-width: 2px; }
.floor-table-drawing { filter: drop-shadow(0 5px 4px #193d6955); }
.floor-table-drawing b {
  background: linear-gradient(150deg, #ffffff55, transparent 48%, #021d5745), var(--top);
  border-width: 2px;
  box-shadow: inset 0 2px 2px #ffffff45, inset 0 -2px 2px #0003;
}
.floor-table-drawing i { background: linear-gradient(155deg, #ffffff55, transparent 65%), var(--seat); }
.floor-table[data-floor-state="occupied"] {
  --top: #d75412;
  --rim: #9b3409;
  --seat: #ed9c56;
  --label: #7f2e0a;
}
.floor-status { font-weight: 800; }
.floor-legend {
  width: fit-content;
  margin: 15px auto 0;
  padding: 9px 16px;
  border: 1px solid #294768;
  border-radius: 30px;
  background: #102640;
  color: #d5e4f6;
}
.floor-keys { margin: 12px 0 0; text-align: center; font-size: 12px; color: #aac1db; }
.floor-keys kbd { display: inline-block; border: 1px solid #466382; border-radius: 4px; padding: 1px 4px; }
@media (pointer: coarse) { .floor-keys { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .floor-table:hover .floor-table-drawing, .floor-table:focus-visible .floor-table-drawing,
  .floor-table:active .floor-table-drawing { transform: none; }
}

/* Acompanhamento de entregas */
.delivery-board {
  border: 1px solid #223e60;
  border-radius: 24px;
  padding: clamp(13px, 2vw, 26px);
}
.delivery-heading, .delivery-stage > header {
  position: static;
  height: auto;
  background: transparent;
  border: 0;
}
.delivery-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 0 0 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #254260;
}
.delivery-heading h2 { margin: 0; font-size: clamp(20px, 2.6vw, 29px); letter-spacing: -.035em; }
.delivery-heading p { margin: 5px 0 0; color: #a9bfd9; }
.delivery-refresh { color: #c6d8eb; font-size: 12px; }
.delivery-refresh i {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 5px;
  border-radius: 50%;
  background: #55d6bb;
}
.delivery-stages { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px; align-items: start; }
.delivery-stage {
  --stage: #64caff;
  padding: 9px;
  border: 1px solid #294768;
  border-top: 3px solid var(--stage);
  border-radius: 13px;
  background: #102640;
}
.delivery-stage[data-stage="route"] { --stage: #ffa365; }
.delivery-stage[data-stage="done"] { --stage: #55d6bb; }
.delivery-stage > header, .delivery-card-top, .delivery-card-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
}
.delivery-stage > header { padding: 4px 3px 10px; color: var(--stage); }
.delivery-stage h3 { margin: 0; font-size: 14px; }
.delivery-stage > header span {
  display: grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  background: #203b5a;
  border-radius: 20px;
  font-size: 11px;
}
.delivery-card { padding: 11px; border-radius: 11px; background: #eef6ff; color: #102f51; overflow-wrap: anywhere; }
.delivery-card + .delivery-card { margin-top: 8px; }
.delivery-card-top { color: #365674; font-size: 11px; }
.delivery-card h3 { margin: 10px 0 4px; font-size: 16px; }
.delivery-address, .delivery-driver { margin: 4px 0; font-size: 12px; color: #365674; }
.delivery-driver span { font-weight: 800; }
.delivery-location {
  display: grid;
  gap: 4px;
  margin-top: 9px;
  padding: 7px;
  background: #dcecff;
  border-radius: 6px;
  font-size: 12px;
}
.delivery-location a { color: #064ba4; font-weight: 700; text-decoration: underline; }
.delivery-card-total { border-top: 1px solid #cbdcef; margin-top: 10px; padding: 8px 0; font-size: 12px; }
.delivery-card-total span { color: #365674; }
.delivery-card button { width: 100%; min-height: 42px; padding: 7px; background: #075acb; color: #fff; font-size: 12px; }
.delivery-card button:hover { background: #0645a2; }
.delivery-card :is(a, button):focus-visible { outline: 2px solid #0645a2; outline-offset: 2px; }
.delivery-empty { margin: 0; padding: 10px 4px; color: #b8cbe3; font-size: 12px; }

/* Monitor de retirada */
#open-pickup { margin-top: 18px; color: #d4e7ff; border-color: #527092; }
.compact #open-pickup { font-size: 10px; padding-inline: 3px; }
.pickup-screen {
  min-height: 100svh;
  background: radial-gradient(ellipse at 30% 0%, #15375a, #071528 65%);
  color: #edf5ff;
}
.pickup-display { max-width: 1680px; margin-inline: auto; padding: clamp(16px, 4vw, 64px); }
.pickup-top, .pickup-brand { display: flex; align-items: center; gap: clamp(10px, 2vw, 24px); }
.pickup-top { justify-content: space-between; flex-wrap: wrap; margin-bottom: 28px; }
.pickup-brand img { width: clamp(48px, 6vw, 88px); aspect-ratio: 1; object-fit: contain; border-radius: 16px; }
.pickup-brand p { margin: 0 0 4px; color: #b8cbe3; font-size: clamp(15px, 2vw, 27px); }
.pickup-brand h1 { margin: 0; color: white; font-size: clamp(25px, 4vw, 60px); line-height: 1.08; }
#pickup-fullscreen { color: #edf5ff; background: #173756; border: 1px solid #496984; }
#pickup-connection { padding: 14px; border: 1px solid #496984; border-radius: 12px; background: #132d4c; }
.pickup-board { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: clamp(14px, 2vw, 26px); align-items: start; }
.pickup-board section { border: 1px solid #294768; border-radius: 22px; padding: clamp(12px, 2vw, 28px); background: #102640; }
.pickup-board .pickup-ready { border-top: 4px solid #55d6bb; }
.pickup-preparing { border-top: 4px solid #ffa365 !important; }
.pickup-board h2 { margin: 0 0 18px; font-size: clamp(20px, 2.7vw, 40px); }
.pickup-ready h2 { color: #7de4cd; }
.pickup-preparing h2 { color: #ffb781; }
.pickup-board p { color: #b8cbe3; }
.pickup-board ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.pickup-ready li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px clamp(12px, 3vw, 44px);
  padding: 10px clamp(12px, 2vw, 30px);
  border: 1px solid #3782dc;
  border-radius: 15px;
  background: linear-gradient(130deg, #075acb, #103864);
  animation: pickup-appear .4s ease-out both;
}
.pickup-ready li strong { font-size: clamp(38px, 6.5vw, 100px); line-height: 1.05; font-variant-numeric: tabular-nums; }
.pickup-ready li span { font-size: clamp(23px, 4vw, 64px); font-weight: 700; overflow-wrap: anywhere; }
.pickup-preparing ul { grid-template-columns: repeat(auto-fit, minmax(min(100%, 82px), 1fr)); }
.pickup-preparing li { background: #1a3655; border-radius: 10px; padding: 10px 6px; text-align: center; font-size: clamp(20px, 3vw, 40px); }
@keyframes pickup-appear { from { opacity: .35; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 680px) { .pickup-board { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .pickup-ready li { animation: none; } }

/* Entrada do MesaFlow */
#login {
  --login-ink: #09192f;
  --login-blue: #146ef5;
  color: var(--login-ink);
  grid-template-columns: 53% 47%;
  min-height: 100svh;
}
#login[hidden] { display: none; }
#login .login-story {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(30px, 4.7vw, 72px);
  background: #09182d;
  background-image: linear-gradient(#18365633 1px, transparent 1px), linear-gradient(90deg, #18365633 1px, transparent 1px);
  background-size: 48px 48px;
  isolation: isolate;
}
#login .login-story::after {
  right: -155px;
  bottom: -355px;
  width: 420px;
  height: 490px;
  border: 1px solid #1ba5ce70;
  box-shadow: 0 0 0 48px #00b2ff09, 0 0 0 96px #00b2ff07;
  z-index: -1;
}
.login-brand { display: flex; align-items: center; gap: 12px; }
.login-mark {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  color: #78e9ff;
  background: #0b2b41;
  border: 1px solid #1387a4;
  border-radius: 12px;
  font-weight: 750;
}
.login-brand strong { display: block; font-size: 20px; line-height: 1.2; }
.login-brand div span, .login-eyebrow, .login-signature {
  color: #8adbf2;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.login-brand div span { display: block; margin-top: 5px; }
.login-intro { max-width: 640px; padding: 48px 0; }
.login-intro::before { content: ""; display: block; width: 38px; height: 3px; margin-bottom: 27px; background: #00b2ff; }
#login .login-intro h1 {
  font-size: clamp(36px, 4.15vw, 63px);
  line-height: 1.16;
  letter-spacing: -.05em;
  margin: 25px 0 26px;
  text-wrap: balance;
}
.login-intro p:last-child { max-width: 465px; margin-bottom: 0; color: #c4d6e7; font-size: 17px; line-height: 1.5; }
.login-signature { border-top: 1px solid #284058; padding-top: 20px; }
.login-access { display: flex; flex-direction: column; justify-content: space-between; background: #f2f7fc; min-width: 0; }
#login .login-box { max-width: 520px; padding: 34px 30px 24px; }
.login-partner { border-bottom: 1px solid #d7e3ef; margin-bottom: 25px; padding-bottom: 16px; }
.login-partner img { display: block; width: clamp(130px, 15vw, 216px); height: auto; }
#login .login-box h2 { font-size: clamp(25px, 2.3vw, 33px); line-height: 1.18; margin-bottom: 10px; }
#login .login-box .muted { font-size: 15px; color: #455f79; margin-bottom: 25px; }
#login-form label { margin: 0 0 13px; gap: 7px; }
#login-form input { border: 1px solid #c9dbed; border-radius: 12px; background: #fff; color: #173452; }
#login-form input::placeholder { color: #526a82; }
#login-form input:focus { outline-color: var(--login-blue); }
#login-form button { width: 100%; background: #0d5ad2; margin-top: 3px; }
#login-form button span { margin-left: 6px; }
.login-footer { text-align: center; color: #566e87; font-size: 11px; padding: 10px 16px 24px; }
#login #demo-buttons { flex-wrap: wrap; }
#login #demo-buttons > p { flex-basis: 100%; margin: 0; }
#login #demo-buttons > button { max-width: 100%; }
@media (max-width: 720px) {
  #login { grid-template-columns: minmax(0, 1fr); }
  #login .login-story { padding: 24px; }
  .login-intro { padding: 30px 0 5px; }
  .login-intro::before { margin-bottom: 15px; }
  #login .login-intro h1 { margin: 12px 0; font-size: clamp(32px, 8vw, 45px); text-wrap: initial; }
  .login-intro p:last-child { font-size: 15px; }
  .login-signature { display: none; }
  #login .login-box { padding: 22px 24px 18px; }
  .login-partner { margin-bottom: 18px; padding-bottom: 10px; }
  .login-partner img { width: 110px; }
}

