:root { --ink:#34393d; --muted:#72797e; --cream:#f1f2f3; --paper:#ffffff; --line:#d8dcde; --green:#c84f20; --lime:#ffd5c2; --orange:#ef6b2d; --red:#a93d28; --shadow:0 12px 32px rgba(35,40,44,.10); }
* { box-sizing:border-box; } body { margin:0; font-family:Georgia, 'Times New Roman', serif; background:radial-gradient(circle at 90% 0, #ffd2bc 0, transparent 30%), var(--cream); color:var(--ink); }
.topbar { min-height:72px; padding:12px clamp(16px,4vw,64px); display:flex; align-items:center; gap:28px; background:rgba(255,253,248,.9); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; backdrop-filter:blur(14px); }.brand { color:var(--ink); text-decoration:none; font-weight:bold; font-size:20px; white-space:nowrap; }.brand span { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--green); color:var(--lime); font-size:13px; } nav { display:flex; gap:6px; } nav a { padding:9px 13px; border-radius:20px; color:var(--muted); text-decoration:none; font:600 14px Arial,sans-serif; } nav a.active { background:var(--green); color:#fff; }.live { margin-left:auto; font:600 12px Arial,sans-serif; color:var(--muted); }.live i { width:8px; height:8px; display:inline-block; background:#63a36c; border-radius:50%; margin-right:5px; }.page { max-width:1440px; padding:30px clamp(16px,4vw,64px) 60px; margin:auto; }.page-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:24px; }.eyebrow { color:var(--orange); letter-spacing:.13em; font:700 11px Arial,sans-serif; margin:0 0 6px; } h1 { margin:0; font-size:clamp(28px,4vw,43px); } #clock { color:var(--muted); font:13px Arial,sans-serif; }
.tables-layout { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:24px; }.table-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(185px,1fr)); gap:14px; }.table-card,.panel,.ticket { background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); border-radius:16px; }.table-card { padding:18px; cursor:pointer; transition:.18s transform,.18s border-color; }.table-card:hover,.table-card.selected { transform:translateY(-3px); border-color:var(--orange); }.table-card .status { font:700 10px Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; color:var(--green); }.table-card.occupied .status { color:var(--orange); }.table-card h3 { margin:13px 0 4px; font-size:22px; }.table-card p { margin:0; color:var(--muted); font:13px Arial,sans-serif; }.amount { color:var(--green)!important; font-weight:bold!important; margin-top:18px!important; font-size:18px!important; }.panel { padding:20px; }.panel h2 { margin:0 0 16px; font-size:22px; }.catalog { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.product { padding:11px; text-align:left; border:1px solid var(--line); border-radius:10px; background:#fff; cursor:pointer; color:var(--ink); }.product:hover { border-color:var(--green); background:#fff1e9; }.product strong,.product small { display:block; }.product small { color:var(--muted); margin-top:4px; }.cart-item { display:flex; gap:8px; justify-content:space-between; font:14px Arial,sans-serif; padding:9px 0; border-bottom:1px solid var(--line); }.qty { color:var(--orange); font-weight:bold; }.cart-total { display:flex; justify-content:space-between; font-weight:bold; font-size:21px; padding:15px 0; }.field { width:100%; padding:10px; border:1px solid var(--line); border-radius:8px; margin:6px 0 12px; font:14px Arial,sans-serif; }.button { border:0; cursor:pointer; padding:12px 15px; border-radius:9px; background:var(--green); color:white; font-weight:bold; width:100%; }.button:hover { background:#9f3818; }.button.secondary { background:#e4e7e8; color:var(--ink); }.empty { color:var(--muted); font:14px Arial,sans-serif; padding:14px 0; }.kitchen-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:16px; }.ticket { padding:18px; border-top:5px solid var(--orange); }.ticket.ready { border-color:#8a9296; }.ticket-head { display:flex; justify-content:space-between; align-items:start; }.ticket h2 { margin:4px 0; }.ticket p,.ticket li { font:14px Arial,sans-serif; }.ticket ul { padding-left:18px; line-height:1.8; }.badge { background:#ffe2d2; padding:5px 8px; border-radius:14px; font:700 10px Arial,sans-serif; text-transform:uppercase; }.ready .badge { background:#e5e8e9; }.ticket-actions { display:flex; gap:8px; }.ticket-actions button { flex:1; border:0; padding:9px; cursor:pointer; border-radius:7px; background:#e9ebec; font-weight:bold; }.ticket-actions button:last-child { background:var(--green); color:#fff; }.cash-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; }.summary { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:20px; }.stat { padding:17px; background:var(--green); border-radius:13px; color:#fff; }.stat:nth-child(2) { background:var(--orange); }.stat:nth-child(3) { background:#626a6d; }.stat small { display:block; font:11px Arial,sans-serif; opacity:.8; }.stat strong { display:block; margin-top:7px; font-size:26px; }.bill-row { display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); font:14px Arial,sans-serif; }.bill-row strong { font-family:Georgia,serif; font-size:17px; }.pay { width:auto; padding:9px 12px; background:var(--orange); }.payments { margin:0; padding:0; list-style:none; }.payments li { padding:12px 0; border-bottom:1px solid var(--line); font:13px Arial,sans-serif; }.payments strong { float:right; color:var(--green); } #toast { position:fixed; bottom:24px; right:24px; background:var(--ink); color:#fff; padding:13px 18px; border-radius:9px; opacity:0; transform:translateY(12px); transition:.25s; font:14px Arial,sans-serif; pointer-events:none; } #toast.show { opacity:1; transform:none; }
.allergy-chip { display:inline-block; margin-top:9px!important; padding:4px 7px; background:#fee3d7; color:#a43024!important; border-radius:5px; font:700 10px Arial,sans-serif!important; letter-spacing:.08em; }.allergy-box { margin:0 0 20px; padding:13px; border:1px solid #e9b7a8; border-radius:10px; background:#fff4ed; }.allergy-box strong { color:#9a3328; }.allergy-box p,.allergy-box label { font:12px Arial,sans-serif; }.allergy-options { display:flex; flex-wrap:wrap; gap:7px 12px; margin:9px 0; }.allergy-options input { accent-color:var(--red); }.allergy-ticket { border-color:var(--red); background:#fff9f4; }.kitchen-alert,.kitchen-note { display:grid; gap:5px; margin:14px 0; padding:11px; border-radius:8px; font:13px Arial,sans-serif; }.kitchen-alert { border:1px solid #dc6857; background:#ffe5dc; color:#822b21; }.kitchen-alert b,.kitchen-note b { font-size:11px; letter-spacing:.08em; }.kitchen-alert small { color:#9a4034; }.kitchen-note { border:1px solid #e0bd6f; background:#fff5d9; color:#604d20; }.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.catalog-title { margin-top:28px!important; }.admin-products { max-height:410px; overflow:auto; }.admin-products div { padding:10px 0; border-bottom:1px solid var(--line); }.admin-products strong,.admin-products small { display:block; }.admin-products small { margin-top:4px; color:var(--muted); font:12px Arial,sans-serif; }
.modal-backdrop { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:18px; background:rgba(29,37,32,.5); }.payment-modal { position:relative; width:min(540px,100%); padding:26px; border-radius:16px; background:var(--paper); box-shadow:var(--shadow); }.payment-modal h2 { margin:2px 0 16px; font-size:34px; }.modal-close { position:absolute; top:10px; right:12px; border:0; background:transparent; color:var(--muted); font-size:28px; cursor:pointer; }.tax-summary { display:grid; gap:6px; margin:12px 0 18px; padding:12px; border-radius:9px; background:#f3eee4; font:13px Arial,sans-serif; }.tax-summary b { color:var(--green); }.payment-line { display:grid; grid-template-columns:1fr .8fr 1.2fr; gap:8px; margin:8px 0; }.payment-line select,.payment-line input { min-width:0; padding:10px; border:1px solid var(--line); border-radius:8px; }.payment-difference { min-height:20px; font:700 13px Arial,sans-serif; }.payment-difference.complete { color:#357e45; }.payment-difference.pending { color:var(--red); }
.kitchen-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 18px; }.kitchen-toolbar button { border:1px solid var(--line); border-radius:18px; padding:8px 12px; background:var(--paper); color:var(--ink); cursor:pointer; font-weight:bold; }.kitchen-toolbar button.active { background:var(--green); border-color:var(--green); color:#fff; }.kitchen-toolbar span { margin-left:auto; color:var(--muted); font:12px Arial,sans-serif; }.ticket-timer { display:inline-block; margin:8px 0 4px; padding:5px 8px; border-radius:5px; background:#edf1e8; color:var(--green); font:700 11px Arial,sans-serif; }.ticket-timer.late { background:#fee1d8; color:#9f2e24; }.late-ticket { border-color:var(--red); }.kitchen-items { display:grid; gap:7px; margin:14px 0; }.kitchen-item { display:flex; justify-content:space-between; align-items:center; gap:10px; border:1px solid var(--line); padding:10px; border-radius:8px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; }.kitchen-item small { color:var(--muted); font:11px Arial,sans-serif; }.kitchen-item.preparing { border-color:#d79a36; background:#fff8e7; }.kitchen-item.ready { border-color:#68a05d; background:#edf7ea; text-decoration:line-through; }.kitchen-item.ready small { color:#3c7e43; }
.service-actions,.quick-notes { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0 14px; }.service-actions .button { width:auto; flex:1; }.quick-notes button { border:1px solid var(--line); border-radius:15px; padding:7px 9px; background:#fff; color:var(--ink); cursor:pointer; font:12px Arial,sans-serif; }.quick-notes button:hover { border-color:var(--orange); }
.login-card { width:min(420px,100%); margin:10vh auto; padding:30px; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:var(--shadow); text-align:center; }.login-card h2 { margin:4px 0 18px; }.login-card .field { font-size:28px; letter-spacing:.35em; text-align:center; }.report-grid { display:grid; grid-template-columns:repeat(2,minmax(280px,1fr)); gap:24px; }.report-grid h2 { font-size:32px; }.report-filters{display:flex;align-items:end;gap:14px;margin-bottom:24px;flex-wrap:wrap}.report-filters>div{margin-right:auto}.report-filters h2{margin:2px 0 0}.report-filters label{min-width:150px;font-size:12px;color:var(--muted)}.report-filters .field{margin-top:5px}.report-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(105px,auto) minmax(90px,auto);align-items:center;gap:16px;padding:14px 4px;border-bottom:1px solid var(--line)}.report-row:last-child{border-bottom:0}.report-period{font-weight:700;letter-spacing:.02em}.report-count{color:var(--muted);font-size:13px;white-space:nowrap}.report-row strong{font-size:16px;text-align:right;white-space:nowrap}.report-list{margin-top:12px}.tax-summary span{display:flex;justify-content:space-between;gap:12px}.tax-tag{display:inline-block;margin-left:5px;color:var(--muted);font-size:10px;font-style:normal}
.allergy-box summary { cursor:pointer; color:#9a3328; font:700 13px Arial,sans-serif; }.allergy-box:not([open]) { background:#fffaf5; border-color:#ead8cd; }.cart-control { margin-left:6px; width:27px; height:27px; padding:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); font-size:18px; cursor:pointer; vertical-align:middle; }.cart-control.remove { color:var(--red); }.back-to-tables { margin:0 0 12px; padding:0; border:0; background:transparent; color:var(--green); font-weight:bold; cursor:pointer; }
.product.selected-product { border:2px solid var(--green); background:#eaf5e6; box-shadow:inset 0 0 0 1px #cfe56a; }.product.selected-product strong::after { content:' · agregado'; color:var(--green); font-size:11px; }.cart-item > div:first-child { flex:1; min-width:0; }.item-note { display:block; width:100%; margin-top:6px; padding:7px 8px; border:1px solid var(--line); border-radius:6px; background:#fffdf8; font:12px Arial,sans-serif; }.kitchen-item em { display:block; margin-top:5px; color:#9a4c20; font:700 11px Arial,sans-serif; font-style:normal; }
.menu-toggle { display:none; border:1px solid var(--line); border-radius:8px; padding:8px 10px; background:var(--paper); color:var(--green); font:700 12px Arial,sans-serif; cursor:pointer; }.station-toolbar { margin-bottom:8px; }.station-toolbar .toolbar-label { margin-left:0; color:var(--muted); font:700 11px Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }.delivery-panel { margin:0 0 16px; padding:13px; border:1px solid #d6dfbe; border-radius:10px; background:#f7faed; }.delivery-panel h3 { margin:0 0 9px; font-size:16px; }.delivery-panel h3 span { display:inline-grid; place-items:center; min-width:22px; height:22px; border-radius:50%; background:var(--orange); color:#fff; font:700 12px Arial,sans-serif; }.delivery-item { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid #dce5cb; font:13px Arial,sans-serif; }.delivery-item strong,.delivery-item small { display:block; }.delivery-item small { margin-top:3px; color:var(--muted); }.delivery-item b { display:block; margin-bottom:5px; text-align:right; color:var(--green); font-size:11px; }.deliver-button { border:0; border-radius:7px; padding:7px 9px; background:var(--green); color:#fff; font-weight:bold; cursor:pointer; }.delivery-warning { color:var(--red); font-size:12px; }.account-list { display:grid; gap:8px; margin:14px 0; }.account-list h3 { margin:0; }.account-card { display:flex; align-items:start; gap:9px; padding:11px; border:1px solid var(--line); border-radius:9px; cursor:pointer; font:13px Arial,sans-serif; }.account-card span { flex:1; }.account-card b,.account-card small { display:block; }.account-card small { margin-top:5px; color:var(--muted); line-height:1.35; }.account-card strong { color:var(--green); white-space:nowrap; }.billing-panel { margin:0 0 16px; padding:13px; border:1px solid #d8cfb8; border-radius:10px; background:#fffaf0; font:13px Arial,sans-serif; }.billing-choice,.guest-chips { display:flex; flex-wrap:wrap; gap:7px; margin:9px 0; }.billing-choice button,.guest-chips button { border:1px solid var(--line); border-radius:16px; padding:7px 10px; background:#fff; color:var(--ink); cursor:pointer; }.billing-choice button.active,.guest-chips button.active { background:var(--green); border-color:var(--green); color:#fff; }.guest-chips .new-guest { border-style:dashed; color:var(--green); }.account-lines { display:grid!important; gap:3px; }.account-lines i { font-style:normal; }.account-lines em { color:var(--green); font-style:normal; }
@media (max-width:850px) { .tables-layout.ordering > section { display:none; }.tables-layout.ordering { display:block; }.tables-layout.ordering > aside { min-height:calc(100vh - 140px); border-radius:0; box-shadow:none; }.tables-layout.ordering .catalog { grid-template-columns:1fr; }.tables-layout.ordering .product { min-height:72px; }.cart-item { align-items:center; }.cart-item > span:last-child { white-space:nowrap; }.report-grid { grid-template-columns:1fr; } }
@media (max-width:650px) { .topbar { position:relative; min-height:62px; padding:10px 16px; justify-content:space-between; }.brand { font-size:17px; }.brand span { width:30px; height:30px; }.menu-toggle { display:block; margin-left:auto; } .topbar nav { display:none; position:absolute; top:calc(100% + 1px); left:0; right:0; padding:10px 16px 14px; gap:4px; flex-direction:column; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 12px 22px rgba(52,43,28,.12); }.topbar nav.open { display:flex; }.topbar nav a { padding:11px 13px; border-radius:8px; }.topbar .live { display:none; } }
@media (max-width:850px) { .topbar { gap:12px; }.live { display:none; }.tables-layout,.cash-grid,.admin-grid { grid-template-columns:1fr; }.summary { grid-template-columns:1fr 1fr 1fr; }.page { padding-top:22px; } }.@media (max-width:520px) { .brand { font-size:16px; } nav a { padding:8px; font-size:12px; }.catalog,.form-pair { grid-template-columns:1fr; }.summary { grid-template-columns:1fr; }.page-heading #clock { display:none; } }

/* Pedido: mantiene el menú y el resumen juntos, en vez de relegar la comanda a una barra lateral. */
.tables-layout.ordering { grid-template-columns:minmax(240px,.52fr) minmax(620px,1.48fr); align-items:start; }
.tables-layout.ordering .panel { padding:22px; }
.order-panel-head { display:flex; align-items:start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.order-panel-head h2 { margin:0; font-size:28px; }
.order-panel-head > span { padding:7px 10px; border-radius:999px; background:#edf1e8; color:var(--green); font:700 12px Arial,sans-serif; white-space:nowrap; }
.guest-selector { padding:15px; margin-bottom:16px; border:1px solid #d8e4d3; border-radius:12px; background:#f5f9f0; }
.guest-selector-title { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.guest-selector-title b,.guest-selector-title small { display:block; }
.guest-selector-title small,.guest-helper { margin:4px 0 0; color:var(--muted); font:12px Arial,sans-serif; line-height:1.4; }
.add-guest { border:1px dashed var(--green); border-radius:8px; padding:7px 9px; background:#fff; color:var(--green); font:700 12px Arial,sans-serif; cursor:pointer; white-space:nowrap; }
.guest-chips { margin:12px 0 0; }
.guest-chips button { min-height:34px; }
.guest-name-field { display:block; margin-top:11px; font:700 12px Arial,sans-serif; }
.guest-name-field .field { margin:5px 0 0; }
.order-workspace { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr); gap:18px; align-items:start; }
.section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:9px; }
.section-heading h3 { margin:0; font-size:18px; }
.section-heading span { color:var(--muted); font:12px Arial,sans-serif; }
.tables-layout.ordering .catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tables-layout.ordering .product { min-height:92px; }
.cart-zone { position:sticky; top:92px; padding:15px; border:1px solid var(--line); border-radius:12px; background:#fffaf2; }
.cart-zone #cart { max-height:350px; overflow:auto; }
.cart-zone .service-actions { margin-bottom:0; }
.order-details { margin-top:16px; border-top:1px solid var(--line); }
.order-details summary { padding:14px 0; color:var(--green); font:700 13px Arial,sans-serif; cursor:pointer; }
.order-details > div { padding-bottom:2px; }
.order-details .allergy-box { margin-top:4px; }
@media (max-width:1120px) { .tables-layout.ordering { grid-template-columns:minmax(215px,.45fr) minmax(0,1.55fr); }.order-workspace { grid-template-columns:1fr; }.cart-zone { position:static; }.tables-layout.ordering .catalog { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:850px) { .tables-layout.ordering > aside { padding:16px; }.tables-layout.ordering .catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }.guest-selector-title { align-items:center; }.order-panel-head h2 { font-size:25px; } }
@media (max-width:520px) { .tables-layout.ordering > aside { padding:0; background:transparent; border:0; }.tables-layout.ordering .catalog { grid-template-columns:1fr; }.order-workspace { gap:12px; }.guest-selector { padding:13px; }.cart-zone { padding:13px; }.cart-zone #cart { max-height:none; }.order-panel-head { margin:0 0 12px; }.guest-selector-title small { max-width:190px; }.add-guest { padding:7px; } }
.account-card.blocked { cursor:not-allowed; border-color:#e8b5aa; background:#fff7f4; opacity:.78; }.account-card.blocked input { cursor:not-allowed; }.account-card .delivery-warning { display:block; margin-top:7px; }
.page { padding-top:20px; }.draft-board .section-heading,.menu-zone .section-heading { display:none; }.guest-selector-title b { display:none; }.guest-selector-title small { margin-top:0; }.cart-zone .section-heading h3 { display:none; }.cart-zone .section-heading { justify-content:flex-start; }.cart-zone .section-heading span { color:var(--green); font-weight:bold; }
.tables-layout > aside.panel > h2,.order-panel-head { display:none; }
.draft-board { margin-bottom:16px; padding:15px; border:1px solid #d6dfbe; border-radius:12px; background:#f7faed; }.draft-list { display:grid; gap:8px; margin:10px 0; }.draft-card { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px; border:1px solid #dce5cb; border-radius:9px; background:#fff; }.draft-card.editing { border-color:var(--green); box-shadow:inset 0 0 0 1px var(--green); }.draft-card b,.draft-card small,.draft-card strong { display:block; }.draft-card small { margin-top:4px; color:var(--muted); font:12px Arial,sans-serif; line-height:1.35; }.draft-card strong { margin-top:5px; color:var(--green); }.draft-card > div:last-child { display:flex; gap:6px; }.draft-card button,.text-button { border:0; border-radius:7px; padding:7px 8px; background:#e7efe3; color:var(--green); font:700 12px Arial,sans-serif; cursor:pointer; }.draft-card button.danger { background:#fff0eb; color:var(--red); }.send-all { margin-top:4px; }.text-button { width:100%; margin-top:8px; background:transparent; color:var(--muted); text-decoration:underline; }
.customer-panel { margin:16px 0; padding:13px; border:1px solid #d8cfb8; border-radius:10px; background:#fffaf0; }.customer-heading b,.customer-heading small { display:block; }.customer-heading small { margin-top:3px; color:var(--muted); font:12px Arial,sans-serif; }.customer-choice { display:flex; gap:7px; margin:10px 0; }.customer-choice button { flex:1; border:1px solid var(--line); border-radius:8px; padding:9px; background:#fff; color:var(--ink); font-weight:bold; cursor:pointer; }.customer-choice button.active { border-color:var(--green); background:var(--green); color:#fff; }.customer-final-note { margin:0; color:var(--muted); font:12px Arial,sans-serif; }.customer-fields { margin-top:10px; }.customer-fields label { display:block; font:700 12px Arial,sans-serif; }.customer-fields label small { color:var(--muted); font-weight:normal; }.hidden { display:none!important; }
.staff-layout { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:24px; align-items:start; }.role-guide { display:grid; gap:6px; margin-top:20px; padding:13px; border-radius:10px; background:#fff4ed; color:var(--muted); font:12px Arial,sans-serif; }.role-guide b { color:var(--ink); }.staff-heading { margin-bottom:15px; }.staff-heading h2,.staff-heading small { display:block; }.staff-heading h2 { margin-bottom:4px; }.staff-heading small { color:var(--muted); font:12px Arial,sans-serif; }.staff-list { display:grid; gap:12px; max-height:680px; overflow:auto; padding-right:3px; }.staff-card { padding:15px; border:1px solid var(--line); border-radius:12px; background:#fff; }.staff-card.inactive { background:#f4f5f5; opacity:.75; }.staff-card-title { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }.staff-card-title b { font-size:17px; }.staff-card-title span { padding:4px 7px; border-radius:999px; background:#eaf5e6; color:var(--green); font:700 10px Arial,sans-serif; text-transform:uppercase; }.staff-card.inactive .staff-card-title span { background:#eceff0; color:#687176; }.staff-card label { display:block; font:700 12px Arial,sans-serif; }.staff-card label small { color:var(--muted); font-weight:normal; }.staff-active { margin:0 0 12px; color:var(--muted); font-weight:normal!important; }.staff-active input { accent-color:var(--green); }.staff-card .button { width:auto; }.access-panel { max-width:520px; margin:8vh auto; text-align:center; }
.cancellation-modal { width:min(680px,100%); }.cancellation-list { display:grid; gap:8px; margin:16px 0; }.cancellation-line { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px; border:1px solid var(--line); border-radius:9px; background:#fffaf7; font:13px Arial,sans-serif; }.cancellation-line b,.cancellation-line small { display:block; }.cancellation-line small { margin-top:4px; color:var(--muted); }.danger-button { width:auto; background:var(--red)!important; }.cancel-link { color:var(--red)!important; }
.legal-footer { padding:0 24px 20px; text-align:center; font:12px Arial,sans-serif; }.legal-footer a { color:var(--muted); }.customer-row { display:flex; justify-content:space-between; gap:16px; }.customer-row span:last-child { text-align:right; }.customer-row label { display:block; margin-top:5px; font:12px Arial,sans-serif; }.marketing-check { font-weight:normal!important; }
.test-credentials { display:grid; gap:7px; margin-top:18px; padding:13px; border-radius:10px; background:#fff4ed; text-align:left; font:13px Arial,sans-serif; }.test-credentials b { color:var(--ink); }.test-credentials code { padding:2px 5px; border-radius:4px; background:#fff; color:var(--red); }.test-credentials small { color:var(--muted); line-height:1.35; }
/* Long payment and cancellation forms must remain usable on short screens. */
.modal-backdrop { display:flex; align-items:flex-start; justify-content:center; overflow-y:auto; -webkit-overflow-scrolling:touch; }.payment-modal { max-height:calc(100dvh - 36px); margin:auto 0; overflow-y:auto; overscroll-behavior:contain; }
@media (max-width:520px) { .draft-card { align-items:flex-start; flex-direction:column; }.draft-card > div:last-child { width:100%; }.draft-card button { flex:1; } }
.sent-orders { margin:0 0 16px; border:1px solid #d8cfb8; border-radius:12px; background:#fffaf0; overflow:hidden; font:13px Arial,sans-serif; }.sent-orders summary { padding:13px 15px; cursor:pointer; color:var(--green); font-weight:800; }.sent-orders summary span { display:inline-grid; place-items:center; min-width:22px; height:22px; margin-left:5px; border-radius:50%; background:var(--orange); color:#fff; font-size:11px; }.sent-order-list { display:grid; gap:9px; padding:0 12px 12px; }.sent-order { padding:11px; border:1px solid #e4dcc8; border-radius:9px; background:#fff; }.sent-order.own-order { border-left:4px solid var(--orange); }.sent-order header,.sent-order header div,.sent-order footer { display:flex; justify-content:space-between; gap:10px; }.sent-order header div { display:block; }.sent-order header small { display:block; margin-top:3px; color:var(--muted); }.sent-order time { color:var(--muted); font-size:11px; white-space:nowrap; }.sent-order p { display:flex; align-items:start; justify-content:space-between; gap:10px; margin:8px 0 0; padding-top:8px; border-top:1px dashed #ddd; }.sent-order p span small { display:block; margin-top:3px; color:var(--muted); }.sent-status { padding:4px 7px; border-radius:999px; background:#fff1e9; color:var(--orange); font-size:10px; font-style:normal; font-weight:800; white-space:nowrap; }.sent-status.delivered,.sent-status.ready { background:#edf4e8; color:var(--green); }.sent-order footer { justify-content:flex-end; margin-top:9px; color:var(--green); font-weight:800; }
@media (max-width:850px) { .staff-layout { grid-template-columns:1fr; }.staff-list { max-height:none; } }
.admin-products details { padding:12px 0; border-bottom:1px solid var(--line); }
.admin-products summary { cursor:pointer; padding:8px 0; font-weight:600; }
.admin-products form { padding:10px 0; }
.catalog-tools { display:grid; grid-template-columns:2fr 1fr 1fr; gap:12px; margin-bottom:16px; }
.catalog-row { border-bottom:1px solid var(--line); }
.catalog-row summary { display:flex; align-items:center; gap:16px; padding:16px 0; cursor:pointer; }
.catalog-row summary>span:first-child { flex:1; min-width:0; }
.catalog-row small { display:block; margin-top:5px; color:var(--muted); }
.catalog-row form { max-width:700px; padding:8px 0 20px; }
.product-edit-grid { display:grid; grid-template-columns:1fr 1fr 1.2fr 1.4fr; gap:12px; }
.kitchen-byline { margin:2px 0 0!important; color:var(--muted); font:11px/1.35 Arial,sans-serif!important; }
.catalog-actions { display:flex; flex-wrap:wrap; gap:12px; }
.catalog-create { margin-top:18px; }
.catalog-create>summary { cursor:pointer; padding:8px; }
@media(max-width:600px){.catalog-tools{grid-template-columns:1fr 1fr}.catalog-tools>input{grid-column:1/-1}.catalog-row summary{gap:10px}.catalog-row .form-pair,.product-edit-grid{grid-template-columns:1fr}}
.cash-status-panel { margin:0 0 14px; padding:12px; border:1px solid #e3b28e; border-radius:10px; background:#fff8ef; font:13px Arial,sans-serif; }.cash-status-panel>p { margin:5px 0 10px; color:var(--muted); }.cash-status-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid #ecd8c9; }.cash-status-row span b,.cash-status-row span small { display:block; }.cash-status-row span small { margin-top:3px; color:#9f2e24; }.cash-status-row.ready span small { color:var(--green); }.cash-status-row button { flex:0 0 auto; }
.cash-line-actions { display:flex; align-items:center; gap:8px; }.paid-chip { color:var(--green); font-size:11px; text-transform:uppercase; }.item-pay-total { display:flex; justify-content:space-between; padding:12px 0; font-size:18px; }.item-payment-modal { width:min(520px,100%); }
.single-guest-invoice { margin:0; padding:10px 12px; border-left:4px solid var(--orange); border-radius:6px; background:#fff4e9; color:var(--ink); font:700 13px Arial,sans-serif; }
.kitchen-older { margin:18px 0; border:1px solid #e2c9b7; border-radius:10px; background:#fffaf6; }
.kitchen-older>summary { padding:14px 16px; color:var(--ink); font-weight:700; cursor:pointer; }
.kitchen-older>p { margin:0; padding:0 16px 12px; color:var(--muted); font-size:13px; }
.kitchen-item.ready { display:flex; flex-direction:column; justify-content:center; width:100%; border:1px solid #a6c6a3; cursor:default; text-align:left; }
