:root {
  --yellow: #f4bf24;
  --yellow-dark: #dca30a;
  --yellow-soft: #fff5cc;
  --ink: #1d2733;
  --ink-soft: #56616e;
  --slate: #3f464d;
  --slate-deep: #2e343a;
  --line: #e4e7eb;
  --surface: #ffffff;
  --canvas: #f6f7f8;
  --success: #4dbd8b;
  --danger: #e84e5b;
  --shadow: 0 12px 32px rgba(31, 38, 46, .10);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Histórico e controles fiscais */
.fiscal-controls-grid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr); gap: 16px; margin-bottom: 16px; }
.fiscal-control-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px; }
.fiscal-control-card > div:first-child { display: grid; gap: 5px; }
.fiscal-control-card strong { color: #172033; }
.fiscal-control-card span, .fiscal-control-card small { color: #687386; }
.fiscal-card-actions, .fiscal-row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.fiscal-monitor { padding: 0; overflow: hidden; }
.fiscal-monitor summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 20px; list-style: none; }
.fiscal-monitor summary::-webkit-details-marker { display: none; }
.fiscal-monitor summary span { display: grid; gap: 4px; }
.fiscal-monitor summary small, .fiscal-monitor > p { color: #687386; }
.fiscal-monitor > div { border-top: 1px solid #e3e7ed; }
.fiscal-monitor > p { margin: 12px 20px 16px; font-size: 12px; }
.fiscal-standard-row { display: grid; grid-template-columns: 12px minmax(150px, 1fr) minmax(120px, .7fr) auto; align-items: center; gap: 10px; padding: 10px 20px; color: inherit; text-decoration: none; border-bottom: 1px solid #edf0f4; }
.fiscal-standard-row:hover { background: #f7f9fc; }
.fiscal-standard-row small { color: #687386; }
.fiscal-standard-row b { font-size: 11px; text-transform: uppercase; color: #596579; }
.fiscal-monitor-dot { width: 9px; height: 9px; border-radius: 50%; background: #efa525; box-shadow: 0 0 0 3px rgba(239,165,37,.14); }
.fiscal-monitor-dot.is-current { background: #2fa66d; box-shadow: 0 0 0 3px rgba(47,166,109,.14); }
.fiscal-monitor-dot.is-review { background: #d94c4c; box-shadow: 0 0 0 3px rgba(217,76,76,.14); }
.fiscal-history-table { overflow-x: auto; }
.fiscal-history-table td { vertical-align: middle; }
.fiscal-history-table td > small { display: block; margin-top: 4px; color: #7b8493; }
.fiscal-key { display: block; max-width: 260px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; overflow-wrap: anywhere; color: #333e52; }
.icon-button { border: 1px solid #ccd3dd; border-radius: 6px; background: #fff; color: #344054; padding: 6px 8px; font-size: 11px; font-weight: 700; cursor: pointer; }
.icon-button:hover { border-color: #f0a500; color: #8a5b00; }
.icon-button.is-danger { border-color: #efc3c3; color: #b42318; }
.badge.is-authorized, .badge.is-current { background: #dff5e8; color: #197247; }
.badge.is-canceled, .badge.is-inutilized { background: #fbe5e5; color: #a32929; }
.badge.is-review { background: #fde7e7; color: #a32929; }
.badge.is-partial, .badge.is-uncertain { background: #fff0ce; color: #8a5a00; }
.badge.is-rejected, .badge.is-failed { background: #fde7e7; color: #a32929; }
.badge.is-processing { background: #e4efff; color: #24589b; }
.fiscal-no-action { color: #8a93a3; font-size: 11px; }
.fiscal-alert { display: grid; gap: 5px; padding: 14px 16px; border-left: 4px solid #e5a01c; background: #fff8e8; }
.fiscal-alert.is-error { border-left-color: #cc3535; background: #fff0f0; }
.fiscal-alert span, .fiscal-alert small { color: #6d7480; }
.modal-fiscal-action { max-width: 560px; }
.modal-sync-conflict { max-width: 620px; }
.sync-conflict-body { display: grid; gap: 14px; padding: 18px; }
.sync-conflict-body > .button { justify-self: start; }
.modal-sync-conflict .modal-footer { flex-wrap: wrap; }
.fiscal-service-account { display: grid; gap: 5px; padding: 13px 15px; margin-bottom: 14px; border-radius: 8px; background: #f3f5f8; }
.fiscal-service-account span { color: #687386; font-size: 12px; }
.fiscal-service-account strong { overflow-wrap: anywhere; }

@media (max-width: 900px) {
  .fiscal-controls-grid { grid-template-columns: 1fr; }
  .fiscal-standard-row { grid-template-columns: 12px 1fr auto; }
  .fiscal-standard-row small { grid-column: 2 / 4; }
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--canvas); color: var(--ink); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.is-hidden { display: none !important; }

.auth-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(340px, 1.05fr) minmax(420px, .95fr); }
.auth-intro { min-height: 100vh; padding: clamp(32px, 6vw, 88px); color: #fff; background: linear-gradient(135deg, #f4bf24 0%, #f7cb43 48%, #e7a80b 100%); display: flex; flex-direction: column; overflow: hidden; position: relative; }
.auth-intro::after { content: ""; position: absolute; width: 620px; height: 620px; right: -270px; bottom: -295px; border: 80px solid rgba(255,255,255,.15); border-radius: 50%; }
.brand { border: 0; background: transparent; color: var(--ink); padding: 0; display: inline-flex; align-items: center; gap: 3px; font-size: 26px; font-weight: 800; letter-spacing: -1px; width: max-content; }
.brand span { display: inline-grid; place-items: center; width: 30px; height: 30px; color: var(--yellow); background: var(--ink); border-radius: 8px; font-size: 19px; letter-spacing: 0; }
.brand-light { color: #fff; }
.brand-light span { color: var(--ink); background: #fff; }
.auth-copy { max-width: 590px; margin: auto 0 40px; position: relative; z-index: 1; }
.eyebrow { margin: 0 0 10px; color: inherit; opacity: .68; font-size: 11px; font-weight: 800; letter-spacing: 1.25px; }
.auth-copy h1 { margin: 0; font-size: clamp(42px, 5vw, 68px); letter-spacing: -2.5px; line-height: 1; }
.auth-copy > p:last-child { max-width: 480px; margin: 24px 0 0; font-size: 18px; line-height: 1.6; opacity: .9; }
.auth-preview { position: relative; z-index: 1; width: min(470px, 100%); padding: 18px; border-radius: 18px; background: rgba(30,38,46,.87); box-shadow: 0 22px 45px rgba(105,71,0,.24); transform: rotate(-2deg); }
.preview-bar { height: 11px; display: flex; gap: 6px; align-items: center; margin-bottom: 17px; }
.preview-bar i { display: block; width: 7px; height: 7px; background: rgba(255,255,255,.6); border-radius: 50%; }
.preview-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.preview-grid b { min-height: 56px; display: grid; place-items: center; background: #76d39b; border-radius: 8px; color: #fff; font-size: 22px; box-shadow: inset 0 -3px 0 rgba(0,0,0,.15); }
.preview-grid b:nth-child(4) { background: #f15b68; }

.auth-panel { background: #fff; min-height: 100vh; display: grid; place-items: center; padding: 30px; }
.auth-card { width: min(430px, 100%); }
.auth-card-heading { display: flex; gap: 14px; align-items: center; }
.auth-mark { width: 52px; height: 52px; display: grid; place-items: center; flex: 0 0 auto; background: var(--yellow); border-radius: 14px; color: var(--ink); font-weight: 900; font-size: 26px; }
.auth-card h2 { margin: 0; font-size: 27px; letter-spacing: -.8px; }
.auth-card .eyebrow { margin-bottom: 4px; color: var(--ink-soft); }
.muted { color: var(--ink-soft); line-height: 1.55; }
.auth-card > .muted { margin: 28px 0 26px; }
.auth-username-preview { margin: -7px 0 14px; color: var(--ink-soft); font-size: 12px; line-height: 1.45; }
.auth-username-preview strong { color: #7b5b00; overflow-wrap: anywhere; }
.field { display: grid; gap: 8px; margin: 16px 0; color: var(--ink); font-size: 14px; font-weight: 700; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: 0 14px; color: var(--ink); border: 1px solid #d7dce1; background: #fff; border-radius: 9px; outline: none; transition: border .16s ease, box-shadow .16s ease; }
.field textarea { min-height: 112px; padding-block: 12px; line-height: 1.45; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--yellow-dark); box-shadow: 0 0 0 3px rgba(244,191,36,.2); }
.field-hint { color: var(--ink-soft); font-size: 12px; font-weight: 500; }
.form-feedback { min-height: 20px; margin: 14px 0 6px; color: var(--danger); font-size: 13px; font-weight: 600; }
.button { min-height: 40px; padding: 0 16px; border: 1px solid transparent; border-radius: 8px; font-weight: 800; transition: transform .15s ease, background .15s ease, border .15s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: var(--ink); background: var(--yellow); border-color: var(--yellow); }
.button-primary:hover { background: var(--yellow-dark); border-color: var(--yellow-dark); }
.button-secondary { color: var(--ink); background: #fff; border-color: #dce0e3; }
.button-danger { color: #be2132; background: #fff5f5; border-color: #f1c7cd; }
.button-wide { width: 100%; min-height: 50px; margin-top: 4px; }
.text-button { display: block; width: 100%; border: 0; padding: 18px 0 0; background: transparent; color: #7b5b00; font-size: 14px; font-weight: 800; }

.app-shell { min-height: 100vh; background: var(--canvas); }
.topbar { min-height: 68px; display: flex; align-items: stretch; gap: 18px; padding: 0 18px; background: #fff; border-bottom: 2px solid var(--yellow); box-shadow: 0 1px 8px rgba(30,35,40,.04); }
.mobile-menu-toggle { display: none; }
.mobile-refresh-button { display: none; }
.brand-button { align-self: center; }
.primary-nav { display: flex; align-items: stretch; gap: 4px; min-width: 0; }
.nav-item { min-width: 78px; border: 0; border-bottom: 4px solid transparent; padding: 10px 10px 7px; color: var(--ink-soft); background: transparent; display: grid; justify-items: center; gap: 2px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.nav-item:hover { background: #fff9e7; color: var(--ink); }
.nav-item.is-active { color: var(--ink); background: var(--yellow); border-color: var(--yellow-dark); }
.nav-symbol { display: grid; place-items: center; height: 23px; font-size: 21px; font-family: Georgia, serif; line-height: 1; }
.topbar-right { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.current-time { color: var(--ink-soft); font-size: 12px; font-weight: 800; white-space: nowrap; }
.account-button { min-height: 40px; display: flex; align-items: center; gap: 9px; border: 1px solid #e3e5e8; border-radius: 8px; padding: 0 10px 0 5px; color: var(--ink); background: #fff; font-size: 12px; font-weight: 800; }
.account-initial { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 6px; background: var(--yellow-soft); color: #8a6400; }
.account-copy { display: grid; gap: 1px; text-align: left; }
.account-copy strong { font-size: 12px; }
.account-copy small { color: var(--ink-soft); font-size: 10px; font-weight: 600; }
.logout-button { min-height: 40px; border: 1px solid #e3e5e8; border-radius: 8px; padding: 0 12px; color: var(--ink-soft); background: #fff; font-size: 12px; font-weight: 800; }
.logout-button:hover { color: var(--ink); border-color: var(--yellow-dark); background: var(--yellow-soft); }

.mobile-nav { display: none; }

.subnav { min-height: 50px; display: flex; align-items: stretch; gap: 2px; padding: 0 22px; background: var(--slate); overflow-x: auto; }
.subnav.is-employees-page { padding-left: 0; padding-right: 0; }
.subnav button { border: 0; border-bottom: 3px solid transparent; padding: 0 16px; color: #dfe2e4; background: transparent; font-size: 13px; font-weight: 700; white-space: nowrap; }
.subnav button:hover { background: rgba(255,255,255,.06); }
.subnav button.is-active { color: #fff; background: var(--slate-deep); border-color: var(--yellow); }
.subnav .subnav-primary-action { min-height: 36px; align-self: center; margin-left: auto; border: 1px solid var(--yellow); border-radius: 8px; padding: 0 16px; color: var(--ink); background: var(--yellow); font-weight: 900; }
.subnav .subnav-primary-action:hover { border-color: var(--yellow-dark); background: var(--yellow-dark); }
.subnav-product-actions, .subnav-table-actions { min-height: 100%; display: flex; align-items: center; gap: 8px; margin-left: auto; }
.subnav .subnav-product-actions .subnav-primary-action { margin-left: 0; }
.subnav .subnav-table-actions .subnav-primary-action { margin-left: 0; }
.subnav .subnav-organize-action { min-height: 36px; align-self: center; border: 1px solid #d8dcdf; border-radius: 8px; padding: 0 14px; color: #fff; background: rgba(255,255,255,.08); font-weight: 800; }
.subnav .subnav-organize-action:hover, .subnav .subnav-organize-action.is-active { border-color: var(--yellow); color: var(--ink); background: var(--yellow); }
.subnav-kitchen-actions { min-height: 100%; display: flex; align-items: center; gap: 8px; margin-left: auto; }
.subnav .subnav-kitchen-action { min-height: 36px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.24); border-radius: 8px; padding: 0 13px; color: #fff; background: rgba(255,255,255,.08); }
.subnav .subnav-kitchen-action:hover, .subnav .subnav-kitchen-action.is-active { border-color: var(--yellow); color: var(--ink); background: var(--yellow); }
.subnav .subnav-kitchen-action b { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 999px; color: #fff; background: #c13b24; font-size: 10px; }
.page-content { min-height: calc(100vh - 118px); padding: 30px; }
.page-content.is-sales-page { height: calc(100vh - 118px); display: flex; flex-direction: column; overflow: hidden; }
.page-content.is-sales-page > .page-header { width: 100%; flex: 0 0 auto; }
.page-content.is-settings-page { height: calc(100vh - 118px); min-height: 600px; overflow: hidden; padding: 0; }
.page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; max-width: 1420px; margin: 0 auto 24px; }
.page-heading { display: flex; gap: 14px; align-items: center; }
.page-heading-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 11px; color: #8a6400; background: var(--yellow-soft); font-size: 23px; }
.page-heading h1 { margin: 0; font-size: 25px; letter-spacing: -.6px; }
.page-heading p { margin: 5px 0 0; color: var(--ink-soft); font-size: 14px; }
.page-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }

.content-card { max-width: 1420px; margin: 0 auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 2px 6px rgba(32,40,49,.03); }
.empty-state { min-height: 380px; padding: 50px 24px; display: grid; place-items: center; text-align: center; }
.empty-state > div { max-width: 380px; }
.empty-illustration { width: 72px; height: 72px; margin: 0 auto 18px; display: grid; place-items: center; border-radius: 20px; background: var(--yellow-soft); color: #a47700; font-size: 33px; }
.empty-state h2 { margin: 0; font-size: 20px; letter-spacing: -.3px; }
.empty-state p { margin: 9px auto 22px; color: var(--ink-soft); line-height: 1.5; font-size: 14px; }

.page-content.is-tables-page { height: calc(100vh - 118px); padding: 0; overflow: hidden; }
.tables-workspace { width: 100%; height: 100%; display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(330px, .85fr); gap: 0; align-items: stretch; }
.tables-map-panel, .table-side-panel { max-width: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.tables-map-panel { min-width: 0; overflow: hidden; border-right: 1px solid var(--line); }
.table-grid { --table-size: 94px; --table-gap: clamp(8px, 1.2vw, 16px); --table-padding: clamp(12px, 1.8vw, 24px); display: grid; grid-template-columns: repeat(11, var(--table-size)); grid-auto-rows: var(--table-size); align-content: start; gap: var(--table-gap); width: 100%; height: 100%; padding: var(--table-padding); overflow: auto; }
.table-grid-slot { width: var(--table-size); height: var(--table-size); border: 1px solid transparent; border-radius: 12px; transition: border-color .12s ease, background .12s ease, transform .12s ease; }
.restaurant-table { width: 100%; height: 100%; display: grid; grid-template-rows: auto; place-items: center; align-content: center; gap: 0; overflow: hidden; border: 1px solid #79cf9b; border-radius: 10px; padding: 10px 8px; color: #fff; background: var(--success); box-shadow: inset 0 -4px 0 rgba(0,0,0,.14), 0 7px 10px rgba(25,84,58,.11); text-align: center; user-select: none; cursor: grab; transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease, outline-color .15s ease; }
.restaurant-table:hover { transform: translateY(-3px); }
.restaurant-table:active { cursor: grabbing; }
.restaurant-table.is-dragging { opacity: .42; transform: scale(.95); }
.restaurant-table.is-selected { outline: 4px solid var(--yellow); outline-offset: 4px; }
.table-grid.is-dragging-table .table-grid-slot { border-color: rgba(63,70,77,.12); background: rgba(63,70,77,.025); }
.table-grid.is-dragging-table .table-grid-slot.is-drop-target { border-color: var(--yellow-dark); background: var(--yellow-soft); transform: scale(1.04); }
.restaurant-table.is-occupied { border-color: #d6394b; background: var(--danger); }
.restaurant-table.is-temporary-launcher { place-items: center; align-content: center; border-color: #dcae25; padding: 0; color: #5f4700; background: var(--yellow); box-shadow: inset 0 -4px 0 rgba(119,84,0,.18), 0 7px 10px rgba(119,84,0,.14); }
.restaurant-table.is-temporary-launcher .table-card-number { display: grid; place-items: center; margin: 0; line-height: 1; }
.restaurant-table.is-temporary-launcher .table-card-number > span { position: relative; width: clamp(26px, calc(var(--table-size) * .36), 34px); aspect-ratio: 1; display: block; font-size: 0; }
.restaurant-table.is-temporary-launcher .table-card-number > span::before, .restaurant-table.is-temporary-launcher .table-card-number > span::after { position: absolute; inset: 50% auto auto 50%; border-radius: 999px; background: currentColor; content: ''; transform: translate(-50%, -50%); }
.restaurant-table.is-temporary-launcher .table-card-number > span::before { width: 100%; height: 4px; }
.restaurant-table.is-temporary-launcher .table-card-number > span::after { width: 4px; height: 100%; }
.restaurant-table .table-card-number { width: 100%; display: block; font-size: 30px; line-height: 1; text-align: center; }
.restaurant-table.is-named .table-card-number { max-width: 100%; font-size: 18px; line-height: 1.05; overflow-wrap: anywhere; }
.restaurant-table.is-occupied { grid-template-rows: 31px 16px 20px; align-content: center; }
.restaurant-table .table-card-user { width: 100%; min-width: 0; display: block; overflow: hidden; color: #fff; font-size: 11px; font-weight: 800; line-height: 16px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.restaurant-table .table-card-people { min-width: 24px; height: 19px; display: grid; place-items: center; align-self: end; margin: 0; padding: 0 7px; border-radius: 999px; color: var(--danger); background: #fff; font-size: 11px; font-weight: 900; line-height: 1; }
@media (max-width: 1500px), (max-height: 800px) {
  .table-grid { --table-size: 72px; --table-gap: clamp(6px, .8vw, 10px); --table-padding: clamp(9px, 1.2vw, 16px); }
  .restaurant-table { border-radius: 8px; padding: 7px 5px; }
  .restaurant-table .table-card-number { font-size: 25px; }
  .restaurant-table.is-named .table-card-number { font-size: 14px; }
  .restaurant-table.is-occupied { grid-template-rows: 24px 13px 17px; }
  .restaurant-table .table-card-user { font-size: 9px; line-height: 13px; }
  .restaurant-table .table-card-people { min-width: 21px; height: 16px; padding-inline: 5px; font-size: 9px; }
}
@media (max-width: 1200px) {
  .table-grid { --table-size: 64px; }
  .restaurant-table .table-card-number { font-size: 22px; }
  .restaurant-table.is-named .table-card-number { font-size: 12px; }
}
.table-side-panel { height: 100%; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.table-side-empty { display: grid; place-items: center; color: var(--ink-soft); font-size: 14px; }
.table-side-empty div { display: flex; align-items: center; gap: 8px; }
.table-side-empty span { color: #80909f; font-size: 28px; line-height: 1; }
.table-side-header { min-height: 57px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 18px; color: #fff; background: #70d9a0; text-transform: uppercase; }
.table-side-header.is-occupied { background: var(--danger); }
.table-side-header span { font-size: 17px; font-weight: 900; }
.table-side-header small { font-size: 10px; font-weight: 800; letter-spacing: .5px; opacity: .9; }
.table-open-form { width: 100%; margin: 0; padding: 18px; }
.table-open-form .field { width: min(402px, 100%); display: grid; grid-template-columns: 130px minmax(0, 272px); gap: 0; align-items: start; margin: 10px 0; font-weight: 500; }
.table-open-form .field > span { padding-top: 10px; }
.table-open-form .field textarea { min-height: 72px; border-radius: 0; }
.table-open-form .field b { color: var(--danger); }
.table-open-actions { width: min(402px, 100%); display: flex; justify-content: flex-end; margin-top: 22px; }
.table-open-actions .button { width: 130px; min-height: 36px; border-radius: 3px; }
.table-open-actions .button:disabled { border-color: #f7cfa5; color: #fff; background: #f7cfa5; opacity: 1; }
.people-stepper-field { width: min(402px, 100%); min-height: 40px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 0; margin: 0 0 10px; }
.people-stepper-field > label { color: var(--ink); font-size: 14px; font-weight: 500; }
.people-stepper-field > label b { color: var(--danger); }
.people-stepper { display: flex; align-items: center; gap: 4px; }
.people-stepper button { width: 40px; height: 38px; border: 0; padding: 0; color: #8a9096; background: transparent; font-size: 23px; font-weight: 500; line-height: 1; }
.people-stepper button:hover { color: var(--ink); background: #f2f3f4; }
.people-stepper input { width: 60px; height: 38px; border: 1px solid #f09c4a; border-radius: 0; padding: 0 6px; color: var(--ink); background: #fff; outline: none; text-align: center; appearance: textfield; }
.people-stepper input:focus { border-color: #f09c4a; box-shadow: 0 0 0 3px rgba(240,156,74,.16); }
.people-stepper input::-webkit-inner-spin-button, .people-stepper input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.table-open-summary { padding: 28px 24px; }
.table-open-summary dl { margin: 24px 0 0; }
.table-open-summary dl > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.table-open-summary dt { color: var(--ink-soft); font-size: 13px; font-weight: 700; }
.table-open-summary dd { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.command-panel { height: calc(max(574px, 100vh - 178px) - 68px); padding: 18px; overflow-y: auto; }
.command-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.command-meta > div { padding: 13px; border: 1px solid var(--line); border-radius: 9px; background: #fbfcfd; }
.command-meta span { display: block; color: var(--ink-soft); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.command-meta strong { display: block; margin-top: 5px; color: var(--ink); font-size: 18px; }
.command-comment { margin: 12px 0 0; padding: 11px 12px; border-radius: 8px; color: var(--ink-soft); background: #f5f6f7; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.command-add-form { margin-top: 18px; padding-top: 4px; border-top: 1px solid var(--line); }
.command-add-form .field { margin: 12px 0; }
.command-add-row { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; align-items: end; }
.command-add-row .field { margin: 0; }
.command-add-row .button { min-height: 48px; }
.command-items { margin-top: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
.command-items-header, .command-item-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; }
.command-items-header { color: var(--ink-soft); background: #f4f5f6; font-size: 11px; }
.command-item-row { border-top: 1px solid var(--line); font-size: 12px; }
.command-item-row > div { min-width: 0; }
.command-item-row strong, .command-item-row small { display: block; }
.command-item-row strong { overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.command-item-row small { margin-top: 3px; color: var(--ink-soft); }
.command-item-row > span { flex: 0 0 auto; font-weight: 800; }
.command-empty-message { padding: 24px 16px; color: var(--ink-soft); text-align: center; font-size: 12px; line-height: 1.45; }
.command-footer { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.command-footer span, .command-footer strong { display: block; }
.command-footer span { color: var(--ink-soft); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.command-footer strong { margin-top: 3px; font-size: 20px; }
.open-table-panel { height: 100%; display: block; border-radius: 0; background: #f4f4f4; }
.open-table-topbar { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 14px; color: #fff; background: #f44755; text-transform: uppercase; }
.open-table-topbar > strong { font-size: 16px; font-weight: 900; }
.open-table-topbar button { min-height: 36px; border: 0; border-radius: 3px; padding: 0 13px; color: #fff; background: #cf3f4b; font-size: 13px; text-transform: none; }
.open-table-topbar button:hover { background: #bc3541; }
.open-table-topbar button b { margin-right: 5px; font-size: 20px; line-height: 1; vertical-align: -1px; }
.open-command-tabs { min-height: 52px; display: flex; flex-wrap: wrap; align-content: center; align-items: center; gap: 5px 7px; padding: 6px 14px; overflow-x: hidden; border-bottom: 1px solid #d7d7d7; background: #f5f5f5; }
.open-command-tabs button { min-width: 120px; min-height: 30px; flex: 0 1 132px; border: 1px solid #969696; border-radius: 2px; padding: 0 10px; color: #686868; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.12); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.open-command-tabs button:hover { color: #fff; background: #aaa; }
.open-command-tabs button.is-active { border-color: #8f8f8f; color: #fff; background: #969696; box-shadow: 0 2px 5px rgba(0,0,0,.18); }
.additional-command-heading { min-height: 58px; display: grid; align-content: center; gap: 3px; padding: 9px 18px; color: #fff; background: #969696; }
.additional-command-heading strong { font-size: 15px; text-transform: uppercase; }
.additional-command-heading span { font-size: 11px; opacity: .9; }
.table-open-form.is-additional-command { flex: 1; background: #fff; }
.table-open-form.is-additional-command .table-open-actions { gap: 9px; }
.table-open-form.is-additional-command .table-open-actions .button { width: auto; min-width: 130px; }
.table-open-form.is-additional-command .table-open-actions .button-primary { min-width: 158px; }
.open-command-heading { min-height: 53px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 14px; color: #fff; background: #969696; text-transform: uppercase; }
.open-command-heading > strong { font-size: 15px; }
.open-command-tools { display: flex; gap: 8px; }
.open-command-tools span, .open-command-tools button { width: 39px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 3px; padding: 0; color: #fff; background: #666; font-size: 20px; }
.open-command-tools button:hover { background: #4f5356; }
.open-command-tools button:focus-visible { outline: 3px solid var(--yellow); outline-offset: 2px; }
.open-command-info { min-height: 72px; display: grid; grid-template-columns: 106px minmax(0, 1fr); align-items: center; gap: 12px; padding: 12px 14px; color: #111a24; background: #fff; font-size: 13px; }
.open-command-info strong { font-size: 13px; }
.open-command-info time { font-variant-numeric: tabular-nums; }
.open-command-comment { margin: 0; padding: 10px 14px; border-top: 1px solid #ececec; color: var(--ink-soft); background: #fff; font-size: 12px; line-height: 1.45; }
.open-command-add-title { min-height: 52px; display: flex; align-items: center; padding: 0 14px; color: #fff; background: #a1a1a1; font-size: 15px; font-weight: 900; text-transform: uppercase; }
.open-command-search-form { position: relative; z-index: 6; display: block; padding: 12px 15px; background: #e9e9e9; }
.open-command-search-box { position: relative; min-width: 0; }
.open-command-search-box input { width: 100%; height: 40px; border: 1px solid #ff9a43; border-radius: 2px; padding: 0 11px; color: var(--ink); background: #fff; outline: none; font-size: 14px; }
.open-command-search-box input:focus { border-color: #75c96f; box-shadow: 0 0 0 2px rgba(86,177,80,.12); }
.command-product-suggestions { position: absolute; z-index: 9; top: 39px; right: 0; left: 0; max-height: 280px; display: none; overflow-y: auto; border: 1px solid #ff8a23; background: #fff; box-shadow: 0 7px 15px rgba(46,42,35,.15); }
.command-product-suggestions.is-visible { display: block; }
.command-product-suggestions button { width: 100%; min-height: 40px; display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: center; gap: 6px; border: 0; padding: 7px 12px; color: #161d25; background: #fff; text-align: left; font-size: 14px; }
.command-product-suggestions button:hover, .command-product-suggestions button.is-highlighted { background: #ffda75; }
.command-product-suggestion-marker { color: #726f69; text-align: center; }
.command-product-suggestions button strong { overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.command-product-suggestions button.is-out-of-stock strong { color: #d62828; }
.command-product-suggestions button strong small { display: block; margin-top: 2px; color: #d62828; font-size: 10px; font-weight: 800; }
.command-product-suggestion-quantity { min-width: 28px; min-height: 22px; display: grid; place-items: center; border-radius: 5px; color: #8a6400; background: rgba(255,255,255,.7); font-size: 11px; font-weight: 900; }
.command-product-suggestion-quantity:empty { display: none; }
.command-product-no-results { min-height: 44px; display: flex; align-items: center; padding: 8px 14px; color: var(--ink-soft); font-size: 13px; }
.pending-command-block { min-height: 0; border-left: 4px solid #ff7900; background: #fff; }
.pending-command-item { border-bottom: 1px solid #efc45b; background: #ffda75; }
.pending-command-item.is-comment-open { background: #ffdc7d; }
.pending-command-row { min-height: 52px; display: grid; grid-template-columns: 105px minmax(70px, 1fr) auto 48px 28px 23px; align-items: center; gap: 7px; padding: 7px 12px; background: transparent; }
.pending-quantity-stepper { height: 38px; display: grid; grid-template-columns: repeat(3, 35px); overflow: hidden; border: 1px solid #efc45b; border-radius: 5px; }
.pending-quantity-stepper button, .pending-quantity-stepper strong { display: grid; place-items: center; border: 0; color: #b68d2e; background: rgba(255,255,255,.08); font-size: 18px; }
.pending-quantity-stepper strong { border: solid #efc45b; border-width: 0 1px; color: #1c2228; font-size: 13px; }
.pending-quantity-stepper button:hover { color: #7e5c0f; background: rgba(255,255,255,.32); }
.pending-product-name { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.pending-product-price { font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pending-product-trip { display: inline-flex; align-items: center; justify-content: center; gap: 3px; min-height: 32px; color: #8f6500; font-size: 17px; cursor: pointer; }
.pending-product-trip input { width: 15px; height: 15px; margin: 0; accent-color: #ff7900; cursor: pointer; }
.pending-product-comment { width: 28px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 5px; padding: 0; color: #bd9332; background: transparent; }
.pending-product-comment:hover, .pending-product-comment.is-active { color: #8f6500; background: rgba(255,255,255,.36); }
.pending-product-comment svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.pending-product-remove { width: 23px; height: 30px; border: 0; padding: 0; color: #c29a3d; background: transparent; font-size: 25px; line-height: 1; }
.pending-product-remove:hover { color: #9a292f; }
.pending-product-comment-editor { padding: 0 12px 8px; }
.pending-product-comment-editor textarea { width: 100%; min-height: 43px; max-height: 130px; resize: vertical; border: 1px solid #ed9a70; border-radius: 0; padding: 9px 10px; color: #1c2228; background: #fff; outline: none; font: inherit; font-size: 12px; line-height: 1.4; }
.pending-product-comment-editor textarea::placeholder { color: #7f8387; }
.pending-product-comment-editor textarea:focus { border-color: #ff7900; box-shadow: 0 0 0 2px rgba(255,121,0,.13); }
.pending-command-summary { min-height: 48px; display: flex; align-items: center; padding: 10px 14px; border-bottom: 1px solid #e2e2e2; background: #fff; font-size: 12px; }
.pending-command-summary strong { margin-left: 4px; }
.pending-command-actions { min-height: 64px; display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 10px 15px; border-top: 1px solid #e2e2e2; background: #fafafa; box-shadow: 0 -4px 10px rgba(32,40,49,.06); }
.pending-command-actions button { min-width: 128px; min-height: 38px; border-radius: 3px; padding: 0 16px; font-size: 13px; }
.pending-cancel-button { border: 1px solid #d2d5d7; color: var(--ink); background: #fff; }
.pending-confirm-button { border: 1px solid #e76800; color: #fff; background: #ff7800; box-shadow: 0 2px 5px rgba(110,55,5,.22); font-weight: 800; }
.pending-confirm-button:hover { background: #e86d00; }
.open-command-items { min-height: 0; background: #f8f8f8; }
.open-command-item-row { position: relative; min-height: 52px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto 26px; align-items: center; gap: 9px; padding: 8px 13px 8px 12px; border-bottom: 1px solid #dedede; border-left: 4px solid #ff7900; color: #111820; background: #f8f8f8; font-size: 12px; outline: none; }
.open-command-item-quantity { font-variant-numeric: tabular-nums; }
.open-command-item-name { min-width: 0; }
.open-command-item-name strong, .open-command-item-name small { display: block; }
.open-command-item-name strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.open-command-item-name small { margin-top: 5px; color: #a5a5a5; font-size: 11px; font-weight: 500; }
.open-command-item-name .open-command-item-comment { color: #777d82; line-height: 1.35; overflow-wrap: anywhere; }
.open-command-item-price { font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.open-command-item-remove { width: 26px; height: 32px; display: grid; place-items: center; border: 0; padding: 0; color: #bfc1c3; background: transparent; font-size: 25px; line-height: 1; }
button.open-command-item-remove:hover { color: #d23b48; }
.open-command-item-remove.is-disabled { cursor: default; }
.command-item-launch-info { position: absolute; z-index: 12; left: 40px; bottom: calc(100% - 4px); width: max-content; max-width: min(280px, calc(100vw - 40px)); display: none; border-radius: 6px; padding: 8px 10px; color: #fff; background: #252a2e; box-shadow: 0 5px 16px rgba(0,0,0,.24); font-size: 11px; font-weight: 700; line-height: 1.4; white-space: normal; pointer-events: none; }
.open-command-item-row:hover { z-index: 11; }
.open-command-item-row:hover .command-item-launch-info, .open-command-item-row:focus .command-item-launch-info, .open-command-item-row:focus-within .command-item-launch-info { display: block; }
.open-command-item-row.is-cancelled { color: #a6a8aa; background: repeating-linear-gradient(135deg, #fafafa 0, #fafafa 5px, #f3f3f3 5px, #f3f3f3 10px); }
.open-command-item-row.is-cancelled .open-command-item-name strong { color: #a6a8aa; }
.open-command-total { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 15px; color: #fff; background: #666; font-size: 16px; }
.open-command-total strong { font-size: 20px; font-variant-numeric: tabular-nums; }
.open-command-footer { min-height: 74px; display: flex; align-items: center; justify-content: flex-end; gap: 9px; padding: 13px 15px; background: #fafafa; }
.open-command-footer button { min-height: 38px; border: 1px solid #34383b; border-radius: 3px; padding: 0 15px; color: #fff; background: #424649; box-shadow: 0 2px 5px rgba(0,0,0,.18); font-size: 13px; }
.open-command-footer button:hover { background: #2f3336; }
.button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.table-trash-zone { position: fixed; z-index: 25; left: 50%; bottom: 24px; min-width: 230px; min-height: 68px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 10px 18px; border: 2px dashed #e999a2; border-radius: 16px; color: #a52331; background: rgba(255,245,246,.97); box-shadow: 0 14px 32px rgba(67,25,30,.18); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, 24px) scale(.94); transition: opacity .16s ease, transform .16s ease, border-color .16s ease, background .16s ease; }
.table-trash-zone.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0) scale(1); }
.table-trash-zone.is-drag-over { border-color: var(--danger); color: #fff; background: var(--danger); transform: translate(-50%, -4px) scale(1.06); }
.table-trash-icon { font-size: 28px; line-height: 1; }
.table-trash-zone div { display: grid; gap: 2px; }
.table-trash-zone strong { font-size: 14px; }
.table-trash-zone small { font-size: 11px; font-weight: 700; opacity: .78; }
.modal-people-stepper { margin: 10px 0; }
.table-toolbar, .filter-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 14px 16px; border-bottom: 1px solid var(--line); background: #fbfcfd; }
.filter-bar .field { margin: 0; min-width: 150px; }
.filter-bar .field input, .filter-bar .field select { min-height: 37px; font-size: 13px; }
.filter-bar .field span { font-size: 11px; }
.table-toolbar .muted { margin-right: auto; font-size: 13px; }
.stock-card { overflow: hidden; }
.stock-filter-bar { min-height: 66px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 12px 16px; border-bottom: 1px solid #dfe2e5; background: #e8e9ea; }
.stock-filter-bar > select { width: 170px; height: 40px; border: 1px solid #f09c4a; border-radius: 0; padding: 0 10px; color: var(--ink); background: #fff; outline: none; }
.stock-filter-bar > select:focus { box-shadow: 0 0 0 3px rgba(240,156,74,.16); }
.stock-filter-check { position: relative; min-height: 40px; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
.stock-filter-check input { position: absolute; opacity: 0; pointer-events: none; }
.stock-filter-check span { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid #ff6946; color: transparent; background: #fff; font-size: 20px; font-weight: 900; line-height: 1; }
.stock-filter-check input:checked + span { color: #ff4f2b; }
.stock-filter-check input:focus-visible + span { box-shadow: 0 0 0 3px rgba(255,105,70,.2); }
.stock-filter-check b { font-size: 13px; font-weight: 500; white-space: nowrap; }
.stock-search-field { min-width: 240px; min-height: 40px; display: flex; align-items: center; gap: 8px; }
.stock-search-field > span { color: #59636d; font-size: 24px; line-height: 1; transform: rotate(-15deg); }
.stock-search-field input { width: 100%; height: 40px; border: 1px solid #bfc4c8; border-radius: 0; padding: 0 11px; color: var(--ink); background: #fff; outline: none; }
.stock-search-field input:focus { border-color: #f09c4a; box-shadow: 0 0 0 3px rgba(240,156,74,.14); }
.stock-reset-button { min-height: 38px; margin-left: auto; gap: 7px; white-space: nowrap; }
.stock-reset-button > span { font-size: 18px; line-height: 1; }
.stock-table td { vertical-align: middle; }
.stock-table td:last-child, .stock-table th:last-child { width: 190px; text-align: right; }
.stock-stepper { display: inline-flex; align-items: center; gap: 4px; }
.stock-stepper button { width: 38px; height: 38px; border: 0; padding: 0; color: #8a9096; background: transparent; font-size: 23px; line-height: 1; }
.stock-stepper button:hover { color: var(--ink); background: #f2f3f4; }
.stock-stepper input { width: 68px; height: 38px; border: 1px solid #f09c4a; border-radius: 0; padding: 0 6px; color: var(--ink); background: #fff; outline: none; text-align: center; }
.stock-stepper input:focus { box-shadow: 0 0 0 3px rgba(240,156,74,.16); }
.stock-stepper.is-derived input { color: #555f68; border-color: #d4d8dc; background: #f1f3f4; font-weight: 800; }
.stock-stepper button:disabled { color: #c7cbd0; background: transparent; cursor: not-allowed; }
.stock-derived-label { display: block; margin-top: 4px; color: #8a6a00; font-size: 10px; font-weight: 700; }
.stock-empty-filter { height: 150px; color: var(--ink-soft); text-align: center !important; }
.stock-no-products { min-height: 300px; display: grid; place-items: center; align-content: center; padding: 30px; color: var(--ink-soft); text-align: center; }
.stock-no-products > span { margin-bottom: 10px; color: #846000; font-size: 35px; }
.stock-no-products strong { color: var(--ink); }
.stock-no-products p { margin: 7px 0 18px; font-size: 13px; }

.stat-grid { max-width: 1420px; margin: 0 auto 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.stat-card { min-height: 102px; padding: 18px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.stat-card span { display: block; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.stat-card strong { display: block; margin-top: 10px; font-size: 25px; letter-spacing: -.8px; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; font-size: 13px; }
.data-table th { color: var(--ink-soft); background: #fbfcfd; font-size: 11px; letter-spacing: .2px; text-transform: uppercase; }
.data-table td:last-child, .data-table th:last-child { text-align: right; }
.data-table .category-clickable-row { cursor: pointer; }
.data-table .category-clickable-row:hover, .data-table .category-clickable-row:focus-visible { outline: 2px solid var(--yellow-dark); outline-offset: -2px; background: #fff9e7; }
.nav-count-badge { min-width: 19px; height: 19px; display: inline-grid; place-items: center; margin-left: 3px; border-radius: 10px; padding: 0 5px; background: #dc2537; color: #fff; font-size: 10px; font-weight: 800; }
.nav-count-badge.is-hidden { display: none; }
.bot-control-bar { display: flex; align-items: center; gap: 20px; margin-bottom: 16px; border: 1px solid var(--line); border-radius: 10px; padding: 14px 18px; background: #fff; }
.bot-control-bar > div { margin-right: auto; }
.bot-control-bar strong, .bot-control-bar span { display: block; }
.bot-control-bar span { margin-top: 3px; color: var(--ink-soft); font-size: 12px; }
.bot-control-bar label { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; }
.attendance-layout { min-height: 560px; display: grid; grid-template-columns: minmax(250px, 34%) 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.attendance-list { overflow-y: auto; border-right: 1px solid var(--line); }
.attendance-list-item { width: 100%; display: flex; justify-content: space-between; gap: 12px; border: 0; border-bottom: 1px solid var(--line); padding: 15px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.attendance-list-item:hover, .attendance-list-item.is-active { background: #fff8df; }
.attendance-list-item small, .attendance-detail-header small { display: block; margin-top: 4px; color: var(--ink-soft); }
.attendance-status { align-self: center; border-radius: 999px; padding: 4px 8px; background: #eef1f3; font-size: 10px; white-space: nowrap; }
.attendance-status.is-waiting_human { background: #ffe5e8; color: #b71f31; }
.attendance-status.is-human { background: #e1f0ff; color: #1f66a9; }
.attendance-detail { min-width: 0; display: flex; flex-direction: column; background: #f2eee7; }
.attendance-detail-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); padding: 14px 18px; background: #fff; }
.attendance-actions { display: flex; gap: 8px; }
.attendance-messages { flex: 1; overflow-y: auto; padding: 22px; }
.attendance-message { width: fit-content; max-width: 78%; margin-bottom: 10px; border-radius: 10px; padding: 9px 12px; background: #fff; box-shadow: 0 1px 2px #0001; }
.attendance-message.is-outbound { margin-left: auto; background: #dbf8cd; }
.attendance-message small, .attendance-message time { color: var(--ink-soft); font-size: 10px; }
.attendance-message p { margin: 4px 0; white-space: pre-wrap; }
.attendance-message time { display: block; text-align: right; }
.attendance-composer { display: flex; gap: 8px; border-top: 1px solid var(--line); padding: 12px; background: #fff; }
.attendance-composer input { flex: 1; min-width: 0; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; }
.attendance-placeholder, .attendance-empty { margin: auto; padding: 40px; color: var(--ink-soft); text-align: center; }
.bot-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.bot-info-card { display: grid; gap: 13px; border: 1px solid var(--line); border-radius: 10px; padding: 18px; background: #fff; }
.bot-info-card label { display: grid; gap: 6px; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.bot-info-card input, .bot-info-card textarea { width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; color: var(--ink); background: #fff; font: inherit; font-weight: 400; resize: vertical; }
.bot-simulator-panel { max-width: 840px; display: grid; gap: 12px; border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: #fff; }
.bot-simulator-notice { display: grid; gap: 4px; border-radius: 9px; padding: 12px 14px; color: #725400; background: #fff8df; }
.bot-simulator-notice span { font-size: 12px; line-height: 1.5; }
.bot-simulator-chat { min-height: 420px; max-height: 58vh; display: flex; flex-direction: column; gap: 9px; overflow-y: auto; border: 1px solid var(--line); border-radius: 10px; padding: 16px; background: #f4f5f7; }
.bot-simulator-message { max-width: 76%; align-self: flex-start; border-radius: 10px; padding: 10px 12px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.bot-simulator-message.is-customer { align-self: flex-end; background: #fff1ae; }
.bot-simulator-message.is-human { border: 1px solid #99c9ff; background: #eef7ff; }
.bot-simulator-message small, .bot-simulator-message time { display: block; color: var(--ink-soft); font-size: 10px; }
.bot-simulator-message p { margin: 4px 0; white-space: pre-wrap; }
.bot-simulator-message time { text-align: right; }
.bot-simulator-options { display: flex; flex-wrap: wrap; gap: 8px; }
.bot-simulator-form { display: grid; grid-template-columns: 130px 1fr auto; gap: 8px; }
.bot-simulator-form select, .bot-simulator-form input { min-width: 0; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; background: #fff; }
.bot-simulator-settings { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; color: var(--ink-soft); font-size: 12px; }
.bot-simulator-settings label { display: inline-flex; align-items: center; gap: 7px; }
.weekly-closed-filter { display: inline-flex; align-items: center; gap: 7px; color: var(--ink-soft); font-size: 12px; font-weight: 700; white-space: nowrap; }
@media (max-width: 780px) { .attendance-layout, .bot-info-grid { grid-template-columns: 1fr; } .attendance-list { max-height: 260px; border-right: 0; border-bottom: 1px solid var(--line); } .bot-control-bar { align-items: flex-start; flex-wrap: wrap; } .bot-control-bar > div { width: 100%; } }
@media (max-width: 680px) { .bot-simulator-form { grid-template-columns: 1fr; } .bot-simulator-message { max-width: 90%; } }
.badge { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: 999px; color: #327858; background: #e4f6eb; font-size: 11px; font-weight: 800; }
.badge.is-red { color: #b82e3c; background: #fff0f1; }
.badge.is-yellow { color: #8a6400; background: var(--yellow-soft); }

.page-content.is-products-page { height: calc(100vh - 118px); padding: 0; overflow: hidden; }
.products-console { width: 100%; height: 100%; margin: 0; display: grid; grid-template-columns: 228px minmax(0, 1fr); grid-template-rows: 50px minmax(0, 1fr); overflow: hidden; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.products-console-header { position: relative; grid-column: 1 / 3; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; color: #fff; background: #686b6d; }
.products-console-header h1 { margin: 0; font-size: 18px; letter-spacing: -.25px; }
.product-category-sidebar { grid-column: 1; grid-row: 2; padding: 10px 0; overflow-y: auto; background: #55595c; }
.product-category-sidebar button { width: 100%; min-height: 52px; display: flex; align-items: center; border: 0; border-left: 4px solid transparent; padding: 8px 17px; color: #fff; background: transparent; text-align: left; font-size: 14px; font-weight: 700; }
.product-category-sidebar button:hover { background: rgba(255,255,255,.08); }
.product-category-sidebar button.is-active { border-left-color: var(--yellow); background: #484c4f; }
.product-categories-empty { padding: 18px; color: #d9dcde; font-size: 13px; line-height: 1.45; }
.product-table-panel { grid-column: 2; grid-row: 2; min-width: 0; padding: 12px; overflow: auto; background: #fafafa; }
.product-table-toolbar { min-height: 38px; display: flex; align-items: flex-start; justify-content: flex-end; margin-bottom: 8px; }
.product-inactive-filter { min-height: 34px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #d8dcdf; border-radius: 6px; padding: 0 11px; color: #46515a; background: #fff; cursor: pointer; font-size: 12px; }
.product-inactive-filter:hover { border-color: #b7bdc2; background: #fdfdfd; }
.product-inactive-filter input { position: absolute; opacity: 0; pointer-events: none; }
.product-inactive-filter span { width: 17px; height: 17px; display: grid; place-items: center; border: 1px solid #aeb6bc; border-radius: 3px; color: transparent; font-size: 13px; font-weight: 900; line-height: 1; }
.product-inactive-filter input:checked + span { border-color: #d99700; color: #4e3900; background: var(--yellow); }
.product-inactive-filter input:focus-visible + span { outline: 3px solid rgba(230,171,0,.3); outline-offset: 2px; }
.product-data-table { width: 100%; min-width: 900px; border-collapse: collapse; background: #fff; }
.product-data-table th, .product-data-table td { height: 50px; padding: 10px 18px; border-bottom: 1px solid #e8eaec; color: #39434d; text-align: left; font-size: 13px; }
.product-data-table th { height: 44px; border: 1px solid #dfe2e5; border-width: 1px 0; color: #747c84; background: #f0f1f2; font-size: 13px; font-weight: 500; white-space: nowrap; }
.product-data-table th:first-child { border-left-width: 1px; border-radius: 7px 0 0 7px; }
.product-data-table th:last-child { border-right-width: 1px; border-radius: 0 7px 7px 0; }
.product-data-table td:first-child { color: #6d757d; font-variant-numeric: tabular-nums; }
.product-data-table td:nth-child(n + 3), .product-data-table th:nth-child(n + 3) { text-align: right; font-variant-numeric: tabular-nums; }
.product-data-table tbody tr:hover { background: #fff9e7; }
.product-data-table .product-clickable-row { cursor: pointer; }
.product-data-table .product-clickable-row:focus-visible { outline: 2px solid var(--yellow-dark); outline-offset: -2px; background: #fff9e7; }
.product-data-table .is-negative { color: #bd2636; }
.product-data-table tbody tr.product-inactive-row, .product-data-table tbody tr.product-inactive-row:hover { background: #f8f8f8; }
.product-data-table tbody tr.product-inactive-row td, .product-data-table tbody tr.product-inactive-row td:first-child { color: #aeb6be; }
.product-data-table tbody tr.product-inactive-row strong { color: inherit; font-style: italic; font-weight: 500; }
.product-data-table .products-empty-row { height: 180px; color: var(--ink-soft); text-align: center; }
.product-sort-description { margin: 2px 0 12px; color: #626c74; font-size: 13px; }
.product-sort-list { display: grid; gap: 5px; }
.product-sort-item { min-height: 43px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid #d9dde0; padding: 0 10px 0 18px; color: #26323b; background: #fff; cursor: grab; user-select: none; }
.product-sort-item:hover { border-color: #b6bdc3; background: #fcfcfc; }
.product-sort-item:active { cursor: grabbing; }
.product-sort-item.is-dragging { opacity: .45; }
.product-sort-item.is-drag-over-before { box-shadow: inset 0 3px 0 #e6ab00; }
.product-sort-item.is-drag-over-after { box-shadow: inset 0 -3px 0 #e6ab00; }
.product-sort-item.is-inactive { color: #aeb6be; background: #f8f8f8; }
.product-sort-item.is-inactive strong { font-style: italic; font-weight: 500; }
.product-sort-item.is-inactive .product-sort-handle { color: #aeb6be; }
.product-sort-handle { color: #4f5a62; font-size: 19px; font-weight: 900; line-height: 1; }
.products-empty-organizing { min-height: 180px; display: grid; place-items: center; color: var(--ink-soft); background: #fff; text-align: center; }

.page-content.is-kitchen-page { height: calc(100vh - 118px); min-height: 520px; overflow: hidden; padding: 0; background: #444; }
.kitchen-console { width: 100%; height: 100%; display: flex; flex-direction: column; overflow: hidden; background: #444; }
.kitchen-console:fullscreen { width: 100vw; height: 100vh; }
.kitchen-toolbar { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; border-bottom: 1px solid #ddd; background: #fff; }
.kitchen-filter-button, .kitchen-fullscreen-button { min-height: 38px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid transparent; border-radius: 9px; padding: 0 13px; color: var(--ink); background: #fff3ee; font-size: 13px; font-weight: 800; }
.kitchen-filter-button:hover, .kitchen-filter-button.is-active { border-color: #ff7657; background: #ffe5dc; }
.kitchen-filter-button > span { color: #e9502e; font-size: 17px; transform: rotate(90deg); }
.kitchen-filter-button b { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 999px; color: #fff; background: #ca3c1d; font-size: 10px; }
.kitchen-fullscreen-button { border-color: #303080; color: #25256e; background: #fff; }
.kitchen-fullscreen-button:hover { color: #fff; background: #303080; }
.kitchen-fullscreen-button span { font-size: 19px; }
.kitchen-filters-panel { padding: 15px 18px 18px; border-bottom: 1px solid #d8dade; background: #f5f6f7; box-shadow: 0 8px 18px rgba(0,0,0,.1); }
.kitchen-filters-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.kitchen-filters-heading strong { font-size: 14px; }
.kitchen-filters-heading span { color: var(--ink-soft); font-size: 11px; }
.kitchen-area-options { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.kitchen-area-option { position: relative; min-height: 38px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #d4d8dc; border-radius: 8px; padding: 0 12px; color: var(--ink-soft); background: #fff; cursor: pointer; }
.kitchen-area-option input { position: absolute; opacity: 0; pointer-events: none; }
.kitchen-area-option > span { width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid #adb4ba; border-radius: 4px; color: transparent; font-size: 13px; }
.kitchen-area-option input:checked + span { border-color: #f05b3b; color: #fff; background: #f05b3b; }
.kitchen-area-option:has(input:checked) { border-color: #f19a87; color: var(--ink); background: #fff4f0; }
.kitchen-area-option strong { font-size: 12px; }
.kitchen-area-option.is-all { font-weight: 900; }
.kitchen-no-areas { margin: 0; color: var(--ink-soft); font-size: 12px; }
.kitchen-board { min-height: 0; flex: 1; margin: 0; padding: 20px; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); grid-auto-rows: max-content; align-content: start; gap: 16px; overflow: auto; background: #444; }
.kitchen-empty { width: 100%; grid-column: 1 / -1; min-height: 430px; display: grid; place-items: center; color: #d1d4d7; text-align: center; }
.kitchen-empty span { display: block; margin-bottom: 10px; font-size: 42px; }
.kitchen-empty strong { font-size: 17px; }
.kitchen-empty p { margin: 8px 0 0; font-size: 13px; }
.kitchen-ticket { min-height: 310px; overflow: hidden; border: 2px solid transparent; border-radius: 14px; background: #fff; box-shadow: 0 12px 25px rgba(0,0,0,.2); transition: border-color .16s ease, transform .16s ease; }
.kitchen-ticket.is-ready { border-color: #4b91d8; }
.kitchen-ticket-head { min-height: 88px; padding: 14px 15px 12px; background: #b9e99a; }
.kitchen-ticket.is-ready .kitchen-ticket-head { color: #fff; background: #589adf; }
.kitchen-ticket-number { display: grid; grid-template-columns: minmax(70px, 1fr) auto minmax(70px, 1fr); align-items: center; gap: 12px; }
.kitchen-ticket-number strong { font-size: 19px; letter-spacing: -.3px; }
.kitchen-ticket-table { justify-self: center; font-size: 16px; white-space: nowrap; }
.kitchen-ticket-number small { justify-self: end; border-radius: 999px; padding: 6px 10px; color: #263c1b; background: rgba(255,255,255,.58); font-size: 11px; font-weight: 900; }
.kitchen-ticket.is-ready .kitchen-ticket-number small { color: #17446f; }
.kitchen-ticket-meta { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 14px; margin-top: 15px; font-size: 15px; }
.kitchen-ticket-meta > strong { border-radius: 4px; padding: 5px 8px; background: rgba(255,255,255,.68); font-size: 14px; }
.kitchen-ticket.is-ready .kitchen-ticket-meta > strong { color: #17446f; }
.kitchen-ticket-meta time { font-size: 14px; font-weight: 900; white-space: nowrap; }
.kitchen-ticket-head > p { margin: 10px 0 0; font-size: 13px; font-weight: 700; }
.kitchen-ticket-items { min-height: 174px; display: grid; align-content: center; margin: 0; padding: 20px 18px; list-style: none; }
.kitchen-ticket-items li { min-height: 58px; display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 9px; border-bottom: 1px solid #e2e4e6; color: var(--ink); font-size: 15px; }
.kitchen-ticket-items li:last-child { border-bottom: 0; }
.kitchen-ticket-items li > strong { color: #c62e20; font-size: 15px; }
.kitchen-ticket-items li > span { font-weight: 850; }
.kitchen-ticket-item-copy { min-width: 0; display: grid; gap: 4px; }
.kitchen-ticket-item-copy b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kitchen-ticket-item-copy em { color: #777d82; font-size: 12px; font-style: normal; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.kitchen-ticket.is-ready .kitchen-ticket-item-copy em { color: #536270; }
.kitchen-ticket-items li > small { max-width: 105px; overflow: hidden; color: var(--ink-soft); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.kitchen-ticket-items li.is-cancelled { color: #b6343e; text-decoration: line-through; opacity: .7; }
.kitchen-ticket-actions { min-height: 65px; display: flex; align-items: center; justify-content: center; padding: 10px 18px; border-top: 1px solid #e1e4e7; background: #fafafa; }
.kitchen-ticket-actions button { width: min(100%, 255px); min-height: 42px; border: 1px solid #c8ced4; border-radius: 7px; padding: 0 20px; color: #0e1720; background: #fff; font-size: 18px; font-weight: 900; }
.kitchen-ticket-actions button:hover { border-color: #4f9659; background: #f5fff3; }
.kitchen-ticket-actions button.is-confirm { border-color: #327fc8; color: #174f82; background: #edf6ff; }
.app-shell:fullscreen { width: 100vw; height: 100vh; background: #444; }
.app-shell:fullscreen .topbar { display: none; }
.app-shell:fullscreen .page-content.is-kitchen-page { height: calc(100vh - 50px); }

.settings-console { width: 100%; min-height: 100%; margin: 0; display: grid; grid-template-columns: 240px minmax(0, 1fr); grid-template-rows: 58px max(540px, calc(100vh - 176px)); overflow: hidden; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.settings-console-header { grid-column: 1 / -1; display: flex; align-items: center; padding: 0 20px; color: #fff; background: #6a6d70; }
.settings-console-header h1 { margin: 0; font-size: 18px; letter-spacing: -.2px; text-transform: uppercase; }
.settings-header-action { min-height: 36px; margin-left: auto; border: 0; border-radius: 5px; padding: 0 15px; color: #fff; background: #484b4e; font-size: 13px; font-weight: 800; }
.settings-header-action:hover { color: var(--ink); background: var(--yellow); }
.settings-menu { grid-column: 1; grid-row: 2; padding: 10px 0; overflow-y: auto; background: #55595c; }
.settings-menu button { width: 100%; min-height: 52px; display: flex; align-items: center; gap: 12px; border: 0; border-left: 4px solid transparent; padding: 8px 16px; color: #fff; background: transparent; text-align: left; font-size: 14px; font-weight: 700; }
.settings-menu button:hover { background: rgba(255,255,255,.08); }
.settings-menu button.is-active { border-left-color: var(--yellow-dark); color: var(--ink); background: var(--yellow); }
.settings-menu-icon { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 5px; font-size: 17px; line-height: 1; }
.settings-list-panel { grid-column: 2; grid-row: 2; min-width: 0; padding: 16px; background: #fafafa; }
.settings-module-console .settings-console-header { justify-content: space-between; }
.settings-module-console .settings-console-header > div:first-child { min-width: 0; }
.settings-module-console .settings-console-header h1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-module-console .settings-console-header p { margin: 3px 0 0; color: #e8e9ea; font-size: 11px; font-weight: 600; text-transform: none; }
.settings-module-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.settings-module-actions .employee-header-salary { display: flex; align-items: center; gap: 6px; margin: 0; }
.settings-module-actions .employee-header-salary label { display: flex; align-items: center; gap: 6px; color: #fff; font-size: 11px; font-weight: 800; }
.settings-module-actions .employee-header-salary input { width: 72px; min-height: 34px; border: 0; border-radius: 5px; padding: 0 7px; color: var(--ink); background: #fff; font-weight: 800; }
.settings-module-actions .remote-switch { color: #fff; }
.settings-module-actions .settings-header-action { margin-left: 0; }
.settings-module-panel { overflow-y: auto; }
.settings-console.is-menu-free { grid-template-columns: minmax(0, 1fr); grid-template-rows: 58px minmax(540px, calc(100vh - 176px)); }
.settings-console.is-menu-free .settings-console-header,
.settings-console.is-menu-free .settings-list-panel { grid-column: 1; }
.settings-console.is-menu-free .settings-console-header { grid-row: 1; }
.settings-console.is-menu-free .settings-list-panel { grid-row: 2; }
.settings-module-panel .employees-module-grid,
.settings-module-panel .employee-detail-grid,
.settings-module-panel .payment-module-grid { max-width: none; }
.settings-list-heading { min-height: 44px; display: flex; align-items: center; padding: 0 18px; border: 1px solid #dfe2e5; border-radius: 7px 7px 0 0; color: #777f87; background: #f0f1f2; font-size: 14px; }
.settings-list-empty { min-height: 220px; display: grid; place-items: center; align-content: center; padding: 30px; border: 1px solid #dfe2e5; border-top: 0; color: var(--ink-soft); background: #fff; text-align: center; }
.settings-list-empty > span { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 14px; border-radius: 14px; color: #846000; background: var(--yellow-soft); font-size: 27px; }
.settings-list-empty strong { color: var(--ink); font-size: 15px; }
.settings-list-empty p { margin: 7px 0 0; font-size: 13px; }
.settings-list-items { border: 1px solid #dfe2e5; border-top: 0; background: #fff; }
.settings-list-item { min-height: 50px; display: flex; align-items: center; padding: 10px 18px; border-bottom: 1px solid #e5e7e9; font-size: 13px; }
.settings-list-item:last-child { border-bottom: 0; }
.fiscal-settings-console { grid-template-rows: 58px minmax(540px, calc(100vh - 176px)); }
.fiscal-settings-panel { display: grid; align-content: start; gap: 18px; overflow-y: auto; }
.fiscal-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.fiscal-summary-grid article { min-height: 86px; display: grid; align-content: center; gap: 5px; border: 1px solid #dfe4e8; border-left: 4px solid #3a9c6d; border-radius: 8px; padding: 14px 16px; background: #fff; }
.fiscal-summary-grid article.is-warning { border-left-color: #e0a11a; }
.fiscal-summary-grid article.is-danger { border-left-color: #d04b4b; }
.fiscal-summary-grid span { color: var(--ink-soft); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.fiscal-summary-grid strong { color: var(--ink); font-size: 25px; }
.fiscal-settings-section { border: 1px solid #dfe2e5; border-radius: 9px; background: #fff; overflow: hidden; }
.fiscal-settings-heading { min-height: 66px; display: flex; align-items: center; justify-content: space-between; padding: 13px 17px; border-bottom: 1px solid #e5e7e9; background: #f7f8f9; }
.fiscal-settings-heading h2 { margin: 0; font-size: 15px; }
.fiscal-settings-heading p { margin: 4px 0 0; color: var(--ink-soft); font-size: 11px; }
.fiscal-group-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; }
.fiscal-group-card { display: grid; gap: 10px; border: 1px solid #dfe3e7; border-radius: 8px; padding: 13px; }
.fiscal-group-card.is-inactive { opacity: .68; }
.fiscal-group-main { display: flex; align-items: flex-start; gap: 10px; }
.fiscal-group-main > div { min-width: 0; display: grid; gap: 4px; }
.fiscal-group-main strong, .fiscal-group-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fiscal-group-main small, .fiscal-group-card p { color: var(--ink-soft); font-size: 10px; }
.fiscal-group-card p { margin: 0; line-height: 1.4; }
.fiscal-row-actions button, .fiscal-table-action { border: 0; padding: 3px 0; color: #7c5b00; background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
.fiscal-row-actions button:hover, .fiscal-table-action:hover { color: #bd5c00; text-decoration: underline; }
.fiscal-groups-empty { grid-column: 1 / -1; border: 1px solid #dfe2e5; }
.fiscal-product-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) 170px 210px; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.fiscal-product-toolbar .field { margin: 0; }
.fiscal-bulk-bar { min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 8px 14px; border-bottom: 1px solid var(--line); background: #fff9e9; }
.fiscal-bulk-bar label { margin-right: auto; font-size: 11px; font-weight: 800; }
.fiscal-bulk-bar select { min-height: 36px; border: 1px solid #d6dade; border-radius: 6px; padding: 0 9px; background: #fff; }
.fiscal-products-table td small { max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.badge.is-fiscal-ready { color: #197247; background: #dff5e8; }
.badge.is-fiscal-pending { color: #8a5a00; background: #fff0ce; }
.badge.is-fiscal-no-group { color: #a32929; background: #fde7e7; }
.fiscal-homologation-note { display: flex; align-items: center; gap: 12px; border-left: 4px solid #e4a21b; padding: 12px 14px; color: #63502a; background: #fff8e8; font-size: 11px; }
.fiscal-homologation-note span { color: #776b54; }
.fiscal-homologation-note .button { margin-left: auto; white-space: nowrap; }
.fiscal-ibpt-help { margin: 0; padding: 10px 14px 0; color: var(--ink-soft); font-size: 11px; line-height: 1.45; }
button.settings-list-item { width: 100%; border: 0; border-bottom: 1px solid #e5e7e9; color: var(--ink); background: #fff; text-align: left; }
button.settings-list-item:hover { background: #fff9e7; }
button.settings-list-item:last-child { border-bottom: 0; }
.settings-user-item { justify-content: space-between; gap: 16px; }
.settings-user-main { min-width: 0; display: grid; gap: 4px; }
.settings-user-main strong, .settings-user-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-user-main small { color: #777f87; font-size: 12px; }
.settings-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }

.modal-root { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(19,25,31,.52); }
.modal { width: min(520px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 24px; border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.modal-header { display: flex; gap: 16px; align-items: start; justify-content: space-between; }
.modal-header h2 { margin: 0; font-size: 21px; }
.modal-header p { margin: 6px 0 0; color: var(--ink-soft); font-size: 13px; }
.icon-close { width: 34px; height: 34px; border: 0; border-radius: 8px; color: var(--ink-soft); background: #f4f5f6; font-size: 22px; line-height: 1; }
.modal-footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 24px; }
.modal-stock-unavailable { width: min(370px, 100%); padding: 0; overflow: hidden; border-radius: 0; }
.stock-unavailable-header { min-height: 56px; display: flex; align-items: center; padding: 0 32px; color: #fff; background: #424446; }
.stock-unavailable-header h2 { margin: 0; font-size: 14px; font-weight: 900; text-transform: uppercase; }
.stock-unavailable-body { min-height: 92px; display: flex; align-items: center; gap: 17px; padding: 18px 32px; }
.stock-unavailable-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #d6dbe0; border-radius: 50%; color: #cbd0d4; font-size: 34px; font-weight: 200; line-height: 1; }
.stock-unavailable-body strong { color: #f04444; font-size: 12px; }
.stock-unavailable-body p { margin: 11px 0 0; color: var(--ink); font-size: 13px; }
.stock-unavailable-ingredients { display: grid; gap: 1px; border-top: 1px solid #eeeeee; background: #f8f8f8; }
.stock-unavailable-ingredients > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; padding: 7px 32px; border-bottom: 1px solid #eeeeee; color: var(--ink); font-size: 12px; }
.stock-unavailable-ingredients strong { font-variant-numeric: tabular-nums; white-space: nowrap; }
.stock-unavailable-ingredients strong.is-empty { color: #d62828; }
.stock-unavailable-footer { min-height: 58px; display: flex; align-items: center; justify-content: center; border-top: 1px solid #eeeeee; background: #f5f5f5; }
.stock-unavailable-footer .button { min-width: 110px; min-height: 33px; border-radius: 4px; font-size: 12px; box-shadow: 0 2px 6px rgba(182,101,0,.38); }
.modal .field { margin: 17px 0; }
.modal .settings-row { margin-top: 17px; }
.modal-user { width: min(820px, 100%); }
.modal-product { width: min(820px, 100%); }
.modal-tax-group { width: min(780px, 100%); }
.product-form-grid, .product-tax-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
.product-form-grid .field, .product-tax-grid .field { margin: 13px 0; }
.product-form-grid .field-wide, .product-tax-grid .field-wide { grid-column: 1 / -1; }
.tax-group-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
.tax-group-form-grid > .field, .tax-group-form-grid > .product-check-option { margin: 12px 0; }
.tax-group-form-grid .field-wide { grid-column: 1 / -1; }
.tax-group-advanced { margin-top: 14px; border: 1px solid #dfe3e7; border-radius: 8px; padding: 0 13px 12px; background: #fafbfc; }
.tax-group-advanced summary { cursor: pointer; margin: 0 -13px; padding: 13px; color: #4b5660; font-size: 12px; font-weight: 900; }
.tax-group-advanced > p { margin: 0 0 4px; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.product-tax-section { margin-top: 20px; padding-top: 18px; border-top: 2px solid #eceef0; }
.product-tax-heading { display: grid; gap: 4px; }
.product-tax-heading strong { color: var(--ink); font-size: 16px; }
.product-tax-heading small { color: var(--ink-soft); font-size: 12px; }
.product-tax-subheading { grid-column: 1 / -1; display: grid; gap: 3px; margin-top: 13px; border-bottom: 1px solid #e2e5e8; padding: 0 0 8px; }
.product-tax-subheading strong { color: #555f68; font-size: 12px; text-transform: uppercase; letter-spacing: .35px; }
.product-tax-subheading small { color: var(--ink-soft); font-size: 10px; line-height: 1.4; }
.user-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
.user-form-grid .field input[readonly] { color: #727a82; background: #f2f3f4; cursor: not-allowed; }
.user-active-option { margin-top: 4px; }
.user-permissions { min-width: 0; margin: 22px 0 0; padding: 0; border: 0; }
.user-permissions-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding-bottom: 13px; border-bottom: 2px solid #eceef0; }
.user-permissions-title { font-size: 17px; }
.user-permissions-heading p { margin: 4px 0 0; color: var(--ink-soft); font-size: 12px; }
.permission-shortcuts { display: flex; gap: 7px; flex: 0 0 auto; }
.permission-shortcuts button { min-height: 30px; border: 1px solid #d8dde1; border-radius: 6px; padding: 0 10px; color: var(--ink-soft); background: #fff; font-size: 11px; font-weight: 800; }
.permission-shortcuts button:hover { color: var(--ink); border-color: var(--yellow-dark); background: var(--yellow-soft); }
.admin-permissions-note { border-radius: 6px; padding: 7px 10px; color: #725300; background: var(--yellow-soft); font-size: 11px; font-weight: 800; }
.permission-group { padding: 17px 0 3px; }
.permission-group h3 { margin: 0 0 9px; color: #676f77; font-size: 12px; letter-spacing: .35px; text-transform: uppercase; }
.permission-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.permission-option { min-width: 0; display: flex; align-items: flex-start; gap: 10px; padding: 11px; border: 1px solid #e0e3e6; border-radius: 8px; background: #fafafa; cursor: pointer; }
.permission-option:has(input:checked) { border-color: #e1b019; background: #fff9e7; }
.permission-option input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--yellow-dark); }
.permission-option span { min-width: 0; display: grid; gap: 3px; }
.permission-option strong { font-size: 12px; }
.permission-option small { color: var(--ink-soft); font-size: 11px; line-height: 1.35; }
.permission-option:has(input:disabled) { cursor: default; }
.permission-panel-message, .permission-empty { display: grid; place-items: center; align-content: center; min-height: 240px; padding: 30px; color: var(--ink-soft); text-align: center; }
.permission-panel-message p, .permission-empty p { margin: 7px 0 0; font-size: 13px; }
.permission-panel-message strong, .permission-empty strong { color: var(--ink); }
.product-options-grid { display: grid; gap: 10px; margin-top: 18px; }
.product-check-option { min-height: 64px; display: flex; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid #dfe3e6; border-radius: 9px; background: #fbfcfd; cursor: pointer; }
.product-check-option:hover { border-color: #c9a84b; background: #fffaf0; }
.product-check-option input { width: 20px; height: 20px; flex: 0 0 auto; margin: 0; accent-color: var(--yellow-dark); }
.product-check-option span, .product-check-option strong, .product-check-option small { display: block; }
.product-check-option strong { color: var(--ink); font-size: 13px; }
.product-check-option small { margin-top: 4px; color: var(--ink-soft); font-size: 11px; font-weight: 500; line-height: 1.35; }
.product-dependencies { margin-top: 18px; border: 1px solid #e0e3e6; border-radius: 10px; padding: 15px; background: #fafbfc; }
.product-dependencies.is-hidden { display: none; }
.product-dependencies-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid #e1e4e7; }
.product-dependencies-heading > div { display: grid; gap: 4px; }
.product-dependencies-heading strong { font-size: 14px; }
.product-dependencies-heading small { color: var(--ink-soft); font-size: 11px; line-height: 1.4; }
.product-dependencies-heading button { min-height: 34px; flex: 0 0 auto; border: 0; border-radius: 6px; padding: 0 12px; color: #2f2f2f; background: var(--yellow); font-size: 11px; font-weight: 900; }
.product-dependencies-list { display: grid; gap: 8px; padding-top: 8px; }
.product-dependency-row { display: grid; grid-template-columns: minmax(0, 1fr) 150px 36px; align-items: end; gap: 10px; }
.product-dependency-row .field { margin: 5px 0; }
.product-dependency-remove { width: 36px; height: 38px; margin-bottom: 5px; border: 1px solid #e1c4c4; border-radius: 6px; color: #b3261e; background: #fff5f5; font-size: 20px; }
.modal-message { margin: 20px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
.modal-close-table { width: min(880px, 100%); height: min(700px, calc(100vh - 40px)); height: min(700px, calc(100dvh - 40px)); display: grid; grid-template-rows: auto minmax(0, 1fr); padding: 0; overflow: hidden; border-radius: 10px; }
.modal-close-table > #modal-form { min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; }
.close-table-modal-header { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 18px; color: #fff; background: #3f4143; }
.close-table-modal-header h2 { margin: 0; font-size: 17px; text-transform: uppercase; }
.close-table-modal-header .icon-close { color: #d6d7d8; background: transparent; }
.close-table-modal-body { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; background: #f5f5f5; }
.close-products-column { min-width: 0; min-height: 0; display: flex; flex-direction: column; border-right: 10px solid #f0f0f0; background: #fff; }
.close-products-column h3, .close-payment-block h3 { min-height: 52px; display: flex; align-items: center; margin: 0; padding: 0 18px; color: #fff; background: #9a9a9a; font-size: 15px; text-transform: uppercase; }
.close-products-list { min-height: 0; flex: 1; overflow-y: auto; }
.close-product-row { min-height: 51px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 18px; border-bottom: 1px solid var(--line); border-left: 3px solid var(--yellow-dark); font-size: 12px; }
.close-product-copy { min-width: 0; display: grid; gap: 3px; }
.close-product-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.close-product-copy small { color: #777d82; font-size: 10px; line-height: 1.3; overflow-wrap: anywhere; }
.close-products-empty { min-height: 120px; display: grid; place-items: center; padding: 20px; color: var(--ink-soft); font-size: 13px; }
.close-totals-list > div { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 18px; border-top: 1px solid var(--line); font-size: 13px; }
.close-total-pending { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 18px; color: #fff; background: #696b6d; }
.close-total-pending strong { font-size: 20px; }
.close-payment-column { min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow-y: auto; background: #fff; }
.close-payment-block { border-bottom: 10px solid #f0f0f0; }
.close-payment-block h3 { min-height: 52px; justify-content: space-between; background: #8e8f91; }
.close-payment-heading-actions { display: flex; align-items: center; gap: 8px; text-transform: none; }
.close-split-payment { height: 38px; border: 0; border-radius: 3px; padding: 0 12px; color: #fff; background: #66686a; font-size: 13px; font-weight: 900; }
.close-split-payment:hover { background: #505254; }
.close-split-stepper { height: 38px; display: grid; grid-template-columns: 28px 36px 28px; align-items: stretch; overflow: hidden; border-radius: 2px; background: #fff; }
.close-split-stepper button { border: 0; padding: 0; color: #71767b; background: #fff; font-size: 17px; font-weight: 800; }
.close-split-stepper button:hover { color: #fff; background: #66686a; }
.close-split-stepper input { width: 36px; border: 0; padding: 0; color: var(--ink); background: #fff; outline: none; text-align: center; font-size: 14px; font-weight: 900; }
.close-add-payment { width: 42px; height: 38px; display: grid; place-items: center; border: 2px solid #a5a6a8; border-radius: 3px; padding: 0; color: #fff; background: #66686a; font-size: 25px; font-weight: 800; line-height: 1; }
.close-add-payment:hover { border-color: #fff; background: #505254; }
.close-payment-rows { max-height: 220px; overflow-y: auto; }
.close-money-field { min-height: 52px; display: flex; align-items: center; gap: 8px; padding: 8px 18px; }
.close-money-field span { color: var(--ink-soft); font-size: 12px; }
.close-money-field input, .close-pay-row select { min-height: 38px; border: 1px solid #cfd3d6; border-radius: 3px; color: var(--ink); background: #fff; outline: none; }
.close-money-field input { width: 112px; padding: 0 10px; }
.close-money-field input:focus, .close-pay-row select:focus { border-color: var(--yellow-dark); box-shadow: 0 0 0 3px rgba(244,191,36,.16); }
.close-pay-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 8px 18px; border-bottom: 1px solid #eceeef; }
.close-pay-row select { width: 100%; padding: 0 10px; }
.close-pay-row .close-money-field { padding: 0; }
.close-remove-payment { width: 32px; height: 38px; border: 0; padding: 0; color: #9a9da0; background: transparent; font-size: 23px; line-height: 1; }
.close-remove-payment:hover { color: #fff; background: var(--danger); }
.close-payment-summary { margin-top: auto; padding: 18px; color: var(--ink-soft); font-size: 12px; }
.close-payment-summary > div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; }
.close-payment-summary strong { color: var(--ink); }
.close-change { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 18px; color: var(--ink); background: #e2e2e2; }
.close-change strong { font-size: 20px; }
.close-table-modal-footer { position: relative; z-index: 2; min-height: 68px; align-items: center; margin-top: 0; padding: 12px 18px; border-top: 1px solid #dedede; background: #f7f7f7; box-shadow: 0 -5px 14px rgba(26,32,38,.08); }
.close-table-modal-footer .button-primary { box-shadow: 0 3px 8px rgba(181,128,0,.24); }
.nfce-close-button, .nfce-emit-button { color: #fff; border-color: #ec7300; background: #ff7800; }
.nfce-close-button:hover, .nfce-emit-button:hover { color: #fff; border-color: #d86600; background: #e96d00; }
.nfce-emit-button:disabled { color: #fff; border-color: #f6c898; background: #f6c898; cursor: not-allowed; }
.modal-nfce { width: min(560px, 100%); padding: 0; overflow: hidden; border-radius: 8px; }
.nfce-modal-header { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 16px; color: #fff; background: #3f4143; }
.nfce-modal-header > div { min-width: 0; display: flex; align-items: center; gap: 12px; }
.nfce-modal-header h2 { margin: 0; font-size: 16px; text-transform: uppercase; }
.nfce-modal-header .icon-close { color: #d9d9d9; background: transparent; }
.nfce-status { min-height: 25px; display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 0 10px; color: #e3e5e7; background: #55595c; font-size: 10px; font-weight: 900; text-transform: uppercase; white-space: nowrap; }
.nfce-status.is-authorized { color: #d7f7e5; background: #277451; }
.nfce-status.is-failed { color: #ffe0e3; background: #9e2e3a; }
.nfce-status.is-uncertain { color: #fff0bf; background: #87640a; }
.nfce-status i { width: 10px; height: 10px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: remote-spin .7s linear infinite; }
.nfce-modal-body { max-height: calc(100vh - 170px); overflow-y: auto; background: #fff; }
.nfce-unknown-option { min-height: 76px; display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-bottom: 1px solid #e7e7e7; cursor: pointer; }
.nfce-unknown-option > span { min-width: 0; display: grid; gap: 4px; margin-right: auto; }
.nfce-unknown-option strong { font-size: 14px; }
.nfce-unknown-option small { color: var(--ink-soft); font-size: 11px; }
.nfce-unknown-option input { position: absolute; opacity: 0; pointer-events: none; }
.nfce-unknown-option > i { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border: 2px solid #ff7800; border-radius: 4px; color: transparent; background: #fff; font-style: normal; font-size: 19px; font-weight: 900; }
.nfce-unknown-option:has(input:checked) > i { color: #ff7800; }
.nfce-unknown-option:has(input:focus-visible) > i { box-shadow: 0 0 0 3px rgba(255,120,0,.2); }
.nfce-customer-fields { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px 14px; padding: 16px 18px 20px; border-bottom: 1px solid #e7e7e7; background: #fbfbfb; }
.nfce-customer-fields.is-hidden { display: none; }
.nfce-subheading { grid-column: 1 / -1; display: grid; gap: 3px; margin-bottom: 5px; }
.nfce-subheading strong { font-size: 13px; }
.nfce-subheading small { color: var(--ink-soft); font-size: 10px; line-height: 1.4; }
.modal-nfce .nfce-customer-fields .field { display: contents; }
.modal-nfce .nfce-customer-fields .field > span { align-self: center; font-size: 12px; }
.modal-nfce .nfce-customer-fields .field > input { min-height: 38px; border: 1px solid #cdd1d4; border-radius: 2px; padding: 0 10px; background: #fff; outline: none; }
.modal-nfce .nfce-customer-fields .field > input:focus { border-color: #ff7800; box-shadow: 0 0 0 3px rgba(255,120,0,.12); }
.nfce-homologation-hint { grid-column: 2; color: #7c650b; font-size: 10px; line-height: 1.4; }
.nfce-preflight, .nfce-result { display: grid; gap: 5px; margin: 14px 18px; border: 1px solid #dfe3e6; border-radius: 6px; padding: 12px 13px; color: var(--ink-soft); background: #f6f7f8; font-size: 11px; }
.nfce-preflight strong, .nfce-result strong { color: var(--ink); font-size: 12px; }
.nfce-preflight ul { max-height: 150px; overflow-y: auto; margin: 5px 0 0; padding-left: 18px; }
.nfce-preflight li + li { margin-top: 4px; }
.nfce-preflight.is-ok, .nfce-result.is-authorized { color: #276247; border-color: #bfe5ce; background: #edf9f2; }
.nfce-preflight.is-error, .nfce-result.is-error { color: #972b36; border-color: #f0bfc5; background: #fff0f2; }
.nfce-result.is-uncertain { color: #72590b; border-color: #ead58e; background: #fff9df; }
.nfce-result small { overflow-wrap: anywhere; }
.nfce-result details { margin-top: 5px; }
.nfce-result summary { cursor: pointer; font-weight: 800; }
.nfce-result pre { max-height: 180px; overflow: auto; margin: 8px 0 0; border-radius: 4px; padding: 9px; color: #f3f3f3; background: #303438; font: 9px/1.45 Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.nfce-debug { padding: 14px 18px 18px; border-top: 1px solid #eceeef; background: #f8f9fa; }
.nfce-debug ol { max-height: 240px; overflow-y: auto; display: grid; gap: 7px; margin: 10px 0 0; padding: 0; list-style: none; }
.nfce-debug li { display: grid; grid-template-columns: 58px minmax(0, 1fr) 22px; align-items: start; gap: 8px; border: 1px solid #e1e4e6; border-radius: 5px; padding: 8px; background: #fff; }
.nfce-debug time { color: #8a9197; font-size: 9px; }
.nfce-debug li > span { min-width: 0; display: grid; gap: 3px; color: #5f666c; font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
.nfce-debug li > span strong { color: #343a3f; font-size: 9px; letter-spacing: .35px; text-transform: uppercase; }
.nfce-debug li > b { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #6f767c; background: #eceeef; font-size: 11px; }
.nfce-debug li.is-ok > b { color: #236443; background: #d9f2e4; }
.nfce-debug li.is-error > b { color: #a12431; background: #fde1e5; }
.nfce-debug li.is-warning > b { color: #7a5b00; background: #ffefbb; }
.nfce-modal-footer { min-height: 64px; align-items: center; margin: 0; padding: 11px 18px; border-top: 1px solid #e0e3e5; background: #f4f4f4; }
.toast-root { position: fixed; z-index: 40; left: 50%; bottom: 22px; display: grid; justify-items: center; gap: 10px; width: min(calc(100vw - 28px), 360px); transform: translateX(-50%); pointer-events: none; }
.toast { min-width: 260px; max-width: 360px; padding: 13px 15px; border-radius: 9px; color: #fff; background: var(--ink); box-shadow: var(--shadow); font-size: 13px; font-weight: 700; animation: toast-in .2s ease-out; }
.toast.is-success { color: #24593e; background: #dcf4e5; }
.toast.is-error { color: #a52331; background: #fde4e7; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

.sync-status { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-soft); font-size: 10px; font-weight: 800; white-space: nowrap; }
.sync-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #aab1b8; box-shadow: 0 0 0 3px rgba(170,177,184,.16); }
.sync-status.is-online::before { background: var(--success); box-shadow: 0 0 0 3px rgba(77,189,139,.16); }
.sync-status.is-saving::before, .sync-status.is-connecting::before { background: var(--yellow-dark); box-shadow: 0 0 0 3px rgba(244,191,36,.2); animation: sync-pulse 1s infinite alternate; }
.sync-status.is-error::before { background: var(--danger); box-shadow: 0 0 0 3px rgba(232,78,91,.16); }
@keyframes sync-pulse { to { opacity: .35; } }
.button-small { min-height: 34px; padding-inline: 11px; font-size: 12px; }
.remote-loading, .remote-error-state { min-height: 420px; display: grid; place-items: center; align-content: center; gap: 12px; color: var(--ink-soft); text-align: center; }
.remote-loading span { width: 34px; height: 34px; border: 4px solid #e4e7eb; border-top-color: var(--yellow-dark); border-radius: 50%; animation: remote-spin .8s linear infinite; }
.remote-error-state > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; color: #aa2432; background: #fde4e7; font-size: 26px; font-weight: 900; }
.remote-error-state h2, .remote-error-state p { margin: 0; }
.remote-error-state p { max-width: 520px; line-height: 1.5; }
@keyframes remote-spin { to { transform: rotate(360deg); } }
.remote-module-card { max-width: 1420px; margin: 0 auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 2px 6px rgba(32,40,49,.03); }
.remote-summary { display: flex; align-items: baseline; gap: 9px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.remote-summary strong { font-size: 28px; }
.remote-summary span { color: var(--ink-soft); font-size: 13px; font-weight: 700; }
.remote-list { padding: 12px; }
.remote-list-card { min-height: 78px; display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.remote-list-card + .remote-list-card { margin-top: 9px; }
.remote-list-card:hover { border-color: #d1b34f; background: #fffdf6; }
.remote-card-symbol { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; color: #7b5b00; background: var(--yellow-soft); font-size: 19px; font-weight: 900; }
.remote-card-copy { min-width: 0; display: grid; gap: 5px; }
.remote-card-copy strong, .remote-card-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.remote-card-copy span { color: var(--ink-soft); font-size: 13px; }
.remote-card-actions { margin-left: auto; display: flex; gap: 8px; }
.recruitment-status { min-height: 34px; border: 1px solid transparent; border-radius: 999px; padding: 0 11px; font-size: 12px; font-weight: 800; }
select.recruitment-status { cursor: pointer; }
.recruitment-status.is-pending { color: #59616a; background: #edf0f2; border-color: #d9dee2; }
.recruitment-status.is-interview_scheduled { color: #12528f; background: #e5f2ff; border-color: #bfddfb; }
.recruitment-status.is-hired { color: #1e7648; background: #e3f6ea; border-color: #c3e9d1; }
.recruitment-status.is-interview_no_show { color: #ae2939; background: #ffe8eb; border-color: #f7c5cc; }
.recruitment-status.is-not_selected { color: #85600a; background: #fff5cf; border-color: #f1dfa0; }
.remote-empty { min-height: 230px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 30px; color: var(--ink-soft); text-align: center; }
.remote-empty > span { font-size: 36px; color: #b58a10; }
.remote-empty strong { color: var(--ink); }
.remote-empty p { margin: 0; font-size: 13px; }
.remote-empty.is-compact { min-height: 90px; padding: 20px; font-size: 13px; }
.checklist-grid { max-width: 1420px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; align-items: start; }
.checklist-category-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 2px 6px rgba(32,40,49,.03); }
.checklist-category-card > header { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; color: #fff; background: var(--slate); }
.checklist-category-heading { min-width: 0; display: flex; align-items: center; gap: 8px; }
.checklist-category-copy { min-width: 0; display: grid; gap: 3px; }
.checklist-category-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.checklist-category-card > header strong { font-size: 14px; }
.checklist-category-card > header span { color: #cdd1d4; font-size: 11px; }
.checklist-category-edit { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.28); border-radius: 7px; padding: 0; color: #fff; background: rgba(255,255,255,.08); font-size: 17px; line-height: 1; }
.checklist-category-edit:hover { border-color: var(--yellow); color: var(--ink); background: var(--yellow); }
.checklist-category-card ul { margin: 0; padding: 7px 14px 13px; list-style: none; }
.checklist-category-card li { min-height: 43px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #edf0f2; font-size: 13px; }
.checklist-category-card li:last-child { border-bottom: 0; }
.checklist-category-card li.is-empty { color: var(--ink-soft); }
.checklist-box { width: 19px; height: 19px; appearance: none; display: grid; place-items: center; flex: 0 0 auto; margin: 0; border: 2px solid #aeb5bb; border-radius: 4px; padding: 0; color: var(--ink); background: #fff; cursor: pointer; }
.checklist-box:hover { border-color: var(--yellow-dark); background: var(--yellow-soft); }
.checklist-box:checked { border-color: var(--yellow-dark); background: var(--yellow); }
.checklist-box:checked::after { content: '✓'; font-size: 13px; font-weight: 900; line-height: 1; }
.checklist-category-card li.is-checked .checklist-item-name { color: var(--ink-soft); text-decoration: line-through; }
.checklist-item-actions { margin-left: auto; display: flex; gap: 3px; opacity: 0; transition: opacity .15s ease; }
.checklist-category-card li:hover .checklist-item-actions { opacity: 1; }
.checklist-item-actions button { border: 0; padding: 5px; color: var(--ink-soft); background: transparent; font-size: 10px; font-weight: 800; }
.checklist-item-actions button:last-child { color: #b32a38; }
.timeclock-module-card { max-width: 560px; min-height: 400px; display: grid; place-items: center; margin: 0 auto; padding: 40px; border-radius: 16px; color: #fff; background: linear-gradient(140deg, var(--slate) 0%, var(--slate-deep) 100%); box-shadow: var(--shadow); }
.timeclock-module-card form { width: min(360px, 100%); display: grid; gap: 16px; text-align: center; }
.timeclock-module-card label { color: #dce0e3; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; }
.timeclock-module-card input { width: 100%; height: 74px; border: 2px solid #747d85; border-radius: 12px; color: var(--ink); background: #fff; font-size: 34px; font-weight: 900; letter-spacing: 16px; text-align: center; outline: none; }
.timeclock-module-card input:focus { border-color: var(--yellow); box-shadow: 0 0 0 4px rgba(244,191,36,.18); }
.timeclock-module-card .button { min-height: 58px; font-size: 16px; text-transform: uppercase; }
.remote-form-status { min-height: 20px; margin: 0; color: #fff; font-size: 13px; font-weight: 700; }
.remote-switch { display: flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.remote-switch input { width: 18px; height: 18px; accent-color: var(--yellow-dark); }
.employees-page-content { display: grid; gap: 16px; }
.employees-settings-list { min-width: 0; }
.employee-settings-row { padding: 0; gap: 0; }
.employee-settings-row.is-inactive { opacity: .62; }
.employee-settings-main { min-width: 0; min-height: 58px; flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 0; padding: 10px 18px; color: var(--ink); background: #fff; text-align: left; }
.employee-settings-main:hover { background: #fff9e7; }
.employee-settings-code { width: 88px; min-height: 58px; display: grid; place-items: center; align-content: center; gap: 2px; flex: 0 0 auto; border: 0; border-left: 1px solid var(--line); color: var(--ink-soft); background: #fafafa; }
.employee-settings-code:hover { color: var(--ink); background: var(--yellow-soft); }
.employee-settings-code span { font-size: 9px; font-weight: 800; text-transform: uppercase; }
.employee-settings-code strong { color: var(--ink); font-size: 14px; letter-spacing: 1px; }
.employee-overtime-settings { width: 100%; max-width: none; padding: 15px 17px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.employee-overtime-copy { min-width: 0; display: grid; gap: 3px; }
.employee-overtime-copy > span { color: #8a6400; font-size: 10px; font-weight: 900; letter-spacing: .35px; text-transform: uppercase; }
.employee-overtime-copy > strong { color: var(--ink); font-size: 15px; }
.employee-overtime-copy p { margin: 0; color: var(--ink-soft); font-size: 11px; }
.employee-overtime-form { display: flex; align-items: end; gap: 9px; }
.employee-overtime-form label { display: grid; gap: 5px; color: var(--ink-soft); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.employee-overtime-form input { width: 145px; min-height: 40px; border: 1px solid #d7dce1; border-radius: 8px; padding: 0 10px; color: var(--ink); background: #fff; }
.employee-overtime-form input:focus { border-color: var(--yellow-dark); outline: 0; box-shadow: 0 0 0 3px rgba(244,191,36,.15); }
.employees-module-grid { max-width: 1420px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.employees-module-grid > .remote-empty { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.employee-module-card { min-width: 0; display: flex; align-items: stretch; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 2px 6px rgba(32,40,49,.03); }
.employee-module-card.is-inactive { opacity: .62; }
.employee-card-main { min-width: 0; flex: 1; display: flex; align-items: center; gap: 12px; border: 0; padding: 15px; color: var(--ink); background: #fff; text-align: left; }
.employee-card-main:hover { background: #fff9e7; }
.employee-card-main > span:last-child { min-width: 0; display: grid; gap: 5px; }
.employee-card-main strong, .employee-card-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employee-card-main small { color: var(--ink-soft); font-size: 11px; }
.employee-avatar { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #765700; background: var(--yellow-soft); font-size: 18px; font-weight: 900; }
.employee-avatar.is-large { width: 68px; height: 68px; font-size: 27px; }
.employee-code { width: 74px; display: grid; place-items: center; align-content: center; gap: 3px; border: 0; border-left: 1px solid var(--line); color: var(--ink-soft); background: #fafafa; }
.employee-code span { font-size: 9px; font-weight: 800; text-transform: uppercase; }
.employee-code strong { color: var(--ink); font-size: 15px; letter-spacing: 1px; }
.employee-detail-grid { max-width: 1420px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(220px, .75fr) minmax(220px, .75fr); gap: 16px; align-items: start; }
.employee-profile-card { padding: 22px; display: grid; gap: 17px; }
.employee-profile-card > div:nth-child(2) { display: grid; gap: 9px; }
.employee-profile-card p { margin: 0; color: var(--ink-soft); font-size: 13px; }
.employee-profile-card form { display: grid; gap: 9px; padding-top: 14px; border-top: 1px solid var(--line); }
.employee-profile-card form label { display: grid; gap: 7px; color: var(--ink-soft); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.employee-profile-card form input { min-height: 42px; border: 1px solid #d7dce1; border-radius: 8px; padding: 0 11px; }
.employee-history-card { min-width: 0; overflow: hidden; }
.employee-history-card h2, .employee-adjustment-history h2 { margin: 0; padding: 17px 18px; border-bottom: 1px solid var(--line); font-size: 16px; }
.employee-adjustment-history { min-width: 0; }
.employee-adjustment-history ul { margin: 0; padding: 8px 18px 16px; list-style: none; }
.employee-adjustment-history li { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); font-size: 12px; }
.employee-adjustment-history li span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employee-adjustment-empty { color: var(--ink-soft); }
.remote-table-wrap { max-width: 100%; overflow-x: auto; }
.remote-table-wrap table { width: 100%; border-collapse: collapse; font-size: 12px; }
.remote-table-wrap th { height: 42px; padding: 0 12px; color: var(--ink-soft); background: #f2f3f4; text-align: left; white-space: nowrap; }
.remote-table-wrap td { min-height: 52px; padding: 11px 12px; border-top: 1px solid var(--line); vertical-align: middle; white-space: nowrap; }
.remote-table-wrap td small { display: block; margin-top: 4px; color: var(--ink-soft); font-size: 10px; }
.remote-table-wrap input[type="time"] { min-height: 38px; border: 1px solid #d7dce1; border-radius: 7px; padding: 0 8px; }
.table-link { border: 0; padding: 0; color: #806000; background: transparent; font-weight: 800; }
.weekly-card { overflow: hidden; }
.weekly-card table { min-width: 820px; table-layout: fixed; }
.weekly-card th:nth-child(1) { width: 23%; }
.weekly-card th:nth-child(2) { width: 28%; }
.weekly-card th:nth-child(3), .weekly-card th:nth-child(4) { width: 21%; }
.weekly-card th:nth-child(5) { width: 7%; text-align: center; }
.weekly-card td:last-child { text-align: center; }
.weekly-card input[data-time-field] { width: 100%; text-align: center; }
.weekly-card input[data-time-field]:focus { border-color: var(--yellow-dark); outline: 0; box-shadow: 0 0 0 3px rgba(244,191,36,.14); }
.weekly-card input[data-time-field]:disabled { color: var(--ink-soft); background: #f3f4f5; }
.weekly-employee-name { color: #806000; }
.icon-danger-button { width: 30px; height: 30px; border: 0; border-radius: 7px; color: #b42b38; background: #fff1f2; font-size: 18px; }
.remote-save-hint { margin: 0; padding: 12px 16px; border-top: 1px solid var(--line); color: var(--ink-soft); background: #fafafa; font-size: 11px; }
.remote-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.payment-module-grid { max-width: 1420px; margin: 0 auto; display: grid; grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.15fr) minmax(280px, .95fr); gap: 16px; align-items: start; }
.payment-calculator { padding: 20px; }
.payment-summary { display: grid; gap: 4px; margin: 8px 0 18px; padding: 12px 0; border-block: 1px solid var(--line); }
.payment-summary > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 3px; color: var(--ink-soft); font-size: 13px; }
.payment-summary strong { color: var(--ink); }
.payment-summary .is-positive { color: #27835a; }
.payment-summary .is-negative { color: #bd303e; }
.payment-summary .is-total { margin-top: 4px; border-top: 2px solid var(--line); padding-top: 13px; color: var(--ink); font-weight: 900; }
.payment-summary .is-total strong { font-size: 20px; }
.payment-adjustments-card { overflow: hidden; }
.payment-adjustments-card > header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 17px; border-bottom: 1px solid var(--line); }
.payment-adjustments-card h2, .payment-adjustments-card p { margin: 0; }
.payment-adjustments-card h2 { font-size: 16px; }
.payment-adjustments-card p { margin-top: 4px; color: var(--ink-soft); font-size: 11px; }
.payment-adjustments-card header > div:last-child { display: flex; gap: 7px; }
#payment-adjustments { padding: 8px 16px 16px; }
#payment-adjustments article { min-height: 55px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); font-size: 12px; }
#payment-adjustments article > div { min-width: 0; flex: 1; display: grid; gap: 4px; }
#payment-adjustments article span { color: var(--ink-soft); font-size: 10px; }
.payment-open-hours-card { overflow: hidden; }
.payment-open-hours-card > header { min-height: 68px; padding: 14px 17px; border-bottom: 1px solid var(--line); }
.payment-open-hours-card h2, .payment-open-hours-card p { margin: 0; }
.payment-open-hours-card h2 { font-size: 16px; }
.payment-open-hours-card p { margin-top: 4px; color: var(--ink-soft); font-size: 11px; }
.payment-open-hours-table { min-width: 560px; }
#payment-open-hours > .remote-empty { padding: 18px; }
.company-module-layout { max-width: 1420px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, .75fr); gap: 16px; align-items: start; }
.company-profile-card, .company-certificate-card { padding: 22px; }
.company-card-heading { min-height: 54px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.company-card-heading h2, .company-card-heading p, .company-subsection-heading h3, .company-subsection-heading p { margin: 0; }
.company-card-heading h2 { font-size: 18px; }
.company-card-heading p, .company-subsection-heading p { margin-top: 5px; color: var(--ink-soft); font-size: 12px; line-height: 1.45; }
.company-stage-badge { flex: 0 0 auto; border-radius: 999px; padding: 6px 10px; color: #765700; background: var(--yellow-soft); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.company-integration-note { display: flex; align-items: center; gap: 11px; margin-top: 16px; border: 1px solid #d8e9df; border-radius: 9px; padding: 11px 13px; color: #286247; background: #eff9f3; }
.company-integration-note.is-pending { border-color: #efd891; color: #745600; background: #fff9e7; }
.company-integration-note > span { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--success); font-size: 12px; font-weight: 900; }
.company-integration-note.is-pending > span { background: var(--yellow-dark); }
.company-integration-note p { display: grid; gap: 2px; margin: 0; font-size: 11px; line-height: 1.4; }
.company-integration-note strong { font-size: 12px; }
.company-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.company-form-grid .field { margin: 13px 0; }
.company-form-grid .field-wide, .company-cnpj-field { grid-column: 1 / -1; }
.company-cnpj-control { display: flex; gap: 8px; }
.company-cnpj-control input { min-width: 0; flex: 1; }
.company-cnpj-control .button { min-width: 170px; }
.company-form-grid input[readonly] { color: #78818a; background: #f2f4f5; }
.company-address-section { margin-top: 17px; padding-top: 19px; border-top: 2px solid #eceef0; }
.company-subsection-heading h3 { font-size: 15px; }
.company-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.company-form-footer small { color: var(--ink-soft); font-size: 10px; }
.company-certificate-card { position: static; }
.company-certificate-status { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0 4px; border: 1px solid #ead7d9; border-radius: 10px; padding: 14px; color: #8d2e38; background: #fff5f6; }
.company-certificate-status.is-configured { border-color: #cce6d6; color: #286247; background: #eff9f3; }
.company-certificate-status > span { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: #fff; background: var(--danger); font-weight: 900; }
.company-certificate-status.is-configured > span { background: var(--success); }
.company-certificate-status div { min-width: 0; display: grid; gap: 5px; }
.company-certificate-status strong { font-size: 13px; }
.company-certificate-status small { color: var(--ink-soft); font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.company-certificate-card form { margin-top: 8px; }
.company-nfce-section { margin-top: 22px; padding-top: 22px; border-top: 2px solid #eceef0; }
.company-certificate-card input[type="file"] { padding: 10px; }
.company-certificate-card input[type="file"]::file-selector-button { min-height: 30px; margin-right: 9px; border: 0; border-radius: 6px; padding: 0 10px; color: var(--ink); background: var(--yellow); font-size: 11px; font-weight: 800; cursor: pointer; }
.company-security-note { display: flex; align-items: flex-start; gap: 9px; margin: 4px 0 17px; border-radius: 8px; padding: 11px; color: #53606b; background: #f2f4f5; }
.company-security-note span { color: #8a6700; font-size: 12px; }
.company-security-note p { margin: 0; font-size: 10px; line-height: 1.5; }
.remote-modal select { width: 100%; min-height: 48px; border: 1px solid #d7dce1; border-radius: 9px; padding: 0 12px; color: var(--ink); background: #fff; }
.remote-print-sheet { display: none; }

@media (max-width: 1120px) {
  .company-module-layout { grid-template-columns: 1fr; }
  .company-certificate-card { position: static; }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.finance-page-top {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto minmax(180px, 1fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 10px;
}

.finance-page-heading {
  min-width: 0;
  padding-top: 20px;
}

.finance-page-heading .page-heading {
  margin: 0;
}

.finance-page-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 20px;
}

.finance-page-top .finance-filter-card {
  margin: 0;
}

.finance-summary-row {
  display: grid;
  grid-template-columns: minmax(380px, .78fr) minmax(0, 2fr);
  gap: 10px;
  align-items: stretch;
  margin: 0 -18px 18px;
}

.finance-summary-row .finance-reconciliation-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.finance-summary-row .finance-reconciliation-card {
  padding: 10px;
}

.finance-summary-row .finance-reconciliation-card > h2 {
  margin: 0 0 7px;
  font-size: 13px;
  line-height: 1.2;
}

.finance-summary-row .finance-reconciliation-form {
  gap: 4px;
}

.finance-summary-row .finance-reconciliation-result {
  padding: 2px 4px;
  font-size: 12px;
}

.finance-summary-row .finance-reconciliation-result strong {
  font-size: 13px;
}

.finance-summary-row .finance-reconciliation-form .button {
  min-height: 32px;
  justify-self: end;
  padding: 0 18px;
  font-size: 12px;
}

.finance-overview {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(560px, 2fr);
  gap: 18px;
  margin-bottom: 18px;
}

.finance-filter-card,
.finance-indicator,
.remote-module-card {
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 14px;
  background: var(--surface, #fff);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.finance-filter-card,
.finance-indicator,
.finance-entry-card,
.finance-expense-card,
.finance-future-card,
.finance-statement-card {
  padding: 18px;
}

.finance-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.finance-section-heading h2 {
  margin: 0;
  font-size: 1rem;
}

.finance-section-heading p {
  margin: 4px 0 0;
  color: var(--muted, #64748b);
  font-size: 0.82rem;
}

.finance-filter-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.finance-filter-buttons button {
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 999px;
  background: #fff;
  color: #475569;
  padding: 7px 11px;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
}

.finance-filter-buttons button.is-active {
  border-color: #e3ad0e;
  background: #fff7d6;
  color: #6f5100;
}

.finance-custom-range {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.finance-custom-range .button {
  grid-column: 1 / -1;
}

.finance-indicators {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 10px;
}

.finance-indicators-wrap {
  min-width: 0;
}

.finance-indicators-heading {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-height: 24px;
  margin-bottom: 7px;
  color: var(--muted, #64748b);
  font-size: 0.75rem;
  font-weight: 700;
}

.finance-visibility-toggle {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 8px;
  color: #475569;
  background: #fff;
  font-size: 0.9rem;
  cursor: pointer;
}

.finance-visibility-toggle:hover,
.finance-visibility-toggle:focus-visible {
  border-color: #94a3b8;
  background: #f8fafc;
}

.finance-indicator {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 15px;
}

.finance-indicator span {
  color: var(--muted, #64748b);
  font-size: 0.75rem;
  font-weight: 700;
}

.finance-indicator strong {
  overflow: hidden;
  margin-top: 8px;
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.finance-indicator.is-positive strong,
.finance-table .is-positive {
  color: #168449;
}

.finance-indicator.is-negative strong,
.finance-table .is-negative {
  color: #c33b35;
}

.finance-indicator.is-cash strong {
  color: #d97706;
}

.finance-indicator.is-account strong {
  color: #087f8c;
}

.finance-savings-modal {
  width: min(560px, 100%);
}

.finance-savings-balance {
  display: grid;
  gap: 6px;
  margin-top: 20px;
  border-radius: 12px;
  padding: 18px;
  background: #f4f7f8;
}

.finance-savings-balance > span,
.finance-savings-balance > small {
  color: var(--muted, #64748b);
  font-size: 12px;
}

.finance-savings-balance > strong {
  color: #087f8c;
  font-size: 28px;
}

.finance-savings-balance > small b {
  color: #168449;
}

.finance-savings-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  margin-top: 18px;
  border-top: 1px solid var(--line, #e5e7eb);
  padding-top: 18px;
}

.finance-savings-section .field {
  margin: 0;
}

.finance-savings-movement > div {
  display: flex;
  gap: 8px;
}

.finance-launch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.finance-reconciliation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 18px 0;
}

.finance-reconciliation-form {
  display: grid;
  gap: 12px;
}

.finance-reconciliation-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 15px;
  border-radius: 10px;
  background: var(--surface-muted, #f4f5f7);
}

.finance-reconciliation-result span {
  color: var(--text-muted, #667085);
}

.finance-reconciliation-result strong {
  font-size: 1.2rem;
}

.finance-form-grid,
.finance-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.finance-form-grid .button {
  align-self: end;
  min-height: 43px;
}

.finance-form-grid .field-wide,
.finance-modal-grid .field-wide {
  grid-column: 1 / -1;
}

.finance-personal-expense {
  display: flex;
  align-items: center;
  align-self: end;
  min-height: 43px;
  gap: 9px;
  margin: 0;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer;
}

.finance-personal-expense input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--yellow-dark);
}

.finance-pending-days {
  margin-top: 17px;
  padding-top: 15px;
  border-top: 1px solid var(--line, #e5e7eb);
}

.finance-pending-days > strong {
  display: block;
  margin-bottom: 9px;
  font-size: 0.82rem;
}

.finance-pending-days > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.finance-pending-days button {
  border: 1px solid #f0cf67;
  border-radius: 999px;
  background: #fff9e7;
  color: #765600;
  padding: 6px 10px;
  font: inherit;
  font-size: 0.75rem;
  cursor: pointer;
}

.finance-pending-days span {
  color: var(--muted, #64748b);
  font-size: 0.8rem;
}

.finance-statement-card {
  margin-bottom: 18px;
}

.finance-statement-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.finance-statement-panel {
  min-width: 0;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 12px;
  overflow: hidden;
}

.finance-statement-panel h3 {
  margin: 0;
  border-bottom: 1px solid var(--line, #e5e7eb);
  padding: 13px 14px;
  background: #f8fafc;
  font-size: 0.9rem;
}

.finance-expense-panel-heading { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line, #e5e7eb); padding: 9px 10px 9px 14px; background: #f8fafc; }
.finance-expense-panel-heading h3 { flex: 0 0 auto; border: 0; padding: 4px 0; background: transparent; }
.finance-expense-search { min-width: 0; flex: 1; }
.finance-expense-search input { width: 100%; min-height: 32px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 0 10px; color: var(--ink); background: #fff; font: inherit; font-size: .76rem; outline: 0; }
.finance-expense-search input:focus { border-color: var(--yellow-dark); box-shadow: 0 0 0 3px rgba(244,191,36,.16); }
.finance-expense-search-status { margin: 0; padding: 8px 14px; color: var(--muted, #64748b); background: #fff; font-size: .74rem; }
.finance-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.finance-entry-statement {
  min-width: 610px;
}

.finance-expense-statement {
  min-width: 500px;
}

.finance-row-status {
  display: block;
  margin-top: 3px;
  color: #8b919a;
  font-size: 0.68rem;
  font-weight: 700;
}

.finance-future-card {
  min-width: 0;
}

.finance-future-card .finance-section-heading {
  align-items: center;
}

.finance-future-card .finance-section-heading .button {
  padding-inline: 12px;
  white-space: nowrap;
}

.finance-future-table th:nth-child(2),
.finance-future-table td:nth-child(2) {
  white-space: nowrap;
}

.finance-future-table .finance-actions {
  white-space: normal;
}

.finance-table-wrap {
  overflow-x: auto;
}

.finance-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.finance-table th {
  border-bottom: 1px solid var(--line, #e5e7eb);
  color: #64748b;
  padding: 10px 8px;
  text-align: left;
  white-space: nowrap;
}

.finance-table td {
  border-bottom: 1px solid #eef0f3;
  padding: 11px 8px;
  vertical-align: middle;
}

.finance-table tr.is-deleted td:not(:last-child) {
  color: #8b919a;
  text-decoration: line-through;
}

.finance-status {
  display: inline-block;
  border-radius: 999px;
  background: #e9f8ef;
  color: #168449;
  padding: 4px 8px;
  font-size: 0.7rem;
  font-weight: 800;
}

.finance-status.is-cancelled {
  background: #f3f4f6;
  color: #6b7280;
  text-decoration: none;
}

.finance-actions {
  white-space: nowrap;
}

.finance-actions button {
  border: 0;
  background: transparent;
  color: #876600;
  padding: 5px;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 750;
  cursor: pointer;
}

.finance-actions button.is-danger {
  color: #c33b35;
}

.finance-empty-row {
  color: var(--muted, #64748b);
  padding: 28px !important;
  text-align: center;
}

.finance-more {
  display: block;
  margin: 16px auto 0;
}

.finance-audit,
.finance-payment-summary {
  margin: 15px 0 0;
  border-radius: 10px;
  background: #f7f8fa;
  color: #64748b;
  padding: 12px;
  font-size: 0.78rem;
}

.finance-payment-summary {
  display: flex;
  justify-content: space-between;
  margin: 0 0 15px;
}

.company-working-days-card {
  grid-column: 1 / -1;
  padding: 20px;
}

.working-days-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(100px, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}

.working-days-grid label {
  cursor: pointer;
}

.working-days-grid input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.working-days-grid span {
  display: block;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 10px;
  background: #fff;
  padding: 12px 8px;
  color: #64748b;
  font-size: 0.77rem;
  font-weight: 750;
  text-align: center;
}

.working-days-grid input:checked + span {
  border-color: #e3ad0e;
  background: #fff7d6;
  color: #6f5100;
}

.sales-console {
  max-width: 1420px;
  margin: 0 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d9dcdf;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(32,40,49,.05);
}

.sales-workspace-layout {
  width: 100%;
  min-height: 0;
  flex: 1;
  max-width: 1420px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(330px, .9fr);
  align-items: stretch;
  gap: 12px;
}

.sales-workspace-layout .sales-console {
  height: 100%;
  max-width: none;
  margin: 0;
}

.sales-filter-panel {
  background: #e7e7e7;
}

.sales-filter-row {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #d1d3d5;
  padding: 9px 14px 9px 52px;
  position: relative;
}

.sales-filter-icon {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42px;
  display: grid;
  place-items: center;
  border-right: 1px solid #d1d3d5;
  color: #68737e;
  font-size: 18px;
}

.sales-filter-row label {
  min-width: 0;
}

.sales-filter-row label > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.sales-filter-row select,
.sales-filter-row input {
  height: 38px;
  border: 1px solid #bfc3c6;
  border-radius: 0;
  padding: 0 12px;
  color: #27313a;
  background: #fff;
  font: inherit;
  font-size: 13px;
  outline: none;
}

.sales-filter-row select:focus,
.sales-filter-row input:focus {
  border-color: #76bd55;
  box-shadow: 0 0 0 1px #76bd55;
}

.sales-filter-row label:first-of-type select {
  min-width: 158px;
}

.sales-date-range input {
  min-width: 145px;
}

.sales-indicators {
  display: grid;
  grid-template-columns: .8fr 1.35fr .65fr 1.35fr .85fr 54px;
  border-bottom: 1px solid #d9dcdf;
}

.sales-indicators article {
  min-width: 0;
  padding: 19px 20px;
  border-right: 1px dotted #c9cdd0;
}

.sales-indicators article:last-child {
  border-right: 0;
}

.sales-indicators span,
.sales-indicators strong {
  display: block;
}

.sales-indicators span {
  color: #56616c;
  font-size: 13px;
}

.sales-indicators strong {
  margin-top: 5px;
  color: #111820;
  font-size: 18px;
}

.sales-indicators-visibility {
  width: 100%;
  min-height: 76px;
  display: grid;
  place-items: center;
  border: 0;
  border-left: 1px solid #d9dcdf;
  color: #53606b;
  background: #fafafa;
}

.sales-indicators-visibility:hover {
  color: #111820;
  background: #fff7d6;
}

.sales-indicators-visibility svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.sales-table-wrap {
  min-height: 0;
  flex: 1;
  overflow: auto;
  padding: 0 12px 12px;
  background: #f7f7f7;
}

.sales-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: 12px;
}

.sales-table th {
  position: sticky;
  z-index: 1;
  top: 0;
  padding: 13px 12px;
  color: #737d86;
  background: #efefef;
  text-align: left;
  font-weight: 500;
  white-space: nowrap;
}

.sales-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #e5e7e9;
  color: #202830;
  white-space: nowrap;
}

.sales-table tbody tr {
  border-left: 4px solid #48bd99;
  cursor: pointer;
}

.sales-table tbody tr:hover {
  background: #f1fbf7;
}

.sales-table tbody tr.is-selected {
  background: #e5f8f1;
  box-shadow: inset 4px 0 #0a9f76;
}

.sales-status {
  color: #67717a;
}

.sales-status.is-finalized {
  color: #10a984;
}

.sales-empty-row {
  height: 170px;
  color: var(--ink-soft) !important;
  text-align: center;
}

.sales-detail-panel {
  height: 100%;
  min-width: 0;
  overflow: auto;
  border: 1px solid #d9dcdf;
  border-radius: 4px;
  background: #f7f7f7;
}

.sales-detail-panel.is-empty {
  min-height: 420px;
  display: grid;
  place-items: center;
  color: #67727c;
  font-size: 13px;
}

.sales-detail-panel.is-empty div { display: flex; align-items: center; gap: 8px; }
.sales-detail-panel.is-empty span { font-size: 25px; }

.sales-detail-header {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  color: #fff;
  background: #ff7900;
}

.sales-detail-header strong { font-size: 14px; }
.sales-detail-header span { border-radius: 3px; padding: 8px 10px; background: #d96500; font-size: 12px; font-weight: 800; }

.sales-detail-data {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 14px;
  background: #fff;
}

.sales-detail-data div {
  min-height: 30px;
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.sales-detail-data dt, .sales-detail-data dd { margin: 0; font-size: 12px; }
.sales-detail-data dd { color: #151c22; font-weight: 800; }
.sales-detail-section h2 { margin: 0; padding: 10px 14px; color: #fff; background: #9c9c9c; font-size: 13px; }

.sales-detail-items > div,
.sales-detail-payments > div {
  min-height: 43px;
  display: grid;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #e1e3e5;
  padding: 8px 13px;
  background: #fff;
  font-size: 12px;
}

.sales-detail-items > div { grid-template-columns: 18px minmax(0, 1fr) auto; }
.sales-detail-items strong { min-width: 0; }
.sales-detail-items small { color: #111820; font-size: 11px; white-space: nowrap; }
.sales-detail-items p { margin: 0; padding: 20px 14px; color: var(--ink-soft); background: #fff; font-size: 12px; }

.sales-detail-section footer {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 14px;
  color: #fff;
  background: #666;
}

.sales-detail-section footer strong { font-size: 18px; }
.sales-detail-payments > div { grid-template-columns: minmax(0, 1fr) auto; }

.printer-header-actions,
.printer-modal-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.printer-agent-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  padding: 13px 20px;
  color: #176c42;
  background: #eefbf4;
  font-size: 12px;
}

.printer-agent-status span {
  color: var(--ink-soft);
}

.printer-agent-status.is-error {
  color: #a72f3a;
  background: #fff1f2;
}

.printer-connection-help {
  display: grid;
  gap: 5px;
  border: 1px solid #f0b8bd;
  border-radius: 8px;
  padding: 14px;
  color: #8d2630;
  background: #fff5f6;
}

.printer-connection-help .button {
  justify-self: start;
  margin-top: 6px;
}

.print-platform-setup {
  display: grid;
  gap: 14px;
  border-bottom: 1px solid var(--line);
  padding: 18px 20px;
  background: #f7f8f9;
}

.print-platform-setup > header,
.print-pairing-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.print-platform-setup > header > div,
.print-pairing-row > div,
.print-install-grid article > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.print-platform-setup span,
.print-platform-setup small {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.4;
}

.print-install-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.print-install-grid article {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid #dfe3e6;
  border-radius: 10px;
  padding: 14px;
  background: #fff;
}

.print-install-grid article.is-ready,
.print-pairing-row.is-ready {
  border-color: #9ed8b9;
  background: #f0fbf5;
}

.print-install-step {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #765600 !important;
  background: var(--yellow-soft);
  font-weight: 900;
}

.print-install-grid article > b,
.print-pairing-row > b {
  color: #177144;
  font-size: 12px;
}

.print-install-single,
.print-install-complete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #dfe3e6;
  border-radius: 10px;
  padding: 14px;
  background: #fff;
}

.print-install-single > div,
.print-install-complete {
  min-width: 0;
}

.print-install-single > div,
.print-install-complete {
  align-items: start;
}

.print-install-single > div,
.print-install-complete {
  gap: 4px;
}

.print-install-single > div {
  display: grid;
}

.print-install-single .button {
  min-width: 180px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 10px 18px;
  text-align: center;
  text-decoration: none;
  line-height: 1.1;
}

.print-install-complete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-color: #9ed8b9;
  color: #177144;
  background: #f0fbf5;
}

.print-install-complete > div {
  display: grid;
  gap: 4px;
}

.print-pairing-row {
  border: 1px solid #dfe3e6;
  border-radius: 10px;
  padding: 14px;
  background: #fff;
}

.print-install-help {
  display: grid;
  gap: 5px;
  border-radius: 7px;
  padding: 10px 12px;
  color: #8d2630;
  background: #fff1f2;
  font-size: 12px;
}

.print-install-help span,
.print-install-help small {
  color: #754047;
}

.printer-settings-item {
  width: 100%;
  text-align: left;
}

.printer-modal-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.printer-connection-fields,
.printer-ethernet-fields {
  display: grid;
  gap: 12px;
}

.printer-ethernet-fields {
  grid-template-columns: minmax(0, 1fr) minmax(130px, 0.45fr);
}

.printer-connection-fields.is-hidden,
.printer-ethernet-fields.is-hidden {
  display: none;
}

.printer-area-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 18px 0;
  border: 0;
  padding: 0;
}

.printer-area-options legend {
  grid-column: 1 / -1;
  margin-bottom: 4px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.printer-modal-actions {
  justify-content: space-between;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.print-options-form { display: grid; gap: 14px; max-width: 920px; }
.table-capacities-card { padding: 20px; }
.print-options-card { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(320px, 1.2fr); gap: 24px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 20px; background: #fff; }
.print-options-card h2 { margin: 0; font-size: 17px; }
.print-options-card p { margin: 6px 0 0; color: var(--ink-soft); font-size: 13px; }
.print-options-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.print-options-fields small { color: var(--ink-soft); font-size: 11px; }
.print-options-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.print-options-actions span { color: var(--ink-soft); font-size: 12px; }

@media (max-width: 1180px) {
  .page-content.is-sales-page {
    display: block;
    overflow: auto;
  }

  .sales-workspace-layout {
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr;
  }

  .sales-workspace-layout .sales-console,
  .sales-detail-panel {
    height: auto;
  }

  .sales-table-wrap {
    min-height: 230px;
    max-height: 420px;
  }

  .sales-filter-row {
    flex-wrap: wrap;
  }

  .sales-indicators {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .finance-overview {
    grid-template-columns: 1fr;
  }

  .finance-indicators {
    grid-template-columns: repeat(3, 1fr);
  }

  .working-days-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .finance-launch-grid {
    grid-template-columns: 1fr;
  }

  .finance-reconciliation-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .fiscal-summary-grid, .fiscal-group-grid, .fiscal-product-toolbar, .tax-group-form-grid { grid-template-columns: 1fr; }
  .fiscal-bulk-bar { align-items: stretch; flex-direction: column; }
  .fiscal-bulk-bar label { margin-right: 0; }
  .tax-group-form-grid .field-wide { grid-column: auto; }
  .fiscal-homologation-note { align-items: flex-start; flex-direction: column; }
  .fiscal-homologation-note .button { margin-left: 0; }
  .finance-page-top { grid-template-columns: 1fr; }
  .finance-page-heading, .finance-page-actions { padding-top: 0; }
  .finance-page-actions { justify-content: stretch; }
  .finance-page-actions .button { width: 100%; }
  .finance-statement-grid,
  .finance-launch-grid,
  .finance-reconciliation-grid,
  .finance-form-grid,
  .finance-modal-grid,
  .finance-savings-section {
    grid-template-columns: 1fr;
  }

  .finance-savings-movement > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .finance-indicators {
    grid-template-columns: repeat(2, 1fr);
  }

  .finance-form-grid .field-wide,
  .finance-modal-grid .field-wide {
    grid-column: auto;
  }

  .working-days-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .finance-section-heading {
    flex-direction: column;
  }

  .printer-header-actions,
  .printer-agent-status {
    align-items: stretch;
    flex-direction: column;
  }

  .printer-area-options {
    grid-template-columns: 1fr;
  }

  .printer-ethernet-fields {
    grid-template-columns: 1fr;
  }
}

@media print {
  @page reservation {
    size: landscape;
    margin: 3mm;
  }

  @page checklist {
    size: portrait;
    margin: 12mm;
  }

  body > *:not(#remote-print-sheet) { display: none !important; }
  #remote-print-sheet { display: block !important; color: #000; background: #fff; font: 12pt Arial, sans-serif; }
  #remote-print-sheet.is-reservation { page: reservation; break-inside: avoid; page-break-inside: avoid; }
  #remote-print-sheet.is-checklist { page: checklist; }
  #remote-print-sheet.is-reservation header {
    border: 4px solid #000;
    padding: 4mm 5mm 3mm;
    text-align: center;
    break-after: avoid;
    page-break-after: avoid;
  }
  #remote-print-sheet.is-reservation header strong,
  #remote-print-sheet.is-reservation header small { display: none; }
  #remote-print-sheet.is-reservation header h1 {
    margin: 0;
    border-bottom: 3px solid #000;
    padding-bottom: 4mm;
    font-size: var(--print-title-size, 40pt);
    font-weight: 900;
  }
  .print-reservation-banner {
    display: grid;
    grid-template-columns: 1.3fr .8fr 1fr;
    gap: 5mm;
    border: 4px solid #000;
    border-top: 0;
    padding: 4mm 5mm;
    text-align: center;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .print-reservation-banner strong {
    font-size: var(--print-body-size, 20pt);
    font-weight: 900;
    white-space: nowrap;
  }
  #remote-print-sheet header { padding-bottom: 14px; border-bottom: 2px solid #000; }
  #remote-print-sheet header strong { float: right; font-size: 18pt; }
  #remote-print-sheet h1 { margin: 0 0 4px; font-size: 19pt; }
  #remote-print-sheet table { width: 100%; margin-top: 18px; border-collapse: collapse; }
  #remote-print-sheet th, #remote-print-sheet td { padding: 7px; border: 1px solid #000; text-align: left; }
  .print-reservation-card { margin-top: 20px; border: 1px solid #000; }
  .print-reservation-card p { display: flex; justify-content: space-between; margin: 0; padding: 10px; border-bottom: 1px solid #000; }
  .print-reservation-card p:last-child { border-bottom: 0; }
  .print-checklist-group { break-inside: avoid; display: block; width: 100%; margin: 18px 0 0; }
  #remote-print-sheet.is-checklist header h1 { font-size: var(--print-title-size, 17pt); }
  .print-checklist-group h2 { margin: 0 0 8px; border-bottom: 1px solid #000; font-size: var(--print-title-size, 17pt); }
  .print-checklist-group p { margin: 0; border-bottom: 1px solid #aaa; padding: 7px 0; font-size: var(--print-body-size, 17pt); }
}

@media (max-width: 1080px) {
  .topbar { gap: 12px; padding: 0 14px; }
  .nav-item { min-width: 73px; padding-inline: 8px; }
  .nav-item span:last-child { display: none; }
  .topbar-right { gap: 10px; }
  .current-time { display: none; }
  .sync-status { display: none; }
}
@media (max-width: 960px) {
  .payment-module-grid { grid-template-columns: 1fr; }
  .finance-page-top { grid-template-columns: 1fr auto; }
  .finance-page-top .finance-filter-card { grid-column: 1 / -1; grid-row: 2; }
  .finance-summary-row { grid-template-columns: 1fr; margin-inline: 0; }
  .page-content.is-tables-page { height: auto; min-height: calc(100vh - 118px); overflow: visible; }
  .tables-workspace { height: auto; grid-template-columns: 1fr; }
  .tables-map-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .table-grid { height: 574px; }
  .table-side-panel { min-height: 390px; }
  .open-table-panel { height: auto; min-height: 574px; }
  .settings-console { grid-template-columns: 210px minmax(0, 1fr); grid-template-rows: 58px minmax(540px, calc(100vh - 176px)); }
  .settings-console-header { grid-column: 1 / -1; }
  .settings-menu { grid-column: 1; grid-row: 2; }
  .settings-list-panel { grid-column: 2; grid-row: 2; border-right: 0; }
}
@media (max-width: 780px) {
  .auth-screen { grid-template-columns: 1fr; }
  .auth-intro { min-height: 300px; padding: 28px; }
  .auth-copy { margin: 50px 0 24px; }
  .auth-copy h1 { font-size: 39px; }
  .auth-preview { display: none; }
  .auth-panel { min-height: auto; padding: 42px 24px; }
  .topbar { min-height: 60px; overflow: visible; }
  .mobile-menu-toggle { width: 38px; height: 38px; display: grid; place-items: center; align-self: center; flex: 0 0 auto; border: 1px solid #dfe3e6; border-radius: 8px; color: var(--ink); background: #fff; font-size: 21px; line-height: 1; }
  .mobile-menu-toggle[aria-expanded="true"] { color: var(--ink); background: var(--yellow); border-color: var(--yellow-dark); }
  .mobile-refresh-button { width: 38px; height: 38px; display: grid; place-items: center; align-self: center; flex: 0 0 auto; border: 1px solid #dfe3e6; border-radius: 8px; color: var(--ink); background: #fff; font-size: 24px; line-height: 1; }
  .mobile-refresh-button:active { background: var(--yellow-soft); }
  .mobile-refresh-button.is-refreshing { animation: mobile-refresh-spin .7s linear infinite; pointer-events: none; }
  @keyframes mobile-refresh-spin { to { transform: rotate(360deg); } }
  .brand-button { position: sticky; left: 0; padding-right: 10px; background: #fff; z-index: 2; }
  .primary-nav { display: none; }
  .nav-item { min-width: 57px; }
  .account-button { padding-right: 5px; }
  .account-button .account-copy { display: none; }
  .mobile-nav { position: fixed; inset: 0; z-index: 50; display: block; visibility: hidden; pointer-events: none; }
  .mobile-nav.is-open { visibility: visible; pointer-events: auto; }
  .mobile-nav-backdrop { position: absolute; inset: 0; background: rgba(14, 23, 32, .42); opacity: 0; transition: opacity .18s ease; }
  .mobile-nav.is-open .mobile-nav-backdrop { opacity: 1; }
  .mobile-nav-panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(86vw, 340px); overflow-y: auto; padding-bottom: 18px; background: #fff; box-shadow: 8px 0 24px rgba(14, 23, 32, .18); transform: translateX(-100%); transition: transform .18s ease; }
  .mobile-nav.is-open .mobile-nav-panel { transform: translateX(0); }
  .mobile-nav-header { min-height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; color: #fff; background: var(--slate); }
  .mobile-nav-header button { width: 34px; height: 34px; border: 0; border-radius: 6px; color: #fff; background: rgba(255,255,255,.1); font-size: 24px; line-height: 1; }
  .mobile-nav-group { border-bottom: 1px solid #e5e7e9; }
  .mobile-nav-section, .mobile-nav-page { width: 100%; min-height: 46px; border: 0; text-align: left; }
  .mobile-nav-section { display: flex; align-items: center; justify-content: space-between; padding: 0 18px; color: var(--ink); background: #f4f5f6; font-size: 14px; }
  .mobile-nav-section span { color: var(--ink-soft); font-size: 22px; }
  .mobile-nav-section.is-active { color: #7a5900; background: var(--yellow-soft); }
  .mobile-nav-pages { padding: 4px 0 7px; }
  .mobile-nav-page { padding: 0 18px 0 30px; color: var(--ink-soft); background: #fff; font-size: 13px; }
  .mobile-nav-page:hover, .mobile-nav-page.is-active { color: var(--ink); background: #fff9e7; font-weight: 800; }
  body.mobile-nav-open { overflow: hidden; }
  .subnav { padding: 0 10px; }
  .subnav .subnav-primary-action { position: sticky; right: 10px; }
  .subnav-product-actions { position: sticky; right: 10px; padding-left: 8px; background: var(--slate); }
  .subnav .subnav-product-actions .subnav-primary-action { position: static; }
  .subnav-table-actions { display: none; }
  .page-content { padding: 20px 14px; }
  .page-content.is-kitchen-page { height: calc(100vh - 110px); min-height: 500px; overflow: hidden; padding: 0; }
  .page-content.is-sales-page { height: calc(100vh - 110px); min-height: 0; overflow: auto; }
  .page-content.is-settings-page { height: auto; min-height: calc(100vh - 110px); overflow: visible; padding: 0; }
  .page-header { align-items: stretch; flex-direction: column; }
  .page-actions .button { flex: 1; }
  .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-grid { --table-gap: 8px; --table-padding: 12px; grid-template-columns: repeat(11, var(--table-size)); width: 100%; height: 520px; min-width: 232px; }
  .settings-console { grid-template-columns: 1fr; grid-template-rows: 54px auto minmax(460px, 1fr); }
  .settings-console-header { grid-column: 1; grid-row: 1; }
  .settings-module-console .settings-console-header p { display: none; }
  .settings-module-actions { gap: 6px; }
  .settings-module-actions .remote-switch span { display: none; }
  .settings-module-actions .settings-header-action { padding: 0 9px; }
  .settings-menu { grid-column: 1; grid-row: 2; display: flex; padding: 0; overflow-x: auto; }
  .settings-menu button { width: max-content; min-height: 54px; border-left: 0; border-bottom: 4px solid transparent; white-space: nowrap; }
  .settings-menu button.is-active { border-bottom-color: var(--yellow-dark); }
  .settings-list-panel { grid-column: 1; grid-row: 3; border-right: 0; }
  .settings-row { grid-template-columns: 1fr; }
  .print-options-card { grid-template-columns: 1fr; gap: 16px; }
  .print-options-fields { grid-template-columns: 1fr; }
  .print-options-actions { align-items: stretch; flex-direction: column; }
  .print-options-actions .button { width: 100%; }
  .user-form-grid, .permission-options, .product-form-grid, .product-tax-grid { grid-template-columns: 1fr; }
  .product-form-grid .field-wide { grid-column: auto; }
  .product-dependencies-heading { align-items: flex-start; flex-direction: column; }
  .product-dependency-row { grid-template-columns: minmax(0, 1fr) 100px 36px; }
  .company-form-grid { grid-template-columns: 1fr; }
  .company-form-grid .field-wide, .company-cnpj-field { grid-column: auto; }
  .company-cnpj-control { align-items: stretch; flex-direction: column; }
  .company-cnpj-control .button { width: 100%; }
  .company-form-footer { align-items: stretch; flex-direction: column; }
  .company-form-footer .button { width: 100%; }
  .user-permissions-heading { align-items: flex-start; flex-direction: column; }
  .kitchen-toolbar { min-height: 62px; padding: 10px; }
  .kitchen-filter-button, .kitchen-fullscreen-button { min-height: 36px; padding: 0 10px; }
  .kitchen-filters-panel { padding: 13px 12px 15px; }
  .kitchen-filters-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .kitchen-area-options { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .kitchen-area-option { flex: 0 0 auto; }
  .kitchen-board { grid-template-columns: minmax(260px, 1fr); padding: 16px; gap: 16px; }
  .stock-reset-button { width: 100%; margin-left: 0; justify-content: center; }
  .page-content.is-products-page { height: auto; min-height: calc(100vh - 118px); overflow: visible; }
  .products-console { min-height: calc(100vh - 118px); grid-template-columns: 1fr; grid-template-rows: 50px auto minmax(460px, 1fr); }
  .products-console-header { grid-column: 1; grid-row: 1; }
  .product-category-sidebar { grid-column: 1; grid-row: 2; display: flex; padding: 0; overflow-x: auto; }
  .product-category-sidebar button { width: max-content; min-width: 130px; min-height: 52px; border-left: 0; border-bottom: 4px solid transparent; white-space: nowrap; }
  .product-category-sidebar button.is-active { border-bottom-color: var(--yellow); }
  .product-categories-empty { min-height: 52px; display: flex; align-items: center; white-space: nowrap; }
  .product-table-panel { grid-column: 1; grid-row: 3; }
  .data-table { min-width: 680px; }
  .content-card { overflow-x: auto; }
  .tables-map-panel { overflow: hidden; }
  .table-side-panel { height: auto; overflow: visible; }
  .modal-close-table { height: auto; display: block; overflow: auto; }
  .modal-close-table > #modal-form { display: block; }
  .close-table-modal-body { max-height: none; grid-template-columns: 1fr; overflow: visible; }
  .close-products-column { border-right: 0; border-bottom: 10px solid #f0f0f0; }
  .close-pay-row { grid-template-columns: minmax(0, 1fr) auto; }
  .close-payment-heading { align-items: stretch !important; flex-direction: column; gap: 8px; padding-block: 10px !important; }
  .close-payment-heading-actions { width: 100%; }
  .close-add-payment { margin-left: auto; }
  .close-pay-row select { grid-column: 1 / -1; }
  .close-pay-row .close-money-field { grid-column: 1; }
  .close-remove-payment { grid-column: 2; }
  .close-pay-row .close-money-field { padding: 0; }
  .close-table-modal-footer { justify-content: flex-end; flex-wrap: wrap; }
  .nfce-modal-header > div { align-items: flex-start; flex-direction: column; padding: 10px 0; gap: 5px; }
  .nfce-customer-fields { grid-template-columns: 1fr; }
  .modal-nfce .nfce-customer-fields .field { display: grid; gap: 6px; }
  .nfce-homologation-hint { grid-column: 1; }
  .nfce-debug li { grid-template-columns: 48px minmax(0, 1fr) 22px; }
  .remote-list-card { align-items: flex-start; flex-wrap: wrap; }
  .remote-card-copy { flex: 1; }
  .remote-card-actions { width: 100%; margin-left: 62px; }
  .employee-overtime-settings { align-items: stretch; flex-direction: column; gap: 12px; }
  .employee-overtime-form { align-items: stretch; }
  .employee-overtime-form label { flex: 1; }
  .employee-overtime-form input { width: 100%; }
  .employees-module-grid { grid-template-columns: 1fr; }
  .employee-detail-grid, .payment-module-grid { grid-template-columns: 1fr; }
  .settings-module-actions .employee-header-salary { align-items: stretch; flex-direction: column; }
  .remote-field-grid { grid-template-columns: 1fr; gap: 0; }
  .payment-adjustments-card > header { align-items: flex-start; flex-direction: column; }
}
