/* Post redesign interaction fixes: portal settings, crisp logo + cards. */
.neon-settings-overlay[hidden]{display:none!important}
.neon-settings-overlay{
 position:fixed;inset:0;z-index:4500;
 display:grid;place-items:center;
 padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right))
 max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
 background:rgba(3,4,21,.78);backdrop-filter:blur(7px);
 -webkit-backdrop-filter:blur(7px);direction:rtl;
}
.neon-settings-overlay .neon-settings-panel{
 position:relative;box-sizing:border-box;
 width:min(100%,450px);max-height:min(86dvh,750px);
 overflow:auto;overscroll-behavior:contain;
 display:grid;gap:12px;padding:18px 19px;
 border:1.5px solid #9553f4;border-radius:21px;
 color:#f7f3ff;
 background:linear-gradient(151deg,#211649 0%,#121236 54%,#0a1436 100%);
 box-shadow:0 30px 95px #0009,0 0 25px #8738ef56,inset 0 0 19px #8b46f52c;
}
.neon-settings-overlay .neon-settings-heading{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 min-height:43px;color:#f5f0ff;font-size:18px;font-weight:800;
}
.neon-settings-overlay .neon-settings-actions{display:flex;gap:9px;direction:ltr}
.neon-settings-overlay .neon-head-button{
 box-sizing:border-box;display:grid;place-items:center;
 width:42px;height:42px;flex:none;
 padding:9px;border:1px solid #a16bf3;border-radius:12px;
 color:#e5d1ff;background:linear-gradient(135deg,#302267,#151844);
 cursor:pointer;box-shadow:0 0 9px #5e39e54f;
}
.neon-settings-overlay .neon-head-button svg{display:block;width:100%;height:100%}
.neon-settings-overlay .neon-settings-save-toggle{
 color:#b7defb;border-color:#668ac3;background:#1b3157;
 transition:opacity .2s,border-color .2s,box-shadow .2s;
}
.neon-settings-overlay .neon-settings-save-toggle:disabled{
 opacity:.37;cursor:default;box-shadow:none;filter:saturate(.55)
}
.neon-settings-overlay .neon-settings-save-toggle.has-unsaved-changes{
 opacity:1;color:white;border-color:#7cceff;
 background:#214f7b;
 animation:neon-modal-check-pulse 1.55s ease-in-out infinite;
}
@keyframes neon-modal-check-pulse{
 0%,100%{box-shadow:0 0 5px #64aaff70,inset 0 0 7px #468cea22}
 50%{box-shadow:0 0 19px #4fc3ffc9,inset 0 0 12px #64c8ffa1}
}
.neon-settings-overlay .neon-settings-dismiss{
 color:#ff9bad;border-color:#9c536f;background:#392039;
}
.neon-settings-overlay .neon-name-form{
 display:grid;gap:10px;
 padding:13px;border:1px solid #7f60cb74;border-radius:14px;
 background:#0e1034e0;
}
.neon-settings-overlay .neon-name-label,
.neon-settings-overlay .reset-day-control>span:first-child{
 color:#eee7ff;font-size:14px;font-weight:730;
}
.neon-settings-overlay .neon-name-input,
.neon-settings-overlay .reset-day-control select{
 box-sizing:border-box;width:100%;min-width:0;min-height:46px;
 padding:10px 12px;border:1px solid #815fd4;border-radius:11px;
 background:#0b1232;color:#fff;font-size:16px;
}
.neon-settings-overlay .reset-day-control{display:grid;gap:7px}
.neon-settings-overlay .reset-day-hint{
 font-size:11px;line-height:1.4;color:#a99cce;margin:0
}
.neon-settings-overlay .neon-name-status{
 margin:0;font-size:12px;min-height:0;color:#5bebbe;
}
.neon-settings-overlay .neon-name-status:empty{display:none}
.neon-settings-overlay .neon-name-status.is-error{color:#ff8fa5}
.neon-settings-overlay .account-bar{
 display:flex;align-items:center;justify-content:space-between;
 flex-wrap:wrap;gap:12px;margin-top:0;padding-top:9px;
 border-top:1px solid #9670dc4a;
 color:#bfb2d9;font-size:12px;
}
.neon-settings-overlay .account-bar>div:first-child{min-width:0;flex:1}
.neon-settings-overlay .account-actions{display:flex;gap:8px;flex-wrap:wrap}
.neon-settings-overlay #settingsBtn{display:none!important}
.neon-settings-overlay .logout-btn{
 min-height:35px;padding:7px 12px;
 border:1px solid #8457b8;border-radius:9px;
 background:#291d4a;color:#f3e9ff;
}
.neon-settings-overlay :focus-visible{outline:2px solid #c19aff;outline-offset:2px}
:is(#dashboard,#kf-view).neon-home-dashboard .neon-brand .brand-wordmark{
 font-size:clamp(32px,4.8vw,52px)!important;
 letter-spacing:-.045em!important;
 text-shadow:none!important;
 color:#fdfaff!important;
}
:is(#dashboard,#kf-view).neon-home-dashboard .neon-brand .brand-wordmark .brand-v{
 position:relative;
 display:inline-block!important;
 filter:none!important;
 text-shadow:none!important;
 isolation:isolate;
 background:linear-gradient(168deg,#ffe1ff 0%,#e58eff 25%,#a635ec 58%,#4518db 100%)!important;
 -webkit-background-clip:text!important;background-clip:text!important;
 -webkit-text-fill-color:transparent!important;
 -webkit-text-stroke:.35px #b15cff;
}
:is(#dashboard,#kf-view).neon-home-dashboard .neon-brand .brand-wordmark .brand-v::before{
 content:"V";position:absolute;inset:0;z-index:-1;
 color:#ab37ff;-webkit-text-fill-color:#ab37ff;
 -webkit-text-stroke:0;
 filter:blur(5px);opacity:.88;
 transform:scale(1.02);
 pointer-events:none;
}
:is(#dashboard,#kf-view).neon-home-dashboard .neon-tagline{
 font-size:clamp(12px,1.85vw,18px)!important;
 color:#e1d7f5;
}
:is(#dashboard,#kf-view).neon-home-dashboard .neon-greeting{
 font-size:clamp(20px,3vw,26px)!important;
}
:is(#dashboard,#kf-view).neon-home-dashboard .neon-greeting-copy>span{
 font-size:clamp(12px,1.75vw,15px)!important;
}
:is(#dashboard,#kf-view).neon-home-dashboard .neon-topbar>.neon-head-button:first-child .neon-icon,
:is(#dashboard,#kf-view).neon-home-dashboard .neon-topbar>.neon-head-button:first-child .neon-icon svg{
 width:29px;height:29px;stroke-width:1.6;
}
:is(#dashboard,#kf-view).neon-home-dashboard .neon-topbar>.neon-head-button:first-child{
 width:49px;height:49px;
 background:radial-gradient(circle at 40% 25%,#36217c 0%,#161041 77%);
 border:1.5px solid #8c45f8;
 box-shadow:inset 0 0 13px #7e3df65d,0 0 17px #6d2ef68a;
}
:is(#dashboard,#kf-view).neon-home-dashboard .neon-topbar>.neon-head-button:first-child::after{
 width:7px;height:7px;right:-2px;top:1px;
 background:#d1a6ff;box-shadow:0 0 10px #aa43ff,0 0 17px #ac40ff;
}
#dashboard.neon-home-dashboard .neon-stat-savings .neon-stat-pict{
 filter:drop-shadow(0 0 6px #c44cff);
}
#dashboard.neon-home-dashboard .neon-stat-savings .neon-stat-pict svg{
 stroke-width:2;
}
#dashboard.neon-home-dashboard .extra-credit-group>.extra-credit-cards{
 display:grid!important;gap:10px!important;order:4;
}
#dashboard.neon-home-dashboard .extra-credit-group>.extra-credit-cards:empty{display:none!important}
#dashboard.neon-home-dashboard .extra-credit-cards>.extra-credit-card{
 display:block!important;
 order:4;
}
#dashboard.neon-home-dashboard .extra-credit-card:not(.is-mobile-open)>.extra-credit-content{display:none!important}
#dashboard.neon-home-dashboard .extra-credit-card.is-mobile-open>.extra-credit-content{
 display:block!important;
 margin-inline:12px;max-width:calc(100% - 24px);
}
#dashboard.neon-home-dashboard .extra-credit-card .card-heading{
 min-height:76px!important;
}
/* During WAAPI height changes never let a generic height:auto!important rule
   or overflow:visible counteract the clipping of the active animation. */
#dashboard.neon-home-dashboard .tracker-grid .finance-card.kama-card-animating{
 overflow:hidden!important;
 transition:none!important;
}
@media(max-width:640px){
 :is(#dashboard,#kf-view).neon-home-dashboard .neon-brand .brand-wordmark{
  font-size:clamp(26px,8.25vw,39px)!important;
 }
 :is(#dashboard,#kf-view).neon-home-dashboard .neon-tagline{font-size:clamp(11px,3.12vw,14px)!important}
 :is(#dashboard,#kf-view).neon-home-dashboard .neon-greeting{font-size:clamp(18px,4.6vw,21px)!important}
 :is(#dashboard,#kf-view).neon-home-dashboard .neon-topbar>.neon-head-button:first-child{
  width:42px;height:42px;
 }
 :is(#dashboard,#kf-view).neon-home-dashboard .neon-topbar>.neon-head-button:first-child .neon-icon,
 :is(#dashboard,#kf-view).neon-home-dashboard .neon-topbar>.neon-head-button:first-child svg{
  width:24px;height:24px;
 }
 .neon-settings-overlay .neon-settings-panel{padding:14px;max-height:86dvh;}
}
@media(prefers-reduced-motion:reduce){
 .neon-settings-overlay .neon-settings-save-toggle.has-unsaved-changes{animation:none}
}
