@import url('https://fonts.googleapis.com/css2?family=Satisfy&display=swap');
:root{
  color-scheme:only light;
  --petrol-950:#082638;--petrol-900:#0d3347;--petrol-850:#103c52;--petrol-800:#15495f;
  --cyan-600:#178da9;--cyan-500:#22a3c2;--cyan-400:#4cc4d8;--mint-500:#4bcfb3;
  --ice:#f4f7f8;--white:#fff;--ink:#12293b;--muted:#708596;--line:#dce6eb;--danger:#cb4549;
  --shadow:0 18px 44px rgba(8,38,56,.14);--shadow-soft:0 10px 26px rgba(8,38,56,.09);--safe-bottom:max(16px,env(safe-area-inset-bottom));
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent} [hidden]{display:none!important} html,body{margin:0;min-height:100%;background:#eaf0f3;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif} body{overflow-x:hidden}button,input,textarea{font:inherit}button{border:0;cursor:pointer}svg{width:1em;height:1em;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.screen{display:none;min-height:100vh}.screen.active{display:block}.eyebrow,.field-kicker,.mini-label{font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#7891a1}.light{color:#9dc4d0}.cyan{color:#6ed2e1}

/* AUTH */
.auth-screen{position:relative;overflow:auto;background:#061c28;color:#fff;padding:calc(28px + env(safe-area-inset-top)) 20px 34px;isolation:isolate}.auth-wallpaper{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transform:translateY(-9vh) scale(1.02);filter:saturate(.9) contrast(1.02)}.auth-overlay{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(2,16,24,.78) 0%,rgba(4,24,35,.43) 21%,rgba(4,25,36,.10) 39%,rgba(4,25,36,.17) 60%,rgba(4,24,35,.72) 78%,rgba(3,20,29,.93) 100%)}.auth-bg-ring{position:absolute;z-index:-1;border:1px solid rgba(76,196,216,.08);border-radius:50%;pointer-events:none}.auth-bg-ring-a{width:350px;height:350px;right:-210px;top:85px}.auth-bg-ring-b{width:230px;height:230px;left:-150px;bottom:80px}.auth-wrap{max-width:520px;min-height:calc(100vh - 62px);margin:0 auto;position:relative}.auth-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.brand-mark{width:72px;height:72px;border-radius:24px;background:linear-gradient(145deg,var(--cyan-500),var(--cyan-600));display:grid;place-items:center;box-shadow:0 18px 36px rgba(23,141,169,.26)}.brand-mark svg{width:38px;height:38px;stroke-width:1.5}.version-pill{font-size:.58rem;font-weight:900;letter-spacing:.12em;color:#91b8c4;border:1px solid rgba(125,202,216,.18);background:rgba(255,255,255,.045);padding:9px 11px;border-radius:999px}.auth-heading{margin-top:40px}.auth-heading h1{font-size:clamp(3rem,13vw,4.25rem);line-height:.9;letter-spacing:-.055em;margin:9px 0 14px}.auth-heading p{color:#b2c4cc;font-size:.92rem;line-height:1.5;max-width:430px;margin:0}.glass-card{background:rgba(7,34,47,.53);border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 70px rgba(0,0,0,.22);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:29px;padding:20px}.auth-card{margin-top:clamp(360px,39vh,590px);margin-bottom:18px}.auth-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.auth-card-head strong{display:block;margin-top:4px}.status-pill{font-size:.61rem;font-weight:900;letter-spacing:.06em;color:#c7d6dc;background:rgba(255,255,255,.07);padding:9px 10px;border-radius:999px;white-space:nowrap}.status-pill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint-500);margin-right:6px;box-shadow:0 0 0 4px rgba(75,207,179,.13)}.input-shell{height:59px;border-radius:17px;display:flex;align-items:center;gap:12px;padding:0 14px}.dark-input{border:1px solid rgba(255,255,255,.12);background:rgba(2,21,31,.40)}.dark-input:focus-within{border-color:var(--cyan-400);box-shadow:0 0 0 3px rgba(76,196,216,.12)}.input-shell>svg{font-size:1.35rem;color:var(--cyan-400)}.input-shell input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-weight:800}.input-shell input::placeholder{color:#8299a6}.icon-button{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.ghost{background:transparent;color:#a9bdc7}.primary-cta{width:100%;height:60px;border-radius:18px;background:linear-gradient(135deg,var(--cyan-500),#157f9c);color:#fff;font-weight:900;font-size:.79rem;letter-spacing:.045em;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 13px 30px rgba(23,141,169,.29)}.primary-cta:active{transform:translateY(1px) scale(.995)}.primary-cta svg{font-size:1.3rem}.auth-card .primary-cta{margin-top:16px}.auth-hint{text-align:center;color:#8ba3af;font-size:.72rem;margin:13px 0 0}.auth-hint.error{color:#ffb7ba}

/* SHELL */
.main-screen{background:linear-gradient(180deg,#eaf0f3,#f7f9fa);padding-bottom:calc(86px + var(--safe-bottom))}.app-header{position:sticky;top:0;z-index:30;padding:calc(16px + env(safe-area-inset-top)) 18px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(155deg,var(--petrol-900),var(--petrol-950));color:#fff;box-shadow:0 10px 30px rgba(8,38,56,.12)}.header-eyebrow{color:#79c9d8}.app-header h2{font-size:1.03rem;margin:3px 0 0;letter-spacing:.015em}.header-tools{display:flex;align-items:center;gap:8px}.logout-action{height:40px;border-radius:13px;padding:0 12px;background:linear-gradient(145deg,#d95256,#bb3439);color:#fff;display:flex;align-items:center;gap:7px;font-weight:900;font-size:.65rem;letter-spacing:.05em;box-shadow:0 9px 20px rgba(187,52,57,.28)}.logout-action svg{font-size:1.15rem}.app-content{max-width:780px;margin:0 auto;padding:18px}.view{display:none}.view.active-view{display:block}

/* ORBIT */
.vehicle-status-loader{width:36px;height:36px;display:flex;flex-direction:column;justify-content:center;align-items:center;filter:drop-shadow(0 0 7px rgba(76,196,216,.23));overflow:visible}.vehicle-status-slice{position:relative;width:36px;height:6px}.vehicle-status-slice:before,.vehicle-status-slice:after{content:"";position:absolute;left:15px;top:0;width:6px;height:6px;border-radius:50%;background:var(--cyan-400);will-change:transform,opacity;animation:orbit 2.5s linear infinite}.vehicle-status-slice:nth-child(1):after{animation-delay:-1.25s}.vehicle-status-slice:nth-child(2):before{animation-delay:-.4167s}.vehicle-status-slice:nth-child(2):after{animation-delay:-1.6667s}.vehicle-status-slice:nth-child(3):before{animation-delay:-.8333s}.vehicle-status-slice:nth-child(3):after{animation-delay:-2.0833s}.vehicle-status-slice:nth-child(4):before{animation-delay:-1.25s}.vehicle-status-slice:nth-child(4):after{animation-delay:-2.5s}.vehicle-status-slice:nth-child(5):before{animation-delay:-1.6667s}.vehicle-status-slice:nth-child(5):after{animation-delay:-2.9167s}.vehicle-status-slice:nth-child(6):before{animation-delay:-2.0833s}.vehicle-status-slice:nth-child(6):after{animation-delay:-3.3333s}@keyframes orbit{0%{transform:translate3d(9px,0,0) scale(.74);opacity:.65}25%{transform:translate3d(0,0,0) scale(.47);opacity:.3}50%{transform:translate3d(-9px,0,0) scale(.74);opacity:.65}75%{transform:translate3d(0,0,0) scale(1);opacity:1}100%{transform:translate3d(9px,0,0) scale(.74);opacity:.65}}

/* DASHBOARD */
.hero-card{position:relative;overflow:hidden;border-radius:28px;padding:22px;background:linear-gradient(145deg,var(--petrol-900),var(--petrol-800));color:#fff;box-shadow:var(--shadow);min-height:208px}.hero-card:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-66px;top:-62px}.hero-copy{position:relative;z-index:2;padding-right:80px}.hero-copy strong{display:block;font-size:1.55rem;line-height:1.05;margin:6px 0 8px}.hero-copy p{margin:0;color:#abc0ca;max-width:410px;font-size:.86rem;line-height:1.45}.hero-icon{position:absolute;z-index:2;right:21px;top:22px;width:62px;height:62px;border-radius:20px;background:linear-gradient(145deg,var(--cyan-500),var(--cyan-600));display:grid;place-items:center;box-shadow:0 15px 30px rgba(0,0,0,.16)}.hero-icon svg{font-size:1.8rem}.hero-cta{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;height:51px;border-radius:15px;background:linear-gradient(135deg,var(--cyan-500),var(--cyan-600));color:#fff;font-size:.75rem;font-weight:900;letter-spacing:.035em;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 22px rgba(0,0,0,.13)}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0 24px}.metric-card{background:#fff;border:1px solid #e2eaee;border-radius:19px;padding:13px 11px;box-shadow:var(--shadow-soft);min-width:0}.metric-icon{width:29px;height:29px;border-radius:10px;background:#e9f6f9;color:var(--cyan-600);display:grid;place-items:center;margin-bottom:9px}.metric-icon.solid{background:linear-gradient(145deg,var(--cyan-500),var(--cyan-600));color:#fff}.metric-card strong{display:block;font-size:1.32rem;line-height:1}.metric-card small{display:block;font-size:.52rem;letter-spacing:.065em;font-weight:900;color:#7c909e;margin-top:6px;line-height:1.2}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:7px 2px 13px}.section-head h3{margin:4px 0 0;font-size:1.25rem;letter-spacing:-.02em}.mini-primary{height:41px;border-radius:13px;padding:0 12px;background:linear-gradient(135deg,var(--cyan-500),var(--cyan-600));color:#fff;display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:900;box-shadow:0 9px 20px rgba(23,141,169,.22)}.circle-cta{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e6f4f7;color:var(--cyan-600)}

/* CALENDAR */
.calendar-card{display:grid;grid-template-columns:205px 1fr;background:#fff;border-radius:27px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #e1eaee}.calendar-side{background:linear-gradient(160deg,var(--petrol-900),var(--petrol-800));color:#fff;padding:24px 20px;min-height:390px}.big-date{display:block;font-size:4.6rem;line-height:.83;font-weight:900;letter-spacing:-.06em}.calendar-side>strong{display:block;font-size:1.05rem;margin-top:13px}.calendar-side>small{display:block;color:#74c6d6;font-size:.68rem;font-weight:900;margin-top:4px}.day-use-list{display:flex;flex-direction:column;gap:7px;margin-top:22px}.day-use-item{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09)}.day-use-item img{width:38px;height:29px;border-radius:8px;object-fit:cover;background:#fff}.day-use-item strong{display:block;font-size:.64rem}.day-use-item small{display:block;color:#99b4c0;font-size:.54rem;margin-top:2px}.day-empty{font-size:.66rem;line-height:1.4;color:#96b3bf;padding:10px 0}.calendar-main{padding:21px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.calendar-toolbar strong,.range-calendar-toolbar strong{font-size:.78rem;text-transform:uppercase}.calendar-arrow{width:39px;height:39px;border-radius:13px;background:#edf5f7;color:var(--petrol-800);display:grid;place-items:center}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays span{text-align:center;color:#8799a5;font-size:.51rem;font-weight:900;padding:6px 0}.calendar-day{position:relative;min-height:44px;border-radius:13px;background:transparent;color:var(--ink);font-size:.69rem;font-weight:850;display:grid;place-items:center}.calendar-day.other{color:#c1ccd2}.calendar-day.today{box-shadow:inset 0 0 0 1.5px var(--cyan-400)}.calendar-day.selected{background:linear-gradient(145deg,var(--cyan-500),var(--cyan-600));color:#fff;box-shadow:0 7px 14px rgba(23,141,169,.24)}.calendar-day.has-use:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--mint-500)}.calendar-day.selected.has-use:after{background:#fff}

/* USAGE FLOW — APP, NOT FORM */
.usage-title{margin-bottom:15px}.usage-flow{display:flex;flex-direction:column;gap:13px}.flow-card{position:relative;background:#fff;border:1px solid #e1eaee;border-radius:24px;box-shadow:var(--shadow-soft);padding:17px}.identity-card,.destination-card{display:grid;grid-template-columns:38px 44px 1fr;gap:10px;align-items:center}.flow-number{width:34px;height:34px;border-radius:12px;background:var(--petrol-900);color:#fff;display:grid;place-items:center;font-size:.62rem;font-weight:900;letter-spacing:.05em}.flow-number.inline{display:inline-grid;margin-right:8px;vertical-align:middle}.flow-icon{width:44px;height:44px;border-radius:14px;background:#e9f6f9;color:var(--cyan-600);display:grid;place-items:center}.flow-icon svg{font-size:1.3rem}.flow-copy{min-width:0}.flow-copy input,.flow-copy textarea{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-weight:800;font-size:1rem;margin-top:7px;padding:0;resize:none}.flow-copy textarea{line-height:1.45}.flow-copy input::placeholder,.flow-copy textarea::placeholder{color:#9aabb5;font-weight:650}.flow-card:focus-within{border-color:#8fd6e1;box-shadow:0 0 0 3px rgba(76,196,216,.10),var(--shadow-soft)}.flow-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:15px}.flow-card-head.simple{margin-bottom:14px}.flow-card-head h4{font-size:1.08rem;margin:5px 0 0}.flow-card-head p{margin:6px 0 0;color:var(--muted);font-size:.73rem}.period-card{background:linear-gradient(160deg,#fff,#f5fafb)}.period-badge{font-size:.54rem;font-weight:900;color:var(--cyan-600);background:#e9f6f9;padding:8px 9px;border-radius:999px;white-space:nowrap}.period-focus-grid{display:grid;grid-template-columns:1fr 32px 1fr;align-items:stretch;gap:7px}.period-focus{border-radius:17px;border:1px solid #d9e6eb;background:#f5f8f9;text-align:left;padding:12px;color:var(--ink)}.period-focus.active{background:#e7f7fa;border-color:#82d2df;box-shadow:0 8px 18px rgba(23,141,169,.10)}.period-focus span{display:block;font-size:.53rem;letter-spacing:.09em;font-weight:900;color:#79909f}.period-focus strong{display:block;font-size:.85rem;margin-top:4px}.period-focus small{display:block;font-size:.52rem;color:#8a9ca7;margin-top:2px;font-weight:800}.period-arrow{display:grid;place-items:center;color:#91a7b2}.usage-calendar{margin-top:13px;border:1px solid #e0e9ed;border-radius:20px;padding:12px;background:#fff}.range-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;text-align:center;margin-bottom:8px}.range-calendar-toolbar small{display:block;font-size:.48rem;letter-spacing:.08em;color:#8ba0ad;font-weight:900;margin-bottom:3px}.range-calendar-grid .calendar-day{min-height:42px}.range-calendar-grid .calendar-day.disabled{color:#d0d9de;pointer-events:none}.range-calendar-grid .calendar-day.range-start,.range-calendar-grid .calendar-day.range-end{background:linear-gradient(145deg,var(--cyan-500),var(--cyan-600));color:#fff;box-shadow:0 7px 14px rgba(23,141,169,.22)}.range-calendar-grid .calendar-day.in-range{background:#def2f6;border-radius:6px}.flow-hint{display:flex;gap:8px;align-items:flex-start;color:#738a98;font-size:.66rem;line-height:1.4;margin:10px 2px 0}.flow-hint svg{flex:0 0 16px;color:var(--cyan-600);margin-top:1px}

/* APPROVED SELECTOR */
.vehicle-field-block{padding:16px 12px 14px}.vehicle-field-block .flow-card-head{padding:0 5px}.selectionator{position:relative;border-radius:19px;background:var(--petrol-900);color:#fff;perspective:800px;z-index:6}.selectionator-search{position:relative;z-index:3;width:100%;min-height:60px;border-radius:19px;background:linear-gradient(160deg,var(--petrol-900),var(--petrol-850));color:#fff;padding:9px 12px;display:grid;grid-template-columns:50px 1fr 24px;align-items:center;gap:10px;text-align:left;transform-origin:50% 0;transition:transform .28s ease,box-shadow .28s ease;box-shadow:0 10px 20px rgba(8,38,56,.22)}.selectionator.opened .selectionator-search{transform:rotateX(18deg);box-shadow:0 17px 28px rgba(0,0,0,.22)}.selectionator-search-icon{width:48px;height:42px;border-radius:12px;background:rgba(76,196,216,.12);color:var(--cyan-400);display:grid;place-items:center;overflow:hidden}.selectionator-search-icon svg{font-size:1.35rem}.vehicle-selected-photo{width:100%;height:100%;object-fit:cover;display:block}.vehicle-selected-copy strong{display:block;font-size:.7rem;letter-spacing:.03em}.vehicle-selected-copy small{display:block;color:#8faab6;font-size:.56rem;margin-top:3px}.selector-chevron{color:#9cc2cd;transition:transform .25s}.selectionator.opened .selector-chevron{transform:rotate(180deg)}.selectionator-menu{position:absolute;z-index:2;left:0;right:0;top:47px;max-height:0;overflow:hidden;opacity:0;background:var(--petrol-900);border-radius:0 0 20px 20px;transition:max-height .30s ease,opacity .25s ease;padding:0 10px}.selectionator.opened .selectionator-menu{max-height:440px;opacity:1;padding-top:22px;padding-bottom:10px;box-shadow:0 18px 34px rgba(8,38,56,.25)}.vehicle-options{display:flex;flex-direction:column;gap:5px}.vehicle-option{width:100%;border-radius:14px;background:transparent;color:#dbe8ed;display:grid;grid-template-columns:70px 1fr 26px;align-items:center;gap:10px;padding:8px;text-align:left}.vehicle-option:hover,.vehicle-option.selected{background:rgba(34,163,194,.14)}.vehicle-option-photo-wrap{width:70px;height:48px;border-radius:11px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.1)}.vehicle-option-photo{width:100%;height:100%;object-fit:cover;display:block}.vehicle-option-copy strong{display:block;font-size:.74rem;color:#fff}.vehicle-option-copy small{display:block;font-size:.58rem;color:#8eabb7;margin-top:3px}.vehicle-option-check{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:transparent;border:1px solid rgba(255,255,255,.09)}.vehicle-option.selected .vehicle-option-check{background:var(--mint-500);color:#fff;border-color:transparent}.vehicle-option-check svg{font-size:.82rem}

/* RECEIPTS */
.receipts-card{background:linear-gradient(160deg,#fff,#f4fafb)}.receipt-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.receipt-type-cta{min-height:105px;border-radius:18px;background:#fff;border:1px solid #dfe9ed;padding:12px;display:grid;grid-template-columns:42px 1fr 24px;gap:9px;align-items:center;text-align:left;color:var(--ink);box-shadow:0 7px 17px rgba(8,38,56,.05)}.receipt-type-icon{width:42px;height:42px;border-radius:14px;background:#e8f6f8;color:var(--cyan-600);display:grid;place-items:center}.receipt-type-icon svg{font-size:1.28rem}.receipt-type-cta strong{display:block;font-size:.67rem;line-height:1.25}.receipt-type-cta small{display:block;font-size:.55rem;color:#869aa5;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.receipt-check{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;color:transparent;background:#edf3f5}.receipt-type-cta.attached{border-color:#71d5c0;background:#f5fcfa}.receipt-type-cta.attached .receipt-type-icon{background:var(--mint-500);color:#fff}.receipt-type-cta.attached .receipt-check{background:#daf7ef;color:#24947e}.receipt-type-cta.attached small{color:#24947e;font-weight:800}.inline-message{border-radius:14px;padding:12px 14px;font-size:.72rem;font-weight:800;line-height:1.4}.error-message{background:#fff0f0;border:1px solid #f3c1c3;color:#a8373b}.draft-status{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:16px;background:#eaf4f6;color:#56717f}.draft-status>svg{font-size:1.2rem;color:var(--cyan-600)}.draft-status strong{display:block;font-size:.57rem;letter-spacing:.06em}.draft-status small{display:block;font-size:.56rem;margin-top:2px}.usage-submit{margin-top:2px}.reset-cta{height:48px;border-radius:15px;background:transparent;color:var(--cyan-600);font-weight:900;font-size:.68rem;display:flex;align-items:center;justify-content:center;gap:7px}

/* HISTORY */
.history-list{display:flex;flex-direction:column;gap:10px}.history-empty{background:#fff;border-radius:22px;padding:26px;text-align:center;color:#8095a2;box-shadow:var(--shadow-soft)}.history-item{background:#fff;border:1px solid #e1eaee;border-radius:21px;padding:13px;box-shadow:var(--shadow-soft);display:grid;grid-template-columns:62px 1fr auto;gap:11px;align-items:center}.history-item img{width:62px;height:45px;border-radius:11px;object-fit:cover;background:#f1f5f6}.history-item strong{display:block;font-size:.77rem}.history-item small{display:block;color:#7f929e;font-size:.58rem;margin-top:3px}.history-item .history-meta{margin-top:5px;color:#178da9;font-weight:850}.history-download{width:36px;height:36px;border-radius:12px;background:#e9f6f9;color:var(--cyan-600);display:grid;place-items:center}.history-download:disabled{opacity:.4}

/* BOTTOM NAV */
.bottom-nav{position:fixed;z-index:25;left:0;right:0;bottom:0;height:calc(67px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.96);border-top:1px solid #dfe8ec;display:grid;grid-template-columns:1fr 1fr;backdrop-filter:blur(12px)}.nav-item{background:transparent;color:#8397a3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.58rem;font-weight:850}.nav-item svg{font-size:1.2rem}.nav-item.active{color:var(--petrol-900)}

/* SHEETS */
.sheet-backdrop{position:fixed;z-index:80;inset:0;background:rgba(5,25,36,.58);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center}.bottom-sheet{width:min(100%,620px);max-height:92vh;overflow:auto;background:#fff;border-radius:29px 29px 0 0;padding:16px 20px calc(24px + env(safe-area-inset-bottom));text-align:center;box-shadow:0 -22px 60px rgba(8,38,56,.2)}.sheet-handle{width:46px;height:5px;border-radius:999px;background:#d6e1e6;margin:0 auto 18px}.sheet-icon,.success-icon{width:67px;height:67px;border-radius:21px;background:#e8f8f5;color:#26977f;display:grid;place-items:center;margin:0 auto 15px}.sheet-icon{background:#e8f6f8;color:var(--cyan-600)}.sheet-icon svg,.success-icon svg{font-size:2rem}.bottom-sheet h3{font-size:1.28rem;margin:5px 0 7px}.bottom-sheet>p{color:#7f929d;font-size:.75rem;line-height:1.45}.sheet-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.sheet-choice-grid button{border-radius:18px;background:#f2f7f8;border:1px solid #e0e9ed;padding:16px 10px;color:var(--ink)}.sheet-choice-grid button span{width:43px;height:43px;border-radius:14px;background:#e2f4f7;color:var(--cyan-600);display:grid;place-items:center;margin:0 auto 9px}.sheet-choice-grid strong{display:block;font-size:.72rem}.sheet-choice-grid small{display:block;color:#8396a1;font-size:.57rem;margin-top:4px}.sheet-cancel,.sheet-link{background:transparent;color:var(--cyan-600);font-weight:900;font-size:.7rem;margin-top:17px}.voucher-id-pill{display:inline-block;background:#edf7f8;color:var(--petrol-800);font-size:.66rem;font-weight:900;letter-spacing:.06em;border-radius:999px;padding:9px 12px;margin:3px 0 16px}.success-action{margin-top:10px}.whatsapp-cta{background:linear-gradient(135deg,var(--cyan-500),var(--cyan-600));}.whatsapp-outline-icon{width:22px;height:22px;stroke-width:1.65}.share-feedback{min-height:18px;margin:10px 0 0!important;color:#748a96!important;font-weight:800}.share-feedback.success{color:#26977f!important}.share-feedback.error{color:#b23d42!important}.success-note{font-size:.64rem!important;margin:16px auto 0!important;max-width:500px}.hidden-input{display:none}

@media(max-width:620px){.app-content{padding:14px}.calendar-card{grid-template-columns:1fr}.calendar-side{min-height:auto;padding:19px;display:grid;grid-template-columns:92px 1fr;column-gap:15px;align-items:start}.big-date{grid-row:1/4;font-size:4.1rem}.calendar-side>strong{margin-top:4px}.calendar-side>small{margin-top:3px}.day-use-list{grid-column:1/-1;margin-top:15px;display:grid;grid-template-columns:1fr 1fr}.calendar-main{padding:14px}.receipt-type-grid{grid-template-columns:1fr}.receipt-type-cta{min-height:84px}.auth-card{margin-top:clamp(330px,38vh,520px)}}
@media(max-width:390px){.auth-heading h1{font-size:2.85rem}.auth-card{margin-top:310px}.metric-card{padding:11px 8px}.metric-card strong{font-size:1.18rem}.metric-card small{font-size:.47rem}.period-focus-grid{grid-template-columns:1fr 24px 1fr}.calendar-day{min-height:39px}.flow-card{padding:14px}.identity-card,.destination-card{grid-template-columns:34px 39px 1fr}.day-use-list{grid-template-columns:1fr}.hero-copy strong{font-size:1.38rem}}
@media(min-width:760px){.metric-strip{gap:12px}.receipt-type-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*:not(.vehicle-status-slice):not(.vehicle-status-slice:before):not(.vehicle-status-slice:after){scroll-behavior:auto!important;transition:none!important}}


/* ===== V9 · GERADOR DE RECIBOS ===== */
.metric-strip-finance{grid-template-columns:.85fr 1.15fr;gap:10px}
.metric-strip-finance .metric-card{min-height:104px;border:0;color:#fff;padding:15px 14px;position:relative;overflow:hidden}
.metric-strip-finance .metric-card:after{content:"";position:absolute;width:92px;height:92px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-30px;top:-35px}
.metric-card-count{background:linear-gradient(145deg,#15495f,#0d3347)!important}
.metric-card-total{background:linear-gradient(145deg,#22a3c2,#178da9)!important}
.metric-strip-finance .metric-icon{background:rgba(255,255,255,.13);color:#fff;margin-bottom:10px}
.metric-strip-finance .metric-card strong{color:#fff;font-size:1.42rem;position:relative;z-index:1}
.metric-strip-finance .metric-card-total strong{font-size:1.24rem}
.metric-strip-finance .metric-card small{color:rgba(255,255,255,.78);position:relative;z-index:1}

.trip-card{background:linear-gradient(160deg,#0d3347,#15495f);border:0;color:#fff}
.trip-card .field-kicker{color:#78d4e2}.trip-card h4{color:#fff}
.trip-field{display:grid;grid-template-columns:46px 1fr;gap:11px;align-items:center;border-radius:18px;padding:12px 13px;margin-top:10px;cursor:text}
.trip-field-local{background:linear-gradient(135deg,rgba(34,163,194,.95),rgba(23,141,169,.95))}
.trip-field-reason{background:linear-gradient(135deg,rgba(16,60,82,.98),rgba(21,73,95,.98));align-items:start}
.trip-field-icon{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.13);display:grid;place-items:center;color:#fff}
.trip-field-icon svg{font-size:1.35rem}
.trip-field-copy small{display:block;font-size:.56rem;font-weight:900;letter-spacing:.11em;color:rgba(255,255,255,.72);margin-bottom:4px}
.trip-field-copy input,.trip-field-copy textarea{width:100%;border:0;outline:0;background:transparent;color:#fff;font-weight:800;resize:none;padding:0}
.trip-field-copy input::placeholder,.trip-field-copy textarea::placeholder{color:rgba(255,255,255,.58)}

.receipts-card{background:linear-gradient(160deg,#e9f1f4,#f6f9fa)!important}
.receipt-type-grid{grid-template-columns:1fr 1fr;gap:10px}
.receipt-type-cta{min-height:112px;border:0!important;color:#fff!important;box-shadow:0 11px 24px rgba(8,38,56,.13)!important;position:relative;overflow:hidden}
.receipt-type-cta:before{content:"";position:absolute;width:86px;height:86px;border-radius:50%;border:1px solid rgba(255,255,255,.12);right:-34px;top:-28px}
.receipt-type-cta .receipt-type-icon{background:rgba(255,255,255,.14)!important;color:#fff!important}
.receipt-type-cta strong{color:#fff;font-size:.64rem;position:relative;z-index:1}
.receipt-type-cta small{color:rgba(255,255,255,.72)!important;max-width:128px;position:relative;z-index:1}
.receipt-type-cta.attached{box-shadow:0 0 0 2px rgba(75,207,179,.65),0 12px 26px rgba(8,38,56,.16)!important}
.receipt-count{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.15);font-style:normal;font-size:.64rem;font-weight:900;color:#fff;position:relative;z-index:1}
.cat-fuel{background:linear-gradient(145deg,#22a3c2,#157f9c)!important}
.cat-toll{background:linear-gradient(145deg,#0d3347,#15495f)!important}
.cat-parking{background:linear-gradient(145deg,#24637a,#178da9)!important}
.cat-wash{background:linear-gradient(145deg,#319d9c,#287d86)!important}
.cat-food{background:linear-gradient(145deg,#2c7f91,#1b5f76)!important}
.cat-material{background:linear-gradient(145deg,#4c7385,#2d5a70)!important}
.cat-maintenance{background:linear-gradient(145deg,#123e58,#082638)!important}
.cat-hotel{background:linear-gradient(145deg,#268f9f,#176978)!important}

.receipt-summary-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0 4px}
.receipt-summary-bar>span{border-radius:14px;background:#fff;padding:10px 9px;text-align:center;border:1px solid #dce7eb}
.receipt-summary-bar strong{display:block;font-size:.72rem;color:var(--petrol-900)}
.receipt-summary-bar small{display:block;font-size:.48rem;font-weight:900;letter-spacing:.06em;color:#8497a3;margin-top:4px}
.receipt-attachment-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.receipt-attachment-row{display:grid;grid-template-columns:34px 1fr auto 32px;gap:8px;align-items:center;background:#fff;border:1px solid #dce7eb;border-radius:15px;padding:9px 9px}
.attachment-order{width:31px;height:31px;border-radius:10px;background:#e6f5f8;color:var(--cyan-600);font-size:.58rem;font-weight:900;display:grid;place-items:center}
.attachment-copy strong{display:block;font-size:.62rem;color:var(--ink)}
.attachment-copy small{display:block;font-size:.52rem;color:#8598a3;margin-top:3px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-value{font-size:.65rem;font-weight:900;color:var(--cyan-600);white-space:nowrap}
.attachment-remove{width:31px;height:31px;border-radius:10px;background:#fff0f0;color:#b33e43;display:grid;place-items:center}

.money-input-shell{height:66px;border:1px solid #dbe6ea;border-radius:18px;background:#f5f9fa;display:flex;align-items:center;gap:9px;padding:0 15px;margin:17px 0 8px;text-align:left}
.money-input-shell>span{font-size:.95rem;font-weight:900;color:var(--cyan-600)}
.money-input-shell input{width:100%;border:0;outline:0;background:transparent;font-size:1.25rem;font-weight:900;color:var(--petrol-900)}
.value-error{font-size:.67rem!important;color:#b33e43!important;font-weight:800;margin:4px 0 0!important}

.share-fallback-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.fallback-action{min-height:48px;border-radius:15px;background:#eef5f7;color:var(--petrol-900);display:flex;align-items:center;justify-content:center;gap:8px;font-size:.64rem;font-weight:900;padding:9px 12px}
.fallback-action svg{font-size:1.1rem}.fallback-retry{background:#dff3f7;color:#116f89}

.history-actions{display:flex;gap:6px}.history-share{width:36px;height:36px;border-radius:12px;background:#e8f6f8;color:var(--cyan-600);display:grid;place-items:center}
.history-share.ready{background:linear-gradient(145deg,var(--cyan-500),var(--cyan-600));color:#fff;box-shadow:0 7px 16px rgba(23,141,169,.18)}

.day-use-item em{display:block;font-style:normal;font-size:.58rem;color:#62d2e1;font-weight:900;margin-top:3px}

@media(max-width:620px){
  .metric-strip-finance{grid-template-columns:1fr 1.15fr}
  .receipt-type-grid{grid-template-columns:1fr 1fr!important}
  .receipt-type-cta{min-height:104px;padding:10px;grid-template-columns:38px 1fr 24px}
  .receipt-type-icon{width:38px;height:38px}
  .receipt-type-cta strong{font-size:.59rem}
  .receipt-type-cta small{font-size:.49rem;max-width:115px}
}
@media(max-width:370px){
  .receipt-type-grid{grid-template-columns:1fr}
  .receipt-type-cta{min-height:84px}
  .receipt-summary-bar{grid-template-columns:1fr}
}


/* ===== V10 · AJUSTES DE UX / BACKLOG ===== */
/* AUTH: composição compacta para manter login e CTA visíveis sem rolagem em telas móveis */
.auth-screen{min-height:100svh;padding:calc(14px + env(safe-area-inset-top)) 16px max(12px,env(safe-area-inset-bottom));overflow:hidden}
.auth-wrap{min-height:calc(100svh - 28px);max-width:520px}
.auth-heading>p{display:none!important}
@media(max-width:620px){
  .auth-wallpaper{height:100svh;object-position:center center;transform:translateY(-17svh) scale(1.035)}
  .auth-overlay{background:linear-gradient(180deg,rgba(2,16,24,.88) 0%,rgba(4,24,35,.48) 18%,rgba(4,25,36,.07) 35%,rgba(4,25,36,.08) 60%,rgba(4,24,35,.68) 77%,rgba(3,20,29,.94) 100%)}
  .auth-top{position:absolute;z-index:3;top:8px;left:0;right:0;justify-content:flex-start}
  .brand-mark{width:58px;height:58px;border-radius:19px;flex:0 0 58px}
  .brand-mark svg{width:31px;height:31px}
  .version-pill{display:none}
  .auth-heading{position:absolute;z-index:3;top:9px;left:74px;right:0;margin:0}
  .auth-heading .eyebrow{font-size:.50rem;letter-spacing:.14em}
  .auth-heading h1{font-size:clamp(2.05rem,9.2vw,2.75rem);line-height:.88;margin:5px 0 0;letter-spacing:-.055em}
  .auth-card{position:absolute;z-index:4;left:0;right:0;top:60svh;margin:0;padding:15px;border-radius:24px}
  .auth-card-head{margin-bottom:11px}.auth-card-head strong{font-size:.78rem}.auth-card-head .eyebrow{font-size:.48rem}
  .status-pill{font-size:.49rem;padding:7px 8px}
  .input-shell{height:51px;border-radius:15px}.auth-card .primary-cta{height:51px;margin-top:12px;border-radius:15px}
  .auth-hint{font-size:.59rem;margin-top:8px}
}
@media(max-width:390px){
  .auth-heading h1{font-size:2.1rem!important}
  .auth-card{top:59svh!important}
}
@media(max-height:590px) and (max-width:620px){
  .auth-wallpaper{transform:translateY(-19svh) scale(1.04)}
  .auth-card{top:57svh}
  .auth-hint{display:none}
}

/* Dashboard: início do fluxo, sem CTA de envio prematuro */
.hero-card-start{min-height:174px;padding:21px 22px}
.hero-card-start .hero-copy{padding-right:0}
.hero-card-start .hero-copy strong{font-size:1.58rem;max-width:360px}
.hero-card-start .hero-icon,.hero-card-start .hero-copy p{display:none!important}
.hero-card-start .hero-cta{bottom:18px}

/* Dados da viagem: Local e Motivo usam exatamente o mesmo tratamento visual */
.trip-field-reason{background:linear-gradient(135deg,rgba(34,163,194,.95),rgba(23,141,169,.95))!important;align-items:center!important}
.trip-field-reason .trip-field-icon{align-self:center}

/* Cards de comprovantes: gutter real e elementos internos protegidos */
.receipt-type-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:16px!important;row-gap:10px!important}
.receipt-type-cta{grid-template-columns:38px minmax(0,1fr) 26px!important;column-gap:8px!important;min-width:0!important;padding:10px 9px!important}
.receipt-type-cta>span:nth-child(2){min-width:0}
.receipt-type-cta strong{overflow-wrap:anywhere}
.receipt-type-cta small{max-width:100%!important}
.receipt-count{justify-self:end;flex:0 0 auto}
.receipt-count.has-photo{background:#ffd75a!important;border-color:#ffe793!important;color:#4c3b00!important;box-shadow:0 4px 12px rgba(105,79,0,.22)}
.receipt-count.pending{animation:receiptPendingPulse 1.15s ease-in-out infinite}
@keyframes receiptPendingPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* Modal de comprovante: valor + motivo do gasto */
.expense-reason-shell{display:block;border:1px solid #dbe6ea;border-radius:18px;background:#f5f9fa;padding:12px 15px;margin:10px 0 8px;text-align:left}
.expense-reason-shell>span{display:block;font-size:.57rem;font-weight:900;letter-spacing:.10em;color:#6f8795;margin-bottom:7px}
.expense-reason-shell textarea{width:100%;min-height:66px;border:0;outline:0;background:transparent;resize:none;color:var(--petrol-900);font-size:.84rem;font-weight:750;line-height:1.4;padding:0}
.expense-reason-shell textarea::placeholder{color:#9aabb5;font-weight:650}
.expense-reason-shell:focus-within{border-color:#82d2df;box-shadow:0 0 0 3px rgba(76,196,216,.10)}
.attachment-reason{display:block!important;color:#587483!important;font-weight:750!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}

@media(max-width:620px){
  .receipt-type-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:15px!important}
  .receipt-type-cta{min-height:104px!important;grid-template-columns:36px minmax(0,1fr) 24px!important;column-gap:7px!important;padding:9px 8px!important}
  .receipt-type-icon{width:36px!important;height:36px!important}
  .receipt-type-cta strong{font-size:.56rem!important}
  .receipt-type-cta small{font-size:.47rem!important}
}
@media(max-width:350px){
  .receipt-type-grid{grid-template-columns:1fr!important}
}


/* ===== V11 · AUTH / DASHBOARD / VALOR / MODAL ===== */
/* Hard lock against horizontal page dragging on Android. */
html,body{width:100%;max-width:100vw;overflow-x:hidden!important;overscroll-behavior-x:none}
.app-shell{width:100%;max-width:100vw;overflow-x:hidden;overscroll-behavior-x:none}
.auth-screen{width:100%;max-width:100vw;overflow:hidden!important;overscroll-behavior-x:none;touch-action:pan-y}
.auth-wrap{width:100%;max-width:520px;overflow:visible}
.auth-wallpaper,.auth-overlay{max-width:none}

/* Mobile Auth: icon + title occupy the same compact top zone; login is bottom-anchored. */
@media(max-width:620px){
  .auth-screen{height:100svh;min-height:100svh;padding:calc(10px + env(safe-area-inset-top)) 14px max(8px,env(safe-area-inset-bottom))}
  .auth-wrap{height:100%;min-height:0;margin:0 auto}
  .auth-top{position:absolute;z-index:5;top:7px;left:0;right:0;height:58px;display:flex;align-items:flex-start;justify-content:flex-start;pointer-events:none}
  .brand-mark{width:58px;height:58px;border-radius:19px;flex:0 0 58px;pointer-events:auto}
  .brand-mark svg{width:31px;height:31px}
  .version-pill{display:none!important}
  .auth-heading{position:absolute!important;z-index:5;top:7px!important;left:74px!important;right:0!important;margin:0!important;min-width:0}
  .auth-heading .eyebrow{display:block;font-size:.49rem;letter-spacing:.13em;line-height:1.1;margin-top:1px}
  .auth-heading h1{font-size:clamp(1.92rem,8.7vw,2.55rem)!important;line-height:.88!important;letter-spacing:-.052em!important;margin:5px 0 0!important;white-space:normal}
  .auth-heading>p{display:none!important}
  .auth-wallpaper{width:100%;height:100svh;object-fit:cover;object-position:center center;transform:translateY(-13.5svh) scale(1.02)!important;transform-origin:center center}
  .auth-overlay{background:linear-gradient(180deg,rgba(2,16,24,.90) 0%,rgba(4,24,35,.44) 17%,rgba(4,25,36,.05) 34%,rgba(4,25,36,.08) 60%,rgba(4,24,35,.64) 77%,rgba(3,20,29,.94) 100%)}
  .auth-card{position:absolute!important;z-index:6;left:0!important;right:0!important;top:auto!important;bottom:max(8px,env(safe-area-inset-bottom))!important;margin:0!important;padding:14px!important;border-radius:23px!important}
  .auth-card-head{margin-bottom:10px!important;gap:8px}
  .auth-card-head strong{font-size:.77rem!important;margin-top:3px!important;line-height:1.2}
  .auth-card-head .eyebrow{font-size:.47rem!important}
  .status-pill{font-size:.47rem!important;padding:7px 8px!important}
  .input-shell{height:50px!important;border-radius:15px!important}
  .auth-card .primary-cta{height:49px!important;margin-top:10px!important;border-radius:15px!important}
  .auth-hint{display:none!important}
  .auth-progress{margin-top:12px!important}
  .auth-bg-ring-a{right:-175px!important;top:82px!important}
  .auth-bg-ring-b{left:-145px!important;bottom:66px!important}
}
@media(max-width:360px){
  .auth-heading{left:69px!important}
  .auth-heading h1{font-size:1.88rem!important}
  .brand-mark{width:54px;height:54px;flex-basis:54px;border-radius:18px}
  .brand-mark svg{width:29px;height:29px}
  .auth-card{padding:12px!important}
  .auth-card-head strong{font-size:.73rem!important}
  .status-pill{font-size:.44rem!important;padding:6px 7px!important}
  .input-shell{height:48px!important}
  .auth-card .primary-cta{height:47px!important}
}
@media(max-height:610px) and (max-width:620px){
  .auth-wallpaper{transform:translateY(-15.5svh) scale(1.02)!important}
  .auth-card{padding:11px!important}
  .auth-card-head{margin-bottom:8px!important}
  .input-shell{height:45px!important}
  .auth-card .primary-cta{height:44px!important;margin-top:8px!important}
}

/* Dashboard: only the principal NEW RECEIPT action remains. */
#calendarView>.section-head{padding-right:0}
.hero-card-start .hero-cta{gap:10px;font-size:.78rem}
.hero-card-start .hero-cta .new-receipt-icon{width:22px;height:22px;stroke-width:1.9;flex:0 0 22px}

/* Banking-style amount field. Prefix is fixed; digits are masked by JS in pt-BR. */
.money-input-shell{width:100%;height:64px;margin:16px 0 12px;border-radius:19px;background:linear-gradient(180deg,#f5f9fa,#eef5f7);border:1px solid #d7e5ea;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.money-input-shell>span{font-size:1rem;flex:0 0 auto}
.money-input-shell input{min-width:0;font-size:1.32rem;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.money-input-shell:focus-within{border-color:#72cbd9;box-shadow:0 0 0 3px rgba(76,196,216,.12),inset 0 1px 0 rgba(255,255,255,.72)}

/* Expense reason is a full-width app component, never a naked textarea. */
.receipt-sheet .expense-reason-shell{display:block!important;width:100%!important;max-width:none!important;margin:0 0 12px!important;padding:13px 14px 12px!important;border:1px solid #d7e5ea!important;border-radius:19px!important;background:linear-gradient(180deg,#f4f9fa,#edf5f7)!important;text-align:left!important;overflow:hidden!important}
.receipt-sheet .expense-reason-shell>span{display:flex!important;align-items:center;gap:7px;width:100%;margin:0 0 8px!important;font-size:.58rem!important;font-weight:900!important;letter-spacing:.11em!important;color:#627e8e!important}
.receipt-sheet .expense-reason-shell>span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan-500);box-shadow:0 0 0 4px rgba(34,163,194,.10)}
.receipt-sheet .expense-reason-shell textarea{display:block!important;width:100%!important;max-width:100%!important;min-height:72px!important;margin:0!important;padding:0!important;border:0!important;outline:0!important;background:transparent!important;color:var(--petrol-900)!important;font-size:.88rem!important;font-weight:750!important;line-height:1.4!important;resize:none!important;appearance:none!important;-webkit-appearance:none!important}
.receipt-sheet .expense-reason-shell textarea::placeholder{color:#91a5b0!important;font-weight:650!important;opacity:1}
.receipt-sheet .expense-reason-shell:focus-within{border-color:#72cbd9!important;box-shadow:0 0 0 3px rgba(76,196,216,.12)!important}
.receipt-sheet #confirmReceiptValue{margin-top:2px}

/* Keep the two-column receipt grid separated through all normal phone widths. */
@media(min-width:351px) and (max-width:620px){
  .receipt-type-grid{column-gap:18px!important}
  .receipt-type-cta{grid-template-columns:35px minmax(0,1fr) 23px!important;column-gap:7px!important;padding-left:8px!important;padding-right:8px!important}
  .receipt-count{margin-left:2px}
}


/* ===== V12 · INPUTS / MOBILE IMAGE PIPELINE ===== */
/* Typed content is white; placeholders use the branding cyan/blue. */
.trip-field-copy input,.trip-field-copy textarea{color:#ffffff!important;caret-color:#ffffff!important}
.trip-field-copy input::placeholder,.trip-field-copy textarea::placeholder{color:#78d3e2!important;opacity:1!important;font-weight:700!important}
.auth-card .input-shell input{color:#ffffff!important;caret-color:#ffffff!important}
.auth-card .input-shell input::placeholder{color:#62c6da!important;opacity:1!important;font-weight:750!important}

/* Native picker is single-flight: prevent accidental repeated taps while Android is normalizing an image. */
.receipt-type-cta:disabled,#cameraButton:disabled,#galleryButton:disabled{pointer-events:none;filter:saturate(.78);opacity:.72}
.receipt-type-cta:disabled small{font-weight:850}

/* =========================================================
   V13 · AJUSTES VISUAIS / NAVEGAÇÃO
   PDF + WEB SHARE: NÃO ALTERADOS
   ========================================================= */

/* Auth: usa exatamente TELA DE ENTRADA.webp, sem deixar o carro atrás do card. */
.auth-screen{background:#061c28!important}
.auth-wallpaper{
  inset:auto 0 auto 0!important;
  top:72px!important;
  width:100%!important;
  height:calc(61svh - 72px)!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:none!important;
  filter:none!important;
}
.auth-overlay{
  background:linear-gradient(180deg,rgba(2,16,24,.90) 0%,rgba(4,24,35,.30) 20%,rgba(4,25,36,.02) 43%,rgba(4,25,36,.04) 62%,rgba(3,20,29,.90) 100%)!important;
}

/* Campos de digitação solicitados: fundo branco + placeholder ciano. */
.auth-card .dark-input{
  background:#ffffff!important;
  border-color:#d9e8ed!important;
  box-shadow:0 8px 22px rgba(0,0,0,.08)!important;
}
.auth-card .dark-input:focus-within{
  border-color:var(--cyan-500)!important;
  box-shadow:0 0 0 3px rgba(34,163,194,.16),0 8px 22px rgba(0,0,0,.08)!important;
}
.auth-card .input-shell>svg{color:var(--cyan-600)!important}
.auth-card .input-shell input{color:#173446!important;caret-color:var(--cyan-600)!important}
.auth-card .input-shell input::placeholder{color:#42b8cf!important;opacity:1!important;font-weight:800!important}
.auth-card .ghost{color:#557887!important}

.trip-field-local,.trip-field-reason{
  background:#ffffff!important;
  border:1px solid #dbe8ed!important;
  box-shadow:0 8px 22px rgba(5,36,50,.10)!important;
  align-items:center!important;
}
.trip-field-icon{
  background:#e7f6f9!important;
  color:var(--cyan-600)!important;
}
.trip-field-copy small{color:#168da9!important}
.trip-field-copy input,.trip-field-copy textarea{
  color:#173446!important;
  caret-color:var(--cyan-600)!important;
}
.trip-field-copy input::placeholder,.trip-field-copy textarea::placeholder{
  color:#55b9cb!important;
  opacity:1!important;
  font-weight:750!important;
}

/* Header: botão Voltar apenas nas páginas internas. Dashboard usa SAIR. */
.header-left{display:flex;align-items:center;gap:9px;min-width:0}
.header-title{min-width:0}
.header-back-action{
  height:40px;min-width:40px;padding:0 10px;border-radius:13px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);
  color:#fff;display:flex;align-items:center;justify-content:center;gap:5px;
  font-size:.58rem;font-weight:900;letter-spacing:.05em;flex:0 0 auto;
}
.header-back-action svg{font-size:1.15rem}
.header-back-action:active{transform:translateY(1px)}
@media(max-width:410px){
  .header-back-action{width:38px;min-width:38px;padding:0}
  .header-back-action span{display:none}
  .app-header h2{font-size:.90rem}
}

/* Dashboard: dois caminhos lado a lado. O fluxo Shell será ligado depois. */
.hero-card-start{min-height:190px!important}
.hero-actions{
  position:absolute;z-index:3;left:22px;right:22px;bottom:18px;
  display:grid;grid-template-columns:1fr 1fr;gap:9px;
}
.hero-actions .hero-cta{
  position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;
  width:100%;height:56px;min-width:0;padding:0 10px;
  border-radius:15px;display:flex;align-items:center;justify-content:center;gap:7px;
  color:#fff;font-size:.70rem;font-weight:900;letter-spacing:.025em;line-height:1.08;
  box-shadow:0 10px 22px rgba(0,0,0,.13);
}
.hero-cta-new{background:linear-gradient(135deg,var(--cyan-500),var(--cyan-600))!important}
.hero-cta-shell{background:linear-gradient(135deg,#176a82,#0d4f66)!important;text-align:left}
.hero-cta-shell img{
  width:31px;height:31px;object-fit:cover;border-radius:7px;flex:0 0 31px;
  background:#fff;
}
.hero-cta-shell span{max-width:92px}
@media(max-width:360px){
  .hero-actions{left:16px;right:16px;gap:7px}
  .hero-actions .hero-cta{padding:0 7px;font-size:.62rem}
  .hero-cta-shell img{width:27px;height:27px;flex-basis:27px}
}

/* =========================================================
   V14 · AUTH EM FLUXO + FATURADO POSTO SHELL
   PDF/WEB SHARE DO RECIBO NORMAL: BLOCO CONGELADO
   ========================================================= */

/* Auth: imagem exata do usuário em fluxo e card imediatamente abaixo do carro. */
.auth-screen{overflow-y:auto!important;overflow-x:hidden!important;background:#061c28!important;padding:calc(14px + env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))!important}
.auth-wrap{
  width:100%!important;max-width:520px!important;min-height:auto!important;margin:0 auto!important;
  display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;
  column-gap:12px!important;align-items:start!important;overflow:visible!important;
}
.auth-top{position:relative!important;inset:auto!important;grid-column:1!important;grid-row:1!important;display:block!important;z-index:3!important}
.auth-top .brand-mark{width:58px!important;height:58px!important;border-radius:19px!important}
.auth-top .brand-mark svg{width:31px!important;height:31px!important}
.auth-top .version-pill{display:none!important}
.auth-heading{position:relative!important;inset:auto!important;grid-column:2!important;grid-row:1!important;margin:3px 0 0!important;z-index:3!important;align-self:center!important}
.auth-heading .eyebrow{font-size:.50rem!important;letter-spacing:.14em!important}
.auth-heading h1{font-size:clamp(2rem,9vw,2.55rem)!important;line-height:.88!important;margin:5px 0 0!important;letter-spacing:-.055em!important}
.auth-car-stage{
  grid-column:1/-1!important;grid-row:2!important;position:relative!important;z-index:2!important;
  width:calc(100% + 10px)!important;height:36svh!important;min-height:205px!important;max-height:330px!important;
  margin:2px -5px 0!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:hidden!important;
}
.auth-car-image{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;filter:none!important;transform:none!important}
.auth-card{
  grid-column:1/-1!important;grid-row:3!important;position:relative!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;
  z-index:4!important;margin:-2px 0 0!important;padding:15px!important;border-radius:24px!important;
}
.auth-overlay{background:linear-gradient(180deg,rgba(2,16,24,.88) 0%,rgba(4,24,35,.22) 36%,rgba(4,25,36,.08) 63%,rgba(3,20,29,.84) 100%)!important}
.auth-wallpaper{display:none!important}
@media(max-width:390px){
  .auth-wrap{grid-template-columns:54px minmax(0,1fr)!important;column-gap:10px!important}
  .auth-top .brand-mark{width:54px!important;height:54px!important}
  .auth-heading h1{font-size:2.02rem!important}
  .auth-car-stage{height:34svh!important;min-height:185px!important}
  .auth-card{padding:13px!important}
}
@media(max-height:650px) and (max-width:620px){
  .auth-car-stage{height:31svh!important;min-height:165px!important}
  .auth-card{padding:12px!important}
  .auth-card-head{margin-bottom:8px!important}
  .auth-card .input-shell{height:46px!important}
  .auth-card .primary-cta{height:46px!important;margin-top:9px!important}
  .auth-hint{display:none!important}
}

/* Shell dashboard */
.shell-view{padding-bottom:28px}
.shell-page-head{background:linear-gradient(145deg,#0d3347,#15556b);border-radius:26px;padding:18px;color:#fff;box-shadow:0 18px 36px rgba(8,38,56,.14);position:relative;overflow:hidden}
.shell-page-head:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-70px;top:-80px}
.shell-page-title{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.shell-page-title>img{width:50px;height:50px;object-fit:contain;background:#fff;border-radius:14px;padding:4px;box-shadow:0 8px 18px rgba(0,0,0,.14)}
.shell-page-title h3{font-size:1.32rem;margin:3px 0 2px;color:#fff}
.shell-page-title p{margin:0;color:#b9d1da;font-size:.72rem;line-height:1.35}
.shell-page-title .eyebrow{color:#55c7da}
.shell-page-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:9px;margin-top:16px;position:relative;z-index:1}
.shell-action-primary,.shell-action-secondary{height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:.67rem;font-weight:900;letter-spacing:.035em}
.shell-action-primary{background:linear-gradient(135deg,var(--cyan-500),var(--cyan-600));box-shadow:0 10px 22px rgba(23,141,169,.24)}
.shell-action-secondary{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14)}
.shell-action-primary svg,.shell-action-secondary svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8}
.shell-summary{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin:12px 0 20px}
.shell-summary article{min-height:112px;border-radius:22px;padding:14px;background:#fff;border:1px solid #dce7eb;box-shadow:0 12px 26px rgba(8,38,56,.07);position:relative;overflow:hidden}
.shell-summary article:nth-child(1){background:linear-gradient(145deg,#123e58,#0d3347);color:#fff}
.shell-summary article:nth-child(2){background:linear-gradient(145deg,#24a6c2,#178da9);color:#fff}
.shell-summary-icon{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.14);display:grid;place-items:center;margin-bottom:9px}
.shell-summary-icon svg{width:20px;height:20px;stroke:#fff;stroke-width:1.7}
.shell-summary strong{display:block;font-size:1.18rem;line-height:1.1}
.shell-summary small{display:block;margin-top:5px;font-size:.52rem;font-weight:900;letter-spacing:.065em;color:rgba(255,255,255,.74)}
.shell-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 2px 11px}
.shell-list-head h3{font-size:1.18rem;margin:2px 0 0;color:var(--petrol-900)}
.shell-updated{font-size:.49rem;font-weight:900;letter-spacing:.05em;color:#78909d;white-space:nowrap}
.shell-invoice-list{display:flex;flex-direction:column;gap:12px}
.shell-month-card{border-radius:24px;padding:15px;color:#fff;box-shadow:0 14px 30px rgba(8,38,56,.12);position:relative;overflow:hidden}
.shell-month-card:after{content:"";position:absolute;width:125px;height:125px;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-50px;top:-50px}
.shell-tone-0{background:linear-gradient(145deg,#0d3347,#15556b)}
.shell-tone-1{background:linear-gradient(145deg,#1a8197,#22a3c2)}
.shell-tone-2{background:linear-gradient(145deg,#245d72,#2d7c8d)}
.shell-tone-3{background:linear-gradient(145deg,#176978,#319d9c)}
.shell-month-top{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;position:relative;z-index:1}
.shell-month-calendar{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.shell-month-calendar svg,.shell-money-icon svg{width:22px;height:22px;stroke:#fff;stroke-width:1.7}
.shell-month-copy span{display:block;font-size:.48rem;font-weight:900;letter-spacing:.08em;color:rgba(255,255,255,.72)}
.shell-month-copy strong{display:block;font-size:.83rem;margin-top:3px}
.shell-month-status{font-size:.44rem;font-weight:900;letter-spacing:.05em;padding:7px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:#e6f7fa;white-space:nowrap}
.shell-month-value{display:flex;align-items:center;gap:10px;margin:15px 0 11px;position:relative;z-index:1}
.shell-money-icon{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.13);display:grid;place-items:center}
.shell-month-value small{display:block;font-size:.49rem;font-weight:900;letter-spacing:.075em;color:rgba(255,255,255,.70)}
.shell-month-value strong{display:block;font-size:1.55rem;line-height:1.05;margin-top:2px}
.shell-month-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);position:relative;z-index:1}
.shell-month-meta span{font-size:.54rem;color:rgba(255,255,255,.78);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shell-month-actions{display:grid;grid-template-columns:.85fr 1.35fr;gap:8px;margin-top:11px;position:relative;z-index:1}
.shell-month-actions button{height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.54rem;font-weight:900;color:#fff;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.11)}
.shell-month-actions .shell-send-note{background:#fff;color:#0d556d;border-color:#fff}
.shell-month-actions svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.8}
.shell-empty{min-height:210px;border:1px dashed #cfe0e6;background:#f5f9fa;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.shell-empty img{width:58px;height:58px;object-fit:contain;margin-bottom:10px}
.shell-empty strong{color:var(--petrol-900);font-size:.92rem}
.shell-empty span{color:#7d929f;font-size:.67rem;line-height:1.45;max-width:260px;margin-top:5px}

/* Shell add/share sheets */
.shell-sheet-brand{display:flex;align-items:center;gap:11px;text-align:left;margin-bottom:15px}
.shell-sheet-brand img{width:48px;height:48px;object-fit:contain;border-radius:13px;background:#fff;padding:4px;border:1px solid #e2e9ec}
.shell-sheet-brand h3{margin:3px 0 0;font-size:1.08rem;color:var(--petrol-900)}
.shell-form-field,.shell-file-field{display:block;text-align:left;margin:0 0 11px}
.shell-form-field>span,.shell-file-field>span{display:block;font-size:.55rem;font-weight:900;letter-spacing:.09em;color:#66818f;margin:0 0 6px 2px}
.shell-form-field>input{width:100%;height:54px;border-radius:16px;border:1px solid #d7e5ea;background:#fff;color:#173446;font-weight:850;padding:0 14px;outline:0}
.shell-form-field>input:focus{border-color:#72cbd9;box-shadow:0 0 0 3px rgba(76,196,216,.12)}
.shell-money-input{height:58px;border:1px solid #d7e5ea;background:#fff;border-radius:16px;display:flex;align-items:center;gap:8px;padding:0 14px}
.shell-money-input b{color:var(--cyan-600);font-size:.92rem}
.shell-money-input input{width:100%;border:0;outline:0;background:transparent;color:#173446;font-size:1.14rem;font-weight:900}
.shell-money-input input::placeholder{color:#57b9cb}
.shell-file-field>button{width:100%;min-height:66px;border-radius:17px;background:#eef7f9;border:1px solid #d6e7eb;color:#16475c;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;padding:10px 12px}
.shell-file-field>button svg{grid-row:1/3;width:28px;height:28px;stroke:var(--cyan-600);stroke-width:1.7}
.shell-file-field>button strong{font-size:.66rem}.shell-file-field>button small{font-size:.53rem;color:#79909b}
#shellFileName{margin:6px 3px 0;font-size:.55rem;color:#768d99;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shell-share-summary{background:#eef7f9;border:1px solid #d7e7eb;border-radius:16px;padding:13px;color:#315566;font-weight:800;font-size:.72rem;line-height:1.4;margin:2px 0 12px}

@media(max-width:360px){
  .shell-page-actions{grid-template-columns:1fr}
  .shell-month-top{grid-template-columns:38px 1fr}.shell-month-status{grid-column:2;justify-self:start}
  .shell-month-meta{grid-template-columns:1fr}
}

/* =========================================================
   V15 · PRESTAÇÃO DE CONTAS SHELL
   Home escura + fluxo branco em gates + IndexedDB/Web Share
   ========================================================= */

:root{
  --v15-navy:#06253a;
  --v15-navy-2:#082f46;
  --v15-navy-3:#0d435d;
  --v15-cyan:#29d8f4;
  --v15-cyan-2:#18a9cc;
  --v15-light:#f3f8fa;
  --v15-line:#dce9ee;
  --v15-ink:#10283a;
  --v15-muted:#748b9a;
}

.main-screen{background:linear-gradient(180deg,#072d44 0%,#06253a 52%,#061f33 100%);min-height:100vh;padding-bottom:calc(104px + env(safe-area-inset-bottom))}
.v15-header{background:rgba(5,31,48,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:none;border-bottom:1px solid rgba(84,220,245,.10)}
.v15-content{max-width:820px;padding:14px 18px 116px}
.v15-header .logout-action{background:rgba(255,255,255,.06);border:1px solid rgba(115,225,246,.16);box-shadow:none}
.v15-header .header-eyebrow{color:#5fe7ff}
.view{animation:v15ViewIn .22s ease both}
@keyframes v15ViewIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* HOME */
.home-view{color:#fff}
.home-hero{position:relative;padding:8px 0 0;overflow:hidden}
.home-hero:before,.home-hero:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(68,210,238,.15);pointer-events:none}
.home-hero:before{width:330px;height:330px;right:-205px;top:-80px}
.home-hero:after{width:245px;height:245px;left:-205px;top:320px}
.home-eyebrow{color:#44dfff;letter-spacing:.13em;font-size:.72rem}
.home-hero-copy h3{margin:8px 0 8px;font-size:clamp(2rem,7vw,3.15rem);line-height:.98;letter-spacing:-.04em;color:#fff}
.home-hero-copy p{margin:0;color:#b8d0dc;font-size:clamp(1rem,4.2vw,1.32rem)}
.add-receipt-hero{display:flex;flex-direction:column;align-items:center;padding:30px 0 22px}
.add-receipt-button{width:min(63vw,286px);height:min(63vw,286px);min-width:220px;min-height:220px;border-radius:50%;background:transparent;display:grid;place-items:center;filter:drop-shadow(0 18px 30px rgba(0,0,0,.36));touch-action:manipulation}
.add-receipt-button__outer{position:relative;width:100%;height:100%;border-radius:50%;padding:11px;background:linear-gradient(145deg,#72f6ff 0%,#2ddbf5 22%,#0d8dbc 62%,#58e8ff 100%);box-shadow:0 0 0 2px rgba(117,240,255,.12),0 0 34px rgba(55,222,252,.23);transition:transform .14s ease,filter .14s ease}
.add-receipt-button__outer:before{content:"";position:absolute;inset:8px;border-radius:50%;box-shadow:inset 0 3px 4px rgba(255,255,255,.46),inset 0 -13px 23px rgba(1,34,55,.46)}
.add-receipt-button__inner{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:linear-gradient(180deg,#32d5f5 0%,#1599c8 48%,#0d6e9c 100%);box-shadow:inset 0 11px 18px rgba(255,255,255,.14),inset 0 -15px 24px rgba(6,28,44,.34),0 7px 14px rgba(0,0,0,.18)}
.add-receipt-button__plus{font-size:clamp(6rem,18vw,8rem);line-height:1;color:#f5fbfd;font-weight:300;text-shadow:0 3px 12px rgba(255,255,255,.12)}
.add-receipt-button:active .add-receipt-button__outer{transform:scale(.978);filter:brightness(.93)}
.add-receipt-title{margin-top:17px;color:#fff;font-weight:950;font-size:clamp(1.55rem,6.5vw,2.4rem);letter-spacing:-.03em;text-align:center}
.add-receipt-subtitle{margin-top:8px;color:#4edcff;font-size:.76rem;letter-spacing:.23em;text-align:center;line-height:1.5}
.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}
.home-shortcut-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:13px;min-height:112px;padding:17px;border-radius:24px;background:linear-gradient(145deg,#13799f 0%,#0c5c7b 31%,#0a405c 68%,#0e6287 100%);color:#fff;border:1px solid rgba(91,229,255,.34);box-shadow:0 12px 28px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.17);transition:transform .15s ease,filter .15s ease}
.home-shortcut-card:before{content:"";position:absolute;right:-42px;top:-36px;width:132px;height:132px;border-radius:50%;border:1px solid rgba(151,239,255,.14)}
.home-shortcut-card:active{transform:translateY(2px);filter:brightness(.92)}
.home-shortcut-card__icon{flex:0 0 72px;width:72px;height:72px;border-radius:21px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(78,226,251,.34),rgba(47,177,212,.20));box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.home-shortcut-card__icon svg{width:34px;height:34px;stroke:#fff;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.home-shortcut-card__copy strong{display:block;font-size:.98rem;line-height:1.1;text-align:left}
.home-shortcut-card__arrow{margin-left:auto;flex:0 0 49px;width:49px;height:49px;border-radius:50%;display:grid;place-items:center;background:rgba(72,202,234,.18);border:1px solid rgba(180,245,255,.22)}
.home-shortcut-card__arrow svg{width:21px;height:21px;stroke:#fff;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.home-panel{position:relative;overflow:hidden;margin-top:18px;padding:22px 18px 16px;border-radius:28px;background:linear-gradient(180deg,rgba(4,31,48,.96),rgba(3,24,39,.96));border:2px solid rgba(78,226,251,.50);box-shadow:0 0 0 1px rgba(80,222,252,.08),0 0 31px rgba(31,197,239,.14),inset 0 0 0 1px rgba(255,255,255,.03)}
.home-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 28% 48%,rgba(39,224,255,.09),transparent 32%),radial-gradient(circle at 84% 42%,rgba(36,185,222,.08),transparent 26%);pointer-events:none}
.home-panel:after{content:"";position:absolute;right:10px;top:44px;width:176px;height:176px;border:1px solid rgba(128,242,255,.09);border-radius:50%}
.home-panel__top,.home-panel__footer,.home-panel__value-wrap{position:relative;z-index:1}
.home-panel__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.home-panel__label-group{display:flex;align-items:center;gap:14px;color:#b1d7e4}
.home-panel__badge{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-weight:950;font-size:1.45rem;color:#fff;border:2px solid rgba(90,224,248,.4);background:linear-gradient(180deg,#083f63,#062941)}
.home-panel__label-group small{display:block;color:#a6cbda;font-size:.79rem;font-weight:800;letter-spacing:.07em}
.home-panel__status{display:flex;align-items:center;gap:9px;font-size:.73rem;color:#cce8f1;letter-spacing:.08em;font-weight:900}
.home-panel__status i{width:13px;height:13px;border-radius:50%;background:#1df285;box-shadow:0 0 16px rgba(29,242,133,.52);animation:v15Pulse 2.4s ease-in-out infinite}
@keyframes v15Pulse{50%{box-shadow:0 0 3px rgba(29,242,133,.1);opacity:.72}}
.home-panel__value-wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:20px}
.home-panel__value{display:block;color:#fff;font-size:clamp(2.8rem,11.5vw,4.3rem);line-height:.95;letter-spacing:-.06em;text-shadow:0 0 18px rgba(90,223,248,.18)}
.home-panel__bars{display:flex;align-items:flex-end;gap:8px;height:102px;padding-right:12px;opacity:.45}
.home-panel__bars span{display:block;width:18px;border-radius:9px 9px 0 0;background:linear-gradient(180deg,rgba(38,216,248,.18),rgba(18,160,196,.58))}
.home-panel__bars span:nth-child(1){height:28px}.home-panel__bars span:nth-child(2){height:43px}.home-panel__bars span:nth-child(3){height:58px}.home-panel__bars span:nth-child(4){height:76px}.home-panel__bars span:nth-child(5){height:94px}
.home-panel__scanline{position:relative;z-index:1;height:2px;margin:14px 0 18px;background:linear-gradient(90deg,rgba(49,209,247,.14),rgba(49,209,247,1),rgba(49,209,247,.14));box-shadow:0 0 16px rgba(49,209,247,.38);animation:v15Scan 3.8s ease-in-out infinite}
@keyframes v15Scan{0%,100%{opacity:.48;transform:scaleX(.95)}50%{opacity:1;transform:scaleX(1)}}
.home-panel__footer{display:grid;grid-template-columns:1fr 1fr;gap:0}
.home-panel__footer article{display:flex;align-items:center;gap:12px;padding-top:8px}
.home-panel__footer article+article{border-left:1px solid rgba(88,224,247,.22);padding-left:16px;margin-left:16px}
.home-panel__mini-icon{flex:0 0 53px;width:53px;height:53px;border-radius:16px;display:grid;place-items:center;background:rgba(9,60,87,.45);border:1px solid rgba(86,218,244,.13)}
.home-panel__mini-icon svg{width:27px;height:27px;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-panel__footer strong{display:block;color:#fff;font-size:.98rem}.home-panel__footer small{display:block;color:#7bbfd3;font-size:.72rem;letter-spacing:.07em;margin-top:4px}

/* BOTTOM NAV */
.v15-bottom-nav{position:fixed;left:18px;right:18px;bottom:calc(14px + env(safe-area-inset-bottom));height:auto;padding:9px;border-radius:27px;border:1px solid rgba(89,225,251,.17);background:linear-gradient(180deg,rgba(5,32,51,.97),rgba(5,26,42,.99));grid-template-columns:repeat(3,1fr);box-shadow:0 18px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(14px)}
.v15-bottom-nav .nav-item{position:relative;min-height:70px;border-radius:19px;color:#9fb7c4;gap:6px;font-size:.72rem;font-weight:850}
.v15-bottom-nav .nav-item svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v15-bottom-nav .nav-item.active{background:linear-gradient(180deg,rgba(8,61,90,.85),rgba(4,35,54,.56));color:#5cecff}
.v15-bottom-nav .nav-item.active:after{content:"";position:absolute;left:20px;right:20px;bottom:6px;height:5px;border-radius:999px;background:linear-gradient(90deg,#57e7ff,#39d7ff);box-shadow:0 0 14px rgba(66,218,255,.45)}

/* RECEIPT FLOW: branco do branding */
.receipt-view{margin:-14px -18px -116px;background:linear-gradient(180deg,#edf5f8 0%,#f8fbfc 55%,#eef5f7 100%);min-height:calc(100vh - 72px);padding:18px 18px 132px;color:var(--v15-ink)}
.receipt-brand-strip{display:flex;align-items:center;gap:15px;padding:10px 4px 18px}
.receipt-brand-logo{width:58px;height:58px;object-fit:contain;flex:0 0 58px}
.receipt-brand-strip .eyebrow{color:#638296}.receipt-brand-strip h3{margin:4px 0 3px;font-size:1.34rem}.receipt-brand-strip p{margin:0;color:#78909e;font-size:.82rem}
.gate-flow{display:flex;flex-direction:column;gap:13px}
.gate-card{position:relative;background:#fff;border:1px solid #dfebef;border-radius:23px;padding:18px;box-shadow:0 13px 28px rgba(19,55,75,.08);overflow:visible}
.gate-card:before{content:"";position:absolute;right:-44px;top:-46px;width:128px;height:128px;border:1px solid rgba(40,167,196,.08);border-radius:50%;pointer-events:none}
.gate-head{position:relative;z-index:1;display:flex;align-items:flex-start;gap:13px;margin-bottom:14px}
.gate-number{flex:0 0 36px;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#0a3a53;color:#fff;font-size:.67rem;font-weight:950;letter-spacing:.03em;box-shadow:0 7px 14px rgba(10,58,83,.16)}
.gate-kicker{display:block;color:#6e8797;font-size:.61rem;font-weight:950;letter-spacing:.13em;margin-top:2px}
.gate-head h4{margin:6px 0 0;font-size:1rem;line-height:1.22;color:#10283a}
.gate-input{position:relative;z-index:1;display:block}.gate-input>span,.signature-field-v15>span{display:block;color:#668292;font-size:.60rem;font-weight:950;letter-spacing:.11em;margin-bottom:7px}
.gate-input input,.gate-input textarea{width:100%;border:1px solid #d6e6ec;border-radius:15px;background:#f7fbfc;color:#10283a;outline:none;font:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.gate-input input{height:52px;padding:0 14px}.gate-input textarea{padding:13px;resize:vertical;min-height:98px;line-height:1.45}
.gate-input input:focus,.gate-input textarea:focus{background:#fff;border-color:#35bad9;box-shadow:0 0 0 4px rgba(53,186,217,.10)}
.gate-help{margin:10px 2px 0;color:#7893a2;font-size:.69rem;line-height:1.4}

/* vehicle selector inherited + refined */
.v15-selectionator{position:relative;z-index:4}
.v15-selectionator .selectionator-search{min-height:68px;border-radius:18px;background:linear-gradient(145deg,#0b3f59,#0d526e);color:#fff;border:1px solid rgba(49,186,217,.28);box-shadow:0 10px 21px rgba(9,54,76,.16)}
.v15-selectionator .selectionator-menu{top:calc(100% - 5px);border-radius:0 0 20px 20px;background:#0a3d56;border:1px solid rgba(49,186,217,.24);box-shadow:0 20px 28px rgba(7,35,50,.24)}
.v15-selectionator .vehicle-option{color:#fff;border-color:rgba(255,255,255,.07)}
.v15-selectionator .vehicle-option-copy small{color:#8fb2c2}
.v15-selectionator .vehicle-option-check{border-color:rgba(120,219,239,.18)}
.v15-selectionator .vehicle-option.selected{background:rgba(38,183,213,.12)}
.v15-selectionator .vehicle-option.selected .vehicle-option-check{background:#22a8c7;border-color:#22a8c7;color:#fff}

/* gate amount */
.money-gate{display:flex;align-items:center;gap:0;border:1px solid #cfe4eb;border-radius:18px;overflow:hidden;background:#f7fbfc;box-shadow:inset 0 1px 0 #fff}
.money-gate>span{height:64px;min-width:72px;display:grid;place-items:center;background:linear-gradient(145deg,#0c4f69,#1686a5);color:#fff;font-weight:950;font-size:1.15rem}
.money-gate input{flex:1;height:64px;border:0;background:transparent;outline:none;padding:0 16px;font-size:1.55rem;font-weight:950;color:#12384c;letter-spacing:-.02em}

/* single calendar */
.single-date-summary{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label week" "date week";gap:4px 12px;padding:14px 15px;margin-bottom:12px;border-radius:16px;border:1px solid #cde5ec;background:linear-gradient(145deg,#f4fafc,#eaf8fb)}
.single-date-summary span{grid-area:label;font-size:.58rem;font-weight:950;letter-spacing:.1em;color:#6e8797}.single-date-summary strong{grid-area:date;font-size:1.04rem;color:#12364a}.single-date-summary small{grid-area:week;align-self:center;color:#21a7c7;font-size:.68rem;font-weight:900}
.v15-calendar{border:1px solid #dbe8ed;border-radius:19px;padding:13px;background:#fff;box-shadow:inset 0 1px 0 #fff}
.v15-calendar .calendar-day.selected,.v15-calendar .calendar-day.range-start{background:linear-gradient(145deg,#26b8d6,#1698ba);color:#fff;box-shadow:0 9px 17px rgba(22,152,186,.24)}
.v15-calendar .calendar-day.disabled{opacity:.35}

/* sci-fi dropdown adaptado */
.scifi-select{position:relative;z-index:5}
.scifi-select__trigger{position:relative;width:100%;min-height:58px;padding:0 54px 0 16px;border:1px solid rgba(20,170,200,.54);border-radius:16px;background:linear-gradient(145deg,#0b3e57,#0d526e);color:#dffaff;text-align:left;font-size:.77rem;font-weight:950;letter-spacing:.07em;box-shadow:0 11px 21px rgba(10,61,84,.16),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.scifi-select__trigger:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 42%,rgba(74,231,255,.11) 48%,transparent 54%);transform:translateX(-120%);animation:v15SelectGlint 5s ease-in-out infinite}
@keyframes v15SelectGlint{0%,72%{transform:translateX(-120%)}88%,100%{transform:translateX(120%)}}
.scifi-select__trigger i{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #55dbf4;transition:transform .2s ease}
.scifi-select.open .scifi-select__trigger{border-color:#4ce5ff;box-shadow:0 0 0 3px rgba(76,229,255,.08),0 0 23px rgba(41,216,244,.15)}
.scifi-select.open .scifi-select__trigger i{transform:translateY(-50%) rotate(180deg)}
.scifi-select__menu{position:relative;margin-top:8px;display:grid;gap:6px;overflow:hidden}
.scifi-select__menu[hidden]{display:none}
.scifi-select__menu button{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 14px 0 17px;border:1px solid rgba(38,190,219,.22);border-radius:13px;background:linear-gradient(145deg,#0b3c54,#0a3148);color:#d9f5fb;font-size:.75rem;font-weight:900;letter-spacing:.06em;opacity:0;transform:translateX(-28px) skewX(-2deg);transition:opacity .22s ease,transform .22s ease,background .15s ease,border-color .15s ease}
.scifi-select__menu button:nth-child(even){transform:translateX(28px) skewX(2deg)}
.scifi-select__menu.visible button{opacity:1;transform:none}
.scifi-select__menu.visible button:nth-child(2){transition-delay:.03s}.scifi-select__menu.visible button:nth-child(3){transition-delay:.06s}.scifi-select__menu.visible button:nth-child(4){transition-delay:.09s}.scifi-select__menu.visible button:nth-child(5){transition-delay:.12s}.scifi-select__menu.visible button:nth-child(6){transition-delay:.15s}
.scifi-select__menu button b{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:rgba(50,210,237,.10);color:#59def7;font-size:.60rem}
.scifi-select__menu button.selected{background:linear-gradient(145deg,#137f9f,#0f627e);border-color:#45d9f4;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.conditional-input{margin-top:13px;opacity:0;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease}.conditional-input.show{opacity:1;transform:none}

/* anexo */
.attachment-cta{display:flex;align-items:center;gap:13px;width:100%;min-height:78px;padding:13px 14px;border-radius:18px;border:1px solid #cce5eb;background:linear-gradient(145deg,#f4fbfc,#e9f7fa);color:#11364a;text-align:left;box-shadow:0 8px 17px rgba(17,67,89,.07);transition:transform .14s ease}
.attachment-cta:active{transform:translateY(2px)}
.attachment-cta__icon{flex:0 0 49px;width:49px;height:49px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#dff6fa,#caeef5);color:#1598b7}.attachment-cta__icon svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.8}
.attachment-cta>span:nth-child(2){min-width:0}.attachment-cta strong{display:block;font-size:.78rem}.attachment-cta small{display:block;color:#75909f;margin-top:4px;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attachment-badge{margin-left:auto;flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0c526c;color:#fff;font-weight:950;font-size:1.1rem}
.attachment-preview{display:grid;grid-template-columns:72px 1fr 38px;align-items:center;gap:12px;margin-top:11px;padding:10px;border:1px solid #d9e8ed;border-radius:16px;background:#f9fcfd}
.attachment-preview img{width:72px;height:62px;border-radius:11px;object-fit:cover;background:#eef4f6}.attachment-preview strong{display:block;font-size:.72rem;word-break:break-word}.attachment-preview small{display:block;color:#7b919e;font-size:.64rem;margin-top:4px}.attachment-preview button{width:34px;height:34px;border-radius:50%;background:#ffe9eb;color:#b93d48;font-size:1.2rem}

/* gate assinatura */
.signature-gate-preview{padding:15px;border-radius:17px;background:linear-gradient(145deg,#f7fbfc,#eef7f9);border:1px solid #d9e8ed;margin-bottom:12px}.signature-gate-preview span{display:block;font-size:.57rem;font-weight:950;letter-spacing:.1em;color:#718998}.signature-gate-preview strong{display:block;margin-top:8px;font-family:'Satisfy','Segoe Script','Brush Script MT',cursive;font-size:1.85rem;color:#143b50;font-weight:400}.signature-gate-preview small{display:block;color:#8096a3;margin-top:3px;font-size:.67rem}
.final-sign-cta{width:100%;min-height:58px;border-radius:16px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(145deg,#1298b9,#08728f);color:#fff;font-weight:950;font-size:.78rem;letter-spacing:.04em;box-shadow:0 12px 23px rgba(8,114,143,.23),inset 0 1px 0 rgba(255,255,255,.18)}.final-sign-cta svg{width:23px;height:23px;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.final-sign-cta:active{transform:translateY(2px)}

/* assinatura modal: inspirado no Portal do Holerite */
.signature-overlay-v15{position:fixed;inset:0;z-index:95;display:none;place-items:center;padding:18px;background:rgba(7,29,43,.68);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.signature-overlay-v15.open{display:grid}
.signature-modal-v15{width:min(860px,96vw);max-height:94vh;overflow:auto;border:1px solid rgba(20,115,146,.16);border-radius:22px;background:#fff;box-shadow:0 28px 70px rgba(4,27,41,.34)}
.signature-modal-head-v15{padding:21px 23px;border-bottom:1px solid #e5eef1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.signature-modal-head-v15 h2{margin:5px 0 4px;color:#10283a;font-size:1.42rem}.signature-modal-head-v15 p{margin:0;color:#718795;font-size:.78rem;line-height:1.45}.signature-close-v15{width:41px;height:41px;border-radius:12px;border:1px solid #dce9ee;background:#f5fafb;color:#16394c;font-size:1.4rem}
.signature-panel-v15{padding:21px 23px}.signature-grid-v15{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.signature-form-v15{display:grid;gap:12px}.signature-field-v15{display:block}.signature-field-v15 input,.signature-field-v15 textarea{width:100%;border:1px solid #d9e7ec;border-radius:13px;background:#f8fbfc;color:#17384b;outline:none;font:inherit}.signature-field-v15 input{height:49px;padding:0 13px;font-weight:800}.signature-field-v15 textarea{min-height:126px;padding:12px;line-height:1.5;resize:none}.signature-preview-v15{min-height:250px;display:grid;align-content:space-between;gap:12px;padding:16px;border:1px solid #dce9ee;border-radius:16px;background:radial-gradient(circle at 50% 0%,rgba(35,181,214,.10),transparent 42%),#f8fbfc}.signature-status-v15{display:inline-flex;width:fit-content;padding:7px 10px;border:1px solid #b9ecd2;background:#ecfdf4;color:#087845;border-radius:999px;font-size:.61rem;font-weight:950;letter-spacing:.1em}.signature-name-v15{min-height:92px;display:grid;place-items:center;padding:8px;color:#10283a;font-size:2.55rem;line-height:1;text-align:center;border-bottom:1px solid #dce9ee;overflow-wrap:anywhere}.sig-satisfy{font-family:'Satisfy','Segoe Script','Brush Script MT',cursive}.signature-meta-v15{color:#718795;font-size:.72rem;line-height:1.45}.signature-actions-v15{display:flex;justify-content:flex-end;gap:9px}.signature-cancel-v15,.signature-submit-v15{min-height:48px;border-radius:12px;padding:0 16px;font-weight:950;font-size:.72rem}.signature-cancel-v15{border:1px solid #d9e7ec;background:#f5f9fa;color:#28485a}.signature-submit-v15{background:linear-gradient(145deg,#159cbd,#087590);color:#fff;box-shadow:0 12px 23px rgba(8,117,144,.20)}.signature-submit-v15:disabled{opacity:.65}.signature-error-v15{border:1px solid #f1b5bd;background:#fff0f2;color:#a72b3b;border-radius:12px;padding:10px 12px;font-size:.74rem;font-weight:800}

/* histórico */
.history-view-v15,.panel-view-v15{color:#fff}
.v15-section-head{margin:8px 2px 16px}.v15-section-head .eyebrow{color:#55ddf6}.v15-section-head h3{color:#fff;font-size:1.55rem}.v15-section-head p{margin:6px 0 0;color:#9ebbc8;font-size:.78rem}
.v15-history-item{grid-template-columns:78px 1fr auto;background:linear-gradient(145deg,rgba(15,74,99,.93),rgba(7,48,68,.96));border:1px solid rgba(83,211,236,.17);color:#fff;border-radius:20px;box-shadow:0 14px 26px rgba(0,0,0,.14)}
.v15-history-item>img{width:78px;height:62px;border-radius:13px;object-fit:cover;background:#fff}.history-copy-v15{min-width:0}.history-title-v15{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.history-title-v15 strong{font-size:.79rem}.v15-history-item small{color:#9cb9c7}.v15-history-item .history-meta{color:#61d7ee}.history-status-v15{padding:5px 8px;border-radius:999px;font-size:.52rem;font-weight:950;letter-spacing:.06em}.history-status-v15.shared{background:rgba(27,221,136,.12);color:#7ff1b6;border:1px solid rgba(27,221,136,.20)}.history-status-v15.ready{background:rgba(255,190,80,.10);color:#ffd28a;border:1px solid rgba(255,190,80,.18)}.v15-history-item .history-actions button{background:rgba(255,255,255,.08);color:#dff8fd;border:1px solid rgba(255,255,255,.08)}.v15-history-item .history-share.ready{background:#139dbc;color:#fff}.history-empty{padding:30px;border:1px dashed rgba(108,220,241,.26);border-radius:18px;color:#9fb9c6;text-align:center;background:rgba(255,255,255,.03)}

/* painel */
.panel-kpis{display:grid;grid-template-columns:1.25fr .75fr 1fr;gap:11px}.panel-kpis article{min-height:110px;padding:17px;border-radius:21px;background:linear-gradient(145deg,#0f6d8e,#0b425f);border:1px solid rgba(85,220,246,.18);box-shadow:0 12px 24px rgba(0,0,0,.15)}.panel-kpis small{display:block;color:#9bd4e0;font-size:.61rem;font-weight:950;letter-spacing:.08em}.panel-kpis strong{display:block;margin-top:13px;color:#fff;font-size:clamp(1.35rem,4.5vw,2rem);line-height:1}.panel-chart-card{margin-top:14px;padding:18px;border-radius:23px;background:linear-gradient(180deg,rgba(5,43,63,.97),rgba(4,34,51,.98));border:1px solid rgba(85,220,246,.18);box-shadow:0 18px 34px rgba(0,0,0,.16)}.panel-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid rgba(91,218,241,.10)}.panel-chart-head span{font-size:.69rem;font-weight:950;letter-spacing:.1em;color:#9fdae5}.panel-chart-head small{color:#7397a7;font-size:.62rem}.panel-month-list{display:grid;gap:11px;margin-top:14px}.panel-month-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:13px}.panel-month-copy strong{display:block;color:#fff;font-size:.77rem}.panel-month-copy small{display:block;color:#789eae;font-size:.62rem;margin-top:3px}.panel-month-track{height:10px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.panel-month-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1bc5e7,#45e1f8);box-shadow:0 0 12px rgba(45,211,240,.28)}.panel-month-row>b{color:#fff;font-size:.75rem}.panel-empty{padding:24px;text-align:center;color:#829fab}

/* bottom sheets tweaks */
.sheet-backdrop{background:rgba(5,27,40,.60);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.receipt-sheet,.success-sheet-v15{border-radius:26px 26px 0 0}.success-check-v15{width:64px;height:64px;margin:2px auto 12px;border-radius:50%;display:grid;place-items:center;background:#e9fff5;color:#0f9a62;border:1px solid #bcebd6}.success-check-v15 svg{width:32px;height:32px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.success-id-v15{margin:13px 0;padding:13px;border-radius:15px;background:#eef8fa;text-align:center}.success-id-v15 small{display:block;color:#718b99;font-size:.59rem;font-weight:950;letter-spacing:.1em}.success-id-v15 strong{display:block;margin-top:5px;color:#10364a;font-size:1.05rem}.share-feedback.success{color:#087845}.share-feedback.error{color:#b42c3a}

@media(max-width:680px){
  .v15-content{padding:10px 14px 110px}
  .receipt-view{margin:-10px -14px -110px;padding:14px 14px 125px}
  .home-shortcuts{grid-template-columns:1fr;gap:11px}
  .home-shortcut-card{min-height:96px}.home-shortcut-card__icon{width:62px;height:62px;flex-basis:62px}.home-shortcut-card__arrow{width:44px;height:44px;flex-basis:44px}
  .home-panel__value-wrap{align-items:flex-start;flex-direction:column}.home-panel__bars{align-self:flex-end;height:84px;margin-top:-12px;padding-right:0}.home-panel__footer{grid-template-columns:1fr;gap:8px}.home-panel__footer article+article{border-left:0;border-top:1px solid rgba(88,224,247,.18);padding-left:0;margin-left:0;padding-top:10px}
  .signature-overlay-v15{padding:9px;align-items:start;overflow:auto}.signature-modal-v15{width:100%;margin:8px 0}.signature-grid-v15{grid-template-columns:1fr}.signature-preview-v15{min-height:205px}.signature-name-v15{font-size:2.15rem}.signature-actions-v15{display:grid;grid-template-columns:1fr 1fr}.signature-cancel-v15,.signature-submit-v15{width:100%}
  .panel-kpis{grid-template-columns:1fr 1fr}.panel-kpis article:first-child{grid-column:1/-1}.panel-month-row{grid-template-columns:112px 1fr}.panel-month-row>b{grid-column:2;justify-self:end;margin-top:-6px}.panel-chart-head{align-items:flex-start;flex-direction:column}
  .v15-history-item{grid-template-columns:66px 1fr}.v15-history-item>img{width:66px;height:56px}.v15-history-item .history-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.v15-history-item .history-actions button{width:100%;height:42px;border-radius:12px}
}

@media(max-width:420px){
  .receipt-brand-logo{width:48px;height:48px;flex-basis:48px}.receipt-brand-strip h3{font-size:1.18rem}.gate-card{padding:15px;border-radius:20px}.gate-head{gap:10px}.gate-number{width:34px;height:34px;flex-basis:34px}.add-receipt-button{width:min(70vw,260px);height:min(70vw,260px);min-width:205px;min-height:205px}.add-receipt-subtitle{letter-spacing:.15em;font-size:.68rem}.home-panel{padding:18px 15px 14px}.home-panel__status{font-size:.62rem}.home-panel__label-group small{font-size:.68rem}.panel-kpis{grid-template-columns:1fr}.panel-kpis article:first-child{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}


/* ===== V16 refinements ===== */
.brand-logo-chip{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.10);box-shadow:0 14px 32px rgba(3,18,29,.34)!important;padding:8px}
.brand-logo-chip img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 10px rgba(255,255,255,.04))}
.status-pill{position:relative;color:#d9fff0!important;background:rgba(16,86,57,.26)!important;border:1px solid rgba(38,255,154,.20)!important;box-shadow:0 0 0 1px rgba(36,213,130,.06),0 0 24px rgba(23,212,125,.10) inset}
.status-pill i{background:#22ff8a!important;box-shadow:0 0 0 4px rgba(34,255,138,.15),0 0 18px rgba(34,255,138,.55)!important;animation:strongPulse 1.55s ease-in-out infinite!important}
@keyframes strongPulse{0%,100%{transform:scale(1);opacity:1;box-shadow:0 0 0 4px rgba(34,255,138,.15),0 0 18px rgba(34,255,138,.45)}50%{transform:scale(1.22);opacity:.82;box-shadow:0 0 0 8px rgba(34,255,138,.08),0 0 28px rgba(34,255,138,.82)}}

.boot-splash{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:28px;background:linear-gradient(180deg,#07283c 0%,#0a3753 38%,#0b506f 100%);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.boot-splash.is-visible{opacity:1;visibility:visible}
.boot-splash.is-leaving{opacity:0;visibility:hidden}
.boot-splash:before,.boot-splash:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(109,235,255,.10);pointer-events:none}
.boot-splash:before{width:320px;height:320px;right:-110px;top:72px}
.boot-splash:after{width:240px;height:240px;left:-120px;bottom:96px}
.boot-splash__inner{position:relative;display:grid;justify-items:center;gap:20px;text-align:center}
.boot-splash__logo{width:min(88vw,430px);height:auto;display:block;filter:drop-shadow(0 0 18px rgba(255,255,255,.08))}
.boot-splash__status{color:#bfe0ea;font-size:.72rem;font-weight:900;letter-spacing:.18em}
.boot-splash__spinner,.boot-splash__spinner *{box-sizing:border-box}
.boot-splash__spinner{height:70px;width:70px;display:flex;align-items:center;justify-content:center}
.boot-splash__spinner .dots-container{height:10px;width:10px}
.boot-splash__spinner .smaller-dot{background:#fff;height:100%;width:100%;border-radius:50%;animation:flower-spinner-smaller-dot-animation 2.5s 0s infinite both}
.boot-splash__spinner .bigger-dot{background:#fff;height:100%;width:100%;padding:10%;border-radius:50%;animation:flower-spinner-bigger-dot-animation 2.5s 0s infinite both}
@keyframes flower-spinner-bigger-dot-animation{0%{box-shadow:rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0}50%{transform:rotate(180deg)}25%,75%{box-shadow:rgb(255 255 255) 26px 0 0,rgb(255 255 255) -26px 0 0,rgb(255 255 255) 0 26px 0,rgb(255 255 255) 0 -26px 0,rgb(255 255 255) 19px -19px 0,rgb(255 255 255) 19px 19px 0,rgb(255 255 255) -19px -19px 0,rgb(255 255 255) -19px 19px 0}100%{transform:rotate(360deg);box-shadow:rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0}}
@keyframes flower-spinner-smaller-dot-animation{0%{box-shadow:rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0}25%,75%{box-shadow:rgb(255 255 255) 14px 0 0,rgb(255 255 255) -14px 0 0,rgb(255 255 255) 0 14px 0,rgb(255 255 255) 0 -14px 0,rgb(255 255 255) 10px -10px 0,rgb(255 255 255) 10px 10px 0,rgb(255 255 255) -10px -10px 0,rgb(255 255 255) -10px 10px 0}100%{box-shadow:rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0,rgb(255 255 255) 0 0 0}}

.add-receipt-hero{padding:8px 0 2px}
.add-receipt-button{width:min(44vw,182px)!important;height:min(44vw,182px)!important;min-width:146px!important;min-height:146px!important}
.add-receipt-button__outer{padding:9px!important}
.add-receipt-button__outer:before{inset:7px!important}
.add-receipt-button__icon{display:grid;place-items:center;width:58%;height:58%;border-radius:50%;background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(0,0,0,.14)}
.add-receipt-button__icon svg{width:72%;height:72%;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(255,255,255,.10))}
.add-receipt-title{margin-top:14px!important}
.add-receipt-subtitle{letter-spacing:.18em!important}

.panel-view-v15 .section-head h3{max-width:16ch}
.history-view-v15 .section-head p,.panel-view-v15 .section-head p{max-width:42ch}

@media (max-width:480px){
  .boot-splash__logo{width:min(90vw,360px)}
  .add-receipt-button{width:min(48vw,168px)!important;height:min(48vw,168px)!important;min-width:138px!important;min-height:138px!important}
}


/* V19 | Auth segmented progress */
.auth-progress{margin-top:15px;padding:12px 12px 11px;border-radius:16px;background:rgba(2,21,31,.40);border:1px solid rgba(76,196,216,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 10px 24px rgba(0,0,0,.12)}
.auth-progress__label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;color:#cfe9f1}
.auth-progress__label span{font-size:.56rem;font-weight:950;letter-spacing:.09em;color:#6fe2f4}
.auth-progress__label small{font-size:.48rem;font-weight:900;letter-spacing:.08em;color:#7f9ca8}
.loading-bar{width:100%;background:rgba(3,27,40,.82);padding:3px;border:1px solid rgba(76,196,216,.38);border-radius:9px;box-shadow:0 0 18px rgba(34,163,194,.12),inset 0 1px 4px rgba(0,0,0,.34);overflow:hidden}
.loading-bar--progress{display:flex;align-items:center;width:100%;gap:2px}
.loading-bar--progress span{height:17px;flex:1 1 0;border-radius:2px;background:linear-gradient(180deg,var(--cyan-400) 0%,var(--cyan-500) 38%,var(--cyan-600) 66%,var(--petrol-800) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 7px rgba(76,196,216,.15);opacity:0;transform:scale(.12);transform-origin:center;}
.auth-progress.is-running .loading-bar--progress span{animation:v19SegmentIn .48s cubic-bezier(.17,.67,.42,1) both}
.auth-progress.is-running .loading-bar--progress span:nth-child(1){animation-delay:.08s}
.auth-progress.is-running .loading-bar--progress span:nth-child(2){animation-delay:.20s}
.auth-progress.is-running .loading-bar--progress span:nth-child(3){animation-delay:.32s}
.auth-progress.is-running .loading-bar--progress span:nth-child(4){animation-delay:.44s}
.auth-progress.is-running .loading-bar--progress span:nth-child(5){animation-delay:.56s}
.auth-progress.is-running .loading-bar--progress span:nth-child(6){animation-delay:.68s}
.auth-progress.is-running .loading-bar--progress span:nth-child(7){animation-delay:.80s}
.auth-progress.is-running .loading-bar--progress span:nth-child(8){animation-delay:.92s}
.auth-progress.is-running .loading-bar--progress span:nth-child(9){animation-delay:1.04s}
.auth-progress.is-running .loading-bar--progress span:nth-child(10){animation-delay:1.16s}
.auth-progress.is-running .loading-bar--progress span:nth-child(11){animation-delay:1.28s}
.auth-progress.is-running .loading-bar--progress span:nth-child(12){animation-delay:1.40s}
.loading-bar--progress .first{border-radius:5px 2px 2px 5px}
.loading-bar--progress .last{border-radius:2px 5px 5px 2px}
@keyframes v19SegmentIn{0%{opacity:0;transform:scale(.12);filter:brightness(1.25)}72%{opacity:1;transform:scale(1.05);filter:brightness(1.14)}100%{opacity:1;transform:scale(1);filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.auth-progress.is-running .loading-bar--progress span{animation-duration:.01ms}}
