
:root{
 --canvas:#f7f4ef;--surface:#fffdfa;--surface-2:#f3eee7;--line:#e9e2d9;--ink:#171b19;--muted:#6c736e;
 --sage:#dfe8d8;--olive:#58704d;--olive-deep:#42573c;--accent:#ff5a18;--accent-soft:#fee0cf;--blue-soft:#dfeaf2;--sand:#f0e5d7;--danger:#c65b4e;
 --shadow:0 12px 34px rgba(61,49,35,.07);--shadow-soft:0 5px 18px rgba(61,49,35,.045);--r-lg:27px;--r-md:21px;--r-sm:16px;--nav-h:84px;
 font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);overscroll-behavior:none}body{font-size:16px;letter-spacing:-.01em}.app-shell{max-width:520px;margin:0 auto;min-height:100dvh;padding:env(safe-area-inset-top) 0 calc(var(--nav-h) + env(safe-area-inset-bottom) + 26px);background:linear-gradient(180deg,#faf8f4,#f7f3ed);position:relative}button,input,select,textarea{font:inherit}.page{padding:18px}.home-page{padding-top:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin:5px 0 18px}.title-wrap h1{font-size:30px;line-height:1.08;margin:0;font-weight:650;letter-spacing:-.035em}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:650}.subtle{color:var(--muted)}.page-intro{font-size:13px;margin:-6px 2px 12px}
.icon-btn{width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.72);display:grid;place-items:center;box-shadow:var(--shadow-soft);color:var(--ink)}.icon-btn.flat{box-shadow:none;background:transparent;width:34px}.ico{width:23px;height:23px;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hero{height:220px;border-radius:0 0 36px 36px;margin:-18px -18px 0;position:relative;overflow:hidden;background:#e6ded2}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,252,247,.66) 0%,rgba(255,252,247,.25) 47%,rgba(247,244,239,.05) 67%,rgba(247,244,239,.93) 100%)}.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:62px;background:linear-gradient(180deg,transparent,var(--canvas))}.home-hero{height:244px;margin:0 -18px}.trip-title{position:absolute;z-index:3;left:22px;top:54px;border:0;background:none;padding:0;display:flex;align-items:center;gap:7px;font-size:31px;font-weight:650;letter-spacing:-.04em;color:var(--ink)}.trip-title svg{width:20px;height:20px}.hero-actions{position:absolute;z-index:3;right:18px;top:45px;display:flex;gap:9px}.hero-actions .icon-btn{background:rgba(255,255,255,.78);backdrop-filter:blur(12px)}.language{font-size:12px;font-weight:700}.home-main{margin-top:-30px;position:relative;z-index:4}
.card{background:rgba(255,253,250,.96);border:1px solid rgba(124,105,83,.09);border-radius:var(--r-lg);box-shadow:var(--shadow)}.card+.card{margin-top:16px}.destination-card{padding:18px}.destination-head{width:100%;border:0;background:none;padding:0;display:flex;align-items:center;justify-content:space-between;text-align:left;color:inherit}.destination-title{font-size:27px;font-weight:650;letter-spacing:-.04em;margin-top:4px}.chev-icon{width:25px;height:25px}.row{display:flex;align-items:center}.between{justify-content:space-between}.gap8{gap:8px}.gap12{gap:12px}.gap16{gap:16px}
.budget-focus{margin-top:14px;padding:14px 15px;background:linear-gradient(180deg,#fffdf9,#fcf8f2);border-radius:21px;border:1px solid #efe8de;display:grid;grid-template-columns:100px 1fr;align-items:center;gap:16px}.ring{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;position:relative}.ring:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:#fffdfa}.ring strong{z-index:1;font-size:21px;font-weight:620;color:var(--olive)}.big-money{font-size:38px;font-weight:650;letter-spacing:-.045em;margin:3px 0}.caption{font-size:12px;color:var(--muted)}.section-title{font-size:18px;margin:20px 2px 11px;font-weight:650}.home-cat-title{font-size:15px;margin-top:16px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.tile{background:#fffdfa;border:1px solid #ece6dd;border-radius:18px;min-width:0;padding:10px 7px;text-align:center;box-shadow:0 4px 14px rgba(70,55,37,.038)}.tile .ico-bubble{margin:0 auto 7px}.tile .name{font-size:11.5px;line-height:1.1;min-height:27px;display:grid;place-items:center}.tile .money{font-size:17px;font-weight:600;margin:4px 0 2px}.tile .planned{font-size:10.5px;color:var(--muted)}.mini-track{height:5px;background:#ece8e2;border-radius:9px;margin-top:7px;overflow:hidden}.mini-fill{height:100%;border-radius:9px}.ico-bubble{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:#253227}.ico-bubble.orange{background:var(--accent-soft)}.ico-bubble.blue{background:var(--blue-soft)}.ico-bubble.gray{background:#ecebea}
.expenses-card{padding:16px 18px}.expenses-card h2{font-size:18px;margin:0;font-weight:650}.link{color:var(--olive-deep);font-weight:600;background:none;border:0;padding:5px 0;display:flex;align-items:center;gap:3px}.link svg{width:16px;height:16px}.expense-row{position:relative;overflow:hidden;border-bottom:1px solid #eee8df}.expense-row:last-child{border-bottom:0}.expense-main{padding:10px 0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;background:var(--surface);position:relative;z-index:2;transition:transform .2s ease}.expense-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-meta{font-size:11.5px;color:var(--muted);margin-top:3px}.expense-amount{text-align:right;font-weight:620}.expense-date{font-size:11.5px;color:var(--muted);margin-top:3px}.swipe-delete{position:absolute;right:0;top:0;bottom:0;width:92px;background:var(--danger);color:#fff;display:grid;place-items:center;font-weight:650;border:0}.compact-list{padding-top:4px;padding-bottom:4px}
.coach{margin-top:16px;padding:16px 18px 18px;background:linear-gradient(135deg,#f0efe3,#f2eadc);border-radius:25px;border:1px solid rgba(112,118,81,.07);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.coach-label{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--olive);font-weight:700;margin-bottom:8px}.coach blockquote{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-style:italic;line-height:1.45;max-width:86%}.coach-leaf{position:absolute;right:22px;bottom:16px;color:#8da37e;font-size:44px;transform:rotate(-30deg);opacity:.65}
.nav{position:fixed;left:50%;bottom:calc(8px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 20px),500px);height:82px;background:rgba(255,255,255,.94);border:1px solid rgba(118,102,83,.07);border-radius:30px;box-shadow:0 16px 38px rgba(54,47,39,.13);display:grid;grid-template-columns:1fr 1fr 88px 1fr 1fr;align-items:center;z-index:50;backdrop-filter:blur(18px)}.nav button{height:100%;background:none;border:0;color:#6c726e;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10.5px}.nav button.active{color:var(--accent)}.nav svg{width:23px;height:23px}.fab{width:80px!important;height:80px!important;border-radius:50%!important;background:var(--accent)!important;color:white!important;align-self:end!important;margin-bottom:14px!important;box-shadow:0 11px 28px rgba(255,90,24,.32),0 0 0 6px #fff!important}.fab svg{width:35px!important;height:35px!important}
.list-card{padding:8px 16px}.dest-row{padding:13px 0;border-bottom:1px solid #eee8df;display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center}.dest-row:last-child{border-bottom:0}.dest-row.completed{opacity:.55;filter:saturate(.7)}.drag{color:#aaa9a5;font-size:20px;touch-action:none;cursor:grab}.dest-row.dragging{opacity:.45}.dest-info{border:0;background:none;text-align:left;padding:0;color:inherit}.dest-title-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.dest-info strong{font-size:16px;font-weight:620}.dest-info small{display:block;color:var(--muted);margin-top:3px}.status{font-size:10px;padding:3px 7px;border-radius:999px;background:#eef1ea;color:var(--olive-deep)}.status.active{background:#fff0e6;color:#b8552d}.status.completed{background:#efefed;color:#777}.switch{width:42px;height:25px;border:0;border-radius:999px;background:#d7d6d2;padding:3px;transition:.2s}.switch:before{content:"";display:block;width:19px;height:19px;border-radius:50%;background:white;box-shadow:0 1px 4px #9996;transition:.2s}.switch.on{background:var(--olive)}.switch.on:before{transform:translateX(17px)}.add-dest-btn{margin-top:13px;display:flex;justify-content:center;align-items:center;gap:7px}.add-dest-btn svg{width:18px;height:18px}
.summary{padding:17px;display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.summary .metric{min-width:0}.summary .metric+.metric{border-left:1px solid #e9e2d9;padding-left:11px}.metric b{display:block;font-size:21px;margin-top:4px;font-weight:620}.metric span{font-size:10.5px;color:var(--muted)}.accordion{padding:6px 18px}.acc-head{padding:13px 0;display:flex;justify-content:space-between;align-items:center}.acc-body{border-top:1px solid #eee8df;padding:4px 0 14px}.compact-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:11px 0;border-bottom:1px solid #eee8df}.compact-row:last-child{border-bottom:0}.amount-pair{text-align:right}.actual{font-weight:620}.planned-small{font-size:11px;color:var(--muted)}
.segment{display:flex;background:#ece7df;border-radius:14px;padding:3px;margin-bottom:16px}.segment button{flex:1;border:0;background:none;padding:9px;border-radius:11px;color:var(--muted)}.segment button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px #0000000c}.search{display:flex;gap:8px;margin-bottom:12px}.search input{flex:1}.field{width:100%;border:1px solid #e7dfd5;background:#fffdf9;border-radius:15px;padding:13px 14px;outline:none;color:var(--ink);font-size:15px}.field:focus{border-color:#cfc1ae;box-shadow:0 0 0 3px #eadfce70}.filters{display:flex;gap:7px;overflow:auto;padding-bottom:3px}.second-filter{margin-top:7px}.chip{border:1px solid #e3dbd0;background:#fffdfa;border-radius:999px;padding:8px 11px;white-space:nowrap;color:#5f625d;font-size:12px}.chip.active{background:#e8ede4;color:#384532;border-color:#d7e0d0}.date-group{margin:18px 0 7px;font-size:12px;color:#555c56;font-weight:650}
.sheet-backdrop{position:fixed;inset:0;background:#201d1845;z-index:90;display:flex;align-items:flex-end;justify-content:center;animation:fade .16s ease}.sheet{width:min(100%,520px);max-height:92dvh;overflow:auto;background:#faf7f2;border-radius:30px 30px 0 0;padding:10px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -16px 50px #0002;animation:up .25s ease}.grab{width:42px;height:5px;background:#d8d3cb;border-radius:5px;margin:3px auto 14px}.sheet h2{font-size:23px;margin:4px 0 18px;font-weight:650}.form-group{margin:13px 0}.form-group label{display:block;font-size:12.5px;font-weight:620;margin:0 0 7px;color:#50564f}.amount-editor{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:8px 0 2px}.amount-editor>span{font-size:18px;color:var(--muted);font-weight:620}.amount-input{font-size:42px;font-weight:620;text-align:center;border:0;background:transparent;width:210px;outline:none;letter-spacing:-.045em}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.category-choice{padding:9px 5px;border:1px solid #e7dfd5;border-radius:16px;background:#fffdfa;text-align:center}.category-choice.active{border-color:#e8a17d;background:#fff7f1}.category-choice .ico-bubble{margin:0 auto 5px;width:37px;height:37px}.category-choice span{font-size:10.5px}.primary{width:100%;border:0;border-radius:16px;padding:15px;background:var(--accent);color:white;font-weight:650;box-shadow:0 8px 18px rgba(245,102,43,.18);margin-top:4px}.secondary{width:100%;border:1px solid #e2d9cd;border-radius:16px;padding:14px;background:#fffdfa;color:var(--ink);font-weight:620;margin-top:9px}.danger{color:var(--danger)}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field-labels{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:10.5px;color:var(--muted);margin-top:4px;text-align:center}.money-field{position:relative}.money-field>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);z-index:2}.money-field .field{padding-left:28px}.budget-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.budget-entry{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;background:#fffdfa;border:1px solid #e9e2d8;border-radius:16px;padding:9px}.budget-entry .ico-bubble{grid-row:1/3;width:36px;height:36px}.budget-entry>span{font-size:11.5px}.budget-entry .money-field{grid-column:2}.sheet-section{margin-top:20px}.trip-list{display:grid;gap:8px}.trip-option{border:1px solid #e6ded4;background:#fffdfa;border-radius:17px;padding:14px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:inherit}.trip-option.active{border-color:#cfdcc8;background:#f4f8f1}.trip-option strong{display:block}.trip-option small{display:block;color:var(--muted);margin-top:4px}.trip-option svg{width:20px;height:20px}.empty{padding:28px;text-align:center;color:var(--muted)}.toast{position:fixed;z-index:120;left:50%;bottom:calc(105px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#252924;color:white;padding:11px 15px;border-radius:999px;box-shadow:var(--shadow);font-size:13px;animation:toast .2s ease}.hidden{display:none!important}
@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes up{from{transform:translateY(30px);opacity:.7}to{transform:none;opacity:1}}@keyframes toast{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:390px){.page{padding:14px}.home-page{padding-top:0}.home-hero{margin:0 -14px;height:232px}.trip-title{left:18px;top:48px;font-size:29px}.hero-actions{right:14px;top:40px}.home-main{margin-top:-27px}.destination-card{padding:15px}.budget-focus{grid-template-columns:86px 1fr;gap:10px}.ring{width:82px;height:82px}.ring:after{width:62px;height:62px}.big-money{font-size:34px}.tiles{gap:7px}.tile{padding:9px 4px}.tile .money{font-size:15.5px}.nav{width:calc(100% - 14px);grid-template-columns:1fr 1fr 80px 1fr 1fr}.fab{width:74px!important;height:74px!important}.summary{gap:7px;padding:14px}.summary .metric+.metric{padding-left:7px}.metric b{font-size:18px}.budget-entry-grid{grid-template-columns:1fr}}

/* V1.1 polish — motion, confirmation and completed destination clarity */
.page-enter{animation:pageIn .22s cubic-bezier(.22,.72,.31,1)}
@keyframes pageIn{from{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:none}}
button,.card,.field,.chip,.switch{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}
button:active{transform:scale(.985)}
.fab:active{transform:scale(.95)!important}
.expense-main{transition:transform .22s cubic-bezier(.22,.72,.31,1),background-color .6s ease}
.expense-row.new-expense .expense-main{animation:newExpense .9s ease}
@keyframes newExpense{0%{opacity:0;transform:translateY(-7px);background:#fff3e9}35%{opacity:1;transform:none;background:#fff3e9}100%{background:var(--surface)}}
.save-success{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;animation:successIn .22s ease}
.save-success strong{font-size:18px;font-weight:620}
.save-check{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#fff2e9;color:var(--accent);box-shadow:0 9px 25px rgba(245,102,43,.16);border:1px solid rgba(245,102,43,.12)}
.save-check-icon{width:34px;height:34px;stroke-width:2.2}
@keyframes successIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.dest-row.completed{opacity:.72;filter:saturate(.72)}
.dest-finance{margin-top:6px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.planned-inline{color:#8b8d88}
.dest-result{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-weight:620;font-size:10px}
.dest-result.under{background:#edf3e9;color:#58734f}
.dest-result.over{background:#fff0e8;color:#ad5b37}
.dest-result.neutral{background:#f0efec;color:#777975}
@media (prefers-reduced-motion:reduce){.page-enter,.expense-row.new-expense .expense-main,.save-success{animation:none!important}button,.card,.field,.chip,.switch,.expense-main{transition:none!important}}

/* V1.2 — refined expense entry */
.sheet-topline{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-bottom:4px}
.sheet-kicker{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.amount-section{padding:2px 0 8px;text-align:center}
.amount-section.invalid .amount-editor{border-color:rgba(198,91,78,.55);box-shadow:0 0 0 3px rgba(198,91,78,.09)}
.amount-editor{width:min(100%,340px);margin:0 auto;min-height:76px;border:1px solid transparent;border-radius:22px;display:flex;align-items:baseline;justify-content:center;gap:8px;padding:8px 14px 4px;transition:border-color .18s ease,box-shadow .18s ease}
.amount-editor>span{min-width:34px;text-align:right;font-size:24px;color:var(--ink);font-weight:520;letter-spacing:-.03em}
.amount-input{font-size:44px;font-weight:560;text-align:left;border:0;background:transparent;min-width:0;width:195px;outline:none;letter-spacing:-.05em;color:var(--ink)}
.currency-select{display:block;margin:2px auto 0;border:0;background:transparent;color:var(--muted);font-size:13px;line-height:1.2;padding:6px 28px 6px 8px;max-width:260px;text-align:center;text-align-last:center;outline:none}
.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.category-choice{min-width:0;padding:7px 2px 6px;border:1px solid transparent;border-radius:14px;background:transparent;text-align:center;color:var(--muted)}
.category-choice.active{border-color:rgba(255,90,24,.16);background:#fff7f1;color:var(--ink);box-shadow:0 3px 10px rgba(70,55,37,.035)}
.category-choice .ico-bubble{margin:0 auto 4px;width:31px;height:31px}
.category-choice .ico-bubble .ico{width:18px;height:18px}
.category-choice span{display:block;font-size:9px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.optional{font-weight:450;color:#9a9d98;margin-left:4px}
.location-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.location-button{height:45px;border:1px solid #e7dfd5;border-radius:15px;background:#fffdfa;color:var(--olive-deep);display:flex;align-items:center;gap:6px;padding:0 11px;font-size:11px;white-space:nowrap}
.location-button svg{width:17px;height:17px}
.location-button:disabled{opacity:.55}
.form-group.invalid>label{color:var(--danger)}
.field.invalid,.form-group.invalid .category-grid{border-color:rgba(198,91,78,.55)!important;box-shadow:0 0 0 3px rgba(198,91,78,.08)!important}
.form-group.invalid .category-grid{border:1px solid;border-radius:16px;padding:4px}
.field-error{margin-top:6px;color:var(--danger);font-size:11px;font-weight:620;animation:errorIn .16s ease}
@keyframes errorIn{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}
.sheet-save-row{display:flex;justify-content:flex-end;padding:10px 2px 4px}
.save-circle{width:54px;height:54px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(255,90,24,.23),0 0 0 5px rgba(255,255,255,.72)}
.save-circle:disabled{opacity:.48}
.save-circle-icon{width:25px;height:25px;stroke-width:2.1}
@media(max-width:390px){
 .sheet{padding-left:14px;padding-right:14px}
 .category-grid{gap:2px}
 .category-choice{padding-left:0;padding-right:0}
 .category-choice .ico-bubble{width:29px;height:29px}
 .category-choice span{font-size:8.2px}
 .location-button span{display:none}
 .location-button{width:45px;justify-content:center;padding:0}
 .amount-input{font-size:41px;width:175px}
}


/* V1.3 — expense entry visual refinement */
.amount-editor{align-items:center;gap:10px;padding-top:8px;padding-bottom:8px}
.amount-currency{position:relative;display:flex;align-items:center;justify-content:center;gap:3px;min-width:52px;height:52px;border-radius:16px;color:var(--ink);cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease}
.amount-currency:active{background:#f3eee7}
.amount-currency>span{font-size:27px;font-weight:520;line-height:1;letter-spacing:-.035em}
.amount-currency .currency-chevron{width:13px;height:13px;stroke-width:1.8;color:#8a8e88;transform:rotate(90deg)}
.amount-currency select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.amount-input{font-size:45px;font-weight:540;line-height:1;text-align:left;width:190px}
.currency-select{display:none!important}

.category-choice{padding-top:6px;padding-bottom:5px;border-radius:16px}
.category-choice .ico-bubble{width:39px;height:39px;margin-bottom:5px;box-shadow:inset 0 0 0 1px rgba(64,56,45,.025)}
.category-choice .ico-bubble .ico{width:20px;height:20px;stroke-width:1.7;display:block}
.ico-bubble.sage{background:#e1eadb;color:#4d6748}
.ico-bubble.sand{background:#f0e3d2;color:#86684c}
.ico-bubble.teal{background:#dce9e5;color:#4e6d65}
.ico-bubble.orange{background:#fde1d0;color:#a85f3f}
.ico-bubble.blue{background:#dfe8ef;color:#557083}
.ico-bubble.gray{background:#eceae7;color:#6f726d}
.category-choice.active{border-color:rgba(255,90,24,.13);background:#fffaf6;box-shadow:0 4px 13px rgba(70,55,37,.04)}
.category-choice.active .ico-bubble{box-shadow:0 3px 10px rgba(74,60,44,.07),inset 0 0 0 1px rgba(255,255,255,.45)}
/* optical centering for the varied line icons */
.category-choice .ico-utensils{transform:translateY(.3px)}
.category-choice .ico-bag{transform:translateY(.2px)}
.category-choice .ico-bed{transform:translateY(.5px)}
.category-choice .ico-tuktuk{transform:translateY(.5px)}
.category-choice .ico-ticket{transform:translateY(.2px)}

.sheet-save-row{justify-content:center;padding:18px 0 8px}
.save-circle{width:68px;height:68px;background:var(--accent);box-shadow:0 14px 30px rgba(255,90,24,.25),0 3px 8px rgba(76,54,35,.08),0 0 0 6px rgba(255,255,255,.76)}
.save-circle-icon{width:30px;height:30px;stroke-width:2;transform:none}
.save-circle:active{transform:scale(.96)}

@media(max-width:390px){
 .amount-currency{min-width:48px;height:48px}
 .amount-currency>span{font-size:25px}
 .amount-input{font-size:42px;width:168px}
 .category-choice .ico-bubble{width:37px;height:37px}
 .category-choice .ico-bubble .ico{width:19px;height:19px}
 .category-choice span{font-size:8.4px}
}

/* =========================================================
   TravelHub — Frozen Glass Design / 2026-08-08
   This section intentionally overrides the earlier calm skin.
   ========================================================= */
:root{
  --canvas:#eef5f7;
  --ink:#102b47;
  --ink-2:#244462;
  --muted:#58708a;
  --glass:rgba(255,255,255,.56);
  --glass-strong:rgba(255,255,255,.72);
  --glass-line:rgba(255,255,255,.84);
  --glass-shadow:0 18px 48px rgba(50,76,101,.12), inset 0 1px 0 rgba(255,255,255,.92);
  --glass-shadow-soft:0 9px 24px rgba(62,82,100,.08), inset 0 1px 0 rgba(255,255,255,.82);
  --accent:#ff731c;
  --accent-2:#ff9b3b;
  --good:#2c8b65;
  --danger:#d95c58;
  --blue:#55baf2;
  --purple:#b765e8;
  --teal:#43c8b5;
  --sage:#8fd2a6;
  --amber:#ffbd47;
  --nav-h:82px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
html,body{background:#edf5f7;color:var(--ink);font-weight:400}
body{letter-spacing:-.015em}
button,input,select,textarea{font-family:inherit;color:inherit}
.app-shell{max-width:430px;background:
  radial-gradient(circle at 10% 52%,rgba(109,213,242,.16),transparent 32%),
  radial-gradient(circle at 95% 58%,rgba(255,177,104,.22),transparent 36%),
  linear-gradient(180deg,#eef5f7 0%,#f7f0ea 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.7);overflow:hidden}
.page{padding:0 18px 20px;min-height:100dvh}
.glass-page{position:relative}
.glass-page:before{content:"";position:fixed;inset:0;max-width:430px;margin:auto;pointer-events:none;background:radial-gradient(circle at 5% 70%,rgba(102,207,245,.16),transparent 35%),radial-gradient(circle at 96% 65%,rgba(255,164,87,.18),transparent 37%);z-index:0}
.glass-page>*{position:relative;z-index:1}

/* hero */
.hero.glass-hero{height:292px;margin:0 -18px;border-radius:0;background-image:none;background-position:center top;background-size:cover;overflow:hidden}
.hero.glass-hero:before{background:linear-gradient(180deg,rgba(45,65,85,.08) 0%,rgba(255,205,172,.13) 36%,rgba(245,248,249,.16) 62%,rgba(238,245,247,.96) 100%)}
.hero.glass-hero:after{height:115px;background:linear-gradient(180deg,rgba(238,245,247,0),rgba(238,245,247,.97) 78%,rgba(238,245,247,1))}
.hero-nav{position:absolute;z-index:4;top:calc(30px + env(safe-area-inset-top));left:28px;right:28px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center}
.hero-trip{justify-self:start;border:0;background:none;color:white;text-shadow:0 1px 8px rgba(20,36,51,.35);display:flex;align-items:center;gap:9px;font-size:26px;font-weight:520;letter-spacing:-.035em;padding:0}
.hero-trip svg{width:20px;height:20px;stroke-width:2}
.hero-nav.centered .hero-trip,.hero-trip.center-trip{justify-self:center}
.glass-icon-btn{width:42px;height:42px;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:rgba(255,255,255,.22);color:white;display:grid;place-items:center;backdrop-filter:blur(15px) saturate(145%);-webkit-backdrop-filter:blur(15px) saturate(145%);box-shadow:0 7px 22px rgba(39,55,69,.12), inset 0 1px 0 rgba(255,255,255,.55)}
.glass-icon-btn svg{width:22px;height:22px}
.hero-bell{justify-self:end;position:relative}
.hero-bell i{position:absolute;right:2px;top:2px;width:8px;height:8px;background:var(--accent);border:2px solid rgba(255,255,255,.9);border-radius:50%}
.hero-day{position:absolute;z-index:4;top:calc(76px + env(safe-area-inset-top));left:29px;color:rgba(255,255,255,.92);font-size:16px;text-shadow:0 1px 7px rgba(18,38,54,.28)}
.hero-page-copy{position:absolute;z-index:4;left:28px;right:28px;bottom:58px;color:white;text-shadow:0 1px 8px rgba(20,36,51,.28)}
.hero-page-copy h1{font-size:31px;font-weight:590;letter-spacing:-.04em;margin:0 0 8px}
.hero-page-copy p{font-size:16px;margin:0;color:rgba(255,255,255,.92)}
.home-main,.page-over-hero{margin-top:-46px;position:relative;z-index:4}
.page-over-hero{padding-bottom:10px}

/* glass primitives */
.card.glass-card,.glass-card{background:linear-gradient(135deg,rgba(255,255,255,.64),rgba(255,255,255,.42));border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);border-radius:28px}
.card.glass-card:before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,rgba(120,190,255,.05),transparent 42%,rgba(255,177,99,.08));mix-blend-mode:multiply}
.card.glass-card{position:relative;overflow:hidden}
.glass-inner{background:linear-gradient(120deg,rgba(255,255,255,.52),rgba(250,247,255,.34),rgba(255,243,234,.33));border:1px solid rgba(255,255,255,.76);box-shadow:var(--glass-shadow-soft);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}

/* home */
.destination-card{padding:20px 18px 18px}
.destination-head{position:relative;z-index:2}
.destination-title-row{display:flex;align-items:center;gap:10px}
.destination-title{font-size:25px;font-weight:590;color:var(--ink);letter-spacing:-.035em}
.destination-title-row .ico-bubble{width:38px;height:38px}
.budget-focus{position:relative;z-index:2;margin-top:16px;padding:19px 20px;border-radius:25px;grid-template-columns:116px 1fr;gap:19px}
.glass-ring{width:106px;height:106px;box-shadow:0 0 22px rgba(150,151,255,.15)}
.glass-ring:after{width:82px;height:82px;background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(244,242,255,.72));box-shadow:inset 0 1px 8px rgba(85,105,135,.08)}
.glass-ring strong{font-size:25px;color:var(--ink);font-weight:550;transform:translateY(-5px)}
.glass-ring span{position:absolute;z-index:2;margin-top:31px;font-size:11px;color:var(--muted)}
.big-money{font-size:37px;font-weight:540;color:var(--ink);letter-spacing:-.05em}
.subtle{color:var(--muted);font-size:13px}
.home-cat-title{font-size:16px;font-weight:520;margin:19px 2px 11px;color:var(--ink)}
.six-tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.tile{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.50),rgba(255,255,255,.28));border:1px solid rgba(255,255,255,.76)!important;border-radius:20px;padding:9px 3px 10px;box-shadow:0 8px 19px rgba(56,80,102,.055),inset 0 1px 0 rgba(255,255,255,.9)}
.tile .ico-bubble{width:39px;height:39px;margin-bottom:6px;box-shadow:0 5px 14px rgba(75,92,115,.13),inset 0 1px 0 rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.75)}
.tile .ico-bubble svg{width:19px;height:19px;stroke-width:1.8}
.tile .name{font-size:8.6px;min-height:22px;line-height:1.04;color:var(--ink);font-weight:500;letter-spacing:-.02em}
.tile .money{font-size:14px;font-weight:560;margin:4px 0 1px;color:var(--ink)}
.tile .planned{font-size:8.4px;color:var(--muted)}
.tile .mini-track{display:none}
.ico-bubble{border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);color:white}
.ico-bubble.orange{background:linear-gradient(145deg,#ffb06b,#ff7b21)}
.ico-bubble.sage{background:linear-gradient(145deg,#b9e2c8,#75c494)}
.ico-bubble.purple{background:linear-gradient(145deg,#d9a9f4,#a654df)}
.ico-bubble.blue{background:linear-gradient(145deg,#9ed9fb,#52b5ee)}
.ico-bubble.teal{background:linear-gradient(145deg,#8ce1d4,#3cc7b4)}
.ico-bubble.amber{background:linear-gradient(145deg,#ffd888,#ffb33a)}
.ico-bubble.pearl{background:rgba(255,255,255,.48);color:#597394}

.expenses-card{padding:16px 17px}
.expenses-card h2{font-weight:550;font-size:17px;color:var(--ink)}
.blue-link{color:#167d9f;font-size:12px;font-weight:530}
.expense-row{border-bottom:1px solid rgba(68,92,114,.10)}
.expense-main{background:transparent;padding:10px 0;grid-template-columns:38px minmax(0,1fr) auto;gap:10px}
.expense-main .ico-bubble{width:36px;height:36px}
.expense-main .ico-bubble svg{width:18px;height:18px}
.expense-name{font-weight:540;font-size:14.5px;color:var(--ink)}
.expense-meta,.expense-date{color:var(--muted);font-size:10.5px}
.expense-amount{font-size:14px;font-weight:560;color:var(--ink)}
.glass-coach{background:linear-gradient(105deg,rgba(217,239,255,.44),rgba(248,236,255,.42),rgba(255,217,174,.52));border:1px solid rgba(255,255,255,.84);box-shadow:var(--glass-shadow-soft);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:16px 17px 17px 76px;min-height:92px;display:flex;flex-direction:column;justify-content:center}
.glass-coach blockquote{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;color:#24425d;font-size:15.5px;line-height:1.35;max-width:86%}
.glass-coach small{color:#5a7590;margin-top:5px}
.coach-orb{position:absolute;left:15px;top:18px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(255,219,205,.50));border:1px solid rgba(255,255,255,.88);box-shadow:0 5px 15px rgba(92,94,130,.10);color:#c6947f;font-size:24px}
.coach-art{position:absolute;right:18px;bottom:6px;font-size:54px;color:#e0a26f;opacity:.28}

/* nav */
.nav.glass-nav{height:78px;width:min(calc(100% - 26px),404px);bottom:calc(9px + env(safe-area-inset-bottom));background:linear-gradient(120deg,rgba(255,255,255,.72),rgba(255,255,255,.55));border:1px solid rgba(255,255,255,.86);border-radius:29px;box-shadow:0 14px 34px rgba(41,63,82,.14),inset 0 1px 0 rgba(255,255,255,.92);backdrop-filter:blur(26px) saturate(130%);-webkit-backdrop-filter:blur(26px) saturate(130%);grid-template-columns:1fr 1fr 82px 1fr 1fr}
.nav.glass-nav button{font-size:10px;color:#62758a;font-weight:480}
.nav.glass-nav button.active{color:var(--accent)}
.nav.glass-nav .fab{width:74px!important;height:74px!important;margin-bottom:14px!important;background:linear-gradient(145deg,#ff9d3c,#ff6c12)!important;border:1px solid rgba(255,255,255,.75)!important;box-shadow:0 14px 25px rgba(255,109,19,.29),inset 0 2px 2px rgba(255,255,255,.42),0 0 0 5px rgba(255,255,255,.66)!important}
.nav.glass-nav .fab svg{width:31px!important;height:31px!important;stroke-width:1.8}

/* destinations / route */
.route-card{padding:6px 14px}
.dest-row{grid-template-columns:20px 48px minmax(0,1fr) auto;gap:8px;padding:12px 0;border-bottom:1px solid rgba(66,91,116,.10)}
.dest-row.completed{opacity:.66;filter:saturate(.65)}
.dest-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.80),rgba(188,225,246,.65));border:1px solid rgba(255,255,255,.85);box-shadow:0 5px 16px rgba(57,83,106,.10);color:#56718d;font-size:12px;font-weight:600}
.tone-active{background:linear-gradient(145deg,#a9e5d7,#5bcab7);color:white}.tone-completed{background:linear-gradient(145deg,#dedfdf,#b9c0c3);color:white}.tone-planned{background:linear-gradient(145deg,#ffd7b9,#ffa364);color:white}
.dest-info strong{font-size:15px;color:var(--ink);font-weight:570}.dest-info small{font-size:10.5px;color:var(--muted)}
.dest-controls{display:flex;align-items:center;gap:2px}.switch.on{background:linear-gradient(90deg,#41b796,#64c8aa)}
.status{border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 rgba(255,255,255,.75);background:rgba(255,255,255,.47)}
.status.active{background:rgba(85,199,170,.16);color:#238467}.status.completed{background:rgba(150,156,160,.16);color:#69747a}.status.planned{background:rgba(255,143,61,.13);color:#dc6d22}
.dest-finance{font-size:9.5px}.dest-result{font-size:9px;background:rgba(255,255,255,.48)!important}
.glass-add{width:100%;margin:12px 0;border:1px solid rgba(255,255,255,.84);background:rgba(255,255,255,.44);backdrop-filter:blur(15px);border-radius:18px;padding:12px;color:var(--accent);display:flex;justify-content:center;align-items:center;gap:7px;box-shadow:var(--glass-shadow-soft)}
.glass-add svg{width:17px;height:17px}
.route-summary{padding:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.route-summary div{text-align:center;border-right:1px solid rgba(70,92,110,.10)}.route-summary div:last-child{border:0}.route-summary span{display:block;color:var(--muted);font-size:8.5px}.route-summary b{display:block;font-size:13px;margin-top:4px;font-weight:570}

/* budget */
.budget-page-main{padding-bottom:8px}.budget-total{padding:21px 18px 16px;position:relative}.budget-gear{position:absolute;right:13px;top:12px;color:#688099;background:rgba(255,255,255,.40);width:36px;height:36px}
.budget-metrics{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:4px;margin-top:10px}.budget-metrics>div{text-align:center;padding:7px 6px;border-right:1px solid rgba(65,93,117,.10)}.budget-metrics>div:last-child{border:0}.budget-metrics span{display:block;font-size:10px;color:var(--muted)}.budget-metrics b{display:block;margin-top:6px;font-size:18px;font-weight:560}.budget-metrics .accent-metric b{font-size:25px;color:#ef7528}
.forecast{margin-top:14px;border-radius:16px;padding:9px 12px;display:flex;align-items:center;justify-content:center;gap:7px;background:rgba(255,255,255,.34);font-size:11.5px}.forecast svg{width:17px;height:17px}.forecast.good{color:#278463}.forecast.warn{color:#b85b42}
.glass-section-head{display:flex;align-items:center;justify-content:space-between;margin:19px 4px 9px}.glass-section-head h2{font-size:16px;margin:0;font-weight:550;color:var(--ink)}
.budget-list{padding:3px 14px}.budget-row{width:100%;display:grid;grid-template-columns:39px minmax(90px,1.3fr) .9fr .9fr 1.15fr;gap:7px;align-items:center;border:0;border-bottom:1px solid rgba(70,93,116,.10);background:transparent;padding:10px 0;text-align:left}.budget-row:last-child{border:0}.budget-row small{display:block;color:var(--muted);font-size:8.4px}.budget-row b{display:block;font-size:11px;font-weight:560;margin-top:2px}.budget-row-name b{font-size:12.5px}.mini-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d9ecfa,#f7daca);border:1px solid rgba(255,255,255,.85);color:#5c7890;font-size:10px}.delta{text-align:left;border-radius:12px;padding:4px 5px}.delta.under{color:#25835f;background:rgba(75,178,139,.08)}.delta.over{color:#d45d4a;background:rgba(225,101,79,.08)}
.compact-glass-list{padding:3px 15px}.glass-cost-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(66,91,115,.10)}.glass-cost-row:last-child{border-bottom:0}.glass-cost-row .ico-bubble{width:36px;height:36px}.glass-cost-row .ico-bubble svg{width:18px;height:18px}.glass-cost-row b{display:block;font-size:13px;font-weight:550}.glass-cost-row small{display:block;color:var(--muted);font-size:9.5px;margin-top:2px}.cost-values{text-align:right}

/* expense browser */
.expense-browser{padding:20px 16px 16px}.expense-browser h1{font-size:28px;font-weight:590;letter-spacing:-.04em;margin:0 0 14px}.glass-search{height:50px;border-radius:22px;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.38);display:flex;align-items:center;gap:9px;padding:0 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.70)}.glass-search svg{width:21px;height:21px;color:#71869c}.glass-search input{flex:1;border:0;outline:0;background:transparent;font-size:15px;color:var(--ink)}.glass-search input::placeholder{color:#91a0b0}
.filter-selects{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.filter-selects label{height:42px;border-radius:18px;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.34);display:flex;align-items:center;padding:0 10px;gap:6px}.filter-selects svg{width:17px;height:17px;color:#597694}.filter-selects select{min-width:0;flex:1;border:0;background:transparent;outline:0;font-size:11px;color:var(--ink)}.glass-date{font-size:15px;color:var(--ink);margin:16px 4px 7px;font-weight:540}

/* settings */
.settings-main{padding-bottom:8px}.settings-card{padding:3px 14px}.settings-row{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto 20px;align-items:center;gap:9px;border:0;border-bottom:1px solid rgba(67,91,114,.10);background:transparent;padding:10px 0;text-align:left}.settings-row:last-child{border:0}.settings-row .ico-bubble{width:36px;height:36px}.settings-row .ico-bubble svg{width:17px;height:17px}.settings-row b{font-size:14px;font-weight:550}.settings-row>.ico{width:17px;height:17px;color:#678099}.settings-value{color:var(--muted);font-size:11.5px;text-align:right}

/* generic destination detail accordion */
.accordion{padding:5px 16px}.acc-head{font-weight:550}.acc-body{border-top:1px solid rgba(62,89,112,.10)}

/* bottom sheets */
.sheet-backdrop{background:rgba(31,44,57,.24);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.sheet{background:linear-gradient(145deg,rgba(247,251,252,.93),rgba(250,242,236,.93));border:1px solid rgba(255,255,255,.88);box-shadow:0 -22px 60px rgba(30,51,68,.22);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);color:var(--ink)}
.sheet .field,.sheet .money-field .field{background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.68)}
.primary{background:linear-gradient(145deg,#ff9635,#ff6e16);box-shadow:0 10px 24px rgba(255,111,21,.20)}
.secondary{background:rgba(255,255,255,.52);border-color:rgba(255,255,255,.84)}

/* full-screen new expense */
.expense-backdrop{align-items:stretch;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.expense-sheet{width:min(100%,430px);max-height:none;height:100dvh;border-radius:0;padding:0 18px calc(22px + env(safe-area-inset-bottom));background:
 linear-gradient(180deg,rgba(240,217,218,.04),rgba(237,245,248,.92) 23%,rgba(243,246,247,.96) 70%,rgba(248,238,229,.97));box-shadow:none;overflow:auto}
.expense-sheet>.grab{display:none}.expense-modal-head{height:126px;padding-top:calc(28px + env(safe-area-inset-top));display:grid;grid-template-columns:44px 1fr 44px;align-items:start}.expense-modal-head .glass-icon-btn{color:white}.expense-trip{justify-self:center;border:0;background:transparent;color:white;display:flex;align-items:center;gap:8px;font-size:22px;font-weight:520;text-shadow:0 1px 8px rgba(30,48,64,.32);padding-top:8px}.expense-trip svg{width:18px;height:18px}
.expense-sheet .amount-section{margin:0 14px 13px;min-height:115px;border-radius:28px;padding:18px 12px;display:flex;align-items:center;justify-content:center}.expense-sheet .amount-editor{width:100%;min-height:74px}.amount-currency{min-width:76px;height:60px;border-radius:24px;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.amount-currency>span{font-size:30px;font-weight:450}.amount-input{font-size:54px;font-weight:430;color:var(--ink);width:205px;letter-spacing:-.055em}
.category-shell{padding:13px 9px;margin:0 0 12px!important;border-radius:27px}.category-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.category-choice{border:0!important;background:transparent!important;box-shadow:none!important;padding:3px 0 5px}.category-choice .ico-bubble{width:47px;height:47px;margin-bottom:7px;box-shadow:0 7px 17px rgba(55,78,101,.16),inset 0 1px 0 rgba(255,255,255,.75)}.category-choice .ico-bubble .ico{width:21px;height:21px}.category-choice span{font-size:8.5px;color:var(--ink);font-weight:500;white-space:normal;line-height:1.05}.category-choice.active .ico-bubble{outline:3px solid rgba(255,255,255,.58);box-shadow:0 8px 20px rgba(67,83,107,.20),0 0 0 2px rgba(103,151,201,.16)}
.glass-form{padding:5px 14px;margin:0;border-radius:27px}.glass-field-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:9px 0;margin:0;border-bottom:1px solid rgba(70,93,116,.09)}.glass-field-row:last-child{border:0}.glass-field-row>label{margin:0!important;font-size:11px!important;font-weight:500!important;color:#62809c!important}.glass-field-row label small{font-weight:400;color:#91a1b0;margin-left:4px}.field-orb{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.84);color:#557698;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}.field-orb svg{width:19px;height:19px}.field-orb.purple{color:#a45add;background:rgba(234,215,251,.48)}.ghost-field{display:block;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:3px 0!important;font-size:15px!important;color:var(--ink)!important;height:auto}.location-row{grid-template-columns:1fr auto}.location-button{height:34px;background:rgba(255,255,255,.42);border-color:rgba(255,255,255,.82);border-radius:14px;color:#577690;font-size:9.5px}.sheet-save-row{padding:17px 0 8px}.save-circle{width:75px;height:75px;background:linear-gradient(145deg,#ff9f3d,#ff6f16);border:1px solid rgba(255,255,255,.72);box-shadow:0 15px 28px rgba(255,112,20,.28),inset 0 2px 2px rgba(255,255,255,.42),0 0 0 5px rgba(255,255,255,.54)}.save-circle-icon{width:32px;height:32px}.text-delete{display:block;margin:2px auto 8px;border:0;background:none;color:var(--danger);font-size:12px}
.expense-sheet .field-error{font-size:10px;margin-top:3px;color:#d95755}.expense-sheet .invalid{outline:none!important}.expense-sheet .form-group.invalid{border-radius:15px;background:rgba(235,89,86,.07);padding-left:5px;padding-right:5px}.expense-sheet .amount-section.invalid{box-shadow:0 0 0 2px rgba(221,84,81,.25),var(--glass-shadow)}

/* confirmation */
.save-success{height:65dvh}.save-check{width:84px;height:84px;background:linear-gradient(145deg,#ff9f3d,#ff6f16);color:white;border:1px solid rgba(255,255,255,.7);box-shadow:0 15px 32px rgba(255,111,19,.28),0 0 0 7px rgba(255,255,255,.50)}.save-success strong{font-weight:520;color:var(--ink)}

/* form polish */
.money-field>span{color:#58728c}.budget-entry{background:rgba(255,255,255,.45);border-color:rgba(255,255,255,.82)}
.trip-option{background:rgba(255,255,255,.48);border-color:rgba(255,255,255,.82)}.trip-option.active{background:rgba(200,237,227,.40);border-color:rgba(255,255,255,.92)}
.toast{background:rgba(18,40,59,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

@media(max-width:390px){
 .page{padding-left:14px;padding-right:14px}.hero.glass-hero{margin-left:-14px;margin-right:-14px;height:276px}.hero-nav{left:21px;right:21px}.hero-page-copy{left:22px;right:22px}.home-main,.page-over-hero{margin-top:-42px}
 .six-tiles{gap:4px}.tile{padding-left:1px;padding-right:1px;border-radius:17px}.tile .ico-bubble{width:35px;height:35px}.tile .name{font-size:7.7px}.tile .money{font-size:12.4px}.tile .planned{font-size:7.5px}
 .budget-focus{grid-template-columns:98px 1fr;padding:16px 14px;gap:12px}.glass-ring{width:92px;height:92px}.glass-ring:after{width:70px;height:70px}.big-money{font-size:32px}
 .budget-row{grid-template-columns:34px minmax(78px,1.2fr) .82fr .82fr 1.05fr;gap:4px}.budget-row b{font-size:9.6px}.budget-row-name b{font-size:11.6px}.budget-row small{font-size:7.5px}
 .route-summary{gap:3px}.route-summary b{font-size:11px}
 .category-choice .ico-bubble{width:43px;height:43px}.category-choice span{font-size:7.5px}.amount-input{font-size:49px;width:185px}.amount-currency{min-width:68px}
}

/* Home freeze polish — 2026-08-08 */
.home-page .hero-nav.centered .hero-trip{justify-self:center;text-align:center}
.home-page .hero-day.centered{left:50%;right:auto;transform:translateX(-50%);text-align:center;white-space:nowrap}
.home-page .hero.glass-hero:before{background:linear-gradient(180deg,rgba(38,59,78,.02) 0%,rgba(255,205,172,.06) 38%,rgba(245,248,249,.08) 61%,rgba(238,245,247,.90) 100%)}
.budget-focus-button{width:100%;border:0;color:inherit;text-align:left;cursor:pointer;position:relative}
.budget-focus-copy{min-width:0}
.budget-detail-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#7690a4;opacity:.72}
/* Six fixed categories: two calm rows of three on phone, so labels never get squeezed. */
.six-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.tile{padding:11px 7px 12px;min-height:116px}
.tile .ico-bubble{width:42px;height:42px}
.tile .name{font-size:11px;line-height:1.12;min-height:25px;padding:0 2px}
.tile .money{font-size:16px;margin-top:5px}
.tile .planned{font-size:10px}
.glass-coach{padding:17px 19px 18px;min-height:84px}
.glass-coach blockquote{max-width:100%;font-size:15.5px}
.glass-coach small{margin-left:2px}
.home-empty{padding:18px 2px 10px;color:var(--muted);font-size:13px}

/* Explanations behind Home budget numbers */
.sheet-head-simple{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:2px 0 18px}
.sheet-head-simple h2{margin:4px 0 0;font-size:23px;line-height:1.12;font-weight:560;letter-spacing:-.035em}
.sheet-head-simple .ico-bubble{width:42px;height:42px}
.breakdown-total{font-size:38px;font-weight:520;letter-spacing:-.045em;color:var(--ink);padding:17px 18px;margin-bottom:13px;border-radius:24px;background:linear-gradient(120deg,rgba(255,255,255,.58),rgba(248,241,255,.38),rgba(255,239,225,.40));border:1px solid rgba(255,255,255,.82);box-shadow:var(--glass-shadow-soft)}
.breakdown-total small{display:block;font-size:12px;font-weight:450;letter-spacing:-.01em;color:var(--muted);margin-top:5px}
.breakdown-list{border-radius:22px;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.78);padding:2px 15px}
.breakdown-list>div{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(70,93,116,.09)}
.breakdown-list>div:last-child{border-bottom:0}
.breakdown-list span{font-size:13px;color:var(--muted)}
.breakdown-list b{font-size:14px;font-weight:560;white-space:nowrap}
.breakdown-note{font-size:12px;line-height:1.45;color:var(--muted);margin:13px 3px 2px}

@media(max-width:390px){
 .six-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .tile{padding:10px 5px 11px;border-radius:19px;min-height:112px}
 .tile .ico-bubble{width:40px;height:40px}
 .tile .name{font-size:10.5px;line-height:1.1;min-height:24px}
 .tile .money{font-size:15.5px}
 .tile .planned{font-size:9.5px}
}

/* Home fold-fit — 2026-08-08
   Goal: on an iPhone the complete hero, primary daily amount and all six
   category tiles form one deliberate first screen. Scrolling starts at
   Latest expenses. */
.home-page .home-fold{
  min-height:100svh;
  padding-bottom:calc(96px + env(safe-area-inset-bottom));
  display:flex;
  flex-direction:column;
}
.home-page .home-fold .home-main{flex:0 0 auto}
.home-page .home-after-fold{position:relative;z-index:4}
.home-page .home-after-fold .expenses-card{margin-top:0}
/* The tiles are explanatory links now, so the secondary "van €…" line is
   deliberately omitted on Home; the exact calculation is one tap away. */
.home-page .six-tiles .planned{display:none}
.home-page .six-tiles .tile{min-height:96px;padding-top:9px;padding-bottom:9px}
.home-page .six-tiles .tile .name{min-height:24px}
.home-page .six-tiles .tile .money{margin-top:4px}

/* Medium-height iPhones / Safari with browser chrome visible. */
@media (max-height:780px){
  .home-page .hero.glass-hero{height:236px}
  .home-page .home-main{margin-top:-38px}
  .home-page .destination-card{padding:14px 14px 13px;border-radius:24px}
  .home-page .destination-title{font-size:22px}
  .home-page .destination-title-row .ico-bubble{width:34px;height:34px}
  .home-page .budget-focus{margin-top:10px;padding:11px 13px;grid-template-columns:82px 1fr;gap:12px;border-radius:21px}
  .home-page .glass-ring{width:78px;height:78px}
  .home-page .glass-ring:after{width:58px;height:58px}
  .home-page .glass-ring strong{font-size:20px;transform:translateY(-4px)}
  .home-page .glass-ring span{font-size:9px;margin-top:25px}
  .home-page .big-money{font-size:31px}
  .home-page .subtle{font-size:11.5px}
  .home-page .home-cat-title{font-size:14px;margin:11px 2px 8px}
  .home-page .six-tiles{gap:7px}
  .home-page .six-tiles .tile{min-height:82px;padding:7px 5px 7px;border-radius:17px}
  .home-page .six-tiles .tile .ico-bubble{width:34px;height:34px;margin-bottom:4px}
  .home-page .six-tiles .tile .ico-bubble svg{width:17px;height:17px}
  .home-page .six-tiles .tile .name{font-size:9.5px;line-height:1.04;min-height:20px}
  .home-page .six-tiles .tile .money{font-size:14.5px;margin-top:3px}
}

/* Short viewport: compact further rather than allowing the last category row
   to disappear behind the floating navigation. */
@media (max-height:690px){
  .home-page .hero.glass-hero{height:214px}
  .home-page .hero-nav{top:calc(22px + env(safe-area-inset-top))}
  .home-page .hero-trip{font-size:23px}
  .home-page .hero-day{top:calc(62px + env(safe-area-inset-top));font-size:14px}
  .home-page .home-main{margin-top:-34px}
  .home-page .destination-card{padding:12px 12px 11px}
  .home-page .destination-title{font-size:20px}
  .home-page .destination-title-row .ico-bubble{width:31px;height:31px}
  .home-page .budget-focus{margin-top:8px;padding:9px 11px;grid-template-columns:70px 1fr;gap:10px}
  .home-page .glass-ring{width:66px;height:66px}
  .home-page .glass-ring:after{width:49px;height:49px}
  .home-page .glass-ring strong{font-size:18px}
  .home-page .glass-ring span{font-size:8px;margin-top:21px}
  .home-page .big-money{font-size:28px;margin:1px 0}
  .home-page .subtle{font-size:10.5px}
  .home-page .home-cat-title{font-size:13px;margin:8px 2px 6px}
  .home-page .six-tiles{gap:6px}
  .home-page .six-tiles .tile{min-height:72px;padding:5px 4px 6px;border-radius:16px}
  .home-page .six-tiles .tile .ico-bubble{width:29px;height:29px;margin-bottom:3px}
  .home-page .six-tiles .tile .ico-bubble svg{width:15px;height:15px}
  .home-page .six-tiles .tile .name{font-size:8.7px;min-height:18px}
  .home-page .six-tiles .tile .money{font-size:13px;margin-top:2px}
  .home-page .home-fold{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
}

/* =========================================================
   TravelHub Warm Glass Polish — design freeze translation
   ========================================================= */
:root{
  --warm-peach:#ffd1b4;
  --warm-apricot:#ff9a46;
  --warm-orange:#ff6a12;
  --soft-blue:#83cfff;
  --soft-violet:#9a7cff;
  --soft-magenta:#ef72d4;
  --soft-teal:#49d3c1;
  --soft-sage:#92c97b;
  --warm-amber:#ffba45;
  --deep-ink:#0e2d49;
  --glass-warm-shadow:0 18px 48px rgba(72,73,89,.12),0 6px 22px rgba(255,125,54,.06),inset 0 1px 0 rgba(255,255,255,.96);
}
html,body{background:#edf5f8}
body{color:var(--deep-ink)}
.app-shell{
  background:
    radial-gradient(circle at -8% 65%,rgba(92,205,255,.22),transparent 36%),
    radial-gradient(circle at 108% 58%,rgba(255,158,76,.23),transparent 40%),
    linear-gradient(180deg,#edf5f8 0%,#eff7f8 34%,#f8efe9 100%);
}
.glass-page:before{
  background:
    radial-gradient(circle at -10% 52%,rgba(90,201,255,.26),transparent 38%),
    radial-gradient(circle at 104% 38%,rgba(255,146,70,.26),transparent 39%),
    radial-gradient(circle at 48% 68%,rgba(210,160,255,.10),transparent 31%);
  filter:saturate(112%);
}
.hero.glass-hero{
  background-image:none!important;
  background-position:center center;
  filter:saturate(1.05);
}
.hero.glass-hero:before{
  background:
    linear-gradient(105deg,rgba(67,104,135,.12),rgba(255,178,127,.08) 48%,rgba(255,184,111,.22) 100%),
    linear-gradient(180deg,rgba(15,38,58,.05) 0%,rgba(255,201,163,.04) 45%,rgba(239,246,248,.10) 63%,rgba(238,246,248,.93) 100%);
}
.hero.glass-hero:after{
  height:120px;
  background:linear-gradient(180deg,rgba(238,246,248,0),rgba(238,246,248,.78) 58%,rgba(238,246,248,1) 94%);
}
.hero-trip,.hero-day{color:white;text-shadow:0 2px 14px rgba(20,37,51,.35)}

.card.glass-card,.glass-card{
  background:
    linear-gradient(128deg,rgba(255,255,255,.70),rgba(255,251,249,.50) 49%,rgba(255,238,226,.46)),
    linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.91);
  box-shadow:var(--glass-warm-shadow);
  backdrop-filter:blur(28px) saturate(145%);
  -webkit-backdrop-filter:blur(28px) saturate(145%);
}
.card.glass-card:before{
  background:
    radial-gradient(circle at 0% 75%,rgba(96,202,255,.11),transparent 34%),
    radial-gradient(circle at 100% 25%,rgba(255,149,73,.14),transparent 36%),
    linear-gradient(130deg,rgba(192,164,255,.05),transparent 43%,rgba(255,201,159,.08));
  mix-blend-mode:normal;
}
.glass-inner{
  background:
    radial-gradient(circle at 8% 82%,rgba(100,197,255,.14),transparent 35%),
    radial-gradient(circle at 96% 16%,rgba(255,160,89,.17),transparent 38%),
    linear-gradient(120deg,rgba(255,255,255,.63),rgba(248,243,255,.45),rgba(255,241,230,.44));
  border:1px solid rgba(255,255,255,.90);
  box-shadow:0 12px 30px rgba(71,86,107,.10),inset 0 1px 0 rgba(255,255,255,.98);
}

/* The main ring should feel luminous rather than flat. */
.glass-ring{
  isolation:isolate;
  box-shadow:
    0 0 28px rgba(103,173,255,.22),
    10px 9px 26px rgba(255,113,89,.18),
    -5px 15px 23px rgba(177,92,255,.18),
    inset 0 0 0 1px rgba(255,255,255,.52);
}
.glass-ring:before{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  background:conic-gradient(from -15deg,rgba(255,176,54,.34),rgba(255,100,90,.28),rgba(225,86,239,.25),rgba(112,105,255,.25),rgba(67,180,255,.29),rgba(255,176,54,.34));
  filter:blur(12px);
  opacity:.68;
  z-index:-2;
}
.glass-ring:after{
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.98),rgba(255,255,255,.76) 42%,rgba(245,239,255,.67) 74%,rgba(255,241,232,.72));
  box-shadow:inset 0 1px 13px rgba(101,119,152,.09),0 2px 10px rgba(255,255,255,.75);
}

/* Rich category orbs – same family, distinct tone per category. */
.ico-bubble{
  color:white!important;
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 8px 16px rgba(50,78,101,.13),inset 0 2px 3px rgba(255,255,255,.48),0 0 0 3px rgba(255,255,255,.21);
}
.ico-bubble.orange{background:linear-gradient(145deg,#ffb05e 0%,#ff781f 65%,#ff5e0d 100%)}
.ico-bubble.sage{background:linear-gradient(145deg,#b8dc9b 0%,#75bd71 72%,#60a85f 100%)}
.ico-bubble.purple{background:linear-gradient(145deg,#e3a9ff 0%,#b663e3 67%,#9848ce 100%)}
.ico-bubble.blue{background:linear-gradient(145deg,#a7deff 0%,#5cbcff 66%,#3a9edc 100%)}
.ico-bubble.teal{background:linear-gradient(145deg,#9aeee2 0%,#43ceb9 65%,#23b59f 100%)}
.ico-bubble.amber{background:linear-gradient(145deg,#ffd57d 0%,#ffb43b 66%,#ff9f1a 100%)}
.ico-bubble.pearl{background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,238,229,.78));color:#587897!important}
.tile{
  background:
    radial-gradient(circle at 7% 90%,rgba(103,205,255,.08),transparent 38%),
    radial-gradient(circle at 95% 10%,rgba(255,158,87,.10),transparent 42%),
    linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,249,245,.42));
  border:1px solid rgba(255,255,255,.91)!important;
  box-shadow:0 9px 22px rgba(67,83,99,.08),inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter:blur(20px) saturate(135%);
  -webkit-backdrop-filter:blur(20px) saturate(135%);
}
.tile:active{transform:scale(.985)}

.glass-coach{
  background:
    radial-gradient(circle at 0% 70%,rgba(107,202,255,.18),transparent 35%),
    radial-gradient(circle at 100% 35%,rgba(255,144,66,.27),transparent 40%),
    linear-gradient(108deg,rgba(255,255,255,.62),rgba(247,237,255,.43),rgba(255,221,190,.55));
  border-color:rgba(255,255,255,.92);
  box-shadow:0 13px 30px rgba(73,79,95,.09),inset 0 1px 0 rgba(255,255,255,.98);
}
.glass-coach blockquote{color:#183c5d}

.nav.glass-nav{
  background:
    linear-gradient(115deg,rgba(255,255,255,.77),rgba(255,248,244,.62));
  border-color:rgba(255,255,255,.94);
  box-shadow:0 17px 39px rgba(50,68,84,.15),0 4px 16px rgba(255,125,57,.04),inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter:blur(30px) saturate(145%);
  -webkit-backdrop-filter:blur(30px) saturate(145%);
}
.nav.glass-nav .fab{
  background:linear-gradient(145deg,#ffa446 0%,#ff741a 55%,#ff5f0a 100%)!important;
  box-shadow:0 15px 28px rgba(255,102,13,.34),0 4px 15px rgba(255,162,68,.18),inset 0 2px 2px rgba(255,255,255,.48),0 0 0 5px rgba(255,255,255,.69)!important;
}

/* Make the first phone viewport feel composed as one intentional screen. */
.home-page .home-main{margin-top:-46px}
.home-page .destination-card{padding:15px 16px 14px}
.home-page .budget-focus{margin-top:10px}
.home-page .home-cat-title{margin-top:13px;margin-bottom:9px}
.home-page .six-tiles{gap:8px}
.home-page .six-tiles .tile{min-height:90px}
.home-after-fold{padding-top:12px}

@media(max-width:390px){
  .home-page .home-main{margin-top:-43px}
  .home-page .six-tiles{gap:7px}
  .home-page .six-tiles .tile{min-height:84px}
}
@media(max-height:780px){
  .home-page .six-tiles .tile{min-height:76px}
}


/* =========================================================
   TravelHub Warm Glass v2 — iPhone polish
   Header image is embedded in app.js for reliable PWA display.
   ========================================================= */
.home-page .hero.glass-hero{
  height:278px;
  background-position:center 48%!important;
  background-size:cover!important;
  filter:saturate(1.10) contrast(1.02);
}
.home-page .hero.glass-hero:before{
  background:
    linear-gradient(105deg,rgba(35,67,96,.08),rgba(255,171,113,.04) 48%,rgba(255,174,91,.11) 100%),
    linear-gradient(180deg,rgba(12,33,50,.02) 0%,rgba(255,198,154,.025) 48%,rgba(239,246,248,.06) 68%,rgba(238,246,248,.88) 100%);
}
.home-page .hero.glass-hero:after{
  height:92px;
  background:linear-gradient(180deg,rgba(238,246,248,0),rgba(238,246,248,.52) 52%,rgba(238,246,248,.98) 100%);
}

/* No artificial blank first-screen spacer: Latest expenses follows the category row naturally. */
.home-page .home-fold{
  min-height:0!important;
  padding-bottom:0!important;
  display:block!important;
}
.home-page .home-after-fold{padding-top:8px!important}

/* Make the primary daily-budget visualization the visual anchor, like the frozen preview. */
.home-page .destination-card{padding:16px 17px 15px}
.home-page .budget-focus{
  margin-top:11px;
  padding:22px 19px;
  grid-template-columns:126px minmax(0,1fr);
  gap:22px;
  border-radius:29px;
  min-height:158px;
}
.home-page .glass-ring{
  width:118px;
  height:118px;
  box-shadow:
    0 0 34px rgba(84,172,255,.28),
    12px 12px 30px rgba(255,103,77,.20),
    -8px 17px 28px rgba(185,83,255,.21),
    inset 0 0 0 1px rgba(255,255,255,.62);
}
.home-page .glass-ring:before{inset:-5px;filter:blur(13px);opacity:.78}
.home-page .glass-ring:after{width:90px;height:90px}
.home-page .glass-ring strong{font-size:29px;transform:translateY(-6px)}
.home-page .glass-ring span{font-size:11px;margin-top:36px}
.home-page .big-money{font-size:43px;line-height:1.02;margin:5px 0 4px}
.home-page .budget-focus-copy .subtle:first-child{font-size:14px}
.home-page .budget-focus-copy .subtle:last-child{font-size:13px}

/* Keep the six compact category tiles together while preserving the richer orbs. */
.home-page .home-cat-title{margin:14px 2px 8px}
.home-page .six-tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.home-page .six-tiles .tile{min-height:88px;padding:8px 2px 8px;border-radius:18px}
.home-page .six-tiles .tile .ico-bubble{width:37px;height:37px;margin-bottom:5px}
.home-page .six-tiles .tile .name{font-size:8.2px;line-height:1.02;min-height:20px}
.home-page .six-tiles .tile .money{font-size:13.8px}

@media(max-width:390px){
  .home-page .hero.glass-hero{height:258px}
  .home-page .home-main{margin-top:-44px}
  .home-page .destination-card{padding:14px 13px 13px}
  .home-page .budget-focus{padding:17px 13px;grid-template-columns:104px minmax(0,1fr);gap:13px;min-height:138px}
  .home-page .glass-ring{width:98px;height:98px}
  .home-page .glass-ring:after{width:75px;height:75px}
  .home-page .glass-ring strong{font-size:24px}
  .home-page .glass-ring span{font-size:9.5px;margin-top:31px}
  .home-page .big-money{font-size:36px}
  .home-page .budget-focus-copy .subtle:first-child{font-size:12px}
  .home-page .budget-focus-copy .subtle:last-child{font-size:11.5px}
  .home-page .six-tiles{gap:4px}
  .home-page .six-tiles .tile{min-height:82px;padding:7px 1px 7px}
  .home-page .six-tiles .tile .ico-bubble{width:34px;height:34px}
  .home-page .six-tiles .tile .name{font-size:7.6px}
  .home-page .six-tiles .tile .money{font-size:12.8px}
}

/* Safari's visible browser chrome can reduce viewport height; keep the main number prominent anyway. */
@media(max-height:780px){
  .home-page .hero.glass-hero{height:226px}
  .home-page .home-main{margin-top:-40px}
  .home-page .budget-focus{padding:14px 13px;grid-template-columns:96px minmax(0,1fr);gap:12px;min-height:124px}
  .home-page .glass-ring{width:90px;height:90px}
  .home-page .glass-ring:after{width:68px;height:68px}
  .home-page .glass-ring strong{font-size:22px;transform:translateY(-4px)}
  .home-page .glass-ring span{font-size:8.8px;margin-top:28px}
  .home-page .big-money{font-size:34px}
  .home-page .home-cat-title{margin:10px 2px 7px}
  .home-page .six-tiles .tile{min-height:75px;padding-top:6px;padding-bottom:6px}
  .home-page .six-tiles .tile .ico-bubble{width:31px;height:31px;margin-bottom:3px}
  .home-page .six-tiles .tile .name{font-size:7.3px;min-height:17px}
  .home-page .six-tiles .tile .money{font-size:12.5px;margin-top:2px}
}
@media(max-height:690px){
  .home-page .hero.glass-hero{height:204px}
  .home-page .home-main{margin-top:-36px}
  .home-page .destination-card{padding:11px 11px 10px}
  .home-page .budget-focus{padding:11px 11px;grid-template-columns:86px minmax(0,1fr);gap:10px;min-height:108px}
  .home-page .glass-ring{width:80px;height:80px}
  .home-page .glass-ring:after{width:60px;height:60px}
  .home-page .glass-ring strong{font-size:20px}
  .home-page .glass-ring span{font-size:8px;margin-top:25px}
  .home-page .big-money{font-size:31px}
  .home-page .home-cat-title{margin:8px 2px 5px}
  .home-page .six-tiles .tile{min-height:67px;padding:4px 1px 5px}
  .home-page .six-tiles .tile .ico-bubble{width:27px;height:27px;margin-bottom:2px}
  .home-page .six-tiles .tile .ico-bubble svg{width:14px;height:14px}
  .home-page .six-tiles .tile .name{font-size:6.8px;min-height:15px}
  .home-page .six-tiles .tile .money{font-size:11.8px}
}


/* Warm Glass v3 — robust embedded hero photo.
   The image is a real <img> fed by an embedded data URI, so it cannot disappear
   because of relative asset paths or CSS background caching on iOS/PWA. */
.hero.glass-hero{background:#dfe7e8!important;isolation:isolate}
.hero.glass-hero .hero-photo{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;
  display:block;z-index:0;opacity:1;filter:saturate(1.10) contrast(1.02) brightness(1.02);
  pointer-events:none;user-select:none;-webkit-user-drag:none;
}
.hero.glass-hero:before{z-index:1}
.hero.glass-hero:after{z-index:2}
.hero.glass-hero .hero-nav,.hero.glass-hero .hero-day,.hero.glass-hero .hero-page-copy{z-index:4}


/* V4 – home category grid fix: 2 rows of 3 on iPhone so labels never clip */
.home-page .six-tiles{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:9px !important;}
.home-page .six-tiles .tile{min-height:96px !important;padding:9px 6px 10px !important;border-radius:18px !important;}
.home-page .six-tiles .tile .ico-bubble{width:38px !important;height:38px !important;margin-bottom:5px !important;}
.home-page .six-tiles .tile .ico-bubble svg{width:19px !important;height:19px !important;}
.home-page .six-tiles .tile .name{font-size:11px !important;line-height:1.08 !important;min-height:25px !important;white-space:normal !important;}
.home-page .six-tiles .tile .money{font-size:16px !important;margin-top:4px !important;}
@media (max-width: 390px){
  .home-page .six-tiles{gap:8px !important;}
  .home-page .six-tiles .tile{min-height:92px !important;padding:8px 5px 9px !important;}
  .home-page .six-tiles .tile .ico-bubble{width:36px !important;height:36px !important;}
  .home-page .six-tiles .tile .name{font-size:10.3px !important;min-height:24px !important;}
  .home-page .six-tiles .tile .money{font-size:15px !important;}
}


/* V5 — Reis samenstellen / Bestemmingen polish */
.destinations-main{padding-bottom:16px}
.route-summary-top{padding:15px 10px;margin-bottom:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;overflow:hidden}
.route-summary-top>div{text-align:center;padding:2px 8px;border-right:1px solid rgba(75,94,111,.10)}
.route-summary-top>div:last-child{border-right:0}
.route-summary-top span{display:block;font-size:9.5px;color:var(--muted);margin-bottom:4px}
.route-summary-top b{display:block;font-size:15px;line-height:1.15;font-weight:570;color:var(--ink);white-space:nowrap}
.route-stack{position:relative;display:grid;gap:9px;padding:2px 0}
.route-stack:before{content:"";position:absolute;left:48px;top:24px;bottom:24px;width:2px;border-radius:2px;background:linear-gradient(180deg,rgba(255,157,61,.36),rgba(94,197,174,.27),rgba(117,173,223,.20));z-index:0}
.route-destination{position:relative;z-index:1;display:grid;grid-template-columns:20px 46px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 10px 11px 8px;border-radius:23px!important;background:linear-gradient(130deg,rgba(255,255,255,.57),rgba(255,255,255,.35))!important;overflow:visible!important;transition:transform .19s ease,opacity .19s ease,box-shadow .19s ease,filter .19s ease}
.route-destination.active{background:linear-gradient(125deg,rgba(229,249,243,.69),rgba(255,244,235,.55))!important;border-color:rgba(255,255,255,.94)!important;box-shadow:0 12px 30px rgba(45,92,93,.10),inset 0 1px 0 rgba(255,255,255,.9)!important}
.route-destination.completed{background:linear-gradient(130deg,rgba(244,244,242,.58),rgba(231,235,236,.42))!important;filter:saturate(.72);opacity:.76}
.route-destination.excluded{opacity:.48;filter:saturate(.55)}
.route-destination.dragging{opacity:.88;transform:scale(1.018);box-shadow:0 18px 38px rgba(42,63,81,.18)!important;z-index:10}
.route-drag{width:20px;height:38px;display:flex;flex-direction:column;justify-content:center;gap:3px;align-items:center;touch-action:none;cursor:grab;color:#8092a2}
.route-drag span{width:12px;height:2px;border-radius:2px;background:currentColor;opacity:.65}
.route-drag:active{cursor:grabbing}
.route-destination .dest-avatar{width:43px;height:43px;font-size:11px;box-shadow:0 6px 16px rgba(56,82,104,.11)}
.route-dest-info{min-width:0;padding:2px 0!important}
.route-dest-info .dest-title-line{gap:5px;flex-wrap:wrap;margin-bottom:2px}
.route-dest-info strong{font-size:15.2px;font-weight:580;letter-spacing:-.022em}
.route-dest-info>small{font-size:10.4px;line-height:1.25}
.route-finance{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px;font-size:9.8px;color:var(--muted)}
.route-finance span{display:inline-flex;align-items:center;gap:3px}
.route-finance b{font-weight:580;color:var(--ink)}
.route-finance .dest-result{padding:3px 7px;font-size:9px;border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.excluded-status{background:rgba(255,255,255,.45)!important;color:#79828a!important}
.route-controls{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.route-controls .switch{transform:scale(.88)}
.route-chevron{width:30px;height:28px;border:0;background:transparent;color:#71889b;display:grid;place-items:center;padding:0}
.route-chevron svg{width:17px;height:17px}
.route-add{margin:11px 0 0;min-height:47px;border-radius:21px;color:var(--accent);font-size:13px;font-weight:550;background:linear-gradient(120deg,rgba(255,255,255,.55),rgba(255,245,236,.42));box-shadow:0 8px 20px rgba(55,78,98,.055),inset 0 1px 0 rgba(255,255,255,.9)}
.route-add svg{width:18px;height:18px}
@media(max-width:390px){
 .route-summary-top{padding:13px 7px}.route-summary-top b{font-size:13px}.route-summary-top span{font-size:8.8px}
 .route-stack{gap:8px}.route-stack:before{left:44px}
 .route-destination{grid-template-columns:18px 42px minmax(0,1fr) 40px;gap:7px;padding:10px 7px}
 .route-destination .dest-avatar{width:39px;height:39px}
 .route-dest-info strong{font-size:14px}.route-dest-info>small{font-size:9.6px}.route-finance{font-size:9px;gap:5px}
 .route-controls .switch{transform:scale(.82)}
}

/* V6 — destination detail + per-destination banner + safer planning flow */
.destination-hero .hero-page-copy.destination-copy{bottom:54px}
.destination-hero .hero-page-copy.destination-copy h1{font-size:38px;line-height:1.02;font-weight:600;letter-spacing:-.045em;margin-bottom:7px}
.destination-hero .hero-page-copy.destination-copy p{font-size:13px;letter-spacing:.005em;color:rgba(255,255,255,.88)}
.destination-detail-main{display:grid;gap:14px}
.destination-detail-main>.card,.destination-detail-main>.coach{margin-top:0!important}
.destination-overview{padding:15px 16px 16px;background:linear-gradient(135deg,rgba(255,255,255,.67),rgba(244,242,236,.43))!important}
.destination-overview-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.destination-days{font-size:11px;color:var(--muted);font-weight:540}
.destination-total-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.destination-total-grid>div{min-width:0;padding:11px 12px;border-radius:17px;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.66)}
.destination-total-grid span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}
.destination-total-grid b{display:block;font-size:20px;font-weight:590;letter-spacing:-.025em;white-space:nowrap}
.destination-delta{display:inline-flex;margin-top:10px;padding:5px 9px;border-radius:999px;font-size:10.5px;font-weight:620}
.destination-delta.under{background:rgba(223,238,220,.66);color:#4d7048}
.destination-delta.over{background:rgba(255,230,216,.7);color:#a65d3d}
.destination-delta.neutral{background:rgba(235,235,231,.66);color:#777a75}
.destination-banner-editor{margin-top:8px;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;padding:9px;border-radius:18px;background:rgba(246,244,239,.78);border:1px solid rgba(110,99,82,.08)}
.destination-banner-editor img{width:76px;height:56px;object-fit:cover;border-radius:13px;display:block}
.destination-banner-editor b{display:block;font-size:14px;font-weight:600}
.destination-banner-editor small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.banner-editor-actions{display:flex;gap:8px;margin-top:9px}
.banner-editor-actions.stacked{display:grid}
.compact-action{flex:1;padding:10px 12px!important;min-height:42px!important}
.banner-editor-actions button:disabled{opacity:.42}
.destination-delete{margin:18px auto 2px;display:block}
@media(max-width:390px){
 .destination-hero .hero-page-copy.destination-copy h1{font-size:34px}
 .destination-total-grid b{font-size:18px}
 .destination-detail-main{gap:12px}
}

/* V7 — Budget page: calm, traceable, warm glass */
.budget-screen .hero-page-copy{max-width:300px}
.budget-page-v7{padding-bottom:16px}
.budget-hero-card{position:relative;padding:24px 20px 18px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.70),rgba(255,244,235,.55) 48%,rgba(237,244,255,.48));}
.budget-hero-card:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-68px;top:-90px;background:radial-gradient(circle,rgba(255,175,115,.25),rgba(239,126,197,.12) 45%,transparent 70%);filter:blur(4px);pointer-events:none}
.budget-total-button{position:relative;z-index:1;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:5px 46px 9px 0}
.budget-total-button>span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.budget-total-button strong{display:block;font-size:42px;line-height:1;font-weight:570;letter-spacing:-.055em}
.budget-total-button small{display:block;margin-top:8px;font-size:12px;color:var(--muted)}
.budget-progress{position:relative;height:7px;border-radius:999px;background:rgba(255,255,255,.58);box-shadow:inset 0 0 0 1px rgba(93,89,84,.055);overflow:hidden;margin:9px 0 15px}
.budget-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffad43,#ff7654 28%,#e767ba 57%,#9a70ef 78%,#56aee8);box-shadow:0 0 12px rgba(229,105,154,.24)}
.budget-mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.budget-mini-metrics>div{padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.64)}
.budget-mini-metrics span{display:block;font-size:10px;color:var(--muted)}
.budget-mini-metrics b{display:block;font-size:15px;font-weight:570;margin-top:3px}
.budget-calm-note{margin-top:13px;font-size:11px;line-height:1.35;color:var(--muted)}
.budget-section-head{margin-top:20px;margin-bottom:9px;padding:0 2px}
.budget-section-head h2{font-size:17px;margin:0;font-weight:590;letter-spacing:-.025em}
.budget-section-head>span{font-size:10px;color:var(--muted)}
.budget-destinations-v7{display:grid;gap:9px}
.budget-destination-card{width:100%;padding:14px 15px;border:1px solid rgba(255,255,255,.72);color:inherit;text-align:left;background:linear-gradient(145deg,rgba(255,255,255,.64),rgba(248,246,244,.56));box-shadow:0 8px 24px rgba(72,57,40,.055);border-radius:22px}
.budget-destination-card.completed{opacity:.72;filter:saturate(.76)}
.budget-destination-card.active{background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,241,231,.58),rgba(238,246,242,.56));}
.budget-dest-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.budget-dest-top>div>small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.budget-dest-top>svg{width:19px;height:19px;color:#85909a;flex:0 0 auto}
.budget-dest-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.budget-dest-values div{padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.38)}
.budget-dest-values span{display:block;font-size:9px;color:var(--muted)}
.budget-dest-values b{display:block;font-size:14px;font-weight:570;margin-top:2px}
.budget-dest-track{height:5px;border-radius:999px;background:rgba(114,116,111,.10);overflow:hidden;margin-top:10px}
.budget-dest-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffa849,#f28570,#c871c9,#6da9dd)}
.budget-dest-foot{min-height:17px;margin-top:7px;font-size:9.5px;color:var(--muted);display:flex;align-items:center}
.budget-dest-foot .dest-result{font-size:9px;padding:3px 7px}
.budget-accordion-v7{padding:0 15px;margin-top:9px;border-radius:22px;overflow:hidden}
.budget-fixed-head{width:100%;min-height:70px;padding:10px 0;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px}
.budget-fixed-head strong{display:block;font-size:13px;font-weight:580}
.budget-fixed-head small{display:block;font-size:9.5px;color:var(--muted);margin-top:3px}
.budget-fixed-total{display:flex;align-items:center;gap:4px;color:#697b88;white-space:nowrap}
.budget-fixed-total span{font-size:13px;font-weight:570;color:var(--ink)}
.budget-fixed-total svg{width:17px;height:17px}
.budget-accordion-v7 .acc-body{padding-bottom:11px}
.budget-fixed-summary{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(74,92,107,.08);padding:10px 0 2px;font-size:10px;color:var(--muted)}
.budget-fixed-summary b{font-size:13px;color:var(--ink);font-weight:580}
.breakdown-divider{margin-top:6px;padding-top:10px!important;border-top:1px solid rgba(73,85,94,.10)}
@media(max-width:390px){
 .budget-hero-card{padding:20px 16px 16px}
 .budget-total-button strong{font-size:37px}
 .budget-destination-card{padding:12px 13px}
 .budget-dest-values{margin-top:10px}
 .budget-section-head{margin-top:17px}
}


/* V8 — recurring travel insurance + softer budget settings control */
.budget-gear .ico-sliders{width:21px;height:21px;stroke-width:1.65}
.budget-gear{background:rgba(255,255,255,.48)!important;border-color:rgba(255,255,255,.58)!important;box-shadow:0 8px 20px rgba(89,66,45,.055)!important}
.recurring-cost-row .cost-values small{white-space:nowrap}
.recurring-budget-field{padding-bottom:2px}
.recurring-preview{margin-top:7px;padding:8px 10px;border-radius:12px;background:rgba(244,238,230,.62);color:var(--muted);font-size:11px}
.recurring-preview b{color:var(--ink);font-weight:620}

/* V9 — Uitgaven: calm list, fixed filters and no keyboard-jump search */
.expenses-screen .hero.glass-hero{height:238px}
.expenses-screen .hero.glass-hero:after{height:94px}
.expenses-screen .hero-page-copy{bottom:48px}
.expenses-screen .hero-page-copy h1{font-size:34px;font-weight:560;margin:0}
.expenses-page-v9{margin-top:-34px;padding-bottom:24px}
.expense-browser-v9{padding:14px 14px 13px;border-radius:25px!important}
.expense-browser-v9:before{background:linear-gradient(125deg,rgba(116,201,245,.07),transparent 42%,rgba(255,181,111,.10))!important}
.expense-browser-v9 .glass-search{height:48px;background:rgba(255,255,255,.42);border-color:rgba(255,255,255,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 5px 15px rgba(49,73,94,.035)}
.expense-browser-v9 .glass-search input{font-size:14px;font-weight:430}
.filter-selects-v9{margin-top:9px;gap:7px}
.filter-selects-v9 label{height:40px;border-radius:17px;background:rgba(255,255,255,.36);border-color:rgba(255,255,255,.84);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.filter-selects-v9 select{font-size:10.5px;font-weight:480;color:#526b7d}
.filter-selects-v9 svg{color:#5b8ba7}
.expense-reset{display:block;margin:9px auto -2px;border:0;background:transparent;color:#56839c;font-size:11px;font-weight:520;padding:4px 8px}
.expense-date-head{display:flex;align-items:baseline;justify-content:space-between;margin:17px 5px 7px;padding:0 2px}
.expense-date-head span{font-size:15px;font-weight:550;letter-spacing:-.018em;color:#243a4a}
.expense-date-head small{font-size:10px;color:#7790a0}
.expense-day-card{padding:3px 15px!important;border-radius:25px!important;background:linear-gradient(130deg,rgba(255,255,255,.62),rgba(255,255,255,.38))!important}
.expense-day-card .expense-row{border-bottom-color:rgba(75,102,123,.085)}
.expense-day-card .expense-main{min-height:62px;padding:9px 0;grid-template-columns:40px minmax(0,1fr) auto;gap:11px}
.expense-day-card .expense-main .ico-bubble{width:38px;height:38px;box-shadow:0 5px 13px rgba(54,80,102,.10),inset 0 1px 0 rgba(255,255,255,.72)}
.expense-day-card .expense-name{font-size:14.5px;font-weight:530;letter-spacing:-.018em}
.expense-day-card .expense-meta{font-size:10.5px;line-height:1.25;margin-top:3px;color:#748795}
.expense-day-card .expense-amount{font-size:14.5px;font-weight:560;letter-spacing:-.02em;white-space:nowrap}
.expense-day-card .expense-date{display:none}
.expense-day-card .swipe-delete{border-radius:0 24px 24px 0;font-size:12px;background:linear-gradient(135deg,#dd7168,#c95750)}
.expense-empty{margin-top:17px;border-radius:25px!important;padding:28px 18px!important;font-size:13px}

/* Expense detail is read-first; editing stays one deliberate action away. */
.expense-detail-head .ico-bubble{width:44px;height:44px}
.expense-detail-head h2{margin:3px 0 0;font-size:20px;font-weight:560;letter-spacing:-.025em}
.expense-detail-amount{margin:18px 0 16px;text-align:center;font-size:40px;font-weight:510;letter-spacing:-.05em;color:#1d3445}
.expense-detail-amount small{display:block;margin-top:5px;font-size:12px;font-weight:450;letter-spacing:0;color:#7a8d99}
.expense-detail-list{border-radius:20px;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.82);padding:4px 14px}
.expense-detail-list>div{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(76,99,115,.08)}
.expense-detail-list>div:last-child{border-bottom:0}
.expense-detail-list span{font-size:11px;color:#788b97}
.expense-detail-list b{font-size:12.5px;font-weight:530;text-align:right;color:#263e4e}
.expense-detail-actions{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:15px}
.expense-detail-actions button{height:46px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:550}
.expense-detail-actions svg{width:18px;height:18px}
.expense-edit-action{border:1px solid rgba(255,255,255,.84);background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,240,229,.52));color:#d7652e;box-shadow:0 7px 18px rgba(66,79,91,.06)}
.expense-delete-action{width:48px;border:1px solid rgba(208,91,82,.13);background:rgba(255,241,239,.62);color:#bd5b53;font-size:0!important}
.expense-delete-action svg{width:19px;height:19px}

@media(max-width:390px){
 .expenses-screen .hero.glass-hero{height:225px}
 .expenses-page-v9{margin-top:-31px}
 .expense-browser-v9{padding:12px}
 .filter-selects-v9 select{font-size:9.8px}
 .expense-day-card{padding-left:13px!important;padding-right:13px!important}
 .expense-day-card .expense-main{grid-template-columns:37px minmax(0,1fr) auto;gap:9px}
 .expense-day-card .expense-main .ico-bubble{width:35px;height:35px}
 .expense-day-card .expense-name{font-size:13.8px}
 .expense-day-card .expense-amount{font-size:13.8px}
}
\n\n/* V10 — expense swipe + original currency polish */
.expense-row{isolation:isolate}
.expense-day-card .expense-main{
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  z-index:2;
}
.expense-day-card .swipe-delete{
  z-index:1;
  opacity:0;
  pointer-events:none;
  transform:translateX(10px);
  transition:opacity .16s ease,transform .18s ease;
}
.expense-day-card .expense-row.swiping .swipe-delete,
.expense-day-card .expense-row.swipe-open .swipe-delete{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0);
}
.expense-eur{font:inherit;white-space:nowrap}
.expense-local{
  margin-top:2px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.1;
  font-weight:500;
  white-space:nowrap;
  letter-spacing:0;
}
.expense-amount .expense-date{margin-top:3px}


/* V11 — full-width expense rows + iOS-like swipe polish */
.expense-day-card{
  padding:0 !important;
  overflow:hidden;
  border-radius:25px !important;
}
.expense-day-card .expense-row{
  overflow:hidden;
  width:100%;
  border-bottom:1px solid rgba(75,102,123,.085);
}
.expense-day-card .expense-row:last-child{border-bottom:0}
.expense-day-card .expense-main{
  min-height:62px;
  width:100%;
  padding:9px 15px !important;
  background:linear-gradient(110deg,rgba(255,255,255,.76),rgba(255,255,255,.61)) !important;
  border-radius:0 !important;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
  will-change:transform;
  transform:translate3d(0,0,0);
  transition:transform .28s cubic-bezier(.22,.82,.27,1),background-color .6s ease;
}
.expense-day-card .swipe-delete{
  right:0;
  top:0;
  bottom:0;
  width:96px;
  border-radius:0 !important;
  padding-right:env(safe-area-inset-right);
  transform:translate3d(12px,0,0);
  transition:opacity .14s ease,transform .24s cubic-bezier(.22,.82,.27,1);
}
.expense-day-card .expense-row.swiping .swipe-delete,
.expense-day-card .expense-row.swipe-open .swipe-delete{
  transform:translate3d(0,0,0);
}
@media(max-width:390px){
  .expense-day-card{padding:0 !important}
  .expense-day-card .expense-main{padding:9px 13px !important}
}


/* V12 — New expense: destination photo + tighter, iPhone-first glass composition */
.expense-sheet{
  padding:0 16px calc(18px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,#f5efea 0%,#eef4f6 44%,#f7f2ed 100%);
}
.expense-visual-head{height:188px;position:relative;margin:0 -16px 0;overflow:hidden;isolation:isolate}
.expense-head-photo{position:absolute;inset:-12px 0 0;width:100%;height:215px;object-fit:cover;filter:saturate(.78) contrast(.94) brightness(1.03);transform:scale(1.025);z-index:-3}
.expense-head-wash{position:absolute;inset:0;z-index:-2;background:
 linear-gradient(180deg,rgba(35,55,68,.12) 0%,rgba(238,232,228,.05) 38%,rgba(239,245,247,.74) 75%,rgba(239,245,247,1) 100%),
 radial-gradient(circle at 76% 16%,rgba(255,185,140,.22),transparent 36%)}
.expense-modal-head{height:auto;min-height:92px;padding:calc(18px + env(safe-area-inset-top)) 2px 0;grid-template-columns:44px minmax(0,1fr) 44px;align-items:start}
.expense-modal-head .expense-back{margin-top:1px;background:rgba(255,255,255,.44);border:1px solid rgba(255,255,255,.54);box-shadow:0 5px 18px rgba(34,48,59,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.expense-trip{font-size:19px;font-weight:500;letter-spacing:-.025em;padding-top:9px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 12px rgba(24,39,50,.28)}
.expense-content-stack{position:relative;margin-top:-54px;padding:0 0 4px;z-index:2}
.expense-sheet .expense-amount-card{margin:0 7px 10px;min-height:108px;border-radius:29px;padding:13px 10px;background:linear-gradient(145deg,rgba(255,255,255,.69),rgba(255,250,246,.49));box-shadow:0 18px 44px rgba(54,67,77,.12),inset 0 1px 0 rgba(255,255,255,.9)}
.expense-sheet .amount-editor{min-height:76px;gap:8px}
.expense-sheet .amount-currency{min-width:68px;height:56px;border-radius:21px;background:rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.82)}
.expense-sheet .amount-currency>span{font-size:29px}
.expense-sheet .amount-input{font-size:52px;font-weight:430;width:min(205px,56vw);line-height:1}
.expense-category-card{margin:0 0 10px!important;padding:11px 8px 10px;border-radius:27px;background:linear-gradient(145deg,rgba(255,255,255,.56),rgba(247,251,252,.40))}
.expense-category-card .category-grid{gap:2px}
.expense-category-card .category-choice{padding:2px 0 3px}
.expense-category-card .category-choice .ico-bubble{width:46px;height:46px;margin-bottom:6px}
.expense-category-card .category-choice span{font-size:8.5px;line-height:1.05;min-height:18px;display:flex;align-items:flex-start;justify-content:center}
.expense-fields-card{padding:3px 14px;margin:0;border-radius:27px;background:linear-gradient(145deg,rgba(255,255,255,.53),rgba(249,250,248,.40))}
.expense-fields-card .glass-field-row{min-height:61px;padding:8px 0}
.expense-fields-card .glass-field-row>label{font-size:11px!important}
.expense-fields-card .ghost-field{font-size:16px!important;min-height:27px}
.expense-fields-card select.ghost-field{padding-right:22px!important}
.expense-fields-card .field-orb{width:39px;height:39px;border-radius:14px}
.expense-fields-card .location-button{height:36px;border-radius:14px;padding:0 10px}
.expense-save-row{padding:18px 0 6px}
.expense-save-row .save-circle{width:72px;height:72px;box-shadow:0 14px 31px rgba(255,112,20,.27),inset 0 2px 2px rgba(255,255,255,.43),0 0 0 5px rgba(255,255,255,.58)}
.expense-sheet .form-group.invalid{background:rgba(235,89,86,.065);box-shadow:inset 0 0 0 1px rgba(215,82,79,.14)}
.expense-sheet .field-error{font-size:11px;font-weight:600;margin-top:4px}
@media(max-width:390px){
 .expense-visual-head{height:180px}
 .expense-head-photo{height:207px}
 .expense-content-stack{margin-top:-53px}
 .expense-sheet .expense-amount-card{min-height:102px;margin-left:5px;margin-right:5px}
 .expense-sheet .amount-input{font-size:48px;width:min(185px,54vw)}
 .expense-sheet .amount-currency{min-width:62px;height:52px}
 .expense-category-card .category-choice .ico-bubble{width:42px;height:42px}
 .expense-category-card .category-choice span{font-size:7.7px}
 .expense-fields-card .glass-field-row{min-height:58px}
}
@media(max-height:720px){
 .expense-visual-head{height:164px}
 .expense-content-stack{margin-top:-48px}
 .expense-sheet .expense-amount-card{min-height:94px;padding-top:9px;padding-bottom:9px}
 .expense-category-card{padding-top:8px;padding-bottom:7px}
 .expense-category-card .category-choice .ico-bubble{width:40px;height:40px;margin-bottom:4px}
 .expense-fields-card .glass-field-row{min-height:54px;padding-top:6px;padding-bottom:6px}
 .expense-save-row{padding-top:12px}
 .expense-save-row .save-circle{width:66px;height:66px}
}


/* V13 — New expense as a true iPhone bottom sheet */
.expense-backdrop{align-items:flex-end!important;padding-top:env(safe-area-inset-top);transition:opacity .2s ease}
.sheet.expense-sheet{
  width:min(100%,520px)!important;
  height:84dvh!important;
  max-height:84dvh!important;
  border-radius:34px 34px 0 0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:0 16px calc(18px + env(safe-area-inset-bottom))!important;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.expense-sheet>.grab{display:none!important}
.expense-visual-head{height:154px!important;margin:0 -16px 0!important;border-radius:34px 34px 0 0;overflow:hidden}
.expense-head-photo{height:183px!important;inset:-10px 0 0!important}
.expense-head-wash{background:linear-gradient(180deg,rgba(35,55,68,.10) 0%,rgba(240,235,231,.13) 36%,rgba(239,245,247,.77) 74%,rgba(239,245,247,1) 100%),radial-gradient(circle at 76% 16%,rgba(255,185,140,.20),transparent 38%)!important}
.expense-modal-head{display:flex!important;justify-content:center!important;align-items:flex-start!important;min-height:88px!important;padding:10px 14px 0!important}
.expense-drag-zone{width:min(280px,72vw);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;padding:0 10px 18px}
.expense-drag-zone:active{cursor:grabbing}
.expense-grab{width:42px;height:5px;border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 1px 7px rgba(40,55,65,.13);margin:0 auto 13px}
.expense-sheet-title{font-size:20px;font-weight:520;letter-spacing:-.03em;color:#24313a;text-shadow:0 1px 10px rgba(255,255,255,.5)}
.expense-content-stack{margin-top:-42px!important}

/* Category icons use exactly the same sizing and line treatment as Home. */
.expense-category-card .category-choice .ico-bubble{width:38px!important;height:38px!important;margin-bottom:5px!important;box-shadow:0 5px 14px rgba(75,92,115,.13),inset 0 1px 0 rgba(255,255,255,.7)!important;border:1px solid rgba(255,255,255,.75)!important}
.expense-category-card .category-choice .ico-bubble svg{width:19px!important;height:19px!important;stroke-width:1.8!important;transform:none!important}
.expense-category-card .category-choice span{font-size:8.2px!important;line-height:1.05!important}
.expense-category-card .category-choice.active .ico-bubble{outline:2px solid rgba(255,255,255,.72)!important;box-shadow:0 7px 17px rgba(67,83,107,.17),0 0 0 2px rgba(103,151,201,.13),inset 0 1px 0 rgba(255,255,255,.72)!important}

/* Placeholder copy should read as an example, never as entered content. */
.expense-fields-card .ghost-field::placeholder{color:#aeb7be!important;opacity:.62!important;font-weight:400}
.expense-fields-card input.ghost-field:not(:placeholder-shown){color:var(--ink)!important}
.expense-fields-card .location-button{min-width:118px!important;justify-content:center!important;color:#63809a!important;background:rgba(255,255,255,.38)!important}
.expense-fields-card .location-button svg{width:16px!important;height:16px!important}

/* Clear round confirmation check, consistent with the app's line icons. */
.expense-save-row .save-circle{display:grid!important;place-items:center!important}
.expense-save-row .save-circle-icon{width:30px!important;height:30px!important;stroke-width:2.15!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important;transform:none!important}

@media(max-width:390px){
 .sheet.expense-sheet{height:86dvh!important;max-height:86dvh!important;padding-left:14px!important;padding-right:14px!important}
 .expense-visual-head{height:146px!important;margin-left:-14px!important;margin-right:-14px!important}
 .expense-content-stack{margin-top:-39px!important}
 .expense-category-card .category-choice .ico-bubble{width:36px!important;height:36px!important}
 .expense-category-card .category-choice .ico-bubble svg{width:18px!important;height:18px!important}
 .expense-fields-card .location-button{min-width:44px!important;width:44px!important;padding:0!important}
 .expense-fields-card .location-button span{display:none!important}
}


/* V14 — New expense polish: robust mobile backdrop, currency divider,
   optical icon centering, stronger selection state and real orange check. */
.expense-backdrop{
  background:rgba(26,31,34,.42)!important;
  opacity:1!important;
  transition:background-color .22s ease!important;
  /* Deliberately no backdrop-filter here: transformed children inside a
     filtered fixed layer can flash white in mobile Safari. */
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  contain:layout paint;
}
.sheet.expense-sheet{
  background:linear-gradient(180deg,#f5efea 0%,#eef4f6 44%,#f7f2ed 100%)!important;
  box-shadow:0 -24px 62px rgba(12,20,25,.26),0 -3px 14px rgba(31,46,55,.10)!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Preferred currencies stay above a clear divider in the native picker. */
.amount-currency select option.currency-divider{color:#a9adb0}

/* Optical, not just mathematical, centering of the six line icons. */
.expense-category-card .category-choice .ico-bubble{
  display:grid!important;
  place-items:center!important;
}
.expense-category-card .category-choice .ico-bubble svg{
  display:block!important;
  transform:translateY(1.15px)!important;
  transform-origin:center!important;
}
.expense-category-card .category-choice .ico-more{transform:translateY(.55px)!important}

/* Selection must be immediately legible without becoming loud. */
.expense-category-card .category-choice{
  border:1px solid transparent!important;
  background:transparent!important;
  color:#758692!important;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.expense-category-card .category-choice.active{
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(236,133,83,.24)!important;
  color:#263b49!important;
  box-shadow:0 6px 17px rgba(63,81,96,.08),inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.expense-category-card .category-choice.active .ico-bubble{
  transform:scale(1.035);
  outline:none!important;
  box-shadow:0 7px 18px rgba(67,83,107,.16),0 0 0 3px rgba(255,255,255,.92),0 0 0 5px rgba(244,139,91,.22),inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.expense-category-card .category-choice.active span{font-weight:620!important;color:#293f4d!important}

/* Explicitly force the save control to be the warm filled confirmation action. */
.expense-save-row .save-circle{
  width:72px!important;
  height:72px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#ffad48 0%,#ff7d23 48%,#ff6514 100%)!important;
  color:#fff!important;
  opacity:1;
  box-shadow:0 16px 34px rgba(255,105,22,.30),0 4px 10px rgba(73,51,35,.10),inset 0 2px 2px rgba(255,255,255,.42),0 0 0 5px rgba(255,255,255,.58)!important;
}
.expense-save-row .save-circle svg.save-circle-icon{
  width:31px!important;height:31px!important;
  stroke:#fff!important;fill:none!important;stroke-width:2.25!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  transform:none!important;
}
.expense-save-row .save-circle:active{transform:scale(.96)!important}

@media(max-width:390px){
  .expense-backdrop{background:rgba(26,31,34,.44)!important}
  .expense-save-row .save-circle{width:68px!important;height:68px!important}
}


/* V15 — Meer / instellingen: calm, functional, same warm glass family */
.more-page .glass-hero-title{text-align:center}
.settings-main{padding-bottom:10px}
.more-trip-card{margin-bottom:18px;padding:18px 18px;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(255,252,247,.88),rgba(245,238,230,.78));backdrop-filter:blur(22px) saturate(1.08);-webkit-backdrop-filter:blur(22px) saturate(1.08)}
.more-trip-card h2{margin:4px 0 3px;font-size:23px;line-height:1.08;font-weight:610;letter-spacing:-.035em}
.more-trip-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}
.more-route-button{width:40px;height:40px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.72);color:#6a7b73;box-shadow:inset 0 0 0 1px rgba(108,94,79,.06),0 5px 16px rgba(71,55,39,.05)}
.more-route-button .ico{width:19px;height:19px}
.glass-section-head{margin-top:15px;margin-bottom:7px;padding:0 4px}
.glass-section-head h2{font-size:12px!important;text-transform:uppercase;letter-spacing:.11em;color:#7b7b76;font-weight:650!important;margin:0!important}
.settings-card{padding:2px 14px!important;overflow:hidden}
.settings-row{min-height:60px;padding:9px 0!important;grid-template-columns:42px minmax(0,1fr) auto 18px!important;gap:10px!important;color:var(--ink);border-bottom-color:rgba(82,72,61,.075)!important}
.settings-row .ico-bubble{width:38px!important;height:38px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 3px 10px rgba(76,58,41,.04)}
.settings-row .ico-bubble svg{width:18px!important;height:18px!important;stroke-width:1.65}
.settings-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.settings-copy b{font-size:14px!important;font-weight:560!important;line-height:1.15}
.settings-copy small{font-size:10.5px;color:var(--muted);line-height:1.2;text-align:left;font-weight:400}
.settings-value{max-width:122px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px!important;color:#777c77!important}
.settings-row>.ico{width:16px!important;height:16px!important;color:#9a9e99!important}
.settings-toggle-row{grid-template-columns:42px minmax(0,1fr) auto!important}
.settings-toggle-row>.ico{display:none}
.settings-switch{width:42px;height:25px;border-radius:999px;background:rgba(112,116,112,.22);padding:3px;display:block;transition:background .18s ease;box-shadow:inset 0 0 0 1px rgba(72,65,57,.04)}
.settings-switch i{display:block;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 5px rgba(52,45,39,.18);transition:transform .2s cubic-bezier(.22,.75,.33,1)}
.settings-switch.on{background:linear-gradient(135deg,#93a98a,#789170)}
.settings-switch.on i{transform:translateX(17px)}
.more-footer{text-align:center;color:#a0a19d;font-size:10px;padding:18px 0 4px}
@media(max-width:390px){
  .more-trip-card{padding:16px}
  .settings-row{min-height:58px}
  .settings-value{max-width:102px;font-size:11px!important}
}


/* V16 — trip creation, automatic destination imagery and restorable backups */
.trip-switch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 16px}
.trip-switch-head h2{margin:0;font-size:23px;font-weight:560;letter-spacing:-.035em}
.trip-switch-actions{display:flex;align-items:center;gap:5px}
.trip-add-icon{width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.58);color:var(--accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 5px 16px rgba(66,56,46,.055)}
.trip-add-icon .ico{width:20px;height:20px;stroke-width:1.8}
.photo-source{font-size:9.5px;line-height:1.35;color:var(--muted);margin:7px 2px 2px;opacity:.78}
.empty-trip-main{margin-top:-28px;position:relative;z-index:4;padding:0 0 24px}
.empty-trip-card{text-align:center;padding:28px 20px}
.empty-trip-card .ico-bubble{margin:0 auto 12px}
.empty-trip-card h2{font-size:22px;font-weight:560;margin:0 0 7px}
.empty-trip-card p{font-size:13px;color:var(--muted);margin:0 auto 18px;max-width:270px;line-height:1.45}


/* V17 — direct, explicit destination status controls */
.destination-status-button{
  border:0!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  cursor:pointer;
  font:inherit;
  line-height:1;
  box-shadow:none!important;
}
.destination-status-button .ico{
  width:12px!important;
  height:12px!important;
  stroke-width:1.8!important;
  transform:rotate(90deg);
  opacity:.72;
}
.destination-status-button:active{transform:scale(.97)}
.status-sheet-current{margin:8px 0 16px;padding:14px 15px;border-radius:18px;background:rgba(255,255,255,.52);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.status-sheet-current p{margin:9px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45}
.status-note{padding:12px 14px;border-radius:16px;background:rgba(241,235,226,.72);color:#6f716d;font-size:11.5px;line-height:1.45;margin:0 0 14px}
.status-note b{color:var(--ink);font-weight:590}
.status-sheet-actions{display:grid;gap:9px}
.status-sheet-actions .primary,.status-sheet-actions .secondary,.status-secondary{margin:0!important}
.status-complete{background:linear-gradient(145deg,#91a48a,#71866c)!important;color:#fff!important}
.next-destination-hint{display:grid;gap:2px;margin:14px 0;padding:13px 14px;border-radius:17px;background:linear-gradient(135deg,rgba(232,239,228,.84),rgba(244,239,231,.72))}
.next-destination-hint span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:650}
.next-destination-hint b{font-size:15px;font-weight:590}
.next-destination-hint small{font-size:10.5px;color:var(--muted)}


/* v18: destination all-in cost */
.destination-allin{display:block;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.25;font-weight:500;max-width:165px}
@media(max-width:390px){.destination-allin{font-size:10px;max-width:145px}}


/* V19 — Budget shows true spendable amount after all committed costs */
.budget-dest-values div small{display:block;margin-top:3px;font-size:8.5px;line-height:1.2;color:var(--muted);font-weight:450}
.budget-dest-available{margin-top:9px;padding:9px 10px;border-radius:14px;background:linear-gradient(135deg,rgba(235,244,231,.72),rgba(255,247,239,.66));border:1px solid rgba(255,255,255,.72);display:flex;align-items:center;justify-content:space-between;gap:10px}
.budget-dest-available span{font-size:9.5px;color:var(--muted)}
.budget-dest-available b{font-size:14px;font-weight:610;color:var(--olive-deep)}
.budget-dest-available.over{background:linear-gradient(135deg,rgba(255,237,231,.78),rgba(255,247,239,.68))}
.budget-dest-available.over b{color:#ad5b37}
@media(max-width:390px){.budget-dest-available{padding:8px 9px}.budget-dest-available b{font-size:13px}.budget-dest-values div small{font-size:8px}}


/* V20 — app-wide settings consistency + subtle trip deletion */
.ico-bubble.red{
  background:linear-gradient(145deg,rgba(246,194,188,.92),rgba(224,116,106,.88));
  color:#7f3e39;
}
.settings-danger-row .settings-copy b{color:#a24e46}
.settings-danger-row .settings-copy small{color:#9d817c}
.settings-danger-row:active{background:rgba(203,88,77,.045)}
.delete-trip-confirm{
  background:linear-gradient(145deg,#d96a60,#c55249)!important;
  box-shadow:0 8px 20px rgba(181,74,64,.18)!important;
}
/* The same quiet sliders glyph is used for edit/settings affordances app-wide. */
.ico-sliders{stroke-width:1.65}

/* v21 — full app review polish */
/* Quieter, more contemporary line language across every screen. */
.ico{stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ico-bubble svg{stroke-width:1.6!important;display:block;transform:none!important}
.nav .ico{stroke-width:1.55}
.glass-icon-btn .ico,.icon-btn .ico{stroke-width:1.55}

/* The progress ring reveals the spectrum as progress grows; keep the aura subtle. */
.glass-ring{
  box-shadow:0 0 20px rgba(84,172,255,.14),8px 9px 18px rgba(255,119,77,.11),-3px 10px 13px rgba(174,103,222,.055),inset 0 0 0 1px rgba(255,255,255,.58)!important;
}
.glass-ring:before{
  background:radial-gradient(circle at 42% 42%,rgba(255,153,76,.17),rgba(99,172,239,.10) 48%,rgba(157,111,210,.045) 65%,transparent 74%)!important;
  filter:blur(9px)!important;
  opacity:.44!important;
}
.home-page .glass-ring{
  box-shadow:0 0 24px rgba(84,172,255,.16),9px 10px 21px rgba(255,111,73,.12),-4px 12px 16px rgba(174,103,222,.06),inset 0 0 0 1px rgba(255,255,255,.62)!important;
}
.home-page .glass-ring:before{filter:blur(10px)!important;opacity:.46!important}

/* Completed budget destinations should recede clearly behind active/planned cards. */
.budget-destination-card.completed{
  opacity:.61!important;
  filter:grayscale(.24) saturate(.38)!important;
  background:linear-gradient(145deg,rgba(246,246,244,.60),rgba(231,234,233,.48))!important;
  box-shadow:0 5px 16px rgba(72,67,61,.035)!important;
}

/* Custom description for the flexible 'Overig' destination fixed cost. */
.fixed-label-field{margin-bottom:8px;color:var(--ink)}
.fixed-label-field::placeholder{color:#aeb1ad;opacity:1}
.fixed-other-create .money-field{margin-top:8px}


/* V22 – mobile fit + flexible destination fixed costs */
html,body{touch-action:pan-y;}
.app-shell{overflow-x:hidden;}
.home-page .budget-focus-copy{min-width:0;max-width:100%;overflow:hidden;}
.home-page .big-money{font-size:clamp(24px,8vw,43px)!important;max-width:100%;white-space:nowrap;overflow:hidden;line-height:1.03;font-variant-numeric:tabular-nums;}
@media(max-width:390px){.home-page .big-money{font-size:clamp(23px,7.8vw,34px)!important;}}
@media(max-width:340px){.home-page .budget-focus{grid-template-columns:82px minmax(0,1fr)!important;gap:9px!important}.home-page .big-money{font-size:24px!important}}
.fixed-other-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.fixed-other-head label{margin:0}
.mini-remove{width:30px;height:30px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.52);color:var(--muted);box-shadow:inset 0 0 0 1px rgba(97,77,57,.07)}
.mini-remove .ico{width:16px;height:16px;stroke-width:1.7}
.add-fixed-post{width:100%;margin:2px 0 16px;display:flex;align-items:center;justify-content:center;gap:7px}
.add-fixed-post .ico{width:17px;height:17px}
.df-other-row,.d-fixed-other-row{padding:12px;border-radius:18px;background:rgba(255,255,255,.32);box-shadow:inset 0 0 0 1px rgba(112,91,66,.06)}
.df-other-row+.df-other-row,.d-fixed-other-row+.d-fixed-other-row{margin-top:8px}


/* V23 — never hide overspending behind zero */
.negative-money{color:#b84f43!important;}
.tile.over-budget .money{color:#b84f43!important;}
.tile.over-budget{background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,239,235,.66))!important;}
.budget-total-button.over-budget-total strong{color:#b84f43!important;}
.budget-dest-available.over b{color:#b84f43!important;}
.breakdown-total.negative-money small{color:#8d6d68!important;}


/* V24 — real trip-day calculation, accommodation-night coverage and matching success check */
.destination-stay-progress{margin-top:10px;padding:8px 11px;border-radius:14px;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.62);display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;line-height:1.25}
.destination-stay-progress svg{width:16px;height:16px;flex:0 0 auto;color:#6683a0;stroke-width:1.65}
.destination-stay-progress.over{color:var(--danger);background:rgba(218,88,78,.055)}
.save-check{display:grid!important;place-items:center!important;overflow:visible!important}
.save-check .save-circle-icon{width:32px!important;height:32px!important;stroke:currentColor!important;stroke-width:2.15!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important;overflow:visible!important;transform:none!important}

/* V25 release-candidate polish */
/* Let the final coach card clear the floating navigation on every iPhone. */
.home-after-fold{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}
.coach{margin-bottom:8px!important}
.optional-label{font-size:11px;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}
.no-budget-focus .glass-ring{filter:saturate(.45);opacity:.78}
.no-budget-tile .money{color:#969b97;font-weight:540}.no-budget-tile .planned{display:block!important;color:#a2a6a2}
.today-budget-row{background:linear-gradient(90deg,rgba(255,239,228,.52),rgba(255,255,255,.20));border-radius:11px;padding:7px 8px!important;margin:2px -2px}
.onboarding-optional{margin-top:18px;padding:13px;border-radius:20px;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.68)}
.onboarding-optional>small{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:-4px}
/* A selected choice is unmistakable, but still soft/glassy. */
.category-choice.active{background:linear-gradient(145deg,rgba(255,231,215,.82),rgba(255,249,245,.68))!important;border-color:rgba(255,103,42,.34)!important;box-shadow:0 7px 18px rgba(255,102,39,.10),inset 0 1px 0 rgba(255,255,255,.86),inset 0 0 0 1px rgba(255,255,255,.34)!important;color:#8f4d31!important;transform:translateY(-1px)}
.category-choice.active .ico-bubble{box-shadow:0 5px 13px rgba(255,103,42,.13),inset 0 0 0 1px rgba(255,255,255,.70)!important}
.category-choice.active span{font-weight:650;color:#8f4d31}
/* Keep long Home amounts inside their card. */
.home-page .budget-focus{grid-template-columns:minmax(82px,104px) minmax(0,1fr) auto!important}
.home-page .budget-focus-copy{min-width:0}.home-page .big-money{font-size:clamp(22px,7.2vw,39px)!important;text-overflow:clip}
@media(max-width:390px){.home-page .budget-focus{grid-template-columns:82px minmax(0,1fr) 14px!important}.home-page .big-money{font-size:clamp(21px,7vw,31px)!important}}


/* V26 — motion, sheet gestures and iPhone edge polish */
html,body{overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch;}
/* Global shell already reserves space for the floating nav; do not reserve it twice. */
.home-after-fold{padding-bottom:14px!important;}
.coach{margin-bottom:4px!important;}

.sheet-backdrop{background:rgba(24,29,32,.34);opacity:0;transition:opacity .19s ease,background-color .16s ease!important;}
.sheet-backdrop.visible{opacity:1;}
.sheet-backdrop.closing{opacity:0;}
.sheet{transform:translate3d(0,18px,0);opacity:.985;transition:transform .28s cubic-bezier(.22,.82,.27,1),opacity .2s ease;will-change:transform;}
.sheet-backdrop.visible .sheet{transform:translate3d(0,0,0);opacity:1;}
.sheet>.grab{display:block;width:42px;height:5px;border-radius:999px;background:rgba(88,99,108,.27);margin:2px auto 15px;touch-action:none;cursor:grab;}
.sheet>.grab:active{cursor:grabbing;background:rgba(88,99,108,.40);}

/* Gentle life on page entry, without turning the interface into an animation demo. */
.app-motion-in .glass-card,.app-motion-in .glass-coach,.app-motion-in .glass-section-head{animation:softRise .42s cubic-bezier(.22,.72,.31,1) both;}
.app-motion-in .glass-card:nth-of-type(2){animation-delay:.035s}.app-motion-in .glass-card:nth-of-type(3){animation-delay:.07s}
@keyframes softRise{from{opacity:.68;transform:translateY(5px)}to{opacity:1;transform:none}}
.app-motion-in .glass-ring{animation:ringArrive .68s cubic-bezier(.2,.72,.28,1) both;}
@keyframes ringArrive{0%{opacity:.3;transform:scale(.78) rotate(-12deg);filter:saturate(.7)}65%{opacity:1;transform:scale(1.025) rotate(1deg)}100%{transform:scale(1) rotate(0)}}

.save-success-soft{gap:10px!important;}
.save-success-soft .save-check{animation:checkBloom .58s cubic-bezier(.17,.86,.28,1) both;}
.save-success-soft strong{animation:successCopy .42s .12s ease both;}
.save-success-soft small{font-size:11px;color:var(--muted);animation:successCopy .42s .2s ease both;}
@keyframes checkBloom{0%{opacity:0;transform:scale(.55);box-shadow:0 0 0 rgba(255,90,24,0)}60%{opacity:1;transform:scale(1.08);box-shadow:0 14px 34px rgba(255,90,24,.23)}100%{transform:scale(1);box-shadow:0 10px 26px rgba(255,90,24,.15)}}
@keyframes successCopy{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}

/* Inputs that change budget should feel editable rather than sticky/static. */
.money-field input:focus,.budget-entry input:focus{background:rgba(255,250,246,.72)!important;box-shadow:0 0 0 3px rgba(255,139,77,.10)!important;}

@media (prefers-reduced-motion:reduce){.app-motion-in .glass-card,.app-motion-in .glass-coach,.app-motion-in .glass-section-head,.app-motion-in .glass-ring,.save-success-soft .save-check,.save-success-soft strong,.save-success-soft small{animation:none!important}}


/* V27 — static expense popup, true swipe sheets, ring color-only motion */
body.sheet-open{overflow:hidden!important;overscroll-behavior:none!important}
.sheet-backdrop{touch-action:none!important}
.sheet{touch-action:pan-y!important}
.sheet>.grab{touch-action:none!important}

/* The ring itself never scales/rotates: only the coloured arc grows. */
.app-motion-in .glass-ring{animation:none!important;transform:none!important;opacity:1!important;filter:none!important;background:rgba(121,132,142,.14)!important;overflow:visible}
.glass-ring:before{content:""!important;position:absolute!important;inset:0!important;border-radius:50%!important;background:conic-gradient(from -18deg,#ffb43e 0deg,#ff8747 72deg,#ef6798 154deg,#ae70df 232deg,#62a9ea 310deg,#3fa8df 360deg)!important;-webkit-mask:conic-gradient(#000 0 var(--ring-angle,0deg),transparent var(--ring-angle,0deg) 360deg)!important;mask:conic-gradient(#000 0 var(--ring-angle,0deg),transparent var(--ring-angle,0deg) 360deg)!important;filter:none!important;opacity:1!important;transform:none!important;box-shadow:none!important}
.glass-ring strong,.glass-ring span{animation:none!important;transform:none!important}
.home-page .glass-ring strong{transform:translateY(-6px)!important}

/* New expense: one compact, non-scrolling popup with no photo header. */
.sheet.expense-sheet{height:min(86dvh,720px)!important;max-height:min(86dvh,720px)!important;overflow:hidden!important;border-radius:34px 34px 0 0!important;padding:8px 14px calc(12px + env(safe-area-inset-bottom))!important;background:linear-gradient(150deg,rgba(252,249,247,.97),rgba(243,245,247,.95))!important;display:flex!important;flex-direction:column!important}
.sheet.expense-sheet>.grab{display:block!important;flex:0 0 auto;margin:1px auto 6px!important;width:44px!important;height:5px!important;background:rgba(80,91,100,.28)!important}
.expense-static-head{flex:0 0 auto;text-align:center;padding:0 0 5px}
.expense-static-head .expense-sheet-title{font-size:18px!important;line-height:1.15!important;color:var(--ink)!important;text-shadow:none!important;font-weight:570!important}
.expense-content-stack{margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:6px!important;min-height:0!important;flex:1 1 auto!important;overflow:hidden!important}
.expense-sheet .expense-amount-card{margin:0!important;min-height:76px!important;padding:5px 8px!important;border-radius:22px!important;flex:0 0 auto!important}
.expense-sheet .amount-editor{min-height:64px!important}
.expense-sheet .amount-input{font-size:42px!important;width:min(190px,52vw)!important}
.expense-sheet .amount-currency{min-width:60px!important;height:48px!important;border-radius:17px!important}
.expense-sheet .amount-currency>span{font-size:26px!important}
.expense-category-card{margin:0!important;padding:3px 4px!important;flex:0 0 auto!important}
.expense-sheet .category-grid{gap:3px!important}
.expense-sheet .category-choice{padding:4px 1px 3px!important;border-radius:13px!important}
.expense-sheet .category-choice .ico-bubble{width:34px!important;height:34px!important;margin-bottom:3px!important}
.expense-sheet .category-choice span{font-size:8.5px!important}
.expense-fields-card{margin:0!important;padding:0 10px!important;border-radius:22px!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.expense-fields-card .glass-field-row{min-height:49px!important;padding:4px 0!important}
.expense-fields-card .glass-field-row>label{font-size:10.5px!important}
.expense-fields-card .ghost-field{font-size:16px!important;min-height:25px!important}
.expense-fields-card .field-orb{width:34px!important;height:34px!important;border-radius:12px!important}
.expense-fields-card .location-button{height:33px!important}
.expense-save-row{flex:0 0 auto!important;padding:4px 0 1px!important;margin:0!important}
.expense-save-row .save-circle{width:62px!important;height:62px!important}
.expense-sheet>.text-delete{margin:0!important;flex:0 0 auto!important}
.expense-backdrop{background:rgba(24,29,32,.46)!important;overflow:hidden!important}

@media(max-height:740px){
 .sheet.expense-sheet{height:89dvh!important;max-height:89dvh!important}
 .expense-sheet .expense-amount-card{min-height:66px!important}.expense-sheet .amount-editor{min-height:56px!important}.expense-sheet .amount-input{font-size:37px!important}
 .expense-sheet .category-choice .ico-bubble{width:30px!important;height:30px!important}.expense-sheet .category-choice span{font-size:7.8px!important}
 .expense-fields-card .glass-field-row{min-height:43px!important;padding:2px 0!important}.expense-save-row .save-circle{width:56px!important;height:56px!important}
}


/* V28 — iPhone usability, portrait, safe-area hero and budget modes */
html,body{overscroll-behavior-y:auto}
body{padding-top:0!important}
.home-page{padding-top:0!important}
.home-page .hero.glass-hero{margin-top:calc(-1 * env(safe-area-inset-top));height:calc(258px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
@media(max-height:760px){.home-page .hero.glass-hero{height:calc(226px + env(safe-area-inset-top))}}
@media(max-height:680px){.home-page .hero.glass-hero{height:calc(204px + env(safe-area-inset-top))}}

/* The most-used sheet: one-screen, fixed, no internal/background scrolling. */
body.sheet-open{overflow:hidden!important;position:fixed!important;width:100%!important;inset:0!important}
.sheet.expense-sheet{height:min(88dvh,720px)!important;max-height:88dvh!important;overflow:hidden!important;padding:8px 14px calc(10px + env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:column!important}
.expense-sheet>.grab{display:block!important;flex:0 0 auto;background:rgba(77,88,96,.28)!important;margin:2px auto 6px!important}
.expense-static-head{flex:0 0 auto;text-align:center;padding:0 0 5px}
.expense-content-stack{margin:0!important;display:flex!important;flex-direction:column!important;gap:6px!important;min-height:0!important;flex:1!important}
.expense-sheet .expense-amount-card{min-height:78px!important;margin:0!important;padding:5px 8px!important;border-radius:23px!important;flex:0 0 auto}
.expense-sheet .amount-editor{min-height:64px!important}.expense-sheet .amount-input{font-size:44px!important}
.expense-category-card{margin:0!important;padding:6px!important;border-radius:22px!important;flex:0 0 auto}.expense-category-card .category-grid{grid-template-columns:repeat(6,1fr)!important;gap:2px!important}.expense-category-card .category-choice{min-width:0!important;padding:4px 1px!important;border-radius:14px!important}.expense-category-card .category-choice .ico-bubble{width:34px!important;height:34px!important;margin:0 auto 3px!important}.expense-category-card .category-choice span{font-size:7.2px!important;min-height:15px!important}.expense-category-card .category-choice.active{background:linear-gradient(145deg,rgba(255,164,96,.24),rgba(255,255,255,.55))!important;box-shadow:inset 0 0 0 1px rgba(245,126,54,.30),0 5px 14px rgba(245,126,54,.08)!important;color:#9b4c20!important}
.expense-fields-card{margin:0!important;padding:1px 10px!important;border-radius:22px!important;flex:1 1 auto;min-height:0}.expense-fields-card .glass-field-row{min-height:48px!important;padding:4px 0!important}.expense-fields-card .field-orb{width:33px!important;height:33px!important;border-radius:12px!important}.expense-fields-card .ghost-field{font-size:15px!important;min-height:23px!important}.expense-fields-card .location-button{height:31px!important}
.expense-save-row{padding:4px 0 0!important;flex:0 0 auto}.expense-save-row .save-circle{width:58px!important;height:58px!important}.expense-save-row .save-circle-icon{width:25px!important;height:25px!important}.expense-sheet .text-delete{margin:0 auto!important;flex:0 0 auto}
@media(max-height:700px){.sheet.expense-sheet{height:92dvh!important;max-height:92dvh!important}.expense-sheet .expense-amount-card{min-height:70px!important}.expense-sheet .amount-editor{min-height:56px!important}.expense-sheet .amount-input{font-size:40px!important}.expense-fields-card .glass-field-row{min-height:43px!important}.expense-category-card .category-choice .ico-bubble{width:31px!important;height:31px!important}.expense-save-row .save-circle{width:52px!important;height:52px!important}}

/* Bigger, forgiving settings target */
.budget-gear{width:48px!important;height:48px!important;z-index:8}.budget-hero-card{padding-top:28px!important}

.budget-mode-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0 14px}.budget-mode{border:1px solid rgba(255,255,255,.78);background:rgba(255,255,255,.42);border-radius:18px;padding:13px 14px;text-align:left;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.budget-mode b,.budget-mode small{display:block}.budget-mode small{color:var(--muted);margin-top:3px}.budget-mode.active{background:linear-gradient(145deg,rgba(255,161,92,.24),rgba(255,255,255,.55));border-color:rgba(244,127,56,.32);box-shadow:0 7px 18px rgba(245,126,54,.08),inset 0 1px 0 rgba(255,255,255,.85)}
.onboard{text-align:center;padding:10px 2px 4px}.onboard-mark{width:58px;height:58px;border-radius:20px;margin:0 auto 12px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,169,104,.38),rgba(255,255,255,.62));color:var(--accent)}.onboard-mark svg{width:27px}.onboard h2{margin:6px 0 18px}.onboard-steps{display:grid;gap:10px;text-align:left;margin:0 0 20px}.onboard-steps>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center}.onboard-steps b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,149,75,.15);color:#a95827}.onboard-steps span{font-size:13px;color:var(--muted)}

/* Installed PWA is portrait-only. In a browser, give a graceful guard. */
@media (orientation:landscape) and (max-height:600px){body:after{content:'Draai je telefoon rechtop om TravelHub te gebruiken';position:fixed;inset:0;z-index:9999;background:#f4eee9;display:grid;place-items:center;text-align:center;padding:30px;font:600 18px/1.35 -apple-system,BlinkMacSystemFont,'SF Pro Display',sans-serif;color:#34414a}}


/* V29 — mode-aware homes, full safe-area banners, consistent sheets and notes */

/* Every banner page now continues underneath the iOS status bar. */
.glass-page>.hero.glass-hero{
  margin-top:calc(-1 * env(safe-area-inset-top))!important;
  padding-top:env(safe-area-inset-top)!important;
  height:calc(224px + env(safe-area-inset-top))!important;
}
.home-page>.hero.glass-hero,.home-page .home-fold>.hero.glass-hero{
  height:calc(258px + env(safe-area-inset-top))!important;
}
.compact-hero{height:calc(205px + env(safe-area-inset-top))!important}

/* No artificial landscape warning: installed PWA remains portrait-primary. */
@media (orientation:landscape) and (max-height:600px){body:after{content:none!important;display:none!important}}

/* Expense form alignment and smoother confirmation glow. */
.expense-fields-card .glass-field-row label,
.expense-fields-card .glass-field-row input,
.expense-fields-card .glass-field-row select{ text-align:left!important; }
#exp-date{ text-align:left!important; direction:ltr!important; }
.expense-save-row{
  position:relative;
  padding-bottom:14px!important;
  overflow:visible!important;
}
.expense-save-row:before{
  content:""; position:absolute; inset:-16px 20% -12px;
  background:radial-gradient(circle,rgba(255,117,39,.15),rgba(255,117,39,0) 68%);
  filter:blur(10px); pointer-events:none;
}
.expense-save-row .save-circle{position:relative;z-index:1;box-shadow:0 13px 28px rgba(255,90,24,.22),0 3px 10px rgba(76,54,35,.06),0 0 0 6px rgba(255,255,255,.62)!important}

/* Mode-aware Home */
.tracking-focus{grid-template-columns:96px 1fr!important}
.tracking-orb{
 width:86px;height:86px;border-radius:50%;display:grid;place-items:center;
 background:linear-gradient(145deg,rgba(255,190,132,.45),rgba(255,255,255,.68));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 26px rgba(193,127,77,.10);
 color:#a86137;
}
.tracking-orb svg{width:31px;height:31px}
.tracking-tile .money{font-size:16px!important}
.total-focus .glass-ring{filter:saturate(.88)}

/* Destination notes */
.destination-note{padding:16px 18px}
.destination-note p{margin:7px 0 0;line-height:1.45;color:#4e5753;white-space:pre-wrap}
.destination-note-editor textarea{resize:none;min-height:84px;line-height:1.4}

/* New-trip experience */
.new-trip-celebrate{
 width:100%;margin-top:14px;border:0;border-radius:22px;padding:16px;
 display:grid;grid-template-columns:48px 1fr 24px;gap:12px;align-items:center;text-align:left;
 background:linear-gradient(145deg,rgba(255,162,93,.22),rgba(255,255,255,.62));
 border:1px solid rgba(255,255,255,.78);box-shadow:0 10px 28px rgba(154,103,67,.08);
 color:var(--ink);
}
.new-trip-celebrate>span{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:var(--accent);color:white;box-shadow:0 9px 22px rgba(255,90,24,.20)}
.new-trip-celebrate>span svg{width:24px}
.new-trip-celebrate b,.new-trip-celebrate small{display:block}
.new-trip-celebrate small{margin-top:3px;color:var(--muted)}
.trip-create-intro{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:13px 14px;margin-bottom:14px;border-radius:20px;background:linear-gradient(145deg,rgba(255,205,167,.20),rgba(255,255,255,.45));border:1px solid rgba(255,255,255,.7)}
.trip-create-intro b,.trip-create-intro small{display:block}.trip-create-intro small{margin-top:3px;color:var(--muted)}
.trip-create-orb{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#ffd2ae,#fff3e8);color:#a85d32}
.home-costs-toggle{width:100%;border:0;background:rgba(255,255,255,.38);border-radius:16px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;color:var(--ink)}
.home-costs-toggle svg{width:17px;transition:transform .2s ease}.home-costs-toggle.open svg{transform:rotate(90deg)}
.new-home-costs-detail{padding-top:8px}
.setup-help{font-size:12px;line-height:1.4;color:var(--muted);margin:6px 2px 15px}
.trip-create-save{margin-top:8px}

/* All route/page openings feel deliberate but calm. */
.app-motion-in .glass-page>.hero{animation:v29HeroIn .5s cubic-bezier(.2,.8,.25,1) both}
.app-motion-in .page-over-hero>.card,
.app-motion-in .home-main>.card,
.app-motion-in .home-after-fold>.card,
.app-motion-in .home-after-fold>.coach{animation:v29CardIn .44s cubic-bezier(.2,.8,.25,1) both}
.app-motion-in .page-over-hero>*:nth-child(2),.app-motion-in .home-after-fold>*:nth-child(2){animation-delay:.04s}
@keyframes v29HeroIn{from{opacity:.75;transform:scale(1.012) translateY(-5px);filter:saturate(.84)}to{opacity:1;transform:none;filter:none}}
@keyframes v29CardIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.app-motion-in .glass-page>.hero,.app-motion-in .page-over-hero>*,.app-motion-in .home-main>*,.app-motion-in .home-after-fold>*{animation:none!important}}

/* V30: branded launch + unified visual language */
.travelhub-splash{position:fixed;inset:0;z-index:20000;background:linear-gradient(155deg,#f7f0ea,#eee5de);display:grid;place-items:center;opacity:0;transition:opacity .28s ease}.travelhub-splash.show{opacity:1}.travelhub-splash.leave{opacity:0}.splash-inner{text-align:center;transform:scale(.72);opacity:.2;transition:transform .62s cubic-bezier(.16,.86,.28,1),opacity .4s ease}.travelhub-splash.show .splash-inner{transform:scale(1);opacity:1}.splash-logo{width:86px;height:86px;margin:0 auto 14px;border-radius:30px;display:grid;place-items:center;background:linear-gradient(145deg,#f5a064,#eb7439);color:#fff;box-shadow:0 22px 55px rgba(213,112,55,.20),inset 0 1px 0 rgba(255,255,255,.42)}.splash-logo svg{width:39px;height:39px}.splash-word{font:600 28px/1 -apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;letter-spacing:-1.2px;color:#39434a}.splash-word span{font-weight:400;color:#a45f38}

/* Equal main banners and centered hierarchy */
.glass-page>.hero.glass-hero,.home-page .home-fold>.hero.glass-hero{height:calc(244px + env(safe-area-inset-top))!important;margin-top:calc(-1 * env(safe-area-inset-top))!important;padding-top:env(safe-area-inset-top)!important;border-radius:0 0 34px 34px!important;overflow:hidden!important}
.glass-page>.hero.glass-hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:74px;background:linear-gradient(to bottom,rgba(246,240,235,0),rgba(246,240,235,.95));pointer-events:none;z-index:1}
.compact-hero .hero-content,.budget-hero .hero-content{position:relative;z-index:2;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}.compact-hero h1,.budget-hero h1{text-align:center!important;margin-left:auto!important;margin-right:auto!important}.compact-hero .trip-switcher,.budget-hero .trip-switcher{margin-left:auto!important;margin-right:auto!important}

/* Align native date fields with text fields */
input[type=date]{text-align:left!important;text-align-last:left!important;direction:ltr!important;accent-color:#ef7f42!important;color-scheme:light!important}input[type=date]::-webkit-date-and-time-value{text-align:left!important;margin:0!important}input[type=date]::-webkit-datetime-edit{text-align:left!important}

/* Approved warmer percentage ring; only arc changes */
.glass-ring{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.94) 0 54%,transparent 55%),conic-gradient(from -90deg,#f4bd72 0deg,#efa06d calc(var(--ring-angle,0deg)*.34),#df9290 calc(var(--ring-angle,0deg)*.60),#b391aa calc(var(--ring-angle,0deg)*.80),#879bab var(--ring-angle,0deg),rgba(216,209,204,.38) var(--ring-angle,0deg) 360deg)!important;box-shadow:0 12px 30px rgba(166,115,88,.09),inset 0 1px 0 rgba(255,255,255,.85)!important;filter:saturate(.88)!important}.glass-ring strong,.glass-ring span{animation:none!important;transform:none!important}
.simple-stat-card{margin:8px 0 14px;padding:20px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.34));border:1px solid rgba(255,255,255,.76);display:flex;align-items:end;justify-content:space-between}.simple-stat-card span{font-size:13px;color:var(--muted)}.simple-stat-card strong{font-size:26px;letter-spacing:-.7px}.sheet-note{font-size:12px;color:var(--muted);margin:0 2px 16px}
.hero-bg,.hero-bg:after,.glass-hero img{border-radius:inherit!important}

/* V31 — reference ring, stronger mode separation, 1.6s branded intro */
.travelhub-splash{opacity:1!important}
.travelhub-splash .splash-inner{opacity:0;transform:scale(.72)}
.travelhub-splash.animate .splash-inner{opacity:1;transform:scale(1);transition:transform .78s cubic-bezier(.16,.86,.28,1),opacity .45s ease}
.travelhub-splash.leave{opacity:0!important;transition:opacity .34s ease}

/* SVG ring copied from approved visual direction */
.svg-progress-ring{width:106px;height:106px;position:relative;display:grid;place-items:center;flex:0 0 auto}
.svg-progress-ring svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.ring-track-svg,.ring-progress-svg{fill:none;stroke-width:10}
.ring-track-svg{stroke:rgba(143,172,202,.22)}
.ring-progress-svg{stroke-linecap:round;filter:drop-shadow(0 2px 5px rgba(118,105,197,.14))}
.ring-center{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1}
.ring-center strong{font-size:24px;font-weight:620;color:#34434f;letter-spacing:-.7px}
.ring-center span{font-size:10px;color:#7b858b;margin-top:6px}
.empty-ring{border:10px solid rgba(143,172,202,.18);border-radius:50%}
.empty-ring .ring-center{position:absolute;inset:0;justify-content:center}
.budget-focus{grid-template-columns:110px 1fr!important}

/* Simple modes deliberately lose financial-dashboard clutter */
.destination-simple-spend{padding:17px}
.simple-spend-head{display:flex;align-items:flex-end;justify-content:space-between;padding:3px 2px 10px}
.simple-spend-head span{font-size:13px;color:var(--muted)}.simple-spend-head strong{font-size:29px;letter-spacing:-1px}
.simple-budget-dest{display:flex;justify-content:space-between;align-items:end;margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.7)}
.simple-budget-dest span{font-size:12px;color:var(--muted)}.simple-budget-dest b{font-size:20px}
.tracking-tile .money{font-size:15px}
.optional-label{font-weight:450;color:#919791;font-size:.85em}


/* =========================================================
   V32 — Liquid-inspired glass polish + app-wide consistency
   ========================================================= */
:root{
 --liquid-edge:rgba(255,255,255,.82);
 --liquid-shadow:0 14px 34px rgba(73,65,59,.085),0 2px 7px rgba(74,65,60,.035);
 --liquid-inner:inset 0 1px 0 rgba(255,255,255,.90),inset 0 -1px 0 rgba(255,255,255,.23);
}
html,body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif}
.ico{stroke-width:1.65!important;stroke-linecap:round!important;stroke-linejoin:round!important;fill:none!important}
.ico path{vector-effect:non-scaling-stroke}
.ico-bubble{display:grid!important;place-items:center!important;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 4px 10px rgba(70,65,60,.055)!important}
.ico-bubble .ico{width:20px!important;height:20px!important;margin:0!important;transform:none!important;display:block!important}

/* Same banner optical treatment everywhere: use the approved Home fade. */
.hero.glass-hero:before,
.home-page .hero.glass-hero:before,
.budget-screen .hero.glass-hero:before,
.expenses-screen .hero.glass-hero:before,
.more-page .hero.glass-hero:before,
.destinations-page .hero.glass-hero:before,
.destination-detail-page .hero.glass-hero:before{
 background:
  linear-gradient(105deg,rgba(35,67,96,.08),rgba(255,171,113,.04) 48%,rgba(255,174,91,.11) 100%),
  linear-gradient(180deg,rgba(12,33,50,.02) 0%,rgba(255,198,154,.025) 48%,rgba(239,246,248,.06) 68%,rgba(238,246,248,.88) 100%)!important;
}
.hero.glass-hero:after,
.home-page .hero.glass-hero:after,
.budget-screen .hero.glass-hero:after,
.expenses-screen .hero.glass-hero:after,
.more-page .hero.glass-hero:after,
.destinations-page .hero.glass-hero:after,
.destination-detail-page .hero.glass-hero:after{
 height:92px!important;background:linear-gradient(180deg,rgba(238,246,248,0),rgba(238,246,248,.52) 52%,rgba(238,246,248,.98) 100%)!important;
}

/* Main screens share one visual hierarchy. */
.hero-nav.centered .hero-trip{justify-self:center!important;position:relative!important;text-align:center!important;gap:0!important}
.hero-nav.centered .hero-trip svg{position:absolute!important;left:calc(100% + 8px)!important;top:50%!important;transform:translateY(-50%)!important}
.hero-page-copy{left:24px!important;right:24px!important;text-align:center!important}
.hero-page-copy h1{font-size:31px!important;font-weight:570!important;letter-spacing:-.035em!important}
.hero-page-copy p{font-size:14px!important}
.home-page .hero-day.centered{font-weight:430!important}

/* Liquid-inspired content cards: stronger identity than the canvas, still calm. */
.home-page .budget-focus,
.home-page .tile,
.budget-destination-card,
.route-destination,
.expense-browser,
.expense-day-card,
.more-trip-card,
.settings-card,
.destination-overview,
.destination-card,
.destination-simple-spend,
.budget-hero-card,
.budget-accordion-v7{
 position:relative!important;
 background:
   radial-gradient(120% 90% at 10% -10%,rgba(255,255,255,.94),rgba(255,255,255,0) 55%),
   linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.43) 58%,rgba(255,246,239,.38))!important;
 border:1px solid var(--liquid-edge)!important;
 box-shadow:var(--liquid-shadow),var(--liquid-inner)!important;
 -webkit-backdrop-filter:blur(28px) saturate(155%)!important;
 backdrop-filter:blur(28px) saturate(155%)!important;
}
.home-page .budget-focus:after,
.home-page .tile:after,
.budget-destination-card:after,
.route-destination:after,
.expense-browser:after,
.expense-day-card:after,
.more-trip-card:after,
.settings-card:after,
.destination-overview:after,
.destination-card:after,
.destination-simple-spend:after,
.budget-hero-card:after,
.budget-accordion-v7:after{
 content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;
 background:linear-gradient(120deg,rgba(255,255,255,.42),transparent 27%,transparent 72%,rgba(255,174,112,.055));
}
.home-page .tile{min-height:96px!important}

/* Approved ring, slightly larger, with clear pure colors and restrained glow. */
.svg-progress-ring{width:118px!important;height:118px!important}
.ring-track-svg,.ring-progress-svg{stroke-width:9.5!important}
.ring-track-svg{stroke:rgba(112,162,217,.20)!important}
.ring-progress-svg{filter:drop-shadow(0 2px 4px rgba(99,91,205,.12))!important}
.ring-center strong{font-size:25px!important;color:#29394b!important}
.ring-center span{font-size:10px!important}
.budget-focus{grid-template-columns:124px minmax(0,1fr)!important;gap:14px!important}
.budget-focus-copy{min-width:0!important}
.budget-focus-copy>.subtle:first-child{white-space:nowrap!important;font-size:clamp(11px,3.2vw,14px)!important;letter-spacing:-.01em!important}
.big-money{font-size:clamp(34px,10.5vw,45px)!important;line-height:1!important;white-space:nowrap!important;max-width:100%!important;letter-spacing:-.045em!important}
@media(max-width:390px){.svg-progress-ring{width:108px!important;height:108px!important}.budget-focus{grid-template-columns:112px minmax(0,1fr)!important;gap:10px!important}.big-money{font-size:clamp(31px,9.5vw,40px)!important}.budget-focus-copy>.subtle:first-child{font-size:11px!important}}
@media(max-width:350px){.svg-progress-ring{width:100px!important;height:100px!important}.budget-focus{grid-template-columns:104px minmax(0,1fr)!important}.big-money{font-size:31px!important}}

/* More consistent icon cells and typography. */
.tile .name,.category-choice span{font-weight:480!important;letter-spacing:-.015em!important}
.tile .money{font-weight:590!important;font-variant-numeric:tabular-nums}
.settings-row b,.expense-name,.dest-info strong,.budget-destination-card strong{font-weight:570!important}

/* Reliable branded boot: initially covers app, then actual zoom + fade. */
.travelhub-splash{position:fixed;inset:0;z-index:30000;background:linear-gradient(155deg,#f7f0ea 0%,#efe7e0 60%,#eee8e2 100%);display:grid;place-items:center;opacity:1!important;transition:opacity .34s ease!important}
.travelhub-splash .splash-inner{opacity:0!important;transform:scale(.72)!important;filter:blur(4px);transition:transform .82s cubic-bezier(.16,.86,.28,1),opacity .42s ease,filter .58s ease!important}
.travelhub-splash.animate .splash-inner{opacity:1!important;transform:scale(1)!important;filter:blur(0)!important}
.travelhub-splash.hold .splash-logo{box-shadow:0 25px 65px rgba(213,112,55,.23),inset 0 1px 0 rgba(255,255,255,.52)!important}
.travelhub-splash.leave{opacity:0!important}
.splash-logo svg{width:39px;height:39px;stroke:white;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.splash-word{margin-top:2px!important}

/* Keep overlays above liquid cards. */
.nav,.sheet-backdrop,.sheet,.fab{isolation:isolate}


/* V33 — Stability & alignment */
.budget-screen .hero-page-copy,
.expenses-screen .hero-page-copy,
.more-page .hero-page-copy{
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 24px!important;
  text-align:center!important;
}
.budget-screen .hero-page-copy h1,
.expenses-screen .hero-page-copy h1,
.more-page .hero-page-copy h1{
  margin:0!important;
  text-align:center!important;
}
.budget-screen .hero-page-copy p,
.expenses-screen .hero-page-copy p,
.more-page .hero-page-copy p{
  text-align:center!important;
}

.budget-mini-metrics.three-up{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
}
.budget-mini-metrics.three-up>div{
  min-width:0;
  padding:0 8px;
}
.budget-mini-metrics.three-up>div+div{
  border-left:1px solid rgba(106,112,112,.12);
}
.budget-mini-metrics.three-up span{
  white-space:nowrap;
  font-size:10px!important;
}
.budget-mini-metrics.three-up b{
  white-space:nowrap;
  font-size:15px!important;
}
.budget-mini-metrics.two-up{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

@media(max-width:370px){
  .budget-mini-metrics.three-up>div{padding:0 5px}
  .budget-mini-metrics.three-up span{font-size:9px!important}
  .budget-mini-metrics.three-up b{font-size:13.5px!important}
}

/* =========================================================
   V34 — Liquid Glass Experience
   Visual-only pass on top of stable V33
   ========================================================= */
:root{
  --lg-white:rgba(255,255,255,.58);
  --lg-white-hi:rgba(255,255,255,.92);
  --lg-edge:rgba(255,255,255,.78);
  --lg-edge-soft:rgba(255,255,255,.44);
  --lg-ink:#25333d;
  --lg-shadow:0 16px 38px rgba(54,61,67,.10),0 3px 10px rgba(86,70,61,.05);
  --lg-shadow-key:0 20px 48px rgba(55,64,72,.13),0 5px 14px rgba(97,70,51,.07);
  --lg-inner:inset 0 1px 0 rgba(255,255,255,.94),inset 0 -1px 0 rgba(255,255,255,.26);
}

/* Warmer ambient canvas: still quiet, but the glass can refract something. */
.app-shell{
  background:
    radial-gradient(90% 48% at 0% 42%,rgba(121,199,244,.10),transparent 64%),
    radial-gradient(72% 42% at 100% 58%,rgba(255,176,101,.12),transparent 65%),
    linear-gradient(180deg,#f4f4f1 0%,#edf5f7 52%,#f7eee8 100%)!important;
}
.glass-page{
  background:
    radial-gradient(90% 42% at 4% 52%,rgba(112,197,245,.055),transparent 65%),
    radial-gradient(70% 38% at 96% 70%,rgba(255,166,91,.065),transparent 68%)!important;
}

/* Main liquid material family */
.card.glass-card,
.glass-card,
.home-page .budget-focus,
.home-page .tile,
.route-destination,
.budget-destination-card,
.expense-browser,
.expense-day-card,
.settings-card,
.more-trip-card,
.destination-overview,
.destination-card,
.destination-simple-spend,
.budget-hero-card,
.budget-accordion-v7,
.glass-coach{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(130% 95% at 6% -8%,rgba(255,255,255,.96) 0%,rgba(255,255,255,.38) 42%,transparent 63%),
    radial-gradient(90% 80% at 105% 105%,rgba(255,175,107,.13) 0%,transparent 63%),
    linear-gradient(138deg,rgba(255,255,255,.66) 0%,rgba(255,255,255,.38) 52%,rgba(255,248,244,.42) 100%)!important;
  border:1px solid var(--lg-edge)!important;
  box-shadow:var(--lg-shadow),var(--lg-inner)!important;
  -webkit-backdrop-filter:blur(30px) saturate(170%) brightness(1.04)!important;
  backdrop-filter:blur(30px) saturate(170%) brightness(1.04)!important;
}

/* Thin optical rim: makes the glass read without becoming a white card. */
.card.glass-card:before,
.glass-card:before,
.home-page .budget-focus:before,
.home-page .tile:before,
.route-destination:before,
.budget-destination-card:before,
.expense-browser:before,
.expense-day-card:before,
.settings-card:before,
.more-trip-card:before,
.destination-overview:before,
.destination-card:before,
.destination-simple-spend:before,
.budget-hero-card:before,
.budget-accordion-v7:before,
.glass-coach:before{
  content:""!important;
  position:absolute!important;
  inset:1px!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  background:
    linear-gradient(112deg,rgba(255,255,255,.64) 0%,rgba(255,255,255,.12) 25%,transparent 48%,rgba(255,255,255,.05) 74%,rgba(255,208,167,.12) 100%)!important;
  opacity:.88!important;
  mix-blend-mode:screen!important;
  z-index:0!important;
}

/* Tiny refraction/caustic wash. Static and subtle on purpose. */
.card.glass-card:after,
.glass-card:after,
.home-page .budget-focus:after,
.home-page .tile:after,
.route-destination:after,
.budget-destination-card:after,
.expense-browser:after,
.expense-day-card:after,
.settings-card:after,
.more-trip-card:after,
.destination-overview:after,
.destination-card:after,
.destination-simple-spend:after,
.budget-hero-card:after,
.budget-accordion-v7:after,
.glass-coach:after{
  content:""!important;
  position:absolute!important;
  inset:-22% -12%!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 12% 32%,rgba(88,180,255,.085),transparent 27%),
    radial-gradient(circle at 82% 75%,rgba(255,151,76,.095),transparent 31%),
    radial-gradient(circle at 55% 5%,rgba(205,130,255,.055),transparent 22%)!important;
  filter:blur(12px)!important;
  opacity:.75!important;
  z-index:0!important;
}

/* Keep actual content above optical layers. */
.card.glass-card>*,
.glass-card>*,
.home-page .budget-focus>*,
.home-page .tile>*,
.route-destination>*,
.budget-destination-card>*,
.expense-browser>*,
.expense-day-card>*,
.settings-card>*,
.more-trip-card>*,
.destination-overview>*,
.destination-card>*,
.destination-simple-spend>*,
.budget-hero-card>*,
.budget-accordion-v7>*,
.glass-coach>*{
  position:relative;
  z-index:2;
}

/* The seven Home tiles get stronger hierarchy, close to the concept image. */
.home-page .budget-focus{
  background:
    radial-gradient(100% 110% at 0% 0%,rgba(210,226,255,.46),transparent 55%),
    radial-gradient(90% 100% at 100% 100%,rgba(255,195,149,.34),transparent 58%),
    linear-gradient(130deg,rgba(255,255,255,.72),rgba(255,255,255,.41))!important;
  box-shadow:var(--lg-shadow-key),var(--lg-inner)!important;
  border-color:rgba(255,255,255,.88)!important;
}
.home-page .six-tiles .tile{
  border-color:rgba(255,255,255,.82)!important;
  box-shadow:0 13px 27px rgba(63,73,80,.075),inset 0 1px 0 rgba(255,255,255,.94)!important;
}
/* Subtle category-specific color reflection in the glass, while retaining neutral cards. */
.home-page .six-tiles .tile:nth-child(1){--tile-glow:rgba(255,129,55,.14)}
.home-page .six-tiles .tile:nth-child(2){--tile-glow:rgba(105,186,107,.12)}
.home-page .six-tiles .tile:nth-child(3){--tile-glow:rgba(179,88,223,.12)}
.home-page .six-tiles .tile:nth-child(4){--tile-glow:rgba(72,165,233,.13)}
.home-page .six-tiles .tile:nth-child(5){--tile-glow:rgba(39,190,170,.12)}
.home-page .six-tiles .tile:nth-child(6){--tile-glow:rgba(255,174,50,.13)}
.home-page .six-tiles .tile{
  background:
    radial-gradient(105% 82% at 50% 112%,var(--tile-glow),transparent 56%),
    radial-gradient(115% 100% at 4% -8%,rgba(255,255,255,.94),transparent 58%),
    linear-gradient(145deg,rgba(255,255,255,.63),rgba(255,255,255,.36))!important;
}

/* Circular category icons become small pieces of colored liquid glass. */
.ico-bubble{
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -1px 0 rgba(255,255,255,.18),
    0 7px 18px rgba(52,70,85,.13)!important;
  -webkit-backdrop-filter:blur(8px) saturate(155%)!important;
  backdrop-filter:blur(8px) saturate(155%)!important;
}
.ico-bubble.orange{background:linear-gradient(145deg,#ffc18b 0%,#ff8f3f 48%,#ff6717 100%)!important}
.ico-bubble.sage{background:linear-gradient(145deg,#d4efb8 0%,#92cd7a 52%,#63b263 100%)!important}
.ico-bubble.purple{background:linear-gradient(145deg,#e9bdff 0%,#c176ee 48%,#9b4ad2 100%)!important}
.ico-bubble.blue{background:linear-gradient(145deg,#c5eaff 0%,#71c8fa 48%,#3fa2e4 100%)!important}
.ico-bubble.teal{background:linear-gradient(145deg,#c0f2e9 0%,#68d9c9 50%,#22b8a4 100%)!important}
.ico-bubble.amber{background:linear-gradient(145deg,#ffe6a8 0%,#ffc45e 50%,#ffa51f 100%)!important}

/* Main progress tile: make ring feel like an illuminated object inside the glass. */
.svg-progress-ring{
  filter:drop-shadow(0 8px 13px rgba(98,121,198,.10))!important;
}
.ring-track-svg{
  stroke:rgba(121,170,224,.20)!important;
}
.ring-progress-svg{
  filter:
    drop-shadow(0 1px 2px rgba(255,255,255,.55))
    drop-shadow(0 4px 7px rgba(111,94,213,.17))!important;
}
.ring-center strong{color:#233342!important}

/* Bottom navigation becomes a floating liquid capsule, but stays restrained. */
.nav.glass-nav{
  background:
    radial-gradient(110% 95% at 5% 0%,rgba(255,255,255,.90),transparent 56%),
    linear-gradient(125deg,rgba(255,255,255,.68),rgba(255,255,255,.43))!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:
    0 18px 42px rgba(45,54,62,.14),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -1px 0 rgba(255,255,255,.22)!important;
  -webkit-backdrop-filter:blur(34px) saturate(180%)!important;
  backdrop-filter:blur(34px) saturate(180%)!important;
}
.nav.glass-nav .fab{
  background:
    radial-gradient(circle at 34% 20%,rgba(255,255,255,.35),transparent 22%),
    linear-gradient(150deg,#ffad50 0%,#ff7b20 48%,#ff5d0a 100%)!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:
    0 17px 31px rgba(255,103,29,.31),
    inset 0 2px 2px rgba(255,255,255,.54),
    inset 0 -2px 4px rgba(195,73,13,.12),
    0 0 0 5px rgba(255,255,255,.62)!important;
}

/* Sheets share the same material so opening a form doesn't leave the design system. */
.sheet{
  background:
    radial-gradient(105% 55% at 0% 0%,rgba(207,233,255,.23),transparent 62%),
    radial-gradient(90% 52% at 100% 10%,rgba(255,196,148,.22),transparent 64%),
    linear-gradient(160deg,rgba(249,250,248,.94),rgba(246,242,239,.91))!important;
  border:1px solid rgba(255,255,255,.76)!important;
  box-shadow:0 -22px 62px rgba(31,42,51,.22),inset 0 1px 0 rgba(255,255,255,.9)!important;
  -webkit-backdrop-filter:blur(34px) saturate(150%)!important;
  backdrop-filter:blur(34px) saturate(150%)!important;
}
.sheet-backdrop{
  background:rgba(29,36,41,.34)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  backdrop-filter:blur(3px)!important;
}

/* Liquid selection language: useful anywhere a choice is active. */
.category-choice.active,
.budget-mode.active,
.trip-option.active{
  background:
    radial-gradient(120% 100% at 0% 0%,rgba(255,255,255,.88),transparent 58%),
    linear-gradient(140deg,rgba(255,172,104,.26),rgba(255,255,255,.50))!important;
  border-color:rgba(255,142,70,.35)!important;
  box-shadow:
    0 8px 19px rgba(245,126,54,.09),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}

/* Press feedback: material compresses a fraction instead of hard button motion. */
.home-page .tile,
.home-page .budget-focus,
.budget-destination-card,
.route-destination,
.expense-day-card,
.settings-row,
.trip-option{
  transition:transform .18s cubic-bezier(.2,.8,.25,1),box-shadow .20s ease,filter .20s ease!important;
}
.home-page .tile:active,
.home-page .budget-focus:active,
.budget-destination-card:active,
.route-destination:active,
.expense-day-card:active,
.settings-row:active,
.trip-option:active{
  transform:scale(.985)!important;
  filter:saturate(1.05) brightness(.995)!important;
}

/* Softer coach: still no icon, per the frozen design rules. */
.glass-coach{
  background:
    radial-gradient(120% 120% at 100% 110%,rgba(255,174,104,.20),transparent 58%),
    linear-gradient(135deg,rgba(255,255,255,.58),rgba(241,239,224,.46))!important;
}

/* Keep readability strong on tiny iPhones. */
@media(max-width:390px){
  .home-page .budget-focus{box-shadow:0 14px 31px rgba(55,64,72,.11),var(--lg-inner)!important}
  .home-page .six-tiles .tile{box-shadow:0 9px 21px rgba(63,73,80,.07),inset 0 1px 0 rgba(255,255,255,.92)!important}
}
@media(prefers-reduced-motion:reduce){
  .home-page .tile,
  .home-page .budget-focus,
  .budget-destination-card,
  .route-destination,
  .expense-day-card,
  .settings-row,
  .trip-option{transition:none!important}
}

/* =========================================================
   V35 — Refined Liquid Glass & stable Budget control
   Visual-only override on top of V34.
   ========================================================= */
:root{
  --v35-glass-edge:rgba(255,255,255,.88);
  --v35-glass-shadow:0 17px 38px rgba(45,58,68,.105),0 3px 8px rgba(73,67,62,.04),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(116,156,184,.10);
}

.card.glass-card,
.glass-card,
.home-page .budget-focus,
.home-page .tile,
.route-destination,
.budget-destination-card,
.expense-browser,
.expense-day-card,
.settings-card,
.more-trip-card,
.destination-overview,
.destination-card,
.destination-simple-spend,
.budget-hero-card,
.budget-accordion-v7,
.glass-coach{
  background:
    radial-gradient(125% 82% at 10% -12%,rgba(255,255,255,.78) 0%,rgba(255,255,255,.16) 42%,transparent 62%),
    radial-gradient(75% 88% at 106% 106%,rgba(255,166,91,.105) 0%,transparent 64%),
    radial-gradient(65% 70% at -8% 96%,rgba(89,184,239,.075) 0%,transparent 66%),
    linear-gradient(138deg,rgba(255,255,255,.54) 0%,rgba(255,255,255,.27) 54%,rgba(255,247,242,.31) 100%)!important;
  border-color:var(--v35-glass-edge)!important;
  box-shadow:var(--v35-glass-shadow)!important;
  -webkit-backdrop-filter:blur(25px) saturate(178%) contrast(1.025)!important;
  backdrop-filter:blur(25px) saturate(178%) contrast(1.025)!important;
}

/* Crisp top/left highlight and a cooler lower rim create visible refraction
   while leaving the centre transparent and readable. */
.card.glass-card:before,
.glass-card:before,
.home-page .budget-focus:before,
.home-page .tile:before,
.route-destination:before,
.budget-destination-card:before,
.expense-browser:before,
.expense-day-card:before,
.settings-card:before,
.more-trip-card:before,
.destination-overview:before,
.destination-card:before,
.destination-simple-spend:before,
.budget-hero-card:before,
.budget-accordion-v7:before,
.glass-coach:before{
  inset:0!important;
  padding:1px!important;
  background:linear-gradient(128deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.56) 18%,rgba(255,255,255,.08) 47%,rgba(116,197,239,.18) 76%,rgba(255,183,127,.31) 100%)!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask-composite:exclude!important;
  opacity:.94!important;
  mix-blend-mode:normal!important;
}

.card.glass-card:after,
.glass-card:after,
.home-page .budget-focus:after,
.home-page .tile:after,
.route-destination:after,
.budget-destination-card:after,
.expense-browser:after,
.expense-day-card:after,
.settings-card:after,
.more-trip-card:after,
.destination-overview:after,
.destination-card:after,
.destination-simple-spend:after,
.budget-hero-card:after,
.budget-accordion-v7:after,
.glass-coach:after{
  inset:1px!important;
  background:
    linear-gradient(112deg,rgba(255,255,255,.24),transparent 24%,transparent 68%,rgba(255,189,137,.075)),
    radial-gradient(70% 36% at 8% 104%,rgba(87,190,241,.095),transparent 72%),
    radial-gradient(68% 34% at 98% -4%,rgba(255,174,112,.10),transparent 72%)!important;
  filter:none!important;
  opacity:1!important;
}

.home-page .budget-focus{
  box-shadow:0 21px 47px rgba(45,58,68,.13),0 4px 11px rgba(84,70,60,.045),inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(102,169,210,.12)!important;
}
.home-page .six-tiles .tile{
  box-shadow:0 13px 28px rgba(48,61,70,.095),inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(111,166,198,.10)!important;
}

/* The settings button owns a fixed box and never inherits generic press scaling. */
.budget-hero-card>.budget-gear{
  position:absolute!important;
  top:12px!important;
  right:13px!important;
  left:auto!important;
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  transform:none!important;
  translate:none!important;
  flex:none!important;
  contain:layout paint!important;
  touch-action:manipulation;
}
.budget-hero-card>.budget-gear:active,
.budget-hero-card>.budget-gear:focus,
.budget-hero-card>.budget-gear:focus-visible{
  top:12px!important;
  right:13px!important;
  transform:none!important;
  translate:none!important;
}
.budget-hero-card>.budget-gear .ico-sliders{
  width:21px!important;
  height:21px!important;
  margin:0!important;
  transform:none!important;
}

/* =========================================================
   V36 — Adaptive appearance
   System-aware light/dark mode with a persistent manual choice.
   ========================================================= */
.theme-options{display:grid;gap:9px}
.theme-option{width:100%;min-height:70px;padding:11px 13px;border:1px solid rgba(255,255,255,.75);border-radius:21px;background:rgba(255,255,255,.34);display:grid;grid-template-columns:43px minmax(0,1fr) 22px;align-items:center;gap:11px;color:var(--ink);text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.70)}
.theme-option .ico-bubble{width:40px!important;height:40px!important}
.theme-option>span b{display:block;font-size:14px;font-weight:580}
.theme-option>span small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.25}
.theme-option>.ico{width:20px;height:20px;color:var(--accent)}
.theme-option.active{border-color:rgba(255,142,70,.38);background:linear-gradient(135deg,rgba(255,255,255,.60),rgba(255,171,103,.16));box-shadow:0 8px 20px rgba(63,57,52,.07),inset 0 1px 0 rgba(255,255,255,.88)}

:root[data-theme="dark"]{
  color-scheme:dark;
  --canvas:#111617;
  --surface:#1b2223;
  --surface-2:#222a2a;
  --line:rgba(231,238,235,.10);
  --ink:#f3f5f1;
  --muted:#aeb9b6;
  --olive:#9eb893;
  --olive-deep:#bdd0b5;
  --accent:#ff8a3d;
  --accent-soft:#593323;
  --blue-soft:#253e4b;
  --sand:#3c332b;
  --danger:#ff8175;
  --shadow:0 16px 38px rgba(0,0,0,.28);
  --shadow-soft:0 7px 20px rgba(0,0,0,.18);
  --v35-glass-edge:rgba(255,255,255,.20);
  --v35-glass-shadow:0 18px 42px rgba(0,0,0,.28),0 3px 10px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.19),inset 0 -1px 0 rgba(80,151,157,.09);
}
:root[data-theme="dark"] html,
:root[data-theme="dark"] body{background:#0d1112!important;color:var(--ink)}
:root[data-theme="dark"] .app-shell{
  background:
    radial-gradient(85% 48% at -8% 44%,rgba(44,116,139,.16),transparent 67%),
    radial-gradient(75% 42% at 108% 68%,rgba(177,91,42,.14),transparent 68%),
    linear-gradient(180deg,#111718 0%,#141a1b 50%,#191713 100%)!important;
}
:root[data-theme="dark"] .glass-page{
  background:
    radial-gradient(85% 40% at 0% 51%,rgba(50,127,149,.075),transparent 67%),
    radial-gradient(72% 38% at 100% 72%,rgba(212,105,48,.07),transparent 68%)!important;
}
:root[data-theme="dark"] .glass-page:before{
  background:
    radial-gradient(circle at -10% 52%,rgba(50,143,172,.13),transparent 40%),
    radial-gradient(circle at 108% 42%,rgba(189,91,42,.12),transparent 42%),
    radial-gradient(circle at 48% 68%,rgba(116,84,145,.065),transparent 32%)!important;
}
:root[data-theme="dark"] .hero.glass-hero .hero-photo{filter:saturate(.92) contrast(1.05) brightness(.70)!important}
:root[data-theme="dark"] .hero.glass-hero:before,
:root[data-theme="dark"] .home-page .hero.glass-hero:before,
:root[data-theme="dark"] .budget-screen .hero.glass-hero:before,
:root[data-theme="dark"] .expenses-screen .hero.glass-hero:before,
:root[data-theme="dark"] .more-page .hero.glass-hero:before,
:root[data-theme="dark"] .destinations-page .hero.glass-hero:before,
:root[data-theme="dark"] .destination-detail-page .hero.glass-hero:before{
  background:
    linear-gradient(105deg,rgba(9,24,28,.18),rgba(70,41,29,.08) 52%,rgba(73,40,23,.18)),
    linear-gradient(180deg,rgba(5,12,14,.10) 0%,rgba(13,19,20,.03) 49%,rgba(17,23,24,.28) 70%,rgba(17,23,24,.94) 100%)!important;
}
:root[data-theme="dark"] .hero.glass-hero:after,
:root[data-theme="dark"] .home-page .hero.glass-hero:after,
:root[data-theme="dark"] .budget-screen .hero.glass-hero:after,
:root[data-theme="dark"] .expenses-screen .hero.glass-hero:after,
:root[data-theme="dark"] .more-page .hero.glass-hero:after,
:root[data-theme="dark"] .destinations-page .hero.glass-hero:after,
:root[data-theme="dark"] .destination-detail-page .hero.glass-hero:after{
  background:linear-gradient(180deg,rgba(17,23,24,0),rgba(17,23,24,.62) 54%,rgba(17,23,24,.99) 100%)!important;
}

:root[data-theme="dark"] .card.glass-card,
:root[data-theme="dark"] .glass-card,
:root[data-theme="dark"] .home-page .budget-focus,
:root[data-theme="dark"] .home-page .tile,
:root[data-theme="dark"] .route-destination,
:root[data-theme="dark"] .budget-destination-card,
:root[data-theme="dark"] .expense-browser,
:root[data-theme="dark"] .expense-day-card,
:root[data-theme="dark"] .settings-card,
:root[data-theme="dark"] .more-trip-card,
:root[data-theme="dark"] .destination-overview,
:root[data-theme="dark"] .destination-card,
:root[data-theme="dark"] .destination-simple-spend,
:root[data-theme="dark"] .budget-hero-card,
:root[data-theme="dark"] .budget-accordion-v7,
:root[data-theme="dark"] .glass-coach{
  background:
    radial-gradient(120% 85% at 8% -10%,rgba(255,255,255,.125),rgba(255,255,255,.025) 46%,transparent 64%),
    radial-gradient(80% 80% at 108% 108%,rgba(232,119,55,.07),transparent 66%),
    radial-gradient(62% 68% at -8% 98%,rgba(67,152,174,.055),transparent 67%),
    linear-gradient(140deg,rgba(42,51,51,.66),rgba(28,35,36,.47) 57%,rgba(39,35,32,.46))!important;
  border-color:rgba(255,255,255,.17)!important;
  box-shadow:var(--v35-glass-shadow)!important;
  -webkit-backdrop-filter:blur(27px) saturate(155%)!important;
  backdrop-filter:blur(27px) saturate(155%)!important;
}
:root[data-theme="dark"] .card.glass-card:before,
:root[data-theme="dark"] .glass-card:before,
:root[data-theme="dark"] .home-page .budget-focus:before,
:root[data-theme="dark"] .home-page .tile:before,
:root[data-theme="dark"] .route-destination:before,
:root[data-theme="dark"] .budget-destination-card:before,
:root[data-theme="dark"] .expense-browser:before,
:root[data-theme="dark"] .expense-day-card:before,
:root[data-theme="dark"] .settings-card:before,
:root[data-theme="dark"] .more-trip-card:before,
:root[data-theme="dark"] .destination-overview:before,
:root[data-theme="dark"] .destination-card:before,
:root[data-theme="dark"] .destination-simple-spend:before,
:root[data-theme="dark"] .budget-hero-card:before,
:root[data-theme="dark"] .budget-accordion-v7:before,
:root[data-theme="dark"] .glass-coach:before{
  background:linear-gradient(128deg,rgba(255,255,255,.48),rgba(255,255,255,.17) 20%,rgba(255,255,255,.025) 48%,rgba(77,165,184,.15) 77%,rgba(237,133,70,.18))!important;
  opacity:.78!important;
}
:root[data-theme="dark"] .card.glass-card:after,
:root[data-theme="dark"] .glass-card:after,
:root[data-theme="dark"] .home-page .budget-focus:after,
:root[data-theme="dark"] .home-page .tile:after,
:root[data-theme="dark"] .route-destination:after,
:root[data-theme="dark"] .budget-destination-card:after,
:root[data-theme="dark"] .expense-browser:after,
:root[data-theme="dark"] .expense-day-card:after,
:root[data-theme="dark"] .settings-card:after,
:root[data-theme="dark"] .more-trip-card:after,
:root[data-theme="dark"] .destination-overview:after,
:root[data-theme="dark"] .destination-card:after,
:root[data-theme="dark"] .destination-simple-spend:after,
:root[data-theme="dark"] .budget-hero-card:after,
:root[data-theme="dark"] .budget-accordion-v7:after,
:root[data-theme="dark"] .glass-coach:after{
  background:linear-gradient(112deg,rgba(255,255,255,.07),transparent 26%,transparent 68%,rgba(225,119,58,.045)),radial-gradient(70% 36% at 8% 104%,rgba(62,158,182,.07),transparent 72%)!important;
}

:root[data-theme="dark"] .home-page .budget-focus{box-shadow:0 23px 49px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(69,153,171,.10)!important}
:root[data-theme="dark"] .home-page .six-tiles .tile{box-shadow:0 14px 29px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(75,147,164,.08)!important}
:root[data-theme="dark"] .home-page .six-tiles .tile:nth-child(1){--tile-glow:rgba(255,129,55,.095)}
:root[data-theme="dark"] .home-page .six-tiles .tile:nth-child(2){--tile-glow:rgba(105,186,107,.075)}
:root[data-theme="dark"] .home-page .six-tiles .tile:nth-child(3){--tile-glow:rgba(179,88,223,.08)}
:root[data-theme="dark"] .home-page .six-tiles .tile:nth-child(4){--tile-glow:rgba(72,165,233,.08)}
:root[data-theme="dark"] .home-page .six-tiles .tile:nth-child(5){--tile-glow:rgba(39,190,170,.075)}
:root[data-theme="dark"] .home-page .six-tiles .tile:nth-child(6){--tile-glow:rgba(255,174,50,.085)}

:root[data-theme="dark"] body,
:root[data-theme="dark"] button,
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] .destination-title,
:root[data-theme="dark"] .tile .name,
:root[data-theme="dark"] .tile .money,
:root[data-theme="dark"] .big-money,
:root[data-theme="dark"] .expenses-card h2,
:root[data-theme="dark"] .expense-name,
:root[data-theme="dark"] .expense-amount,
:root[data-theme="dark"] .glass-section-head h2,
:root[data-theme="dark"] .settings-row b,
:root[data-theme="dark"] .more-trip-card h2,
:root[data-theme="dark"] .budget-destination-card,
:root[data-theme="dark"] .budget-total-button,
:root[data-theme="dark"] .sheet h2,
:root[data-theme="dark"] .ring-center strong{color:var(--ink)!important}
:root[data-theme="dark"] .eyebrow,
:root[data-theme="dark"] .subtle,
:root[data-theme="dark"] .caption,
:root[data-theme="dark"] .expense-meta,
:root[data-theme="dark"] .expense-date,
:root[data-theme="dark"] .settings-copy small,
:root[data-theme="dark"] .settings-value,
:root[data-theme="dark"] .more-trip-card p,
:root[data-theme="dark"] .budget-mini-metrics span,
:root[data-theme="dark"] .budget-dest-values span,
:root[data-theme="dark"] .budget-dest-values small,
:root[data-theme="dark"] .breakdown-note{color:var(--muted)!important}
:root[data-theme="dark"] .expense-row,
:root[data-theme="dark"] .settings-row,
:root[data-theme="dark"] .glass-cost-row,
:root[data-theme="dark"] .budget-row,
:root[data-theme="dark"] .acc-body{border-color:rgba(255,255,255,.085)!important}
:root[data-theme="dark"] .expense-main{background:transparent!important}
:root[data-theme="dark"] .glass-coach blockquote{color:#e4eee9!important}
:root[data-theme="dark"] .glass-coach small{color:#9fb1ac!important}
:root[data-theme="dark"] .ring-track-svg{stroke:rgba(138,178,210,.20)!important}
:root[data-theme="dark"] .ring-center span{color:#a9b5b7!important}

:root[data-theme="dark"] .nav.glass-nav{
  background:radial-gradient(110% 95% at 5% 0%,rgba(255,255,255,.13),transparent 58%),linear-gradient(125deg,rgba(36,45,46,.82),rgba(24,31,32,.70))!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 19px 44px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.20),inset 0 -1px 0 rgba(79,151,162,.08)!important;
}
:root[data-theme="dark"] .nav.glass-nav button{color:#a9b5b4!important}
:root[data-theme="dark"] .nav.glass-nav button.active{color:#ff9853!important}
:root[data-theme="dark"] .nav.glass-nav .fab{border-color:rgba(255,255,255,.38)!important;box-shadow:0 18px 34px rgba(255,92,19,.30),inset 0 2px 2px rgba(255,255,255,.40),0 0 0 5px rgba(24,31,32,.78)!important}

:root[data-theme="dark"] .sheet{
  background:radial-gradient(105% 55% at 0% 0%,rgba(55,111,129,.13),transparent 62%),radial-gradient(90% 52% at 100% 10%,rgba(154,78,41,.12),transparent 64%),linear-gradient(160deg,rgba(27,34,35,.97),rgba(24,28,28,.96))!important;
  color:var(--ink)!important;
  border-color:rgba(255,255,255,.15)!important;
  box-shadow:0 -24px 66px rgba(0,0,0,.50),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
:root[data-theme="dark"] .sheet-backdrop{background:rgba(3,6,7,.58)!important}
:root[data-theme="dark"] .grab{background:rgba(224,232,229,.26)!important}
:root[data-theme="dark"] .sheet .field,
:root[data-theme="dark"] .sheet .money-field .field,
:root[data-theme="dark"] .budget-entry,
:root[data-theme="dark"] .breakdown-list,
:root[data-theme="dark"] .breakdown-total,
:root[data-theme="dark"] .trip-option,
:root[data-theme="dark"] .secondary,
:root[data-theme="dark"] .glass-search,
:root[data-theme="dark"] .filter-selects label,
:root[data-theme="dark"] .field-orb,
:root[data-theme="dark"] .location-button{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.13)!important;
  color:var(--ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
}
:root[data-theme="dark"] select option{background:#202728;color:#f1f4f1}
:root[data-theme="dark"] .expense-sheet{background:linear-gradient(180deg,rgba(15,19,20,.12),rgba(18,24,25,.96) 23%,rgba(19,25,26,.98) 72%,rgba(27,23,21,.98))!important}
:root[data-theme="dark"] .amount-currency{background:rgba(255,255,255,.065)!important;border-color:rgba(255,255,255,.14)!important;color:var(--ink)!important}
:root[data-theme="dark"] .theme-option{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.13);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
:root[data-theme="dark"] .theme-option.active{background:linear-gradient(135deg,rgba(255,255,255,.105),rgba(209,98,42,.12));border-color:rgba(255,147,80,.30);box-shadow:0 9px 21px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.15)}
:root[data-theme="dark"] .status{background:rgba(255,255,255,.07)!important;color:#bcc7c3!important}
:root[data-theme="dark"] .status.active{background:rgba(255,126,57,.14)!important;color:#ffad78!important}
:root[data-theme="dark"] .status.completed{background:rgba(175,185,183,.09)!important;color:#aeb8b5!important}
:root[data-theme="dark"] .status.planned{background:rgba(255,143,61,.11)!important;color:#f1a270!important}
:root[data-theme="dark"] .settings-switch{background:rgba(255,255,255,.16)!important}
:root[data-theme="dark"] .settings-switch i{background:#d9dfdc!important}
:root[data-theme="dark"] .settings-switch.on{background:#5a9d82!important}
:root[data-theme="dark"] .forecast,
:root[data-theme="dark"] .budget-calm-note,
:root[data-theme="dark"] .budget-dest-available{background:rgba(255,255,255,.045)!important}
:root[data-theme="dark"] .toast{background:rgba(235,240,236,.93)!important;color:#182021!important}

@media(prefers-reduced-motion:reduce){
  .theme-option{transition:none!important}
}

/* =========================================================
   V37 — Ring, coach and budget-progress clarity
   ========================================================= */
/* The SVG ring already draws its own track; remove the legacy white centre. */
.svg-progress-ring:after{content:none!important;display:none!important;background:none!important}

/* Keep the approved single-line label intact on narrow phones. */
.budget-focus-copy>.subtle:first-child,
.budget-focus>div:not(.svg-progress-ring)>.subtle:first-child{
  min-width:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:clamp(9px,3.05vw,13px)!important;
  letter-spacing:-.025em!important;
}

/* The primary action remains unmistakable against the orange liquid button. */
.nav.glass-nav .fab .ico-plus{
  color:#fff!important;
  stroke:#fff!important;
  opacity:1!important;
  stroke-width:2.2!important;
  filter:drop-shadow(0 1px 2px rgba(92,31,4,.22));
}

.budget-dest-progress-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;color:var(--muted)}
.budget-dest-progress-summary span{font-size:9px}
.budget-dest-progress-summary b{font-size:9px;font-weight:570;text-align:right;color:var(--ink)}
.budget-dest-track{display:flex!important;align-items:stretch;background:rgba(114,116,111,.11)!important;margin-top:5px!important}
.budget-dest-track .budget-track-actual,
.budget-dest-track .budget-track-reserved{display:block;height:100%;flex:0 0 auto}
.budget-dest-track .budget-track-actual{background:linear-gradient(90deg,#ffa849,#f28570,#c871c9,#6da9dd)!important}
.budget-dest-track .budget-track-reserved{background:linear-gradient(90deg,rgba(242,133,112,.34),rgba(109,169,221,.34))!important;border-left:1px solid rgba(255,255,255,.65)}
:root[data-theme="dark"] .budget-dest-track{background:rgba(255,255,255,.075)!important}
:root[data-theme="dark"] .budget-dest-track .budget-track-reserved{background:linear-gradient(90deg,rgba(246,142,113,.28),rgba(104,171,213,.28))!important;border-left-color:rgba(255,255,255,.30)}
:root[data-theme="dark"] .budget-dest-progress-summary b{color:var(--ink)!important}

/* =========================================================
   V38 — Inner glass continuity
   Budget metrics and destination/country tiles now use the same
   translucent material language as the approved Home screen.
   ========================================================= */
.budget-mini-metrics>div,
.budget-dest-values>div,
.budget-dest-available,
.destination-total-grid>div,
.destination-stay-progress{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(110% 90% at 5% -12%,rgba(255,255,255,.76),transparent 58%),
    radial-gradient(80% 90% at 108% 112%,rgba(255,171,103,.08),transparent 66%),
    linear-gradient(140deg,rgba(255,255,255,.40),rgba(255,255,255,.17))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),inset 0 -1px 0 rgba(105,166,194,.07),0 5px 13px rgba(49,62,69,.045)!important;
  -webkit-backdrop-filter:blur(16px) saturate(155%)!important;
  backdrop-filter:blur(16px) saturate(155%)!important;
}
.budget-dest-available.over,
.destination-stay-progress.over{
  background:linear-gradient(140deg,rgba(255,255,255,.40),rgba(255,126,87,.075))!important;
}

/* Country detail category tiles inherit the richer Home tile material. */
.destination-detail-page .six-tiles .tile:nth-child(1){--tile-glow:rgba(255,129,55,.14)}
.destination-detail-page .six-tiles .tile:nth-child(2){--tile-glow:rgba(105,186,107,.12)}
.destination-detail-page .six-tiles .tile:nth-child(3){--tile-glow:rgba(179,88,223,.12)}
.destination-detail-page .six-tiles .tile:nth-child(4){--tile-glow:rgba(72,165,233,.13)}
.destination-detail-page .six-tiles .tile:nth-child(5){--tile-glow:rgba(39,190,170,.12)}
.destination-detail-page .six-tiles .tile:nth-child(6){--tile-glow:rgba(255,174,50,.13)}
.destination-detail-page .six-tiles .tile{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(105% 82% at 50% 112%,var(--tile-glow),transparent 56%),
    radial-gradient(115% 100% at 4% -8%,rgba(255,255,255,.86),transparent 58%),
    linear-gradient(145deg,rgba(255,255,255,.54),rgba(255,255,255,.25))!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 12px 26px rgba(48,61,70,.075),inset 0 1px 0 rgba(255,255,255,.94),inset 0 -1px 0 rgba(102,162,191,.08)!important;
  -webkit-backdrop-filter:blur(22px) saturate(165%)!important;
  backdrop-filter:blur(22px) saturate(165%)!important;
}
.destination-detail-page .six-tiles .tile:before{
  content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;pointer-events:none;
  background:linear-gradient(128deg,rgba(255,255,255,.90),rgba(255,255,255,.30) 22%,transparent 50%,rgba(104,188,224,.13) 78%,rgba(255,180,123,.20));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.destination-detail-page .six-tiles .tile>*{position:relative;z-index:2}

:root[data-theme="dark"] .budget-mini-metrics>div,
:root[data-theme="dark"] .budget-dest-values>div,
:root[data-theme="dark"] .budget-dest-available,
:root[data-theme="dark"] .destination-total-grid>div,
:root[data-theme="dark"] .destination-stay-progress{
  background:
    radial-gradient(115% 92% at 6% -14%,rgba(255,255,255,.14),transparent 58%),
    radial-gradient(82% 94% at 108% 112%,rgba(225,113,55,.055),transparent 67%),
    linear-gradient(140deg,rgba(255,255,255,.075),rgba(255,255,255,.022))!important;
  border-color:rgba(255,255,255,.15)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(69,144,158,.065),0 6px 15px rgba(0,0,0,.13)!important;
}
:root[data-theme="dark"] .budget-dest-available.over,
:root[data-theme="dark"] .destination-stay-progress.over{
  background:linear-gradient(140deg,rgba(255,255,255,.07),rgba(220,82,59,.075))!important;
}
:root[data-theme="dark"] .destination-detail-page .six-tiles .tile:nth-child(1){--tile-glow:rgba(255,129,55,.095)}
:root[data-theme="dark"] .destination-detail-page .six-tiles .tile:nth-child(2){--tile-glow:rgba(105,186,107,.075)}
:root[data-theme="dark"] .destination-detail-page .six-tiles .tile:nth-child(3){--tile-glow:rgba(179,88,223,.08)}
:root[data-theme="dark"] .destination-detail-page .six-tiles .tile:nth-child(4){--tile-glow:rgba(72,165,233,.08)}
:root[data-theme="dark"] .destination-detail-page .six-tiles .tile:nth-child(5){--tile-glow:rgba(39,190,170,.075)}
:root[data-theme="dark"] .destination-detail-page .six-tiles .tile:nth-child(6){--tile-glow:rgba(255,174,50,.085)}
:root[data-theme="dark"] .destination-detail-page .six-tiles .tile{
  background:
    radial-gradient(105% 82% at 50% 112%,var(--tile-glow),transparent 57%),
    radial-gradient(115% 100% at 4% -8%,rgba(255,255,255,.13),transparent 58%),
    linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.022))!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 13px 27px rgba(0,0,0,.21),inset 0 1px 0 rgba(255,255,255,.17),inset 0 -1px 0 rgba(65,143,158,.065)!important;
}
:root[data-theme="dark"] .destination-detail-page .six-tiles .tile:before{
  background:linear-gradient(128deg,rgba(255,255,255,.39),rgba(255,255,255,.12) 22%,transparent 50%,rgba(77,164,180,.11) 78%,rgba(225,127,69,.13));
  opacity:.82;
}
:root[data-theme="dark"] .destination-delta,
:root[data-theme="dark"] .route-finance .dest-result{
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  backdrop-filter:blur(10px)!important;
}
:root[data-theme="dark"] .destination-delta.neutral,
:root[data-theme="dark"] .dest-result.neutral{background:rgba(255,255,255,.045)!important;color:#b9c3c0!important}

/* =========================================================
   V39 — Dark-mode component unification
   Removes the remaining flat grey legacy surfaces.
   ========================================================= */
/* Home cards remain fully tappable without decorative arrows. */
.home-page .chev-icon,
.home-page .budget-detail-chevron{display:none!important}

/* Unspent budget reads as an empty anthracite track. */
.budget-progress{
  background:rgba(38,46,48,.20)!important;
  box-shadow:inset 0 0 0 1px rgba(29,37,39,.10)!important;
}
:root[data-theme="dark"] .budget-progress{
  background:#293032!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)!important;
}

/* Active is its own green state; planned remains orange and completed grey. */
.status.active{background:rgba(55,184,139,.16)!important;color:#247f61!important}
.route-destination.active,
.budget-destination-card.active{
  background:
    radial-gradient(100% 85% at 4% -8%,rgba(255,255,255,.77),transparent 58%),
    radial-gradient(80% 88% at 104% 108%,rgba(82,194,151,.13),transparent 66%),
    linear-gradient(140deg,rgba(239,252,247,.57),rgba(255,255,255,.28))!important;
}
:root[data-theme="dark"] .status.active{background:rgba(65,193,148,.17)!important;color:#82dfbd!important}
:root[data-theme="dark"] .route-destination.active,
:root[data-theme="dark"] .budget-destination-card.active{
  background:
    radial-gradient(110% 90% at 5% -10%,rgba(255,255,255,.13),transparent 58%),
    radial-gradient(84% 92% at 106% 110%,rgba(51,181,135,.105),transparent 67%),
    linear-gradient(140deg,rgba(38,55,51,.66),rgba(26,35,35,.46))!important;
  border-color:rgba(114,216,178,.20)!important;
}

/* Notes and destination editor banner use refractive glass, never flat grey. */
.destination-detail-page .destination-note,
.destination-banner-editor,
.df-other-row,
.d-fixed-other-row,
.expense-detail-list{
  background:
    radial-gradient(110% 90% at 5% -10%,rgba(255,255,255,.75),transparent 58%),
    radial-gradient(82% 92% at 106% 110%,rgba(255,170,103,.08),transparent 67%),
    linear-gradient(140deg,rgba(255,255,255,.40),rgba(255,255,255,.16))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84),inset 0 -1px 0 rgba(91,159,190,.07),0 6px 16px rgba(49,61,69,.045)!important;
  -webkit-backdrop-filter:blur(18px) saturate(155%)!important;
  backdrop-filter:blur(18px) saturate(155%)!important;
}
:root[data-theme="dark"] .destination-detail-page .destination-note,
:root[data-theme="dark"] .destination-banner-editor,
:root[data-theme="dark"] .df-other-row,
:root[data-theme="dark"] .d-fixed-other-row,
:root[data-theme="dark"] .expense-detail-list{
  background:
    radial-gradient(112% 92% at 5% -12%,rgba(255,255,255,.135),transparent 58%),
    radial-gradient(84% 94% at 107% 112%,rgba(221,111,54,.055),transparent 68%),
    linear-gradient(140deg,rgba(255,255,255,.068),rgba(255,255,255,.018))!important;
  border-color:rgba(255,255,255,.15)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),inset 0 -1px 0 rgba(68,143,158,.06),0 7px 18px rgba(0,0,0,.15)!important;
}
:root[data-theme="dark"] .destination-note p{color:#dce4e0!important}

/* All destination edit fields become subtle glass instead of grey controls. */
:root[data-theme="dark"] .sheet:not(.expense-sheet) .field,
:root[data-theme="dark"] .sheet:not(.expense-sheet) .budget-entry,
:root[data-theme="dark"] .sheet:not(.expense-sheet) .money-field .field,
:root[data-theme="dark"] .sheet:not(.expense-sheet) .secondary{
  background:
    radial-gradient(105% 100% at 4% -10%,rgba(255,255,255,.105),transparent 58%),
    linear-gradient(140deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
}

/* Expense details: readable values and purposeful edit/delete colours. */
.expense-detail-amount{color:var(--ink)!important}
.expense-detail-list b{color:var(--ink)!important}
:root[data-theme="dark"] .expense-detail-list span{color:var(--muted)!important}
.expense-edit-action{
  background:linear-gradient(140deg,rgba(255,255,255,.45),rgba(255,146,76,.10))!important;
  border-color:rgba(255,158,91,.25)!important;
  color:var(--accent)!important;
}
.expense-delete-action{
  background:linear-gradient(140deg,rgba(255,255,255,.36),rgba(211,82,73,.11))!important;
  border-color:rgba(211,82,73,.20)!important;
  color:var(--danger)!important;
}
:root[data-theme="dark"] .expense-edit-action{
  background:linear-gradient(140deg,rgba(255,255,255,.075),rgba(220,105,47,.10))!important;
  border-color:rgba(255,145,78,.20)!important;
}
:root[data-theme="dark"] .expense-delete-action{
  background:linear-gradient(140deg,rgba(255,255,255,.055),rgba(206,70,64,.11))!important;
  border-color:rgba(255,119,108,.17)!important;
}

/* New/edit expense share one open, non-boxy field treatment. */
.expense-fields-card .glass-field-row{
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.expense-fields-card .ghost-field,
.expense-fields-card input.ghost-field,
.expense-fields-card select.ghost-field{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
}
.expense-fields-card .field-orb{
  border-radius:50%!important;
  background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(112,190,226,.09))!important;
  border-color:rgba(255,255,255,.66)!important;
}
:root[data-theme="dark"] .expense-fields-card .glass-field-row{border-bottom-color:rgba(255,255,255,.075)!important}
:root[data-theme="dark"] .expense-fields-card .ghost-field,
:root[data-theme="dark"] .expense-fields-card input.ghost-field,
:root[data-theme="dark"] .expense-fields-card select.ghost-field{
  color:var(--ink)!important;
  color-scheme:dark!important;
}
:root[data-theme="dark"] .expense-fields-card .field-orb{
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(69,151,176,.075))!important;
  border-color:rgba(255,255,255,.13)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13)!important;
}
:root[data-theme="dark"] #exp-date{color-scheme:dark!important;background:transparent!important}

/* Currency selector stays discoverable without becoming a separate box. */
.expense-sheet .amount-currency,
:root[data-theme="dark"] .expense-sheet .amount-currency{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.expense-sheet .amount-currency:active{background:rgba(255,255,255,.06)!important}

/* Confirmation is the plus button's sibling: same liquid orange and clean rim. */
.expense-save-row:before{content:none!important;display:none!important}
.expense-save-row .save-circle{
  background:radial-gradient(circle at 34% 20%,rgba(255,255,255,.35),transparent 22%),linear-gradient(150deg,#ffad50 0%,#ff7b20 48%,#ff5d0a 100%)!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:0 17px 31px rgba(255,103,29,.31),inset 0 2px 2px rgba(255,255,255,.54),inset 0 -2px 4px rgba(195,73,13,.12),0 0 0 5px rgba(255,255,255,.62)!important;
}
:root[data-theme="dark"] .expense-save-row .save-circle{
  border-color:rgba(255,255,255,.38)!important;
  box-shadow:0 18px 34px rgba(255,92,19,.30),inset 0 2px 2px rgba(255,255,255,.40),0 0 0 5px rgba(24,31,32,.78)!important;
}
.expense-save-row .save-circle svg{stroke:#fff!important;opacity:1!important}

/* =========================================================
   V40 — Guided adventures, compact expenses and edge polish
   ========================================================= */

/* The expense sheet enters with the exact inverse of its swipe-down exit. */
.sheet-backdrop.expense-backdrop:not(.visible) .sheet.expense-sheet{
  transform:translate3d(0,105%,0);opacity:1;animation:none!important;
}
.sheet-backdrop.expense-backdrop.visible .sheet.expense-sheet{
  transform:translate3d(0,0,0);opacity:1;
  transition:transform .32s cubic-bezier(.22,.82,.27,1),opacity .19s ease!important;
}
.sheet.expense-sheet{
  height:min(94dvh,790px)!important;max-height:94dvh!important;
  margin-bottom:-2px!important;padding:8px 14px calc(22px + env(safe-area-inset-bottom))!important;
  box-shadow:0 -18px 52px rgba(34,42,45,.18),0 52px 0 #f4f4f1!important;
}
.expense-content-stack{overflow:visible!important;gap:7px!important}
.expense-sheet .expense-amount-card{min-height:72px!important;padding:4px 7px!important}
.expense-sheet .amount-editor{min-height:62px!important;gap:6px!important;align-items:center!important;white-space:nowrap!important}
.expense-sheet .amount-currency{min-width:62px!important;height:52px!important;padding:0 3px!important}
.expense-sheet .amount-currency>span{
  font-size:42px!important;font-weight:430!important;color:var(--muted)!important;line-height:1!important;
}
.expense-sheet .amount-input{
  width:min(165px,43vw)!important;font-size:42px!important;font-weight:570!important;color:var(--ink)!important;
  caret-color:var(--accent)!important;
}
.expense-sheet .amount-input::placeholder{color:var(--muted)!important;opacity:.62!important}
.amount-eur-preview{font-size:11px!important;font-weight:540!important;color:var(--muted)!important;letter-spacing:-.01em;white-space:nowrap;min-width:66px}
.expense-category-card{padding:7px 9px!important;border-radius:23px!important}
.expense-category-card .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px 9px!important}
.expense-category-card .category-choice{padding:5px 3px!important;min-height:59px!important}
.expense-category-card .category-choice .ico-bubble{width:42px!important;height:42px!important;margin:0 auto 4px!important}
.expense-category-card .category-choice .ico-bubble svg{width:20px!important;height:20px!important}
.expense-category-card .category-choice span{font-size:9.5px!important;min-height:auto!important;line-height:1.1!important}
.expense-fields-card{flex:1 1 auto!important;padding:0 10px!important;justify-content:center!important;overflow:hidden!important}
.expense-fields-card .glass-field-row{min-height:43px!important;padding:2px 0!important;margin:0!important}
.expense-fields-card .field-orb{width:31px!important;height:31px!important}
.expense-fields-card .ghost-field{font-size:14.5px!important;min-height:22px!important;padding-top:0!important;padding-bottom:0!important}
.expense-fields-card .location-button{height:29px!important;padding:0 7px!important}
.expense-save-row{
  min-height:94px!important;padding:9px 0 14px!important;margin:0!important;overflow:visible!important;isolation:isolate;
}
.expense-save-row:after{
  content:"";position:absolute;z-index:0;left:50%;bottom:8px;width:116px;height:76px;transform:translateX(-50%);
  border-radius:50%;background:radial-gradient(circle,rgba(255,104,23,.28),rgba(255,104,23,0) 70%);filter:blur(7px);pointer-events:none;
}
.expense-save-row .save-circle{width:74px!important;height:74px!important;flex:0 0 74px!important;overflow:visible!important}
.expense-save-row .save-circle-icon{width:31px!important;height:31px!important}
.expense-sheet .text-delete{margin:-4px auto 0!important}
@media(max-width:370px){
 .expense-sheet .amount-currency>span{font-size:38px!important}.expense-sheet .amount-input{font-size:38px!important;width:min(142px,40vw)!important}.amount-eur-preview{font-size:10px!important;min-width:58px}
 .expense-category-card .category-choice .ico-bubble{width:38px!important;height:38px!important}.expense-category-card .category-choice{min-height:54px!important}
}
@media(max-height:700px){
 .sheet.expense-sheet{height:96dvh!important;max-height:96dvh!important;padding-bottom:calc(14px + env(safe-area-inset-bottom))!important}
 .expense-sheet .expense-amount-card{min-height:62px!important}.expense-sheet .amount-editor{min-height:54px!important}
 .expense-category-card .category-choice{min-height:49px!important;padding:2px!important}.expense-category-card .category-choice .ico-bubble{width:34px!important;height:34px!important}
 .expense-fields-card .glass-field-row{min-height:39px!important}.expense-save-row{min-height:82px!important;padding:5px 0 8px!important}.expense-save-row .save-circle{width:74px!important;height:74px!important}
}

/* A light currency symbol supports the amount instead of competing with it. */
:root[data-theme="dark"] .expense-sheet .amount-currency>span{color:#9aa6a5!important}
:root[data-theme="dark"] .expense-sheet .amount-input{color:#f4f7f4!important}
:root[data-theme="dark"] .sheet.expense-sheet{box-shadow:0 -20px 56px rgba(0,0,0,.38),0 52px 0 #171d1e!important}
:root[data-theme="dark"] .expense-fields-card .glass-field-row,
:root[data-theme="dark"] .expense-fields-card .ghost-field,
:root[data-theme="dark"] .expense-fields-card .location-row,
:root[data-theme="dark"] #exp-location,
:root[data-theme="dark"] #exp-dest{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
}

/* Guided trip creation: four concise steps, or five with a total budget. */
.trip-wizard{min-height:min(620px,82dvh);display:flex;flex-direction:column;padding:2px 2px 5px}
.trip-wizard-progress{display:flex;gap:6px;justify-content:center;margin:2px 0 20px}
.trip-wizard-progress span{width:26px;height:5px;border-radius:99px;background:rgba(101,111,110,.15);transition:.25s ease}
.trip-wizard-progress span.done{background:linear-gradient(90deg,#ffad55,#ff7622);box-shadow:0 3px 9px rgba(255,111,31,.18)}
.trip-wizard-step{flex:1;animation:wizardFade .34s cubic-bezier(.22,.82,.27,1) both}
.trip-wizard-step h2{font-size:28px;margin:6px 0 9px;letter-spacing:-.045em}
.trip-wizard-context{margin:0 0 20px;color:var(--muted);font-size:13.5px;line-height:1.5;max-width:410px}
.wizard-mode-grid{gap:10px!important}.wizard-mode-grid .budget-mode{padding:16px!important}.wizard-mode-grid .budget-mode b{font-size:15px}.wizard-mode-grid .budget-mode small{line-height:1.35}
.trip-wizard-actions{display:grid;grid-template-columns:minmax(98px,.52fr) minmax(0,1.48fr);gap:9px;margin-top:18px}
.trip-wizard-actions .primary,.trip-wizard-actions .secondary{margin:0;min-height:52px;display:flex;align-items:center;justify-content:center;gap:7px}
.trip-wizard-actions svg{width:18px;height:18px}.trip-wizard-back{background:transparent!important}
.trip-wizard-next.celebrate{background:linear-gradient(145deg,#ffad50,#ff6713)!important;box-shadow:0 13px 28px rgba(255,94,18,.25)}
.trip-wizard-celebration{height:92px;position:relative;display:grid;place-items:center;margin:0 0 5px;overflow:hidden}
.trip-wizard-celebration>span{width:70px;height:70px;border-radius:25px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#ffb45c,#ff701a);box-shadow:0 15px 34px rgba(255,103,24,.24),inset 0 1px 1px rgba(255,255,255,.55)}
.trip-wizard-celebration>span svg{width:32px;height:32px}.trip-wizard-celebration.final>span{border-radius:50%}
.trip-wizard-celebration i{position:absolute;width:9px;height:9px;border-radius:3px;background:#ef8fc0;transform:rotate(24deg)}
.trip-wizard-celebration i:nth-child(1){left:22%;top:23%;background:#75bedc}.trip-wizard-celebration i:nth-child(2){right:19%;top:31%;background:#f5ba48}.trip-wizard-celebration i:nth-child(3){right:30%;bottom:10%;background:#83c89a}
.trip-wizard-review{border-radius:22px;padding:4px 15px;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.74)}
.trip-wizard-review>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(72,91,91,.10)}.trip-wizard-review>div:last-child{border-bottom:0}.trip-wizard-review span{font-size:12px;color:var(--muted)}.trip-wizard-review b{font-size:12px;text-align:right}
.more-new-trip{margin:0 0 20px!important}.more-trip-card{width:100%;border:1px solid rgba(255,255,255,.72);color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.compact-breakdown{margin-top:12px}
@keyframes wizardFade{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}
:root[data-theme="dark"] .trip-wizard-review,
:root[data-theme="dark"] .wizard-mode-grid .budget-mode,
:root[data-theme="dark"] .more-new-trip{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(216,100,43,.075))!important;border-color:rgba(255,255,255,.14)!important;color:var(--ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.11)!important}
:root[data-theme="dark"] .trip-wizard-progress span{background:rgba(255,255,255,.10)}

/* Larger and repeatable trip-budget settings targets. */
.budget-gear{width:58px!important;height:58px!important;right:10px!important;top:10px!important}
.budget-total-button{padding-right:66px!important;min-height:72px}
.destinations-page .hero-bell{width:48px!important;height:48px!important}

/* Dark surfaces that previously retained legacy light-grey controls. */
:root[data-theme="dark"] .sheet .icon-btn,
:root[data-theme="dark"] .more-route-button,
:root[data-theme="dark"] .route-chevron{
  background:rgba(10,14,15,.42)!important;border:1px solid rgba(255,255,255,.09)!important;color:#aeb9b7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 5px 14px rgba(0,0,0,.16)!important;
}
:root[data-theme="dark"] .home-page .destination-title-row .ico-bubble.pearl{
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(57,75,79,.13))!important;
  color:#829697!important;border-color:rgba(255,255,255,.10)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
:root[data-theme="dark"] .destination-detail-page .budget-focus{
  background:radial-gradient(110% 90% at 5% -10%,rgba(255,255,255,.12),transparent 59%),linear-gradient(140deg,rgba(255,255,255,.065),rgba(255,255,255,.018))!important;
  border:1px solid rgba(255,255,255,.145)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 24px rgba(0,0,0,.16)!important;
}
:root[data-theme="dark"] .destination-detail-page .ring-center{background:transparent!important}

/* The full-height left edge becomes a forgiving back gesture. */
.destination-detail-page{touch-action:pan-y;will-change:transform}

/* =========================================================
   V41 — Softer sheets, large currencies and finale countdown
   ========================================================= */

/* Leave the trip visible above the expense sheet while keeping its foot sealed. */
.sheet.expense-sheet{
  height:min(89dvh,760px)!important;max-height:89dvh!important;
  padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;
}
.sheet-backdrop{transition:opacity .28s ease,background-color .24s ease!important}
.sheet-backdrop.expense-backdrop.visible .sheet.expense-sheet{
  transition:transform .46s cubic-bezier(.16,.86,.28,1),opacity .26s ease!important;
}
.sheet-backdrop:not(.expense-backdrop):not(.visible) .sheet{transform:translate3d(0,42px,0);opacity:.985}
.sheet-backdrop:not(.expense-backdrop).visible .sheet{transition:transform .40s cubic-bezier(.16,.86,.28,1),opacity .24s ease!important}
.sheet-backdrop.closing .sheet,
.sheet-backdrop.expense-backdrop.closing .sheet.expense-sheet{
  transition:transform .36s cubic-bezier(.32,.02,.2,1),opacity .24s ease!important;
}

/* A wide grab area makes every sheet reliably swipeable without making the line loud. */
.sheet>.grab,
.sheet.expense-sheet>.grab{
  position:relative!important;width:78px!important;height:23px!important;min-height:23px!important;
  margin:-5px auto 0!important;background:transparent!important;border-radius:0!important;cursor:grab!important;
  touch-action:none!important;flex:0 0 23px!important;
}
.sheet>.grab:after{
  content:"";position:absolute;left:50%;top:10px;width:44px;height:5px;transform:translateX(-50%);
  border-radius:99px;background:rgba(80,91,100,.29);transition:background-color .18s ease,transform .18s ease;
}
.sheet>.grab:active:after{background:rgba(80,91,100,.46);transform:translateX(-50%) scaleX(1.08)}
:root[data-theme="dark"] .sheet>.grab:after{background:rgba(219,227,226,.25)}

/* The local amount gets the full line; the euro equivalent sits calmly below it. */
.expense-sheet .expense-amount-card{
  min-height:88px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;
}
.expense-sheet .amount-editor{width:100%!important;min-height:57px!important;padding:0 4px!important;display:flex!important}
.expense-sheet .amount-currency{flex:0 0 70px!important;min-width:70px!important}
.expense-sheet .amount-input{
  flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0!important;
  font-size:clamp(39px,11.4vw,46px)!important;letter-spacing:-.045em!important;text-align:left!important;
}
.expense-sheet .amount-input.long-amount{font-size:34px!important;letter-spacing:-.055em!important}
.amount-eur-preview{
  display:block;min-height:16px!important;min-width:0!important;margin:-1px 8px 1px 78px!important;
  text-align:left;font-size:11.5px!important;line-height:1.25;color:var(--muted)!important;white-space:normal!important;
}
@media(max-width:370px){
 .expense-sheet .amount-currency{flex-basis:63px!important;min-width:63px!important}.expense-sheet .amount-input{font-size:39px!important}.expense-sheet .amount-input.long-amount{font-size:31px!important}
 .amount-eur-preview{margin-left:70px!important}
}
@media(max-height:700px){
 .sheet.expense-sheet{height:92dvh!important;max-height:92dvh!important}
 .expense-sheet .expense-amount-card{min-height:78px!important}.expense-sheet .amount-editor{min-height:50px!important}
 .amount-eur-preview{min-height:14px!important;font-size:10.5px!important}.expense-save-row{min-height:80px!important}
}

/* The final wizard step is one calm focal composition rather than stacked boxes. */
.trip-wizard-finale{min-height:430px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 4px 2px;animation:wizardFade .38s cubic-bezier(.18,.82,.25,1) both}
.trip-wizard-finale>.eyebrow{margin-bottom:8px;color:var(--accent)}
.trip-wizard-step .trip-wizard-finale h2{
  max-width:100%;margin:0 0 20px;font-size:clamp(34px,10vw,47px);line-height:1.02;font-weight:650;
  letter-spacing:-.06em;overflow-wrap:anywhere;color:var(--ink);
}
.trip-wizard-countdown{
  width:152px;height:152px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(circle at 34% 20%,rgba(255,255,255,.80),transparent 28%),linear-gradient(145deg,rgba(255,185,123,.34),rgba(255,255,255,.48));
  border:1px solid rgba(255,255,255,.78);box-shadow:0 18px 38px rgba(172,103,54,.12),inset 0 1px 0 rgba(255,255,255,.88);
}
.trip-wizard-countdown strong{font-size:43px;line-height:1;font-weight:620;letter-spacing:-.055em;color:var(--accent)}
.trip-wizard-countdown span{max-width:105px;margin-top:7px;font-size:11.5px;line-height:1.25;color:var(--muted)}
.trip-wizard-finale>p{max-width:355px;margin:20px 0 17px;color:var(--muted);font-size:13.5px;line-height:1.5}
.trip-wizard-finale>p b{color:var(--ink);font-weight:620}
.trip-wizard-next-step{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding-top:14px;border-top:1px solid rgba(78,92,91,.10);text-align:left}
.trip-wizard-next-step>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#ffad56,#ff731e);box-shadow:0 8px 18px rgba(255,102,23,.18)}
.trip-wizard-next-step>span svg{width:19px;height:19px}.trip-wizard-next-step small,.trip-wizard-next-step b{display:block}.trip-wizard-next-step small{font-size:10px;color:var(--muted);margin-bottom:2px}.trip-wizard-next-step b{font-size:12.5px;color:var(--ink)}
:root[data-theme="dark"] .trip-wizard-countdown{
  background:radial-gradient(circle at 34% 20%,rgba(255,255,255,.14),transparent 30%),linear-gradient(145deg,rgba(211,101,46,.14),rgba(255,255,255,.035));
  border-color:rgba(255,255,255,.15);box-shadow:0 20px 40px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.14);
}
:root[data-theme="dark"] .trip-wizard-next-step{border-top-color:rgba(255,255,255,.09)}

/* =========================================================
   V42 — Privacy & gegevens
   ========================================================= */
.privacy-page{touch-action:pan-y;will-change:transform}
.privacy-main{padding-bottom:10px}
.privacy-lead{padding:20px 18px 17px;overflow:hidden}
.privacy-lead-title{display:flex;align-items:center;gap:12px;position:relative;z-index:2}
.privacy-lead-title .ico-bubble{width:44px;height:44px;flex:0 0 44px}
.privacy-lead-title .ico-bubble svg{width:21px;height:21px}
.privacy-lead-title h2{margin:3px 0 0;font-size:23px;line-height:1.08;font-weight:610;letter-spacing:-.04em}
.privacy-lead>p{position:relative;z-index:2;margin:14px 1px 16px;color:var(--muted);font-size:13px;line-height:1.48}
.privacy-metrics{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.privacy-metric{min-width:0;padding:10px 5px 9px;border-radius:17px;text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.57),rgba(255,255,255,.24));border:1px solid rgba(255,255,255,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.privacy-metric b,.privacy-metric span{display:block;overflow:hidden;text-overflow:ellipsis}
.privacy-metric b{font-size:17px;font-weight:620;white-space:nowrap;letter-spacing:-.035em}
.privacy-metric span{margin-top:3px;color:var(--muted);font-size:8.5px;line-height:1.15}

.privacy-status-card{padding:3px 15px;overflow:hidden}
.privacy-status-row{position:relative;z-index:2;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:67px;padding:10px 0;border-bottom:1px solid rgba(73,91,102,.09)}
.privacy-status-row:last-child{border-bottom:0}
.privacy-status-row .ico-bubble{width:38px;height:38px}
.privacy-status-row .ico-bubble svg{width:18px;height:18px}
.privacy-status-row b,.privacy-status-row small{display:block}
.privacy-status-row b{font-size:13.5px;font-weight:580;line-height:1.15}
.privacy-status-row small{max-width:218px;margin-top:3px;color:var(--muted);font-size:10.2px;line-height:1.25}
.privacy-status{justify-self:end;padding:5px 8px;border-radius:999px;background:rgba(91,126,145,.09);color:#58758a;font-size:9px;font-weight:650;white-space:nowrap}
.privacy-status.good{background:rgba(61,150,105,.11);color:#347c5c}

.privacy-services{padding:7px 16px 5px;overflow:hidden}
.privacy-section-intro{position:relative;z-index:2;margin:6px 1px 8px;color:var(--muted);font-size:11.2px;line-height:1.4}
.privacy-service{position:relative;z-index:2;padding:13px 1px;border-top:1px solid rgba(73,91,102,.09)}
.privacy-service b,.privacy-service span,.privacy-service small{display:block}
.privacy-service b{font-size:13.5px;font-weight:590}
.privacy-service span{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.38}
.privacy-service small{margin-top:6px;color:#798c98;font-size:9.5px;line-height:1.32}
.privacy-actions .settings-row{min-height:64px}
.privacy-backup-warning{margin:10px 5px 2px;padding:0 3px;color:var(--muted);font-size:10.3px;line-height:1.42}

.privacy-policy-heading{align-items:baseline;margin-top:22px}
.privacy-policy-heading>span{color:var(--muted);font-size:9.5px}
.privacy-policy{padding:0 16px 3px;overflow:hidden}
.privacy-policy-intro{position:relative;z-index:2;padding:18px 1px 14px}
.privacy-policy-intro h2{margin:4px 0 8px;font-size:20px;font-weight:610;letter-spacing:-.035em}
.privacy-policy-intro p{margin:0;color:var(--muted);font-size:11.3px;line-height:1.45}
.privacy-policy details{position:relative;z-index:2;border-top:1px solid rgba(73,91,102,.10)}
.privacy-policy summary{position:relative;list-style:none;padding:15px 25px 15px 1px;cursor:pointer;color:var(--ink);font-size:12.5px;font-weight:590;line-height:1.25}
.privacy-policy summary::-webkit-details-marker{display:none}
.privacy-policy summary:after{content:"";position:absolute;right:4px;top:17px;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);color:#829099;transition:transform .2s ease,top .2s ease}
.privacy-policy details[open] summary:after{top:20px;transform:rotate(225deg)}
.privacy-policy details>div{padding:0 1px 15px;color:var(--muted);font-size:11px;line-height:1.5}
.privacy-policy details p{margin:0 0 9px}
.privacy-policy details p:last-child{margin-bottom:0}
.privacy-policy details a{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding:11px 12px;border-radius:14px;text-decoration:none;color:#537368;background:rgba(112,161,145,.09);font-size:10.5px;font-weight:610}
.privacy-policy details a svg{width:14px;height:14px;flex:0 0 14px}
.privacy-publish-check{display:flex;flex-direction:column;gap:5px;margin:12px 0 0;padding:14px 15px;border:1px solid rgba(196,132,59,.17);border-radius:20px;background:linear-gradient(140deg,rgba(255,222,172,.25),rgba(255,255,255,.22));box-shadow:inset 0 1px 0 rgba(255,255,255,.62)}
.privacy-publish-check b{color:#9a632f;font-size:11px;font-weight:650}
.privacy-publish-check span{color:var(--muted);font-size:10.3px;line-height:1.4}

.privacy-delete-summary{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:18px;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.68)}
.privacy-delete-summary b{font-size:12px;font-weight:620}
.privacy-delete-summary span{color:var(--muted);font-size:11px;line-height:1.42}
.privacy-delete-note{margin:13px 2px 9px;color:var(--danger);font-size:11px;font-weight:620}
.primary.privacy-delete-confirm{margin-top:9px;background:var(--danger);box-shadow:0 8px 20px rgba(184,75,65,.16)}

@media(max-width:380px){
 .privacy-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-metric span{font-size:9px}
 .privacy-status-row{grid-template-columns:38px minmax(0,1fr)}.privacy-status{grid-column:2;justify-self:start;margin-top:-5px}.privacy-status-row small{max-width:none}
}

:root[data-theme="dark"] .privacy-page .hero.glass-hero:after{background:linear-gradient(180deg,rgba(17,23,24,0),rgba(17,23,24,.62) 54%,rgba(17,23,24,.99) 100%)!important}
:root[data-theme="dark"] .privacy-lead,
:root[data-theme="dark"] .privacy-status-card,
:root[data-theme="dark"] .privacy-services,
:root[data-theme="dark"] .privacy-policy{
 background:radial-gradient(120% 85% at 8% -10%,rgba(255,255,255,.125),rgba(255,255,255,.025) 46%,transparent 64%),radial-gradient(80% 80% at 108% 108%,rgba(232,119,55,.07),transparent 66%),radial-gradient(62% 68% at -8% 98%,rgba(67,152,174,.055),transparent 67%),linear-gradient(140deg,rgba(42,51,51,.66),rgba(28,35,36,.47) 57%,rgba(39,35,32,.46))!important;
 border-color:rgba(255,255,255,.17)!important;box-shadow:var(--v35-glass-shadow)!important;backdrop-filter:blur(27px) saturate(155%)!important;-webkit-backdrop-filter:blur(27px) saturate(155%)!important;
}
:root[data-theme="dark"] .privacy-metric{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018));border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.11)}
:root[data-theme="dark"] .privacy-status-row,:root[data-theme="dark"] .privacy-service,:root[data-theme="dark"] .privacy-policy details{border-color:rgba(255,255,255,.085)}
:root[data-theme="dark"] .privacy-status{background:rgba(105,163,184,.11);color:#9ac6d0}
:root[data-theme="dark"] .privacy-status.good{background:rgba(78,169,123,.12);color:#91cfad}
:root[data-theme="dark"] .privacy-service small{color:#82979a}
:root[data-theme="dark"] .privacy-policy summary{color:var(--ink)}
:root[data-theme="dark"] .privacy-policy details a{color:#9cc8b7;background:rgba(104,171,143,.10)}
:root[data-theme="dark"] .privacy-publish-check{background:linear-gradient(140deg,rgba(194,117,47,.11),rgba(255,255,255,.025));border-color:rgba(229,153,79,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
:root[data-theme="dark"] .privacy-publish-check b{color:#d69a65}
:root[data-theme="dark"] .privacy-delete-summary{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.10)}

/* =========================================================
   V43 — Final polish
   ========================================================= */
.settings-upcoming-row{cursor:default!important}
.settings-upcoming-row:active{transform:none!important}
.upcoming-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:6px 9px;border-radius:999px;
  color:#9b6838;background:rgba(227,151,72,.11);border:1px solid rgba(227,151,72,.17);
  font-size:9px;font-weight:680;letter-spacing:.02em;white-space:nowrap
}
.simple-spend-head small,.expense-rate-note{display:block;margin-top:4px;color:var(--muted);font-size:10.5px;line-height:1.35}
.expense-rate-note{margin:9px 0 0;padding-top:9px;border-top:1px solid rgba(74,89,92,.09)}
.home-costs-summary{
  margin:10px 0 4px;padding:14px 15px;border-radius:19px;
  background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(255,255,255,.20));
  border:1px solid rgba(255,255,255,.64);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)
}
.home-costs-summary p{margin:6px 0 0;color:var(--muted);font-size:10.5px;line-height:1.4}
.settings-budget-mode-grid{margin:10px 0 4px}
.destination-editor-heading{margin-bottom:8px}
.destination-editor-heading h2{margin:3px 0 0;font-size:23px;font-weight:620;letter-spacing:-.04em}
.first-editor-section{margin-top:9px!important}

.unsaved-dialog{
  position:absolute;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:18px 14px 24px;
  background:rgba(28,34,35,.24);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
  animation:unsavedFade .18s ease both
}
.unsaved-dialog-card{
  width:min(100%,410px);padding:23px 18px 17px;border-radius:27px;
  background:radial-gradient(110% 80% at 8% -12%,rgba(255,255,255,.94),rgba(255,255,255,.69) 50%,rgba(249,247,243,.65)),linear-gradient(145deg,rgba(255,255,255,.76),rgba(255,255,255,.48));
  border:1px solid rgba(255,255,255,.88);box-shadow:0 26px 65px rgba(42,49,49,.24),inset 0 1px 0 rgba(255,255,255,.92);
  animation:unsavedRise .3s cubic-bezier(.16,.86,.28,1) both
}
.unsaved-dialog-card h2{margin:5px 0 8px;font-size:21px;line-height:1.15;font-weight:620;letter-spacing:-.035em}
.unsaved-dialog-card p{margin:0 0 15px;color:var(--muted);font-size:11.5px;line-height:1.45}
.unsaved-dialog-card button{width:100%;margin-top:8px}
.danger-soft{color:var(--danger)!important;background:rgba(184,75,65,.07)!important;border-color:rgba(184,75,65,.13)!important}
@keyframes unsavedFade{from{opacity:0}to{opacity:1}}
@keyframes unsavedRise{from{opacity:0;transform:translate3d(0,24px,0) scale(.985)}to{opacity:1;transform:none}}

:root[data-theme="dark"] .upcoming-badge{color:#e4ad78;background:rgba(228,144,66,.10);border-color:rgba(228,144,66,.17)}
:root[data-theme="dark"] .home-costs-summary{background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018));border-color:rgba(255,255,255,.105);box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
:root[data-theme="dark"] .expense-rate-note{border-top-color:rgba(255,255,255,.08)}
:root[data-theme="dark"] .unsaved-dialog{background:rgba(3,7,8,.48)}
:root[data-theme="dark"] .unsaved-dialog-card{
  background:radial-gradient(110% 80% at 8% -12%,rgba(255,255,255,.12),rgba(255,255,255,.035) 50%,rgba(27,33,34,.78)),linear-gradient(145deg,rgba(43,52,52,.94),rgba(24,30,31,.94));
  border-color:rgba(255,255,255,.16);box-shadow:0 28px 68px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.12)
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .app-motion-in,.sheet-backdrop,.sheet,.sheet.expense-sheet,.trip-wizard-step,.trip-wizard-finale,
  .trip-wizard-countdown,.unsaved-dialog,.unsaved-dialog-card,.privacy-policy summary:after,
  .svg-progress-ring .ring-progress-svg,.svg-progress-ring .ring-overflow-svg{animation:none!important;transition:none!important}
}

/* =========================================================
   V45 — Otis companion, honest overflow and softer wizard
   ========================================================= */
.ring-overflow-svg{
  fill:none;stroke-width:5.5;stroke-linecap:round;opacity:0;
  filter:drop-shadow(0 2px 4px rgba(218,76,103,.16));
  transition:stroke-dashoffset .76s cubic-bezier(.2,.82,.27,1),opacity .25s ease
}
.svg-progress-ring.is-over-budget .ring-overflow-svg{opacity:1}
.svg-progress-ring.is-over-budget .ring-center strong{color:#a94f59!important}
.ring-center.wide-percent strong{font-size:19px!important;letter-spacing:-.055em!important}
:root[data-theme="dark"] .svg-progress-ring.is-over-budget .ring-center strong{color:#ff9b9b!important}

.sheet.trip-wizard-sheet{
  overflow-x:hidden!important;
  background:
   radial-gradient(190px 126px at 50% 38px,rgba(255,143,71,.13),transparent 70%),
   linear-gradient(180deg,rgba(250,248,245,.995),rgba(247,247,246,.985) 55%,rgba(247,242,238,.99))!important;
  border-color:rgba(255,255,255,.92)!important;
  box-shadow:0 -20px 58px rgba(34,45,50,.20),inset 0 1px 0 rgba(255,255,255,.96)!important
}
.trip-wizard-celebration{
  height:108px!important;margin:-2px 0 3px!important;overflow:visible!important;isolation:isolate
}
.trip-wizard-celebration:before{
  content:"";position:absolute;z-index:-1;left:50%;top:50%;width:142px;height:90px;
  transform:translate(-50%,-43%);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,126,43,.22),rgba(255,126,43,.07) 42%,transparent 72%);
  filter:blur(8px)
}
.trip-wizard-field-hint{display:block;margin:7px 2px 0;color:var(--muted);font-size:10.5px;line-height:1.35}
:root[data-theme="dark"] .sheet.trip-wizard-sheet{
  background:
   radial-gradient(190px 126px at 50% 38px,rgba(232,105,47,.12),transparent 70%),
   linear-gradient(180deg,rgba(27,34,35,.995),rgba(24,31,32,.99) 55%,rgba(31,27,25,.995))!important;
  border-color:rgba(255,255,255,.15)!important;
  box-shadow:0 -22px 62px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12)!important
}
:root[data-theme="dark"] .trip-wizard-celebration:before{
  background:radial-gradient(circle,rgba(255,119,43,.19),rgba(255,119,43,.055) 44%,transparent 73%)
}

/* =========================================================
   V46 — complete mobile journey
   ========================================================= */

/* The first screen stays generous on tall phones and becomes deliberately
   denser only where the floating navigation would otherwise cover row two. */
@media (max-height:900px){
  .home-page .home-fold>.hero.glass-hero,
  .home-page .hero.glass-hero{height:calc(222px + env(safe-area-inset-top))!important}
  .home-page .home-main{margin-top:-40px!important}
  .home-page .destination-card{padding:14px 14px 13px!important}
  .home-page .destination-title{font-size:23px!important}
  .home-page .destination-title-row .ico-bubble{width:36px!important;height:36px!important}
  .home-page .budget-focus{margin-top:11px!important;padding:12px 13px!important;min-height:126px!important;grid-template-columns:100px minmax(0,1fr)!important;gap:13px!important}
  .home-page .svg-progress-ring{width:98px!important;height:98px!important}
  .home-page .home-cat-title{margin:13px 2px 8px!important}
  .home-page .six-tiles{gap:8px!important}
  .home-page .six-tiles .tile{min-height:88px!important;padding:7px 5px 8px!important}
  .home-page .six-tiles .tile .ico-bubble{width:35px!important;height:35px!important;margin-bottom:4px!important}
  .home-page .six-tiles .tile .ico-bubble svg{width:18px!important;height:18px!important}
  .home-page .six-tiles .tile .name{min-height:22px!important;font-size:10.3px!important}
  .home-page .six-tiles .tile .money{font-size:15px!important;margin-top:3px!important}
}
@media (max-height:760px){
  .home-page .home-fold>.hero.glass-hero,
  .home-page .hero.glass-hero{height:calc(205px + env(safe-area-inset-top))!important}
  .home-page .home-main{margin-top:-36px!important}
  .home-page .budget-focus{min-height:112px!important;grid-template-columns:88px minmax(0,1fr)!important;padding:10px 12px!important}
  .home-page .svg-progress-ring{width:86px!important;height:86px!important}
  .home-page .six-tiles .tile{min-height:81px!important;padding-top:6px!important;padding-bottom:6px!important}
  .home-page .six-tiles .tile .ico-bubble{width:32px!important;height:32px!important}
  .home-page .six-tiles .tile .name{min-height:20px!important;font-size:9.7px!important}
  .home-page .six-tiles .tile .money{font-size:14px!important}
}

/* Give the capsule a clearer contact shadow so it reads as floating even when
   the card underneath has the same glass colour. */
.nav.glass-nav{
  box-shadow:0 25px 56px rgba(38,47,54,.22),0 8px 22px rgba(44,58,68,.12),inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(255,255,255,.22)!important
}
:root[data-theme="dark"] .nav.glass-nav{
  box-shadow:0 27px 62px rgba(0,0,0,.62),0 8px 23px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.20),inset 0 -1px 0 rgba(79,151,162,.08)!important
}

/* Native select menus follow the selected appearance as well as the fields. */
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}
:root[data-theme="dark"] .filter-selects select,
:root[data-theme="dark"] .filter-selects select option{color-scheme:dark!important;background-color:#202829!important;color:#e5ece9!important}

/* The grab target remains large, while only its short rounded line is visible. */
.sheet>.grab,.sheet.expense-sheet>.grab,
:root[data-theme="dark"] .sheet>.grab,:root[data-theme="dark"] .sheet.expense-sheet>.grab{
  -webkit-appearance:none!important;appearance:none!important;background:none!important;border:0!important;box-shadow:none!important;outline:0!important
}

/* Trip-wide budget settings use the same dark glass hierarchy as the sheet. */
:root[data-theme="dark"] .budget-settings-sheet .budget-mode,
:root[data-theme="dark"] .budget-settings-sheet .recurring-preview{
  background:radial-gradient(110% 90% at 5% -12%,rgba(255,255,255,.105),transparent 58%),linear-gradient(145deg,rgba(255,255,255,.058),rgba(255,255,255,.017))!important;
  border:1px solid rgba(255,255,255,.13)!important;color:var(--ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.11)!important
}
:root[data-theme="dark"] .budget-settings-sheet .budget-mode.active{
  background:radial-gradient(110% 90% at 5% -12%,rgba(255,255,255,.12),transparent 58%),linear-gradient(145deg,rgba(214,102,48,.17),rgba(255,255,255,.025))!important;
  border-color:rgba(242,135,76,.28)!important;box-shadow:0 8px 20px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.13)!important
}
:root[data-theme="dark"] .budget-settings-sheet .budget-mode small,
:root[data-theme="dark"] .budget-settings-sheet .recurring-preview{color:var(--muted)!important}
.budget-hero-card .budget-gear{position:absolute!important;z-index:16!important;width:58px!important;height:58px!important;pointer-events:auto!important}
.budget-hero-card .budget-total-button{position:relative!important;z-index:1!important}

/* A visible route spine, numbered glass stops and a real insertion marker turn
   reordering into a spatial interaction instead of repeated list swapping. */
.route-stack:before{display:none!important}
.route-stop{position:relative;align-self:stretch;display:grid;place-items:center;min-height:58px;isolation:isolate}
.route-stop:before{content:"";position:absolute;z-index:0;left:50%;top:-23px;bottom:-23px;width:3px;transform:translateX(-50%);border-radius:99px;background:linear-gradient(180deg,#ff9b52 0%,#69c9ae 52%,#6daedc 100%);box-shadow:0 0 0 1px rgba(255,255,255,.44),0 3px 10px rgba(70,137,145,.14)}
.route-stop.first:before{top:50%}.route-stop.last:before{bottom:50%}
.route-stop .dest-avatar{position:relative;z-index:2;border:2px solid rgba(255,255,255,.88)!important;box-shadow:0 0 0 4px rgba(245,248,247,.70),0 8px 18px rgba(48,77,93,.16)!important}
.route-stop:not(.last):after{content:"";position:absolute;z-index:3;left:50%;bottom:-18px;width:7px;height:7px;border-right:2px solid rgba(73,147,157,.70);border-bottom:2px solid rgba(73,147,157,.70);transform:translateX(-50%) rotate(45deg)}
.route-drag{border-radius:11px;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.route-drag:active{background:rgba(255,138,66,.10);color:var(--accent);transform:scale(1.06)}
.route-stack.drag-active .route-destination:not(.drag-source){transition:transform .2s cubic-bezier(.2,.8,.25,1),filter .2s ease}
.route-destination.drag-source{opacity:.24!important;filter:saturate(.35)!important;transform:scale(.985)!important;box-shadow:none!important}
.route-drag-ghost{position:fixed!important;z-index:140!important;margin:0!important;pointer-events:none!important;opacity:.97!important;transform:scale(1.025) rotate(.25deg)!important;box-shadow:0 24px 52px rgba(31,45,52,.28),inset 0 1px 0 rgba(255,255,255,.9)!important;transition:none!important}
.route-drop-indicator{position:relative;height:28px;margin:-3px 7px;animation:routeDropIn .18s ease both}
.route-drop-indicator:before{content:"";position:absolute;left:8px;right:8px;top:50%;height:3px;transform:translateY(-50%);border-radius:99px;background:linear-gradient(90deg,#ff8a38,#63c5ad);box-shadow:0 4px 12px rgba(73,166,151,.22)}
.route-drop-indicator:after{content:"";position:absolute;left:7px;top:50%;width:9px;height:9px;transform:translateY(-50%);border-radius:50%;background:#ff8435;box-shadow:0 0 0 4px rgba(255,132,53,.13)}
.route-drop-indicator span{position:absolute;z-index:2;right:12px;top:50%;transform:translateY(-50%);padding:4px 8px;border-radius:999px;background:rgba(247,250,248,.94);border:1px solid rgba(255,255,255,.92);box-shadow:0 5px 14px rgba(45,71,77,.12);color:#397b70;font-size:9px;font-weight:650}
:root[data-theme="dark"] .route-stop .dest-avatar{border-color:rgba(255,255,255,.24)!important;box-shadow:0 0 0 4px rgba(22,29,30,.82),0 9px 20px rgba(0,0,0,.31)!important}
:root[data-theme="dark"] .route-drop-indicator span{background:rgba(27,36,36,.96);border-color:rgba(255,255,255,.14);color:#8ed1c0}
:root[data-theme="dark"] .route-drag-ghost{box-shadow:0 26px 56px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.15)!important}
@keyframes routeDropIn{from{opacity:0;transform:scaleY(.55)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  .route-drop-indicator,.route-drag-ghost,.route-destination.drag-source{animation:none!important;transition:none!important}
}

/* =========================================================
   V48 — Safari-safe ring motion and guaranteed money fit
   ========================================================= */
.budget-focus-copy{min-width:0!important;max-width:100%!important;overflow:visible!important}
.budget-focus .big-money{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;font-variant-numeric:tabular-nums!important}
.destination-detail-page .budget-focus{grid-template-columns:minmax(96px,118px) minmax(0,1fr)!important}
.destination-detail-page .budget-focus-copy>.subtle{max-width:100%;overflow-wrap:anywhere}
.budget-focus .big-money[style*="font-size"]{line-height:1.04!important}
@media(max-width:390px){
 .destination-detail-page .budget-focus{grid-template-columns:104px minmax(0,1fr)!important;gap:10px!important}
 .destination-detail-page .svg-progress-ring{width:100px!important;height:100px!important}
}

/* =========================================================
   V49 — direct language access on Home
   ========================================================= */
.home-language-shortcut{
 justify-self:end;width:37px!important;height:37px!important;
 background:rgba(255,255,255,.16)!important;
 border-color:rgba(255,255,255,.46)!important;
 color:rgba(255,255,255,.94)!important;
 box-shadow:0 6px 18px rgba(22,39,54,.10),inset 0 1px 0 rgba(255,255,255,.42)!important;
}
.home-language-shortcut svg{width:18px!important;height:18px!important;stroke-width:1.65!important}
.home-language-shortcut:active{background:rgba(255,255,255,.25)!important}
:root[data-theme="dark"] .home-language-shortcut{
 background:rgba(15,24,29,.20)!important;border-color:rgba(255,255,255,.40)!important;
 box-shadow:0 7px 20px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.24)!important;
}

/* V50 — complete experience */
.home-language-shortcut{width:34px!important;height:34px!important;transform:translateY(-10px);opacity:.82;transition:opacity .2s ease,transform .2s ease!important}
.home-language-shortcut:active{opacity:1;transform:translateY(-9px) scale(.96)!important}
.destination-stay-progress{margin-bottom:12px!important}
.destination-totals-button{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left}
.destination-total-grid small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.25;font-weight:500}
.destination-allin-summary{margin-top:10px;padding:10px 12px;border-radius:15px;background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.58);display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px}
.destination-allin-summary span{font-size:11px;color:var(--muted)}.destination-allin-summary b{font-size:16px;color:var(--ink)}.destination-allin-summary small{grid-column:1;font-size:10px;color:var(--muted)}.destination-allin-summary svg{grid-column:2;grid-row:1/4;width:15px;height:15px;color:var(--muted)}
.budget-dest-outcome{display:flex;justify-content:space-between;gap:10px;margin:9px 0 2px;padding-top:9px;border-top:1px solid rgba(38,59,72,.09);font-size:11px;color:var(--muted)}.budget-dest-outcome b{color:var(--ink);font-size:12px;margin-left:3px}
.budget-forecast-card{margin-top:14px;padding:16px;display:grid;grid-template-columns:42px 1fr 28px;align-items:center;gap:10px}.budget-forecast-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#4d8b78;background:linear-gradient(145deg,rgba(136,210,180,.34),rgba(255,255,255,.48));border:1px solid rgba(255,255,255,.66)}.budget-forecast-icon svg{width:21px;height:21px}.budget-forecast-card>div:nth-child(2){min-width:0;display:flex;flex-direction:column}.budget-forecast-card span{font-size:11px;color:var(--muted)}.budget-forecast-card strong{font-size:24px;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums}.budget-forecast-card small{font-size:10px;color:var(--muted);margin-top:3px}.budget-forecast-card button{width:28px;height:34px;border:0;background:none;color:var(--muted)}.budget-forecast-card button svg{width:16px}.budget-forecast-card p{grid-column:1/-1;margin:7px 0 0;padding-top:9px;border-top:1px solid rgba(38,59,72,.08);font-size:10px;line-height:1.45;color:var(--muted)}
.budget-alerts{display:grid;gap:8px;margin:12px 0}.home-after-fold>.budget-alerts{margin:0 0 12px}.budget-alert{padding:12px 13px;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.budget-alert>svg{width:20px;height:20px;margin:3px 0 0 3px;color:#6689a5}.budget-alert.amber>svg{color:#d18a3f}.budget-alert.danger>svg{color:#d6675f}.budget-alert div{display:flex;flex-direction:column;gap:2px}.budget-alert b{font-size:12px}.budget-alert span{font-size:11px;line-height:1.4;color:var(--muted)}
.budget-settings-guide{margin:10px 0 15px;padding:13px;border-radius:17px;display:grid;grid-template-columns:28px 1fr;gap:10px;background:linear-gradient(145deg,rgba(226,244,238,.68),rgba(255,255,255,.48));border:1px solid rgba(255,255,255,.68)}.budget-settings-guide>svg{width:22px;height:22px;color:#4d8b78}.budget-settings-guide p{margin:0;font-size:12px;line-height:1.4}.budget-settings-guide small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.budget-column-labels{margin:0 0 7px!important;padding:0 3px}.budget-column-labels span{text-align:center}
.optional-details{margin:8px 0 17px;border-radius:18px;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.56);overflow:hidden}.optional-details summary{list-style:none;padding:13px 14px;display:grid;grid-template-columns:1fr 18px;gap:2px 8px;cursor:pointer}.optional-details summary::-webkit-details-marker{display:none}.optional-details summary span{font-size:12px;font-weight:750}.optional-details summary small{font-size:10px;color:var(--muted);grid-column:1}.optional-details summary svg{grid-column:2;grid-row:1/3;width:15px;align-self:center;transition:transform .2s}.optional-details[open] summary svg{transform:rotate(90deg)}.optional-details>div{padding:0 13px 4px}
.receipt-capture{width:100%;border:1px solid rgba(255,255,255,.68);background:rgba(255,255,255,.36);border-radius:18px;color:var(--ink);box-shadow:inset 0 1px rgba(255,255,255,.55)}.receipt-capture.empty{padding:11px 13px;display:grid;grid-template-columns:34px 1fr 16px;gap:10px;align-items:center;text-align:left}.receipt-capture.empty>svg:first-child{width:34px;height:34px;padding:7px;border-radius:12px;color:#8a65bc;background:rgba(190,150,230,.22)}.receipt-capture.empty>svg:last-child{width:14px;color:var(--muted)}.receipt-capture span,.receipt-capture.has-receipt>div{display:flex;flex-direction:column}.receipt-capture b{font-size:12px}.receipt-capture small{font-size:10px;line-height:1.35;color:var(--muted);margin-top:2px}.receipt-capture.has-receipt{padding:9px;display:grid;grid-template-columns:72px 1fr;gap:10px}.receipt-capture.has-receipt>img{width:72px;height:72px;object-fit:cover;border-radius:12px}.receipt-capture.has-receipt>div>div{display:flex;gap:6px;margin-top:8px}.receipt-capture.has-receipt button{border:0;border-radius:10px;padding:6px 8px;background:rgba(255,255,255,.54);color:var(--ink);font-size:9px;display:flex;align-items:center;gap:4px}.receipt-capture.has-receipt button svg{width:12px;height:12px}.expense-detail-receipt{margin:12px 0;display:flex;flex-direction:column;gap:7px}.expense-detail-receipt span{font-size:11px;color:var(--muted)}.expense-detail-receipt img{width:100%;max-height:280px;object-fit:contain;border-radius:17px;background:rgba(0,0,0,.06)}
.ico-bubble.teal{background:linear-gradient(145deg,#7fd2c0,#34a995);color:white}.ico-bubble.coral{background:linear-gradient(145deg,#ffad94,#e77a69);color:white}.ico-bubble.indigo{background:linear-gradient(145deg,#9ca8ed,#6676cf);color:white}.ico-bubble.rose{background:linear-gradient(145deg,#ee9fba,#c96591);color:white}.ico-bubble.cyan{background:linear-gradient(145deg,#84d7e9,#3ca6c6);color:white}.ico-bubble.slate{background:linear-gradient(145deg,#9eafbd,#637887);color:white}.banner-editor-actions.two-actions{grid-template-columns:1fr 1fr}
#orientation-lock{display:none;position:fixed;inset:0;z-index:10000;background:var(--bg,#f2ece7);color:var(--ink,#163047);padding:26px;align-items:center;justify-content:center;text-align:center}#orientation-lock>div{max-width:300px;display:flex;flex-direction:column;align-items:center;gap:8px}#orientation-lock svg{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px}#orientation-lock strong{font-size:20px}#orientation-lock span{font-size:13px;color:var(--muted)}html[lang="nl"] #orientation-lock [data-lang="en"],html[lang="en"] #orientation-lock [data-lang="nl"]{display:none}
@media (orientation:landscape) and (max-height:600px){#orientation-lock{display:flex}body{overflow:hidden}}
:root[data-theme="dark"] .destination-allin-summary,:root[data-theme="dark"] .optional-details,:root[data-theme="dark"] .receipt-capture{background:rgba(17,29,38,.52);border-color:rgba(255,255,255,.13)}:root[data-theme="dark"] .budget-settings-guide{background:linear-gradient(145deg,rgba(46,87,77,.46),rgba(21,35,44,.62));border-color:rgba(255,255,255,.13)}:root[data-theme="dark"] .receipt-capture.has-receipt button{background:rgba(255,255,255,.09);color:var(--ink)}:root[data-theme="dark"] .budget-forecast-icon{background:linear-gradient(145deg,rgba(55,126,102,.44),rgba(26,43,53,.58));border-color:rgba(255,255,255,.12)}:root[data-theme="dark"] #orientation-lock{background:#0f1b23}

/* V51 — smart receipts and daily dismissible budget alerts */
.home-budget-alerts{margin:12px 0 11px!important}
.budget-alert.daily-warning{position:relative;max-height:180px;overflow:hidden;padding:12px 38px 12px 12px;border-radius:17px;display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:start;background:linear-gradient(145deg,rgba(255,218,170,.64),rgba(255,239,213,.48));border:1px solid rgba(232,157,73,.30);box-shadow:0 8px 20px rgba(146,89,35,.08),inset 0 1px 0 rgba(255,255,255,.66);touch-action:pan-y;user-select:none;will-change:transform,opacity}
.budget-alert.daily-warning>svg{width:19px;height:19px;margin:2px 0 0 3px;color:#c8782b;stroke-width:1.9}
.budget-alert.daily-warning>div{display:flex;flex-direction:column;gap:3px;min-width:0}.budget-alert.daily-warning b{font-size:11px;color:#87501d}.budget-alert.daily-warning span{font-size:10.5px;line-height:1.42;color:#6d4a2b}.budget-alert.daily-warning small{font-size:8.5px;color:rgba(111,74,39,.65);margin-top:2px}
.budget-alert.daily-warning>button{position:absolute;right:7px;top:7px;width:28px;height:28px;border:0;border-radius:10px;background:transparent;color:rgba(112,73,36,.54);display:grid;place-items:center}.budget-alert.daily-warning>button svg{width:13px;height:13px}
.destination-card>.home-budget-alerts+.section-title{margin-top:10px}
.receipt-scan-state{margin-top:8px;padding:10px 12px;border-radius:15px;border:1px solid rgba(255,255,255,.62);background:rgba(255,255,255,.36)}.receipt-scan-state.scanning>div:first-child{display:flex;justify-content:space-between;align-items:center}.receipt-scan-state b{font-size:11px}.receipt-scan-state span,.receipt-scan-state small{font-size:9.5px;line-height:1.35;color:var(--muted)}.receipt-scan-progress{height:5px;border-radius:99px;background:rgba(53,78,92,.10);overflow:hidden;margin:7px 0}.receipt-scan-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff9a4b,#efb45e);transition:width .2s ease}.receipt-scan-state.done,.receipt-scan-state.partial{display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:start}.receipt-scan-state.done>svg,.receipt-scan-state.partial>svg{width:19px;height:19px;margin:2px;color:#4d9a78}.receipt-scan-state.partial>svg{color:#c8782b}.receipt-scan-state.done>div,.receipt-scan-state.partial>div{display:flex;flex-direction:column;gap:2px}
input.receipt-suggested,select.receipt-suggested,.amount-currency.receipt-suggested,.expense-category-card.receipt-suggested{box-shadow:0 0 0 2px rgba(238,157,73,.42)!important;border-color:rgba(226,137,51,.52)!important;background-color:rgba(255,235,205,.28)!important}
:root[data-theme="dark"] .budget-alert.daily-warning{background:linear-gradient(145deg,rgba(119,72,29,.68),rgba(73,49,29,.72));border-color:rgba(238,163,82,.34);box-shadow:0 10px 24px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,220,174,.10)}:root[data-theme="dark"] .budget-alert.daily-warning b{color:#ffd19c}:root[data-theme="dark"] .budget-alert.daily-warning span{color:#f1c89c}:root[data-theme="dark"] .budget-alert.daily-warning small{color:rgba(247,206,160,.58)}:root[data-theme="dark"] .budget-alert.daily-warning>button{color:rgba(255,216,171,.62)}:root[data-theme="dark"] .receipt-scan-state{background:rgba(17,29,38,.52);border-color:rgba(255,255,255,.12)}:root[data-theme="dark"] input.receipt-suggested,:root[data-theme="dark"] select.receipt-suggested,:root[data-theme="dark"] .amount-currency.receipt-suggested,:root[data-theme="dark"] .expense-category-card.receipt-suggested{background-color:rgba(151,91,35,.22)!important;border-color:rgba(239,161,81,.44)!important}

/* V52 — reliable mobile receipt OCR and full-screen receipt viewer */
.receipt-capture-preview{width:72px;height:72px;padding:0;border:0;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.05);display:block;position:relative}.receipt-capture-preview:after{content:'+';position:absolute;right:5px;bottom:5px;width:20px;height:20px;border-radius:8px;display:grid;place-items:center;background:rgba(18,39,52,.74);color:#fff;font-size:15px;box-shadow:0 2px 8px rgba(0,0,0,.2)}.receipt-capture-preview img{width:100%;height:100%;object-fit:cover;display:block}
.expense-detail-receipt-preview{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;border-radius:17px;overflow:hidden;position:relative}.expense-detail-receipt-preview img{display:block;width:100%;max-height:310px;object-fit:contain;border-radius:17px;background:rgba(0,0,0,.06)}.expense-detail-receipt-preview small{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;white-space:nowrap;padding:7px 10px;border-radius:12px;background:rgba(18,39,52,.78);color:#fff;font-size:9px;box-shadow:0 4px 14px rgba(0,0,0,.18)}.expense-detail-receipt-preview small svg{width:12px;height:12px}
.receipt-viewer{position:fixed;inset:0;z-index:20000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:calc(env(safe-area-inset-top) + 10px) 12px calc(env(safe-area-inset-bottom) + 10px);gap:10px;background:rgba(7,14,19,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;transition:opacity .18s ease;color:#fff}.receipt-viewer.visible{opacity:1}.receipt-viewer.closing{opacity:0}.receipt-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}.receipt-viewer-toolbar>b{font-size:14px}.receipt-viewer-toolbar>div{display:flex;gap:7px}.receipt-viewer-toolbar button{width:38px;height:38px;border:1px solid rgba(255,255,255,.19);border-radius:13px;background:rgba(255,255,255,.11);color:#fff;display:grid;place-items:center;font-size:21px}.receipt-viewer-toolbar button:disabled{opacity:.35}.receipt-viewer-toolbar button svg{width:17px;height:17px}.receipt-viewer-canvas{min-height:0;overflow:auto;overscroll-behavior:contain;border-radius:14px;display:block;text-align:center;touch-action:pan-x pan-y pinch-zoom}.receipt-viewer-canvas img{display:block;width:100%;height:auto;margin:0 auto;border-radius:8px;transition:width .18s ease;background:#fff}.receipt-viewer>small{text-align:center;color:rgba(255,255,255,.62);font-size:9px}
@media (max-width:380px){.receipt-viewer{padding-left:8px;padding-right:8px}.expense-detail-receipt-preview small{font-size:8.5px}}

/* V53 — stable sheet position, compact expense form and lower receipt preview */
body.sheet-open{inset:auto 0 auto 0!important;top:var(--sheet-scroll-top,0px)!important;right:0!important;bottom:auto!important;left:0!important;height:100dvh!important}
.expense-sheet .amount-editor{display:grid!important;grid-template-columns:60px minmax(0,1fr) 46px!important;align-items:center!important;gap:7px!important;padding:0!important}
.expense-sheet .amount-input{width:100%!important;min-width:0!important;text-align:center!important}
.amount-camera{position:relative;width:46px;height:46px;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.64),rgba(238,244,248,.42));color:#557386;display:grid;place-items:center;box-shadow:0 6px 16px rgba(57,76,91,.09),inset 0 1px 0 rgba(255,255,255,.82)}
.amount-camera svg{width:21px;height:21px;stroke-width:1.7}.amount-camera>span{display:none;position:absolute;right:4px;top:4px;width:8px;height:8px;border-radius:50%;background:#ef8b48;border:2px solid rgba(255,255,255,.9)}.amount-camera.has-receipt>span{display:block}
.expense-category-card{padding:5px!important;border-radius:20px!important}.expense-category-card .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important}.expense-category-card .category-choice{min-height:42px!important;padding:4px 6px!important;border-radius:14px!important;display:grid!important;grid-template-columns:31px minmax(0,1fr)!important;align-items:center!important;gap:6px!important;text-align:left!important}.expense-category-card .category-choice .ico-bubble{width:31px!important;height:31px!important;margin:0!important}.expense-category-card .category-choice .ico-bubble svg{width:16px!important;height:16px!important}.expense-category-card .category-choice span{min-height:0!important;font-size:9px!important;line-height:1.12!important;display:block!important;text-align:left!important;overflow:visible!important;white-space:normal!important}.expense-category-card .category-choice.active{transform:none!important;background:linear-gradient(145deg,rgba(255,176,111,.25),rgba(255,255,255,.60))!important;box-shadow:inset 0 0 0 1px rgba(238,128,62,.28),0 4px 12px rgba(238,128,62,.07)!important}
.expense-fields-card{justify-content:center!important}.expense-fields-card .glass-field-row{border-bottom:1px solid rgba(48,72,86,.07)}.expense-fields-card .glass-field-row:last-child{border-bottom:0}.expense-fields-card .field-orb{width:31px!important;height:31px!important;border-radius:11px!important}.expense-fields-card .field-orb svg{width:15px!important;height:15px!important}
.expense-receipt-footer{flex:0 0 58px;height:58px;min-height:58px;overflow:hidden}.receipt-empty-state{height:58px;padding:0 10px;border:1px dashed rgba(72,94,106,.18);border-radius:14px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);background:rgba(255,255,255,.18)}.receipt-empty-state>span{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:650}.receipt-empty-state>span svg{width:15px;height:15px}.receipt-empty-state>span small{font-size:8px;font-weight:500}.receipt-empty-state>b{font-size:9px;font-weight:520;color:rgba(77,96,106,.62)}
.receipt-capture.compact-receipt{height:58px;min-height:58px;padding:5px 6px;grid-template-columns:48px minmax(0,1fr) 62px;gap:7px;border-radius:15px;align-items:center}.compact-receipt .receipt-capture-preview{width:48px;height:48px;border-radius:10px}.compact-receipt .receipt-capture-preview:after{width:17px;height:17px;font-size:12px;border-radius:6px}.compact-receipt-copy{min-width:0;display:flex!important;flex-direction:column;justify-content:center}.compact-receipt-copy b{font-size:9.5px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-receipt-copy small{font-size:8px;line-height:1.2;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-receipt-actions{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:4px;margin:0!important}.compact-receipt-actions button{width:29px;height:29px;padding:0!important;border:0!important;border-radius:10px!important;display:grid!important;place-items:center;background:rgba(255,255,255,.52)!important;color:var(--muted)!important}.compact-receipt-actions button svg{width:14px;height:14px}.compact-receipt-actions button:disabled{opacity:.35}.compact-receipt .receipt-scan-progress{height:3px;margin:4px 0 0}
.expense-receipt-footer .receipt-scan-state{margin:0 0 4px;padding:6px 9px;border-radius:13px}.expense-receipt-footer .receipt-scan-state b{font-size:9.5px}.expense-receipt-footer .receipt-scan-state span,.expense-receipt-footer .receipt-scan-state small{font-size:8px}.expense-receipt-footer .receipt-scan-progress{margin:4px 0;height:4px}.expense-receipt-footer .receipt-scan-state.done,.expense-receipt-footer .receipt-scan-state.partial{grid-template-columns:20px 1fr;gap:5px}.expense-receipt-footer .receipt-scan-state.done>svg,.expense-receipt-footer .receipt-scan-state.partial>svg{width:15px;height:15px}
:root[data-theme="dark"] .amount-camera{background:linear-gradient(145deg,rgba(40,58,69,.82),rgba(23,38,47,.70));border-color:rgba(255,255,255,.13);color:#9cc1d2;box-shadow:0 7px 17px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.09)}:root[data-theme="dark"] .receipt-empty-state{background:rgba(16,30,38,.34);border-color:rgba(255,255,255,.13)}:root[data-theme="dark"] .receipt-empty-state>b{color:rgba(208,224,231,.55)}:root[data-theme="dark"] .compact-receipt-actions button{background:rgba(255,255,255,.08)!important;color:#b7cbd4!important}:root[data-theme="dark"] .expense-category-card .category-choice.active{background:linear-gradient(145deg,rgba(128,77,39,.36),rgba(35,51,60,.62))!important;color:#ffd0a5!important;box-shadow:inset 0 0 0 1px rgba(239,150,80,.26),0 5px 14px rgba(0,0,0,.12)!important}:root[data-theme="dark"] .expense-category-card .category-choice.active span{color:#ffd0a5!important}
@media(max-height:700px){.expense-category-card .category-choice{min-height:37px!important;padding-top:3px!important;padding-bottom:3px!important}.expense-category-card .category-choice .ico-bubble{width:28px!important;height:28px!important}.expense-category-card .category-choice span{font-size:8.2px!important}.expense-receipt-footer,.receipt-empty-state,.receipt-capture.compact-receipt{height:52px;min-height:52px;flex-basis:52px}.compact-receipt .receipt-capture-preview{width:42px;height:42px}.receipt-capture.compact-receipt{grid-template-columns:42px minmax(0,1fr) 62px}.expense-save-row .save-circle{width:50px!important;height:50px!important}}

/* V55 — sealed sheet foot, smoother expense entry and clickable budget total */
:root{--sheet-foot:#f7f2ee}
:root[data-theme="dark"]{--sheet-foot:#171d1f}
.sheet-backdrop{overflow:hidden!important}
.sheet-backdrop:after{
  content:"";position:absolute;z-index:0;left:50%;bottom:-3px;transform:translateX(-50%);
  width:min(100%,520px);height:calc(36px + env(safe-area-inset-bottom));background:var(--sheet-foot);pointer-events:none
}
.sheet{position:relative;z-index:1;margin-bottom:-2px!important;box-shadow:0 -22px 62px rgba(31,42,51,.22),inset 0 1px 0 rgba(255,255,255,.9),0 64px 0 var(--sheet-foot)!important}
:root[data-theme="dark"] .sheet{box-shadow:0 -24px 66px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12),0 64px 0 var(--sheet-foot)!important}
.sheet-backdrop.expense-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.sheet-backdrop.expense-backdrop:not(.visible) .sheet.expense-sheet{transform:translate3d(0,102%,0)!important}
.sheet.expense-sheet{-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform;transform-style:flat;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.sheet-backdrop.expense-backdrop.visible .sheet.expense-sheet{transition:transform .50s cubic-bezier(.16,.84,.22,1),opacity .20s ease!important}
.budget-hero-card[data-budget-total-card]{cursor:pointer;transition:filter .16s ease,box-shadow .18s ease}
.budget-hero-card[data-budget-total-card]:active{filter:brightness(.985)}
@media(prefers-reduced-motion:reduce){.sheet-backdrop.expense-backdrop.visible .sheet.expense-sheet{transition:none!important}}

/* V57 — optional shared trips */
.sync-settings-sheet{display:flex;flex-direction:column;gap:13px}
.sync-intro{margin:-4px 0 1px;color:var(--muted);font-size:12px}
.sync-setup-card,.sync-enable-card,.sync-login-card,.sync-live-card,.sync-share-card,.sync-join-card,.sync-conflict{border:1px solid rgba(255,255,255,.66);background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(239,247,249,.34));box-shadow:inset 0 1px 0 rgba(255,255,255,.74),0 9px 26px rgba(48,75,88,.07);border-radius:21px;padding:14px}
.sync-setup-card,.sync-enable-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center}.sync-setup-card p,.sync-enable-card p,.sync-share-card p,.sync-conflict p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.sync-enable-card>button{grid-column:1/-1}
.sync-security-note,.sync-receipt-note{display:flex;align-items:flex-start;gap:8px;margin:0 3px;color:var(--muted);font-size:9px;line-height:1.45}.sync-security-note svg,.sync-receipt-note svg{width:15px;height:15px;flex:0 0 auto}
.sync-login-card{display:flex;flex-direction:column;gap:8px}.sync-login-card label,.sync-join-card label,.sync-invite-result label{font-size:9px;font-weight:720;color:var(--muted)}.sync-login-card>small{font-size:9px;line-height:1.4;color:var(--muted)}.sync-link-step{display:flex;flex-direction:column;gap:7px;margin-top:2px;padding:11px 12px;border:1px solid rgba(70,155,135,.2);border-radius:15px;background:rgba(106,194,165,.09)}.sync-link-step p,.sync-link-step small{margin:0;font-size:10px;line-height:1.45;color:var(--muted)}.sync-link-step small{font-size:9px}
.sync-account-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px;color:var(--muted);font-size:10px}.sync-account-line span{overflow:hidden;text-overflow:ellipsis}.sync-account-line button{border:0;background:transparent;color:#9b6752;font:inherit;font-weight:720;padding:7px}
.sync-live-card{display:flex;align-items:center;justify-content:space-between;gap:10px}.sync-live-card>div{display:flex;align-items:center;gap:9px;min-width:0}.sync-live-card>div>div{display:flex;flex-direction:column;min-width:0}.sync-live-card small{color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-live-card .secondary{width:auto;min-height:37px;padding:0 11px;white-space:nowrap}.sync-live-dot{width:10px;height:10px;border-radius:50%;background:#5eb98d;box-shadow:0 0 0 5px rgba(94,185,141,.13)}.sync-live-card.pending .sync-live-dot{background:#ef9a56;box-shadow:0 0 0 5px rgba(239,154,86,.13)}
.sync-share-card,.sync-join-card{display:flex;flex-direction:column;gap:8px}.sync-share-card h3,.sync-join-card h3{margin:0;font-size:13px}.sync-share-card p{margin-top:-4px}.sync-invite-result{display:flex;flex-direction:column;align-items:center;gap:3px;padding:11px;border-radius:15px;background:rgba(55,123,141,.08)}.sync-invite-result.hidden{display:none}.sync-invite-result output{font-size:22px;line-height:1.1;font-weight:820;letter-spacing:.13em;color:#277c90;font-variant-numeric:tabular-nums}.sync-invite-result small{font-size:8px;color:var(--muted)}
.sync-conflict{border-color:rgba(225,142,86,.34);background:linear-gradient(145deg,rgba(255,226,197,.59),rgba(255,246,232,.38));display:grid;grid-template-columns:1fr 1fr;gap:7px}.sync-conflict>div{grid-column:1/-1;display:flex;gap:9px}.sync-conflict>div>svg{width:20px;height:20px;color:#c7773c;flex:0 0 auto}.sync-conflict button{min-width:0}.sync-stop{color:#9d6753!important}.busy{opacity:.64;pointer-events:none}
:root[data-theme="dark"] .sync-setup-card,:root[data-theme="dark"] .sync-enable-card,:root[data-theme="dark"] .sync-login-card,:root[data-theme="dark"] .sync-live-card,:root[data-theme="dark"] .sync-share-card,:root[data-theme="dark"] .sync-join-card{background:linear-gradient(145deg,rgba(35,53,63,.76),rgba(18,31,39,.64));border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 30px rgba(0,0,0,.19)}
:root[data-theme="dark"] .sync-conflict{background:linear-gradient(145deg,rgba(111,67,39,.62),rgba(43,42,39,.67));border-color:rgba(239,158,91,.27)}:root[data-theme="dark"] .sync-invite-result{background:rgba(83,157,175,.12)}:root[data-theme="dark"] .sync-account-line button,:root[data-theme="dark"] .sync-stop{color:#efb092!important}
@media(max-width:360px){.sync-live-card{align-items:stretch;flex-direction:column}.sync-live-card .secondary{width:100%}.sync-conflict{grid-template-columns:1fr}}

/* V57 — installeren en samen reizen */
.more-share-card{width:100%;min-height:74px;margin-top:12px;padding:13px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;text-align:left;color:var(--ink)}
.more-share-card>span:not(.ico-bubble){display:flex;flex-direction:column;gap:3px;min-width:0}.more-share-card b{font-size:13px}.more-share-card small{font-size:9px;line-height:1.35;color:var(--muted)}.more-share-card em{max-width:82px;font-size:9px;font-style:normal;font-weight:750;color:#347d74;text-align:right}.more-share-card>.ico{width:16px;color:var(--muted)}
.sync-paths{display:grid;gap:10px}.sync-path-card{width:100%;min-height:82px;padding:13px;border:1px solid rgba(255,255,255,.68);border-radius:21px;background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(239,247,249,.35));box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 10px 25px rgba(48,75,88,.07);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left;color:var(--ink)}
.sync-path-card>span:not(.ico-bubble){display:flex;flex-direction:column;gap:4px}.sync-path-card b{font-size:13px}.sync-path-card small{font-size:9.5px;line-height:1.4;color:var(--muted)}.sync-path-card>.ico{width:17px;color:var(--muted)}
.sync-back-choice,.sync-text-button{align-self:flex-start;border:0;background:transparent;color:#317e8d;font-size:10px;font-weight:750;padding:4px 2px;display:flex;align-items:center;gap:5px}.sync-back-choice svg{width:15px}.sync-text-button{align-self:center;margin-top:-3px}
.sync-flow-lead,.sync-pending-invite{padding:13px 14px;border:1px solid rgba(255,255,255,.67);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(245,240,233,.34));display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 9px 24px rgba(48,75,88,.06)}
.sync-flow-lead>div,.sync-pending-invite>div{display:flex;flex-direction:column;gap:3px}.sync-flow-lead b{font-size:13px}.sync-flow-lead p{margin:0;color:var(--muted);font-size:9.5px;line-height:1.4}.sync-pending-invite span{font-size:9px;font-weight:730;color:var(--muted)}.sync-pending-invite strong{font-size:20px;line-height:1.1;letter-spacing:.12em;color:#267c90;font-variant-numeric:tabular-nums}.sync-pending-invite small{font-size:9px;line-height:1.35;color:var(--muted)}
.sync-login-card h3{margin:0;font-size:13px}.sync-login-card>p,.sync-join-card>p{margin:-2px 0 2px;font-size:9.5px;line-height:1.4;color:var(--muted)}.sync-code-input{text-transform:uppercase;letter-spacing:.12em;font-weight:780;font-variant-numeric:tabular-nums}.sync-join-first{margin-top:2px}
.sync-invite-result{gap:7px;margin-top:2px}.sync-invite-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:4px}.sync-invite-actions button{min-width:0;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:5px}.sync-invite-actions svg{width:15px;height:15px}.sync-share-card .sync-invite-result+.primary{margin-top:2px}
.install-app-card{padding:14px;border:1px solid rgba(255,255,255,.67);border-radius:21px;background:linear-gradient(145deg,rgba(255,255,255,.6),rgba(246,238,229,.36));display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px}.install-app-card>div{display:flex;flex-direction:column;gap:4px}.install-app-card b{font-size:13px}.install-app-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.install-steps{margin:0;padding:2px 0 2px 30px;display:grid;gap:8px;color:var(--muted);font-size:10px;line-height:1.4}.install-steps li::marker{font-weight:800;color:#e98744}
:root[data-theme="dark"] .sync-path-card,:root[data-theme="dark"] .sync-flow-lead,:root[data-theme="dark"] .sync-pending-invite,:root[data-theme="dark"] .install-app-card{background:linear-gradient(145deg,rgba(35,53,63,.78),rgba(18,31,39,.66));border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 30px rgba(0,0,0,.18)}
:root[data-theme="dark"] .more-share-card em{color:#8ed0c3}:root[data-theme="dark"] .sync-back-choice,:root[data-theme="dark"] .sync-text-button{color:#91c9d3}
@media(max-width:360px){.more-share-card{grid-template-columns:auto minmax(0,1fr) auto}.more-share-card em{display:none}.sync-invite-actions{grid-template-columns:1fr}.sync-pending-invite strong{font-size:18px}}
