:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e6edf5;background:#091422;--bg:#091422;--sidebar:#0b1828;--panel:#101f30;--panel2:#142739;--border:#28394c;--muted:#8a9bae;--gold:#dfb971;--mint:#73d1ae;--white:#eff4f9;--cyan:#8fcbe1}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{font-size:clamp(36px,4.4vw,57px);line-height:1.13;letter-spacing:-1.8px;font-weight:600;margin-bottom:17px}h1 em{color:var(--gold);font-family:Georgia,serif;font-weight:400}h2{font-size:21px;letter-spacing:-.45px;margin:0;font-weight:600}p{line-height:1.62;color:#9aabba}small{color:var(--muted)}.eyebrow,.side-category,.top-line{letter-spacing:1.85px;font-size:10px;font-weight:800;color:#7e94a7}.eyebrow.gold{color:var(--gold)}.mainwrap{min-width:0;margin-left:236px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:236px;background:var(--sidebar);border-right:1px solid #273748;display:flex;flex-direction:column;padding:28px 18px;z-index:2}.brand{display:flex;gap:11px;align-items:center;padding:2px 10px 44px}.brand b{font-size:22px;letter-spacing:3.5px;font-weight:700;display:block}.brand span{font-size:8px;letter-spacing:2px;display:block;color:#90a3b8;margin-top:2px}.mark{width:37px;height:37px;border:1px solid #a8b7bd;border-radius:10px;display:grid;place-items:center;color:var(--gold);font-size:24px}.side-category{padding:0 12px 13px}.navbtn{display:flex;align-items:center;gap:14px;text-align:left;width:100%;border:0;background:transparent;color:#a4b4c5;padding:14px 14px;border-radius:8px;font-size:13px;margin-bottom:5px}.navbtn span{font-size:17px;font-weight:500;width:20px;text-align:center}.navbtn:hover,.navbtn.active{background:#1a3044;color:#f5f7fa}.navbtn.active{border-left:3px solid var(--gold);padding-left:11px}.side-bottom{margin-top:auto;padding:15px 12px;border-top:1px solid var(--border)}.side-tag{font-size:10px;letter-spacing:1px;color:var(--mint);margin-bottom:12px}.small-muted{font-size:12px;color:#8598ac;line-height:1.65;margin-bottom:14px}.textbtn{background:none;border:0;color:var(--gold);font-size:12px;text-align:left;padding:2px 0}.textbtn:hover,.link:hover{text-decoration:underline}.topbar{height:80px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#0c1a2a;gap:10px}.top-crumb{color:#7f91a3;font-size:12px;margin-left:15px}.top-crumb b{color:#e8eff6}.top-pills{display:flex;gap:10px}.pill{border:1px solid #415364;border-radius:99px;padding:7px 11px;font-size:9px;letter-spacing:.9px;font-weight:800;white-space:nowrap;color:#c5d3df}.pill.green{background:#11392e;color:var(--mint);border-color:#245f4c}.pill.neutral{background:#1a2c3d}.pill.subtle{background:#1c2937;color:#d5bf92;border-color:#45453f}.main{max-width:1480px;margin:auto;padding:48px 42px 70px}.screen{display:none}.screen.active{display:block}.page-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:37px}.page-header .eyebrow{margin-bottom:18px}.page-header p{max-width:580px;margin-bottom:0;font-size:14px}.primary,.outline,.file-label{border:1px solid var(--gold);padding:12px 19px;border-radius:7px;color:#0c1a29;background:var(--gold);font-weight:700;font-size:12px;transition:all .15s}.primary:hover{background:#f3d096}.outline,.file-label{background:transparent;color:#ecd8ad}.outline:hover,.file-label:hover{background:#1c2b3c}.small{padding:9px 12px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.kpi{background:var(--panel);border:1px solid var(--border);padding:24px 21px 21px;border-radius:12px;min-width:0}.kpi span{font-size:10px;letter-spacing:1.2px;font-weight:700;color:#95a7b9;display:block;line-height:1.5;min-height:28px}.kpi strong{display:block;font-weight:600;font-size:clamp(27px,2.8vw,37px);letter-spacing:-1px;margin:13px 0 8px}.kpi small{font-size:11px}.kpi.accent{background:linear-gradient(145deg,#233b49,#112638);border-color:#536363}.kpi.accent strong{color:#f4cb7d}.overview-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:22px}.panel{background:var(--panel);border:1px solid var(--border);padding:25px 27px;border-radius:12px;margin-bottom:22px;min-width:0}.overview-cols .panel{margin-bottom:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:25px}.panel-head .eyebrow{margin-bottom:8px}.globe{font-size:30px;color:var(--gold)}.feature{border-top:1px solid #28384b;padding:18px 0;display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center}.feature:first-of-type{border-top:0}.feature b{font-size:24px;font-weight:600;color:var(--gold)}.feature span{font-size:12px;color:#aebccc;line-height:1.55}.progress-head{display:flex;justify-content:space-between;margin-bottom:14px;font-size:12px;color:#a8b9c8}.progress-head b{color:var(--white)}.progress-track{height:9px;background:#283b4b;border-radius:12px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#a9824c,#eed4a0);width:0;border-radius:12px}.progress-foot{font-size:12px;display:flex;justify-content:space-between;margin-top:12px;color:#9baabc}.tiermarks{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:25px}.tiermark{border:1px solid #314257;border-radius:7px;padding:11px 5px;text-align:center;color:#8da1b3}.tiermark b{display:block;font-size:12px;color:#b8c7d3}.tiermark span{font-size:10px}.tiermark.done{border-color:#7d7357;background:#292e35}.tiermark.done b{color:var(--gold)}.milestone{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:12px 0;font-size:12px}.milestone:last-child{border-bottom:0}.dot{width:23px;height:23px;border:1px solid #637084;border-radius:100%;display:grid;place-items:center;font-size:11px;flex-shrink:0}.milestone.done .dot{background:#265043;color:var(--mint);border-color:#2a6655}.milestone strong{margin-left:auto;color:#d3b580}.empty{padding:25px;color:#93a5b7;font-size:12px;background:#152636;border-radius:8px}.mini-trip{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--border);padding:13px 0}.mini-trip:last-child{border-bottom:0}.mini-trip b{font-size:13px}.mini-trip small{font-size:11px;display:block;margin-top:3px}.mini-trip strong{color:var(--gold);white-space:nowrap}.link{font-size:11px;color:var(--gold);text-decoration:none}.routebar{display:flex;align-items:end;gap:14px}.grow{flex:1}.route-result{margin-top:22px}.route-grid{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:15px}.route-code{padding:13px 16px;border-radius:8px;background:#1a2e41;color:#e3edf5;font-weight:800;letter-spacing:1.6px}.route-arrow{color:var(--gold)}.route-total{font-size:30px;color:var(--gold);font-weight:600}.route-total span{color:#94a6b9;font-size:12px;font-weight:400;margin-left:7px}.route-detail{font-size:12px;color:#a3b4c5;margin-top:6px}.hint{font-size:12px;line-height:1.65;color:#8fa2b4}label{display:block;font-size:11px;font-weight:700;color:#a7bacc}label input,label select{margin-top:7px}input:not([type=checkbox]):not([type=file]),select{width:100%;background:#0a1a29;border:1px solid #34475a;border-radius:7px;color:#e4edf6;padding:11px 12px;font-size:13px;outline:0;min-width:0}input:focus,select:focus{border-color:#d5b679;box-shadow:0 0 0 2px #d2b57218}input::placeholder{color:#667f92}select{appearance:auto}.trip-options{display:grid;grid-template-columns:190px 1fr 190px;gap:14px;margin-bottom:18px}.leg-list{display:grid;gap:14px;margin:21px 0}.leg-card{background:#142638;border:1px solid #34485c;border-radius:11px;padding:19px}.leg-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.leg-title b{color:#d9bb81;font-size:12px}.leg-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:13px}.leg-grid .wide2{grid-column:span 2}.leg-grid label{font-size:10px}.leg-grid input,.leg-grid select{padding:9px 8px;font-size:12px}.leg-card .checkboxline{margin:10px 0;font-size:11px}.checkboxline{display:flex;align-items:center;gap:9px;color:#aabaca;font-weight:500}.checkboxline input{width:15px;height:15px;accent-color:var(--gold)}.leg-footer{display:flex;justify-content:space-between;border-top:1px solid #32465a;padding-top:13px;margin-top:14px;color:#90a5b8;font-size:11px;gap:9px}.leg-footer strong{color:var(--white)}.tiny-btn{border:0;background:transparent;color:#e7b981;font-size:11px}.trip-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:23px}.sumitem{padding:18px;background:#1b2d3e;border:1px solid #384b59;border-radius:8px}.sumitem span{display:block;color:#9aabba;font-size:10px;letter-spacing:.5px}.sumitem b{display:block;font-size:26px;margin-top:9px;color:var(--gold)}.sum-notice{grid-column:1/-1;font-size:12px;color:#e0bc85;line-height:1.55}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.trip-row{border-top:1px solid var(--border);padding:17px 0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:15px}.trip-row:first-child{border-top:0}.trip-row b{font-size:13px}.trip-row small{display:block;margin-top:5px}.trip-row .num{font-size:14px;font-weight:700;color:var(--gold);text-align:right}.trip-row .num small{font-size:10px;font-weight:400}.formstack{display:grid;gap:15px}.formstack .primary{justify-self:start}.fields2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tablewrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;color:#849bb0;font-size:10px;letter-spacing:1px;padding:12px 8px;border-bottom:1px solid #3e5062}.data-table td{padding:14px 8px;border-bottom:1px solid #293b4f}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.positive{color:var(--mint)}.negative{color:#eb9d9d}.challenge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.challenge-item{border:1px solid #34485b;border-radius:8px;padding:13px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:700;background:#15283a}.challenge-item:has(input:checked){border-color:#987d4f;background:#302d2d;color:#e7c184}.challenge-item input{accent-color:#d3b371}.challenge-footer{display:flex;gap:12px;align-items:center;border-top:1px solid var(--border);padding-top:17px;margin-top:22px;color:#9caebf;font-size:12px}.challenge-footer strong{font-size:29px;color:var(--gold)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:end;margin:23px 0}.source-links{display:flex;flex-wrap:wrap;gap:12px}.source-links a{color:var(--gold);font-size:12px;text-decoration:none;background:#1b3042;padding:11px;border-radius:7px}.file-label{display:inline-block;cursor:pointer}.file-label input{display:none}.footer{padding:19px 42px;border-top:1px solid var(--border);font-size:10px;letter-spacing:.8px;color:#72889b;display:flex;justify-content:space-between;gap:12px}.toast{position:fixed;z-index:10;bottom:25px;right:25px;padding:14px 20px;background:#325447;color:#f3fff7;box-shadow:0 15px 40px #0008;border-radius:8px;font-size:13px;max-width:340px}.toast.bad{background:#6a393d}.error{color:#ef9b9b;min-height:22px;margin-top:10px;font-size:12px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 45% 12%,#244056 0,#0a1523 52%)}.auth-card{width:min(440px,100%);padding:45px;background:#112338;border:1px solid #43566d;border-radius:15px;text-align:center;box-shadow:0 22px 80px #0007}.auth-card .mark{margin:auto auto 22px}.auth-card h1{font-size:36px;margin:14px auto}.auth-card p{font-size:13px;margin-bottom:28px}.auth-card label{text-align:left}.wide{width:100%;margin-top:20px}.auth-card small{font-size:11px;line-height:1.5}.auth-card .eyebrow{color:var(--gold)}[hidden]{display:none!important}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.leg-grid{grid-template-columns:repeat(3,1fr)}.challenge-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.sidebar{position:static;width:100%;height:auto;padding:15px;display:block}.brand{padding:0 0 12px}.side-category,.side-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.navbtn{width:auto;white-space:nowrap;margin:0;padding:11px}.navbtn.active{border:0;border-bottom:2px solid var(--gold);padding:11px}.mainwrap{margin-left:0}.topbar{padding:0 18px;height:58px}.main{padding:27px 18px 50px}.overview-cols{grid-template-columns:1fr}.page-header{align-items:start}.leg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-grid{grid-template-columns:repeat(2,1fr)}.top-pills{display:none}.footer{padding:18px}}
@media(max-width:530px){.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:15px}.kpi strong{font-size:25px}.panel{padding:19px 16px}.trip-options,.settings-grid{grid-template-columns:1fr}.routebar{display:block}.routebar button{margin-top:12px}.leg-grid{grid-template-columns:1fr 1fr}.leg-grid .wide2{grid-column:span 2}.trip-summary{grid-template-columns:1fr 1fr}.sumitem:last-of-type{grid-column:span 2}.trip-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}.trip-row .tiny-btn{grid-column:span 2;justify-self:start}.feature{grid-template-columns:58px 1fr}.tiermarks{gap:4px}.tiermark{padding:10px 2px}.top-line{font-size:8px}.page-header{display:block}.page-header button{margin-top:15px}.fields2{gap:8px}.challenge-grid{gap:8px}}

