:root {
  --bg: #f3f6f8;
  --surface: #ffffff;
  --surface-2: #f8fafb;
  --text: #17212b;
  --muted: #6b7885;
  --line: #e3e8ed;
  --brand: #0b513d;
  --brand-2: #177357;
  --accent: #f2a33a;
  --green: #16805f;
  --red: #c84646;
  --yellow: #a86c00;
  --blue: #2e6fa3;
  --shadow: 0 12px 32px rgba(14, 70, 53, .09);
  --radius: 16px;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); color: var(--text); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
.hidden { display: none !important; }

/* Login */
.login-page { min-height: 100vh; display: grid; grid-template-columns: 1.08fr .92fr; background: #fff; }
.login-hero { background: linear-gradient(145deg, #073d2e 0%, #0d5c45 62%, #17765a 100%); color: #fff; padding: 54px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; }
.login-hero::before, .login-hero::after { content: ""; position: absolute; border-radius: 999px; background: rgba(255,255,255,.06); }
.login-hero::before { width: 420px; height: 420px; right: -180px; top: -120px; }
.login-hero::after { width: 260px; height: 260px; left: -120px; bottom: 30px; }
.brand-lockup { position: relative; z-index: 1; }
.brand-mark { width: 50px; height: 50px; border-radius: 14px; background: var(--accent); display: grid; place-items: center; font-weight: 900; color: #0c4b39; letter-spacing: -.04em; box-shadow: 0 12px 28px rgba(0,0,0,.16); }
.brand-name { margin-top: 18px; font-size: 29px; font-weight: 800; letter-spacing: -.03em; }
.brand-sub { margin-top: 6px; opacity: .72; font-size: 14px; }
.hero-copy { position: relative; z-index: 1; max-width: 590px; }
.hero-copy h1 { font-size: 46px; line-height: 1.05; margin: 0 0 18px; letter-spacing: -.045em; }
.hero-copy p { margin: 0; font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.76); }
.hero-badges { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.hero-badge { border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.07); padding: 9px 12px; border-radius: 999px; font-size: 12px; }
.login-panel { display: grid; place-items: center; padding: 32px; }
.login-card { width: min(440px, 100%); }
.login-card h2 { font-size: 30px; margin: 0 0 6px; letter-spacing: -.035em; }
.login-card > p { color: var(--muted); margin: 0 0 28px; }
.field { display: grid; gap: 7px; margin-bottom: 15px; }
.field label { font-size: 12px; font-weight: 750; color: #52606d; }
.input, .select, .textarea { width: 100%; border: 1px solid #d9e0e6; border-radius: 11px; padding: 12px 13px; background: #fff; color: var(--text); outline: none; transition: .15s; }
.input:focus, .select:focus, .textarea:focus { border-color: #4f9a7f; box-shadow: 0 0 0 3px rgba(22,124,93,.12); }
.textarea { min-height: 90px; resize: vertical; }
.btn { border: 0; border-radius: 10px; padding: 11px 14px; font-weight: 750; display: inline-flex; gap: 8px; align-items: center; justify-content: center; transition: .15s; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--brand); }
.btn-accent { color: #16382d; background: var(--accent); }
.btn-soft { color: var(--brand); background: #e8f2ee; }
.btn-danger { color: #fff; background: var(--red); }
.btn-outline { background: #fff; border: 1px solid var(--line); color: var(--text); }
.btn-full { width: 100%; }
.login-error { color: var(--red); background: #fff0f0; border: 1px solid #f4cccc; border-radius: 10px; padding: 10px 12px; margin: 0 0 14px; font-size: 13px; }
.login-foot { margin-top: 22px; color: #86929e; font-size: 12px; text-align: center; }

/* Shell */
.shell { min-height: 100vh; display: grid; grid-template-columns: 245px minmax(0,1fr); }
.sidebar { background: #0b4938; color: #fff; min-height: 100vh; padding: 22px 16px; position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; }
.sidebar-brand { display: flex; align-items: center; gap: 11px; padding: 4px 7px 22px; }
.sidebar-brand .brand-mark { width: 38px; height: 38px; border-radius: 10px; font-size: 13px; }
.sidebar-brand strong { display:block; letter-spacing: -.02em; }
.sidebar-brand small { color: rgba(255,255,255,.58); font-size: 10px; }
.nav { display: grid; gap: 5px; }
.nav-section { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.42); padding: 17px 10px 7px; }
.nav-btn { border: 0; width: 100%; background: transparent; color: rgba(255,255,255,.76); padding: 10px 11px; border-radius: 10px; display: flex; align-items: center; gap: 10px; text-align: left; font-weight: 650; font-size: 13px; }
.nav-btn:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav-btn.active { background: rgba(255,255,255,.11); color: #fff; box-shadow: inset 3px 0 0 var(--accent); }
.nav-icon { width: 23px; text-align: center; opacity: .9; }
.sidebar-footer { margin-top: auto; border-top: 1px solid rgba(255,255,255,.09); padding: 15px 8px 0; }
.user-line { display: flex; align-items: center; gap: 10px; }
.avatar { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #19684f; color: #fff; font-weight: 800; font-size: 12px; }
.user-meta { min-width: 0; flex: 1; }
.user-meta strong { font-size: 12px; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.user-meta small { color: rgba(255,255,255,.52); font-size: 10px; }
.logout-btn { margin-top: 12px; width: 100%; background: transparent; border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.7); padding: 8px; border-radius: 9px; }
.main { min-width: 0; }
.topbar { height: 70px; background: rgba(255,255,255,.95); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 28px; position: sticky; top: 0; z-index: 20; backdrop-filter: blur(8px); }
.topbar-title h1 { margin: 0; font-size: 19px; letter-spacing: -.025em; }
.topbar-title p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.env-badge { font-size: 10px; font-weight: 800; letter-spacing: .06em; color: #805600; background: #fff3d8; border: 1px solid #f1dcaa; padding: 6px 9px; border-radius: 999px; }
.content { padding: 24px 28px 44px; max-width: 1700px; margin: 0 auto; }

/* Cards */
.toolbar { display: flex; gap: 10px; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 18px; }
.toolbar-group { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.date-input { border:1px solid var(--line); border-radius:9px; padding:9px 10px; background:#fff; font-size:12px; color:#46515c; }
.kpi-grid { display:grid; grid-template-columns: repeat(6, minmax(150px,1fr)); gap:12px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 4px 16px rgba(30,51,70,.035); }
.kpi { padding: 17px; min-height: 114px; }
.kpi-top { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.kpi-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:#eef3f6; font-size:15px; }
.kpi-value { font-size: 23px; font-weight: 820; letter-spacing: -.04em; margin-top: 13px; }
.kpi-sub { color: var(--muted); font-size: 10px; margin-top: 5px; }
.kpi.good .kpi-value { color: var(--green); }
.kpi.bad .kpi-value { color: var(--red); }
.grid-2 { display:grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); gap:14px; margin-top:14px; }
.section-card { padding: 18px; }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.section-head h3 { margin:0; font-size:14px; letter-spacing:-.01em; }
.section-head span { color:var(--muted); font-size:11px; }
.summary-list { display:grid; gap:9px; }
.summary-row { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #eef1f3; padding:9px 0; font-size:12px; }
.summary-row:last-child { border-bottom:0; }
.summary-row strong { font-size:13px; }
.status-grid { display:grid; grid-template-columns: repeat(5,1fr); gap:8px; }
.status-tile { padding:12px; background:#f8fafb; border:1px solid #edf0f2; border-radius:11px; text-align:center; }
.status-tile strong { display:block; font-size:20px; }
.status-tile span { font-size:10px; color:var(--muted); }

/* Tables */
.table-card { overflow:hidden; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; min-width:760px; }
th { text-align:left; font-size:10px; color:#77838e; text-transform:uppercase; letter-spacing:.055em; background:#f9fbfc; border-bottom:1px solid var(--line); padding:11px 13px; position:sticky; top:0; }
td { border-bottom:1px solid #edf1f3; padding:11px 13px; font-size:12px; vertical-align:middle; }
tr:hover td { background:#fbfcfd; }
.money { font-variant-numeric: tabular-nums; font-weight:700; }
.muted { color:var(--muted); }
.badge { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:999px; font-size:10px; font-weight:800; white-space:nowrap; }
.badge.green { color:#0b694d; background:#e5f5ef; }
.badge.yellow { color:#7e5700; background:#fff3d8; }
.badge.red { color:#9b3030; background:#fdeaea; }
.badge.orange { color:#8a5200; background:#fff1d6; }
.badge.blue { color:#285f89; background:#e9f2f9; }
.badge.gray { color:#596673; background:#edf1f4; }
.badge.purple { color:#674c8a; background:#f0ebf7; }
.empty { padding:42px 18px; text-align:center; color:var(--muted); }
.empty strong { display:block; color:var(--text); margin-bottom:5px; }

/* Filters / tabs */
.tabs { display:flex; gap:5px; padding:5px; background:#e9eef2; border-radius:11px; width:max-content; max-width:100%; overflow:auto; }
.tab { border:0; background:transparent; color:#65727d; border-radius:8px; padding:8px 11px; font-size:11px; font-weight:750; white-space:nowrap; }
.tab.active { background:#fff; color:var(--brand); box-shadow:0 1px 4px rgba(0,0,0,.07); }
.search { width:260px; max-width:100%; }

/* Modal / drawer */
.overlay { position:fixed; inset:0; background:rgba(15,28,39,.45); z-index:90; display:grid; place-items:center; padding:18px; backdrop-filter: blur(2px); }
.modal { background:#fff; width:min(680px,100%); max-height:92vh; overflow:auto; border-radius:18px; box-shadow:0 28px 80px rgba(0,0,0,.2); }
.modal.wide { width:min(1180px,100%); }
.modal-head { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line); position:sticky; top:0; background:#fff; z-index:3; }
.modal-head h3 { margin:0; font-size:16px; }
.close-btn { border:0; background:#edf1f4; border-radius:9px; width:32px; height:32px; font-size:18px; }
.modal-body { padding:20px; }
.modal-foot { display:flex; justify-content:flex-end; gap:8px; padding:15px 20px; border-top:1px solid var(--line); position:sticky; bottom:0; background:#fff; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.form-grid .span-2 { grid-column:1/-1; }
.detail-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:10px; margin-bottom:16px; }
.detail-item { background:#f8fafb; border:1px solid #edf0f2; border-radius:10px; padding:10px; min-width:0; }
.detail-item label { display:block; font-size:9px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px; }
.detail-item div { font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.doc-layout { display:grid; grid-template-columns: minmax(0,1.1fr) minmax(330px,.9fr); gap:14px; }
.preview { min-height:430px; border:1px solid var(--line); border-radius:12px; background:#f5f7f8; overflow:hidden; }
.preview iframe { width:100%; height:600px; border:0; background:#fff; }
.preview pre { margin:0; padding:16px; white-space:pre-wrap; font:11px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; max-height:600px; overflow:auto; color:#31404c; }

/* Upload */
.upload-box { border:1.5px dashed #cbd5dc; border-radius:12px; padding:20px; text-align:center; background:#fbfcfd; }
.upload-box input { display:none; }
.upload-actions { display:flex; gap:8px; justify-content:center; margin-top:10px; flex-wrap:wrap; }

/* Toast */
.toast-root { position:fixed; right:20px; bottom:20px; z-index:200; display:grid; gap:8px; }
.toast { min-width:280px; max-width:420px; background:#0d4938; color:#fff; border-radius:11px; padding:12px 14px; box-shadow:var(--shadow); font-size:12px; animation:toastin .18s ease-out; }
.toast.error { background:#9f3535; }
.toast.success { background:#146c52; }
@keyframes toastin { from { transform:translateY(8px); opacity:0; } }

.loading { opacity:.55; pointer-events:none; }
.spinner { width:16px; height:16px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

@media (max-width: 1200px) {
  .kpi-grid { grid-template-columns: repeat(3, 1fr); }
  .detail-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 900px) {
  .login-page { grid-template-columns:1fr; }
  .login-hero { display:none; }
  .shell { grid-template-columns:72px minmax(0,1fr); }
  .sidebar { padding:15px 10px; }
  .sidebar-brand strong, .sidebar-brand small, .nav-btn span:not(.nav-icon), .nav-section, .user-meta, .logout-btn { display:none; }
  .sidebar-brand { justify-content:center; padding:2px 0 20px; }
  .nav-btn { justify-content:center; padding:11px; }
  .sidebar-footer { padding:12px 0 0; }
  .user-line { justify-content:center; }
  .content { padding:18px; }
  .topbar { padding:0 18px; }
  .doc-layout { grid-template-columns:1fr; }
}
@media (max-width: 650px) {
  .kpi-grid { grid-template-columns: repeat(2,1fr); }
  .grid-2 { grid-template-columns:1fr; }
  .status-grid { grid-template-columns: repeat(2,1fr); }
  .form-grid, .detail-grid { grid-template-columns:1fr; }
  .form-grid .span-2 { grid-column:auto; }
  .content { padding:14px; }
  .topbar-title p { display:none; }
}

/* V0.5 */
.kpi-grid { grid-template-columns: repeat(4, minmax(170px,1fr)); }
.field-help { display:block; margin-top:5px; color:var(--muted); font-size:10px; }
.installment-list { display:grid; gap:7px; }
.installment-row { display:grid; grid-template-columns:58px 1fr 120px; gap:7px; align-items:center; }
.installment-no { font-size:11px; color:var(--muted); font-weight:700; text-align:center; }
.file-list { max-height:180px; overflow:auto; text-align:left; width:min(600px,100%); margin-left:auto; margin-right:auto; }
@media (max-width: 1200px) { .kpi-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 650px) { .installment-row { grid-template-columns:48px 1fr; } .installment-row .installment-amount { grid-column:2; } }

/* V0.6 */
.mini-kpis { display:grid; grid-template-columns:repeat(6,minmax(130px,1fr)); gap:9px; }
.mini-kpi { padding:13px 14px; border:1px solid var(--line); border-radius:11px; background:#f9fbfc; min-width:0; }
.mini-kpi span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.04em; font-weight:750; }
.mini-kpi strong { display:block; margin-top:6px; font-size:17px; letter-spacing:-.02em; overflow-wrap:anywhere; }
.mini-kpi.good strong { color:var(--green); }
.mini-kpi.bad strong { color:var(--red); }
.overdue-list { display:grid; gap:7px; }
.overdue-row { width:100%; border:1px solid var(--line); background:#fff; border-radius:10px; padding:10px 12px; display:flex; justify-content:space-between; align-items:center; gap:12px; text-align:left; }
.overdue-row:hover { background:#fbfcfd; }
.overdue-row span { min-width:0; }
.overdue-row span strong { display:block; font-size:12px; }
.overdue-row span small { display:block; color:var(--muted); margin-top:2px; }
.overdue-row > strong { color:var(--red); white-space:nowrap; }
.recon-note { margin-top:12px; padding:11px 13px; border:1px solid #e5e9ec; background:#f8fafb; border-radius:10px; font-size:12px; }
.recon-table { max-height:360px; border:1px solid var(--line); border-radius:10px; margin-top:12px; }
.timeline { display:grid; gap:8px; }
.timeline-row { display:grid; grid-template-columns:120px 150px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid #edf1f3; align-items:start; }
.timeline-row:last-child { border-bottom:0; }
.timeline-row strong { font-size:11px; }
.timeline-row span { font-size:10px; color:var(--muted); }
.timeline-row small { font-size:10px; color:#586570; overflow-wrap:anywhere; }
@media (max-width:1200px){ .mini-kpis{grid-template-columns:repeat(3,1fr)} }
@media (max-width:650px){ .mini-kpis{grid-template-columns:repeat(2,1fr)} .timeline-row{grid-template-columns:1fr} }
.nav { overflow-y:auto; min-height:0; padding-right:2px; }
.expense-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.module-note { padding:12px 14px; border:1px solid var(--line); background:#f8fafb; border-radius:11px; color:var(--muted); font-size:12px; margin-bottom:14px; }
.callout{border:1px solid var(--border);background:var(--surface-soft,#f7fafc);border-radius:12px;padding:14px 16px}.callout strong{display:block;margin-bottom:4px}

/* V0.9.6 • Operações / Minutas */
.inline{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px}.input.uf{width:100%;text-transform:uppercase}.check-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:6px 0 10px}.check-line input{width:16px;height:16px}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 14px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fafcfd}.check-grid .check-line{margin:0;color:var(--text)}

/* V0.9.11 • Fiscal, regras tributárias e NFS-e Municipal */
:root { --border: var(--line); }
.transport-section { border:1px solid var(--line); border-radius:14px; background:#fff; padding:16px; margin:14px 0; }
.transport-section > h3 { margin:0 0 14px; font-size:15px; letter-spacing:-.015em; }
.service-total-box { min-height:72px; border:1px solid #cbdde9; border-radius:12px; background:#eef6fb; padding:12px 14px; display:flex; flex-direction:column; justify-content:center; }
.service-total-box span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.045em; font-weight:800; }
.service-total-box strong { color:var(--brand); font-size:21px; margin-top:5px; }
.fiscal-compose { display:grid; gap:12px; }
.fiscal-panel { border:1px solid var(--line); border-radius:12px; background:#fafcfd; padding:13px; }
.fiscal-panel h4 { margin:0 0 10px; font-size:12px; color:var(--brand); }
.fiscal-preview { display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)); gap:9px; margin-top:10px; }
.fiscal-preview .mini-kpi { background:#fff; }
.nfse-filter-card { border:1px solid var(--line); border-radius:14px; background:#fff; padding:14px; margin-bottom:14px; }
.nfse-filters { display:grid; grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(150px,1fr)); gap:10px; align-items:end; }
.nfse-client-grid { display:grid; grid-template-columns:repeat(4,minmax(210px,1fr)); gap:10px; margin:10px 0 16px; }
.nfse-client-card { width:100%; border:1px solid var(--line); border-radius:13px; background:#fff; padding:14px; text-align:left; color:var(--text); transition:.15s; min-width:0; }
.nfse-client-card:hover { border-color:#b9cbd7; background:#fbfdfe; }
.nfse-client-card.selected { border-color:#4d87ae; box-shadow:0 0 0 2px rgba(46,111,163,.11); background:#f7fbfe; }
.nfse-client-head { display:flex; justify-content:space-between; gap:9px; align-items:flex-start; }
.nfse-client-head strong { font-size:12px; line-height:1.35; overflow-wrap:anywhere; }
.nfse-location { color:var(--brand-2); font-weight:800; font-size:12px; margin:8px 0 4px; }
.nfse-card-meta { border-top:1px solid #edf1f3; margin-top:10px; padding-top:10px; display:flex; justify-content:space-between; gap:10px; align-items:flex-end; }
.nfse-card-meta span { color:var(--muted); font-size:10px; }
.nfse-card-meta strong { color:var(--text); font-size:16px; display:block; }
.nfse-card-meta span:last-child { text-align:right; }
.nfse-summary { border:1px solid var(--line); border-radius:14px; background:#fff; padding:16px; align-self:start; position:sticky; top:84px; }
.nfse-summary .section-head { margin-bottom:8px; }
.nfse-net { margin-top:8px; padding:12px; border:1px solid #cbdde9; background:#eef6fb; border-radius:10px; }
.nfse-net strong { color:var(--brand); font-size:17px; }
.summary-list { display:grid; gap:0; }
.summary-row { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; padding:9px 0; border-bottom:1px solid #edf1f3; font-size:12px; }
.summary-row:last-child { border-bottom:0; }
.summary-row span { color:var(--muted); }
.summary-row strong { text-align:right; overflow-wrap:anywhere; }
.nfse-workspace { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:14px; align-items:start; }
.badge.blue { color:#1e5f8c; background:#e8f3fa; }
.badge.red { color:#9b3030; background:#fbeaea; }
.badge.green { color:#136c50; background:#e7f5ef; }
.btn:disabled { opacity:.48; cursor:not-allowed; transform:none; }

@media (max-width: 1250px) {
  .nfse-filters { grid-template-columns:repeat(3,minmax(170px,1fr)); }
  .nfse-client-grid { grid-template-columns:repeat(2,minmax(220px,1fr)); }
  .fiscal-preview { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 900px) {
  .nfse-workspace { grid-template-columns:1fr; }
  .nfse-summary { position:static; }
  .nfse-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .nfse-filters, .nfse-client-grid, .fiscal-preview { grid-template-columns:1fr; }
  .nfse-card-meta { align-items:flex-start; }
  .nfse-card-meta span:last-child { text-align:left; }
  .summary-row { flex-direction:column; gap:4px; }
  .summary-row strong { text-align:left; }
}

/* V0.9.11 — Fiscal / NFS-e */
.transport-section { border:1px solid var(--line); border-radius:14px; padding:16px; background:#fff; margin:14px 0; }
.transport-section .section-head { margin-bottom:12px; }
.service-total-box { min-width:180px; padding:10px 14px; border-radius:12px; background:#eef6ff; text-align:right; border:1px solid #d7e8fb; }
.service-total-box small { display:block; color:var(--muted); font-weight:700; }
.service-total-box strong { display:block; color:#123d70; font-size:20px; margin-top:3px; }
.fiscal-panel { background:#fbfdff; }
.fiscal-preview { display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); gap:9px; margin-top:12px; }
.nfse-group-grid { display:grid; grid-template-columns:repeat(4,minmax(220px,1fr)); gap:12px; }
.nfse-group-card { width:100%; border:1px solid var(--line); border-radius:13px; background:#fff; padding:15px; text-align:left; cursor:pointer; color:var(--text); display:flex; flex-direction:column; gap:7px; transition:.16s ease; min-width:0; }
.nfse-group-card:hover { border-color:#9db7d0; background:#fbfdff; }
.nfse-group-card.active { border-color:#2e70b6; box-shadow:0 0 0 2px rgba(46,112,182,.10); background:#f6faff; }
.nfse-group-card > strong { font-size:14px; overflow-wrap:anywhere; }
.nfse-group-card > span { color:#1d4e83; font-weight:700; }
.nfse-group-card small { color:var(--muted); overflow-wrap:anywhere; }
.nfse-group-footer { display:flex; align-items:end; justify-content:space-between; gap:10px; border-top:1px solid var(--line); padding-top:10px; margin-top:2px; }
.nfse-group-footer strong { color:#184f90; font-size:17px; }
@media (max-width:1400px){.nfse-group-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.fiscal-preview{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1000px){.nfse-group-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}}
@media (max-width:650px){.nfse-group-grid{grid-template-columns:1fr}.fiscal-preview{grid-template-columns:repeat(2,1fr)}.service-total-box{width:100%;text-align:left}}
\n/* V0.9.11.1 — desktop workspace for CT-e / Minuta */
.operation-workspace{align-items:flex-start;justify-content:flex-end;padding:18px 22px 18px 255px;background:rgba(18,35,49,.34)}
.operation-workspace .operation-desktop{width:100%;max-width:none;height:calc(100vh - 36px);max-height:none;border-radius:18px;display:flex;flex-direction:column;overflow:hidden}
.operation-workspace .modal-head{padding:20px 26px}.operation-workspace .modal-head h3{font-size:22px}
.operation-workspace .modal-body{padding:22px 26px 34px;overflow:auto;background:#f6f8fa}
.operation-workspace .modal-foot{padding:16px 26px}
.operation-workspace .callout{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.operation-workspace .modal-body>h3,.operation-workspace .section-head{background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;padding:17px 18px;margin:18px 0 0!important}
.operation-workspace .modal-body>h3 + .form-grid,.operation-workspace .section-head + .module-note{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;padding:18px;margin-top:0}
.operation-workspace .grid-2{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.operation-workspace .modal-body>h3 + .grid-2{border-top:0;border-radius:0 0 14px 14px;margin-top:0}
.operation-workspace .module-note{background:#fff}
.operation-workspace .input,.operation-workspace .select,.operation-workspace .textarea{background:#fff}
@media(max-width:1100px){.operation-workspace{padding:12px}.operation-workspace .operation-desktop{height:calc(100vh - 24px)}}
/* V0.9.11.2 — CT-e / Minuta workspace */
.operation-workspace{padding:0 0 0 236px!important;background:#eef3f8!important;align-items:stretch!important;justify-content:stretch!important}
.operation-workspace .operation-desktop{height:100vh!important;border-radius:0!important;box-shadow:none!important;border:0!important;background:#f4f7fb!important;padding-right:320px;position:relative}
.operation-workspace .modal-head{height:78px;padding:16px 24px!important;background:#f8fbff;border-bottom:1px solid #dbe5ef}
.operation-workspace .modal-head h3{font-size:27px!important;letter-spacing:-.03em}.operation-workspace .modal-head h3:after{content:'Emissão operacional e fiscal do transporte';display:block;font-size:14px;font-weight:500;color:#60738a;margin-top:3px;letter-spacing:0}
.operation-workspace .modal-body{padding:14px 18px 90px!important;background:#f4f7fb!important}
.operation-workspace .modal-foot{position:absolute;right:0;bottom:0;width:320px;z-index:5;background:#fff;border-top:1px solid #dbe5ef;padding:14px 16px!important}
.operation-workspace .op-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:0 0 10px}
.operation-workspace .op-kpi{background:#fff;border:1px solid #dbe5ef;border-radius:9px;padding:10px 13px;min-height:58px}.op-kpi span{display:block;font-size:11px;color:#687b91}.op-kpi strong{display:block;font-size:17px;margin-top:4px;color:#0f2e4a}
.operation-workspace .callout{padding:9px 13px!important;margin-bottom:8px;border-radius:9px!important}.operation-workspace .callout strong{font-size:13px}
.operation-workspace .modal-body>h3,.operation-workspace .section-head{padding:9px 12px!important;margin:8px 0 0!important;border-radius:9px 9px 0 0!important}.operation-workspace .modal-body>h3{font-size:15px!important}
.operation-workspace .modal-body>h3 + .form-grid,.operation-workspace .section-head + .module-note{padding:10px 12px!important;border-radius:0 0 9px 9px!important}
.operation-workspace .grid-2,.operation-workspace .transport-section{padding:10px 12px!important;border-radius:9px!important;margin:8px 0!important}.operation-workspace .form-grid{gap:8px 12px}.operation-workspace .field{gap:4px}.operation-workspace .field label{font-size:11px}.operation-workspace .input,.operation-workspace .select{min-height:36px;padding:7px 10px;font-size:13px}.operation-workspace .textarea{min-height:62px}.operation-workspace .field-help{font-size:10px}.operation-workspace .toolbar{min-height:auto;padding:7px 0}.operation-workspace .btn{min-height:35px;padding:7px 12px;font-size:12px}
.operation-workspace .fiscal-preview{grid-template-columns:repeat(4,1fr);gap:7px}.operation-workspace .mini-kpi{padding:8px}.operation-workspace .mini-kpi span{font-size:10px}.operation-workspace .mini-kpi strong{font-size:12px}
.operation-workspace .op-summary-side{position:absolute;right:0;top:78px;bottom:65px;width:320px;padding:14px;background:#eef3f8;border-left:1px solid #dbe5ef;overflow:auto;z-index:4}.op-side-card{background:#fff;border:1px solid #dbe5ef;border-radius:10px;padding:14px;margin-bottom:12px}.op-side-card h3{margin:0 0 12px;font-size:15px;color:#102f4c}.op-side-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px;border-bottom:1px solid #edf1f5}.op-side-row span{color:#60738a}.op-side-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:11px;background:#eaf3ff;border-radius:8px;color:#0c4aa3}.op-side-total strong{font-size:16px}.op-steps{padding-left:22px;margin:0}.op-steps li{padding:5px 0 10px;color:#15334f}.op-steps b{display:block;font-size:12px}.op-steps span{display:block;font-size:10px;color:#6a7c90;margin-top:2px}.op-side-financial{margin-top:12px;padding-top:6px;border-top:1px solid #dbe5ef}.op-side-gross strong{font-weight:800}.op-side-retention strong,.op-side-retention-total strong{color:#9b3030}.op-side-retention-total{font-weight:700}.op-side-help{display:block;margin-top:9px;line-height:1.4;color:#6a7c90;font-size:10px}
.operation-workspace .table-wrap{border-radius:9px}.operation-workspace table th,.operation-workspace table td{padding:7px 9px;font-size:11px}
@media(max-width:1250px){.operation-workspace{padding-left:0!important}.operation-workspace .operation-desktop{padding-right:280px}.operation-workspace .op-summary-side,.operation-workspace .modal-foot{width:280px}}
@media(max-width:980px){.operation-workspace .operation-desktop{padding-right:0}.operation-workspace .op-summary-side{position:static;width:auto;border-left:0}.operation-workspace .modal-foot{position:sticky;width:auto}.operation-workspace .op-kpi-strip{grid-template-columns:repeat(2,1fr)}}

/* Party master V0.9.14 */
.bp-tabs { margin-bottom:16px; }
.bp-panel[hidden] { display:none !important; }
.bp-panel { display:block; }
.section-card { border:1px solid var(--line); border-radius:12px; padding:15px; margin-bottom:14px; background:#fff; }
.section-card h3 { margin:0 0 13px; font-size:14px; }

/* V0.9.18.2 - consulta de documentos emitidos */
.transport-filter-card { padding:18px; margin-bottom:14px; }
.transport-filters { display:grid; grid-template-columns:repeat(5,minmax(150px,1fr)); gap:12px; align-items:end; }
.transport-filter-actions { margin-top:14px; margin-bottom:0; }
.doc-number-chip { display:inline-block; padding:3px 7px; margin:2px 3px 2px 0; border-radius:999px; background:#eef3f7; font-size:12px; white-space:nowrap; }
@media (max-width:1400px){ .transport-filters { grid-template-columns:repeat(4,minmax(150px,1fr)); } }
@media (max-width:1050px){ .transport-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px){ .transport-filters { grid-template-columns:1fr; } .transport-filter-actions { align-items:flex-start; } }

/* MDF-e */
.check-list{display:grid;gap:8px}.check-row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.check-row input{margin-top:3px}.check-row span{display:flex;flex-direction:column;gap:3px}.check-row small{color:var(--muted);font-size:12px}.check-row:hover{background:#f8fafc}

/* V0.9.24.1 — workspaces fiscais com menu lateral visível e proteção contra fechamento acidental */
.operation-workspace{background:transparent!important;backdrop-filter:none!important}
.mdfe-workspace{align-items:stretch!important;justify-content:stretch!important;padding:12px 18px 12px 263px!important;background:transparent!important;backdrop-filter:none!important}
.mdfe-workspace .mdfe-desktop{width:100%!important;max-width:none!important;height:calc(100vh - 24px)!important;max-height:none!important;display:flex;flex-direction:column;overflow:hidden;border-radius:16px}
.mdfe-workspace .modal-head{padding:18px 22px;flex:0 0 auto}
.mdfe-workspace .modal-body{padding:18px 22px 90px;overflow:auto;background:#f6f8fb;flex:1 1 auto}
.mdfe-workspace .modal-foot{position:absolute;bottom:12px;right:18px;left:263px;padding:14px 22px;background:#fff;border-top:1px solid var(--line);z-index:4;border-radius:0 0 16px 16px}
.mdfe-review-workspace{padding-left:263px!important;background:transparent!important;backdrop-filter:none!important}
.mdfe-review-workspace .modal.wide{width:min(1180px,calc(100vw - 300px));max-height:94vh}
@media(max-width:900px){.mdfe-workspace{padding-left:90px!important}.mdfe-workspace .modal-foot{left:90px}.mdfe-review-workspace{padding-left:90px!important}.mdfe-review-workspace .modal.wide{width:calc(100vw - 110px)}.operation-workspace{background:transparent!important}}

/* V0.9.25.6 • filtros de abastecimentos */
.fuel-filter-card { padding:16px 18px; margin-bottom:14px; }
.fuel-filters { display:grid; grid-template-columns:repeat(4,minmax(170px,1fr)); gap:10px 12px; }
.fuel-filters .field { margin-bottom:0; }
.fuel-filter-actions { margin-top:14px; margin-bottom:0; }
@media (max-width:1250px){ .fuel-filters { grid-template-columns:repeat(3,minmax(160px,1fr)); } }
@media (max-width:900px){ .fuel-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px){ .fuel-filters { grid-template-columns:1fr; } .fuel-filter-actions { align-items:flex-start; } }

/* V0.9.25.17 • usuários, módulos e escopo operacional */
.nav{overflow-y:auto;min-height:0;padding-right:3px}
.nav::-webkit-scrollbar{width:5px}.nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:9px}
.access-user-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}
.access-tabs{display:flex;gap:6px;margin-bottom:16px;padding:5px;background:#e9eef2;border-radius:11px;width:max-content;max-width:100%}
.access-scope-list{display:grid;gap:8px;margin:12px 0}.access-scope-list.disabled{opacity:.45;pointer-events:none}
.access-scope-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd}
.access-all{margin-bottom:10px}.empty.compact{padding:20px 12px}
.access-matrix{display:grid;gap:16px}.access-group{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.access-group h4{margin:0;padding:11px 14px;background:#f6f9fb;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#51606e}
.access-module-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;padding:12px 14px;border-bottom:1px solid #edf1f3}.access-module-row:last-child{border-bottom:0}.access-module-name strong{display:block;font-size:12px}.access-module-name small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.access-actions{display:flex;gap:6px;flex-wrap:wrap}.access-actions label{display:flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:6px 8px;font-size:10px;color:#52606d;cursor:pointer}.access-actions input{margin:0}.access-actions label:has(input:checked){background:#eaf3ff;border-color:#c8dcef;color:#184e77}
@media(max-width:900px){.access-module-row{grid-template-columns:1fr}.access-scope-row{grid-template-columns:1fr}.access-user-head{align-items:flex-start;flex-direction:column}}


/* V0.9.25.18 • relatórios gerenciais */
.report-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.report-actions-grid .section-card{margin-bottom:0}
.report-actions-grid .section-card h3{margin-top:0}
@media(max-width:900px){.report-actions-grid{grid-template-columns:1fr}}


/* V0.9.25.28 • identidade verde 7 Flexas + nova experiência de despesas */
.company-logo-white { display:block; object-fit:contain; object-position:left center; filter:none; }
.login-company-logo { width:min(310px,78%); height:auto; max-height:112px; margin-bottom:12px; }
.sidebar-company-logo { width:112px; height:42px; flex:0 0 auto; }
.sidebar-product { min-width:0; }
.sidebar-product strong { font-size:12px; }
.sidebar-product small { display:block; margin-top:2px; }
.sidebar { background:linear-gradient(180deg,#0a4937 0%,#083c2e 100%); }
.nav-btn.active { background:rgba(255,255,255,.12); box-shadow:inset 3px 0 0 var(--accent); }
.nav-btn:hover { background:rgba(255,255,255,.075); }
.avatar { background:#1b6e55; }
.btn-primary { background:linear-gradient(135deg,#0b513d,#177357); box-shadow:0 5px 14px rgba(11,81,61,.15); }
.btn-primary:hover { box-shadow:0 7px 18px rgba(11,81,61,.22); }
.btn-soft { background:#e8f3ef; color:#0b513d; }
.input:focus,.select:focus,.textarea:focus { border-color:#4f9a7f; box-shadow:0 0 0 3px rgba(22,124,93,.12); }
.tab.active { color:#0b513d; }
.access-actions label:has(input:checked){background:#e8f4ef;border-color:#bcdccc;color:#0d634a}
.env-badge { color:#6d5200; }

.expense-entry-modal { width:min(1420px,96vw)!important; max-height:94vh; }
.expense-entry-modal .modal-head { background:linear-gradient(90deg,#f7fbf9,#fff); }
.expense-entry-modal .modal-head h3 { font-size:19px; }
.expense-entry-modal .modal-body { padding:18px; background:#f3f7f5; }
.expense-entry-modal .modal-foot { padding:14px 18px; }
.expense-entry-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.58fr); gap:16px; align-items:start; }
.expense-entry-main { display:grid; gap:13px; min-width:0; }
.expense-form-card { background:#fff; border:1px solid #dfe9e5; border-radius:15px; padding:17px 18px; box-shadow:0 3px 12px rgba(14,70,53,.035); }
.expense-form-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:13px; margin-bottom:14px; border-bottom:1px solid #edf2f0; }
.expense-form-title > div { display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:9px; align-items:center; }
.expense-form-title strong { font-size:14px; color:#163c31; }
.expense-form-title small { grid-column:2; display:block; color:var(--muted); font-size:10px; margin-top:2px; }
.expense-step { grid-row:1/3; width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#e7f4ef; color:#0b6a4e; font-weight:850; font-size:11px; }
.expense-form-card .field { margin-bottom:0; }
.expense-form-card .form-grid { gap:12px; }
.expense-money-input { font-size:17px; font-weight:800; color:#0b513d; }
.account-field { padding:10px; margin:-10px; border-radius:12px; background:#f5fbf8; border:1px solid #d7ebe3; }
.account-field .select:disabled { opacity:1; color:#174b3c; background:#eef7f3; cursor:not-allowed; font-weight:700; }
.account-auto-note { display:flex; gap:9px; align-items:flex-start; margin-top:13px; padding:10px 12px; border-radius:10px; background:#eaf7f1; color:#145d47; border:1px solid #d2eadf; }
.account-auto-note > span { width:21px; height:21px; border-radius:50%; display:grid; place-items:center; background:#16805f; color:#fff; font-size:11px; font-weight:900; flex:0 0 auto; }
.account-auto-note strong,.account-auto-note small { display:block; }
.account-auto-note strong { font-size:11px; }
.account-auto-note small { margin-top:2px; font-size:10px; color:#567269; }
.account-auto-note.warning { background:#fff8e8; color:#775300; border-color:#f0dfb3; }
.account-auto-note.warning > span { background:#b77a00; }
.expense-entry-side { position:sticky; top:0; display:grid; gap:12px; }
.expense-summary-card { background:linear-gradient(155deg,#0b513d 0%,#12684f 100%); color:#fff; border-radius:16px; padding:18px; box-shadow:0 14px 34px rgba(11,81,61,.18); }
.expense-summary-head { display:flex; justify-content:space-between; align-items:center; font-size:15px; font-weight:800; margin-bottom:10px; }
.expense-summary-icon { width:28px; height:28px; border-radius:9px; display:grid; place-items:center; background:rgba(255,255,255,.14); }
.expense-summary-row { display:grid; grid-template-columns:105px minmax(0,1fr); gap:10px; align-items:start; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.10); }
.expense-summary-row span { color:rgba(255,255,255,.64); font-size:10px; }
.expense-summary-row strong { text-align:right; font-size:11px; overflow-wrap:anywhere; }
.expense-summary-divider { height:1px; background:rgba(255,255,255,.15); margin:12px 0; }
.expense-summary-total { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
.expense-summary-total span { font-size:11px; color:rgba(255,255,255,.72); }
.expense-summary-total strong { font-size:25px; letter-spacing:-.04em; }
.expense-side-help { background:#fff; border:1px solid #dfe9e5; border-radius:13px; padding:14px; }
.expense-side-help strong { color:#184a3b; font-size:12px; }
.expense-side-help p { margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.expense-side-help.subtle { background:#f8fbfa; }
.expense-save-btn { min-width:170px; }

/* Troca dos azuis estruturais pelos verdes, preservando cores semânticas de erro/alerta. */
.operation-workspace { background:rgba(11,73,56,.28); }
.operation-workspace .operation-desktop,.operation-workspace .modal-body { background:#f4f8f6!important; }
.operation-workspace .modal-head { background:#f8fbfa; border-color:#d9e8e2; }
.operation-workspace .op-kpi,.operation-workspace .op-side-card { border-color:#d9e8e2; }
.operation-workspace .op-kpi strong,.op-side-card h3 { color:#123e32; }
.operation-workspace .op-summary-side { background:#eef5f2; border-color:#d9e8e2; }
.op-side-total { background:#e7f4ef; color:#0b6a4e; }

@media (max-width:1100px){
  .expense-entry-layout{grid-template-columns:1fr}.expense-entry-side{position:static;grid-template-columns:1fr 1fr}.expense-summary-card{grid-column:1/-1}
}
@media (max-width:700px){
  .expense-entry-modal{width:100%!important}.expense-entry-modal .modal-body{padding:10px}.expense-form-card{padding:13px}.expense-entry-side{grid-template-columns:1fr}.sidebar-company-logo{width:42px;height:36px;object-position:center}.sidebar-product{display:none}.login-company-logo{width:240px}
}

/* V0.9.25.29 • nova experiência de Ordens de Compra */
.purchase-entry-modal { width:min(1420px,96vw)!important; max-height:94vh; }
.purchase-entry-modal .modal-head { background:linear-gradient(90deg,#f7fbf9,#fff); }
.purchase-entry-modal .modal-head h3 { font-size:19px; }
.purchase-entry-modal .modal-body { padding:18px; background:#f3f7f5; }
.purchase-entry-modal .modal-foot { padding:14px 18px; }
.purchase-entry-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.58fr); gap:16px; align-items:start; }
.purchase-entry-main { display:grid; gap:13px; min-width:0; }
.purchase-form-card { background:#fff; border:1px solid #dfe9e5; border-radius:15px; padding:17px 18px; box-shadow:0 3px 12px rgba(14,70,53,.035); }
.purchase-form-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:13px; margin-bottom:14px; border-bottom:1px solid #edf2f0; }
.purchase-form-title > div { display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:9px; align-items:center; }
.purchase-form-title strong { font-size:14px; color:#163c31; }
.purchase-form-title small { grid-column:2; display:block; color:var(--muted); font-size:10px; margin-top:2px; }
.purchase-step { grid-row:1/3; width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#e7f4ef; color:#0b6a4e; font-weight:850; font-size:11px; }
.purchase-form-card .field { margin-bottom:0; }
.purchase-form-card .form-grid { gap:12px; }
.purchase-items-card { overflow:hidden; }
.purchase-items-head { display:grid; grid-template-columns:42px minmax(250px,1fr) minmax(150px,.38fr) 94px; gap:10px; padding:0 4px 7px; color:#687a73; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.purchase-items-list { display:grid; gap:8px; }
.po-item-row { display:grid; grid-template-columns:42px minmax(250px,1fr) minmax(150px,.38fr) 94px; gap:10px; align-items:end; padding:9px; border:1px solid #e2ebe7; border-radius:11px; background:#fbfdfc; }
.po-item-no { align-self:center; justify-self:center; width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:#e7f4ef; color:#0d664d; font-weight:850; font-size:11px; }
.po-item-row .po-item-value { text-align:right; font-weight:800; color:#0b513d; }
.purchase-items-total { margin-top:12px; padding:12px 14px; border-radius:11px; display:flex; justify-content:flex-end; align-items:center; gap:16px; background:#edf7f2; border:1px solid #d7ebe3; color:#265b4b; }
.purchase-items-total span { font-size:10px; font-weight:700; }
.purchase-items-total strong { font-size:19px; color:#0b513d; }
.purchase-entry-side { position:sticky; top:0; display:grid; gap:12px; }
.purchase-summary-card { background:linear-gradient(155deg,#0b513d 0%,#12684f 100%); color:#fff; border-radius:16px; padding:18px; box-shadow:0 14px 34px rgba(11,81,61,.18); }
.purchase-summary-head { display:flex; justify-content:space-between; align-items:center; font-size:15px; font-weight:800; }
.purchase-summary-icon { min-width:30px; height:28px; padding:0 7px; border-radius:9px; display:grid; place-items:center; background:rgba(255,255,255,.14); font-size:10px; letter-spacing:.03em; }
.purchase-summary-number { margin:9px 0 6px; font-size:11px; color:rgba(255,255,255,.68); font-weight:700; }
.purchase-summary-row { display:grid; grid-template-columns:105px minmax(0,1fr); gap:10px; align-items:start; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.10); }
.purchase-summary-row span { color:rgba(255,255,255,.64); font-size:10px; }
.purchase-summary-row strong { text-align:right; font-size:11px; overflow-wrap:anywhere; }
.purchase-summary-divider { height:1px; background:rgba(255,255,255,.15); margin:12px 0; }
.purchase-summary-total { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
.purchase-summary-total span { font-size:11px; color:rgba(255,255,255,.72); }
.purchase-summary-total strong { font-size:25px; letter-spacing:-.04em; }
.purchase-side-help { background:#fff; border:1px solid #dfe9e5; border-radius:13px; padding:14px; }
.purchase-side-help strong { color:#184a3b; font-size:12px; }
.purchase-side-help p { margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.purchase-side-help.subtle { background:#f8fbfa; }
.purchase-save-btn { min-width:190px; }
@media (max-width:1100px){
  .purchase-entry-layout{grid-template-columns:1fr}.purchase-entry-side{position:static;grid-template-columns:1fr 1fr}.purchase-summary-card{grid-column:1/-1}
}
@media (max-width:760px){
  .purchase-entry-modal{width:100%!important}.purchase-entry-modal .modal-body{padding:10px}.purchase-form-card{padding:13px}.purchase-entry-side{grid-template-columns:1fr}.purchase-items-head{display:none}.po-item-row{grid-template-columns:34px 1fr}.po-item-row .field{grid-column:2}.po-item-row .po-item-remove{grid-column:2;justify-self:end}
}

/* V0.9.25.30 • nova experiência de Manutenção */
.maintenance-page-intro { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; padding:15px 17px; border:1px solid #dfe9e5; border-radius:14px; background:linear-gradient(100deg,#f7fbf9,#fff); }
.maintenance-page-intro > div { display:grid; gap:4px; min-width:0; }
.maintenance-page-intro strong { color:#153f33; font-size:14px; }
.maintenance-page-intro span { color:var(--muted); font-size:11px; line-height:1.45; }
.maintenance-entry-modal { width:min(1420px,96vw)!important; max-height:94vh; }
.maintenance-entry-modal .modal-head { background:linear-gradient(90deg,#f7fbf9,#fff); }
.maintenance-entry-modal .modal-head h3 { font-size:19px; }
.maintenance-entry-modal .modal-body { padding:18px; background:#f3f7f5; }
.maintenance-entry-modal .modal-foot { padding:14px 18px; }
.maintenance-entry-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.58fr); gap:16px; align-items:start; }
.maintenance-entry-main { display:grid; gap:13px; min-width:0; }
.maintenance-form-card { background:#fff; border:1px solid #dfe9e5; border-radius:15px; padding:17px 18px; box-shadow:0 3px 12px rgba(14,70,53,.035); }
.maintenance-form-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:13px; margin-bottom:14px; border-bottom:1px solid #edf2f0; }
.maintenance-form-title > div { display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:9px; align-items:center; }
.maintenance-form-title strong { font-size:14px; color:#163c31; }
.maintenance-form-title small { grid-column:2; display:block; color:var(--muted); font-size:10px; margin-top:2px; }
.maintenance-step { grid-row:1/3; width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#e7f4ef; color:#0b6a4e; font-weight:850; font-size:11px; }
.maintenance-form-card .field { margin-bottom:0; }
.maintenance-form-card .form-grid { gap:12px; }
.maintenance-odo-input { font-weight:750; color:#0b513d; }
.maintenance-cost-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:13px; }
.maintenance-cost-strip > div { padding:11px 12px; border-radius:11px; background:#f7faf9; border:1px solid #e1ebe7; }
.maintenance-cost-strip span,.maintenance-cost-strip strong { display:block; }
.maintenance-cost-strip span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.04em; font-weight:750; }
.maintenance-cost-strip strong { margin-top:4px; color:#174c3d; font-size:13px; }
.maintenance-link-note { display:flex; gap:9px; align-items:flex-start; margin-top:12px; padding:10px 12px; border-radius:10px; background:#eaf7f1; color:#145d47; border:1px solid #d2eadf; }
.maintenance-link-note > span { width:21px; height:21px; border-radius:50%; display:grid; place-items:center; background:#16805f; color:#fff; font-size:11px; font-weight:900; flex:0 0 auto; }
.maintenance-link-note strong,.maintenance-link-note small { display:block; }
.maintenance-link-note strong { font-size:11px; }
.maintenance-link-note small { margin-top:2px; font-size:10px; color:#567269; line-height:1.45; }
.maintenance-entry-side { position:sticky; top:0; display:grid; gap:12px; }
.maintenance-summary-card { background:linear-gradient(155deg,#0b513d 0%,#12684f 100%); color:#fff; border-radius:16px; padding:18px; box-shadow:0 14px 34px rgba(11,81,61,.18); }
.maintenance-summary-head { display:flex; justify-content:space-between; align-items:center; font-size:15px; font-weight:800; margin-bottom:10px; }
.maintenance-summary-icon { width:30px; height:28px; border-radius:9px; display:grid; place-items:center; background:rgba(255,255,255,.14); }
.maintenance-summary-row { display:grid; grid-template-columns:105px minmax(0,1fr); gap:10px; align-items:start; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.10); }
.maintenance-summary-row span { color:rgba(255,255,255,.64); font-size:10px; }
.maintenance-summary-row strong { text-align:right; font-size:11px; overflow-wrap:anywhere; }
.maintenance-summary-divider { height:1px; background:rgba(255,255,255,.15); margin:12px 0; }
.maintenance-summary-total { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
.maintenance-summary-total span { font-size:11px; color:rgba(255,255,255,.72); }
.maintenance-summary-total strong { font-size:24px; letter-spacing:-.04em; }
.maintenance-side-help { background:#fff; border:1px solid #dfe9e5; border-radius:13px; padding:14px; }
.maintenance-side-help strong { color:#184a3b; font-size:12px; }
.maintenance-side-help p { margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.maintenance-side-help.subtle { background:#f8fbfa; }
.maintenance-save-btn { min-width:185px; }
@media (max-width:1100px){
  .maintenance-entry-layout{grid-template-columns:1fr}.maintenance-entry-side{position:static;grid-template-columns:1fr 1fr}.maintenance-summary-card{grid-column:1/-1}
}
@media (max-width:760px){
  .maintenance-page-intro{align-items:flex-start;flex-direction:column}.maintenance-entry-modal{width:100%!important}.maintenance-entry-modal .modal-body{padding:10px}.maintenance-form-card{padding:13px}.maintenance-entry-side{grid-template-columns:1fr}.maintenance-cost-strip{grid-template-columns:1fr}
}

/* V0.9.25.31 • manutenção preventiva */
.preventive-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:14px;padding:20px 22px;border-radius:17px;background:linear-gradient(135deg,#0b513d 0%,#146c52 100%);color:#fff;box-shadow:0 14px 34px rgba(11,81,61,.16)}
.preventive-hero>div:first-child{display:grid;gap:5px;max-width:760px}.preventive-eyebrow{font-size:9px;font-weight:850;letter-spacing:.12em;color:#b9e3d2}.preventive-hero strong{font-size:21px;letter-spacing:-.02em}.preventive-hero p{margin:0;color:rgba(255,255,255,.74);font-size:11px;line-height:1.55}.preventive-hero .btn-outline{border-color:rgba(255,255,255,.36);color:#fff;background:rgba(255,255,255,.05)}.preventive-hero .btn-soft{background:rgba(255,255,255,.13);color:#fff;border-color:rgba(255,255,255,.12)}
.preventive-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.preventive-kpi{background:#fff;border:1px solid #dde8e3;border-radius:14px;padding:14px 15px;box-shadow:0 3px 12px rgba(14,70,53,.03)}.preventive-kpi span,.preventive-kpi strong,.preventive-kpi small{display:block}.preventive-kpi span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#6e8179}.preventive-kpi strong{font-size:23px;color:#153f33;margin:4px 0 2px}.preventive-kpi small{font-size:9px;color:#82928c}.preventive-kpi.danger{border-color:#f0c8c8;background:#fffafa}.preventive-kpi.danger strong{color:#a62d2d}.preventive-kpi.warn{border-color:#eedfae;background:#fffdf7}.preventive-kpi.warn strong{color:#9a6a06}.preventive-kpi.good{border-color:#cde7dc;background:#fbfefc}.preventive-kpi.good strong{color:#0e7053}
.preventive-filter-card{padding:16px;margin-bottom:14px}.preventive-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.preventive-filter-actions{margin-top:10px}.preventive-table tr.preventive-row.overdue td:first-child{box-shadow:inset 4px 0 0 #c84a4a}.preventive-table tr.preventive-row.due_soon td:first-child{box-shadow:inset 4px 0 0 #d3a022}.preventive-table tr.preventive-row.ok td:first-child{box-shadow:inset 4px 0 0 #2b8c68}.preventive-remain{display:inline-block;font-size:9px;padding:3px 6px;border-radius:7px;background:#eef5f2;color:#47665b;margin:1px}.preventive-remain.negative{background:#fdeaea;color:#a02d2d;font-weight:800}
.preventive-section-title{display:flex;align-items:flex-end;justify-content:space-between;margin:22px 2px 9px}.preventive-section-title h2{font-size:15px;color:#153f33;margin:0}.preventive-section-title p{font-size:10px;color:var(--muted);margin:3px 0 0}
.preventive-modal-note{display:flex;flex-direction:column;gap:3px;margin-bottom:13px;padding:11px 13px;border-radius:11px;background:#eef7f3;border:1px solid #d5e9e0}.preventive-modal-note strong{font-size:11px;color:#155741}.preventive-modal-note span{font-size:10px;color:#607a70;line-height:1.45}
.preventive-inline-alert{display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding:10px 12px;border-radius:10px;border:1px solid #d8e7e1;background:#f7fbf9}.preventive-inline-alert strong,.preventive-inline-alert small{display:block}.preventive-inline-alert strong{font-size:11px;color:#174b3b}.preventive-inline-alert small{font-size:9px;color:#637c72;line-height:1.55;margin-top:2px}.preventive-inline-alert.warning{background:#fffaf0;border-color:#ead9a3}.preventive-inline-alert.warning strong{color:#8d650c}.preventive-inline-alert.danger{background:#fff3f3;border-color:#ecc5c5}.preventive-inline-alert.danger strong{color:#9f3030}.preventive-inline-alert.good{background:#eef8f3;border-color:#d0e8dd}.preventive-inline-dot{width:9px;height:9px;border-radius:50%;background:#d2a42b;margin-top:4px;flex:0 0 auto}.preventive-inline-alert.danger .preventive-inline-dot{background:#c94b4b}.preventive-inline-alert.good .preventive-inline-dot{background:#278361}
@media(max-width:1100px){.preventive-kpis{grid-template-columns:repeat(2,1fr)}.preventive-filters{grid-template-columns:repeat(2,1fr)}.preventive-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.preventive-kpis,.preventive-filters{grid-template-columns:1fr}.preventive-hero{padding:16px}.preventive-hero .toolbar-group{width:100%;display:grid}.preventive-hero .btn{width:100%}}


/* V0.9.27.0 • Comprovantes de entrega */
.delivery-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(120deg,#0b513d,#14735a);color:#fff;border-radius:18px;padding:22px 24px;margin-bottom:14px;box-shadow:0 12px 30px rgba(10,73,55,.14)}
.delivery-hero strong{display:block;font-size:22px;margin:4px 0}.delivery-hero p{margin:0;max-width:780px;opacity:.86}.delivery-hero .preventive-eyebrow{color:#c8f3e5}.delivery-hero .btn{background:#fff;border-color:#fff;color:#0b513d}
.delivery-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;align-items:end}.delivery-search-action{display:flex;align-items:flex-end}.delivery-search-action .btn{width:100%;height:42px}
.delivery-protocol-dock{position:sticky;bottom:14px;z-index:12;margin-top:14px;background:#102b24;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 30px rgba(0,0,0,.2)}.delivery-protocol-dock span,.delivery-protocol-dock small{display:block;color:#bcd0ca;font-size:11px}.delivery-protocol-dock strong{display:block;font-size:18px;margin:2px 0}
.delivery-nfes{display:flex;flex-direction:column;gap:4px;min-width:130px}.delivery-nfes label{white-space:nowrap;font-size:12px}.delivery-days{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef4f1;font-weight:700}.delivery-days.warn{background:#fff2cc;color:#805e00}.delivery-days.danger{background:#fde7e7;color:#9c2626}.delivery-overdue{background:#fffafa!important}.delivery-table td{vertical-align:top}
@media(max-width:1200px){.delivery-filters{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media(max-width:760px){.delivery-filters{grid-template-columns:1fr 1fr}.delivery-hero{align-items:flex-start;flex-direction:column}.delivery-protocol-dock{bottom:6px}.delivery-table{min-width:1100px}}
.delivery-proof-count{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:11px;font-weight:700;color:#0b513d}
.delivery-proof-link{border:0;background:transparent;color:#0b513d;font:inherit;font-size:12px;font-weight:700;padding:3px 0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.delivery-proof-list{display:flex;flex-direction:column;gap:10px}.delivery-proof-item{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid #dde8e3;border-radius:12px;padding:12px 14px;background:#fbfdfc}.delivery-proof-item strong,.delivery-proof-item span,.delivery-proof-item small{display:block}.delivery-proof-item span{margin-top:3px;color:#66756f;font-size:12px}.delivery-proof-item small{margin-top:2px;color:#87928e}
.delivery-protocol-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:14px}.delivery-protocol-summary>div{border:1px solid #dde8e3;border-radius:12px;padding:10px 12px;background:#f8fbfa}.delivery-protocol-summary span{display:block;color:#72817b;font-size:11px;text-transform:uppercase}.delivery-protocol-summary strong{display:block;margin-top:3px}
.delivery-history-filters{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.delivery-history-actions{justify-content:space-between;align-items:center;margin:14px 0 8px}
@media(max-width:1200px){.delivery-history-filters{grid-template-columns:repeat(3,minmax(160px,1fr))}.delivery-protocol-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:760px){.delivery-history-filters{grid-template-columns:1fr 1fr}.delivery-proof-item{align-items:flex-start;flex-direction:column}.delivery-protocol-summary{grid-template-columns:1fr 1fr}}

/* Pneus v0.9.28.1 */
.tire-map-card{margin-top:18px;padding:20px;border:1px solid var(--border,#dbe4ea);border-radius:16px;background:#f8fafb}.tire-map-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tire-map-title strong{font-size:20px}.tire-axle{padding:13px 0;border-top:1px dashed #ccd8df;display:grid;grid-template-columns:90px 1fr;align-items:center}.tire-axle>span{font-weight:700;color:#52636e}.tire-axle>div,.tire-spares{display:flex;gap:8px;flex-wrap:wrap}.tire-position{min-width:92px;border:1px solid #b9c8d1;border-radius:12px;padding:9px 10px;background:white;text-align:left;cursor:pointer}.tire-position span,.tire-position small{display:block;font-size:11px;color:#60727d}.tire-position strong{display:block;margin:3px 0}.tire-position.occupied{border-color:#8bb9a4;background:#f1faf5}.tire-position.empty-pos{border-style:dashed}.tire-spares{margin-top:14px;padding-top:14px;border-top:1px solid #dbe4ea;align-items:center}.tire-spares>strong{margin-right:8px;font-size:12px;color:#60727d}@media(max-width:700px){.tire-axle{grid-template-columns:1fr}.tire-axle>span{margin-bottom:7px}.tire-position{min-width:82px}}

/* Pneus v0.9.28.5 • banda original, edição e layout aprimorado */
.tire-hero .toolbar-group{flex-wrap:wrap;justify-content:flex-end}
.tire-pattern-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-2px 0 14px;padding:10px 12px;border:1px solid #dde8e3;border-radius:13px;background:#fff}
.tire-pattern-strip>span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#6e8179;margin-right:2px}
.tire-pattern-strip button{border:1px solid #dbe7e2;background:#f8fbfa;color:#315c4f;border-radius:999px;padding:6px 10px;font-size:10px;cursor:pointer}
.tire-pattern-strip button:hover{border-color:#8dbbaa;background:#eef8f3}.tire-pattern-strip button strong{margin-left:4px;color:#0b6a4e}
.tire-map-selector{background:linear-gradient(180deg,#fff,#fbfdfc)}
.tire-map-toolbar{display:grid;grid-template-columns:minmax(260px,520px) auto;gap:10px;align-items:center}.tire-map-toolbar .btn{min-width:120px}
.tire-filter-card{margin-bottom:14px}.tire-filters{display:grid;grid-template-columns:1.4fr repeat(5,minmax(135px,1fr));gap:10px;align-items:end}.tire-filters .field{margin-bottom:0}
.tire-table-card .section-head{align-items:flex-end}.tire-table td{vertical-align:middle}.tire-table tbody tr:hover{background:#fbfdfc}
.tire-pattern-pair{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.tire-pattern-pair small{font-size:9px;color:#7b8b85}
.tire-pattern-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:800;border:1px solid #dfe8e4;background:#f4f7f6;color:#566b63}
.tire-pattern-chip.liso{background:#edf5fb;border-color:#d4e4f1;color:#35617d}.tire-pattern-chip.borrachudo{background:#eef8f3;border-color:#cee8dc;color:#17664d}.tire-pattern-chip.misto{background:#fff7e8;border-color:#eadcb9;color:#84631a}
.tire-row-actions{flex-wrap:nowrap}.tire-row-actions .btn{padding-left:10px;padding-right:10px}
.tire-entry-modal{width:min(1080px,96vw)!important;max-height:94vh}.tire-entry-modal .modal-body{background:#f5f8f7;padding:16px}.tire-entry-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tire-entry-layout .tire-form-card:last-child{grid-column:1/-1}
.tire-form-card{background:#fff;border:1px solid #dfe9e5;border-radius:14px;padding:16px;box-shadow:0 3px 12px rgba(14,70,53,.03)}
.tire-form-title{display:flex;gap:10px;align-items:center;padding-bottom:11px;margin-bottom:13px;border-bottom:1px solid #edf2f0}.tire-form-title>div{display:grid;gap:2px}.tire-form-title strong{font-size:13px;color:#173f34}.tire-form-title small{font-size:9px;color:#75867f}.tire-form-step{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#e7f4ef;color:#0b6a4e;font-size:11px;font-weight:900;flex:0 0 auto}
@media(max-width:1200px){.tire-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.tire-search-wide{grid-column:span 2}}
@media(max-width:760px){.tire-map-toolbar{grid-template-columns:1fr}.tire-filters{grid-template-columns:1fr 1fr}.tire-search-wide{grid-column:1/-1}.tire-entry-layout{grid-template-columns:1fr}.tire-entry-layout .tire-form-card:last-child{grid-column:auto}.tire-entry-modal .modal-body{padding:10px}.tire-pattern-strip{overflow-x:auto;flex-wrap:nowrap}.tire-row-actions{flex-direction:column}}


/* Pneus v0.9.28.6 • mapa visual e cadastro centralizado */
.tire-entry-overlay{width:auto!important;max-height:none!important;inset:0!important;display:grid!important;place-items:center!important;padding:24px!important}
.tire-entry-overlay .tire-entry-modal{width:min(1060px,calc(100vw - 48px))!important;max-height:min(900px,92vh)!important;margin:auto!important;overflow:hidden!important;display:flex;flex-direction:column}
.tire-entry-overlay .tire-entry-modal .modal-head{flex:0 0 auto;padding:17px 22px;background:linear-gradient(90deg,#f7fbf9,#fff)}
.tire-entry-overlay .tire-entry-modal .modal-body{flex:1 1 auto;overflow:auto;padding:18px!important;background:#f4f8f6}
.tire-entry-overlay .tire-entry-modal .modal-foot{flex:0 0 auto;padding:14px 22px;box-shadow:0 -8px 24px rgba(15,72,55,.04)}
.tire-entry-overlay .tire-entry-layout{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.tire-entry-overlay .tire-form-card{padding:17px;border-radius:16px}

.tire-visual-map-card{margin-top:18px;border:1px solid #dce8e3;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(18,74,57,.06);overflow:hidden}
.tire-visual-map-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid #e3ece8;background:linear-gradient(100deg,#f5fbf8 0%,#fff 70%)}
.tire-visual-map-head>div:first-child{display:grid;gap:2px}.tire-map-eyebrow{font-size:9px;letter-spacing:.11em;font-weight:900;color:#137153}.tire-visual-map-head strong{font-size:22px;color:#173f34}.tire-visual-map-head small{font-size:11px;color:#6d8078}
.tire-map-kpis{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tire-map-kpis span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;border:1px solid #dce8e3;background:#fff;font-size:10px;color:#52685f}.tire-map-kpis b{font-size:12px;color:#0c6b4e}.tire-map-kpis span.warn{background:#fff8e7;border-color:#ead9a7;color:#7a5b15}.tire-map-kpis span.warn b{color:#a16b00}
.tire-visual-layout{display:grid;grid-template-columns:minmax(520px,1fr) 210px;gap:18px;padding:20px;background:#f6f9f8}
.tire-vehicle-board{position:relative;min-height:420px;padding:42px 20px 22px;display:flex;flex-direction:column;justify-content:space-around;gap:18px;border:1px solid #dfe9e5;border-radius:17px;background:linear-gradient(90deg,#fff 0 47%,#f8fbfa 47% 53%,#fff 53% 100%);overflow:hidden}
.tire-front-marker{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;color:#71847c;font-size:9px;font-weight:900;letter-spacing:.09em}.tire-front-marker i{font-style:normal;color:#0c6b4e;font-size:16px;line-height:1}
.tire-chassis-line{position:absolute;top:48px;bottom:28px;left:50%;width:54px;transform:translateX(-50%);border-left:2px solid #9caeaa;border-right:2px solid #9caeaa;background:linear-gradient(180deg,#f1f4f3,#e9efed);border-radius:10px;opacity:.85}
.tire-visual-axle{position:relative;z-index:1;display:grid;grid-template-columns:1fr 112px 1fr;align-items:center;gap:10px;min-height:76px}.tire-side{display:flex;align-items:center;gap:7px}.tire-side.left{justify-content:flex-end}.tire-side.right{justify-content:flex-start}
.tire-axle-center{height:54px;display:grid;place-items:center;position:relative}.tire-axle-center i{position:absolute;left:-12px;right:-12px;top:50%;height:5px;transform:translateY(-50%);background:#879a94;border-radius:6px;box-shadow:inset 0 1px 1px rgba(255,255,255,.5)}.tire-axle-center span{position:relative;z-index:2;background:#fff;border:1px solid #d5e2dd;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900;color:#60736b;box-shadow:0 2px 5px rgba(0,0,0,.04)}
.tire-wheel{width:88px;min-height:68px;position:relative;border:1px solid #d5dfdc;border-radius:12px;padding:6px 7px 6px 31px;background:#fff;text-align:left;cursor:pointer;transition:.16s ease;box-shadow:0 2px 6px rgba(20,58,47,.04)}.tire-wheel:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(20,58,47,.10)}.tire-wheel-icon{position:absolute;left:8px;top:11px;width:15px;height:42px;border-radius:5px;background:repeating-linear-gradient(180deg,#25322e 0 5px,#46534f 5px 7px);box-shadow:inset 0 0 0 2px #15201d}.tire-wheel-code{position:absolute;right:5px;top:4px;font-size:8px;font-weight:900;color:#8a9a94}.tire-wheel strong{display:block;font-size:10px;color:#263d35;margin:7px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tire-wheel small{display:block;font-size:8px;color:#71837c;line-height:1.3}.tire-wheel.ok{border-color:#a9d2c0;background:#f2faf6}.tire-wheel.ok .tire-wheel-icon{background:repeating-linear-gradient(180deg,#17664d 0 5px,#37866d 5px 7px);box-shadow:inset 0 0 0 2px #0c4c38}.tire-wheel.attention{border-color:#dfc270;background:#fff9e9}.tire-wheel.attention .tire-wheel-icon{background:repeating-linear-gradient(180deg,#9b6b00 0 5px,#c59425 5px 7px);box-shadow:inset 0 0 0 2px #735000}.tire-wheel.empty{border-style:dashed;background:#fafcfc}.tire-wheel.empty .tire-wheel-icon{background:#e8eeec;box-shadow:inset 0 0 0 2px #bdcbc6}.tire-wheel.empty strong{color:#84938e}
.tire-step-panel{border:1px solid #dfe9e5;border-radius:17px;background:#fff;padding:15px;display:flex;flex-direction:column;gap:13px}.tire-step-title{display:grid;gap:2px;padding-bottom:11px;border-bottom:1px solid #edf2f0}.tire-step-title strong{font-size:14px;color:#173f34}.tire-step-title span{font-size:9px;color:#788a82}.tire-step-list{display:grid;gap:9px}.tire-step-list .tire-wheel{width:100%}.tire-no-step{padding:16px 8px;text-align:center;font-size:10px;color:#82928c;border:1px dashed #d7e1de;border-radius:11px}.tire-map-legend{margin-top:auto;display:grid;gap:7px;padding-top:12px;border-top:1px solid #edf2f0}.tire-map-legend span{display:flex;align-items:center;gap:7px;font-size:9px;color:#677a72}.tire-map-legend i{width:9px;height:9px;border-radius:50%;border:1px solid #cbd8d3}.tire-map-legend i.ok{background:#69b592;border-color:#4b9d78}.tire-map-legend i.attention{background:#e3b643;border-color:#bd9025}.tire-map-legend i.empty{background:#f3f6f5;border-style:dashed}
@media(max-width:980px){.tire-visual-layout{grid-template-columns:1fr}.tire-step-panel{display:grid;grid-template-columns:140px 1fr;align-items:start}.tire-map-legend{grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin-top:0}.tire-entry-overlay{padding:12px!important}.tire-entry-overlay .tire-entry-modal{width:calc(100vw - 24px)!important}}
@media(max-width:700px){.tire-visual-map-head{align-items:flex-start;flex-direction:column}.tire-map-kpis{justify-content:flex-start}.tire-visual-layout{padding:10px}.tire-vehicle-board{padding-left:6px;padding-right:6px;min-height:390px}.tire-visual-axle{grid-template-columns:1fr 68px 1fr;gap:4px}.tire-wheel{width:64px;min-height:64px;padding-left:25px}.tire-wheel-icon{left:6px;width:12px}.tire-wheel strong{font-size:8px}.tire-wheel small{font-size:7px}.tire-step-panel{grid-template-columns:1fr}.tire-map-legend{grid-column:auto;grid-template-columns:1fr}.tire-entry-overlay .tire-entry-layout{grid-template-columns:1fr}}


/* Checklist v0.9.29.0 • mobile-first */
.checklist-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;margin-bottom:16px;border-radius:18px;background:linear-gradient(110deg,#075a43,#11785a);color:#fff;box-shadow:0 10px 30px rgba(9,91,67,.14)}
.checklist-hero>div:first-child{display:grid;gap:5px}.checklist-hero strong{font-size:24px}.checklist-hero p{margin:0;color:#dbf0e8}.checklist-hero .preventive-eyebrow{color:#bde4d5}.checklist-hero .btn-outline{background:#fff;color:#064b39;border-color:#fff}.checklist-hero .btn-accent{background:#fff;color:#075a43;border-color:#fff}
.ck-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900}.ck-status.approved{background:#e8f6ef;color:#126349}.ck-status.attention{background:#fff3d7;color:#8b6100}.ck-status.blocked{background:#fde8e7;color:#a12c27}.ck-status.in_progress{background:#eaf1f7;color:#45647a}
.ck-start-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ck-start-card{background:#f8fbfa;border:1px solid #dfeae6;border-radius:16px;padding:18px;display:grid;gap:13px}.ck-start-card>strong{font-size:16px;color:#173f34}.ck-start-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#e6f4ee;font-size:22px}.ck-segment{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ceddd7;border-radius:12px;padding:3px;background:#fff}.ck-segment button{border:0;background:transparent;padding:12px;border-radius:9px;font-weight:800;cursor:pointer}.ck-segment button.active{background:#0b6a4e;color:#fff}.ck-km{font-size:22px!important;font-weight:900}
.ck-mobile-overlay{padding:0!important;align-items:stretch!important;justify-content:center!important;background:#eef3f1!important;overflow:auto}.ck-mobile{width:min(720px,100vw);min-height:100vh;background:#f4f7f6;display:flex;flex-direction:column;box-shadow:0 0 40px rgba(0,0,0,.12)}.ck-mobile header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:13px 14px;background:#075a43;color:#fff}.ck-mobile header>div{display:grid}.ck-mobile header strong{font-size:16px}.ck-mobile header span{font-size:10px;color:#cce8de}.ck-back{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;font-size:22px}.ck-type{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 8px!important;color:#fff!important;font-weight:900;letter-spacing:.06em}.ck-progress{height:6px;background:#dfe8e5;position:sticky;top:64px;z-index:4}.ck-progress i{display:block;height:100%;background:#20a878;transition:.2s}.ck-group-head{padding:21px 18px 10px}.ck-group-head small{font-size:9px;letter-spacing:.1em;font-weight:900;color:#0b6a4e}.ck-group-head h2{margin:3px 0 2px;font-size:26px;color:#173f34}.ck-group-head p{margin:0;color:#6c7c76;font-size:12px}.ck-mobile main{padding:8px 12px 100px;display:grid;gap:11px}.ck-item{background:#fff;border:1px solid #dce6e2;border-radius:17px;padding:14px;box-shadow:0 3px 12px rgba(15,70,54,.04)}.ck-item.ok{border-color:#9bcdb8;background:#fbfffd}.ck-item.attention{border-color:#e6c66f;background:#fffdf6}.ck-item.problem{border-color:#e2a09b;background:#fffafa}.ck-item-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.ck-item-title strong{font-size:15px;color:#213b33;line-height:1.3}.ck-critical{font-size:8px;letter-spacing:.08em;background:#fde8e7;color:#a4312b;padding:4px 6px;border-radius:999px;font-weight:900;white-space:nowrap}.ck-answer-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.ck-answer-buttons.three{grid-template-columns:repeat(3,1fr)}.ck-answer-buttons button{min-height:64px;border:1px solid #d9e4e0;background:#f9fbfa;border-radius:13px;font-size:21px;font-weight:900;color:#687a73;display:grid;place-items:center;align-content:center;gap:2px}.ck-answer-buttons button span{font-size:9px}.ck-answer-buttons button.active.ok{background:#e9f7f0;border-color:#74b99b;color:#0a6a4c}.ck-answer-buttons button.active.attention{background:#fff3d7;border-color:#d6ad42;color:#8a6000}.ck-answer-buttons button.active.problem{background:#fde8e7;border-color:#d67b74;color:#a82e28}.ck-answer-buttons button.active.na{background:#eef2f1;color:#576861}.ck-item-detail{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #edf1ef}.ck-item-detail textarea{min-height:58px;border:1px solid #d6e1dd;border-radius:11px;padding:10px;font:inherit;resize:vertical}.ck-photo{display:flex;justify-content:center;align-items:center;min-height:48px;border:1px dashed #77aa97;border-radius:12px;background:#f0f8f4;color:#17664d;font-size:12px;font-weight:900;cursor:pointer}.ck-photo.done{background:#e7f5ee}.ck-photo input{display:none}.ck-mobile footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(720px,100vw);z-index:6;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid #dce6e2}.ck-mobile footer .btn{min-height:52px;font-size:14px}.ck-finish{background:#075a43!important}
.ck-model-list{display:grid;gap:10px}.ck-model-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;border:1px solid #dfe8e4;border-radius:14px;background:#fff}.ck-model-card>div{display:grid;gap:3px}.ck-model-card span{font-size:10px;color:#74847e}.ck-template-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.ck-template-tools p{margin:0;color:#687a73}.ck-template-items{display:grid;gap:8px}.ck-template-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e0e8e5;border-radius:12px;background:#fff}.ck-template-row>span{display:grid;gap:2px}.ck-template-row small{font-size:8px;font-weight:900;color:#0b6a4e;text-transform:uppercase;letter-spacing:.07em}.ck-template-row strong{font-size:12px}.ck-template-row em{font-style:normal;font-size:9px;color:#7b8b85}.ck-template-row>div{display:flex;gap:6px}
@media(max-width:760px){.checklist-hero{align-items:flex-start;flex-direction:column;padding:18px}.checklist-hero strong{font-size:21px}.checklist-hero .toolbar-group{width:100%;display:grid;grid-template-columns:1fr 1fr}.ck-start-grid{grid-template-columns:1fr}.ck-answer-buttons{gap:5px}.ck-answer-buttons button{min-height:60px}.ck-model-card,.ck-template-row,.ck-template-tools{align-items:flex-start;flex-direction:column}.ck-template-row>div{width:100%}.ck-template-row>div .btn{flex:1}}

/* Checklist v0.9.29.1 • modelos por placa */
.ck-auto-model{display:grid;gap:3px;padding:12px 13px;border:1px solid #b9d8cc;border-radius:12px;background:#f0f8f4}.ck-auto-model strong{font-size:13px;color:#155b45}.ck-auto-model span{font-size:10px;color:#657972}.ck-auto-model.error{border-color:#e1a39f;background:#fff3f2}.ck-auto-model.error strong{color:#a02f29}
.ck-model-manager-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 14px}.ck-model-manager-head>div{display:grid;gap:3px}.ck-model-manager-head strong{font-size:16px;color:#173f34}.ck-model-manager-head span{font-size:11px;color:#71827b}
.ck-model-card{align-items:stretch}.ck-model-card.inactive{opacity:.64;background:#f8faf9}.ck-model-main{display:grid;align-content:center;gap:4px;min-width:0}.ck-model-main>strong{font-size:14px;color:#203d33}.ck-model-main>span,.ck-model-main>small{font-size:10px;color:#71827b}.ck-model-main>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:620px}.ck-model-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ck-model-type,.ck-model-default,.ck-model-off{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.05em}.ck-model-type{background:#e9f5ef;color:#0b684b}.ck-model-default{background:#e8eef8;color:#3e5f85}.ck-model-off{background:#f0f1f1;color:#6e7774}.ck-model-actions{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ck-model-actions .btn{white-space:nowrap}
.ck-model-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ck-config-note{margin-top:12px;padding:11px 13px;border:1px solid #dbe8e3;background:#f7faf9;border-radius:11px;font-size:10px;color:#61736c}.ck-config-note strong{color:#155b45}
.ck-link-head{display:grid;gap:12px;margin-bottom:13px}.ck-link-head>div:first-child{display:grid;gap:3px}.ck-link-head strong{font-size:15px;color:#173f34}.ck-link-head span{font-size:10px;color:#71827b}.ck-link-search{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px}.ck-vehicle-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:54vh;overflow:auto;padding:2px}.ck-vehicle-link{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #dfe8e4;border-radius:12px;background:#fff;cursor:pointer}.ck-vehicle-link:hover{border-color:#aacbbf;background:#f8fcfa}.ck-vehicle-link input{width:19px;height:19px;accent-color:#0b6a4e}.ck-vehicle-link span{display:grid;gap:2px;min-width:0}.ck-vehicle-link strong{font-size:12px;color:#203d33}.ck-vehicle-link small{font-size:9px;color:#71827b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-template-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:12px;border:1px solid #dfe8e4;border-radius:13px;background:#f8fbfa}.ck-template-summary>div:first-child{display:grid;gap:2px}.ck-template-summary>div:first-child span{font-size:8px;font-weight:900;color:#0b6a4e;text-transform:uppercase;letter-spacing:.07em}.ck-template-summary>div:first-child strong{font-size:13px;color:#203d33}.ck-template-summary>div:first-child small{font-size:9px;color:#71827b}.ck-template-summary>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.ck-model-manager-head,.ck-template-summary{align-items:flex-start;flex-direction:column}.ck-model-manager-head .btn,.ck-template-summary>div:last-child{width:100%}.ck-template-summary>div:last-child .btn{flex:1}.ck-model-actions{width:100%;justify-content:flex-start}.ck-model-actions .btn{flex:1}.ck-model-editor,.ck-vehicle-links{grid-template-columns:1fr}.ck-link-search{grid-template-columns:1fr 1fr}.ck-link-search .input{grid-column:1/-1}.ck-model-main>small{max-width:82vw}}

/* v0.9.30.1 • fotos do checklist consultáveis no histórico */
.ck-photo-view{width:100%;border:1px dashed #73b79d;background:#eaf7f1;color:#075f43;cursor:pointer;font:inherit;text-align:center}
.ck-photo-view:hover{background:#ddf2e9}
