/* V18 | Baseline visual: Home pós-auth passa a reger todo o restante do PWA. */
:root{
  --v18-card:linear-gradient(145deg,#13799f 0%,#0c5c7b 31%,#0a405c 68%,#0e6287 100%);
  --v18-panel:linear-gradient(180deg,rgba(4,31,48,.97),rgba(3,24,39,.98));
  --v18-inner:linear-gradient(145deg,rgba(11,62,87,.95),rgba(7,45,66,.98));
  --v18-border:rgba(91,229,255,.31);
  --v18-border-soft:rgba(91,229,255,.17);
  --v18-cyan:#55def7;
  --v18-muted:#98bfcd;
  --v18-shadow:0 14px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.12);
}

/* Header limpo. VOLTAR e SAIR ocupam os extremos e têm a mesma escala. */
.app-header.v15-header{min-height:68px;padding-left:18px;padding-right:18px}
.v15-header .header-left,.v15-header .header-tools{min-width:82px}
.v15-header .header-tools{justify-content:flex-end}
.header-back-action,.logout-action{width:82px!important;min-width:82px!important;height:40px!important;padding:0 11px!important;border-radius:13px!important;justify-content:center!important}
.header-back-action{
  position:relative;overflow:hidden;color:#fff!important;
  background:linear-gradient(180deg,#1aa7c7 0%,#107c9d 50%,#075b78 100%)!important;
  border:1px solid rgba(111,236,255,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -3px 7px rgba(2,44,61,.28),0 7px 0 #063f55,0 13px 20px rgba(3,29,42,.26)!important;
  transform:translateY(-2px);font-size:.62rem!important
}
.header-back-action:before{content:"";position:absolute;left:9%;right:9%;top:4px;height:32%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0));pointer-events:none}
.header-back-action:active{transform:translateY(4px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -2px 5px rgba(2,44,61,.24),0 2px 0 #063f55,0 6px 10px rgba(3,29,42,.22)!important}
.header-back-action span{display:inline!important}

/* Home mobile: somente título branco e subtítulo azul. */
.home-hero{padding-top:5px!important}
.home-hero-copy-v18{padding:3px 0 4px}
.home-hero-copy-v18 h3{margin:0!important;color:#fff!important;font-size:clamp(1.65rem,6.8vw,2.45rem)!important;line-height:1!important;letter-spacing:-.035em!important;font-weight:950!important}
.home-hero-copy-v18 p{margin:8px 0 0!important;color:var(--v18-cyan)!important;font-size:.76rem!important;line-height:1!important;letter-spacing:.16em!important;font-weight:950!important;text-transform:uppercase}

/* Containers internos seguem o mesmo vocabulário da Home. */
.receipt-brand-strip,.gate-card,.signature-modal-v15,.receipt-sheet,.success-sheet-v15{
  border-color:var(--v18-border-soft)!important;
  box-shadow:var(--v18-shadow)!important;
}
.receipt-brand-strip{
  position:relative;overflow:hidden;margin:0 0 14px;padding:17px!important;border:1px solid var(--v18-border)!important;border-radius:24px!important;background:var(--v18-card)!important;color:#fff
}
.receipt-brand-strip:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;border:1px solid rgba(151,239,255,.12);right:-45px;top:-58px}
.receipt-brand-strip .eyebrow{color:#8deaff!important}.receipt-brand-strip h3{color:#fff!important}.receipt-brand-strip p{color:#b4d2dd!important}
.receipt-brand-logo{background:#fff;border-radius:15px;padding:4px;box-shadow:0 8px 18px rgba(0,0,0,.16)}

.gate-flow{gap:14px!important}
.gate-card{
  background:var(--v18-panel)!important;border:1px solid var(--v18-border-soft)!important;border-radius:24px!important;color:#fff!important;
  box-shadow:var(--v18-shadow)!important;overflow:visible!important
}
.gate-card:before{border-color:rgba(151,239,255,.08)!important}
.gate-number{background:linear-gradient(145deg,#159fc0,#0b6988)!important;border:1px solid rgba(112,232,255,.25);box-shadow:0 8px 17px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.15)!important}
.gate-kicker{color:#68ddf4!important}.gate-head h4{color:#fff!important}.gate-help{color:#91b4c2!important}

/* Inputs e subcontainers internos: escuros, com o mesmo contorno cyan da baseline. */
.gate-input>span,.signature-field-v15>span{color:#76d7ea!important}
.gate-input input,.gate-input textarea{
  background:var(--v18-inner)!important;border:1px solid var(--v18-border-soft)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
.gate-input input::placeholder,.gate-input textarea::placeholder{color:#7ea7b7!important}
.gate-input input:focus,.gate-input textarea:focus{background:linear-gradient(145deg,rgba(13,76,103,.98),rgba(8,53,75,.99))!important;border-color:#4ce5ff!important;box-shadow:0 0 0 3px rgba(76,229,255,.08)!important}
.money-gate{background:var(--v18-inner)!important;border-color:var(--v18-border-soft)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important}
.money-gate>span{background:linear-gradient(145deg,#159fc0,#0b6988)!important}
.money-gate input{color:#fff!important}.money-gate input::placeholder{color:#7fa7b7!important}

.single-date-summary,.usage-calendar,.attachment-preview,.signature-gate-preview{
  background:var(--v18-inner)!important;border:1px solid var(--v18-border-soft)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)
}
.single-date-summary span{color:#79d8eb!important}.single-date-summary strong{color:#fff!important}.single-date-summary small{color:#55def7!important}
.usage-calendar .range-calendar-toolbar small,.calendar-weekdays span{color:#7fb6c6!important}.usage-calendar .range-calendar-toolbar strong{color:#fff!important}
.calendar-arrow{background:linear-gradient(145deg,#13799f,#0b5877)!important;color:#fff!important;border:1px solid rgba(91,229,255,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 12px rgba(0,0,0,.12)}
.calendar-day{color:#dff6fb!important}.calendar-day.other{color:#567887!important}.calendar-day.disabled{color:#405f6d!important}.calendar-day.selected,.v15-calendar .calendar-day.selected,.v15-calendar .calendar-day.range-start{background:linear-gradient(145deg,#22b9d7,#128aa9)!important;color:#fff!important;box-shadow:0 8px 18px rgba(18,138,169,.28)!important}

.v15-selectionator .selectionator-search,.scifi-select__trigger,.scifi-select__menu button{border-color:var(--v18-border-soft)!important;box-shadow:var(--v18-shadow)!important}

/* Botões internos passam a usar a mesma linguagem 3D/gradient da Home. */
.attachment-cta,.final-sign-cta,.signature-submit-v15,.primary-cta.success-action,.secondary-cta.full{
  border:1px solid var(--v18-border)!important;background:var(--v18-card)!important;color:#fff!important;
  box-shadow:0 8px 0 #073f56,0 15px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.18)!important;transform:translateY(-2px);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease
}
.attachment-cta:active,.final-sign-cta:active,.signature-submit-v15:active,.primary-cta.success-action:active,.secondary-cta.full:active{transform:translateY(4px)!important;box-shadow:0 2px 0 #073f56,0 7px 12px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.12)!important}
.attachment-cta__icon{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.10)}
.attachment-cta small{color:#9fd1de!important}.attachment-badge{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.13)!important}
.attachment-preview strong{color:#fff!important}.attachment-preview small{color:#95b7c5!important}
.signature-gate-preview span{color:#78d7e9!important}.signature-gate-preview strong{color:#fff!important}.signature-gate-preview small{color:#95b5c2!important}

/* Modal de assinatura dentro da mesma baseline, sem bloco branco destoante. */
.signature-modal-v15{background:var(--v18-panel)!important;color:#fff!important;border-color:var(--v18-border)!important}
.signature-modal-head-v15{border-bottom-color:rgba(91,229,255,.12)!important}.signature-modal-head-v15 h2{color:#fff!important}.signature-modal-head-v15 p{color:#9ebdca!important}
.signature-close-v15{background:var(--v18-inner)!important;border-color:var(--v18-border-soft)!important;color:#fff!important}
.signature-field-v15 input,.signature-field-v15 textarea{background:var(--v18-inner)!important;border-color:var(--v18-border-soft)!important;color:#fff!important}
.signature-preview-v15{background:radial-gradient(circle at 50% 0%,rgba(35,181,214,.12),transparent 42%),rgba(5,38,56,.96)!important;border-color:var(--v18-border-soft)!important}
.signature-name-v15{color:#fff!important;border-bottom-color:rgba(91,229,255,.12)!important}.signature-meta-v15{color:#96b6c3!important}
.signature-cancel-v15{background:var(--v18-inner)!important;border-color:var(--v18-border-soft)!important;color:#dff6fb!important}

/* History e Painel: reforço da baseline já presente. */
.v15-history-item,.panel-kpis article,.panel-chart-card{border-color:var(--v18-border-soft)!important;box-shadow:var(--v18-shadow)!important}
.panel-kpis article{background:var(--v18-card)!important}.panel-chart-card{background:var(--v18-panel)!important}
.v15-section-head .eyebrow{color:#55def7!important}

/* Bottom sheets também deixam de ser brancos. */
.receipt-sheet,.success-sheet-v15{background:var(--v18-panel)!important;color:#fff!important;border:1px solid var(--v18-border-soft)!important}
.receipt-sheet h3,.success-sheet-v15 h3{color:#fff!important}.receipt-sheet p,.success-sheet-v15 p{color:#98b8c5!important}
.sheet-choice-grid button{background:var(--v18-inner)!important;border-color:var(--v18-border-soft)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important}
.sheet-choice-grid button span{background:rgba(85,222,247,.10)!important;color:#55def7!important}
.sheet-choice-grid button small{color:#8fb0bd!important}.sheet-cancel{color:#67daf0!important}
.success-id-v15{background:var(--v18-inner)!important;border:1px solid var(--v18-border-soft)!important}.success-id-v15 small{color:#82d7e7!important}.success-id-v15 strong{color:#fff!important}

@media(max-width:680px){
  .app-header.v15-header{min-height:62px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:10px}
  .header-back-action,.logout-action{width:78px!important;min-width:78px!important;height:38px!important}
  .home-hero-copy-v18 h3{font-size:1.55rem!important}
  .home-hero-copy-v18 p{font-size:.68rem!important;margin-top:6px!important}
  .receipt-brand-strip{padding:14px!important}
}
@media(max-width:390px){
  .header-back-action span{display:inline!important}
  .header-back-action,.logout-action{width:74px!important;min-width:74px!important;padding:0 8px!important;font-size:.56rem!important}
}
