:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f7f8fb;font-synthesis:none;line-height:1.48}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #90acff;outline-offset:2px}a{color:#3f58a7}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,3vw,2.5rem);letter-spacing:-.055em;line-height:1.15;margin-bottom:10px}h2{font-size:1.08rem;letter-spacing:-.025em;margin-bottom:4px}h3{font-size:.98rem;letter-spacing:-.015em;margin-bottom:6px}p{color:#687386}.muted{color:#758195}.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e9edf4;display:flex;flex-direction:column;padding:30px 17px;gap:26px}.brand{display:flex;align-items:center;gap:11px;padding:0 12px 28px;border-bottom:1px solid #eef0f5;color:#17284d}.brand-mark{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#26458e;color:white;border-radius:12px;font-size:24px}.brand strong{display:block;font-size:1.28rem;line-height:1.12;letter-spacing:-.055em}.brand small{font-size:.61rem;letter-spacing:.22em;font-weight:700;color:#a3afc5}.nav-label,.eyebrow{font-size:.69rem;font-weight:800;letter-spacing:.15em;color:#8a97ad}.nav-label{margin:0 12px -15px}.sidebar nav{display:grid;gap:6px}.nav-item{border:0;width:100%;display:flex;align-items:center;gap:13px;padding:12px 13px;background:transparent;border-radius:10px;color:#738098;font-weight:650;text-align:left}.nav-item>span:first-child{font-size:1.3rem;width:23px;text-align:center}.nav-item:hover{background:#f3f6fb}.nav-item.active{background:#eaf0ff;color:#3358a9}.nav-count{margin-left:auto;border-radius:20px;background:#e0e9fe;color:#4d66a3;padding:2px 7px;font-size:.72rem}.sidebar-bottom{margin-top:auto;padding:17px 12px;border-top:1px solid #eef0f5;font-size:.75rem;color:#8b99aa;display:flex;align-items:center;gap:8px}.local-dot{height:8px;width:8px;background:#53b78d;border-radius:50%}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{height:82px;padding:0 clamp(20px,3.8vw,65px);background:#fff;border-bottom:1px solid #ebedf2;display:flex;justify-content:space-between;align-items:center}.topbar-name{font-weight:700;font-size:.91rem;color:#2c3852}.topbar-actions{display:flex;gap:13px;align-items:center}.main-content{width:100%;max-width:1450px;margin:0 auto;padding:42px clamp(20px,3.8vw,65px) 56px;flex:1}.footer{border-top:1px solid #e8ecf3;text-align:center;padding:18px;font-size:.72rem;color:#9aa4b2}.btn{border:1px solid transparent;padding:10px 16px;border-radius:9px;font-size:.84rem;font-weight:700;line-height:1.25;display:inline-flex;justify-content:center;align-items:center;gap:8px;white-space:nowrap}.btn.primary{background:#345bbb;color:white}.btn.primary:hover{background:#234797}.btn.secondary{background:#fff;border-color:#dce3ee;color:#465772}.btn.secondary:hover{background:#f5f7fc}.btn.ghost{border-color:transparent;color:#4d6386;background:transparent}.btn.ghost:hover{background:#edf2fc}.btn.danger-light{border-color:#f6d9da;background:#fff5f4;color:#bb4f55}.btn.small{padding:8px 12px;font-size:.78rem}.btn.icon-button{background:#f2f4f8;color:#60718b;padding:7px 12px;font-size:1.2rem}.badge{display:inline-flex;align-items:center;border:1px solid #d8e3f0;background:#f3f6fb;color:#5f718e;border-radius:100px;padding:4px 10px;font-weight:650;font-size:.69rem;letter-spacing:.01em;text-transform:capitalize}.badge.positive{border-color:#c5e8d8;background:#e9f8f0;color:#278363}.badge.neutral{background:#f3f5f8;border-color:#e5e9ef;color:#7b899c}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-title .eyebrow{margin-bottom:9px;color:#5171bd}.section-title p{margin:0;font-size:.89rem}.metrics,.detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.metric{background:white;border:1px solid #e8edf4;border-radius:14px;padding:22px 21px;min-width:0}.metric-label{font-size:.79rem;font-weight:700;color:#65758e}.metric-value{font-size:clamp(1.35rem,2.25vw,2rem);font-weight:750;letter-spacing:-.04em;color:#23344f;margin:10px 0 2px;white-space:nowrap}.metric-hint{font-size:.7rem;color:#9aa5b4}.number{font-variant-numeric:tabular-nums}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:18px}.panel{background:white;border:1px solid #e8edf4;border-radius:15px;overflow:hidden;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px;border-bottom:1px solid #edf0f5}.panel-heading h2{font-size:1.03rem}.panel-heading p{font-size:.76rem;margin:0}.wallet-list{display:flex;flex-direction:column}.wallet-row{width:100%;min-width:0;display:flex;align-items:center;gap:13px;background:white;color:#283750;border:0;border-bottom:1px solid #eff1f5;padding:18px 22px;text-align:left}.wallet-row:last-child{border-bottom:0}.wallet-row:hover,.attention-row:hover{background:#fafbff}.mini-card,.detail-emblem{display:flex;justify-content:center;align-items:center;flex:none;background:linear-gradient(135deg,#263e6d,#5e7cb3);color:#fff;font-weight:850;border:1px solid #d0d7e8;box-shadow:0 4px 10px #1e355716}.mini-card{height:45px;width:70px;border-radius:9px;font-size:1.04rem}.issuer-amex{background:linear-gradient(130deg,#2659a3,#8ab5e2)}.issuer-chase{background:linear-gradient(130deg,#1d406f,#437cbc)}.issuer-citi{background:linear-gradient(130deg,#1b3762,#8a96ba)}.issuer-capital-one{background:linear-gradient(130deg,#233e61,#8e5263)}.issuer-bank-of-america{background:linear-gradient(130deg,#28396b,#9c4054)}.issuer-barclays{background:linear-gradient(130deg,#267d98,#7bb7b9)}.wallet-title{min-width:0;flex:1}.wallet-title strong{display:block;font-size:.83rem;font-weight:750;overflow-wrap:anywhere;line-height:1.35}.wallet-title small{display:block;margin-top:5px;font-size:.7rem;color:#97a2b2;overflow-wrap:anywhere}.wallet-money{text-align:right;min-width:90px}.wallet-money strong{font-size:.81rem;display:block;white-space:nowrap}.wallet-money small{color:#a0acbb;font-size:.66rem;display:block}.chevron{font-size:24px;color:#abb7c8;margin-left:1px}.attention-list{display:grid}.attention-row{border:0;background:white;border-bottom:1px solid #eff1f5;width:100%;display:flex;gap:11px;text-align:left;align-items:center;padding:16px 19px}.attention-row:last-child{border-bottom:0}.attention-bullet{display:grid;place-items:center;background:#fff2d9;color:#bb8134;width:32px;height:32px;border-radius:50%;font-weight:850}.attention-row>span:nth-child(2){flex:1;min-width:0}.attention-row strong{font-size:.79rem;display:block;overflow-wrap:anywhere}.attention-row small{display:block;font-size:.7rem;color:#96a2b3;margin-top:4px}.attention-row b{font-size:.8rem;color:#556989;white-space:nowrap}.empty-state{padding:55px 25px;text-align:center}.empty-state h3{font-size:1.08rem}.empty-state p{max-width:320px;margin:0 auto 22px;font-size:.84rem}.empty-icon{font-size:2.25rem;color:#8ba2ce;margin-bottom:14px}.empty-attention{padding:55px 27px;text-align:center}.empty-attention p{font-size:.8rem;margin:auto;max-width:260px}.check-icon{display:grid;place-items:center;background:#e8f7ee;color:#4aa777;border-radius:50%;margin:0 auto 17px;width:42px;height:42px;font-weight:800}.footnote{font-size:.72rem;color:#96a3b5;margin-top:17px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}.tabs{display:flex;gap:5px;background:#edf1f7;padding:5px;border-radius:11px}.tab{border:0;background:transparent;color:#7c8ba4;font-weight:700;padding:8px 18px;border-radius:8px;font-size:.83rem}.tab.selected{background:#fff;color:#3658a0;box-shadow:0 1px 5px #35486f12}.search-input,.full-input,.field-label input,.field-label select,.settings-section select{min-width:0;max-width:100%;border:1px solid #dce4ee;border-radius:9px;color:#35455f;background:white;padding:10px 12px;font-size:.84rem}.search-input{width:230px}.search-input::placeholder,.full-input::placeholder{color:#b1bbc9}.backline{margin-bottom:22px}.detail-hero{display:flex;align-items:center;gap:23px;margin-bottom:30px}.detail-emblem{width:110px;height:72px;font-size:2rem;border-radius:12px}.detail-heading{min-width:0}.detail-heading h1{margin:5px 0 10px;overflow-wrap:anywhere}.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:13px;font-size:.78rem;color:#8593a6}.subtle-link{font-size:.77rem;color:#4d65a4;text-decoration:none}.subtle-link:hover{text-decoration:underline}.benefits-panel{margin-bottom:20px}.benefit-list{display:flex;flex-direction:column}.benefit-row{display:flex;justify-content:space-between;gap:22px;padding:23px 24px;border-bottom:1px solid #eef0f5}.benefit-row:last-child{border-bottom:0}.benefit-info{min-width:0;flex:1}.benefit-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:7px}.benefit-heading h3{margin:0;font-size:.9rem;overflow-wrap:anywhere}.benefit-info p{font-size:.8rem;color:#7e8ca1;margin-bottom:8px;max-width:660px}.benefit-period{font-size:.73rem;font-weight:600;color:#6a82af}.benefit-controls{display:flex;align-items:flex-end;gap:10px;flex:none}.field-label{display:flex;flex-direction:column;gap:6px;font-size:.72rem;font-weight:750;color:#6e7b90}.field-label select{width:126px}.usage-form{display:flex;align-items:flex-end;gap:8px}.usage-input{display:flex;align-items:center;border:1px solid #dce4ee;border-radius:9px;overflow:hidden;background:#fff}.usage-input span{padding:0 0 0 9px;color:#92a0b4}.usage-input input{width:71px;border:0;padding:10px 8px;font-size:.84rem;outline-offset:-2px}.usage-note{display:flex;align-items:center;gap:6px;color:#63728a;font-size:.73rem;white-space:nowrap;padding-bottom:11px}.manage-panel{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px;margin-bottom:25px}.manage-panel p{margin:0;font-size:.79rem}.manage-actions{display:flex;flex-wrap:wrap;gap:10px}.history{padding:2px 18px 16px}.history h2{margin-bottom:18px}.history-entry{display:flex;align-items:center;gap:11px;border-left:1px solid #d9e1ed;padding:0 0 17px 15px;font-size:.78rem;color:#7c889a}.history-entry .history-dot{width:9px;height:9px;border-radius:50%;background:#6486c2;margin-left:-20px;border:2px solid #fff;box-sizing:content-box}.history-entry strong{text-transform:capitalize;color:#3e536f}.settings-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-section{padding:25px}.settings-section p{font-size:.84rem;margin:10px 0 18px}.settings-section select{width:100%;max-width:340px}.settings-actions{display:flex;gap:10px;flex-wrap:wrap}.import-button{cursor:pointer}.alert{background:#fff4e6;color:#915f29;border:1px solid #f5d9b2;padding:13px 17px;border-radius:10px;margin-bottom:22px;font-size:.85rem}.modal-backdrop{position:fixed;inset:0;z-index:99;background:#1b294b7d;display:grid;place-items:center;padding:16px}.modal{background:#fff;max-width:670px;width:100%;max-height:min(90vh,850px);overflow:auto;border-radius:17px;box-shadow:0 24px 80px #18223d35}.modal-heading{display:flex;justify-content:space-between;align-items:center;padding:23px 27px 19px;border-bottom:1px solid #eef0f4}.modal-heading .eyebrow{margin-bottom:4px}.modal-heading h2{font-size:1.3rem}.modal-body{padding:21px 27px 27px}.full-input{width:100%;margin:8px 0 13px}.catalog-list{max-height:180px;overflow:auto;border:1px solid #e8edf5;border-radius:10px}.catalog-option{display:flex;justify-content:space-between;align-items:center;gap:16px;border:0;border-bottom:1px solid #eef1f5;width:100%;background:white;text-align:left;padding:12px 15px}.catalog-option:last-child{border-bottom:0}.catalog-option:hover,.catalog-option.chosen{background:#f0f5ff}.catalog-option strong{display:block;font-size:.8rem}.catalog-option small{color:#8d9ab0;display:block;font-size:.7rem;margin-top:3px}.catalog-option b{font-size:.79rem;white-space:nowrap}.empty-mini{font-size:.8rem;text-align:center;margin:14px}.manual-divider{display:flex;justify-content:space-between;align-items:center;margin:12px 0;color:#adb7c6;font-size:.7rem;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .field-label input{width:100%;font-size:.84rem}.form-grid input[readonly]{background:#f7f8fb;color:#7d8798}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.recovery{max-width:570px;margin:12vh auto;padding:36px;background:white;border-radius:15px}.recovery .btn{margin-right:10px;margin-top:12px}@media(max-width:1250px){.dashboard-grid{grid-template-columns:1fr}.benefit-row{flex-direction:column;gap:15px}.benefit-controls{justify-content:flex-start}.wallet-money{min-width:83px}}@media(max-width:950px){.shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding:18px 11px}.brand{padding:0 8px 24px}.brand div,.nav-label,.nav-item span:not(:first-child),.sidebar-bottom span:not(.local-dot){display:none}.sidebar-bottom{justify-content:center}.nav-item{justify-content:center;padding:12px}.metrics,.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-stack{grid-template-columns:1fr}.topbar{height:73px}}@media(max-width:620px){.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid #e9edf4;flex-direction:row;align-items:center;gap:8px;padding:8px 13px}.brand{border:0;padding:0 5px 0 0}.brand-mark{height:35px;width:35px}.sidebar nav{display:flex;gap:4px}.nav-item{width:auto;padding:8px 10px}.nav-item>span:first-child{font-size:1.1rem}.sidebar-bottom{display:none}.topbar{height:65px;padding:0 16px}.topbar .badge{display:none}.main-content{padding:24px 16px 35px}.metrics,.detail-stats{gap:9px}.metric{padding:16px 12px}.metric-value{font-size:1.4rem;white-space:normal}.metric-hint{font-size:.64rem}.wallet-row{padding:14px 12px;gap:10px}.mini-card{height:40px;width:54px}.wallet-money{min-width:70px}.wallet-money:nth-last-child(2){display:none}.wallet-money strong{font-size:.76rem}.panel-heading{padding:17px}.list-toolbar{flex-wrap:wrap}.search-input{width:100%}.detail-hero{gap:12px}.detail-emblem{height:52px;width:74px}.detail-heading h1{font-size:1.55rem}.benefit-row{padding:17px}.benefit-controls{flex-wrap:wrap}.manage-panel{flex-direction:column;align-items:flex-start}.modal-body{padding:18px}.modal-heading{padding:18px}.form-grid{grid-template-columns:1fr}.topbar-actions .btn{padding:10px 12px}}@media(prefers-reduced-motion:no-preference){button{transition:background-color .12s ease}}
/* Imported portfolio records (read-only until editing parity is implemented). */
.imported-panel{margin-bottom:20px}.record-list{display:flex;flex-direction:column}
.record-row{padding:18px 24px;border-bottom:1px solid #eef0f5;display:flex;align-items:flex-start;gap:12px}
.record-row:last-child{border-bottom:0}.record-main{min-width:0;flex:1}
.record-main>strong{color:#33425a;font-size:.88rem;overflow-wrap:anywhere}
.record-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:8px;color:#7a89a0;font-size:.75rem}
.record-note{margin:8px 0 0;font-size:.77rem;color:#7b8797;overflow-wrap:anywhere}
.attention-row>b{text-align:right;font-size:.74rem;white-space:normal}
@media(max-width:620px){.record-row{padding:16px}.attention-row>b{max-width:120px}}

.insight-panel{margin-bottom:20px}.insight-body{padding:20px 24px}.insight-body>p{margin:12px 0 0;font-size:.82rem}.insight-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.insight-metrics>div{padding:13px;background:#f7f9fc;border:1px solid #e7edf6;border-radius:9px;min-width:0}.insight-metrics span{display:block;font-size:.72rem;color:#7d8ba0}.insight-metrics strong{display:block;margin-top:4px;font-size:1.08rem;color:#283e64;overflow-wrap:anywhere}.record-modal{max-width:660px}.record-form{padding:25px}.record-form .form-grid{gap:16px}.record-modal .field-label input,.record-modal .field-label select{width:100%}.record-modal .usage-note{align-self:end}@media(max-width:660px){.insight-metrics{grid-template-columns:1fr}.record-form{padding:17px}}

/* Rolling credit-opportunity forecast. CSS-only bars keep data and privacy local. */
.forecast-panel{margin:22px 0 18px}
.projection-bars{display:grid;grid-template-columns:repeat(12,minmax(35px,1fr));gap:7px;min-width:470px;margin:24px 0 10px;padding:12px 2px 6px;border-bottom:1px solid #e9edf4;overflow:visible}
.forecast-panel .insight-body{overflow-x:auto}
.projection-month{min-width:0;text-align:center;font-variant-numeric:tabular-nums;color:#7d8aa0;font-size:.66rem;font-weight:700}
.projection-track{height:91px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}
.projection-fill{display:block;min-height:2px;max-height:88px;background:linear-gradient(180deg,#4672cc,#8eaae3);border-radius:5px 5px 2px 2px}
.projection-month:hover .projection-fill{background:#244eaa}
.projection-month>span:last-child{display:block;margin-top:9px}
.projection-breakdown{border-top:1px solid #e9edf4;padding-top:15px;margin-top:18px;display:grid;gap:7px}
.projection-breakdown>strong{font-size:.83rem;color:#364663;margin-bottom:5px}
.projection-breakdown>div{display:flex;justify-content:space-between;gap:12px;color:#687a94;font-size:.78rem}
.projection-breakdown>div>span{overflow-wrap:anywhere}
.projection-breakdown>div>strong{white-space:nowrap;color:#354967}
.lifetime-metrics{margin-top:14px}
@media(max-width:680px){.projection-bars{margin-top:14px}.forecast-panel .insight-body{padding:16px}}

/* CSP-safe bar levels: dynamic values only select predefined stylesheet classes. */
.projection-fill.level-0{height:2px}
.projection-fill.level-1{height:9px}
.projection-fill.level-2{height:18px}
.projection-fill.level-3{height:26px}
.projection-fill.level-4{height:35px}
.projection-fill.level-5{height:44px}
.projection-fill.level-6{height:53px}
.projection-fill.level-7{height:62px}
.projection-fill.level-8{height:70px}
.projection-fill.level-9{height:79px}
.projection-fill.level-10{height:88px}