/* Flight-plan and per-leg community controls */
.leg-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0 7px}.leg-controls label{color:#c9d4e0}.leg-controls select{background:#0b1c2c}.leg-note{margin-top:12px;padding:10px 12px;border-radius:6px;background:#102332;color:#a9bcd0;font-size:11px;line-height:1.5}.flight-table{min-width:1170px}.flight-table td{vertical-align:top;white-space:nowrap}.flight-table small{line-height:1.5}.tier-chip{display:inline-block;border:1px solid #92774b;color:#e8c18d;background:#2d2c30;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:700}.leg-grid label{min-width:0}.kpi small b{color:#e6edf5}.flight-table .positive{color:var(--mint)}@media(max-width:700px){.leg-controls{grid-template-columns:1fr}}

/* v1.2: one dated change per year and simplified ticket inputs */
.method-change-box{grid-column:1/-1;background:rgba(255,255,255,.035);border:1px solid rgba(208,222,237,.15);border-radius:12px;padding:14px 16px}
.method-change-box .checkboxline{margin:0 0 10px}
.method-switch-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.method-change-box .hint{margin-top:10px}
.leg-card label[hidden],.method-switch-fields[hidden]{display:none!important}
@media(max-width:650px){.method-switch-fields{grid-template-columns:1fr}}

/* v1.2.3 compact round-trip entry. Each return is an independent projected flight leg. */
.return-trip-box{margin-top:15px;padding:14px 16px;background:#0e2031;border:1px solid #3a5164;border-radius:9px}
.return-toggle{font-size:12px!important;color:#ebc787!important;font-weight:700!important}
.return-trip-details{padding-top:13px}
.return-trip-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #2c4357;padding:3px 0 12px;margin-bottom:13px;font-size:11px;color:#dfb971;letter-spacing:.65px}
.return-route{color:#e5ecf4;letter-spacing:0;font-weight:700}
.return-trip-grid,.return-custom-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.return-trip-grid label,.return-custom-grid label{font-size:10px;min-width:0}
.return-trip-grid input,.return-custom-grid select{font-size:12px!important;padding:9px 8px!important}
.return-help{font-size:11px;margin:2px 0 11px;line-height:1.55}
.return-help b{color:#e7c58e}
.return-custom-toggle{font-size:11px!important}
.return-custom-grid{background:#14293a;border-radius:8px;padding:12px;margin-top:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.return-result{font-size:11px;color:#b7dac9;background:#13332e;border-radius:6px;padding:10px 12px;line-height:1.5;margin-top:11px}
@media(max-width:1100px){.return-trip-grid,.return-custom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){.return-trip-grid,.return-custom-grid{grid-template-columns:1fr}.return-trip-heading{align-items:flex-start;flex-direction:column}}

/* v1.2.4: clarify return award inheritance */
.return-copy-points{margin:6px 0 10px!important;font-size:11px!important;color:#d3e5f2!important}
.return-trip-grid .lrr[readonly]{border-color:#3d806c;color:#baf0d4;background:#132f2b}

/* Compact extra-points entry and impact summary */
.misc-layout{align-items:start}.misc-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.misc-totals>div{border:1px solid var(--border);border-radius:9px;padding:17px;background:#102335}.misc-totals span{display:block;font-size:10px;letter-spacing:.08em;color:#94aabe;margin-bottom:12px}.misc-totals strong{display:block;color:var(--gold);font-size:30px;font-weight:750;font-variant-numeric:tabular-nums}@media(max-width:480px){.misc-totals{grid-template-columns:1fr}.misc-layout .fields2{grid-template-columns:1fr}}

.misc-plan-row td{background:rgba(200,170,90,.08)}
.misc-plan-row td:first-child{border-left:2px solid var(--gold)}
