/* Restaurant-only visual layer. No domain states, permissions or data changes. */
.restaurant-shell {
  --restaurant-ink:#152f2a; --restaurant-muted:#647a73;
  --restaurant-line:#e1eae6; --restaurant-canvas:#f3f7f5;
  --restaurant-accent:#ff7a20; --green:#087451; --green-dark:#03523b;
  --mint:#e6f4ec; color:var(--restaurant-ink); background:var(--restaurant-canvas);font-family:'DM Sans',Arial,sans-serif;
}
.restaurant-shell :is(h1,h2,h3,.brand) {font-family:'Manrope',Arial,sans-serif}
.restaurant-shell .sidebar {background:linear-gradient(170deg,#073e31,#005a40 65%,#073b30);border:0;padding:22px 14px 16px;color:#fff;box-shadow:4px 0 24px #123d2810}
.restaurant-shell .sidebar .brand {background:#fff;border-radius:12px;padding:7px}
.restaurant-shell .sidebar nav a {color:#d7eee4;border:1px solid transparent;min-height:44px;border-radius:11px;font-size:13px;transition:background .18s ease}
.restaurant-shell .sidebar nav a:hover {background:#ffffff12;color:#fff}
.restaurant-shell .sidebar nav a.active {background:linear-gradient(100deg,#12825d,#0c7252);color:#fff;border-color:#ffffff15;box-shadow:0 4px 12px #002b2426}
.restaurant-shell .sidebar-nav-label {color:#92b8aa;font-size:10px;padding-top:20px}
.restaurant-shell .sidebar-user {border-color:#ffffff20;color:#fff}
.restaurant-shell .sidebar-user small {color:#b1d2c4}
.restaurant-shell .sidebar .icon-button,.restaurant-shell .sidebar-manual {color:#d4ecdf}
.restaurant-shell .sidebar-install {background:#ffffff12;color:#ecfff4}
.restaurant-shell .topbar {background:#ffffffed;border-color:var(--restaurant-line);padding:0 28px;height:66px}
.restaurant-shell .topbar-company {font-size:12px;color:#24483a}
.restaurant-shell .content {max-width:1600px;padding:28px;min-width:0}
.restaurant-shell .page-heading h1,.restaurant-shell .restaurant-floor-heading h1 {font-size:clamp(25px,2.5vw,34px);letter-spacing:-.045em;line-height:1.15;margin:5px 0 8px;color:#16392e}
.restaurant-shell .page-heading p,.restaurant-shell .restaurant-floor-heading p {font-size:13px;line-height:1.6;color:var(--restaurant-muted);max-width:75ch}
.restaurant-shell .eyebrow {font-size:10px;letter-spacing:.12em;color:#758b81}
.restaurant-shell :is(.primary-button,.secondary-button) {min-height:42px;border-radius:10px;font-size:12px;padding:10px 15px;gap:7px}
.restaurant-shell .secondary-button {background:#fff;border:1px solid #d8e6de;color:#176447;box-shadow:0 2px 5px #173d2704}
.restaurant-shell :is(button,a,input,select,textarea):focus-visible {outline:3px solid #ff9a38;outline-offset:3px}
.restaurant-shell button:disabled {cursor:not-allowed;opacity:.55}
.restaurant-shell .dashboard-filters,.restaurant-shell .order-filters {display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.restaurant-shell :is(.dashboard-filters,.order-filters) button {border:1px solid var(--restaurant-line);border-radius:10px;min-height:40px;background:#fff;padding:9px 15px;color:#466358;font-size:12px;box-shadow:none}
.restaurant-shell :is(.dashboard-filters button.selected,.order-filters button.active) {background:#07573d;color:#fff;border-color:#07573d}
.restaurant-shell .order-filters b {border-radius:8px;padding:2px 6px;background:#eaf1ed;color:#365b4b;margin-left:5px}
.restaurant-shell .order-filters button.active b {background:#ffffff24;color:#fff}
/* Dashboard: keep every real metric and administrative action. */
.restaurant-shell .dashboard-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.restaurant-shell .dashboard-metric {background:#fff;border:1px solid var(--restaurant-line);border-radius:15px;padding:18px;box-shadow:0 4px 15px #183e2a04;min-width:0}
.restaurant-shell .dashboard-metric>svg {background:#e7f5ed;color:#0a7851;border-radius:10px;padding:8px;width:39px;height:39px}
.restaurant-shell .dashboard-metric span {font-size:12px;color:#587267}
.restaurant-shell .dashboard-metric strong {font-size:clamp(21px,2vw,29px);letter-spacing:-.035em;overflow-wrap:anywhere}
.restaurant-shell .dashboard-metric.featured {background:linear-gradient(125deg,#006644,#07855c);color:#fff;border-color:#087651;box-shadow:0 7px 20px #08775120}
.restaurant-shell .dashboard-metric.featured span,.restaurant-shell .dashboard-metric.featured strong {color:#fff}
.restaurant-shell .dashboard-metric.featured>svg {background:#ffffff20;color:#fff}
.restaurant-shell .dashboard-grid {gap:18px;margin-top:22px}
.restaurant-shell .dashboard-card {background:#fff;border:1px solid var(--restaurant-line);border-radius:16px;box-shadow:0 5px 18px #21432e04;padding:22px;min-width:0}
.restaurant-shell .dashboard-card h2 {font-size:16px;color:#1a3e30}
/* Orders: information hierarchy without hiding fields or controls. */
.restaurant-shell .order-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.restaurant-shell .order-card {background:#fff;border:1px solid var(--restaurant-line);border-radius:16px;box-shadow:0 4px 18px #22412e05;padding:20px;overflow-wrap:anywhere;min-width:0}
.restaurant-shell .order-card>header {border-bottom:1px solid #edf2ef;padding-bottom:13px;margin-bottom:14px}
.restaurant-shell .order-card.preparing {border-top:3px solid #ff8a32}
.restaurant-shell .order-card.ready {border-top:3px solid #18935f}
.restaurant-shell .order-status {border-radius:7px;font-size:10px;padding:5px 8px;letter-spacing:.02em}
.restaurant-shell .order-status.preparing {background:#fff0dc;color:#9a4c00}
.restaurant-shell .order-status.ready {background:#e1f4e8;color:#0d7046}
.restaurant-shell .order-customer {font-size:13px;line-height:1.7}
.restaurant-shell .order-items {background:#f7faf8;border:1px solid #edf2ef;border-radius:11px;padding:12px;margin:14px 0;font-size:13px}
.restaurant-shell .order-card footer {display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #edf2ef;padding-top:14px}
.restaurant-shell .order-total {color:#075d42;font-size:20px}
.restaurant-shell .order-total>span {font-size:11px;color:#6a8076}
.restaurant-shell .ifood-order-status {border-radius:10px;background:#f0f8f3;border:1px solid #dfebe3;padding:12px;font-size:12px}
.restaurant-shell details>summary {cursor:pointer;min-height:40px;padding:10px 0;color:#146448;font-weight:700;font-size:12px}
/* Kitchen: local and online sources stay explicit. */
.restaurant-shell .kitchen-summary {background:#fff;border:1px solid var(--restaurant-line);border-radius:14px;padding:17px 20px;margin:20px 0;box-shadow:none}
.restaurant-shell .kitchen-summary :is(strong,span) {color:#23543f}
.restaurant-shell .kitchen-summary small {color:#607a6d}
.restaurant-shell .kitchen-board {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.restaurant-shell .kitchen-ticket {min-width:0;background:#fff;border:1px solid #dce8e0;border-top:4px solid #78b392;border-radius:13px;box-shadow:0 4px 15px #1d452b06;overflow-wrap:anywhere}
.restaurant-shell .kitchen-ticket>header {background:#f1f8f3;padding:15px;border-bottom:1px solid #e2eee6}
.restaurant-shell .kitchen-ticket h2 {font-size:15px;line-height:1.45;letter-spacing:-.02em}
.restaurant-shell .kitchen-ticket time {font-size:11px;color:#71867c;white-space:nowrap}
.restaurant-shell .kitchen-item {padding:12px;border-bottom:1px solid #eef3ef;font-size:13px}
.restaurant-shell .kitchen-item>b {color:#d96616}
.restaurant-shell .kitchen-item small {font-size:11px;line-height:1.6}
.restaurant-shell .kitchen-ticket:has(.kitchen-item.preparing) {border-top-color:#ff8a32}
.restaurant-shell .kitchen-ticket:has(.kitchen-item.ready) {border-top-color:#159661}
.restaurant-shell .kitchen-ticket footer {display:flex;flex-wrap:wrap;gap:8px;padding:13px}
.restaurant-shell .kitchen-ticket footer button {background:#087751;color:#fff;border:0;border-radius:9px;padding:11px 14px;font-weight:700}
.restaurant-shell .kitchen-ticket footer button.ready {background:#f7771d;color:#fff}
.restaurant-shell .kitchen-ticket footer p,.restaurant-shell .kitchen-ticket>p {font-size:12px;line-height:1.6;padding:0 14px}
.restaurant-shell section[aria-label="Pedidos online na cozinha"] {margin-top:30px;border-top:1px solid var(--restaurant-line);padding-top:24px}
.restaurant-shell section[aria-label="Pedidos online na cozinha"]>.master-heading {margin-bottom:18px}
.restaurant-shell section[aria-label="Pedidos online na cozinha"] h2 {font-size:18px}
/* Point of sale: same form/actions with clearer catalog and sticky checkout. */
.restaurant-shell .pos-layout {grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:20px;align-items:start}
.restaurant-shell .pos-products {min-width:0}
.restaurant-shell .pos-product-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.restaurant-shell .pos-product {position:relative;grid-template-columns:minmax(0,1fr);gap:10px;align-content:start;border:1px solid #e0e9e3;border-radius:13px;background:#fff;box-shadow:0 3px 12px #163e2704;overflow:hidden;min-width:0;transition:box-shadow .18s ease,border-color .18s ease}
.restaurant-shell .pos-product:hover {border-color:#95bea5;box-shadow:0 6px 18px #164f2b12}
.restaurant-shell .pos-product>img,.restaurant-shell .pos-product>span {width:100%;height:120px;object-fit:cover;background:#f0f5f1}
.restaurant-shell .pos-product>svg {position:absolute;right:16px;top:16px;background:#fff;border-radius:50%;padding:3px;width:26px;height:26px;display:block;box-shadow:0 2px 6px #183c2520}
.restaurant-shell .pos-product strong {font-size:13px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.restaurant-shell .pos-product span {color:#076243;font-weight:800}
.restaurant-shell .cart-card {position:sticky;top:86px;background:#fff;border:1px solid var(--restaurant-line);border-radius:16px;box-shadow:0 6px 24px #17462e08;min-width:0}
.restaurant-shell .cart-title {background:#f7fbf8;border-bottom:1px solid #e5eee7;padding:18px}
.restaurant-shell .cart-title h2 {font-size:17px}
.restaurant-shell .cart-item {padding:14px;border-bottom:1px solid #edf3ef;gap:8px;min-width:0}
.restaurant-shell .cart-checkout {background:#f7faf8;border-top:1px solid #e3ece6;padding:18px}
.restaurant-shell .checkout-total {color:#075d42;font-size:22px}
.restaurant-shell .finish-sale {background:linear-gradient(100deg,#fa7118,#ff8a2e);color:#fff;width:100%;min-height:50px;box-shadow:0 5px 15px #ee741820}
.restaurant-shell .finish-sale:hover {background:#dc5b0b}
/* Floor: real states instead of illustrative floorplan or invented capacity. */
.restaurant-shell .restaurant-floor-links {display:flex;flex-wrap:wrap;gap:9px;margin:17px 0}
.restaurant-shell .restaurant-floor-links a {border:1px solid #dce9e1;border-radius:9px;background:#fff;padding:10px 14px;font-size:12px}
.restaurant-shell .restaurant-floor-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:18px;background:#eaf2ec;border:1px solid #dce8df;border-radius:18px}
.restaurant-shell .restaurant-floor-table {background:#fff;border:1px solid #dce9e0;border-top:4px solid #b5cbbd;border-radius:14px;padding:18px;box-shadow:0 4px 12px #19442a06;min-width:0}
.restaurant-shell .restaurant-floor-table.free {border-top-color:#58ab7d;background:linear-gradient(#f8fdf9,#fff)}
.restaurant-shell .restaurant-floor-table.occupied {border-top-color:#ff943b;background:linear-gradient(#fff7ed,#fff)}
.restaurant-shell .restaurant-floor-table.open {border-top-color:#168b61;background:linear-gradient(#edf9f1,#fff)}
.restaurant-shell .restaurant-floor-status {font-size:10px;letter-spacing:.04em}
.restaurant-shell .restaurant-floor-table h2 {font-size:20px;margin:10px 0}
.restaurant-shell .restaurant-floor-total {color:#126044;font-size:18px}
.restaurant-shell .restaurant-floor-form {background:#fff;border:1px solid var(--restaurant-line);border-radius:13px;padding:18px}
/* Deliveries: do not imply maps, tracking or assignment are available. */
.restaurant-shell .fleet-card,.restaurant-shell .fleet-phase {background:#fff;border:1px solid var(--restaurant-line);border-radius:15px;padding:22px;box-shadow:0 3px 15px #183f2904}
.restaurant-shell .fleet-phase {background:#eef7f1;color:#245d43;line-height:1.6;margin:20px 0}
.restaurant-shell .fleet-drivers {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.restaurant-shell .fleet-driver {border:1px solid #dfebe2;border-radius:12px;background:#fbfdfb;padding:18px;min-width:0;overflow-wrap:anywhere}
.restaurant-shell .fleet-driver h3 {font-size:16px}
.restaurant-shell .fleet-search {margin-bottom:18px}
@media(min-width:1600px){.restaurant-shell .order-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1200px){.restaurant-shell .kitchen-board{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-shell .restaurant-floor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-shell .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-shell .fleet-drivers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.restaurant-shell .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-shell .order-grid{grid-template-columns:minmax(0,1fr)}.restaurant-shell .pos-layout{grid-template-columns:minmax(0,1fr)}.restaurant-shell .cart-card{position:static}.restaurant-shell .pos-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.restaurant-shell .content{padding:18px 14px}.restaurant-shell .topbar{padding:0 14px}.restaurant-shell .master-heading,.restaurant-shell .restaurant-floor-heading{align-items:flex-start;flex-wrap:wrap;gap:14px}.restaurant-shell .dashboard-metrics{gap:9px}.restaurant-shell .dashboard-metric{padding:13px}.restaurant-shell .dashboard-metric strong{font-size:21px}.restaurant-shell .dashboard-card{padding:16px}.restaurant-shell .kitchen-board,.restaurant-shell .fleet-drivers{grid-template-columns:minmax(0,1fr)}.restaurant-shell .restaurant-floor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.restaurant-shell .restaurant-floor-table{padding:12px}.restaurant-shell .restaurant-floor-table .primary-button{padding:9px;font-size:11px}.restaurant-shell .order-card{padding:15px}.restaurant-shell .order-card footer>button{flex:1 1 130px}.restaurant-shell .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-shell .pos-product img{height:105px}.restaurant-shell .dashboard-filters button,.restaurant-shell .order-filters button{padding:8px 10px}.restaurant-shell .kitchen-summary{flex-wrap:wrap;gap:12px}.restaurant-shell .mobile-bottom-nav{border-top:1px solid #dfebe2;background:#ffffffed}}
@media(prefers-reduced-motion:reduce){.restaurant-shell *,.restaurant-shell *::before,.restaurant-shell *::after{transition:none!important;animation-duration:.01ms!important}}
