@font-face {
  font-family: Inter;
  src: url('/assets/fonts/inter-400-800.woff2') format('woff2');
  font-weight: 400 800;
  font-display: swap;
}
:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #182536;
  background: #f4f7fb;
  --muted: #536379;
  --line: #dce4ef;
  --blue: #1056a6;
  --blue-dark: #073b79;
  --blue-light: #e9f2ff;
  --shadow: 0 12px 40px #1835570c;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
a { color: var(--blue); }
:focus-visible { outline: 3px solid #3a8cec; outline-offset: 3px; }
h1, h2, p { margin: 0; }
h1 { font-size: clamp(1.6rem, 5vw, 2.1rem); line-height: 1.18; letter-spacing: -.035em; }
h2 { font-size: 1.08rem; margin-bottom: 1rem; }
.muted { color: var(--muted); margin-top: .55rem; line-height: 1.5; }
.eyebrow { color: var(--blue); font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; margin-bottom: .5rem; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); min-width: 0; }
.auth-layout { min-height: 100vh; min-height: 100svh; display: grid; place-items: center; padding: 1.25rem; }
.auth { width: min(100%, 430px); padding: clamp(1.25rem, 5vw, 2rem); }
.auth h1, .auth > .muted { text-align: center; }
.auth .stack { margin-top: 1.4rem; }
.brand-mark { display: inline-grid; place-items: center; width: 2.15rem; height: 2.15rem; background: var(--blue); color: #fff; border-radius: 9px; font-weight: 750; font-size: .8rem; flex: none; }
.auth-mark { display: grid; width: 3rem; height: 3rem; margin: 0 auto 1rem; }
.topbar { background: #fff; border-bottom: 1px solid var(--line); }
.top-inner { max-width: 1180px; margin: 0 auto; padding: .75rem 1.25rem; display: flex; align-items: center; gap: .7rem 1.25rem; flex-wrap: wrap; }
.brand { color: #182536; display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; font-weight: 750; white-space: nowrap; }
.menu, .account, .actions { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.menu a, .account > a { padding: .55rem .65rem; border-radius: 8px; color: #35475f; text-decoration: none; font-size: .875rem; }
.menu a:hover, .account > a:hover, .menu a[aria-current] { background: var(--blue-light); color: var(--blue-dark); }
.account { margin-left: auto; }
.container { max-width: 1180px; margin: 0 auto; padding: 1.65rem 1.25rem 3rem; }
.page-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.metrics, .admin-grid, .form-grid { display: grid; gap: 1rem; }
.metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 1.25rem; }
.metric { padding: 1.1rem 1.25rem; display: grid; gap: .6rem; color: var(--muted); text-decoration: none; }
.metric:hover { border-color: #9dbff0; }
.metric strong { color: #182536; font-size: 2rem; }
.admin-grid, .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.list-panel, .form-panel { padding: clamp(.9rem, 4vw, 1.4rem); }
.list-panel + .list-panel, .admin-grid + .list-panel { margin-top: 1rem; }
.admin-grid > .list-panel { margin-top: 0; }
.form-panel { max-width: 740px; }
.form-panel > h1 { margin-bottom: 1rem; }
.stack { display: grid; gap: 1rem; }
.filters { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.filters label:first-of-type { flex: 1 1 15rem; }
label { display: grid; gap: .35rem; font-weight: 650; font-size: .88rem; min-width: 0; }
input, select, textarea, button { font: inherit; }
input:not([type=hidden]), select, textarea { width: 100%; min-width: 0; padding: .6rem .7rem; border: 1px solid #b9c7d9; border-radius: 7px; background: #fff; color: #182536; font-weight: 400; }
textarea { resize: vertical; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 2.5rem; border: 1px solid transparent; border-radius: 7px; padding: .45rem .85rem; text-decoration: none; cursor: pointer; font-size: .88rem; font-weight: 650; text-align: center; }
.button.primary { color: #fff; background: var(--blue); }
.button.primary:hover { background: var(--blue-dark); }
.button.outline { color: var(--blue-dark); border-color: #c4d3e6; background: #fff; }
.button.outline:hover, .button.selected { background: var(--blue-light); color: var(--blue-dark); }
.button.danger { color: #8d1f28; border-color: #efc2c6; background: #fff; }
.button.danger:hover { background: #fff0f1; }
.button.small { padding: .35rem .6rem; min-height: 2.1rem; }
.feedback { padding: .7rem .9rem; border: 1px solid; border-radius: 8px; margin: .9rem 0; }
.feedback.success { color: #165134; background: #e9f8ee; border-color: #b6dfc5; }
.feedback.error { color: #811b26; background: #fff1f2; border-color: #f4bfc4; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .9rem; }
th, td { text-align: left; padding: .65rem .55rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
thead th { background: #f4f7fb; color: var(--muted); font-size: .8rem; white-space: nowrap; }
tbody tr:last-child > * { border-bottom: 0; }
.row-actions { white-space: nowrap; }
.row-actions form { display: inline-block; margin-left: .25rem; }
.badge { color: #2d475f; background: #eaf0f7; border-radius: 20px; font-size: .76rem; font-weight: 700; padding: .22rem .55rem; white-space: nowrap; }
.badge.em_andamento { background: var(--blue-light); color: var(--blue-dark); }
.badge.aguardando { background: #fff4d9; color: #75510b; }
.badge.concluido { background: #e6f6ed; color: #195738; }
.empty { color: var(--muted); padding: .7rem 0; }
.pagination { margin-top: 1rem; color: var(--muted); font-size: .85rem; }
@media (max-width: 690px) {
  .top-inner { gap: .5rem; }
  .menu { order: 2; width: 100%; }
  .account { gap: .15rem; }
  .container { padding: 1.2rem .9rem 2rem; }
  .metrics, .admin-grid, .form-grid { grid-template-columns: 1fr; }
  .metrics { gap: .6rem; }
  .metric { grid-template-columns: 1fr auto; align-items: center; }
  .table-wrap table { min-width: 520px; }
}
.panel-brand { display: block; width: 74px; height: auto; border-radius: 6px; }
.login-brand { display: block; width: 80px; height: 80px; object-fit: cover; margin: 0 auto 1rem; border-radius: 50%; }
.workspace-actions { display: flex; align-items: start; flex-wrap: wrap; gap: .65rem; }
.rename-workspace summary { color: var(--blue); cursor: pointer; padding-block: .32rem; }
.rename-workspace form { margin-top: .5rem; }
.office-layout { display: grid; grid-template-columns: 256px minmax(0, 1fr); background: oklch(0.985 0.003 255); font-family: Inter, system-ui, sans-serif; }
.office-sidebar { position: sticky; top: 0; height: 100vh; height: 100dvh; display: flex; flex-direction: column; gap: 1rem; padding: 1rem .75rem; border-right: 1px solid var(--line); background: oklch(0.965 0.006 255); overflow: auto; }
.office-brand { display: flex; align-items: center; gap: .7rem; padding: .25rem .5rem; color: inherit; text-decoration: none; }
.office-brand img { flex: none; border-radius: 50%; }
.office-brand small { display: block; margin-top: .16rem; color: var(--muted); }
.office-menu { display: grid; gap: .2rem; }
.office-menu a { display: flex; align-items: center; gap: .65rem; padding: .65rem .55rem; border-radius: 7px; color: #35475f; font-size: .875rem; font-weight: 550; text-decoration: none; }
.office-menu svg { flex: none; }
.office-menu a:hover, .office-menu a[aria-current] { color: var(--blue-dark); background: var(--blue-light); }
.office-more { min-width: 0; }
.office-more summary { padding: .65rem .55rem; cursor: pointer; color: #35475f; font-size: .875rem; font-weight: 600; }
.office-more a { padding-inline-start: 1.1rem; }
.office-account { display: grid; gap: .6rem; margin-top: auto; padding: .75rem .5rem 0; border-top: 1px solid var(--line); font-size: .875rem; overflow-wrap: anywhere; }
.office-main { min-width: 0; padding: 24px; }
.extension-steps { display: grid; gap: .5rem; padding-inline-start: 1.4rem; }
.form-panel + .list-panel { margin-top: 1rem; }
.client-portal { width: min(100%, 850px); align-self: start; padding-inline: 0; }
.portal-entry { border-top: 1px solid var(--line); padding: .85rem 0; overflow-wrap: anywhere; }
.portal-entry > .badge { display: inline-block; margin-inline-start: .35rem; }
.record-details { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap:.75rem; margin-block:1.25rem; }
.record-details div { padding:.65rem; border:1px solid var(--line); border-radius:8px; }
.record-details dt { color:var(--muted); font-size:.8rem; }
.record-details dd { margin:0; overflow-wrap:anywhere; }
.document-checklist { display:grid; gap:.5rem; list-style:none; padding:0; }
.document-checklist label { display:flex; align-items:start; gap:.55rem; }
.document-checklist input { width:auto; }
.message-body { white-space:pre-wrap; overflow-wrap:anywhere; }
#mensagens form + form { margin-top:.75rem; }
[data-copy-invite-button], [data-copy-invite] { margin-top: .35rem; }
.office-main .metrics { grid-template-columns: repeat(auto-fit, minmax(min(100%, 155px), 1fr)); }
.office-main .metric strong { font-size: clamp(1rem, 2vw, 1.5rem); overflow-wrap: anywhere; }
.period-filter label:first-of-type { flex: 0 1 auto; }
.quote-items { margin: 0; padding: .8rem; border: 1px solid var(--line); border-radius: 8px; min-width: 0; }
.quote-items legend { font-weight: 700; }
.quote-items > button { margin-top: .6rem; }
.quote-item { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; align-items: end; gap: .55rem; }
.button:disabled { cursor: default; opacity: .55; }
.print-document { max-width: 760px; padding: 2rem; }
.print-document table { margin-top: 1.1rem; }
.document-body { margin-top: 1rem; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
@media (max-width: 800px) {
  .office-layout { display: block; }
  .office-sidebar { position: static; height: auto; gap: .6rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .office-menu { display: flex; flex-wrap: wrap; }
  .office-account { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .office-main { padding: 1.2rem .9rem 2rem; }
}
@media (max-width: 520px) {
  .quote-item { grid-template-columns: 1fr 1fr; }
  .quote-item label:first-child { grid-column: 1 / -1; }
  .print-document { padding: 1.15rem; }
}
@media print {
  .office-layout { display: block; background: white; }
  .office-sidebar, .no-print { display: none; }
  .office-main, .print-document { max-width: none; padding: 0; }
  .print-document { border: 0; box-shadow: none; }
}
.form-panel [hidden] {
  display: none;
}


/* ===== Painel do escritório: visual do Coldre original ===== */
.office-layout {
  --c-bg: oklch(0.985 0.003 255);
  --c-side: oklch(0.965 0.006 255);
  --c-line: oklch(0.9 0.01 255);
  --c-text: oklch(0.22 0.03 255);
  --c-muted: oklch(0.5 0.03 255);
  --c-primary: oklch(0.48 0.16 255);
  --c-primary-dark: oklch(0.42 0.16 255);
  --c-primary-soft: oklch(0.95 0.03 255);
  --c-danger: oklch(0.58 0.22 25);
  --c-success: oklch(0.55 0.15 150);
  --c-warn: oklch(0.7 0.15 70);
  --muted: var(--c-muted); --line: var(--c-line); --blue: var(--c-primary); --blue-dark: var(--c-primary-dark); --blue-light: var(--c-primary-soft);
  --shadow: 0 1px 2px oklch(0.22 0.03 255 / .05);
  color: var(--c-text); background: var(--c-bg); font-size: 14px;
}
.office-layout h1 { font-size: 20px; font-weight: 700; letter-spacing: -.01em; line-height: 1.4; }
.office-layout h2 { font-size: 16px; font-weight: 600; }
.office-layout .muted { font-size: 14px; margin-top: .2rem; }
.office-sidebar { padding: 0; gap: 0; background: var(--c-side); border-right: 1px solid var(--c-line); }
.office-brand { height: 64px; padding: 0 1rem; gap: .6rem; border-bottom: 1px solid var(--c-line); font-size: 15px; }
.office-brand img { border-radius: 6px; }
.office-menu { gap: 2px; padding: .75rem .5rem; }
.office-menu a, .office-more summary { display: flex; align-items: center; gap: .7rem; padding: .5rem .75rem; border-radius: 8px; color: oklch(0.3 0.03 255 / .8); font-size: 14px; font-weight: 500; }
.office-menu a:hover, .office-more summary:hover { background: oklch(0.92 0.01 255); color: var(--c-text); }
.office-menu a[aria-current] { background: var(--c-primary); color: #fff; }
.office-more summary { list-style: none; cursor: pointer; }
.office-more summary::-webkit-details-marker { display: none; }
.office-more[open] summary svg { transform: rotate(90deg); }
.office-more a { padding-inline-start: 2.6rem; font-size: 13.5px; }
.nav-count { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--c-danger); color: #fff; font-size: 11px; font-weight: 700; }
.office-support { margin-top: auto; border-top: 1px solid var(--c-line); }
.office-shell { min-width: 0; display: flex; flex-direction: column; min-height: 100vh; }
.office-topbar { position: sticky; top: 0; z-index: 5; height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 16px; background: #fff; border-bottom: 1px solid var(--c-line); }
.topbar-left, .topbar-right { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.topbar-right form { margin: 0; }
.workspace-pill { display: inline-flex; align-items: center; gap: .5rem; max-width: 280px; padding: .35rem .65rem; border: 1px solid var(--c-line); border-radius: 8px; background: var(--c-bg); font-size: 13px; font-weight: 600; }
.workspace-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.status-dot { flex: none; padding: .05rem .45rem; border-radius: 999px; background: oklch(0.95 0.05 150); color: oklch(0.4 0.12 150); font-size: 11px; font-weight: 600; }
.topbar-profile { display: inline-flex; align-items: center; gap: .55rem; padding: .25rem .5rem; border-radius: 8px; color: inherit; text-decoration: none; }
.topbar-profile:hover { background: var(--c-bg); }
.avatar { flex: none; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--c-primary-soft); color: var(--c-primary); font-size: 12px; font-weight: 700; }
.profile-text { display: grid; line-height: 1.2; max-width: 160px; }
.profile-text strong { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-text small { color: var(--c-muted); font-size: 11px; }
.office-main { padding: 24px; }
.office-layout .page-head { margin-bottom: 1.25rem; }
.office-layout .panel { border-radius: 12px; border-color: var(--c-line); box-shadow: var(--shadow); }
.office-layout .button { min-height: 36px; gap: .4rem; padding: 8px 12px; border-radius: 6px; font-size: 14px; font-weight: 500; }
.office-layout .button.small { min-height: 32px; padding: 6px 10px; font-size: 13px; }
.office-layout .button.primary { background: var(--c-primary); }
.office-layout .button.primary:hover { background: var(--c-primary-dark); }
.office-layout .button.outline { color: var(--c-text); border-color: var(--c-line); }
.office-layout .button.outline:hover { background: var(--c-bg); color: var(--c-text); }
.office-layout .button.selected { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.office-layout .button.success { background: var(--c-success); color: #fff; }
.office-layout .button.ghost { background: transparent; color: var(--c-muted); }
.office-layout .button.ghost:hover { background: var(--c-bg); color: var(--c-text); }
.office-layout input:not([type=hidden]), .office-layout select, .office-layout textarea { border-color: var(--c-line); border-radius: 6px; padding: .5rem .7rem; }
.office-layout label { font-weight: 500; font-size: 13px; }
.office-layout table { font-size: 13px; }
.office-layout thead th { background: transparent; color: var(--c-muted); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.office-layout tbody tr:hover { background: oklch(0.98 0.005 255); }
.office-layout .metric strong { color: var(--c-text); }
@media (max-width: 1100px) { .profile-text, .topbar-cta { display: none; } }
@media (max-width: 800px) {
  .office-shell { min-height: 0; }
  .office-topbar { position: static; height: auto; padding: .6rem .9rem; flex-wrap: wrap; }
  .office-brand { height: 52px; }
  .office-support { margin-top: 0; border-top: 0; }
}
@media print { .office-topbar { display: none; } }

/* ===== Etapa 2: Início, Clientes e Processos ===== */
.office-layout .page-head h1 { display: flex; align-items: center; gap: .5rem; }
.office-layout .page-head h1 svg { color: var(--c-primary); }
.head-search { min-width: min(100%, 340px); }
.input-icon { position: relative; display: flex; align-items: center; min-width: 0; }
.input-icon > svg { position: absolute; left: .7rem; color: var(--c-muted); pointer-events: none; }
.office-layout .input-icon input { padding-left: 2.2rem; height: 36px; }
.input-icon.grow { flex: 1 1 18rem; }
.promo-card { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; margin-bottom: 1rem; background: linear-gradient(135deg, oklch(0.97 0.02 255), #fff); border-color: oklch(0.88 0.04 255); }
.promo-card h2 { margin: 0 0 .15rem; font-size: 15px; }
.promo-card .muted { margin: 0; }
.promo-card > div { flex: 1; min-width: 0; }
.promo-icon { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: oklch(0.93 0.04 255); color: var(--c-primary); }
.status-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.status-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .8rem; border: 1px solid var(--c-line); border-radius: 999px; background: #fff; color: var(--c-text); font-size: 13px; text-decoration: none; }
.status-chip strong { color: var(--c-primary); }
.status-chip:hover { border-color: var(--c-primary); }
.dash-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 1rem; margin-bottom: 1rem; }
.card { padding: 1rem 1.15rem; }
.card-head { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .6rem; }
.card-head h2 { display: flex; align-items: center; gap: .45rem; margin: 0; font-size: 15px; }
.card-head h2 svg { color: var(--c-warn); }
.card-head .muted { margin: 0; font-size: 12px; }
.link-small { margin-left: auto; font-size: 13px; font-weight: 500; text-decoration: none; }
.row-list { list-style: none; margin: 0; padding: 0; }
.row-list li { display: flex; align-items: center; gap: .7rem; padding: .6rem 0; border-top: 1px solid var(--c-line); }
.row-list li:first-child { border-top: 0; }
.row-list.compact li { padding: .45rem 0; }
.row-main { flex: 1; min-width: 0; display: grid; }
.row-main strong { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.row-main small { color: var(--c-muted); font-size: 12px; }
.pill { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.pill.danger { background: oklch(0.95 0.04 25); color: oklch(0.5 0.2 25); }
.pill.warn { background: oklch(0.96 0.06 85); color: oklch(0.5 0.12 70); }
.pill.info { background: oklch(0.95 0.03 255); color: var(--c-primary); }
.table-foot { margin-top: .6rem; font-size: 12px; }
.tabs { display: flex; gap: 1.25rem; margin-bottom: 1rem; border-bottom: 1px solid var(--c-line); overflow-x: auto; }
.tabs a { padding: .55rem .1rem; margin-bottom: -1px; border-bottom: 2px solid transparent; color: var(--c-muted); font-size: 13.5px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.tabs a:hover { color: var(--c-text); }
.tabs a[aria-current] { border-color: var(--c-primary); color: var(--c-primary); font-weight: 600; }
.toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.chip-row { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.chip { padding: .3rem .75rem; border: 1px solid var(--c-line); border-radius: 999px; background: #fff; color: var(--c-text); font-size: 12px; font-weight: 500; text-decoration: none; }
.chip:hover { border-color: var(--c-primary); }
.chip[aria-current] { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.table-panel { padding: 0; overflow: hidden; }
.empty.pad { padding: 1.5rem; text-align: center; }
.data-table th, .data-table td { padding: .7rem .9rem; vertical-align: middle; }
.data-table thead th { border-bottom: 1px solid var(--c-line); }
.data-table tbody th { font-weight: 600; }
.cell-person { display: flex; align-items: center; gap: .6rem; }
.cell-person > span:last-child { display: grid; min-width: 0; }
.cell-person small { color: var(--c-muted); font-size: 12px; font-weight: 400; }
.mono { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 12px; }
.dot-label { display: inline-flex; align-items: center; gap: .35rem; font-size: 12px; white-space: nowrap; }
.dot-label::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--c-primary); }
.muted-text { color: var(--c-muted); font-size: 12px; }
.right { text-align: right; }
.office-layout .row-actions { display: flex; justify-content: flex-end; align-items: center; gap: .35rem; }
.office-layout .row-actions form { margin: 0; }
.icon-button { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 6px; background: transparent; color: var(--c-muted); cursor: pointer; }
.icon-button:hover { background: var(--c-bg); color: var(--c-primary); }
.progress { display: inline-flex; align-items: center; gap: .45rem; }
.progress meter { width: 72px; height: 8px; }
.progress small { color: var(--c-muted); font-size: 11px; }
.status-badge { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; background: oklch(0.95 0.01 255); color: oklch(0.4 0.03 255); }
.status-badge.s-novo { background: oklch(0.95 0.03 255); color: var(--c-primary); }
.status-badge.s-em_andamento, .status-badge.s-aguardando { background: oklch(0.96 0.06 85); color: oklch(0.5 0.12 70); }
.status-badge.s-aprovado, .status-badge.s-concluido { background: oklch(0.95 0.05 150); color: oklch(0.42 0.12 150); }
.status-badge.s-indeferido { background: oklch(0.95 0.04 25); color: oklch(0.5 0.2 25); }
@media (max-width: 900px) { .dash-grid { grid-template-columns: 1fr; } .promo-card { flex-wrap: wrap; } }
.data-table { min-width: 760px; }
.data-table th, .data-table td { overflow-wrap: normal; }
.cell-person strong { white-space: nowrap; }
@media (max-width: 800px) { .office-menu { gap: 2px 4px; } .office-menu a, .office-more summary { padding: .45rem .6rem; } }
.mono { white-space: nowrap; }

/* ===== Ficha do cliente, cofre e ações da lista ===== */
.file-panel { padding: 0; overflow: hidden; }
.file-tabs { display: flex; gap: .25rem; padding: .6rem .75rem 0; border-bottom: 1px solid var(--c-line); overflow-x: auto; background: #fff; }
.file-tabs button { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .8rem; border: 1px solid transparent; border-bottom: 0; border-radius: 8px 8px 0 0; background: transparent; color: var(--c-muted); font: inherit; font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer; }
.file-tabs button:hover { color: var(--c-text); }
.file-tabs button[aria-selected="true"] { border-color: var(--c-primary); background: var(--c-primary-soft); color: var(--c-primary); font-weight: 600; margin-bottom: -1px; }
.file-body { padding: 1.1rem 1.25rem; }
.tab-panel { display: grid; gap: 1rem; }
.field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem 1rem; }
.field { display: grid; gap: .3rem; align-content: start; }
.field.span2 { grid-column: span 2; }
.field.span-half { grid-column: span 1; }
.field.wide { grid-column: 1 / -1; }
.field-label { font-size: 12.5px; font-weight: 500; color: var(--c-text); }
.field-label.required { color: oklch(0.55 0.2 25); }
.field-label em { font-style: normal; font-weight: 400; font-size: 11px; }
.ai-filled input, .ai-filled select, .ai-filled textarea { background: oklch(0.97 0.06 95); border-color: oklch(0.82 0.12 90); }
.check-row { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.check-field { display: inline-flex; align-items: center; gap: .45rem; font-size: 13px; font-weight: 500; }
.office-layout .check-field input { width: auto; }
.sub-card { margin: 0; padding: .9rem 1rem; border: 1px solid var(--c-line); border-radius: 10px; background: var(--c-bg); min-width: 0; }
.sub-card legend { padding: 0 .35rem; font-size: 13.5px; font-weight: 600; }
.sub-card .muted { margin: 0 0 .6rem; font-size: 12px; }
.sub-title { margin: .25rem 0 0; font-size: 14px; }
.panel-intro { margin: 0; }
.read-hint { display: flex; align-items: center; gap: .75rem; padding: .6rem .8rem; border: 1px dashed oklch(0.8 0.05 255); border-radius: 8px; background: oklch(0.98 0.01 255); }
.read-hint .muted { margin: 0; font-size: 12px; }
.cep-row { display: flex; gap: .4rem; }
.doc-checklist { margin: 0; padding-left: 1.4rem; display: grid; gap: .45rem; font-size: 13px; }
.doc-checklist label { display: inline-flex; align-items: center; gap: .5rem; font-weight: 500; }
.office-layout .doc-checklist input { width: auto; }
.tag-gold { padding: .05rem .45rem; border-radius: 999px; background: oklch(0.93 0.09 85); color: oklch(0.45 0.1 70); font-size: 11px; font-weight: 600; }
.file-footer { display: flex; justify-content: space-between; padding: .8rem 1.25rem; border-top: 1px solid var(--c-line); background: var(--c-bg); }
.feedback.info { color: oklch(0.42 0.1 85); background: oklch(0.97 0.05 95); border-color: oklch(0.85 0.1 90); }
.client-table tbody.client-group > tr:first-child > * { border-bottom: 1px solid var(--c-line); }
.client-table tr.is-open { background: oklch(0.97 0.04 85); }
.client-detail td { padding: 0 !important; background: oklch(0.985 0.005 255); }
.gov-ok { display: inline-flex; align-items: center; gap: .3rem; color: oklch(0.5 0.13 150); font-size: 12px; white-space: nowrap; }
.button.warn-soft { background: oklch(0.97 0.05 70); border-color: oklch(0.85 0.1 70); color: oklch(0.5 0.14 55); }
.button.success-soft { background: oklch(0.96 0.05 150); border-color: oklch(0.85 0.08 150); color: oklch(0.42 0.12 150); }
.docs-count { display: inline-grid; justify-items: center; line-height: 1; color: var(--c-muted); font-size: 12px; text-decoration: none; }
.docs-count small { font-size: 10px; }
.icon-button.danger:hover { color: var(--c-danger); background: oklch(0.96 0.03 25); }
.icon-button.success { color: oklch(0.55 0.15 150); }
.icon-button[aria-expanded="true"] svg { transform: rotate(180deg); }
.summary { padding: 1rem 1.1rem 1.2rem; }
.summary-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1rem; padding: .6rem .8rem; border: 1px solid var(--c-line); border-radius: 10px; background: #fff; }
.summary-actions .muted { margin: 0 auto 0 0; font-size: 12px; }
.summary-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }
.summary-side { display: grid; gap: 1rem; align-content: start; }
.summary-card { padding: .85rem 1rem; border: 1px solid var(--c-line); border-radius: 10px; background: #fff; }
.summary-card h4 { display: flex; align-items: center; gap: .4rem; margin: 0 0 .6rem; font-size: 13.5px; }
.summary-card h4 svg { color: var(--c-primary); }
.summary-card dl { margin: 0; display: grid; gap: .3rem; font-size: 12.5px; }
.summary-card dl div { display: flex; gap: .35rem; }
.summary-card dt { color: var(--c-muted); white-space: nowrap; }
.summary-card dt::after { content: ":"; }
.summary-card dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.gov-card { background: oklch(0.97 0.02 255); }
.secret-dots { margin: 0 0 .4rem; padding: .4rem .6rem; border: 1px solid var(--c-line); border-radius: 6px; background: #fff; letter-spacing: .15em; }
.muted.small { font-size: 12px; margin: 0; }
.quick-dialog { width: min(92vw, 560px); padding: 1.4rem; border: 0; border-radius: 14px; box-shadow: 0 20px 60px oklch(0.2 0.03 255 / .3); font-family: Inter, system-ui, sans-serif; color: oklch(0.22 0.03 255); }
.quick-dialog::backdrop { background: oklch(0.2 0.03 255 / .45); }
.quick-dialog h2 { margin: 0 0 .2rem; font-size: 17px; }
.dialog-close { position: absolute; top: .6rem; right: .6rem; margin: 0; }
.quick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 1rem; }
.quick-option { display: grid; gap: .35rem; padding: 1rem; border: 1px solid oklch(0.9 0.01 255); border-radius: 10px; color: inherit; text-decoration: none; }
.quick-option:hover { border-color: oklch(0.48 0.16 255); background: oklch(0.98 0.01 255); }
.quick-option svg { color: oklch(0.48 0.16 255); }
.quick-option .muted { margin: 0; font-size: 12px; }
.quick-courts { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .9rem; }
.via-doc { max-width: 640px; }
.upload-box { display: grid; gap: .3rem; padding: .9rem 1rem; border: 1px dashed oklch(0.8 0.03 255); border-radius: 10px; background: var(--c-bg); }
.doc-picks { display: grid; gap: .4rem; }
@media (max-width: 1000px) { .summary-grid { grid-template-columns: 1fr; } .field-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .field-grid { grid-template-columns: 1fr; } .field.span2 { grid-column: auto; } .quick-grid { grid-template-columns: 1fr; } }
.client-table th, .client-table td { padding: .6rem .6rem; }
.client-table .row-actions { gap: 2px; flex-wrap: nowrap; }
.client-table .icon-button { width: 28px; height: 28px; }
.client-table .button.small { min-height: 28px; padding: 4px 8px; font-size: 12px; }
.client-table .muted-text, .client-table .dot-label { white-space: nowrap; }
.client-table .cell-person small { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.data-table.client-table { min-width: 1080px; }

/* ===== Navegação: barra lateral fixa no desktop, gaveta abaixo de 1024px (como o original) ===== */
.menu-toggle, .menu-close { display: none; }
.menu-overlay { position: fixed; inset: 0; z-index: 40; background: oklch(0.2 0.03 255 / .4); }
@media (max-width: 1023px) {
  .office-layout { display: block; }
  .office-sidebar { position: fixed; top: 0; left: 0; z-index: 50; width: 272px; height: 100vh; height: 100dvh; display: flex; flex-direction: column; border-right: 1px solid var(--c-line); border-bottom: 0; transform: translateX(-100%); transition: transform .2s ease; overflow-y: auto; box-shadow: 0 0 40px oklch(0.2 0.03 255 / .25); }
  body.menu-open .office-sidebar { transform: none; }
  .office-menu { display: grid; flex-wrap: nowrap; gap: 2px; }
  .office-menu a, .office-more summary { padding: .55rem .75rem; }
  .office-support { margin-top: auto; border-top: 1px solid var(--c-line); }
  .menu-toggle { display: inline-grid; }
  .menu-close { display: inline-grid; position: absolute; top: 16px; right: 10px; }
  .office-brand { height: 64px; padding-right: 3rem; }
  .office-topbar { position: sticky; height: 64px; flex-wrap: nowrap; padding: 0 12px; }
  .office-shell { min-height: 100vh; }
}
@media (max-width: 600px) {
  .workspace-pill .workspace-name { max-width: 110px; }
  .office-main { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { .office-sidebar { transition: none; } }

/* ===== Financeiro e orçamentos ===== */
.kpi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.kpi-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kpi-grid.inner { margin: .5rem 0 0; }
.kpi-grid.mini { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .6rem; }
.kpi { display: grid; gap: .15rem; padding: 1rem 1.1rem; }
.kpi strong { font-size: 22px; font-weight: 700; color: var(--c-text); }
.kpi-grid.mini .kpi { padding: .6rem .75rem; box-shadow: none; }
.kpi-grid.mini .kpi strong { font-size: 16px; }
.kpi span { color: var(--c-muted); font-size: 12.5px; }
.kpi small { color: var(--c-muted); font-size: 11.5px; }
.kpi.good strong { color: var(--c-success); }
.kpi.warn strong { color: oklch(0.62 0.15 65); }
.kpi.bad strong { color: var(--c-danger); }
.month-filter input[type=month] { width: auto; }
.pad-head { padding: 1rem 1.1rem .4rem; margin: 0; }
.pad-head .button { margin-left: auto; }
.card, .table-panel { margin-bottom: 1rem; }
.seg { display: inline-flex; margin-left: auto; border: 1px solid var(--c-line); border-radius: 8px; overflow: hidden; }
.seg a { padding: .3rem .75rem; font-size: 12.5px; color: var(--c-muted); text-decoration: none; }
.seg a[aria-current] { background: var(--c-primary); color: #fff; }
.future-list summary { cursor: pointer; margin-top: .6rem; font-size: 13px; color: var(--c-primary); }
.money-rows { display: grid; gap: .4rem; margin-bottom: .5rem; }
.money-row { display: grid; grid-template-columns: minmax(0, 1fr) 140px 32px; gap: .4rem; align-items: center; }
.money-row.gru-row { grid-template-columns: minmax(0, 1fr) 140px 32px; padding: .45rem .6rem; border-radius: 8px; background: oklch(0.97 0.03 85); }
.money-summary { margin: 0; font-size: 13px; color: var(--c-muted); }
.inline-form { padding: 1rem 1.1rem; border-top: 1px solid var(--c-line); }
.ledger-form { padding: .4rem 1.1rem .8rem; }
.ledger-form input[name=title] { flex: 2 1 12rem; }
.ledger-form input[name=amount] { flex: 0 1 8rem; }
.ledger-form select, .ledger-form input[type=date] { flex: 0 1 auto; width: auto; }
.case-finance .toolbar select, .case-finance .toolbar input { width: auto; flex: 1 1 8rem; }
.money-in { color: var(--c-success); white-space: nowrap; }
.money-out { color: var(--c-danger); white-space: nowrap; }
.pill-button { border: 0; cursor: pointer; font: inherit; font-size: 12px; font-weight: 600; }
.seg-radio { display: flex; gap: .4rem; margin-bottom: .6rem; }
.seg-radio label { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .75rem; border: 1px solid var(--c-line); border-radius: 8px; font-weight: 500; cursor: pointer; }
.office-layout .seg-radio input { width: auto; }
.seg-radio label:has(input:checked) { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.quote-stage { margin-bottom: .8rem; }
.quote-totals { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.quote-totals div { display: grid; padding: .6rem .8rem; border: 1px solid var(--c-line); border-radius: 8px; }
.quote-totals span { color: var(--c-muted); font-size: 12px; }
.quote-totals strong { font-size: 18px; }
.quote-totals .grand { background: var(--c-primary); border-color: var(--c-primary); }
.quote-totals .grand span, .quote-totals .grand strong { color: #fff; }
.quote-print { margin: 0; background: #eef1f6; font-family: Inter, system-ui, sans-serif; color: #182536; }
.print-bar { display: flex; gap: .5rem; justify-content: center; padding: 1rem; }
.quote-doc { max-width: 800px; margin: 0 auto 2rem; padding: 2.2rem 2.4rem; background: #fff; border-radius: 6px; box-shadow: 0 6px 30px #1835571a; font-size: 13.5px; }
.quote-doc-head { display: grid; grid-template-columns: 64px 1fr auto; gap: 1rem; align-items: center; padding-bottom: 1rem; border-bottom: 3px solid #1d4fa3; }
.quote-doc-head img { border-radius: 50%; }
.quote-doc-head h1 { margin: 0; font-size: 18px; }
.quote-doc-head p { margin: .1rem 0 0; color: #536379; font-size: 12px; }
.quote-doc-id { display: grid; text-align: right; font-size: 12px; color: #536379; }
.quote-doc-id strong { color: #1d4fa3; font-size: 15px; }
.quote-client { margin: 1rem 0; }
.quote-stage-doc h2 { margin: 1.2rem 0 .4rem; font-size: 14px; color: #1d4fa3; }
.quote-doc table { width: 100%; border-collapse: collapse; }
.quote-doc td { padding: .45rem .3rem; border-bottom: 1px solid #e3e8f0; }
.quote-doc tr.sub td { font-weight: 600; }
.quote-sum { margin-top: 1.2rem; }
.quote-sum tr.grand td { font-size: 16px; font-weight: 700; color: #1d4fa3; border-bottom: 0; }
.quote-doc-foot { margin-top: 2rem; padding-top: .6rem; border-top: 1px solid #e3e8f0; color: #8592a6; font-size: 11px; text-align: center; }
@media print { .quote-print { background: #fff; } .quote-doc { box-shadow: none; margin: 0; max-width: none; padding: 0; } }
@media (max-width: 900px) { .kpi-grid, .kpi-grid.two, .quote-totals { grid-template-columns: 1fr; } .kpi-grid.mini { grid-template-columns: repeat(2, 1fr); } }
.office-layout [hidden] { display: none !important; }

/* ===== Etapa 4: telas do Mais ===== */
.kpi-grid.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.status-chip[aria-current] { border-color: var(--c-primary); background: var(--c-primary-soft); }
.office-more .nav-count { margin-left: auto; }
.office-more a { display: flex; align-items: center; }
.bar-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.bar-list li { display: grid; grid-template-columns: 130px 1fr 36px; align-items: center; gap: .6rem; font-size: 13px; }
.bar { height: 8px; border-radius: 999px; background: oklch(0.95 0.01 255); overflow: hidden; }
.bar-fill { display: block; height: 100%; width: 0; background: var(--c-primary); border-radius: 999px; }
.bar-fill.s-aprovado, .bar-fill.s-concluido { background: var(--c-success); }
.bar-fill.s-indeferido { background: var(--c-danger); }
.bar-fill.s-em_andamento, .bar-fill.s-aguardando { background: var(--c-warn); }
.link-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .6rem; }
.link-card { display: grid; gap: .15rem; padding: .7rem .85rem; border: 1px solid var(--c-line); border-radius: 10px; color: var(--c-text); text-decoration: none; }
.link-card:hover { border-color: var(--c-primary); background: var(--c-primary-soft); }
.link-card strong { font-size: 13px; color: var(--c-primary); }
.link-card small { color: var(--c-muted); font-size: 12px; }
.doc-status-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.doc-status-list li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto auto; align-items: center; gap: .6rem; padding: .45rem .5rem; border: 1px solid var(--c-line); border-radius: 8px; font-size: 13px; }
.doc-status-list li.ok { background: oklch(0.98 0.02 150); }
.doc-status-list li.ok .doc-name { color: var(--c-muted); text-decoration: line-through; }
.doc-status-list form { margin: 0; }
.check-toggle { width: 24px; height: 24px; border: 1.5px solid var(--c-line); border-radius: 6px; background: #fff; color: #fff; font-weight: 700; cursor: pointer; }
.check-toggle[aria-pressed="true"] { background: var(--c-success); border-color: var(--c-success); }
.inline-upload { margin: 0; }
.inline-upload label { cursor: pointer; }
.kanban { display: grid; grid-template-columns: repeat(6, minmax(200px, 1fr)); gap: .75rem; overflow-x: auto; padding-bottom: .5rem; margin-bottom: 1rem; }
.kanban-col { display: grid; align-content: start; gap: .5rem; min-height: 160px; padding: .6rem; border-radius: 12px; background: oklch(0.96 0.008 255); border-top: 3px solid var(--c-primary); }
.kanban-col.s-fechado { border-top-color: var(--c-success); }
.kanban-col.s-perdido { border-top-color: var(--c-danger); }
.kanban-col header { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.kanban-card { display: grid; gap: .25rem; padding: .6rem .7rem; border: 1px solid var(--c-line); border-radius: 10px; background: #fff; font-size: 13px; }
.kanban-card small { color: var(--c-muted); }
.kanban-card .row-actions { justify-content: space-between; }
.kanban-move select { padding: .25rem .4rem; font-size: 12px; }
.small-link { font-size: 12px; }
.uf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); gap: .3rem; margin-top: .5rem; }
.profile-card { display: grid; justify-items: start; gap: .8rem; align-content: start; }
.avatar.big { width: 72px; height: 72px; font-size: 24px; }
.summary-card.plain { border: 0; padding: 0; margin: 0; display: grid; gap: .3rem; font-size: 13px; }
.summary-card.plain div { display: flex; gap: .4rem; }
.logo-preview { display: block; margin-bottom: .5rem; border-radius: 6px; }
.field.grow { flex: 1 1 14rem; }
@media (max-width: 900px) { .kpi-grid.five { grid-template-columns: repeat(2, 1fr); } .doc-status-list li { grid-template-columns: 28px 1fr; } }

/* ===== Tela do processo ===== */
.back-link { display: inline-block; margin-bottom: .6rem; }
.case-head { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.case-title h1 { margin: .35rem 0 .1rem; font-size: 20px; }
.case-title .muted { margin: 0; display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }
.case-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; align-content: flex-start; max-width: 640px; justify-content: flex-end; }
.case-actions form { margin: 0; }
.inline-select label { display: inline-flex; align-items: center; gap: .4rem; font-size: 13px; }
.inline-select select { width: auto; padding: .3rem .5rem; }
.danger-text { color: var(--c-danger) !important; }
.next-step { border-left: 4px solid var(--c-primary); }
.next-step h2 { font-size: 12px; letter-spacing: .06em; color: var(--c-primary); }
.next-step p { margin: 0 0 .4rem; }
.bar.big { display: block; height: 10px; margin: .3rem 0 .4rem; }
.missing-list { margin: .4rem 0 0; padding-left: 1.2rem; font-size: 13px; display: grid; gap: .2rem; }
.case-tabs { margin-bottom: 1rem; border-radius: 12px 12px 0 0; }
.field-grid.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gov-line { display: flex; align-items: center; gap: .4rem; margin: .8rem 0 0; font-size: 13px; }
.cert-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .7rem; }
.cert-card { display: grid; gap: .35rem; align-content: start; padding: .8rem .9rem; border: 1px solid var(--c-line); border-radius: 10px; }
.cert-card.ok { background: oklch(0.98 0.02 150); }
.cert-card .pill { justify-self: start; }
.cert-card .muted { margin: 0; font-size: 12px; }
.timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.timeline li { display: grid; gap: .1rem; padding: .5rem .7rem; border-left: 3px solid var(--c-primary); background: var(--c-bg); border-radius: 0 8px 8px 0; font-size: 13px; }
.star { color: oklch(0.7 0.16 70); }
.data-table th a { color: inherit; text-decoration: none; }
.data-table th a:hover { color: var(--c-primary); text-decoration: underline; }
.new-case { max-width: 560px; }
@media (max-width: 700px) { .field-grid.two-col { grid-template-columns: 1fr; } .case-actions { justify-content: flex-start; } }

/* ===== Lista de processos ===== */
.toolbar select { width: auto; }
.filters-pop { position: relative; }
.filters-pop summary { list-style: none; cursor: pointer; }
.filters-pop summary::-webkit-details-marker { display: none; }
.filters-box { position: absolute; z-index: 10; top: calc(100% + 6px); right: 0; width: 280px; display: grid; gap: .6rem; padding: .9rem; border: 1px solid var(--c-line); border-radius: 10px; background: #fff; box-shadow: 0 10px 30px oklch(0.2 0.03 255 / .15); }
.bulk-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .75rem; padding: .6rem .8rem; border: 1px solid oklch(0.85 0.06 255); border-radius: 10px; background: var(--c-primary-soft); }
.bulk-bar select { width: auto; }
.check-col { width: 36px; }
.office-layout .check-col input { width: auto; }
.data-table.case-table { min-width: 1100px; }
.plain-link { color: inherit; text-decoration: none; }
.plain-link:hover { color: var(--c-primary); text-decoration: underline; }
.card > .inline-upload { margin-bottom: 14px; }
.kpi-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.kpi-link { text-decoration: none; color: inherit; }
.check-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .4rem 1rem; }
.menu-details { position: relative; }
.menu-details > summary { list-style: none; cursor: pointer; }
.menu-details > summary::-webkit-details-marker { display: none; }
.menu-panel { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; min-width: 280px; padding: 1rem; background: var(--c-surface, #fff); border: 1px solid var(--c-border, #e5e7eb); border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.inline-date { display: inline-block; margin: 0; }
.inline-date input { height: 30px; padding: 0 .4rem; }
@media (max-width: 720px) { .kpi-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.model-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.model-card h3 { margin: 0 0 .4rem; font-size: 15px; }
.model-card .actions { flex-wrap: wrap; gap: .4rem; }
.model-card .toolbar select { min-width: 0; flex: 1; }
details.sub-card > summary { cursor: pointer; font-weight: 600; }
.doc-page .document-body { font-size: 14.5px; text-align: justify; }
@media print { .page-break { break-before: page; } }
.check-grid .check-field { align-items: flex-start; }
.muted-text.block { display: block; font-size: 12px; }
.check-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.signup-public { max-width: 760px; text-align: left; }
.signup-public .login-brand { display: block; margin: 0 auto .5rem; }
.input-prefix { display: flex; align-items: stretch; }
.input-prefix > span { display: flex; align-items: center; padding: 0 .6rem; border: 1px solid var(--c-border, #e5e7eb); border-right: 0; border-radius: 8px 0 0 8px; background: var(--c-soft, #f3f4f6); color: var(--c-muted); font-size: 13px; }
.input-prefix input { border-radius: 0 8px 8px 0; flex: 1; min-width: 0; }
.summary-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .5rem 1rem; margin: .5rem 0; }
.summary-dl dt { font-size: 12px; color: var(--c-muted); }
.summary-dl dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }
.note-box { background: var(--c-soft, #f3f4f6); border-radius: 8px; padding: .6rem .8rem; white-space: pre-wrap; }
.button.danger-outline { border: 1px solid var(--c-danger); color: var(--c-danger); background: transparent; }
.signup-card .actions { align-items: center; flex-wrap: wrap; }
.panel.auth.signup-public { max-width: 760px; width: 100%; text-align: left; }
.panel.auth.signup-public h1, .panel.auth.signup-public > p { text-align: center; }
.doc-page { position: relative; overflow: hidden; }
.doc-page .watermark { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 60%; max-height: 70%; object-fit: contain; opacity: .08; pointer-events: none; }
@media print { .doc-page .watermark { position: absolute; -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
.switch-row { padding: .5rem 0; border-bottom: 1px solid var(--c-border, #eee); }
.feedback.warn { background: oklch(0.97 0.04 85); border: 1px solid oklch(0.85 0.1 85); color: oklch(0.4 0.08 70); padding: .6rem .8rem; border-radius: 8px; }
.avatar.photo { object-fit: cover; padding: 0; background: none; }
.ext-banner { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }

/* ===== Barra superior: ferramentas, tonalidade das cores e WhatsApp flutuante ===== */
.topbar-tool > summary.icon-button, a.topbar-tool { color: var(--c-muted); }
.menu-panel.wide-panel { width: min(92vw, 380px); }
.theme-panel { display: grid; gap: .25rem; min-width: 280px; }
.theme-panel form { margin: 0; }
.theme-option { display: flex; align-items: center; gap: .7rem; width: 100%; padding: .5rem .6rem; border: 1px solid transparent; border-radius: 8px; background: none; color: inherit; text-align: left; cursor: pointer; font: inherit; }
.theme-option:hover { background: var(--c-primary-soft); }
.theme-option.current { border-color: var(--c-primary); }
.swatch { width: 28px; height: 28px; flex: none; border-radius: 50%; border: 2px solid var(--c-line); }
.swatch-claro { background: linear-gradient(135deg, #fff 50%, oklch(0.48 0.16 255) 50%); }
.swatch-escuro-azul { background: linear-gradient(135deg, oklch(0.2 0.02 260) 50%, oklch(0.62 0.16 255) 50%); }
.swatch-escuro-verde { background: linear-gradient(135deg, oklch(0.2 0.02 260) 50%, oklch(0.65 0.15 150) 50%); }
.swatch-escuro-roxo { background: linear-gradient(135deg, oklch(0.2 0.02 260) 50%, oklch(0.62 0.18 300) 50%); }
.wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 40; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: oklch(0.65 0.17 150); color: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.2); }
.wa-float:hover { filter: brightness(1.08); }
.tutorial-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1rem; align-items: start; }
.tutorial-index { display: grid; gap: .15rem; }
.tutorial-index strong { margin-top: .6rem; }
.tutorial-index a { padding: .3rem .5rem; border-radius: 6px; text-decoration: none; color: var(--c-text); font-size: 13.5px; }
.tutorial-index a[aria-current] { background: var(--c-primary); color: #fff; }
@media (max-width: 900px) { .tutorial-layout { grid-template-columns: 1fr; } .topbar-tool { display: none; } }

/* Temas escuros: mesma base, acento muda. */
.office-layout[data-tema^="escuro"] {
  color-scheme: dark;
  --c-bg: oklch(0.17 0.015 260);
  --c-side: oklch(0.2 0.018 260);
  --c-surface: oklch(0.22 0.018 260);
  --c-line: oklch(0.32 0.02 260);
  --c-text: oklch(0.93 0.01 260);
  --c-muted: oklch(0.7 0.02 260);
  --c-primary: oklch(0.62 0.16 255);
  --c-primary-dark: oklch(0.72 0.14 255);
  --c-primary-soft: oklch(0.3 0.05 255);
  --shadow: none;
}
.office-layout[data-tema="escuro-verde"] { --c-primary: oklch(0.65 0.15 150); --c-primary-dark: oklch(0.75 0.13 150); --c-primary-soft: oklch(0.3 0.05 150); }
.office-layout[data-tema="escuro-roxo"] { --c-primary: oklch(0.62 0.18 300); --c-primary-dark: oklch(0.74 0.15 300); --c-primary-soft: oklch(0.3 0.06 300); }
.office-layout[data-tema^="escuro"] :is(.panel, .office-topbar, .chip, .status-chip, .file-tabs, .summary-actions, .summary-card, .secret-dots, .check-toggle, .menu-panel, .promo-card, .button.outline, .button.danger, .button.ghost) { background: var(--c-surface); color: var(--c-text); border-color: var(--c-line); }
.office-layout[data-tema^="escuro"] .chip[aria-current], .office-layout[data-tema^="escuro"] .office-menu a[aria-current] { background: var(--c-primary); color: #fff; }
.office-layout[data-tema^="escuro"] :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea) { background: oklch(0.19 0.015 260); color: var(--c-text); border-color: var(--c-line); }
.office-layout[data-tema^="escuro"] .office-menu a, .office-layout[data-tema^="escuro"] .office-more summary { color: oklch(0.85 0.01 260 / .85); }
.office-layout[data-tema^="escuro"] .office-menu a:hover, .office-layout[data-tema^="escuro"] .office-more summary:hover { background: oklch(0.27 0.02 260); color: var(--c-text); }
.office-layout[data-tema^="escuro"] :is(.data-table th, .data-table td, table th, table td) { border-color: var(--c-line); color: var(--c-text); }
.office-layout[data-tema^="escuro"] .data-table thead th { background: oklch(0.2 0.018 260); color: var(--c-muted); }
.office-layout[data-tema^="escuro"] a:not(.button):not(.chip) { color: var(--c-primary-dark); }
.office-layout[data-tema^="escuro"] .office-menu a, .office-layout[data-tema^="escuro"] .tutorial-index a { color: var(--c-text); }
.office-layout[data-tema^="escuro"] .button.primary { background: var(--c-primary); color: #fff; }
.office-layout[data-tema^="escuro"] .feedback.error { background: oklch(0.28 0.06 25); color: oklch(0.88 0.06 25); border-color: oklch(0.4 0.1 25); }
.office-layout[data-tema^="escuro"] .feedback.success { background: oklch(0.27 0.05 150); color: oklch(0.9 0.06 150); border-color: oklch(0.4 0.08 150); }
.office-layout[data-tema^="escuro"] .feedback.warn { background: oklch(0.28 0.05 80); color: oklch(0.9 0.07 85); border-color: oklch(0.42 0.08 80); }
.office-layout[data-tema^="escuro"] .note-box, .office-layout[data-tema^="escuro"] .input-prefix > span { background: oklch(0.26 0.02 260); color: var(--c-text); }
.office-layout[data-tema^="escuro"] :is(.print-document, .quote-doc) { background: #fff; color: #182536; }
@media print { .office-layout[data-tema^="escuro"] { background: #fff; color: #182536; } .office-layout[data-tema^="escuro"] .panel { background: #fff; color: #182536; } }

/* Barra superior e Início no celular */
@media (max-width: 700px) {
  .office-topbar { gap: .4rem; padding: 0 10px; }
  .topbar-left { flex: 1 1 auto; min-width: 0; }
  .workspace-pill { min-width: 0; max-width: 100%; overflow: hidden; }
  .workspace-pill .workspace-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .workspace-pill .pill, .workspace-pill .badge { display: none; }
  .topbar-right { flex: none; gap: .3rem; }
  .label-wide { display: none; }
  .promo-card { flex-direction: column; align-items: flex-start; }
  .promo-card > * { max-width: 100%; }
  .kpi-grid.two { grid-template-columns: 1fr 1fr; }
  .wa-float { width: 46px; height: 46px; right: 14px; bottom: 14px; }
}

/* ===== Identidade Despachante.X: preto e vermelho (paleta do Nexo) ===== */
.brand-stack { display: grid; line-height: 1.1; min-width: 0; }
.brand-x { font-weight: 900; letter-spacing: .12em; text-transform: uppercase; font-size: 13px; white-space: nowrap; }
.brand-x b { color: #ff4655; font-weight: 900; }
.brand-stack small { color: var(--c-muted); font-size: 11px; font-weight: 500; }
.office-layout { --c-primary: #e11d2e; --c-primary-dark: #b5121f; --c-primary-soft: #fde8ea; }
.office-layout[data-tema="escuro-vermelho"] {
  --c-bg: #000; --c-side: #0a0a0a; --c-surface: #111; --c-line: #262626;
  --c-text: #f5f5f5; --c-muted: #a3a3a3;
  --c-primary: #e11d2e; --c-primary-dark: #ff4655; --c-primary-soft: #2a0b0f;
}
.office-layout[data-tema="escuro-vermelho"] :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea) { background: #0a0a0a; }
.office-layout[data-tema="escuro-vermelho"] .office-menu a:hover, .office-layout[data-tema="escuro-vermelho"] .office-more summary:hover { background: #1a1a1a; }
.office-layout[data-tema="escuro-vermelho"] .data-table thead th { background: #0a0a0a; }
.office-layout[data-tema="escuro-azul"] { --c-primary: oklch(0.62 0.16 255); --c-primary-dark: oklch(0.72 0.14 255); --c-primary-soft: oklch(0.3 0.05 255); }
.office-layout[data-tema="claro"] .brand-x b { color: #e11d2e; }
.swatch-escuro-vermelho { background: linear-gradient(135deg, #000 50%, #e11d2e 50%); }
.swatch-claro { background: linear-gradient(135deg, #fff 50%, #e11d2e 50%); }

/* Páginas públicas (login, cadastro pelo link, portal): mesmas cores. */
body:not(.office-layout) {
  color-scheme: dark; color: #f5f5f5; background: #000;
  --muted: #a3a3a3; --line: #262626; --blue: #e11d2e; --blue-dark: #ff4655; --blue-light: #2a0b0f; --shadow: none;
  --c-text: #f5f5f5; --c-muted: #a3a3a3; --c-line: #262626; --c-primary: #e11d2e; --c-danger: #ff4655; --c-soft: #1a1a1a; --c-border: #262626;
}
body:not(.office-layout) :is(.panel, .topbar) { background: #111; border-color: #262626; color: #f5f5f5; }
body:not(.office-layout) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea) { background: #0a0a0a; color: #f5f5f5; border-color: #333; }
body:not(.office-layout) .button.primary { background: #e11d2e; color: #fff; }
body:not(.office-layout) .button.primary:hover { background: #ff4655; }
body:not(.office-layout) .button.outline { background: transparent; color: #f5f5f5; border-color: #333; }
body:not(.office-layout) a { color: #ff4655; }
body:not(.office-layout) .feedback.error { background: #2a0b0f; color: #ffb3ba; border-color: #5a1a21; }
body:not(.office-layout) .feedback.success { background: #0d2416; color: #b6f0c8; border-color: #1f4d2f; }
body:not(.office-layout) .sub-card { border-color: #262626; }
body:not(.office-layout) .print-document { background: #fff; color: #182536; }
.panel-brand { width: 180px; border-radius: 0; }
.site-brand img { width: auto; height: 26px; }
.import-log { display: grid; gap: .2rem; padding-left: 1.2rem; font-size: 13px; max-height: 360px; overflow: auto; }
.import-log .ok { color: var(--c-success); }
.import-log .warn { color: var(--c-danger); }

/* ===== Área do cliente ===== */
.client-area { width: min(1000px, 100%); margin: 0 auto; padding: 16px 16px 90px; display: grid; gap: 14px; }
.client-area .panel { padding: 1rem 1.1rem; }
.ca-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 6px 0 4px; }
.ca-top form { margin: 0; }
.ca-brand { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.ca-brand img { border-radius: 10px; max-width: 160px; object-fit: contain; }
.ca-brand span { display: grid; line-height: 1.2; min-width: 0; }
.ca-brand strong { font-size: 15px; }
.ca-brand small { color: var(--muted); font-size: 12.5px; }
.ca-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: start; }
.ca-panel > summary { list-style: none; width: 100%; justify-content: center; cursor: pointer; }
.ca-panel > summary::-webkit-details-marker { display: none; }
.ca-panel[open] { grid-column: 1 / -1; }
.ca-panel[open] > summary { margin-bottom: 10px; }
.ca-highlight { border-color: #5a1a21 !important; background: #1a0a0c !important; }
.ca-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.client-area .cert-card { display: grid; gap: .45rem; padding: .8rem; border: 1px solid #262626; border-radius: 10px; background: #0d0d0d; color: #f5f5f5; }
.client-area .cert-card.ok { border-color: #1f4d2f; background: #0d1a12; }
.client-area .portal-entry { padding: .6rem 0; border-bottom: 1px solid #1f1f1f; }
.client-area .portal-entry:last-child { border-bottom: 0; }
.ca-docs li { padding: .55rem 0; border-bottom: 1px solid #1f1f1f; display: flex; justify-content: space-between; align-items: center; gap: .8rem; flex-wrap: wrap; }
.ca-docs li.is-done strong { color: #8be0a4; }
.client-area details.panel > summary { cursor: pointer; }
.client-area .note-box ol { margin: .4rem 0 0; padding-left: 1.2rem; display: grid; gap: .2rem; }
.client-area .pill { display: inline-block; padding: .1rem .55rem; border-radius: 999px; font-size: 11.5px; font-weight: 600; background: #1f1f1f; color: #d4d4d4; }
.client-area .pill.warn { background: #3a2a06; color: #f5c96b; }
.client-area .pill.success { background: #0d2416; color: #8be0a4; }
.client-area .pill.info { background: #2a0b0f; color: #ff8a94; }
.client-area .pill.danger { background: #3a0b10; color: #ff8a94; }
.client-area .card-head { display: flex; justify-content: space-between; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .4rem; }
.client-area .card-head h2 { margin: 0; }
.client-area .field-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .7rem 1rem; }
.client-area .field { display: grid; gap: .3rem; }
.client-area .field.span2 { grid-column: span 2; }
.client-area .field-label { font-size: 12.5px; font-weight: 600; }
.client-area .field-label.required { color: #ff6b77; }
.client-area .toolbar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.client-area .actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.client-area .row-list { list-style: none; margin: 0; padding: 0; }
.client-area .row-main { display: grid; gap: .1rem; }
.client-login p { text-align: center; }
@media (max-width: 640px) { .ca-actions { grid-template-columns: 1fr; } .client-area .field.span2 { grid-column: auto; } }

/* Área do IAT */
.iat-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: 1rem; }
.iat-head { display: flex; align-items: center; gap: 1rem; }
.iat-head h2 { margin: 0; }
.iat-file { display: flex; flex-direction: column; gap: .35rem; }
.iat-stamp { max-width: 240px; max-height: 90px; object-fit: contain; background: #fff; border: 1px solid #ddd; border-radius: 6px; padding: 4px; }
.text-ok { color: oklch(0.5 0.15 150); }
.text-bad { color: oklch(0.52 0.2 25); }
.iat-step .step-n { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--c-primary, #e11d2e); color: #fff; font-size: .85rem; margin-right: .35rem; }
.iat-step.done .step-n { background: oklch(0.55 0.15 150); }
.iat-pf-text { white-space: pre-wrap; font-size: .85rem; background: rgba(127,127,127,.08); padding: .75rem; border-radius: 8px; max-height: 260px; overflow: auto; }
.iat-doc { font-size: 13px; line-height: 1.45; }
.iat-doc h1 { font-size: 16px; text-transform: uppercase; text-align: center; margin: 0; }
.iat-doc h2 { font-size: 13px; text-transform: uppercase; margin: 1rem 0 .25rem; }
.iat-doc-number { text-align: center; font-weight: 700; margin: .3rem 0 0; }
.iat-doc-table { width: 100%; border-collapse: collapse; }
.iat-doc-table th, .iat-doc-table td, .iat-answers th, .iat-answers td { border: 1px solid #999; padding: 4px 6px; text-align: left; vertical-align: top; }
.iat-doc-table th[scope="row"] { width: 28%; font-weight: 600; }
.iat-answers { border-collapse: collapse; margin: .5rem 0 1rem; }
.iat-answers td { text-align: center; width: 2.4rem; }
.iat-conclusion { margin-top: .4rem; }
.iat-signs { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 1rem; text-align: center; }
.iat-signs { align-items: start; }
.iat-signs > div { display: flex; flex-direction: column; align-items: center; }
.iat-stamp-area { display: flex; align-items: flex-end; justify-content: center; height: 84px; width: 100%; font-style: normal; }
.iat-signs span { display: block; width: 100%; border-top: 1px solid #333; margin-bottom: .3rem; }
.iat-doc-stamp { max-width: 220px; max-height: 80px; object-fit: contain; }
.iat-verify { font-size: 11px; color: #555; margin-top: 1.5rem; text-align: center; word-break: break-all; }
.iat-doc-note { font-size: 12px; }
.cal-nav { align-items: center; }
.iat-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; padding: 0; overflow: hidden; }
.cal-head { font-weight: 600; font-size: 12px; text-align: center; padding: .4rem; }
.cal-day { min-height: 92px; padding: .3rem; border-top: 1px solid rgba(127,127,127,.2); display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cal-day.other { opacity: .45; }
.cal-day.today .cal-num { background: var(--c-primary, #e11d2e); color: #fff; border-radius: 50%; padding: 0 .35rem; }
.cal-num { font-size: 12px; font-weight: 600; align-self: flex-start; }
.cal-item { font-size: 11px; padding: 1px 4px; border-radius: 4px; background: rgba(37,99,235,.12); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; }
.cal-item.realizado { background: rgba(22,163,74,.15); }
.cal-item.cancelado { background: rgba(220,38,38,.12); text-decoration: line-through; }
.iat-verify-card { max-width: 520px; margin: 2rem auto; }
@media (max-width: 640px) { .cal-day { min-height: 64px; } .cal-item { font-size: 10px; } .iat-signs { grid-template-columns: 1fr; } }
@media print { .iat-doc { font-size: 12px; } .iat-step { display: none; } }
/* Certificado e Agenda Pública do IAT */
.iat-cert { page: certificado; background: #fff; color: #1b2430; margin: 0 auto 1rem; max-width: 1050px; }
@page certificado { size: A4 landscape; margin: 8mm; }
.iat-cert-frame { border: 3px double #8a6d1f; padding: 1.6rem 2.2rem; min-height: 640px; display: flex; flex-direction: column; text-align: center; }
.iat-cert-frame.back { text-align: left; min-height: 0; }
.iat-cert-logos { display: flex; justify-content: space-between; align-items: center; min-height: 90px; }
.iat-cert-logos img { max-height: 90px; max-width: 200px; object-fit: contain; }
.iat-cert h1 { font-family: Georgia, 'Times New Roman', serif; font-size: 44px; letter-spacing: .12em; text-transform: uppercase; margin: .4rem 0 1.2rem; color: #8a6d1f; }
.iat-cert h2 { font-size: 18px; }
.iat-cert-text { font-size: 18px; line-height: 1.7; max-width: 860px; margin: 0 auto; }
.iat-cert-place { margin: 1.2rem 0 0; }
.iat-cert-signs { display: grid; grid-template-columns: minmax(0, 360px); justify-content: center; gap: 3rem; margin-top: auto; padding-top: 1rem; }
.iat-cert-signs.two { grid-template-columns: repeat(2, minmax(0, 340px)); }
.iat-cert-signs > div { display: flex; flex-direction: column; align-items: center; font-size: 14px; }
.iat-cert-signs span { display: block; width: 100%; border-top: 1px solid #333; margin-bottom: .3rem; }
.iat-cert-signs small { display: block; font-size: 11px; color: #555; }
.iat-cert-signs img { max-height: 80px; max-width: 240px; object-fit: contain; }
.iat-cert-code { font-size: 11px; color: #666; margin-top: 1rem; word-break: break-all; }
.iat-cert-sheet { overflow-x: auto; }
@media print { .iat-cert { margin: 0; max-width: none; } .iat-cert-frame { min-height: 180mm; } }
.iat-public { max-width: 860px; margin: 0 auto; padding: 1rem; display: flex; flex-direction: column; gap: 1rem; }
.iat-public-head { display: flex; gap: 1rem; align-items: center; }
.iat-public-head h1 { margin: 0; }
.iat-public-logo { max-height: 70px; max-width: 140px; object-fit: contain; }
.iat-course-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; }
.iat-course-card { display: flex; flex-direction: column; gap: .4rem; }
.iat-course-card h3 { margin: 0; }
.iat-course-cover { width: 100%; max-height: 150px; object-fit: cover; border-radius: 8px; }
.iat-course-cover.wide { max-height: 260px; }
.pre-line { white-space: pre-line; }
.muted-row { opacity: .55; }
.inline-form { display: inline-flex; }
.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; }
.iat-public .check-field { align-items: flex-start; } .iat-public .check-field input { width: auto; flex: none; margin-top: .2rem; }
.iat-signs.single { grid-template-columns: minmax(0, 360px); justify-content: center; }
.iat-exam { padding-left: 1.4rem; }
.iat-exam > li { margin-bottom: .55rem; break-inside: avoid; }
.iat-exam p { margin: 0 0 .2rem; }
.iat-exam-options { margin: 0; padding-left: 1.4rem; }
.iat-report h2 { margin-top: 1.4rem; }
.iat-report h3 { font-size: 12px; margin: .8rem 0 .2rem; }

/* Clube C1 */
.clube-alerts { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .5rem; }
.clube-alert { display: flex; align-items: center; justify-content: space-between; gap: .4rem; padding: .5rem .7rem; border-radius: 8px; border: 1px solid rgba(127,127,127,.25); }
.clube-alert a { text-decoration: none; }
.clube-alert strong { font-size: 1.2rem; margin-right: .2rem; }
.clube-alert.vencido:not(.zero) { border-color: oklch(0.75 0.15 25); background: oklch(0.97 0.03 25); }
.clube-alert.avencer:not(.zero) { border-color: oklch(0.8 0.12 85); background: oklch(0.97 0.04 90); }
.clube-alert.zero { opacity: .55; }
.text-warn { color: oklch(0.55 0.13 70); }

/* Loja L1 */
.loja-filters select { max-width: 13rem; }
.loja-labels { display: grid; grid-template-columns: repeat(auto-fill, minmax(62mm, 1fr)); gap: 4mm; }
.loja-label { border: 1px dashed #999; padding: 3mm; display: flex; flex-direction: column; align-items: center; gap: 1mm; background: #fff; color: #111; break-inside: avoid; font-size: 11px; text-align: center; }
.loja-label strong { font-size: 11px; line-height: 1.2; }
.loja-label .loja-barcode { width: 100%; height: 14mm; }
.loja-label-price { font-size: 15px; font-weight: 700; }
.loja-nfe select { max-width: 16rem; }
@media print { .loja-label { border-color: #ccc; } }

/* Clube C2 */
.hab-weapon-row { border-top: 1px dashed rgba(127,127,127,.3); padding-top: .5rem; margin-top: .5rem; }
.hab-weapon-row:first-of-type { border-top: 0; }
.hab-reject { display: inline-block; }
.hab-reject[open] form { margin-top: .3rem; }
.hab-sheet .hab-sign { min-width: 130px; height: 2.1rem; }
.hab-more > summary { margin-top: .6rem; }

/* Loja L2 */
.loja-pdv-add input[name="q"] { font-size: 1.05rem; }
.loja-pick { list-style: none; padding: 0; margin: .3rem 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.loja-items input { width: 5.2rem; min-width: 0; padding-left: .35rem; padding-right: .35rem; }
.loja-items th[scope="row"] { min-width: 9rem; }
.loja-item-extra select { max-width: 10rem; display: block; margin-bottom: .2rem; }
.loja-items .row-actions { white-space: nowrap; }
.loja-blocked { background: oklch(0.97 0.03 25); }
.loja-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: .4rem; margin: 0 0 .8rem; }
.loja-totals div { padding: .4rem .6rem; border: 1px solid rgba(127,127,127,.2); border-radius: 8px; }
.loja-totals dt { font-size: 12px; color: #666; }
.loja-totals dd { margin: 0; font-weight: 600; }
.loja-totals .total dd { font-size: 1.25rem; }
.loja-pay select, .loja-pay input { width: 100%; }
.loja-receipt { max-width: 80mm; margin: 0 auto 1rem; background: #fff; color: #111; padding: 4mm; font-size: 12px; font-family: ui-monospace, Menlo, monospace; border: 1px dashed #bbb; }
.loja-receipt h1 { font-size: 14px; text-align: center; margin: 0 0 2mm; }
.loja-receipt table { width: 100%; border-collapse: collapse; }
.loja-receipt td { padding: 1mm 0; vertical-align: top; border-bottom: 1px dotted #ccc; }
.loja-receipt .right, .loja-receipt td.right { text-align: right; }
@media print { .loja-receipt { border: 0; } }

/* Clube C3 */
.clube-decl { position: relative; }
.clube-decl-org { text-align: center; font-size: 12px; margin: 0 0 .6rem; }
.clube-decl p { text-align: justify; }
.clube-decl-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .2rem .8rem; max-height: 360px; overflow: auto; padding: .4rem; border: 1px solid rgba(127,127,127,.2); border-radius: 8px; }
.clube-decl-filtros select { max-width: 22rem; }
.clube-decl-datas td:nth-child(2) { white-space: nowrap; }

/* Loja L3 */
.loja-pce { max-width: 1180px; overflow-x: auto; page: pce; }
@page pce { size: A4 landscape; margin: 8mm; }
.loja-pce .iat-doc-table { font-size: 11px; }
.loja-pce .iat-doc-table td, .loja-pce .iat-doc-table th { padding: 3px 5px; overflow-wrap: normal; word-break: normal; }
.loja-pce .iat-doc-table td:nth-child(-n+2), .loja-pce .iat-doc-table td:nth-child(n+5) { white-space: nowrap; }
@media print { .loja-pce { max-width: none; overflow: visible; } }

/* Clube C4 */
.clube-anu-filtros select { max-width: 13rem; }
.clube-anu-foto { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; margin-top: .8rem; }
.clube-anu-foto > div:first-child { display: flex; flex-direction: column; gap: .4rem; align-items: flex-start; }
.clube-foto { width: 88px; height: 110px; object-fit: cover; border-radius: 6px; border: 1px solid rgba(127,127,127,.3); }
.clube-recibo-logo { max-height: 70px; max-width: 180px; object-fit: contain; display: block; margin: 0 auto .5rem; }
.clube-recibo-valor { text-align: right; font-size: 1.4rem; font-weight: 700; }
.clube-cart-sheet { display: flex; flex-direction: column; gap: 6mm; align-items: center; }
.clube-cart-sheet.varias { display: grid; grid-template-columns: repeat(auto-fill, minmax(178mm, 1fr)); justify-items: center; }
.clube-cart-pair { display: flex; gap: 4mm; flex-wrap: wrap; justify-content: center; break-inside: avoid; }
.clube-cart-page { display: grid; grid-template-columns: repeat(2, 85.6mm); gap: 4mm; justify-content: center; }
.clube-cart { width: 85.6mm; height: 54mm; border-radius: 3mm; border: 1px solid #999; background: #fff; color: #111; padding: 3mm; box-sizing: border-box; display: flex; flex-direction: column; overflow: hidden; font-size: 8pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.clube-cart.front { border-top: 4mm solid #b3121f; }
.clube-cart-top { display: flex; align-items: center; gap: 2mm; font-size: 8.5pt; text-transform: uppercase; }
.clube-cart-top img { max-height: 9mm; max-width: 22mm; object-fit: contain; }
.clube-cart-body { display: flex; gap: 3mm; margin-top: 2mm; flex: 1; min-height: 0; }
.clube-cart-photo { width: 22mm; height: 28mm; flex: none; border: 1px solid #ccc; display: grid; place-items: center; background: #f2f2f2; font-weight: 700; font-size: 12pt; }
.clube-cart-photo img { width: 100%; height: 100%; object-fit: cover; }
.clube-cart dl { margin: 0; display: grid; gap: .6mm; align-content: start; min-width: 0; }
.clube-cart dt { font-size: 6pt; text-transform: uppercase; color: #666; margin: 0; }
.clube-cart dd { margin: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clube-cart-qr { width: 26mm; height: 26mm; flex: none; }
.clube-cart-qr svg { width: 100%; height: 100%; display: block; }
.clube-cart-foot { font-size: 5.5pt; color: #555; margin: 1mm 0 0; line-height: 1.25; }
@media print { .clube-cart-sheet.uma .clube-cart-pair { margin-top: 10mm; } }

/* Loja L4 */
.loja-pricing input[name^="novo"] { width: 7rem; min-width: 0; }
.loja-chart { margin: 0; }
.loja-chart svg { width: 100%; height: 160px; display: block; }
.loja-chart rect { fill: var(--c-primary, #e11d2e); opacity: .85; }
.loja-metrics .metric span.small, .loja-metrics .metric .small { display: block; margin-top: .2rem; }
.loja-bar { display: block; width: 100%; min-width: 120px; }
.loja-bar svg { width: 100%; height: 8px; display: block; }
.loja-bar rect { fill: var(--c-primary, #e11d2e); }
.loja-bar-col { width: 30%; }

/* Clube C5a */
.clube-vis-card input[name="codigo"] { font-size: 1.05rem; }
.clube-vis-filtros .field { min-width: 0; }
.clube-vis-filtros input[type="date"] { max-width: 10rem; }
.clube-vis-termo { margin-top: .8rem; }
.clube-c5a-ammo { width: 5rem; }
.clube-c5a-pce { max-width: 1180px; overflow-x: auto; page: pce; }
.clube-c5a-pce .iat-doc-table { font-size: 11px; }
.clube-c5a-pce .iat-doc-table td, .clube-c5a-pce .iat-doc-table th { padding: 3px 5px; overflow-wrap: normal; word-break: normal; }

/* Clube C5b */
.clube-comp-mods { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .4rem .9rem; }
.clube-comp-mods > div { display: flex; flex-direction: column; gap: .2rem; }
.clube-comp-res input[type="text"], .clube-comp-res input:not([type]) { width: 6.5rem; }
.clube-comp-sumula td { height: 1.9rem; }
.page-break-after { break-after: page; }
.plain-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .3rem; }

/* Administração */
.admin-acting { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; justify-content: space-between; padding: .45rem 1rem; background: #e11d2e; color: #fff; font-size: 13px; }
.admin-acting form { margin: 0; }
.admin-acting select { max-width: 18rem; padding: .25rem .4rem; }
.admin-acting .button { background: #fff; color: #b0111f; border-color: #fff; }
.admin-acting-switch { flex: 1 1 14rem; display: flex; justify-content: center; }
.admin-areas { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .7rem; }
.admin-area { display: flex; flex-direction: column; gap: .4rem; }
.admin-area select { width: 100%; }
body:not(.office-layout) .metric strong { color: #fff; } body:not(.office-layout) .metric span { color: #c9c9c9; }

/* Armeiro A1 */
.assinatura-campo { display: flex; flex-direction: column; gap: .35rem; max-width: 640px; }
.assinatura-tela { width: 100%; max-width: 600px; aspect-ratio: 3 / 1; height: auto; background: #fff; border: 1px dashed var(--c-line, #dce4ef); border-radius: 8px; touch-action: none; cursor: crosshair; }
.assinatura-campo.assinado .assinatura-tela { border-style: solid; border-color: var(--c-success, #1f8a4c); }
.assinatura-campo.assinatura-falta .assinatura-tela { border: 2px solid var(--c-danger, #c0392b); }
.assinatura-acoes { display: flex; justify-content: space-between; align-items: center; gap: .5rem; max-width: 600px; }
.armeiro-fotos { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.armeiro-fotos img { width: 160px; height: 120px; object-fit: cover; border-radius: 6px; border: 1px solid var(--c-line, #dce4ef); display: block; }
/* Armeiro A2: livro de controle */
.livro-hash { word-break: break-all; font-size: .8rem; }
.livro-tabela { font-size: .72rem; }
.livro-tabela td:first-child, .livro-tabela td:nth-child(3) { white-space: nowrap; }
.livro-tabela td, .livro-tabela th { vertical-align: top; }
.livro-tabela small { font-size: .72rem; }
@media print { .livro-doc .livro-tabela { font-size: 8pt; } }
.armeiro-assinaturas { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-bottom: .75rem; }
.armeiro-assinaturas figure { margin: 0; display: flex; flex-direction: column; gap: .3rem; }
.armeiro-assinaturas img { width: 100%; max-width: 300px; height: auto; background: #fff; border: 1px solid var(--c-line, #dce4ef); border-radius: 6px; }
.armeiro-assinaturas figcaption { font-size: .85rem; color: var(--c-muted, #536379); }
.armeiro-totais { margin-top: .75rem; }
.armeiro-entrega { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--c-line, #dce4ef); }
.armeiro-painel { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin-top: 1rem; }
.armeiro-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.armeiro-lista li { border-bottom: 1px solid var(--c-line, #dce4ef); padding-bottom: .45rem; }
.armeiro-lista li:last-child { border-bottom: 0; }
.assinatura-termo { width: 240px; max-width: 100%; height: auto; display: block; margin: 0 auto -.4rem; }

/* Despachante D1 */
.desk-aviso-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 12px 16px; margin-bottom: 16px; }
.desk-aviso-count { display: inline-flex; align-items: center; gap: 6px; }
.desk-aviso-links { margin-left: auto; }
.desk-aviso-cell { min-width: 150px; }
.desk-aviso-cell small { display: block; }
.desk-aviso-when { color: oklch(0.62 0.14 150); font-weight: 600; }
.desk-aviso-cell .button { white-space: nowrap; }
.desk-aviso-form, .desk-aviso-batch { margin: 0; display: inline-flex; }
.desk-aviso-models { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.desk-aviso-sample { display: block; margin-top: 4px; white-space: normal; }
.desk-aviso-history { margin-top: 16px; }
@media (max-width: 640px) { .desk-aviso-links { margin-left: 0; } .desk-aviso-models { grid-template-columns: 1fr; } }

/* Despachante D3/D4/D5: Pix dos honorários, rodapé de verificação e documentos emitidos */
.desk-pix-qr { width: 180px; max-width: 60vw; margin: .5rem 0; }
.desk-pix-qr svg, .desk-verify-qr svg { width: 100%; height: auto; display: block; }
.desk-portal-pix { margin-top: .35rem; }
.desk-portal-fees li { align-items: flex-start; }
.desk-verify-foot { display: flex; gap: 12px; align-items: center; margin-top: 18px; padding-top: 10px; border-top: 1px solid #d1d5db; }
.desk-verify-qr { width: 84px; flex: 0 0 84px; }
.desk-verify-foot p { margin: 0; overflow-wrap: anywhere; }
.desk-doc-sign { display: flex; flex-direction: column; align-items: center; width: 320px; max-width: 100%; margin: 28px auto 0; text-align: center; }
.desk-doc-sign img { background: #fff; border-radius: 6px; margin: 0 auto 4px; }
.desk-doc-sign span { display: block; width: 100%; border-top: 1px solid currentColor; margin-bottom: 4px; }
.desk-doc-sign small { font-size: 11px; opacity: .75; }
.desk-doc-emit { margin-bottom: 1rem; }
.desk-hash { overflow-wrap: anywhere; word-break: break-all; font-size: 12px; }
.desk-verify-foot code { overflow-wrap: anywhere; word-break: break-all; font-size: 10px; }
/* /verificar no tema escuro: a ficha herda o fundo do cartão (antes ficava branca com texto claro) */
.iat-verify-card .summary-card.plain { background: transparent; }

/* Armeiro A3: oficina na área do cliente */
.armeiro-portal-os .table-wrap table { min-width: 0; }
.armeiro-portal-os .armeiro-fotos img { width: 96px; height: 72px; object-fit: cover; border-radius: 6px; }
.armeiro-portal-os .armeiro-aprovar .check-field { display: flex; align-items: center; gap: .5rem; font-weight: 600; }
.armeiro-portal-os .armeiro-aprovar .check-field input { width: auto; flex: none; }

/* Início do despachante no padrão do original: busca + Central de Certidões, situações com zerados recolhidos. */
.dash-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: 1rem; }
.dash-toolbar .head-search { flex: 0 1 340px; }
.status-bar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .55rem .6rem; margin-bottom: 1rem; }
.status-bar-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.office-layout .status-bar a.status-chip.is-on, .status-bar a.status-chip.is-on { background: var(--c-primary); border-color: var(--c-primary); color: #fff; font-weight: 600; border-radius: 10px; padding: .5rem .9rem; }
.office-layout .status-bar a.status-chip.is-on strong { color: #fff; font-size: 15px; }
.office-layout .status-bar a.status-chip.is-on:hover { filter: brightness(1.08); }
.office-layout[data-tema] .status-bar a.status-bar-zero, .status-bar-zero { color: var(--c-muted); font-size: 13px; text-decoration: none; white-space: nowrap; }
.status-bar-zero:hover { color: var(--c-text); }
.office-layout[data-tema] .row-list a.row-main, a.row-main { color: inherit; text-decoration: none; }
a.row-main:hover strong { text-decoration: underline; }
@media (max-width: 600px) { .dash-toolbar .head-search { flex: 1 1 100%; } .dash-toolbar .button { width: 100%; justify-content: center; } }
.office-layout[data-tema] .dash-alerts th a:not(.button), .dash-alerts th a { color: var(--c-text); text-decoration: none; font-weight: 600; }
.dash-alerts th a:hover { text-decoration: underline; }

/* Declarações do clube: rodapé de autenticação com QR. */
.clube-decl-auth { display: flex; align-items: center; gap: 14px; margin-top: 18px; padding-top: 10px; border-top: 1px solid #ccc; font-size: 11px; line-height: 1.45; break-inside: avoid; }
.clube-decl-qr { width: 84px; height: 84px; flex: none; }
.clube-decl-qr svg { width: 100%; height: 100%; display: block; }
.clube-decl-auth p { margin: 0; }

/* DPA-BASE (Portaria DG/PF nº 19.109/2026) */
.dpa-strip { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; border-left: 4px solid var(--warn, #c98a00); margin-bottom: 1rem; }
.dpa-strip.dpa-late { border-left-color: var(--danger, #c0392b); }
.dpa-strip .button { margin-left: auto; }
.dpa-rules { margin: 0; padding-left: 1.1rem; display: grid; gap: .25rem; }
.dpa-table td { vertical-align: top; }
.dpa-table .toolbar { display: flex; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }
.dpa-table .toolbar input { width: 11rem; }
.dpa-table .row-actions { display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; }
.dpa-dados { margin: .4rem 0 0; display: grid; gap: .2rem; font-size: .85rem; }
.dpa-dados div { display: grid; grid-template-columns: minmax(7rem, auto) 1fr; gap: .5rem; }
.dpa-dados dt { color: var(--muted, #6b7280); }
.dpa-dados dd { margin: 0; overflow-wrap: anywhere; }

/* ===== Créditos do plano (barra de uso no Início e página ?page=creditos) ===== */
.credit-card { padding: 1rem 1.25rem; margin: 0 0 1.25rem; display: grid; gap: 1rem; }
.credit-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; flex-wrap: wrap; }
.credit-card-head h2 { margin: 0; }
.credit-card-head .muted-text { margin: .2rem 0 0; }
.credit-meter { --credit-fill: var(--c-primary, #2f6fd1); display: grid; gap: .35rem; }
.credit-meter.credit-warn { --credit-fill: var(--c-warn, #d89a1e); }
.credit-meter.credit-out { --credit-fill: var(--c-danger, #d6453d); }
.credit-meter-head { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; }
.credit-percent { font-variant-numeric: tabular-nums; color: var(--c-muted, #5c6b7a); font-size: 13px; }
.credit-out .credit-percent, .credit-warn .credit-percent { color: var(--credit-fill); font-weight: 600; }
.credit-track-meter { -webkit-appearance: none; -moz-appearance: none; appearance: none; display: block; width: 100%; height: 10px;
  border: 0; border-radius: 999px; overflow: hidden; background: var(--c-line, #e3e8ef); }
.credit-track-meter::-webkit-meter-bar { background: var(--c-line, #e3e8ef); border: 0; border-radius: 999px; height: 10px; }
.credit-track-meter::-webkit-meter-optimum-value,
.credit-track-meter::-webkit-meter-suboptimum-value,
.credit-track-meter::-webkit-meter-even-less-good-value { background: var(--credit-fill); border-radius: 999px; transition: width .3s ease; }
.credit-track-meter::-moz-meter-bar { background: var(--credit-fill); border-radius: 999px; }
.credit-track { height: 10px; border-radius: 999px; background: var(--c-line, #e3e8ef); overflow: hidden; }
.credit-track-unlimited span { display: block; height: 100%; width: 100%; background: repeating-linear-gradient(90deg, var(--c-primary-soft, #e8f0fc) 0 12px, var(--c-line, #e3e8ef) 12px 24px); }
.credit-figures, .credit-reset { margin: 0; font-size: 13px; font-variant-numeric: tabular-nums; }
.credit-reset { color: var(--c-muted, #5c6b7a); font-size: 12px; }
.credit-alert { margin: .25rem 0 0; padding: .5rem .7rem; border-radius: 8px; font-size: 13px;
  border: 1px solid color-mix(in oklch, var(--credit-fill) 45%, transparent); background: color-mix(in oklch, var(--credit-fill) 12%, transparent); }
.credit-limits { display: grid; gap: .35rem; border-top: 1px solid var(--c-line, #e3e8ef); padding-top: .75rem; }
.credit-limit { margin: 0; display: flex; justify-content: space-between; gap: .75rem; font-size: 13px; }
.credit-limit span { color: var(--c-muted, #5c6b7a); }
.credit-past { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.credit-past li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; padding: .45rem 0; border-bottom: 1px solid var(--c-line, #e3e8ef); }
.credit-past a[aria-current="true"] { font-weight: 700; }

/* Clube: etiquetas de atirador (paleta fixa por causa da CSP) */
.tag-row { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .25rem; }
.tag-chip { display: inline-block; padding: .1rem .5rem; border-radius: 999px; font-size: 11.5px; font-weight: 600; line-height: 1.5; text-decoration: none; border: 1px solid transparent; }
a.tag-chip:hover { filter: brightness(.95); }
.tag-azul { background: oklch(0.93 0.05 255); color: oklch(0.42 0.16 255); }
.tag-verde { background: oklch(0.93 0.07 150); color: oklch(0.42 0.13 150); }
.tag-amarelo { background: oklch(0.95 0.1 95); color: oklch(0.45 0.1 85); }
.tag-laranja { background: oklch(0.93 0.08 60); color: oklch(0.48 0.15 50); }
.tag-vermelho { background: oklch(0.93 0.06 25); color: oklch(0.5 0.19 25); }
.tag-roxo { background: oklch(0.93 0.06 300); color: oklch(0.45 0.17 300); }
.tag-rosa { background: oklch(0.94 0.06 350); color: oklch(0.5 0.17 350); }
.tag-ciano { background: oklch(0.94 0.06 210); color: oklch(0.45 0.1 210); }
.tag-cinza { background: oklch(0.93 0 0); color: oklch(0.4 0 0); }
.tag-preto { background: oklch(0.3 0 0); color: oklch(0.97 0 0); }
.chip.chip-tag[aria-current="true"] { outline: 2px solid currentColor; outline-offset: 1px; }
.tag-check { align-items: center; }
.tag-bulk { margin: .25rem 0 .75rem; }

/* Clube: centro de custos e prestação de contas */
.data-table .total-row th, .data-table .total-row td { border-top: 2px solid var(--c-line); font-weight: 700; }
.print-block { margin-top: 1.25rem; }
.print-block .card-head { padding: 0; }

/* Clube: termos e notificações */
.termo-texto { max-height: 60vh; overflow: auto; padding: .75rem 1rem; border: 1px solid var(--c-line); border-radius: 8px; background: var(--c-bg); font-size: 14px; line-height: 1.55; }
.termo-item summary { cursor: pointer; padding: .35rem 0; }
.termo-item.is-pending summary strong { color: var(--c-primary); }
.termo-item .toolbar { margin-top: .6rem; }

/* Clube: ficha eletrônica de prova (lançamento pelo celular) */
.ficha-itens input, .ficha-itens select { width: 100%; min-width: 6rem; }
.ficha-campos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75rem; }
.ficha-campo input { font-size: 20px; padding: .55rem .7rem; text-align: center; }
.ficha-dq { font-size: 16px; padding: .4rem 0; }
.ficha-lista li { padding: 0; }
.ficha-atleta { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; padding: .75rem .5rem; color: inherit; text-decoration: none; }
a.ficha-atleta:hover { background: var(--c-bg); }
.ficha-lista li.is-done .ficha-total { font-weight: 700; color: var(--c-success); }
.ficha-total { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
  .ficha-nota .ficha-acoes .button { flex: 1 1 100%; justify-content: center; min-height: 48px; }
  .ficha-campos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.table-wrap-rel { position: relative; } /* rótulos sr-only (absolutos) dentro da tabela não alargam a página no celular */
/* Registro da venda no SICOVEM/SisGCorp (extensão 1.3.0) */
.oficial-form { display: inline-flex; flex-wrap: wrap; gap: .4rem; margin: .3rem 0 0 .4rem; vertical-align: middle; }
.oficial-form input { max-width: 12rem; }
/* Quadros oficiais das declarações (Portaria 166-COLOG/2023) */
.clube-decl-quadro th[scope="row"] { text-align: left; font-weight: 700; width: 18%; white-space: nowrap; }
.clube-decl-quadro td { width: 32%; }
/* Notas fiscais */
fieldset.panel { border: 1px solid var(--c-line, #e3e8ef); min-width: 0; }
fieldset.panel:disabled { opacity: .85; }
.fiscal-legend { padding: 0 .4rem; font-weight: 700; font-size: 15px; }
.fiscal-missing { margin: .4rem 0 .6rem 1.1rem; padding: 0; }
.fiscal-missing li { margin: .15rem 0; }
.fiscal-checks { display: grid; gap: .35rem; align-content: end; }
.fiscal-total { padding: .75rem 1rem 0; margin: 0; }
.fiscal-items input, .fiscal-items select { width: 100%; min-width: 3.5rem; padding: .35rem .45rem; }
.fiscal-items td:first-child input { min-width: 12rem; }
.fiscal-events { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; font-size: 13.5px; }
.fiscal-events li { padding: .35rem 0; border-bottom: 1px solid var(--c-line, #e3e8ef); }
.row-actions .button .pill { margin-left: .25rem; }
/* Processos e encaminhamentos do clube */
.proc-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: .8rem; overflow-x: auto; padding-bottom: .6rem; margin-top: 1rem; }
.proc-col { padding: .7rem; display: flex; flex-direction: column; gap: .55rem; background: #f8fafd; }
.proc-col > header { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.proc-col > header h2 { margin: 0; font-size: .95rem; }
.proc-card { display: flex; flex-direction: column; gap: .3rem; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: inherit; text-decoration: none; }
.proc-card:hover { border-color: var(--blue); }
.proc-card small { color: var(--muted); font-size: 12px; }
.proc-dots { display: inline-flex; gap: 3px; }
.proc-dots i { width: 14px; height: 6px; border-radius: 3px; background: var(--line); }
.proc-dots i.ok { background: oklch(0.65 0.14 150); }
.proc-dots i.now { background: var(--blue); }
.proc-dots i.bad { background: oklch(0.58 0.2 25); }
.proc-issue { display: block; font-size: 12px; padding: .1rem .45rem; border-left: 3px solid var(--line); margin: .1rem 0; }
.proc-issue.danger { border-left-color: oklch(0.58 0.2 25); color: oklch(0.45 0.18 25); }
.proc-issue.warn { border-left-color: oklch(0.75 0.15 75); color: oklch(0.45 0.1 70); }
.proc-issue.info { border-left-color: var(--blue); color: var(--blue-dark); }
.proc-issues { list-style: none; padding: 0; margin: 0; display: grid; gap: .25rem; }
.proc-stepper { list-style: none; padding: 0; margin: 1rem 0; display: flex; flex-wrap: wrap; gap: .35rem; counter-reset: etapa; }
.proc-stepper li { counter-increment: etapa; }
.proc-stepper li > * { display: inline-block; padding: .35rem .75rem; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-size: 13px; font-weight: 600; text-decoration: none; color: var(--muted); }
.proc-stepper li > *::before { content: counter(etapa) ". "; }
.proc-stepper li.ok > * { background: oklch(0.95 0.05 150); border-color: oklch(0.8 0.08 150); color: oklch(0.4 0.1 150); }
.proc-stepper li.now > * { background: var(--blue); border-color: var(--blue); color: #fff; }
.proc-stepper li.bad > * { background: oklch(0.95 0.04 25); border-color: oklch(0.8 0.1 25); color: oklch(0.45 0.18 25); }
.proc-step.current { border-color: var(--blue); box-shadow: 0 0 0 2px var(--blue-light); }
.proc-stage-pick { display: grid; gap: .5rem; }
.proc-stage-row { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr); gap: .3rem 1rem; align-items: end; padding: .4rem 0; border-bottom: 1px solid var(--line); }
@media (max-width: 640px) { .proc-stage-row { grid-template-columns: 1fr; } }
.proc-log { list-style: none; padding: 0; margin: .8rem 0 0; display: grid; gap: .35rem; font-size: 13px; }
.proc-log time { color: var(--muted); font-variant-numeric: tabular-nums; }
.proc-row-ok td { background: oklch(0.97 0.03 150); }
.proc-row-bad td { background: oklch(0.96 0.03 25); }
.pill.success { background: oklch(0.95 0.05 150); color: oklch(0.42 0.11 150); }

/* Mapas para o Exército (Anexo XXIV, frequência, associados) */
.mapa-doc { page: mapa; background: #fff; color: #111; padding: 1.2rem 1.4rem; margin-top: 1rem; font-size: 12px; }
@page mapa { size: A4 landscape; margin: 10mm; }
.mapa-head h1 { font-size: 15px; text-align: center; letter-spacing: 0; margin-bottom: .6rem; }
.mapa-head p { margin: 0 0 .45rem; line-height: 1.45; text-align: justify; }
.mapa-head .mapa-vocativo { font-weight: 700; }
.mapa-table { width: 100%; border-collapse: collapse; margin-top: .6rem; }
.mapa-table th, .mapa-table td { border: 1px solid #9aa4b2; padding: .25rem .4rem; vertical-align: top; }
.mapa-table thead th { background: #e8ebf0; font-size: 10.5px; text-align: center; }
.mapa-estocagem .mapa-table td.num, .mapa-estocagem .mapa-table th.num { text-align: center; white-space: nowrap; }
.mapa-estocagem .mapa-table td:first-child { width: 42%; }
.mapa-table tfoot th { background: #f1f3f6; }
.mapa-relacao .mapa-table { font-size: 10.5px; }
.mapa-sign { margin-top: 1.2rem; display: grid; gap: .5rem; }
.mapa-sign .mapa-line { margin-top: 1.6rem; }
@media print { .mapa-doc { box-shadow: none; border: 0; padding: 0; margin: 0; } .mapa-table thead { display: table-header-group; } .mapa-table tr { break-inside: avoid; } .mapa-table thead th, .mapa-table tfoot th { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
.mapa-scroll { overflow-x: auto; }
.proc-edit > summary { cursor: pointer; color: var(--blue); font-size: 13px; margin: .3rem 0; }
@media print { .mapa-scroll { overflow: visible; } }
/* Pedidos de declaração entre escritórios */
.decl-req-strip a { color: inherit; }
.decl-req-clubs { border: 1px solid var(--line, #d8dde3); border-radius: 10px; padding: .75rem 1rem; margin: 0; display: grid; gap: .45rem; max-height: 22rem; overflow-y: auto; }
.decl-req-clubs legend { padding: 0 .35rem; }
.detail-list { display: grid; grid-template-columns: minmax(8rem, 12rem) 1fr; gap: .45rem 1rem; margin: 0; }
.detail-list dt { color: var(--muted, #5b6573); font-weight: 600; }
.detail-list dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 640px) { .detail-list { grid-template-columns: 1fr; } .detail-list dd { margin-bottom: .4rem; } }
.pill.muted { background: #eef1f5; color: var(--muted); }
.pill.success { background: oklch(0.95 0.05 150); color: oklch(0.42 0.12 150); }

/* Loja e fiscal (notas destinadas, tributos, transferências) */
.fiscal-group { margin: 1rem 0 .4rem; font-size: 14px; font-weight: 700; color: var(--c-muted, #5b6573); }
.fiscal-checks legend { margin-bottom: .2rem; }
.fiscal-stat { font-size: 1.35rem; font-weight: 700; margin: .2rem 0; }
.fiscal-items td select + select { margin-top: .3rem; }
.fiscal-key { overflow-wrap: anywhere; }
/* Financeiro completo (paridade com o Shooting House) */
.fin-tabs { flex-wrap: nowrap; }
.fin-head { margin-bottom: .4rem; }
.fin-toolbar { align-items: center; }
.fin-toolbar .month-filter { margin: 0; }
.fin-form [hidden], .fin-bulk-bar [hidden] { display: none !important; }
.fin-form legend { font-weight: 650; font-size: 13px; color: var(--c-primary); padding: 0 .3rem; }
.fin-filters .fin-advanced { flex: 1 1 100%; }
.fin-filters .fin-advanced summary { cursor: pointer; color: var(--c-primary); font-size: 13px; font-weight: 600; }
.fin-filters .fin-advanced .field-grid { margin-top: .6rem; }
.fin-bulk-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .7rem 1rem; border-bottom: 1px solid var(--c-line); }
.fin-bulk-bar select, .fin-bulk-bar input:not([type=checkbox]) { width: auto; max-width: 16rem; padding: .35rem .5rem; }
.fin-table td, .fin-table th { white-space: nowrap; }
.fin-table th[scope=row] { white-space: normal; min-width: 12rem; }
.fin-totals .kpi strong { font-size: 18px; }
.fin-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; align-items: start; }
.fin-chart { margin: .5rem 0 .25rem; }
.fin-chart svg { width: 100%; height: 150px; display: block; }
.fin-bar-in { fill: var(--c-success, #15803d); }
.fin-bar-out { fill: var(--c-danger, #c81e1e); opacity: .8; }
.fin-chart-labels { display: flex; justify-content: space-around; font-size: 11.5px; color: var(--c-muted); }
.fin-key { display: inline-block; width: .7rem; height: .7rem; border-radius: 2px; vertical-align: middle; margin-left: .4rem; }
.fin-key.in { background: var(--c-success, #15803d); }
.fin-key.out { background: var(--c-danger, #c81e1e); }
.fin-status .pill { font-size: 13px; }
.fin-current td { background: var(--c-primary-soft, #eef3ff); font-weight: 600; }
.fin-danger { justify-content: flex-end; margin-top: 1rem; }
.fin-inline { display: inline-flex; gap: .35rem; align-items: center; margin: .2rem .3rem .2rem 0; }
.fin-inline input[type=date] { width: auto; padding: .3rem .4rem; }
.fin-plan .fin-depth-2 { padding-left: 1.6rem; }
.fin-plan .fin-depth-3 { padding-left: 2.6rem; }
.fin-plan .fin-depth-4, .fin-plan .fin-depth-5 { padding-left: 3.4rem; }
.fin-dre td { text-align: right; white-space: nowrap; }
.fin-dre-group th, .fin-dre-group td { font-weight: 650; }
.fin-dre-total th, .fin-dre-total td { font-weight: 700; background: var(--c-primary-soft, #eef3ff); }
.fin-dre-detail th { padding-left: 1.8rem; font-weight: 400; color: var(--c-muted); }
.fin-dre-detail td { color: var(--c-muted); font-size: 12.5px; }
.fin-flow td { white-space: nowrap; }
.fin-late td, .fin-late th { color: var(--c-danger, #c81e1e); }
.fin-year { width: 6.5rem; }
.fin-schedule { display: inline-block; position: relative; }
.fin-schedule summary { list-style: none; }
.fin-schedule summary::-webkit-details-marker { display: none; }
.fin-schedule[open] form { position: absolute; right: 0; z-index: 5; min-width: 16rem; padding: .8rem; margin-top: .3rem; border: 1px solid var(--c-line); border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgb(0 0 0 / .12); text-align: left; }
.muted-text.block { display: block; }
@media (max-width: 900px) { .fin-two { grid-template-columns: minmax(0, 1fr); } }
@media print {
  .fin-tabs, .fin-toolbar, .filters, .fin-bulk-bar, .row-actions, .chip-row, .fin-danger, form.panel { display: none !important; }
  .fin-dre-total th, .fin-dre-total td { background: none; }
}
.fin-toolbar form { display: inline-flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: 0; }
.fin-toolbar input:not([type=checkbox]), .fin-toolbar select { width: auto; }
.fin-dre th[scope=row] { min-width: 16rem; text-align: left; }
.fin-dre thead th { text-align: right; }
.fin-dre thead th:first-child { text-align: left; }
/* Secretaria do clube e acessos externos */
.grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; align-items: start; }
.pill.sec-tag { background: oklch(0.95 0.02 270); color: oklch(0.42 0.08 270); }
.pill.sec-cor-azul { background: oklch(0.94 0.04 250); color: oklch(0.42 0.14 250); }
.pill.sec-cor-verde { background: oklch(0.94 0.05 150); color: oklch(0.42 0.12 150); }
.pill.sec-cor-amarelo { background: oklch(0.96 0.07 95); color: oklch(0.45 0.1 80); }
.pill.sec-cor-laranja { background: oklch(0.94 0.06 60); color: oklch(0.48 0.14 50); }
.pill.sec-cor-vermelho { background: oklch(0.94 0.05 25); color: oklch(0.5 0.19 25); }
.pill.sec-cor-roxo { background: oklch(0.94 0.04 300); color: oklch(0.45 0.15 300); }
.pill.sec-cor-cinza { background: oklch(0.94 0 0); color: oklch(0.42 0 0); }
.sec-log { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }
.sec-log li { padding: .5rem .75rem; border-left: 3px solid var(--c-line); background: oklch(0.98 0 0); border-radius: 4px; }
.sec-log p { margin: .15rem 0 0; }
.sec-fields code { display: inline-block; margin: 0 .25rem .25rem 0; padding: 0 .3rem; border-radius: 4px; background: oklch(0.96 0 0); font-size: 12px; }
.sec-map th.center, .sec-map td.center { text-align: center; }
.sec-map thead th { font-size: 11.5px; white-space: normal; min-width: 70px; }
.sec-ok { color: oklch(0.5 0.14 150); font-weight: 700; }
.sec-miss { color: oklch(0.6 0.15 25); }
.sec-doc .sec-par { white-space: normal; }
.sec-qr-poster { text-align: center; }
.sec-qr-poster h1 { font-size: 28px; }
.sec-qr-big { font-size: 22px; font-weight: 700; margin: .5rem 0 1rem; }
.sec-qr-img { width: 320px; height: 320px; margin: 0 auto 1rem; }
.ext-portal .tabs { margin-top: .5rem; }
@media print { .sec-qr-img { width: 12cm; height: 12cm; } .sec-map thead th { min-width: 0; } }

/* Reconhecimento facial do clube (totem e cadastro) */
.face-stage { position: relative; max-width: 480px; aspect-ratio: 4 / 3; background: #111; border-radius: 12px; overflow: hidden; margin: .75rem 0; }
.face-stage video { width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); }
.face-status { font-size: 1.05rem; font-weight: 600; min-height: 1.6em; }
.face-status[data-kind="ok"] { color: var(--c-success, #157347); }
.face-status[data-kind="erro"] { color: var(--c-danger, #b42318); }
.face-purpose { display: flex; gap: 1.25rem; flex-wrap: wrap; margin-bottom: .5rem; }
.face-term-text { white-space: pre-wrap; font-family: inherit; font-size: 13px; background: var(--c-surface-2, #f6f6f6); border: 1px solid var(--c-line); border-radius: 8px; padding: .75rem; max-height: 320px; overflow: auto; }
.face-file { cursor: pointer; }

/* Site × app Android (TWA): o servidor manda as duas versões; o app abre em display-mode standalone. */
.so-app { display: none; }
.so-web.so-contents { display: contents; } /* invólucro de página inteira: não mexe no layout */
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) {
  .so-web { display: none !important; }
  .so-app { display: revert !important; }
}

/* Status da PF (barra do despachante e do instrutor, topo do app do cliente) */
.pf-status { display: inline-flex; align-items: center; gap: .5rem; flex-wrap: wrap; position: relative; }
.pf-status-out { font-size: .82rem; line-height: 1.3; padding: .35rem .6rem; border-radius: 8px; background: var(--surface-2, #f2f2f2); color: var(--text, #222); max-width: 22rem; }
.pf-status-out.pf-no_ar { background: #e6f6ec; color: #135c2f; }
.pf-status-out.pf-lento { background: #fff6d6; color: #6b4e00; }
.pf-status-out.pf-instavel { background: #ffe9d6; color: #7a3300; }
.pf-status-out.pf-fora, .pf-status-out.pf-erro { background: #fde3e3; color: #8a1414; }
@media (max-width: 720px) { .pf-status-out { position: absolute; top: 110%; right: 0; z-index: 30; width: min(20rem, 80vw); box-shadow: 0 4px 16px rgba(0,0,0,.15); } }
.check-inline { display: inline-flex; align-items: center; gap: .35rem; font-size: .85rem; white-space: nowrap; }

/* ===== Mais cores do sistema (menu "Cores do sistema", todas as áreas) ===== */
/* Preto e azul: mesma base preta do preto e vermelho, destaques em azul. */
.office-layout[data-tema="escuro-preto-azul"] {
  --c-bg: #000; --c-side: #0a0a0a; --c-surface: #111; --c-line: #262626;
  --c-text: #f5f5f5; --c-muted: #a3a3a3;
  --c-primary: #2563eb; --c-primary-dark: #60a5fa; --c-primary-soft: #0b1a33;
}
.office-layout[data-tema="escuro-preto-azul"] :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea) { background: #0a0a0a; }
.office-layout[data-tema="escuro-preto-azul"] .office-menu a:hover, .office-layout[data-tema="escuro-preto-azul"] .office-more summary:hover { background: #1a1a1a; }
.office-layout[data-tema="escuro-preto-azul"] .data-table thead th { background: #0a0a0a; }
/* Branco e azul / branco e verde: base clara, só o destaque muda. */
.office-layout[data-tema="claro-azul"] { --c-primary: #1d4ed8; --c-primary-dark: #1e40af; --c-primary-soft: #e0eaff; }
.office-layout[data-tema="claro-verde"] { --c-primary: #15803d; --c-primary-dark: #166534; --c-primary-soft: #dcfce7; }
.swatch-escuro-preto-azul { background: linear-gradient(135deg, #000 50%, #2563eb 50%); }
.swatch-claro-azul { background: linear-gradient(135deg, #fff 50%, #1d4ed8 50%); }
.swatch-claro-verde { background: linear-gradient(135deg, #fff 50%, #15803d 50%); }

/* Tema escuro em todas as áreas: blocos que tinham fundo claro fixo passam para a superfície escura
   (ou um tom escuro da mesma cor), com letra clara. Documentos para imprimir continuam brancos. */
.office-layout[data-tema^="escuro"] :where(.topbar, .kanban-card, .kanban-col, .filters-box, .proc-card, .proc-col, .proc-stepper li > *,
  .fin-schedule[open] form, .clube-cart, .gov-card, .read-hint, .client-detail td, .bar, .sec-log li, .sec-fields code,
  .face-term-text, .admin-acting .button, thead th) { background: var(--c-surface); color: var(--c-text); border-color: var(--c-line); }
.office-layout[data-tema^="escuro"] :is(.clube-alert.vencido:not(.zero), .loja-blocked, .proc-row-bad td, .proc-stepper li.bad > *) { background: oklch(0.3 0.07 25); color: var(--c-text); border-color: oklch(0.42 0.09 25); }
.office-layout[data-tema^="escuro"] :is(.feedback.info, .clube-alert.avencer:not(.zero), .money-row.gru-row, .button.warn-soft, .ai-filled input, .ai-filled select, .ai-filled textarea) { background: oklch(0.3 0.06 85); color: var(--c-text); border-color: oklch(0.42 0.08 85); }
.office-layout[data-tema^="escuro"] :is(.doc-status-list li.ok, .cert-card.ok, .proc-row-ok td, .proc-stepper li.ok > *, .button.success-soft) { background: oklch(0.29 0.06 150); color: var(--c-text); border-color: oklch(0.4 0.08 150); }
.office-layout[data-tema^="escuro"] :is(.promo-icon, .fin-current td, .fin-dre-total th, .fin-dre-total td) { background: var(--c-primary-soft); color: var(--c-text); }
.office-layout[data-tema^="escuro"] :is(.feedback.info, .clube-alert, .loja-blocked) a:not(.button) { color: var(--c-primary-dark); }
.office-layout[data-tema^="escuro"] .quick-option { border-color: var(--c-line); }
/* Documentos para imprimir continuam brancos com letra escura, inclusive as tabelas (R-066.1). */
.office-layout[data-tema^="escuro"] :is(.print-document, .quote-doc, .mapa-doc, .iat-cert, .loja-receipt) :is(th, td, caption) { color: #182536; border-color: #d5dbe3; }
.office-layout[data-tema^="escuro"] :is(.print-document, .quote-doc, .mapa-doc, .iat-cert, .loja-receipt) :is(thead th, .data-table thead th) { background: #f4f7fb; color: #182536; }
.office-layout[data-tema^="escuro"] :is(.print-document, .quote-doc, .mapa-doc, .iat-cert, .loja-receipt) :is(.muted, .muted-text, small) { color: #4a5a6e; }
.office-layout[data-tema^="escuro"] :is(.print-document, .quote-doc, .mapa-doc, .iat-cert, .loja-receipt):is(*, .panel.panel) { background: #fff; color: #182536; border-color: #d5dbe3; }

/* Itens não mudam de cor ao passar o mouse ou clicar (pedido do usuário). No tema escuro, os fundos
   claros desses estados deixavam o item branco com letra branca. */
.office-layout tbody tr:not(.is-open):is(:hover, :active, :focus-within) { background: transparent; }
.office-layout[data-tema^="escuro"] .client-table tr.is-open { background: oklch(0.3 0.05 85); }
.office-layout .quick-option:is(:hover, :active) { background: transparent; border-color: oklch(0.9 0.01 255); }
.office-layout[data-tema^="escuro"] .quick-option:is(:hover, :active) { background: transparent; border-color: var(--c-line); }
.office-layout[data-tema^="escuro"] .button.danger:hover,
.office-layout[data-tema^="escuro"] .icon-button.danger:hover { background: transparent; }

/* Menu lateral agrupado: títulos dos grupos e links em cor de texto (não na cor de destaque) no tema escuro. */
.office-layout[data-tema^="escuro"] .office-menu a:not(.button):not(.chip):not([aria-current]),
.office-layout[data-tema^="escuro"] .office-group > summary { color: var(--c-text); }
.office-group > summary { font-weight: 600; }
.office-group .nav-count, .office-more summary .nav-count { margin-left: auto; }
.office-layout[data-tema^="escuro"] .office-menu a[aria-current]:not(.button):not(.chip) { background: var(--c-primary); color: #fff; }
