@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --bg: #07111f;
  --bg-soft: #0a1729;
  --surface: rgba(12, 28, 48, .82);
  --surface-solid: #0d1c30;
  --surface-2: #10233b;
  --text: #f6f9ff;
  --muted: #a8b6cb;
  --line: rgba(116, 163, 218, .23);
  --line-strong: rgba(75, 153, 255, .42);
  --blue: #258cff;
  --blue-2: #29c7ff;
  --ocean: #1789f7;
  --orange: #ff7a18;
  --green: #12e49c;
  --gold: #ffc224;
  --shadow: 0 26px 80px rgba(0, 0, 0, .34);
  --radius: 22px;
  color-scheme: dark;
}

html[data-theme="light"] {
  --bg: #f4f9ff;
  --bg-soft: #eaf4ff;
  --surface: rgba(255, 255, 255, .88);
  --surface-solid: #ffffff;
  --surface-2: #f5f9ff;
  --text: #08152d;
  --muted: #53647c;
  --line: rgba(32, 90, 156, .16);
  --line-strong: rgba(28, 122, 232, .32);
  --shadow: 0 24px 70px rgba(34, 81, 133, .14);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, system-ui, sans-serif; background: var(--bg); color: var(--text); line-height: 1.55; overflow-x: hidden; transition: background .35s ease, color .35s ease; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
img, svg { display: block; max-width: 100%; }
.container { width: min(1480px, calc(100% - 64px)); margin-inline: auto; }
.section-pad { position: relative; padding: 76px 0; }
.page-shell { min-height: 100vh; background: radial-gradient(circle at 76% 12%, rgba(29, 122, 255, .17), transparent 31%), var(--bg); }

.site-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(20px); }
.header-container { width: min(1500px, calc(100% - 54px)); margin-inline: auto; min-height: 84px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.brand { display: inline-flex; flex-direction: column; width: max-content; line-height: 1; }
.brand-name { font-size: clamp(27px, 2.2vw, 42px); font-weight: 900; letter-spacing: -1.8px; }
.brand-guia { color: var(--ocean); }
.brand-logg { color: var(--orange); }
.brand-tag { margin-top: 7px; font-size: 9px; font-weight: 700; letter-spacing: 4.3px; color: var(--muted); }
.nav { display: flex; align-items: center; gap: 38px; font-size: 14px; font-weight: 600; }
.nav a { color: var(--text); opacity: .88; transition: color .2s, opacity .2s; }
.nav a:hover { color: var(--blue-2); opacity: 1; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 20px; }

.theme-switch { appearance: none; border: 0; padding: 0; background: transparent; cursor: pointer; }
.theme-track { position: relative; display: flex; align-items: center; justify-content: space-between; width: 88px; height: 42px; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-solid); box-shadow: inset 0 0 18px rgba(0,0,0,.08); }
.theme-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; z-index: 2; transition: color .25s ease; }
.theme-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.theme-icon-moon { color: #bdd2ef; }
.theme-icon-moon svg path { fill: currentColor; stroke: none; }
.theme-icon-sun { color: #ffc13b; }
.theme-thumb { position: absolute; width: 31px; height: 31px; left: 5px; top: 5px; border-radius: 50%; background: linear-gradient(145deg, #102745, #07111f); box-shadow: 0 0 18px rgba(60, 150, 255, .35); transition: transform .35s cubic-bezier(.2,.8,.2,1), background .35s; }
html[data-theme="light"] .theme-thumb { transform: translateX(46px); background: linear-gradient(145deg, #ffcd54, #ff8a22); box-shadow: 0 0 18px rgba(255, 155, 34, .38); }

.whatsapp-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; color: #19e984; background: rgba(10, 42, 33, .55); border: 2px solid rgba(25, 233, 132, .82); box-shadow: 0 0 0 6px rgba(25, 233, 132, .07), 0 0 28px rgba(25, 233, 132, .35); transition: transform .25s ease, box-shadow .25s ease; }
.whatsapp-icon svg { width: 31px; height: 31px; fill: currentColor; }
.whatsapp-icon:hover { transform: translateY(-2px) scale(1.05); box-shadow: 0 0 0 8px rgba(25, 233, 132, .09), 0 0 38px rgba(25, 233, 132, .52); }

.hero { min-height: calc(100vh - 84px); display: flex; align-items: center; overflow: hidden; }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(430px, .85fr) minmax(720px, 1.45fr); gap: 34px; align-items: center; }
.tech-grid { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, #000, transparent 85%); }
.ambient { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .23; pointer-events: none; }
.ambient-a { width: 500px; height: 500px; background: #0d6aff; right: 4%; top: 6%; }
.ambient-b { width: 300px; height: 300px; background: #16c9ff; left: 30%; bottom: 2%; opacity: .1; }
.eyebrow { width: max-content; max-width: 100%; display: inline-flex; align-items: center; gap: 9px; padding: 8px 13px; border: 1px solid rgba(20, 227, 157, .34); border-radius: 999px; color: var(--green); background: rgba(9, 82, 64, .16); font-size: 11px; font-weight: 800; letter-spacing: .6px; }
.pulse-dot, .online-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 6px rgba(18,228,156,.12), 0 0 16px rgba(18,228,156,.55); }
.hero h1 { margin: 20px 0 16px; max-width: 680px; font-size: clamp(48px, 4.5vw, 76px); line-height: .99; letter-spacing: -4.2px; font-weight: 900; }
.hero h1 span { color: var(--blue); }
.hero-sub { max-width: 660px; margin: 0; color: var(--muted); font-size: 17px; }
.coverage-copy { display: flex; align-items: center; gap: 9px; margin: 17px 0 0; color: var(--muted); font-size: 16px; }
.coverage-copy strong { color: var(--blue-2); }
.coverage-pin { width: 14px; height: 18px; border: 2px solid var(--blue); border-radius: 9px 9px 11px 11px; position: relative; }
.coverage-pin::before { content: ""; position: absolute; width: 4px; height: 4px; border-radius: 50%; background: var(--blue); left: 3px; top: 3px; }
.coverage-pin::after { content: ""; position: absolute; width: 6px; height: 6px; border-right: 2px solid var(--blue); border-bottom: 2px solid var(--blue); transform: rotate(45deg); left: 2px; bottom: -4px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.btn { min-height: 54px; padding: 0 24px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid var(--line); font-weight: 750; font-size: 14px; transition: transform .2s, box-shadow .2s, border-color .2s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: white; background: linear-gradient(135deg, #176fff, #24d4e9); border-color: transparent; box-shadow: 0 15px 35px rgba(21,120,255,.3); }
.btn-ghost { background: var(--surface); color: var(--text); }
.play { width: 28px; height: 28px; display: grid; place-items: center; color: var(--blue); border-radius: 50%; background: rgba(36, 130, 255, .13); }

.fleet-showcase { margin-top: 24px; padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: 0 18px 50px rgba(0,0,0,.12); }
.fleet-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.fleet-heading h2 { margin: 0; font-size: 13px; letter-spacing: .1px; }
.fleet-heading span { color: var(--green); font-size: 11px; font-weight: 700; }
.fleet-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.fleet-card { overflow: hidden; min-width: 0; border: 1px solid var(--line); border-radius: 13px; background: linear-gradient(150deg, var(--surface-2), color-mix(in srgb, var(--surface-solid) 78%, transparent)); transition: transform .25s, border-color .25s; }
.fleet-card:hover { transform: translateY(-3px); border-color: var(--line-strong); }
.fleet-card img { width: 100%; height: 84px; object-fit: contain; padding: 7px 9px 0; filter: drop-shadow(0 12px 12px rgba(0,0,0,.34)); }
.fleet-card div { padding: 8px 10px 11px; border-top: 1px solid var(--line); }
.fleet-card strong, .fleet-card span { display: block; }
.fleet-card strong { font-size: 11px; line-height: 1.3; }
.fleet-card span { margin-top: 3px; font-size: 9px; color: var(--muted); }

.tech-card { border: 1px solid var(--line-strong); border-radius: var(--radius); background: linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--surface-solid) 86%, transparent)); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.map-card { padding: 20px; }
.card-topline { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.card-topline h2 { margin: 0; font-size: 18px; }
.card-topline small { margin-top: 4px; display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }
.card-topline .online-dot { width: 8px; height: 8px; box-shadow: 0 0 0 4px rgba(18,228,156,.11); }
.status-pill { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: 1.2px; }
.map-wrap { position: relative; height: 566px; overflow: hidden; border-radius: 18px; border: 1px solid var(--line); background: var(--surface-2); }
.leaflet-road-map { width: 100%; height: 100%; background: #071629; }
.map-vignette { pointer-events: none; position: absolute; inset: 0; z-index: 430; box-shadow: inset 0 0 70px rgba(2, 11, 24, .45); background: linear-gradient(90deg, rgba(5,16,31,.24), transparent 34%, transparent 66%, rgba(5,16,31,.2)); }
html[data-theme="light"] .map-vignette { box-shadow: inset 0 0 55px rgba(35, 85, 138, .14); background: linear-gradient(90deg, rgba(241,248,255,.2), transparent 34%, transparent 66%, rgba(241,248,255,.16)); }
.map-panel { position: absolute; z-index: 500; border: 1px solid var(--line-strong); border-radius: 16px; background: color-mix(in srgb, var(--surface-solid) 91%, transparent); box-shadow: 0 18px 42px rgba(0,0,0,.26); backdrop-filter: blur(14px); }
.map-stats { left: 16px; bottom: 16px; width: 174px; padding: 15px; }
.map-stat { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.map-stat:last-child { border-bottom: 0; }
.map-stat-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: rgba(28,122,255,.18); font-size: 15px; }
.map-stat-icon-orange { background: rgba(255,122,24,.18); color: var(--orange); }
.map-stat span:not(.map-stat-icon) { color: var(--muted); font-size: 10px; }
.map-stat strong { font-size: 20px; }
.map-stat .zero { color: var(--green); }
.ia-panel { top: 15px; right: 15px; width: 242px; padding: 17px 18px; }
.ia-panel span, .sla-panel span { display: block; color: var(--muted); font-size: 10px; }
.ia-panel strong { display: block; margin: 8px 0; font-size: 22px; line-height: 1.15; }
.map-panel em { display: block; color: var(--green); font-style: normal; font-size: 11px; font-weight: 700; }
.sla-panel { right: 15px; bottom: 15px; width: 183px; padding: 17px; }
.sla-panel strong { display: block; margin: 6px 0 2px; font-size: 28px; }
.sla-panel svg { width: 100%; height: 42px; margin-top: 4px; }
.sla-panel path { fill: none; stroke: var(--green); stroke-width: 3; }

.leaflet-control-attribution { font-size: 8px !important; background: color-mix(in srgb, var(--surface-solid) 78%, transparent) !important; color: var(--muted) !important; }
.leaflet-control-attribution a { color: var(--blue-2) !important; }
.leaflet-control-zoom { display: none; }
.state-label { color: #e8f4ff; font-size: 13px; font-weight: 800; text-shadow: 0 1px 4px #001; }
html[data-theme="light"] .state-label { color: #0b3470; text-shadow: 0 1px 4px white; }
.capital-marker { position: relative; display: grid; place-items: center; width: 22px; height: 22px; }
.capital-marker::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 3px solid #159cff; box-shadow: 0 0 0 6px rgba(21,156,255,.16), 0 0 18px #159cff; z-index: 2; }
.capital-marker::after { content: ""; position: absolute; width: 24px; height: 24px; border-radius: 50%; border: 2px solid rgba(43,180,255,.55); animation: mapPulse 2.2s ease-out infinite; }
.capital-label { padding: 4px 7px; border-radius: 8px; background: color-mix(in srgb, var(--surface-solid) 88%, transparent); border: 1px solid var(--line); color: var(--text); font-size: 10px; font-weight: 750; white-space: nowrap; box-shadow: 0 7px 20px rgba(0,0,0,.22); }
.vehicle-marker { position: relative; width: 58px; height: 32px; transform-origin: center; }
.vehicle-marker img { width: 58px; height: 32px; object-fit: contain; filter: drop-shadow(0 6px 7px rgba(0,0,0,.62)) drop-shadow(0 0 5px rgba(40,170,255,.38)); }
.route-flow { stroke-dasharray: 9 12; animation: routeDash 1.5s linear infinite; filter: drop-shadow(0 0 4px rgba(32,160,255,.65)); }
@keyframes routeDash { to { stroke-dashoffset: -42; } }
@keyframes mapPulse { 0% { transform: scale(.7); opacity: .9; } 100% { transform: scale(1.8); opacity: 0; } }

.kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 15px; padding-bottom: 42px; }
.kpi-card { position: relative; min-height: 134px; padding: 19px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 18px 45px rgba(0,0,0,.11); }
.kpi-card .icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; margin-bottom: 10px; color: white; font-weight: 900; }
.icon.blue { background: linear-gradient(135deg,#1268ff,#27b5ff); }.icon.green { background: linear-gradient(135deg,#0cab6f,#31e7a2); }.icon.orange { background: linear-gradient(135deg,#ff6d17,#ff9d3d); }.icon.purple { background: linear-gradient(135deg,#6545dd,#9b6fff); }.icon.gold { background: linear-gradient(135deg,#e89b00,#ffd43d); }
.kpi-card small, .kpi-card strong, .kpi-card em { display: block; }
.kpi-card small { color: var(--muted); font-size: 10px; }
.kpi-card strong { margin-top: 2px; font-size: 24px; }
.kpi-card em { color: var(--muted); font-size: 10px; font-style: normal; }
.kpi-card svg { position: absolute; right: 12px; bottom: 9px; width: 90px; height: 32px; }
.kpi-card path { fill: none; stroke: var(--blue); stroke-width: 2.4; }
.kpi-card:nth-child(2) path { stroke: var(--green); }.kpi-card:nth-child(3) path { stroke: var(--orange); }.kpi-card:nth-child(4) path { stroke: #9b6fff; }.kpi-card:nth-child(5) path { stroke: var(--gold); }

.split-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.section-kicker { color: var(--blue-2); text-transform: uppercase; letter-spacing: 1.5px; font-size: 11px; font-weight: 800; }
.section-copy h2, .center-title h2, .ai-card h2, .contact-card h2 { margin: 10px 0 14px; font-size: clamp(32px, 3vw, 52px); line-height: 1.06; letter-spacing: -2.2px; }
.section-copy p, .ai-card p, .contact-card p { color: var(--muted); }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.feature-card, .resource-card { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.feature-card span { font-size: 26px; }.feature-card h3, .resource-card h3 { margin: 11px 0 5px; }.feature-card p, .resource-card p { margin: 0; color: var(--muted); font-size: 13px; }
.ai-section { background: linear-gradient(180deg, transparent, rgba(27, 102, 206, .07), transparent); }
.ai-card { padding: 44px; display: grid; grid-template-columns: 1fr .8fr; gap: 48px; align-items: center; }
.terminal-card { min-height: 220px; padding: 23px; border-radius: 17px; border: 1px solid rgba(46, 152, 255, .33); background: #06101c; box-shadow: inset 0 0 45px rgba(23, 108, 255, .06); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: #a9c8ea; }
.terminal-top { display: flex; gap: 7px; margin-bottom: 20px; }.terminal-top span { width: 9px; height: 9px; border-radius: 50%; background: #ff6b5d; }.terminal-top span:nth-child(2) { background: #ffbf3f; }.terminal-top span:nth-child(3) { background: #2ecf73; }.terminal-card strong { color: var(--green); }
.center-title { text-align: center; max-width: 760px; margin: 0 auto 34px; }
.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.contact-card { padding: 42px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; }
.btn-whatsapp { color: #062819; background: linear-gradient(135deg,#27df84,#12b96a); border: 0; }
.contact-form { display: grid; gap: 13px; }.contact-form label { color: var(--muted); font-size: 11px; font-weight: 650; }.contact-form input, .contact-form textarea { width: 100%; margin-top: 5px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 11px; color: var(--text); background: var(--surface-2); outline: none; }.contact-form input:focus, .contact-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37,140,255,.12); }
.site-footer { border-top: 1px solid var(--line); padding: 35px 0; }.footer-grid { display: flex; justify-content: space-between; gap: 30px; }.footer-grid strong { font-size: 25px; }.footer-grid p { margin: 3px 0 0; color: var(--muted); }.footer-grid > div:last-child { display: flex; flex-direction: column; gap: 6px; text-align: right; color: var(--muted); }

.chatbot-button { position: fixed; right: 24px; bottom: 24px; z-index: 1100; width: 58px; height: 58px; border: 0; border-radius: 50%; color: white; background: linear-gradient(135deg,#176fff,#23c9ff); box-shadow: 0 18px 38px rgba(20,107,255,.4); cursor: pointer; animation: chatFloat 3s ease-in-out infinite; }.chatbot-button svg { width: 31px; height: 31px; margin: auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.chatbot { position: fixed; right: 24px; bottom: 94px; z-index: 1090; width: 310px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 18px; background: var(--surface-solid); box-shadow: var(--shadow); transform: translateY(18px) scale(.96); opacity: 0; visibility: hidden; transition: .25s ease; }.chatbot.is-open { transform: none; opacity: 1; visibility: visible; }.chatbot-head { display: flex; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line); font-weight: 800; }.chatbot-head button { border: 0; background: transparent; color: var(--muted); font-size: 21px; cursor: pointer; }.chatbot-body { padding: 17px; color: var(--muted); font-size: 13px; }.chatbot-body p { margin: 0 0 9px; }.chatbot-body strong { color: var(--text); }.chatbot-body a { display: inline-flex; margin-top: 6px; color: var(--green); font-weight: 700; }
@keyframes chatFloat { 50% { transform: translateY(-5px); } }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1260px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-content { max-width: 900px; }
  .map-wrap { height: 600px; }
  .kpis { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .header-container { grid-template-columns: 1fr auto; }
  .nav { display: none; }
  .hero h1 { letter-spacing: -3px; }
  .fleet-grid, .feature-grid, .resource-grid, .kpis { grid-template-columns: 1fr 1fr; }
  .split-section, .ai-card, .contact-card { grid-template-columns: 1fr; }
  .map-wrap { height: 620px; }
}
@media (max-width: 650px) {
  .container { width: min(100% - 28px, 1480px); }
  .header-container { width: calc(100% - 24px); min-height: 73px; }
  .brand-name { font-size: 25px; }.brand-tag { letter-spacing: 2.4px; font-size: 7px; }
  .theme-track { width: 72px; height: 38px; }.theme-icon { width: 27px; height: 27px; }.theme-thumb { width: 27px; height: 27px; }.theme-track { padding: 5px; } html[data-theme="light"] .theme-thumb { transform: translateX(35px); }
  .whatsapp-icon { width: 45px; height: 45px; }.whatsapp-icon svg { width: 26px; height: 26px; }
  .section-pad { padding: 54px 0; }.hero { min-height: auto; }
  .hero h1 { font-size: 45px; letter-spacing: -2.5px; }
  .hero-sub, .coverage-copy { font-size: 14px; }
  .hero-actions .btn { width: 100%; }
  .fleet-grid, .feature-grid, .resource-grid, .kpis { grid-template-columns: 1fr; }
  .fleet-card { display: grid; grid-template-columns: 130px 1fr; align-items: center; }.fleet-card img { height: 85px; }.fleet-card div { border-top: 0; border-left: 1px solid var(--line); }
  .map-card { padding: 12px; }.map-wrap { height: 650px; }.card-topline h2 { font-size: 15px; }
  .map-stats { left: 8px; bottom: 8px; width: 150px; padding: 10px; }.ia-panel { right: 8px; top: 8px; width: 190px; padding: 13px; }.ia-panel strong { font-size: 17px; }.sla-panel { right: 8px; bottom: 8px; width: 160px; padding: 13px; }
  .ai-card, .contact-card { padding: 25px; }
  .footer-grid { flex-direction: column; }.footer-grid > div:last-child { text-align: left; }
}

/* Portal de e-mail corporativo — v9 */
.mail-access { min-height: 46px; padding: 0 16px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--line-strong); border-radius: 13px; color: var(--text); background: linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--surface-solid) 88%, transparent)); box-shadow: 0 10px 28px rgba(0,0,0,.12); cursor: pointer; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.mail-access svg { width: 20px; height: 20px; fill: none; stroke: var(--blue-2); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mail-access span { font-size: 12px; font-weight: 800; white-space: nowrap; }
.mail-access:hover { transform: translateY(-2px); border-color: rgba(36,145,255,.62); box-shadow: 0 14px 34px rgba(18,103,230,.18); }
.footer-mail-link { border: 0; padding: 0; color: var(--muted); background: transparent; text-align: right; cursor: pointer; }
.footer-mail-link:hover { color: var(--blue-2); }
.mail-modal { position: fixed; inset: 0; z-index: 2200; display: grid; place-items: center; padding: 22px; opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility .22s ease; }
.mail-modal.is-open { opacity: 1; visibility: visible; }
.mail-backdrop { position: absolute; inset: 0; background: rgba(2,8,18,.72); backdrop-filter: blur(10px); }
.mail-dialog { position: relative; width: min(560px, 100%); padding: 34px; border: 1px solid var(--line-strong); border-radius: 24px; color: var(--text); background: linear-gradient(145deg, var(--surface-solid), color-mix(in srgb, var(--surface-solid) 90%, #176fff 10%)); box-shadow: 0 32px 90px rgba(0,0,0,.46); transform: translateY(14px) scale(.98); transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.mail-modal.is-open .mail-dialog { transform: none; }
.mail-close { position: absolute; top: 14px; right: 15px; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 11px; color: var(--muted); background: var(--surface); font-size: 24px; cursor: pointer; }
.mail-badge { width: 56px; height: 56px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 17px; color: #fff; background: linear-gradient(135deg,#176fff,#21c4ef); box-shadow: 0 15px 38px rgba(23,111,255,.3); }
.mail-badge svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mail-dialog h2 { margin: 8px 0 10px; font-size: clamp(27px,4vw,38px); line-height: 1.05; letter-spacing: -1.5px; }
.mail-dialog > p { margin: 0; color: var(--muted); font-size: 14px; }
.mailbox-list { display: grid; gap: 12px; margin-top: 24px; }
.mailbox-card { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 13px; min-height: 76px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.mailbox-card:hover { transform: translateY(-2px); border-color: rgba(36,145,255,.58); background: var(--surface-2); }
.mailbox-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(135deg,#176fff,#23c9ff); font-weight: 900; }
.mailbox-generic .mailbox-icon { background: linear-gradient(135deg,#ff7a21,#ffad3d); }
.mailbox-card strong, .mailbox-card small { display: block; }
.mailbox-card strong { font-size: 14px; }
.mailbox-card small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.mailbox-arrow { color: var(--blue-2); font-size: 20px; }
.mail-security { display: flex; gap: 8px; align-items: flex-start; margin-top: 18px !important; padding-top: 16px; border-top: 1px solid var(--line); font-size: 11px !important; }
.mail-security span { color: var(--green); font-weight: 900; }
body.modal-open { overflow: hidden; }
@media (max-width: 1000px) { .mail-access span { display: none; } .mail-access { width: 46px; padding: 0; justify-content: center; border-radius: 50%; } }
@media (max-width: 650px) { .header-actions { gap: 9px; } .mail-access { width: 42px; min-height: 42px; } .mail-dialog { padding: 27px 18px 20px; border-radius: 20px; } .mailbox-card { grid-template-columns: 40px 1fr auto; padding: 11px; } .footer-mail-link { text-align: left; } }

/* Sprint 1 — refinamento do mapa vetorial e da primeira dobra */
.leaflet-road-map{background:
 radial-gradient(circle at 68% 48%,rgba(21,128,246,.16),transparent 28%),
 linear-gradient(rgba(26,104,179,.07) 1px,transparent 1px),
 linear-gradient(90deg,rgba(26,104,179,.07) 1px,transparent 1px),
 linear-gradient(145deg,#06111f 0%,#0a1d32 52%,#071423 100%);background-size:auto,42px 42px,42px 42px,auto}
html[data-theme="light"] .leaflet-road-map{background:radial-gradient(circle at 65% 42%,rgba(20,126,238,.16),transparent 31%),linear-gradient(rgba(44,119,189,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(44,119,189,.09) 1px,transparent 1px),linear-gradient(145deg,#eaf4fd,#cfe4f7);background-size:auto,42px 42px,42px 42px,auto}
.leaflet-pane.leaflet-overlay-pane{filter:drop-shadow(0 16px 26px rgba(0,0,0,.32))}
.state-shape{transition:fill-opacity .25s ease,filter .25s ease}.state-active{filter:drop-shadow(0 0 7px rgba(45,157,255,.34))}
.state-label{display:block;color:#8ba6c0;font-size:10px;font-weight:800;letter-spacing:.04em;text-align:center;text-shadow:0 2px 5px #04101e}.state-label.is-active{color:#e6f5ff;font-size:12px;text-shadow:0 0 8px #168cff,0 2px 5px #04101e}
html[data-theme="light"] .state-label{color:#496b8d;text-shadow:0 1px 4px rgba(255,255,255,.9)}html[data-theme="light"] .state-label.is-active{color:#075aa8;text-shadow:0 0 8px rgba(38,145,240,.32),0 1px 4px #fff}
.capital-pin{position:relative;width:22px;height:22px}.capital-pin i{position:absolute;inset:5px;border:2px solid #dff8ff;border-radius:50%;background:#22b5ff;box-shadow:0 0 0 4px rgba(22,154,255,.18),0 0 16px #1c9dff}.capital-pin b{position:absolute;inset:0;border:1px solid rgba(67,194,255,.68);border-radius:50%;animation:capitalPulse 2.4s ease-out infinite}
.capital-label{position:absolute;top:2px;color:#f6fbff;font-size:10px;font-weight:800;white-space:nowrap;text-shadow:0 2px 5px #04101e,0 0 10px #04101e}.capital-label-right{left:26px}.capital-label-left{right:132px;text-align:right}
html[data-theme="light"] .capital-label{color:#082d52;text-shadow:0 1px 4px #fff,0 0 8px #fff}
@keyframes capitalPulse{0%{transform:scale(.7);opacity:.85}75%,100%{transform:scale(1.65);opacity:0}}
.route-flow{stroke-linecap:round;stroke-dasharray:5 9;animation:routeDash 4s linear infinite;filter:drop-shadow(0 0 4px rgba(50,174,255,.78))}.route-1,.route-4{opacity:.52}.route-5{opacity:.42}
@keyframes routeDash{to{stroke-dashoffset:-42}}
.vehicle-marker{width:64px;height:34px;display:grid;place-items:center;transform-origin:center;will-change:transform;filter:drop-shadow(0 5px 6px rgba(0,0,0,.6))}.vehicle-marker img{width:64px;height:34px;object-fit:contain}.vehicle-van img{width:54px}.vehicle-toco img{width:61px}.vehicle-bitr img{width:66px}
.map-load-error::after{content:'Mapa vetorial temporariamente indisponível';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 14px;border-radius:10px;background:rgba(4,18,34,.78);color:#b8cee2;font-size:12px}
.fleet-card img{height:92px;transform:scale(1.06);transition:transform .3s ease,filter .3s ease}.fleet-card:hover img{transform:scale(1.11) translateY(-2px);filter:drop-shadow(0 15px 14px rgba(22,91,168,.32))}.fleet-card strong{font-size:11.5px}.fleet-card span{font-size:9.5px;line-height:1.35}
.theme-track{box-shadow:inset 0 0 0 1px rgba(116,160,208,.14),0 8px 20px rgba(0,0,0,.18)}
@media(max-width:650px){.capital-label{font-size:8.5px}.vehicle-marker{transform:scale(.82)}.map-vignette{background:linear-gradient(180deg,rgba(5,16,31,.08),transparent 35%,rgba(5,16,31,.18))}}

/* =========================================================
   GUIALOGG SPRINT 2 — MAPA PREMIUM APROVADO
   ========================================================= */
.map-card{padding:18px;background:linear-gradient(145deg,rgba(12,31,54,.96),rgba(4,17,32,.96));border-color:rgba(84,153,221,.36);box-shadow:0 28px 80px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.04)}
.map-wrap{height:590px;border-radius:20px;border-color:rgba(89,158,225,.35);background:#061426;box-shadow:inset 0 0 70px rgba(0,91,194,.12)}
.premium-road-map{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 63% 48%,rgba(0,117,255,.18),transparent 36%),linear-gradient(145deg,#061629,#04101e)}
.map-atmosphere{position:absolute;inset:0;background:linear-gradient(rgba(52,144,236,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(52,144,236,.055) 1px,transparent 1px),radial-gradient(circle at 82% 72%,rgba(0,130,255,.18),transparent 28%);background-size:42px 42px,42px 42px,auto;opacity:.75}
.map-atmosphere:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(44,151,255,.8) 0 1px,transparent 1.5px);background-size:54px 47px;mask-image:linear-gradient(90deg,transparent 35%,#000 75%,transparent);opacity:.22}
.map-country{position:absolute;left:13%;top:2%;width:67%;height:96%;background:url('../img/mapa/mapa-brasil-premium.png') center/contain no-repeat;filter:drop-shadow(0 24px 18px rgba(0,0,0,.45)) saturate(1.12);opacity:.98}
.map-routes{position:absolute;inset:0;width:100%;height:100%;z-index:8;overflow:visible;filter:url(#routeGlow)}
.route{fill:none;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:8 9;animation:route-flow 5.8s linear infinite;opacity:.9}
.route-blue{stroke:url(#routeBlue)}.route-green{stroke:url(#routeGreen)}.route-orange{stroke:url(#routeOrange)}.route-faint{opacity:.35;stroke-width:2}
@keyframes route-flow{to{stroke-dashoffset:-68}}
.capital{position:absolute;z-index:12;display:flex;align-items:center;gap:8px;color:#fff;font-size:11px;font-weight:750;white-space:nowrap;text-shadow:0 2px 8px #00101f}
.capital i{display:block;width:12px;height:12px;border:3px solid #eaffff;border-radius:50%;background:#22a6ff;box-shadow:0 0 0 5px rgba(31,158,255,.28),0 0 22px #10a8ff;position:relative}
.capital i:after{content:"";position:absolute;inset:-9px;border:1px solid rgba(55,191,255,.65);border-radius:50%;animation:capital-pulse 2.3s ease-out infinite}
@keyframes capital-pulse{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.45);opacity:0}}
.capital-bh{left:78.5%;top:24%}.capital-sp{left:62%;top:42%}.capital-curitiba{left:53.5%;top:52%}.capital-floripa{left:58.8%;top:61.5%}.capital-poa{left:55.8%;top:74%}
.map-vehicle{position:absolute;z-index:15;pointer-events:none;filter:drop-shadow(0 12px 10px rgba(0,0,0,.65));will-change:transform}
.map-vehicle img{display:block;width:100%;height:100%;object-fit:contain}
.map-vehicle-van{width:70px;height:42px;offset-path:path('M 505 535 C 525 500 560 482 590 445');offset-rotate:auto 0deg;animation:vehicle-trip-van 22s linear infinite}
.map-vehicle-toco{width:94px;height:52px;offset-path:path('M 532 338 C 560 310 590 275 645 240');offset-rotate:auto 0deg;animation:vehicle-trip-toco 29s linear -8s infinite}
.map-vehicle-bitruck{width:108px;height:58px;offset-path:path('M 645 240 C 712 225 765 190 820 150');offset-rotate:auto 0deg;animation:vehicle-trip-bitruck 34s linear -16s infinite}
@keyframes vehicle-trip-van{0%{offset-distance:4%;transform:translate(-50%,-50%) scale(.92)}50%{transform:translate(-50%,-50%) scale(1)}100%{offset-distance:96%;transform:translate(-50%,-50%) scale(.92)}}
@keyframes vehicle-trip-toco{0%{offset-distance:8%;transform:translate(-50%,-50%) scale(.94)}100%{offset-distance:92%;transform:translate(-50%,-50%) scale(1)}}
@keyframes vehicle-trip-bitruck{0%{offset-distance:6%;transform:translate(-50%,-50%) scale(.92)}100%{offset-distance:94%;transform:translate(-50%,-50%) scale(1)}}
.map-panel{z-index:30;background:linear-gradient(145deg,rgba(4,18,34,.92),rgba(3,12,25,.88));border-color:rgba(78,139,199,.38);box-shadow:0 18px 45px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.035)}
.map-stats{left:18px;top:50%;transform:translateY(-50%)}.ia-panel{right:18px;top:18px}.sla-panel{right:18px;bottom:18px}
.map-vignette{z-index:20;pointer-events:none;background:radial-gradient(circle at 58% 47%,transparent 47%,rgba(1,9,18,.22) 76%,rgba(1,8,17,.62) 100%)}
.fleet-card{background:linear-gradient(155deg,rgba(10,29,49,.96),rgba(5,18,32,.96));border-color:rgba(75,139,199,.28);min-height:178px}
.fleet-card img{height:106px;padding:2px 4px 0;transform:scale(1.02);filter:drop-shadow(0 16px 12px rgba(0,0,0,.46));object-fit:contain}
.fleet-card:hover img{transform:scale(1.08) translateY(-4px);filter:drop-shadow(0 20px 15px rgba(24,111,207,.36))}
.fleet-card div{padding:8px 10px 12px}.fleet-card strong{font-size:11.7px}.fleet-card span{font-size:9.4px;line-height:1.42}
html[data-theme="light"] .map-card{background:linear-gradient(145deg,#f7fbff,#e9f4ff)}
html[data-theme="light"] .premium-road-map{background:radial-gradient(circle at 63% 48%,rgba(0,117,255,.16),transparent 38%),linear-gradient(145deg,#e9f5ff,#cfe3f3)}
html[data-theme="light"] .map-country{filter:drop-shadow(0 20px 16px rgba(28,82,130,.22)) saturate(.92) brightness(1.45)}
html[data-theme="light"] .capital{color:#0b2842;text-shadow:0 1px 7px rgba(255,255,255,.9)}
html[data-theme="light"] .map-panel{background:rgba(249,253,255,.91);box-shadow:0 18px 42px rgba(43,89,130,.18)}
html[data-theme="light"] .fleet-card{background:linear-gradient(155deg,#fff,#eaf5ff)}
@media (max-width:1100px){.map-wrap{height:620px}.map-country{left:7%;width:79%}.map-stats{top:auto;bottom:18px;transform:none}.capital{font-size:10px}.ia-panel{right:12px}.sla-panel{right:12px}}
@media (max-width:760px){.map-wrap{height:620px}.map-country{left:-4%;top:6%;width:103%;height:72%}.map-routes{transform:translate(-3%,4%) scale(1.08);transform-origin:center top}.capital{display:none}.map-vehicle{display:none}.map-stats{left:10px;bottom:10px}.ia-panel{right:10px;top:10px}.sla-panel{right:10px;bottom:10px}.fleet-card{min-height:unset}}
@media (prefers-reduced-motion:reduce){.route,.map-vehicle,.capital i:after{animation:none!important}.map-vehicle-van{offset-distance:34%}.map-vehicle-toco{offset-distance:52%}.map-vehicle-bitruck{offset-distance:68%}}

/* Sprint landing comercial — correções finais de mapa, frota e calculadora */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.hero h1 .hero-main-blue{color:#1688df}.hero h1 .hero-orange{color:var(--orange)}
.map-brand-guia{color:#1688df}.map-brand-logg{color:var(--orange)}
.map-wrap-fixed{height:650px;overflow:hidden;background:#071827}
.premium-road-map-fixed{position:absolute;inset:0;overflow:hidden}
.map-country-fixed{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:url('../img/mapa/mapa-brasil-premium.png') center/cover no-repeat!important;filter:saturate(1.08) contrast(1.12) brightness(.9);transform:none!important;opacity:1!important}
.map-routes-fixed{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;z-index:3}
.map-routes-fixed .route{fill:none;stroke-width:4;stroke-linecap:round;stroke-dasharray:12 10;filter:url(#routeGlow);animation:routeDash 1.55s linear infinite}
.map-routes-fixed .route-blue{stroke:#25aaff}.map-routes-fixed .route-orange{stroke:#ff8a1f}.map-routes-fixed .route-green{stroke:#2ed27f}
@keyframes routeDash{to{stroke-dashoffset:-44}}
.capital-fixed{z-index:5}.capital-curitiba-fixed{left:49.8%;top:68.2%}.capital-itajai-fixed{left:59.5%;top:78.4%}.capital-sp-fixed{left:64%;top:49.2%}.capital-bh-fixed{left:78.5%;top:33.1%}
.map-vehicle-fixed{position:absolute!important;left:0!important;top:0!important;width:58px!important;height:38px!important;z-index:6;will-change:transform;animation:none!important;pointer-events:none;transform-origin:center}
.map-vehicle-fixed img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 8px rgba(0,0,0,.58));transform:none!important}
.map-vignette{pointer-events:none}.map-panel{z-index:8}
html[data-theme="light"] .map-wrap-fixed{background:#dbeaf7}html[data-theme="light"] .map-country-fixed{filter:saturate(1.02) contrast(1.08) brightness(.98)}html[data-theme="light"] .map-panel{background:rgba(244,249,253,.92);backdrop-filter:blur(16px)}
.fleet-card{position:relative}.fleet-card::before{content:none!important}.fleet-card img{display:block;color:transparent}.fleet-card div{position:relative;z-index:2}.fleet-card strong,.fleet-card span{text-shadow:none!important}
html[data-theme="light"] .fleet-card img{filter:drop-shadow(0 13px 11px rgba(20,53,78,.25)) saturate(1.02)!important;mix-blend-mode:normal!important;opacity:1!important}
.freight-section{padding-top:56px}.freight-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;padding:34px;border-radius:26px}.freight-copy h2{font-size:clamp(34px,4vw,56px);line-height:1.04;margin:12px 0 16px;letter-spacing:-2.2px}.freight-copy p{color:var(--muted);line-height:1.68}.freight-warning{padding:13px 15px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);font-size:12px}.freight-calculator{display:grid;grid-template-columns:1fr 1fr;gap:13px}.freight-calculator label{display:grid;gap:7px;font-size:11px;font-weight:800;color:var(--muted)}.freight-calculator input,.freight-calculator select{height:48px;border-radius:12px;border:1px solid var(--line);background:var(--surface-solid);color:var(--text);padding:0 13px;outline:none}.freight-calculator input:focus,.freight-calculator select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(22,136,223,.12)}.freight-result{grid-column:1/-1;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(20,126,221,.13),rgba(255,138,31,.08))}.freight-result small,.freight-result span{display:block;color:var(--muted)}.freight-result strong{display:block;font-size:38px;letter-spacing:-1.5px;margin:4px 0}.freight-result span{font-size:11px}.freight-actions{grid-column:1/-1;display:flex;gap:10px}.freight-actions .btn{flex:1;text-align:center}
@media(max-width:980px){.freight-layout{grid-template-columns:1fr}.map-wrap-fixed{height:610px}}
@media(max-width:760px){.map-wrap-fixed{height:560px}.map-country-fixed{background-size:auto 100%!important}.map-vehicle-fixed{width:44px!important;height:30px!important}.capital-fixed span{display:none}.map-stats{left:10px!important;bottom:10px!important}.ia-panel{right:10px!important;top:10px!important}.sla-panel{right:10px!important;bottom:10px!important}.freight-layout{padding:22px}.freight-calculator{grid-template-columns:1fr}.freight-result,.freight-actions{grid-column:1}.freight-actions{flex-direction:column}}

/* Sprint mapa realista e geograficamente coerente */
.map-wrap-real{height:650px;overflow:hidden;background:#071827}
.premium-road-map-real{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 70% 47%,rgba(22,132,226,.18),transparent 38%),linear-gradient(145deg,#071625,#06111e 72%)}
.map-svg-real{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:3;transform:none!important}
.brazil-map-image{opacity:.91;filter:saturate(.52) brightness(.66) contrast(1.35);mix-blend-mode:screen}
.coverage-highlights{mix-blend-mode:screen;filter:url(#routeGlow)}
.state-labels text{fill:#d7edff;font-size:17px;font-weight:900;letter-spacing:.04em;paint-order:stroke;stroke:#071522;stroke-width:4px;opacity:.95}
.map-svg-real .route{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:10 10;filter:url(#routeGlow);animation:routeDash 1.5s linear infinite}
.map-svg-real .route-blue{stroke:#2fa7ff}.map-svg-real .route-orange{stroke:#ff982f}.map-svg-real .route-green{stroke:#28d880}
.map-city text{fill:#fff;font-size:13px;font-weight:850;paint-order:stroke;stroke:#061421;stroke-width:4px;stroke-linejoin:round}
.map-city-pulse{fill:none;stroke:#32b1ff;stroke-width:2;opacity:.15;transform-box:fill-box;transform-origin:center;animation:capital-pulse 2.3s ease-out infinite}
.map-city-halo{fill:#0b90e9;stroke:#d8f2ff;stroke-width:2.5;filter:url(#routeGlow)}.map-city-core{fill:#fff}
.map-attribution{fill:#7894aa;font-size:10px;letter-spacing:.04em}
.map-vehicle-fixed{position:absolute!important;left:0!important;top:0!important;z-index:7;pointer-events:none;will-change:transform;transform-origin:center;animation:none!important}
.map-vehicle-fixed img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 7px rgba(0,0,0,.65));transform:none!important}
.vehicle-van-fixed{width:48px!important;height:28px!important}.vehicle-toco-fixed{width:55px!important;height:32px!important}.vehicle-bitruck-fixed{width:54px!important;height:31px!important}
.map-wrap-real .map-panel{z-index:10}.map-wrap-real .map-stats{left:18px;top:50%;transform:translateY(-50%)}.map-wrap-real .ia-panel{right:18px;top:18px}.map-wrap-real .sla-panel{right:18px;bottom:18px}
html[data-theme="light"] .map-wrap-real{background:#dbeaf7}
html[data-theme="light"] .premium-road-map-real{background:radial-gradient(circle at 70% 47%,rgba(22,132,226,.15),transparent 40%),linear-gradient(145deg,#e5f2fc,#c7deef)}
html[data-theme="light"] .brazil-map-image{opacity:.87;filter:saturate(.35) brightness(.76) contrast(1.2);mix-blend-mode:multiply}
html[data-theme="light"] .state-labels text{fill:#083a63;stroke:#e7f3fb;stroke-width:3px}
html[data-theme="light"] .map-city text{fill:#0a3355;stroke:#edf7fd;stroke-width:4px}
html[data-theme="light"] .map-attribution{fill:#365f7e}
@media(max-width:980px){.map-wrap-real{height:610px}}
@media(max-width:760px){.map-wrap-real{height:560px}.map-svg-real{transform:scale(1.09)!important;transform-origin:center}.map-vehicle-fixed{display:none}.map-city text{display:none}.state-labels text{font-size:14px}.map-wrap-real .map-stats{left:10px;bottom:10px;top:auto;transform:none}.map-wrap-real .ia-panel{right:10px;top:10px}.map-wrap-real .sla-panel{right:10px;bottom:10px}}


/* Calculadoras GUIALOGG + ANTT */
.freight-header{max-width:900px;margin-bottom:24px}.freight-header h2{font-size:clamp(32px,4vw,54px);line-height:1.05;letter-spacing:-2px;margin:10px 0 14px}.freight-header p{color:var(--muted);line-height:1.65;max-width:780px}.freight-dual-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:22px;align-items:stretch}.freight-dual-grid .freight-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;padding:28px;border-radius:24px}.freight-copy h3,.antt-card h3{font-size:clamp(25px,3vw,36px);line-height:1.08;letter-spacing:-1.2px;margin:10px 0 14px}.freight-copy p,.antt-card p{color:var(--muted);line-height:1.62}.freight-warning{padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);font-size:12px}.freight-calculator{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.freight-calculator label{display:grid;gap:7px;font-size:11px;font-weight:800;color:var(--muted)}.freight-calculator input,.freight-calculator select{height:47px;border-radius:12px;border:1px solid var(--line);background:var(--surface-solid);color:var(--text);padding:0 13px;outline:none}.freight-calculator input:focus,.freight-calculator select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(22,136,223,.12)}.freight-result{grid-column:1/-1;padding:17px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(20,126,221,.13),rgba(255,138,31,.08))}.freight-result small,.freight-result span{display:block;color:var(--muted)}.freight-result strong{display:block;font-size:clamp(30px,4vw,42px);letter-spacing:-1.5px;margin:4px 0}.freight-result span{font-size:11px}.freight-actions{grid-column:1/-1;display:flex}.freight-actions .btn{width:100%;text-align:center}.antt-card{position:relative;padding:28px;border-radius:24px;overflow:hidden;display:flex;flex-direction:column}.antt-card:before{content:"";position:absolute;inset:auto -90px -110px auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,138,31,.16),transparent 68%);pointer-events:none}.antt-badge{width:max-content;padding:7px 10px;border-radius:10px;background:linear-gradient(135deg,#ff8a1f,#ffb24d);color:#201103;font-weight:950;letter-spacing:.08em;font-size:12px;margin-bottom:16px;box-shadow:0 8px 22px rgba(255,138,31,.2)}.antt-fields-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.antt-fields-preview span{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:11px;font-weight:750}.antt-notice{font-size:12px;padding:12px 13px;border-left:3px solid var(--orange);background:rgba(255,138,31,.06);border-radius:0 10px 10px 0;margin-top:auto}.btn-antt{margin-top:16px;background:linear-gradient(135deg,#ff8a1f,#ffb24d);color:#211204!important;border:0;justify-content:center;font-weight:900}.btn-antt:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(255,138,31,.22)}
@media(max-width:1180px){.freight-dual-grid{grid-template-columns:1fr}.freight-dual-grid .freight-layout{grid-template-columns:.85fr 1.15fr}}
@media(max-width:820px){.freight-dual-grid .freight-layout{grid-template-columns:1fr}.freight-calculator{grid-template-columns:1fr}.freight-result,.freight-actions{grid-column:1}.antt-fields-preview{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.freight-dual-grid .freight-layout,.antt-card{padding:20px}.antt-fields-preview{grid-template-columns:1fr}.freight-header h2{letter-spacing:-1.2px}}

/* ANTT oficial incorporada — V1.6 */
.freight-dual-grid{grid-template-columns:1fr}
.antt-card--embedded{grid-column:1/-1;padding:26px;overflow:visible;min-width:0}
.antt-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:18px}
.antt-card-head h3{margin-bottom:8px}
.antt-card-head p{max-width:760px;margin:0}
.antt-head-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.btn-antt-secondary{background:var(--surface-2);color:var(--text)!important;border:1px solid var(--line);justify-content:center;font-weight:850}
.btn-antt-secondary:hover{border-color:rgba(22,136,223,.55);box-shadow:0 12px 24px rgba(22,136,223,.14);transform:translateY(-2px)}
.antt-embed-shell{position:relative;width:100%;height:clamp(570px,72vh,760px);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 18px 42px rgba(0,0,0,.18)}
.antt-official-frame{display:block;width:100%;height:100%;border:0;background:#fff}
.antt-embed-loading{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:9px;padding:24px;text-align:center;color:#17304d;background:linear-gradient(145deg,#f8fbff,#edf5ff);transition:opacity .3s ease,visibility .3s ease}
.antt-embed-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.antt-embed-loading small{max-width:440px;color:#60748c}
.antt-spinner{width:34px;height:34px;border:3px solid rgba(0,117,210,.2);border-top-color:#0075d2;border-radius:50%;animation:anttSpin .8s linear infinite}
@keyframes anttSpin{to{transform:rotate(360deg)}}

.antt-modal{position:fixed;inset:0;z-index:99990;display:none;padding:18px}
.antt-modal.is-open{display:grid;place-items:center}
.antt-modal-backdrop{position:absolute;inset:0;background:rgba(0,8,20,.78);backdrop-filter:blur(10px)}
.antt-modal-dialog{position:relative;z-index:1;width:min(1480px,calc(100vw - 36px));height:min(930px,calc(100vh - 36px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(72,151,227,.34);border-radius:22px;background:var(--surface-solid);box-shadow:0 28px 90px rgba(0,0,0,.5)}
.antt-modal-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:18px 22px 10px;border-bottom:1px solid var(--line)}
.antt-modal-header h2{font-size:clamp(24px,3vw,36px);margin:4px 0 2px}
.antt-modal-header p{margin:0;color:var(--muted);font-size:13px}
.antt-modal-close{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font-size:25px;line-height:1;cursor:pointer}
.antt-modal-close:hover{border-color:var(--orange);color:var(--orange)}
.antt-modal-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 22px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.antt-modal-toolbar .btn{min-height:42px;padding:10px 16px}
.antt-modal-frame-host{min-height:0;padding:12px;background:#e9eef4}
.antt-modal-frame-host .antt-official-frame{height:100%;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.14)}
.antt-modal-footnote{padding:10px 22px;color:var(--muted);font-size:11px;line-height:1.5;border-top:1px solid var(--line)}
body.antt-modal-open{overflow:hidden}

@media(max-width:860px){
  .antt-card-head{grid-template-columns:1fr;align-items:start}
  .antt-head-actions{justify-content:flex-start}
  .antt-embed-shell{height:650px}
  .antt-modal{padding:0}
  .antt-modal-dialog{width:100vw;height:100dvh;border-radius:0;border:0}
  .antt-modal-header{padding:14px 16px 9px}
  .antt-modal-toolbar{padding:9px 16px}
  .antt-modal-frame-host{padding:6px}
  .antt-modal-footnote{padding:9px 16px}
}
@media(max-width:560px){
  .antt-card--embedded{padding:16px}
  .antt-head-actions .btn{width:100%}
  .antt-embed-shell{height:700px;border-radius:12px}
  .antt-modal-toolbar .btn{width:100%;justify-content:center}
}

@media print{
  body *{visibility:hidden!important}
  .antt-modal,.antt-modal *{visibility:visible!important}
  .antt-modal{position:absolute!important;inset:0!important;display:block!important;padding:0!important;background:#fff!important}
  .antt-modal-backdrop,.antt-modal-header,.antt-modal-toolbar,.antt-modal-footnote{display:none!important}
  .antt-modal-dialog{position:static!important;width:100%!important;height:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;display:block!important}
  .antt-modal-frame-host{padding:0!important;background:#fff!important;height:100vh!important}
  .antt-modal-frame-host .antt-official-frame{width:100%!important;height:100vh!important;border-radius:0!important;box-shadow:none!important}
}

/* ANTT sem iframe — V1.7 */
.antt-card--native{grid-column:1/-1;padding:26px;overflow:visible;min-width:0}
.antt-native-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 18px}
.antt-official-step{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.antt-official-step p{margin:4px 0 0;font-size:12px;line-height:1.5}
.antt-step-number{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:linear-gradient(135deg,#1688df,#2cbcff);color:#fff;font-weight:900}
.antt-result-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2)}
.antt-result-form label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:800}
.antt-result-form input,.antt-result-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface-solid);color:var(--text);padding:11px 12px;font:inherit;outline:none;resize:vertical}
.antt-result-form input:focus,.antt-result-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(22,136,223,.12)}
.antt-field-wide{grid-column:1/-1}
.antt-result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.antt-result-dialog{height:min(900px,calc(100vh - 36px));grid-template-rows:auto auto minmax(0,1fr) auto}
.antt-report{min-height:0;overflow:auto;padding:22px;background:linear-gradient(145deg,var(--surface-solid),var(--surface-2))}
.antt-report-card{width:min(1000px,100%);margin:auto;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface-solid);box-shadow:0 18px 50px rgba(0,0,0,.2)}
.antt-report-brand{display:flex;align-items:baseline;gap:0;font-size:28px;font-weight:950;letter-spacing:-1px}.antt-report-brand small{margin-left:12px;color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.antt-report-value{margin:24px 0;padding:22px;border-radius:16px;text-align:center;background:linear-gradient(135deg,rgba(22,136,223,.14),rgba(255,138,31,.09));border:1px solid var(--line)}
.antt-report-value span,.antt-report-value em{display:block;color:var(--muted);font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.antt-report-value strong{display:block;margin:8px 0;font-size:clamp(36px,6vw,58px);color:var(--blue);letter-spacing:-2px}
.antt-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.antt-report-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.antt-report-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.antt-report-grid strong{display:block;margin-top:5px;font-size:13px;line-height:1.45}.antt-report-wide{grid-column:1/-1}
.antt-report-formulas,.antt-report-notes{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.antt-report-formulas h3,.antt-report-notes h3{margin:0 0 10px;font-size:16px}.antt-report-formulas p,.antt-report-notes li{color:var(--muted);font-size:12px;line-height:1.65}.antt-report-notes ol{margin:0;padding-left:20px}.antt-report-disclaimer{margin:16px 0 0;color:var(--muted);font-size:10px;text-align:center}
@media(max-width:720px){.antt-native-grid,.antt-result-form,.antt-report-grid{grid-template-columns:1fr}.antt-field-wide,.antt-report-wide{grid-column:1}.antt-card--native{padding:18px}.antt-report{padding:10px}.antt-report-card{padding:18px}.antt-result-actions .btn{width:100%;justify-content:center}}
@media print{body *{visibility:hidden!important}.antt-modal,.antt-modal *{visibility:visible!important}.antt-modal{position:absolute!important;inset:0!important;display:block!important;padding:0!important}.antt-modal-backdrop,.antt-modal-header,.antt-modal-toolbar,.antt-modal-footnote{display:none!important}.antt-modal-dialog{position:static!important;width:100%!important;height:auto!important;border:0!important;box-shadow:none!important;background:#fff!important;display:block!important}.antt-report{overflow:visible!important;padding:0!important;background:#fff!important}.antt-report-card{width:100%!important;border:0!important;box-shadow:none!important;color:#111!important}.antt-report-card *{color:#111!important}.antt-report-value strong{color:#006fbe!important}}
