*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#07101d;color:#edf4ff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#8db9ff}.top{min-height:76px;border-bottom:1px solid #243750;background:#07111fdd;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:10px 4%;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none}.brand img{width:48px;height:48px}.brand b{display:block;font-size:22px;font-style:italic}.brand small{font-size:9px;letter-spacing:1.4px;color:#c8d3e5}.top nav{display:flex;gap:20px}.top nav a{text-decoration:none;color:#dce7f7;font-size:14px}.menu{display:none;background:none;border:0;color:#fff;font-size:25px}.container{max-width:1220px;margin:auto;padding:30px 20px 70px}.hero{min-height:300px;border:1px solid #24456e;border-radius:22px;background:radial-gradient(circle at 80% 10%,#20404e 0,#101b35 35%,#081523 75%);padding:42px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.hero h1{font-size:38px;margin:8px 0}.hero p{max-width:620px;color:#bcc9dc}.hero img{width:360px;max-width:42%}.kicker{font-size:11px;letter-spacing:2px;color:#91d4ff;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stats article,.panel{background:#0d1929;border:1px solid #203958;border-radius:16px;padding:20px}.stats article{background:linear-gradient(145deg,#0d1929,#112139)}.stats span,.stats small{display:block;color:#a9b8cd;font-size:12px}.stats strong{display:block;font-size:26px;margin:8px 0}.stats .gold{border-color:#765e2c}.two{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.panel{margin-bottom:18px}.panel h2{margin-top:0}.panel-title,.page-title{display:flex;align-items:center;justify-content:space-between}.page-title{margin-bottom:20px}.page-title h1{margin:5px 0;font-size:34px}.item{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #203047}.item small{display:block;color:#899bb3;margin-top:4px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick a{background:#152841;border:1px solid #294667;border-radius:12px;padding:18px;text-decoration:none;text-align:center;color:#fff;font-weight:700}.side-art{width:100%;max-height:160px;margin-top:20px}.btn{display:inline-block;background:#17283e;border:1px solid #2c4766;color:white;padding:11px 16px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}.primary{background:linear-gradient(90deg,#35b2e8,#378cc3);border:0}.full{width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{font-size:13px;font-weight:700;margin-bottom:13px;display:block}input,select,textarea{width:100%;margin-top:7px;border:1px solid #2b425e;background:#091523;color:#f4f8ff;border-radius:9px;padding:12px;font:inherit}textarea{min-height:90px}.check{display:flex;gap:9px;align-items:center}.check input{width:auto;margin:0}.tablebox{overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #203047;font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#9cafc6}.inline{display:inline;margin-left:8px}.link-danger{background:none;border:0;color:#7cccff;cursor:pointer}.notice{padding:13px 15px;border-radius:10px;margin-bottom:16px}.success{background:#123c32;color:#a8f4d7}.error{background:#1d3443;color:#91d4ff}.muted{color:#93a3b8}.auth-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#204352,#07101d 55%)}.auth-card{width:min(430px,92vw);background:#0d1929;border:1px solid #2b4162;border-radius:22px;padding:32px;box-shadow:0 25px 80px #0008;text-align:center}.auth-card.wide{width:min(760px,94vw);text-align:left}.auth-logo{width:86px}.auth-card h1{margin:8px 0}.auth-card p{color:#aebbd0}.auth-card label{text-align:left}.auth-links{font-size:13px}.user-card{border-left:3px solid #46b8e9}.password-row{display:flex;gap:8px;margin-top:12px}.password-row input{margin:0}.password-row .btn{white-space:nowrap}footer{text-align:center;color:#72839a;padding:20px;font-size:12px}@media(max-width:850px){.stats{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.hero img{width:250px}.top nav{display:none;position:absolute;top:75px;right:12px;flex-direction:column;background:#0b1726;border:1px solid #29405e;border-radius:12px;padding:15px;width:180px}.top nav.open{display:flex}.menu{display:block}.form-grid{grid-template-columns:1fr}}@media(max-width:560px){.container{padding:18px 12px 55px}.hero{padding:25px;min-height:230px}.hero h1{font-size:28px}.hero img{display:none}.stats{grid-template-columns:1fr}.brand b{font-size:17px}.brand small{font-size:7px}.page-title h1{font-size:28px}.quick{grid-template-columns:1fr}.password-row{flex-direction:column}}
/* Our Journey: compact tabbed navigation — retains existing purple/navy theme */
.top{gap:16px}.journey-nav{position:relative;display:block!important;flex:0 1 auto}
.top .journey-nav a{color:#dce7f7}
.nav-top{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #293853}
.nav-home{font-weight:800;text-decoration:none;padding:9px 12px;border-radius:10px}
.nav-mode{border:1px solid #58a4c4;background:#2b2047;color:#f4dcff;border-radius:999px;padding:9px 13px;font:600 12px inherit;cursor:pointer}
.nav-close{display:none;background:transparent;border:0;color:#dce7f7;font-size:20px;cursor:pointer}
.nav-tabs{display:flex;gap:4px;padding:10px 12px;overflow-x:auto;scrollbar-width:thin}
.nav-tab{background:transparent;border:0;color:#a8b6d0;padding:10px 13px;border-radius:10px;white-space:nowrap;font:700 13px system-ui;cursor:pointer}
.nav-tab.active,.nav-tab:hover{background:linear-gradient(120deg,#318fb7,#3c7da6);color:white}
.nav-content{padding:10px 15px;overflow-y:auto;overscroll-behavior:contain;max-height:min(50vh,370px);scrollbar-width:thin}
.nav-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}
.nav-group[hidden]{display:none!important}
.nav-group-title{grid-column:1/-1;color:#88c7ef;font-size:11px;letter-spacing:1.5px;font-weight:800;text-transform:uppercase;margin:5px 0 8px}
.top .journey-nav .nav-group a{display:block;text-decoration:none;font-size:13px;padding:12px 14px;background:#13243a;border:1px solid #243c59;border-radius:10px;white-space:normal}
.top .journey-nav .nav-group a:hover,.top .journey-nav .nav-group a.current{background:#292046;border-color:#529ebf;color:white}
.nav-foot{border-top:1px solid #263851;padding:12px 16px;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#9daec7}
.nav-foot a{font-size:12px;text-decoration:none}
.journey-nav[data-mode="simple"] [data-level="advanced"]{display:none!important}
@media(min-width:851px){
.top>.journey-nav{position:absolute;right:3%;top:calc(100% + 9px);width:min(580px,94vw);background:#0a1627;border:1px solid #2b4060;border-radius:18px;box-shadow:0 25px 65px #000b;display:none!important;overflow:hidden}
.top>.journey-nav.open{display:block!important}
.top>.menu{display:flex;align-items:center;gap:9px;border:1px solid #344665;background:#14243a;border-radius:12px;padding:10px 14px;font-size:17px;cursor:pointer}
.top>.menu span{font-size:13px;font-weight:700}
.nav-close{display:block}
}
@media(max-width:850px){
.top>.journey-nav{position:fixed;inset:0 0 0 auto;top:0;right:0;width:min(440px,100vw);height:100dvh;max-height:100dvh;z-index:200;display:none!important;flex-direction:column;background:#0a1627;border:1px solid #293f60;border-radius:0;padding:0;box-shadow:-20px 0 65px #000b}
.top>.journey-nav.open{display:flex!important}
.nav-top{flex-shrink:0}.nav-close{display:block;margin-left:auto}
.nav-tabs{flex-shrink:0}
.nav-content{flex:1;min-height:0;max-height:none;overflow-y:auto;padding-bottom:24px}
.nav-foot{flex-shrink:0}
.top>.menu{display:flex;align-items:center;gap:8px;border:1px solid #344665;background:#14243a;border-radius:12px;padding:9px 12px;cursor:pointer}
.top>.menu span{font-size:13px;font-weight:700}
body.nav-open{overflow:hidden}
}
@media(max-width:440px){.nav-group{grid-template-columns:1fr}.nav-tab{padding:10px 11px}.nav-content{padding:8px 12px}}
@media(prefers-reduced-motion:no-preference){.journey-nav{animation:journeyIn .15s ease-out}@keyframes journeyIn{from{opacity:.7;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}}

/* Mobile menu repair: override legacy .top nav, button and input styles */
header.top{isolation:isolate}
header.top > nav#nav.journey-nav{box-sizing:border-box;flex-direction:column;gap:0;padding:0;min-width:0;overflow:hidden}
header.top #nav .nav-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;min-height:66px}
header.top #nav .nav-home{display:inline-flex;align-items:center;width:auto;flex:1;min-width:0;white-space:nowrap;font-size:14px;font-weight:750}
header.top #nav .nav-mode{display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;white-space:nowrap;border:1px solid #55b1d9;background:#204352;color:#fff;border-radius:12px;padding:10px 12px;font:600 12px system-ui;line-height:1.3}
header.top #nav .nav-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border:1px solid #3b4a64;border-radius:10px;background:#17263d;color:#fff}
header.top #nav .nav-tabs{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:6px;min-height:58px;overflow-x:auto;overflow-y:hidden;padding:9px 12px}
header.top #nav .nav-tab{display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;min-width:60px;margin:0;padding:10px 12px;border:1px solid #30445e;border-radius:10px;background:#15243a;color:#cdd9ed;font:700 12px system-ui;line-height:1.2}
header.top #nav .nav-tab.active{background:linear-gradient(110deg,#35b2e8,#3b93b9);border-color:#6bbfe3;color:#fff}
header.top #nav .nav-content{display:block;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px;scrollbar-width:thin}
header.top #nav .nav-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px}
header.top #nav .nav-group[hidden]{display:none!important}
header.top #nav .nav-group-title{grid-column:1/-1;margin:4px 0 6px;color:#8bcbf4;font:800 12px system-ui;letter-spacing:1px;text-transform:uppercase}
header.top #nav .nav-group a{display:flex;align-items:center;min-height:48px;width:100%;min-width:0;padding:12px;border:1px solid #29415d;border-radius:12px;background:#14273e;color:#e7eeff;text-decoration:none;font:600 13px/1.35 system-ui;white-space:normal;overflow-wrap:anywhere}
header.top #nav .nav-group a:hover,header.top #nav .nav-group a.current{border-color:#64b8dc;background:#243f4b}
header.top #nav .nav-foot{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:10px;padding:14px;color:#9cacc6;font:500 12px/1.4 system-ui}
header.top #nav .nav-foot a{width:auto;flex:none;color:#91deff;text-decoration:none}
header.top #nav[data-mode="simple"] [data-level="advanced"]{display:none!important}
@media(max-width:850px){
 header.top > nav#nav.journey-nav{position:fixed!important;inset:0 0 0 auto!important;top:0!important;right:0!important;left:auto!important;width:min(440px,100vw)!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;z-index:9999!important;background:#0a1627!important;box-shadow:-25px 0 80px #000b!important;display:none!important}
 header.top > nav#nav.journey-nav.open{display:flex!important}
 header.top #nav .nav-content{max-height:none!important}
 header.top .menu{display:inline-flex!important;align-items:center;gap:8px;font:700 15px system-ui;white-space:nowrap}
 header.top .menu span{font-size:15px}
}
@media(min-width:851px){
 header.top > nav#nav.journey-nav{position:absolute!important;right:3%!important;top:calc(100% + 9px)!important;width:min(580px,94vw)!important;max-height:min(76vh,650px)!important;background:#0a1627!important;display:none!important}
 header.top > nav#nav.journey-nav.open{display:flex!important}
 header.top #nav .nav-content{max-height:min(52vh,390px)!important}
}
@media(max-width:390px){
 header.top #nav .nav-group{grid-template-columns:1fr}
 header.top #nav .nav-home{font-size:12px}
 header.top #nav .nav-mode{padding:8px;font-size:11px}
 header.top #nav .nav-tabs{padding:8px}
 header.top #nav .nav-tab{min-width:54px;padding:8px}
}

/* Dashboard cleanup: no duplicate shortcuts or obsolete modules */
.oj-quick-actions a,.oj-tools-grid a{display:flex;justify-content:center;align-items:center;min-height:62px;padding:14px 12px;line-height:1.3}
.oj-tools-panel{margin-top:18px}
.oj-tools-panel .panel-title{gap:12px;flex-wrap:wrap}
.oj-tools-panel .panel-title h2{margin:0}
.oj-tools-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
@media(max-width:560px){.oj-quick-actions,.oj-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.oj-quick-actions a,.oj-tools-grid a{font-size:13px;min-height:70px;overflow-wrap:anywhere}}

/* Vacation Planner: matches existing navy/purple UI */
.oj-vacation-card{margin-top:18px}.oj-vacation-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.oj-vacation-stats>div{border:1px solid #334561;border-radius:13px;padding:15px;background:#14243a}.oj-vacation-stats small{display:block;color:#aebad0;margin-bottom:8px}.oj-vacation-stats strong{font-size:clamp(16px,3vw,25px);color:#fff}.oj-vacation-track{height:12px;border-radius:99px;background:#26344e;overflow:hidden}.oj-vacation-track span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#41bbf0,#49a0d8)}@media(max-width:520px){.oj-vacation-stats{grid-template-columns:1fr}.oj-vacation-stats>div{padding:11px}}

/* Responsive layouts across planner */
html,body{max-width:100%;overflow-x:hidden}.container,main,.panel,.two,.form-grid,.stats,.item,.quick,.page-title{min-width:0}.panel,.stats article{overflow-wrap:anywhere}.panel input,.panel select,.panel textarea{max-width:100%;min-width:0}.panel .form-grid>*{min-width:0}.item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;min-width:0}.item>div:first-child{flex:1 1 210px;min-width:0}.item form.inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;max-width:100%}.item form.inline input,.item form.inline select{width:auto;max-width:100%;min-width:0;margin:0;flex:1 1 145px}.item form.inline button{flex:0 1 auto;max-width:100%;white-space:normal}.panel .tablebox{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.page-title,.panel-title{flex-wrap:wrap;gap:10px}.payment-entry{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:18px 0}.payment-entry .payment-summary{width:100%;flex:none}.payment-entry .payment-summary small{line-height:1.6}.payment-entry .payment-action{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;width:100%;margin:0}.payment-entry .payment-action input,.payment-entry .payment-action select,.payment-entry .payment-action button{width:100%;min-width:0;max-width:100%;margin:0;min-height:44px}.payment-entry .reminder-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;line-height:1.6;min-width:0;width:100%!important;border-top:1px solid #24364c;padding-top:10px}.payment-entry .reminder-status form{display:inline-flex!important;width:auto;margin:0}
@media(max-width:650px){.container{padding:18px 12px 55px;width:100%}.panel{padding:16px 14px;max-width:100%}.form-grid,.two{grid-template-columns:minmax(0,1fr)}.item{flex-direction:column;align-items:stretch}.item>div:first-child{flex:auto;width:100%}.item form.inline{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.item form.inline input,.item form.inline select,.item form.inline button{width:100%;max-width:100%;flex:auto}.payment-entry .payment-action{grid-template-columns:minmax(0,1fr)}.panel .btn,.panel button{overflow-wrap:anywhere}}

/* Bills: readable responsive cards */
.bills-table .bill-name b{display:block;overflow-wrap:anywhere}.bills-table .bill-frequency{display:inline-block;margin-top:8px;padding:5px 10px;background:#253451;border:1px solid #395075;border-radius:999px;color:#c6d6f1;font-size:12px;font-weight:650}.bills-table .balance-pill{display:inline-block;white-space:nowrap}
@media(max-width:760px){
.bills-list{overflow:visible!important;padding:16px 12px!important}.bills-list .bills-table,.bills-list .bills-table tbody{display:block;width:100%;min-width:0!important}.bills-list .bills-table thead{display:none}
.bills-list .bills-table tr.bill-record{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:18px 14px;margin:0 0 14px;border:1px solid #304665;border-radius:16px;background:#15273e;min-width:0}
.bills-list .bills-table td{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;width:100%;padding:0!important;border:0!important;white-space:normal;overflow-wrap:anywhere;font-size:14px}
.bills-list .bills-table td::before{content:attr(data-label);display:block;color:#9dadc7;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px}
.bills-list .bills-table td.bill-name{grid-column:1/-1;padding-bottom:12px!important;border-bottom:1px solid #2c415e!important}.bills-list .bills-table td.bill-name::before{display:none}.bills-list .bills-table td.bill-name b{font-size:18px;line-height:1.4}
.bills-list .bills-table td.bill-actions{grid-column:1/-1;display:block;padding-top:12px!important;border-top:1px solid #2c415e!important;line-height:2.3}.bills-list .bills-table td.bill-actions::before{margin-bottom:8px}
.bills-list .bills-table td.bill-actions .pay-link{display:inline-flex;padding:5px 12px;border-radius:9px;background:#3391ba;color:#fff;text-decoration:none;font-weight:700}
.bills-list .bills-table td.bill-actions form.inline{display:inline-flex!important;width:auto!important;margin-left:10px;vertical-align:middle}.bills-list .bills-table td.bill-actions .link-danger{padding:5px 9px}.bills-list .bills-table .balance-pill{max-width:100%;white-space:normal;font-size:13px}
}@media(max-width:340px){.bills-list .bills-table tr.bill-record{grid-template-columns:minmax(0,1fr)}}

/* Monthly financial reports */
.report-month{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:14px 0 22px}.report-month label{min-width:180px}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.report-tile{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid #314662;background:#14273e;border-radius:14px}.report-tile small{color:#85c2e9;font-weight:750}.report-tile strong{font-size:24px}.report-tile span{color:#a9b8ce;font-size:12px;line-height:1.5}.report-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #253953;flex-wrap:wrap}.report-total{font-weight:800;font-size:17px;border-bottom:0}.report-event{align-items:center}.report-event small{line-height:1.6}@media(max-width:600px){.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-stats strong{font-size:clamp(16px,5vw,23px)}.report-month label{flex:1 1 100%}.report-month input{width:100%}}

/* Detailed audit log readability */
.activity-time{display:inline-block;margin-top:8px;color:#9baecb;font-size:12px}.item small{overflow-wrap:anywhere;white-space:normal;line-height:1.65}

.unified-expense-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.unified-expense-actions .btn{white-space:normal}.bills-list h2{margin:0 0 12px}@media(max-width:600px){.unified-expense-actions{width:100%}.unified-expense-actions .btn{flex:1 1 140px;text-align:center}}

/* Unified spending actions */
.unified-expense-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.unified-expense-actions .btn{flex:1 1 145px;text-align:center;white-space:normal}
.oj-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:12px}
.oj-quick-actions a{min-width:0;overflow-wrap:anywhere}
@media(max-width:650px){.unified-expense-actions{width:100%}}

/* Highlight only the currently selected spending tab */
.unified-expense-actions .btn:not(.primary){background:#192b43;color:#e3ebfa;border:1px solid #324967;box-shadow:none}
.unified-expense-actions .btn.primary{background:linear-gradient(110deg,#2bafe7,#2d89c3);color:white;border:1px solid transparent;box-shadow:0 4px 18px #2bafe722}
.unified-expense-actions .btn{transition:background .15s ease,border-color .15s ease}

.savings-jar{display:grid;gap:16px}.savings-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.savings-head h2{margin:4px 0}.savings-balance{font-size:clamp(23px,5vw,33px);color:#80e6b0}.savings-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.savings-metrics>div{background:#172940;border:1px solid #304462;border-radius:12px;padding:14px;display:grid;gap:5px}.savings-metrics small{color:#a9b8ce}.savings-track{height:12px;border-radius:50px;background:#263851;overflow:hidden}.savings-track>div{height:100%;background:linear-gradient(90deg,#35abdd,#328fca);border-radius:50px}.savings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.savings-form label{min-width:0}.savings-form button{grid-column:1/-1}.savings-history{display:grid;gap:0}.savings-movement{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #293e5b;min-width:0}.savings-movement div{min-width:0}.savings-movement small{display:block;color:#a7b7ce;margin-top:5px;overflow-wrap:anywhere}.savings-plus{color:#73e1a3}.savings-minus{color:#8dd3ff}@media(max-width:600px){.savings-form{grid-template-columns:minmax(0,1fr)}.savings-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Cleaner savings, vacation and goals screens */
.savings-create,.goal-editor,.goal-card,.oj-vacation-card{border-radius:20px}.goal-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px}.goal-card{display:grid;gap:15px}.goal-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.goal-actions form{margin:0}.savings-jar{border:1px solid #354767;border-radius:20px}.oj-funding-choice{background:#16283e;padding:16px;border-radius:14px;border:1px solid #314766}.oj-funding-choice label{display:block;margin-bottom:10px}.oj-funding-choice select{width:100%}.oj-vacation-actions{display:grid;gap:14px}.oj-vacation-history{display:grid;gap:0}.oj-vacation-history .savings-movement{border-bottom:1px solid #2a405c}

/* Goal balance adjustment cards */
.goal-adjust-panel{padding:16px;background:#12243a;border:1px solid #304563;border-radius:16px;min-width:0}.goal-adjust-panel h3{margin:0 0 6px}.goal-adjust-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.goal-adjust-form label{min-width:0}.goal-adjust-form label:nth-of-type(3){grid-column:1/-1}.goal-adjust-form button{grid-column:1/-1;justify-self:start}.goal-history{border-top:1px solid #304563;padding-top:14px}.goal-history summary{cursor:pointer;font-weight:700}.goal-history-entry{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #304563}.goal-history-entry small{display:block;color:#a7b7ce;overflow-wrap:anywhere;margin-top:4px}@media(max-width:600px){.goal-adjust-form{grid-template-columns:minmax(0,1fr)}}

.audit-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.audit-scroll table{width:100%;min-width:690px;border-collapse:collapse}.audit-scroll td,.audit-scroll th{padding:12px 10px;text-align:left;border-bottom:1px solid #26374e;white-space:normal;overflow-wrap:anywhere}.audit-scroll th{color:#84cae8}

/* Admin reports: stacked, responsive cards rather than overflowing tables */
.admin-nav-caption{color:#81c6e3;font-size:12px;font-weight:800;letter-spacing:.06em}.admin-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.admin-report-summary>div{background:#14263d;border:1px solid #30435e;border-radius:14px;padding:16px;display:grid;gap:8px}.admin-report-summary small,.admin-record-meta small{color:#9faec5;font-size:12px}.admin-report-summary strong{font-size:28px;color:#fff}.admin-section-heading{margin-bottom:16px}.admin-section-heading h2{margin:8px 0}.admin-record-list{display:grid;gap:0}.admin-record{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-top:1px solid #293b55;min-width:0}.admin-record-main{display:grid;gap:7px;min-width:0;flex:1}.admin-record-main b{font-size:17px}.admin-record-email,.admin-record-description{font-size:14px;color:#b8c7dd;overflow-wrap:anywhere}.admin-record-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;min-width:0}.admin-record-meta>span:not(.admin-state){display:grid;gap:5px}.admin-record-meta strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.admin-state{border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;background:#34435b}.admin-state.enabled{color:#81e6af;background:#163d32}.admin-state.disabled{color:#ff9da7;background:#293c48}.admin-state.pending{color:#f5d091;background:#483b28}@media(max-width:650px){.admin-report-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-report-summary>div{padding:10px}.admin-report-summary strong{font-size:22px}.admin-record{display:grid;gap:12px}.admin-record-meta{justify-content:flex-start}.admin-record-meta>span:not(.admin-state){min-width:125px}.admin-record-main b{font-size:16px}}

.support-thread{display:grid;gap:14px;margin:20px 0}.support-message{background:#15283f;border:1px solid #30435d;border-radius:14px;padding:16px;overflow-wrap:anywhere}.support-message small{display:block;color:#9fb1c7;margin:5px 0}.support-message p{white-space:normal;line-height:1.55}.admin-record-list a.admin-record{color:inherit;text-decoration:none;display:grid;gap:6px}.admin-record-list a.admin-record:hover{border-color:#4db4e0}

/* Ticket conversations and dashboard quick action preferences */
.support-message-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.support-message-meta time{font-size:.82rem;color:#a9bad2}.support-message p{margin:12px 0 0;overflow-wrap:anywhere}.ticket-status{display:inline-block;padding:5px 12px;border-radius:999px;background:#233854;font-weight:700}.ticket-answered{background:#174534;color:#a3f0c4}.ticket-closed{background:#283d46;color:#dfc4e7}.ticket-close-form{margin-top:12px}.quick-customize[hidden]{display:none!important}.quick-customize{border-top:1px solid #30435d;margin-top:20px;padding-top:20px}.quick-customize-list{display:grid;gap:9px;margin:14px 0 20px}.quick-customize-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid #30435d;background:#15283f;border-radius:12px}.quick-customize-item label{display:flex;align-items:center;gap:10px;min-width:0;margin:0}.quick-customize-item input{width:20px;height:20px;flex-shrink:0}.quick-customize-item>div{display:flex;gap:6px}.quick-move{background:#263b58;color:#fff;border:1px solid #46617d;border-radius:9px;padding:8px 12px;cursor:pointer}@media(max-width:600px){.support-message-meta{display:grid;gap:4px}.quick-customize-item{font-size:.9rem}}

/* Settings & Admin redesign */
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.settings-tile{display:flex;flex-direction:column;gap:9px;padding:22px;border:1px solid #304665;background:#14263e;border-radius:16px;text-decoration:none;color:#f0f5ff;min-width:0;transition:background .15s,border-color .15s}.settings-tile:hover,.settings-tile:focus-visible{background:#1d3350;border-color:#56aed4}.settings-tile strong{font-size:1.08rem}.settings-tile span{font-size:.9rem;color:#acbad0}.settings-options{display:grid;gap:18px;margin-bottom:24px}.settings-options label{display:flex;align-items:center;gap:12px;min-height:44px}.settings-options input{width:20px;height:20px;flex-shrink:0}@media(max-width:650px){.settings-grid{grid-template-columns:minmax(0,1fr)}.settings-tile{padding:18px}}

/* Smart budget upgrade: responsive planning cards */
.smart-budget-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;margin:20px 0}.smart-budget-card{min-width:0}.smart-budget-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.smart-budget-heading h2{margin:0}.smart-meter{height:12px;border-radius:99px;background:#283c57;overflow:hidden;margin:16px 0}.smart-meter>div{height:100%;border-radius:99px}.smart-over{color:#91d4ff}.smart-warning{color:#f6d69a}.smart-ok{color:#8ce7ba}.smart-recurring-item{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid #30415a}.smart-recurring-item>div{min-width:0;flex:1}.smart-recurring-item small{display:block;margin-top:6px;color:#a9b9d0;overflow-wrap:anywhere}.smart-month-picker{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.smart-month-picker label{min-width:min(100%,250px)}@media(max-width:600px){.smart-recurring-item form,.smart-recurring-item form .btn{width:100%}.smart-budget-grid{grid-template-columns:minmax(0,1fr)}}

/* Our Journey V5.7: unified responsive history */
.oj-v57-history{max-width:1100px}.oj-v57-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap}.oj-v57-heading h2{margin:.35rem 0}.oj-v57-count,.oj-v57-status{border:1px solid #395170;border-radius:30px;padding:6px 12px;font-size:.79rem;color:#c9d6ec;white-space:nowrap}.oj-v57-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end;margin:18px 0 22px}.oj-v57-filters label{min-width:0;font-size:.85rem}.oj-v57-filters input,.oj-v57-filters select{width:100%;max-width:100%;min-width:0}.oj-v57-event{border:1px solid #354a66;border-radius:16px;background:#172a45;margin:10px 0;overflow:hidden}.oj-v57-event summary{display:flex;align-items:center;gap:12px;padding:15px;cursor:pointer;list-style:none}.oj-v57-event summary::-webkit-details-marker{display:none}.oj-v57-event summary:focus-visible{outline:2px solid #83c8e6;outline-offset:-3px}.oj-v57-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#243e5a;color:#88d0ef;flex:none}.oj-v57-main{flex:1;min-width:0}.oj-v57-main strong{display:block;overflow-wrap:anywhere}.oj-v57-main small{display:block;color:#b0c1d8;margin-top:4px;overflow-wrap:anywhere}.oj-v57-detail{border-top:1px solid #354a66;padding:12px 16px;color:#c6d4e8}.oj-v57-detail p{margin:6px 0;overflow-wrap:anywhere}.oj-v57-empty{padding:25px;text-align:center;color:#b0c1d8}.oj-v57-pagination{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}@media(max-width:520px){.oj-v57-filters{grid-template-columns:1fr 1fr}.oj-v57-filters label:first-child{grid-column:1/-1}.oj-v57-status{font-size:.68rem;padding:4px 7px}.oj-v57-event summary{gap:8px;padding:12px}}

/* V5.8: compact, accessible event-card history */
.oj-v57-history{max-width:980px}.oj-v58-filter-panel{margin:18px 0 22px;border:1px solid #344a68;border-radius:15px;background:#132640;overflow:hidden}.oj-v58-filter-panel>summary{list-style:none;cursor:pointer;padding:15px 18px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:12px}.oj-v58-filter-panel>summary::-webkit-details-marker{display:none}.oj-v58-filter-hint{font-size:.75rem;color:#afc1d7;font-weight:400}.oj-v58-filter-panel .oj-v57-filters{padding:0 15px 16px;margin:0}.oj-v58-date-heading{font-size:.92rem;letter-spacing:.03em;color:#83c8e6;margin:24px 0 10px}.oj-v57-event{background:#12243e;border-color:#334969;box-shadow:0 4px 18px #00000014}.oj-v57-event summary{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:16px}.oj-v57-main{min-width:0}.oj-v57-main strong{font-size:1rem;line-height:1.35;overflow-wrap:break-word}.oj-v57-main small{line-height:1.5;font-size:.81rem;overflow-wrap:break-word}.oj-v57-status{grid-column:2;justify-self:start;white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:.72rem;padding:4px 10px;background:#233653}.oj-v57-event[open]{border-color:#55869b}.oj-v57-detail{background:#192d48}.oj-v57-detail p{line-height:1.5}.oj-v57-empty{border:1px dashed #3d5675;border-radius:15px}.oj-v57-empty strong{display:block;color:#e9eff9}.oj-v57-pagination a{min-width:90px;text-align:center}@media(max-width:560px){.oj-v57-heading{gap:8px}.oj-v57-heading h2{font-size:1.4rem}.oj-v57-filters{grid-template-columns:1fr}.oj-v57-filters label:first-child{grid-column:auto}.oj-v57-event summary{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:13px}.oj-v57-symbol{width:36px;height:36px}.oj-v58-filter-hint{display:none}}
.oj-v58-readiness-card{border:1px solid #344a68;border-radius:16px;background:#142741;padding:17px;margin:12px 0}.oj-v58-readiness-card h3{margin:0 0 9px}.oj-v58-readiness-card p{margin:7px 0;line-height:1.5}.oj-v58-readiness-state{display:inline-block;border-radius:20px;background:#293954;color:#f4d5a7;padding:5px 11px;font-size:.8rem;font-weight:650}

/* Our Journey member-facing premium polish. Existing layout/logic retained. */
:root{--oj-pink:#84c0e7;--oj-purple:#77c5e7;--oj-surface:#192c45;--oj-stroke:#354c69}
body:not(.auth-bg) .page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}
body:not(.auth-bg) .page-title h1{letter-spacing:-.025em;line-height:1.15}
body:not(.auth-bg) .panel{border-radius:20px;border:1px solid var(--oj-stroke);box-shadow:0 8px 30px rgba(0,0,0,.08)}
body:not(.auth-bg) .panel h2{letter-spacing:-.02em}
body:not(.auth-bg) .form-grid{gap:15px}
body:not(.auth-bg) .form-grid label{line-height:1.5}
body:not(.auth-bg) input:not([type=checkbox]):not([type=radio]),body:not(.auth-bg) select,body:not(.auth-bg) textarea{border-radius:12px;max-width:100%;min-width:0}
body:not(.auth-bg) button,body:not(.auth-bg) .btn{border-radius:12px}
body:not(.auth-bg) .item{border-radius:13px}
.oj-premium-form-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.oj-premium-form-heading .oj-form-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#23414e;color:#8dd7f7;font-size:22px}
.oj-premium-form-heading h2{margin:0}.oj-premium-form-heading p{margin:4px 0 0;color:#b4c5d9;font-size:13px}
.auth-bg .auth-card{width:min(94vw,560px);max-width:560px;padding:clamp(20px,5vw,38px);border:1px solid #3b5272;border-radius:25px;box-shadow:0 24px 80px #020817aa}
.auth-bg .auth-card h1{letter-spacing:-.04em;line-height:1.15}
.auth-bg .auth-card label{display:block;margin-bottom:14px}
.auth-bg .auth-card input:not([type=radio]):not([type=checkbox]){width:100%;min-height:48px;border-radius:12px}
.auth-bg .auth-card button{min-height:46px;border-radius:12px}
.oj-auth-kicker{display:block;letter-spacing:.17em;font-size:11px;color:#85c2e9;font-weight:800;margin-bottom:9px}
.oj-auth-note{padding:12px 14px;background:#152840;border:1px solid #38506f;border-radius:13px;color:#bfcde1;font-size:13px;line-height:1.55;margin:15px 0}
.oj-auth-password{display:flex;align-items:center;gap:7px}.oj-auth-password input{flex:1}.oj-auth-toggle{flex:0 0 auto!important;width:auto!important;padding:10px!important;background:#293951!important;color:#f2e5fa!important;border:1px solid #51627b!important}
@media(max-width:600px){body:not(.auth-bg) .panel{padding:16px}body:not(.auth-bg) .form-grid{grid-template-columns:minmax(0,1fr);gap:12px}.auth-bg .auth-card{margin:18px auto}}

/* October 2026 visual consistency: non-billing member pages only. */
@media(max-width:760px){
 body:has(.oj-polished-member) main{padding-bottom:100px}
 .oj-polished-member .page-title{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin:0 0 18px}
 .oj-polished-member .page-title h1{font-size:clamp(27px,7vw,35px);line-height:1.12;margin:6px 0 12px;letter-spacing:-.035em}
 .oj-polished-member .page-title .muted{font-size:14px;line-height:1.5}
 .oj-polished-member .page-title .btn{width:auto!important;min-height:44px;padding:11px 16px!important;font-size:14px!important}
 .oj-polished-member .panel{padding:18px!important;border-radius:20px!important;margin-bottom:16px!important;box-shadow:none!important}
 .oj-polished-member .panel h2{font-size:21px!important;line-height:1.22!important;letter-spacing:-.025em;margin:0 0 15px!important}
 .oj-polished-member .panel h3{font-size:17px!important;line-height:1.3!important}
 .oj-polished-member .panel p{font-size:14px;line-height:1.55}
 .oj-polished-member .panel .muted{color:#aebbd0}
 .oj-polished-member .panel input,.oj-polished-member .panel select,.oj-polished-member .panel textarea{min-height:45px!important;border-radius:12px!important;font-size:15px!important}
 .oj-polished-member .panel label{font-size:13px!important;font-weight:650;line-height:1.5}
 .oj-polished-member .panel .btn{border-radius:12px!important;min-height:44px!important}
 .oj-polished-member .bills-table .bill-record{border-radius:14px!important;margin:9px 0!important;padding:14px!important;box-shadow:none!important}
 .oj-polished-member .bills-table td{font-size:14px!important;padding:8px 0!important}
 .oj-polished-member .bills-table td.bill-name b{font-size:17px!important}
 .oj-polished-member .bill-actions{display:flex!important;align-items:center;gap:16px;flex-wrap:wrap}
 .oj-polished-member .bill-actions a,.oj-polished-member .bill-actions button{font-size:13px!important}
 .oj-polished-member .goal-adjust-panel{padding:13px!important;border-radius:13px!important}
 .oj-polished-member .goal-actions{display:flex;gap:12px;flex-wrap:wrap}
}
header.top #nav .nav-group a[aria-current="page"]{background:linear-gradient(105deg,#256e8d,#3388ac)!important;border-color:#71c6eb!important}
header.top #nav .nav-group a:focus-visible,header.top #nav .nav-tab:focus-visible{outline:2px solid #91deff;outline-offset:2px}
@media(max-width:760px){header.top #nav .nav-group a{min-height:48px!important;padding:9px 12px!important}header.top #nav .nav-tabs{gap:6px!important}header.top #nav .nav-tab{min-height:37px!important}}

.oj-v3-mobile-nav a[aria-current="page"]{color:#91deff!important;font-weight:750!important}.oj-v3-mobile-nav a[aria-current="page"] span{color:#3abaf1!important}
