:root {
  --navy-950: #071624;
  --navy-900: #0b1e30;
  --navy-850: #10263b;
  --navy-800: #17324b;
  --ink: #10223a;
  --muted: #65748a;
  --line: #dce4ed;
  --line-soft: #eaf0f5;
  --surface: #ffffff;
  --canvas: #f3f7fb;
  --blue: #1677ff;
  --blue-dark: #0863d8;
  --blue-soft: #e7f2ff;
  --teal: #18a873;
  --teal-soft: #dff7ed;
  --amber: #eba915;
  --amber-soft: #fff3ce;
  --rose: #df3f51;
  --rose-soft: #ffe5e8;
  --slate-soft: #edf2f6;
  --shadow-sm: 0 1px 2px rgba(15, 35, 55, .06), 0 4px 14px rgba(15, 35, 55, .04);
  --shadow-lg: 0 24px 70px rgba(7, 22, 36, .22);
  --radius: 14px;
  --sidebar: 260px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--canvas);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--canvas); }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--canvas); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
[hidden] { display: none !important; }

.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: var(--sidebar);
  color: #eaf4ff;
  background:
    radial-gradient(circle at 35% 3%, rgba(27, 130, 224, .18), transparent 28%),
    linear-gradient(180deg, var(--navy-850), var(--navy-950));
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, .08);
}
.brand-block { min-height: 106px; padding: 24px 22px; display: flex; gap: 14px; align-items: center; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.brand-block > div:last-child { display: flex; flex-direction: column; gap: 4px; }
.brand-block span { color: #8ecbff; font-size: .75rem; }
.brand-name { color: #fff; font-size: 1.35rem; line-height: .95; letter-spacing: -.02em; }
.brand-mark { position: relative; width: 45px; height: 52px; display: grid; place-items: center; border: 2px solid #8ecbff; border-radius: 9px; transform: rotate(-4deg); color: #dff2ff; }
.brand-mark svg { width: 27px; height: 34px; }
.brand-spark { position: absolute; left: -12px; bottom: 6px; color: #21adff !important; font-size: 1.05rem !important; }
.nav-list { padding: 14px 0; display: grid; gap: 3px; overflow-y: auto; }
.nav-item { position: relative; width: 100%; min-height: 48px; padding: 0 24px; display: flex; align-items: center; gap: 15px; color: #d6e1ec; border: 0; background: transparent; cursor: pointer; text-align: left; font-size: .94rem; }
.nav-item::before { content: ""; position: absolute; inset: 6px auto 6px 0; width: 3px; border-radius: 0 3px 3px 0; background: transparent; }
.nav-item:hover { color: white; background: rgba(255, 255, 255, .055); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(22, 119, 255, .46), rgba(22, 119, 255, .13)); }
.nav-item.active::before { background: #43b9ff; }
.nav-item svg { width: 1.3rem; height: 1.3rem; }
.nav-group { width: 100%; }
.nav-item-toggle { justify-content: flex-start; }
.nav-item-toggle .nav-arrow { margin-left: auto; display: flex; align-items: center; justify-content: center; color: #9fb3c6; font-weight: 700; }
.nav-item-toggle .nav-arrow svg { width: .95rem; height: .95rem; transition: transform .18s ease; }
.nav-group.open .nav-item-toggle .nav-arrow svg { transform: rotate(90deg); }
.nav-group.open > .nav-item-toggle { color: #fff; background: rgba(255, 255, 255, .055); }
.nav-submenu { display: grid; gap: 4px; padding: 6px 0 6px 0; }
.nav-subitem { position: relative; width: calc(100% - 18px); min-height: 40px; margin-left: 18px; padding: 0 20px 0 52px; display: flex; align-items: center; color: #c7d4e1; border: 0; border-radius: 0 12px 12px 0; background: transparent; cursor: pointer; text-align: left; font-size: .88rem; }
.nav-subitem::before { content: ""; position: absolute; left: 34px; width: 8px; height: 8px; border-radius: 999px; background: rgba(161, 182, 201, .55); }
.nav-subitem:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.nav-subitem.active { color: #fff; background: linear-gradient(90deg, rgba(22, 119, 255, .34), rgba(22, 119, 255, .08)); }
.nav-subitem.active::before { background: #47c0ff; }
.categories-page-panel { display: grid; gap: 16px; }
.categories-placeholder { display: flex; flex-wrap: wrap; gap: 10px; }
.category-tag { padding: 11px 15px; border: 1px solid #d7e0ea; border-radius: 999px; background: #f7fbff; color: #12314b; font-weight: 700; }
.categories-help { margin: 0; color: #6a7b8e; font-size: .86rem; }
.sidebar-note { margin: auto 20px 22px; padding: 16px 0 0; display: flex; gap: 12px; align-items: center; border-top: 1px solid rgba(255, 255, 255, .1); }
.sidebar-note > svg { width: 2.1rem; height: 2.1rem; color: #41b3ff; }
.sidebar-note div { display: flex; flex-direction: column; gap: 3px; }
.sidebar-note strong { font-size: .84rem; }
.sidebar-note span { color: #9bb0c3; font-size: .7rem; }

.main-area { min-height: 100vh; margin-left: var(--sidebar); }
.topbar { position: sticky; top: 0; z-index: 20; height: 74px; padding: 0 28px; color: #fff; background: linear-gradient(100deg, #112941, #102338); display: flex; align-items: center; box-shadow: 0 3px 16px rgba(7, 22, 36, .16); }
.menu-button { display: none !important; margin-right: 12px; }
.top-title { flex: 1; text-align: center; display: flex; flex-direction: column; gap: 3px; }
.top-title strong { font-size: 1.15rem; letter-spacing: -.01em; }
.top-title span { color: #b9cad9; font-size: .78rem; }
.device-status { position: absolute; right: 27px; display: flex; align-items: center; gap: 22px; }
.status-cluster { display: flex; align-items: center; gap: 10px; }
.status-cluster > svg { color: #23b5ff; width: 1.65rem; height: 1.65rem; }
.status-cluster div { display: flex; flex-direction: column; gap: 2px; }
.status-cluster strong { font-size: .74rem; font-weight: 650; }
.status-cluster span { color: #b9cad9; font-size: .71rem; }
.status-divider { height: 35px; width: 1px; background: rgba(255, 255, 255, .16); }
.clock-cluster > svg { color: #dcefff; }
.connection-offline .wifi-icon { color: #f06977; }

.content { padding: 28px; }
.page { display: none; max-width: 1450px; margin: 0 auto; animation: page-in .18s ease-out; }
.page.active { display: block; }
@keyframes page-in { from { opacity: .2; transform: translateY(3px); } to { opacity: 1; transform: none; } }
.page-heading { min-height: 90px; margin-bottom: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.page-heading h1 { margin: 2px 0 6px; font-size: clamp(1.55rem, 2vw, 2rem); line-height: 1.15; letter-spacing: -.035em; }
.page-heading p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .92rem; }
.compact-heading { align-items: center; }
.dashboard-heading { align-items: flex-start; }
.dashboard-actions { width: min(280px, 100%); margin-top: 4px; display: grid; gap: 14px; flex: 0 0 auto; }
.dashboard-actions .dashboard-action {
  width: 100%;
  justify-content: flex-start;
  min-height: 52px;
  padding: 0 18px;
  border-radius: 14px;
  border-width: 1px;
  font-size: .86rem;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(15, 35, 55, .10);
}
.dashboard-actions .dashboard-action svg { width: 1.05rem; height: 1.05rem; }
.dashboard-actions .dashboard-action.action-search {
  color: #0a4d7a;
  border-color: #b7dcf4;
  background: linear-gradient(180deg, #f4fbff, #e7f5ff);
}
.dashboard-actions .dashboard-action.action-search:hover {
  background: linear-gradient(180deg, #ecf8ff, #dff1ff);
  box-shadow: 0 14px 28px rgba(30, 111, 166, .16);
}
.dashboard-actions .dashboard-action.action-client {
  color: #0d5b47;
  border-color: #bbe6d7;
  background: linear-gradient(180deg, #f3fffb, #e3faf1);
}
.dashboard-actions .dashboard-action.action-client:hover {
  background: linear-gradient(180deg, #ebfff7, #d9f7eb);
  box-shadow: 0 14px 28px rgba(24, 122, 88, .15);
}
.dashboard-actions .dashboard-action.action-order {
  color: #fff;
  border-color: #1677ff;
  background: linear-gradient(135deg, #1e87ff, #0b63d9);
  box-shadow: 0 14px 32px rgba(22, 119, 255, .24);
}
.dashboard-actions .dashboard-action.action-order:hover {
  background: linear-gradient(135deg, #177df0, #085dcf);
  box-shadow: 0 18px 36px rgba(22, 119, 255, .30);
}
.eyebrow { margin: 0; color: var(--blue); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.back-link { margin: 0 0 12px -5px; padding: 5px; display: flex; align-items: center; gap: 5px; color: var(--muted); border: 0; background: transparent; cursor: pointer; font-size: .8rem; }
.back-link:hover { color: var(--blue); }
.back-link svg { width: 1rem; height: 1rem; }

.button { min-height: 40px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 9px; background: #fff; color: var(--ink); font-weight: 700; font-size: .84rem; text-decoration: none; cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button:disabled { opacity: .55; cursor: wait; transform: none; }
.button svg { width: 1rem; height: 1rem; }
.button.primary { color: #fff; border-color: var(--blue); background: linear-gradient(180deg, #1c82ff, #0d6ce9); box-shadow: 0 5px 14px rgba(22, 119, 255, .22); }
.button.primary:hover { background: var(--blue-dark); }
.button.subtle { color: var(--blue); border-color: #cfe2f6; background: #f6faff; }
.button.ghost { color: var(--muted); border-color: var(--line); background: #fff; }
.button.success { color: #fff; background: var(--teal); }
.button.warning { color: #704b00; background: var(--amber-soft); border-color: #ebce73; }
.button.danger { color: #fff; background: var(--rose); }
.button.danger-outline { color: var(--rose); border-color: #f0b8bf; background: #fff; }
.button.dashed { color: var(--blue); border: 1px dashed #94bde7; background: #f8fbff; }
.icon-button { width: 40px; height: 40px; padding: 0; display: grid; place-items: center; color: inherit; border: 0; border-radius: 9px; background: transparent; cursor: pointer; }
.icon-button:hover { background: rgba(127, 145, 165, .12); }

.stat-grid { margin-bottom: 22px; display: grid; grid-template-columns: repeat(4, minmax(190px, 1fr)); gap: 16px; }
.stat-card { position: relative; min-height: 122px; padding: 20px; overflow: hidden; display: flex; gap: 17px; align-items: center; color: #fff; border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.stat-card::after { content: ""; position: absolute; width: 130px; height: 130px; right: -50px; top: -70px; border: 20px solid rgba(255, 255, 255, .09); border-radius: 50%; }
.stat-card.blue { background: linear-gradient(135deg, #338cff, #116cde); }
.stat-card.teal { background: linear-gradient(135deg, #31b783, #129561); }
.stat-card.amber { background: linear-gradient(135deg, #f7bd2e, #e79b07); }
.stat-card.rose { background: linear-gradient(135deg, #ee5967, #d93245); }
.stat-icon { flex: 0 0 54px; width: 54px; height: 54px; display: grid; place-items: center; border: 2px solid rgba(255, 255, 255, .72); border-radius: 14px; background: rgba(255, 255, 255, .08); }
.stat-icon svg { width: 1.9rem; height: 1.9rem; }
.stat-card > div { min-width: 0; display: flex; flex-direction: column; }
.stat-card strong { font-size: 1.9rem; line-height: 1; }
.stat-card span { margin-top: 7px; font-size: .86rem; font-weight: 750; line-height: 1.2; }
.stat-card small { margin-top: 3px; color: rgba(255, 255, 255, .8); font-size: .7rem; }

.panel, .form-card { background: var(--surface); border: 1px solid var(--line-soft); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.panel-header { min-height: 72px; padding: 17px 19px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line-soft); }
.panel-header h2 { margin: 0; font-size: 1rem; }
.panel-header p { margin: 4px 0 0; color: var(--muted); font-size: .75rem; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .79rem; }
th { padding: 12px 14px; color: #526276; background: #f7f9fc; text-align: left; font-size: .69rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
td { padding: 13px 14px; border-top: 1px solid var(--line-soft); vertical-align: middle; }
tbody tr:hover { background: #f9fbfd; }
.table-os { color: var(--blue-dark); font-weight: 800; }
.table-muted { color: var(--muted); }
.table-value { white-space: nowrap; font-weight: 700; }
.table-action { min-height: 31px; padding: 0 11px; }

.status-badge { width: fit-content; padding: 5px 9px; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; font-size: .69rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.status-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-RECEBIDO { color: #385977; background: #e9f1f7; }
.status-AGUARDANDO_AUTORIZACAO { color: #80600c; background: var(--amber-soft); }
.status-AUTORIZADO { color: #0759a7; background: var(--blue-soft); }
.status-RECUSADO, .status-CANCELADO { color: #a22636; background: var(--rose-soft); }
.status-EM_REPARO { color: #0866bd; background: #ddecff; }
.status-PRONTO, .status-ENTREGUE { color: #08704b; background: var(--teal-soft); }

.empty-state { min-height: 240px; padding: 36px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-state.stand-alone { min-height: 320px; border: 1px dashed #cbd8e6; border-radius: var(--radius); background: rgba(255, 255, 255, .55); }
.empty-icon { width: 54px; height: 54px; margin-bottom: 14px; display: grid; place-items: center; color: var(--blue); border-radius: 16px; background: var(--blue-soft); }
.empty-icon svg { width: 1.65rem; height: 1.65rem; }
.empty-state h3 { margin: 0 0 7px; font-size: 1rem; }
.empty-state p { margin: 0 0 18px; max-width: 360px; color: var(--muted); font-size: .82rem; }

.form-layout { display: grid; gap: 16px; }
.form-card { padding: 22px; }
.section-title { margin-bottom: 20px; display: flex; gap: 12px; align-items: center; }
.section-title > span { flex: 0 0 36px; width: 36px; height: 36px; display: grid; place-items: center; color: var(--blue); border-radius: 10px; background: var(--blue-soft); font-size: .73rem; font-weight: 850; }
.section-title span svg { width: 1.1rem; height: 1.1rem; }
.section-title h2 { margin: 0; font-size: .96rem; }
.section-title p { margin: 3px 0 0; color: var(--muted); font-size: .74rem; }
.field-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.field-grid.two { grid-template-columns: repeat(2, 1fr); }
.field-grid.three { grid-template-columns: repeat(3, 1fr); }
.field-grid.four { grid-template-columns: repeat(4, 1fr); }
.field { min-width: 0; display: flex; flex-direction: column; gap: 7px; color: #34455a; font-size: .76rem; font-weight: 750; }
.field.span-2 { grid-column: span 2; }
.field input, .field textarea, .field select, .search-control input, .search-hero input, .select-control select { width: 100%; color: var(--ink); border: 1px solid #ced9e5; border-radius: 8px; outline: none; background: #fff; font-size: .84rem; font-weight: 450; transition: border-color .15s, box-shadow .15s; }
.field input, .field select { height: 43px; padding: 0 12px; }
.field textarea { min-height: 80px; padding: 11px 12px; resize: vertical; line-height: 1.45; }
.field input:focus, .field textarea:focus, .field select:focus, .search-control input:focus, .search-hero input:focus, .select-control select:focus { border-color: #63a6ef; box-shadow: 0 0 0 3px rgba(22, 119, 255, .11); }
.field input::placeholder, .field textarea::placeholder, .search-control input::placeholder, .search-hero input::placeholder { color: #9aa8b7; }
.field small { color: var(--muted); font-size: .68rem; font-weight: 500; }
.cep-status { min-height: 16px; transition: color .15s ease; }
.cep-status[data-state="loading"] { color: #1c69bd; }
.cep-status[data-state="success"] { color: #0b7752; font-weight: 700; }
.cep-status[data-state="error"] { color: #a62f3d; font-weight: 700; }
.cpf-status { min-height: 16px; transition: color .15s ease; }
.cpf-status[data-state="checking"] { color: #1c69bd; }
.cpf-status[data-state="valid"] { color: #0b7752; font-weight: 700; }
.cpf-status[data-state="invalid"], .cpf-status[data-state="duplicate"], .cpf-status[data-state="error"] { color: #a62f3d; font-weight: 700; }
#newClientCpf.cpf-valid { border-color: #52b788; box-shadow: 0 0 0 3px rgba(33, 150, 100, .10); }
#newClientCpf.cpf-invalid { border-color: #df6c79; box-shadow: 0 0 0 3px rgba(190, 55, 70, .09); }
.accessory-field { margin: 0; padding: 15px; border: 1px solid var(--line); border-radius: 9px; }
.accessory-field legend { padding: 0 5px; color: #34455a; font-size: .76rem; font-weight: 750; }
.check-grid { margin-bottom: 13px; display: flex; flex-wrap: wrap; gap: 12px 24px; }
.check-grid label { display: flex; align-items: center; gap: 7px; color: #445369; font-size: .78rem; }
.check-grid input { accent-color: var(--blue); width: 16px; height: 16px; }
.accessory-field > input { width: min(100%, 460px); height: 39px; padding: 0 11px; border: 1px solid #ced9e5; border-radius: 8px; outline: none; font-size: .8rem; }
.form-actions { margin-top: 22px; padding-top: 18px; display: flex; justify-content: flex-end; gap: 10px; border-top: 1px solid var(--line-soft); }
.client-picker { position: relative; }
.picker-input { position: relative; display: flex; align-items: center; }
.picker-input svg { position: absolute; left: 13px; z-index: 1; width: 1rem; height: 1rem; color: #718197; }
.picker-input input { padding-left: 40px; }
.client-suggestions { position: absolute; z-index: 12; top: 72px; left: 0; right: 0; max-height: 260px; overflow-y: auto; border: 1px solid #cbd8e6; border-radius: 10px; background: #fff; box-shadow: 0 16px 38px rgba(15, 35, 55, .17); }
.client-suggestion { width: 100%; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--ink); border: 0; border-top: 1px solid var(--line-soft); background: #fff; text-align: left; cursor: pointer; }
.client-suggestion:first-child { border-top: 0; }
.client-suggestion:hover { background: #f4f8fc; }
.client-suggestion strong, .client-suggestion span { display: block; }
.client-suggestion strong { font-size: .8rem; }
.client-suggestion span { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.client-suggestion > small { color: var(--blue); font-size: .69rem; font-weight: 800; }
.suggestion-empty { padding: 18px; color: var(--muted); text-align: center; font-size: .76rem; }
.suggestion-loading { padding: 16px 18px; display: flex; align-items: center; justify-content: center; gap: 9px; color: var(--muted); font-size: .76rem; }
.mini-spinner { width: 14px; height: 14px; border: 2px solid #d5e2ef; border-top-color: var(--blue); border-radius: 50%; animation: client-spin .7s linear infinite; }
@keyframes client-spin { to { transform: rotate(360deg); } }
.selected-client { margin-top: 13px; padding: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #a9d4bd; border-radius: 10px; background: #eefaf4; }
.selected-client > div { min-width: 0; }
.selected-client strong, .selected-client span { display: block; }
.selected-client strong { color: #0a6949; font-size: .84rem; }
.selected-client span { margin-top: 4px; color: #567267; font-size: .71rem; }
.selected-client button { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; color: #9f2d3b; border: 0; border-radius: 8px; background: #ffe5e8; cursor: pointer; }
.selected-client button svg { width: .9rem; height: .9rem; }
.client-picker > .button { margin-top: 13px; }
.client-mode-switch { margin-bottom: 14px; display: flex; flex-wrap: wrap; gap: 10px; }
.client-mode-button { min-height: 40px; padding: 0 16px; color: #496074; border: 1px solid #cfd9e5; border-radius: 999px; background: #f8fbff; cursor: pointer; font-size: .76rem; font-weight: 800; letter-spacing: .01em; transition: .18s ease; }
.client-mode-button:hover { border-color: #9bbde6; background: #eef5ff; }
.client-mode-button.active { color: #fff; border-color: #1677ff; background: linear-gradient(135deg, #1677ff, #0d5fbd); box-shadow: 0 10px 22px rgba(22, 119, 255, .18); }
.section-hint { margin: 0 0 14px; color: #627388; font-size: .76rem; line-height: 1.5; }
.inline-client-card { margin-top: 10px; padding: 18px; border: 1px dashed #bdd1e6; border-radius: 14px; background: linear-gradient(180deg, #f9fcff, #f4f8fc); }
.inline-client-head strong { display: block; color: var(--blue-dark); font-size: .9rem; }
.inline-client-head p { margin: 6px 0 0; color: #63768b; font-size: .75rem; line-height: 1.5; }
.inline-client-fields { margin-top: 16px; display: grid; gap: 16px; }
.inline-client-actions { padding-top: 4px; justify-content: flex-start; }
.client-form-actions { flex-wrap: wrap; }

.filter-panel { overflow: hidden; }
.orders-client-filter { margin: 0 16px 14px; padding: 11px 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #bcd8f5; border-radius: 10px; background: #f3f8ff; }
.orders-client-filter > div { min-width: 0; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.orders-client-filter span { color: #6e8298; font-size: .7rem; font-weight: 700; }
.orders-client-filter strong { color: #0d5fae; font-size: .8rem; }
.orders-client-filter button { min-height: 34px; padding: 0 11px; border: 1px solid #b5d2ef; border-radius: 8px; color: #0d68bd; background: #fff; font-size: .72rem; font-weight: 800; cursor: pointer; }
.orders-client-filter button:hover { background: #eaf4ff; }
.filters { padding: 16px; display: grid; grid-template-columns: minmax(280px, 1fr) 230px; gap: 12px; border-bottom: 1px solid var(--line-soft); }
.search-control { position: relative; display: flex; align-items: center; }
.search-control svg { position: absolute; left: 13px; color: #718197; width: 1rem; height: 1rem; }
.search-control input { height: 43px; padding: 0 12px 0 40px; }
.select-control { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: .75rem; font-weight: 750; }
.select-control select { height: 43px; padding: 0 10px; }
.order-list { display: grid; }
.order-row { padding: 15px 17px; display: grid; grid-template-columns: 90px minmax(150px, 1.2fr) minmax(150px, 1fr) minmax(170px, 1.4fr) auto 95px 38px; gap: 14px; align-items: center; border-top: 1px solid var(--line-soft); cursor: pointer; }
.order-row:first-child { border-top: 0; }
.order-row:hover { background: #f8fbfe; }
.order-row > div { min-width: 0; }
.order-row strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.order-row small { display: block; margin-top: 3px; overflow: hidden; color: var(--muted); font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }
.order-row .order-number { color: var(--blue-dark); font-size: .84rem; }
.order-row .row-total { font-weight: 800; font-size: .78rem; white-space: nowrap; }
.order-row .row-chevron { color: #8492a4; }

.clients-page { max-width: 1540px; }
.clients-heading { margin-bottom: 18px; }
.client-add-button { min-height: 46px; padding: 0 20px; color: #fff; border-color: #0aa56f; border-radius: 9px; background: linear-gradient(180deg, #15b77d, #079963); box-shadow: 0 8px 20px rgba(10, 165, 111, .20); }
.client-add-button:hover { background: #078f5d; }

.clients-overview { margin-bottom: 20px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.client-overview-card { min-width: 0; min-height: 112px; padding: 18px 16px; display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 14px; border: 1px solid #dbe5ef; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(32, 54, 78, .08); }
.client-overview-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 13px; }
.client-overview-icon svg { width: 1.55rem; height: 1.55rem; }
.client-overview-card div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.client-overview-card small { color: #7f8c9c; font-size: .72rem; font-weight: 700; }
.client-overview-card strong { color: #142235; font-size: clamp(1.05rem, 1.4vw, 1.42rem); line-height: 1.12; white-space: nowrap; }
.client-overview-card span:not(.client-overview-icon) { color: #7b8a9c; font-size: .69rem; }
.client-overview-card.clients-total { background: linear-gradient(180deg, #fbfdff, #f2f8ff); }
.client-overview-card.clients-total .client-overview-icon { color: #147cf0; background: #dceeff; }
.client-overview-card.clients-total span:not(.client-overview-icon) { color: #1870c9; }
.client-overview-card.equipment-total { background: linear-gradient(180deg, #fbfffd, #eefaf5); }
.client-overview-card.equipment-total .client-overview-icon { color: #0aa66e; background: #d7f6e9; }
.client-overview-card.equipment-total span:not(.client-overview-icon) { color: #247b60; }
.client-overview-card.approved-total { background: linear-gradient(180deg, #fffdf8, #fff6e7); border-color: #f1dfbb; }
.client-overview-card.approved-total .client-overview-icon { color: #e8890a; background: #ffedcc; }
.client-overview-card.approved-total span:not(.client-overview-icon) { color: #b56b08; }
.client-overview-card.paid-total { background: linear-gradient(180deg, #fbfffd, #eefaf6); }
.client-overview-card.paid-total .client-overview-icon { color: #0b9e6a; background: #d8f5e9; }
.client-overview-card.paid-total span:not(.client-overview-icon) { color: #217a5c; }
.client-overview-card.open-total { background: linear-gradient(180deg, #fffafa, #fff0f1); border-color: #f2d5d8; }
.client-overview-card.open-total .client-overview-icon { color: #e63143; background: #ffdfe3; }
.client-overview-card.open-total small, .client-overview-card.open-total span:not(.client-overview-icon) { color: #d33142; }

.clients-search-toolbar { margin-bottom: 18px; display: grid; grid-template-columns: minmax(320px, 1fr) 130px 150px auto; gap: 12px; align-items: center; }
.clients-search-box { position: relative; display: flex; align-items: center; min-width: 0; }
.clients-search-box > svg { position: absolute; left: 15px; width: 1.05rem; height: 1.05rem; color: #718197; }
.clients-search-box input { width: 100%; height: 48px; padding: 0 48px 0 44px; color: var(--ink); border: 1px solid #d3deea; border-radius: 9px; outline: none; background: #fff; box-shadow: 0 3px 12px rgba(25, 48, 71, .05); font-size: .84rem; }
.clients-search-box input:focus { border-color: #63a6ef; box-shadow: 0 0 0 3px rgba(22,119,255,.10); }
.clients-search-clear { position: absolute; right: 10px; width: 32px; height: 32px; display: grid; place-items: center; color: #8291a4; border: 0; background: transparent; cursor: pointer; }
.clients-search-clear svg { width: .9rem; height: .9rem; }
.clients-search-button { min-height: 48px; color: #fff; border-color: #1677ff; background: linear-gradient(180deg, #1d86ff, #0d6fe9); box-shadow: 0 6px 15px rgba(22,119,255,.18); }
.clients-filter-control { position: relative; min-height: 48px; display: flex; align-items: center; }
.clients-filter-control > svg { position: absolute; left: 14px; z-index: 1; width: 1rem; height: 1rem; color: #52677d; pointer-events: none; }
.clients-filter-control select { width: 100%; height: 48px; padding: 0 34px 0 40px; color: #33485d; border: 1px solid #d3deea; border-radius: 9px; outline: none; background: #fff; font-size: .79rem; font-weight: 750; cursor: pointer; }
.client-search-info { justify-self: end; color: #53677e; font-size: .76rem; font-weight: 700; white-space: nowrap; }

.client-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.client-card { min-width: 0; height: 100%; padding: 16px; display: flex; flex-direction: column; background: #fff; border: 1px solid #dbe5ef; border-radius: 11px; box-shadow: 0 5px 16px rgba(32, 54, 78, .08); }
.client-head { margin-bottom: 11px; display: flex; align-items: center; gap: 12px; }
.client-avatar { flex: 0 0 46px; width: 46px; height: 46px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: linear-gradient(145deg, #2387f7, #1262c4); font-size: .83rem; font-weight: 850; }
.client-name-block { min-width: 0; display: flex; align-items: center; }
.client-head h3 { margin: 0; color: #102236; font-size: .96rem; line-height: 1.2; }
.client-info { min-height: 116px; margin: 0 0 13px 58px; display: grid; align-content: start; gap: 6px; }
.client-info-row { min-width: 0; display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: start; gap: 8px; font-size: .69rem; line-height: 1.38; }
.client-info-row > span { color: #73869a; font-weight: 700; }
.client-info-row > strong { min-width: 0; color: #304a63; font-weight: 700; overflow-wrap: anywhere; }
.client-info-address > strong { color: #4e6881; font-weight: 650; }
.client-summary-grid { margin: 0 0 11px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.client-summary-card { min-width: 0; min-height: 68px; padding: 9px 8px; border: 0; border-radius: 8px; display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 7px; align-items: start; }
.client-summary-icon { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; }
.client-summary-icon svg { width: .9rem; height: .9rem; }
.client-summary-content { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.client-summary-label { color: #66788c; font-size: .62rem; font-weight: 700; white-space: nowrap; }
.client-summary-value { color: #142235; font-size: .76rem; font-weight: 850; line-height: 1.15; white-space: nowrap; }
.client-summary-note { color: #8795a5; font-size: .54rem; line-height: 1.15; }
.client-summary-card.equip { background: #eef7ff; }
.client-summary-card.equip .client-summary-icon { background: #d8ecff; color: #1681ef; }
.client-summary-card.approved { background: #eaf9f3; }
.client-summary-card.approved .client-summary-icon { background: #d4f2e5; color: #079a67; }
.client-summary-card.paid { background: #f1ecff; }
.client-summary-card.paid .client-summary-icon { background: #e4dbff; color: #6e40d8; }
.client-summary-card.paid .client-summary-label, .client-summary-card.paid .client-summary-value { color: #5531b5; }
.client-summary-card.open { background: #fff0f1; }
.client-summary-card.open .client-summary-icon { background: #ffdce0; color: #e4263b; }
.client-summary-card.open .client-summary-label, .client-summary-card.open .client-summary-note { color: #d82a3c; }
.client-meta { margin-top: auto; padding-top: 0; display: block; border-top: 0; }
.client-meta > span { display: none; }
.client-actions { display: grid; grid-template-columns: 1fr 1fr .88fr; gap: 9px; }
.client-meta button { min-height: 38px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid transparent; border-radius: 7px; font-size: .75rem; font-weight: 800; cursor: pointer; }
.client-meta button svg { width: .9rem; height: .9rem; }
.client-actions button[data-client-search], .client-actions button[data-client-orders] { color: #fff; border-color: #1681f5; background: linear-gradient(180deg, #228cff, #0877ee); }
.client-actions button[data-use-client] { color: #fff; border-color: #0aa86e; background: linear-gradient(180deg, #14b87c, #079d67); }
.client-actions button[data-edit-client] { color: #25374a; border-color: #d3dee9; background: #f8fafc; }
.client-actions button:hover { transform: translateY(-1px); filter: brightness(.98); }


.search-hero { margin-bottom: 18px; padding: 25px; background: linear-gradient(115deg, #102c46, #144a73); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.search-hero label { position: relative; max-width: 830px; margin: 0 auto; display: flex; align-items: center; }
.search-hero label > svg { position: absolute; left: 16px; color: #668099; }
.search-hero input { height: 52px; padding: 0 135px 0 48px; border: 0; border-radius: 10px; }
.search-hero .button { position: absolute; right: 5px; min-height: 42px; }
.search-results { overflow: hidden; background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius); box-shadow: var(--shadow-sm); }

.report-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(250px, .8fr); gap: 16px; }
.report-status { grid-row: span 2; }
.report-bars { padding: 20px; display: grid; gap: 16px; }
.report-bar-label { margin-bottom: 7px; display: flex; justify-content: space-between; gap: 10px; color: #435268; font-size: .75rem; font-weight: 750; }
.bar-track { height: 9px; overflow: hidden; border-radius: 999px; background: #eaf0f5; }
.bar-fill { height: 100%; min-width: 0; border-radius: inherit; background: var(--blue); transition: width .25s; }
.financial-card { min-height: 180px; padding: 23px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(145deg, #0f704f, #15946a); color: white; }
.financial-icon { width: 44px; height: 44px; margin-bottom: 17px; display: grid; place-items: center; border-radius: 12px; background: rgba(255, 255, 255, .13); }
.financial-card p { margin: 0; color: #d9f7eb; font-size: .78rem; }
.financial-card strong { margin: 6px 0 8px; font-size: 1.75rem; letter-spacing: -.03em; }
.financial-card small { color: #bce5d6; font-size: .68rem; line-height: 1.4; }
.summary-list { padding: 10px 18px; }
.summary-list > div { padding: 13px 0; display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line-soft); font-size: .77rem; }
.summary-list > div:first-child { border-top: 0; }
.summary-list span { color: var(--muted); }
.summary-list strong { color: var(--ink); }

.settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.internet-status { margin: 14px 0 0; padding: 10px 12px; color: #607286; border: 1px solid #d7e1eb; border-radius: 9px; background: #f8fbfd; font-size: .73rem; line-height: 1.45; }
.internet-status.connected { color: #0b6a4d; border-color: #b8dfcf; background: #edf9f4; }
.internet-status.disconnected { color: #8a4d16; border-color: #efd1aa; background: #fff8ee; }
.storage-card { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; }
.storage-card > div { display: flex; align-items: center; gap: 14px; }
.storage-card h2 { margin: 0; font-size: .94rem; }
.storage-card p { margin: 4px 0 0; color: var(--muted); font-size: .74rem; }
.storage-icon { width: 43px; height: 43px; display: grid; place-items: center; color: var(--blue); border-radius: 11px; background: var(--blue-soft); }
.settings-actions { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; }
.maintenance-card { grid-column: 1 / -1; }
.upload-box { display: grid; gap: 14px; }
.upload-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.upload-progress { padding: 13px; border: 1px solid #d5e1ec; border-radius: 11px; background: #f8fbfe; }
.upload-progress-track { height: 10px; overflow: hidden; border-radius: 999px; background: #e4edf5; }
.upload-progress-fill { display: block; width: 0%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1677ff, #1eaf79); transition: width .15s ease; }
.upload-progress-row { margin-top: 8px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #607286; font-size: .72rem; }
.upload-progress-row strong { color: var(--blue-dark); font-size: .76rem; }
.maintenance-note { margin: 0; padding: 11px 12px; color: #66798c; border-left: 3px solid #a8c9e8; border-radius: 7px; background: #f5f9fd; font-size: .72rem; line-height: 1.5; }
.sd-upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.file-picker { min-height: 92px; padding: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px dashed #a9c5df; border-radius: 12px; background: #f8fbff; cursor: pointer; transition: border-color .15s, background .15s; }
.file-picker:hover { border-color: #6ca6df; background: #f0f7ff; }
.file-picker span { min-width: 0; display: grid; gap: 4px; }
.file-picker strong { color: #24445f; font-size: .78rem; }
.file-picker small { color: #7a8d9f; font-size: .68rem; }
.file-picker input { max-width: 52%; font-size: .7rem; }
.sd-upload-card { border-color: #cce6dc; }

.about-card { max-width: 730px; margin: 0 auto; padding: 38px; text-align: center; background: #fff; border: 1px solid var(--line-soft); border-radius: 18px; box-shadow: var(--shadow-sm); }
.about-mark { width: 70px; height: 70px; margin: 0 auto 19px; display: grid; place-items: center; color: #fff; border-radius: 20px; background: linear-gradient(145deg, #2388ff, #0d5fbd); box-shadow: 0 12px 25px rgba(22, 119, 255, .22); }
.about-mark svg { width: 2.2rem; height: 2.2rem; }
.about-card h2 { margin: 0 0 9px; font-size: 1.4rem; }
.about-card > p { max-width: 540px; margin: 0 auto; color: var(--muted); font-size: .85rem; line-height: 1.55; }
.about-points { margin: 28px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; text-align: left; }
.about-points > div { padding: 16px; border: 1px solid var(--line-soft); border-radius: 11px; background: #f9fbfd; }
.about-points span { color: var(--blue); font-size: .7rem; font-weight: 850; }
.about-points p { margin: 8px 0 0; color: var(--muted); font-size: .71rem; line-height: 1.45; }
.about-points strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: .78rem; }
.about-card > small { color: #91a0b1; font-size: .7rem; }

.toast-region { position: fixed; z-index: 100; right: 20px; bottom: 20px; display: grid; gap: 10px; pointer-events: none; }
.toast { min-width: 280px; max-width: 390px; padding: 13px 15px; display: flex; align-items: flex-start; gap: 10px; color: #fff; border-radius: 10px; background: #15324c; box-shadow: 0 12px 34px rgba(7, 22, 36, .25); animation: toast-in .2s ease-out; font-size: .78rem; line-height: 1.4; }
.toast.success { background: #0b7752; }
.toast.error { background: #a62f3d; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

.modal { width: min(960px, calc(100vw - 30px)); max-height: calc(100vh - 30px); padding: 0; color: var(--ink); border: 0; border-radius: 16px; background: #fff; box-shadow: var(--shadow-lg); }
.modal::backdrop { background: rgba(5, 17, 29, .72); backdrop-filter: blur(2px); }
.modal-head { min-height: 79px; padding: 18px 21px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.modal-head h2 { margin: 3px 0 0; font-size: 1.2rem; }
.modal-body { max-height: calc(100vh - 200px); padding: 20px; overflow-y: auto; }
.modal-actions { min-height: 67px; padding: 13px 20px; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; border-top: 1px solid var(--line); background: #f9fbfd; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.detail-block { min-width: 0; padding: 17px; border: 1px solid var(--line-soft); border-radius: 11px; }
.detail-block.wide { grid-column: 1 / -1; }
.detail-block h3 { margin: 0 0 13px; color: var(--blue-dark); font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.detail-lines { display: grid; gap: 9px; }
.detail-line { display: grid; grid-template-columns: 105px 1fr; gap: 10px; font-size: .76rem; line-height: 1.45; }
.detail-line span { color: var(--muted); }
.detail-line strong { min-width: 0; overflow-wrap: anywhere; }
.detail-text { margin: 0; color: #35465a; font-size: .8rem; line-height: 1.55; white-space: pre-wrap; }
.budget-view { width: 100%; }
.budget-view th, .budget-view td { padding: 9px 8px; }
.budget-view tfoot td { font-weight: 850; border-top: 2px solid var(--line); }
.history-list { display: grid; gap: 0; }
.history-item { position: relative; padding: 0 0 18px 23px; border-left: 2px solid #dce5ef; }
.history-item:last-child { padding-bottom: 0; }
.history-item::before { content: ""; position: absolute; left: -6px; top: 2px; width: 10px; height: 10px; border: 2px solid #fff; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.history-item strong { display: block; font-size: .76rem; }
.history-item time { display: block; margin: 3px 0; color: var(--muted); font-size: .67rem; }
.history-item p { margin: 0; color: #57677b; font-size: .71rem; }

.budget-modal { width: min(780px, calc(100vw - 30px)); }
.cpf-duplicate-modal { width: min(660px, calc(100vw - 30px)); }
.cpf-duplicate-alert { display: flex; align-items: flex-start; gap: 14px; padding: 16px; border: 1px solid #f1d6a8; border-radius: 12px; background: #fff9ec; }
.cpf-duplicate-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; color: #a36800; border-radius: 12px; background: #ffedc2; }
.cpf-duplicate-icon svg { width: 1.2rem; height: 1.2rem; }
.cpf-duplicate-alert strong { display: block; color: #6d4900; font-size: .88rem; }
.cpf-duplicate-alert p { margin: 6px 0 0; color: #806b43; font-size: .76rem; line-height: 1.5; }
.cpf-duplicate-client { margin-top: 14px; padding: 16px; border: 1px solid var(--line-soft); border-radius: 12px; background: #f9fbfd; }
.cpf-duplicate-client strong { display: block; color: var(--ink); font-size: .92rem; }
.cpf-duplicate-client span { display: block; margin-top: 5px; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.budget-table { display: grid; gap: 7px; }
.budget-row { display: grid; grid-template-columns: 1fr 76px 150px 38px; gap: 8px; align-items: center; }
.budget-labels { color: var(--muted); font-size: .68rem; font-weight: 750; }
.budget-row input { width: 100%; height: 39px; padding: 0 9px; border: 1px solid #ced9e5; border-radius: 7px; outline: none; font-size: .78rem; }
.budget-row input:focus { border-color: #63a6ef; box-shadow: 0 0 0 3px rgba(22, 119, 255, .1); }
.remove-budget-item { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; color: var(--rose); border: 0; border-radius: 8px; background: var(--rose-soft); cursor: pointer; }
.remove-budget-item svg { width: .95rem; height: .95rem; }
.budget-table + .button { margin-top: 11px; }
.budget-total { margin: 18px 0; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; color: #fff; border-radius: 10px; background: var(--navy-850); }
.budget-total span { font-size: .78rem; }
.budget-total strong { font-size: 1.25rem; }

.sidebar-scrim { display: none; }

@media (max-width: 1180px) {
  :root { --sidebar: 226px; }
  .nav-item { padding: 0 20px; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .device-status { right: 20px; }
  .top-title { text-align: left; }
  .top-title span { display: none; }
  .order-row { grid-template-columns: 80px 1fr 1fr 1.2fr auto 36px; }
  .order-row .row-total { display: none; }
  .client-grid { grid-template-columns: repeat(2, 1fr); }
  .client-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  :root { --sidebar: 260px; }
  .sidebar { transform: translateX(-100%); transition: transform .22s ease; }
  body.menu-open .sidebar { transform: translateX(0); }
  .sidebar-scrim { position: fixed; inset: 0; z-index: 25; display: block; visibility: hidden; opacity: 0; background: rgba(5, 17, 29, .55); transition: opacity .22s, visibility .22s; }
  body.menu-open .sidebar-scrim { visibility: visible; opacity: 1; }
  .main-area { margin-left: 0; }
  .topbar { height: 68px; padding: 0 14px; }
  .menu-button { display: grid !important; }
  .top-title strong { font-size: .96rem; }
  .device-status { position: static; margin-left: auto; }
  .clock-cluster, .status-divider { display: none; }
  .status-cluster strong { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .status-cluster span { display: none; }
  .content { padding: 20px 16px 30px; }
  .page-heading { min-height: auto; }
  .field-grid.three, .field-grid.four { grid-template-columns: repeat(2, 1fr); }
  .settings-grid { grid-template-columns: 1fr; }
  .storage-card, .settings-actions { grid-column: auto; }
  .report-grid { grid-template-columns: 1fr; }
  .report-status { grid-row: auto; }
  .order-row { grid-template-columns: 70px 1fr auto 28px; }
  .order-row .row-device, .order-row .row-defect { display: none; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-block.wide { grid-column: auto; }
}

@media (max-width: 560px) {
  .content { padding: 17px 12px 28px; }
  .page-heading, .compact-heading { align-items: stretch; flex-direction: column; gap: 13px; }
  .page-heading .button { width: 100%; }
  .dashboard-actions { width: 100%; gap: 12px; }
  .stat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .stat-card { min-height: 108px; padding: 14px; gap: 10px; align-items: flex-start; flex-direction: column; }
  .stat-icon { width: 33px; height: 33px; flex-basis: 33px; border-width: 1px; border-radius: 9px; }
  .stat-icon svg { width: 1.05rem; height: 1.05rem; }
  .stat-card strong { font-size: 1.45rem; }
  .stat-card span { margin-top: 4px; font-size: .72rem; }
  .stat-card small { display: none; }
  .panel-header { padding: 14px; }
  .table-wrap table { min-width: 710px; }
  .filters { grid-template-columns: 1fr; }
  .orders-client-filter { align-items: stretch; flex-direction: column; }
  .orders-client-filter button { width: 100%; }
  .form-card { padding: 17px 14px; }
  .field-grid.two, .field-grid.three, .field-grid.four { grid-template-columns: 1fr; }
  .field.span-2 { grid-column: auto; }
  .form-actions { flex-direction: column-reverse; }
  .form-actions .button { width: 100%; }
  .client-form-actions { flex-direction: column-reverse; }
  .order-row { padding: 14px 12px; grid-template-columns: 64px minmax(100px, 1fr) auto 20px; gap: 8px; }
  .status-badge { max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
  .client-grid { grid-template-columns: 1fr; }
  .client-info { min-height: 0; margin-left: 0; }
  .client-info-row { grid-template-columns: 92px minmax(0, 1fr); }
  .client-summary-grid { grid-template-columns: 1fr; }
  .search-hero { padding: 14px; }
  .search-hero input { padding-right: 46px; }
  .search-hero .button { width: 39px; padding: 0; color: transparent; }
  .search-hero .button::after { content: "›"; color: #fff; font-size: 1.3rem; }
  .about-card { padding: 26px 16px; }
  .about-points { grid-template-columns: 1fr; }
  .modal { width: calc(100vw - 16px); max-height: calc(100vh - 16px); border-radius: 12px; }
  .modal-body { padding: 14px; }
  .modal-actions { justify-content: stretch; }
  .modal-actions .button { flex: 1 1 calc(50% - 8px); }
  .detail-line { grid-template-columns: 88px 1fr; }
  .budget-row { grid-template-columns: 1fr 58px 105px 35px; gap: 5px; }
  .budget-labels { font-size: .6rem; }
  .toast-region { left: 12px; right: 12px; bottom: 12px; }
  .toast { min-width: 0; width: 100%; }
}


@media (max-width: 560px) {
  .sd-upload-grid { grid-template-columns: 1fr; }
  .upload-actions { flex-direction: column; align-items: stretch; }
  .upload-actions .button { width: 100%; }
  .file-picker { align-items: flex-start; flex-direction: column; }
  .file-picker input { max-width: 100%; width: 100%; }
  .upload-progress-row { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (max-width: 1260px) {
  .clients-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .clients-search-toolbar { grid-template-columns: minmax(280px,1fr) 120px 145px; }
  .client-search-info { grid-column: 1 / -1; justify-self: end; }
  .client-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .clients-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-grid { grid-template-columns: 1fr; }
  .clients-search-toolbar { grid-template-columns: 1fr 110px; }
  .clients-filter-control { grid-column: 1 / -1; }
  .client-search-info { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 560px) {
  .clients-overview { grid-template-columns: 1fr; gap: 10px; }
  .client-overview-card { min-height: 92px; }
  .clients-search-toolbar { grid-template-columns: 1fr; }
  .clients-search-button, .clients-filter-control { width: 100%; }
  .client-address { margin-left: 0; }
  .client-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-actions { grid-template-columns: 1fr; }
}

@media print {
  body { background: #fff; }
  .sidebar, .topbar, .content, .modal-actions, .modal-head .icon-button { display: none !important; }
  .order-modal[open] { position: static; width: 100%; max-height: none; margin: 0; display: block; border-radius: 0; box-shadow: none; }
  .order-modal::backdrop { display: none; }
  .order-modal .modal-head { padding: 0 0 18px; }
  .order-modal .modal-body { max-height: none; padding: 18px 0; overflow: visible; }
  .detail-block { break-inside: avoid; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* Wi-Fi STA: busca e conexão à rede da loja */
.wifi-connect-card { overflow: visible; }
.wifi-connect-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.wifi-selected-field { min-width: 0; }
.wifi-selected-field input[readonly] { background: #f7fafc; color: #30465b; }
.wifi-scan-button { min-width: 145px; }
.wifi-scan-results { margin-top: 14px; max-height: 300px; overflow-y: auto; display: grid; gap: 8px; padding: 8px; border: 1px solid #d5e1ec; border-radius: 12px; background: #f8fbfe; }
.wifi-network-item { width: 100%; min-height: 58px; padding: 10px 12px; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; text-align: left; color: #21374b; border: 1px solid #d9e3ec; border-radius: 10px; background: #fff; cursor: pointer; transition: .15s ease; }
.wifi-network-item:hover { border-color: #83baf1; box-shadow: 0 7px 18px rgba(22,119,255,.11); transform: translateY(-1px); }
.wifi-network-item.connected { border-color: #a9d8c6; background: #effaf5; }
.wifi-network-icon { width: 36px; height: 36px; display: grid; place-items: center; color: #1677ff; border-radius: 9px; background: #eaf4ff; }
.wifi-network-icon svg { width: 1.05rem; height: 1.05rem; }
.wifi-network-info { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.wifi-network-info strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; }
.wifi-network-info small { color: #718296; font-size: .69rem; }
.wifi-network-security { padding: 5px 8px; color: #52697f; border-radius: 999px; background: #eef3f7; font-size: .65rem; font-weight: 800; }
.wifi-network-item.connected .wifi-network-security { color: #08704b; background: #daf2e8; }
.wifi-empty { padding: 17px; color: #687a8d; text-align: center; font-size: .74rem; }
.wifi-empty.error { color: #a62f3d; }
.lan-ip-box { margin-top: 13px; padding: 13px 14px; display: grid; gap: 5px; color: #31516c; border: 1px solid #bfd9f1; border-radius: 10px; background: #f1f8ff; }
.lan-ip-box strong { color: #0c5ca8; font-size: .76rem; }
.lan-ip-box span { font-size: .74rem; line-height: 1.45; }
.lan-ip-box small { color: #6b7f91; font-size: .66rem; line-height: 1.4; }
@media (max-width: 560px) {
  .wifi-connect-row { grid-template-columns: 1fr; }
  .wifi-scan-button { width: 100%; }
  .wifi-network-item { grid-template-columns: 34px minmax(0, 1fr); }
  .wifi-network-security { grid-column: 2; justify-self: start; }
}


.categories-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }
.categories-layout.composer-open { grid-template-columns: minmax(300px, 430px) minmax(0, 1fr); }
.categories-form-grid { gap: 16px; }
.category-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.category-list { display: grid; gap: 12px; margin: 16px 20px 20px; }
.category-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border: 1px solid var(--line-soft); border-radius: 14px; background: #fbfdff; }
.category-row-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.category-row-info strong { color: var(--text); font-size: .95rem; }
.category-row-info span { color: var(--muted); font-size: .78rem; }
.category-row-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.category-row-actions .button { min-height: 38px; padding-inline: 14px; }
.category-pager { margin: 14px 20px 20px; justify-content: flex-end; }
.categories-page-panel .empty-state { margin: 16px 20px 20px; }
@media (max-width: 1180px) { .categories-layout, .categories-layout.composer-open { grid-template-columns: 1fr; } }

#deviceImei.cpf-valid { border-color: #52b788; box-shadow: 0 0 0 3px rgba(33, 150, 100, .10); }
#deviceImei.cpf-invalid { border-color: #df6c79; box-shadow: 0 0 0 3px rgba(190, 55, 70, .09); }

.order-row { padding: 14px 16px; display: grid; grid-template-columns: 110px minmax(150px, 1.25fr) minmax(120px, .9fr) minmax(130px, 1fr) minmax(220px, 1.35fr) 150px auto 90px 28px; gap: 14px; align-items: center; border-top: 1px solid var(--line-soft); cursor: pointer; }
.order-row:first-child { border-top: 0; }
.order-row:hover { background: #f8fbfe; }
.order-row > div { min-width: 0; }
.order-row .row-info strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; color: var(--text); }
.order-row .row-info small { display: block; margin-top: 4px; color: var(--muted); font-size: .69rem; }
.order-row .order-number { color: var(--blue-dark); font-size: .84rem; }
.order-row .row-serial strong { font-family: inherit; font-size: .76rem; }
.order-row .row-status-wrap { display: flex; justify-content: center; }
.order-row .row-total { font-weight: 800; font-size: .78rem; white-space: nowrap; text-align: right; }
.order-row .row-chevron { color: #8492a4; display: flex; align-items: center; justify-content: center; }
@media (max-width: 1380px) {
  .order-row { grid-template-columns: 100px minmax(140px, 1.1fr) minmax(110px, .85fr) minmax(110px, .95fr) minmax(180px, 1.2fr) 140px auto 82px 24px; gap: 10px; }
}
@media (max-width: 1180px) {
  .order-row { grid-template-columns: 96px 1fr 1fr 1.1fr 130px auto 24px; }
  .order-row .row-entry, .order-row .row-category { display: none; }
}
@media (max-width: 900px) {
  .order-row { grid-template-columns: 90px 1fr 1fr auto 24px; gap: 10px; }
  .order-row .row-serial, .order-row .row-total { display: none; }
}
@media (max-width: 640px) {
  .order-row { padding: 14px 12px; grid-template-columns: 86px 1fr auto 20px; gap: 8px; }
  .order-row .row-model, .order-row .row-status-wrap { display: none; }
}

/* V29 - títulos acima dos valores na lista de ordens */
.order-row .row-info { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; }
.order-row .row-label { display: block; margin: 0; color: #24364a; font-size: .69rem; line-height: 1.1; font-weight: 850; white-space: nowrap; }
.order-row .row-info strong { display: block; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); font-size: .82rem; line-height: 1.2; }
.order-row .row-status-wrap { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; }
.order-row .row-total { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; text-align: left; font-weight: 400; }
.order-row .row-total strong { font-weight: 850; font-size: .8rem; white-space: nowrap; }
.order-row .order-number { color: var(--blue-dark); font-size: .86rem; }

/* V31 - Login, perfis de acesso e ações da lista de OS */
.auth-hidden { display: none !important; }
.login-screen { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 15% 15%, rgba(22,119,255,.14), transparent 32%), linear-gradient(145deg, #071d31, #0e3151 58%, #eaf2f8 58%); }
.login-screen[hidden] { display: none !important; }
.login-card { width: min(460px, 100%); padding: 30px; border: 1px solid rgba(255,255,255,.65); border-radius: 22px; background: rgba(255,255,255,.98); box-shadow: 0 28px 80px rgba(4,25,43,.28); }
.login-brand { display: flex; align-items: center; gap: 13px; margin-bottom: 26px; }
.login-brand .brand-mark { position: relative; width: 54px; height: 54px; border-radius: 15px; display: grid; place-items: center; color: #0a72e8; background: #eaf5ff; border: 1px solid #b8dcfa; }
.login-brand .brand-mark svg { width: 1.8rem; height: 1.8rem; }
.login-brand > div:last-child { display: flex; flex-direction: column; }
.login-brand strong { color: #0b2943; font-size: 1.05rem; }
.login-brand span { color: #718396; font-size: .75rem; }
.login-copy h1 { margin: 3px 0 7px; color: #071f36; font-size: 1.75rem; }
.login-copy > p:last-child { margin: 0 0 21px; color: #66798c; font-size: .87rem; }
.login-form { display: grid; gap: 15px; }
.login-button { min-height: 48px; justify-content: center; }
.login-error { margin: 0; padding: 10px 12px; border: 1px solid #f0c5ca; border-radius: 10px; color: #a82d3c; background: #fff3f4; font-size: .78rem; }
.login-note { display: block; margin-top: 18px; color: #8392a2; text-align: center; font-size: .7rem; }
.session-user { align-items: center; gap: 10px; padding: 0 13px; border-left: 1px solid rgba(255,255,255,.12); border-right: 1px solid rgba(255,255,255,.12); }
.session-user:not([hidden]) { display: flex; }
.session-user > div { display: flex; flex-direction: column; min-width: 90px; }
.session-user strong { color: #fff; font-size: .73rem; white-space: nowrap; }
.session-user span { color: #9fb6c9; font-size: .63rem; }
.session-logout { border: 1px solid rgba(255,255,255,.16); border-radius: 8px; padding: 6px 9px; color: #dbeaf7; background: rgba(255,255,255,.06); cursor: pointer; font-size: .67rem; font-weight: 800; }
.session-logout:hover { color: #fff; background: rgba(255,255,255,.12); }

.collaborators-card { gap: 18px; }
.collaborator-editor { padding: 16px; border: 1px solid var(--line-soft); border-radius: 14px; background: #f9fbfd; }
.collaborator-form-actions { margin-top: 14px; }
.collaborator-list { display: grid; gap: 10px; }
.collaborator-row { display: grid; grid-template-columns: minmax(160px,1.2fr) minmax(120px,.8fr) 120px auto; gap: 14px; align-items: center; padding: 13px 14px; border: 1px solid var(--line-soft); border-radius: 12px; background: #fff; }
.collaborator-row strong { color: var(--text); font-size: .84rem; }
.collaborator-row small { display: block; margin-top: 3px; color: var(--muted); font-size: .69rem; }
.collaborator-role { display: inline-flex; width: fit-content; padding: 5px 9px; border-radius: 999px; font-size: .68rem; font-weight: 850; background: #eef5ff; color: #1766bc; }
.collaborator-role.admin { background: #fff2dc; color: #976100; }
.collaborator-actions { display: flex; justify-content: flex-end; gap: 8px; }
.collaborator-actions .button { min-height: 36px; padding: 0 12px; }

/* Lista de OS: sem status/valor, com Visualizar, Editar e Apagar */
.order-row { grid-template-columns: 105px minmax(145px,1.1fr) minmax(115px,.8fr) minmax(125px,.9fr) minmax(180px,1.2fr) 150px minmax(260px,auto) !important; gap: 12px !important; }
.order-row .row-status-wrap, .order-row .row-total, .order-row .row-chevron { display: none !important; }
.order-row-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; flex-wrap: nowrap; }
.order-row-actions .button { min-height: 36px; padding: 0 12px; border-radius: 9px; font-size: .72rem; white-space: nowrap; }
.order-row-actions .button svg { width: .9rem; height: .9rem; }
.order-row-actions .delete-order-button { color: #b12c3e; border-color: #efc5ca; background: #fff6f7; }
.order-row-actions .delete-order-button:hover { background: #ffecef; }
.client-actions .delete-client-button { color: #ad3040; background: #fff5f6; border: 1px solid #efc7cc; }

@media (max-width: 1380px) {
  .order-row { grid-template-columns: 92px minmax(130px,1fr) minmax(105px,.75fr) minmax(110px,.85fr) minmax(150px,1fr) 135px minmax(235px,auto) !important; gap: 9px !important; }
  .order-row-actions .button { padding: 0 9px; }
}
@media (max-width: 1180px) {
  .order-row { grid-template-columns: 90px 1fr 1fr 1.1fr minmax(220px,auto) !important; }
  .order-row .row-category, .order-row .row-entry { display: none !important; }
  .order-row-actions { grid-column: auto; }
  .collaborator-row { grid-template-columns: 1fr 1fr; }
  .collaborator-actions { justify-content: flex-start; }
}
@media (max-width: 900px) {
  .session-user { display: none !important; }
  .order-row { grid-template-columns: 82px 1fr minmax(210px,auto) !important; }
  .order-row .row-model, .order-row .row-serial { display: none !important; }
}
@media (max-width: 640px) {
  .login-screen { padding: 14px; background: #eaf2f8; }
  .login-card { padding: 22px 18px; border-radius: 16px; }
  .order-row { display: grid !important; grid-template-columns: 76px 1fr !important; gap: 10px !important; }
  .order-row-actions { grid-column: 1 / -1; justify-content: stretch; }
  .order-row-actions .button { flex: 1 1 0; justify-content: center; }
  .collaborator-row { grid-template-columns: 1fr; }
  .collaborator-actions { justify-content: stretch; }
  .collaborator-actions .button { flex: 1; justify-content: center; }
}
.sidebar-logout-item { margin-top: 8px; color: #b9c9d8; }
.sidebar-logout-item:hover { color: #fff; background: rgba(255,255,255,.055); }


.settings-hub-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.settings-nav-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 22px; display: grid; grid-template-columns: 52px 1fr 24px; gap: 16px; align-items: center; cursor: pointer; box-shadow: 0 8px 22px rgba(15, 40, 74, .04); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.settings-nav-card:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(15, 40, 74, .08); border-color: #cfe0f7; }
.settings-nav-icon { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(180deg, #eef5ff, #e5f0ff); color: #1c78e8; }
.settings-nav-icon svg { width: 22px; height: 22px; }
.settings-nav-card h2 { margin: 0 0 6px; font-size: 1.04rem; color: var(--text); }
.settings-nav-card p { margin: 0; color: var(--muted); font-size: .83rem; line-height: 1.5; }
.settings-nav-arrow { color: #8ca0b8; display: flex; align-items: center; justify-content: center; }
.settings-nav-arrow svg { width: 16px; height: 16px; }
.settings-stack { display: grid; gap: 18px; }
.back-link { appearance: none; border: 0; background: transparent; padding: 0; margin: 0 0 10px; color: var(--muted); font-weight: 700; cursor: pointer; }
.back-link:hover { color: var(--blue-dark); }
.storage-detail-card { display: grid; gap: 16px; }
.storage-metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.storage-metric { border: 1px solid var(--line); background: #f8fbfe; border-radius: 14px; padding: 16px 18px; }
.storage-metric small { display: block; color: var(--muted); margin-bottom: 6px; }
.storage-metric strong { display: block; font-size: 1.05rem; color: var(--text); }
.storage-summary { margin: 0; color: var(--muted); }
@media (max-width: 760px) {
  .settings-nav-card { grid-template-columns: 48px 1fr 20px; padding: 18px; }
  .storage-metrics-grid { grid-template-columns: 1fr; }
}


/* V33 - botões dos clientes alinhados e modal bonito de confirmação */
.client-actions { display: flex; flex-wrap: nowrap; gap: 8px; }
.client-actions > button { flex: 1 1 0; min-width: 0; }
.client-meta button { min-height: 36px; padding: 0 9px; gap: 6px; font-size: .71rem; }
.client-meta button svg { width: .84rem; height: .84rem; }
.client-actions .delete-client-button { color: #ad3040; background: #fff5f6; border: 1px solid #efc7cc; }
.confirm-modal { width: min(560px, calc(100vw - 30px)); }
.confirm-alert-box { display: flex; align-items: flex-start; gap: 14px; padding: 16px; border: 1px solid #f1d8b8; border-radius: 14px; background: linear-gradient(180deg, #fffaf1, #fff6ea); }
.confirm-alert-icon { flex: 0 0 46px; width: 46px; height: 46px; display: grid; place-items: center; color: #b85f00; border-radius: 14px; background: #ffe7bf; }
.confirm-alert-icon svg { width: 1.15rem; height: 1.15rem; }
.confirm-alert-box strong { display: block; color: #6d4900; font-size: .92rem; }
.confirm-alert-box p { margin: 6px 0 0; color: #806b43; font-size: .78rem; line-height: 1.5; }
@media (max-width: 640px) {
  .client-actions { flex-wrap: wrap; }
  .client-actions > button { flex: 1 1 calc(50% - 8px); }
}

/* V34 - confirmação com senha */
.confirm-password-field { margin-top: 16px; }
.confirm-password-field input { margin-top: 8px; }
.confirm-password-field small { display: block; margin-top: 6px; color: var(--muted); }


/* V35 - lista de ordens responsiva sem esconder informações */
@media (max-width: 900px) {
  .order-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: start !important;
  }
  .order-row .row-os,
  .order-row .row-client,
  .order-row .row-category,
  .order-row .row-model,
  .order-row .row-serial,
  .order-row .row-entry {
    display: flex !important;
  }
  .order-row .row-serial strong,
  .order-row .row-entry strong,
  .order-row .row-model strong,
  .order-row .row-category strong,
  .order-row .row-client strong,
  .order-row .row-os strong {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: initial !important;
    word-break: break-word;
  }
  .order-row-actions {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 4px;
  }
}

@media (max-width: 640px) {
  .orders-filters {
    grid-template-columns: 1fr !important;
  }
  .order-row {
    grid-template-columns: 1fr !important;
    padding: 14px 12px !important;
    gap: 10px !important;
  }
  .order-row .row-os,
  .order-row .row-client,
  .order-row .row-category,
  .order-row .row-model,
  .order-row .row-serial,
  .order-row .row-entry {
    display: flex !important;
  }
  .order-row .row-label {
    white-space: normal !important;
  }
  .order-row-actions {
    grid-column: auto !important;
    width: 100%;
    display: flex !important;
    justify-content: stretch !important;
    flex-wrap: wrap !important;
  }
  .order-row-actions .button {
    flex: 1 1 calc(33.333% - 8px);
    min-width: 110px;
  }
}


/* V36 - barra horizontal e valores sem negrito na lista de OS */
.orders-list-wrap {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}

.orders-list-wrap::-webkit-scrollbar {
  height: 10px;
}
.orders-list-wrap::-webkit-scrollbar-thumb {
  background: #c9d7e8;
  border-radius: 999px;
}
.orders-list-wrap::-webkit-scrollbar-track {
  background: #edf3fa;
  border-radius: 999px;
}

.order-row {
  min-width: 1180px !important;
}

.order-row .row-label {
  font-weight: 800 !important;
}

.order-row .row-info strong,
.order-row .row-entry strong,
.order-row .order-number {
  font-weight: 500 !important;
  color: var(--text) !important;
}

.order-row .order-number {
  font-size: .84rem !important;
}

@media (max-width: 900px) {
  .orders-list-wrap {
    overflow-x: auto !important;
  }
  .order-row {
    min-width: 1120px !important;
    grid-template-columns: 110px minmax(150px, 1.15fr) minmax(130px, .9fr) minmax(130px, 1fr) minmax(230px, 1.3fr) 160px minmax(250px, auto) !important;
    gap: 12px !important;
  }
  .order-row .row-os,
  .order-row .row-client,
  .order-row .row-category,
  .order-row .row-model,
  .order-row .row-serial,
  .order-row .row-entry {
    display: flex !important;
  }
  .order-row-actions {
    grid-column: auto !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 640px) {
  .orders-list-wrap {
    overflow-x: auto !important;
  }
  .orders-filters {
    grid-template-columns: 1fr auto auto !important;
    min-width: 780px;
  }
  .order-row {
    min-width: 1120px !important;
    padding: 14px 12px !important;
  }
  .order-row-actions .button {
    flex: 0 0 auto !important;
    min-width: 110px;
  }
}


/* V37 - barra horizontal visível na lista de ordens */
.page[data-page="ordens"] .filter-panel { overflow: visible !important; }
.orders-list-wrap {
  width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 10px;
  margin-top: 2px;
}
.orders-list-wrap::-webkit-scrollbar {
  height: 12px;
}
.orders-list-wrap::-webkit-scrollbar-thumb {
  background: #c6d6e8;
  border-radius: 999px;
}
.orders-list-wrap::-webkit-scrollbar-track {
  background: #edf3fa;
  border-radius: 999px;
}
.orders-list-wrap .order-list {
  min-width: 1230px;
}
.page[data-page="ordens"] .order-row {
  min-width: 1230px !important;
  grid-template-columns: 110px minmax(150px, 1.25fr) minmax(120px, .9fr) minmax(130px, 1fr) minmax(220px, 1.35fr) 150px minmax(260px,auto) !important;
  gap: 14px !important;
}
.page[data-page="ordens"] .order-row .row-os,
.page[data-page="ordens"] .order-row .row-client,
.page[data-page="ordens"] .order-row .row-category,
.page[data-page="ordens"] .order-row .row-model,
.page[data-page="ordens"] .order-row .row-serial,
.page[data-page="ordens"] .order-row .row-entry {
  display: flex !important;
}
.page[data-page="ordens"] .order-row .row-status-wrap,
.page[data-page="ordens"] .order-row .row-total,
.page[data-page="ordens"] .order-row .row-chevron {
  display: none !important;
}
.page[data-page="ordens"] .order-row-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  gap: 8px;
}
.page[data-page="ordens"] .order-row-actions .button {
  flex: 0 0 auto;
}
.page[data-page="ordens"] .order-row .row-label {
  font-weight: 800 !important;
}
.page[data-page="ordens"] .order-row .row-info strong,
.page[data-page="ordens"] .order-row .order-number {
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 900px) {
  .page[data-page="ordens"] .orders-list-wrap .order-list {
    min-width: 1230px;
  }
  .page[data-page="ordens"] .order-row {
    min-width: 1230px !important;
    grid-template-columns: 110px minmax(150px, 1.25fr) minmax(120px, .9fr) minmax(130px, 1fr) minmax(220px, 1.35fr) 150px minmax(260px,auto) !important;
  }
}
@media (max-width: 640px) {
  .page[data-page="ordens"] .orders-list-wrap {
    padding-bottom: 12px;
  }
  .page[data-page="ordens"] .orders-list-wrap .order-list,
  .page[data-page="ordens"] .order-row {
    min-width: 1230px !important;
  }
}


/* V38 - correção do cabeçalho para data/hora/usuário não sobrepor */
.topbar {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto auto;
  align-items: center;
  column-gap: 16px;
}
.top-title {
  min-width: 0;
  text-align: left;
}
.session-user {
  position: relative;
  z-index: 1;
}
.device-status {
  position: static !important;
  right: auto !important;
  margin-left: 0;
  justify-self: end;
  flex-wrap: nowrap;
  gap: 14px;
}
.status-cluster div,
.session-user > div {
  min-width: 0;
}
.status-cluster strong,
.status-cluster span,
.session-user strong,
.session-user span {
  white-space: nowrap;
}

@media (max-width: 1280px) {
  .topbar {
    grid-template-columns: auto minmax(180px, 1fr) auto auto;
    column-gap: 12px;
    padding: 0 18px;
  }
  .device-status { gap: 10px; }
  .session-user { padding: 0 10px; }
  .session-user > div { min-width: 72px; }
  .status-cluster strong, .session-user strong { font-size: .7rem; }
  .status-cluster span, .session-user span { font-size: .62rem; }
}

@media (max-width: 1100px) {
  .topbar {
    height: auto;
    padding: 10px 14px;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "menu title user"
      "menu title status";
    row-gap: 6px;
    align-items: center;
  }
  .menu-button { grid-area: menu; }
  .top-title { grid-area: title; }
  .session-user {
    grid-area: user;
    justify-self: end;
    align-self: end;
  }
  .device-status {
    grid-area: status;
    justify-self: end;
    align-self: start;
  }
}

@media (max-width: 900px) {
  .topbar {
    height: auto;
    padding: 10px 12px;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "menu title"
      "status status";
    row-gap: 8px;
  }
  .top-title { text-align: left; }
  .session-user {
    display: none !important;
  }
  .device-status {
    width: 100%;
    justify-content: flex-end;
    gap: 10px;
  }
  .clock-cluster, .status-divider { display: flex; }
  .status-cluster strong { max-width: none; }
  .status-cluster span { display: block; }
}

@media (max-width: 640px) {
  .topbar {
    padding: 9px 10px;
  }
  .top-title strong { font-size: .92rem; }
  .device-status {
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 12px;
  }
  .status-cluster {
    gap: 7px;
    justify-content: center;
    align-items: center;
    flex: 0 1 auto;
  }
  .status-cluster div {
    align-items: center;
    text-align: center;
  }
  .status-cluster > svg { width: 1.2rem; height: 1.2rem; }
  .status-cluster strong { font-size: .68rem; }
  .status-cluster span { font-size: .6rem; }
  .status-divider {
    height: 28px;
    flex: 0 0 1px;
  }
}


/* V40 - Ordens recentes iguais ao designer de Ordens de serviço */
.dashboard-orders-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}
.dashboard-orders-wrap::-webkit-scrollbar {
  height: 12px;
}
.dashboard-orders-wrap::-webkit-scrollbar-thumb {
  background: #c6d6e8;
  border-radius: 999px;
}
.dashboard-orders-wrap::-webkit-scrollbar-track {
  background: #edf3fa;
  border-radius: 999px;
}
.dashboard-order-list {
  min-width: 1230px;
}
.page[data-page="dashboard"] .dashboard-order-list .order-row {
  min-width: 1230px !important;
  grid-template-columns: 110px minmax(150px, 1.25fr) minmax(120px, .9fr) minmax(130px, 1fr) minmax(220px, 1.35fr) 150px minmax(260px,auto) !important;
  gap: 14px !important;
}
.page[data-page="dashboard"] .dashboard-order-list .row-os,
.page[data-page="dashboard"] .dashboard-order-list .row-client,
.page[data-page="dashboard"] .dashboard-order-list .row-category,
.page[data-page="dashboard"] .dashboard-order-list .row-model,
.page[data-page="dashboard"] .dashboard-order-list .row-serial,
.page[data-page="dashboard"] .dashboard-order-list .row-entry {
  display: flex !important;
}
.page[data-page="dashboard"] .dashboard-order-list .row-label {
  font-weight: 800 !important;
}
.page[data-page="dashboard"] .dashboard-order-list .row-info strong,
.page[data-page="dashboard"] .dashboard-order-list .order-number {
  font-weight: 500 !important;
  color: var(--text) !important;
}
.page[data-page="dashboard"] .dashboard-order-list .order-row-actions {
  display: flex !important;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
}
.page[data-page="dashboard"] .dashboard-order-list .order-row-actions .button {
  flex: 0 0 auto;
}
@media (max-width: 900px) {
  .dashboard-order-list,
  .page[data-page="dashboard"] .dashboard-order-list .order-row {
    min-width: 1230px !important;
  }
}


/* V41 - detalhes da OS em página no lugar de modal */
.inline-back {
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  color: #66768a;
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
  margin-bottom: 8px;
}
.inline-back svg { width: .95rem; height: .95rem; transform: rotate(180deg); }
.order-detail-heading {
  align-items: flex-start;
}
.detail-order-status {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: 36px;
}
.detail-page-panel {
  padding: 0;
  overflow: hidden;
}
.detail-page-body {
  padding: 20px;
}
.detail-page-actions {
  min-height: 67px;
  padding: 13px 20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 9px;
  border-top: 1px solid var(--line);
  background: #f9fbfd;
}
@media (max-width: 900px) {
  .order-detail-heading { gap: 10px; }
  .detail-order-status { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .detail-page-body { padding: 14px; }
  .detail-page-actions { justify-content: stretch; }
  .detail-page-actions .button { flex: 1 1 calc(50% - 8px); }
}
@media print {
  .page[data-page="ordem-detalhes"] { display: block !important; }
  .page[data-page="ordem-detalhes"] .detail-page-panel { border: 0; box-shadow: none; }
  .page[data-page="ordem-detalhes"] .detail-page-actions,
  .page[data-page="ordem-detalhes"] .inline-back,
  .page[data-page="ordem-detalhes"] .detail-order-status { display: none !important; }
}


/* V42 - Página de detalhes igual ao layout de referência */
.order-details-page { max-width: 1450px; }
.order-detail-breadcrumb { margin: 2px 0 16px; display: flex; align-items: center; gap: 7px; color: #728196; font-size: .75rem; }
.order-detail-breadcrumb button { padding: 0; border: 0; background: transparent; color: #0f6fdc; font: inherit; font-weight: 800; cursor: pointer; }
.order-detail-breadcrumb svg { width: .72rem; height: .72rem; color: #97a7b9; }
.order-detail-heading { min-height: 88px; margin-bottom: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.order-detail-heading-copy h1 { margin: 3px 0 7px; font-size: clamp(1.65rem,2.4vw,2.2rem); }
.order-detail-heading-copy > p:not(.eyebrow) { color: #687a8d; font-size: .88rem; }
.order-detail-summary { min-width: 220px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid #dce6f1; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(16,43,72,.08); }
.order-detail-summary > strong { font-size: 1.25rem; color: #071f36; letter-spacing: -.02em; }
.order-detail-summary .status-badge { white-space: nowrap; }
.detail-page-panel { border-radius: 16px; overflow: hidden; }
.detail-page-body { padding: 22px; }
.detail-grid-page { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.detail-grid-page .detail-block { padding: 20px; border: 1px solid #dce6f0; border-radius: 14px; background: #fff; box-shadow: 0 4px 14px rgba(15,40,74,.025); }
.detail-grid-page .detail-block.detail-defect { background: linear-gradient(180deg,#fffafa,#fff4f4); border-color: #f1d4d8; }
.detail-grid-page .detail-block.detail-accessories { background: linear-gradient(180deg,#fbfffd,#effbf7); border-color: #cfebe1; }
.detail-grid-page .detail-block.wide { grid-column: 1 / -1; }
.detail-card-title { margin: 0 0 16px; display: flex; align-items: center; gap: 12px; }
.detail-card-title .detail-card-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(180deg,#2093ff,#0974e8); box-shadow: 0 7px 16px rgba(14,116,232,.18); }
.detail-card-title .detail-card-icon svg { width: 1.05rem; height: 1.05rem; }
.detail-card-title h3 { margin: 0 !important; color: #0872e7 !important; font-size: .8rem !important; font-weight: 900; text-transform: uppercase; letter-spacing: .035em; }
.detail-defect .detail-card-icon { background: linear-gradient(180deg,#ff5f61,#ea3539); }
.detail-defect .detail-card-title h3 { color: #e63238 !important; }
.detail-accessories .detail-card-icon { background: linear-gradient(180deg,#16bd9a,#079f80); }
.detail-accessories .detail-card-title h3 { color: #07977d !important; }
.detail-budget .detail-card-icon { background: linear-gradient(180deg,#1ec774,#0aa95c); }
.detail-history .detail-card-icon { background: linear-gradient(180deg,#299fff,#0b7bea); }
.detail-lines { display: grid; gap: 9px; }
.detail-line { display: grid; grid-template-columns: 125px minmax(0,1fr); gap: 12px; align-items: start; }
.detail-line span { color: #60728a; font-size: .76rem; }
.detail-line strong { color: #0e2238; font-size: .78rem; font-weight: 750; line-height: 1.45; }
.detail-text { margin: 0; color: #14273c; font-size: .8rem; line-height: 1.65; }
.detail-budget .table-wrap { border-radius: 0; overflow-x: auto; }
.detail-budget .budget-view { min-width: 680px; border-collapse: collapse; }
.detail-budget .budget-view thead th { padding: 12px 11px; background: #f2f6fb; color: #3f5369; font-size: .72rem; text-transform: uppercase; }
.detail-budget .budget-view tbody td { padding: 12px 11px; border-bottom: 1px solid #dde6f0; font-size: .78rem; }
.detail-budget .budget-view tfoot td { padding: 12px 11px; background: #eef6ff; color: #071f36; font-weight: 900; font-size: .83rem; }
.detail-budget .detail-text { margin-top: 12px; }
.detail-history .history-list { padding-left: 4px; }
.detail-history .history-item { padding: 2px 0 17px 28px; border-left: 2px solid #bcd8fb; }
.detail-history .history-item::before { left: -7px; width: 11px; height: 11px; border: 3px solid #fff; background: #1688f5; box-shadow: 0 0 0 1px #1688f5; }
.detail-history .history-item strong { font-size: .8rem; color: #13263a; }
.detail-history .history-item time { margin: 4px 0; font-size: .68rem; }
.detail-history .history-item p { font-size: .72rem; }
.detail-page-actions { position: sticky; bottom: 0; z-index: 3; min-height: 72px; padding: 13px 20px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; border-top: 1px solid #dce5ef; background: rgba(249,251,253,.97); backdrop-filter: blur(10px); }
.detail-actions-spacer { flex: 1 1 auto; }
.detail-page-actions .button { min-height: 42px; padding-inline: 16px; }
.detail-back-button { color: #344960; border: 1px solid #d1dce8; background: #fff; }
.detail-back-button svg { transform: rotate(180deg); }
@media (max-width: 900px) {
  .order-detail-heading { flex-direction: column; gap: 14px; }
  .order-detail-summary { width: 100%; min-width: 0; }
  .detail-grid-page { grid-template-columns: 1fr; }
  .detail-grid-page .detail-block.wide { grid-column: auto; }
  .detail-page-actions { position: static; flex-wrap: wrap; }
  .detail-actions-spacer { display: none; }
  .detail-page-actions .detail-back-button { flex: 1 1 100%; }
}
@media (max-width: 600px) {
  .detail-page-body { padding: 13px; }
  .detail-grid-page { gap: 12px; }
  .detail-grid-page .detail-block { padding: 15px; }
  .detail-line { grid-template-columns: 105px minmax(0,1fr); gap: 8px; }
  .detail-page-actions .button { flex: 1 1 calc(50% - 8px); }
}
@media print {
  .order-detail-breadcrumb, .detail-page-actions { display: none !important; }
  .order-detail-summary { border: 0; box-shadow: none; padding: 0; }
  .detail-grid-page .detail-block { box-shadow: none; break-inside: avoid; }
}


/* V43 - botões nos cards de detalhes e página de orçamento */
.detail-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.detail-section-head .detail-card-title { margin-bottom: 0; }
.detail-card-action {
  min-height: 38px;
  padding-inline: 14px;
  white-space: nowrap;
  flex: 0 0 auto;
}
.budget-page-panel {
  overflow: hidden;
}
.budget-page-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.budget-page-section,
.budget-page-summary {
  padding: 20px;
}
.budget-page-section {
  border-bottom: 1px solid #e1e9f2;
}
.budget-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.budget-page-head h2 {
  margin: 0;
  font-size: 1.05rem;
}
.budget-page-labels,
.budget-page-row {
  display: grid;
  grid-template-columns: 130px 1.1fr 1.35fr 90px 130px 52px;
  gap: 10px;
  align-items: center;
}
.budget-page-labels {
  padding: 0 0 8px;
  color: #5d6d81;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
#budgetPageItems {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.budget-page-row {
  padding: 12px;
  border: 1px solid #dce6f1;
  border-radius: 14px;
  background: #fbfdff;
}
.budget-page-row input,
.budget-page-row select {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid #cdd9e8;
  background: #fff;
  padding: 0 12px;
  font: inherit;
}
.budget-page-row .remove-budget-page-item {
  width: 44px;
  height: 44px;
  border: 1px solid #f0c8cf;
  border-radius: 12px;
  background: #fff5f6;
  color: #d8485f;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.budget-page-row .remove-budget-page-item svg { width: 1rem; height: 1rem; }
.budget-page-actions {
  margin-top: 0;
}
@media (max-width: 1180px) {
  .budget-page-labels,
  .budget-page-row {
    grid-template-columns: 110px 1fr 1fr 80px 120px 50px;
  }
}
@media (max-width: 860px) {
  .detail-section-head {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .detail-card-action {
    width: 100%;
    justify-content: center;
  }
  .budget-page-labels { display: none; }
  .budget-page-row {
    grid-template-columns: 1fr 1fr;
  }
  .budget-page-row > *:nth-child(1),
  .budget-page-row > *:nth-child(2),
  .budget-page-row > *:nth-child(3) { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .budget-page-section,
  .budget-page-summary { padding: 14px; }
  .budget-page-head { flex-direction: column; align-items: stretch; }
  .budget-page-head .button { width: 100%; justify-content: center; }
  .budget-page-row { grid-template-columns: 1fr; }
  .budget-page-actions .button { flex: 1 1 100%; }
}

/* V166 - técnico responsável no orçamento da OS */
.budget-technician-field {
  padding: 12px 14px;
  border: 1px solid #d9e5f2;
  border-radius: 12px;
  background: #f8fbff;
}
.budget-technician-field > span { color: #243b55; font-weight: 800; }
.budget-technician-field select { min-height: 44px; }
.budget-technician-field > small { margin-top: 2px; color: #728497; }
.budget-technician-field[hidden] { display: none !important; }

/* V45 - prazo do conserto como texto */
#budgetPageDeadline { text-transform: none; }


/* V46 - Pré-Orçamento e autocomplete no orçamento */
.prebudget-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.prebudget-layout.composer-open { grid-template-columns: minmax(330px, 450px) minmax(0, 1fr); }
.prebudget-form-grid { gap: 14px; }
.prebudget-form-actions { justify-content: flex-end; }
.prebudget-template-list { display: grid; gap: 10px; margin: 16px 20px 20px; }
.prebudget-pager { margin: 14px 20px 20px; justify-content: flex-end; }
.prebudget-list-panel .empty-state { margin: 16px 20px 20px; }
.prebudget-template-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid var(--line-soft);
  border-radius: 14px;
  background: #fbfdff;
}
.prebudget-template-main { min-width: 0; flex: 1; }
.prebudget-template-main > div { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.prebudget-template-main strong { color: var(--text); }
.prebudget-template-main p { margin: 6px 0; color: #586b80; line-height: 1.4; font-size: .82rem; }
.prebudget-template-main small { color: var(--muted); }
.prebudget-type-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #eaf3ff;
  color: #1269d3;
  font-size: .7rem;
  font-weight: 800;
  white-space: nowrap;
}
.prebudget-template-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.prebudget-picker {
  position: relative;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid #d9e5f2;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fbff, #f4f9ff);
}
.prebudget-picker .field { margin: 0; }
.prebudget-picker .picker-input { margin-top: 7px; }
.prebudget-suggestions {
  position: absolute;
  z-index: 20;
  left: 14px;
  right: 14px;
  top: calc(100% - 5px);
  max-height: 330px;
  overflow-y: auto;
  border: 1px solid #cfdceb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(17, 45, 78, .14);
  padding: 6px;
}
.prebudget-suggestion {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.prebudget-suggestion:hover { background: #f2f7fd; }
.prebudget-suggestion-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.prebudget-suggestion-copy strong { color: #102b45; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prebudget-suggestion-copy small { color: #6c7c8e; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prebudget-suggestion-price { color: #0c7d55; font-weight: 800; white-space: nowrap; }
.prebudget-no-result { padding: 14px; color: var(--muted); text-align: center; }
@media (max-width: 1050px) {
  .prebudget-layout, .prebudget-layout.composer-open { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .prebudget-template-row { align-items: flex-start; flex-direction: column; }
  .prebudget-template-actions { width: 100%; }
  .prebudget-template-actions .button { flex: 1; }
  .prebudget-suggestion { grid-template-columns: auto minmax(0,1fr); }
  .prebudget-suggestion-price { grid-column: 2; }
}


/* V47 - botões e status do orçamento */
.detail-card-actions-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
.detail-budget .detail-section-head {
  align-items: flex-start;
}
.budget-detail-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 20px;
  align-items: start;
  margin-top: 12px;
}
.budget-detail-meta .detail-text { margin: 0; }
.budget-decision-status {
  min-width: 320px;
  border: 1px solid #d8e5f3;
  border-radius: 14px;
  background: #f8fbff;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.budget-decision-badge { flex: 0 0 auto; }
.budget-decision-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.budget-decision-meta strong {
  font-size: .96rem;
  color: #10233c;
}
.budget-decision-meta span {
  color: #647689;
  font-size: .84rem;
}
.budget-status-autorizado { border-color: #bad6ff; background: #f4f9ff; }
.budget-status-recusado { border-color: #f2cad0; background: #fff7f8; }
.budget-status-aguardando_autorizacao { border-color: #f0e0ad; background: #fffaf0; }
.budget-status-recebido { border-color: #d8e5f3; background: #f8fbff; }
.budget-view-empty {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
@media (max-width: 1120px) {
  .budget-detail-meta { grid-template-columns: 1fr; }
  .budget-decision-status { min-width: 0; width: 100%; }
}
@media (max-width: 820px) {
  .detail-card-actions-group { width: 100%; justify-content: stretch; }
  .detail-card-actions-group .button { flex: 1 1 100%; justify-content: center; }
  .budget-view-empty { flex-direction: column; }
}


/* V49 - não mostrar badge Recebido quando não existir orçamento */
.budget-status-no-badge {
  justify-content: flex-start;
}
.budget-status-no-badge .budget-decision-meta {
  width: 100%;
}


/* V50 - mostrar quem fez cada ação no histórico */
.history-actor {
  margin-top: 2px;
  font-size: .84rem;
  color: #5f7287;
  font-weight: 600;
}


/* V51 - layout do orçamento vazio igual ao modelo solicitado */
.budget-view-empty {
  min-height: 98px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px 4px;
}
.budget-empty-center {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.budget-empty-center .detail-text {
  margin: 0;
  font-size: .96rem;
  color: #26384f;
}
@media (max-width: 820px) {
  .budget-view-empty {
    min-height: 86px;
    padding: 8px 4px;
  }
}


/* V52 - observações internas e laudo técnico */
#orderTechnicalReport {
  min-height: 180px;
}

/* V53 - impressão de abertura e novos campos da empresa */

/* V54 - impressão idêntica ao modelo solicitado */


/* V55 - Observações e laudo apenas na tela de detalhes */
.detail-note-panel {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.detail-note-panel-head {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

.detail-note-panel-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--text);
  font-weight: 700;
  box-shadow: var(--shadow-soft);
}

.detail-note-content {
  min-height: 56px;
  display: flex;
  align-items: center;
  font-weight: 600;
  padding: 8px 10px;
}

/* V56 - impressão sem quadrado de logo/carimbo */


/* V57 - edição direta de observações internas e laudo técnico */
.detail-inline-editor {
  min-height: 138px;
  padding: 16px 18px;
}
.inline-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.inline-editor-title {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: .92rem;
}
.internal-private-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #eef5ff;
  border: 1px solid #cfe0f7;
  color: #3f648c;
  font-size: .72rem;
  font-weight: 700;
}
.inline-editor-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.inline-editor-textarea {
  width: 100%;
  min-height: 82px;
  resize: vertical;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--text);
  font: inherit;
  line-height: 1.5;
  padding: 11px 12px;
  outline: none;
}
.inline-editor-textarea[readonly] {
  cursor: default;
}
.detail-inline-editor.is-editing .inline-editor-textarea {
  background: #fff;
  border-color: #b9cde7;
  box-shadow: 0 0 0 3px rgba(26, 116, 232, .08);
}
@media (max-width: 720px) {
  .inline-editor-head { align-items: flex-start; flex-direction: column; }
  .inline-editor-actions { width: 100%; justify-content: stretch; }
  .inline-editor-actions .button { flex: 1 1 auto; justify-content: center; }
}


/* V58 - Observações Interna / Obs-Laudo exatamente no estilo aprovado */
.detail-inline-editor {
  min-height: 168px;
  padding: 18px 20px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #d9e5f2;
  box-shadow: 0 1px 2px rgba(28, 50, 74, .02);
}
.inline-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.inline-editor-heading-group {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.inline-editor-icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  color: #fff;
  box-shadow: 0 5px 12px rgba(15, 38, 66, .12);
}
.inline-editor-icon svg {
  width: 18px;
  height: 18px;
}
.detail-inline-notes .inline-editor-icon {
  background: linear-gradient(180deg, #ffb516 0%, #f39800 100%);
}
.detail-inline-technicalReport .inline-editor-icon {
  background: linear-gradient(180deg, #8b3ff2 0%, #6f23dd 100%);
}
.inline-editor-copy {
  min-width: 0;
}
.inline-editor-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 20px;
  font-size: .95rem;
  color: #0d2038;
}
.inline-editor-copy p {
  margin: 3px 0 0;
  color: #63748a;
  font-size: .76rem;
  line-height: 1.35;
}
.inline-editor-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  flex: 0 0 auto;
}
.inline-editor-actions .button {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 10px;
}
.inline-editor-actions .button svg {
  width: .95rem;
  height: .95rem;
}
.inline-editor-textarea {
  width: 100%;
  min-height: 88px;
  resize: vertical;
  border: 1px solid #d8e3f0;
  border-radius: 11px;
  background: #fbfdff;
  color: #31445d;
  font: inherit;
  font-size: .84rem;
  line-height: 1.5;
  padding: 13px 14px;
  outline: none;
}
.inline-editor-textarea[readonly] {
  cursor: default;
  background: #fbfdff;
}
.detail-inline-editor.is-editing .inline-editor-textarea {
  background: #fff;
  border-color: #7bb2f6;
  box-shadow: 0 0 0 3px rgba(26, 116, 232, .08);
  color: #12243a;
}
.detail-inline-editor.is-editing {
  border-color: #bdd6f4;
}
@media (max-width: 720px) {
  .detail-inline-editor { padding: 15px; }
  .inline-editor-head { flex-direction: column; align-items: stretch; }
  .inline-editor-actions { width: 100%; justify-content: stretch; }
  .inline-editor-actions .button { flex: 1 1 auto; justify-content: center; }
  .inline-editor-textarea { min-height: 105px; }
}


/* V59 - Observação normal separada da Observação Interna */
#orderObservations{min-height:94px;}

/* V60 - campo Observações abaixo de Acessórios na abertura da OS */


/* V61 - duas opções de orçamento por OS */
.budget-options-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 12px;
}
.budget-option-card {
  border: 1px solid #d8e4f0;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
.budget-option-card.budget-option-authorized { border-color: #6bd59a; box-shadow: 0 0 0 2px rgba(20,184,103,.08); }
.budget-option-card.budget-option-not-selected { opacity: .78; }
.budget-option-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  background: #f8fbff;
  border-bottom: 1px solid #dfe8f2;
}
.budget-option-head h4 { margin: 2px 0 0; font-size: 1rem; }
.budget-option-kicker { font-size: .68rem; letter-spacing: .08em; color: #0875ea; font-weight: 900; }
.budget-option-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.budget-option-status { padding: 7px 10px; border-radius: 999px; background: #eaf2fb; font-size: .72rem; font-weight: 850; color: #334a62; }
.budget-option-authorized .budget-option-status { background: #e2f8ec; color: #0b7a43; }
.budget-option-deauthorize {
  border: 1px solid #f0bf7a;
  background: linear-gradient(180deg, #fffaf2 0%, #fff1dc 100%);
  color: #a35b00;
}
.budget-option-deauthorize:hover {
  border-color: #e2a64f;
  background: #ffe9c7;
  color: #874900;
}
.budget-option-deauthorize svg { width: .95rem; height: .95rem; }
.budget-option-delete {
  color: #d33a4d;
  border-color: #efb8c0;
  background: #fff;
}
.budget-option-delete:hover {
  color: #b82438;
  border-color: #e796a2;
  background: #fff3f5;
}
.budget-option-delete svg { width: .95rem; height: .95rem; }
.budget-option-not-selected .budget-option-status { background: #eef1f5; color: #68798a; }
.budget-option-declined .budget-option-status { background: #fff0f2; color: #c9334a; }
.budget-option-pending .budget-option-status { background: #fff6d8; color: #8a6500; }
.budget-option-empty { padding: 28px 16px; text-align: center; color: #6a7c8e; }
.budget-option-meta { display: flex; gap: 22px; flex-wrap: wrap; padding: 12px 16px 15px; }
.budget-option-meta p { margin: 0; font-size: .8rem; }
.budget-selected-banner { margin: 8px 0 12px; border: 1px solid #a9ddbf; background: #effbf4; color: #087341; padding: 11px 14px; border-radius: 12px; font-weight: 800; }
.budget-selected-banner.pending { border-color: #f1d78b; background: #fffaf0; color: #7a5a00; }
.budget-option-tabs { display: flex; gap: 8px; padding: 16px 20px 0; }
.budget-option-tab { border: 1px solid #cddceb; background: #fff; color: #40546a; min-height: 42px; padding: 0 18px; border-radius: 12px; font-weight: 800; cursor: pointer; }
.budget-option-tab.active { background: #087cf0; color: #fff; border-color: #087cf0; box-shadow: 0 7px 18px rgba(8,124,240,.18); }
@media (min-width: 1200px) {
  .budget-options-grid { grid-template-columns: 1fr 1fr; align-items: start; }
  .budget-option-card .budget-view { min-width: 620px; }
  .budget-options-grid .budget-option-card { overflow-x: auto; }
}
@media (max-width: 760px) {
  .budget-option-head { align-items: flex-start; flex-direction: column; }
  .budget-option-head-actions { width: 100%; justify-content: stretch; }
  .budget-option-head-actions .button { flex: 1 1 100%; justify-content: center; }
  .budget-option-tabs { padding: 12px 14px 0; }
  .budget-option-tab { flex: 1; }
}

/* V62 - mostrar orçamento 2 apenas após existir orçamento 1; na tela de detalhes só aparece opção 2 quando criada */


/* V63 - fluxo dinâmico e moderno para 1 ou 2 orçamentos */
.budget-option-manager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px 0;
  flex-wrap: wrap;
}
.budget-option-manager .budget-option-tabs { padding: 0; }
.add-second-budget-button { margin-left: auto; }
.budget-choice-banner {
  margin: 8px 0 14px;
  border: 1px solid #d8e5f3;
  background: #f7fbff;
  border-radius: 14px;
  padding: 13px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.budget-choice-banner > div { display: flex; flex-direction: column; gap: 3px; }
.budget-choice-banner strong { color: #10243c; font-size: .95rem; }
.budget-choice-banner span { color: #65788c; font-size: .82rem; }
.budget-choice-banner.single { border-color: #c9dcf1; background: #f8fbff; }
.budget-choice-banner.multiple { border-color: #f0d997; background: #fffaf0; }
.budget-choice-banner.authorized { border-color: #a9ddbf; background: #effbf4; }
.budget-options-grid.budget-count-1 { grid-template-columns: minmax(0, 1fr); }
.budget-options-grid.budget-count-1 .budget-option-card { width: 100%; }
.budget-options-grid.budget-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 980px) {
  .budget-options-grid.budget-count-2 { grid-template-columns: 1fr; }
  .budget-choice-banner { align-items: stretch; flex-direction: column; }
  .budget-choice-banner .button { width: 100%; justify-content: center; }
  .budget-option-manager { align-items: stretch; }
  .add-second-budget-button { width: 100%; justify-content: center; }
}


/* V64 - ações rápidas horizontais no Dashboard em telas grandes */
@media (min-width: 821px) {
  .page[data-page="dashboard"] .dashboard-heading {
    min-height: auto;
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }

  .page[data-page="dashboard"] .dashboard-heading > div:first-child {
    width: 100%;
  }

  .page[data-page="dashboard"] .dashboard-actions {
    width: 100%;
    max-width: none;
    margin-top: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    flex: none;
  }

  .page[data-page="dashboard"] .dashboard-actions .dashboard-action {
    width: 100%;
    min-height: 60px;
    padding: 0 22px;
    justify-content: center;
    border-radius: 14px;
    font-size: .92rem;
  }

  .page[data-page="dashboard"] .dashboard-actions .dashboard-action svg {
    width: 1.12rem;
    height: 1.12rem;
  }
}

@media (min-width: 821px) and (max-width: 1180px) {
  .page[data-page="dashboard"] .dashboard-actions {
    gap: 12px;
  }

  .page[data-page="dashboard"] .dashboard-actions .dashboard-action {
    min-height: 56px;
    padding-inline: 16px;
    font-size: .86rem;
  }
}

@media (max-width: 820px) {
  .page[data-page="dashboard"] .dashboard-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }

  .page[data-page="dashboard"] .dashboard-actions {
    width: 100%;
    max-width: none;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}


/* V65 - paginação nas ordens recentes do dashboard */
.dashboard-orders-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-top: 10px;
}
.dashboard-orders-pager .button {
  min-height: 38px;
  padding: 0 14px;
}
.dashboard-orders-page-info {
  font-size: .86rem;
  color: var(--muted);
  font-weight: 700;
}
.page[data-page="dashboard"] .dashboard-order-list .order-row-actions {
  min-width: 190px;
}
@media (max-width: 900px) {
  .dashboard-orders-pager {
    justify-content: flex-start;
    min-width: 1230px;
  }
}

/* V66 - Voltar/Cancelar com retorno dinâmico para a página anterior */


/* V67 - correção do status da OS no cabeçalho em telas pequenas */
@media (max-width: 600px) {
  .order-detail-summary {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    padding: 16px 18px;
  }
  .order-detail-summary > strong {
    width: 100%;
    font-size: 1.15rem;
  }
  .order-detail-summary .status-badge {
    max-width: none;
    white-space: normal;
    line-height: 1.25;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
  }
}


/* V68 - botões Voltar mais visuais */
.back-link,
.inline-back,
.detail-back-button {
  appearance: none;
  min-height: 42px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d2dfec;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
  color: #173d63;
  font-size: .84rem;
  font-weight: 800;
  letter-spacing: -.01em;
  box-shadow: 0 6px 16px rgba(15, 42, 72, .08);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, color .16s ease, background .16s ease;
}
.back-link:hover,
.inline-back:hover,
.detail-back-button:hover {
  color: #0d69d8;
  border-color: #b8d2f3;
  background: linear-gradient(180deg, #ffffff 0%, #edf5ff 100%);
  box-shadow: 0 10px 20px rgba(15, 71, 126, .12);
  transform: translateY(-1px);
}
.back-link:active,
.inline-back:active,
.detail-back-button:active {
  transform: translateY(0);
  box-shadow: 0 4px 10px rgba(15, 42, 72, .08);
}
.back-link svg,
.inline-back svg,
.detail-back-button svg {
  width: 1rem;
  height: 1rem;
  color: #0f7af0;
  flex: 0 0 auto;
}
.back-link {
  margin: 0 0 14px;
}
.inline-back {
  margin-bottom: 10px;
}
.detail-back-button {
  color: #173d63;
  border-color: #d2dfec;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
}
@media (max-width: 640px) {
  .back-link,
  .inline-back,
  .detail-back-button {
    min-height: 44px;
    padding: 0 14px;
    border-radius: 11px;
  }
}


/* V69 - impressão e encerramento dinâmicos */
.status-ENCERRADO { color:#465769; background:#edf1f5; }
.order-detail-heading-side { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.order-detail-head-actions { display:flex; align-items:center; gap:9px; }
.head-workflow-button { min-height:48px; padding:0 18px; border-radius:11px; font-weight:800; }
.detail-closure { background:linear-gradient(180deg,#fbfcfe,#f2f6fa)!important; border-color:#cfd9e4!important; }
.detail-closure .detail-card-icon { background:linear-gradient(180deg,#65788d,#465a6f); }
.locked-field-label { display:inline-flex; padding:7px 10px; border-radius:999px; color:#536273; background:#edf1f5; font-size:.72rem; font-weight:800; }
.workflow-modal { width:min(720px,calc(100vw - 30px)); }
.workflow-choice-list { display:grid; gap:10px; }
.workflow-choice { width:100%; min-height:78px; padding:14px; display:flex; align-items:center; gap:14px; text-align:left; border:1px solid #dbe5ef; border-radius:14px; background:#fff; cursor:pointer; transition:.16s ease; }
.workflow-choice:hover { transform:translateY(-1px); border-color:#a9cdf8; box-shadow:0 8px 22px rgba(23,70,116,.10); }
.workflow-choice-icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(180deg,#2998ff,#1377e4); }
.workflow-choice-icon.success{background:linear-gradient(180deg,#21bd85,#0b9b69)}.workflow-choice-icon.warning{background:linear-gradient(180deg,#f4b830,#df9610)}.workflow-choice-icon.danger{background:linear-gradient(180deg,#f06470,#d84553)}
.workflow-choice-icon svg { width:1.2rem; height:1.2rem; }
.workflow-choice span:last-child { display:flex; flex-direction:column; gap:4px; }
.workflow-choice strong { color:#112a43; font-size:.9rem; }
.workflow-choice small { color:#687b8e; font-size:.76rem; line-height:1.35; }
.close-order-form { display:grid; gap:14px; }
.close-form-heading { display:flex; align-items:center; gap:14px; border-bottom:1px solid #e0e7ef; padding-bottom:12px; }
.close-form-heading h3 { margin:0; }
.closure-info-message { padding:14px; border:1px solid #f1d8a2; border-radius:11px; background:#fff9e9; color:#765619; font-size:.82rem; line-height:1.5; }
.inline-modal-actions { padding:12px 0 0!important; }
.payment-close-panel { max-width:900px; margin:0 auto; padding:22px; }
.payment-close-form { display:grid; gap:20px; }
.payment-highlight { min-height:92px; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; border-radius:16px; color:#fff; background:linear-gradient(120deg,#0878ed,#145cc9); }
.payment-highlight span { font-weight:700; }.payment-highlight strong { font-size:1.7rem; }
.warranty-preview { padding:16px 18px; display:flex; justify-content:space-between; gap:12px; border:1px solid #cfe8dc; border-radius:12px; background:#f1fbf6; color:#14724e; }
@media(max-width:900px){.order-detail-heading-side{width:100%;align-items:stretch;flex-direction:column}.order-detail-head-actions{width:100%}.order-detail-head-actions .button{flex:1}.order-detail-summary{width:100%}}
@media(max-width:600px){.order-detail-head-actions{display:grid;grid-template-columns:1fr 1fr}.head-workflow-button{padding:0 10px}.workflow-choice{min-height:72px;padding:12px}.warranty-preview{flex-direction:column}.payment-highlight{align-items:flex-start;flex-direction:column;gap:7px}}



/* V169 - encerramento da OS com visual moderno */
.close-order-modal {
  width: min(860px, calc(100vw - 30px));
  overflow: hidden;
  border: 1px solid rgba(184, 202, 220, .72);
  border-radius: 22px;
  box-shadow: 0 28px 80px rgba(5, 24, 43, .28), 0 8px 26px rgba(14, 52, 88, .12);
}
.close-order-modal::backdrop {
  background: rgba(5, 18, 31, .62);
  backdrop-filter: blur(5px);
}
.close-order-modal .modal-head {
  min-height: 92px;
  padding: 20px 24px;
  border-bottom: 1px solid #dce7f1;
  background:
    radial-gradient(circle at 92% 0%, rgba(30, 136, 255, .13), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}
.close-order-modal .modal-head .eyebrow {
  margin: 0;
  color: #0878ed;
  font-size: .68rem;
  letter-spacing: .09em;
}
.close-order-modal .modal-head h2 {
  margin-top: 5px;
  color: #0d2843;
  font-size: 1.28rem;
  letter-spacing: -.015em;
}
.close-order-modal .modal-head .icon-button {
  width: 40px;
  height: 40px;
  border: 1px solid #dce7f1;
  border-radius: 12px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 4px 12px rgba(20, 63, 104, .06);
}
.close-order-modal .modal-head .icon-button:hover {
  border-color: #b9d3ed;
  background: #eef6ff;
  transform: translateY(-1px);
}
.close-order-modal .modal-body {
  padding: 22px;
  background: linear-gradient(180deg, #f9fbfe 0%, #f5f8fc 100%);
}
.close-choice-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.close-choice-intro {
  grid-column: 1 / -1;
  min-height: 66px;
  padding: 13px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #d5e6f6;
  border-radius: 15px;
  background: linear-gradient(135deg, #eef7ff 0%, #f8fbff 100%);
}
.close-choice-intro-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #0878ed;
  background: #dfefff;
}
.close-choice-intro-icon svg { width: 1rem; height: 1rem; }
.close-choice-intro > div { display: grid; gap: 3px; }
.close-choice-intro strong { color: #12304d; font-size: .82rem; }
.close-choice-intro small { color: #6c8094; font-size: .71rem; line-height: 1.35; }
.close-order-modal .close-choice-card {
  --choice-accent: #1684ed;
  --choice-soft: #e9f4ff;
  position: relative;
  min-height: 96px;
  padding: 14px 13px 14px 14px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  border: 1px solid #d8e4ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 13px rgba(22, 59, 94, .045);
  transform: none;
}
.close-order-modal .close-choice-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--choice-accent);
  opacity: .9;
}
.close-order-modal .close-choice-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--choice-accent) 36%, #d8e4ef);
  background: linear-gradient(135deg, #fff 0%, var(--choice-soft) 145%);
  box-shadow: 0 12px 28px rgba(20, 67, 108, .11);
}
.close-order-modal .close-choice-card.cancelled { --choice-accent: #e79a11; --choice-soft: #fff4dd; }
.close-order-modal .close-choice-card.delivered { --choice-accent: #0aa873; --choice-soft: #e8f9f2; }
.close-order-modal .close-choice-card.unrepairable { --choice-accent: #2787ea; --choice-soft: #e9f4ff; }
.close-order-modal .close-choice-card.sold { --choice-accent: #0878ed; --choice-soft: #e8f3ff; }
.close-order-modal .close-choice-card.discarded { --choice-accent: #df5260; --choice-soft: #fff0f2; }
.close-order-modal .close-choice-card.no-budget { --choice-accent: #7b8794; --choice-soft: #f1f4f7; }
.close-order-modal .close-choice-card .workflow-choice-icon {
  width: 48px;
  height: 48px;
  flex: initial;
  border-radius: 14px;
  background: var(--choice-soft);
  color: var(--choice-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--choice-accent) 17%, transparent);
}
.close-order-modal .close-choice-card .workflow-choice-icon.success,
.close-order-modal .close-choice-card .workflow-choice-icon.warning,
.close-order-modal .close-choice-card .workflow-choice-icon.danger {
  background: var(--choice-soft);
  color: var(--choice-accent);
}
.close-order-modal .close-choice-card .workflow-choice-icon svg { width: 1.15rem; height: 1.15rem; }
.close-order-modal .workflow-choice-copy {
  min-width: 0;
  display: grid !important;
  gap: 5px !important;
}
.close-order-modal .workflow-choice-copy strong {
  color: #102b45;
  font-size: .84rem;
  line-height: 1.25;
}
.close-order-modal .workflow-choice-copy small {
  color: #6b7e91;
  font-size: .7rem;
  line-height: 1.4;
}
.close-order-modal .workflow-choice-arrow {
  width: 30px;
  height: 30px;
  display: grid !important;
  place-items: center;
  border-radius: 10px;
  color: #8aa0b5;
  background: #f4f7fa;
  transition: .16s ease;
}
.close-order-modal .workflow-choice-arrow svg { width: .9rem; height: .9rem; }
.close-order-modal .close-choice-card:hover .workflow-choice-arrow {
  color: var(--choice-accent);
  background: var(--choice-soft);
  transform: translateX(2px);
}
.close-order-modal .close-order-form {
  padding: 2px;
}
.close-order-modal .close-form-heading {
  padding: 0 0 15px;
  justify-content: space-between;
}
.close-order-modal .close-form-heading h3 {
  color: #102b45;
  font-size: 1.05rem;
}
.close-order-modal .closure-info-message {
  border-color: #d9e7f3;
  border-radius: 14px;
  background: #f7fbff;
  color: #405e78;
}
.close-order-modal .inline-modal-actions {
  margin-top: 4px;
  padding-top: 15px !important;
  border-top: 1px solid #dfe8f1;
  background: transparent;
}
@media (max-width: 720px) {
  .close-order-modal { border-radius: 17px; }
  .close-order-modal .modal-head { min-height: 82px; padding: 17px 18px; }
  .close-order-modal .modal-body { padding: 14px; }
  .close-choice-list { grid-template-columns: 1fr; }
  .close-choice-intro { min-height: 62px; }
  .close-order-modal .close-choice-card { min-height: 86px; }
}
@media (max-width: 430px) {
  .close-order-modal .close-choice-card {
    grid-template-columns: 44px minmax(0, 1fr) 26px;
    gap: 10px;
    padding: 12px 10px 12px 12px;
  }
  .close-order-modal .close-choice-card .workflow-choice-icon { width: 44px; height: 44px; }
  .close-choice-intro { align-items: flex-start; }
  .close-order-modal .close-form-heading { align-items: stretch; flex-direction: column; }
}

/* V71 - vínculo entre OS reaberta e OS anterior */
.detail-linked-orders {
  display: grid;
  gap: 10px;
}
.linked-order-item {
  min-height: 78px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  border: 1px solid #cfe0f2;
  border-radius: 14px;
  background: linear-gradient(180deg, #fafdff 0%, #f1f7ff 100%);
  box-shadow: 0 5px 16px rgba(22, 72, 120, .06);
}
.linked-order-next {
  border-color: #c9eadf;
  background: linear-gradient(180deg, #fbfffd 0%, #effaf6 100%);
}
.linked-order-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(180deg, #268ff7, #0d72d9);
}
.linked-order-next .linked-order-icon {
  background: linear-gradient(180deg, #18bd86, #099f70);
}
.linked-order-icon svg { width: 1.15rem; height: 1.15rem; }
.linked-order-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.linked-order-copy small { color: #1673d2; font-size: .64rem; font-weight: 900; letter-spacing: .055em; }
.linked-order-next .linked-order-copy small { color: #087a58; }
.linked-order-copy strong { color: #102b47; font-size: .92rem; }
.linked-order-copy span { color: #64788d; font-size: .75rem; line-height: 1.35; }
.linked-order-button { white-space: nowrap; }
@media (max-width: 640px) {
  .linked-order-item {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .linked-order-button {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;
  }
}


/* V74 - paginação dinâmica na tela Ordens de serviço */
.orders-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 12px 4px;
  border-top: 1px solid var(--line-soft);
}
.orders-pager .button {
  min-height: 40px;
  min-width: 104px;
  padding: 0 16px;
}
.orders-pager .button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.orders-page-info {
  min-width: 110px;
  text-align: center;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 800;
}
.page[data-page="ordens"] .order-row-actions {
  min-width: 190px;
}
@media (max-width: 900px) {
  .orders-pager {
    justify-content: flex-start;
    min-width: 1230px;
  }
}


/* V76 - destacar OS reaberta / equipamento recorrente */
.recurring-order-number,
.recurrent-order-number {
  color: var(--rose) !important;
  font-weight: 800 !important;
}

.order-detail-summary.recurrent-order-summary {
  border-color: rgba(223, 63, 81, .28);
  box-shadow: 0 10px 24px rgba(223, 63, 81, .10);
}

.order-detail-summary.recurrent-order-summary > strong {
  color: var(--rose);
}


/* V77 - OS reaberta: número vermelho nas listas e nos detalhes */
.page[data-page="dashboard"] .dashboard-order-list .order-row .row-os .order-number.recurring-order-number,
.page[data-page="ordens"] .order-row .row-os .order-number.recurring-order-number,
.page[data-page="buscar"] .search-results .order-row .row-os .order-number.recurring-order-number,
.search-results .order-row .row-os .order-number.recurring-order-number {
  color: #df3f51 !important;
  font-weight: 850 !important;
}

#detailOrderNumberPage.recurrent-order-number,
.order-detail-summary.recurrent-order-summary #detailOrderNumberPage {
  color: #df3f51 !important;
  font-weight: 850 !important;
}

#modalOrderTitle .recurrent-order-number {
  color: #df3f51 !important;
}

/* V78 - cada OS encerrada pode originar somente uma reabertura */

/* V79 - bloqueio visual robusto de reabertura duplicada, inclusive em dados antigos */


/* V80 - alinhamento do texto quando ainda não existe orçamento */
.detail-budget .budget-view-empty {
  min-height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 18px 18px;
  margin: 0;
}
.detail-budget .budget-empty-center {
  width: 100%;
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.detail-budget .budget-empty-center .detail-text {
  margin: 0 !important;
  line-height: 1.5;
  color: #5f7185;
  font-size: .98rem;
  font-weight: 600;
  transform: none;
}
@media (max-width: 820px) {
  .detail-budget .budget-view-empty {
    min-height: 108px;
    padding: 10px 12px 14px;
  }
  .detail-budget .budget-empty-center {
    min-height: 84px;
  }
}


/* V81 - CPF/CNPJ e e-mail opcional */
.optional-field-label { color: var(--muted); font-size: .72rem; font-weight: 500; }


/* V83 - alinhar ações à direita e remover espaço lateral desnecessário nas listas */
.page[data-page="ordens"] .order-row {
  width: 100% !important;
  min-width: 1180px !important;
  grid-template-columns: 110px minmax(150px,1.25fr) minmax(120px,.9fr) minmax(130px,1fr) minmax(190px,1.25fr) 150px max-content !important;
  padding-right: 12px !important;
}
.page[data-page="ordens"] .order-row-actions {
  min-width: 0 !important;
  width: max-content !important;
  justify-self: end !important;
  justify-content: flex-end !important;
  margin-left: 0 !important;
}
.page[data-page="dashboard"] .dashboard-order-list .order-row {
  width: 100% !important;
  min-width: 1180px !important;
  grid-template-columns: 110px minmax(150px,1.25fr) minmax(120px,.9fr) minmax(130px,1fr) minmax(190px,1.25fr) 150px max-content !important;
  padding-right: 12px !important;
}
.page[data-page="dashboard"] .dashboard-order-list .order-row-actions {
  min-width: 0 !important;
  width: max-content !important;
  justify-self: end !important;
  justify-content: flex-end !important;
  margin-left: 0 !important;
}
@media (max-width: 900px) {
  .page[data-page="ordens"] .orders-list-wrap .order-list,
  .page[data-page="dashboard"] .dashboard-order-list {
    min-width: 1180px !important;
  }
  .page[data-page="ordens"] .order-row,
  .page[data-page="dashboard"] .dashboard-order-list .order-row {
    min-width: 1180px !important;
  }
}


/* V84 - alinhar CPF/CNPJ com E-mail no cadastro de cliente */
.client-personal-grid { align-items: start; }
.client-personal-grid .field { align-self: start; }
.field-label-inline { display: inline-flex; align-items: baseline; gap: 4px; flex-wrap: nowrap; }
.field-label-inline .optional-field-label { margin: 0; }


/* V87 - correções refeitas a partir da V84 */
/* Busca: botão com texto no desktop e lupa no celular */
.search-hero #globalSearchButton .search-button-icon { display: none; }
.search-hero #globalSearchButton .search-button-label { display: inline; }

/* Resultado da busca: mantém todas as colunas e permite arrastar horizontalmente */
.page[data-page="buscar"] .search-results {
  width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  padding-bottom: 8px;
}
.page[data-page="buscar"] .search-results .order-row {
  min-width: 1120px !important;
  grid-template-columns: 110px minmax(150px,1.15fr) minmax(130px,.9fr) minmax(130px,1fr) minmax(220px,1.25fr) 160px minmax(220px,auto) !important;
  gap: 12px !important;
}
.page[data-page="buscar"] .search-results .order-row .row-os,
.page[data-page="buscar"] .search-results .order-row .row-client,
.page[data-page="buscar"] .search-results .order-row .row-category,
.page[data-page="buscar"] .search-results .order-row .row-model,
.page[data-page="buscar"] .search-results .order-row .row-serial,
.page[data-page="buscar"] .search-results .order-row .row-entry {
  display: flex !important;
}
.page[data-page="buscar"] .search-results .order-row-actions {
  grid-column: auto !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
}
.page[data-page="buscar"] .search-results::-webkit-scrollbar { height: 12px; }
.page[data-page="buscar"] .search-results::-webkit-scrollbar-track { background: #e8f0f7; border-radius: 999px; }
.page[data-page="buscar"] .search-results::-webkit-scrollbar-thumb { background: #a9bfd5; border-radius: 999px; border: 2px solid #e8f0f7; }

/* Barra visível para puxar o resultado no celular */
.search-scroll-control {
  margin: 7px 8px 2px;
  padding: 3px 0 5px;
}
.search-scroll-control[hidden] { display: none !important; }
.search-scroll-control input[type="range"] {
  width: 100%;
  height: 22px;
  margin: 0;
  accent-color: var(--blue);
  cursor: ew-resize;
}

/* Orçamento: decisões dinâmicas */
.budget-decision-button { white-space: nowrap; }
.budget-decision-button svg { width: 1rem; height: 1rem; }
.budget-decision-label { display: inline; }

@media (max-width: 760px) {
  .search-hero input { padding-right: 54px !important; }
  .search-hero #globalSearchButton {
    width: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    color: #fff !important;
  }
  .search-hero #globalSearchButton::after { content: none !important; display: none !important; }
  .search-hero #globalSearchButton .search-button-label { display: none !important; }
  .search-hero #globalSearchButton .search-button-icon {
    display: block !important;
    width: 1.05rem !important;
    height: 1.05rem !important;
    margin: 0 !important;
  }

  .page[data-page="buscar"] .search-results .order-row {
    min-width: 1120px !important;
    padding: 14px 12px !important;
  }

  /* No celular, apenas os botões de decisão viram ícones */
  .budget-option-head-actions {
    width: 100%;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }
  .budget-option-head-actions .budget-option-status {
    flex: 0 0 auto;
  }
  .budget-option-head-actions .budget-option-edit {
    flex: 1 1 100% !important;
    width: 100%;
    justify-content: center;
  }
  .budget-option-head-actions .budget-decision-button,
  .budget-choice-banner .budget-decision-button {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    flex: 0 0 44px !important;
    border-radius: 12px;
    justify-content: center !important;
  }
  .budget-decision-button .budget-decision-label { display: none !important; }
  .budget-decision-button svg {
    display: block !important;
    width: 1.08rem !important;
    height: 1.08rem !important;
    margin: 0 !important;
  }
  .budget-option-authorize {
    color: #fff !important;
    background: #12a86f !important;
    border-color: #12a86f !important;
  }
  .budget-option-decline,
  .budget-decline-all {
    color: #d7374c !important;
    background: #fff5f6 !important;
    border-color: #efb8c0 !important;
  }
  .budget-choice-banner.multiple {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .budget-choice-banner.multiple > div {
    flex: 1 1 auto;
    min-width: 0;
  }
}


/* V89 - orçamento responsivo com botões textuais dinâmicos
   1 orçamento: Autorizar + Não autorizar.
   2 orçamentos: Autorizar em cada opção + um único Não autorizar nenhum.
   No celular os textos permanecem visíveis como no desktop. */
@media (max-width: 760px) {
  /* Mantém os títulos dos botões visíveis no celular */
  .budget-decision-button .budget-decision-label {
    display: inline !important;
  }
  .budget-decision-button svg {
    display: none !important;
  }

  /* Cabeçalho de cada orçamento em blocos organizados */
  .budget-option-head-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  .budget-option-head-actions .budget-option-status {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }
  .budget-option-head-actions .budget-option-edit {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
  }
  .budget-option-head-actions .budget-option-deauthorize {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
  }
  .budget-option-head-actions .budget-option-delete {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
  }

  /* Remove a transformação antiga para botões quadrados/ícones */
  .budget-option-head-actions .budget-decision-button,
  .budget-choice-banner .budget-decision-button {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    flex: initial !important;
    border-radius: 10px !important;
    justify-content: center !important;
    font-size: .82rem !important;
    white-space: nowrap !important;
  }

  /* Com um orçamento: Autorizar e Não autorizar lado a lado */
  .budget-options-grid.budget-count-1 .budget-option-authorize,
  .budget-options-grid.budget-count-1 .budget-option-decline {
    width: 100% !important;
  }
  .budget-options-grid.budget-count-1 .budget-option-authorize {
    grid-column: 1 !important;
    color: #fff !important;
    background: var(--teal) !important;
    border-color: var(--teal) !important;
  }
  .budget-options-grid.budget-count-1 .budget-option-decline {
    grid-column: 2 !important;
    color: var(--rose) !important;
    background: #fff !important;
    border-color: #f0b8bf !important;
  }

  /* Com dois orçamentos: um Autorizar ocupa toda a largura de cada opção */
  .budget-options-grid.budget-count-2 .budget-option-head-actions {
    grid-template-columns: 1fr !important;
  }
  .budget-options-grid.budget-count-2 .budget-option-head-actions .budget-option-status,
  .budget-options-grid.budget-count-2 .budget-option-head-actions .budget-option-edit,
  .budget-options-grid.budget-count-2 .budget-option-head-actions .budget-option-authorize {
    grid-column: 1 !important;
  }
  .budget-options-grid.budget-count-2 .budget-option-authorize {
    width: 100% !important;
    min-height: 46px !important;
    color: #fff !important;
    background: var(--teal) !important;
    border-color: var(--teal) !important;
  }

  /* Com dois orçamentos existe somente uma recusa global */
  .budget-choice-banner.multiple {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .budget-choice-banner.multiple .budget-decline-all {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    min-height: 44px !important;
    color: var(--rose) !important;
    background: #fff !important;
    border-color: #f0b8bf !important;
  }
}


/* V90 - detalhes da OS: voltar no topo e rodapé limpo */
.order-details-page .order-detail-heading-copy > .back-link {
  width: fit-content;
  margin: 0 0 12px -5px;
}
#orderActionsPage[hidden] { display: none !important; }

/* V91 - regra dinâmica do encerramento sem orçamento */


/* V93 - nome de acesso local / mDNS */
#localHostnamePreview,
#lanAccessHostname,
#lanAccessShortHostname { overflow-wrap: anywhere; }
#configLocalHostname { text-transform: lowercase; }

/* V100 - Itens excluídos */
.deleted-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:18px; }
.deleted-summary-card { border:1px solid var(--line); border-radius:16px; padding:18px; background:#fff; display:flex; align-items:center; gap:14px; }
.deleted-summary-icon { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:#fff1f2; color:#d94455; flex:0 0 auto; }
.deleted-summary-icon svg { width:22px; height:22px; }
.deleted-summary-card small { display:block; color:var(--muted); font-weight:700; margin-bottom:3px; }
.deleted-summary-card strong { font-size:1.55rem; color:var(--text); }
.deleted-record-section + .deleted-record-section { margin-top:20px; }
.deleted-record-list { display:grid; gap:10px; margin-top:14px; }
.deleted-record-row { display:grid; grid-template-columns:.65fr 1.15fr 1.25fr 1fr 1.1fr; gap:14px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:#fbfdff; align-items:start; }
.deleted-client-row { grid-template-columns:1.2fr 1fr 1fr 1.2fr 1.1fr; }
.deleted-record-row > div { min-width:0; }
.deleted-record-label { display:block; color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; margin-bottom:4px; }
.deleted-record-row strong { display:block; color:var(--text); overflow-wrap:anywhere; }
.deleted-record-row small { display:block; color:var(--muted); margin-top:4px; }
.deleted-record-note { margin:0; color:var(--muted); font-size:.86rem; line-height:1.55; }
.deleted-record-note strong { color:var(--text); }
@media (max-width:900px) {
  .deleted-record-row, .deleted-client-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .deleted-summary-grid { grid-template-columns:1fr; }
  .deleted-record-row, .deleted-client-row { grid-template-columns:1fr; }
}


/* V101 - backup local: baixar e restaurar lado a lado */
.backup-local-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; flex-wrap:wrap; }
.backup-local-status { margin:10px 0 0; text-align:right; color:var(--muted); font-size:13px; }
.backup-local-status.success { color:#087a4b; }
.backup-local-status.error { color:#c72d3a; }
@media (max-width:760px) {
  .backup-local-actions { flex-direction:column; align-items:stretch; }
  .backup-local-actions .button { width:100%; justify-content:center; }
  .backup-local-status { text-align:left; }
}


/* V102 - pagamento com desconto, múltiplas formas e parcelamento */
.payment-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.payment-summary-grid .payment-highlight{min-height:90px;margin:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:16px 18px}
.payment-summary-grid .payment-highlight strong{font-size:1.45rem}
.payment-highlight.payment-authorized{background:linear-gradient(120deg,#0878ed,#145cc9)}
.payment-highlight.payment-discount{background:linear-gradient(120deg,#f2a20b,#d88400)}
.payment-highlight.payment-final{background:linear-gradient(120deg,#16a36f,#087f58)}
.payment-config-card{padding:18px;border:1px solid #dce6f0;border-radius:14px;background:#fff;display:grid;gap:14px}
.payment-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.payment-section-head h2{margin:0 0 4px;font-size:1rem;color:#10243b}
.payment-section-head p{margin:0;color:#6a7d91;font-size:.84rem;line-height:1.45}
.payment-section-head-actions{align-items:center}
.payment-parts{display:grid;gap:10px}
.payment-part-row{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(180px,1fr) minmax(145px,.8fr) 42px;gap:10px;align-items:end;padding:14px;border:1px solid #dce6f0;border-radius:12px;background:#f8fbfe}
.payment-part-row .field{margin:0}
.payment-part-row .payment-installments-field[hidden]{display:none!important}
.payment-remove-part{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #f2c8cb;border-radius:10px;background:#fff;color:#d73545;cursor:pointer}
.payment-remove-part svg{width:17px;height:17px}
.payment-remove-part:disabled{opacity:.4;cursor:not-allowed}
.payment-totals-line{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 14px;border-radius:12px;background:#f5f8fb;border:1px solid #e0e7ef}
.payment-totals-line>div{display:flex;align-items:center;gap:10px}
.payment-totals-line span{color:#62778c;font-size:.82rem}.payment-totals-line strong{font-size:1rem;color:#10243b}
.payment-difference.is-ok strong,.payment-difference.is-ok span{color:#14724e}
.payment-difference.is-error strong,.payment-difference.is-error span{color:#c22d3b}
#paymentNetAmount[readonly]{background:#f5f8fb;font-weight:800;color:#10243b}
@media(max-width:760px){
  .payment-summary-grid{grid-template-columns:1fr}
  .payment-summary-grid .payment-highlight{min-height:76px}
  .payment-section-head-actions{align-items:stretch;flex-direction:column}
  .payment-section-head-actions .button{width:100%;justify-content:center}
  .payment-part-row{grid-template-columns:1fr 1fr}
  .payment-part-row .payment-installments-field{grid-column:1/2}
  .payment-remove-part{grid-column:2/3;justify-self:end}
  .payment-totals-line{align-items:stretch;flex-direction:column}
  .payment-totals-line>div{justify-content:space-between}
}
@media(max-width:480px){.payment-part-row{grid-template-columns:1fr}.payment-part-row .payment-installments-field,.payment-remove-part{grid-column:1}.payment-remove-part{width:100%}}


/* V103 - ação direta após autorização para marcar o equipamento como pronto */
.budget-ready-action {
  margin: 0 0 14px;
  border: 1px solid #b7e4cd;
  background: #f1fcf6;
  border-radius: 14px;
  padding: 14px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.budget-ready-copy {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.budget-ready-copy > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.budget-ready-copy strong {
  color: #0d6c49;
  font-size: .94rem;
}
.budget-ready-copy span:not(.budget-ready-icon) {
  color: #5f786d;
  font-size: .8rem;
  line-height: 1.35;
}
.budget-ready-icon {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #12a86f;
}
.budget-ready-icon svg { width: 18px; height: 18px; }
.budget-ready-button {
  min-height: 44px;
  padding-inline: 18px;
  white-space: nowrap;
}
.budget-ready-action.is-ready {
  border-color: #8ed8b2;
  background: #eafaf2;
}
@media (max-width: 760px) {
  .budget-ready-action {
    flex-direction: column;
    align-items: stretch;
    padding: 13px;
  }
  .budget-ready-button {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }
}

/* V104 - entrega liberada somente quando a OS estiver no status PRONTO */


/* V109 - resultado do conserto após orçamento autorizado */
.budget-ready-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}
.budget-repair-failed-button {
  min-height: 44px;
  padding-inline: 18px;
  white-space: nowrap;
}
.budget-ready-action.is-failed {
  border-color: #f0b8c0;
  background: #fff5f6;
}
.budget-ready-action.is-failed .budget-ready-icon {
  background: #df4051;
}
.budget-ready-action.is-failed .budget-ready-copy strong {
  color: #a52939;
}
.budget-ready-action.is-failed .budget-ready-copy span:not(.budget-ready-icon) {
  color: #806068;
}
@media (max-width: 760px) {
  .budget-ready-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .budget-ready-actions .button,
  .budget-repair-failed-button {
    width: 100%;
    min-height: 48px;
    justify-content: center;
  }
}

/* V112: paginação dinâmica da página Clientes usa o mesmo visual da paginação de Ordens. */
.clients-pager { margin-top: 16px; }

/* V113 - Indicadores mensais da página Clientes */
.clients-period-panel {
  margin-bottom: 14px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #d9e5f1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(32, 54, 78, .06);
}
.clients-period-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.clients-period-kicker { color: #1677ff; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }
.clients-period-copy strong { color: #122238; font-size: 1rem; }
.clients-period-copy small { color: #75869a; font-size: .72rem; }
.clients-period-select { width: min(290px, 100%); display: flex; flex-direction: column; gap: 5px; color: #52657b; font-size: .7rem; font-weight: 700; }
.clients-period-select select { width: 100%; height: 42px; padding: 0 36px 0 12px; border: 1px solid #cfddeb; border-radius: 9px; background: #f8fbff; color: #142235; font: inherit; font-size: .82rem; font-weight: 700; outline: none; }
.clients-period-select select:focus { border-color: #2582ef; box-shadow: 0 0 0 3px rgba(37, 130, 239, .12); }
.client-overview-card span[id$="Note"] { white-space: normal; line-height: 1.28; }

@media (max-width: 760px) {
  .clients-period-panel { align-items: stretch; flex-direction: column; gap: 10px; padding: 13px; }
  .clients-period-select { width: 100%; }
  .clients-period-select select { height: 44px; }
}


/* V118 - visibilidade dos indicadores de clientes é controlada por perfil no JavaScript. */
\n\n/* V119 - Perfil Técnico */\n.collaborator-role.technician { background:#eaf8f2; color:#08734c; }\n.technician-mode .order-row {\n  grid-template-columns:105px minmax(115px,.8fr) minmax(125px,.9fr) minmax(180px,1.2fr) 150px minmax(260px,auto) !important;\n}\n.technician-mode .technician-detail-grid .detail-device.wide { grid-column:1 / -1; }\n@media (max-width:1380px) {\n  .technician-mode .order-row { grid-template-columns:92px minmax(105px,.75fr) minmax(110px,.85fr) minmax(150px,1fr) 135px minmax(235px,auto) !important; }\n}\n@media (max-width:1180px) {\n  .technician-mode .order-row { grid-template-columns:90px 1fr 1fr minmax(220px,auto) !important; }\n}\n@media (max-width:900px) {\n  .technician-mode .order-row { grid-template-columns:82px minmax(210px,auto) !important; }\n}\n@media (max-width:640px) {\n  .technician-mode .order-row { grid-template-columns:76px 1fr !important; }\n}\n

/* V120 - identidade G-Tech + nome da empresa acima do Dashboard */
.brand-name {
  line-height: 1.05;
  white-space: nowrap;
}
.brand-mark {
  transform: none;
  border-radius: 13px;
}
.brand-mark svg {
  width: 29px;
  height: 29px;
}
.dashboard-heading-copy {
  min-width: 0;
}
.dashboard-company-identity {
  margin: 0 0 15px;
  padding: 0 0 13px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-bottom: 1px solid #dfe8f1;
}
.dashboard-company-identity strong {
  color: var(--ink);
  font-size: clamp(1.15rem, 1.75vw, 1.55rem);
  line-height: 1.15;
  letter-spacing: -.025em;
}
.dashboard-company-identity span {
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.35;
}
.dashboard-overview-strip {
  margin: 0 0 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.dashboard-mini-card {
  min-width: 0;
  padding: 18px 18px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  border: 1px solid #dbe6f1;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f6faff);
  box-shadow: 0 10px 22px rgba(22, 42, 71, .07);
}
.dashboard-mini-card.clients {
  background: linear-gradient(180deg, #fbfdff, #f1f8ff);
}
.dashboard-mini-card.orders {
  background: linear-gradient(180deg, #fbfffd, #eefaf5);
}
.dashboard-mini-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 14px;
}
.dashboard-mini-card.clients .dashboard-mini-icon {
  color: #147cf0;
  background: #dcecff;
}
.dashboard-mini-card.orders .dashboard-mini-icon {
  color: #0a9c67;
  background: #d9f5e8;
}
.dashboard-mini-icon svg {
  width: 1.45rem;
  height: 1.45rem;
}
.dashboard-mini-card div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.dashboard-mini-card small {
  color: #7f8d9d;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.dashboard-mini-card strong {
  color: #122336;
  font-size: clamp(1.2rem, 2vw, 1.85rem);
  line-height: 1.02;
}
.dashboard-mini-card span:not(.dashboard-mini-icon) {
  color: #51677f;
  font-size: .78rem;
  font-weight: 700;
}
.dashboard-status-grid {
  margin-bottom: 22px;
}
.dashboard-status-card {
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.dashboard-status-card:hover {
  transform: translateY(-2px);
  filter: brightness(1.02);
  box-shadow: 0 16px 28px rgba(18, 38, 63, .16);
}
.dashboard-status-card:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .34), 0 0 0 6px rgba(18, 116, 246, .24), 0 16px 28px rgba(18, 38, 63, .18);
}
.dashboard-status-card small {
  line-height: 1.35;
}
@media (max-width: 760px) {
  .dashboard-company-identity {
    margin-bottom: 11px;
    padding-bottom: 10px;
  }
  .dashboard-company-identity strong {
    font-size: 1.08rem;
  }
  .dashboard-company-identity span {
    font-size: .74rem;
  }
}


/* V121 - ativação e horário de acesso dos colaboradores */
.collaborator-access-card {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid var(--line-soft);
  border-radius: 13px;
  background: #fff;
}
.collaborator-access-toggle {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  cursor: pointer;
  color: var(--text);
}
.collaborator-access-toggle input { margin-top: 3px; width: 17px; height: 17px; accent-color: var(--blue); }
.collaborator-access-toggle strong { display: block; font-size: .84rem; }
.collaborator-access-toggle small { display: block; margin-top: 3px; color: var(--muted); font-size: .71rem; line-height: 1.45; }
.collaborator-schedule-fields { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line-soft); }
.collaborator-time-grid { margin-bottom: 12px; }
.collaborator-weekdays > strong { display: block; margin-bottom: 8px; color: var(--text); font-size: .76rem; }
.weekday-options { display: flex; flex-wrap: wrap; gap: 8px; }
.weekday-options label { cursor: pointer; }
.weekday-options input { position: absolute; opacity: 0; pointer-events: none; }
.weekday-options span {
  display: inline-flex;
  min-width: 48px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #f8fbfe;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  transition: .15s ease;
}
.weekday-options input:checked + span { border-color: #8ec2ff; background: #eaf4ff; color: #0966cc; box-shadow: inset 0 0 0 1px rgba(9,102,204,.08); }
.collaborator-access-status { min-width: 210px; }
.collaborator-access-status small { max-width: 250px; line-height: 1.35; }
.collaborator-status-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 11px;
  border-radius: 999px;
  font-size: .71rem;
  font-weight: 850;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.collaborator-status-toggle svg { width: .86rem; height: .86rem; }
.collaborator-status-toggle.enabled { color: #08794b; background: #e9f9f1; border: 1px solid #b9ead2; }
.collaborator-status-toggle.disabled { color: #a32e3f; background: #fff0f2; border: 1px solid #f2c2ca; }
.collaborator-status-toggle:not(:disabled):hover { transform: translateY(-1px); box-shadow: 0 5px 14px rgba(15,40,74,.08); }
.collaborator-status-toggle:disabled { cursor: not-allowed; opacity: .65; }
@media (max-width: 1180px) {
  .collaborator-access-status { min-width: 0; }
}
@media (max-width: 640px) {
  .collaborator-access-card { padding: 13px; }
  .weekday-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .weekday-options span { width: 100%; min-width: 0; }
  .collaborator-status-toggle { width: 100%; }
}

@media (max-width: 900px) {
  .dashboard-overview-strip {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .dashboard-overview-strip {
    gap: 10px;
  }
  .dashboard-mini-card {
    padding: 14px;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
  }
  .dashboard-mini-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }
  .dashboard-mini-card strong {
    font-size: 1.25rem;
  }
  .dashboard-mini-card span:not(.dashboard-mini-icon) {
    font-size: .72rem;
  }
}


/* V123 - Cabeçalho da página Detalhes da Ordem de Serviço
   Imprimir, Encerrar/Reabrir e #OS + Status com o mesmo tamanho. */
.page[data-page="ordem-detalhes"] .order-detail-heading-side {
  --detail-head-box-width: 220px;
  --detail-head-box-height: 64px;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 12px;
}
.page[data-page="ordem-detalhes"] .order-detail-head-actions {
  display: flex;
  align-items: stretch;
  gap: 12px;
}
.page[data-page="ordem-detalhes"] .head-workflow-button,
.page[data-page="ordem-detalhes"] .order-detail-summary {
  width: var(--detail-head-box-width);
  min-width: var(--detail-head-box-width);
  height: var(--detail-head-box-height);
  min-height: var(--detail-head-box-height);
  box-sizing: border-box;
  border-radius: 14px;
}
.page[data-page="ordem-detalhes"] .head-workflow-button {
  padding: 0 22px;
  justify-content: center;
  gap: 10px;
  font-size: .92rem;
  font-weight: 850;
  letter-spacing: -.01em;
  box-shadow: 0 8px 20px rgba(19, 52, 84, .08);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.page[data-page="ordem-detalhes"] .head-workflow-button svg {
  width: 1.08rem;
  height: 1.08rem;
  flex: 0 0 auto;
}
.page[data-page="ordem-detalhes"] .head-print-button {
  color: #244b75;
  border: 1px solid #b9d6f8;
  background: linear-gradient(180deg, #ffffff 0%, #f1f7ff 100%);
}
.page[data-page="ordem-detalhes"] .head-print-button:hover {
  color: #0c64c8;
  border-color: #8bbcf1;
  background: linear-gradient(180deg, #ffffff 0%, #e7f2ff 100%);
  box-shadow: 0 12px 24px rgba(19, 92, 164, .14);
  transform: translateY(-1px);
}
.page[data-page="ordem-detalhes"] .head-close-button {
  color: #dc3046;
  border: 1px solid #f4abb5;
  background: linear-gradient(180deg, #fffefe 0%, #fff1f3 100%);
}
.page[data-page="ordem-detalhes"] .head-close-button:hover {
  color: #c61f35;
  border-color: #ee8291;
  background: linear-gradient(180deg, #fffefe 0%, #ffe7eb 100%);
  box-shadow: 0 12px 24px rgba(207, 45, 66, .13);
  transform: translateY(-1px);
}
.page[data-page="ordem-detalhes"] .head-reopen-button {
  color: #075fae;
  border: 1px solid #9ecaf5;
  background: linear-gradient(180deg, #fafdff 0%, #e9f4ff 100%);
}
.page[data-page="ordem-detalhes"] .head-reopen-button:hover {
  background: linear-gradient(180deg, #ffffff 0%, #deefff 100%);
  box-shadow: 0 12px 24px rgba(15, 105, 190, .14);
  transform: translateY(-1px);
}
.page[data-page="ordem-detalhes"] .order-detail-summary {
  width: auto;
  min-width: max(var(--detail-head-box-width), 290px);
  max-width: 100%;
  height: auto;
  min-height: var(--detail-head-box-height);
  padding: 10px 18px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px 12px;
  border: 1px solid #cadcf0;
  background: linear-gradient(180deg, #ffffff 0%, #f3f8fe 100%);
  box-shadow: 0 8px 20px rgba(19, 52, 84, .08);
}
.page[data-page="ordem-detalhes"] .order-detail-summary > strong {
  margin: 0;
  color: #071f36;
  font-size: 1.28rem;
  font-weight: 900;
  letter-spacing: -.025em;
  white-space: nowrap;
  flex: 0 0 auto;
}
.page[data-page="ordem-detalhes"] .order-detail-summary .status-badge {
  min-height: 30px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-weight: 850;
  white-space: nowrap;
  max-width: 100%;
}
.page[data-page="ordem-detalhes"] .order-detail-summary .status-AUTORIZADO,
.page[data-page="ordem-detalhes"] .order-detail-summary .status-EM_REPARO,
.page[data-page="ordem-detalhes"] .order-detail-summary .status-PRONTO,
.page[data-page="ordem-detalhes"] .order-detail-summary .status-ENTREGUE {
  color: #087249;
  background: #e4f8ee;
  border-color: #bcebd4;
}

.page[data-page="ordem-detalhes"] #detailOrderStatusPage {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-left: 0;
  flex: 0 0 auto;
  min-width: 0;
}

@media (max-width: 1100px) {
  .page[data-page="ordem-detalhes"] .order-detail-heading-side {
    --detail-head-box-width: min(220px, 31vw);
    width: 100%;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
  }
  .page[data-page="ordem-detalhes"] .order-detail-summary {
    min-width: 270px;
  }
}
@media (max-width: 760px) {
  .page[data-page="ordem-detalhes"] .order-detail-heading-side {
    --detail-head-box-width: 100%;
    flex-direction: column;
  }
  .page[data-page="ordem-detalhes"] .order-detail-head-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page[data-page="ordem-detalhes"] .head-workflow-button,
  .page[data-page="ordem-detalhes"] .order-detail-summary {
    width: 100%;
    min-width: 0;
  }
  .page[data-page="ordem-detalhes"] .order-detail-summary {
    justify-content: space-between;
  }
}
@media (max-width: 480px) {
  .page[data-page="ordem-detalhes"] .order-detail-head-actions {
    grid-template-columns: 1fr;
  }
}


/* V124 - correção do alinhamento do status da OS em tela reduzida */
.page[data-page="ordem-detalhes"] #detailOrderStatusPage {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto;
  flex: 0 0 auto;
}
@media (max-width: 600px) {
  .page[data-page="ordem-detalhes"] .order-detail-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 0 14px;
  }
  .page[data-page="ordem-detalhes"] .order-detail-summary > strong {
    width: auto;
    min-width: 0;
    font-size: 1.12rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .page[data-page="ordem-detalhes"] #detailOrderStatusPage {
    width: auto;
    justify-self: end;
    margin-left: 0;
  }
  .page[data-page="ordem-detalhes"] .order-detail-summary .status-badge {
    max-width: none;
    min-height: 32px;
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
    word-break: normal;
  }
}
@media (max-width: 420px) {
  .page[data-page="ordem-detalhes"] .order-detail-summary {
    grid-template-columns: 1fr;
    justify-items: start;
    height: auto;
    min-height: var(--detail-head-box-height);
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .page[data-page="ordem-detalhes"] #detailOrderStatusPage {
    justify-self: start;
  }
}


/* V125 - botões de resultado do reparo com mesmo tamanho e ordem correta */
.budget-ready-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(250px, 1fr));
  align-items: stretch;
  justify-content: end;
  gap: 12px;
}
.budget-ready-actions .button,
.budget-ready-button,
.budget-repair-failed-button {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  justify-content: center;
  padding-inline: 18px;
  border-radius: 12px;
  font-weight: 800;
}
.budget-ready-button {
  border-color: #18a765;
  background: linear-gradient(180deg, #24c779 0%, #0ca45d 100%);
  box-shadow: 0 8px 18px rgba(12, 164, 93, .18);
}
.budget-ready-button:hover {
  background: linear-gradient(180deg, #2bd081 0%, #0b9958 100%);
  box-shadow: 0 10px 22px rgba(12, 164, 93, .22);
}
.budget-repair-failed-button {
  color: #fff;
  border: 1px solid #de5060;
  background: linear-gradient(180deg, #f56f7d 0%, #de3f52 100%);
  box-shadow: 0 8px 18px rgba(222, 63, 82, .18);
}
.budget-repair-failed-button:hover {
  color: #fff;
  border-color: #d3374a;
  background: linear-gradient(180deg, #f26373 0%, #d93549 100%);
  box-shadow: 0 10px 22px rgba(217, 53, 73, .22);
}
.budget-repair-failed-button svg,
.budget-ready-button svg {
  flex: 0 0 auto;
}
@media (max-width: 900px) {
  .budget-ready-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
}
@media (max-width: 760px) {
  .budget-ready-actions {
    grid-template-columns: 1fr;
  }
}

/* V127 - consolidação: mantém integralmente os ajustes visuais V124 e V125. */

/* V128 - Estoque integrado a orçamento e pré-orçamento */
.inventory-page { max-width: 1540px; }
.inventory-heading { margin-bottom: 18px; }
.inventory-summary-grid {
  margin-bottom: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.inventory-summary-card {
  min-width: 0;
  min-height: 108px;
  padding: 17px 18px;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  border: 1px solid #dbe6f1;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(24, 49, 78, .07);
}
.inventory-summary-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 13px;
}
.inventory-summary-icon svg { width: 1.35rem; height: 1.35rem; }
.inventory-summary-card.products .inventory-summary-icon { color: #126fd8; background: #e3f0ff; }
.inventory-summary-card.quantity .inventory-summary-icon { color: #087d55; background: #dff7ec; }
.inventory-summary-card.value .inventory-summary-icon { color: #b36a00; background: #fff0cf; }
.inventory-summary-card > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.inventory-summary-card small { color: #7a899a; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
.inventory-summary-card strong { color: #11263c; font-size: clamp(1.15rem, 1.7vw, 1.6rem); line-height: 1.05; }
.inventory-summary-card span:not(.inventory-summary-icon) { color: #6a7c8f; font-size: .7rem; }

.inventory-layout {
  display: grid;
  grid-template-columns: minmax(340px, 470px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.inventory-form-grid { gap: 14px; }
.inventory-form-actions { grid-column: 1 / -1; justify-content: flex-end; }
.inventory-list-panel { overflow: visible; }
.inventory-list-head { align-items: center; }
.inventory-header-tools { display: flex; align-items: center; justify-content: flex-end; gap: 10px; width: min(390px, 100%); }
.inventory-print-trigger { width: 44px; height: 44px; flex: 0 0 44px; color: #0c67cf; border: 1px solid #b8d6f6; border-radius: 12px; background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%); box-shadow: 0 8px 18px rgba(18, 86, 154, .08); }
.inventory-print-trigger:hover { color: #0959b5; border-color: #8cbcf0; background: linear-gradient(180deg, #ffffff 0%, #e4f0ff 100%); }
.inventory-print-trigger svg { width: 1rem; height: 1rem; }
.inventory-search { position: relative; width: min(330px, 100%); display: flex; align-items: center; flex: 1 1 auto; }
.inventory-search svg { position: absolute; left: 13px; width: 1rem; height: 1rem; color: #718397; pointer-events: none; }
.inventory-search input {
  width: 100%;
  height: 42px;
  padding: 0 13px 0 39px;
  border: 1px solid #d4e0eb;
  border-radius: 10px;
  outline: none;
  background: #fff;
  color: #21374d;
  font-size: .76rem;
}
.inventory-search input:focus { border-color: #77afe9; box-shadow: 0 0 0 3px rgba(31, 126, 225, .10); }
.inventory-list { padding: 14px; display: grid; gap: 10px; }
.inventory-row {
  min-width: 0;
  padding: 14px;
  display: grid;
  grid-template-columns: minmax(230px, 1.5fr) minmax(300px, 1fr) auto;
  align-items: center;
  gap: 16px;
  border: 1px solid #dce6f0;
  border-radius: 13px;
  background: linear-gradient(180deg, #fff, #fbfdff);
}
.inventory-row-main { min-width: 0; }
.inventory-product-title { display: flex; align-items: center; gap: 10px; min-width: 0; }
.inventory-product-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; color: #0874e4; border-radius: 10px; background: #e7f2ff; }
.inventory-product-icon svg { width: 1rem; height: 1rem; }
.inventory-product-title > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.inventory-product-title strong { color: #122940; font-size: .86rem; overflow-wrap: anywhere; }
.inventory-product-title small { color: #77889a; font-size: .67rem; font-weight: 700; }
.inventory-row-main p { margin: 8px 0 0 48px; color: #627489; font-size: .73rem; line-height: 1.4; overflow-wrap: anywhere; }
.inventory-row-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.inventory-row-metrics > div { min-width: 0; padding: 9px 10px; display: flex; flex-direction: column; gap: 3px; border-radius: 10px; background: #f5f8fb; }
.inventory-row-metrics small { color: #7a8a9b; font-size: .64rem; font-weight: 750; }
.inventory-row-metrics strong { color: #18324c; font-size: .8rem; white-space: nowrap; }
.inventory-stock-badge { width: fit-content; margin-top: 2px; padding: 3px 7px; border-radius: 999px; font-size: .59rem; font-weight: 850; }
.inventory-stock-badge.ok { color: #08734d; background: #def5e9; }
.inventory-stock-badge.low { color: #956200; background: #fff0c7; }
.inventory-stock-badge.out { color: #b22f40; background: #ffe3e7; }
.inventory-row-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.inventory-row-actions .button { min-height: 38px; padding-inline: 12px; }

.budget-source-pickers { margin-bottom: 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.budget-source-pickers[hidden],
.prebudget-picker[hidden],
.inventory-budget-picker[hidden] { display: none !important; }
.budget-source-pickers .prebudget-picker,
.inventory-budget-picker {
  position: relative;
  margin: 0;
  padding: 14px;
  border: 1px solid #d9e5f2;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fbff, #f4f9ff);
}
.inventory-budget-picker { border-color: #cce8dc; background: linear-gradient(180deg, #fbfffd, #f1fbf6); }
.inventory-budget-picker .field { margin: 0; }
.inventory-budget-picker .picker-input { margin-top: 7px; }
.inventory-prebudget-link { position: relative; padding: 12px; border: 1px solid #cfe6dc; border-radius: 12px; background: #f5fcf8; }
.inventory-prebudget-link .field-title { display: block; margin-bottom: 7px; color: #314a61; font-size: .75rem; font-weight: 800; }
.inventory-prebudget-link > small { display: block; margin-top: 6px; color: #728497; font-size: .66rem; line-height: 1.4; }
.inventory-picker { position: relative; }
.inventory-suggestions {
  position: absolute;
  z-index: 35;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 340px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid #cbd9e7;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(17, 45, 78, .15);
}
.inventory-suggestion {
  width: 100%;
  padding: 10px 11px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.inventory-suggestion:hover { background: #f2f8f5; }
.inventory-suggestion-icon { width: 36px; height: 36px; display: grid; place-items: center; color: #0b8a5c; border-radius: 9px; background: #e1f6eb; }
.inventory-suggestion-icon svg { width: .95rem; height: .95rem; }
.inventory-suggestion-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.inventory-suggestion-copy strong { color: #153149; font-size: .76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inventory-suggestion-copy small { color: #718195; font-size: .65rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inventory-suggestion-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; white-space: nowrap; }
.inventory-suggestion-meta strong { color: #0a7c53; font-size: .74rem; }
.inventory-suggestion-meta small { font-size: .61rem; font-weight: 800; }
.inventory-suggestion-meta small.ok { color: #0a8357; }
.inventory-suggestion-meta small.low { color: #a26b00; }
.inventory-suggestion-meta small.out { color: #c33447; }
.inventory-selected-chip { margin-top: 9px; padding: 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid #b9e4d0; border-radius: 10px; background: #e9f9f1; color: #0c704d; font-size: .68rem; }
.inventory-selected-chip > span { min-width: 0; display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.inventory-selected-chip svg { width: .85rem; height: .85rem; }
.inventory-selected-chip button { width: 27px; height: 27px; flex: 0 0 27px; display: grid; place-items: center; border: 0; border-radius: 8px; color: #9e3040; background: #fff; cursor: pointer; }
.prebudget-stock-source { display: inline-flex; width: fit-content; margin-top: 6px; padding: 4px 8px; border-radius: 999px; color: #08754f; background: #e3f7ed; font-size: .62rem; font-weight: 800; }
.budget-page-row.from-inventory { position: relative; border-color: #b7dfcc; background: linear-gradient(180deg, #ffffff, #f7fcf9); }
.budget-page-row.from-inventory::after { content: "ESTOQUE"; position: absolute; right: 56px; top: -8px; padding: 2px 6px; color: #08744e; border: 1px solid #b7dfcc; border-radius: 999px; background: #e5f7ee; font-size: .5rem; font-weight: 900; letter-spacing: .04em; }

@media (max-width: 1180px) {
  .inventory-layout { grid-template-columns: 1fr; }
  .inventory-row { grid-template-columns: minmax(220px, 1fr) minmax(300px, .9fr); }
  .inventory-row-actions { grid-column: 1 / -1; justify-content: flex-end; }
}
@media (max-width: 900px) {
  .inventory-summary-grid { grid-template-columns: 1fr; }
  .inventory-list-head { align-items: stretch; flex-direction: column; }
  .inventory-header-tools { width: 100%; justify-content: stretch; }
  .inventory-search { width: 100%; }
  .budget-source-pickers { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .inventory-row { grid-template-columns: 1fr; }
  .inventory-row-metrics { grid-template-columns: repeat(3, 1fr); }
  .inventory-row-main p { margin-left: 0; }
  .inventory-row-actions { grid-column: auto; }
  .inventory-row-actions .button { flex: 1; }
  .inventory-suggestion { grid-template-columns: 34px minmax(0, 1fr); }
  .inventory-suggestion-meta { grid-column: 2; align-items: flex-start; }
}
@media (max-width: 480px) {
  .inventory-row-metrics { grid-template-columns: 1fr; }
  .inventory-form-actions { flex-direction: column-reverse; }
  .inventory-form-actions .button { width: 100%; }
}


/* V129 - anexos de fotos e documentos vinculados à Ordem de Serviço */
.detail-attachments {
  border-color: #d6e4f2 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}
.attachment-card-icon {
  background: linear-gradient(180deg, #238ff5 0%, #0874dd 100%) !important;
}
.attachment-section-head {
  margin-bottom: 14px;
}
.attachment-section-head .detail-card-title > div {
  min-width: 0;
}
.attachment-section-subtitle {
  margin: 3px 0 0;
  color: #75889c;
  font-size: .72rem;
  line-height: 1.4;
}
.attachment-limit-pill {
  flex: 0 0 auto;
  min-width: 64px;
  min-height: 31px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1765ad;
  border: 1px solid #bcd9f6;
  border-radius: 999px;
  background: #edf6ff;
  font-size: .72rem;
  font-weight: 900;
}
.attachment-limit-pill.is-full {
  color: #a72c3c;
  border-color: #f0c1c7;
  background: #fff1f3;
}
.attachment-toolbar {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.attachment-toolbar .button {
  min-height: 42px;
  border-radius: 11px;
}
.attachment-toolbar .button svg {
  width: 1rem;
  height: 1rem;
}
.attachment-add-photo {
  background: linear-gradient(180deg, #238df8 0%, #0b72df 100%);
  box-shadow: 0 7px 16px rgba(11, 114, 223, .16);
}
.attachment-add-document {
  color: #315678;
  border-color: #cadceb;
  background: #fff;
}
.attachment-toolbar .button:disabled {
  opacity: .48;
  cursor: not-allowed;
  box-shadow: none;
}
.attachment-help {
  margin-left: auto;
  color: #7b8c9f;
  font-size: .7rem;
  line-height: 1.4;
}
.attachment-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.attachment-card {
  position: relative;
  min-width: 0;
  min-height: 174px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid #d9e4ee;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(18, 51, 82, .055);
}
.attachment-preview {
  width: 100%;
  height: 112px;
  display: block;
  overflow: hidden;
  background: #edf3f8;
}
.attachment-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .18s ease;
}
.attachment-preview:hover img {
  transform: scale(1.035);
}
.attachment-document-card {
  min-height: 174px;
  padding-top: 17px;
  align-items: center;
  text-align: center;
}
.attachment-document-icon {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  display: grid;
  place-items: center;
  color: #1479df;
  border-radius: 17px;
  background: linear-gradient(180deg, #eaf5ff, #dbeeff);
  border: 1px solid #c7e0f8;
}
.attachment-document-icon svg {
  width: 1.75rem;
  height: 1.75rem;
}
.attachment-card-meta {
  min-width: 0;
  padding: 9px 10px 11px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.attachment-document-card .attachment-card-meta {
  width: 100%;
  padding-top: 10px;
  align-items: center;
}
.attachment-card-meta strong {
  max-width: 100%;
  overflow: hidden;
  color: #17324b;
  font-size: .72rem;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.attachment-card-meta span {
  color: #7a8ca0;
  font-size: .64rem;
}
.attachment-card-meta a {
  color: #0d70d7;
  font-size: .67rem;
  font-weight: 800;
  text-decoration: none;
}
.attachment-delete {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  color: #d62f45;
  border: 1px solid #f0bdc4;
  border-radius: 9px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 4px 12px rgba(82, 26, 34, .12);
  cursor: pointer;
}
.attachment-delete:hover {
  color: #fff;
  border-color: #dc3b50;
  background: #e14256;
}
.attachment-delete svg {
  width: .9rem;
  height: .9rem;
}
.attachment-empty,
.attachment-loading {
  grid-column: 1 / -1;
  min-height: 112px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  color: #72859a;
  border: 1px dashed #c9d9e8;
  border-radius: 13px;
  background: #fbfdff;
  text-align: center;
}
.attachment-empty-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  color: #1681e8;
  border-radius: 12px;
  background: #eaf5ff;
}
.attachment-empty-icon svg {
  width: 1.2rem;
  height: 1.2rem;
}
.attachment-empty strong {
  display: block;
  color: #27435e;
  font-size: .8rem;
}
.attachment-empty p {
  margin: 4px 0 0;
  color: #8292a3;
  font-size: .7rem;
  line-height: 1.45;
}
.attachment-error {
  color: #a72d3d;
  border-color: #efc4ca;
  background: #fff7f8;
}
.attachment-hidden-input {
  position: fixed !important;
  width: 1px !important;
  height: 1px !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.attachment-source-modal {
  width: min(560px, calc(100vw - 24px));
}
.attachment-source-intro {
  margin: 0 0 16px;
  color: #64788d;
  font-size: .8rem;
  line-height: 1.55;
}
.attachment-source-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.attachment-source-choice {
  min-height: 142px;
  padding: 18px;
  display: flex;
  align-items: flex-start;
  gap: 13px;
  text-align: left;
  color: #20384f;
  border: 1px solid #d5e2ee;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.attachment-source-choice:hover {
  transform: translateY(-2px);
  border-color: #9dc9f4;
  box-shadow: 0 10px 22px rgba(18, 74, 126, .11);
}
.attachment-source-choice > span {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  color: #fff;
  border-radius: 12px;
  background: linear-gradient(180deg, #208cf6, #0a70da);
}
.attachment-source-choice.storage > span {
  background: linear-gradient(180deg, #16b987, #079c70);
}
.attachment-source-choice svg {
  width: 1.25rem;
  height: 1.25rem;
}
.attachment-source-choice div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.attachment-source-choice strong {
  color: #14314c;
  font-size: .86rem;
}
.attachment-source-choice small {
  color: #778a9d;
  font-size: .7rem;
  line-height: 1.45;
}
@media (max-width: 1180px) {
  .attachment-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .attachment-toolbar { align-items: stretch; }
  .attachment-toolbar .button { flex: 1 1 calc(50% - 6px); justify-content: center; }
  .attachment-help { flex: 1 1 100%; margin-left: 0; }
  .attachment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .attachment-source-choices { grid-template-columns: 1fr; }
  .attachment-source-choice { min-height: 105px; }
}
@media (max-width: 480px) {
  .attachment-section-head { align-items: flex-start; }
  .attachment-toolbar .button { flex: 1 1 100%; }
  .attachment-list { grid-template-columns: 1fr 1fr; gap: 9px; }
  .attachment-card { min-height: 160px; }
  .attachment-preview { height: 100px; }
  .attachment-card-meta { padding-inline: 8px; }
}


/* V130 - aviso de incompatibilidade entre firmware e interface */
.version-mismatch-banner {
  margin: 0 0 18px;
  padding: 13px 15px;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  color: #744c00;
  border: 1px solid #efd48b;
  border-radius: 13px;
  background: linear-gradient(180deg, #fffdf6, #fff6d9);
  box-shadow: 0 7px 18px rgba(121, 82, 0, .08);
}
.version-mismatch-banner[hidden] { display: none !important; }
.version-mismatch-banner > svg { width: 1.1rem; height: 1.1rem; margin-top: 2px; flex: 0 0 auto; }
.version-mismatch-banner > div { display: grid; gap: 3px; }
.version-mismatch-banner strong { font-size: .82rem; }
.version-mismatch-banner span { font-size: .74rem; line-height: 1.45; }


/* V134 - telefone/WhatsApp clicável em Detalhes da Ordem de Serviço */
.page[data-page="ordem-detalhes"] .detail-whatsapp-line {
  align-items: center;
}
.page[data-page="ordem-detalhes"] .detail-whatsapp-phone {
  appearance: none;
  width: fit-content;
  min-height: 34px;
  padding: 5px 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #08784f;
  border: 1px solid #b9e6d1;
  border-radius: 10px;
  background: linear-gradient(180deg, #f7fffb 0%, #eaf9f1 100%);
  box-shadow: 0 4px 12px rgba(10, 133, 86, .08);
  cursor: pointer;
  transition: .16s ease;
}
.page[data-page="ordem-detalhes"] .detail-whatsapp-phone:hover {
  color: #056a43;
  border-color: #79cea8;
  background: #e2f8ed;
  transform: translateY(-1px);
  box-shadow: 0 7px 16px rgba(10, 133, 86, .13);
}
.page[data-page="ordem-detalhes"] .detail-whatsapp-phone svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}
.page[data-page="ordem-detalhes"] .detail-whatsapp-phone strong {
  color: inherit;
  font-size: .78rem;
  font-weight: 800;
}
.page[data-page="ordem-detalhes"] .detail-whatsapp-phone small {
  padding: 3px 7px;
  color: #08784f;
  border-radius: 999px;
  background: #d9f5e8;
  font-size: .62rem;
  font-weight: 850;
}
@media (max-width: 520px) {
  .page[data-page="ordem-detalhes"] .detail-whatsapp-phone {
    max-width: 100%;
  }
  .page[data-page="ordem-detalhes"] .detail-whatsapp-phone small {
    display: none;
  }
}


/* V135 - telefone/WhatsApp clicável na página Clientes */
.page[data-page="clientes"] .client-phone-row {
  align-items: center;
}
.page[data-page="clientes"] .client-whatsapp-phone {
  width: fit-content;
  max-width: 100%;
  min-height: 32px;
  padding: 5px 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #087a4b;
  border: 1px solid #b8e4cf;
  border-radius: 9px;
  background: linear-gradient(180deg, #f4fff9 0%, #eaf9f2 100%);
  cursor: pointer;
  box-shadow: 0 3px 9px rgba(9, 128, 77, .08);
  transition: .15s ease;
}
.page[data-page="clientes"] .client-whatsapp-phone:hover {
  color: #05683f;
  border-color: #8dd3b1;
  background: linear-gradient(180deg, #effff7 0%, #def5e9 100%);
  transform: translateY(-1px);
}
.page[data-page="clientes"] .client-whatsapp-phone svg {
  width: .9rem;
  height: .9rem;
  flex: 0 0 auto;
}
.page[data-page="clientes"] .client-whatsapp-phone strong {
  min-width: 0;
  color: inherit;
  font-size: .69rem;
  font-weight: 800;
  white-space: nowrap;
}
.page[data-page="clientes"] .client-whatsapp-phone small {
  color: #15945e;
  font-size: .61rem;
  font-weight: 800;
  white-space: nowrap;
}
@media (max-width: 560px) {
  .page[data-page="clientes"] .client-whatsapp-phone {
    min-height: 36px;
    padding-inline: 10px;
  }
}


/* V136 - orçamento dinâmico e datas de criação/decisão */
.budget-date-meta {
  padding-left: 10px;
  border-left: 3px solid #b9d8f6;
}
.budget-decision-date {
  border-left-color: #70cf9b;
  color: #185f43;
}
.budget-option-declined .budget-decision-date,
.budget-option-not-selected .budget-decision-date {
  border-left-color: #e78c99;
  color: #8f3442;
}
.budget-decision-pending {
  border-left-color: #e5c464;
  color: #765b0a;
}
.budget-choice-banner.declined {
  border-color: #f0b8c0;
  background: #fff5f6;
  color: #a52939;
}
@media (max-width: 760px) {
  .budget-option-meta { gap: 10px 16px; }
  .budget-date-meta { width: 100%; }
}

/* V137 - fornecedores vinculados opcionalmente aos produtos do estoque */
.inventory-heading-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.inventory-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.inventory-summary-card.suppliers .inventory-summary-icon { color:#6d42d8; background:#eee7ff; }
.optional-field { color:#8593a4; font-size:.68rem; font-weight:700; }
.inventory-form-grid .field > small { margin-top:5px; color:#738499; font-size:.66rem; line-height:1.4; }
.inventory-supplier-tag { width:fit-content; margin:8px 0 0 48px; padding:5px 8px; display:inline-flex; align-items:center; gap:5px; border-radius:999px; font-size:.62rem; font-weight:800; }
.inventory-supplier-tag svg { width:.76rem; height:.76rem; }
.inventory-supplier-tag.linked { color:#6040b6; background:#eee8ff; border:1px solid #d9cdf9; }
.inventory-supplier-tag.unlinked { color:#6e7c8c; background:#f0f3f6; border:1px solid #e0e6ec; }
.inventory-suppliers-section { margin-top:22px; }
.inventory-suppliers-heading { margin-bottom:14px; padding:18px 20px; border:1px solid #ddd7f4; border-radius:14px; background:linear-gradient(180deg,#fdfcff,#f7f4ff); }
.inventory-suppliers-heading .eyebrow { margin:0 0 4px; }
.inventory-suppliers-heading h2 { margin:0; color:#1a2b42; font-size:1.08rem; }
.inventory-suppliers-heading p:last-child { margin:5px 0 0; color:#708196; font-size:.76rem; }
.supplier-layout { display:grid; grid-template-columns:minmax(340px,470px) minmax(0,1fr); gap:18px; align-items:start; }

/* V139 - estoque com formulários dinâmicos */
.inventory-layout.form-hidden,
.supplier-layout.form-hidden {
  grid-template-columns: minmax(0, 1fr);
}
.inventory-layout.form-hidden .inventory-list-panel,
.supplier-layout.form-hidden .supplier-list-panel {
  grid-column: 1 / -1;
}
.inventory-form-card[hidden],
.supplier-form-card[hidden] {
  display: none !important;
}
.inventory-heading-actions .button.is-active {
  border-color: #84b6ee;
  box-shadow: 0 8px 18px rgba(22, 82, 146, .10);
}
.inventory-heading-actions .button.is-active.primary {
  background: linear-gradient(180deg, #2f8fff 0%, #1272ea 100%);
}
.inventory-heading-actions .button.is-active.subtle {
  background: linear-gradient(180deg, #ffffff 0%, #eef5ff 100%);
}

.supplier-form-grid { gap:14px; }
.supplier-form-actions { grid-column:1 / -1; justify-content:flex-end; }
.supplier-list-panel { overflow:visible; }
.supplier-list { padding:14px; display:grid; gap:10px; }
.supplier-row { min-width:0; padding:14px; display:grid; grid-template-columns:minmax(220px,1.15fr) minmax(260px,1fr) auto; align-items:center; gap:16px; border:1px solid #e0dcf0; border-radius:13px; background:linear-gradient(180deg,#fff,#fcfbff); }
.supplier-row-main { min-width:0; display:flex; align-items:center; gap:10px; }
.supplier-row-icon { width:40px; height:40px; flex:0 0 40px; display:grid; place-items:center; color:#6a43ca; border-radius:11px; background:#eee8ff; }
.supplier-row-icon svg { width:1rem; height:1rem; }
.supplier-row-main > div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.supplier-row-main strong { color:#1b2e45; font-size:.85rem; overflow-wrap:anywhere; }
.supplier-row-main small { color:#7b8998; font-size:.67rem; }
.supplier-row-details { min-width:0; padding:9px 10px; display:grid; gap:4px; border-radius:10px; background:#f7f6fb; }
.supplier-row-details span { color:#5f7187; font-size:.68rem; overflow-wrap:anywhere; }
.supplier-list-email {
  width: fit-content;
  max-width: 100%;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  color: #1667b9;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
.supplier-list-email svg { width: .82rem; height: .82rem; flex: 0 0 auto; }
.supplier-row-details .supplier-list-email span { color: #1667b9; text-decoration: underline; text-underline-offset: 2px; }
.supplier-list-email:hover, .supplier-list-email:hover span { color: #0b56a1; }
.supplier-row-actions { display:flex; gap:8px; }
.supplier-row-actions .button { min-height:38px; padding-inline:12px; }
@media (max-width:1180px) {
  .inventory-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .supplier-layout { grid-template-columns:1fr; }
  .supplier-row { grid-template-columns:minmax(220px,1fr) minmax(260px,1fr); }
  .supplier-row-actions { grid-column:1 / -1; justify-content:flex-end; }
}
@media (max-width:720px) {
  .inventory-heading-actions { width:100%; }
  .inventory-heading-actions .button { flex:1 1 180px; }
  .inventory-summary-grid { grid-template-columns:1fr; }
  .inventory-supplier-tag { margin-left:0; }
  .supplier-row { grid-template-columns:1fr; }
  .supplier-row-actions { grid-column:auto; }
  .supplier-row-actions .button { flex:1; }
}
@media (max-width:480px) {
  .supplier-form-actions { flex-direction:column-reverse; }
  .supplier-form-actions .button { width:100%; }
}

/* V159 - visualização completa de produtos cadastrados */
.inventory-view-button {
  color: #0a69cf;
  border: 1px solid #b8d8fb;
  background: linear-gradient(180deg, #ffffff 0%, #edf6ff 100%);
}
.inventory-view-button:hover {
  color: #075db9;
  border-color: #80b9f1;
  background: #e7f3ff;
}
.inventory-view-modal { width: min(760px, calc(100vw - 28px)); }
.inventory-view-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.inventory-view-field { min-width: 0; padding: 14px 15px; display: grid; gap: 6px; border: 1px solid #dbe6f0; border-radius: 12px; background: #f9fbfe; }
.inventory-view-field.wide { grid-column: 1 / -1; }
.inventory-view-field > span { color: #718297; font-size: .7rem; font-weight: 750; }
.inventory-view-field > strong { color: #162c43; font-size: .84rem; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
@media (max-width: 640px) {
  .inventory-view-grid { grid-template-columns: 1fr; }
  .inventory-view-field.wide { grid-column: auto; }
}

/* V140 - máscara CPF/CNPJ em fornecedores */
#supplierDocument { font-variant-numeric: tabular-nums; }


/* V141 - visualização completa do fornecedor e WhatsApp */
.supplier-view-button {
  color: #0a69cf;
  border: 1px solid #b8d8fb;
  background: linear-gradient(180deg, #ffffff 0%, #edf6ff 100%);
}
.supplier-view-button:hover { border-color: #80b9f1; background: #e7f3ff; }
.supplier-whatsapp-phone {
  width: fit-content;
  max-width: 100%;
  padding: 5px 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #a7dfc5;
  border-radius: 9px;
  background: #ecfbf4;
  color: #08754c;
  cursor: pointer;
  font: inherit;
}
.supplier-whatsapp-phone svg { width: .9rem; height: .9rem; flex: 0 0 auto; }
.supplier-whatsapp-phone span { color: #08754c; font-size: .69rem; font-weight: 800; }
.supplier-whatsapp-phone small { padding: 2px 6px; border-radius: 999px; background: #d6f5e6; color: #08754c; font-size: .58rem; font-weight: 850; }
.supplier-view-modal { width: min(760px, calc(100vw - 28px)); }
.supplier-view-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.supplier-view-field { min-width: 0; padding: 13px 14px; display: grid; gap: 5px; border: 1px solid #dbe6f0; border-radius: 12px; background: #f9fbfe; }
.supplier-view-field.wide { grid-column: 1 / -1; }
.supplier-view-field > span { color: #718297; font-size: .7rem; font-weight: 750; }
.supplier-view-field > strong { color: #162c43; font-size: .82rem; line-height: 1.45; overflow-wrap: anywhere; }
.supplier-view-whatsapp { width: fit-content; max-width: 100%; padding: 8px 10px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #a8dfc5; border-radius: 10px; background: #eafaf3; color: #08734a; cursor: pointer; }
.supplier-view-whatsapp svg { width: 1rem; height: 1rem; }
.supplier-view-whatsapp strong { color: inherit; font-size: .8rem; }
.supplier-view-whatsapp small { color: #16805a; font-size: .64rem; }
.supplier-view-email-actions { min-width: 0; display: flex; align-items: center; gap: 8px; }
.supplier-view-email { min-width: 0; max-width: 100%; padding: 8px 10px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #b9d6f3; border-radius: 10px; background: #edf6ff; color: #1568b3; cursor: pointer; }
.supplier-view-email:hover { border-color: #82b9eb; background: #e2f1ff; }
.supplier-view-email svg { width: 1rem; height: 1rem; flex: 0 0 auto; }
.supplier-view-email strong { min-width: 0; color: inherit; font-size: .8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supplier-view-email small { color: #4d82b3; font-size: .64rem; white-space: nowrap; }
.supplier-view-copy-email { flex: 0 0 auto; padding: 8px 10px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #d2dce7; border-radius: 10px; background: #fff; color: #405b75; font-size: .7rem; font-weight: 800; cursor: pointer; }
.supplier-view-copy-email:hover { border-color: #aebed0; background: #f4f7fa; }
.supplier-view-copy-email svg { width: .9rem; height: .9rem; }
.supplier-view-products { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.supplier-view-products > span { min-width: 0; padding: 8px 10px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #dbe6f0; border-radius: 9px; background: #fff; color: #29445f; }
.supplier-view-products svg { width: .9rem; height: .9rem; color: #1776d2; }
.supplier-view-products strong { font-size: .71rem; }
.supplier-view-products small { color: #718297; font-size: .62rem; }
.supplier-view-empty { padding: 10px; border-radius: 9px; background: #fff; color: #78899a; font-size: .72rem; }
@media (max-width: 640px) {
  .supplier-view-grid { grid-template-columns: 1fr; }
  .supplier-view-field.wide { grid-column: auto; }
  .supplier-view-email-actions { align-items: stretch; flex-direction: column; }
  .supplier-view-email, .supplier-view-copy-email { width: 100%; justify-content: center; }
  .supplier-row-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .supplier-row-actions .button { width: 100%; justify-content: center; }
}


/* V142 - botões Novo fornecedor / Novo produto padronizados */
.page[data-page="estoque"] .inventory-heading-actions {
  display: grid;
  grid-template-columns: repeat(2, 190px);
  align-items: stretch;
  justify-content: end;
  gap: 12px;
}
.page[data-page="estoque"] .inventory-heading-actions .button {
  width: 190px;
  min-width: 190px;
  height: 46px;
  min-height: 46px;
  padding: 0 18px;
  justify-content: center;
  border-radius: 11px;
  font-size: .82rem;
  font-weight: 850;
  box-sizing: border-box;
}
.page[data-page="estoque"] #newSupplierButton {
  color: #fff;
  border-color: #7957df;
  background: linear-gradient(180deg, #8e6cf0 0%, #6845ce 100%);
  box-shadow: 0 8px 18px rgba(104, 69, 206, .20);
}
.page[data-page="estoque"] #newSupplierButton:hover {
  color: #fff;
  border-color: #6845ce;
  background: linear-gradient(180deg, #9676f4 0%, #5f3cc5 100%);
  box-shadow: 0 11px 22px rgba(104, 69, 206, .27);
  transform: translateY(-1px);
}
.page[data-page="estoque"] #newSupplierButton.is-active {
  color: #fff;
  border-color: #6743ca;
  background: linear-gradient(180deg, #7e5be2 0%, #5e3ac0 100%);
}
.page[data-page="estoque"] #newInventoryButton {
  box-shadow: 0 8px 18px rgba(20, 111, 234, .20);
}
@media (max-width: 560px) {
  .page[data-page="estoque"] .inventory-heading-actions {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .page[data-page="estoque"] .inventory-heading-actions .button {
    width: 100%;
    min-width: 0;
    height: 46px;
  }
}

/* V143 - janelas próprias do G-Tech */
.app-action-modal{width:min(540px,calc(100vw - 28px));padding:0;overflow:hidden;border:1px solid #d9e5f0;border-radius:20px;background:#fff;box-shadow:0 28px 70px rgba(12,35,61,.28)}
.app-action-modal::backdrop{background:rgba(9,25,43,.48);backdrop-filter:blur(4px)}
.app-action-head{min-height:92px;padding:20px 22px;display:grid;grid-template-columns:52px minmax(0,1fr) 38px;align-items:center;gap:14px;border-bottom:1px solid #e1e9f2;background:linear-gradient(135deg,#f7fbff,#eef6ff)}
.app-action-symbol{width:52px;height:52px;display:grid;place-items:center;color:#fff;border-radius:16px;background:linear-gradient(145deg,#2b91ff,#0d6fde);box-shadow:0 10px 22px rgba(17,113,222,.22)}
.app-action-symbol svg{width:1.4rem;height:1.4rem}.app-action-title-copy{min-width:0}.app-action-title-copy .eyebrow{margin:0 0 4px;font-size:.67rem}.app-action-title-copy h2{margin:0;color:#10263d;font-size:1.18rem}.app-action-close{justify-self:end;color:#6f8092;background:rgba(255,255,255,.72);border:1px solid rgba(174,194,214,.55)}
.app-action-body{padding:22px;display:grid;gap:18px}.app-action-message{padding:16px 17px;border:1px solid #dce8f4;border-radius:14px;background:#f8fbff}.app-action-message strong{display:block;color:#18314a;font-size:.94rem;line-height:1.45}.app-action-message p{margin:6px 0 0;color:#667b90;font-size:.78rem;line-height:1.52}.app-action-input-wrap{margin:0}.app-action-input-wrap>span{font-size:.75rem;font-weight:800}.app-action-input-wrap input{margin-top:7px;min-height:48px}.app-action-input-wrap small{display:block;margin-top:6px;color:#75879a;font-size:.69rem}
.app-action-footer{padding:15px 22px 20px;display:flex;justify-content:flex-end;gap:10px;background:#fbfdff;border-top:1px solid #e5edf5}.app-action-footer .button{min-width:128px;min-height:44px;justify-content:center;border-radius:11px}
.app-action-modal[data-theme="warning"] .app-action-symbol{background:linear-gradient(145deg,#ffbd3e,#e8950b)}.app-action-modal[data-theme="warning"] .app-action-head{background:linear-gradient(135deg,#fffdf8,#fff5e3)}.app-action-modal[data-theme="warning"] #appActionConfirm{color:#6d4700;background:linear-gradient(180deg,#ffd46a,#f4b52e);border-color:#edb02b}
.app-action-modal[data-theme="danger"] .app-action-symbol{background:linear-gradient(145deg,#f66e7c,#d9364a)}.app-action-modal[data-theme="danger"] .app-action-head{background:linear-gradient(135deg,#fffafa,#fff0f2)}.app-action-modal[data-theme="danger"] .app-action-message{border-color:#f0cbd1;background:#fff7f8}.app-action-modal[data-theme="danger"] #appActionConfirm{color:#fff;background:linear-gradient(180deg,#ef5c6d,#d9364a);border-color:#d9364a}
.app-action-modal[data-theme="network"] .app-action-symbol{background:linear-gradient(145deg,#24b9f2,#087fce)}.app-action-modal[data-theme="network"] .app-action-head{background:linear-gradient(135deg,#f6fcff,#eaf7ff)}.app-action-modal[data-theme="network"] #appActionConfirm{background:linear-gradient(180deg,#229fe7,#087fce);border-color:#087fce}
@media(max-width:560px){.app-action-modal{width:calc(100vw - 18px);border-radius:16px}.app-action-head{min-height:78px;padding:16px;grid-template-columns:44px minmax(0,1fr) 34px}.app-action-symbol{width:44px;height:44px;border-radius:13px}.app-action-title-copy h2{font-size:1.02rem}.app-action-body{padding:16px}.app-action-footer{padding:13px 16px 16px;display:grid;grid-template-columns:1fr 1fr}.app-action-modal.has-alternate .app-action-footer{grid-template-columns:1fr}.app-action-footer .button{min-width:0;width:100%}}


/* V145 - mostrar/ocultar senha */
.password-field-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.password-field-wrap > input {
  padding-right: 46px !important;
}
.password-toggle-button {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #6d7f92;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}
.password-toggle-button:hover {
  background: #eef5ff;
  color: #136fe6;
}
.password-toggle-button.active {
  background: #e7f1ff;
  color: #0f67d7;
}
.password-toggle-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(22,119,255,.14);
}
.password-toggle-button svg {
  width: 1rem;
  height: 1rem;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* V147 - paginação dinâmica em estoque e fornecedores */
.inventory-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 8px 8px;
  border-top: 1px solid var(--line-soft);
}
.inventory-pager .button {
  min-height: 40px;
  min-width: 104px;
  padding: 0 16px;
}
.inventory-pager .button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.inventory-page-info {
  min-width: 168px;
  text-align: center;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 800;
}
@media (max-width: 760px) {
  .inventory-pager {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .inventory-page-info {
    width: 100%;
    text-align: left;
    order: -1;
  }
}


/* V151 - fornecedores e produtos com a mesma largura no Estoque */
.page[data-page="estoque"] .inventory-suppliers-section,
.page[data-page="estoque"] .inventory-products-section {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.page[data-page="estoque"] .inventory-products-section {
  margin-top: 18px;
}
.page[data-page="estoque"] .supplier-list-panel,
.page[data-page="estoque"] .inventory-list-panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}


/* V153 - centralizar indicadores do topo em tela reduzida */
@media (max-width: 480px) {
  .topbar {
    row-gap: 10px;
  }
  .device-status {
    justify-content: center;
    gap: 10px;
  }
  .status-cluster {
    min-width: 0;
  }
  .status-cluster strong,
  .status-cluster span {
    white-space: nowrap;
  }
}


/* V154 - acessórios e observações com título acima do texto */
.detail-accessories .detail-lines {
  gap: 14px;
}
.detail-accessories .detail-line {
  grid-template-columns: 1fr;
  gap: 4px;
}
.detail-accessories .detail-line span {
  display: block;
  font-size: .8rem;
  font-weight: 700;
  color: #57718c;
}
.detail-accessories .detail-line strong {
  display: block;
  font-size: .86rem;
  line-height: 1.55;
}


/* V155 - barra de rolagem moderna no menu lateral */
.nav-list {
  scrollbar-width: thin;
  scrollbar-color: #2f9cff rgba(255, 255, 255, .055);
  scrollbar-gutter: stable;
}
.nav-list::-webkit-scrollbar {
  width: 9px;
}
.nav-list::-webkit-scrollbar-track {
  margin: 8px 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .045);
}
.nav-list::-webkit-scrollbar-thumb {
  min-height: 48px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: linear-gradient(180deg, #48baff 0%, #1677ff 100%);
  background-clip: padding-box;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}
.nav-list::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #67c8ff 0%, #278cff 100%);
  background-clip: padding-box;
}
.nav-list::-webkit-scrollbar-corner {
  background: transparent;
}

/* V158 - refinamentos do Pré-Orçamento */
.inventory-prebudget-link[hidden] { display: none !important; }

.prebudget-form-actions {
  gap: 10px;
  align-items: center;
}
.prebudget-cancel-button {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid #c9d8e8;
  border-radius: 11px;
  background: linear-gradient(180deg, #f8fbff 0%, #eaf2fa 100%);
  color: #385a78;
  box-shadow: 0 5px 12px rgba(54, 89, 121, .08);
}
.prebudget-cancel-button:hover {
  border-color: #9dbbd6;
  background: linear-gradient(180deg, #f3f8fd 0%, #e2edf7 100%);
  color: #294d6d;
}
.prebudget-save-button {
  min-height: 44px;
  padding: 0 27px;
  border-radius: 11px;
  box-shadow: 0 8px 18px rgba(18, 111, 216, .18);
}
.prebudget-save-button:hover { box-shadow: 0 10px 22px rgba(18, 111, 216, .24); }

.prebudget-template-meta {
  margin-top: 7px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.prebudget-template-meta > small { margin: 0; }
.prebudget-template-meta .prebudget-stock-source { margin: 0; }

.prebudget-view-button {
  color: #0a69cf;
  border: 1px solid #b8d8fb;
  background: linear-gradient(180deg, #ffffff 0%, #edf6ff 100%);
}
.prebudget-view-button:hover {
  color: #075db9;
  border-color: #80b9f1;
  background: #e7f3ff;
}

.prebudget-view-modal { width: min(720px, calc(100vw - 28px)); }
.prebudget-view-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.prebudget-view-field {
  min-width: 0;
  padding: 14px 15px;
  display: grid;
  gap: 6px;
  border: 1px solid #dbe6f0;
  border-radius: 12px;
  background: #f9fbfe;
}
.prebudget-view-field.wide { grid-column: 1 / -1; }
.prebudget-view-field > span {
  color: #718297;
  font-size: .7rem;
  font-weight: 750;
}
.prebudget-view-field > strong {
  color: #162c43;
  font-size: .84rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

@media (max-width: 640px) {
  .prebudget-view-grid { grid-template-columns: 1fr; }
  .prebudget-view-field.wide { grid-column: auto; }
  .prebudget-form-actions { flex-direction: column-reverse; align-items: stretch; }
  .prebudget-form-actions .button { width: 100%; justify-content: center; }
}


/* V160 - anexos de produtos, botões iguais e ajustes do cadastro */
.inventory-form-actions,
.supplier-form-actions {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  justify-content: stretch;
}
.inventory-form-actions .button,
.supplier-form-actions .button {
  width: 100%;
  min-height: 44px;
  justify-content: center;
  padding-inline: 16px;
}
.form-cancel-button {
  color: #365b80;
  border: 1px solid #b9ccdf;
  background: linear-gradient(180deg, #f7fbff 0%, #e8f1fa 100%);
  box-shadow: 0 4px 10px rgba(51, 89, 126, .08);
}
.form-cancel-button:hover {
  color: #284d72;
  border-color: #93b2d0;
  background: linear-gradient(180deg, #f0f7fe 0%, #dceaf7 100%);
}
.inventory-form-grid .field-label-inline {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
}
.inventory-form-grid .field-label-inline .optional-field { margin: 0; }
.inventory-attachments-field {
  padding: 13px;
  border: 1px solid #d5e3f1;
  border-radius: 13px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
}
.inventory-attachment-toolbar { display: flex; flex-wrap: wrap; gap: 8px; }
.inventory-attachment-toolbar .button { min-height: 38px; }
.inventory-attachment-photo-button {
  color: #08724f;
  border: 1px solid #a8dbc7;
  background: linear-gradient(180deg, #f4fff9 0%, #e4f7ef 100%);
}
.inventory-attachment-photo-button:hover { border-color: #78c5a6; background: #dcf4e9; }
.inventory-form-attachment-list { display: grid; gap: 8px; margin-top: 4px; }
.inventory-attachment-empty {
  padding: 10px 11px;
  border: 1px dashed #ccd9e6;
  border-radius: 10px;
  background: #fff;
  color: #7b8b9c;
  font-size: .68rem;
}
.inventory-attachment-empty.error { color: #a33b49; border-color: #efc5cb; background: #fff7f8; }
.inventory-form-attachment-card {
  min-width: 0;
  padding: 8px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 9px;
  border: 1px solid #dce6ef;
  border-radius: 10px;
  background: #fff;
}
.inventory-form-attachment-card > a:first-child,
.inventory-pending-icon,
.inventory-form-document-icon {
  width: 46px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  overflow: hidden;
  background: #eef5fc;
  color: #1973c9;
}
.inventory-form-attachment-card img { width: 100%; height: 100%; object-fit: cover; }
.inventory-form-attachment-card svg { width: 1rem; height: 1rem; }
.inventory-form-attachment-card > div { min-width: 0; display: grid; gap: 2px; }
.inventory-form-attachment-card strong { min-width: 0; color: #1e344b; font-size: .7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inventory-form-attachment-card span { color: #75879a; font-size: .62rem; line-height: 1.35; }
.inventory-form-attachment-card > button {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid #e6c8cd;
  border-radius: 8px;
  background: #fff7f8;
  color: #c33c4d;
  cursor: pointer;
}
.inventory-form-attachment-card.pending { border-style: dashed; background: #fbfdff; }
.inventory-form-attachment-card.pending > button { color: #667b91; border-color: #d6e0e9; background: #f5f8fb; }
.inventory-view-attachment-container { min-width: 0; }
.inventory-view-attachments { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.inventory-view-attachment {
  min-width: 0;
  padding: 8px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  border: 1px solid #dce6ef;
  border-radius: 10px;
  background: #fff;
  text-decoration: none;
}
.inventory-view-attachment img { width: 54px; height: 48px; object-fit: cover; border-radius: 8px; }
.inventory-view-document-icon { width: 54px; height: 48px; display: grid; place-items: center; border-radius: 8px; background: #eef5fc; color: #1973c9; }
.inventory-view-document-icon svg { width: 1.15rem; height: 1.15rem; }
.inventory-view-attachment > span:last-child { min-width: 0; display: grid; gap: 2px; }
.inventory-view-attachment strong { color: #20374e; font-size: .68rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inventory-view-attachment small { color: #74869a; font-size: .61rem; }
.inventory-view-attachment-empty { color: #78899a; font-size: .7rem; }
@media (max-width: 640px) {
  .inventory-view-attachments { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .inventory-form-actions,
  .supplier-form-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-form-actions .button,
  .supplier-form-actions .button { padding-inline: 8px; font-size: .72rem; }
}


/* V167 - alinhamento visual entre Orçamento 1 e Orçamento 2 */
.budget-options-grid.budget-count-2 {
  align-items: stretch;
}
.budget-options-grid.budget-count-2 .budget-option-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.budget-options-grid.budget-count-2 .budget-view {
  width: 100%;
  table-layout: fixed;
}
.budget-options-grid.budget-count-2 .budget-view th:nth-child(1),
.budget-options-grid.budget-count-2 .budget-view td:nth-child(1) { width: 8%; }
.budget-options-grid.budget-count-2 .budget-view th:nth-child(2),
.budget-options-grid.budget-count-2 .budget-view td:nth-child(2) { width: 22%; }
.budget-options-grid.budget-count-2 .budget-view th:nth-child(3),
.budget-options-grid.budget-count-2 .budget-view td:nth-child(3) { width: 38%; }
.budget-options-grid.budget-count-2 .budget-view th:nth-child(4),
.budget-options-grid.budget-count-2 .budget-view td:nth-child(4) { width: 8%; }
.budget-options-grid.budget-count-2 .budget-view th:nth-child(5),
.budget-options-grid.budget-count-2 .budget-view td:nth-child(5) { width: 12%; }
.budget-options-grid.budget-count-2 .budget-view th:nth-child(6),
.budget-options-grid.budget-count-2 .budget-view td:nth-child(6) { width: 12%; }

@media (min-width: 981px) {
  .budget-options-grid.budget-count-2 .budget-option-head {
    min-height: 74px;
    box-sizing: border-box;
  }
  .budget-options-grid.budget-count-2 .table-wrap {
    min-height: 154px;
    display: flex;
    flex: 0 0 auto;
  }
  .budget-options-grid.budget-count-2 .budget-view {
    min-width: 0;
    height: 154px;
  }
  .budget-options-grid.budget-count-2 .budget-view thead tr { height: 38px; }
  .budget-options-grid.budget-count-2 .budget-view tbody tr { height: 72px; }
  .budget-options-grid.budget-count-2 .budget-view tfoot tr { height: 44px; }
  .budget-options-grid.budget-count-2 .budget-view th,
  .budget-options-grid.budget-count-2 .budget-view td {
    box-sizing: border-box;
    vertical-align: middle;
  }
  .budget-options-grid.budget-count-2 .budget-option-meta {
    margin-top: auto;
    min-height: 112px;
    align-content: flex-start;
    box-sizing: border-box;
  }
}

@media (max-width: 640px) {
  .inventory-header-tools { gap: 8px; }
  .inventory-print-trigger { width: 42px; height: 42px; flex-basis: 42px; }
}


/* V181 - tela de orçamento redesenhada com visual mais moderno */
.detail-budget {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}
.detail-budget::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 96px;
  background: linear-gradient(180deg, rgba(11,123,234,.06) 0%, rgba(11,123,234,0) 100%);
  pointer-events: none;
}
.detail-budget > * { position: relative; z-index: 1; }
.detail-budget .detail-card-title { margin-bottom: 14px; }
.detail-budget .detail-card-actions-group .detail-card-action {
  min-height: 42px;
  padding-inline: 16px;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(8, 116, 232, .14);
}
.detail-budget .budget-view-empty {
  min-height: 180px;
  border: 1px dashed #cfe0f1;
  border-radius: 18px;
  background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
}
.detail-budget .budget-empty-center .detail-text {
  color: #60738a;
  font-size: 1rem;
  font-weight: 700;
}
.budget-choice-banner {
  position: relative;
  margin: 2px 0 18px;
  padding: 18px 18px;
  border-width: 1px;
  border-style: solid;
  border-radius: 18px;
  gap: 16px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(20, 51, 84, .08);
}
.budget-choice-banner::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 5px;
  border-radius: 18px 0 0 18px;
  background: #77b6f4;
}
.budget-choice-banner > div { gap: 5px; padding-left: 6px; }
.budget-choice-banner strong { font-size: 1rem; font-weight: 900; color: #12253c; }
.budget-choice-banner span { font-size: .84rem; line-height: 1.5; color: #64788d; }
.budget-choice-banner.single { border-color: #cfe0f6; background: linear-gradient(180deg, #fbfdff 0%, #f4f9ff 100%); }
.budget-choice-banner.single::before { background: linear-gradient(180deg, #4da3ff 0%, #0774ea 100%); }
.budget-choice-banner.multiple { border-color: #efd792; background: linear-gradient(180deg, #fffdf7 0%, #fff7e6 100%); }
.budget-choice-banner.multiple::before { background: linear-gradient(180deg, #f2c34b 0%, #d7a019 100%); }
.budget-choice-banner.authorized { border-color: #b7e7c9; background: linear-gradient(180deg, #f6fff9 0%, #ebf9f0 100%); }
.budget-choice-banner.authorized::before { background: linear-gradient(180deg, #29c472 0%, #08a85a 100%); }
.budget-choice-banner.declined { border-color: #f0c4ca; background: linear-gradient(180deg, #fff8f8 0%, #fff1f3 100%); }
.budget-choice-banner.declined::before { background: linear-gradient(180deg, #ff6f80 0%, #db3f57 100%); }
.budget-options-grid { gap: 18px; margin-top: 14px; }
.budget-option-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border: 1px solid #d8e5f2;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
  box-shadow: 0 14px 30px rgba(17, 50, 83, .07);
}
.budget-option-card::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 4px;
  background: linear-gradient(90deg, #76b7ff 0%, #0c7bea 100%);
}
.budget-option-card.budget-option-authorized { border-color: #92d8b0; box-shadow: 0 16px 34px rgba(12, 168, 90, .12); }
.budget-option-card.budget-option-authorized::before { background: linear-gradient(90deg, #34ca7a 0%, #0ba75b 100%); }
.budget-option-card.budget-option-pending::before { background: linear-gradient(90deg, #f2cb5d 0%, #d09b14 100%); }
.budget-option-card.budget-option-declined::before,
.budget-option-card.budget-option-not-selected::before { background: linear-gradient(90deg, #f395a2 0%, #dc5167 100%); }
.budget-option-card.budget-option-not-selected { opacity: 1; background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%); }
.budget-option-head {
  padding: 18px 18px 14px;
  gap: 14px;
  align-items: flex-start;
  background: linear-gradient(180deg, rgba(8,123,234,.04) 0%, rgba(8,123,234,0) 100%);
  border-bottom: 1px solid #e3edf7;
}
.budget-option-head > div:first-child { min-width: 0; }
.budget-option-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  margin-bottom: 8px;
  border-radius: 999px;
  background: #e8f2ff;
  color: #0875ea;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.budget-option-head h4 {
  margin: 0;
  color: #0c2239;
  font-size: 1.22rem;
  line-height: 1.15;
  font-weight: 900;
}
.budget-option-head-actions { gap: 10px; align-items: center; }
.budget-option-status {
  min-height: 32px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: .73rem;
  font-weight: 900;
  letter-spacing: .01em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.budget-option-authorized .budget-option-status { background: #e9f9f0; color: #0a7a43; border-color: #b8e7ca; }
.budget-option-pending .budget-option-status { background: #fff7dc; color: #8a6500; border-color: #f0d38b; }
.budget-option-declined .budget-option-status,
.budget-option-not-selected .budget-option-status { background: #fff1f3; color: #c3364b; border-color: #efbec5; }
.budget-option-head-actions .button,
.budget-choice-banner .button,
.budget-ready-actions .button {
  min-height: 42px;
  border-radius: 12px;
  font-weight: 850;
  box-shadow: 0 10px 20px rgba(18, 52, 84, .08);
}
.budget-option-head-actions .button svg,
.budget-choice-banner .button svg,
.budget-ready-actions .button svg { width: .95rem; height: .95rem; }
.budget-option-head-actions .button.subtle {
  color: #0d66cd;
  border-color: #bfd7f3;
  background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%);
}
.budget-option-head-actions .button.subtle:hover { background: #e7f1ff; border-color: #95c0ee; }
.budget-option-authorize {
  color: #fff !important;
  border-color: #11a86e !important;
  background: linear-gradient(180deg, #1bc37b 0%, #0ca760 100%) !important;
}
.budget-option-authorize:hover { filter: brightness(.98); }
.budget-option-deauthorize {
  color: #9d5a04 !important;
  border-color: #efc88a !important;
  background: linear-gradient(180deg, #fffaf2 0%, #ffedd1 100%) !important;
}
.budget-option-delete,
.budget-option-decline,
.budget-decline-all {
  color: #d1384d !important;
  border-color: #efbcc4 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff3f5 100%) !important;
}
.budget-option-delete:hover,
.budget-option-decline:hover,
.budget-decline-all:hover { background: #ffecef !important; }
.detail-budget .table-wrap {
  margin: 0 18px;
  border: 1px solid #e3edf7;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
.detail-budget .budget-view { border-collapse: separate; border-spacing: 0; }
.detail-budget .budget-view thead th {
  padding: 14px 12px;
  background: linear-gradient(180deg, #f7faff 0%, #eff5fb 100%);
  color: #556b80;
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .08em;
  border-bottom: 1px solid #dce7f2;
}
.detail-budget .budget-view tbody td {
  padding: 16px 12px;
  border-bottom: 1px solid #e5edf5;
  color: #15304a;
  font-size: .79rem;
  line-height: 1.45;
  vertical-align: top;
}
.detail-budget .budget-view tbody tr:last-child td { border-bottom: 0; }
.detail-budget .budget-view tfoot td {
  padding: 14px 12px;
  background: linear-gradient(180deg, #eef5fc 0%, #e8f0f8 100%);
  color: #07213a;
  font-size: .92rem;
  font-weight: 900;
  border-top: 1px solid #d8e5f1;
}
.budget-option-meta {
  gap: 10px 14px;
  padding: 14px 18px 18px;
  margin-top: auto;
  border-top: 1px dashed #d9e6f2;
  background: linear-gradient(180deg, #fbfdff 0%, #f6faff 100%);
}
.budget-option-meta p {
  margin: 0;
  padding-left: 12px;
  border-left: 2px solid #c8dbef;
  color: #34495f;
  font-size: .79rem;
  line-height: 1.5;
}
.budget-option-meta p strong { color: #0b2239; }
.budget-option-authorized .budget-option-meta p { border-left-color: #8cd2a9; }
.budget-option-pending .budget-option-meta p { border-left-color: #edcf7a; }
.budget-option-declined .budget-option-meta p,
.budget-option-not-selected .budget-option-meta p { border-left-color: #eca0ac; }
.budget-ready-action {
  margin: 4px 0 16px;
  padding: 16px 18px;
  border: 1px solid #bce4cb;
  border-radius: 18px;
  background: linear-gradient(180deg, #f6fff9 0%, #edf8f1 100%);
  box-shadow: 0 12px 28px rgba(15, 120, 74, .08);
}
.budget-ready-action.is-failed {
  border-color: #f0c0c8;
  background: linear-gradient(180deg, #fff8f8 0%, #fff1f3 100%);
}
.budget-ready-action.is-ready {
  border-color: #b6dfc6;
  background: linear-gradient(180deg, #f6fff9 0%, #edf8f1 100%);
}
.budget-ready-copy { gap: 14px; }
.budget-ready-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  box-shadow: 0 10px 20px rgba(9, 151, 92, .16);
}
.budget-ready-copy strong { font-size: 1rem; }
.budget-ready-copy span:last-child { line-height: 1.5; }
@media (max-width: 980px) {
  .budget-choice-banner { padding: 16px; }
  .budget-choice-banner.multiple,
  .budget-choice-banner.single,
  .budget-choice-banner.authorized,
  .budget-choice-banner.declined { flex-direction: column; align-items: stretch; }
  .budget-choice-banner .button { width: 100%; justify-content: center; }
  .budget-option-head { padding: 16px; }
  .detail-budget .table-wrap { margin: 0 14px; }
  .budget-option-meta { padding: 12px 14px 15px; }
}
@media (max-width: 760px) {
  .budget-option-head h4 { font-size: 1.08rem; }
  .budget-option-head-actions { width: 100%; display: grid !important; grid-template-columns: 1fr; }
  .budget-option-head-actions .button,
  .budget-option-head-actions .budget-option-status { width: 100%; justify-content: center; }
  .detail-budget .table-wrap { margin: 0 0 0; border-radius: 14px; }
  .budget-ready-action { padding: 14px; }
}


/* V182 - redesign moderno da tela Orçamento da ordem de serviço */
.page[data-page="orcamento-os"] .budget-page-heading {
  margin-bottom: 18px;
}
.page[data-page="orcamento-os"] .budget-page-heading > div {
  position: relative;
  padding: 6px 0 0;
}
.page[data-page="orcamento-os"] .budget-page-heading > div::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 90px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #168cff 0%, #0a65d8 100%);
}
.page[data-page="orcamento-os"] .budget-page-heading h1 {
  margin-top: 10px;
  font-size: clamp(2rem, 2.7vw, 2.45rem);
  letter-spacing: -.03em;
}
.page[data-page="orcamento-os"] .budget-page-heading p:not(.eyebrow) {
  max-width: 760px;
  color: #60758a;
  font-size: .92rem;
}
.page[data-page="orcamento-os"] .budget-page-panel {
  border: 1px solid #dbe7f2;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 20px 40px rgba(18, 51, 84, .07);
}
.page[data-page="orcamento-os"] .budget-page-form {
  gap: 0;
}
.page[data-page="orcamento-os"] .budget-option-manager {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 18px 18px 0;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 100%);
  backdrop-filter: blur(10px);
}
.page[data-page="orcamento-os"] .budget-option-tabs {
  gap: 10px;
  padding: 0;
}
.page[data-page="orcamento-os"] .budget-option-tab {
  min-height: 48px;
  padding: 0 18px;
  border-radius: 14px;
  border-color: #cfe0f3;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
  color: #46607a;
  font-size: .92rem;
  font-weight: 900;
  box-shadow: 0 10px 20px rgba(13, 74, 140, .06);
}
.page[data-page="orcamento-os"] .budget-option-tab.active {
  background: linear-gradient(180deg, #2292ff 0%, #0b74ea 100%);
  border-color: #0b74ea;
  box-shadow: 0 14px 26px rgba(11, 116, 234, .22);
}
.page[data-page="orcamento-os"] .add-second-budget-button,
.page[data-page="orcamento-os"] #addBudgetPageItem {
  min-height: 46px;
  border-style: solid;
  border-radius: 14px;
  border-color: #bfd7f0;
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
  color: #0c67cf;
  font-weight: 850;
  box-shadow: 0 10px 20px rgba(8, 116, 232, .08);
}
.page[data-page="orcamento-os"] .add-second-budget-button:hover,
.page[data-page="orcamento-os"] #addBudgetPageItem:hover {
  background: linear-gradient(180deg, #ffffff 0%, #e7f1ff 100%);
  border-color: #98c0eb;
}
.page[data-page="orcamento-os"] .budget-page-section {
  margin: 16px 18px 0;
  padding: 24px;
  border: 1px solid #dfe9f4;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
  box-shadow: 0 14px 30px rgba(17, 50, 83, .04);
}
.page[data-page="orcamento-os"] .budget-page-summary {
  margin: 18px;
  padding: 22px;
  border: 1px solid #dfe9f4;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 14px 30px rgba(17, 50, 83, .04);
}
.page[data-page="orcamento-os"] .budget-page-head {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e6eef6;
}
.page[data-page="orcamento-os"] .budget-page-head h2 {
  font-size: 1.22rem;
  font-weight: 900;
  color: #0c243d;
}
.page[data-page="orcamento-os"] .budget-source-pickers {
  margin-bottom: 18px;
  gap: 14px;
}
.page[data-page="orcamento-os"] .prebudget-picker,
.page[data-page="orcamento-os"] .inventory-budget-picker {
  padding: 14px;
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.page[data-page="orcamento-os"] .prebudget-picker {
  border: 1px solid #d3e0ef;
  background: linear-gradient(180deg, #f8fbff 0%, #f2f7fd 100%);
}
.page[data-page="orcamento-os"] .inventory-budget-picker {
  border: 1px solid #c6e6d5;
  background: linear-gradient(180deg, #f9fffc 0%, #f2faf6 100%);
}
.page[data-page="orcamento-os"] .prebudget-picker .field,
.page[data-page="orcamento-os"] .inventory-budget-picker .field {
  gap: 10px;
  color: #102742;
  font-weight: 800;
}
.page[data-page="orcamento-os"] .prebudget-picker small,
.page[data-page="orcamento-os"] .inventory-budget-picker small {
  color: #698096;
  line-height: 1.45;
}
.page[data-page="orcamento-os"] .picker-input {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid #cfdced;
  background: #fff;
  box-shadow: 0 8px 20px rgba(16, 58, 102, .05);
}
.page[data-page="orcamento-os"] .budget-page-labels {
  padding: 0 2px 10px;
  color: #597088;
  font-size: .72rem;
  letter-spacing: .08em;
}
.page[data-page="orcamento-os"] #budgetPageItems {
  gap: 14px;
}
.page[data-page="orcamento-os"] .budget-page-row {
  position: relative;
  padding: 14px;
  border: 1px solid #d9e5f1;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
  box-shadow: 0 10px 24px rgba(16, 51, 84, .05);
}
.page[data-page="orcamento-os"] .budget-page-row::before {
  content: "";
  position: absolute;
  left: 0; top: 14px; bottom: 14px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, #79baff 0%, #0b77ec 100%);
}
.page[data-page="orcamento-os"] .budget-page-row.from-inventory::before {
  background: linear-gradient(180deg, #3fd28a 0%, #0aa55c 100%);
}
.page[data-page="orcamento-os"] .budget-page-row input,
.page[data-page="orcamento-os"] .budget-page-row select {
  min-height: 46px;
  border-radius: 14px;
  border-color: #cad9e8;
  padding: 0 14px;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.page[data-page="orcamento-os"] .budget-page-row input:focus,
.page[data-page="orcamento-os"] .budget-page-row select:focus,
.page[data-page="orcamento-os"] .picker-input input:focus,
.page[data-page="orcamento-os"] .budget-page-fields input:focus,
.page[data-page="orcamento-os"] .budget-page-fields textarea:focus,
.page[data-page="orcamento-os"] .budget-page-fields select:focus {
  border-color: #8fc0f3;
  box-shadow: 0 0 0 4px rgba(11, 116, 234, .12);
  outline: none;
}
.page[data-page="orcamento-os"] .budget-page-row .remove-budget-page-item {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border-color: #efc2ca;
  background: linear-gradient(180deg, #fffaf9 0%, #fff1f3 100%);
  box-shadow: 0 10px 18px rgba(216, 72, 95, .08);
}
.page[data-page="orcamento-os"] .budget-page-row .remove-budget-page-item:hover {
  background: #ffecef;
}
.page[data-page="orcamento-os"] .budget-total {
  margin-bottom: 20px;
  min-height: 72px;
  padding: 0 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #0f2741 0%, #102d49 55%, #0b426f 100%);
  box-shadow: 0 18px 34px rgba(15, 39, 65, .18);
}
.page[data-page="orcamento-os"] .budget-total span {
  color: rgba(255,255,255,.88);
  font-size: .88rem;
  font-weight: 700;
}
.page[data-page="orcamento-os"] .budget-total strong {
  font-size: 1.9rem;
  color: #fff;
  letter-spacing: -.03em;
}
.page[data-page="orcamento-os"] .budget-page-fields {
  gap: 16px;
}
.page[data-page="orcamento-os"] .budget-page-fields .field {
  gap: 8px;
}
.page[data-page="orcamento-os"] .budget-page-fields .field > span {
  color: #142c45;
  font-size: .79rem;
  font-weight: 850;
}
.page[data-page="orcamento-os"] .budget-page-fields input,
.page[data-page="orcamento-os"] .budget-page-fields textarea,
.page[data-page="orcamento-os"] .budget-page-fields select {
  border: 1px solid #cfdbeb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(16, 58, 102, .04);
}
.page[data-page="orcamento-os"] .budget-page-fields input,
.page[data-page="orcamento-os"] .budget-page-fields select {
  min-height: 46px;
  padding: 0 14px;
}
.page[data-page="orcamento-os"] .budget-page-fields textarea {
  min-height: 112px;
  padding: 14px;
}
.page[data-page="orcamento-os"] .budget-technician-field {
  padding: 14px;
  border: 1px solid #d6e5f4;
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fbff 0%, #f3f8fe 100%);
}
.page[data-page="orcamento-os"] .budget-page-actions {
  margin: 0 18px 18px;
  padding: 18px;
  border: 1px solid #dce7f2;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(249,251,253,.96) 0%, rgba(244,248,252,.96) 100%);
  box-shadow: 0 12px 24px rgba(17, 50, 83, .06);
}
.page[data-page="orcamento-os"] .budget-page-actions .button {
  min-height: 48px;
  border-radius: 14px;
  font-weight: 850;
}
.page[data-page="orcamento-os"] #budgetCancelButton {
  color: #6c7d8e;
  border-color: #d4ddea;
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
}
.page[data-page="orcamento-os"] #budgetCancelButton:hover {
  color: #46596f;
  background: #eef3f8;
}
.page[data-page="orcamento-os"] #budgetPageSaveButton {
  padding-inline: 22px;
  box-shadow: 0 14px 26px rgba(11, 116, 234, .18);
}
@media (max-width: 980px) {
  .page[data-page="orcamento-os"] .budget-page-section,
  .page[data-page="orcamento-os"] .budget-page-summary,
  .page[data-page="orcamento-os"] .budget-page-actions {
    margin-left: 14px;
    margin-right: 14px;
  }
  .page[data-page="orcamento-os"] .budget-source-pickers {
    grid-template-columns: 1fr;
  }
  .page[data-page="orcamento-os"] .budget-total strong {
    font-size: 1.6rem;
  }
}
@media (max-width: 760px) {
  .page[data-page="orcamento-os"] .budget-page-heading h1 {
    font-size: 1.75rem;
  }
  .page[data-page="orcamento-os"] .budget-option-manager {
    position: static;
    padding: 14px 14px 0;
  }
  .page[data-page="orcamento-os"] .budget-page-section,
  .page[data-page="orcamento-os"] .budget-page-summary,
  .page[data-page="orcamento-os"] .budget-page-actions {
    margin: 12px;
    padding: 16px;
    border-radius: 18px;
  }
  .page[data-page="orcamento-os"] .budget-page-head {
    margin-bottom: 16px;
    padding-bottom: 12px;
  }
  .page[data-page="orcamento-os"] .budget-page-row {
    padding: 12px;
  }
  .page[data-page="orcamento-os"] .budget-page-row::before {
    top: 12px;
    bottom: 12px;
  }
  .page[data-page="orcamento-os"] .budget-total {
    min-height: 66px;
    padding: 0 14px;
  }
  .page[data-page="orcamento-os"] .budget-total strong {
    font-size: 1.38rem;
  }
  .page[data-page="orcamento-os"] .budget-page-actions {
    gap: 10px;
  }
  .page[data-page="orcamento-os"] .budget-page-actions .button {
    width: 100%;
    justify-content: center;
  }
}


/* V183 - redesign moderno da tela Detalhes da Ordem de Serviço */
.page[data-page="ordem-detalhes"] {
  max-width: 1480px;
}
.page[data-page="ordem-detalhes"] .order-detail-heading {
  margin-bottom: 22px;
  align-items: flex-end;
}
.page[data-page="ordem-detalhes"] .order-detail-heading-copy {
  position: relative;
  padding-top: 8px;
}
.page[data-page="ordem-detalhes"] .order-detail-heading-copy::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 94px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1490ff 0%, #0a69df 100%);
}
.page[data-page="ordem-detalhes"] .order-detail-heading-copy h1 {
  margin-top: 10px;
  font-size: clamp(2rem, 2.8vw, 2.5rem);
  letter-spacing: -.03em;
}
.page[data-page="ordem-detalhes"] .order-detail-heading-copy > p:not(.eyebrow) {
  max-width: 760px;
  color: #64788d;
  font-size: .92rem;
}
.page[data-page="ordem-detalhes"] .order-detail-heading-side {
  align-items: flex-end;
  gap: 14px;
}
.page[data-page="ordem-detalhes"] .order-detail-head-actions {
  gap: 14px;
}
.page[data-page="ordem-detalhes"] .head-workflow-button,
.page[data-page="ordem-detalhes"] .order-detail-summary {
  border-radius: 16px;
}
.page[data-page="ordem-detalhes"] .head-workflow-button {
  box-shadow: 0 14px 30px rgba(17, 50, 83, .10);
}
.page[data-page="ordem-detalhes"] .order-detail-summary {
  position: relative;
  overflow: hidden;
  padding: 12px 18px;
  border: 1px solid #d5e3f0;
  background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
  box-shadow: 0 14px 30px rgba(17, 50, 83, .10);
}
.page[data-page="ordem-detalhes"] .order-detail-summary::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #2e98ff 0%, #0d74e9 100%);
}
.page[data-page="ordem-detalhes"] .order-detail-summary > strong {
  font-size: 1.42rem;
}
.page[data-page="ordem-detalhes"] .detail-page-panel {
  border: 1px solid #dbe7f2;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 22px 44px rgba(18, 51, 84, .08);
  overflow: hidden;
}
.page[data-page="ordem-detalhes"] .detail-page-body {
  padding: 24px;
  background: linear-gradient(180deg, rgba(249,252,255,.96) 0%, rgba(255,255,255,.96) 100%);
}
.page[data-page="ordem-detalhes"] .detail-grid-page {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
.page[data-page="ordem-detalhes"] .detail-grid-page > * {
  min-width: 0;
}
.page[data-page="ordem-detalhes"] .detail-grid-page .detail-block,
.page[data-page="ordem-detalhes"] .detail-linked-orders {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 22px;
  border: 1px solid #dbe7f2;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
  box-shadow: 0 14px 30px rgba(17, 50, 83, .06);
}
.page[data-page="ordem-detalhes"] .detail-grid-page .detail-block::before,
.page[data-page="ordem-detalhes"] .detail-linked-orders::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, #7abaff 0%, #0d76eb 100%);
}
.page[data-page="ordem-detalhes"] .detail-grid-page .detail-block.wide,
.page[data-page="ordem-detalhes"] .detail-linked-orders.wide {
  grid-column: 1 / -1;
}
.page[data-page="ordem-detalhes"] .detail-client::before { background: linear-gradient(90deg, #79b9ff 0%, #0b74ea 100%); }
.page[data-page="ordem-detalhes"] .detail-device::before { background: linear-gradient(90deg, #49a9ff 0%, #0b74ea 100%); }
.page[data-page="ordem-detalhes"] .detail-defect::before { background: linear-gradient(90deg, #ff8b96 0%, #ea3f55 100%); }
.page[data-page="ordem-detalhes"] .detail-accessories::before { background: linear-gradient(90deg, #43d294 0%, #0aa45c 100%); }
.page[data-page="ordem-detalhes"] .detail-budget::before { background: linear-gradient(90deg, #43d294 0%, #0aa45c 100%); }
.page[data-page="ordem-detalhes"] .detail-closure::before { background: linear-gradient(90deg, #6f8aa5 0%, #4d647d 100%); }
.page[data-page="ordem-detalhes"] .detail-inline-notes::before { background: linear-gradient(90deg, #ffca58 0%, #f1a100 100%); }
.page[data-page="ordem-detalhes"] .detail-inline-technicalReport::before { background: linear-gradient(90deg, #a464ff 0%, #712cdf 100%); }
.page[data-page="ordem-detalhes"] .detail-history::before { background: linear-gradient(90deg, #69b6ff 0%, #0d76eb 100%); }
.page[data-page="ordem-detalhes"] .detail-attachments::before { background: linear-gradient(90deg, #67b7ff 0%, #0d76eb 100%); }
.page[data-page="ordem-detalhes"] .detail-grid-page .detail-block.detail-defect {
  background: linear-gradient(180deg, #fff9fa 0%, #fff4f5 100%);
  border-color: #f1d3d8;
}
.page[data-page="ordem-detalhes"] .detail-grid-page .detail-block.detail-accessories {
  background: linear-gradient(180deg, #fbfffd 0%, #f1fbf6 100%);
  border-color: #d1ebdf;
}
.page[data-page="ordem-detalhes"] .detail-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.page[data-page="ordem-detalhes"] .detail-card-title {
  margin: 0;
  min-width: 0;
  align-items: center;
}
.page[data-page="ordem-detalhes"] .detail-card-title .detail-card-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 14px;
  box-shadow: 0 10px 20px rgba(14, 116, 232, .16);
}
.page[data-page="ordem-detalhes"] .detail-card-title h3 {
  color: #0f75e8 !important;
  font-size: .8rem !important;
  letter-spacing: .06em;
}
.page[data-page="ordem-detalhes"] .detail-lines {
  gap: 10px;
}
.page[data-page="ordem-detalhes"] .detail-line {
  grid-template-columns: 136px minmax(0,1fr);
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #edf2f7;
}
.page[data-page="ordem-detalhes"] .detail-line:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.page[data-page="ordem-detalhes"] .detail-line span {
  color: #6f8193;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.page[data-page="ordem-detalhes"] .detail-line strong {
  color: #122a43;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.55;
}
.page[data-page="ordem-detalhes"] .detail-text {
  color: #16304a;
  font-size: .86rem;
  line-height: 1.7;
}
.page[data-page="ordem-detalhes"] .detail-card-actions-group {
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.page[data-page="ordem-detalhes"] .detail-card-actions-group .button,
.page[data-page="ordem-detalhes"] .detail-card-action {
  min-height: 42px;
  padding-inline: 16px;
  border-radius: 12px;
  font-weight: 850;
  box-shadow: 0 10px 18px rgba(17, 50, 83, .08);
}
.page[data-page="ordem-detalhes"] .detail-card-actions-group .button.primary {
  box-shadow: 0 12px 24px rgba(11, 116, 234, .16);
}
.page[data-page="ordem-detalhes"] .linked-order-item {
  border-radius: 16px;
  border: 1px solid #dbe7f2;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
  padding: 16px;
  box-shadow: 0 10px 24px rgba(17, 50, 83, .05);
}
.page[data-page="ordem-detalhes"] .linked-order-item + .linked-order-item {
  margin-top: 12px;
}
.page[data-page="ordem-detalhes"] .linked-order-button {
  min-height: 40px;
  border-radius: 12px;
}
.page[data-page="ordem-detalhes"] .budget-view-empty {
  min-height: 150px;
  padding: 12px;
  border: 1px dashed #d5e3f0;
  border-radius: 18px;
  background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
}
.page[data-page="ordem-detalhes"] .budget-empty-center .detail-text {
  font-size: .98rem;
  color: #5e7288;
  font-weight: 700;
}
.page[data-page="ordem-detalhes"] .detail-inline-editor {
  min-height: 190px;
  padding: 22px;
  border-radius: 20px;
  box-shadow: 0 14px 30px rgba(17, 50, 83, .06);
}
.page[data-page="ordem-detalhes"] .inline-editor-head {
  gap: 18px;
  margin-bottom: 14px;
}
.page[data-page="ordem-detalhes"] .inline-editor-copy p {
  margin-top: 4px;
  line-height: 1.45;
}
.page[data-page="ordem-detalhes"] .inline-editor-actions .button {
  min-height: 40px;
  border-radius: 12px;
  font-weight: 850;
}
.page[data-page="ordem-detalhes"] .inline-editor-textarea {
  min-height: 112px;
  border-radius: 14px;
  line-height: 1.6;
}
.page[data-page="ordem-detalhes"] .detail-history .history-list {
  padding-left: 10px;
}
.page[data-page="ordem-detalhes"] .detail-history .history-item {
  padding: 4px 0 18px 28px;
  border-left: 2px solid #cae0f7;
}
.page[data-page="ordem-detalhes"] .detail-history .history-item::before {
  top: 5px;
  width: 12px;
  height: 12px;
  left: -8px;
  box-shadow: 0 0 0 2px #eaf4ff;
}
.page[data-page="ordem-detalhes"] .detail-history .history-item strong {
  font-size: .83rem;
}
.page[data-page="ordem-detalhes"] .detail-history .history-item time,
.page[data-page="ordem-detalhes"] .history-actor,
.page[data-page="ordem-detalhes"] .detail-history .history-item p {
  font-size: .74rem;
}
.page[data-page="ordem-detalhes"] .attachment-toolbar {
  gap: 12px;
  margin-bottom: 16px;
}
.page[data-page="ordem-detalhes"] .attachment-toolbar .button {
  min-height: 44px;
  border-radius: 12px;
  font-weight: 850;
}
.page[data-page="ordem-detalhes"] .attachment-list {
  border: 1px dashed #d9e6f2;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  padding: 10px;
}
.page[data-page="ordem-detalhes"] .detail-page-actions {
  position: sticky;
  bottom: 0;
  margin-top: 2px;
  min-height: 74px;
  padding: 14px 22px;
  border-top: 1px solid #dbe7f2;
  background: rgba(249,252,255,.96);
  backdrop-filter: blur(10px);
}
.page[data-page="ordem-detalhes"] .detail-page-actions .button {
  min-height: 44px;
  border-radius: 12px;
  padding-inline: 16px;
  font-weight: 850;
}
.page[data-page="ordem-detalhes"] .detail-back-button {
  background: linear-gradient(180deg, #ffffff 0%, #f3f7fb 100%);
}
@media (max-width: 1100px) {
  .page[data-page="ordem-detalhes"] .order-detail-heading {
    align-items: stretch;
  }
  .page[data-page="ordem-detalhes"] .order-detail-heading-side {
    width: 100%;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
@media (max-width: 900px) {
  .page[data-page="ordem-detalhes"] .detail-page-body {
    padding: 16px;
  }
  .page[data-page="ordem-detalhes"] .detail-grid-page {
    grid-template-columns: 1fr;
  }
  .page[data-page="ordem-detalhes"] .detail-grid-page .detail-block.wide,
  .page[data-page="ordem-detalhes"] .detail-linked-orders.wide {
    grid-column: auto;
  }
  .page[data-page="ordem-detalhes"] .detail-grid-page .detail-block,
  .page[data-page="ordem-detalhes"] .detail-linked-orders {
    padding: 18px;
  }
  .page[data-page="ordem-detalhes"] .detail-line {
    grid-template-columns: 120px minmax(0,1fr);
  }
}
@media (max-width: 640px) {
  .page[data-page="ordem-detalhes"] .order-detail-heading-copy h1 {
    font-size: 1.7rem;
  }
  .page[data-page="ordem-detalhes"] .detail-page-body {
    padding: 12px;
  }
  .page[data-page="ordem-detalhes"] .detail-grid-page {
    gap: 12px;
  }
  .page[data-page="ordem-detalhes"] .detail-grid-page .detail-block,
  .page[data-page="ordem-detalhes"] .detail-linked-orders,
  .page[data-page="ordem-detalhes"] .detail-inline-editor {
    padding: 16px;
    border-radius: 18px;
  }
  .page[data-page="ordem-detalhes"] .detail-section-head {
    flex-direction: column;
    align-items: stretch;
  }
  .page[data-page="ordem-detalhes"] .detail-card-actions-group {
    width: 100%;
  }
  .page[data-page="ordem-detalhes"] .detail-card-actions-group .button,
  .page[data-page="ordem-detalhes"] .detail-card-action {
    width: 100%;
    justify-content: center;
  }
  .page[data-page="ordem-detalhes"] .detail-line {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 8px 0;
  }
  .page[data-page="ordem-detalhes"] .detail-line span {
    font-size: .7rem;
  }
  .page[data-page="ordem-detalhes"] .detail-page-actions {
    padding: 12px;
    gap: 10px;
  }
  .page[data-page="ordem-detalhes"] .detail-page-actions .button {
    flex: 1 1 100%;
    justify-content: center;
  }
}
@media print {
  .page[data-page="ordem-detalhes"] .detail-page-panel {
    box-shadow: none;
    border: 0;
  }
  .page[data-page="ordem-detalhes"] .detail-grid-page .detail-block,
  .page[data-page="ordem-detalhes"] .detail-linked-orders {
    box-shadow: none;
  }
}


/* V185 - alinhamento e refinamento visual dos botões do orçamento */
.detail-budget .budget-option-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}
.detail-budget .budget-option-head > div:first-child {
  min-width: 0;
}
.detail-budget .budget-option-head-actions {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  justify-content: end;
  align-items: center;
  gap: 12px;
}
.detail-budget .budget-option-status {
  min-width: 150px;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: .76rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 16px rgba(18, 52, 84, .06);
}
.detail-budget .budget-option-head-actions .button {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 14px;
  font-size: .86rem;
  font-weight: 850;
  white-space: nowrap;
  box-shadow: 0 12px 22px rgba(18, 52, 84, .08);
}
.detail-budget .budget-option-head-actions .button svg {
  width: .95rem;
  height: .95rem;
}
.detail-budget .budget-option-edit {
  min-width: 150px;
}
.detail-budget .budget-option-delete {
  min-width: 172px;
}
.detail-budget .budget-option-authorize,
.detail-budget .budget-option-deauthorize,
.detail-budget .budget-option-decline {
  min-width: 138px;
}
.detail-budget .budget-option-head-actions .button.subtle {
  background: linear-gradient(180deg, #ffffff 0%, #edf5ff 100%);
  border-color: #b7d3f1;
  color: #0d68cf;
}
.detail-budget .budget-option-head-actions .button.subtle:hover {
  background: linear-gradient(180deg, #ffffff 0%, #e4effd 100%);
  border-color: #90bbea;
}
.detail-budget .budget-option-authorize {
  box-shadow: 0 14px 24px rgba(16, 167, 97, .18) !important;
}
.detail-budget .budget-option-delete,
.detail-budget .budget-option-decline {
  box-shadow: 0 12px 22px rgba(210, 61, 85, .08) !important;
}
@media (max-width: 1180px) {
  .detail-budget .budget-option-head {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .detail-budget .budget-option-head-actions {
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    justify-content: stretch;
  }
  .detail-budget .budget-option-head-actions .button,
  .detail-budget .budget-option-status {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }
}
@media (max-width: 760px) {
  .detail-budget .budget-option-head-actions {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .detail-budget .budget-option-head-actions .button,
  .detail-budget .budget-option-status {
    min-height: 42px;
    border-radius: 12px;
  }
}


/* V186 - redesign moderno da tela Clientes */
.clients-page {
  max-width: 1560px;
}
.clients-page .clients-heading {
  margin-bottom: 22px;
  align-items: flex-end;
}
.clients-page .clients-heading > div:first-child {
  position: relative;
  padding-top: 8px;
}
.clients-page .clients-heading > div:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 88px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1f90ff 0%, #0b6fe9 100%);
}
.clients-page .clients-heading h1 {
  margin-top: 10px;
  font-size: clamp(2rem, 2.8vw, 2.5rem);
  letter-spacing: -.03em;
}
.clients-page .clients-heading p:not(.eyebrow) {
  max-width: 740px;
  color: #62778d;
}
.client-add-button {
  min-height: 50px;
  padding: 0 22px;
  border-radius: 14px;
  box-shadow: 0 14px 28px rgba(10, 165, 111, .18);
}
.clients-period-panel {
  margin-bottom: 18px;
  padding: 18px 20px;
  border-radius: 18px;
  border-color: #d8e5f1;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 14px 28px rgba(18, 52, 84, .06);
}
.clients-period-copy { gap: 4px; }
.clients-period-kicker { letter-spacing: .08em; }
.clients-period-copy strong { font-size: 1.2rem; color: #0f2942; }
.clients-period-copy small { color: #728498; font-size: .76rem; }
.clients-period-select { gap: 7px; font-size: .72rem; }
.clients-period-select select {
  height: 46px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(17, 50, 83, .05);
}
.clients-overview {
  margin-bottom: 22px;
  gap: 16px;
}
.client-overview-card {
  min-height: 124px;
  padding: 18px;
  border-radius: 18px;
  border-color: #dbe7f2;
  box-shadow: 0 14px 28px rgba(17, 50, 83, .06);
  position: relative;
  overflow: hidden;
}
.client-overview-card::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 4px;
  background: linear-gradient(90deg, #89bfff 0%, #0d77ec 100%);
}
.client-overview-card.approved-total::before { background: linear-gradient(90deg, #ffd57e 0%, #ea9f0b 100%); }
.client-overview-card.equipment-total::before,
.client-overview-card.paid-total::before { background: linear-gradient(90deg, #77deaa 0%, #0aa55e 100%); }
.client-overview-card.open-total::before { background: linear-gradient(90deg, #ff9ca6 0%, #e54558 100%); }
.client-overview-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.client-overview-card small { font-size: .73rem; text-transform: uppercase; letter-spacing: .05em; }
.client-overview-card strong { font-size: clamp(1.15rem, 1.5vw, 1.52rem); }
.client-overview-card span:not(.client-overview-icon) { font-size: .71rem; line-height: 1.35; }
.clients-search-toolbar {
  margin-bottom: 20px;
  padding: 14px;
  border: 1px solid #dbe7f2;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 12px 24px rgba(17, 50, 83, .05);
}
.clients-search-box input,
.clients-filter-control select {
  border-radius: 12px;
  box-shadow: 0 8px 16px rgba(17, 50, 83, .04);
}
.clients-search-box input { height: 50px; }
.clients-search-button {
  min-height: 50px;
  border-radius: 12px;
  box-shadow: 0 12px 22px rgba(22,119,255,.16);
}
.clients-filter-control { min-height: 50px; }
.clients-filter-control select { height: 50px; }
.client-search-info {
  padding-right: 6px;
  color: #4e647b;
  font-size: .79rem;
  font-weight: 800;
}
.client-grid { gap: 18px; }
.client-card {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: 20px;
  border-color: #dbe7f2;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 18px 34px rgba(17, 50, 83, .07);
}
.client-card::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 4px;
  background: linear-gradient(90deg, #7fbaff 0%, #0c75ea 100%);
}
.client-head {
  margin-bottom: 14px;
  align-items: center;
  gap: 14px;
}
.client-avatar {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 16px;
  box-shadow: 0 14px 24px rgba(18, 98, 196, .18);
  font-size: .9rem;
}
.client-name-block h3,
.client-head h3 {
  font-size: 1.12rem;
  font-weight: 900;
  letter-spacing: -.02em;
}
.client-info {
  min-height: 128px;
  margin: 0 0 16px 66px;
  gap: 8px;
}
.client-info-row {
  grid-template-columns: 96px minmax(0, 1fr);
  font-size: .72rem;
}
.client-info-row > span {
  color: #70839a;
  font-weight: 800;
}
.client-info-row > strong {
  color: #263f58;
  font-weight: 800;
}
.client-summary-grid {
  margin: 0 0 14px;
  gap: 10px;
}
.client-summary-card {
  min-height: 76px;
  padding: 10px 10px;
  border-radius: 14px;
  grid-template-columns: 30px minmax(0, 1fr);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.client-summary-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
}
.client-summary-label {
  font-size: .63rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.client-summary-value { font-size: .82rem; }
.client-summary-note { font-size: .56rem; line-height: 1.2; }
.client-meta { margin-top: auto; }
.client-actions { gap: 10px; }
.client-meta button {
  min-height: 42px;
  padding: 0 12px;
  border-radius: 12px;
  font-size: .76rem;
  font-weight: 850;
  box-shadow: 0 10px 18px rgba(17, 50, 83, .07);
}
.client-actions button[data-client-search],
.client-actions button[data-client-orders] {
  box-shadow: 0 12px 22px rgba(8, 118, 238, .16);
}
.client-actions button[data-use-client] {
  box-shadow: 0 12px 22px rgba(8, 157, 103, .16);
}
.client-actions button[data-edit-client] {
  background: linear-gradient(180deg, #ffffff 0%, #f3f7fb 100%);
}
.client-actions .delete-client-button {
  background: linear-gradient(180deg, #ffffff 0%, #fff4f5 100%);
}
@media (max-width: 1260px) {
  .clients-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .clients-search-toolbar { grid-template-columns: minmax(260px,1fr) 120px 150px; }
}
@media (max-width: 900px) {
  .clients-page .clients-heading { align-items: stretch; }
  .clients-search-toolbar { padding: 12px; }
  .client-card { padding: 16px; }
}
@media (max-width: 560px) {
  .clients-page .clients-heading h1 { font-size: 1.7rem; }
  .clients-period-panel { padding: 14px; border-radius: 16px; }
  .client-overview-card { min-height: 106px; border-radius: 16px; }
  .client-card { border-radius: 18px; }
  .client-info { margin-left: 0; min-height: auto; }
  .client-head { align-items: flex-start; }
  .client-avatar { width: 48px; height: 48px; border-radius: 14px; }
  .client-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-actions { grid-template-columns: 1fr; }
}


/* V188 - busca e impressão na tela de Pré-Orçamento */
.prebudget-list-panel .inventory-header-tools { width: min(430px, 100%); }
.prebudget-list-panel .inventory-search { width: min(360px, 100%); }
@media (max-width: 760px) {
  .prebudget-list-panel .inventory-header-tools { width: 100%; }
  .prebudget-list-panel .inventory-search { width: 100%; }
}


/* V189 - contador de ordens usando cada categoria */
.category-row-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 12px;
}
.category-row-info .category-order-count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid #cfe0f5;
  border-radius: 999px;
  color: #1d5f9f;
  background: #eef6ff;
  font-size: .72rem;
}
.category-row-info .category-order-count svg {
  width: .8rem;
  height: .8rem;
  color: #0d75e8;
}
.category-row-info .category-order-count b {
  color: #0b4f93;
  font-weight: 900;
}
.category-row-info .category-created-at {
  color: #8190a2;
  font-size: .72rem;
}
@media (max-width: 640px) {
  .category-row-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
}


/* V190 - Acessórios e Observações com título acima e texto abaixo */
.page[data-page="ordem-detalhes"] .detail-accessories .detail-lines {
  gap: 14px;
}
.page[data-page="ordem-detalhes"] .detail-accessories .detail-line {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 12px 0;
}
.page[data-page="ordem-detalhes"] .detail-accessories .detail-line span {
  display: block;
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #4c647b;
}
.page[data-page="ordem-detalhes"] .detail-accessories .detail-line strong {
  display: block;
  width: 100%;
  font-size: .84rem;
  line-height: 1.65;
  color: #142b43;
}


/* V192 - produtos sem estoque ficam indisponíveis para orçamento */
.inventory-suggestion.is-unavailable,.inventory-suggestion:disabled{cursor:not-allowed;opacity:.72;background:#fff6f7}
.inventory-suggestion.is-unavailable:hover,.inventory-suggestion:disabled:hover{background:#fff6f7}
.inventory-suggestion.is-unavailable .inventory-suggestion-icon{color:#c33d50;background:#ffe5e9}
.inventory-suggestion.is-unavailable .inventory-suggestion-meta strong{color:#c33447}
.inventory-selected-chip.is-unavailable{border-color:#efbdc5;background:#fff0f2;color:#b52f43}
.prebudget-suggestion.is-unavailable,.prebudget-suggestion:disabled{cursor:not-allowed;opacity:.72;background:#fff6f7}
.prebudget-suggestion.is-unavailable:hover,.prebudget-suggestion:disabled:hover{background:#fff6f7}
.prebudget-suggestion.is-unavailable .prebudget-suggestion-price{color:#c33447}


/* V193 - Dashboard e Configurações com visual mais bonito e moderno */
.page[data-page="dashboard"] {
  max-width: 1560px;
}
.page[data-page="dashboard"] .dashboard-heading {
  margin-bottom: 22px;
  align-items: flex-end;
}
.page[data-page="dashboard"] .dashboard-heading-copy {
  position: relative;
  min-width: 0;
  padding-top: 6px;
}
.page[data-page="dashboard"] .dashboard-company-identity {
  margin-bottom: 18px;
  padding: 15px 18px;
  border: 1px solid #d9e6f2;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 16px 30px rgba(16, 40, 70, .06);
}
.page[data-page="dashboard"] .dashboard-company-identity strong {
  font-size: clamp(1.3rem, 2vw, 1.8rem);
}
.page[data-page="dashboard"] .dashboard-company-identity span {
  color: #687c92;
  font-size: .84rem;
}
.page[data-page="dashboard"] .dashboard-actions {
  width: min(1160px, 100%);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.page[data-page="dashboard"] .dashboard-actions .dashboard-action {
  min-height: 56px;
  border-radius: 18px;
  font-size: .92rem;
  font-weight: 850;
  box-shadow: 0 14px 30px rgba(15, 40, 74, .08);
}
.page[data-page="dashboard"] .dashboard-actions .dashboard-action.action-search {
  background: linear-gradient(180deg, #ffffff 0%, #f3f9ff 100%);
  border-color: #bfd7ef;
}
.page[data-page="dashboard"] .dashboard-actions .dashboard-action.action-client {
  background: linear-gradient(180deg, #f8fffb 0%, #eefaf4 100%);
  border-color: #b8e0cf;
}
.page[data-page="dashboard"] .dashboard-actions .dashboard-action.action-order {
  box-shadow: 0 18px 34px rgba(22, 119, 255, .22);
}
.page[data-page="dashboard"] .dashboard-overview-strip {
  margin-bottom: 20px;
  gap: 18px;
}
.page[data-page="dashboard"] .dashboard-mini-card {
  position: relative;
  overflow: hidden;
  min-height: 120px;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0 18px 34px rgba(16, 40, 70, .07);
}
.page[data-page="dashboard"] .dashboard-mini-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #7fbaff 0%, #0c76ec 100%);
}
.page[data-page="dashboard"] .dashboard-mini-card.orders::before {
  background: linear-gradient(90deg, #84dfb0 0%, #12a86f 100%);
}
.page[data-page="dashboard"] .dashboard-mini-icon {
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.page[data-page="dashboard"] .dashboard-mini-card strong {
  font-size: clamp(1.4rem, 2.4vw, 2rem);
}
.page[data-page="dashboard"] .dashboard-status-grid {
  gap: 18px;
}
.page[data-page="dashboard"] .dashboard-status-card {
  position: relative;
  overflow: hidden;
  min-height: 132px;
  border-radius: 22px;
  box-shadow: 0 20px 36px rgba(16, 40, 70, .11);
}
.page[data-page="dashboard"] .dashboard-status-card::after {
  content: "";
  position: absolute;
  right: -28px;
  top: -20px;
  width: 124px;
  height: 124px;
  border-radius: 50%;
  border: 16px solid rgba(255,255,255,.12);
}
.page[data-page="dashboard"] .dashboard-status-card .stat-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}
.page[data-page="dashboard"] .dashboard-status-card strong {
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
}
.page[data-page="dashboard"] .dashboard-status-card span {
  font-size: .9rem;
  font-weight: 850;
}
.page[data-page="dashboard"] .dashboard-status-card small {
  max-width: 240px;
  font-size: .74rem;
  line-height: 1.42;
}
.page[data-page="dashboard"] .panel {
  border-radius: 22px;
}
.page[data-page="dashboard"] .dashboard-orders-wrap {
  padding: 8px 2px 4px;
}
.page[data-page="dashboard"] .dashboard-order-list .order-row {
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid #dce8f2;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 12px 24px rgba(16, 40, 70, .05);
}
.page[data-page="dashboard"] .dashboard-order-list .order-row + .order-row {
  margin-top: 12px;
}
.page[data-page="dashboard"] .dashboard-order-list .row-label {
  color: #6f8399;
  font-size: .67rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.page[data-page="dashboard"] .dashboard-order-list .order-row-actions .button {
  min-height: 42px;
  border-radius: 12px;
  box-shadow: 0 12px 22px rgba(16, 40, 70, .08);
}
.page[data-page="dashboard"] .dashboard-orders-pager .button {
  min-height: 42px;
  border-radius: 12px;
}

.page[data-page="configuracoes"] {
  max-width: 1500px;
}
.page[data-page="configuracoes"] .page-heading {
  margin-bottom: 22px;
}
.page[data-page="configuracoes"] .page-heading > div {
  position: relative;
  padding-top: 6px;
}
.page[data-page="configuracoes"] .page-heading > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 92px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f84ff 0%, #0b6de8 100%);
}
.page[data-page="configuracoes"] .page-heading h1 {
  margin-top: 10px;
  font-size: clamp(2rem, 2.6vw, 2.45rem);
  letter-spacing: -.03em;
}
.page[data-page="configuracoes"] .page-heading p:not(.eyebrow) {
  color: #667b91;
  max-width: 650px;
}
.settings-hub-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.settings-nav-card {
  position: relative;
  overflow: hidden;
  min-height: 166px;
  padding: 24px;
  border-radius: 22px;
  border-color: #dbe7f2;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 18px 34px rgba(16, 40, 70, .07);
}
.settings-nav-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, #84bcff 0%, #0d78ec 100%);
}
.settings-nav-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 38px rgba(16, 40, 70, .1);
  border-color: #cadcf0;
}
.settings-nav-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: linear-gradient(180deg, #eef6ff 0%, #deecff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 10px 20px rgba(12, 118, 236, .08);
}
.settings-nav-icon svg {
  width: 24px;
  height: 24px;
}
.settings-nav-card h2 {
  margin-bottom: 8px;
  font-size: 1.14rem;
  letter-spacing: -.02em;
}
.settings-nav-card p {
  color: #63788f;
  font-size: .82rem;
  line-height: 1.6;
}
.settings-nav-arrow {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: #6d86a0;
  background: #f3f8fd;
}
.settings-nav-arrow svg {
  width: 15px;
  height: 15px;
}
@media (max-width: 1180px) {
  .page[data-page="dashboard"] .dashboard-actions {
    width: 100%;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .page[data-page="dashboard"] .dashboard-company-identity {
    padding: 14px;
    border-radius: 16px;
  }
  .page[data-page="dashboard"] .dashboard-overview-strip,
  .page[data-page="dashboard"] .dashboard-status-grid,
  .settings-hub-grid {
    gap: 14px;
  }
  .page[data-page="dashboard"] .dashboard-mini-card,
  .page[data-page="dashboard"] .dashboard-status-card,
  .settings-nav-card {
    border-radius: 18px;
  }
  .settings-nav-card {
    min-height: 150px;
    padding: 20px;
  }
}


/* V194 - Busca de ordem mais bonita, moderna e sem espaço sobrando ao lado do botão apagar */
.page[data-page="buscar"] {
  max-width: 1480px;
}
.page[data-page="buscar"] .page-heading {
  margin-bottom: 18px;
}
.page[data-page="buscar"] .page-heading > div {
  position: relative;
  padding-top: 6px;
}
.page[data-page="buscar"] .page-heading > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 84px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f84ff 0%, #0b6de8 100%);
}
.page[data-page="buscar"] .page-heading h1 {
  margin-top: 10px;
  font-size: clamp(2rem, 2.6vw, 2.55rem);
  letter-spacing: -.03em;
}
.page[data-page="buscar"] .page-heading p:not(.eyebrow) {
  color: #667c92;
  max-width: 760px;
}
.page[data-page="buscar"] .search-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
  padding: 28px 30px;
  border: 1px solid #0f4d84;
  border-radius: 24px;
  background: linear-gradient(115deg, #0f2741 0%, #134b79 52%, #185b92 100%);
  box-shadow: 0 22px 42px rgba(15, 50, 84, .18);
}
.page[data-page="buscar"] .search-hero::before {
  content: "";
  position: absolute;
  right: -36px;
  top: -44px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  border: 22px solid rgba(255,255,255,.08);
}
.page[data-page="buscar"] .search-hero::after {
  content: "";
  position: absolute;
  left: 24px;
  bottom: -52px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 18px solid rgba(255,255,255,.05);
}
.page[data-page="buscar"] .search-hero label {
  position: relative;
  z-index: 1;
  max-width: 880px;
}
.page[data-page="buscar"] .search-hero label > svg {
  left: 18px;
  color: #6f89a4;
}
.page[data-page="buscar"] .search-hero input {
  height: 58px;
  padding: 0 145px 0 52px;
  border: 1px solid #d9e6f2;
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px rgba(7, 22, 36, .08);
}
.page[data-page="buscar"] .search-hero .button {
  right: 7px;
  min-height: 46px;
  padding-inline: 22px;
  border-radius: 12px;
  box-shadow: 0 12px 24px rgba(22, 119, 255, .24);
}
.page[data-page="buscar"] .search-results {
  padding: 10px;
  border-radius: 24px;
  border-color: #dbe7f2;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
  box-shadow: 0 18px 34px rgba(16, 40, 70, .08);
}
.page[data-page="buscar"] .search-results .order-row {
  min-width: 1040px !important;
  grid-template-columns: 110px minmax(140px,1.08fr) minmax(115px,.82fr) minmax(125px,.92fr) minmax(190px,1.08fr) 150px max-content !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 15px 14px !important;
  border: 1px solid #dce8f2;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 10px 22px rgba(16, 40, 70, .05);
}
.page[data-page="buscar"] .search-results .order-row + .order-row {
  margin-top: 10px;
}
.page[data-page="buscar"] .search-results .order-row .row-label {
  color: #6d8197;
  font-size: .67rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.page[data-page="buscar"] .search-results .order-row .row-info strong,
.page[data-page="buscar"] .search-results .order-row .order-number {
  color: #11263d;
  font-size: .84rem;
}
.page[data-page="buscar"] .search-results .order-row-actions {
  min-width: max-content !important;
  width: max-content !important;
  justify-self: end !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-left: 0 !important;
}
.page[data-page="buscar"] .search-results .order-row-actions .button {
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 12px;
  box-shadow: 0 10px 18px rgba(16, 40, 70, .08);
}
.page[data-page="buscar"] #searchPrompt {
  margin-top: 14px;
  border-radius: 20px;
  border: 1px dashed #c7d7e7;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.page[data-page="buscar"] .search-scroll-control {
  margin: 10px 14px 4px;
}
.page[data-page="buscar"] .search-scroll-control input[type="range"] {
  accent-color: #1278f6;
}
@media (max-width: 760px) {
  .page[data-page="buscar"] .search-hero {
    padding: 16px 14px;
    border-radius: 18px;
  }
  .page[data-page="buscar"] .search-hero input {
    height: 50px;
    border-radius: 14px;
  }
  .page[data-page="buscar"] .search-results {
    padding: 8px;
    border-radius: 18px;
  }
  .page[data-page="buscar"] .search-results .order-row {
    min-width: 1040px !important;
    padding: 14px 12px !important;
    border-radius: 14px;
  }
}


/* V195 - Cadastrar cliente e Nova ordem mais bonitos e modernos */
.page[data-page="novo-cliente"],
.page[data-page="nova-os"] {
  max-width: 1500px;
}
.page[data-page="novo-cliente"] .page-heading,
.page[data-page="nova-os"] .page-heading {
  margin-bottom: 22px;
}
.page[data-page="novo-cliente"] .page-heading > div,
.page[data-page="nova-os"] .page-heading > div {
  position: relative;
  padding-top: 8px;
}
.page[data-page="novo-cliente"] .page-heading > div::before,
.page[data-page="nova-os"] .page-heading > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 94px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f84ff 0%, #0a69dc 100%);
}
.page[data-page="novo-cliente"] .page-heading h1,
.page[data-page="nova-os"] .page-heading h1 {
  margin-top: 10px;
  font-size: clamp(2rem, 2.7vw, 2.55rem);
  letter-spacing: -.035em;
}
.page[data-page="novo-cliente"] .page-heading p:not(.eyebrow),
.page[data-page="nova-os"] .page-heading p:not(.eyebrow) {
  max-width: 700px;
  color: #667d93;
}
.page[data-page="novo-cliente"] .form-layout,
.page[data-page="nova-os"] .form-layout {
  display: grid;
  gap: 18px;
}
.page[data-page="novo-cliente"] .form-card,
.page[data-page="nova-os"] .form-card {
  position: relative;
  overflow: hidden;
  padding: 22px 18px 18px;
  border: 1px solid #dce8f2;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 18px 34px rgba(16, 40, 70, .07);
}
.page[data-page="novo-cliente"] .form-card::before,
.page[data-page="nova-os"] .form-card::before {
  content: "";
  position: absolute;
  left: 1px;
  right: 1px;
  top: 1px;
  width: auto;
  height: 4px;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(90deg, #90bfff 0%, #0f78ef 100%);
}
.page[data-page="novo-cliente"] .section-title,
.page[data-page="nova-os"] .section-title {
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.page[data-page="novo-cliente"] .section-title span,
.page[data-page="nova-os"] .section-title span {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(180deg, #eef5ff 0%, #dceaff 100%);
  color: #0d67d6;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.page[data-page="novo-cliente"] .section-title h2,
.page[data-page="nova-os"] .section-title h2 {
  font-size: 1rem;
  letter-spacing: -.02em;
}
.page[data-page="novo-cliente"] .section-title p,
.page[data-page="nova-os"] .section-title p {
  color: #70849a;
  font-size: .75rem;
}
.page[data-page="novo-cliente"] .field-grid,
.page[data-page="nova-os"] .field-grid {
  gap: 18px;
}
.page[data-page="novo-cliente"] .field,
.page[data-page="nova-os"] .field {
  gap: 8px;
  color: #274059;
  font-size: .77rem;
  font-weight: 800;
}
.page[data-page="novo-cliente"] .field input,
.page[data-page="novo-cliente"] .field textarea,
.page[data-page="novo-cliente"] .field select,
.page[data-page="nova-os"] .field input,
.page[data-page="nova-os"] .field textarea,
.page[data-page="nova-os"] .field select {
  border-color: #cfdae6;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}
.page[data-page="novo-cliente"] .field input,
.page[data-page="novo-cliente"] .field select,
.page[data-page="nova-os"] .field input,
.page[data-page="nova-os"] .field select {
  height: 46px;
  padding: 0 14px;
}
.page[data-page="novo-cliente"] .field textarea,
.page[data-page="nova-os"] .field textarea {
  min-height: 88px;
  padding: 12px 14px;
  line-height: 1.52;
}
.page[data-page="novo-cliente"] .field input:focus,
.page[data-page="novo-cliente"] .field textarea:focus,
.page[data-page="novo-cliente"] .field select:focus,
.page[data-page="nova-os"] .field input:focus,
.page[data-page="nova-os"] .field textarea:focus,
.page[data-page="nova-os"] .field select:focus {
  border-color: #6aaeff;
  box-shadow: 0 0 0 4px rgba(22, 119, 255, .11);
}
.page[data-page="novo-cliente"] .field small,
.page[data-page="nova-os"] .field small {
  color: #70849a;
  font-size: .69rem;
}
.page[data-page="novo-cliente"] .form-card .field-grid.two,
.page[data-page="novo-cliente"] .form-card .field-grid.three,
.page[data-page="novo-cliente"] .form-card .field-grid.four,
.page[data-page="nova-os"] .form-card .field-grid.two,
.page[data-page="nova-os"] .form-card .field-grid.three,
.page[data-page="nova-os"] .form-card .field-grid.four {
  align-items: start;
}
.page[data-page="novo-cliente"] .client-picker,
.page[data-page="nova-os"] .client-picker {
  padding: 16px;
  border: 1px dashed #c5d7ea;
  border-radius: 18px;
  background: linear-gradient(180deg, #f9fcff 0%, #f3f8fd 100%);
}
.page[data-page="novo-cliente"] .picker-input input,
.page[data-page="nova-os"] .picker-input input {
  padding-left: 42px;
}
.page[data-page="novo-cliente"] .picker-input svg,
.page[data-page="nova-os"] .picker-input svg {
  left: 14px;
  color: #7790aa;
}
.page[data-page="novo-cliente"] .selected-client,
.page[data-page="nova-os"] .selected-client {
  margin-top: 14px;
  padding: 15px;
  border-radius: 16px;
  box-shadow: 0 10px 20px rgba(8, 121, 86, .08);
}
.page[data-page="novo-cliente"] .client-suggestions,
.page[data-page="nova-os"] .client-suggestions {
  top: 78px;
  border-radius: 14px;
  box-shadow: 0 20px 40px rgba(15, 35, 55, .16);
}
.page[data-page="novo-cliente"] .form-actions,
.page[data-page="nova-os"] .form-actions {
  margin-top: 20px;
  padding-top: 18px;
  gap: 12px;
}
.page[data-page="novo-cliente"] .form-actions .button,
.page[data-page="nova-os"] .form-actions .button {
  min-height: 46px;
  border-radius: 12px;
  padding-inline: 18px;
  box-shadow: 0 12px 22px rgba(16, 40, 70, .08);
}
.page[data-page="novo-cliente"] .form-actions .button.ghost,
.page[data-page="nova-os"] .form-actions .button.ghost {
  border-color: #cddaea;
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
}
.page[data-page="novo-cliente"] .form-actions .button.subtle,
.page[data-page="nova-os"] .form-actions .button.subtle {
  border-color: #c2d7f2;
  background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%);
}
.page[data-page="novo-cliente"] .form-actions .button.primary,
.page[data-page="nova-os"] .form-actions .button.primary {
  box-shadow: 0 14px 26px rgba(22, 119, 255, .2);
}
.page[data-page="novo-cliente"] .back-link,
.page[data-page="nova-os"] .back-link {
  box-shadow: 0 8px 18px rgba(16, 40, 70, .06);
}
.page[data-page="novo-cliente"] .client-form-actions {
  justify-content: flex-end;
}
.page[data-page="nova-os"] #existingClientPicker > .button.subtle {
  margin-top: 14px;
  border-radius: 12px;
}
@media (max-width: 980px) {
  .page[data-page="novo-cliente"] .form-card,
  .page[data-page="nova-os"] .form-card {
    padding: 20px 16px 16px;
  }
}
@media (max-width: 760px) {
  .page[data-page="novo-cliente"] .form-card,
  .page[data-page="nova-os"] .form-card {
    border-radius: 18px;
  }
  .page[data-page="novo-cliente"] .client-picker,
  .page[data-page="nova-os"] .client-picker {
    padding: 14px;
    border-radius: 16px;
  }
  .page[data-page="novo-cliente"] .form-actions .button,
  .page[data-page="nova-os"] .form-actions .button {
    width: 100%;
  }
}


/* V196 - Produtos vinculados dentro da janela Ver fornecedor */
.supplier-view-linked-field {
  align-content: start;
}
.supplier-view-linked-products {
  width: 100%;
  min-height: 52px;
  padding: 9px 11px;
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) 18px;
  align-items: center;
  gap: 9px;
  color: #0f63b8;
  border: 1px solid #b8d6f2;
  border-radius: 11px;
  background: linear-gradient(180deg, #f8fcff 0%, #eaf5ff 100%);
  cursor: pointer;
  text-align: left;
  transition: transform .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.supplier-view-linked-products:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #80b8ec;
  background: linear-gradient(180deg, #ffffff 0%, #e3f1ff 100%);
  box-shadow: 0 10px 20px rgba(15, 99, 184, .10);
}
.supplier-view-linked-products > svg:first-child {
  width: 32px;
  height: 32px;
  padding: 7px;
  border-radius: 9px;
  color: #0b75df;
  background: #dceeff;
}
.supplier-view-linked-products > span {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.supplier-view-linked-products strong {
  color: #15558f;
  font-size: .8rem;
}
.supplier-view-linked-products small {
  color: #64809b;
  font-size: .62rem;
  line-height: 1.3;
}
.supplier-view-linked-products > svg:last-child {
  width: .9rem;
  height: .9rem;
  color: #6f91b3;
}
.supplier-view-linked-products:disabled {
  grid-template-columns: 32px minmax(0,1fr);
  cursor: default;
  opacity: .72;
  border-color: #d7e1ea;
  background: #f5f7fa;
}
.supplier-view-linked-products:disabled > svg:first-child {
  color: #7f91a3;
  background: #e8edf2;
}


/* V197 - Mais padding interno na lista de Ordens recentes do dashboard */
.page[data-page="dashboard"] .dashboard-orders-wrap {
  padding: 18px 18px 18px;
}
.page[data-page="dashboard"] .dashboard-order-list .order-row {
  padding: 18px 18px;
}
.page[data-page="dashboard"] .dashboard-orders-pager {
  padding: 12px 6px 2px;
}
@media (max-width: 760px) {
  .page[data-page="dashboard"] .dashboard-orders-wrap {
    padding: 14px 12px 14px;
  }
  .page[data-page="dashboard"] .dashboard-order-list .order-row {
    padding: 16px 14px;
  }
}


/* V198 - Ajuste dos botões do dashboard para não ficarem recuados */
.page[data-page="dashboard"] .dashboard-heading {
  align-items: stretch;
  gap: 16px;
}
.page[data-page="dashboard"] .dashboard-actions {
  width: 100%;
  max-width: none;
  margin-top: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  justify-self: stretch;
}
.page[data-page="dashboard"] .dashboard-actions .dashboard-action {
  width: 100%;
  justify-content: center;
}
@media (min-width: 1181px) {
  .page[data-page="dashboard"] .dashboard-actions {
    width: 100%;
  }
}
@media (max-width: 1180px) {
  .page[data-page="dashboard"] .dashboard-actions {
    grid-template-columns: 1fr;
  }
}


/* V199 - Contatos do cliente clicáveis e com botão Copiar em Detalhes da OS */
.page[data-page="ordem-detalhes"] .detail-contact-line {
  align-items: center;
}
.page[data-page="ordem-detalhes"] .detail-contact-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.page[data-page="ordem-detalhes"] .detail-email-button {
  appearance: none;
  min-width: 0;
  max-width: 100%;
  min-height: 36px;
  padding: 6px 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0b63c7;
  border: 1px solid #b9d6f4;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #edf6ff 100%);
  box-shadow: 0 4px 12px rgba(11, 99, 199, .08);
  cursor: pointer;
  transition: .16s ease;
}
.page[data-page="ordem-detalhes"] .detail-email-button:hover {
  color: #0754ab;
  border-color: #83b8ed;
  background: #e8f3ff;
  transform: translateY(-1px);
}
.page[data-page="ordem-detalhes"] .detail-email-button svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}
.page[data-page="ordem-detalhes"] .detail-email-button strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit;
  font-size: .78rem;
  font-weight: 800;
}
.page[data-page="ordem-detalhes"] .detail-email-button small {
  flex: 0 0 auto;
  color: #176fca;
  font-size: .62rem;
  font-weight: 800;
}
.page[data-page="ordem-detalhes"] .detail-contact-copy {
  appearance: none;
  min-height: 36px;
  padding: 6px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #405b75;
  border: 1px solid #ced9e5;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);
  font-size: .7rem;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(16, 40, 70, .05);
}
.page[data-page="ordem-detalhes"] .detail-contact-copy:hover {
  color: #214765;
  border-color: #aebfd0;
  background: #eef3f8;
}
.page[data-page="ordem-detalhes"] .detail-contact-copy svg {
  width: .9rem;
  height: .9rem;
}
@media (max-width: 640px) {
  .page[data-page="ordem-detalhes"] .detail-contact-actions {
    width: 100%;
  }
  .page[data-page="ordem-detalhes"] .detail-whatsapp-phone,
  .page[data-page="ordem-detalhes"] .detail-email-button {
    flex: 1 1 auto;
    max-width: calc(100% - 86px);
  }
  .page[data-page="ordem-detalhes"] .detail-email-button small {
    display: none;
  }
}


/* V201 - Cabeçalho mobile mais bonito, moderno e organizado */
@media (max-width: 640px) {
  .topbar {
    padding: 10px 10px 12px;
    row-gap: 10px;
    background: linear-gradient(135deg, #0f2840 0%, #12365a 58%, #0d2740 100%);
    box-shadow: 0 10px 24px rgba(7, 22, 36, .22);
  }
  .menu-button {
    width: 40px;
    height: 40px;
    margin-right: 0;
    border-radius: 12px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  }
  .top-title {
    align-self: center;
    text-align: left;
    gap: 1px;
  }
  .top-title strong {
    font-size: .98rem;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .top-title span {
    display: none;
  }
  .device-status {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    justify-content: stretch;
    align-items: stretch;
  }
  .status-divider {
    display: none !important;
  }
  .status-cluster {
    min-width: 0;
    gap: 8px;
    padding: 9px 10px;
    border-radius: 14px;
    justify-content: flex-start;
    align-items: center;
    background: rgba(255, 255, 255, .09);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(8px);
  }
  .status-cluster div {
    min-width: 0;
    align-items: flex-start;
    text-align: left;
  }
  .status-cluster > svg {
    width: 1.12rem;
    height: 1.12rem;
    flex: 0 0 auto;
  }
  .status-cluster strong {
    max-width: 100%;
    font-size: .69rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .status-cluster span {
    display: block;
    max-width: 100%;
    font-size: .58rem;
    line-height: 1.2;
    color: #c5d4e4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .clock-cluster {
    display: flex !important;
  }
}
@media (max-width: 400px) {
  .topbar {
    padding: 9px 8px 11px;
  }
  .top-title strong {
    font-size: .92rem;
  }
  .device-status {
    gap: 7px;
  }
  .status-cluster {
    padding: 8px 9px;
    border-radius: 12px;
  }
  .status-cluster strong {
    font-size: .66rem;
  }
  .status-cluster span {
    font-size: .56rem;
  }
}


/* V204 - Páginas de sistema refinadas: margens, alinhamento, botões e visual moderno */
.page[data-page="config-empresa"],
.page[data-page="config-redes"],
.page[data-page="config-cartao"],
.page[data-page="config-excluidos"],
.page[data-page="config-colaboradores"] {
  max-width: 1520px;
}
.page[data-page="config-empresa"] .page-heading,
.page[data-page="config-redes"] .page-heading,
.page[data-page="config-cartao"] .page-heading,
.page[data-page="config-excluidos"] .page-heading,
.page[data-page="config-colaboradores"] .page-heading {
  margin-bottom: 24px;
}
.page[data-page="config-empresa"] .page-heading > div,
.page[data-page="config-redes"] .page-heading > div,
.page[data-page="config-cartao"] .page-heading > div,
.page[data-page="config-excluidos"] .page-heading > div,
.page[data-page="config-colaboradores"] .page-heading > div {
  position: relative;
  padding-top: 8px;
}
.page[data-page="config-empresa"] .page-heading > div::before,
.page[data-page="config-redes"] .page-heading > div::before,
.page[data-page="config-cartao"] .page-heading > div::before,
.page[data-page="config-excluidos"] .page-heading > div::before,
.page[data-page="config-colaboradores"] .page-heading > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 92px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f84ff 0%, #0b69df 100%);
}
.page[data-page="config-empresa"] .page-heading h1,
.page[data-page="config-redes"] .page-heading h1,
.page[data-page="config-cartao"] .page-heading h1,
.page[data-page="config-excluidos"] .page-heading h1,
.page[data-page="config-colaboradores"] .page-heading h1 {
  margin-top: 10px;
  font-size: clamp(2rem, 2.6vw, 2.55rem);
  letter-spacing: -.035em;
}
.page[data-page="config-empresa"] .page-heading p:not(.eyebrow),
.page[data-page="config-redes"] .page-heading p:not(.eyebrow),
.page[data-page="config-cartao"] .page-heading p:not(.eyebrow),
.page[data-page="config-excluidos"] .page-heading p:not(.eyebrow),
.page[data-page="config-colaboradores"] .page-heading p:not(.eyebrow) {
  max-width: 760px;
  color: #667d93;
}
.page[data-page="config-empresa"] .back-link,
.page[data-page="config-redes"] .back-link,
.page[data-page="config-cartao"] .back-link,
.page[data-page="config-excluidos"] .back-link,
.page[data-page="config-colaboradores"] .back-link {
  min-height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #cfe0ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%);
  box-shadow: 0 10px 20px rgba(16, 40, 70, .06);
  color: #15324b;
  font-weight: 800;
}
.page[data-page="config-empresa"] .back-link:hover,
.page[data-page="config-redes"] .back-link:hover,
.page[data-page="config-cartao"] .back-link:hover,
.page[data-page="config-excluidos"] .back-link:hover,
.page[data-page="config-colaboradores"] .back-link:hover {
  color: #0d6de2;
  border-color: #b9d2ea;
  transform: translateY(-1px);
}
.page[data-page="config-empresa"] .settings-stack,
.page[data-page="config-redes"] .settings-stack,
.page[data-page="config-cartao"] .settings-stack,
.page[data-page="config-excluidos"] .settings-stack,
.page[data-page="config-colaboradores"] .settings-stack {
  display: grid;
  gap: 22px;
}
.page[data-page="config-empresa"] .form-card,
.page[data-page="config-redes"] .form-card,
.page[data-page="config-cartao"] .form-card,
.page[data-page="config-excluidos"] .form-card,
.page[data-page="config-colaboradores"] .form-card,
.page[data-page="config-colaboradores"] .collaborators-card {
  position: relative;
  overflow: hidden;
  padding: 24px 22px 22px;
  border: 1px solid #dbe7f2;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 18px 34px rgba(16, 40, 70, .07);
}
.page[data-page="config-empresa"] .form-card::before,
.page[data-page="config-redes"] .form-card::before,
.page[data-page="config-cartao"] .form-card::before,
.page[data-page="config-excluidos"] .form-card::before,
.page[data-page="config-colaboradores"] .form-card::before,
.page[data-page="config-colaboradores"] .collaborators-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #8fc0ff 0%, #0f78ef 100%);
}
.page[data-page="config-empresa"] .section-title,
.page[data-page="config-redes"] .section-title,
.page[data-page="config-cartao"] .section-title,
.page[data-page="config-excluidos"] .section-title,
.page[data-page="config-colaboradores"] .section-title {
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.page[data-page="config-empresa"] .section-title > span,
.page[data-page="config-redes"] .section-title > span,
.page[data-page="config-cartao"] .section-title > span,
.page[data-page="config-excluidos"] .section-title > span,
.page[data-page="config-colaboradores"] .section-title > span {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(180deg, #eef5ff 0%, #deecff 100%);
  color: #0f6ddd;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 10px 18px rgba(15,109,221,.08);
}
.page[data-page="config-empresa"] .section-title h2,
.page[data-page="config-redes"] .section-title h2,
.page[data-page="config-cartao"] .section-title h2,
.page[data-page="config-excluidos"] .section-title h2,
.page[data-page="config-colaboradores"] .section-title h2 {
  font-size: 1.08rem;
  letter-spacing: -.02em;
}
.page[data-page="config-empresa"] .section-title p,
.page[data-page="config-redes"] .section-title p,
.page[data-page="config-cartao"] .section-title p,
.page[data-page="config-excluidos"] .section-title p,
.page[data-page="config-colaboradores"] .section-title p {
  color: #71859a;
  font-size: .76rem;
}
.page[data-page="config-empresa"] .field-grid,
.page[data-page="config-redes"] .field-grid,
.page[data-page="config-cartao"] .field-grid,
.page[data-page="config-colaboradores"] .field-grid {
  gap: 18px;
}
.page[data-page="config-empresa"] .field,
.page[data-page="config-redes"] .field,
.page[data-page="config-cartao"] .field,
.page[data-page="config-colaboradores"] .field {
  gap: 8px;
  color: #284058;
  font-size: .77rem;
  font-weight: 800;
}
.page[data-page="config-empresa"] .field input,
.page[data-page="config-empresa"] .field select,
.page[data-page="config-empresa"] .field textarea,
.page[data-page="config-redes"] .field input,
.page[data-page="config-redes"] .field select,
.page[data-page="config-redes"] .field textarea,
.page[data-page="config-cartao"] .field input,
.page[data-page="config-cartao"] .field select,
.page[data-page="config-cartao"] .field textarea,
.page[data-page="config-colaboradores"] .field input,
.page[data-page="config-colaboradores"] .field select,
.page[data-page="config-colaboradores"] .field textarea {
  border-color: #cfdae6;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84);
}
.page[data-page="config-empresa"] .field input,
.page[data-page="config-empresa"] .field select,
.page[data-page="config-redes"] .field input,
.page[data-page="config-redes"] .field select,
.page[data-page="config-cartao"] .field input,
.page[data-page="config-cartao"] .field select,
.page[data-page="config-colaboradores"] .field input,
.page[data-page="config-colaboradores"] .field select {
  min-height: 48px;
  padding-inline: 14px;
}
.page[data-page="config-empresa"] .field textarea,
.page[data-page="config-redes"] .field textarea,
.page[data-page="config-cartao"] .field textarea,
.page[data-page="config-colaboradores"] .field textarea {
  min-height: 110px;
  padding: 12px 14px;
}
.page[data-page="config-empresa"] .field input:focus,
.page[data-page="config-empresa"] .field select:focus,
.page[data-page="config-empresa"] .field textarea:focus,
.page[data-page="config-redes"] .field input:focus,
.page[data-page="config-redes"] .field select:focus,
.page[data-page="config-redes"] .field textarea:focus,
.page[data-page="config-cartao"] .field input:focus,
.page[data-page="config-cartao"] .field select:focus,
.page[data-page="config-cartao"] .field textarea:focus,
.page[data-page="config-colaboradores"] .field input:focus,
.page[data-page="config-colaboradores"] .field select:focus,
.page[data-page="config-colaboradores"] .field textarea:focus {
  border-color: #6aaeff;
  box-shadow: 0 0 0 4px rgba(22, 119, 255, .11);
}
.page[data-page="config-empresa"] .fiscal-document-toggle-grid .field {
  align-items: center;
  text-align: center;
  gap: 10px;
}
.page[data-page="config-empresa"] .fiscal-document-toggle-grid .field > span {
  width: 100%;
  text-align: center;
}
.page[data-page="config-empresa"] .fiscal-document-toggle-grid input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  margin: 0 auto;
  flex: 0 0 18px;
  border-radius: 4px;
  box-shadow: none;
  accent-color: #1677ff;
}

.page[data-page="config-empresa"] .field small,
.page[data-page="config-redes"] .field small,
.page[data-page="config-cartao"] .field small,
.page[data-page="config-colaboradores"] .field small {
  color: #74889c;
  font-size: .69rem;
  line-height: 1.45;
}
.page[data-page="config-empresa"] .settings-actions,
.page[data-page="config-redes"] .settings-actions,
.page[data-page="config-cartao"] .settings-actions,
.page[data-page="config-colaboradores"] .settings-actions,
.page[data-page="config-colaboradores"] .collaborator-form-actions,
.page[data-page="config-cartao"] .upload-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.page[data-page="config-empresa"] .company-save-actions {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #e2ebf4;
  justify-content: flex-end;
}
.page[data-page="config-empresa"] .settings-actions .button,
.page[data-page="config-redes"] .settings-actions .button,
.page[data-page="config-cartao"] .settings-actions .button,
.page[data-page="config-colaboradores"] .settings-actions .button,
.page[data-page="config-colaboradores"] .collaborator-form-actions .button,
.page[data-page="config-cartao"] .upload-actions .button {
  min-height: 46px;
  border-radius: 14px;
  padding-inline: 18px;
  box-shadow: 0 12px 24px rgba(16, 40, 70, .08);
}
.page[data-page="config-redes"] .wifi-connect-row {
  gap: 14px;
  align-items: end;
}
.page[data-page="config-redes"] .wifi-selected-field,
.page[data-page="config-cartao"] .lan-ip-box,
.page[data-page="config-cartao"] .storage-summary,
.page[data-page="config-redes"] .internet-status,
.page[data-page="config-cartao"] .internet-status {
  border-radius: 16px;
}
.page[data-page="config-redes"] .internet-status,
.page[data-page="config-cartao"] .internet-status {
  margin-top: 16px;
  padding: 14px 16px;
  border-color: #d5e4ef;
  background: linear-gradient(180deg, #f9fcff 0%, #f2f7fb 100%);
  color: #5f7388;
  font-size: .77rem;
}
.page[data-page="config-redes"] .lan-ip-box,
.page[data-page="config-cartao"] .lan-ip-box {
  margin-top: 16px;
  padding: 16px 18px;
  gap: 6px;
  border-color: #c7dcf3;
  background: linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%);
}
.page[data-page="config-redes"] .wifi-scan-results {
  margin-top: 16px;
  padding: 10px;
  border-radius: 18px;
  border-color: #d6e3ee;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.page[data-page="config-cartao"] .sd-upload-card .upload-box {
  padding: 18px;
  border: 1px dashed #c7d8e9;
  border-radius: 18px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
}
.page[data-page="config-cartao"] .maintenance-note {
  padding: 12px 14px;
  border-radius: 14px;
  background: #f3f7fb;
  color: #667c92;
}
.page[data-page="config-cartao"] .storage-metrics-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.page[data-page="config-cartao"] .storage-metric {
  padding: 18px 18px;
  border: 1px solid #dbe6f0;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 20px rgba(16,40,70,.05);
}
.page[data-page="config-cartao"] .storage-metric small {
  color: #6f859a;
  font-size: .71rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.page[data-page="config-cartao"] .storage-metric strong {
  margin-top: 8px;
  font-size: 1.25rem;
  letter-spacing: -.02em;
  color: #14324d;
}
.page[data-page="config-cartao"] .storage-summary {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #cfe0ef;
  background: #f8fbff;
  color: #4f6780;
}
.page[data-page="config-cartao"] .storage-detail-card,
.page[data-page="config-cartao"] .sd-upload-card {
  gap: 18px;
}
.page[data-page="config-cartao"] .storage-detail-card {
  padding: 16px 18px;
  border: 1px solid #dce7f0;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.page[data-page="config-cartao"] .sd-upload-grid {
  gap: 14px;
}
.page[data-page="config-cartao"] .file-picker {
  min-height: 112px;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f9fe 100%);
}
.page[data-page="config-excluidos"] .deleted-summary-grid {
  gap: 18px;
}
.page[data-page="config-excluidos"] .deleted-summary-card {
  min-height: 108px;
  padding: 20px;
  border: 1px solid #dbe6f0;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 12px 24px rgba(16, 40, 70, .05);
}
.page[data-page="config-excluidos"] .deleted-record-note {
  padding: 14px 16px;
  border: 1px solid #e6d8ad;
  border-radius: 16px;
  background: linear-gradient(180deg, #fffdf4 0%, #fff9e8 100%);
  color: #6e5e2d;
}
.page[data-page="config-excluidos"] .deleted-record-section .deleted-record-list {
  margin-top: 16px;
}
.page[data-page="config-excluidos"] .deleted-record-row {
  padding: 16px 18px;
  border: 1px solid #dde8f2;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 10px 20px rgba(16,40,70,.04);
}
.page[data-page="config-excluidos"] .deleted-record-list .empty-state,
.page[data-page="config-excluidos"] .empty-state.compact {
  min-height: 160px;
  padding: 28px 20px;
  border: 1px dashed #c9d8e6;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.page[data-page="config-colaboradores"] .collaborator-editor {
  padding: 18px;
  border: 1px solid #dbe7f2;
  border-radius: 20px;
  background: linear-gradient(180deg, #f9fcff 0%, #f5f9fd 100%);
}
.page[data-page="config-colaboradores"] .collaborator-access-card {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #dbe6f0;
  border-radius: 18px;
  background: #fff;
}

.page[data-page="config-colaboradores"] .fiscal-permissions-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.page[data-page="config-colaboradores"] .fiscal-permissions-heading strong {
  display: block;
}
.page[data-page="config-colaboradores"] .fiscal-permissions-heading small {
  display: block;
  color: var(--muted);
  line-height: 1.45;
}
.page[data-page="config-colaboradores"] .fiscal-permissions-card #collaboratorFiscalPermissions {
  margin-top: 12px;
}
.page[data-page="config-colaboradores"] .collaborator-schedule-fields {
  margin-top: 16px;
  padding-top: 16px;
}
.page[data-page="config-colaboradores"] .weekday-options {
  gap: 8px;
}
.page[data-page="config-colaboradores"] .weekday-options label {
  min-width: 54px;
  border-radius: 12px;
}
.page[data-page="config-colaboradores"] .collaborator-form-actions {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #dbe7f2;
}
.page[data-page="config-colaboradores"] .collaborator-list {
  margin-top: 18px;
  gap: 12px;
}
.page[data-page="config-colaboradores"] .collaborator-row {
  grid-template-columns: minmax(190px,1.2fr) minmax(150px,.8fr) minmax(220px,.95fr) auto;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid #dce8f2;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 10px 20px rgba(16, 40, 70, .05);
}
.page[data-page="config-colaboradores"] .collaborator-row strong {
  font-size: .92rem;
}
.page[data-page="config-colaboradores"] .collaborator-role {
  padding: 6px 12px;
  border-radius: 999px;
}
.page[data-page="config-colaboradores"] .collaborator-access-status {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.page[data-page="config-colaboradores"] .collaborator-status-toggle {
  min-height: 40px;
  border-radius: 12px;
}
.page[data-page="config-colaboradores"] .collaborator-actions {
  align-items: center;
  gap: 10px;
}
.page[data-page="config-colaboradores"] .collaborator-actions .button {
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 12px;
}
@media (max-width: 980px) {
  .page[data-page="config-empresa"] .form-card,
  .page[data-page="config-redes"] .form-card,
  .page[data-page="config-cartao"] .form-card,
  .page[data-page="config-excluidos"] .form-card,
  .page[data-page="config-colaboradores"] .form-card,
  .page[data-page="config-colaboradores"] .collaborators-card {
    padding: 20px 16px 18px;
    border-radius: 20px;
  }
  .page[data-page="config-cartao"] .storage-metrics-grid,
  .page[data-page="config-excluidos"] .deleted-summary-grid {
    grid-template-columns: 1fr;
  }
  .page[data-page="config-colaboradores"] .collaborator-row {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .page[data-page="config-empresa"] .settings-actions,
  .page[data-page="config-redes"] .settings-actions,
  .page[data-page="config-cartao"] .settings-actions,
  .page[data-page="config-colaboradores"] .settings-actions,
  .page[data-page="config-colaboradores"] .collaborator-form-actions,
  .page[data-page="config-cartao"] .upload-actions,
  .page[data-page="config-colaboradores"] .collaborator-actions,
  .page[data-page="config-cartao"] .backup-local-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .page[data-page="config-empresa"] .settings-actions .button,
  .page[data-page="config-redes"] .settings-actions .button,
  .page[data-page="config-cartao"] .settings-actions .button,
  .page[data-page="config-colaboradores"] .settings-actions .button,
  .page[data-page="config-colaboradores"] .collaborator-form-actions .button,
  .page[data-page="config-cartao"] .upload-actions .button,
  .page[data-page="config-colaboradores"] .collaborator-actions .button,
  .page[data-page="config-cartao"] .backup-local-actions .button {
    width: 100%;
    justify-content: center;
  }
  .page[data-page="config-redes"] .wifi-connect-row {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .page[data-page="config-cartao"] .sd-upload-grid,
  .page[data-page="config-cartao"] .storage-metrics-grid,
  .page[data-page="config-excluidos"] .deleted-summary-grid,
  .page[data-page="config-colaboradores"] .collaborator-row {
    grid-template-columns: 1fr;
  }
}


/* V205 - Modernização de Relatórios, Pré-Orçamento, Estoque, Categorias e Ordens */
.page[data-page="relatorios"],
.page[data-page="pre-orcamentos"],
.page[data-page="estoque"],
.page[data-page="categorias-os"],
.page[data-page="ordens"] {
  max-width: 1540px;
}
.page[data-page="relatorios"] .page-heading,
.page[data-page="pre-orcamentos"] .page-heading,
.page[data-page="estoque"] .page-heading,
.page[data-page="categorias-os"] .page-heading,
.page[data-page="ordens"] .page-heading {
  margin-bottom: 24px;
}
.page[data-page="relatorios"] .page-heading > div,
.page[data-page="pre-orcamentos"] .page-heading > div,
.page[data-page="estoque"] .page-heading > div,
.page[data-page="categorias-os"] .page-heading > div,
.page[data-page="ordens"] .page-heading > div {
  position: relative;
  padding-top: 8px;
}
.page[data-page="relatorios"] .page-heading > div::before,
.page[data-page="pre-orcamentos"] .page-heading > div::before,
.page[data-page="estoque"] .page-heading > div::before,
.page[data-page="categorias-os"] .page-heading > div::before,
.page[data-page="ordens"] .page-heading > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 92px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f84ff 0%, #0b69df 100%);
}
.page[data-page="relatorios"] .page-heading h1,
.page[data-page="pre-orcamentos"] .page-heading h1,
.page[data-page="estoque"] .page-heading h1,
.page[data-page="categorias-os"] .page-heading h1,
.page[data-page="ordens"] .page-heading h1 {
  margin-top: 10px;
  font-size: clamp(2rem, 2.5vw, 2.6rem);
  letter-spacing: -.035em;
}
.page[data-page="relatorios"] .page-heading p:not(.eyebrow),
.page[data-page="pre-orcamentos"] .page-heading p:not(.eyebrow),
.page[data-page="estoque"] .page-heading p:not(.eyebrow),
.page[data-page="categorias-os"] .page-heading p:not(.eyebrow),
.page[data-page="ordens"] .page-heading p:not(.eyebrow) {
  max-width: 760px;
  color: #667d93;
}
.page[data-page="relatorios"] .back-link,
.page[data-page="pre-orcamentos"] .back-link,
.page[data-page="estoque"] .back-link,
.page[data-page="categorias-os"] .back-link,
.page[data-page="ordens"] .back-link {
  min-height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #cfe0ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%);
  box-shadow: 0 10px 20px rgba(16, 40, 70, .06);
  color: #15324b;
  font-weight: 800;
}
.page[data-page="relatorios"] .back-link:hover,
.page[data-page="pre-orcamentos"] .back-link:hover,
.page[data-page="estoque"] .back-link:hover,
.page[data-page="categorias-os"] .back-link:hover,
.page[data-page="ordens"] .back-link:hover {
  color: #0d6de2;
  border-color: #b9d2ea;
  transform: translateY(-1px);
}
.page[data-page="relatorios"] .panel,
.page[data-page="pre-orcamentos"] .panel,
.page[data-page="pre-orcamentos"] .form-card,
.page[data-page="estoque"] .panel,
.page[data-page="estoque"] .form-card,
.page[data-page="categorias-os"] .panel,
.page[data-page="categorias-os"] .form-card,
.page[data-page="ordens"] .panel {
  position: relative;
  overflow: hidden;
  border: 1px solid #dbe7f2;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 18px 34px rgba(16, 40, 70, .07);
}
.page[data-page="relatorios"] .panel::before,
.page[data-page="pre-orcamentos"] .panel::before,
.page[data-page="pre-orcamentos"] .form-card::before,
.page[data-page="estoque"] .panel::before,
.page[data-page="estoque"] .form-card::before,
.page[data-page="categorias-os"] .panel::before,
.page[data-page="categorias-os"] .form-card::before,
.page[data-page="ordens"] .panel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #8fc0ff 0%, #0f78ef 100%);
}
.page[data-page="pre-orcamentos"] .form-card,
.page[data-page="estoque"] .form-card,
.page[data-page="categorias-os"] .form-card {
  padding: 22px 20px 20px;
}
.page[data-page="relatorios"] .panel-header,
.page[data-page="pre-orcamentos"] .panel-header,
.page[data-page="estoque"] .panel-header,
.page[data-page="categorias-os"] .panel-header,
.page[data-page="ordens"] .panel-header {
  min-height: 82px;
  padding: 20px 22px 18px;
  align-items: center;
  border-bottom: 1px solid #e3edf5;
}
.page[data-page="pre-orcamentos"] .section-title,
.page[data-page="estoque"] .section-title,
.page[data-page="categorias-os"] .section-title {
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.page[data-page="pre-orcamentos"] .section-title > span,
.page[data-page="estoque"] .section-title > span,
.page[data-page="categorias-os"] .section-title > span {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(180deg, #eef5ff 0%, #deecff 100%);
  color: #0f6ddd;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 10px 18px rgba(15,109,221,.08);
}
.page[data-page="pre-orcamentos"] .section-title h2,
.page[data-page="estoque"] .section-title h2,
.page[data-page="categorias-os"] .section-title h2,
.page[data-page="relatorios"] .panel-header h2,
.page[data-page="ordens"] .panel-header h2 {
  font-size: 1.08rem;
  letter-spacing: -.02em;
}
.page[data-page="pre-orcamentos"] .section-title p,
.page[data-page="estoque"] .section-title p,
.page[data-page="categorias-os"] .section-title p,
.page[data-page="relatorios"] .panel-header p,
.page[data-page="ordens"] .panel-header p {
  color: #71859a;
  font-size: .76rem;
}
.page[data-page="pre-orcamentos"] .field-grid,
.page[data-page="estoque"] .field-grid,
.page[data-page="categorias-os"] .field-grid {
  gap: 16px;
}
.page[data-page="pre-orcamentos"] .field,
.page[data-page="estoque"] .field,
.page[data-page="categorias-os"] .field {
  gap: 8px;
  color: #284058;
  font-size: .77rem;
  font-weight: 800;
}
.page[data-page="pre-orcamentos"] .field input,
.page[data-page="pre-orcamentos"] .field select,
.page[data-page="pre-orcamentos"] .field textarea,
.page[data-page="estoque"] .field input,
.page[data-page="estoque"] .field select,
.page[data-page="estoque"] .field textarea,
.page[data-page="categorias-os"] .field input,
.page[data-page="categorias-os"] .field select,
.page[data-page="categorias-os"] .field textarea {
  border-color: #cfdae6;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84);
}
.page[data-page="pre-orcamentos"] .field input,
.page[data-page="pre-orcamentos"] .field select,
.page[data-page="estoque"] .field input,
.page[data-page="estoque"] .field select,
.page[data-page="categorias-os"] .field input,
.page[data-page="categorias-os"] .field select {
  min-height: 48px;
  padding-inline: 14px;
}
.page[data-page="pre-orcamentos"] .field textarea,
.page[data-page="estoque"] .field textarea,
.page[data-page="categorias-os"] .field textarea {
  min-height: 110px;
  padding: 12px 14px;
}
.page[data-page="pre-orcamentos"] .field input:focus,
.page[data-page="pre-orcamentos"] .field select:focus,
.page[data-page="pre-orcamentos"] .field textarea:focus,
.page[data-page="estoque"] .field input:focus,
.page[data-page="estoque"] .field select:focus,
.page[data-page="estoque"] .field textarea:focus,
.page[data-page="categorias-os"] .field input:focus,
.page[data-page="categorias-os"] .field select:focus,
.page[data-page="categorias-os"] .field textarea:focus {
  border-color: #6aaeff;
  box-shadow: 0 0 0 4px rgba(22, 119, 255, .11);
}
.page[data-page="pre-orcamentos"] .button.primary,
.page[data-page="estoque"] .button.primary,
.page[data-page="categorias-os"] .button.primary,
.page[data-page="ordens"] .button.primary,
.page[data-page="relatorios"] .button.primary {
  box-shadow: 0 14px 24px rgba(18, 95, 179, .18);
}
.page[data-page="pre-orcamentos"] .button.subtle,
.page[data-page="estoque"] .button.subtle,
.page[data-page="categorias-os"] .button.subtle,
.page[data-page="ordens"] .button.subtle,
.page[data-page="relatorios"] .button.subtle,
.page[data-page="pre-orcamentos"] .button.ghost,
.page[data-page="estoque"] .button.ghost,
.page[data-page="categorias-os"] .button.ghost {
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
}

/* Relatórios */
.page[data-page="relatorios"] .report-grid {
  grid-template-columns: minmax(0, 1.65fr) minmax(340px, .82fr);
  gap: 18px;
  align-items: start;
}
.page[data-page="relatorios"] .report-status,
.page[data-page="relatorios"] .financial-card,
.page[data-page="relatorios"] .report-grid > .panel:last-child {
  min-height: 100%;
}
.page[data-page="relatorios"] .report-bars {
  padding: 18px 20px 20px;
  gap: 14px;
}
.page[data-page="relatorios"] .report-bars > div {
  padding: 12px 14px;
  border: 1px solid #e2ebf3;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
}
.page[data-page="relatorios"] .report-bar-label {
  margin-bottom: 10px;
  font-size: .78rem;
}
.page[data-page="relatorios"] .bar-track {
  height: 10px;
  background: #e8eff6;
}
.page[data-page="relatorios"] .financial-card {
  border-color: #0c6d4d;
  background: radial-gradient(circle at top left, rgba(255,255,255,.16), transparent 34%), linear-gradient(145deg, #0d7d59 0%, #109169 42%, #0c8c82 100%);
  box-shadow: 0 22px 40px rgba(10, 104, 86, .24);
}
.page[data-page="relatorios"] .financial-card::before {
  background: linear-gradient(90deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,.06) 100%);
}
.page[data-page="relatorios"] .financial-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15);
}
.page[data-page="relatorios"] .financial-card p {
  font-size: .82rem;
}
.page[data-page="relatorios"] .financial-card strong {
  font-size: clamp(2rem, 2.5vw, 2.5rem);
}
.page[data-page="relatorios"] .summary-list {
  padding: 10px 22px 18px;
}
.page[data-page="relatorios"] .summary-list > div {
  padding: 15px 0;
  font-size: .8rem;
}

/* Categorias */
.page[data-page="categorias-os"] .categories-layout {
  gap: 20px;
}
.page[data-page="categorias-os"] .categories-layout.composer-open {
  grid-template-columns: minmax(330px, 430px) minmax(0, 1fr);
}
.page[data-page="categorias-os"] .categories-form-grid {
  gap: 18px;
}
.page[data-page="categorias-os"] .category-actions {
  padding-top: 18px;
  border-top: 1px solid #dbe7f2;
  justify-content: flex-end;
}
.page[data-page="categorias-os"] .category-list {
  padding: 18px;
  display: grid;
  gap: 14px;
}
.page[data-page="categorias-os"] .category-row {
  padding: 18px 18px;
  border-radius: 18px;
  border-color: #dbe6f0;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 12px 22px rgba(16, 40, 70, .05);
}
.page[data-page="categorias-os"] .category-row-info {
  gap: 10px;
}
.page[data-page="categorias-os"] .category-row-info strong {
  font-size: 1rem;
}
.page[data-page="categorias-os"] .category-row-actions {
  justify-content: flex-end;
}
.page[data-page="categorias-os"] .category-row-actions .button {
  min-height: 40px;
  padding-inline: 16px;
  border-radius: 12px;
}
.page[data-page="categorias-os"] .category-pager,
.page[data-page="categorias-os"] .categories-page-panel .empty-state {
  margin: 0 18px 18px;
}

/* Pré-Orçamento */
.page[data-page="pre-orcamentos"] .prebudget-layout {
  gap: 20px;
}
.page[data-page="pre-orcamentos"] .prebudget-layout.composer-open {
  grid-template-columns: minmax(330px, 430px) minmax(0, 1fr);
}
.page[data-page="pre-orcamentos"] .inventory-prebudget-link {
  padding: 16px;
  border: 1px solid #cfe5da;
  border-radius: 16px;
  background: linear-gradient(180deg, #f7fcf9 0%, #f0faf5 100%);
}
.page[data-page="pre-orcamentos"] .picker-input,
.page[data-page="pre-orcamentos"] .inventory-search input,
.page[data-page="estoque"] .inventory-search input {
  border-radius: 14px;
}
.page[data-page="pre-orcamentos"] .prebudget-template-list {
  padding: 16px 18px 18px;
  margin: 0;
  gap: 14px;
}
.page[data-page="pre-orcamentos"] .prebudget-template-row {
  padding: 18px 18px;
  border-radius: 18px;
  border-color: #dbe6f0;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 12px 22px rgba(16, 40, 70, .05);
}
.page[data-page="pre-orcamentos"] .prebudget-template-main {
  display: grid;
  gap: 8px;
}
.page[data-page="pre-orcamentos"] .prebudget-template-main strong {
  font-size: .96rem;
}
.page[data-page="pre-orcamentos"] .prebudget-template-main p {
  margin: 0;
  font-size: .78rem;
  line-height: 1.5;
}
.page[data-page="pre-orcamentos"] .prebudget-template-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.page[data-page="pre-orcamentos"] .prebudget-stock-source {
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf7ff;
  color: #1768b3;
  font-size: .68rem;
}
.page[data-page="pre-orcamentos"] .prebudget-template-actions .button {
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 12px;
}
.page[data-page="pre-orcamentos"] .prebudget-pager,
.page[data-page="pre-orcamentos"] .prebudget-list-panel .empty-state {
  margin: 0 18px 18px;
}
.page[data-page="pre-orcamentos"] .prebudget-form-actions {
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid #dbe7f2;
}

/* Estoque */
.page[data-page="estoque"] .inventory-summary-grid {
  margin-bottom: 20px;
  gap: 16px;
}
.page[data-page="estoque"] .inventory-summary-card {
  min-height: 118px;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 16px 30px rgba(16, 40, 70, .07);
}
.page[data-page="estoque"] .inventory-summary-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
}
.page[data-page="estoque"] .inventory-summary-card strong {
  font-size: clamp(1.3rem, 1.8vw, 1.8rem);
}
.page[data-page="estoque"] .inventory-suppliers-section {
  margin-top: 2px;
  padding: 18px;
  border: 1px solid #dfe8f2;
  border-radius: 24px;
  background: linear-gradient(180deg, #fefeff 0%, #fbfdff 100%);
  box-shadow: 0 16px 30px rgba(16, 40, 70, .05);
}
.page[data-page="estoque"] .inventory-suppliers-heading {
  margin-bottom: 18px;
  padding: 16px 18px;
  border: 1px solid #dfd8f8;
  border-radius: 18px;
  background: linear-gradient(180deg, #fbf8ff 0%, #f6f2ff 100%);
}
.page[data-page="estoque"] .inventory-layout,
.page[data-page="estoque"] .supplier-layout {
  gap: 20px;
}
.page[data-page="estoque"] .inventory-list,
.page[data-page="estoque"] .supplier-list {
  padding: 18px;
  gap: 14px;
}
.page[data-page="estoque"] .inventory-row,
.page[data-page="estoque"] .supplier-row {
  padding: 18px;
  border-radius: 18px;
  border-color: #dce7f0;
  box-shadow: 0 12px 22px rgba(16, 40, 70, .05);
}
.page[data-page="estoque"] .inventory-row-metrics > div,
.page[data-page="estoque"] .supplier-row-details {
  border-radius: 14px;
}
.page[data-page="estoque"] .inventory-row-actions,
.page[data-page="estoque"] .supplier-row-actions,
.page[data-page="estoque"] .inventory-form-actions,
.page[data-page="estoque"] .supplier-form-actions {
  gap: 10px;
}
.page[data-page="estoque"] .inventory-row-actions .button,
.page[data-page="estoque"] .supplier-row-actions .button,
.page[data-page="estoque"] .inventory-form-actions .button,
.page[data-page="estoque"] .supplier-form-actions .button {
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 12px;
}
.page[data-page="estoque"] .inventory-pager,
.page[data-page="estoque"] .supplier-list-panel .empty-state,
.page[data-page="estoque"] .inventory-list-panel .empty-state {
  margin: 0 18px 18px;
}

/* Ordens */
.page[data-page="ordens"] .filter-panel {
  padding: 18px;
}
.page[data-page="ordens"] .filters {
  padding: 16px;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 14px;
  border: 1px solid #dce7f1;
  border-radius: 18px;
  background: linear-gradient(180deg, #f9fbff 0%, #f5f9fd 100%);
}
.page[data-page="ordens"] .search-control input,
.page[data-page="ordens"] .select-control select {
  height: 48px;
  border-radius: 14px;
  border-color: #cfdae6;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
}
.page[data-page="ordens"] .search-control svg {
  left: 15px;
}
.page[data-page="ordens"] .search-control input {
  padding-left: 42px;
}
.page[data-page="ordens"] .select-control {
  justify-content: flex-end;
  gap: 12px;
  color: #52697f;
}
.page[data-page="ordens"] .orders-client-filter {
  margin: 16px 0 0;
  padding: 14px 16px;
  border-radius: 16px;
  border-color: #cfe0ef;
  background: linear-gradient(180deg, #f6faff 0%, #edf5ff 100%);
}
.page[data-page="ordens"] .orders-list-wrap {
  margin-top: 16px;
  padding: 0 2px 12px;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
.page[data-page="ordens"] .orders-list-wrap .order-list {
  min-width: 1190px;
  padding: 2px;
  display: grid;
  gap: 14px;
}
.page[data-page="ordens"] .order-row {
  min-width: 1190px !important;
  padding: 18px 18px !important;
  grid-template-columns: 118px minmax(160px, 1.35fr) minmax(120px, .9fr) minmax(130px, 1fr) minmax(220px, 1.35fr) 165px 205px !important;
  gap: 16px !important;
  border: 1px solid #dbe6f0;
  border-top: 1px solid #dbe6f0 !important;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 14px 24px rgba(16, 40, 70, .05);
}
.page[data-page="ordens"] .order-row:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border-color: #cfe0ef;
  transform: translateY(-1px);
}
.page[data-page="ordens"] .order-row .row-info {
  gap: 6px;
}
.page[data-page="ordens"] .order-row .row-label {
  color: #6d8296;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.page[data-page="ordens"] .order-row .row-info strong,
.page[data-page="ordens"] .order-row .order-number {
  font-size: .85rem;
  font-weight: 700 !important;
  color: #15324c !important;
}
.page[data-page="ordens"] .order-row .row-os .order-number,
.page[data-page="ordens"] .order-row .row-os strong {
  color: #0b69df !important;
}
.page[data-page="ordens"] .order-row-actions {
  min-width: 0 !important;
  justify-content: flex-end !important;
  gap: 10px;
}
.page[data-page="ordens"] .order-row-actions .button {
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 12px;
}
.page[data-page="ordens"] .order-row-actions .delete-order-button {
  color: #c03245;
  border-color: #f0c6cc;
  background: linear-gradient(180deg, #fffafb 0%, #fff3f5 100%);
}
.page[data-page="ordens"] .orders-pager {
  margin-top: 4px;
  padding: 16px 6px 4px;
  border-top: 0;
}
.page[data-page="ordens"] .orders-page-info {
  min-width: 150px;
  color: #506780;
}
.page[data-page="ordens"] #ordersEmpty {
  margin-top: 16px;
  min-height: 180px;
  border: 1px dashed #cfe0ef;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

@media (max-width: 1180px) {
  .page[data-page="relatorios"] .report-grid,
  .page[data-page="pre-orcamentos"] .prebudget-layout.composer-open,
  .page[data-page="estoque"] .inventory-layout,
  .page[data-page="estoque"] .supplier-layout,
  .page[data-page="categorias-os"] .categories-layout.composer-open {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .page[data-page="relatorios"] .report-grid,
  .page[data-page="estoque"] .inventory-summary-grid {
    grid-template-columns: 1fr 1fr;
  }
  .page[data-page="ordens"] .filter-panel {
    padding: 14px;
  }
  .page[data-page="ordens"] .filters {
    grid-template-columns: 1fr;
  }
  .page[data-page="ordens"] .select-control {
    justify-content: flex-start;
  }
  .page[data-page="ordens"] .orders-pager {
    min-width: 1190px;
    justify-content: flex-start;
  }
}
@media (max-width: 760px) {
  .page[data-page="relatorios"] .report-grid,
  .page[data-page="estoque"] .inventory-summary-grid {
    grid-template-columns: 1fr;
  }
  .page[data-page="pre-orcamentos"] .prebudget-template-actions,
  .page[data-page="estoque"] .inventory-row-actions,
  .page[data-page="estoque"] .supplier-row-actions,
  .page[data-page="estoque"] .inventory-form-actions,
  .page[data-page="estoque"] .supplier-form-actions,
  .page[data-page="categorias-os"] .category-row-actions,
  .page[data-page="categorias-os"] .category-actions {
    width: 100%;
    align-items: stretch;
    justify-content: stretch;
  }
  .page[data-page="pre-orcamentos"] .prebudget-template-actions .button,
  .page[data-page="estoque"] .inventory-row-actions .button,
  .page[data-page="estoque"] .supplier-row-actions .button,
  .page[data-page="estoque"] .inventory-form-actions .button,
  .page[data-page="estoque"] .supplier-form-actions .button,
  .page[data-page="categorias-os"] .category-row-actions .button,
  .page[data-page="categorias-os"] .category-actions .button {
    flex: 1 1 100%;
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 640px) {
  .page[data-page="relatorios"] .panel,
  .page[data-page="pre-orcamentos"] .panel,
  .page[data-page="pre-orcamentos"] .form-card,
  .page[data-page="estoque"] .panel,
  .page[data-page="estoque"] .form-card,
  .page[data-page="categorias-os"] .panel,
  .page[data-page="categorias-os"] .form-card,
  .page[data-page="ordens"] .panel {
    border-radius: 20px;
  }
  .page[data-page="relatorios"] .panel-header,
  .page[data-page="pre-orcamentos"] .panel-header,
  .page[data-page="estoque"] .panel-header,
  .page[data-page="categorias-os"] .panel-header {
    padding: 18px 16px 16px;
  }
  .page[data-page="pre-orcamentos"] .form-card,
  .page[data-page="estoque"] .form-card,
  .page[data-page="categorias-os"] .form-card,
  .page[data-page="ordens"] .filter-panel {
    padding: 16px 14px;
  }
  .page[data-page="pre-orcamentos"] .prebudget-template-list,
  .page[data-page="estoque"] .inventory-list,
  .page[data-page="estoque"] .supplier-list,
  .page[data-page="categorias-os"] .category-list {
    padding: 14px;
  }
  .page[data-page="pre-orcamentos"] .prebudget-pager,
  .page[data-page="estoque"] .inventory-pager,
  .page[data-page="categorias-os"] .category-pager,
  .page[data-page="estoque"] .supplier-list-panel .empty-state,
  .page[data-page="estoque"] .inventory-list-panel .empty-state,
  .page[data-page="pre-orcamentos"] .prebudget-list-panel .empty-state,
  .page[data-page="categorias-os"] .categories-page-panel .empty-state {
    margin: 0 14px 14px;
  }
}


/* V206 - remover faixa azul acima do botão voltar e cabeçalhos */
.page .page-heading > div::before,
.page[data-page="dashboard"] .dashboard-heading > div::before,
.page[data-page="clientes"] .clients-heading > div:first-child::before,
.page[data-page="configuracoes"] .page-heading > div::before,
.page[data-page="buscar"] .page-heading > div::before,
.page[data-page="novo-cliente"] .page-heading > div::before,
.page[data-page="nova-os"] .page-heading > div::before,
.page[data-page="config-empresa"] .page-heading > div::before,
.page[data-page="config-redes"] .page-heading > div::before,
.page[data-page="config-cartao"] .page-heading > div::before,
.page[data-page="config-excluidos"] .page-heading > div::before,
.page[data-page="config-colaboradores"] .page-heading > div::before {
  display: none !important;
  content: none !important;
}
.page .page-heading > div,
.page[data-page="dashboard"] .dashboard-heading > div,
.page[data-page="clientes"] .clients-heading > div:first-child {
  padding-top: 0 !important;
}
.page .back-link {
  margin-top: 0 !important;
}


/* V207 - remover faixa azul acima do botão Fechar fornecedor */
.page[data-page="estoque"] .inventory-heading-actions::before,
.page[data-page="estoque"] .inventory-heading-actions > *::before,
.page[data-page="estoque"] #newSupplierButton::before,
.page[data-page="estoque"] #newSupplierButton.is-active::before {
  display: none !important;
  content: none !important;
}
.page[data-page="estoque"] .inventory-heading-actions {
  padding-top: 0 !important;
  align-self: start;
}
.page[data-page="estoque"] #newSupplierButton,
.page[data-page="estoque"] #newInventoryButton {
  margin-top: 0 !important;
}


/* V208 - corrigir linha azul estourando no topo do painel de Ordens de serviço */
.page[data-page="ordens"] .panel::before {
  left: 14px !important;
  right: 14px !important;
  width: auto !important;
  border-radius: 999px !important;
}
@media (max-width: 768px) {
  .page[data-page="ordens"] .panel::before {
    left: 10px !important;
    right: 10px !important;
  }
}


/* V209 - remover a linha azul do topo na página Ordens de serviço */
.page[data-page="ordens"] .panel::before {
  display: none !important;
  content: none !important;
}


/* V210 - remover completamente a faixa azul em Ordens de serviço */
.page[data-page="ordens"] .filter-panel,
.page[data-page="ordens"] .panel {
  border-top: 1px solid #dbe7f2 !important;
  box-shadow: 0 18px 34px rgba(16, 40, 70, .07) !important;
}
.page[data-page="ordens"] .filter-panel::before,
.page[data-page="ordens"] .panel::before,
.page[data-page="ordens"] .filter-panel::after,
.page[data-page="ordens"] .panel::after {
  display: none !important;
  content: none !important;
}


/* V211 - Financeiro completo integrado aos Relatórios */
.page[data-page="relatorios"] { max-width: 1540px; }
.finance-workspace { display:grid; gap:18px; margin-bottom:28px; }
.finance-toolbar-card { padding:20px 22px; display:flex; justify-content:space-between; align-items:end; gap:20px; border:1px solid #dbe7f2; border-radius:22px; background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%); box-shadow:0 16px 30px rgba(16,40,70,.07); }
.finance-toolbar-card h2 { margin:3px 0 5px; color:#112c46; font-size:1.2rem; letter-spacing:-.02em; }
.finance-toolbar-card p:last-child { margin:0; max-width:700px; color:#6a7f94; font-size:.76rem; line-height:1.5; }
.finance-period-controls { display:flex; align-items:end; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.finance-period-controls label { display:grid; gap:5px; color:#526b83; font-size:.68rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.finance-period-controls select,.finance-period-controls input { min-width:150px; height:42px; padding:0 11px; border:1px solid #cfdeeb; border-radius:11px; background:#fff; color:#17324c; }
.finance-period-picker-button{min-width:150px;height:42px;padding:0 12px;border:1px solid #cfdeeb;border-radius:11px;background:#fff;color:#17324c;display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.8) inset;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.finance-period-picker-button:hover{background:#f8fbff;border-color:#b7d1eb}.finance-period-picker-button:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(22,119,255,.14)}.finance-period-picker-button svg{width:1rem;height:1rem;color:#0f67d9;flex:0 0 auto}
.finance-period-picker-modal{width:min(540px,calc(100vw - 24px));border-radius:20px;border:1px solid #d9e6f1;box-shadow:0 28px 70px rgba(12,35,61,.24)}
.finance-period-picker-head p:not(.eyebrow){margin:5px 0 0;color:#6f8398;font-size:.84rem;line-height:1.45}
.finance-period-picker-body{display:grid;gap:16px;padding:18px 20px 20px}
.finance-period-picker-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px}.finance-period-picker-toolbar strong{text-align:center;color:#17324c;font-size:1.02rem}
.finance-period-picker-nav{width:44px;height:44px;border:1px solid #cfe0ef;border-radius:13px;background:linear-gradient(180deg,#fbfdff,#f3f8fd);color:#0f67d9}.finance-period-picker-nav:hover{background:#eef5ff}
.finance-period-picker-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.finance-period-picker-weekdays span{padding:6px 0;text-align:center;color:#6f8398;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.finance-period-picker-grid{display:grid;gap:8px}.finance-period-picker-grid.is-day-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.finance-picker-day-cell,.finance-picker-month-cell{min-height:44px;border:1px solid #d8e5f0;border-radius:13px;background:#fff;color:#17324c;font-weight:800;cursor:pointer;transition:all .16s ease}.finance-picker-day-cell:hover,.finance-picker-month-cell:hover{background:#f4f9ff;border-color:#b9d4ed}.finance-picker-day-cell.muted{color:#93a5b6;background:#fbfcfe}.finance-picker-day-cell.selected,.finance-picker-month-cell.selected{background:linear-gradient(180deg,#2588ff,#0b6ae0);border-color:#0b6ae0;color:#fff;box-shadow:0 12px 22px rgba(22,119,255,.22)}
.finance-period-picker-grid.is-week-grid{grid-template-columns:1fr}.finance-picker-week-row{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;border:1px solid #d8e5f0;border-radius:15px;background:#fff;color:#17324c;cursor:pointer;transition:all .16s ease}.finance-picker-week-row:hover{background:#f4f9ff;border-color:#b9d4ed}.finance-picker-week-row.selected{background:linear-gradient(180deg,#eef6ff,#e2f0ff);border-color:#8fc0ee;box-shadow:0 12px 24px rgba(22,119,255,.12)}.finance-picker-week-number{width:40px;height:40px;border-radius:12px;background:#edf4fb;color:#0f67d9;display:grid;place-items:center;font-weight:900}.finance-picker-week-row.selected .finance-picker-week-number{background:linear-gradient(180deg,#2588ff,#0b6ae0);color:#fff}.finance-picker-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.finance-picker-week-day{min-height:38px;border-radius:11px;display:grid;place-items:center;background:#f8fbfd;color:#17324c;font-weight:800}.finance-picker-week-day.muted{color:#95a7b9;background:#fbfcfe}
.finance-period-picker-grid.is-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.finance-period-picker-help{padding:12px 14px;border:1px solid #e2ecf4;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f6faff);color:#60768c;font-size:.82rem;line-height:1.5}
.finance-period-picker-actions{justify-content:space-between}.finance-period-picker-actions .button{min-width:120px}

.finance-print-button { height:42px; border-radius:11px; }
.finance-period-banner { padding:11px 16px; display:flex; align-items:center; gap:10px; border:1px solid #d5e5f2; border-radius:14px; background:#f6faff; color:#6c8297; font-size:.72rem; }
.finance-period-banner strong { color:#0d69d5; font-size:.8rem; }
.finance-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.finance-summary-card { min-height:126px; padding:18px; display:flex; align-items:center; gap:14px; border:1px solid #dbe7f2; border-radius:20px; background:#fff; box-shadow:0 14px 28px rgba(16,40,70,.06); overflow:hidden; position:relative; }
.finance-summary-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#5d9ee8; }
.finance-summary-card.income::before { background:#13a86b; }.finance-summary-card.expense::before { background:#e24b5e; }.finance-summary-card.result::before { background:#6c55d9; }.finance-summary-card.result.negative::before { background:#d84152; }.finance-summary-card.receivable::before { background:#e8a516; }.finance-summary-card.stock-used::before { background:#2386e8; }.finance-summary-card.stock::before { background:#7b58d8; }
.finance-summary-icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:14px; color:#126fda; background:#eaf4ff; }
.finance-summary-card.income .finance-summary-icon { color:#087d51;background:#e5f8ef; }.finance-summary-card.expense .finance-summary-icon { color:#bd3044;background:#fff0f2; }.finance-summary-card.result .finance-summary-icon { color:#6545ce;background:#f0ebff; }.finance-summary-card.receivable .finance-summary-icon { color:#a66b00;background:#fff5d9; }.finance-summary-card.stock .finance-summary-icon { color:#6947c5;background:#f0ebff; }
.finance-summary-icon svg { width:1.2rem;height:1.2rem; }.finance-summary-card div { min-width:0; display:grid; gap:4px; }.finance-summary-card small { color:#72879a; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; font-weight:850; }.finance-summary-card strong { color:#102a43; font-size:1.5rem; letter-spacing:-.03em; }.finance-summary-card span:not(.finance-summary-icon) { color:#71859a; font-size:.69rem; line-height:1.35; }
.finance-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.finance-detail-card { min-height:230px; }.finance-breakdown-list { padding:10px 20px 18px; display:grid; gap:0; }.finance-breakdown-list > div { padding:13px 0; display:flex; justify-content:space-between; gap:16px; border-top:1px solid #e5edf4; color:#60768c; font-size:.76rem; }.finance-breakdown-list > div:first-child { border-top:0; }.finance-breakdown-list strong { color:#17324c; }.finance-inline-empty { justify-content:center !important; color:#8596a6 !important; }
.finance-expenses-panel,.finance-unauthorized-panel { overflow:hidden; }.finance-expenses-panel .panel-header,.finance-unauthorized-panel .panel-header { align-items:center; }.finance-expense-list,.finance-unauthorized-list { padding:14px 18px 18px; display:grid; gap:10px; }
.finance-expense-row { padding:14px 15px; display:grid; grid-template-columns:minmax(0,1fr) 140px auto; gap:14px; align-items:center; border:1px solid #e0e8f0; border-radius:15px; background:linear-gradient(180deg,#fff,#fbfdff); }
.finance-expense-main { min-width:0; display:flex; align-items:center; gap:10px; }.finance-expense-main > div { min-width:0; display:grid; gap:3px; }.finance-expense-main strong { color:#18324c; font-size:.8rem; overflow-wrap:anywhere; }.finance-expense-main small { color:#77899a; font-size:.67rem; line-height:1.35; }.finance-expense-category { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#f2f5f8; color:#586e84; font-size:.62rem; font-weight:850; }.finance-expense-value { color:#ce344a; text-align:right; }.finance-expense-actions { display:flex; gap:8px; }.finance-expense-actions .button { min-height:38px; padding-inline:11px; border-radius:10px; }
.finance-expense-pager,.finance-transaction-pager,.finance-unauthorized-pager { margin:0 18px 18px; }.finance-expenses-panel .empty-state,.finance-unauthorized-panel .empty-state { margin:0 18px 18px; min-height:120px; }
.finance-unauthorized-total { display:flex; align-items:center; gap:10px; }.finance-unauthorized-total span { min-width:36px; height:36px; display:grid; place-items:center; border-radius:999px; background:#fff0d5; color:#9d6900; font-weight:900; }.finance-unauthorized-total strong { color:#a36a00; font-size:1rem; }
.finance-unauthorized-row { width:100%; padding:13px 14px; display:grid; grid-template-columns:68px minmax(120px,1fr) minmax(130px,1fr) minmax(120px,1fr) minmax(125px,.9fr) minmax(125px,.9fr) minmax(115px,.8fr) minmax(100px,.72fr) 18px; gap:10px; align-items:center; border:1px solid #dde8f1; border-radius:14px; background:#fff; text-align:left; cursor:pointer; }.finance-unauthorized-row:hover { border-color:#bad7ef; background:#f8fbff; }.finance-unauthorized-row > span { min-width:0; display:grid; gap:3px; }.finance-unauthorized-row small { color:#75899b; font-size:.62rem; text-transform:uppercase; letter-spacing:.04em; font-weight:800; }.finance-unauthorized-row strong { color:#17324c; font-size:.74rem; overflow-wrap:anywhere; }.finance-unauthorized-row > svg { width:.9rem;height:.9rem;color:#7890a7; }
.report-section-heading { margin:8px 0 14px; padding:0 4px; }.report-section-heading h2 { margin:3px 0 4px; color:#132f49; font-size:1.2rem; }.report-section-heading p:last-child { margin:0;color:#72869a;font-size:.75rem; }
.finance-expense-modal { width:min(680px,calc(100vw - 28px)); }.finance-expense-modal .modal-body { padding:20px; }
.page[data-page="ordens"] .panel::before { display:none !important; content:none !important; }
@media(max-width:1100px){.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.finance-toolbar-card{align-items:stretch;flex-direction:column}.finance-period-controls{justify-content:flex-start}.finance-unauthorized-row{min-width:1180px}.finance-unauthorized-list{overflow-x:auto}}
@media(max-width:760px){.finance-summary-grid,.finance-detail-grid{grid-template-columns:1fr}.finance-period-controls{display:grid;grid-template-columns:1fr 1fr}.finance-period-controls label,.finance-period-controls select,.finance-period-controls input,.finance-period-picker-button,.finance-print-button{width:100%;min-width:0}.finance-print-button{grid-column:1/-1}.finance-expense-row{grid-template-columns:1fr}.finance-expense-value{text-align:left}.finance-expense-actions .button{flex:1}.finance-expense-actions{width:100%}}
@media(max-width:480px){.finance-period-controls{grid-template-columns:1fr}.finance-print-button{grid-column:auto}.finance-summary-card{min-height:110px;padding:15px}.finance-expense-actions{flex-direction:column}.finance-expense-actions .button{width:100%}}
.finance-transactions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.finance-transactions-panel{overflow:hidden}.finance-panel-total{color:#0b8b5c;font-size:1.05rem}.finance-panel-total.pending{color:#ad7300}.finance-transaction-list{padding:14px 18px 18px;display:grid;gap:9px}.finance-transaction-row{width:100%;padding:12px 13px;display:grid;grid-template-columns:75px minmax(130px,1fr) minmax(135px,1fr) 110px minmax(120px,.9fr) 120px 18px;gap:10px;align-items:center;border:1px solid #e0e8f0;border-radius:14px;background:#fff;text-align:left;cursor:pointer}.finance-transaction-row:hover{border-color:#bcd8ef;background:#f8fbff}.finance-transaction-row>span{min-width:0;display:grid;gap:3px}.finance-transaction-row small{color:#75899c;font-size:.59rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.finance-transaction-row strong{color:#17324c;font-size:.7rem;overflow-wrap:anywhere}.finance-transaction-amount strong{color:#087d51;font-size:.78rem}.finance-transaction-amount.pending strong{color:#a36a00}.finance-transaction-row>svg{width:.85rem;height:.85rem;color:#7890a7}.finance-transactions-panel .empty-state{margin:0 18px 18px;min-height:110px}@media(max-width:1180px){.finance-transactions-grid{grid-template-columns:1fr}.finance-transaction-row{min-width:900px}.finance-transaction-list{overflow-x:auto}}@media(max-width:760px){.finance-transactions-panel .panel-header{align-items:flex-start}.finance-panel-total{font-size:.95rem}}


/* V215 - Despesa fixa mensal */
.finance-expense-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.finance-expense-header-actions .button{min-height:42px;border-radius:12px}.finance-fixed-expense-toggle{padding:12px 14px;border:1px solid #d9e6f0;border-radius:14px;background:#f8fbff}.finance-fixed-switch-line{display:flex;align-items:center;gap:10px;min-height:34px}.finance-fixed-switch-line input{width:18px;height:18px;accent-color:#1677ff}.finance-fixed-switch-line strong{font-size:.78rem;color:#17324c}.finance-fixed-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 7px;border-radius:999px;background:#eaf4ff;color:#0b69df;font-size:.62rem;font-weight:850;vertical-align:middle}.finance-fixed-badge svg{width:.72rem;height:.72rem}.finance-expense-row .finance-expense-main>div>strong{display:flex;align-items:center;gap:4px;flex-wrap:wrap}@media(max-width:760px){.finance-expense-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.finance-expense-header-actions .button{width:100%;justify-content:center}}@media(max-width:480px){.finance-expense-header-actions{grid-template-columns:1fr}}


/* V216 - financeiro com Ver Geral e impressão por seção */
.finance-panel-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.finance-panel-action{min-height:40px;border-radius:12px}.finance-print-icon{width:40px;height:40px;border-radius:12px;border:1px solid #cfe0ef;background:#fff;color:#0f67d9;box-shadow:none;flex:0 0 auto}.finance-print-icon:hover{background:#f4f9ff;border-color:#b8d1e8}.finance-panel-tools .finance-panel-total,.finance-panel-tools .finance-unauthorized-total{margin-right:2px}.finance-general-modal{width:min(1120px,calc(100vw - 24px))}.finance-general-modal .modal-head p{margin:4px 0 0;color:#6f8398;font-size:.78rem}.finance-general-head-actions{display:flex;align-items:center;gap:10px}.finance-general-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.finance-general-summary>div{padding:14px 16px;border:1px solid #dce8f2;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f6faff)}.finance-general-summary small{display:block;color:#70859a;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.finance-general-summary strong{display:block;margin-top:6px;color:#17324c;font-size:1.1rem}.finance-general-scroll{max-height:60vh;overflow:auto;padding-right:4px}.finance-general-expense-list,.finance-general-transaction-list,.finance-general-unauthorized-list{display:grid;gap:10px}.finance-general-modal .empty-state{margin:0;min-height:180px}.finance-general-modal .finance-transaction-row{min-width:980px}.finance-general-modal .finance-unauthorized-row{min-width:1180px}.finance-general-modal .finance-expense-row{grid-template-columns:minmax(0,1fr) 150px auto}.finance-general-modal .modal-body{padding:18px 20px 20px}.finance-general-modal .modal-actions{justify-content:flex-end}.finance-general-modal .button.subtle{min-height:42px}.finance-expense-header-actions .finance-print-icon{width:42px;height:42px}.finance-expense-header-actions #viewAllFinanceExpensesButton{min-height:42px}.finance-panel-tools .finance-print-icon svg,.finance-expense-header-actions .finance-print-icon svg{width:1rem;height:1rem}@media(max-width:980px){.finance-panel-tools{width:100%;justify-content:flex-start}.finance-panel-tools .finance-panel-total,.finance-panel-tools .finance-unauthorized-total{margin-right:auto}.finance-general-modal{width:calc(100vw - 14px)}}@media(max-width:760px){.finance-panel-tools{display:grid;grid-template-columns:1fr auto auto;align-items:center}.finance-panel-tools .finance-panel-total,.finance-panel-tools .finance-unauthorized-total{grid-column:1/-1;margin-right:0}.finance-expense-header-actions{width:100%;display:grid;grid-template-columns:1fr 42px 1fr 1fr}.finance-expense-header-actions .finance-print-icon{grid-column:auto;width:42px;height:42px;padding:0}.finance-general-head-actions{width:100%;justify-content:flex-end}.finance-general-summary{grid-template-columns:1fr}.finance-general-modal .modal-body{padding:14px}.finance-general-modal .finance-expense-row{grid-template-columns:1fr}.finance-general-modal .finance-expense-value{text-align:left}}@media(max-width:480px){.finance-panel-tools{grid-template-columns:1fr 1fr}.finance-panel-tools .finance-print-icon{justify-self:stretch;width:100%}.finance-panel-tools .finance-panel-action{width:100%;justify-content:center}.finance-expense-header-actions{grid-template-columns:1fr 1fr}.finance-expense-header-actions .finance-print-icon{width:100%;height:42px}.finance-general-head-actions{display:grid;grid-template-columns:1fr auto;width:100%}.finance-general-head-actions .button{width:100%}}


/* V220 - Formas de pagamento com percentual e destaque do método mais recebido */
#financePaymentMethods .finance-payment-method-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:14px 0;border-top:1px solid #e5edf4;color:#60768c;font-size:.76rem}#financePaymentMethods .finance-payment-method-row:first-child{border-top:0}.finance-payment-method-main{display:flex;align-items:center;gap:8px;min-width:0}.finance-payment-method-main>span{font-weight:700;color:#365069}.finance-payment-method-stats{display:flex;align-items:center;gap:10px;justify-content:flex-end}.finance-payment-method-stats strong{color:#17324c;font-size:.8rem}.finance-payment-percent{min-width:52px;padding:4px 8px;border-radius:999px;background:#edf5ff;color:#0c67d4;font-weight:900;text-align:center}.finance-payment-top-badge{padding:4px 8px;border-radius:999px;background:#e9f8ef;color:#08743c;font-size:.64rem;font-weight:900;white-space:nowrap}.finance-payment-progress{grid-column:1/-1;height:7px;border-radius:999px;background:#e8eff6;overflow:hidden}.finance-payment-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f78ef,#29a66d)}#financePaymentMethods .finance-payment-method-row.is-top .finance-payment-method-main>span{color:#08743c}@media(max-width:560px){#financePaymentMethods .finance-payment-method-row{grid-template-columns:1fr}.finance-payment-method-stats{justify-content:space-between}.finance-payment-progress{grid-column:1}}


/* V221 - Dashboard com resumo financeiro integrado */
.page[data-page="dashboard"] .dashboard-overview-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.page[data-page="dashboard"] .dashboard-mini-card.income {
  background: linear-gradient(180deg, #f8fffb 0%, #eafaf2 100%);
}
.page[data-page="dashboard"] .dashboard-mini-card.expenses {
  background: linear-gradient(180deg, #fffaf7 0%, #fff1ea 100%);
}
.page[data-page="dashboard"] .dashboard-mini-card.income::before {
  background: linear-gradient(90deg, #86e0b1 0%, #16a26b 100%);
}
.page[data-page="dashboard"] .dashboard-mini-card.expenses::before {
  background: linear-gradient(90deg, #ffc08b 0%, #f36b2b 100%);
}
.page[data-page="dashboard"] .dashboard-mini-card.income .dashboard-mini-icon {
  color: #0f9a63;
  background: #d8f4e6;
}
.page[data-page="dashboard"] .dashboard-mini-card.expenses .dashboard-mini-icon {
  color: #ef6a2f;
  background: #ffe5d7;
}
@media (max-width: 1200px) {
  .page[data-page="dashboard"] .dashboard-overview-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .page[data-page="dashboard"] .dashboard-overview-strip {
    grid-template-columns: 1fr;
  }
}


/* V222 - cards do dashboard clicáveis e com foco visual */
.dashboard-link-card {
  cursor: pointer;
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dashboard-link-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}
.dashboard-link-card:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18), 0 18px 34px rgba(15, 23, 42, 0.08);
}
.dashboard-section-focus {
  animation: dashboardSectionPulse 1.6s ease;
}
@keyframes dashboardSectionPulse {
  0% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.00); }
  20% { box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.14); }
  100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.00); }
}
/* V223 - Dashboard premium: animações e atalhos rápidos */
.page[data-page="dashboard"].active .dashboard-mini-card,
.page[data-page="dashboard"].active .dashboard-quick-card,
.page[data-page="dashboard"].active .dashboard-status-card {
  animation: dashboardCardEnter .46s cubic-bezier(.2,.8,.2,1) both;
}
.page[data-page="dashboard"].active .dashboard-mini-card:nth-child(1){animation-delay:.03s}
.page[data-page="dashboard"].active .dashboard-mini-card:nth-child(2){animation-delay:.08s}
.page[data-page="dashboard"].active .dashboard-mini-card:nth-child(3){animation-delay:.13s}
.page[data-page="dashboard"].active .dashboard-mini-card:nth-child(4){animation-delay:.18s}
.page[data-page="dashboard"].active .dashboard-quick-card:nth-child(1){animation-delay:.10s}
.page[data-page="dashboard"].active .dashboard-quick-card:nth-child(2){animation-delay:.15s}
.page[data-page="dashboard"].active .dashboard-quick-card:nth-child(3){animation-delay:.20s}
.page[data-page="dashboard"].active .dashboard-quick-card:nth-child(4){animation-delay:.25s}
@keyframes dashboardCardEnter {
  from { opacity:0; transform:translateY(10px) scale(.985); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
.dashboard-link-card { overflow:hidden; }
.dashboard-link-card::before { transition:width .25s ease, opacity .25s ease; }
.dashboard-link-card:hover::before { opacity:1; }
.dashboard-link-card .dashboard-mini-icon {
  transition:transform .22s ease, box-shadow .22s ease;
}
.dashboard-link-card:hover .dashboard-mini-icon {
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.dashboard-link-card:active { transform:translateY(0) scale(.992); }
.dashboard-quick-panel {
  margin:16px 0 18px;
  padding:18px;
  border:1px solid #dbe8f3;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,251,255,.96));
  box-shadow:0 10px 28px rgba(15,23,42,.045);
}
.dashboard-quick-heading {
  display:flex; align-items:flex-end; justify-content:space-between; gap:18px;
  margin-bottom:14px;
}
.dashboard-quick-heading small {
  display:block; color:#0b6de0; text-transform:uppercase; letter-spacing:.08em;
  font-size:.67rem; font-weight:800; margin-bottom:3px;
}
.dashboard-quick-heading strong { font-size:1rem; color:#102a43; }
.dashboard-quick-heading>span { color:#718399; font-size:.78rem; }
.dashboard-quick-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
}
.dashboard-quick-card {
  position:relative; display:grid; grid-template-columns:42px minmax(0,1fr) 18px;
  align-items:center; gap:11px; min-height:72px; padding:12px 13px;
  border:1px solid #dbe7f1; border-radius:16px; background:#fff; color:#17324c;
  text-align:left; cursor:pointer; box-shadow:0 5px 14px rgba(15,23,42,.03);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.dashboard-quick-card:hover {
  transform:translateY(-2px); border-color:#bcd6ee;
  box-shadow:0 14px 26px rgba(15,23,42,.075);
}
.dashboard-quick-card:active { transform:translateY(0) scale(.992); }
.dashboard-quick-card:focus-visible { outline:0; box-shadow:0 0 0 3px rgba(37,99,235,.17); }
.dashboard-quick-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.dashboard-quick-card strong { font-size:.86rem; line-height:1.2; }
.dashboard-quick-card small { margin-top:3px; color:#74869a; font-size:.68rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dashboard-quick-icon {
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  background:#edf5ff;color:#0f73e6;transition:transform .18s ease;
}
.dashboard-quick-icon svg,.dashboard-quick-chevron{width:18px;height:18px}
.dashboard-quick-card:hover .dashboard-quick-icon{transform:scale(1.05) rotate(-2deg)}
.dashboard-quick-chevron{color:#8aa0b5;transition:transform .18s ease}
.dashboard-quick-card:hover .dashboard-quick-chevron{transform:translateX(3px)}
.dashboard-quick-card.finance .dashboard-quick-icon{background:#e3f8ed;color:#119465}
.dashboard-quick-card.inventory .dashboard-quick-icon{background:#efe9ff;color:#6a42d8}
.dashboard-quick-card.reports .dashboard-quick-icon{background:#e8f3ff;color:#136dd1}
.dashboard-quick-card.settings .dashboard-quick-icon{background:#fff1e6;color:#e76d20}
@media(max-width:1180px){
  .dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .dashboard-quick-panel{padding:14px;border-radius:16px}
  .dashboard-quick-heading{align-items:flex-start;flex-direction:column;gap:4px}
  .dashboard-quick-grid{grid-template-columns:1fr}
  .dashboard-quick-card{min-height:66px}
}
@media(prefers-reduced-motion:reduce){
  .page[data-page="dashboard"].active .dashboard-mini-card,
  .page[data-page="dashboard"].active .dashboard-quick-card,
  .page[data-page="dashboard"].active .dashboard-status-card{animation:none}
  .dashboard-link-card,.dashboard-quick-card,.dashboard-quick-icon,.dashboard-quick-chevron{transition:none}
}


/* V224 - correção Visualizar OS */
.order-row-actions [data-order-view]{cursor:pointer}.order-row-actions [data-order-view]:active{transform:translateY(1px)}


/* V225 - atualização direta da pasta data pelo aviso de incompatibilidade */
.version-mismatch-banner {
  align-items: flex-start;
}
.version-mismatch-banner > .version-mismatch-content {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  gap: 10px;
}
.version-mismatch-copy {
  display: grid;
  gap: 3px;
}
.version-mismatch-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.version-mismatch-actions small {
  color: #7b5a17;
  font-size: .72rem;
  line-height: 1.4;
}
.version-data-upload-button {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 11px;
  border: 1px solid #e1b951;
  color: #684400;
  background: linear-gradient(180deg, #fff8dd 0%, #ffe9a5 100%);
  box-shadow: 0 5px 12px rgba(121, 82, 0, .10);
}
.version-data-upload-button:hover {
  border-color: #d5a92f;
  background: linear-gradient(180deg, #fff4cf 0%, #ffdf7b 100%);
}
.version-data-progress {
  display: grid;
  gap: 6px;
  max-width: 720px;
}
.version-data-progress[hidden] { display: none !important; }
.version-data-progress-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(120, 82, 0, .12);
}
.version-data-progress-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #e5a90d 0%, #f0c34d 100%);
  transition: width .18s ease;
}
.version-data-progress-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: #744c00;
  font-size: .72rem;
}
.version-data-progress-row strong { min-width: 36px; }
@media (max-width: 680px) {
  .version-mismatch-actions {
    align-items: stretch;
  }
  .version-data-upload-button {
    width: 100%;
    justify-content: center;
  }
}


/* V227 - bloco Atalhos do sistema removido do Dashboard */


/* V228 - Corrigir corte da lista de clientes em Nova ordem de serviço */
.page[data-page="nova-os"] .form-layout {
  overflow: visible !important;
}

/* O primeiro card precisa permitir que o autocomplete ultrapasse o limite do card. */
.page[data-page="nova-os"] .form-card:first-of-type {
  overflow: visible !important;
  /* V270: mantém o card/autocomplete acima dos demais cards, mas abaixo do cabeçalho sticky (z-index 20). */
  z-index: 10;
}

/* Os demais cards ficam abaixo da lista aberta. */
.page[data-page="nova-os"] .form-card:not(:first-of-type) {
  z-index: 1;
}

.page[data-page="nova-os"] #existingClientPicker {
  position: relative;
  z-index: 50;
  overflow: visible !important;
}

.page[data-page="nova-os"] #clientSuggestions {
  position: absolute;
  z-index: 1000;
  top: 78px;
  left: 16px;
  right: 16px;
  width: auto;
  max-height: 320px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  border: 1px solid #c8d9ea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 22px 48px rgba(15, 35, 55, .18);
}

.page[data-page="nova-os"] #clientSuggestions[hidden] {
  display: none !important;
}

.page[data-page="nova-os"] #clientSuggestions .client-suggestion {
  min-height: 58px;
  padding: 12px 14px;
  gap: 16px;
}

.page[data-page="nova-os"] #clientSuggestions .client-suggestion > span {
  min-width: 0;
  flex: 1 1 auto;
}

.page[data-page="nova-os"] #clientSuggestions .client-suggestion strong,
.page[data-page="nova-os"] #clientSuggestions .client-suggestion span {
  white-space: normal;
  overflow-wrap: anywhere;
}

.page[data-page="nova-os"] #clientSuggestions .client-suggestion > small {
  flex: 0 0 auto;
  align-self: center;
}

@media (max-width: 760px) {
  .page[data-page="nova-os"] #clientSuggestions {
    left: 8px;
    right: 8px;
    max-height: 280px;
  }
}


/* V230 - filtro configurável dos quatro cards do Dashboard */
.page[data-page="dashboard"] .dashboard-company-identity{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding-right:132px}.dashboard-company-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.dashboard-heading-tools{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;z-index:35}.dashboard-period-settings-button{position:relative;width:48px;height:48px;border:1px solid #cfe0f2;border-radius:15px;background:linear-gradient(180deg,#f8fbff,#eaf4ff);color:#1677ff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 22px rgba(22,119,255,.10);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dashboard-period-settings-button svg{width:23px;height:23px}.dashboard-period-settings-button:hover{transform:scale(1.04);border-color:#9ec8f4;box-shadow:0 14px 28px rgba(22,119,255,.16)}.dashboard-period-settings-button:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(22,119,255,.14),0 14px 28px rgba(22,119,255,.14)}.dashboard-period-modal{position:fixed;inset:auto max(18px,calc((100vw - 1560px)/2 + 28px)) auto auto;margin:0;top:92px;width:min(590px,calc(100vw - 32px));max-width:none;border:1px solid #cbddee;border-radius:20px;box-shadow:0 24px 65px rgba(15,36,61,.20);background:#fff}.dashboard-period-modal::backdrop{background:rgba(16,38,62,.16);backdrop-filter:blur(2px)}.dashboard-period-modal-head{align-items:flex-start}.dashboard-period-modal-head>div{min-width:0}.dashboard-period-modal-head h2{font-size:1.25rem}.dashboard-period-modal-head p:not(.eyebrow){margin:6px 0 0;color:#637991;font-size:.86rem;line-height:1.45}.dashboard-period-modal-body{display:grid;gap:18px}.dashboard-period-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:7px;border:1px solid #dbe6f0;border-radius:15px;background:#f6f9fc}.dashboard-period-option{min-height:46px;border:0;border-radius:11px;background:transparent;color:#17324d;font-weight:800;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.dashboard-period-option:hover{background:#edf5ff}.dashboard-period-option.selected{background:linear-gradient(180deg,#2588ff,#0b6ae0);color:#fff;box-shadow:0 8px 18px rgba(22,119,255,.22)}.dashboard-period-current-box{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;padding:15px 16px;border-radius:15px;background:linear-gradient(180deg,#f4f9ff,#edf5ff);border:1px solid #d8e8f7}.dashboard-period-calendar{width:42px;height:42px;border-radius:12px;background:#dcecff;color:#1677ff;display:grid;place-items:center}.dashboard-period-calendar svg{width:21px;height:21px}.dashboard-period-current-box strong{display:block;color:#18334f}.dashboard-period-current-box p{margin:4px 0 0;color:#647a90;font-size:.82rem}.dashboard-period-help{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;padding:11px 13px;border-radius:12px;background:#fbfcfe;color:#6b7d90;font-size:.76rem;line-height:1.45;border:1px solid #edf1f5}.dashboard-period-help svg{width:17px;height:17px;color:#4b79a8}.dashboard-period-actions{justify-content:flex-end}.dashboard-period-actions .button{min-width:120px}.dashboard-mini-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-mini-card strong{font-variant-numeric:tabular-nums}@media(max-width:760px){.page[data-page="dashboard"] .dashboard-company-identity{padding-right:116px}.dashboard-heading-tools{right:12px;gap:7px}.dashboard-period-settings-button{width:44px;height:44px}.dashboard-period-modal{top:76px;right:8px;width:calc(100vw - 16px)}.dashboard-period-options{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-period-option:last-child{grid-column:1/-1}.dashboard-period-actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-period-actions .button{min-width:0;width:100%}}


/* V231/V236 - períodos diário, semanal e seletores próprios do sistema no Financeiro */
.finance-period-controls #financeDayWrap,
.finance-period-controls #financeWeekWrap,
.finance-period-controls #financeMonthWrap,
.finance-period-controls #financeYearWrap,
.finance-period-controls #financeSourceWrap { min-width: 150px; }
@media (max-width: 760px) {
  .finance-period-controls #financeDayWrap,
  .finance-period-controls #financeWeekWrap,
  .finance-period-controls #financeMonthWrap,
  .finance-period-controls #financeYearWrap,
  .finance-period-controls #financeSourceWrap { width: 100%; min-width: 0; }
}
@media (max-width: 560px) {
  .finance-period-picker-modal { width: calc(100vw - 16px); border-radius: 16px; }
  .finance-period-picker-body { padding: 14px 14px 16px; }
  .finance-period-picker-toolbar { grid-template-columns: 40px minmax(0, 1fr) 40px; }
  .finance-period-picker-weekdays { gap: 4px; }
  .finance-picker-day-cell { min-height: 40px; }
  .finance-picker-week-row { grid-template-columns: 44px minmax(0, 1fr); padding: 9px 10px; }
  .finance-picker-week-days { gap: 4px; }
  .finance-picker-week-day { min-height: 34px; font-size: .86rem; }
  .finance-period-picker-grid.is-month-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .finance-period-picker-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .finance-period-picker-actions .button:first-child { grid-column: 1 / -1; }
}


/* V233 - botão imprimir no bloco de filtros das Ordens de serviço */
.page[data-page="ordens"] .filters {
  grid-template-columns: minmax(0, 1fr) 220px 48px;
  align-items: center;
}
.page[data-page="ordens"] .orders-print-trigger {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 14px;
  border: 1px solid #bcd7f0;
  background: #ffffff;
  color: #0874ed;
  box-shadow: 0 8px 18px rgba(18, 94, 164, .08);
  justify-self: end;
}
.page[data-page="ordens"] .orders-print-trigger:hover {
  background: #f4f9ff;
  border-color: #8fc1ef;
  transform: translateY(-1px);
}
.page[data-page="ordens"] .orders-print-trigger svg {
  width: 1.08rem;
  height: 1.08rem;
}
@media (max-width: 900px) {
  .page[data-page="ordens"] .filters {
    grid-template-columns: minmax(0, 1fr) 48px;
  }
  .page[data-page="ordens"] .search-control {
    grid-column: 1 / -1;
  }
  .page[data-page="ordens"] .select-control {
    grid-column: 1;
    justify-content: flex-start;
  }
  .page[data-page="ordens"] .orders-print-trigger {
    grid-column: 2;
    grid-row: 2;
  }
}
@media (max-width: 560px) {
  .page[data-page="ordens"] .filters {
    grid-template-columns: 1fr 48px;
    gap: 10px;
  }
  .page[data-page="ordens"] .select-control {
    min-width: 0;
  }
  .page[data-page="ordens"] .select-control select {
    min-width: 0;
  }
}


/* V235 - botão Copiar ao lado do WhatsApp no modal do fornecedor */
.supplier-view-whatsapp-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.supplier-view-copy-phone {
  flex: 0 0 auto;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid #d2dce7;
  border-radius: 10px;
  background: #fff;
  color: #405b75;
  font-size: .7rem;
  font-weight: 800;
  cursor: pointer;
}
.supplier-view-copy-phone:hover {
  border-color: #aebed0;
  background: #f4f7fa;
}
.supplier-view-copy-phone svg {
  width: .9rem;
  height: .9rem;
}
@media (max-width: 560px) {
  .supplier-view-whatsapp-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .supplier-view-whatsapp,
  .supplier-view-copy-phone {
    width: 100%;
    justify-content: center;
  }
}


/* V237 - seletor de período próprio do sistema */
.finance-mode-picker-modal{width:min(460px,calc(100vw - 24px));border-radius:20px;border:1px solid #d9e6f1;box-shadow:0 28px 70px rgba(12,35,61,.24)}
.finance-mode-picker-body{display:grid;gap:10px;padding:18px 20px 20px}
.finance-mode-option{display:grid;gap:4px;padding:14px 16px;border:1px solid #d7e4ef;border-radius:15px;background:linear-gradient(180deg,#fff,#f8fbff);color:#17324c;text-align:left;cursor:pointer;transition:all .16s ease}
.finance-mode-option strong{font-size:.98rem}.finance-mode-option span{color:#6c8197;font-size:.84rem;line-height:1.45}.finance-mode-option:hover{border-color:#b7d1eb;background:#f5f9ff}.finance-mode-option.active{border-color:#0b6ae0;background:linear-gradient(180deg,#eef6ff,#e2f0ff);box-shadow:0 12px 24px rgba(22,119,255,.12)}
.finance-period-picker-grid.is-year-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.finance-picker-year-cell{min-height:46px;border:1px solid #d8e5f0;border-radius:13px;background:#fff;color:#17324c;font-weight:800;cursor:pointer;transition:all .16s ease}.finance-picker-year-cell:hover{background:#f4f9ff;border-color:#b9d4ed}.finance-picker-year-cell.selected{background:linear-gradient(180deg,#2588ff,#0b6ae0);border-color:#0b6ae0;color:#fff;box-shadow:0 12px 22px rgba(22,119,255,.22)}

@media (max-width: 560px) { .finance-period-picker-grid.is-year-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .finance-mode-picker-modal{width:calc(100vw - 16px);border-radius:16px} .finance-mode-picker-body{padding:14px} }


/* V239 - configuração do corretor de texto */
.settings-inline-status{display:inline-flex;align-items:center;margin-left:6px;padding:3px 7px;border-radius:999px;background:#e7f8ef;color:#0b875b;font-size:.64rem;font-weight:850;vertical-align:middle}.settings-inline-status.disabled{background:#f1f4f7;color:#718397}
.text-correction-nav-card .settings-nav-icon{background:linear-gradient(180deg,#eef5ff,#e2efff);color:#126fda}
.page[data-page="config-texto"] .settings-stack{display:grid;gap:18px}.page[data-page="config-texto"] .form-card{position:relative;overflow:hidden;padding:24px 22px 22px;border:1px solid #dbe7f2;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);box-shadow:0 18px 34px rgba(16,40,70,.07)}.page[data-page="config-texto"] .form-card::before{content:"";position:absolute;left:1px;right:1px;top:1px;height:4px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,#8fc0ff 0%,#0f78ef 100%)}
.page[data-page="config-texto"] .section-title{align-items:center;gap:14px;margin-bottom:20px}.page[data-page="config-texto"] .section-title>span{width:42px;height:42px;border-radius:13px;background:linear-gradient(180deg,#eef5ff,#dceaff);color:#0d67d6}.page[data-page="config-texto"] .section-title h2{font-size:1rem}.page[data-page="config-texto"] .section-title p{color:#70849a;font-size:.76rem}
.text-correction-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px;border:1px solid #dbe7f2;border-radius:17px;background:linear-gradient(180deg,#fbfdff,#f6faff)}.text-correction-toggle-copy{min-width:0}.text-correction-toggle-copy strong{display:block;color:#16324e;font-size:.94rem}.text-correction-toggle-copy p{margin:5px 0 0;max-width:780px;color:#6c8298;font-size:.78rem;line-height:1.5}
.settings-toggle{display:flex;align-items:center;gap:10px;flex:0 0 auto;cursor:pointer}.settings-toggle input{position:absolute;opacity:0;pointer-events:none}.settings-toggle-track{width:54px;height:30px;padding:3px;display:flex;align-items:center;border-radius:999px;background:#cbd7e3;box-shadow:inset 0 2px 5px rgba(35,57,79,.10);transition:background .18s ease}.settings-toggle-thumb{width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 3px 9px rgba(20,43,66,.22);transition:transform .18s ease}.settings-toggle input:checked+.settings-toggle-track{background:linear-gradient(180deg,#22bf82,#0da86e)}.settings-toggle input:checked+.settings-toggle-track .settings-toggle-thumb{transform:translateX(24px)}.settings-toggle input:focus-visible+.settings-toggle-track{box-shadow:0 0 0 4px rgba(22,119,255,.15)}.settings-toggle-label{min-width:72px;color:#17324c;font-size:.8rem;font-weight:850}
.text-correction-preview-card{margin-top:16px;padding:18px;border:1px solid #dbe7f2;border-radius:17px;background:#fff}.text-correction-preview-card strong{color:#17324c;font-size:.9rem}.text-correction-preview-card p{margin:4px 0 12px;color:#70849a;font-size:.76rem;line-height:1.45}.text-correction-preview-card textarea{width:100%;min-height:104px;padding:12px 14px;border:1px solid #cfddea;border-radius:13px;background:#fbfdff;color:#17324c;resize:vertical;font:inherit;line-height:1.5}.text-correction-preview-card textarea:focus{outline:0;border-color:#79afe8;box-shadow:0 0 0 4px rgba(22,119,255,.10)}
.text-correction-info-box{margin-top:16px;padding:14px 16px;display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;border:1px solid #dfe9f2;border-radius:14px;background:#f7faff;color:#667d93}.text-correction-info-box svg{width:18px;height:18px;color:#337fca}.text-correction-info-box strong{display:block;color:#27435e;font-size:.79rem}.text-correction-info-box p{margin:3px 0 0;font-size:.73rem;line-height:1.5}
@media(max-width:680px){.text-correction-toggle-row{align-items:flex-start;flex-direction:column}.settings-toggle{width:100%;justify-content:space-between}.page[data-page="config-texto"] .form-card{padding:20px 15px 16px;border-radius:18px}}


/* V240 - ações de resultado do reparo com dimensões idênticas */
.page[data-page="ordem-detalhes"] .budget-ready-actions {
  width: 450px;
  max-width: 100%;
  flex: 0 0 450px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.page[data-page="ordem-detalhes"] .budget-ready-actions .budget-ready-button,
.page[data-page="ordem-detalhes"] .budget-ready-actions .budget-repair-failed-button {
  width: 100%;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 12px;
  white-space: nowrap;
  line-height: 1;
}
@media (max-width: 980px) {
  .page[data-page="ordem-detalhes"] .budget-ready-action { align-items: stretch; flex-direction: column; }
  .page[data-page="ordem-detalhes"] .budget-ready-actions { width: 100%; flex: 1 1 auto; }
}
@media (max-width: 620px) {
  .page[data-page="ordem-detalhes"] .budget-ready-actions { grid-template-columns: 1fr; }
}


/* V241 - identifica ordens que consumiram itens do estoque no Financeiro */
.finance-stock-used-badge{width:max-content;max-width:100%;margin-top:3px;padding:4px 7px;display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:5px;border:1px solid #b9d8ef;border-radius:999px;background:linear-gradient(180deg,#f0f8ff,#e7f3ff);color:#0c69cb;font-size:.58rem;font-weight:850;line-height:1;white-space:nowrap;text-transform:none;letter-spacing:0}
.finance-stock-used-badge svg{width:.72rem;height:.72rem;flex:0 0 auto}.finance-stock-used-badge span{display:inline!important;color:inherit!important;font-size:inherit!important;font-weight:inherit!important;text-transform:none!important;letter-spacing:0!important}
.finance-transaction-row:hover .finance-stock-used-badge{border-color:#91c2e8;background:#e8f4ff}
@media(max-width:760px){.finance-stock-used-badge{font-size:.56rem}}


/* V242 - datas de orçamento e retirada em equipamentos sem autorização */
.finance-unauthorized-row > span:nth-child(5) strong,.finance-unauthorized-row > span:nth-child(6) strong{font-variant-numeric:tabular-nums;line-height:1.25}.finance-unauthorized-row > span:nth-child(5) strong{color:#325d86}.finance-unauthorized-row > span:nth-child(6) strong{color:#18744f}.finance-unauthorized-row > span:nth-child(4) strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;overflow-wrap:anywhere}


/* V243 - modal de período do Dashboard responsiva em telas pequenas */
.dashboard-period-modal,
.dashboard-period-modal * { box-sizing: border-box; }
.dashboard-period-modal[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
}
.dashboard-period-modal-body {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.dashboard-period-modal-head h2,
.dashboard-period-modal-head p,
.dashboard-period-current-box p,
.dashboard-period-help {
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .dashboard-period-modal {
    top: 8px;
    left: 8px;
    right: 8px;
    bottom: auto;
    width: auto;
    max-width: none;
    max-height: calc(100dvh - 16px);
    margin: 0;
    border-radius: 18px;
  }
  .dashboard-period-modal-head {
    min-height: 0;
    padding: 14px 14px 12px;
    gap: 10px;
  }
  .dashboard-period-modal-head h2 {
    margin-top: 2px;
    font-size: 1.08rem;
    line-height: 1.2;
  }
  .dashboard-period-modal-head p:not(.eyebrow) {
    margin-top: 4px;
    font-size: .78rem;
    line-height: 1.35;
  }
  .dashboard-period-modal-head .icon-button {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
  }
  .dashboard-period-modal-body {
    padding: 12px 14px;
    gap: 12px;
  }
  .dashboard-period-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 6px;
    border-radius: 13px;
  }
  .dashboard-period-option {
    min-height: 42px;
    padding: 8px 10px;
    font-size: .84rem;
    border-radius: 10px;
  }
  .dashboard-period-option:last-child {
    grid-column: 1 / -1;
  }
  .dashboard-period-current-box {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    padding: 11px 12px;
    border-radius: 13px;
  }
  .dashboard-period-calendar {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }
  .dashboard-period-calendar svg { width: 18px; height: 18px; }
  .dashboard-period-current-box strong { font-size: .86rem; }
  .dashboard-period-current-box p { font-size: .72rem; line-height: 1.35; }
  .dashboard-period-help {
    grid-template-columns: 17px minmax(0, 1fr);
    gap: 7px;
    padding: 9px 10px;
    font-size: .68rem;
    line-height: 1.35;
    border-radius: 11px;
  }
  .dashboard-period-help svg { width: 15px; height: 15px; }
  .dashboard-period-actions {
    min-height: 0;
    padding: 10px 14px 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .dashboard-period-actions .button {
    min-width: 0;
    min-height: 42px;
    width: 100%;
  }
}
@media (max-width: 390px) {
  .dashboard-period-modal { left: 6px; right: 6px; top: 6px; max-height: calc(100dvh - 12px); border-radius: 15px; }
  .dashboard-period-modal-head { padding: 12px 12px 10px; }
  .dashboard-period-modal-body { padding: 10px 12px; }
  .dashboard-period-actions { padding: 9px 12px 11px; }
  .dashboard-period-option { min-height: 40px; font-size: .8rem; }
}


/* V245 - corretor de texto interno funcional */
.text-correction-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.text-correction-preview-head>div{min-width:0}.text-correction-run-button{flex:0 0 auto;min-height:40px;border-radius:11px}.text-correction-result{margin-top:10px;padding:10px 12px;border:1px solid #d8e5f0;border-radius:11px;background:#f7faff;color:#60768c;font-size:.76rem;font-weight:700}.text-correction-result.success{border-color:#b9e6cf;background:#effaf5;color:#14704d}.text-correction-result.warning{border-color:#f0d69d;background:#fff9e9;color:#855a00}.text-correction-result.neutral{border-color:#d8e5f0;background:#f7faff;color:#60768c}@media(max-width:680px){.text-correction-preview-head{flex-direction:column}.text-correction-run-button{width:100%;justify-content:center}}


/* V255 - controle de tamanho da pagina no modal do Dashboard */
.dashboard-page-zoom-box{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #d8e6f3;border-radius:13px;background:linear-gradient(180deg,#fff,#f8fbff)}
.dashboard-page-zoom-copy{min-width:0}.dashboard-page-zoom-copy strong{display:block;color:#18334f;font-size:.84rem}.dashboard-page-zoom-copy p{margin:3px 0 0;color:#6b7d90;font-size:.72rem;line-height:1.35}
.dashboard-page-zoom-controls{display:grid;grid-template-columns:38px 62px 38px;align-items:center;gap:6px;flex:0 0 auto;padding:4px;border:1px solid #d8e6f3;border-radius:12px;background:#f3f8fd}
.dashboard-page-zoom-button,.dashboard-page-zoom-value{height:34px;border:1px solid #cbddef;border-radius:9px;background:#fff;color:#17324d;font-weight:900;cursor:pointer;box-shadow:0 3px 8px rgba(27,72,115,.06);transition:background .15s ease,border-color .15s ease,transform .15s ease}
.dashboard-page-zoom-button{font-size:1.22rem;line-height:1}.dashboard-page-zoom-value{font-size:.75rem;color:#0c69cb;font-variant-numeric:tabular-nums}
.dashboard-page-zoom-button:hover,.dashboard-page-zoom-value:hover{background:#edf6ff;border-color:#98c6f1}.dashboard-page-zoom-button:active,.dashboard-page-zoom-value:active{transform:scale(.96)}
.dashboard-page-zoom-button:disabled{opacity:.42;cursor:not-allowed;background:#f3f6f9;transform:none}
@media(max-width:760px){.dashboard-page-zoom-box{gap:10px;padding:10px 11px}.dashboard-page-zoom-copy strong{font-size:.8rem}.dashboard-page-zoom-copy p{font-size:.66rem}.dashboard-page-zoom-controls{grid-template-columns:36px 56px 36px;gap:4px}.dashboard-page-zoom-button,.dashboard-page-zoom-value{height:32px}}
@media(max-width:430px){.dashboard-page-zoom-box{align-items:stretch;flex-direction:column}.dashboard-page-zoom-controls{grid-template-columns:1fr 1.4fr 1fr;width:100%}}

/* V259 - Financeiro: atualização automática e coordenada de todos os blocos */
.finance-period-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.finance-refresh-status{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:.66rem;font-weight:800;color:#0b7a4b;background:#ecfbf4;border:1px solid #b9ead3;border-radius:999px;padding:5px 9px;white-space:nowrap}
.finance-refresh-status svg{width:.78rem;height:.78rem}
.finance-refresh-status.is-loading{color:#0b64c8;background:#eef7ff;border-color:#bedcf8}
.finance-refresh-status.is-loading svg{animation:financeRefreshSpin 1s linear infinite}
.finance-workspace.is-refreshing .finance-summary-card strong,
.finance-workspace.is-refreshing .finance-panel-total,
.finance-workspace.is-refreshing .finance-unauthorized-total strong{opacity:.62}
@keyframes financeRefreshSpin{to{transform:rotate(360deg)}}
@media (max-width:640px){.finance-refresh-status{width:100%;margin-left:0;justify-content:center}}


/* V261 - Janela de carregamento coordenado do Financeiro */
.finance-loading-overlay{position:fixed;inset:0;z-index:14000;display:grid;place-items:center;padding:22px;background:rgba(12,31,53,.43);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;transition:opacity .16s ease}
.finance-loading-overlay[hidden]{display:none!important}.finance-loading-overlay.is-visible{opacity:1}
.finance-loading-card{width:min(470px,calc(100vw - 32px));overflow:hidden;border:1px solid #cfe0f2;border-radius:22px;background:#fff;box-shadow:0 26px 70px rgba(15,45,78,.24);padding:24px}
.finance-loading-top{display:flex;align-items:center;gap:14px}.finance-loading-top .eyebrow{margin:0 0 3px;color:#0875eb;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.finance-loading-top h2{margin:0;color:#071b35;font-size:1.35rem;line-height:1.15}
.finance-loading-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:15px;background:linear-gradient(145deg,#eaf5ff,#dcecff);color:#0875eb;box-shadow:inset 0 0 0 1px #cfe3fa}.finance-loading-icon svg{width:23px;height:23px;animation:financeLoadingPulse 1.1s ease-in-out infinite}
.finance-loading-message{min-height:38px;margin:17px 0 12px;color:#49647f;font-size:.82rem;line-height:1.45}
.finance-loading-track{height:10px;overflow:hidden;border-radius:999px;background:#e8f0f8;box-shadow:inset 0 1px 2px rgba(27,66,105,.10)}.finance-loading-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0875eb,#1594ff,#12ad82);transition:width .18s ease;box-shadow:0 0 12px rgba(8,117,235,.28)}
.finance-loading-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.finance-loading-meta strong{color:#0875eb;font-size:.82rem}.finance-loading-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5c7086;font-size:.72rem;font-weight:700;text-align:right}
.finance-loading-note{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:11px 12px;border:1px solid #d8e8f7;border-radius:12px;background:#f4f9fe;color:#536b83;font-size:.7rem;line-height:1.4}.finance-loading-note svg{width:15px;height:15px;flex:0 0 auto;margin-top:1px;color:#0875eb}
@keyframes financeLoadingPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.72}}
@media(max-width:560px){.finance-loading-overlay{padding:14px}.finance-loading-card{width:100%;border-radius:18px;padding:19px}.finance-loading-icon{width:43px;height:43px;border-radius:13px}.finance-loading-top h2{font-size:1.15rem}.finance-loading-message{font-size:.78rem}.finance-loading-meta{align-items:flex-start;flex-direction:column;gap:3px}.finance-loading-meta span{text-align:left;white-space:normal}}


/* V262 - Corrigir sobreposicao da Nova OS com a barra lateral em telas pequenas */
@media (max-width: 820px) {
  body.menu-open { overflow: hidden; }
  body.menu-open .sidebar { z-index: 1200; }
  body.menu-open .sidebar-scrim { z-index: 1190; }

  /* Quando o menu lateral estiver aberto no celular, o card da Nova OS não pode
     ficar acima do menu. Mantemos o autocomplete funcional quando o menu estiver
     fechado, mas durante o menu aberto a prioridade visual é da barra lateral. */
  body.menu-open .page[data-page="nova-os"] .form-card:first-of-type,
  body.menu-open .page[data-page="nova-os"] #existingClientPicker,
  body.menu-open .page[data-page="nova-os"] #clientSuggestions {
    z-index: 1 !important;
  }
}


/* V264 - Clientes: atualização coordenada ao entrar e ao trocar o período */
.page[data-page="clientes"].is-refreshing .clients-period-panel,
.page[data-page="clientes"].is-refreshing .clients-overview,
.page[data-page="clientes"].is-refreshing .clients-search-toolbar,
.page[data-page="clientes"].is-refreshing #clientsGrid { opacity: .68; }
.clients-loading-card .finance-loading-icon svg { animation: financeLoadingPulse 1.1s ease-in-out infinite; }


/* V270 - Nova ordem: o card Dados do cliente não pode cobrir o cabeçalho ao rolar.
   O primeiro card usa z-index 10; a topbar permanece em z-index 20.
   O autocomplete continua acima dos cards seguintes por causa do stacking context do primeiro card. */


/* V1.10 SEARCH-BUTTON - pesquisa manual em Ordens e Clientes */
.page[data-page="ordens"] .orders-search-group {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.page[data-page="ordens"] .orders-search-group .search-control { min-width: 0; grid-column: auto !important; }
.page[data-page="ordens"] .orders-search-button {
  min-width: 124px;
  height: 48px;
  padding: 0 16px;
  border-radius: 14px;
  gap: 8px;
  justify-content: center;
  white-space: nowrap;
  box-shadow: 0 9px 18px rgba(22,119,255,.16);
}
.page[data-page="ordens"] .orders-search-button svg,
.clients-search-button svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}
.orders-search-button .search-button-label,
.clients-search-button .search-button-label { display: inline; }

@media (max-width: 900px) {
  .page[data-page="ordens"] .orders-search-group { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .orders-search-button .search-button-label,
  .clients-search-button .search-button-label { display: none; }
  .page[data-page="ordens"] .orders-search-button {
    width: 48px;
    min-width: 48px;
    padding: 0;
  }
  .clients-search-toolbar {
    grid-template-columns: minmax(0, 1fr) 48px !important;
    gap: 10px;
  }
  .clients-search-box {
    grid-column: 1;
    min-width: 0;
  }
  .clients-search-button {
    grid-column: 2;
    width: 48px !important;
    min-width: 48px;
    padding: 0;
    justify-content: center;
  }
  .clients-filter-control,
  .client-search-info {
    grid-column: 1 / -1 !important;
  }
}


/* V312 - Central de notificacoes delicada e moderna */
.notification-center{position:relative;z-index:36;flex:0 0 auto}
.notification-button{position:relative;width:48px;height:48px;border:1px solid #d8e6f5;border-radius:16px;background:linear-gradient(180deg,#fbfdff 0%,#eef6ff 100%);color:#0f6ff0;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px rgba(40,104,170,.10);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.notification-button:hover,.notification-button[aria-expanded="true"]{background:linear-gradient(180deg,#fff 0%,#e9f4ff 100%);transform:translateY(-1px);border-color:#b9d7f6;box-shadow:0 16px 34px rgba(24,100,181,.15)}
.notification-button:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(22,119,255,.12),0 16px 34px rgba(24,100,181,.15)}
.notification-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.notification-badge{position:absolute;top:-5px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:linear-gradient(180deg,#ff4d4f,#ea2d35);color:#fff;border:2px solid #f8fbff;font-size:.64rem;font-weight:850;line-height:16px;text-align:center;box-shadow:0 5px 13px rgba(229,57,53,.28)}
.notification-panel{position:absolute;right:-62px;top:58px;width:min(430px,calc(100vw - 24px));max-height:min(620px,78vh);display:flex;flex-direction:column;background:rgba(255,255,255,.985);color:var(--text);border:1px solid #dfe9f4;border-radius:24px;box-shadow:0 28px 70px rgba(18,42,70,.18),0 8px 24px rgba(25,75,125,.08);overflow:hidden;isolation:isolate}
.notification-panel::before{content:"";position:absolute;inset:0 0 auto;height:118px;background:radial-gradient(circle at 12% 18%,rgba(22,119,255,.08),transparent 42%),linear-gradient(180deg,#fbfdff 0%,rgba(248,251,255,.28) 100%);pointer-events:none;z-index:-1}
.notification-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;padding:18px 18px 16px;border-bottom:1px solid #edf2f7;background:rgba(255,255,255,.86)}
.notification-head-identity{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 240px}
.notification-head-icon{position:relative;width:46px;height:46px;flex:0 0 46px;border-radius:15px;background:linear-gradient(145deg,#f3f8ff,#e7f2ff);color:#0f6ff0;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(93,156,229,.09)}
.notification-head-icon::after{content:"";position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:#1677ff;box-shadow:0 0 0 3px rgba(22,119,255,.10)}
.notification-head-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.notification-head-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}.notification-head-copy strong{font-size:20px;line-height:1.05;letter-spacing:-.035em;color:#0c2038;font-weight:820}.notification-head-copy span{font-size:12px;line-height:1.25;color:#74879a;font-weight:560}
.notification-mark-all,.notification-refresh{font:inherit;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.notification-mark-all{flex:0 0 auto;min-height:38px;padding:8px 11px;border:1px solid #d7e7f8;border-radius:12px;background:#f7fbff;color:#1469c9;font-size:10.5px;font-weight:790;box-shadow:0 5px 14px rgba(30,105,184,.05)}
.notification-mark-all:hover{background:#edf6ff;border-color:#bfdbf8;transform:translateY(-1px)}
.notification-mark-all svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.notification-list{max-height:470px;overflow:auto;scrollbar-width:thin;scrollbar-color:#b8c5d3 transparent;background:linear-gradient(180deg,#fbfdff 0%,#f8fbfe 100%);padding:12px;display:flex;flex-direction:column;gap:9px}
.notification-list::-webkit-scrollbar{width:7px}.notification-list::-webkit-scrollbar-track{background:transparent}.notification-list::-webkit-scrollbar-thumb{background:#c2cfdb;border-radius:999px;border:2px solid #f9fcff}
.notification-item{display:grid;grid-template-columns:46px minmax(0,1fr) 28px;align-items:center;gap:12px;padding:14px;border:1px solid #e1eaf3;border-radius:18px;cursor:pointer;background:rgba(255,255,255,.96);box-shadow:0 5px 16px rgba(27,70,111,.045);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;outline:0}
.notification-item:hover{transform:translateY(-1px);border-color:#cfdfee;background:#fff;box-shadow:0 10px 24px rgba(27,70,111,.08)}
.notification-item:focus-visible{border-color:#9ec8f4;box-shadow:0 0 0 4px rgba(22,119,255,.10),0 10px 24px rgba(27,70,111,.08)}
.notification-item.unread{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);border-color:#d8e8f8}.notification-item.unread:hover{border-color:#bfd9f5}
.notification-item-icon{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#f2f7ff,#eaf3ff);color:#146fdb;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(71,137,210,.06)}
.notification-item-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-item[data-type="PAYABLE_DUE"] .notification-item-icon{background:linear-gradient(145deg,#fff8eb,#ffefd1);color:#b66b09}.notification-item[data-type="ORDER_CLOSED"] .notification-item-icon{background:linear-gradient(145deg,#effbf6,#e0f5eb);color:#09875a}.notification-item[data-type="CLIENT_CREATED"] .notification-item-icon{background:linear-gradient(145deg,#f6f2ff,#ebe7ff);color:#6352d9}
.notification-item-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.notification-item-copy strong{font-size:14px;line-height:1.24;font-weight:810;letter-spacing:-.018em;color:#10243b}.notification-item-copy>span{font-size:11.5px;color:#5f7388;line-height:1.38;overflow-wrap:anywhere}
.notification-item-time{display:inline-flex;align-items:center;gap:5px;margin-top:2px;font-size:10px;color:#8797a8;line-height:1.2;font-weight:560}.notification-item-time svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-item-end{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.notification-unread-dot{width:8px;height:8px;flex:0 0 8px;border-radius:999px;background:#1677ff;box-shadow:0 0 0 4px rgba(22,119,255,.10);transition:opacity .15s ease}.notification-item:not(.unread) .notification-unread-dot{opacity:0}.notification-item-chevron{width:16px;height:16px;fill:none;stroke:#a8b5c4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease,stroke .16s ease}.notification-item:hover .notification-item-chevron{transform:translateX(2px);stroke:#5d7e9f}
.notification-empty{padding:32px 18px;text-align:center;color:#7b8da0;font-size:12px;background:#fff;border:1px dashed #d9e5f0;border-radius:16px}
.notification-panel-foot{min-height:52px;padding:9px 14px;border-top:1px solid #edf2f7;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}.notification-auto-sync{font-size:10.5px;color:#778a9c;display:inline-flex;align-items:center;gap:7px;font-weight:590}.notification-auto-sync::before{content:"";width:7px;height:7px;border-radius:999px;background:#17b36b;box-shadow:0 0 0 3px rgba(23,179,107,.10)}
.notification-refresh{border:0;background:transparent;color:#0f6ff0;font-size:10.5px;font-weight:790;padding:7px 8px;border-radius:10px}.notification-refresh:hover{background:#edf6ff}.notification-refresh-icon{width:17px;height:17px;display:grid;place-items:center}.notification-refresh-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.notification-setting-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.notification-setting-row>div{max-width:650px}.notification-setting-row strong{display:block;margin-bottom:5px}.notification-setting-row p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.notification-retention-fields{margin-top:20px}.notification-performance-note{display:flex;gap:12px;align-items:flex-start;padding:15px 16px;margin-top:18px;border-radius:14px;background:#f4f8fc;border:1px solid #dce8f3}.notification-performance-note svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:#1769c2;stroke-width:1.8}.notification-performance-note strong{display:block;margin-bottom:4px}.notification-performance-note p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}
@media(max-width:760px){.page[data-page="dashboard"] .dashboard-company-identity{padding-right:116px}.dashboard-heading-tools{right:12px;gap:7px}.notification-button{width:44px;height:44px;border-radius:14px}.notification-panel{position:fixed;top:70px;right:10px;width:min(430px,calc(100vw - 20px));max-height:calc(100vh - 82px)}.notification-list{max-height:calc(100vh - 214px)}.device-status{display:none}.notification-setting-row{align-items:flex-start;gap:14px}}
@media(max-width:520px){.notification-panel{top:64px;right:8px;width:calc(100vw - 16px);border-radius:20px}.notification-panel-head{padding:14px;align-items:flex-start}.notification-head-icon{width:40px;height:40px;flex-basis:40px;border-radius:13px}.notification-head-copy strong{font-size:17px}.notification-head-copy span{font-size:10.5px}.notification-mark-all{min-height:34px;padding:7px 9px;font-size:9.5px}.notification-mark-all svg{width:13px;height:13px}.notification-list{padding:9px;gap:7px}.notification-item{grid-template-columns:40px minmax(0,1fr) 24px;gap:10px;padding:11px;border-radius:15px}.notification-item-icon{width:40px;height:40px;border-radius:13px}.notification-item-icon svg{width:19px;height:19px}.notification-item-copy strong{font-size:12.5px}.notification-item-copy>span{font-size:10.5px}.notification-item-time{font-size:9.5px}.notification-panel-foot{min-height:46px;padding:7px 10px}.notification-auto-sync,.notification-refresh{font-size:9.5px}}

/* V1.10 - alinhamentos de Configuracoes e horario individual por dia */
.settings-separated-actions {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #e2ebf4;
  justify-content: flex-end;
}
.page[data-page="config-redes"] .wifi-scan-button {
  min-height: 48px;
  height: 48px;
  align-self: end;
  margin: 0;
}
.collaborator-daily-schedule-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.collaborator-daily-schedule-head strong { display: block; color: var(--text); font-size: .82rem; }
.collaborator-daily-schedule-head small { display: block; margin-top: 3px; color: var(--muted); font-size: .7rem; line-height: 1.4; }
.collaborator-daily-schedule-head > span { color: #74889c; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.collaborator-day-schedule-list { display: grid; gap: 9px; }
.collaborator-day-schedule-row {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) minmax(300px, .9fr);
  align-items: center;
  gap: 16px;
  padding: 11px 12px;
  border: 1px solid #dfe8f1;
  border-radius: 14px;
  background: #fbfdff;
}
.collaborator-day-enable { display: flex; align-items: center; gap: 10px; cursor: pointer; min-width: 0; }
.collaborator-day-enable input { width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--blue); }
.collaborator-day-enable span { min-width: 0; }
.collaborator-day-enable strong { display: block; color: #17334c; font-size: .78rem; }
.collaborator-day-enable small { display: block; margin-top: 2px; color: var(--muted); font-size: .67rem; }
.collaborator-day-schedule-row:not(.enabled) { background: #f7f9fc; }
.collaborator-day-schedule-row:not(.enabled) .collaborator-day-enable strong { color: #687e93; }
.collaborator-day-schedule-times { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.collaborator-day-schedule-times label { display: grid; gap: 4px; color: #6a7f93; font-size: .65rem; font-weight: 800; }
.collaborator-day-schedule-times input { min-height: 42px; width: 100%; padding: 0 11px; border: 1px solid #cedbe7; border-radius: 10px; background: #fff; color: var(--text); }
.collaborator-day-schedule-times input:disabled { background: #edf2f6; color: #9aabba; cursor: not-allowed; }
@media (max-width: 760px) {
  .settings-separated-actions { align-items: stretch; }
  .settings-separated-actions .button { width: 100%; justify-content: center; }
}
@media (max-width: 640px) {
  .collaborator-daily-schedule-head { align-items: flex-start; }
  .collaborator-daily-schedule-head > span { display: none; }
  .collaborator-day-schedule-row { grid-template-columns: 1fr; gap: 10px; }
  .collaborator-day-schedule-times { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.settings-separated-actions .button {
  min-height: 46px;
  border-radius: 14px;
  padding-inline: 18px;
}

/* V1.10 - cabeçalho sempre acima dos controles do Dashboard */
.page[data-page="dashboard"] .dashboard-heading-tools {
  z-index: 10;
}
.page[data-page="dashboard"] .notification-center {
  z-index: 11;
}


/* V301 - banco binario nativo */


/* V301 - status e manutencao do banco binario */
.v301-database-card{position:relative;overflow:hidden}
.v301-db-status-line{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line,#dfe6ee);border-radius:14px;margin:14px 0}
.v301-db-status-line>div{display:flex;flex-direction:column;gap:3px}
.v301-db-status-line small{color:var(--muted,#64748b)}
.v301-db-dot{width:11px;height:11px;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 5px rgba(148,163,184,.14);flex:0 0 auto}
.v301-db-dot.active{background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.14)}
.v301-db-metrics{margin-top:10px}
.v301-db-progress{height:8px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden;margin:16px 0 8px}
.v301-db-progress i{display:block;height:100%;width:0;background:currentColor;border-radius:inherit;transition:width .25s ease}
.v301-db-actions{margin-top:18px;gap:10px;flex-wrap:wrap}
@media(max-width:720px){.v301-db-actions .button{flex:1 1 100%}}

/* V315 - módulo Vendas */
.sales-page{--sales-blue:#1769e0;--sales-blue-soft:#edf5ff;--sales-green:#13966f;--sales-green-soft:#ecfbf5;--sales-amber:#b97810;--sales-amber-soft:#fff7e9;--sales-red:#c34350;--sales-red-soft:#fff1f2;--sales-ink:#13283d;--sales-muted:#6f8295}
.sales-heading{align-items:flex-end}.sales-heading>.button{min-height:46px;border-radius:14px;padding-inline:18px;box-shadow:0 10px 24px rgba(23,105,224,.16)}
.sales-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}
.sales-summary-card{position:relative;overflow:hidden;min-height:116px;display:flex;align-items:center;gap:13px;padding:17px 16px;border:1px solid #deE8f2;border-radius:20px;background:linear-gradient(145deg,#fff,#f9fbfd);box-shadow:0 8px 24px rgba(33,62,90,.055)}
.sales-summary-card:after{content:"";position:absolute;right:-26px;top:-38px;width:88px;height:88px;border-radius:999px;background:currentColor;opacity:.045}
.sales-summary-card.sales{color:var(--sales-blue)}.sales-summary-card.received{color:var(--sales-green)}.sales-summary-card.open{color:var(--sales-amber)}.sales-summary-card.overdue{color:var(--sales-red)}
.sales-summary-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:16px;background:color-mix(in srgb,currentColor 10%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 12%,transparent)}
.sales-summary-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sales-summary-card>div{min-width:0;display:flex;flex-direction:column;gap:3px}.sales-summary-card small{font-size:.68rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;color:#71869a}.sales-summary-card strong{font-size:1.55rem;line-height:1.04;color:var(--sales-ink);letter-spacing:-.035em}.sales-summary-card span:last-child{font-size:.67rem;line-height:1.35;color:#8798a9}
.sales-composer{margin:0 0 18px;padding:0;overflow:hidden;border-radius:22px}.sales-composer>.panel-header{padding:20px 22px;border-bottom:1px solid #e9f0f6;background:linear-gradient(180deg,#fbfdff,#fff)}
.sales-composer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 20px}
.sales-step-card{min-width:0;padding:17px;border:1px solid #e1eaf3;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(35,68,101,.04)}.sales-step-card.span-2{grid-column:1/-1}
.sales-step-card .section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px}.sales-step-card .section-title>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:10px;background:#edf5ff;color:#156ad9;font-size:.68rem;font-weight:900}.sales-step-card .section-title h3{margin:0;color:#173047;font-size:.9rem}.sales-step-card .section-title p{margin:3px 0 0;color:#7a8da0;font-size:.69rem;line-height:1.4}
.sales-search-picker{position:relative}.sales-search-picker .picker-input{display:flex;align-items:center;gap:9px;border:1px solid #d7e2ec;border-radius:13px;background:#fbfdff;padding:0 12px;transition:.16s}.sales-search-picker .picker-input:focus-within{border-color:#88b8ef;box-shadow:0 0 0 3px rgba(23,105,224,.08);background:#fff}.sales-search-picker .picker-input svg{width:18px;height:18px;fill:none;stroke:#7390aa;stroke-width:1.8}.sales-search-picker .picker-input input{width:100%;height:45px;border:0;outline:0;background:transparent;color:#19334b;font-size:.78rem}
.sales-suggestions{position:absolute;z-index:35;left:0;right:0;top:calc(100% + 6px);max-height:300px;overflow:auto;padding:6px;border:1px solid #dce6ef;border-radius:14px;background:#fff;box-shadow:0 16px 38px rgba(23,48,73,.16)}
.sales-suggestion{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:0;border-radius:10px;background:transparent;text-align:left;color:#173047;cursor:pointer}.sales-suggestion:hover{background:#f1f7ff}.sales-suggestion.unavailable{opacity:.58;cursor:not-allowed}.sales-suggestion-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf5ff;color:#1769e0}.sales-suggestion-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.sales-suggestion span:nth-child(2){min-width:0}.sales-suggestion strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.sales-suggestion small{display:block;margin-top:2px;color:#768a9e;font-size:.63rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-suggestion em{font-style:normal;color:#1769e0;font-size:.64rem;font-weight:800}.sales-suggestion-empty{padding:14px;text-align:center;color:#788b9e;font-size:.7rem}.sales-suggestion-empty.danger{color:#b23b49;background:#fff5f6}
.sales-selected-card{display:grid;grid-template-columns:42px minmax(0,1fr) 32px;gap:10px;align-items:center;margin-top:10px;padding:11px;border:1px solid #cfe2f6;border-radius:14px;background:linear-gradient(145deg,#f8fbff,#f2f8ff)}.sales-selected-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#1769e0;box-shadow:0 4px 12px rgba(23,105,224,.09)}.sales-selected-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.sales-selected-card small,.sales-selected-card span{display:block;color:#71879b;font-size:.63rem}.sales-selected-card strong{display:block;margin:1px 0;color:#153047;font-size:.78rem}.sales-clear-selection{width:31px;height:31px;border:0;border-radius:9px;background:#fff;color:#8698aa}.sales-clear-selection:hover{color:#c34350;background:#fff0f1}.sales-clear-selection svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.sales-customer-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.sales-customer-balance>div{padding:9px 10px;border-radius:11px;background:#f7f9fc}.sales-customer-balance small{display:block;color:#7c8ea0;font-size:.59rem}.sales-customer-balance strong{display:block;margin-top:2px;color:#1c354c;font-size:.71rem}.sales-customer-balance strong.danger{color:#c34350}.sales-customer-balance>span{grid-column:1/-1;color:#8294a6;font-size:.65rem}
.sales-items{display:grid;gap:9px;margin-top:12px}.sales-items-empty{margin-top:12px}.sales-item-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(180px,1.2fr) 82px 126px 110px 34px;gap:9px;align-items:end;padding:11px;border:1px solid #e0e9f1;border-radius:14px;background:#fbfdff}.sales-item-main{display:flex;align-items:center;gap:9px;align-self:center;min-width:0}.sales-item-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:11px;background:#edf5ff;color:#1769e0}.sales-item-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.sales-item-main>div{min-width:0}.sales-item-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173047;font-size:.74rem}.sales-item-main small{display:block;margin-top:3px;color:#7c8fa1;font-size:.61rem}.sales-item-row label{display:grid;gap:4px;color:#71869a;font-size:.59rem;font-weight:800}.sales-item-row input{min-width:0;width:100%;height:38px;padding:0 9px;border:1px solid #d7e2ec;border-radius:9px;background:#fff;color:#173047;font-size:.72rem}.sales-item-row label small{font-size:.55rem;font-weight:600;color:#93a2b1}.sales-item-total{align-self:center;text-align:right}.sales-item-total small{display:block;color:#8293a4;font-size:.58rem}.sales-item-total strong{display:block;margin-top:2px;color:#173047;font-size:.78rem}.sales-item-remove{width:34px;height:34px;display:grid;place-items:center;align-self:center;border:0;border-radius:10px;background:#fff0f2;color:#c34350}.sales-item-remove:hover{background:#ffe4e7}.sales-item-remove svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.sales-installments{margin-top:12px;padding:11px;border:1px solid #e1e9f1;border-radius:13px;background:#fafcff}.sales-installments-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:9px}.sales-installments-head strong{font-size:.7rem;color:#1b354d}.sales-installments-head span{font-size:.58rem;color:#8395a6}.sales-installment-row{display:grid;grid-template-columns:30px minmax(130px,1fr) minmax(105px,.7fr);gap:8px;align-items:center;margin-top:6px}.sales-installment-row>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#edf5ff;color:#1769e0;font-size:.62rem;font-weight:900}.sales-installment-row input{height:36px;border:1px solid #d8e2eb;border-radius:9px;padding:0 9px;background:#fff;color:#18324a;font-size:.68rem}
.sales-total-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 20px 16px;border:1px solid #dee8f1;border-radius:15px;overflow:hidden;background:#dee8f1}.sales-total-card>div{padding:12px 14px;background:#f9fbfd}.sales-total-card span{display:block;color:#7e90a1;font-size:.61rem}.sales-total-card strong{display:block;margin-top:4px;color:#173047;font-size:.84rem}.sales-total-card .grand{background:#edf6ff}.sales-total-card .grand strong{color:#1268d8;font-size:1rem}.sales-actions{padding:0 20px 20px;justify-content:flex-end}.sales-actions .button{min-width:150px}
.sales-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.9fr);gap:15px}.sales-list-panel,.sales-receivables-panel{min-width:0}.sales-list-panel>.panel-header,.sales-receivables-panel>.panel-header{align-items:center}.sales-header-tools{display:flex;align-items:center;gap:8px}.sales-header-tools input{width:min(280px,28vw);height:40px;border:1px solid #d8e2eb;border-radius:11px;padding:0 11px;background:#fbfdff;color:#173047}
.sales-record{position:relative;display:flex;gap:8px;align-items:stretch;padding:8px;margin-top:8px;border:1px solid #e1e9f1;border-radius:14px;background:#fff;transition:.15s}.sales-record:hover{border-color:#c9dbeb;box-shadow:0 6px 18px rgba(30,64,96,.06)}.sales-record.overdue{border-left:3px solid #d95763}.sales-record-main{flex:1;min-width:0;display:grid;grid-template-columns:76px minmax(125px,1.25fr) 86px minmax(110px,.65fr) 18px;gap:10px;align-items:center;border:0;background:transparent;text-align:left;color:#173047;cursor:pointer}.sales-record-number{font-size:.72rem;font-weight:900;color:#1769e0}.sales-record-copy{min-width:0}.sales-record-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.sales-record-copy small{display:block;margin-top:3px;color:#8192a3;font-size:.6rem}.sales-record-status{display:inline-flex;justify-content:center;padding:5px 7px;border-radius:999px;background:#eef3f7;color:#60788e;font-size:.57rem;font-weight:850}.sales-record-status.paga{background:#eaf8f2;color:#16825f}.sales-record-status.parcial{background:#edf5ff;color:#1769e0}.sales-record-status.vencida{background:#fff0f1;color:#c34350}.sales-record-status.cancelada{background:#f1f2f4;color:#788695}.sales-record-values{text-align:right}.sales-record-values small,.sales-record-values em{display:block;color:#8999a8;font-size:.56rem;font-style:normal}.sales-record-values strong{display:block;margin:2px 0;color:#173047;font-size:.72rem}.sales-record-main>svg{width:16px;height:16px;fill:none;stroke:#9aacbb;stroke-width:2}.sales-receive-button{align-self:center;white-space:nowrap;min-height:36px;padding-inline:10px;border-radius:10px;font-size:.64rem}.sales-receive-button svg{width:14px;height:14px}
.sales-pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.sales-pager .icon-button{width:36px;height:36px}.sales-pager span{color:#72879a;font-size:.65rem;font-weight:750}.sales-receivables-panel .sales-record-main{grid-template-columns:68px minmax(105px,1fr) 75px minmax(100px,.7fr) 16px}.sales-receivables-panel .sales-record{flex-direction:column}.sales-receivables-panel .sales-receive-button{width:100%;justify-content:center}
.sales-payment-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 24px 70px rgba(12,34,55,.28)}
.sales-detail-dialog{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 24px 70px rgba(12,34,55,.28)}
.sales-customer-receivables-dialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 24px 70px rgba(12,34,55,.28)}
.sales-payment-dialog .modal-body,.sales-detail-dialog .modal-body,.sales-customer-receivables-dialog .modal-body{max-height:calc(100dvh - 176px);overflow:auto}
.sales-payment-balance{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:12px 14px;border-radius:13px;background:#fff7e9}.sales-payment-balance span{color:#8a754e;font-size:.67rem}.sales-payment-balance strong{color:#9a6510;font-size:1rem}.sales-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sales-detail-summary>div{padding:12px;border-radius:12px;background:#f6f9fc}.sales-detail-summary small{display:block;color:#8092a4;font-size:.59rem}.sales-detail-summary strong{display:block;margin-top:3px;color:#173047;font-size:.78rem}.sales-detail-section{margin-top:15px;padding-top:13px;border-top:1px solid #e8eef4}.sales-detail-section h3{margin:0 0 8px;color:#173047;font-size:.78rem}.sales-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sales-detail-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #e6edf3;color:#20384f;font-size:.69rem}.sales-detail-line span{min-width:0}.sales-detail-line span>strong,.sales-detail-line span>small{display:block}.sales-detail-line span>small{margin-top:2px;color:#8293a3;font-size:.59rem}.sales-detail-line.payment>.button{flex:0 0 auto}.sales-detail-actions{display:flex;justify-content:flex-end;margin-top:18px}.sales-detail-section .muted{color:#8394a4;font-size:.67rem}.button.tiny{min-height:30px;padding:5px 8px;border-radius:8px;font-size:.59rem}
.sales-receivable-customer-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto 16px;gap:10px;align-items:center;width:100%;margin-top:8px;padding:12px;border:1px solid #e1e9f1;border-radius:15px;background:#fff;color:#173047;text-align:left;cursor:pointer;transition:.15s}.sales-receivable-customer-card:hover{border-color:#bdd5eb;box-shadow:0 7px 20px rgba(31,70,107,.07)}.sales-receivable-customer-card.overdue{border-left:3px solid #d95763}.sales-receivable-customer-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf5ff;color:#1769e0}.sales-receivable-customer-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.sales-receivable-customer-copy{min-width:0}.sales-receivable-customer-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem}.sales-receivable-customer-copy small{display:block;margin-top:3px;color:#8093a5;font-size:.59rem}.sales-receivable-customer-values{text-align:right}.sales-receivable-customer-values small{display:block;color:#8a9aaa;font-size:.55rem}.sales-receivable-customer-values strong{display:block;margin-top:2px;font-size:.76rem}.sales-receivable-customer-values em{display:block;margin-top:2px;color:#c34350;font-size:.55rem;font-style:normal}.sales-receivable-customer-card>svg{width:15px;height:15px;fill:none;stroke:#9aacbb;stroke-width:2}
.sales-customer-receivable-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.sales-customer-receivable-summary>div{padding:12px;border-radius:13px;background:#f6f9fc}.sales-customer-receivable-summary small{display:block;color:#8193a4;font-size:.59rem}.sales-customer-receivable-summary strong{display:block;margin-top:4px;color:#173047;font-size:.86rem}.sales-customer-receivable-summary .danger strong{color:#c34350}.sales-receivable-select-all{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 12px;border:1px solid #dce7f0;border-radius:12px;background:#f9fbfd;color:#29445e;font-size:.68rem;font-weight:750}.sales-receivable-select-all input{width:17px;height:17px}.sales-receivable-select-all strong{color:#1769e0;font-size:.76rem}.sales-customer-receivable-list{display:grid;gap:8px;margin-top:10px}.sales-customer-receivable-row{display:grid;grid-template-columns:22px 82px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e2eaf1;border-radius:13px;background:#fff}.sales-customer-receivable-row.is-selected{border-color:#9cc7f2;background:#f6fbff}.sales-customer-receivable-row input{width:17px;height:17px}.sales-customer-receivable-row .number{color:#1769e0;font-size:.67rem;font-weight:900}.sales-customer-receivable-row .copy strong{display:block;font-size:.68rem}.sales-customer-receivable-row .copy small{display:block;margin-top:2px;color:#8193a4;font-size:.57rem}.sales-customer-receivable-row .value{text-align:right}.sales-customer-receivable-row .value small{display:block;color:#8999a8;font-size:.55rem}.sales-customer-receivable-row .value strong{display:block;font-size:.72rem}.sales-customer-receivable-row .button{min-height:30px;padding:5px 8px;font-size:.58rem}.sales-customer-receivable-actions{justify-content:space-between}
@media(max-width:680px){.sales-payment-dialog,.sales-detail-dialog,.sales-customer-receivables-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:14px}.sales-payment-dialog .modal-body,.sales-detail-dialog .modal-body,.sales-customer-receivables-dialog .modal-body{max-height:calc(100dvh - 168px)}.sales-customer-receivable-summary{grid-template-columns:1fr}.sales-customer-receivable-row{grid-template-columns:22px minmax(0,1fr) auto}.sales-customer-receivable-row .number{grid-column:2}.sales-customer-receivable-row .copy{grid-column:2}.sales-customer-receivable-row .value{grid-column:3;grid-row:1/3}.sales-customer-receivable-row .button{grid-column:2/4;width:100%;justify-content:center}.sales-receivable-customer-card{grid-template-columns:40px minmax(0,1fr) 16px}.sales-receivable-customer-values{grid-column:2;text-align:left}.sales-receivable-customer-card>svg{grid-column:3;grid-row:1}}
.finance-sale-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:7px;background:#edf5ff;color:#1769e0;font-size:.56rem;font-weight:850}
@media(max-width:1180px){.sales-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-columns{grid-template-columns:1fr}.sales-item-row{grid-template-columns:minmax(160px,1.2fr) minmax(160px,1fr) 76px 116px 100px 34px}}
@media(max-width:900px){.sales-composer-grid{grid-template-columns:1fr}.sales-step-card.span-2{grid-column:auto}.sales-item-row{grid-template-columns:1fr 1fr 78px 34px}.sales-item-main{grid-column:1/-1}.sales-item-row>label:first-of-type{grid-column:1/-1}.sales-item-total{grid-column:3}.sales-total-card{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-record-main{grid-template-columns:70px minmax(120px,1fr) 75px minmax(100px,.7fr) 16px}}
@media(max-width:680px){.sales-heading{align-items:stretch}.sales-heading>.button{width:100%;justify-content:center;margin-top:10px}.sales-summary-grid{grid-template-columns:1fr 1fr;gap:9px}.sales-summary-card{min-height:98px;padding:13px;gap:10px;border-radius:16px}.sales-summary-icon{width:40px;height:40px;flex-basis:40px;border-radius:13px}.sales-summary-card strong{font-size:1.15rem}.sales-composer-grid{padding:12px}.sales-step-card{padding:13px;border-radius:15px}.sales-total-card{margin:0 12px 12px;grid-template-columns:1fr 1fr}.sales-actions{padding:0 12px 14px;display:grid;grid-template-columns:1fr 1fr}.sales-actions .button{min-width:0}.sales-item-row{grid-template-columns:1fr 82px 34px}.sales-item-main{grid-column:1/-1}.sales-item-row>label:first-of-type{grid-column:1/-1}.sales-item-row>label:nth-of-type(2){grid-column:1}.sales-item-row>label:nth-of-type(3){grid-column:1/-1}.sales-item-total{grid-column:2;grid-row:auto}.sales-item-remove{grid-column:3}.sales-customer-balance{grid-template-columns:1fr}.sales-installments-head{align-items:flex-start;flex-direction:column}.sales-installment-row{grid-template-columns:28px 1fr}.sales-installment-row .sales-installment-amount{grid-column:2}.sales-header-tools{width:100%}.sales-header-tools input{width:100%}.sales-list-panel>.panel-header,.sales-receivables-panel>.panel-header{align-items:stretch;flex-direction:column}.sales-record{flex-direction:column}.sales-record-main,.sales-receivables-panel .sales-record-main{grid-template-columns:66px minmax(0,1fr) 16px;gap:8px}.sales-record-status{grid-column:1}.sales-record-values{grid-column:2;text-align:left}.sales-record-main>svg{grid-column:3;grid-row:1}.sales-receive-button{width:100%;justify-content:center}.sales-detail-summary{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.sales-summary-grid{grid-template-columns:1fr}.sales-total-card{grid-template-columns:1fr}.sales-actions{grid-template-columns:1fr}.sales-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.sales-customer-balance{grid-template-columns:1fr}.sales-detail-summary{grid-template-columns:1fr 1fr}}

/* V315: ações do histórico de pagamentos de Vendas */
.sales-payment-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;flex-wrap:wrap}
.sales-payment-actions .button{flex:0 0 auto}
@media (max-width:620px){.sales-detail-line.payment{align-items:flex-start;flex-direction:column}.sales-payment-actions{width:100%;justify-content:flex-start}}

/* V321 - respiro interno em Vendas recentes e Contas a receber */
.sales-list,.sales-receivables{padding:0 14px 14px}
.sales-list-panel>.inventory-pager,.sales-receivables-panel>.inventory-pager,.sales-list-panel>.empty-state,.sales-receivables-panel>.empty-state{margin-left:14px;margin-right:14px;margin-bottom:14px}
@media(max-width:680px){.sales-list,.sales-receivables{padding:0 10px 10px}.sales-list-panel>.inventory-pager,.sales-receivables-panel>.inventory-pager,.sales-list-panel>.empty-state,.sales-receivables-panel>.empty-state{margin-left:10px;margin-right:10px;margin-bottom:10px}}

/* V322 - cabeçalho responsivo da central de notificações */
@media(max-width:520px){
  .notification-panel-head{flex-direction:column;align-items:stretch;gap:10px}
  .notification-head-identity{width:100%}
  .notification-mark-all{align-self:flex-end;max-width:100%}
}


/* V324 - Modo Adaptativo Automático para monitores de baixa resolução */
.dashboard-auto-fit-box{margin-top:10px;padding:12px 14px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid #dce7f2;border-radius:13px;background:#f8fbff;cursor:pointer}
.dashboard-auto-fit-box>input{position:absolute;opacity:0;pointer-events:none}
.dashboard-auto-fit-switch{position:relative;width:40px;height:22px;border-radius:999px;background:#cbd8e5;box-shadow:inset 0 0 0 1px rgba(74,99,124,.08);transition:.18s}
.dashboard-auto-fit-switch::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(17,42,67,.22);transition:.18s}
.dashboard-auto-fit-box>input:checked + .dashboard-auto-fit-switch{background:#1677ff}
.dashboard-auto-fit-box>input:checked + .dashboard-auto-fit-switch::after{transform:translateX(18px)}
.dashboard-auto-fit-copy{display:grid;gap:2px;min-width:0}.dashboard-auto-fit-copy strong{font-size:.78rem;color:#18314a}.dashboard-auto-fit-copy small{color:#6d8195;font-size:.66rem}

body.adaptive-compact{--sidebar:220px}
body.adaptive-compact .sidebar{width:var(--sidebar)}
body.adaptive-compact .brand-block{min-height:86px;padding:16px 17px;gap:11px}
body.adaptive-compact .brand-mark{width:39px;height:45px}
body.adaptive-compact .brand-name{font-size:1.18rem}
body.adaptive-compact .nav-list{padding:9px 0}
body.adaptive-compact .nav-item{min-height:42px;padding:0 18px;gap:12px;font-size:.86rem}
body.adaptive-compact .nav-subitem{min-height:36px;font-size:.81rem}
body.adaptive-compact .sidebar-note{margin: auto 16px 16px;padding-top:12px}
body.adaptive-compact .topbar{height:62px;padding:0 20px}
body.adaptive-compact .device-status{right:20px;gap:15px}
body.adaptive-compact .content{padding:18px 20px 22px}
body.adaptive-compact .page-heading{min-height:68px;margin-bottom:14px;gap:16px}
body.adaptive-compact .page-heading h1{font-size:clamp(1.35rem,1.8vw,1.75rem)}
body.adaptive-compact .dashboard-actions{gap:9px;margin-top:0}
body.adaptive-compact .dashboard-actions .dashboard-action{min-height:45px;border-radius:12px}
body.adaptive-compact .panel-header{padding-top:14px;padding-bottom:14px}
body.adaptive-compact .dashboard-status-grid{gap:12px}
body.adaptive-compact .summary-grid{gap:12px}

body.adaptive-legacy{--sidebar:205px}
body.adaptive-legacy .sidebar{width:var(--sidebar)}
body.adaptive-legacy .brand-block{min-height:78px;padding:13px 14px;gap:9px}
body.adaptive-legacy .brand-mark{width:35px;height:41px}
body.adaptive-legacy .brand-name{font-size:1.05rem}
body.adaptive-legacy .brand-block span{font-size:.66rem}
body.adaptive-legacy .nav-list{padding:7px 0;gap:1px}
body.adaptive-legacy .nav-item{min-height:38px;padding:0 14px;gap:10px;font-size:.8rem}
body.adaptive-legacy .nav-item svg{width:1.08rem;height:1.08rem}
body.adaptive-legacy .nav-subitem{min-height:33px;margin-left:12px;padding-left:40px;font-size:.75rem}
body.adaptive-legacy .nav-subitem::before{left:26px}
body.adaptive-legacy .sidebar-note{margin: auto 13px 13px;padding-top:10px;gap:8px}
body.adaptive-legacy .sidebar-note>svg{width:1.7rem;height:1.7rem}
body.adaptive-legacy .topbar{height:58px;padding:0 16px}
body.adaptive-legacy .top-title strong{font-size:1rem}
body.adaptive-legacy .top-title span{font-size:.68rem}
body.adaptive-legacy .device-status{right:15px;gap:11px}
body.adaptive-legacy .status-cluster{gap:7px}
body.adaptive-legacy .status-cluster>svg{width:1.35rem;height:1.35rem}
body.adaptive-legacy .status-cluster strong{font-size:.67rem}
body.adaptive-legacy .status-cluster span{font-size:.63rem}
body.adaptive-legacy .content{padding:14px 16px 18px}
body.adaptive-legacy .page-heading{min-height:60px;margin-bottom:11px;gap:12px}
body.adaptive-legacy .page-heading h1{font-size:1.45rem}
body.adaptive-legacy .page-heading p:not(.eyebrow){font-size:.82rem}
body.adaptive-legacy .dashboard-actions{gap:8px;margin-top:0}
body.adaptive-legacy .dashboard-actions .dashboard-action{min-height:41px;padding:0 13px;font-size:.78rem;border-radius:10px}
body.adaptive-legacy .dashboard-status-grid,body.adaptive-legacy .summary-grid{gap:10px}
body.adaptive-legacy .panel-header{padding:12px 14px}
body.adaptive-legacy .button{min-height:36px;padding-left:13px;padding-right:13px}

body.adaptive-narrow{--sidebar:190px}
body.adaptive-narrow .sidebar{width:var(--sidebar)}
body.adaptive-narrow .brand-block{min-height:72px;padding:11px 12px;gap:8px}
body.adaptive-narrow .brand-mark{width:32px;height:38px}
body.adaptive-narrow .brand-name{font-size:.98rem}
body.adaptive-narrow .brand-block span{font-size:.62rem}
body.adaptive-narrow .nav-list{padding:6px 0}
body.adaptive-narrow .nav-item{min-height:36px;padding:0 12px;gap:9px;font-size:.76rem}
body.adaptive-narrow .nav-subitem{min-height:31px;margin-left:8px;padding-left:35px;font-size:.72rem}
body.adaptive-narrow .nav-subitem::before{left:23px}
body.adaptive-narrow .sidebar-note{display:none}
body.adaptive-narrow .topbar{height:54px;padding:0 12px}
body.adaptive-narrow .top-title span{display:none}
body.adaptive-narrow .device-status{right:11px;gap:8px}
body.adaptive-narrow .status-divider{height:26px}
body.adaptive-narrow .content{padding:11px 12px 15px}
body.adaptive-narrow .page-heading{min-height:54px;margin-bottom:9px;gap:10px}
body.adaptive-narrow .page-heading h1{font-size:1.3rem}
body.adaptive-narrow .page-heading p:not(.eyebrow){font-size:.76rem}
body.adaptive-narrow .dashboard-actions{gap:7px;margin-top:0}
body.adaptive-narrow .dashboard-actions .dashboard-action{min-height:38px;padding:0 11px;font-size:.74rem}
body.adaptive-narrow .dashboard-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
body.adaptive-narrow .summary-grid{gap:9px}
body.adaptive-narrow .panel-header{padding:10px 12px}
body.adaptive-narrow .button{min-height:34px;padding-left:11px;padding-right:11px;font-size:.78rem}

@media(max-height:760px) and (min-width:821px){
  body.adaptive-compact .sidebar-note,body.adaptive-legacy .sidebar-note,body.adaptive-narrow .sidebar-note{display:none}
}
@media(max-width:820px){
  body.adaptive-compact,body.adaptive-legacy,body.adaptive-narrow{--sidebar:260px}
}
@media(max-width:560px){
  .dashboard-auto-fit-box{grid-template-columns:auto auto minmax(0,1fr);padding:10px 11px}
  .dashboard-auto-fit-copy strong{font-size:.74rem}
}

/* V325 - busca e impressão em Contas a receber */
.sales-receivable-header-tools{width:min(520px,100%)}
.sales-receivable-header-tools .inventory-search{min-width:180px}
.sales-receivable-header-tools #refreshSalesReceivables{flex:0 0 auto;white-space:nowrap}
@media(max-width:1360px) and (min-width:1181px){.sales-receivable-header-tools{width:min(430px,100%)}.sales-receivable-header-tools #refreshSalesReceivables{padding-inline:10px}.sales-receivable-header-tools #refreshSalesReceivables svg{display:none}}
@media(max-width:900px){.sales-receivable-header-tools{width:100%;flex-wrap:wrap}.sales-receivable-header-tools .inventory-search{flex:1 1 240px}.sales-receivable-header-tools #refreshSalesReceivables{flex:0 0 auto}}
@media(max-width:520px){.sales-receivable-header-tools .inventory-search{flex-basis:100%;width:100%}.sales-receivable-header-tools #refreshSalesReceivables{flex:1 1 auto;justify-content:center}.sales-receivable-header-tools .inventory-print-trigger{flex:0 0 44px}}

/* V327 - cabeçalho de notificações sem sobreposição em painel estreito/zoom adaptativo */
.notification-panel-head .notification-mark-all{margin-left:auto;max-width:100%}
.notification-head-copy strong,.notification-head-copy span{max-width:100%}
@media(max-width:420px){.notification-head-identity{flex-basis:100%}.notification-mark-all{width:100%;margin-left:0}}

/* V328 - Contas a receber: cabecalho com respiro mesmo quando o painel fica estreito */
.sales-receivables-panel>.panel-header.inventory-list-head{align-items:stretch;flex-direction:column;gap:12px}
.sales-receivables-panel>.panel-header.inventory-list-head>div:first-child{width:100%;min-width:0}
.sales-receivables-panel .sales-receivable-header-tools{width:100%;max-width:none}
.sales-receivables-panel .sales-receivable-header-tools .inventory-search{min-width:180px;flex:1 1 220px}

/* V328 - origem do card Entradas recebidas no Dashboard */
.dashboard-income-source-box{display:grid;gap:12px;padding:14px 15px;border:1px solid #d8e6f3;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff)}
.dashboard-income-source-copy strong{display:block;color:#18334f;font-size:.86rem}.dashboard-income-source-copy p{margin:4px 0 0;color:#647a90;font-size:.74rem;line-height:1.4}
.dashboard-income-source-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:6px;border:1px solid #dbe6f0;border-radius:13px;background:#f4f8fc}
.dashboard-income-source-option{min-height:40px;border:0;border-radius:9px;background:transparent;color:#17324d;font-weight:800;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.dashboard-income-source-option:hover{background:#eaf3ff}.dashboard-income-source-option.selected{background:linear-gradient(180deg,#2588ff,#0b6ae0);color:#fff;box-shadow:0 7px 16px rgba(22,119,255,.2)}
.dashboard-income-source-current{color:#637991;font-size:.72rem}.dashboard-income-source-current strong{color:#17324d}
@media(max-width:430px){.dashboard-income-source-options{grid-template-columns:1fr}.dashboard-income-source-option{min-height:38px}}

/* V328 - Relatórios mensais integrados: Serviços + Vendas */
.page[data-page="relatorios"] .reports-month-toolbar{
  margin-bottom:20px;padding:18px 20px;display:flex;align-items:end;justify-content:space-between;gap:18px;
  border:1px solid #d9e6f2;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f6faff 100%);
}
.page[data-page="relatorios"] .reports-month-toolbar h2{margin:3px 0 5px;color:#17344f;font-size:1.15rem}
.page[data-page="relatorios"] .reports-month-toolbar p:last-child{margin:0;color:#70849a;font-size:.76rem}
.page[data-page="relatorios"] .reports-month-actions{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.page[data-page="relatorios"] .reports-month-field{display:grid;gap:5px;color:#526b83;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.page[data-page="relatorios"] .reports-month-field select{min-width:190px;height:42px;padding:0 11px;border:1px solid #cfdeeb;border-radius:11px;background:#fff;color:#17324c;font-weight:700}
.page[data-page="relatorios"] .reports-sales-heading{margin-top:28px}
.page[data-page="relatorios"] .report-sales-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.page[data-page="relatorios"] .report-sales-card{padding:18px 19px;min-height:128px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#fff,#f8fbff)}
.page[data-page="relatorios"] .report-sales-card>span{color:#647b92;font-size:.72rem;font-weight:800}
.page[data-page="relatorios"] .report-sales-card>strong{margin:6px 0 5px;color:#102f4b;font-size:1.55rem;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.page[data-page="relatorios"] .report-sales-card>small{color:#7c8fa2;font-size:.68rem;line-height:1.35}
.page[data-page="relatorios"] .report-sales-detail-grid{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.7fr);gap:14px}
.page[data-page="relatorios"] .report-sales-detail-card{min-width:0}
.page[data-page="relatorios"] .report-top-product{padding:18px 20px;display:grid;gap:16px}
.page[data-page="relatorios"] .report-top-product-main{display:grid;gap:5px}
.page[data-page="relatorios"] .report-top-product-main span,.page[data-page="relatorios"] .report-top-product-metrics span{color:#6e8297;font-size:.7rem}
.page[data-page="relatorios"] .report-top-product-main strong{color:#132f49;font-size:1.2rem;overflow-wrap:anywhere}
.page[data-page="relatorios"] .report-top-product-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.page[data-page="relatorios"] .report-top-product-metrics>div{padding:12px 13px;border:1px solid #e0e9f2;border-radius:13px;background:#f8fbfe;display:grid;gap:4px}
.page[data-page="relatorios"] .report-top-product-metrics strong{color:#173d5d;font-size:.95rem}
.page[data-page="relatorios"] .report-shipping-list{padding-top:7px}
@media(max-width:1180px){.page[data-page="relatorios"] .report-sales-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page[data-page="relatorios"] .report-sales-detail-grid{grid-template-columns:1fr}}
@media(max-width:760px){.page[data-page="relatorios"] .reports-month-toolbar{align-items:stretch;flex-direction:column}.page[data-page="relatorios"] .reports-month-actions{display:grid;grid-template-columns:1fr}.page[data-page="relatorios"] .reports-month-field select,.page[data-page="relatorios"] .reports-month-actions .button{width:100%;min-width:0}.page[data-page="relatorios"] .report-sales-summary-grid{grid-template-columns:1fr}.page[data-page="relatorios"] .report-top-product-metrics{grid-template-columns:1fr}}


/* V342 - comunicação física Dual UART entre os três ESP32-S3 */
.spi-board-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.spi-board-status {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 16px;
  border: 1px solid var(--border, #dbe3ef);
  border-radius: 16px;
  background: var(--surface, #fff);
}
.spi-board-status > div { display: grid; gap: 3px; }
.spi-board-status small,
.spi-board-status span { color: var(--text-muted, #6b7280); }
.spi-board-status strong { font-size: 1rem; }
.spi-status-dot {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  border-radius: 999px;
  background: #94a3b8;
  box-shadow: 0 0 0 5px rgba(148, 163, 184, .14);
}
.spi-board-status[data-state="online"] .spi-status-dot { background: #16a34a; box-shadow: 0 0 0 5px rgba(22, 163, 74, .13); }
.spi-board-status[data-state="offline"] .spi-status-dot { background: #dc2626; box-shadow: 0 0 0 5px rgba(220, 38, 38, .12); }
.spi-speed-line {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 10px 16px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(59, 130, 246, .07);
}
.spi-speed-line strong { font-size: 1.08rem; }
.spi-speed-line small { color: var(--text-muted, #6b7280); }
.rgb-state-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--border, #dbe3ef);
  border-radius: 16px;
  background: rgba(15, 23, 42, .025);
}
.rgb-state-title { display: grid; gap: 3px; margin-bottom: 13px; }
.rgb-state-title span { color: var(--text-muted, #6b7280); font-size: .82rem; }
.rgb-state-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rgb-state-item { display: flex; align-items: center; gap: 11px; min-height: 64px; padding: 11px 12px; border-radius: 13px; background: var(--surface, #fff); border: 1px solid var(--border, #e5e7eb); }
.rgb-state-item > div { display: grid; gap: 2px; }
.rgb-state-item small { color: var(--text-muted, #6b7280); line-height: 1.35; }
.rgb-state-dot { width: 14px; height: 14px; flex: 0 0 14px; border-radius: 999px; }
.rgb-state-blue { background: #2563eb; box-shadow: 0 0 0 5px rgba(37, 99, 235, .13); }
.rgb-state-green { background: #16a34a; box-shadow: 0 0 0 5px rgba(22, 163, 74, .13); }
.rgb-state-green-blink { background: #16a34a; box-shadow: 0 0 0 5px rgba(22, 163, 74, .13); animation: gtech-rgb-green-blink .88s steps(1,end) infinite; }
.rgb-state-red { background: #dc2626; box-shadow: 0 0 0 5px rgba(220, 38, 38, .13); }
@keyframes gtech-rgb-green-blink { 50% { opacity: .18; } }
.spi-pinout-table {
  display: grid;
  overflow: hidden;
  margin-top: 16px;
  border: 1px solid var(--border, #dbe3ef);
  border-radius: 14px;
}
.spi-pinout-row {
  display: grid;
  grid-template-columns: minmax(145px, .85fr) minmax(90px, .45fr) minmax(220px, 1.4fr);
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-top: 1px solid var(--border, #e5e7eb);
}
.spi-pinout-row:first-child { border-top: 0; }
.spi-pinout-head { background: rgba(15, 23, 42, .045); }
.spi-pinout-row b { font-size: .9rem; }
.spi-wiring-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(245, 158, 11, .09);
}
.spi-wiring-note p { margin: 3px 0 0; color: var(--text-muted, #6b7280); }
.spi-sd-pins { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.spi-sd-pins span { padding: 9px 12px; border-radius: 999px; background: rgba(59, 130, 246, .07); }
@media (max-width: 760px) {
  .spi-board-status-grid { grid-template-columns: 1fr; }
  .spi-speed-line { grid-template-columns: 1fr; gap: 4px; }
  .rgb-state-grid { grid-template-columns: 1fr; }
  .spi-pinout-table { overflow-x: auto; }
  .spi-pinout-row { min-width: 610px; }
}

/* FIX5 - armazenamento independente dos dois microSD */
.dual-storage-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}
.dual-storage-card{min-width:0;padding:16px;border:1px solid #dce7f1;border-radius:16px;background:#fbfdff}
.dual-storage-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.dual-storage-title strong{color:#183751;font-size:.88rem}
.dual-storage-title span{color:var(--muted);font-size:.68rem;line-height:1.35;text-align:right}
@media(max-width:820px){.dual-storage-cards{grid-template-columns:1fr}.dual-storage-title{flex-direction:column}.dual-storage-title span{text-align:left}}

/* FIX6 · fluxo fiscal sob demanda no encerramento da OS */
.fiscal-close-card{border:1px solid var(--border);}
.fiscal-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.fiscal-scope-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.fiscal-choice{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:12px;padding:12px;cursor:pointer;min-width:0;}
.fiscal-choice input{margin-top:3px;flex:0 0 auto;}
.fiscal-choice span{display:flex;flex-direction:column;gap:3px;min-width:0;}
.fiscal-choice small{color:var(--muted);line-height:1.35;}
.fiscal-scope-panel{margin-top:14px;}
.fiscal-documents-list{display:grid;gap:10px;margin-top:10px;}
.fiscal-document-row{border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.fiscal-document-meta{display:flex;flex-direction:column;gap:3px;min-width:0;}
.fiscal-document-actions{display:flex;gap:8px;flex-wrap:wrap;}
@media(max-width:720px){.fiscal-choice-grid,.fiscal-scope-grid{grid-template-columns:1fr}.fiscal-document-row{align-items:stretch}.fiscal-document-actions .button{flex:1 1 auto}}


/* FIX6 · área fiscal sob demanda */
.fiscal-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}.fiscal-status-card{display:grid;gap:6px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.fiscal-status-card span{font-size:.78rem;color:var(--muted)}.fiscal-status-card strong{font-size:1.45rem}.fiscal-workspace-panel,.fiscal-maintenance-panel{margin-top:16px}.fiscal-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.fiscal-env-homologacao{font-weight:700}.fiscal-env-homologacao::after{content:" · SEM VALOR FISCAL"}.pagination-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}@media(max-width:900px){.fiscal-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.fiscal-status-grid{grid-template-columns:1fr}}

/* FIX6 · respiro interno exclusivo da página Fiscal */
.page[data-page="fiscal"] .fiscal-workspace-panel,
.page[data-page="fiscal"] .fiscal-provider-panel,
.page[data-page="fiscal"] .fiscal-maintenance-panel {
  padding: 20px;
}
.page[data-page="fiscal"] .fiscal-provider-panel {
  margin-top: 16px;
}
.page[data-page="fiscal"] .form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 14px;
  column-gap: 14px;
}
.page[data-page="fiscal"] .form-grid > .field,
.page[data-page="fiscal"] .form-grid > .form-actions {
  min-width: 0;
}
.page[data-page="fiscal"] .form-grid > .form-actions {
  margin-top: 2px;
}
@media(max-width:720px) {
  .page[data-page="fiscal"] .fiscal-workspace-panel,
  .page[data-page="fiscal"] .fiscal-provider-panel,
  .page[data-page="fiscal"] .fiscal-maintenance-panel {
    padding: 14px;
  }
  .page[data-page="fiscal"] .form-grid {
    row-gap: 12px;
    column-gap: 12px;
  }
}


/* FIX6 · espaçamento da leitura dos dois cartões microSD */
.page[data-page="config-cartao"] .dual-storage-card{
  padding:20px;
}
.page[data-page="config-cartao"] .dual-storage-card .storage-summary{
  margin:14px 2px 0;
}
@media(max-width:820px){
  .page[data-page="config-cartao"] .dual-storage-card{padding:14px}
  .page[data-page="config-cartao"] .dual-storage-card .storage-summary{margin:12px 0 0}
}

/* FIX6 · tutorial fiscal integrado */
.page[data-page="fiscal"] .fiscal-section-title{align-items:flex-start;}
.page[data-page="fiscal"] .fiscal-section-title>div{min-width:0;flex:1 1 auto;}
.page[data-page="fiscal"] .fiscal-tutorial-button{margin-left:auto;flex:0 0 auto;min-height:38px;gap:7px;}
.page[data-page="fiscal"] .fiscal-tutorial-button svg{width:1rem;height:1rem;}
.fiscal-tutorial-modal{width:min(720px,calc(100vw - 28px));max-height:calc(100dvh - 28px);border:0;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 24px 70px rgba(12,34,55,.28);}
.fiscal-tutorial-head p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45;}
.fiscal-tutorial-body{display:grid;gap:18px;}
.fiscal-tutorial-progress{display:grid;gap:8px;}
.fiscal-tutorial-progress>span{font-size:.74rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.fiscal-tutorial-progress-track{height:7px;border-radius:999px;background:var(--blue-soft);overflow:hidden;}
.fiscal-tutorial-progress-track>span{display:block;height:100%;width:0;border-radius:inherit;background:var(--blue);transition:width .18s ease;}
.fiscal-tutorial-step{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfe);}
.fiscal-tutorial-step-number{flex:0 0 38px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:900;}
.fiscal-tutorial-step>div{min-width:0;}
.fiscal-tutorial-step h3{margin:1px 0 8px;font-size:1rem;color:var(--text);}
.fiscal-tutorial-step p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.6;}
.fiscal-tutorial-step p strong{color:var(--text);}
.fiscal-tutorial-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;}
.fiscal-tutorial-actions .button svg{width:.95rem;height:.95rem;}
@media(max-width:720px){
  .page[data-page="fiscal"] .fiscal-section-title{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;}
  .page[data-page="fiscal"] .fiscal-section-title .fiscal-tutorial-button{grid-column:1/-1;margin:4px 0 0;width:100%;justify-content:center;}
  .fiscal-tutorial-modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:14px;}
  .fiscal-tutorial-step{padding:14px;gap:11px;}
  .fiscal-tutorial-step-number{flex-basis:34px;width:34px;height:34px;border-radius:10px;}
  .fiscal-tutorial-actions{display:grid;grid-template-columns:1fr 1fr;}
  .fiscal-tutorial-actions [data-fiscal-tutorial-close]{grid-column:1/-1;}
  .fiscal-tutorial-actions .button{width:100%;justify-content:center;}
}

.fiscal-empty-action{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px dashed var(--border);border-radius:12px;background:var(--surface);color:var(--muted)}
.fiscal-empty-action>div{min-width:0}.fiscal-empty-action strong{display:block;color:var(--text);font-size:.78rem}.fiscal-empty-action p{margin:4px 0 0;font-size:.67rem;line-height:1.45}.fiscal-empty-action .button{flex:0 0 auto}
@media(max-width:560px){.fiscal-empty-action{align-items:stretch;flex-direction:column}.fiscal-empty-action .button{width:100%}}


/* G-Tech SaaS V1 */
.saas-tenant-chip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 18px;border:1px solid rgba(38,96,137,.18);border-radius:14px;background:rgba(239,247,252,.9)}
.saas-tenant-chip div{display:grid;gap:2px}.saas-tenant-chip small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6d8191}.saas-tenant-chip strong{font-size:15px;color:#16334a}
#tenantResolvedStep[hidden],#tenantResolveForm[hidden]{display:none!important}

/* G-Tech IA V1 */
.gtech-ai-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:44px;height:40px;padding:0 10px;border:1px solid rgba(78,109,255,.2);border-radius:12px;background:linear-gradient(135deg,rgba(80,103,255,.11),rgba(123,71,255,.08));color:var(--ink,#163042);font-weight:800;cursor:pointer;transition:.18s ease}.gtech-ai-button:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(72,82,180,.14)}.gtech-ai-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.gtech-ai-button span{font-size:12px}.gtech-ai-button em{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:20px;background:#d73e53;color:#fff;font:700 10px/18px Arial,sans-serif;font-style:normal;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.gtech-ai-dashboard-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:16px 0 18px;padding:16px 18px;border:1px solid rgba(89,91,220,.14);border-radius:18px;background:linear-gradient(135deg,rgba(245,247,255,.96),rgba(251,247,255,.98));box-shadow:0 10px 28px rgba(70,80,150,.07)}.gtech-ai-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#5269ff,#8e55e9);color:#fff}.gtech-ai-card-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}.gtech-ai-card-copy{min-width:0}.gtech-ai-card-copy small{display:block;margin-bottom:2px;color:#6b6fa2;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.gtech-ai-card-copy strong{display:block;color:#20324a;font-size:16px}.gtech-ai-card-copy p{margin:4px 0 0;color:#667486;font-size:13px;line-height:1.45}.gtech-ai-dashboard-card.has-danger{border-color:rgba(211,57,78,.2);background:linear-gradient(135deg,rgba(255,246,247,.98),rgba(250,247,255,.98))}.gtech-ai-dashboard-card.has-warning:not(.has-danger){border-color:rgba(220,156,32,.22)}
.gtech-ai-settings-card{margin-top:18px}.gtech-ai-provider-note{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:14px 15px;border-radius:14px;background:#f6f8fb;border:1px solid #e6eaf0}.gtech-ai-provider-note svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;color:#536b88}.gtech-ai-provider-note strong{display:block;margin-bottom:3px}.gtech-ai-provider-note p{margin:0;color:#6b7786;font-size:12px;line-height:1.45}
.gtech-ai-dialog{width:min(860px,94vw);max-height:90vh}.gtech-ai-dialog-head{background:linear-gradient(135deg,rgba(244,246,255,.98),rgba(252,248,255,.98))}.gtech-ai-dialog-body{display:flex;flex-direction:column;gap:14px;max-height:72vh;overflow:auto}.gtech-ai-brief{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid #e5e8f2;border-radius:16px;background:#fbfbfe}.gtech-ai-brief small{display:block;color:#777ca8;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.gtech-ai-brief strong{display:block;margin-top:3px;color:#213248;font-size:17px}.gtech-ai-brief p{margin:5px 0 0;color:#667486;font-size:13px;line-height:1.5}.gtech-ai-alert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gtech-ai-alert{padding:11px 12px;border:1px solid #e7ebf0;border-radius:13px;background:#fff}.gtech-ai-alert strong{display:block;color:#27394d;font-size:13px}.gtech-ai-alert span{display:block;margin-top:4px;color:#6f7c89;font-size:11px;line-height:1.4}.gtech-ai-alert.warning{border-left:4px solid #d9a027}.gtech-ai-alert.danger{border-left:4px solid #d13c54}.gtech-ai-alert.info{border-left:4px solid #5369d9}.gtech-ai-alert-empty{grid-column:1/-1;padding:16px;border:1px dashed #d9dfe7;border-radius:14px;text-align:center;color:#71808e;background:#fafbfc}.gtech-ai-chat{min-height:150px;max-height:320px;overflow:auto;padding:13px;border:1px solid #e3e8ee;border-radius:16px;background:#f7f9fb;display:flex;flex-direction:column;gap:9px}.gtech-ai-message{max-width:86%;padding:10px 12px;border-radius:14px;font-size:13px;line-height:1.48;white-space:pre-wrap}.gtech-ai-message.assistant{align-self:flex-start;background:#fff;border:1px solid #e4e9ef;color:#344657}.gtech-ai-message.user{align-self:flex-end;background:#5269db;color:#fff}.gtech-ai-message.error{align-self:flex-start;background:#fff3f5;border:1px solid #f3ccd3;color:#9a3143}.gtech-ai-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.gtech-ai-chat-form textarea{width:100%;resize:vertical;min-height:56px;max-height:130px;border:1px solid #d9e0e7;border-radius:13px;padding:11px 12px;font:inherit;color:inherit;background:#fff}.gtech-ai-chat-form textarea:focus{outline:none;border-color:#7988e5;box-shadow:0 0 0 3px rgba(82,105,219,.1)}
@media(max-width:720px){.gtech-ai-dashboard-card{grid-template-columns:auto minmax(0,1fr)}.gtech-ai-dashboard-card>.button{grid-column:1/-1;width:100%}.gtech-ai-alert-list{grid-template-columns:1fr}.gtech-ai-chat-form{grid-template-columns:1fr}.gtech-ai-chat-form .button{width:100%}.gtech-ai-button span{display:none}.gtech-ai-button{min-width:40px;padding:0 8px}}

/* SaaS V1.2 - aviso de limite de plano e opções de upgrade */
.plan-limit-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px}.plan-limit-backdrop{position:absolute;inset:0;background:rgba(8,20,40,.72);backdrop-filter:blur(3px)}.plan-limit-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:22px;padding:26px;box-shadow:0 28px 90px rgba(3,15,35,.38);color:#14203a}.plan-limit-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;border-radius:10px;background:#eef3f9;color:#1b3154;font-size:25px;cursor:pointer}.plan-limit-eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;color:#2463bd;margin-bottom:6px}.plan-limit-card h2{margin:0 46px 8px 0;font-size:25px}.plan-limit-card>div>p{color:#5d6b80;margin:0 0 10px}.plan-limit-current{background:#f4f7fb;border-radius:11px;padding:10px 12px;font-size:13px;margin-bottom:14px}.plan-limit-options{display:grid;gap:10px}.plan-limit-option{border:1px solid #dde5ef;border-radius:14px;padding:15px;display:grid;gap:8px}.plan-limit-option>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.plan-limit-option>div:first-child span{font-weight:900;color:#1764c0}.plan-limit-option p{font-size:13px;margin:0;color:#59677b}.plan-limit-option small{color:#68768a;line-height:1.5}.plan-limit-buy{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;background:#1670dc;color:#fff;border:0;border-radius:10px;padding:10px 14px;font:inherit;font-weight:800;width:max-content;cursor:pointer}.plan-limit-buy:disabled{opacity:.65;cursor:wait}.plan-limit-contact{font-size:12px;font-weight:700;color:#6b778a}.plan-limit-empty{padding:16px;border-radius:12px;background:#fff6e6;color:#78531a}@media(max-width:640px){.plan-limit-card{padding:20px}.plan-limit-option>div:first-child{align-items:flex-start;flex-direction:column}.plan-limit-buy{width:100%}}


/* ========================================================================
   G-TECH V2 MODERN UI
   Visual unificado a partir do redesign no Figma. Mantém a estrutura e a
   lógica existentes; altera hierarquia, espaçamento, legibilidade e resposta.
   ======================================================================== */
:root {
  --v2-bg: #f6f8fc;
  --v2-surface: #ffffff;
  --v2-surface-soft: #f8fafc;
  --v2-navy: #081f36;
  --v2-navy-2: #0b2a49;
  --v2-blue: #0d63ed;
  --v2-blue-soft: #edf5ff;
  --v2-green: #149b61;
  --v2-amber: #e89313;
  --v2-red: #d9364b;
  --v2-text: #0d1726;
  --v2-muted: #637083;
  --v2-border: #dfe5ee;
  --v2-radius-sm: 10px;
  --v2-radius: 14px;
  --v2-radius-lg: 18px;
  --v2-shadow: 0 8px 28px rgba(24, 47, 73, .07);
  --sidebar: 248px;
  --canvas: var(--v2-bg);
  --surface: var(--v2-surface);
  --ink: var(--v2-text);
  --muted: var(--v2-muted);
  --blue: var(--v2-blue);
  --blue-dark: #0954c9;
  --blue-soft: var(--v2-blue-soft);
  --line: var(--v2-border);
  --line-soft: #ebeff5;
  --radius: var(--v2-radius);
  --shadow-sm: 0 1px 2px rgba(20,40,64,.04), 0 7px 24px rgba(20,40,64,.055);
}
html, body { background: var(--v2-bg); }
body { color: var(--v2-text); }
.app-shell { background: var(--v2-bg); }
.sidebar {
  background: linear-gradient(180deg, var(--v2-navy-2), var(--v2-navy));
  border-right: 0;
  box-shadow: 12px 0 34px rgba(3, 22, 40, .12);
}
.brand-block { min-height: 96px; padding: 20px 18px; gap: 12px; }
.brand-mark { width: 42px; height: 46px; border-radius: 12px; transform: none; border-color: rgba(139,203,255,.8); }
.brand-mark svg { width: 24px; height: 29px; }
.brand-name { font-size: 1.08rem; line-height: 1.05; letter-spacing: -.02em; }
.brand-block span { font-size: .69rem; }
.nav-list { padding: 12px 10px; gap: 3px; }
.nav-item {
  min-height: 43px;
  padding: 0 14px;
  gap: 12px;
  border-radius: 10px;
  font-size: .86rem;
  font-weight: 600;
  transition: background .14s ease, color .14s ease, transform .14s ease;
}
.nav-item::before { display: none; }
.nav-item:hover { background: rgba(255,255,255,.07); transform: translateX(1px); }
.nav-item.active { background: rgba(35,130,255,.22); box-shadow: inset 0 0 0 1px rgba(100,181,255,.12); }
.nav-item svg { width: 1.12rem; height: 1.12rem; }
.nav-subitem { min-height: 37px; border-radius: 9px; font-size: .81rem; }
.sidebar-note { margin: auto 16px 16px; padding-top: 13px; }
.sidebar-note strong { font-size: .76rem; }
.sidebar-note span { font-size: .66rem; }
.main-area { background: var(--v2-bg); }
.topbar {
  height: 68px;
  padding: 0 24px;
  background: rgba(255,255,255,.96) !important;
  color: var(--v2-text);
  border-bottom: 1px solid var(--v2-border);
  box-shadow: 0 3px 16px rgba(30,55,80,.04);
  backdrop-filter: blur(12px);
}
.top-title strong { color: var(--v2-text); font-size: 1rem; }
.top-title span, .status-cluster span, .session-user span { color: var(--v2-muted) !important; }
.status-cluster strong, .session-user strong { color: var(--v2-text); }
.status-divider { background: var(--v2-border); }
.clock-cluster > svg, .status-cluster > svg { color: var(--v2-blue); }
.session-logout { border-color: var(--v2-border) !important; color: var(--v2-blue) !important; background: var(--v2-blue-soft) !important; }
.content { padding: 26px 30px 42px; }
.page { max-width: 1460px; animation: v2-page-in .13s ease-out; }
@keyframes v2-page-in { from { opacity: .55; transform: translateY(2px); } to { opacity: 1; transform: none; } }
.page-heading { min-height: 76px; margin-bottom: 18px; }
.page-heading h1 { font-size: clamp(1.55rem, 2vw, 1.95rem); font-weight: 800; color: var(--v2-text); }
.page-heading p:not(.eyebrow) { color: var(--v2-muted); font-size: .84rem; }
.eyebrow { color: var(--v2-blue) !important; font-weight: 800 !important; letter-spacing: .05em; }
.panel, .form-card, .finance-toolbar-card, .settings-nav-card, .about-card {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius-lg);
  box-shadow: var(--v2-shadow);
  background: var(--v2-surface);
}
.panel-header { min-height: 66px; padding: 15px 18px; }
.panel-header h2, .section-title h2 { color: var(--v2-text); }
.button {
  min-height: 40px;
  border-radius: var(--v2-radius-sm);
  font-size: .82rem;
  font-weight: 750;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button.primary { background: linear-gradient(180deg,#1674ff,#0d63ed); border-color: #0d63ed; box-shadow: 0 7px 18px rgba(13,99,237,.18); }
.button.success { background: linear-gradient(180deg,#18aa69,#149b61); border-color: #149b61; }
.button.subtle, .button.ghost { background: #fff; border-color: var(--v2-border); color: #31516f; box-shadow: none; }
.icon-button { border-radius: 10px; }
.field input, .field select, .field textarea,
.inventory-search input, .picker-input input, .sales-search input,
input:not([type="checkbox"]):not([type="radio"]), textarea, select {
  border-radius: 10px;
  border-color: var(--v2-border);
  background: #fff;
  box-shadow: inset 0 1px 1px rgba(20,40,64,.02);
}
.field input:focus, .field select:focus, .field textarea:focus,
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: rgba(13,99,237,.6);
  box-shadow: 0 0 0 3px rgba(13,99,237,.10);
}
.status-badge { border-radius: 999px; font-weight: 750; }
.dashboard-overview-strip, .inventory-summary-grid, .finance-summary-grid, .report-sales-summary-grid {
  gap: 14px;
}
.dashboard-overview-card, .inventory-summary-card, .finance-summary-card,
.client-overview-card, .report-sales-card, .sales-summary-card {
  border-radius: 16px !important;
  border-color: var(--v2-border) !important;
  box-shadow: 0 5px 20px rgba(20,40,64,.045) !important;
}
.order-row, .client-record, .sales-record, .inventory-record, .supplier-card {
  border-color: var(--v2-border) !important;
  border-radius: 12px !important;
  background: #fff;
}
.order-row:hover, .client-record:hover, .sales-record:hover, .inventory-record:hover, .supplier-card:hover {
  border-color: #c8d8ea !important;
  box-shadow: 0 5px 18px rgba(20,40,64,.05);
}
.orders-pager, .inventory-pager { padding-top: 12px; }
.finance-period-banner { border-radius: 12px; }
.settings-hub-grid { gap: 16px; }
.settings-nav-card { transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease; }
.settings-nav-card:hover { transform: translateY(-2px); border-color: #c9d9ec; box-shadow: 0 12px 30px rgba(20,40,64,.08); }
.modal { border-radius: 18px !important; border: 1px solid var(--v2-border) !important; box-shadow: 0 26px 80px rgba(5,22,39,.24) !important; }
.modal::backdrop { background: rgba(6,19,32,.42); backdrop-filter: blur(3px); }
.toast { border-radius: 12px !important; }
/* Bloqueio defensivo: V2 nunca exibe overlays de carregamento de página. */
.finance-loading-overlay, .clients-loading-overlay { display: none !important; }
@media (max-width: 980px) {
  :root { --sidebar: 260px; }
  .content { padding: 18px 14px 32px; }
  .topbar { height: 64px; padding: 0 14px; }
  .page-heading { min-height: auto; gap: 14px; }
  .panel, .form-card, .finance-toolbar-card, .settings-nav-card { border-radius: 14px; }
}
@media (max-width: 720px) {
  .content { padding: 14px 10px 28px; }
  .page-heading h1 { font-size: 1.42rem; }
  .button { min-height: 42px; }
  .dashboard-overview-strip, .inventory-summary-grid, .finance-summary-grid, .report-sales-summary-grid { gap: 10px; }
}

/* G-Tech V3.1 — Meu Plano e pagamentos ----------------------------------- */
.plan-account-page { padding-bottom: 28px; }
.plan-account-status { margin: 0 0 16px; padding: 12px 14px; border-radius: 12px; border: 1px solid #c9def6; background: #eef6ff; color: #174e86; font-size: .82rem; font-weight: 700; }
.plan-current-card { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(340px,.9fr); gap: 18px; align-items: center; margin-bottom: 16px; padding: 20px; border: 1px solid var(--line-soft); border-radius: 18px; background: linear-gradient(135deg,#ffffff 0%,#f6fbff 100%); box-shadow: var(--shadow-sm); }
.plan-current-main { display: flex; align-items: center; gap: 16px; min-width: 0; }
.plan-current-icon { width: 50px; height: 50px; border-radius: 15px; display: grid; place-items: center; flex: 0 0 auto; background: #e8f2ff; color: #0d63ed; }
.plan-current-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.plan-current-main small { display: block; margin-bottom: 5px; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.plan-current-main h2 { margin: 0; font-size: 1.45rem; letter-spacing: -.03em; }
.plan-current-main p { margin: 6px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.45; }
.plan-current-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.plan-current-meta > div { min-width: 0; padding: 13px 14px; border: 1px solid var(--line-soft); border-radius: 13px; background: rgba(255,255,255,.9); }
.plan-current-meta span { display: block; color: var(--muted); font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.plan-current-meta strong { display: block; margin-top: 5px; font-size: .86rem; overflow-wrap: anywhere; }
.plan-usage-grid { display: grid; grid-template-columns: repeat(5,minmax(130px,1fr)); gap: 12px; margin-bottom: 18px; }
.plan-usage-card { padding: 14px 15px; border: 1px solid var(--line-soft); border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.plan-usage-card small { display: block; color: var(--muted); font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.plan-usage-card strong { display: block; margin-top: 7px; font-size: 1.05rem; }
.plan-usage-card span { display: block; margin-top: 4px; color: var(--muted); font-size: .7rem; }
.plan-usage-track { height: 6px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: #edf2f7; }
.plan-usage-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#1677ff,#25b7ff); }
.plan-catalog-panel,.plan-payments-panel { margin-bottom: 18px; }
.plan-payment-provider { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 999px; background: #eef8f2; color: #16734a; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.plan-payment-provider.off { background: #fff4e8; color: #a75a00; }
.plan-payment-provider svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.plan-client-catalog { display: grid; grid-template-columns: repeat(3,minmax(220px,1fr)); gap: 14px; padding: 18px; }
.plan-client-option { position: relative; display: flex; flex-direction: column; min-height: 285px; padding: 18px; border: 1px solid var(--line-soft); border-radius: 16px; background: #fff; }
.plan-client-option.current { border-color: #91bdf8; box-shadow: 0 0 0 3px rgba(22,119,255,.07); }
.plan-client-option-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.plan-client-option-head small { color: #0d63ed; font-size: .66rem; font-weight: 800; letter-spacing: .08em; }
.plan-client-option-head h3 { margin: 4px 0 0; font-size: 1.1rem; }
.plan-current-pill { padding: 5px 8px; border-radius: 999px; background: #eaf7ef; color: #16734a; font-size: .62rem; font-weight: 800; }
.plan-client-option p { min-height: 38px; margin: 11px 0 12px; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.plan-client-limits { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.plan-client-limits span { padding: 5px 7px; border-radius: 8px; background: #f4f7fb; color: #536273; font-size: .66rem; font-weight: 700; }
.plan-cycle-box { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line-soft); }
.plan-cycle-box label { display: block; color: var(--muted); font-size: .68rem; font-weight: 700; }
.plan-cycle-box select { width: 100%; height: 40px; margin-top: 6px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--text); font: inherit; font-size: .78rem; font-weight: 700; }
.plan-cycle-price { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 12px 0; }
.plan-cycle-price strong { font-size: 1.25rem; }
.plan-cycle-price span { color: var(--muted); font-size: .68rem; }
.plan-client-buy { width: 100%; min-height: 42px; }
.plan-account-empty { grid-column: 1/-1; padding: 30px 20px; color: var(--muted); text-align: center; }
.plan-payment-history { padding: 0 18px 18px; }
.plan-payment-row { display: grid; grid-template-columns: minmax(160px,1.4fr) 100px 110px 135px 120px; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line-soft); font-size: .76rem; }
.plan-payment-row:last-child { border-bottom: 0; }
.plan-payment-row strong { display: block; }
.plan-payment-row small { display: block; margin-top: 3px; color: var(--muted); }
.plan-pay-status { justify-self: start; padding: 5px 8px; border-radius: 999px; font-size: .64rem; font-weight: 800; background: #eef3f8; color: #536273; }
.plan-pay-status.approved { background: #e8f8ef; color: #16734a; }
.plan-pay-status.pending,.plan-pay-status.in_process,.plan-pay-status.created { background: #fff4df; color: #9a5d00; }
.plan-pay-status.error,.plan-pay-status.failure,.plan-pay-status.rejected,.plan-pay-status.cancelled { background: #fff0f2; color: #b42338; }

@media (max-width: 1100px) {
  .plan-current-card { grid-template-columns: 1fr; }
  .plan-usage-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .plan-client-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plan-payment-row { grid-template-columns: 1fr 90px 100px; }
  .plan-payment-row .plan-pay-date,.plan-payment-row .plan-pay-id { display:none; }
}
@media (max-width: 700px) {
  .plan-current-card { padding: 15px; border-radius: 15px; }
  .plan-current-meta { grid-template-columns: 1fr; }
  .plan-usage-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .plan-client-catalog { grid-template-columns: 1fr; padding: 12px; }
  .plan-client-option { min-height: 0; }
  .plan-payment-history { padding: 0 12px 12px; }
  .plan-payment-row { grid-template-columns: 1fr auto; gap: 8px; padding: 12px 0; }
  .plan-payment-row .plan-pay-cycle,.plan-payment-row .plan-pay-date,.plan-payment-row .plan-pay-id { display:none; }
}

/* G-Tech Inteligência operacional */
.gtech-ai-action-card{align-self:flex-start;width:min(100%,620px);padding:13px 14px;border:1px solid #cfe0ff;border-radius:15px;background:linear-gradient(180deg,#f8fbff,#f2f7ff);box-shadow:0 6px 18px rgba(41,86,145,.06)}
.gtech-ai-action-card strong{display:block;color:#173a68;font-size:13px}.gtech-ai-action-card p{margin:6px 0 11px;color:#53657b;font-size:12px;line-height:1.45}.gtech-ai-action-buttons{display:flex;justify-content:flex-end;gap:8px}.gtech-ai-action-card.executed{border-color:#bfe8d0;background:#f4fbf7}.gtech-ai-action-card.cancelled{opacity:.72}.gtech-ai-message.info{align-self:flex-start;background:#f4f7fb;border:1px solid #dce5ef;color:#53657b}
@media(max-width:720px){.gtech-ai-action-buttons{display:grid;grid-template-columns:1fr 1fr}.gtech-ai-action-buttons .button{width:100%}}


/* V3.2.1 - Ajuda visual da G-Tech Inteligência */
.gtech-ai-help-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(78,109,255,.18);border-radius:12px;background:#fff;color:#536b88;cursor:pointer;transition:.18s ease}.gtech-ai-help-button:hover{transform:translateY(-1px);color:#5269db;border-color:rgba(82,105,219,.35);box-shadow:0 8px 22px rgba(72,82,180,.12)}.gtech-ai-help-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.gtech-ai-help-dialog{width:min(900px,95vw);max-height:90vh}.gtech-ai-help-head{background:linear-gradient(135deg,#f4f7ff,#fbf8ff)}.gtech-ai-help-body{max-height:72vh;overflow:auto;display:flex;flex-direction:column;gap:14px}.gtech-ai-help-intro{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #e1e7f4;border-radius:15px;background:linear-gradient(135deg,#f6f9ff,#fbf8ff)}.gtech-ai-help-intro>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:linear-gradient(135deg,#5269ff,#8e55e9);color:#fff}.gtech-ai-help-intro svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.gtech-ai-help-intro strong{display:block;color:#20324a}.gtech-ai-help-intro p{margin:4px 0 0;color:#667486;font-size:12px;line-height:1.45}
.gtech-ai-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gtech-ai-help-card{padding:15px 16px;border:1px solid #e3e8ef;border-radius:15px;background:#fff;min-width:0}.gtech-ai-help-card-title{display:flex;align-items:center;gap:9px;margin-bottom:11px;color:#21364f}.gtech-ai-help-card-title svg{width:19px;height:19px;fill:none;stroke:#5269db;stroke-width:1.8}.gtech-ai-help-card-title strong{font-size:14px}.gtech-ai-help-card ul{margin:0;padding-left:19px;color:#53657a;font-size:12px;line-height:1.58}.gtech-ai-help-card li+li{margin-top:3px}.gtech-ai-help-confirm,.gtech-ai-help-denied{margin:12px 0 0;padding:10px 11px;border-radius:11px;font-size:11px;line-height:1.45}.gtech-ai-help-confirm{background:#f2fbf6;border:1px solid #d4eedf;color:#387254}.gtech-ai-help-denied{background:#fff7f0;border:1px solid #f0dcc9;color:#7f5b3c}.gtech-ai-help-card.examples{grid-column:1/-1}.gtech-ai-example-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gtech-ai-example-list button{width:100%;padding:10px 11px;border:1px solid #dce4ef;border-radius:11px;background:#f8fafc;color:#344b64;text-align:left;font:600 11px/1.35 inherit;cursor:pointer;transition:.16s ease}.gtech-ai-example-list button:hover{border-color:#9db4ec;background:#f2f6ff;color:#3656ad}.gtech-ai-help-card.examples small{display:block;margin-top:10px;color:#788596;font-size:10px}
@media(max-width:720px){.gtech-ai-help-button{width:40px;height:40px}.gtech-ai-help-grid{grid-template-columns:1fr}.gtech-ai-help-card.examples{grid-column:auto}.gtech-ai-example-list{grid-template-columns:1fr}.gtech-ai-help-dialog{width:96vw}.gtech-ai-help-body{max-height:74vh}}
