:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Segoe UI,sans-serif;color:#15201d;background:#f3f1eb;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #15201d;--muted: #737c77;--line: #e5e1d8;--paper: #fffdfa;--forest: #183c32;--mint: #dcebe3;--gold: #b4792e;--orange: #e99c43}*{box-sizing:border-box}html{min-width:320px;background:#f3f1eb}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 84% -8%,#fff8e7 0,transparent 32%),#f3f1eb}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.center{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted)}.loading-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:#f1bc70;background:var(--forest);font-size:23px;animation:breathe 1.4s ease-in-out infinite}@keyframes breathe{50%{transform:scale(.94);opacity:.7}}.login-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.login-card{width:min(430px,100%);padding:42px;border:1px solid #ece7dc;border-radius:28px;background:#fffdfaf5;box-shadow:0 24px 80px #25314218}.brand-mark{width:48px;height:48px;border-radius:15px;background:var(--forest);color:#f0b45a;display:grid;place-items:center;font-size:24px}.eyebrow,.section-kicker{margin:0 0 7px;color:#9a6b31;font-size:10px;line-height:1.2;font-weight:850;letter-spacing:.17em}.login-card .eyebrow{margin-top:22px}.login-card h1,.app-header h1{margin:0;letter-spacing:-.045em}.login-card h1{font-size:36px}.muted{color:var(--muted)}.login-card form{margin-top:32px;display:grid;gap:17px}.login-card label{display:grid;gap:8px;font-size:13px;font-weight:760}.login-card input{width:100%;min-height:48px;padding:13px 15px;border:1px solid #dcded9;border-radius:12px;color:var(--ink);background:#fff;outline:none}.login-card input:focus{border-color:#ca9145;box-shadow:0 0 0 3px #e9b9692b}.login-card button,.primary-action{min-height:48px;border:0;border-radius:12px;padding:13px 18px;color:#fff;background:var(--forest);font-weight:780;cursor:pointer}.login-card button:disabled{opacity:.65}.error{margin:0;color:#ad3b32;font-size:13px}.app-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:48px 0 max(34px,env(safe-area-inset-bottom))}.app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.app-header h1{font-size:clamp(32px,5vw,48px);line-height:1}.app-header .muted{margin:10px 0 0}.header-actions{display:flex;align-items:center;gap:10px}.icon-action,.notification-action{min-height:44px;border-radius:13px;border:1px solid #c9cbc5;cursor:pointer}.icon-action{width:44px;padding:0;color:var(--forest);background:transparent;font-size:22px}.notification-action{padding:0 17px;border-color:var(--forest);color:#fff;background:var(--forest);font-size:13px;font-weight:780}.route-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:36px;padding:6px;border:1px solid var(--line);border-radius:18px;background:#ebe8e1}.route-tabs button{min-width:0;padding:14px 17px;border:0;border-radius:13px;color:var(--muted);background:transparent;text-align:left;cursor:pointer;transition:.2s ease}.route-tabs button b,.route-tabs button span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-tabs button b{color:inherit;font-size:14px}.route-tabs button span{margin-top:4px;font-size:11px}.route-tabs button.active{color:#fff;background:var(--forest);box-shadow:0 8px 24px #183c3224}.route-tabs button.active span{color:#cfe0d8}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 38px}.summary-grid article{min-width:0;min-height:126px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--paper);display:flex;flex-direction:column;justify-content:space-between}.summary-grid span,.summary-grid small{color:var(--muted);font-size:11px}.summary-grid strong{display:flex;align-items:center;gap:5px;margin:7px 0;font-size:clamp(21px,3vw,28px);letter-spacing:-.03em}.summary-grid strong>i{color:#a7aaa7;font-size:13px;font-style:normal}.summary-grid .gold,.gold{color:var(--gold)}.summary-grid .status-ok{color:#35775f;font-size:20px}.status-ok>i{width:8px;height:8px;border-radius:50%;background:#4ba67c;box-shadow:0 0 0 5px #4ba67c18}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-heading h2,.trend-header h2{margin:0;font-size:22px;letter-spacing:-.025em}.section-heading>span,.section-heading p,.trend-header p{margin:5px 0 0;color:var(--muted);font-size:12px}.date-scroller{display:flex;gap:10px;margin:16px -4px 0;padding:4px 4px 10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin}.date-chip{flex:0 0 150px;min-height:96px;padding:14px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer;scroll-snap-align:start}.date-chip span,.date-chip b,.date-chip small{display:block}.date-chip span{font-size:12px;color:var(--muted)}.date-chip b{margin:8px 0 3px;font-size:21px}.date-chip small{font-size:10px;color:#989d99}.date-chip.active{color:#fff;border-color:var(--forest);background:var(--forest);box-shadow:0 10px 26px #183c3226}.date-chip.active span,.date-chip.active small{color:#c7d9d1}.trend-card{margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--paper);overflow:hidden}.trend-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.trend-metrics{display:flex;gap:10px}.trend-metrics span{min-width:96px;padding:10px 12px;border-radius:12px;background:#f3f1eb;color:var(--muted);font-size:10px}.trend-metrics b{display:block;margin-top:3px;color:var(--ink);font-size:18px}.trend-metrics b.gold{color:var(--gold)}.chart-wrap{margin-top:16px}.price-chart{display:block;width:100%;height:auto;min-height:210px;overflow:visible}.grid-line{stroke:#e8e5dd;stroke-width:1;stroke-dasharray:4 5}.axis-label,.date-label{fill:#8b928d;font-size:11px}.trend-area-line{fill:none;stroke:var(--orange);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 5px 8px #e99c4340)}.trend-dot{fill:#fff;stroke:var(--orange);stroke-width:4}.chart-legend{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.chart-legend span{display:flex;align-items:center;gap:7px}.legend-line{width:20px;height:3px;border-radius:9px;background:var(--orange)}.chart-empty{min-height:220px;display:grid;place-content:center;justify-items:center;gap:7px;color:var(--muted);text-align:center}.chart-empty>span{color:var(--orange);font-size:32px}.chart-empty b{color:var(--ink)}.chart-empty small{font-size:11px}.flights-section{margin-top:38px}.flight-heading{align-items:center}.sort-control{flex:0 0 auto;display:flex;gap:3px;padding:4px;border-radius:11px;background:#e9e6df}.sort-control button{min-height:34px;padding:0 12px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:11px;font-weight:750;cursor:pointer}.sort-control button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #25314212}.flight-list{display:grid;gap:10px;margin-top:16px}.flight-card{min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--paper);display:grid;grid-template-columns:minmax(190px,1fr) minmax(330px,1.55fr) minmax(130px,.65fr);align-items:center;gap:22px}.airline{min-width:0;display:flex;align-items:center;gap:12px}.airline-symbol{flex:0 0 38px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:var(--forest);background:var(--mint);font-size:15px;font-weight:850}.airline div{min-width:0}.airline b,.airline small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airline b{font-size:13px}.airline small{margin-top:4px;color:var(--muted);font-size:10px}.schedule{min-width:0;display:grid;grid-template-columns:minmax(84px,1fr) minmax(70px,.6fr) minmax(84px,1fr);align-items:center;gap:10px}.schedule>div:first-child{text-align:right}.schedule>div:last-child{text-align:left}.schedule strong,.schedule span{display:block}.schedule strong{font-size:21px;letter-spacing:-.02em}.schedule>div>span{margin-top:3px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-path{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px}.flight-path i{height:1px;background:#cbd0cc}.flight-path span{margin:0!important;color:#8a918c!important;font-size:8px!important}.fare{text-align:right}.fare strong,.fare span,.fare small{display:block}.fare strong{color:#bd7225;font-size:23px}.fare span{margin-top:2px;color:var(--muted);font-size:10px}.fare small{margin-top:3px;color:#b04d3d;font-size:9px}footer{display:flex;justify-content:center;align-items:center;gap:9px;padding-top:28px;color:#929893;font-size:10px}footer i{width:3px;height:3px;border-radius:50%;background:#adb1ae}.sheet-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:#0c1612a3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.push-sheet{position:relative;width:min(440px,100%);padding:30px;border-radius:24px;background:#fffdfa;box-shadow:0 28px 100px #0005}.sheet-close{position:absolute;top:13px;right:13px;width:36px;height:36px;border:0;border-radius:50%;color:#66706b;background:#eeece6;font-size:23px;cursor:pointer}.sheet-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#fff;background:var(--forest);font-size:23px;font-weight:800}.sheet-icon.denied,.sheet-icon.unsupported{background:#aa493e}.sheet-icon.success{background:#3e8365}.push-sheet h2{margin:19px 0 8px;font-size:24px}.push-sheet p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.push-sheet ol{margin:20px 0 0;padding:0;list-style:none;counter-reset:steps;display:grid;gap:11px}.push-sheet li{counter-increment:steps;display:grid;grid-template-columns:26px 1fr;align-items:center;gap:10px;font-size:13px}.push-sheet li:before{content:counter(steps);width:26px;height:26px;border-radius:9px;display:grid;place-items:center;color:var(--forest);background:var(--mint);font-size:11px;font-weight:800}.primary-action{width:100%;margin-top:22px}@media(max-width:820px){.app-shell{width:min(100% - 24px,1180px);padding-top:max(24px,env(safe-area-inset-top))}.app-header{align-items:flex-start}.app-header h1{font-size:34px}.app-header .muted{font-size:12px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flight-card{grid-template-columns:minmax(160px,.9fr) minmax(290px,1.4fr) minmax(110px,.6fr);gap:14px}}@media(max-width:600px){body{background:radial-gradient(circle at 95% -4%,#fff6df 0,transparent 24%),#f3f1eb}.app-shell{width:100%;padding:max(18px,env(safe-area-inset-top)) 12px max(24px,env(safe-area-inset-bottom))}.app-header{align-items:center}.app-header .eyebrow{display:none}.app-header h1{font-size:29px}.app-header .muted{margin-top:5px;max-width:190px;font-size:10px}.header-actions{gap:7px}.icon-action{width:40px;min-height:40px}.notification-action{min-height:40px;max-width:124px;padding:0 12px;font-size:11px}.route-tabs{margin-top:20px;padding:4px;border-radius:15px}.route-tabs button{padding:11px 10px;border-radius:11px;text-align:center}.route-tabs button b{font-size:12px}.route-tabs button span{font-size:9px}.summary-grid{gap:8px;margin:10px 0 30px}.summary-grid article{min-height:104px;padding:14px;border-radius:15px}.summary-grid strong{font-size:23px}.summary-grid span,.summary-grid small{font-size:9px}.section-heading{align-items:flex-start}.section-heading h2,.trend-header h2{font-size:19px}.section-heading>span{padding-top:16px;font-size:9px;text-align:right}.date-scroller{margin-right:-12px;padding-right:12px}.date-chip{flex-basis:128px;min-height:86px;padding:12px;border-radius:14px}.date-chip b{font-size:19px}.trend-card{margin:20px 0 0;padding:17px 12px 13px;border-radius:18px}.trend-header{display:block;padding:0 4px}.trend-header p{font-size:10px}.trend-metrics{margin-top:12px}.trend-metrics span{flex:1;min-width:0}.price-chart{min-height:176px}.axis-label,.date-label{font-size:13px}.chart-legend{padding:0 4px}.flights-section{margin-top:30px}.flight-heading{display:block}.flight-heading p{font-size:10px}.sort-control{width:max-content;margin-top:13px}.flight-list{gap:8px}.flight-card{padding:14px;border-radius:16px;grid-template-columns:1fr auto;grid-template-areas:"airline fare" "schedule schedule";gap:13px 10px}.airline{grid-area:airline}.airline-symbol{width:34px;height:34px;flex-basis:34px;border-radius:11px}.airline b{font-size:12px}.airline small{font-size:9px}.fare{grid-area:fare}.fare strong{font-size:21px}.fare span,.fare small{font-size:8px}.schedule{grid-area:schedule;grid-template-columns:minmax(90px,1fr) minmax(74px,.7fr) minmax(90px,1fr);padding-top:11px;border-top:1px solid #eeebe4}.schedule strong{font-size:22px}.schedule>div>span{font-size:8px}footer{flex-wrap:wrap}.sheet-backdrop{align-items:end;padding:0}.push-sheet{width:100%;padding:28px 22px max(24px,calc(env(safe-area-inset-bottom) + 16px));border-radius:24px 24px 0 0}.login-card{padding:32px 22px;border-radius:24px}.login-card h1{font-size:32px}}
