@font-face{font-family:'SB Sans Text';src:url('assets/fonts/SBSansText-Regular.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'SB Sans Text';src:url('assets/fonts/SBSansText-Medium.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'SB Sans Text';src:url('assets/fonts/SBSansText-Semibold.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'SB Sans Text';src:url('assets/fonts/SBSansText-Bold.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'SB Sans Text';src:url('assets/fonts/SBSansText-Heavy.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:900;font-display:swap}
@font-face{font-family:'SB Sans Display';src:url('assets/fonts/SBSansDisplay-Thin.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:100;font-display:swap}
@font-face{font-family:'SB Sans Display';src:url('assets/fonts/SBSansDisplay-Light.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:'SB Sans Display';src:url('assets/fonts/SBSansDisplay-Regular.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'SB Sans Display';src:url('assets/fonts/SBSansDisplay-SemiBold.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'SB Sans Display';src:url('assets/fonts/SBSansDisplay-Bold.ttf?v=20261113-16') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{font-family:'SB Sans Text',Arial,Helvetica,sans-serif;font-weight:500;color:#101410;background:#e5e7e6;font-synthesis:none;font-size:14px;--green:#078b12;--muted:#858985;--surface:rgba(255,255,255,.88)}
*{box-sizing:border-box}body{margin:0;padding:32px 16px}button,input,select{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #148b42;outline-offset:4px}button:disabled{opacity:.45;cursor:default}h1,h2,h3{font-family:'SB Sans Display','SB Sans Text',Arial,sans-serif;font-weight:600}h1,h2,h3,p{margin:0}button svg{pointer-events:none}svg{display:block;flex-shrink:0}button:hover{filter:brightness(.97)}.phone{width:390px;min-height:852px;margin:0 auto;position:relative;overflow:hidden;border-radius:42px;background:#f0f0f0;isolation:isolate;box-shadow:0 12px 60px #163e1910}.phone::before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:390px;background:radial-gradient(ellipse at 89% 0%,#38ff8c 0%,#38ff8c00 63%),radial-gradient(ellipse at 0% 5%,#33c1c6 0%,#79e1d6 40%,#c6f7e2 67%,#f0f0f0 86%)}.phone.home::before{height:610px;background:radial-gradient(ellipse at 100% 0,#daf9cc,transparent 65%),linear-gradient(130deg,#9ddccc,#d9efd3 50%,#d1e9df 74%,#f0f0f0)}.status-bar{height:63px;display:block;padding:0;user-select:none}.status-bar img{display:block;width:100%;height:auto}.top-bar{height:44px;display:flex;align-items:center;justify-content:center;position:relative;margin:0 20px}.top-bar h1{font-size:16px;font-weight:600}.back{position:absolute;left:0;top:0;width:40px;height:44px;display:grid;place-items:center}.icon-button{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#f1f2f1;font-size:23px}.content{padding:16px 12px 40px;display:flex;flex-direction:column;gap:12px}.card{background:var(--surface);border-radius:26px;padding:24px}.card h2{font-size:20px;line-height:25px;font-weight:600}.salary-hero{text-align:center;height:185px;padding-top:54px}.salary-hero h1{font-size:34px;letter-spacing:-.8px;line-height:42px}.salary-hero p{font-size:14px;font-weight:500;margin-top:2px}.assistant-message{display:flex;gap:10px;align-items:center;padding:24px;border-radius:26px;background:linear-gradient(150deg,#ffffffdf 50%,#d5fff0);font-size:16px;line-height:20px;min-height:100px}.spark{color:#168640;flex-shrink:0}.offer{border-radius:24px;background:#ffffffef;min-height:95px;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left}.offer p{font-size:16px}.offer small{display:block;font-size:14px;color:var(--muted);line-height:18px;margin-top:4px}.bank-card-image{width:86px;height:auto;transform:rotate(8deg);position:relative;flex-shrink:0;filter:drop-shadow(0 3px 5px #28b87422)}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-tile{background:var(--surface);border-radius:24px;padding:14px 20px 16px;min-height:118px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;font-size:16px;line-height:19px;gap:12px;position:relative}.tile-icon{color:#278839;background:#e9f4ea;border-radius:10px;width:40px;height:40px;display:grid;place-items:center}.badge{position:absolute;top:10px;right:8px;font-size:11px;color:#388744;background:#e8f8e9;padding:4px 7px;border-radius:10px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:8px}.section-heading h2{font-size:19px;white-space:nowrap}.plus{font-size:23px;width:27px;height:27px;border-radius:8px;background:#f2f3f2;display:grid;place-items:center}.payment{display:flex;gap:14px;align-items:center;margin-top:14px;font-size:15px;line-height:19px}.date-chip{display:flex;flex-direction:column;align-items:center;background:#f2f3f1;border-radius:7px;width:25px;font-size:14px;line-height:15px;padding:4px 2px;flex-shrink:0}.date-chip small{font-size:10px;color:#808780}.payment-name{flex:1}.payment-name small{display:block;color:#3c8c45;font-size:12px;line-height:14px}.payment-amount{font-size:14px;white-space:nowrap}.help{padding:24px 20px}.help h2{margin:0 6px 15px;font-size:20px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid #e6e9e6;border-radius:10px;padding:9px 13px;font-size:13px;line-height:16px;background:#ffffff88}.chip.accent{border-color:#89dfbc}.planner-content{padding:16px 20px 32px;min-height:745px}.planner-content .card{padding:24px}.fields{border-radius:24px;overflow:hidden;background:#edf0ed;margin-top:12px}.field{display:flex;flex-direction:column;padding:10px 20px}.field+.field{border-top:1px solid #fff}.field span{font-size:12px;color:#8b928c;margin-bottom:2px}.field input{width:100%;padding:0;border:0;background:transparent;font-size:16px;color:#141814;outline-offset:3px}.date-row{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:23px 24px;border-radius:24px;background:var(--surface);min-height:68px}.date-row strong{font-size:20px}.date-row span{font-size:15px;color:#378341}.primary{width:100%;background:var(--green);border-radius:18px;padding:21px 14px;color:white;font-size:16px;line-height:20px;text-align:center;min-height:62px}.planner-content>.primary{margin-top:auto}.trip-hero{text-align:center;padding:17px 12px 30px;min-height:143px}.trip-hero h1{font-size:28px;font-weight:600;letter-spacing:-.5px;margin-bottom:14px}.pills{display:flex;justify-content:center;gap:6px}.pill{font-size:13px;background:#ffffff66;padding:7px 13px;border-radius:18px}.trip .content{padding-top:4px}.savings{padding:24px 20px 20px}.savings h2{font-size:20px}.saving-data{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-top:8px;gap:16px}.saving-data small{display:block;color:#438949;font-size:12px;line-height:14px;text-align:right}.progress{height:6px;background:#eee;border-radius:4px;margin-top:5px;overflow:hidden}.progress span{display:block;width:77%;height:100%;background:#368b34;border-radius:4px}.secondary{display:block;width:100%;background:#efefef;border-radius:22px;padding:12px;margin-top:15px;font-size:14px}.transport{padding:24px 24px 14px}.transport h2{font-size:19px;line-height:24px}.text-button{padding:0;color:#378943;font-size:14px;margin-top:2px}.ticket{display:flex;align-items:center;gap:12px;text-align:left;width:100%;margin-top:19px;padding:0}.ticket svg{color:#23832c}.ticket-name{flex:1;font-size:16px}.ticket-name small{display:block;font-size:12px;color:#aaa;margin-top:3px}.price-tag{font-size:13px;color:#308839;background:#e7f5e9;border-radius:13px;padding:4px 8px;white-space:nowrap}.hotel-section{padding-top:20px}.hotel-section>h2{font-size:20px;margin:0 25px}.hotel-section>p{font-size:12px;color:#9b9f9b;margin:3px 25px 14px}.hotel-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 3px}.hotel-scroll::-webkit-scrollbar{display:none}.hotel{flex:0 0 342px;background:#fff;border-radius:28px;overflow:hidden;scroll-snap-align:start}.hotel img{display:block;width:100%;height:170px;object-fit:cover}.hotel-body{padding:12px 24px 27px}.hotel h3{font-size:19px;margin-bottom:3px}.rating{font-size:12px;color:#a2a2a2}.rating b{display:inline-block;padding:1px 5px;color:white;background:#25852e;border-radius:5px;margin-right:5px;font-weight:400}.hotel-rate{margin-top:21px;display:flex;justify-content:space-between;gap:12px;font-size:16px}.hotel-rate small{display:block;color:#9b9b9b;font-size:13px;line-height:15px;margin-top:2px}.hotel-price{text-align:right;white-space:nowrap}.hotel-price del{display:block;font-size:12px;color:#a4a4a4}.hotel-price em{font-style:normal;background:linear-gradient(105deg,#57e900,#00cfce);color:#fff;font-size:11px;font-weight:600;padding:4px 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.hotel-price em img{display:block;width:12px;height:12px;flex:none}.hotel-rate.direct{padding-top:17px;border-top:1px solid #eee;font-size:14px}.benefit{display:flex;justify-content:space-between;font-size:13px;margin-top:12px}.benefit.green{color:#5ca77b;margin-top:8px}.benefit-label{color:#a0a0a0;font-size:13px;margin-top:15px}.home .content{padding:10px 16px 28px;gap:14px}.home-search{display:flex;align-items:center;gap:10px;margin:0 16px 50px}.home-search>.icon-button{background:#ffffff23}.search-button{display:flex;align-items:center;gap:8px;background:#7da08c18;border-radius:20px;padding:12px;flex:1;color:#627f70;text-align:left;font-size:12px}.salary-banner{display:flex;align-items:center;gap:14px;padding:22px 18px;background:#8db39d25;border-radius:22px;text-align:left;width:100%;margin-bottom:25px}.salary-banner strong{display:block;font-size:16px;margin-bottom:5px}.salary-banner small{font-size:14px;line-height:18px;color:#627c6e;display:block}.wallet-title{font-size:12px;color:#74837b;margin-bottom:10px}.wallet-balance{display:flex;justify-content:space-between;align-items:center;font-size:24px;margin-bottom:16px}.wallet-grid{display:grid;grid-template-columns:60px 1fr 1fr;gap:8px}.wallet-shortcuts{display:flex;flex-direction:column;gap:8px}.wallet-shortcuts button{display:grid;place-items:center;background:white;border-radius:18px;flex:1;padding:13px}.wallet-card{background:white;border-radius:20px;padding:14px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.mini-cards{font-size:22px}.wallet-card small{display:block;font-size:12px;color:#888;margin-top:5px}.deposit{padding:17px;background:white;border-radius:20px;display:flex;justify-content:space-between;align-items:center;gap:8px}.deposit strong{font-size:14px}.deposit small{display:block;color:#999;font-size:12px;margin-top:5px}.deposit button{background:#158321;color:white;border-radius:9px;font-size:12px;padding:8px 12px}.history-row{display:flex;align-items:center;gap:12px;margin-top:24px}.history-row svg{padding:5px;background:#f3f3f3;border-radius:50%;width:32px;height:32px}.history-row span{flex:1;font-size:14px}.history-row small{display:block;color:#999;font-size:12px;margin-top:4px}.history-row b{font-size:13px}.home-indicator{height:5px;width:130px;background:#141414;border-radius:5px;margin:8px auto 12px;opacity:.75}.autopilot-content{min-height:745px;padding:16px 20px 32px}.autopilot-content>.primary{margin-top:auto}.summary-line{display:flex;justify-content:space-between;margin-top:24px;font-size:15px}.allocation{display:flex;height:7px;border-radius:8px;overflow:hidden;margin:24px 0}.allocation span:first-child{width:45%;background:#33d9e5}.allocation span:last-child{flex:1;background:#42ef95}.legend{display:flex;align-items:center;gap:14px;font-size:16px;margin-top:20px}.legend img{display:block;width:56px;height:56px;object-fit:contain;flex:0 0 56px}.legend small{display:block;font-size:13px;color:#a2a2a2;margin:5px 0 0}.legend small{display:block;font-size:13px;color:#a2a2a2;margin:5px 0 0 17px}.dot{display:inline-block;width:9px;height:9px;background:#33d9e5;border-radius:50%;margin-right:8px}.dot.green{background:#42ef95}dialog{border:0;border-radius:28px;padding:26px;width:min(366px,calc(100% - 32px));box-shadow:0 20px 80px #0002;color:#101410}dialog::backdrop{background:#10251b55;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:12px}.dialog-head h2{font-size:21px}.dialog-label{display:block;font-size:14px;margin:18px 0}.dialog-label input,.dialog-label select{display:block;width:100%;border:1px solid #dde4dc;background:#f5f7f4;border-radius:12px;padding:13px;margin-top:8px;min-width:0}.dialog-copy{font-size:15px;line-height:23px;color:#68746a;margin-bottom:20px}.dialog-error{color:#ab3030;font-size:13px;margin-bottom:12px}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px);width:max-content;background:#163622;color:white;border-radius:15px;padding:14px 20px;font-size:14px;z-index:10;box-shadow:0 8px 30px #0002}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:430px){body{padding:0;background:#f0f0f0}.phone{width:100%;border-radius:0;min-height:100svh;box-shadow:none}.planner-content,.autopilot-content{min-height:calc(100svh - 107px)}.status-bar{padding-top:max(12px,env(safe-area-inset-top));height:63px}.content{padding-bottom:max(28px,env(safe-area-inset-bottom))}.hotel{flex-basis:calc(100% - 24px)}}
.phone::before{mask-image:linear-gradient(#000 65%,transparent)}
@media(max-width:360px){.card{padding:20px 16px}.section-heading h2{font-size:16px}.payment{gap:8px;font-size:13px}.payment-amount{font-size:12px}.date-row{padding:20px 16px}.date-row span{font-size:13px}.planner-content .card{padding:20px 16px}.trip-hero h1{font-size:25px}.pill{font-size:11px;padding:7px 9px}.action-tile{padding-left:15px;padding-right:15px}.offer{padding:18px 16px}.offer p{font-size:14px}.offer small{font-size:12px}.help .chip{font-size:12px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.benefit.green img{width:24px;height:24px;flex:0 0 24px}
.ticket img{display:block;width:32px;height:32px;flex:none}
.distribution-card{padding:24px 22px 30px}.distribution-card h2{font-size:20px;line-height:25px}.remainder-total{display:block;margin-top:5px;font-size:28px;line-height:34px;font-weight:700}.how-counted{display:block;padding:0;margin-top:2px;color:#078b12;font-size:15px;line-height:20px;text-align:left}.allocation-heading{margin-top:26px;color:#a0a0a0;font-size:14px;font-weight:600;line-height:20px}.distribution-item{margin-top:16px}.distribution-item+.distribution-item{margin-top:34px}.distribution-label{display:flex;align-items:center;gap:14px;min-height:54px}.allocation-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;background:#f0f0f0;border-radius:14px}.allocation-icon img{display:block;width:44px;height:44px;object-fit:contain}.distribution-label>span:last-child strong{display:block;font-size:18px;line-height:23px;font-weight:600}.distribution-label small{display:block;margin-top:1px;color:#9b9f9b;font-size:14px;line-height:17px}

/* The app is always a fixed mobile viewport; longer screens scroll inside it. */
html,body{min-height:100%;height:100%;overscroll-behavior:none}
body{height:100dvh;padding:0;display:grid;place-items:center;overflow:hidden}
.phone{width:min(390px,calc((100dvh - 48px)*390/844));height:min(844px,calc(100dvh - 48px));aspect-ratio:390/844;min-height:0;max-height:100dvh;display:flex;flex-direction:column;border-radius:38px}
.phone>*{flex-shrink:0}
.phone>.content,.phone>form.content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.phone>.content::-webkit-scrollbar,.phone>form.content::-webkit-scrollbar{display:none}
.phone>.planner-content,.phone>.autopilot-content{min-height:0}
.phone>.home-search{flex-shrink:0}
.phone .home-indicator{flex-shrink:0}
dialog{position:fixed;inset:auto auto max(24px,calc((100dvh - min(844px,100dvh - 48px))/2));left:50%;transform:translateX(-50%);margin:0;width:min(390px,calc((100dvh - 48px)*390/844));max-height:min(78dvh,680px);overflow:auto;border-radius:28px 28px 22px 22px;padding:26px 24px max(26px,env(safe-area-inset-bottom));animation:sheet-in .22s ease-out}
dialog::before{content:"";display:block;width:38px;height:4px;border-radius:4px;background:#d9ded9;margin:-12px auto 18px}
dialog form{max-height:inherit}
dialog[open]::backdrop{animation:backdrop-in .18s ease-out}
@keyframes sheet-in{from{opacity:.7;translate:0 28px}to{opacity:1;translate:0 0}}
@keyframes backdrop-in{from{background:#10251b00;backdrop-filter:blur(0)}to{background:#10251b55;backdrop-filter:blur(5px)}}
@media(max-width:430px){
 body{display:block;height:100dvh;background:#f0f0f0}
 .phone{width:100%;height:100dvh;max-height:100dvh;aspect-ratio:auto;border-radius:0;box-shadow:none}
 .status-bar{padding-top:max(12px,env(safe-area-inset-top));height:calc(63px + max(0px,env(safe-area-inset-top)))}
 .content{padding-bottom:max(28px,env(safe-area-inset-bottom))}
 .phone>.planner-content,.phone>.autopilot-content{min-height:0}
 dialog{left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;max-height:min(86dvh,760px);padding:26px 20px max(28px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0}
}
@media(prefers-reduced-motion:reduce){dialog{animation:none!important}}
.phone.autopilot::before{display:none}.distribution-card{margin-left:-7px;margin-right:-7px;padding-bottom:62px}

/* Hotel cards form a touch and mouse draggable horizontal carousel. */
.hotel-section{width:100%;min-width:0}
.hotel-scroll{display:flex;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;cursor:grab}
.hotel-scroll:active{cursor:grabbing}
.hotel-scroll .hotel{scroll-snap-align:start;scroll-snap-stop:always;user-select:none}
.hotel-scroll img{-webkit-user-drag:none;user-select:none}

.phone.home{height:852px;min-height:0}.phone.home::before{display:none}.home-screen-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;user-select:none}
@media(max-width:430px){.phone.home{height:100svh;min-height:100svh}}

/* Let the entire screen, including the status bar and header, scroll as one surface. */
.phone{overflow-x:hidden;overflow-y:auto}
.phone>.content,.phone>form.content{flex:0 0 auto;overflow-y:visible;overscroll-behavior:initial}
.assistant-message{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(125deg,#ffffffef 22%,#f2fff9 66%,#d8fff0)}
.assistant-message::after{content:"";position:absolute;inset:-60% auto -60% -35%;width:26%;z-index:-1;background:linear-gradient(90deg,transparent,#ffffff99,transparent);transform:rotate(18deg);animation:ai-sheen 3.8s 1.4s ease-in-out infinite}
.ai-mark{position:relative;display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px}
.ai-mark .spark{filter:drop-shadow(0 0 8px #23b65c55);transform-origin:50% 50%}
.assistant-copy{flex:1;min-width:0}.ai-line{display:block;transform-origin:left center}
.ai-revealed .ai-line{color:transparent;background-image:linear-gradient(105deg,#101410 0%,#101410 39%,#45dc83 47%,#2dd9c7 52%,#101410 61%,#101410 100%);background-size:250% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;animation:ai-text-sweep 1.15s ease-in-out forwards}
@keyframes ai-text-sweep{0%{background-position:100% 50%;color:transparent}78%{background-position:0% 50%;color:transparent}100%{background-position:0% 50%;color:#101410}}
@keyframes ai-sheen{0%,30%{left:-35%;opacity:0}45%{opacity:.75}75%,100%{left:115%;opacity:0}}
@media(prefers-reduced-motion:reduce){.assistant-message::after{animation:none!important}}
.chat-thread{display:flex;flex-direction:column;gap:12px;max-height:min(48dvh,390px);overflow-y:auto;padding:2px 2px 10px;overscroll-behavior:contain;scrollbar-width:thin}
.chat-message{max-width:88%;padding:12px 14px;border-radius:18px;font-size:14px;line-height:20px;white-space:pre-wrap}
.chat-message.assistant{align-self:flex-start;background:#f0f5f0;border-bottom-left-radius:6px;color:#223126}
.chat-message.user{align-self:flex-end;background:linear-gradient(120deg,#e5f8e9,#ddfaf0);border-bottom-right-radius:6px}
.chat-compose{display:flex;align-items:center;gap:8px;margin-top:10px;padding:6px 6px 6px 14px;background:#f2f4f2;border:1px solid #e5e9e5;border-radius:18px}
.chat-compose input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:9px 0;font-size:14px}
.chat-send{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#078b12;color:white}.chat-send svg{transform:rotate(45deg)}

.home-screen{position:relative;width:100%;height:100%;min-height:0;flex:1 1 auto;overflow:hidden}.phone.home{height:min(844px,calc(100dvh - 48px));width:min(390px,calc((100dvh - 48px)*390/844));aspect-ratio:390/844;min-height:0;max-height:100dvh}.home-screen-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.home-salary-banner{position:absolute;top:15%;left:4%;width:92%;min-height:96px;padding:18px 20px;display:flex;align-items:center;gap:14px;border-radius:22px;background:#8db39d25;text-align:left;color:#101410}.home-salary-banner img{display:block;width:36px;height:37px;flex:0 0 36px}.home-salary-banner strong{display:block;font-size:16px;line-height:20px;margin-bottom:5px}.home-salary-banner small{display:block;color:#627c6e;font-size:13px;line-height:17px}
@media(max-width:430px){.phone.home{width:100%;height:100dvh;max-height:100dvh;aspect-ratio:auto;min-height:0}.home-salary-banner{top:15%;min-height:88px;padding:14px 16px;gap:12px}.home-salary-banner strong{font-size:15px}.home-salary-banner small{font-size:12px;line-height:16px}}

.hotel-rate:not(.direct){display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start}.hotel-rate:not(.direct)>div:first-child{min-width:0}.hotel-price{display:flex;flex-direction:column;align-items:flex-end;flex:none}.hotel-current{display:flex;align-items:center;gap:4px;white-space:nowrap}.hotel-current strong{font-size:16px;font-weight:600;white-space:nowrap}

.benefit img{width:24px;height:24px;flex:none}
html,body{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
.section-heading{width:100%;display:flex;align-items:center;gap:8px}.section-heading h2{min-width:0;flex:1 1 auto}.section-heading .plus{flex:0 0 27px;margin-left:auto}
.phone{scrollbar-width:none}.phone::-webkit-scrollbar{display:none;width:0;height:0}
.date-row strong{font-family:'SB Sans Display','SB Sans Text',Arial,sans-serif;font-weight:600}
.dates-dialog{background:#fff}.dates-dialog .dialog-head{margin-bottom:24px}.dates-dialog .dialog-head h2{font-size:22px;line-height:28px;font-family:'SB Sans Display','SB Sans Text',Arial,sans-serif;font-weight:600}.date-picker-fields{display:grid;gap:20px}.dates-dialog .dialog-label{margin:0;font-size:15px;line-height:20px;font-weight:500}.dates-dialog .dialog-label input[type=date]{display:block;width:100%;height:54px;margin-top:8px;padding:0 14px;border:1px solid #dce4dc;border-radius:14px;background:#f5f7f5;color:#101410;font:500 16px 'SB Sans Text',Arial,sans-serif}.dates-dialog .dialog-label input[type=date]::-webkit-calendar-picker-indicator{width:19px;height:19px;cursor:pointer;opacity:1}.dates-dialog .date-save{min-height:62px;margin-top:22px;border-radius:18px;font-family:'SB Sans Display','SB Sans Text',Arial,sans-serif;font-weight:600}
.phone>form.planner-content{flex:1 0 auto;min-height:calc(min(844px,100dvh - 48px) - 107px)}.planner-content>.primary{position:sticky;bottom:16px;z-index:2;margin-top:auto;box-shadow:0 8px 18px #078b1226}
@media(max-width:430px){.phone>form.planner-content{min-height:calc(100dvh - 107px - max(0px,env(safe-area-inset-top)))}.planner-content>.primary{bottom:max(16px,env(safe-area-inset-bottom))}}
.assistant-message{padding:16px 20px}.expense-link{display:block;width:max-content;margin-top:4px;padding:0;color:#078b12;font-size:16px;line-height:22px;font-weight:600;text-align:left}
.plus-glyph{position:relative;display:block;width:16px;height:16px}.plus-glyph::before,.plus-glyph::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;border-radius:2px;background:#101410;transform:translate(-50%,-50%)}.plus-glyph::after{transform:translate(-50%,-50%) rotate(90deg)}
.hotel-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.hotel-price del{order:0;display:block}.hotel-current{order:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}
.remainder-total{font-weight:600}
.distribution-label>span:last-child strong{font-family:'SB Sans Display','SB Sans Text',Arial,sans-serif;font-weight:600}
.transport .secondary{text-align:center}


.expense-link-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.expense-link{color:#078b12;font-size:16px;line-height:24px;font-weight:600}.expense-chevron{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;margin-right:-8px;border-radius:50%;color:#078b12;touch-action:manipulation}.expense-chevron:active{background:#078b1214}.phone.finance{padding:0;background:#f0f0f0}.finance-analysis-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;user-select:none;-webkit-user-drag:none}

.finance-screen{position:relative;flex:1 1 auto;width:100%;height:100%;min-height:0}.finance-analysis-image{position:absolute;inset:0}.finance-back-hotspot{position:absolute;z-index:2;top:5.5%;left:0;width:13%;height:7%;padding:0;border:0;border-radius:0;background:transparent;touch-action:manipulation}.finance-back-hotspot:focus-visible{outline:2px solid #078b12;outline-offset:-4px}

/* Keep the phone and carousel at the full viewport width, even with desktop scrollbars. */
html,body{width:100%;overflow-x:hidden}body{width:100vw}
.hotel-scroll{scroll-snap-type:x proximity;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.hotel-scroll .hotel{scroll-snap-stop:normal}
.phone>.autopilot-content{flex:1 0 auto;min-height:calc(min(844px,100dvh - 48px) - 107px)}
@media(max-width:430px){.phone>.autopilot-content{min-height:calc(100dvh - 107px - max(0px,env(safe-area-inset-top)));padding-bottom:max(32px,env(safe-area-inset-bottom))}}
/* Shared amount field: the track is centered on the field's bottom edge. */
.amount-slider{position:relative;height:54px;margin-top:16px;background:#f0f0f0;border-radius:5px 5px 0 0}
.amount-slider-value{display:flex;align-items:center;gap:5px;padding:15px 18px 0;font-size:16px;line-height:20px;font-weight:500}
.amount-slider-value input{width:7ch;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;appearance:textfield;-moz-appearance:textfield}
.amount-slider-value input::-webkit-inner-spin-button,.amount-slider-value input::-webkit-outer-spin-button{margin:0;appearance:none}
.amount-slider .range{--progress:0%;position:absolute;left:0;bottom:-17px;display:block;width:100%;height:34px;margin:0;padding:0;border:0;appearance:none;background:transparent;cursor:pointer;touch-action:pan-x}
.amount-slider .range::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,#3c8d46 var(--progress),#d9ddda var(--progress))}
.amount-slider .range::-webkit-slider-thumb{appearance:none;width:26px;height:26px;margin-top:-11.5px;border:3px solid #408c48;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #f5f5f5}
.amount-slider .range::-moz-range-track{height:3px;background:#d9ddda}
.amount-slider .range::-moz-range-progress{height:3px;background:#3c8d46}
.amount-slider .range::-moz-range-thumb{box-sizing:border-box;width:26px;height:26px;border:3px solid #408c48;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #f5f5f5}
/* iOS Safari: native date inputs ignore width and centre text; force a normal block box, left-aligned and vertically centred. */
dialog .dialog-label input[type=date]{-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;text-align:left}
dialog .dialog-label input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.25em;margin:0}
dialog .dialog-label input[type=date]::-webkit-datetime-edit{padding:0}
.dates-dialog .dialog-label input[type=date]{display:flex;align-items:center;height:54px;line-height:54px;padding:0 14px}
