:root {
  --pdv-ink: #17202a;
  --pdv-muted: #64748b;
  --pdv-line: #d9e2e8;
  --pdv-bg: #eef3f4;
  --pdv-panel: #ffffff;
  --pdv-primary: #0f766e;
  --pdv-primary-dark: #115e59;
  --pdv-warning: #a16207;
  --pdv-danger: #b42318;
  --pdv-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--pdv-bg); color: var(--pdv-ink); font: 15px/1.45 Inter, "Segoe UI", Arial, sans-serif; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.muted { color: var(--pdv-muted); font-size: 13px; }
.pdv-login-page { display: grid; min-height: 100vh; place-items: center; padding: 20px; }.pdv-login-card { width: min(420px, 100%); padding: 28px; border: 1px solid var(--pdv-line); border-radius: 8px; background: #fff; box-shadow: var(--pdv-shadow); }.pdv-login-card h1 { margin: 28px 0 6px; font-size: 26px; }.pdv-login-card > p { color: var(--pdv-muted); }.pdv-login-form, .pdv-user-form { display: grid; gap: 13px; }.pdv-login-form label, .pdv-user-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 800; }.pdv-login-form input, .pdv-user-form input, .pdv-user-form select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; color: var(--pdv-ink); }.pdv-login-error, .pdv-login-success { padding: 10px; border-radius: 5px; font-size: 13px; font-weight: 700; }.pdv-login-error { background: #fef2f2; color: var(--pdv-danger) !important; }.pdv-login-success { background: #ecfdf5; color: var(--pdv-primary-dark) !important; }.pdv-login-link { display: inline-block; margin-top: 18px; color: var(--pdv-primary-dark); font-size: 13px; font-weight: 700; }.pdv-admin-page { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(380px, 1.2fr); gap: 16px; width: min(1180px, calc(100% - 28px)); margin: 22px auto; align-items: start; }.pdv-admin-panel { padding: 20px; border: 1px solid var(--pdv-line); border-radius: 8px; background: #fff; box-shadow: var(--pdv-shadow); }.pdv-admin-panel h1, .pdv-admin-panel h2 { margin: 0 0 8px; }.pdv-user-list { display: grid; gap: 8px; }.pdv-user-row { border: 1px solid var(--pdv-line); border-radius: 6px; background: #fff; }.pdv-user-row summary { display: flex; justify-content: space-between; gap: 10px; padding: 13px; cursor: pointer; }.pdv-user-row form { padding: 0 13px 13px; }.pdv-check { display: flex !important; align-items: center; gap: 8px; }.pdv-check input { width: auto; height: auto; }
.pdv-development-credit { color: #72818c; font-size: 11px; line-height: 1.4; text-align: center; }
.pdv-login-card .pdv-development-credit { margin: 22px 0 0; padding-top: 13px; border-top: 1px solid var(--pdv-line); color: #7b8993; }
.pdv-page-credit { width: min(1180px, calc(100% - 28px)); margin: 18px auto 24px; padding-top: 11px; border-top: 1px solid #d6e0e6; }
@media (max-width: 760px) { .pdv-page-credit { width: calc(100% - 24px); margin: 12px auto 18px; font-size: 10px; } }
@media print { .pdv-development-credit { display: none !important; } }
.pdv-materials-page { display: grid; gap: 16px; width: min(980px, calc(100% - 28px)); margin: 22px auto; }.pdv-material-card { display: grid; gap: 14px; }.pdv-material-heading, .pdv-material-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.pdv-material-heading p { margin: 0; color: var(--pdv-muted); font-size: 13px; }.pdv-material-lines { display: grid; gap: 7px; }.pdv-material-lines > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 14px; padding: 10px; border: 1px solid var(--pdv-line); border-left: 4px solid #d97706; border-radius: 5px; }.pdv-material-lines strong, .pdv-material-lines small { min-width: 0; }.pdv-material-lines span { color: var(--pdv-primary-dark); font-weight: 800; }.pdv-material-lines small { grid-column: 1 / -1; color: var(--pdv-muted); }.pdv-material-actions { justify-content: flex-end; }

.pdv-topbar { position: sticky; top: 0; z-index: 20; min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 22px; background: #101828; color: #f8fafc; box-shadow: 0 2px 12px rgba(15, 23, 42, .15); }
.pdv-brand { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; font-size: 17px; font-weight: 700; }
.pdv-brand strong { color: #5eead4; }
.pdv-brand-mark { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 8px; background: var(--pdv-primary); color: #fff; font-size: 19px; font-weight: 800; }
.pdv-top-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.pdv-nav-links { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.pdv-menu-toggle { display: none; min-height: 34px; padding: 0 9px; border: 1px solid rgba(255,255,255,.16); border-radius: 5px; background: rgba(255,255,255,.08); color: #fff; font-size: 12px; font-weight: 800; }
.pdv-sync-summary { display: none; }
.connection-status { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 10px; border-radius: 6px; background: rgba(255,255,255,.09); color: #d1fae5; font-size: 12px; font-weight: 800; }
.connection-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #34d399; }
.connection-status.offline { color: #fde68a; }.connection-status.offline::before { background: #f59e0b; }.connection-status.error { color: #fecaca; }.connection-status.error::before { background: #ef4444; }
.device-presence { position: relative; }.device-presence-button { display: inline-flex; align-items: center; min-height: 34px; padding: 0 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; background: rgba(255,255,255,.08); color: #d1fae5; font-size: 12px; font-weight: 800; }.device-presence-button::before { content: ""; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: #34d399; }.device-presence-button:hover { background: rgba(255,255,255,.17); }.device-presence-popover { position: absolute; top: calc(100% + 8px); right: 0; width: min(360px, calc(100vw - 24px)); max-height: 370px; overflow: auto; padding: 12px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: var(--pdv-ink); box-shadow: 0 18px 38px rgba(15,23,42,.24); z-index: 40; }.device-presence-popover > strong { display: block; margin-bottom: 8px; font-size: 13px; }.device-presence-row { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 8px; align-items: start; padding: 9px 0; border-top: 1px solid var(--pdv-line); }.device-presence-row b, .device-presence-row small { display: block; }.device-presence-row b { font-size: 13px; }.device-presence-row small { margin-top: 2px; color: var(--pdv-muted); font-size: 11px; }.device-presence-dot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; }.device-presence-dot.online { background: #10b981; }.device-presence-dot.offline { background: #94a3b8; }.device-presence-empty { margin: 0; color: var(--pdv-muted); font-size: 12px; }
.icon-button { position: relative; display: inline-grid; place-items: center; width: 38px; height: 36px; padding: 0; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; background: rgba(255,255,255,.08); color: #fff; font-size: 20px; line-height: 1; }
.icon-button:hover { background: rgba(255,255,255,.17); }.icon-button.light { border-color: var(--pdv-line); background: #fff; color: var(--pdv-primary-dark); }
.icon-button b { position: absolute; top: -7px; right: -8px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: #dc2626; color: #fff; font-size: 10px; }
.icon-button b:empty, .icon-button b[data-empty="true"] { display: none; }
.text-button { display: inline-flex; align-items: center; min-height: 36px; padding: 0 8px; color: #e2e8f0; text-decoration: none; font-weight: 700; font-size: 14px; }.text-button:hover { color: #fff; }

.pdv-workspace { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: min(1600px, calc(100% - 28px)); margin: 16px auto; align-items: start; }
.catalog-panel, .cart-panel, .side-panel { min-width: 0; border: 1px solid var(--pdv-line); border-radius: 8px; background: var(--pdv-panel); box-shadow: var(--pdv-shadow); }
.catalog-panel { overflow: hidden; }.cart-panel { position: sticky; top: 82px; }.side-panel { grid-column: 1 / -1; overflow: hidden; }
.panel-heading, .cash-header, .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; border-bottom: 1px solid var(--pdv-line); }
.panel-heading h1, .cash-header h2, .section-heading h2 { margin: 0; font-size: 20px; line-height: 1.2; }.section-heading { padding: 14px 16px; }.section-heading h2 { font-size: 16px; }
.eyebrow { display: block; margin-bottom: 2px; color: var(--pdv-primary); font-size: 11px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.cash-header p { margin: 4px 0 0; color: var(--pdv-muted); font-size: 13px; }
.cash-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.button { min-height: 38px; padding: 0 13px; border: 1px solid var(--pdv-primary); border-radius: 6px; background: var(--pdv-primary); color: #fff; font-weight: 800; }.button:hover { background: var(--pdv-primary-dark); border-color: var(--pdv-primary-dark); }.button.secondary { background: #fff; border-color: #b6c5cd; color: #334155; }.button.secondary:hover { background: #f8fafc; color: var(--pdv-primary-dark); }.button.small { min-height: 32px; padding: 0 10px; font-size: 12px; }.catalog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }

.product-search { position: relative; padding: 14px 16px 8px; }.product-search input { width: 100%; height: 46px; padding: 0 42px 0 13px; border: 1px solid #b8c7d1; border-radius: 6px; outline: none; }.product-search input:focus { border-color: var(--pdv-primary); box-shadow: 0 0 0 3px rgba(15,118,110,.14); }.search-clear { position: absolute; top: 20px; right: 23px; width: 32px; height: 32px; border: 0; border-radius: 4px; background: transparent; color: var(--pdv-muted); font-size: 22px; }.search-clear:hover { background: #e7eff1; color: var(--pdv-ink); }
.product-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)); gap: 10px; max-height: calc(100vh - 180px); overflow: auto; padding: 8px 16px 16px; }
.product-tile { display: grid; align-content: space-between; min-height: 136px; gap: 12px; padding: 13px; border: 1px solid var(--pdv-line); border-left: 4px solid var(--pdv-primary); border-radius: 6px; background: #fff; text-align: left; color: var(--pdv-ink); }.product-tile:hover { border-color: var(--pdv-primary); background: #f0fdfa; }.product-tile.disabled { border-left-color: #94a3b8; opacity: .65; }.product-tile.low-stock { border-left-color: #d97706; }.product-tile strong { display: block; line-height: 1.25; }.product-tile small { display: block; margin-top: 4px; color: var(--pdv-muted); }.product-tile footer { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }.product-tile footer b { color: var(--pdv-primary-dark); font-size: 15px; }.product-tile .stock-negative { color: var(--pdv-danger); }.empty-state { padding: 24px 16px; color: var(--pdv-muted); text-align: center; }
.product-add { display: grid; align-content: space-between; min-height: 102px; gap: 12px; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; }.product-add:not(:disabled):hover strong { color: var(--pdv-primary-dark); }.product-add:disabled { color: inherit; }.product-tile-main { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }.product-tile-main > span:last-child { min-width: 0; }.product-thumb { flex: 0 0 48px; width: 48px; height: 48px; overflow: hidden; border: 1px solid var(--pdv-line); border-radius: 5px; background: #f8fafc; }.product-thumb img { width: 100%; height: 100%; object-fit: cover; }.product-edit { justify-self: start; min-height: 27px; padding: 0 8px; border: 1px solid #b8c7d1; border-radius: 4px; background: #fff; color: #475569; font-size: 11px; font-weight: 800; }

.cart-items { display: grid; max-height: 36vh; overflow-y: auto; }.cart-row { display: grid; grid-template-columns: minmax(0, 1fr) 94px 85px 32px; align-items: center; gap: 8px; padding: 11px 16px; border-bottom: 1px solid var(--pdv-line); }.cart-row strong, .cart-row small { display: block; }.cart-row small { margin-top: 2px; color: var(--pdv-muted); }.cart-quantity { display: grid; grid-template-columns: 28px minmax(34px, 1fr) 28px; align-items: center; border: 1px solid var(--pdv-line); border-radius: 5px; overflow: hidden; }.cart-quantity button { height: 30px; border: 0; background: #f8fafc; color: var(--pdv-primary-dark); font-weight: 800; }.cart-quantity input { width: 100%; height: 30px; min-width: 0; border: 0; text-align: center; }.remove-item { width: 30px; height: 30px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: #94a3b8; font-size: 20px; }.remove-item:hover { background: #fef2f2; color: var(--pdv-danger); }.cart-row > b { text-align: right; font-size: 13px; }.cart-empty { margin: 0; padding: 30px 16px; color: var(--pdv-muted); text-align: center; }
.cart-discount { display: grid; grid-template-columns: auto 70px auto; align-items: center; gap: 5px; margin-top: 7px; color: var(--pdv-muted); font-size: 11px; font-weight: 800; }.cart-discount input { width: 70px; height: 28px; padding: 0 6px; border: 1px solid #c5d1d9; border-radius: 4px; background: #fff; }.cart-discount span { font-weight: 600; }
.checkout-box { border-top: 2px solid #cbd5e1; padding: 14px 16px 16px; }.customer-fields { display: grid; grid-template-columns: 1fr 140px; gap: 8px; }.customer-fields label, .product-form-grid label, #deviceForm > label, #cashDialogBody label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 800; }.customer-fields input, .product-form-grid input, #deviceForm input, #cashDialogBody input { width: 100%; height: 38px; padding: 0 10px; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; color: var(--pdv-ink); }.customer-fields input:focus, .product-form-grid input:focus, #deviceForm input:focus, #cashDialogBody input:focus { outline: 2px solid rgba(15,118,110,.2); border-color: var(--pdv-primary); }
.product-form-grid select, #deviceForm select { width: 100%; height: 38px; padding: 0 10px; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; color: var(--pdv-ink); }.product-form-grid select:focus, #deviceForm select:focus { outline: 2px solid rgba(15,118,110,.2); border-color: var(--pdv-primary); }
.payment-rows { display: grid; gap: 7px; margin-top: 12px; }.payment-row { display: grid; grid-template-columns: minmax(0, 1fr) 92px 92px 34px; gap: 7px; }.payment-row select, .payment-row input, .discount-field input { min-width: 0; height: 38px; padding: 0 9px; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; }.payment-fill { min-height: 38px; border-radius: 5px; background: #f8fafc; }.payment-row .remove-payment { width: 34px; height: 38px; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; color: var(--pdv-danger); }.checkout-tools { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 9px 0; }.link-button { padding: 0; border: 0; background: transparent; color: var(--pdv-primary-dark); font-size: 13px; font-weight: 800; }.payment-difference { color: var(--pdv-danger); font-size: 12px; font-weight: 800; }.payment-difference.ok { color: var(--pdv-primary); }
.sale-totals { display: grid; gap: 7px; padding: 12px 0; border-top: 1px solid var(--pdv-line); }.sale-totals > span, .sale-totals > b { display: flex; justify-content: space-between; gap: 12px; }.sale-totals > b { padding-top: 8px; border-top: 1px solid var(--pdv-line); font-size: 18px; }.sale-totals > b strong { color: var(--pdv-primary-dark); }.discount-field { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--pdv-muted); font-size: 13px; }.discount-field input { width: 125px; }.cash-change { color: var(--pdv-primary-dark); font-size: 13px; font-weight: 800; }.finish-sale { width: 100%; min-height: 52px; border: 1px solid var(--pdv-primary); border-radius: 6px; background: var(--pdv-primary); color: #fff; font-size: 17px; font-weight: 800; }.finish-sale:not(:disabled):hover { background: var(--pdv-primary-dark); }.sale-message { min-height: 20px; margin: 9px 0 0; color: var(--pdv-danger); text-align: center; font-size: 13px; font-weight: 700; }.sale-message.success { color: var(--pdv-primary-dark); }

.day-summary { display: grid; gap: 2px; padding: 17px 16px; border-bottom: 1px solid var(--pdv-line); background: #f0fdfa; }.day-summary span { color: var(--pdv-muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }.day-summary strong { color: var(--pdv-primary-dark); font-size: 27px; line-height: 1.1; }.day-summary small { color: var(--pdv-muted); }.recent-sales { display: grid; max-height: 360px; overflow: auto; }.sale-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 11px 16px; border-bottom: 1px solid var(--pdv-line); }.sale-row strong, .sale-row small { display: block; }.sale-row small { margin-top: 3px; color: var(--pdv-muted); font-size: 11px; }.sale-row > b { align-self: center; color: var(--pdv-primary-dark); font-size: 13px; }.sale-row footer { grid-column: 1 / -1; display: flex; gap: 7px; }.sale-row footer button { min-height: 27px; padding: 0 8px; border: 1px solid var(--pdv-line); border-radius: 4px; background: #fff; color: #475569; font-size: 11px; font-weight: 800; }.sale-row footer button.cancel { color: var(--pdv-danger); }.offline-panel { margin: 14px; padding: 12px; border: 1px solid #f5c26b; border-radius: 6px; background: #fffbeb; }.offline-panel strong { color: #92400e; }.offline-panel p { margin: 5px 0 11px; color: #92400e; font-size: 13px; }

.pdv-dialog { width: min(470px, calc(100vw - 28px)); max-height: calc(100vh - 28px); padding: 0; border: 0; border-radius: 8px; box-shadow: 0 24px 70px rgba(15,23,42,.3); overflow: auto; }.pdv-dialog.wide { width: min(720px, calc(100vw - 28px)); }.pdv-dialog.invoice-dialog { width: min(950px, calc(100vw - 28px)); }.pdv-dialog::backdrop { background: rgba(15,23,42,.55); }.pdv-dialog form { padding: 18px; }.dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }.dialog-heading h2 { margin: 0; font-size: 20px; }.close-dialog { width: 32px; height: 32px; border: 0; border-radius: 5px; background: #f1f5f9; color: #475569; font-size: 22px; }.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }.product-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.product-form-grid .span-two { grid-column: 1 / -1; }.product-form-grid input[type="file"], .upload-label input { height: auto; padding: 8px; }.check-label { display: flex !important; align-items: center; gap: 8px; grid-column: 1 / -1; }.check-label input { width: auto; height: auto; }.cash-close-summary { padding: 12px; border: 1px solid var(--pdv-line); border-radius: 6px; background: #f8fafc; }.cash-close-summary strong { display: block; margin-top: 4px; font-size: 24px; }.product-photo-preview { display: flex; align-items: center; gap: 11px; padding: 9px; border: 1px solid var(--pdv-line); border-radius: 6px; background: #f8fafc; }.product-photo-preview img { width: 68px; height: 68px; border-radius: 5px; object-fit: cover; }.product-photo-preview strong { display: block; margin-bottom: 5px; }.upload-label { display: grid; gap: 6px; color: #475569; font-size: 13px; font-weight: 800; }.form-message { min-height: 20px; margin: 10px 0 0; color: var(--pdv-danger); font-size: 13px; font-weight: 700; }
.invoice-preview { padding: 0 18px 18px; }.invoice-summary { display: grid; gap: 3px; padding: 12px; border: 1px solid #99d5ca; border-radius: 6px; background: #f0fdfa; }.invoice-summary strong { color: var(--pdv-primary-dark); font-size: 16px; }.invoice-summary small { color: var(--pdv-muted); }.invoice-margin-field { display: grid; gap: 5px; margin-top: 13px; color: #334155; font-size: 13px; font-weight: 800; }.invoice-margin-field input { max-width: 220px; }.invoice-margin-field small { color: var(--pdv-muted); font-weight: 500; }.invoice-pricing-toolbar { display: flex; align-items: end; gap: 16px; margin-top: 12px; padding: 11px 12px; border: 1px solid #bae6fd; border-radius: 6px; background: #f0f9ff; }.invoice-pricing-toolbar label { display: grid; gap: 4px; color: #0c4a6e; font-size: 12px; font-weight: 800; }.invoice-pricing-toolbar input { width: 160px; }.invoice-pricing-toolbar div { display: grid; gap: 2px; }.invoice-pricing-toolbar small { color: var(--pdv-muted); }.invoice-note { margin: 13px 0 9px; }.invoice-items { display: grid; gap: 8px; }.invoice-item { display: grid; grid-template-columns: auto minmax(170px, 1fr) auto minmax(270px, 1.1fr); align-items: center; gap: 12px; padding: 11px; border: 1px solid var(--pdv-line); border-radius: 6px; background: #fff; }.invoice-item strong, .invoice-item small { display: block; }.invoice-item small { margin-top: 3px; color: var(--pdv-muted); font-size: 11px; }.invoice-include { display: flex; align-items: center; gap: 5px; color: #475569; font-size: 12px; font-weight: 800; }.invoice-quantities { display: grid; gap: 2px; color: #475569; font-size: 12px; text-align: right; }.invoice-quantities b { color: var(--pdv-primary-dark); }.invoice-target { display: grid; gap: 7px; color: #475569; font-size: 11px; font-weight: 800; }.invoice-target > label { display: grid; gap: 4px; }.invoice-target select { width: 100%; height: 36px; min-width: 0; padding: 0 8px; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; color: var(--pdv-ink); }.invoice-sale-price { display: grid; grid-template-columns: minmax(110px, .8fr) minmax(120px, 1fr); align-items: end; gap: 5px 9px; }.invoice-sale-price > label:first-child { display: grid; gap: 3px; }.invoice-sale-price input[type="number"] { height: 34px; }.invoice-update-price { display: flex; align-items: center; gap: 5px; min-height: 34px; }.invoice-update-price input { width: auto; height: auto; }.invoice-sale-price small { grid-column: 1 / -1; margin: 0; color: #047857; }.invoice-sale-price small.is-negative { color: var(--pdv-danger); }.invoice-confirm-actions { margin: 0; padding: 0 18px 18px; }
.scanner-video { display:block; width:calc(100% - 36px); max-height:52vh; margin:0 18px; border-radius:6px; background:#0f172a; object-fit:cover; }

.print-receipt { display: none; }
.pdv-settings-page { display: grid; gap: 14px; width: min(980px, calc(100% - 28px)); margin: 20px auto 32px; }.pdv-settings-intro p { margin: 0; color: var(--pdv-muted); }.pdv-receipt-form { display: grid; gap: 22px; }.pdv-receipt-form section { display: grid; gap: 12px; }.pdv-receipt-form h2 { margin: 0; font-size: 18px; }.pdv-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.pdv-settings-grid label, .receipt-active-model { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 800; }.pdv-settings-grid .span-two { grid-column: 1 / -1; }.pdv-settings-grid input, .pdv-settings-grid textarea, .receipt-active-model select { width: 100%; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; color: var(--pdv-ink); font: inherit; }.pdv-settings-grid input, .receipt-active-model select { height: 40px; padding: 0 10px; }.pdv-settings-grid textarea { min-height: 78px; padding: 9px 10px; resize: vertical; }.pdv-settings-grid input:focus, .pdv-settings-grid textarea:focus, .receipt-active-model select:focus { outline: 2px solid rgba(15,118,110,.2); border-color: var(--pdv-primary); }.pdv-settings-grid .pdv-check { align-self: end; }.receipt-logo-current { display: grid; gap: 5px; align-content: start; color: #475569; font-size: 12px; font-weight: 800; }.receipt-logo-current img { max-width: 210px; max-height: 74px; padding: 6px; border: 1px solid var(--pdv-line); border-radius: 5px; background: #fff; object-fit: contain; }.receipt-template-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }.receipt-template-option { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px; min-height: 90px; padding: 12px; border: 1px solid var(--pdv-line); border-radius: 6px; background: #f8fafc; cursor: pointer; }.receipt-template-option:hover { border-color: var(--pdv-primary); background: #f0fdfa; }.receipt-template-option input { width: auto; height: auto; margin-top: 3px; }.receipt-template-option b, .receipt-template-option small { display: block; }.receipt-template-option small { margin-top: 4px; color: var(--pdv-muted); font-size: 11px; line-height: 1.35; }.receipt-active-model { max-width: 280px; }
@media (max-width: 1180px) { .pdv-workspace { grid-template-columns: repeat(2, minmax(0, 1fr)); }.side-panel { grid-column: 1 / -1; display: grid; grid-template-columns: 220px minmax(0, 1fr); }.day-summary { border-right: 1px solid var(--pdv-line); border-bottom: 0; }.section-heading { grid-column: 2; grid-row: 1; }.recent-sales { grid-column: 2; grid-row: 2; max-height: 210px; }.offline-panel { grid-column: 1 / -1; } }
@media (max-width: 760px) { .pdv-topbar { min-height: 58px; padding: 9px 12px; flex-wrap: wrap; }.pdv-brand { font-size: 15px; }.pdv-brand > span:last-child { font-size: 0; }.pdv-brand > span:last-child strong { font-size: 14px; }.pdv-brand-mark { width: 32px; height: 32px; }.pdv-top-actions { margin-left: auto; gap: 5px; flex-wrap: nowrap; }.pdv-menu-toggle { display: inline-flex; align-items: center; }.pdv-nav-links { display: none; order: 3; flex: 1 0 100%; justify-content: flex-start; gap: 4px; overflow-x: auto; padding: 7px 0 1px; border-top: 1px solid rgba(255,255,255,.12); }.pdv-topbar.is-nav-open .pdv-nav-links { display: flex; }.pdv-sync-summary { min-height: 38px; padding: 7px 12px; display: flex; align-items: center; border-bottom: 1px solid #bbf7d0; background: #ecfdf3; color: #166534; font-size: 11px; font-weight: 800; }.pdv-sync-summary.offline { border-bottom-color: #fde68a; background: #fffbeb; color: #92400e; }.text-button { flex: 0 0 auto; min-height: 34px; padding: 0 9px; border-radius: 5px; background: rgba(255,255,255,.08); font-size: 12px; }.connection-status { display: none; }.device-presence-button { min-height: 32px; padding: 0 7px; font-size: 11px; }.device-presence-button::before { margin-right: 4px; }.pdv-workspace { display: flex; flex-direction: column; width: min(100% - 16px, 620px); margin: 8px auto 20px; }.catalog-panel, .cart-panel, .side-panel { width: 100%; }.cart-panel { position: static; order: 2; }.catalog-panel { order: 1; }.side-panel { display: block; order: 3; }.product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: none; padding: 8px; }.product-tile { min-height: 116px; padding: 11px; }.product-thumb { flex-basis: 40px; width: 40px; height: 40px; }.panel-heading, .cash-header { padding: 13px; }.panel-heading h1, .cash-header h2 { font-size: 18px; }.catalog-actions { gap: 5px; }.catalog-actions .button { padding: 0 9px; font-size: 12px; }.cart-items { max-height: none; }.cart-row { grid-template-columns: minmax(0, 1fr) 90px 32px; padding: 10px 12px; }.cart-row > b { grid-column: 1 / 2; text-align: left; }.checkout-box { padding: 12px; }.customer-fields { grid-template-columns: 1fr; }.payment-row { grid-template-columns: minmax(0, 1fr) 72px 72px 30px; gap: 5px; }.payment-row select, .payment-row input { padding: 0 6px; font-size: 13px; }.payment-row .remove-payment { width: 30px; }.side-panel { border-radius: 8px; }.day-summary { border-right: 0; border-bottom: 1px solid var(--pdv-line); }.recent-sales { max-height: 280px; }.product-form-grid { grid-template-columns: 1fr; }.product-form-grid .span-two { grid-column: auto; }.invoice-pricing-toolbar { align-items: stretch; flex-direction: column; }.invoice-pricing-toolbar input { width: 100%; }.invoice-item { grid-template-columns: auto minmax(0, 1fr); gap: 8px; }.invoice-quantities, .invoice-target { grid-column: 2; text-align: left; }.invoice-sale-price { grid-template-columns: 1fr; }.invoice-sale-price small { grid-column: auto; }.invoice-confirm-actions { flex-direction: column-reverse; }.invoice-confirm-actions .button { width: 100%; }.pdv-settings-page { width: min(100% - 16px, 620px); margin-top: 10px; }.pdv-settings-grid, .receipt-template-options { grid-template-columns: 1fr; }.pdv-settings-grid .span-two { grid-column: auto; }.receipt-template-option { min-height: 70px; } }
@media (max-width: 760px) { .pdv-top-actions { position: static; }.pdv-nav-links { position: absolute; top: 100%; right: 0; left: 0; z-index: 25; flex: none; flex-wrap: wrap; width: 100%; max-height: calc(100vh - 58px); overflow: auto; padding: 9px 12px; border-top: 1px solid rgba(255,255,255,.12); background: #101828; box-shadow: 0 8px 18px rgba(15,23,42,.22); }.pdv-topbar.is-nav-open .pdv-nav-links { display: flex; }.pdv-nav-links .text-button { flex: 1 1 calc(33.333% - 6px); justify-content: center; } }
@media (max-width: 760px) { .pdv-admin-page { grid-template-columns: 1fr; width: min(100% - 16px, 620px); margin: 10px auto 20px; }.pdv-admin-panel { padding: 15px; }.pdv-user-row summary { align-items: flex-start; flex-direction: column; } }
@media (max-width: 760px) { .pdv-materials-page { width: min(100% - 16px, 620px); margin: 10px auto 20px; }.pdv-material-heading, .pdv-material-actions { align-items: stretch; flex-direction: column; }.pdv-material-actions form, .pdv-material-actions button { width: 100%; }.pdv-material-lines > div { grid-template-columns: 1fr; }.pdv-material-lines span { text-align: left; } }
.sale-context-fields { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 8px; }.sale-context-fields label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 800; }.sale-context-fields input, .sale-context-fields select, #deviceForm select, #cashDialogBody select { width: 100%; height: 38px; padding: 0 10px; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; color: var(--pdv-ink); }.sale-context-fields input:focus, .sale-context-fields select:focus, #deviceForm select:focus, #cashDialogBody select:focus { outline: 2px solid rgba(15,118,110,.2); border-color: var(--pdv-primary); }.cash-close-summary ul { display: grid; gap: 4px; margin: 10px 0; padding: 0; list-style: none; }.cash-close-summary li { display: flex; justify-content: space-between; color: var(--pdv-muted); font-size: 12px; }.cash-close-summary li strong { margin: 0; font-size: 13px; color: var(--pdv-ink); }.quote-notice { margin: 9px 0 0; padding: 8px 10px; border-left: 3px solid var(--pdv-primary); background: #f0fdfa; color: #115e59; font-size: 12px; font-weight: 800; }@media (max-width: 760px) { .sale-context-fields { grid-template-columns: 1fr; } }
.pdv-management-page { display: grid; gap: 14px; width: min(1500px, calc(100% - 32px)); margin: 18px auto 30px; }.pdv-management-page > .pdv-admin-panel { margin: 0; }.pdv-management-page details.pdv-admin-panel { padding: 0; overflow: hidden; }.pdv-management-page details.pdv-admin-panel > summary { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 16px 18px; cursor: pointer; list-style: none; }.pdv-management-page details.pdv-admin-panel > summary::-webkit-details-marker { display: none; }.pdv-management-page details.pdv-admin-panel > summary strong { color: var(--pdv-ink); font-size: 17px; }.pdv-management-page details.pdv-admin-panel > summary span { color: var(--pdv-muted); font-size: 12px; }.pdv-management-content { display: grid; gap: 16px; padding: 0 18px 18px; border-top: 1px solid var(--pdv-line); }.pdv-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }.pdv-metric-grid > div { padding: 13px; border: 1px solid var(--pdv-line); border-radius: 6px; background: #f8fafc; }.pdv-metric-grid span, .pdv-metric-grid strong { display: block; }.pdv-metric-grid span { color: var(--pdv-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }.pdv-metric-grid strong { margin-top: 5px; color: var(--pdv-primary-dark); font-size: 20px; }.pdv-management-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.pdv-user-form .span-all { grid-column: 1 / -1; }.pdv-user-form textarea { width: 100%; min-height: 58px; padding: 9px; border: 1px solid #c5d1d9; border-radius: 5px; font: inherit; }.pdv-quote-items { display: grid; grid-column: 1 / -1; gap: 7px; }.pdv-quote-items > div { display: grid; grid-template-columns: minmax(0, 1fr) 130px; gap: 8px; }.pdv-quote-items select, .pdv-quote-items input, .pdv-price-item-form select, .pdv-price-item-form input, .pdv-return-form select, .pdv-return-form input { height: 38px; padding: 0 10px; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; }.pdv-price-item-form { display: grid; grid-template-columns: minmax(0, 1fr) 150px auto; gap: 8px; margin-top: 12px; }.pdv-inline-list, .pdv-balance-list { display: grid; gap: 5px; margin-top: 10px; }.pdv-inline-list > span, .pdv-balance-list > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border: 1px solid var(--pdv-line); border-radius: 5px; color: #475569; font-size: 12px; }.pdv-inline-list form { display: inline; margin-left: auto; }.pdv-balance-list { max-height: 240px; overflow: auto; }.pdv-row-actions { display: flex; align-items: center; gap: 5px; }.pdv-row-actions form { margin: 0; }.pdv-return-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }.pdv-return-form label { display: grid; gap: 4px; color: #475569; font-size: 12px; font-weight: 700; }.pdv-return-form small { color: var(--pdv-muted); font-weight: 400; }.pdv-customer-history { display: grid; gap: 3px; margin-top: 10px; color: var(--pdv-muted); font-size: 12px; }
@media (max-width: 900px) { .pdv-management-page { width: min(100% - 16px, 760px); margin-top: 10px; }.pdv-metric-grid, .pdv-management-columns { grid-template-columns: 1fr 1fr; }.pdv-return-form { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .pdv-management-page details.pdv-admin-panel > summary { align-items: flex-start; flex-direction: column; }.pdv-metric-grid, .pdv-management-columns, .pdv-price-item-form { grid-template-columns: 1fr; }.pdv-quote-items > div { grid-template-columns: 1fr; }.pdv-row-actions { align-items: stretch; flex-direction: column; }.pdv-row-actions .button { width: 100%; } }
@media print { body * { visibility: hidden !important; } .print-receipt, .print-receipt * { visibility: visible !important; } .print-receipt { display: block; position: fixed; left: 0; top: 0; width: 80mm; padding: 4mm; color: #000; background: #fff; font: 11px/1.35 Arial, sans-serif; }.print-receipt .receipt-logo { display: block; max-width: 52mm; max-height: 22mm; margin: 0 auto 4px; object-fit: contain; }.print-receipt h1 { margin: 0 0 4px; font-size: 17px; text-align: center; }.print-receipt p { margin: 3px 0; }.print-receipt table { width: 100%; border-collapse: collapse; }.print-receipt td { padding: 3px 0; border-bottom: 1px dashed #777; vertical-align: top; }.print-receipt td:last-child { text-align: right; }.print-total { margin-top: 8px; font-size: 15px; font-weight: 800; }.print-center { text-align: center; }.print-receipt.receipt-compacto { font-size: 10px; line-height: 1.25; }.print-receipt.receipt-compacto h1 { font-size: 14px; }.print-receipt.receipt-compacto .receipt-logo { max-height: 16mm; margin-bottom: 2px; }.print-receipt.receipt-detalhado { font-size: 12px; }.print-receipt.receipt-detalhado h1 { font-size: 18px; }.print-receipt.receipt-detalhado td { padding: 5px 0; }.print-receipt-title { font-weight: 800; }.print-receipt-header { white-space: normal; } }
@media print { @page { size: 80mm auto; margin: 0; } body[data-receipt-width="58"] .print-receipt { width: 58mm; padding: 3mm; font-size: 10px; } body[data-receipt-width="58"] .print-receipt h1 { font-size: 14px; } }

.fiscal-readiness { grid-column: 1 / -1; border-left: 5px solid #d97706; background: #fffbeb; }
.fiscal-readiness.is-ready { border-left-color: #15803d; background: #f0fdf4; }
.fiscal-readiness.is-non-fiscal { border-left-color: #2563eb; background: #eff6ff; }
.fiscal-readiness-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.fiscal-readiness-heading h2 { margin: 3px 0 5px; }
.fiscal-readiness-heading p, .fiscal-readiness-note { margin: 0; color: #475569; }
.fiscal-resource-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.fiscal-readiness-eyebrow { color: #64748b; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.fiscal-readiness-count { flex: 0 0 auto; padding: 7px 10px; border-radius: 5px; background: #fff; color: #92400e; font-size: 12px; font-weight: 900; box-shadow: 0 0 0 1px rgba(146,64,14,.18); }
.fiscal-readiness.is-ready .fiscal-readiness-count { color: #166534; box-shadow: 0 0 0 1px rgba(22,101,52,.18); }
.fiscal-readiness.is-non-fiscal .fiscal-readiness-count { color: #1d4ed8; box-shadow: 0 0 0 1px rgba(29,78,216,.18); }
.fiscal-readiness-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)); gap: 7px; margin-top: 14px; }
.fiscal-readiness-list-intro { margin: 13px 0 -4px; color: #475569; font-size: 12px; font-weight: 800; }
.fiscal-readiness-list span { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #fed7aa; border-radius: 5px; background: rgba(255,255,255,.8); color: #7c2d12; font-size: 12px; font-weight: 700; }
.fiscal-readiness-list b { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; border-radius: 50%; background: #f97316; color: #fff; font-size: 10px; }
.fiscal-readiness-list .is-complete { border-color: #bbf7d0; color: #166534; }
.fiscal-readiness-list .is-complete b { background: #16a34a; }
.fiscal-readiness-note { margin-top: 12px; font-size: 12px; font-weight: 700; }
.form-grid > .span-all { grid-column: 1 / -1; }
.fiscal-mode-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fiscal-mode-option { display: grid !important; grid-template-columns: auto minmax(0, 1fr); align-items: flex-start; gap: 10px; min-height: 92px; padding: 13px; border: 1px solid #cbd5e1; border-radius: 6px; background: #f8fafc; cursor: pointer; }
.fiscal-mode-option:has(input:checked) { border-color: #0f766e; background: #f0fdfa; box-shadow: 0 0 0 2px rgba(15,118,110,.12); }
.fiscal-mode-option input { width: auto; height: auto; margin-top: 3px; }
.fiscal-mode-option strong, .fiscal-mode-option small { display: block; }
.fiscal-mode-option small { margin-top: 5px; color: #64748b; font-weight: 500; line-height: 1.4; }
@media (max-width: 680px) { .fiscal-readiness-heading { flex-direction: column; }.fiscal-mode-options { grid-template-columns: 1fr; }.fiscal-readiness-count { align-self: flex-start; }.fiscal-resource-links .button { width: 100%; } }
@media print { .print-non-fiscal-warning { margin: 5px 0 7px; padding: 5px 3px; border-top: 2px solid #000; border-bottom: 2px solid #000; text-align: center; }.print-non-fiscal-warning span, .print-non-fiscal-warning strong { display: block; }.print-non-fiscal-warning span { font-size: 10px; }.print-non-fiscal-warning strong { margin-top: 2px; font-size: 13px; letter-spacing: 0; } }

.device-code-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 1px solid #99d6cf; border-radius: 5px; background: #ecfdf9; color: #075e57; font-size: 12px; font-weight: 800; }
.device-code-row code { font-family: Consolas, monospace; font-size: 14px; letter-spacing: 0; }

.pdv-profile-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 5px;
  background: rgba(255,255,255,.08);
  color: #ccfbf1;
  font-size: 10px;
  font-weight: 800;
}
.bakery-workspace {
  display: grid;
  grid-template-columns: minmax(250px, .8fr) minmax(0, 2fr);
  gap: 12px 18px;
  width: min(1600px, calc(100% - 28px));
  margin: 16px auto 0;
  padding: 15px;
  border: 1px solid var(--pdv-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--pdv-shadow);
}
.command-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.command-toolbar h2 { margin: 0; font-size: 18px; }
.command-actions { display: flex; gap: 6px; }
.command-list {
  display: flex;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  padding: 2px 1px 5px;
}
.command-chip {
  flex: 0 0 170px;
  display: grid;
  gap: 2px;
  padding: 9px 11px;
  border: 1px solid var(--pdv-line);
  border-radius: 6px;
  background: #f8fafc;
  color: var(--pdv-ink);
  text-align: left;
}
.command-chip:hover,
.command-chip.is-active { border-color: var(--pdv-primary); background: #ecfdf9; }
.command-chip strong,
.command-chip span,
.command-chip b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.command-chip span { color: var(--pdv-muted); font-size: 11px; }
.command-chip b { color: var(--pdv-primary-dark); font-size: 12px; }
.command-empty { margin: 10px 0; color: var(--pdv-muted); }
.current-command-bar,
.scale-panel {
  grid-column: 1 / -1;
  display: flex;
  align-items: end;
  gap: 7px;
  padding-top: 8px;
  border-top: 1px solid var(--pdv-line);
}
.current-command-bar { justify-content: space-between; }
.current-command-bar > div:first-child { display: grid; gap: 2px; }
.current-command-bar > div:last-child { display: flex; gap: 7px; align-items: center; }
.current-command-bar span,
.current-command-bar small { color: var(--pdv-muted); font-size: 11px; }
.current-command-bar strong { font-size: 17px; }
.danger-link { color: var(--pdv-danger) !important; }
.scale-panel { display: grid; grid-template-columns: minmax(210px, 1fr) 140px auto auto minmax(155px, .72fr); align-items: end; }
.scale-panel label { display: grid; gap: 3px; color: #475569; font-size: 10px; font-weight: 800; }
.scale-panel input,
.scale-panel select {
  width: 100%;
  height: 34px;
  padding: 0 8px;
  border: 1px solid #c5d1d9;
  border-radius: 5px;
  background: #fff;
}
.scale-panel > .button { min-height: 34px; padding-inline: 10px; font-size: 12px; white-space: nowrap; }
.scale-test { grid-column: 1 / -1; padding: 7px 10px; border: 1px solid #d6e0e5; border-radius: 6px; background: #f8fafc; }
.scale-test summary { cursor: pointer; font-weight: 800; color: #334155; }
.scale-test > div { display: flex; align-items: end; gap: 8px; margin-top: 8px; }
.scale-test > div label { flex: 1; }
.scale-test small { display: block; margin-top: 6px; color: #64748b; }
.scale-test small.scale-test-failed { color: #b42318; font-weight: 800; }
.scale-feedback { min-width: 0; align-self: end; display: grid; gap: 1px; min-height: 34px; align-content: center; }
.scale-status { min-width: 0; overflow: hidden; color: var(--pdv-muted); font-size: 10px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.scale-status.scale-warning { color: var(--pdv-danger); font-weight: 800; }
.scale-raw-reading { min-width: 0; overflow: hidden; color: var(--pdv-muted); font: 9px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.command-checkout-notice { color: var(--pdv-primary-dark) !important; font-weight: 800; }
.pdv-profile-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pdv-profile-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  min-height: 92px;
  padding: 13px;
  border: 1px solid var(--pdv-line);
  border-radius: 6px;
  background: #f8fafc;
  cursor: pointer;
}
.pdv-profile-option:has(input:checked) { border-color: var(--pdv-primary); background: #ecfdf9; }
.pdv-profile-option input { margin-top: 3px; }
.pdv-profile-option b,
.pdv-profile-option small { display: block; }
.pdv-profile-option small { margin-top: 4px; color: var(--pdv-muted); font-size: 12px; }
.pdv-settings-grid select {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #c5d1d9;
  border-radius: 5px;
  background: #fff;
  color: var(--pdv-ink);
}
.pdv-settings-grid .pdv-check {
  align-self: center;
  justify-self: start;
}
.pdv-settings-grid .pdv-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  padding: 0;
}

@media (max-width: 900px) {
  .bakery-workspace { grid-template-columns: 1fr; }
  .command-list,
  .current-command-bar,
  .scale-panel { grid-column: 1; }
  .scale-panel { grid-template-columns: minmax(180px, 1fr) 130px auto auto; }
  .scale-feedback { grid-column: 1 / -1; min-height: 24px; }
}

@media (max-width: 760px) {
  .pdv-profile-badge { display: none; }
  .bakery-workspace { width: min(100% - 16px, 620px); margin-top: 8px; padding: 12px; }
  .command-toolbar,
  .current-command-bar { align-items: stretch; flex-direction: column; }
  .command-actions,
  .current-command-bar > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .current-command-bar .danger-link { grid-column: 1 / -1; }
  .command-chip { flex-basis: 145px; }
  .scale-panel { grid-template-columns: 1fr 110px; align-items: stretch; }
  .scale-panel .button { width: 100%; }
  .scale-feedback { grid-column: 1 / -1; min-height: 22px; }
  .pdv-profile-options { grid-template-columns: 1fr; }
}

.training-banner,
.sale-recovery-banner { display: flex; align-items: center; gap: 12px; padding: 10px 18px; border-bottom: 1px solid #f59e0b; background: #fffbeb; color: #78350f; }
.training-banner strong { letter-spacing: 0; }
.training-banner span,
.sale-recovery-banner span { font-size: 12px; }
.training-banner button { margin-left: auto; border: 0; background: transparent; color: inherit; font-weight: 800; text-decoration: underline; cursor: pointer; }
.sale-recovery-banner > div { display: grid; margin-right: auto; }
.training-mode .pdv-topbar { border-bottom: 4px solid #f59e0b; }
.training-mode-button { width: 100%; min-height: 38px; margin-top: 7px; border: 1px solid #f59e0b; border-radius: 5px; background: #fff7ed; color: #9a3412; font-weight: 850; cursor: pointer; }
.operations-status-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.operation-status { min-height: 104px; padding: 15px; border: 1px solid #d7e0e5; border-left: 4px solid #64748b; border-radius: 7px; background: #fff; }
.operation-status span,.operation-status small { display:block; color:#64748b; font-size:11px; }.operation-status strong { display:block; margin:7px 0 4px; font-size:19px; }.operation-status.is-ok { border-left-color:#059669; }.operation-status.is-warning { border-left-color:#d97706; }.operation-status.is-error { border-left-color:#dc2626; }
.operations-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.stock-curve { display:inline-grid; width:30px; height:30px; place-items:center; border-radius:50%; font-weight:900; }.curve-a{background:#dcfce7;color:#166534}.curve-b{background:#fef3c7;color:#92400e}.curve-c{background:#e2e8f0;color:#334155}
@media (max-width:1100px){.operations-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.training-banner,.sale-recovery-banner{align-items:stretch;flex-wrap:wrap;padding:9px 12px}.training-banner button{margin-left:0}.operations-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-columns{grid-template-columns:1fr}.operation-status{min-height:90px;padding:12px}}
.pix-payment-page{width:min(100% - 24px,500px);margin:24px auto}.pix-payment-page h1{text-align:center;font-size:34px}.pix-qr{display:grid;width:min(100%,330px);margin:16px auto;place-items:center}.pix-qr svg{width:100%;height:auto}.pix-payment-page textarea{width:100%;font:12px/1.4 monospace;word-break:break-all}

.catalog-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 16px 8px;
}
.category-filters {
  display: flex;
  min-width: 0;
  gap: 6px;
  overflow-x: auto;
  padding: 2px 0;
  scrollbar-width: thin;
}
.category-filters button {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #c5d1d9;
  border-radius: 5px;
  background: #fff;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
}
.category-filters button:hover,
.category-filters button.is-active {
  border-color: var(--pdv-primary);
  background: #ecfdf9;
  color: var(--pdv-primary-dark);
}
.product-result-count {
  flex: 0 0 auto;
  color: var(--pdv-muted);
  font-size: 11px;
  font-weight: 800;
}
.product-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
}
.product-tile {
  position: relative;
  align-content: stretch;
  min-height: 0;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-left-width: 1px;
}
.product-tile.low-stock { border-left-width: 4px; }
.product-add {
  min-height: 190px;
  grid-template-rows: auto minmax(46px, auto) auto;
  gap: 0;
  width: 100%;
}
.product-visual {
  position: relative;
  display: grid;
  width: 100%;
  aspect-ratio: 4 / 3;
  place-items: center;
  overflow: hidden;
  background: #edf3f4;
  color: #64748b;
  font-size: 30px;
  font-weight: 800;
}
.product-visual > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-badges {
  position: absolute;
  top: 7px;
  left: 7px;
  right: 7px;
  display: flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
}
.product-badges em {
  min-width: 0;
  max-width: 72%;
  overflow: hidden;
  padding: 3px 6px;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 4px;
  background: rgba(255, 255, 255, .92);
  color: #334155;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-badges em + em {
  margin-left: auto;
  background: #0f766e;
  color: #fff;
}
.product-tile-main {
  display: grid;
  gap: 3px;
  padding: 8px 8px 3px;
}
.product-tile-main strong {
  display: -webkit-box;
  min-height: 32px;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.product-tile-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-tile footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 2px;
  padding: 4px 8px 8px;
}
.product-tile footer b { justify-self: start; font-size: 13px; }
.product-tile footer span { max-width: 100%; overflow: hidden; color: var(--pdv-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.product-edit {
  margin: 0 8px 8px;
  justify-self: stretch;
  min-height: 28px;
}
.quick-payment-methods {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  margin-top: 12px;
}
.quick-payment-methods button {
  min-width: 0;
  min-height: 36px;
  padding: 0 5px;
  border: 1px solid #b8c7d1;
  border-radius: 5px;
  background: #fff;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
}
.quick-payment-methods button:hover,
.quick-payment-methods button.is-active {
  border-color: var(--pdv-primary);
  background: #ecfdf9;
  color: var(--pdv-primary-dark);
}
.command-chip small {
  overflow: hidden;
  color: var(--pdv-muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1220px) and (min-width: 1001px) {
  .product-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1000px) and (min-width: 761px) {
  .product-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .catalog-filter-bar { align-items: flex-start; padding: 0 8px 7px; }
  .product-result-count { padding-top: 9px; }
  .category-filters { flex: 1 1 auto; }
  .product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .product-tile { min-height: 0; padding: 0; }
  .product-add { min-height: 216px; padding: 0; }
  .product-visual { aspect-ratio: 1.35 / 1; }
  .product-tile-main { padding: 8px 9px 3px; }
  .product-tile-main strong { min-height: 36px; font-size: 14px; }
  .product-tile footer { padding: 4px 9px 9px; }
  .product-tile footer b { font-size: 14px; }
  .product-edit { margin: 0 9px 9px; }
  .cash-actions { justify-content: flex-start; }
  .quick-payment-methods { position: sticky; top: 0; z-index: 2; padding: 4px 0; background: #fff; }
}
.scale-catalog { min-width: min(100%, 360px); }
.scale-catalog-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.scale-catalog-actions .button { min-height: 40px; }
.operator-mode #importInvoiceButton,
.operator-mode #newProductButton,
.operator-mode .product-edit,
.operator-mode .scale-test,
.operator-mode .scale-catalog,
.operator-mode #offlinePanel { display: none !important; }
.operator-mode .bakery-workspace { padding-top: 10px; padding-bottom: 10px; }
.operator-mode .pdv-sync-summary { min-height: 28px; padding-block: 4px; }
.icon-button.is-active { outline: 2px solid #5eead4; outline-offset: 2px; }
.shortcut-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.shortcut-grid span { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid #d7e0e7; border-radius: 6px; }
.shortcut-grid kbd { min-width: 44px; padding: 5px 7px; border: 1px solid #aab8c4; border-bottom-width: 3px; border-radius: 4px; background: #f8fafc; text-align: center; font-weight: 800; }
.button.danger { background: #b42318; color: #fff; }
.button.danger:hover { background: #8f1c13; }
.recipe-row { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(110px, 1fr) minmax(100px, .7fr) auto; gap: 8px; margin: 8px 0; }
@media (max-width: 720px) { .recipe-row { grid-template-columns: 1fr 1fr; } .shortcut-grid { grid-template-columns: 1fr; } }
/* Paginas administrativas da instalacao independente. */
.standalone-admin {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: min(1480px, calc(100% - 32px));
    margin: 0 auto;
    padding: 24px 0 48px;
    min-width: 0;
}

.standalone-admin .page-heading,
.standalone-admin .panel {
    width: 100%;
    max-width: none;
    min-width: 0;
}

.standalone-admin .pdv-form-grid,
.standalone-admin .update-layout,
.standalone-admin .update-install-panel,
.standalone-admin .update-restore-panel { min-width: 0; }

.standalone-admin input[type="file"] { width: 100%; min-width: 0; }

@media (max-width: 720px) {
    .standalone-admin {
        width: min(100% - 20px, 1480px);
        padding-top: 14px;
    }
}

/* Central de integracoes e delivery */
.integration-hero,
.integration-section-heading,
.integration-hero-actions,
.external-order-actions,
.integration-config-actions,
.manual-order-buttons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.integration-hero h1,
.integration-section-heading h2 { margin: 3px 0 4px; }
.integration-hero p,
.integration-section-heading p { margin: 0; color: var(--muted, #64748b); }
.integration-hero-actions { flex-wrap: wrap; justify-content: flex-end; }
.integration-hero-actions form,
.external-order-actions form { margin: 0; }
.integration-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.integration-metrics article {
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid #dbe4ea;
  border-left: 4px solid #0f766e;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(15, 23, 42, .06);
}
.integration-metrics article.needs-attention { border-left-color: #d97706; }
.integration-metrics span,
.integration-metrics small { display: block; color: #64748b; }
.integration-metrics strong { display: block; margin: 2px 0; font-size: 1.75rem; color: #172033; }
.segmented-control { display: inline-flex; padding: 3px; border: 1px solid #d7e1e8; border-radius: 7px; background: #f6f8fa; }
.segmented-control a { padding: 7px 12px; border-radius: 5px; color: #475569; text-decoration: none; }
.segmented-control a.active { color: #fff; background: #0f766e; }
.external-order-list { display: grid; gap: 9px; margin-top: 16px; }
.external-order-card { overflow: hidden; border: 1px solid #dbe4ea; border-left: 4px solid #94a3b8; border-radius: 7px; background: #fff; }
.external-order-card.status-recebido { border-left-color: #dc2626; }
.external-order-card.status-confirmado { border-left-color: #d97706; }
.external-order-card.status-preparo { border-left-color: #2563eb; }
.external-order-card.status-pronto { border-left-color: #059669; }
.external-order-card > summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
}
.external-order-card > summary::-webkit-details-marker,
.integration-channel-card > summary::-webkit-details-marker { display: none; }
.channel-mark {
  display: inline-grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 7px;
  color: #fff;
  background: #334155;
  font-size: .78rem;
  font-weight: 800;
}
.channel-ifood { background: #ea1d2c; }
.channel-cardapio_proprio { background: #0f766e; }
.channel-whatsapp { background: #168f54; }
.external-order-main,
.external-order-main small,
.integration-channel-card summary span:nth-child(2),
.integration-channel-card summary small { min-width: 0; display: block; }
.external-order-main small,
.integration-channel-card summary small { margin-top: 3px; color: #64748b; font-weight: 400; }
.external-order-total { white-space: nowrap; }
.status-pill { padding: 5px 9px; border-radius: 999px; color: #475569; background: #eef2f6; font-size: .78rem; white-space: nowrap; }
.status-pill.status-recebido { color: #991b1b; background: #fee2e2; }
.status-pill.status-confirmado { color: #92400e; background: #fef3c7; }
.status-pill.status-preparo { color: #1e40af; background: #dbeafe; }
.status-pill.status-pronto { color: #065f46; background: #d1fae5; }
.external-order-content { padding: 0 14px 14px 68px; border-top: 1px solid #edf1f4; }
.external-order-items { display: grid; gap: 0; }
.external-order-items > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #edf1f4; }
.external-order-items span small { display: block; margin: 2px 0 0 24px; color: #64748b; }
.integration-warning { padding: 10px 12px; border: 1px solid #f7c979; border-radius: 6px; color: #854d0e; background: #fffbeb; }
.order-notes { padding: 10px 12px; border-radius: 6px; background: #f5f7f9; }
.external-order-actions { justify-content: flex-start; flex-wrap: wrap; margin-top: 12px; }
.empty-state { display: grid; place-items: center; gap: 5px; min-height: 130px; color: #64748b; text-align: center; }
.integration-map-grid { display: grid; gap: 8px; margin-top: 14px; }
.integration-map-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(240px, 1.2fr) auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid #e2e8f0; border-radius: 6px; }
.integration-map-row span small { display: block; color: #64748b; }
.manual-order-section details > summary { cursor: pointer; list-style: none; }
.manual-order-section details > summary span,
.manual-order-section details > summary small { display: block; }
.manual-order-section details > summary small { margin-top: 3px; color: #64748b; }
.manual-order-form,
.integration-config-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.manual-order-form .span-all,
.integration-config-form .span-all { grid-column: 1 / -1; }
.manual-order-items { display: grid; gap: 8px; }
.manual-order-item { display: grid; grid-template-columns: minmax(0, 1fr) 110px 40px; gap: 8px; }
.manual-order-buttons { justify-content: flex-end; }
.integration-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.integration-channel-card { align-self: start; border: 1px solid #dbe4ea; border-radius: 7px; background: #fff; }
.integration-channel-card > summary { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 72px; padding: 12px; cursor: pointer; }
.integration-channel-card[open] > summary { border-bottom: 1px solid #e6edf2; }
.integration-config-form { padding: 0 12px 14px; }
.integration-toggle-state { padding: 5px 9px; border-radius: 999px; color: #64748b; background: #eef2f6; font-size: .76rem; }
.integration-toggle-state.enabled { color: #065f46; background: #d1fae5; }
.integration-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px; border-radius: 6px; background: #f6f8fa; }
.integration-endpoint { overflow: hidden; margin: 0; padding: 10px; border: 1px solid #dbe4ea; border-radius: 6px; background: #f8fafc; }
.integration-endpoint code { overflow-wrap: anywhere; }
.integration-endpoint small,
.integration-last-status small { display: block; margin-top: 3px; color: #64748b; }
.integration-config-actions { justify-content: flex-start; flex-wrap: wrap; }
.integration-last-status { margin-left: auto; text-align: right; }

@media (max-width: 900px) {
  .integration-metrics,
  .integration-channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .external-order-card > summary { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .external-order-total { grid-column: 2 / 4; }
  .integration-map-row { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .integration-hero,
  .integration-section-heading { align-items: stretch; flex-direction: column; }
  .integration-hero-actions { justify-content: stretch; }
  .integration-hero-actions > *,
  .integration-hero-actions .button { flex: 1; width: 100%; }
  .integration-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .integration-metrics article { padding: 11px 12px; }
  .integration-metrics strong { font-size: 1.45rem; }
  .external-order-card > summary { grid-template-columns: 36px minmax(0, 1fr); gap: 9px; padding: 10px; }
  .channel-mark { width: 34px; height: 34px; }
  .status-pill,
  .external-order-total { grid-column: 2; justify-self: start; }
  .external-order-content { padding: 0 10px 12px; }
  .external-order-items > div { align-items: flex-start; }
  .external-order-actions { display: grid; grid-template-columns: 1fr; }
  .external-order-actions form,
  .external-order-actions .button { width: 100%; }
  .manual-order-form,
  .integration-config-form,
  .integration-channel-grid { grid-template-columns: 1fr; }
  .manual-order-item { grid-template-columns: minmax(0, 1fr) 84px 38px; }
  .integration-options { grid-template-columns: 1fr; }
  .integration-config-actions { align-items: stretch; flex-direction: column; }
  .integration-config-actions .button { width: 100%; }
  .integration-last-status { margin-left: 0; text-align: left; }
}

/* Central de atualizacoes do PDV. */
.pdv-kpi-grid { display: grid; gap: 12px; margin-bottom: 16px; }
.pdv-kpi-card { display: grid; align-content: start; gap: 4px; min-width: 0; min-height: 112px; padding: 16px; border: 1px solid #d8e2e8; border-left: 4px solid #0f766e; border-radius: 6px; background: #fff; box-shadow: 0 5px 16px rgba(15, 23, 42, .05); }
.pdv-kpi-card span { color: #64748b; font-size: 12px; font-weight: 800; }
.pdv-kpi-card strong { color: #172033; font-size: 24px; line-height: 1.1; }
.pdv-kpi-card small { color: #64748b; line-height: 1.35; }
.update-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.update-kpis .pdv-kpi-card strong { font-size: clamp(17px, 1.8vw, 24px); overflow-wrap: anywhere; }
.update-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 16px; }
.section-heading-simple { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.section-heading-simple h2, .update-restore-panel h2, .update-notes-panel h2 { margin: 0 0 5px; }
.section-heading-simple p, .update-restore-panel > p, .update-notes-panel p { margin: 0; color: var(--pdv-muted); }
.update-safe-badge, .update-status { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.update-safe-badge, .update-status.is-installed { background: #dcfce7; color: #166534; }
.update-status.is-restored { background: #e2e8f0; color: #334155; }
.update-confirm { display: flex !important; align-items: center; gap: 9px; padding: 11px; border: 1px solid #bbf7d0; border-radius: 6px; background: #f0fdf4; color: #166534 !important; }
.update-confirm input { width: auto !important; height: auto !important; }
.form-hint { align-self: center; color: var(--pdv-muted); font-size: 12px; }
.update-protection-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 18px; }
.update-protection-list span { padding: 9px; border: 1px solid var(--pdv-line); border-radius: 5px; background: #f8fafc; color: #475569; font-size: 11px; font-weight: 800; text-align: center; }
.restore-form { display: grid; gap: 10px; margin-top: 16px; }
.restore-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 800; }
.restore-form input { width: 100%; min-height: 40px; padding: 0 10px; border: 1px solid #c5d1d9; border-radius: 5px; }
.responsive-table { overflow-x: auto; }
.update-table { width: 100%; border-collapse: collapse; }
.update-table th, .update-table td { padding: 11px 10px; border-bottom: 1px solid var(--pdv-line); text-align: left; vertical-align: middle; }
.update-table th { background: #f8fafc; color: #64748b; font-size: 11px; text-transform: uppercase; }
.update-table td { color: #334155; font-size: 13px; }
.update-table td small { display: block; margin-top: 3px; color: var(--pdv-muted); }
.empty-state { padding: 14px; border: 1px dashed #cbd5e1; border-radius: 6px; background: #f8fafc; color: var(--pdv-muted); }
@media (max-width: 980px) { .update-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }.update-layout { grid-template-columns: 1fr; } }
@media (max-width: 620px) {
    .update-kpis, .update-protection-list { grid-template-columns: 1fr 1fr; }
    .section-heading-simple { align-items: stretch; flex-direction: column; }
    .update-safe-badge { align-self: flex-start; }
    .update-table thead { display: none; }
    .update-table, .update-table tbody, .update-table tr, .update-table td { display: block; width: 100%; }
    .update-table tr { padding: 9px 0; border-bottom: 1px solid var(--pdv-line); }
    .update-table td { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px; padding: 5px 8px; border: 0; }
    .update-table td::before { content: attr(data-label); color: #64748b; font-size: 11px; font-weight: 800; text-transform: uppercase; }
}

/* Cobrancas multiempresa e historico do cliente. */
.billing-admin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.billing-admin-grid > .panel { margin: 0; }
.billing-kpis .pdv-kpi-card:nth-child(2) { border-left-color: #0b8a6d; }
.billing-kpis .pdv-kpi-card:nth-child(3) { border-left-color: #1769aa; }
.billing-kpis .pdv-kpi-card:nth-child(4) { border-left-color: #c2413b; }
.billing-company-list { display: grid; gap: 7px; max-height: 430px; overflow: auto; }
.billing-company-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; border: 1px solid #d4e0e7; border-left: 4px solid #1686b9; border-radius: 6px; background: #fff; color: var(--pdv-ink); text-decoration: none; }
.billing-company-list a:hover { border-color: #1686b9; background: #f1f8fc; }
.billing-company-list strong, .billing-company-list small { display: block; }
.billing-company-list small { margin-top: 3px; color: var(--pdv-muted); }
.billing-company-list b { color: var(--pdv-blue); font-size: 12px; }
.billing-selected-company { padding: 11px; border-left: 4px solid #0b8a6d; background: #edf9f5; }
.billing-selected-company strong, .billing-selected-company small { display: block; }
.billing-status { display: inline-flex; align-items: center; min-height: 27px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 900; white-space: nowrap; }
.billing-status.is-paid { background: #dcfce7; color: #166534; }
.billing-status.is-pending { background: #eaf4fc; color: #155f94; }
.billing-status.is-overdue { background: #fee2e2; color: #b42318; }
.billing-status.is-cancelled { background: #e2e8f0; color: #475569; }
.billing-table td { vertical-align: middle; }
.billing-table td > small { display: block; margin-top: 3px; color: var(--pdv-muted); }
.billing-row-actions { min-width: 210px; }
.billing-row-actions > summary { color: var(--pdv-blue); font-size: 12px; font-weight: 900; cursor: pointer; }
.billing-payment-form { display: grid; gap: 8px; margin-top: 9px; padding: 10px; border: 1px solid #d5e1e7; border-radius: 6px; background: #f7fafc; }
.billing-payment-form label { display: grid; gap: 4px; color: #475569; font-size: 11px; font-weight: 800; }
.billing-payment-form input, .billing-payment-form textarea { width: 100%; padding: 8px; border: 1px solid #bdccd6; border-radius: 5px; background: #fff; }
.client-billing-panel { scroll-margin-top: 86px; border-top: 4px solid #0b8a6d; }
.billing-client-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 12px 0; }
.billing-client-summary > div { padding: 11px; border: 1px solid #d5e1e7; border-radius: 6px; background: #f8fbfd; }
.billing-client-summary span, .billing-client-summary strong { display: block; }
.billing-client-summary span { color: var(--pdv-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.billing-client-summary strong { margin-top: 5px; font-size: 18px; }
.billing-direct-instructions { margin-top: 12px; padding: 12px; border-left: 4px solid #d08315; background: #fff8e8; }
.billing-direct-instructions p { margin: 4px 0 0; color: #596777; }
.billing-direct-label { color: #875000; font-size: 12px; font-weight: 800; }

@media (max-width: 900px) {
  .billing-admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .billing-client-summary { grid-template-columns: 1fr; }
  .billing-row-actions { min-width: 0; }
}

/* Central profissional do PDV. */
.professional-jump { position: sticky; top: 64px; z-index: 8; display: flex; gap: 6px; overflow-x: auto; margin: 0 0 12px; padding: 8px; border: 1px solid #cbdbe5; background: rgba(244,249,251,.97); scrollbar-width: thin; }
.professional-jump a { flex: 0 0 auto; padding: 7px 10px; border-radius: 5px; background: #fff; color: #315266; font-size: 12px; font-weight: 800; text-decoration: none; }
.professional-jump a:hover { background: #dff3f2; color: #08766c; }
.professional-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 10px; }
.professional-metrics article { min-width: 0; padding: 14px; border: 1px solid #ccdce5; border-left: 4px solid #078878; border-radius: 6px; background: #fff; box-shadow: 0 5px 14px rgba(35,58,75,.05); }
.professional-metrics article.warning { border-left-color: #d48816; background: #fffaf0; }
.professional-metrics span,.professional-metrics strong,.professional-metrics small { display: block; }
.professional-metrics span { color: #617483; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.professional-metrics strong { margin-top: 5px; font-size: 23px; }
.professional-metrics small { margin-top: 4px; color: #687b89; }
.exception-strip { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 6px; margin-bottom: 12px; }
.exception-strip span { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 7px; min-height: 42px; padding: 7px 9px; border: 1px solid #d7e2e8; border-radius: 5px; background: #f8fbfc; color: #5b6e7b; font-size: 11px; font-weight: 700; }
.exception-strip strong { font-size: 18px; color: #168474; }
.exception-strip .has-issue { border-color: #f2c884; background: #fff9ec; color: #8b4d08; }
.exception-strip .has-issue strong { color: #b45c08; }
.professional-section { margin-bottom: 9px; border: 1px solid #cbdbe5; border-radius: 6px; background: #fff; overflow: clip; scroll-margin-top: 120px; }
.professional-section > summary { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; min-height: 66px; padding: 12px 15px; cursor: pointer; list-style: none; background: #f7fafc; }
.professional-section > summary::-webkit-details-marker { display: none; }
.professional-section > summary::before { content: '+'; display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #dcebef; color: #0d6d66; font-weight: 900; grid-column: 1; grid-row: 1; }
.professional-section[open] > summary::before { content: '−'; background: #118a7b; color: #fff; }
.professional-section > summary > div { margin-left: 36px; grid-column: 1; grid-row: 1; }
.professional-section > summary strong,.professional-section > summary span { display: block; }
.professional-section > summary strong { color: #18303f; font-size: 16px; }
.professional-section > summary span { margin-top: 3px; color: #657986; font-size: 12px; }
.professional-section > summary > b { padding: 6px 9px; border-radius: 999px; background: #e4f4f1; color: #08766c; font-size: 12px; white-space: nowrap; }
.professional-body { padding: 15px; border-top: 1px solid #dce6eb; }
.split-controls { display: grid; grid-template-columns: minmax(270px,.8fr) minmax(0,1.2fr); gap: 16px; align-items: start; }
.professional-form { display: grid; gap: 10px; padding: 13px; border: 1px solid #d3e0e7; border-radius: 6px; background: #f8fbfc; }
.professional-form h3 { margin: 0; }
.professional-form label { display: grid; gap: 5px; color: #435968; font-size: 12px; font-weight: 800; }
.professional-form input,.professional-form select,.professional-form textarea { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #bccdd7; border-radius: 5px; background: #fff; color: #172b38; }
.professional-form textarea { resize: vertical; }
.professional-form .check-line,.checklist-form label { display: flex; align-items: center; gap: 8px; min-height: 34px; }
.professional-form .check-line input,.checklist-form label input { width: auto; min-height: 0; }
.inline-form { grid-template-columns: repeat(6,minmax(110px,1fr)) auto; align-items: end; margin-top: 14px; }
.inventory-session-card { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-bottom: 9px; padding: 12px; border: 1px solid #cddde5; border-left: 4px solid #1687b8; border-radius: 6px; }
.inventory-session-card h3,.inventory-session-card p { grid-column: 1/-1; margin: 0; }
.inventory-session-card label { display: grid; gap: 4px; color: #526a79; font-size: 12px; font-weight: 800; }
.inventory-session-card input,.inventory-session-card select { min-height: 40px; width: 100%; padding: 7px 9px; border: 1px solid #bccdd7; border-radius: 5px; }
.nested-control { margin-bottom: 9px; border: 1px solid #d2dfe6; border-radius: 6px; }
.nested-control > summary { display: flex; justify-content: space-between; gap: 10px; padding: 11px 12px; cursor: pointer; background: #f8fbfc; }
.nested-control > .professional-form { border: 0; border-top: 1px solid #dce6eb; border-radius: 0; }
.profit-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 7px; }
.profit-grid span { padding: 10px; border: 1px solid #d5e1e7; border-radius: 5px; background: #fbfdfe; }
.profit-grid small,.profit-grid strong { display: block; }
.profit-grid small { min-height: 28px; color: #647986; font-size: 10px; text-transform: uppercase; }
.profit-grid strong { margin-top: 4px; font-size: 16px; }
.profit-grid span:last-child { border-color: #8dcfc3; background: #eaf8f5; }
.compact-list { display: grid; gap: 6px; margin-top: 10px; }
.compact-list > span { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid #dae4e9; border-radius: 5px; background: #fff; }
.compact-list small { color: #677b87; }
.compact-list a { color: #08766c; font-weight: 800; }
.duplicate-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; margin-bottom: 7px; padding: 10px; border: 1px solid #e1d8c4; border-radius: 5px; background: #fffaf0; }
.duplicate-card span,.duplicate-card small { display: block; }
.duplicate-card small { margin-top: 4px; color: #80683d; }
.issue-list { margin: 8px 0 12px; padding-left: 20px; color: #9a4f0c; }
.success-note { padding: 10px; border-left: 4px solid #159779; background: #ecf9f5; color: #12634f; }
.diagnostic-action { margin-top: 10px; }
.empty-state { padding: 14px; border: 1px dashed #c7d5dd; text-align: center; color: #657986; }

@media (max-width: 960px) {
  .professional-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .exception-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .profit-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .inline-form { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .professional-jump { top: 56px; margin-inline: -8px; border-inline: 0; }
  .professional-metrics { grid-template-columns: 1fr 1fr; gap: 7px; }
  .professional-metrics article { padding: 10px; }
  .professional-metrics strong { font-size: 19px; }
  .exception-strip { grid-template-columns: 1fr 1fr; }
  .professional-section > summary { min-height: 58px; padding: 10px; }
  .professional-section > summary > b { display: none; }
  .professional-body { padding: 10px; }
  .split-controls,.inline-form,.inventory-session-card { grid-template-columns: 1fr; }
  .inventory-session-card h3,.inventory-session-card p { grid-column: auto; }
  .profit-grid { grid-template-columns: 1fr 1fr; }
  .compact-list > span,.duplicate-card { grid-template-columns: 1fr; }
  .professional-body .table-wrap { margin-inline: -10px; }
}

/* Abertura assistida, perifericos, permissoes e auditoria de risco. */
.opening-layout { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr); gap:16px; align-items:start; }
.peripheral-health-list,.risk-event-list { display:grid; gap:8px; }
.peripheral-health-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(140px,.8fr) auto auto; gap:8px; align-items:center; padding:10px; border:1px solid #d4e0e6; border-left:4px solid #d18a16; border-radius:6px; background:#fbfdfe; }
.peripheral-health-row.is-ok { border-left-color:#0a927c; }.peripheral-health-row.is-error { border-left-color:#c9342f; background:#fff8f7; }
.peripheral-health-row span,.peripheral-health-row b,.peripheral-health-row small { display:block; }.peripheral-health-row small { margin-top:3px; color:#667985; }
.peripheral-health-row input { width:100%; min-height:37px; padding:7px 9px; border:1px solid #c1d0d8; border-radius:5px; }
.peripheral-register { grid-template-columns:repeat(2,minmax(0,1fr)); }.peripheral-register .check-line,.peripheral-register button { align-self:end; }
.risk-event { display:grid; grid-template-columns:minmax(240px,1fr) minmax(200px,.8fr) 120px auto; gap:8px; align-items:center; padding:10px; border:1px solid #efd49d; border-left:4px solid #d28a13; border-radius:6px; background:#fffaf0; }
.risk-event.critico { border-color:#efb2ac; border-left-color:#c9342f; background:#fff7f6; }.risk-event.is-reviewed { border-color:#c9ddd8; border-left-color:#0a927c; background:#f6fbfa; }
.risk-event span,.risk-event b,.risk-event small { display:block; }.risk-event small { margin-top:3px; color:#667985; }.risk-event em { color:#08766c; font-style:normal; font-weight:850; text-align:right; }
.risk-event input,.risk-event select { min-height:38px; width:100%; padding:7px 9px; border:1px solid #c4d2da; border-radius:5px; background:#fff; }
.closing-readiness { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin-bottom:12px; }
.closing-readiness span { padding:9px; border:1px solid #cfe2dc; border-left:4px solid #0a927c; border-radius:5px; background:#f5fbf9; color:#3c5d57; font-size:12px; }.closing-readiness span.has-issue { border-color:#efd6a4; border-left-color:#d18a16; background:#fffaf1; color:#80510c; }.closing-readiness b { display:block; margin-bottom:2px; font-size:18px; }
.user-permission-editor { padding:10px; border:1px solid #cddbe3; border-radius:6px; background:#f8fbfc; }.user-permission-editor summary { cursor:pointer; font-weight:850; }.user-permission-editor p { color:#647986; font-size:12px; }
.user-permission-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.user-permission-grid label { display:flex; align-items:center; gap:7px; min-height:38px; padding:7px 9px; border:1px solid #d6e1e7; border-radius:5px; background:#fff; }.user-permission-grid input { width:auto; min-height:0; }
.audit-risk-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:10px; align-items:stretch; margin-bottom:14px; }.audit-risk-summary article { padding:12px; border:1px solid #d2e0e6; border-left:4px solid #0b8a7b; border-radius:6px; background:#fff; }.audit-risk-summary article.warning { border-left-color:#d18a16; background:#fffaf0; }.audit-risk-summary span,.audit-risk-summary strong,.audit-risk-summary small { display:block; }.audit-risk-summary strong { margin:4px 0; font-size:24px; }.audit-risk-summary small { color:#647986; }.audit-risk-summary>.button { align-self:center; }
.fiscal-operations-banner,.opening-reminder-banner { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 15px; border-bottom:1px solid #eccb8b; background:#fff5dc; color:#7d4d08; }.fiscal-operations-banner { border-color:#efaaa5; background:#fff0ef; color:#8f2420; }.fiscal-operations-banner span,.opening-reminder-banner span { display:flex; gap:7px; align-items:center; }
@media(max-width:900px){.opening-layout{grid-template-columns:1fr}.closing-readiness{grid-template-columns:repeat(2,minmax(0,1fr))}.peripheral-health-row{grid-template-columns:1fr 1fr}.risk-event{grid-template-columns:1fr 1fr}.audit-risk-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.peripheral-register,.user-permission-grid,.peripheral-health-row,.risk-event,.audit-risk-summary{grid-template-columns:1fr}.closing-readiness{grid-template-columns:1fr 1fr}.fiscal-operations-banner,.opening-reminder-banner{align-items:stretch;flex-direction:column}.fiscal-operations-banner span,.opening-reminder-banner span{display:block}.fiscal-operations-banner .button,.opening-reminder-banner .button{width:100%}}

/* Central profissional da padaria. */
.bakery-pro-hero,
.bakery-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.bakery-pro-hero { margin-bottom: 12px; padding: 18px 20px; border: 1px solid #c9dbe3; border-left: 5px solid #0b8a79; border-radius: 7px; background: #fff; box-shadow: var(--pdv-shadow); }
.bakery-pro-hero h1,
.bakery-section-heading h2 { margin: 2px 0 4px; color: #182230; letter-spacing: 0; }
.bakery-pro-hero h1 { font-size: 27px; }
.bakery-pro-hero p,
.bakery-section-heading p { margin: 0; color: #607083; }
.bakery-pro-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.bakery-pro-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin-bottom: 12px; }
.bakery-pro-metrics article { min-width: 0; padding: 13px; border: 1px solid #d4e0e7; border-top: 4px solid #247fb0; border-radius: 7px; background: #fff; }
.bakery-pro-metrics article:nth-child(2) { border-top-color: #cf7b0b; }
.bakery-pro-metrics article.is-ready { border-top-color: #0b9470; background: #eefaf5; }
.bakery-pro-metrics article:nth-child(4) { border-top-color: #7657b4; }
.bakery-pro-metrics article:nth-child(5) { border-top-color: #087f73; }
.bakery-pro-metrics article:nth-child(6) { border-top-color: #c34b5d; }
.bakery-pro-metrics span,
.bakery-pro-metrics small { display: block; color: #64748b; font-size: 10px; font-weight: 800; }
.bakery-pro-metrics strong { display: block; margin: 4px 0; color: #17202a; font-size: 22px; line-height: 1.05; }
.bakery-section-nav { position: sticky; top: 70px; z-index: 8; display: flex; gap: 5px; margin-bottom: 12px; padding: 7px; overflow-x: auto; border: 1px solid #ccdbe4; border-radius: 6px; background: rgba(246,250,252,.96); box-shadow: 0 5px 14px rgba(20,46,64,.07); }
.bakery-section-nav a { flex: 0 0 auto; padding: 8px 11px; border-radius: 5px; color: #334155; font-size: 12px; font-weight: 800; text-decoration: none; }
.bakery-section-nav a:hover { background: #dff3ee; color: #087166; }
.bakery-section { scroll-margin-top: 124px; margin-bottom: 12px; padding: 16px; }
.bakery-section-heading { margin-bottom: 14px; }
.bakery-section-heading h2 { font-size: 21px; }
.kitchen-board { display: grid; grid-template-columns: repeat(4, minmax(230px, 1fr)); gap: 10px; }
.kitchen-ticket { display: flex; flex-direction: column; min-height: 260px; padding: 13px; border: 1px solid #d4dfe6; border-top: 5px solid #718096; border-radius: 7px; background: #fff; }
.kitchen-ticket.is-aguardando { border-top-color: #d88712; }
.kitchen-ticket.is-preparo { border-top-color: #257bb0; background: #f3f9fd; }
.kitchen-ticket.is-pronto { border-top-color: #07916b; background: #edf9f4; }
.kitchen-ticket.is-late { border-color: #dc5265; box-shadow: 0 0 0 2px rgba(220,82,101,.12); }
.kitchen-ticket header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.kitchen-ticket header div span,
.kitchen-ticket header div strong { display: block; }
.kitchen-ticket header span { color: #64748b; font-size: 10px; font-weight: 900; }
.kitchen-ticket header strong { margin-top: 3px; font-size: 19px; }
.ticket-elapsed { padding: 5px 7px; border-radius: 5px; background: #edf2f5; color: #425466; font-size: 11px; font-weight: 900; }
.is-late .ticket-elapsed { background: #fee2e2; color: #b42318; }
.kitchen-ticket > p { margin: 8px 0; color: #64748b; font-size: 11px; }
.kitchen-ticket ul { flex: 1; margin: 0; padding: 0; list-style: none; }
.kitchen-ticket li { display: flex; gap: 8px; padding: 7px 0; border-top: 1px dashed #d7e0e6; }
.kitchen-ticket li b { color: #087166; }
.kitchen-ticket li span,
.kitchen-ticket li small { display: block; }
.kitchen-ticket li small { margin-top: 2px; color: #8a570d; font-size: 10px; }
.kitchen-ticket footer { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 8px; }
.table-map { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 9px; }
.service-table { display: grid; align-content: center; min-height: 116px; padding: 12px; border: 1px solid #d3dee5; border-left: 5px solid #23a079; border-radius: 7px; background: #f7fcfa; }
.service-table.is-occupied { border-left-color: #d88712; background: #fff8eb; }
.service-table span,
.service-table small { color: #64748b; font-size: 10px; }
.service-table strong { margin: 4px 0; font-size: 17px; }
.service-table a { margin-top: 6px; color: #087166; font-size: 11px; font-weight: 800; }
.bakery-inline-config { margin-top: 12px; padding: 10px; border: 1px solid #d5e0e7; border-radius: 6px; background: #f8fbfc; }
.bakery-inline-config summary { cursor: pointer; font-weight: 800; }
.bakery-compact-form { display: grid; grid-template-columns: repeat(4,minmax(120px,1fr)) auto; gap: 8px; margin-top: 10px; }
.bakery-compact-form input,
.bakery-compact-form select,
.bakery-stack-form input,
.bakery-stack-form select,
.bakery-stack-form textarea,
.bakery-form-grid input,
.bakery-form-grid select,
.bakery-reconciliation-form input,
.bakery-reconciliation-form select { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #bdccd6; border-radius: 5px; background: #fff; }
.bakery-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.bakery-form-grid > form { display: grid; align-content: start; gap: 9px; padding: 13px; border: 1px solid #d4dfe6; border-top: 4px solid #247fb0; border-radius: 7px; background: #f9fbfc; }
.bakery-form-grid h3 { margin: 0 0 3px; font-size: 16px; }
.bakery-form-grid label,
.bakery-stack-form label,
.bakery-reconciliation-form label { display: grid; gap: 4px; color: #475569; font-size: 11px; font-weight: 800; }
.bakery-management-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.bakery-management-columns h3 { margin: 0 0 9px; }
.bakery-scroll-list { display: grid; gap: 6px; max-height: 430px; overflow: auto; }
.bakery-product-route,
.bakery-queue-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(120px,auto) auto; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid #d6e1e7; border-radius: 6px; background: #fff; }
.bakery-product-route span,
.bakery-product-route small,
.bakery-queue-row span,
.bakery-queue-row small { display: block; min-width: 0; }
.bakery-product-route small,
.bakery-queue-row small { margin-top: 3px; overflow-wrap: anywhere; color: #64748b; font-size: 10px; }
.bakery-product-route small.available { color: #08735f; }
.bakery-product-route small.unavailable { color: #b42318; }
.bakery-product-route select { min-height: 34px; border: 1px solid #bdccd6; border-radius: 5px; }
.bakery-stack-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; padding: 12px; border: 1px solid #d5e0e6; border-radius: 6px; background: #f8fbfc; }
.bakery-stack-form > button,
.bakery-stack-form > .checkline { align-self: end; }
.bakery-chip-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.bakery-chip-list span { padding: 7px 9px; border: 1px solid #cee0e6; border-radius: 5px; background: #fff; color: #475569; font-size: 10px; }
.bakery-chip-list b { display: block; color: #17202a; }
.bakery-reconciliation-form { display: grid; grid-template-columns: repeat(5,minmax(110px,1fr)); gap: 9px; margin-bottom: 13px; padding: 12px; border: 1px solid #d5e0e6; border-radius: 6px; background: #f8fbfc; }
.loyalty-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.loyalty-grid article { padding: 12px; border: 1px solid #d4e0e6; border-left: 4px solid #7657b4; border-radius: 6px; background: #fff; }
.loyalty-grid article > strong,
.loyalty-grid article > span,
.loyalty-grid article > b { display: block; }
.loyalty-grid article > span { margin: 3px 0; color: #64748b; font-size: 11px; }
.loyalty-grid article > b { color: #60439b; font-size: 12px; }
.loyalty-grid details { margin-top: 8px; }
.loyalty-grid summary { cursor: pointer; color: #087166; font-size: 11px; font-weight: 800; }
.loyalty-grid form { display: grid; gap: 5px; margin-top: 7px; }
.loyalty-grid input { width: 100%; min-height: 34px; border: 1px solid #c5d2da; border-radius: 4px; }
.bakery-report-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.bakery-report-grid article { padding: 12px; border: 1px solid #d4e0e6; border-top: 4px solid #247fb0; border-radius: 7px; background: #fff; }
.bakery-report-grid article:nth-child(2) { border-top-color: #d88712; }
.bakery-report-grid article:nth-child(3) { border-top-color: #0b9470; }
.bakery-report-grid h3 { margin: 0 0 8px; }
.bakery-report-grid article div { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; border-top: 1px solid #e1e8ed; font-size: 11px; }
.modifier-dialog-options { display: grid; gap: 10px; max-height: 45vh; overflow: auto; }
.modifier-dialog-options fieldset { display: grid; gap: 5px; padding: 10px; border: 1px solid #d4e0e6; border-radius: 6px; }
.modifier-dialog-options legend { padding: 0 5px; font-weight: 900; }
.modifier-option { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 7px; min-height: 38px; padding: 5px 7px; border-radius: 5px; background: #f5f9fb; }
.modifier-option b { color: #087166; font-size: 11px; }
.cart-modifiers { color: #a45a00 !important; font-weight: 800; }
.cart-notes { color: #536579 !important; font-style: italic; }

@media (max-width: 1100px) {
  .bakery-pro-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .kitchen-board { grid-template-columns: repeat(3,minmax(220px,1fr)); }
  .table-map { grid-template-columns: repeat(4,minmax(120px,1fr)); }
  .loyalty-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .bakery-pro-hero,
  .bakery-section-heading { align-items: stretch; flex-direction: column; }
  .bakery-pro-actions { justify-content: stretch; }
  .bakery-pro-actions .button { flex: 1; }
  .bakery-pro-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bakery-section-nav { top: 62px; }
  .bakery-section { padding: 11px; }
  .kitchen-board { grid-template-columns: 1fr; }
  .kitchen-ticket { min-height: 0; }
  .table-map { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bakery-compact-form,
  .bakery-form-grid,
  .bakery-management-columns,
  .bakery-stack-form,
  .bakery-reconciliation-form,
  .loyalty-grid,
  .bakery-report-grid { grid-template-columns: 1fr; }
  .bakery-product-route,
  .bakery-queue-row { grid-template-columns: minmax(0,1fr) auto; }
  .bakery-product-route select { grid-column: 1; }
  .bakery-reconciliation-form .button { min-height: 44px; }
}

/* Navegacao agrupada compartilhada por todo o PDV. */
.pdv-nav-group { position: relative; }
.pdv-nav-group > summary { display: inline-flex; align-items: center; min-height: 36px; padding: 0 11px; border-radius: 5px; color: #e2e8f0; font-size: 13px; font-weight: 800; cursor: pointer; list-style: none; user-select: none; }
.pdv-nav-group > summary::-webkit-details-marker { display: none; }
.pdv-nav-group > summary::after { content: "+"; margin-left: 7px; color: #94a3b8; font-size: 14px; }
.pdv-nav-group[open] > summary::after { content: "-"; }
.pdv-nav-group > summary:hover, .pdv-nav-group.is-active > summary, .pdv-nav-link.is-active { background: rgba(15,118,110,.55); color: #fff; }
.pdv-nav-group-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 40; display: grid; min-width: 210px; padding: 7px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; box-shadow: 0 16px 36px rgba(15,23,42,.2); }
.pdv-nav-group-menu .text-button { justify-content: flex-start; min-height: 38px; padding: 0 10px; background: transparent; color: #334155; white-space: nowrap; }
.pdv-nav-group-menu .text-button:hover, .pdv-nav-group-menu .text-button.is-active { background: #ecfdf5; color: #0f766e; }
.page-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }

/* Cadastro manual de produtos. */
.pdv-dialog.wide { width: min(820px, calc(100vw - 28px)); }
.product-dialog-form { display: grid; gap: 0; }
.product-dialog-form .dialog-heading { align-items: flex-start; margin-bottom: 12px; }
.product-dialog-form .dialog-heading p { margin: 4px 0 0; color: var(--pdv-muted); font-size: 12px; }
.product-form-feedback { min-height: 20px; margin: 0 0 10px; color: var(--pdv-muted); font-size: 12px; font-weight: 800; }
.product-form-feedback.is-error { color: var(--pdv-danger); }
.product-form-feedback.is-success { color: var(--pdv-primary-dark); }
.product-form-sections { display: grid; gap: 9px; }
.product-form-section { overflow: hidden; border: 1px solid var(--pdv-line); border-radius: 7px; background: #fff; }
.product-form-section.is-primary { padding: 14px; border-color: #99d5ca; background: #fbfffe; }
.product-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 13px; }
.product-section-heading > div { display: flex; align-items: center; gap: 9px; }
.product-section-heading span, .product-form-section > summary > span { display: inline-grid; flex: 0 0 26px; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: #ccfbf1; color: #115e59; font-size: 12px; font-weight: 900; }
.product-section-heading h3 { margin: 0; font-size: 16px; }
.product-section-heading small { color: var(--pdv-muted); font-size: 11px; }
.product-form-section > summary { display: flex; align-items: center; gap: 10px; padding: 13px 14px; cursor: pointer; list-style: none; }
.product-form-section > summary::-webkit-details-marker { display: none; }
.product-form-section > summary > div { min-width: 0; flex: 1; }
.product-form-section > summary strong, .product-form-section > summary small { display: block; }
.product-form-section > summary strong { color: var(--pdv-ink); font-size: 14px; }
.product-form-section > summary small { margin-top: 2px; color: var(--pdv-muted); font-size: 11px; }
.product-form-section > summary::after { content: "+"; color: #64748b; font-size: 19px; font-weight: 800; }
.product-form-section[open] > summary::after { content: "-"; }
.product-form-section.has-data > summary::before { content: "Preenchido"; order: 2; padding: 3px 7px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: 10px; font-weight: 800; }
.product-section-content { padding: 0 14px 14px; border-top: 1px solid #edf2f5; }
.input-with-action { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.input-with-action input { border-radius: 5px 0 0 5px !important; }
.input-with-action button { min-width: 64px; border: 1px solid #c5d1d9; border-left: 0; border-radius: 0 5px 5px 0; background: #f1f5f9; color: #334155; font-size: 11px; font-weight: 800; }
.compact-check { align-self: end; min-height: 38px; padding: 0 10px; border: 1px solid #d9e2e8; border-radius: 5px; background: #f8fafc; }
.product-margin-preview { min-height: 34px; padding: 8px 10px; border-left: 3px solid #94a3b8; background: #f8fafc; color: #475569; font-size: 12px; font-weight: 800; }
.product-margin-preview.is-positive { border-left-color: #16a34a; background: #f0fdf4; color: #166534; }
.product-margin-preview.is-warning { border-left-color: #dc2626; background: #fef2f2; color: #991b1b; }

/* Conferencia inteligente de NF-e. */
.invoice-import-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px; padding:12px; border:1px solid #d7e3ea; border-radius:7px; background:#f8fbfc; }
.invoice-import-options > label:not(.check-label) { display:grid; gap:5px; color:#334155; font-size:12px; font-weight:800; }
.invoice-import-options .check-label { grid-column:auto; align-self:end; min-height:42px; padding:8px; border:1px solid #dbe5ea; border-radius:6px; background:#fff; font-size:12px; }
.invoice-summary-grid { display:grid; grid-template-columns:minmax(240px,2fr) repeat(3,minmax(110px,1fr)); gap:8px; }
.invoice-total-card { display:grid; align-content:center; gap:4px; padding:11px; border:1px solid #d8e2e8; border-radius:6px; background:#fff; }
.invoice-total-card span { color:#64748b; font-size:11px; font-weight:800; text-transform:uppercase; }
.invoice-total-card strong { font-size:17px; }.invoice-total-card.is-emphasis { border-color:#52b8a9; background:#effcf8; color:#075e54; }
.invoice-bulk-panel { margin-top:10px; border:1px solid #bae6fd; border-radius:7px; background:#f0f9ff; }
.invoice-bulk-panel summary { cursor:pointer; padding:10px 12px; color:#075985; font-size:13px; font-weight:900; }
.invoice-bulk-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:0 10px 10px; }
.invoice-bulk-grid label { display:grid; gap:4px; color:#475569; font-size:11px; font-weight:800; }
.invoice-bulk-grid label > span { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.invoice-bulk-grid input,.invoice-bulk-grid select { min-width:0; height:34px; border:1px solid #c5d1d9; border-radius:5px 0 0 5px; }
.invoice-bulk-grid button { border:0; border-radius:0 5px 5px 0; padding:0 9px; background:#0f766e; color:#fff; font-weight:800; }
.invoice-item { grid-template-columns:auto minmax(170px,.9fr) minmax(120px,.45fr) minmax(330px,1.6fr); align-items:start; }
.invoice-item-title { min-width:0; }.invoice-match { display:inline-flex; margin-top:6px; padding:3px 6px; border-radius:4px; background:#e2e8f0; color:#475569; font-size:10px; font-style:normal; font-weight:900; }
.invoice-match.is-good { background:#dcfce7;color:#166534 }.invoice-match.is-review { background:#fef3c7;color:#92400e }.invoice-match.is-new { background:#e0f2fe;color:#075985 }
.invoice-warning { display:block; margin-top:5px; color:#b45309; font-size:10px; font-style:normal; font-weight:800; }
.invoice-target { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }.invoice-target .span-two { grid-column:1/-1; }
.invoice-target input,.invoice-target select { width:100%; height:35px; min-width:0; padding:0 8px; border:1px solid #c5d1d9; border-radius:5px; background:#fff; }
.invoice-cost-result { display:grid; align-content:center; min-height:54px; padding:7px 9px; border-left:3px solid #0f766e; background:#f0fdfa; color:#115e59; }
.invoice-cost-result b,.invoice-cost-result span { font-size:11px; }.invoice-lot { border-top:1px dashed #cbd5e1; padding-top:6px; }.invoice-lot summary { cursor:pointer; color:#475569; font-size:11px; font-weight:800; }.invoice-lot > div { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:7px; }
.invoice-import-success { margin:18px; padding:18px; border:1px solid #86d3b8; border-radius:7px; background:#ecfdf5; color:#065f46; }.invoice-import-success > strong { font-size:19px; }.invoice-import-success p { margin:5px 0 13px; }.invoice-import-success > div { display:flex; flex-wrap:wrap; gap:7px; }
@media (max-width:760px) { .invoice-import-options,.invoice-summary-grid,.invoice-bulk-grid { grid-template-columns:1fr; }.invoice-import-options .check-label { grid-column:1; }.invoice-item { grid-template-columns:auto minmax(0,1fr); }.invoice-item-title,.invoice-quantities,.invoice-target { grid-column:2; }.invoice-target { grid-template-columns:1fr; }.invoice-target .span-two { grid-column:auto; }.invoice-lot > div { grid-template-columns:1fr; }.invoice-summary-grid .invoice-summary { grid-column:1; }.invoice-import-success > div { display:grid; }.invoice-import-success .button { width:100%; } }

.invoice-dashboard-metrics { margin-bottom:0; }.standalone-admin .filter-bar { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)) auto; align-items:end; gap:9px; margin-bottom:13px; }.standalone-admin .filter-bar label { display:grid; gap:4px; color:#475569; font-size:11px; font-weight:800; }.standalone-admin .filter-bar input,.standalone-admin .filter-bar select { height:38px; }
.invoice-control-grid { align-items:start; }.invoice-alert-row,.invoice-payable-row,.invoice-rule-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:9px 0; border-bottom:1px solid #e2e8f0; }
.invoice-alert-row p { margin:3px 0 0; color:#64748b; font-size:12px; }.invoice-alert-row.severity-critico { border-left:3px solid #dc2626; padding-left:9px; }.invoice-payable-row { grid-template-columns:minmax(160px,1fr) auto 105px auto; }.invoice-payable-row div { display:grid; }.invoice-payable-row small { color:#64748b; }.invoice-rule-row { grid-template-columns:minmax(130px,1fr) 100px 150px auto; }.invoice-rule-row input,.invoice-rule-row select,.invoice-payable-row input { min-width:0; height:34px; }
@media(max-width:760px){.standalone-admin .filter-bar{grid-template-columns:1fr 1fr}.standalone-admin .filter-bar label:nth-child(3),.standalone-admin .filter-bar .button{grid-column:1/-1}.invoice-payable-row,.invoice-rule-row{grid-template-columns:1fr 1fr}.invoice-payable-row div,.invoice-rule-row strong{grid-column:1/-1}}
.product-dialog-actions { position: sticky; bottom: -18px; z-index: 5; margin: 12px -18px -18px; padding: 12px 18px; border-top: 1px solid var(--pdv-line); background: rgba(255,255,255,.97); box-shadow: 0 -8px 18px rgba(15,23,42,.06); }

@media (max-width: 760px) {
  .pdv-admin-page { grid-template-columns: minmax(0, 1fr); }
  .standalone-admin > *, .standalone-admin .panel, .standalone-admin form, .standalone-admin .form-grid, .standalone-admin label { min-width: 0; max-width: 100%; }
  .standalone-admin input, .standalone-admin select, .standalone-admin textarea { max-width: 100%; }
  .standalone-admin .table-wrap { width: 100%; max-width: 100%; overflow-x: auto; }
  .pdv-nav-group { flex: 1 1 calc(50% - 5px); position: static; }
  .pdv-nav-group > summary { justify-content: center; width: 100%; min-height: 38px; background: rgba(255,255,255,.08); }
  .pdv-nav-group-menu { position: static; width: 100%; min-width: 0; margin-top: 5px; padding: 4px; border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.06); box-shadow: none; }
  .pdv-nav-group-menu .text-button { width: 100%; color: #fff; white-space: normal; }
  .pdv-nav-group-menu .text-button:hover, .pdv-nav-group-menu .text-button.is-active { background: rgba(15,118,110,.55); color: #fff; }
  .pdv-nav-links > .pdv-nav-link { flex: 1 1 calc(50% - 5px); justify-content: center; }
  .page-heading-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .page-heading-actions .button { width: 100%; }
  .product-dialog-form { padding: 12px !important; }
  .product-form-section.is-primary { padding: 11px; }
  .product-section-heading { align-items: flex-start; flex-direction: column; }
  .product-section-content { padding: 0 11px 11px; }
  .product-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; bottom: -12px; margin: 10px -12px -12px; padding: 10px 12px; }
  .product-dialog-actions .button { width: 100%; min-width: 0; padding: 0 8px; font-size: 12px; }
}

@media (max-width: 430px) {
  .product-dialog-actions { grid-template-columns: 1fr; }
  .product-form-section.has-data > summary::before { display: none; }
}
.local-repository-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
}

.local-code-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-left: 4px solid #0f766e;
}

.local-code-panel div {
    display: grid;
    gap: 5px;
}

.local-code-panel strong {
    font-size: 1.45rem;
    letter-spacing: 0;
}

.client-plan-overview { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 14px; margin-bottom: 16px; }
.client-plan-card { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 20px; border: 1px solid #99d8d2; border-top: 5px solid #0f766e; border-radius: 7px; background: #f0fdfa; }
.client-plan-card h2 { margin: 0; color: #0f4f4a; font-size: 25px; }
.client-plan-card p { margin: 0; color: #46645f; line-height: 1.45; }
.client-plan-limits { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.client-plan-limits span { display: inline-flex; align-items: baseline; gap: 5px; padding: 7px 9px; border: 1px solid #b7e2dc; border-radius: 5px; background: #fff; color: #315b56; font-size: 12px; }
.client-plan-limits strong { color: #0f766e; font-size: 17px; }
.client-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.client-stat-grid article { display: grid; align-content: start; gap: 4px; min-width: 0; padding: 15px; border: 1px solid #d8e2e8; border-radius: 6px; background: #fff; box-shadow: 0 4px 14px rgba(15,23,42,.04); }
.client-stat-grid article:nth-child(2) { border-top: 3px solid #1769aa; }
.client-stat-grid article:nth-child(3) { border-top: 3px solid #b7791f; }
.client-stat-grid article:nth-child(4) { border-top: 3px solid #7c3aed; }
.client-stat-grid span, .client-stat-grid small { color: #64748b; }
.client-stat-grid span { font-size: 11px; font-weight: 800; text-transform: uppercase; }
.client-stat-grid strong { color: #172033; font-size: 21px; line-height: 1.15; }
.client-stat-grid small { line-height: 1.35; }
.install-code-callout { align-items: stretch; border: 1px solid #75c9c1; border-left: 6px solid #0f766e; background: #f0fdfa; }
.install-code-content { display: grid; align-content: start; gap: 7px; max-width: 760px; }
.install-code-content h2 { margin: 0; color: #123f3b; font-size: 20px; }
.install-code-content #install-code-value { width: fit-content; padding: 9px 12px; border: 1px dashed #0f766e; border-radius: 5px; background: #fff; color: #0f4f4a; font-family: Consolas, monospace; font-size: 23px; }
.install-code-content p { margin: 0; color: #315b56; line-height: 1.45; }
.install-code-expiry { width: fit-content; padding: 6px 9px; border-radius: 4px; background: #fef3c7; color: #92400e; font-size: 12px; font-weight: 900; }
.install-code-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.device-capacity { display: inline-flex; align-items: center; min-height: 30px; padding: 0 10px; border-radius: 5px; background: #e2e8f0; color: #334155; font-size: 12px; font-weight: 900; white-space: nowrap; }
.device-role { display: inline-flex; align-items: center; min-height: 28px; padding: 0 9px; border-radius: 5px; font-size: 11px; font-weight: 900; white-space: nowrap; }
.device-role.is-server { background: #ccfbf1; color: #0f5f59; }
.device-role.is-terminal { background: #dbeafe; color: #1d4ed8; }
.device-table td:nth-child(1) { min-width: 190px; }
.device-table td:nth-child(2) { min-width: 170px; }
.install-another-device .alert, .client-device-panel .alert { margin: 0 0 14px; }

.update-status.is-blocked {
    background: #fee2e2;
    color: #991b1b;
}

.button.small {
    min-height: 34px;
    padding: 7px 12px;
    font-size: .86rem;
}

.table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.table-actions form {
    margin: 0;
}

@media (max-width: 820px) {
    .local-repository-layout {
        grid-template-columns: 1fr;
    }

    .local-code-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .client-plan-overview { grid-template-columns: 1fr; }
    .install-code-actions { justify-content: flex-start; }
}
/* Portal multiempresa do PDV Local */
.repository-company-filter {
    margin-bottom: 16px;
}

.repository-company-filter form {
    align-items: end;
}

.client-portal-auth {
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: #eef3f6;
    color: #172033;
}

.client-portal-login-card {
    width: min(100%, 430px);
    padding: 28px;
    background: #fff;
    border: 1px solid #d9e2e8;
    border-radius: 8px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .12);
}

.company-registration-card {
    width: min(100%, 820px);
    padding: 0;
    overflow: hidden;
}

.company-registration-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 28px;
    background: #0f172a;
    color: #fff;
}

.company-registration-header h1 { margin: 14px 0 5px; font-size: 25px; }
.company-registration-header p { margin: 0; color: #cbd5e1; }
.company-registration-step { flex: 0 0 auto; padding: 9px 12px; border: 1px solid #334155; border-radius: 6px; color: #99f6e4; font-size: 12px; font-weight: 800; }
.company-registration-body { padding: 24px 28px 28px; }
.company-registration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.company-registration-grid label { display: grid; gap: 6px; min-width: 0; color: #475569; font-size: 12px; font-weight: 800; }
.company-registration-grid input { width: 100%; min-width: 0; height: 42px; padding: 0 11px; border: 1px solid #c5d1d9; border-radius: 5px; background: #fff; color: #172033; font: inherit; }
.company-registration-grid input:focus { border-color: #0f766e; outline: 3px solid rgba(15,118,110,.13); }
.company-registration-grid .span-two { grid-column: 1 / -1; }
.registration-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.registration-plan-card { position: relative; display: block !important; cursor: pointer; }
.registration-plan-card > input { position: absolute; top: 12px; left: 12px; z-index: 1; width: 18px; height: 18px; margin: 0; }
.registration-plan-card > span { display: grid; align-content: start; gap: 6px; min-height: 132px; padding: 13px 13px 13px 42px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; transition: border-color .16s ease, box-shadow .16s ease; }
.registration-plan-card > input:checked + span { border-color: #0f766e; box-shadow: inset 0 0 0 2px #0f766e; background: #f0fdfa; }
.registration-plan-card strong { color: #172033; font-size: 16px; }
.registration-plan-card small { color: #64748b; font-size: 11px; font-weight: 600; line-height: 1.4; }
.registration-plan-card b { align-self: end; color: #0f766e; font-size: 11px; }
.company-registration-section { grid-column: 1 / -1; margin: 5px 0 -2px; padding-top: 13px; border-top: 1px solid #e2e8f0; color: #0f766e; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.company-registration-terms { display: flex !important; align-items: flex-start; grid-column: 1 / -1; gap: 9px !important; padding: 12px; border: 1px solid #dbe4ea; border-radius: 6px; background: #f8fafc; font-weight: 600 !important; line-height: 1.45; }
.company-registration-terms input { flex: 0 0 auto; width: auto; height: auto; margin-top: 3px; }
.company-registration-challenge { padding: 12px; border: 1px solid #99d8d2; border-radius: 6px; background: #f0fdfa; }
.company-registration-challenge input { max-width: 150px; }
.company-registration-actions { display: flex; align-items: center; justify-content: space-between; grid-column: 1 / -1; gap: 14px; margin-top: 4px; }
.company-registration-actions .button { min-width: 220px; }
.company-registration-note { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }
.company-registration-note span { padding: 10px; border-radius: 5px; background: #ecfdf5; color: #166534; font-size: 11px; font-weight: 800; text-align: center; }
.fiscal-document-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fiscal-document-tabs a { display: grid; gap: 3px; padding: 14px 16px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #334155; text-decoration: none; }
.fiscal-document-tabs a.is-active { border-color: #0f766e; background: #ecfdf5; color: #0f5f59; box-shadow: inset 4px 0 #0f766e; }
.fiscal-document-tabs strong { font-size: 15px; }
.fiscal-document-tabs span { color: #64748b; font-size: 11px; }
.registration-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.portal-onboarding ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: onboarding; }
.portal-onboarding li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 3px 10px; min-width: 0; padding: 13px; border: 1px solid #dbe4ea; border-radius: 6px; background: #f8fafc; counter-increment: onboarding; }
.portal-onboarding li::before { content: counter(onboarding); grid-row: 1 / 3; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #e2e8f0; color: #475569; font-weight: 900; }
.portal-onboarding li.is-done::before { content: "OK"; background: #ccfbf1; color: #0f766e; font-size: 10px; }
.portal-onboarding li strong { color: #172033; font-size: 13px; }
.portal-onboarding li span { color: #64748b; font-size: 11px; line-height: 1.4; }

@media (max-width: 680px) {
    .company-registration-card { border-radius: 0; }
    .client-portal-auth:has(.company-registration-card) { display: block; padding: 0; }
    .company-registration-header { align-items: flex-start; flex-direction: column; padding: 20px; }
    .company-registration-body { padding: 20px; }
    .company-registration-grid { grid-template-columns: 1fr; }
    .company-registration-grid .span-two, .company-registration-section, .company-registration-terms, .company-registration-actions { grid-column: auto; }
    .registration-plan-grid { grid-template-columns: 1fr; }
    .registration-plan-card > span { min-height: 0; }
    .company-registration-actions { align-items: stretch; flex-direction: column-reverse; }
    .company-registration-actions .button { width: 100%; min-width: 0; }
    .company-registration-note { grid-template-columns: 1fr; }
    .portal-onboarding ol { grid-template-columns: 1fr; }
    .fiscal-document-tabs { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .client-stat-grid { grid-template-columns: 1fr; }
    .client-plan-limits { display: grid; grid-template-columns: 1fr 1fr; }
    .install-code-content #install-code-value { width: 100%; font-size: 18px; overflow-wrap: anywhere; }
    .install-code-actions { display: grid; grid-template-columns: 1fr; }
    .install-code-actions .button { width: 100%; }
}

.client-portal-login-card h1 {
    margin: 24px 0 8px;
    font-size: 26px;
    line-height: 1.2;
}

.client-portal-login-card > p,
.client-portal-help {
    color: #667085;
}

.client-portal-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.client-portal-brand div,
.client-portal-company {
    display: grid;
    gap: 2px;
}

.client-portal-brand strong {
    font-size: 20px;
}

.client-portal-brand small,
.client-portal-company small {
    color: #667085;
}

.client-portal-login-form {
    display: grid;
    gap: 14px;
    margin: 22px 0 16px;
}

.client-portal-login-form label {
    display: grid;
    gap: 6px;
    font-weight: 700;
}

.client-portal-login-form input {
    width: 100%;
    min-height: 44px;
}

.client-portal-company {
    margin-left: auto;
    margin-right: 12px;
    color: #fff;
    text-align: right;
}

@media (max-width: 720px) {
    .client-portal-auth {
        padding: 12px;
        place-items: start center;
    }

    .client-portal-login-card {
        margin-top: 7vh;
        padding: 22px;
    }

    .client-portal-company {
        display: none;
    }
}

/* Caixa profissional: catalogo e venda com rolagens independentes. */
.pdv-topbar {
  min-height: 64px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 7px 22px rgba(15,23,42,.16);
}
.operator-context {
  display: grid;
  gap: 1px;
  min-width: 130px;
  margin-left: 18px;
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.16);
}
.operator-context span { color: #94a3b8; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.operator-context strong { max-width: 190px; overflow: hidden; color: #f8fafc; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.pdv-workspace {
  grid-template-columns: minmax(0, 1fr) minmax(430px, 1fr);
  gap: 12px;
  width: min(1780px, calc(100% - 24px));
  margin: 12px auto 24px;
}
.catalog-panel,
.cart-panel {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 100px);
  min-height: 620px;
  overflow: hidden;
  border-color: #cfd9e0;
  box-shadow: 0 5px 18px rgba(15,23,42,.07);
}
.cart-panel { position: static; top: auto; }
.side-panel { height: auto; box-shadow: 0 5px 18px rgba(15,23,42,.06); }
.panel-heading,
.cash-header { flex: 0 0 auto; min-height: 0; height: auto; padding: 11px 15px; background: #fbfcfd; overflow: visible; }
.panel-heading h1,
.cash-header h2 { font-size: 19px; }
.operator-mode .panel-heading,
.operator-mode .cash-header { min-height: 0; }
.cash-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; row-gap: 7px; }
.cash-header > div:first-child { min-width: 0; }
.cash-header p { line-height: 1.3; overflow-wrap: anywhere; }
.cash-header .cash-actions { grid-column: 1 / -1; justify-content: flex-start; }
.cash-state-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.cash-state-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; }
.cash-state-pill.is-open { background: #dcfce7; color: #166534; }
.cash-state-pill.is-open::before { background: #16a34a; box-shadow: 0 0 0 3px rgba(22,163,74,.13); }
.cash-state-pill.is-closed { background: #f1f5f9; color: #64748b; }
.cash-state-pill.is-closed::before { background: #94a3b8; }
.product-search { padding: 12px 15px 8px; }
.product-search input {
  height: 48px;
  padding: 0 92px 0 43px;
  border-color: #aebdc8;
  background: #fff;
  font-size: 15px;
  font-weight: 650;
}
.product-search-icon { position: absolute; top: 26px; left: 29px; z-index: 1; color: #64748b; font-size: 14px; line-height: 1; }
.product-search-shortcut {
  position: absolute;
  top: 22px;
  right: 53px;
  min-width: 31px;
  padding: 3px 5px;
  border: 1px solid #cbd5e1;
  border-bottom-width: 2px;
  border-radius: 4px;
  background: #f8fafc;
  color: #64748b;
  font-size: 9px;
  text-align: center;
}
.search-clear { top: 20px; right: 18px; }
.catalog-filter-bar { border-bottom: 1px solid #edf1f4; }
.product-list {
  flex: 1 1 auto;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-content: start;
  max-height: none;
  min-height: 0;
  padding: 9px 12px 14px;
  scrollbar-gutter: stable;
}
.product-tile {
  border-color: #d5dee4;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
  transition: border-color .12s ease, box-shadow .12s ease, transform .12s ease;
}
.product-tile:hover { box-shadow: 0 7px 16px rgba(15,23,42,.09); transform: translateY(-1px); }
.product-add:focus-visible { outline: 3px solid rgba(15,118,110,.24); outline-offset: -3px; }
.product-visual { background: #eef2f3; }
.product-tile-main strong { color: #17202a; font-size: 12px; font-weight: 800; }
.product-tile footer b { color: #0b635d; font-size: 14px; }
.cart-live-summary {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 5px 13px;
  border-bottom: 1px solid #cfd9e0;
  background: #12202d;
  color: #fff;
}
.cart-live-summary > span:first-child { display: inline-flex; align-items: baseline; gap: 4px; color: #cbd5e1; }
.cart-live-summary > span:first-child strong { color: #fff; font-size: 19px; }
.cart-live-summary > span:first-child small { font-size: 10px; }
.cart-live-summary > span:last-child { display: grid; justify-items: end; gap: 1px; }
.cart-live-summary > span:last-child small { color: #94a3b8; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cart-live-summary > span:last-child strong { color: #6ee7b7; font-size: 21px; line-height: 1; }
.cart-items {
  flex: 1 1 auto;
  min-height: 100px;
  max-height: none;
  overflow-y: auto;
  scrollbar-gutter: stable;
}
.cart-row { grid-template-columns: minmax(0, 1fr) 104px 92px 32px; min-height: 64px; padding: 9px 14px; }
.cart-row:nth-child(even) { background: #fbfcfd; }
.cart-row > b { color: #0f514d; font-size: 14px; }
.cart-empty { display: grid; flex: 1 1 auto; min-height: 130px; place-content: center; gap: 4px; padding: 24px; }
.cart-empty strong { color: #334155; font-size: 16px; }
.cart-empty span { max-width: 320px; color: #64748b; font-size: 12px; }
.checkout-box {
  flex: 0 0 auto;
  max-height: 52%;
  overflow-y: auto;
  padding: 11px 14px 13px;
  border-top: 1px solid #cfd9e0;
  background: #fbfcfd;
  scrollbar-gutter: stable;
}
.sale-details { margin-bottom: 10px; border: 1px solid #d4dee5; border-radius: 6px; background: #fff; }
.nota-parana-box { display: grid; gap: 8px; margin-bottom: 10px; padding: 9px 11px; border: 1px solid #b9ddcf; border-left: 4px solid #087f73; border-radius: 6px; background: #effaf6; }
.nota-parana-toggle { display: flex; align-items: center; gap: 9px; cursor: pointer; }
.nota-parana-toggle input { flex: 0 0 auto; width: 18px; height: 18px; accent-color: #087f73; }
.nota-parana-toggle span { display: grid; gap: 1px; }
.nota-parana-toggle strong { color: #075f54; font-size: 13px; }
.nota-parana-toggle small { color: #527066; font-size: 10px; }
.nota-parana-cpf { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); align-items: end; gap: 9px; padding-top: 8px; border-top: 1px solid #c9e6db; }
.nota-parana-cpf label { display: grid; gap: 4px; color: #35584e; font-size: 10px; font-weight: 850; }
.nota-parana-cpf input { width: 100%; height: 36px; padding: 0 9px; border: 1px solid #9fc9ba; border-radius: 5px; background: #fff; font-size: 14px; font-weight: 750; }
.nota-parana-cpf input:focus { outline: 2px solid rgba(8,127,115,.2); border-color: #087f73; }
.nota-parana-cpf input.is-invalid { border-color: #c2413b; background: #fff7f7; }
.nota-parana-cpf > small { align-self: center; color: #64748b; font-size: 10px; line-height: 1.3; }
.nota-parana-cpf > small.is-valid { color: #08735f; font-weight: 800; }
.nota-parana-cpf > small.is-invalid { color: #b42318; font-weight: 800; }
.sale-details summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; padding: 0 11px; cursor: pointer; list-style: none; }
.sale-details summary::-webkit-details-marker { display: none; }
.sale-details summary::before { content: "+"; display: grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; border-radius: 4px; background: #e8eef2; color: #334155; font-weight: 900; }
.sale-details[open] summary::before { content: "-"; }
.sale-details summary span { margin-right: auto; color: #334155; font-size: 12px; font-weight: 850; }
.sale-details summary small { max-width: 46%; overflow: hidden; color: #64748b; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.sale-details-content { padding: 10px; border-top: 1px solid #e2e8f0; }
.checkout-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 4px 0 7px; }
.checkout-section-heading > div { display: grid; gap: 1px; }
.checkout-section-heading span { color: #17202a; font-size: 13px; font-weight: 900; }
.checkout-section-heading small { color: #64748b; font-size: 10px; }
.checkout-section-heading kbd,
.finish-sale kbd { padding: 3px 6px; border: 1px solid currentColor; border-radius: 4px; font-size: 9px; opacity: .72; }
.quick-payment-methods { margin-top: 0; }
.quick-payment-methods button { min-height: 40px; background: #fff; font-size: 12px; }
.payment-rows { margin-top: 8px; }
.sale-totals { gap: 4px; padding: 9px 0; }
.sale-totals > span { color: #64748b; font-size: 12px; }
.sale-totals > b { align-items: baseline; padding-top: 7px; font-size: 15px; }
.sale-totals > b strong { color: #0b635d; font-size: 25px; }
.finish-sale { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 0 15px; box-shadow: 0 5px 12px rgba(15,118,110,.18); }
.finish-sale span { margin: 0 auto; }
.finish-sale kbd { margin-left: -30px; }
.finish-sale:disabled { box-shadow: none; }
.sale-message:empty { display: none; }
.side-panel { display: grid; grid-template-columns: 230px 170px minmax(0, 1fr); }
.day-summary { border-right: 1px solid var(--pdv-line); border-bottom: 0; }
.side-panel .section-heading { grid-column: 2; border-right: 1px solid var(--pdv-line); border-bottom: 0; }
.side-panel .recent-sales { grid-column: 3; grid-row: 1; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); overflow-x: auto; }
.side-panel .sale-row { min-width: 250px; border-right: 1px solid var(--pdv-line); border-bottom: 0; }

@media (max-width: 1240px) and (min-width: 761px) {
  .operator-context { display: none; }
  .pdv-workspace { grid-template-columns: minmax(0, 1.1fr) minmax(410px, .9fr); }
  .product-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 900px) and (min-width: 761px) {
  .pdv-workspace { grid-template-columns: minmax(0, 1fr) minmax(390px, 1fr); }
  .product-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cart-row { grid-template-columns: minmax(0, 1fr) 96px 32px; }
  .cart-row > b { grid-column: 1; text-align: left; }
}

@media (max-width: 760px) {
  .operator-context { display: none; }
  .pdv-workspace { width: min(100% - 12px, 620px); margin-top: 6px; }
  .catalog-panel,
  .cart-panel { height: auto; min-height: 0; overflow: hidden; }
  .panel-heading { min-height: 66px; padding: 11px; }
  .cash-header { min-height: 0; padding: 10px 11px; }
  .panel-heading h1,
  .cash-header h2 { font-size: 17px; }
  .product-search { padding: 9px 9px 6px; }
  .product-search input { height: 46px; padding-left: 40px; padding-right: 78px; font-size: 14px; }
  .product-search-icon { top: 22px; left: 22px; }
  .product-search-shortcut { top: 18px; right: 45px; }
  .search-clear { top: 16px; right: 12px; }
  .product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 48vh; padding: 7px; }
  .cart-panel { order: 2; }
  .cart-live-summary { position: relative; top: auto; z-index: 1; min-height: 44px; padding: 5px 11px; }
  .cart-live-summary > span:last-child strong { font-size: 20px; }
  .cart-items { max-height: 42vh; }
  .checkout-box { max-height: none; overflow: visible; padding: 10px; }
  .nota-parana-cpf { grid-template-columns: 1fr; }
  .side-panel { display: block; }
  .side-panel .section-heading { border-right: 0; border-bottom: 1px solid var(--pdv-line); }
  .side-panel .recent-sales { display: grid; grid-auto-flow: row; overflow-x: hidden; }
  .side-panel .sale-row { min-width: 0; border-right: 0; border-bottom: 1px solid var(--pdv-line); }
  .finish-sale { position: sticky; bottom: 6px; z-index: 4; }
}

/* Tema operacional colorido: cores identificam funcoes sem reduzir a legibilidade. */
:root {
  --pdv-ink: #182230;
  --pdv-muted: #607083;
  --pdv-line: #d1dce5;
  --pdv-bg: #eaf1f5;
  --pdv-primary: #087f73;
  --pdv-primary-dark: #08645d;
  --pdv-blue: #1769aa;
  --pdv-blue-soft: #eaf4fc;
  --pdv-green-soft: #eaf8f2;
  --pdv-amber: #b66700;
  --pdv-purple: #6d4bb5;
  --pdv-shadow: 0 10px 28px rgba(27, 47, 66, .09);
}

body { background: var(--pdv-bg); }
.pdv-topbar {
  border-top: 4px solid #24b7a5;
  background: #122033;
  box-shadow: 0 7px 22px rgba(15, 31, 48, .2);
}
.pdv-brand-mark { background: #07877a; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.pdv-brand strong { color: #6ee7d2; }
.connection-status,
.device-presence-button { background: rgba(13, 148, 136, .17); }

.catalog-panel,
.cart-panel,
.side-panel { border-color: #c9d7e1; box-shadow: var(--pdv-shadow); }
.catalog-panel { border-top: 4px solid var(--pdv-blue); }
.cart-panel { border-top: 4px solid #08916f; }
.panel-heading { background: var(--pdv-blue-soft); }
.cash-header { background: var(--pdv-green-soft); }
.catalog-panel .eyebrow { color: var(--pdv-blue); }
.cart-panel .eyebrow { color: #08785e; }
.catalog-actions .button.secondary { border-color: #a8cbe5; background: #f8fcff; color: #185b8d; }
.catalog-actions .button.secondary:hover { border-color: var(--pdv-blue); background: #dceefa; color: #124f7b; }

.product-search { background: #f6fbff; }
.product-search input { border-color: #9fbcd2; box-shadow: inset 0 1px 2px rgba(23,105,170,.05); }
.product-search input:focus { border-color: var(--pdv-blue); box-shadow: 0 0 0 3px rgba(23,105,170,.15); }
.product-search-icon { color: var(--pdv-blue); }
.catalog-filter-bar { background: #f6fbff; }

/* Catalogo adaptavel e troca segura de operador */
.catalog-view-tools { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-left: auto; }
.catalog-view-switch { display: inline-flex; padding: 3px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; }
.catalog-view-switch button { min-height: 30px; padding: 0 9px; border: 0; border-radius: 4px; background: transparent; color: #526171; font-size: 10px; font-weight: 850; cursor: pointer; }
.catalog-view-switch button.is-active { background: #0f766e; color: #fff; }
.product-list[data-view="compact"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.product-list[data-view="compact"] .product-visual { display: none; }
.product-list[data-view="compact"] .product-add { min-height: 112px; grid-template-rows: minmax(42px, auto) auto; }
.product-list[data-view="compact"] .product-tile-main { padding: 12px 10px 6px; }
.product-list[data-view="compact"] .product-tile footer { padding: 7px 10px 10px; }
.product-list[data-view="list"] { grid-template-columns: 1fr; gap: 5px; }
.product-list[data-view="list"] .product-tile { min-height: 66px; }
.product-list[data-view="list"] .product-add { min-height: 64px; grid-template-columns: 72px minmax(0, 1fr) minmax(170px, auto); grid-template-rows: 1fr; align-items: center; }
.product-list[data-view="list"] .product-visual { width: 72px; height: 64px; aspect-ratio: auto; }
.product-list[data-view="list"] .product-badges { display: none; }
.product-list[data-view="list"] .product-tile-main { padding: 8px 12px; }
.product-list[data-view="list"] .product-tile footer { min-width: 170px; padding: 8px 42px 8px 10px; border-top: 0; }
.operator-switch-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 6px 0 18px; }
.operator-switch-option { display: grid; gap: 5px; min-height: 104px; padding: 16px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #243244; text-align: left; cursor: pointer; }
.operator-switch-option:hover { border-color: #0f766e; background: #f0fdfa; }
.operator-switch-option.is-emphasis { border-color: #93c5bd; background: #effaf7; }
.operator-switch-option strong { font-size: 14px; }
.operator-switch-option span { color: #64748b; font-size: 11px; line-height: 1.45; }

/* Cadastro CPF/CNPJ e protecao da configuracao fiscal */
.fiscal-config-fieldset { display: contents; min-width: 0; margin: 0; padding: 0; border: 0; }
.fiscal-config-fieldset.is-locked > .panel { opacity: .48; filter: grayscale(.7); }
.fiscal-company-lock { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr); align-items: end; gap: 22px; border-left: 5px solid #c47a10; background: #fffbeb; }
.fiscal-company-lock h2 { margin: 3px 0 7px; }
.fiscal-company-lock p { margin: 0; color: #6b5a35; }
.fiscal-company-cnpj-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; }
.fiscal-company-cnpj-form label { display: grid; gap: 5px; font-weight: 800; }
.company-document-panel { border-left: 5px solid #c47a10; }
.company-document-panel.is-fiscal { border-left-color: #0f766e; }
.company-cnpj-upgrade-form { max-width: 680px; margin-top: 14px; }

@media (max-width: 760px) {
  .catalog-filter-bar { gap: 7px; }
  .catalog-view-tools { width: 100%; justify-content: space-between; }
  .catalog-view-switch { margin-left: auto; }
  .catalog-view-switch button { padding: 0 7px; font-size: 9px; }
  .product-list[data-view="compact"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-list[data-view="list"] .product-add { grid-template-columns: 54px minmax(0, 1fr); }
  .product-list[data-view="list"] .product-visual { width: 54px; height: 64px; }
  .product-list[data-view="list"] .product-tile footer { grid-column: 2; min-width: 0; padding: 0 42px 9px 12px; }
  .operator-switch-options { grid-template-columns: 1fr; }
  .fiscal-company-lock { grid-template-columns: 1fr; }
  .fiscal-company-cnpj-form { grid-template-columns: 1fr; }
}
.category-filters button { border-color: #bfd0dd; background: #fff; }
.category-filters button:hover,
.category-filters button.is-active { border-color: var(--pdv-blue); background: #dceefa; color: #124f7b; }
.product-result-count { padding: 4px 8px; border-radius: 4px; background: #e7eef3; color: #3d5265; }

.product-tile { border-top: 4px solid #1686b9; background: #fff; }
.product-tile[data-category-tone="0"] { border-top-color: #1686b9; }
.product-tile[data-category-tone="1"] { border-top-color: #0b9a78; }
.product-tile[data-category-tone="2"] { border-top-color: #d08315; }
.product-tile[data-category-tone="3"] { border-top-color: #7960bd; }
.product-tile[data-category-tone="4"] { border-top-color: #cf4f65; }
.product-tile[data-category-tone="5"] { border-top-color: #438b45; }
.product-tile[data-category-tone="0"] .product-visual { background: #e8f4fb; color: #1769aa; }
.product-tile[data-category-tone="1"] .product-visual { background: #e7f7f2; color: #08785e; }
.product-tile[data-category-tone="2"] .product-visual { background: #fff4df; color: #a45a00; }
.product-tile[data-category-tone="3"] .product-visual { background: #f1edfb; color: #6346a3; }
.product-tile[data-category-tone="4"] .product-visual { background: #fcecef; color: #ad3850; }
.product-tile[data-category-tone="5"] .product-visual { background: #eaf6e9; color: #34783a; }
.product-tile:hover { border-color: #8aa8ba; box-shadow: 0 8px 20px rgba(34, 69, 92, .14); }
.product-tile.low-stock { border-top-color: #e08a00; border-left: 3px solid #e08a00; }
.product-tile.disabled { border-top-color: #8d9aa5; filter: grayscale(.35); }
.product-badges em { border-color: rgba(255,255,255,.85); box-shadow: 0 1px 4px rgba(15,23,42,.1); }
.product-badges em + em { background: #d16b08; }
.product-tile footer b { color: #08735f; font-size: 15px; }
.product-edit { border-color: #c1d0db; background: #f8fbfd; }
.product-edit:hover { border-color: var(--pdv-blue); background: #eaf4fc; color: #185b8d; }

.cash-state-pill.is-open { background: #c9f2df; color: #086447; }
.cart-live-summary { border-bottom-color: #204c5e; background: #15364a; }
.cart-live-summary > span:last-child strong { color: #71efbd; }
.cart-row { border-left: 3px solid transparent; }
.cart-row:hover { border-left-color: #19a77f; background: #f0faf6; }
.cart-row:nth-child(even) { background: #f6f9fb; }
.cart-row:nth-child(even):hover { background: #f0faf6; }
.cart-quantity { border-color: #abc8bc; }
.cart-quantity button { background: #eaf8f2; color: #08735f; }
.cart-quantity button:hover { background: #cfeee0; }
.checkout-box { background: #f8fbfa; }
.sale-details { border-color: #c6ddd5; }
.sale-details summary::before { background: #dff3eb; color: #08735f; }
.checkout-section-heading { padding-left: 9px; border-left: 4px solid #19a77f; }

.quick-payment-methods button { border-width: 2px; background: #fff; }
.quick-payment-methods button[data-quick-payment="dinheiro"] { border-color: #dfb054; color: #875000; }
.quick-payment-methods button[data-quick-payment="pix"] { border-color: #4eb8a9; color: #087166; }
.quick-payment-methods button[data-quick-payment="debito"] { border-color: #62a5d6; color: #155f94; }
.quick-payment-methods button[data-quick-payment="credito"] { border-color: #9b86cf; color: #5d439b; }
.quick-payment-methods button[data-quick-payment="dinheiro"]:hover,
.quick-payment-methods button[data-quick-payment="dinheiro"].is-active { background: #c57908; border-color: #c57908; color: #fff; }
.quick-payment-methods button[data-quick-payment="pix"]:hover,
.quick-payment-methods button[data-quick-payment="pix"].is-active { background: #07877a; border-color: #07877a; color: #fff; }
.quick-payment-methods button[data-quick-payment="debito"]:hover,
.quick-payment-methods button[data-quick-payment="debito"].is-active { background: #1769aa; border-color: #1769aa; color: #fff; }
.quick-payment-methods button[data-quick-payment="credito"]:hover,
.quick-payment-methods button[data-quick-payment="credito"].is-active { background: #6d4bb5; border-color: #6d4bb5; color: #fff; }
.payment-row { padding: 7px; border: 1px solid #d5e1e7; border-radius: 6px; background: #fff; }
.payment-difference.ok { color: #08735f; }
.sale-totals { margin-top: 8px; padding: 10px; border: 1px solid #c6e1d6; border-radius: 6px; background: #edf9f4; }
.sale-totals > b { border-top-color: #b4d8ca; }
.sale-totals > b strong { color: #05705b; }
.finish-sale { border-color: #078367; background: #078367; box-shadow: 0 6px 16px rgba(7,131,103,.25); }
.finish-sale:not(:disabled):hover { border-color: #056a55; background: #056a55; }

.side-panel { border-top: 4px solid #d17b0c; }
.day-summary { background: #fff5e4; }
.day-summary span { color: #8c5408; }
.day-summary strong { color: #9b5800; }
.side-panel .section-heading { background: #fffaf2; }
.sale-row > b { color: #08735f; }

@media (max-width: 760px) {
  .pdv-topbar { border-top-width: 3px; }
  .catalog-panel,
  .cart-panel,
  .side-panel { border-top-width: 3px; }
  .quick-payment-methods button { min-height: 42px; }
  .sale-totals { padding: 9px; }
}

/* Estoque e categorias. */
.standalone-admin .dashboard-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.standalone-admin .stat-card { min-width: 0; padding: 15px; border: 1px solid #d2dfe7; border-left: 4px solid #1686b9; border-radius: 7px; background: #fff; box-shadow: 0 7px 18px rgba(27,47,66,.06); }
.standalone-admin .stat-card span, .standalone-admin .stat-card strong, .standalone-admin .stat-card small { display: block; }
.standalone-admin .stat-card span { color: var(--pdv-muted); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.standalone-admin .stat-card strong { margin-top: 5px; color: var(--pdv-ink); font-size: 24px; line-height: 1.1; }
.standalone-admin .stat-card small { margin-top: 5px; color: var(--pdv-muted); font-size: 11px; }
.standalone-admin .stat-card.warning { border-left-color: #d08315; background: #fffaf0; }
.inventory-heading { align-items: center; }
.inventory-heading > strong { color: var(--pdv-muted); font-size: 13px; white-space: nowrap; }
.inventory-filters { display: grid; grid-template-columns: minmax(260px, 2fr) minmax(140px, .65fr) minmax(180px, .9fr) auto; gap: 10px; margin: 14px 0; padding: 12px; border: 1px solid #cddbe4; border-radius: 6px; background: #f5fafc; }
.inventory-filters label, .category-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 800; }
.inventory-filters input, .inventory-filters select, .category-form input { width: 100%; min-height: 40px; padding: 0 10px; border: 1px solid #bfcdd7; border-radius: 5px; background: #fff; color: var(--pdv-ink); }
.inventory-filter-actions { display: flex; align-items: end; gap: 7px; }
.inventory-filter-actions .button { min-height: 40px; }
.inventory-table { min-width: 1060px; }
.inventory-table th { white-space: nowrap; }
.inventory-table td { vertical-align: middle; }
.inventory-table td > small { display: block; margin-top: 4px; color: var(--pdv-muted); line-height: 1.35; }
.inventory-table .row-inactive { background: #f1f5f9; color: #64748b; }
.category-chip, .inventory-status { display: inline-flex; align-items: center; min-height: 25px; padding: 0 8px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.category-chip { background: #eaf4fc; color: #185b8d; }
.inventory-status.is-active { background: #dcfce7; color: #166534; }
.inventory-status.is-inactive { background: #e2e8f0; color: #475569; }
.inventory-row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.inventory-row-actions .small { display: inline-flex; align-items: center; justify-content: center; min-height: 31px; padding: 0 9px; border: 1px solid #bdcbd5; border-radius: 5px; background: #fff; color: #334155; font-size: 11px; font-weight: 800; text-decoration: none; cursor: pointer; }
.inventory-row-actions .small:hover { border-color: var(--pdv-blue); color: var(--pdv-blue); }
.inventory-row-actions .danger-outline { border-color: #fecaca; color: #b42318; }
.inventory-row-actions .success-outline { border-color: #a7f3d0; color: #08735f; }
.category-management { scroll-margin-top: 82px; }
.category-management-grid { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 16px; }
.category-form { display: grid; align-content: start; gap: 11px; padding: 14px; border: 1px solid #cddbe4; border-radius: 6px; background: #f8fbfd; }
.category-form h3 { margin: 0 0 2px; }
.category-form .checkline { display: flex; align-items: center; }
.category-form .checkline input { width: auto; min-height: 0; }
.category-list { display: grid; align-content: start; gap: 7px; }
.category-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; min-height: 58px; padding: 9px 11px; border: 1px solid #d7e1e8; border-left: 4px solid #15967d; border-radius: 6px; background: #fff; }
.category-row.is-inactive { border-left-color: #94a3b8; background: #f8fafc; }
.category-row strong, .category-row small { display: block; }
.category-row small { margin-top: 3px; color: var(--pdv-muted); }
.category-row .inline-form { margin: 0; }

@media (max-width: 900px) {
  .standalone-admin .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-filters { grid-template-columns: 1fr 1fr; }
  .inventory-search { grid-column: 1 / -1; }
  .category-management-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .standalone-admin .dashboard-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .standalone-admin .stat-card { padding: 11px; }
  .standalone-admin .stat-card strong { font-size: 20px; }
  .inventory-filters { grid-template-columns: 1fr; }
  .inventory-search { grid-column: auto; }
  .inventory-filter-actions { align-items: stretch; }
  .inventory-filter-actions .button { flex: 1; }
  .inventory-table { min-width: 0; }
  .inventory-table thead { display: none; }
  .inventory-table, .inventory-table tbody, .inventory-table tr, .inventory-table td { display: block; width: 100%; }
  .inventory-table tr { margin-bottom: 9px; padding: 9px 10px; border: 1px solid #d7e1e8; border-left: 4px solid #1686b9; border-radius: 6px; background: #fff; }
  .inventory-table tr.row-warning { border-left-color: #d08315; }
  .inventory-table tr.row-inactive { border-left-color: #94a3b8; background: #f8fafc; }
  .inventory-table td { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 8px; padding: 5px 0; border: 0; }
  .inventory-table td::before { content: attr(data-label); color: #64748b; font-size: 10px; font-weight: 900; text-transform: uppercase; }
  .inventory-table td:first-child { display: none; }
  .inventory-row-actions { align-items: stretch; }
  .inventory-row-actions .small { flex: 1; }
  .category-row { grid-template-columns: minmax(0, 1fr) auto; }
  .category-row .inventory-row-actions { grid-column: 1 / -1; }
}

/* Checkout Transparente das mensalidades. */
.transparent-payment-body { min-height: 100vh; background: #edf3f6; }
.transparent-payment-page { display: grid; grid-template-columns: minmax(260px, 360px) minmax(0, 680px); justify-content: center; align-items: start; gap: 20px; width: min(1100px, calc(100% - 32px)); margin: 28px auto 48px; }
.transparent-payment-summary,
.transparent-payment-checkout { min-width: 0; border: 1px solid #cfdce4; border-radius: 7px; background: #fff; box-shadow: 0 12px 30px rgba(27, 47, 66, .09); }
.transparent-payment-summary { position: sticky; top: 92px; padding: 24px; border-top: 5px solid #0f8f80; }
.transparent-payment-summary h1 { margin: 7px 0 4px; color: #162638; font-size: 26px; letter-spacing: 0; }
.transparent-payment-summary > p { margin: 0; color: #607184; line-height: 1.5; }
.transparent-payment-amount { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 22px 0; padding: 17px 0; border-top: 1px solid #dbe5ea; border-bottom: 1px solid #dbe5ea; }
.transparent-payment-amount span { color: #607184; font-size: 13px; font-weight: 800; text-transform: uppercase; }
.transparent-payment-amount strong { color: #08735f; font-size: 30px; line-height: 1; }
.transparent-payment-summary dl { display: grid; gap: 12px; margin: 0; }
.transparent-payment-summary dl div { display: grid; gap: 3px; }
.transparent-payment-summary dt { color: #708092; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.transparent-payment-summary dd { margin: 0; color: #203246; font-weight: 750; }
.transparent-payment-security { margin-top: 22px !important; padding: 12px; border-left: 4px solid #1686b9; background: #eff8fd; color: #365468 !important; font-size: 12px; }
.transparent-payment-checkout { padding: 22px; }
.transparent-payment-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid #dbe5ea; }
.transparent-payment-heading h2 { margin: 4px 0 0; color: #162638; font-size: 21px; }
.payment-inline-message { min-height: 22px; margin-bottom: 6px; color: #08735f; font-size: 13px; font-weight: 800; }
.payment-inline-message.is-error { padding: 10px; border-left: 4px solid #c73c3c; background: #fff1f1; color: #a21e1e; }
.payment-result { display: grid; justify-items: start; gap: 12px; padding: 20px; border: 1px solid #cddbe4; border-left: 5px solid #d08a12; border-radius: 6px; background: #fffaf0; }
.payment-result.is-approved { border-left-color: #15967d; background: #eefaf5; }
.payment-result.is-error { border-left-color: #c73c3c; background: #fff2f2; }
.payment-result strong { color: #1b2d3f; font-size: 20px; }
.payment-result p { margin: 0; color: #536679; line-height: 1.5; }
.payment-pix-qr { display: block; width: min(260px, 100%); height: auto; padding: 8px; border: 1px solid #cad8e0; background: #fff; }
.payment-pix-copy { display: grid; gap: 6px; width: 100%; color: #435568; font-size: 12px; font-weight: 850; }
.payment-pix-copy textarea { width: 100%; padding: 10px; border: 1px solid #bdccd6; border-radius: 5px; background: #fff; color: #25394b; font: 12px/1.45 Consolas, monospace; resize: vertical; }
#paymentBrick_container { min-height: 260px; }

@media (max-width: 820px) {
  .transparent-payment-page { grid-template-columns: 1fr; width: min(680px, calc(100% - 20px)); margin-top: 16px; }
  .transparent-payment-summary { position: static; padding: 18px; }
  .transparent-payment-summary h1 { font-size: 23px; }
  .transparent-payment-amount { margin: 16px 0; }
  .transparent-payment-amount strong { font-size: 27px; }
  .transparent-payment-checkout { padding: 14px; }
}
/* Receitas e producao da cozinha */
.recipe-heading,
.recipe-shortcut,
.recipe-editor > header,
.recipe-catalog-heading,
.recipe-form-footer,
.recipe-ingredients-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.page-heading-actions,
.recipe-card footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.recipe-shortcut {
    margin-bottom: 18px;
}
.recipe-shortcut h2,
.recipe-shortcut p,
.recipe-editor h2,
.recipe-editor p,
.recipe-catalog h2 {
    margin: 4px 0;
}
.recipe-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 18px;
    align-items: start;
}
.recipe-editor,
.recipe-catalog {
    min-width: 0;
}
.recipe-form,
.recipe-form label,
.recipe-main-fields,
.recipe-ingredients,
.recipe-list {
    display: grid;
    gap: 12px;
}
.recipe-main-fields {
    grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(130px, .5fr));
}
.recipe-form label {
    gap: 6px;
    font-weight: 700;
}
.recipe-form textarea {
    resize: vertical;
}
.recipe-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 140px 110px auto;
    gap: 10px;
    align-items: end;
    padding: 12px;
    border: 1px solid #dbe4ea;
    border-radius: 7px;
    background: #f8fafc;
}
.recipe-form-footer {
    padding-top: 14px;
    border-top: 1px solid #dbe4ea;
}
.recipe-form-footer div,
.recipe-cost-grid span {
    display: grid;
    gap: 3px;
}
.recipe-form-footer span,
.recipe-cost-grid span,
.recipe-card p {
    color: #64748b;
}
.recipe-form-footer strong {
    color: #0f766e;
    font-size: 1.35rem;
}
.recipe-catalog-heading {
    margin-bottom: 12px;
}
.recipe-catalog-heading input {
    width: min(190px, 45%);
}
.recipe-list {
    max-height: 760px;
    overflow: auto;
    padding-right: 4px;
}
.recipe-card {
    padding: 14px;
    border: 1px solid #dbe4ea;
    border-left: 4px solid #0f766e;
    border-radius: 7px;
    background: #fff;
}
.recipe-card header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
.recipe-card header div {
    display: grid;
    gap: 3px;
}
.recipe-card header span,
.recipe-card p {
    font-size: .86rem;
}
.recipe-cost-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 12px 0;
}
.recipe-cost-grid span {
    padding: 8px;
    border-radius: 6px;
    background: #f1f5f9;
    font-size: .75rem;
}
.recipe-cost-grid b {
    color: #172033;
    font-size: .9rem;
}
@media (max-width: 980px) {
    .recipe-workspace { grid-template-columns: 1fr; }
    .recipe-list { max-height: none; }
}
@media (max-width: 680px) {
    .recipe-heading,
    .recipe-shortcut,
    .recipe-editor > header,
    .recipe-catalog-heading,
    .recipe-form-footer,
    .recipe-ingredients-heading { align-items: stretch; flex-direction: column; }
    .recipe-main-fields,
    .recipe-row { grid-template-columns: 1fr; }
    .recipe-catalog-heading input { width: 100%; }
    .recipe-cost-grid { grid-template-columns: 1fr; }
    .recipe-row .button { width: 100%; }
}
.commercial-heading{align-items:flex-end}.commercial-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.commercial-kpis article{background:#fff;border:1px solid #d8e2e7;border-left:4px solid #0f8b83;border-radius:7px;padding:16px;display:grid;gap:5px;min-width:0}.commercial-kpis span,.commercial-kpis small{color:#64748b}.commercial-kpis strong{font-size:1.55rem;color:#122033}.commercial-shortcuts{display:flex;gap:8px;overflow:auto;padding:2px 0 14px;position:sticky;top:70px;z-index:5;background:#eef4f6}.commercial-shortcuts a{white-space:nowrap;background:#17324a;color:#fff;text-decoration:none;padding:9px 14px;border-radius:6px;font-weight:700}.commercial-section{scroll-margin-top:125px;margin-bottom:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dce5e9;padding-bottom:12px;margin-bottom:16px}.section-title h2,.commercial-form h3{margin:0}.section-title p{margin:3px 0 0;color:#64748b}.commercial-grid{display:grid;gap:14px}.commercial-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.commercial-form{border:1px solid #d8e2e7;border-radius:7px;padding:14px;background:#f9fbfc;display:grid;gap:11px;align-content:start}.commercial-form.compact{margin-bottom:12px}.commercial-form label{display:grid;gap:5px;font-weight:650;color:#334155}.commercial-form input,.commercial-form select{width:100%;min-height:40px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:9px}.weekday-row{display:flex;flex-wrap:wrap;gap:8px;border:1px solid #d8e2e7;border-radius:6px;padding:9px}.weekday-row label,.check-line{display:flex!important;align-items:center;gap:6px}.weekday-row input,.check-line input{width:auto;min-height:auto}.compact-list{display:grid;gap:7px;max-height:290px;overflow:auto}.compact-list>span,.compact-list>form{border-bottom:1px solid #e2e8f0;padding:7px 2px;display:flex;align-items:center;justify-content:space-between;gap:8px}.compact-list span span,.compact-list>span>b,.compact-list>span>small{display:block}.compact-list small{color:#64748b}.compact-list em{font-style:normal;color:#168064;font-weight:700}.promotions-list form span{display:grid}.status-pill{border:0;border-radius:999px;padding:6px 9px;font-weight:700}.status-pill.ok{background:#dcfce7;color:#166534}.status-pill.muted{background:#e2e8f0;color:#475569}.ledger-list span{flex-wrap:wrap}.ledger-list form{margin-left:auto}.commercial-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.commercial-action-grid a{display:grid;gap:4px;padding:14px;border:1px solid #d8e2e7;border-radius:7px;text-decoration:none;color:#122033;background:#fff}.commercial-action-grid a:hover{border-color:#0f8b83;background:#f0fdfa}.commercial-action-grid span{color:#64748b}.commercial-export{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #dce5e9}.commercial-export label{display:grid;gap:5px}.pin-form{border-top:1px solid #dce5e9;margin-top:10px;padding-top:12px;display:grid;gap:9px}
@media(max-width:900px){.commercial-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-grid.two,.commercial-grid.three,.commercial-action-grid{grid-template-columns:1fr}.commercial-shortcuts{top:58px}.section-title{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.commercial-kpis{grid-template-columns:1fr 1fr}.commercial-kpis article{padding:12px}.commercial-kpis strong{font-size:1.15rem}.commercial-form{padding:11px}.commercial-export>*{width:100%}}

/* Area de venda ajustavel e modos de tela cheia. */
.pdv-workspace {
  --pdv-catalog-track: 1fr;
  --pdv-cart-track: 1fr;
  grid-template-columns: minmax(0, var(--pdv-catalog-track)) 10px minmax(430px, var(--pdv-cart-track));
  column-gap: 7px;
}
.workspace-resize-handle {
  position: relative;
  align-self: stretch;
  min-height: 620px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  cursor: col-resize;
  touch-action: none;
}
.workspace-resize-handle::before {
  content: "";
  position: absolute;
  inset: 8px 3px;
  border-radius: 4px;
  background: #c5d4dc;
  transition: background .16s ease, box-shadow .16s ease;
}
.workspace-resize-handle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 38px;
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: translate(-50%, -50%);
  opacity: .9;
}
.workspace-resize-handle:hover::before,
.workspace-resize-handle:focus-visible::before,
.workspace-resize-handle.is-dragging::before {
  background: var(--pdv-primary);
  box-shadow: 0 0 0 3px rgba(8,127,115,.15);
}
.workspace-resize-handle:focus-visible { outline: 0; }
.pdv-workspace.is-resizing { cursor: col-resize; user-select: none; }
.pdv-workspace.is-resizing iframe { pointer-events: none; }
.side-panel { grid-column: 1 / -1; }

.workspace-size-control { position: relative; }
.workspace-size-popover {
  position: absolute;
  z-index: 80;
  top: calc(100% + 10px);
  right: 0;
  display: grid;
  width: 290px;
  gap: 11px;
  padding: 14px;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  background: #fff;
  color: #172033;
  box-shadow: 0 18px 42px rgba(15,23,42,.22);
}
.workspace-size-popover > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.workspace-size-popover strong { font-size: 13px; }
.workspace-size-popover small { color: #64748b; font-size: 10px; }
.workspace-size-popover label { display: grid; grid-template-columns: 1fr auto; gap: 6px; color: #475569; font-size: 11px; font-weight: 850; }
.workspace-size-popover input { grid-column: 1 / -1; width: 100%; accent-color: var(--pdv-primary); }
.workspace-size-popover output { color: var(--pdv-primary-dark); }
.workspace-size-presets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.workspace-size-presets button {
  min-height: 34px;
  border: 1px solid #c7d4dc;
  border-radius: 5px;
  background: #f8fafc;
  color: #334155;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.workspace-size-presets button:hover,
.workspace-size-presets button.is-active { border-color: var(--pdv-primary); background: #e8f7f3; color: var(--pdv-primary-dark); }

.cash-header {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: thin;
}
.cash-heading-main {
  display: flex;
  flex: 1 1 300px;
  min-width: 220px;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.cash-heading-main .eyebrow { flex: 0 0 auto; margin: 0; }
.cash-heading-main h2 { flex: 0 0 auto; margin: 0; }
.cash-heading-main p {
  min-width: 90px;
  max-width: 270px;
  margin: 0;
  overflow: hidden;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cash-heading-main .command-checkout-notice:empty { display: none; }
.cash-state-pill { flex: 0 0 auto; }
.cash-header .cash-actions {
  display: flex;
  flex: 0 0 auto;
  grid-column: auto;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: nowrap;
}
.cash-header .cash-actions .button { min-height: 34px; padding: 7px 10px; white-space: nowrap; }
.cash-fullscreen-button { gap: 6px; }
.cash-fullscreen-button > span:first-child { font-size: 16px; line-height: 1; }

.cart-panel:fullscreen {
  width: 100vw;
  height: 100dvh;
  min-height: 0;
  max-height: none;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #fff;
}
.cart-panel:fullscreen .cart-items { min-height: 140px; }
.cart-panel:fullscreen .checkout-box { max-height: 58%; }
.cart-panel:fullscreen .cash-fullscreen-button { border-color: #9fc9ba; background: #e2f5ee; color: #075f54; }
html:fullscreen .pdv-topbar { top: 0; }

@media (max-width: 1100px) and (min-width: 761px) {
  .cash-heading-main .eyebrow { display: none; }
  .cash-heading-main p { max-width: 150px; }
  .cash-header .cash-actions .button { padding-inline: 8px; font-size: 11px; }
  .cash-fullscreen-button > span:last-child { display: none; }
}

@media (max-width: 760px) {
  .pdv-workspace { grid-template-columns: 1fr; column-gap: 0; }
  .workspace-resize-handle,
  .workspace-size-control { display: none; }
  .cash-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; overflow: visible; }
  .cash-heading-main { grid-column: 1; min-width: 0; overflow: hidden; }
  .cash-heading-main .eyebrow { display: none; }
  .cash-heading-main p { max-width: none; }
  .cash-state-pill { grid-column: 2; }
  .cash-header .cash-actions { grid-column: 1 / -1; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
  .cash-header .cash-actions .button { flex: 0 0 auto; }
  .cash-fullscreen-button > span:last-child { display: none; }
  .cart-panel:fullscreen .cash-header { position: sticky; top: 0; z-index: 5; }
  .cart-panel:fullscreen .cart-items { max-height: none; }
}
