:root{
  --cg-bg:#f4f6f2;--cg-surface:#fff;--cg-surface-soft:#f8faf7;--cg-ink:#16231e;
  --cg-muted:#6f7e76;--cg-line:#dfe7e1;--cg-green:#124c3b;--cg-green-2:#1f6650;
  --cg-mint:#e5f0e8;--cg-lime:#c8e46d;--cg-danger:#a84235;
  --cg-shadow:0 10px 30px rgba(18,76,59,.07);--cg-radius:18px;
}
*{box-sizing:border-box}
html{background:var(--cg-bg)}
body{margin:0;background:var(--cg-bg);color:var(--cg-ink);font-family:Inter,"Segoe UI",system-ui,sans-serif;letter-spacing:0;padding-bottom:92px}
button,input,select,textarea{font-family:inherit}
button{cursor:pointer}

/* Cabeçalho */
.topbar{height:68px;padding:11px max(16px,calc((100vw - 760px)/2));background:rgba(255,255,255,.94);border-bottom:1px solid var(--cg-line);box-shadow:none;backdrop-filter:blur(14px)}
.topbar>div{padding-left:45px}.topbar>div:before{display:none}.brand-logo{left:0;top:0;width:36px;height:36px;border-radius:10px;box-shadow:0 5px 14px rgba(18,76,59,.14)}
.topbar .eyebrow{font-size:8px;letter-spacing:.13em;color:#77857e}.topbar h1{font:800 19px/1.05 Inter,"Segoe UI",sans-serif;letter-spacing:-.04em}
.header-actions{gap:8px}.connection-badge{border:0;border-radius:99px;padding:7px 10px;background:#e6f2e8;color:#245c43;font-size:8px;font-weight:850;letter-spacing:.05em}
.user-button,.icon-button{width:36px;height:36px;border:0;border-radius:11px;background:var(--cg-green);color:white;box-shadow:none}

/* Estrutura */
main{width:min(100%,760px);max-width:760px;margin:0 auto;padding:22px 18px 28px}
.view.active{animation:cg-in .2s ease}@keyframes cg-in{from{opacity:.25;transform:translateY(5px)}}
.section-heading{margin:25px 2px 11px}.section-heading h2{font-size:17px;font-weight:780;letter-spacing:-.025em}.section-heading .eyebrow{font-size:8px}.text-button{border:0;border-radius:9px;padding:7px 10px;background:var(--cg-mint);color:var(--cg-green);font-size:10px;font-weight:800}

/* Início */
.home-welcome{margin:3px 2px 17px}.home-welcome span{font-size:11px;color:var(--cg-muted)}.home-welcome h2{font-size:26px;line-height:1.05;font-weight:800;letter-spacing:-.045em}.home-welcome p{margin-top:5px;color:var(--cg-muted);font-size:12px}
.empty-trip-card{border:1px solid var(--cg-line);border-radius:22px;padding:31px 22px;background:var(--cg-surface);box-shadow:var(--cg-shadow);gap:10px}.empty-trip-icon{width:55px;height:55px;border-radius:17px;background:var(--cg-mint);color:var(--cg-green)}
.empty-trip-card>strong{font-size:19px;letter-spacing:-.025em}.empty-trip-card>small{color:var(--cg-muted);line-height:1.5}.empty-trip-card>b{border-radius:12px;padding:12px 23px;background:var(--cg-green);font-size:12px}
.home-actions{grid-template-columns:repeat(4,1fr)!important;gap:8px;margin:0 0 20px}.home-actions button{display:grid!important;justify-items:center!important;gap:7px!important;padding:8px 4px!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center!important}
.home-actions span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--cg-mint);color:var(--cg-green);font-size:21px}.home-actions strong{font-size:10px;color:#516159}
.home-trips-section{margin:4px 0 8px}.home-trips-section .section-heading{margin-bottom:10px}.home-trips-section .section-heading>div{display:grid;gap:2px}.home-trip-list{display:grid;gap:8px}.home-trip-list article{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--cg-line);border-radius:15px;background:#fff}.home-trip-date{display:grid;place-items:center;align-content:center;width:44px;height:44px;border-radius:13px;background:var(--cg-mint);color:var(--cg-green);line-height:1}.home-trip-date b{font-size:15px}.home-trip-date small{margin-top:4px;font-size:8px;text-transform:uppercase}.home-trip-copy{min-width:0}.home-trip-copy strong,.home-trip-copy small{display:block}.home-trip-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.home-trip-copy small{margin-top:4px;color:var(--cg-muted);font-size:9px}.home-trip-open{border:0;border-radius:10px;padding:8px 10px;background:#edf5f0;color:var(--cg-green);font-size:9px;font-weight:850}.home-trip-open.current{background:#dff0e4}.home-trip-list .home-trip-empty{display:flex;justify-content:space-between;gap:10px;padding:13px 14px;border:1px dashed #cbd9d0;border-radius:15px;color:var(--cg-muted);font-size:11px}.home-trip-empty button{border:0;background:transparent;color:var(--cg-green);font-weight:850}
.home-trip-heading{margin:2px 2px 10px!important}.home-trip-heading h2{font-size:16px!important}
.hero-card.compact-hero{position:relative;padding:18px!important;border:0;border-radius:20px!important;background:linear-gradient(135deg,var(--cg-green),var(--cg-green-2))!important;color:white;box-shadow:0 15px 35px rgba(18,76,59,.16)!important;overflow:hidden}
.hero-card.compact-hero:after{content:"";display:block;position:absolute;right:-48px;top:-70px;width:145px;height:145px;border:27px solid rgba(200,228,109,.1);border-radius:50%}
.hero-top,.hero-meta{position:relative;z-index:1}.hero-top p{font-size:11px;color:#c8dbd3}.status-badge{padding:6px 9px;border-radius:99px;font-size:8px;letter-spacing:.06em}
.compact-hero h2{position:relative;z-index:1;margin:5px 0 10px!important;font-size:21px!important;font-weight:800!important;letter-spacing:-.035em}
.trip-glance{position:relative;z-index:1;margin:0 0 14px}.trip-glance>span{padding:4px 7px;border-radius:99px;font-size:8px}.trip-glance small{font-size:9px}
.hero-total{position:relative;z-index:1;display:flex!important;flex-direction:row!important;align-items:center!important}.hero-total>div{display:grid;gap:2px}.hero-total span{font-size:9px;color:#bfd2ca}.hero-total strong{font-size:25px;letter-spacing:-.04em}.hero-add-cue{width:46px;height:46px;border-radius:15px;background:var(--cg-lime);color:var(--cg-green);box-shadow:none}
.hero-tap-hint{position:relative;z-index:1;display:block;margin-top:8px;text-align:center;color:#c4d7cf!important;font-size:8px}
.home-expense-summary{margin-top:9px;border:1px solid var(--cg-line);border-radius:14px;background:white}.home-expense-summary summary{padding:12px 14px;font-size:10px;color:#40594f}.home-expense-summary .category-card{background:#eef5f0!important;color:var(--cg-green)!important}.home-expense-summary .hero-split>div{background:#f3f7f4}
.completion-card{margin-top:10px!important;padding:15px!important;border:1px solid var(--cg-line)!important;border-radius:16px!important;background:white;box-shadow:none!important}.completion-card>div:first-child>strong{font-size:13px}.completion-card small{font-size:10px}.completion-ring{width:50px;height:50px}.next-step{padding:8px 10px;border-radius:9px;background:var(--cg-mint);font-size:10px}

/* Listas */
.expense-list{gap:8px}.expense-item{grid-template-columns:40px 1fr auto;padding:12px;border:1px solid var(--cg-line);border-radius:14px;background:white;box-shadow:none}.expense-icon{height:40px;border-radius:12px;background:var(--cg-mint);color:var(--cg-green)}
.expense-item>div:nth-child(2)>strong{font-size:12px}.expense-item small{font-size:9px}.expense-side>strong{font-size:12px}.row-actions button{font-size:9px}
.empty-state{border:1px dashed #cbd7cf;border-radius:15px;padding:24px;background:rgba(255,255,255,.45);font-size:12px}

/* Formulários */
.form-card{gap:17px;padding:19px;border:1px solid var(--cg-line);border-radius:20px;background:white;box-shadow:none}
.form-section-title{gap:10px}.form-section-title>span{width:30px;height:30px;border-radius:10px;background:var(--cg-green)}.form-section-title strong{font-size:13px}.form-section-title small{font-size:10px}
label{gap:7px;color:#506058;font-size:10px;font-weight:750}input,select,textarea{min-height:46px;padding:12px 13px;border:1px solid #dce5de;border-radius:12px;background:#fafcf9;color:var(--cg-ink);font-size:14px}
textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#77a18f;box-shadow:0 0 0 3px rgba(40,112,84,.1);background:white}
.field-grid{gap:10px}.primary,.secondary,.import-button{min-height:46px;border-radius:12px;padding:12px 14px;font-size:12px;font-weight:800;box-shadow:none}.primary{background:var(--cg-green);color:white}.secondary,.import-button{background:var(--cg-mint);color:var(--cg-green)}.danger{border-radius:12px}
.receipt-drop{padding:22px;border:1.5px dashed #8fad9e;border-radius:17px;background:#f5f9f5}.receipt-drop strong{font-size:13px}.receipt-drop small{font-size:10px}.camera{width:46px;height:46px;border-radius:14px;background:var(--cg-green);box-shadow:none}.ocr-status{border-radius:11px;font-size:11px}
.quick-types{gap:7px}.quick-types button{padding:9px 12px;border-radius:99px;font-size:10px}.advanced-fields,.report-options{border:1px solid var(--cg-line);border-radius:13px}.advanced-fields summary,.report-options summary{padding:12px 13px;font-size:11px}
.save-status{font-size:10px}.trip-toolbar{gap:8px}.trip-toolbar>.primary{min-height:46px}

/* Relatórios */
.formal-header,.report-filters{border:1px solid var(--cg-line);border-radius:16px;box-shadow:none}.formal-header div{padding:12px}.formal-header span{font-size:8px}.formal-header strong{font-size:11px}.report-filters{padding:11px;gap:8px}
.kpis{gap:9px}.kpis article{padding:15px;border-radius:16px;background:var(--cg-green)}.kpis article.light{border:1px solid var(--cg-line);background:white}.kpis span{font-size:10px}.kpis strong{font-size:18px}
.bars{gap:12px}.bar-row header,.summary-line{font-size:11px}.participant-report article,.archive-list article{border:1px solid var(--cg-line);border-radius:14px;background:white;box-shadow:none}.approval-flow{gap:7px}.approval-flow div{padding:10px;border-radius:11px}.approval-flow span{font-size:8px}.approval-flow strong{font-size:10px}.flow-help{font-size:10px}
.report-table{font-size:10px}.report-table th,.report-table td{padding:9px}.audit-timeline strong{font-size:11px}.audit-timeline small{font-size:9px}.report-actions{gap:8px}

/* Modal e navegação */
.trip-dialog{border-radius:20px;box-shadow:0 28px 90px rgba(10,40,30,.3)}.trip-dialog form{gap:15px;padding:22px}.trip-dialog h2{font-size:20px}.trip-dialog p{font-size:11px}
.bottom-nav{bottom:8px;width:min(720px,calc(100% - 18px));grid-template-columns:repeat(3,1fr)!important;padding:9px 8px max(9px,env(safe-area-inset-bottom));border:1px solid var(--cg-line);border-radius:19px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(18,76,59,.13)}
.bottom-nav button{border-radius:12px;background:transparent!important;font-size:9px}.bottom-nav button.active{background:#edf4ef!important}.bottom-nav button span{font-size:18px}.bottom-nav .add span{width:46px;height:46px;margin-top:-25px;border:4px solid var(--cg-bg);border-radius:15px;background:var(--cg-green)}
.toast{bottom:92px;border-radius:12px;padding:11px 14px;font-size:11px}

/* Login */
.auth-screen{background:linear-gradient(145deg,#eef4ef,#f8faf6)}.auth-card{border:1px solid var(--cg-line);border-radius:24px;background:white;box-shadow:0 25px 70px rgba(18,76,59,.12)}.auth-card input{background:#f8faf7}.auth-card .primary{background:var(--cg-green)}

@media(max-width:520px){
  body{padding-bottom:102px}.topbar{height:64px;padding-left:14px;padding-right:14px}main{padding:17px 14px 25px}
  .home-actions{gap:5px}.home-actions span{width:43px;height:43px}.home-actions strong{font-size:9px}
  .hero-card.compact-hero{padding:16px!important;border-radius:18px!important}.compact-hero h2{font-size:19px!important}
  .field-grid{grid-template-columns:1fr}.form-card{padding:16px;border-radius:18px}.report-actions{grid-template-columns:1fr}
  .expense-item{grid-template-columns:38px 1fr}.expense-side{grid-column:2}.bottom-nav{bottom:7px}
}
@media print{.topbar,.bottom-nav,.report-actions{display:none!important}}

/* Cartão principal aprovado — preservado como assinatura visual do CapriGo. */
.hero-card.compact-hero{
  position:relative;padding:25px!important;border:0;border-radius:28px!important;
  background:linear-gradient(135deg,#123d32 0,#1a5846 62%,#3e7256 100%)!important;
  color:#fff;box-shadow:0 24px 55px rgba(18,61,50,.22)!important;overflow:hidden
}
.hero-card.compact-hero:after{
  content:"";display:block;position:absolute;width:170px;height:170px;
  border:38px solid rgba(214,237,139,.08);border-radius:50%;right:-90px;top:-100px
}
.compact-hero h2{font-size:24px!important;font-weight:800!important;margin:7px 0 12px!important}
.compact-hero .hero-total strong{font-size:28px}.hero-add-cue{
  width:48px;height:48px;border-radius:16px;background:#d6ed8b;color:#173f35;
  font-size:27px;box-shadow:0 8px 22px rgba(0,0,0,.16)
}
@media(max-width:520px){.hero-card.compact-hero{padding:22px!important;border-radius:24px!important}.compact-hero h2{font-size:22px!important}.compact-hero .hero-total strong{font-size:26px}}

/* Primeiro acesso: o próprio cartão verde inicia a viagem. */
.empty-trip-card{display:none!important}
#home:not(.has-active-trip) #homeTripArea{display:block!important}
#home:not(.has-active-trip) #homeTripArea .home-trip-heading,
#home:not(.has-active-trip) #homeTripArea .home-expense-summary{display:none!important}
#home:not(.has-active-trip) .compact-hero{margin-top:14px}
#home:not(.has-active-trip) .compact-hero .hero-top{display:none}
#home:not(.has-active-trip) .compact-hero .trip-glance{margin-top:2px}
/* Agenda de visitas: fluxo compacto inspirado em apps corporativos de viagem. */
.visits-section{margin:8px 0 18px;padding:18px;border:1px solid #dce8e2;border-radius:18px;background:#f7faf8}
.visits-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.visits-heading h3{margin:2px 0 3px}.visits-heading small{color:#64756e}
.visit-list{display:grid;gap:10px}.visit-list.empty-state{padding:20px;text-align:center;border:1px dashed #c9d8d1;border-radius:14px;background:#fff;color:#708078}
.visit-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #dce8e2;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(20,63,52,.05)}
.visit-index{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e5f1eb;color:#145646;font-weight:800}.visit-item strong,.visit-item small{display:block}.visit-item small{margin-top:3px;color:#687970}.visit-item p{margin:5px 0 0;color:#344b43;font-size:.88rem}.visit-item .row-actions{display:flex;gap:5px}
.visit-item .row-actions button{border:0;border-radius:9px;padding:7px 9px;background:#eef5f1;color:#145646;font-weight:700}
.report-filters{grid-template-columns:repeat(4,minmax(120px,1fr))}
@media(max-width:680px){.visits-section{padding:14px}.visits-heading{align-items:flex-start;flex-direction:column}.visits-heading button{width:100%}.visit-item{grid-template-columns:34px minmax(0,1fr)}.visit-item .row-actions{grid-column:2}.report-filters{grid-template-columns:1fr 1fr}}

/* Home v43 — experiência próxima ao Onfly, com identidade CapriGo. */
#home{max-width:680px;margin:0 auto}
#home .home-welcome{text-align:left!important;margin:14px 0 20px!important}
#home .home-welcome span{font-size:13px;color:#6d7d76}
#home .home-welcome h2{font-size:28px!important;margin-top:2px;color:#10251e}
#home .home-welcome p{font-size:13px;margin-top:7px;color:#718079}
#home .empty-trip-card{display:none!important}
#home #homeActions{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:14px;margin:0 0 26px!important}
#home .onfly-actions button{display:grid!important;justify-items:center!important;gap:9px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center!important}
#home .onfly-actions span{display:grid;place-items:center;width:52px;height:52px;flex-basis:52px;border-radius:17px;background:#e7f2ec;color:#125541;font-size:22px;box-shadow:0 3px 10px rgba(18,76,59,.05)}
#home .onfly-actions button:hover span{background:#dcece4;transform:translateY(-2px)}
#home .onfly-actions strong{font-size:11px;color:#344c43;font-weight:750}
#home #homeTripArea{display:block!important}
#home .home-trip-heading{display:flex!important;margin:0 2px 11px!important}
#home .home-trip-heading h2{font-size:17px}
#home .hero-card.compact-hero{min-height:205px;padding:23px 24px!important;border-radius:24px!important;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(125deg,#104a3a 0%,#17614b 64%,#37755e 100%)!important;box-shadow:0 18px 44px rgba(17,76,58,.19)!important}
#home .hero-top{display:flex!important;align-items:center;justify-content:space-between}
#home .hero-top p{font-size:12px;color:#d0e0d9}
#home .status-badge.start{color:#173f35;background:#d7ec87}
#home .compact-hero h2{font-size:25px!important;max-width:520px;margin:8px 0 13px!important}
#home .trip-glance{margin:0 0 19px}
#home .hero-total{margin-top:auto}
#home .hero-tap-hint{text-align:left;margin-top:11px;font-size:10px}
#home:not(.has-active-trip) .hero-total>div span,#home:not(.has-active-trip) #grandTotal{display:none}
#home:not(.has-active-trip) .trip-glance>span{font-size:0}
#home:not(.has-active-trip) .trip-glance>span:after{content:"PLANEJE EM 1 MINUTO";font-size:9px}
#home:not(.has-active-trip) #tripRouteSummary{color:#d1e1da}
#home:not(.has-active-trip) #completionCard,#home:not(.has-active-trip) #homeRecentHeading,#home:not(.has-active-trip) #expenseList,#home:not(.has-active-trip) .home-expense-summary{display:none!important}
#home.has-active-trip #completionCard{margin-top:18px}
@media(min-width:900px){main{padding-top:34px}#home{max-width:760px}.topbar{padding-left:max(28px,calc((100vw - 780px)/2));padding-right:max(28px,calc((100vw - 780px)/2))}}
@media(max-width:520px){#home .home-welcome{margin-top:8px!important}#home #homeActions{gap:7px;margin-bottom:22px!important}#home .onfly-actions span{width:47px;height:47px;flex-basis:47px;border-radius:15px}#home .onfly-actions strong{font-size:10px}#home .hero-card.compact-hero{min-height:195px;padding:21px!important}#home .compact-hero h2{font-size:22px!important}}

/* v44: estrutura da home acompanha o padrão real do app Onfly. */
body{background:#f5f7f6}
#home .home-trip-heading{margin-bottom:9px!important}
#home .hero-card.compact-hero{min-height:168px;padding:20px 22px!important;border-radius:20px!important;box-shadow:0 12px 30px rgba(17,76,58,.16)!important}
#home .compact-hero h2{font-size:22px!important;margin:5px 0 9px!important}
#home .trip-glance{margin-bottom:12px}
#home .hero-total strong{font-size:25px}
#home .hero-add-cue{width:42px;height:42px;border-radius:13px;font-size:23px;box-shadow:none}
#home .hero-tap-hint{display:none}
#home #homeActions{margin:20px 0 8px!important;padding:15px 10px 13px;background:#fff;border:1px solid #e4e9e6;border-radius:18px;box-shadow:0 5px 18px rgba(23,63,53,.045)}
#home .onfly-actions span{width:46px;height:46px;flex-basis:46px;border-radius:14px;background:#e7f2ec;box-shadow:none}
#home .home-visits-section .section-heading{margin:24px 2px 11px}
.home-visit-list{display:grid;gap:9px}
.home-visit-list>button{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:12px;border:1px solid #e3e9e5;border-radius:16px;background:#fff;color:#183a2f;text-align:left;font:inherit;box-shadow:0 4px 15px rgba(23,63,53,.035);cursor:pointer}
.home-visit-list>button>span:nth-child(2){min-width:0}.home-visit-list strong,.home-visit-list small{display:block}.home-visit-list strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-visit-list span:nth-child(2)>small{margin-top:4px;color:#73817a;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-visit-list i{font-style:normal;color:#769087;font-size:22px}
.home-visit-date{display:grid!important;place-items:center;align-content:center;width:46px;height:46px;border-radius:13px;background:#e8f2ed;color:#15523f;text-transform:uppercase}.home-visit-date b{font-size:15px;line-height:1}.home-visit-date small{margin-top:3px;font-size:8px!important;font-weight:800}
#home:not(.has-active-trip) .home-trip-heading{display:none!important}
#home:not(.has-active-trip) .hero-card.compact-hero{margin-top:4px;min-height:170px}
#home:not(.has-active-trip) #homeActions{margin-top:18px!important}
#home:not(.has-active-trip) #homeActions{display:grid!important}
#home:not(.has-active-trip) #homeVisitsSection{display:block!important}
#home:not(.has-active-trip) #homeVisitsSection .section-heading h2{font-size:17px}
#home:not(.has-active-trip) #homeVisitsSection .section-heading .text-button{display:none}
@media(max-width:520px){#home .hero-card.compact-hero{min-height:158px;padding:18px!important}#home .compact-hero h2{font-size:20px!important}#home #homeActions{padding-left:4px;padding-right:4px}.home-visit-list>button{grid-template-columns:44px minmax(0,1fr) 13px;padding:10px}.home-visit-date{width:42px;height:42px}}

/* Despesa simplificada e identificação visual do cartão. */
#expenseForm{gap:14px}
#expenseForm .receipt-drop{padding:17px}
#expenseForm .conversion-fields{display:none}
#expenseForm #regularFields.foreign-currency .conversion-fields{display:grid}
#expenseForm #regularFields:not(.foreign-currency) #currencyHint{display:none}
.expense-more{margin-top:1px;background:#f8faf8}
.automatic-treatment{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:13px 15px;border:1px solid #d9e9df;border-radius:14px;background:#f1f8f3;color:#254c3f}.automatic-treatment span{font-size:12px;font-weight:750;color:#647d74}.automatic-treatment strong{grid-row:1/3;grid-column:2;align-self:center;color:#115b46}.automatic-treatment small{font-size:11px;color:#6c8079}
.vehicle-fields{padding:15px;border:1px solid #dce8e0;border-radius:17px;background:#f7faf8}.vehicle-heading{display:flex;align-items:center;gap:11px}.vehicle-heading>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e1efe6;font-size:21px}.vehicle-heading strong,.vehicle-heading small{display:block}.vehicle-heading strong{font-size:13px;color:#20483b}.vehicle-heading small{margin-top:3px;color:#74857d;font-size:10px}.mileage-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;border-radius:14px;background:#123f33;color:#fff}.mileage-result>div span,.mileage-result>div strong{display:block}.mileage-result>div span{color:#bed2c8;font-size:9px}.mileage-result>div strong{margin-top:5px;font-size:16px}.mileage-result>small{grid-column:1/-1;padding-top:8px;border-top:1px solid rgba(255,255,255,.13);color:#cddbd4;font-size:9px}.vehicle-fields .field-hint{display:inline;margin-left:5px;color:#84938c;font-weight:500}
.expense-more>summary{padding:13px 14px;color:#37584c;font-weight:750}
.payment-card-preview{position:relative;min-height:154px;padding:18px;border-radius:19px;overflow:hidden;color:#f5fbf7;background:linear-gradient(135deg,#0d3d31,#176048 62%,#3a775d);box-shadow:0 14px 30px rgba(14,61,48,.2)}
.payment-card-preview:after{content:"";position:absolute;right:-35px;top:-52px;width:130px;height:130px;border:23px solid rgba(214,237,139,.12);border-radius:50%}
.payment-card-preview.personal-card{background:linear-gradient(135deg,#303a42,#53626b)}
.payment-card-preview .card-brand{display:flex;align-items:center;gap:8px}.payment-card-preview .card-brand img{width:27px;height:27px;border-radius:8px}.payment-card-preview .card-brand span{font-size:8px;font-weight:850;letter-spacing:.14em}
.card-chip{display:block;width:29px;height:21px;margin:18px 0 13px;border-radius:5px;background:linear-gradient(135deg,#e9dca5,#af9851);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.payment-card-preview strong,.payment-card-preview small{position:relative;z-index:1;display:block}.payment-card-preview strong{font-size:15px}.payment-card-preview small{margin-top:4px;color:#cfe0d8;font-size:9px}
@media(max-width:520px){#expenseForm{padding:15px;gap:13px}.payment-card-preview{min-height:145px}.expense-more .details-content{padding:13px}}

.travelers-section{margin:4px 0 12px;padding:18px;border:1px solid #dfe8e3;border-radius:18px;background:#f7faf8}.traveler-list{display:grid;gap:9px}.traveler-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #e1e8e4;border-radius:14px;background:#fff}.traveler-item .person-avatar{width:38px;height:38px}.traveler-item strong,.traveler-item small{display:block}.traveler-item small{margin-top:3px;color:#718079;font-size:10px;line-height:1.45}.traveler-item .row-actions{display:flex;gap:5px}.traveler-item .row-actions button{border:0;border-radius:8px;padding:7px;background:#edf4f0;color:#15513f;font-size:10px;font-weight:750}.organizer-tag{padding:6px 8px;border-radius:99px;background:#e5f0ea;color:#17533f;font-size:9px;font-weight:800}@media(max-width:560px){.travelers-section{padding:14px}.traveler-item{grid-template-columns:38px minmax(0,1fr)}.traveler-item>.row-actions,.traveler-item>.organizer-tag{grid-column:2;justify-self:start}}
.splash-logo-symbol{position:relative;z-index:2;display:grid;place-items:center;width:74px;height:90px;border-radius:22px 22px 15px 15px;background:#fffdf4;color:#78c514;font-size:48px;font-weight:950;line-height:1;filter:drop-shadow(0 8px 12px rgba(0,0,0,.14));animation:splashFloat 1.7s .75s ease-in-out infinite}.splash-logo-symbol:before,.splash-logo-symbol:after{content:"";position:absolute;z-index:-1;top:-8px;width:30px;height:24px;background:#fffdf4}.splash-logo-symbol:before{left:-12px;border-radius:22px 4px 12px 4px;transform:rotate(24deg)}.splash-logo-symbol:after{right:-12px;border-radius:4px 22px 4px 12px;transform:rotate(-24deg)}
.report-more{margin:10px 0 0;border:1px solid #e0e8e3;border-radius:16px;background:#fff}.report-more>summary{padding:14px 16px;color:#496057;font-size:11px;font-weight:800;text-align:center;cursor:pointer}.report-more>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 12px 12px}.report-more .secondary,.report-more .import-button{min-height:43px;padding:11px;font-size:10px;box-shadow:none}@media(max-width:560px){.report-actions{grid-template-columns:1fr}.report-more>div{grid-template-columns:1fr}}
.brand-logo-symbol,.auth-logo-symbol,.card-logo-symbol{display:grid;place-items:center;background:#103f32;color:#79c914;font-weight:950}.brand-logo-symbol{position:absolute;left:0;top:0;width:38px;height:38px;border-radius:11px;font-size:24px;box-shadow:0 7px 18px rgba(21,76,61,.2)}.auth-logo-symbol{width:76px;height:76px;margin:0 auto 10px;border-radius:22px;font-size:45px;box-shadow:0 12px 28px rgba(21,76,61,.18)}.card-logo-symbol{width:27px;height:27px;border-radius:8px;background:#fffdf4;font-size:17px}.payment-card-preview .card-brand .card-logo-symbol{color:#78c514}
.splash-vector-logo,.brand-vector-logo,.auth-vector-logo,.card-vector-logo{display:block;background:center/cover no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' rx='24' fill='%230b3d30'/%3E%3Cpath d='M24 25h13l13 14 13-14h13l-7 8v42l-7 7-6-7-7 7-7-7-7 7-7-7V33z' fill='%23fffdf4'/%3E%3Cpath d='M31 39q8 0 10 8-8 0-10-8m38 0q-8 0-10 8 8 0 10-8' fill='%230b3d30'/%3E%3Cpath d='m37 59 9 9 19-21' fill='none' stroke='%2379c914' stroke-width='7'/%3E%3C/svg%3E")}.splash-vector-logo{width:108px;height:108px;border-radius:28px;animation:splashFloat 1.7s .75s ease-in-out infinite}.brand-vector-logo{position:absolute;left:0;top:-2px;width:40px;height:40px;border-radius:11px;filter:drop-shadow(0 5px 8px rgba(21,76,61,.16))}.auth-vector-logo{width:76px;height:76px;margin:0 auto 10px;border-radius:21px;box-shadow:0 12px 28px rgba(21,76,61,.18)}.card-vector-logo{width:27px;height:27px;border-radius:8px}
.splash-vector-logo,.brand-vector-logo,.auth-vector-logo,.card-vector-logo{background-image:url("data:image/webp;base64,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")}
.new-trip-team{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border:1px solid #dfe8e3;border-radius:15px;background:#f7faf8}.new-trip-team strong,.new-trip-team small{display:block}.new-trip-team small{margin-top:3px;color:#718079;font-size:10px}.new-trip-team>button{min-height:40px;padding:10px 12px;font-size:10px}.new-trip-traveler-list{grid-column:1/-1;display:grid;gap:7px}.new-trip-person{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border-radius:12px;background:#fff;border:1px solid #e2e9e5}.new-trip-person .person-avatar{width:31px;height:31px}.new-trip-person strong,.new-trip-person small{display:block}.new-trip-person small{color:#75837c;font-size:9px}.new-trip-person .row-actions button{border:0;background:#edf4f0;color:#15513f;border-radius:7px;padding:6px;font-size:9px;font-weight:750}@media(max-width:520px){.new-trip-team{grid-template-columns:1fr}.new-trip-team>button{width:100%}.new-trip-traveler-list{grid-column:1}}
.topbar{overflow:hidden}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.install-button{white-space:nowrap}.topbar h1,#home .home-welcome h2,.compact-hero h2,h2,h3{font-family:"Manrope","Segoe UI Variable","Segoe UI",sans-serif}body,input,select,textarea,button{font-family:"Manrope","Segoe UI Variable","Segoe UI",sans-serif}.topbar h1{letter-spacing:-.035em}.home-welcome h2,.compact-hero h2{letter-spacing:-.045em!important}.home-welcome p,.trip-glance small,.home-visit-list small{font-weight:500}
@media(max-width:520px){.topbar{padding-left:16px!important;padding-right:14px!important}.topbar>div:first-child{min-width:0;flex:1}.topbar .eyebrow{font-size:7px;white-space:nowrap}.topbar h1{font-size:18px}.header-actions{flex:0 0 auto;gap:6px}.connection-badge{display:none!important}.user-button{width:42px!important;height:42px!important;min-width:42px!important}.install-button{display:grid;place-items:center;width:42px;height:42px;min-width:42px;padding:0!important;border-radius:13px!important;font-size:0!important}.install-button:before{content:"↓";font-size:22px;font-weight:800;line-height:1}.brand-vector-logo{width:38px;height:38px}.topbar>div{padding-left:45px!important}}
.topbar>div:first-child{display:flex;align-items:center;min-height:40px}

/* Mantém relógio, sinal, Wi-Fi e bateria fora do cabeçalho em apps nativos. */
@supports(padding-top:env(safe-area-inset-top)){
  .topbar{height:calc(68px + env(safe-area-inset-top));padding-top:calc(11px + env(safe-area-inset-top))}
  @media(max-width:520px){.topbar{height:calc(64px + env(safe-area-inset-top))}}
}
.connection-badge{border:0;cursor:pointer}.connection-badge.saving,.connection-badge.waiting{background:#f4e8c7;color:#7a5b16}.connection-badge.offline{background:#e8ecea;color:#53615a}.connection-badge.error{background:#fae2de;color:#8b392e}
.splash-vector-logo,.brand-vector-logo,.auth-vector-logo,.card-vector-logo{background-image:url("assets/caprigo-logo-ui.webp")}
.install-button[hidden]{display:none!important}

/* v73 — identidade visual CQS: vinho institucional, vermelho e creme. */
:root{
  --cg-bg:#faf6f4;--cg-surface:#fff;--cg-surface-soft:#fdf9f7;--cg-ink:#302123;
  --cg-muted:#817174;--cg-line:#eadcda;--cg-green:#741523;--cg-green-2:#9b2933;
  --cg-mint:#f5e7e5;--cg-lime:#e79a91;--cg-danger:#a52831;
  --cg-shadow:0 10px 30px rgba(116,21,35,.08)
}
html,body{background:var(--cg-bg)}
.topbar{background:rgba(255,252,250,.96)}
.brand-logo{box-shadow:0 5px 14px rgba(116,21,35,.17)}
.connection-badge{background:#f6e8e7;color:#741523}
.hero-card.compact-hero,#home .hero-card.compact-hero{
  background:linear-gradient(125deg,#65101d 0%,#861d2b 62%,#aa3a3e 100%)!important;
  box-shadow:0 18px 44px rgba(116,21,35,.22)!important
}
.hero-card.compact-hero:after{border-color:rgba(255,218,204,.12)}
.hero-top p,.hero-total span,.hero-tap-hint,#home:not(.has-active-trip) #tripRouteSummary{color:#f2d9d5!important}
.hero-add-cue,.trip-hero-action,#home .status-badge.start{background:#f1b0a7!important;color:#5e101a!important}
.home-trip-open{background:#f8ecea}.home-trip-open.current{background:#f3ddda}
#home .onfly-actions span,.home-actions span,.home-visit-date,.visit-index,.expense-icon,.vehicle-heading>span{background:#f5e7e5;color:#741523}
#home .onfly-actions button:hover span{background:#efd9d6}
#home #homeActions,.home-trip-list article,.home-visit-list>button,.completion-card,.home-expense-summary{border-color:#eadcda}
.home-visit-list>button{color:#4c2429}.home-visit-list i{color:#a46e72}
.automatic-treatment{border-color:#ebd3d0;background:#fbefed;color:#683139}.automatic-treatment span{color:#8a686c}.automatic-treatment strong{color:#741523}
.vehicle-fields,.travelers-section,.visits-section,.new-trip-team{border-color:#eadbd9;background:#fdf8f6}
.mileage-result{background:#741523}.mileage-result>div span,.mileage-result>small{color:#efd4d1}
.payment-card-preview{background:linear-gradient(135deg,#5f101b,#881f2d 62%,#aa3e42);box-shadow:0 14px 30px rgba(116,21,35,.23)}
.payment-card-preview:after{border-color:rgba(255,214,202,.14)}
.payment-card-preview small{color:#f2d8d4}
.traveler-item .row-actions button,.new-trip-person .row-actions button{background:#f6e8e6;color:#741523}
.organizer-tag{background:#f3dfdc;color:#741523}
input:focus,select:focus,textarea:focus{border-color:#bd7778;box-shadow:0 0 0 3px rgba(155,41,51,.11)}
.receipt-drop{border-color:#c99594;background:#fdf8f6}
.bottom-nav{box-shadow:0 12px 35px rgba(116,21,35,.14)}.bottom-nav button.active{background:#f6e9e7!important}
.auth-screen{background:linear-gradient(145deg,#f7eae8,#fffaf6)}.auth-card{box-shadow:0 25px 70px rgba(116,21,35,.13)}
.kpis article{background:#741523}.report-more,.formal-header,.report-filters{border-color:#eadcda}
.splash-vector-logo,.brand-vector-logo,.auth-vector-logo,.card-vector-logo{background-image:url("assets/caprigo-logo-cqs.webp")!important}
.splash-vector-logo,.brand-vector-logo,.auth-vector-logo,.card-vector-logo{object-fit:cover}
.topbar>div:first-child{padding-left:0!important;gap:10px;position:relative}
.topbar .brand-vector-logo{position:static!important;inset:auto!important;flex:0 0 40px;width:40px!important;height:40px!important;object-fit:cover!important;border-radius:11px;display:block!important}
@media(max-width:520px){.topbar>div:first-child{padding-left:0!important}.topbar .brand-vector-logo{flex-basis:38px;width:38px!important;height:38px!important}}
