@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');
:root{--bg:#07111f;--panel:#0e1b2d;--panel2:#13233a;--text:#eef5ff;--muted:#8fa4bf;--accent:#62d6b3;--accent2:#6aa9ff;--danger:#ff7185;--border:rgba(255,255,255,.08)}*{box-sizing:border-box}body{margin:0;font-family:Cairo,Arial;background:radial-gradient(circle at 15% 0,#17355a 0,transparent 28%),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}.wrap{max-width:1320px;margin:auto;padding:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.brand{font-size:24px;font-weight:800}.brand b{color:var(--accent)}.nav{display:flex;gap:10px;flex-wrap:wrap}.btn{border:1px solid var(--border);background:var(--panel2);color:var(--text);padding:10px 15px;border-radius:14px;cursor:pointer;font-family:inherit}.btn.primary{background:linear-gradient(135deg,var(--accent),#43aeea);color:#04131c;border:0;font-weight:800}.hero{padding:64px 0 34px;display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center}.hero h1{font-size:clamp(38px,6vw,74px);line-height:1.05;margin:0 0 18px}.hero p{color:var(--muted);font-size:18px;max-width:750px}.glass,.card{background:linear-gradient(145deg,rgba(19,35,58,.92),rgba(10,22,38,.86));border:1px solid var(--border);border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.glass{padding:28px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{padding:20px}.kpi small{color:var(--muted)}.kpi strong{font-size:28px;display:block;margin-top:7px}.good{color:var(--accent)}.bad{color:var(--danger)}.layout{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin-top:16px}.chart{height:310px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--border);text-align:start}.muted{color:var(--muted)}.form{max-width:560px;margin:60px auto;padding:28px}.field{margin:13px 0}.field label{display:block;color:var(--muted);margin-bottom:6px}.field input,.field select{width:100%;background:#091625;color:#fff;border:1px solid var(--border);border-radius:13px;padding:12px;font-family:inherit}.flash{padding:12px;border-radius:12px;background:rgba(255,113,133,.12);color:#ff9baa;margin-bottom:12px}.insight{padding:15px;border-left:3px solid var(--accent);background:rgba(98,214,179,.07);border-radius:12px;margin:10px 0}.fab{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;font-size:27px}.mobilebar{display:none}@media(max-width:900px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:1fr}.nav.desktop{display:none}.wrap{padding:16px 16px 86px}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9;background:#091625eF;backdrop-filter:blur(16px);border-top:1px solid var(--border);justify-content:space-around;padding:10px}.mobilebar a{font-size:12px;text-align:center}.mobilebar span{display:block;font-size:20px}}@media(max-width:520px){.grid{grid-template-columns:1fr 1fr}.kpi strong{font-size:21px}.hero{padding-top:32px}}

/* Masofi modern custom dropdowns */
.field select.mf-native-select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mf-select{position:relative;width:100%;font-family:inherit}
.mf-select-trigger{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:linear-gradient(135deg,rgba(19,35,58,.82),rgba(9,22,37,.70));color:var(--text);font:600 14px Cairo,Arial;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.08);transition:.22s ease;text-align:start;backdrop-filter:blur(14px)}
.mf-select-trigger:hover{border-color:rgba(98,214,179,.38);background:linear-gradient(135deg,rgba(24,45,73,.92),rgba(11,27,46,.88));transform:translateY(-1px)}
.mf-select.open .mf-select-trigger,.mf-select-trigger:focus-visible{outline:none;border-color:rgba(98,214,179,.72);box-shadow:0 0 0 4px rgba(98,214,179,.09),0 12px 32px rgba(0,0,0,.16)}
.mf-select-value{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mf-select-value:before{content:'';width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 0 4px rgba(98,214,179,.08);flex:0 0 auto}
.mf-select-chevron{width:20px;height:20px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.045);color:var(--muted);transition:.22s ease;flex:0 0 auto}
.mf-select.open .mf-select-chevron{transform:rotate(180deg);color:var(--accent);background:rgba(98,214,179,.09)}
.mf-select-menu{position:absolute;z-index:1000;top:calc(100% + 8px);left:0;right:0;padding:7px;max-height:285px;overflow:auto;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(9,22,37,.96);box-shadow:0 22px 60px rgba(0,0,0,.38);backdrop-filter:blur(22px);opacity:0;visibility:hidden;transform:translateY(-7px) scale(.985);transform-origin:top;transition:opacity .16s ease,transform .16s ease,visibility .16s}
.mf-select.open .mf-select-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.mf-select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:12px;background:transparent;color:#dce8f7;font:500 14px Cairo,Arial;cursor:pointer;text-align:start;transition:.15s ease}
.mf-select-option:hover{background:rgba(255,255,255,.055);color:#fff;padding-inline-start:15px}
.mf-select-option.selected{background:linear-gradient(135deg,rgba(98,214,179,.14),rgba(106,169,255,.10));color:var(--accent);font-weight:700}
.mf-select-option.selected:after{content:'✓';width:23px;height:23px;display:grid;place-items:center;border-radius:8px;background:rgba(98,214,179,.12);font-size:12px}
.mf-select-menu::-webkit-scrollbar{width:7px}.mf-select-menu::-webkit-scrollbar-thumb{background:rgba(143,164,191,.28);border-radius:10px}
.mf-select-backdrop{display:none}
@media(max-width:600px){.mf-select-menu{position:fixed;z-index:1002;left:12px;right:12px;top:auto;bottom:12px;max-height:min(62vh,470px);border-radius:24px;padding:10px 9px 12px;transform:translateY(28px) scale(.985)}.mf-select.open .mf-select-menu{transform:translateY(0) scale(1)}.mf-select-menu:before{content:'';display:block;width:42px;height:4px;border-radius:99px;background:rgba(255,255,255,.18);margin:2px auto 10px}.mf-select-option{padding:13px 14px;border-radius:14px;font-size:15px}.mf-select-option:hover{padding-inline-start:14px}.mf-select-backdrop{position:fixed;z-index:1001;inset:0;background:rgba(1,8,16,.64);backdrop-filter:blur(4px);opacity:0;visibility:hidden;display:block;transition:.18s}.mf-select.open .mf-select-backdrop{opacity:1;visibility:visible}}
/* v1.1 transaction UX */
.success{padding:12px 15px;border:1px solid rgba(98,214,179,.22);background:rgba(98,214,179,.09);border-radius:14px;color:var(--accent);margin-bottom:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.optional-box{border:1px solid var(--border);border-radius:18px;overflow:hidden;margin:14px 0;background:rgba(4,14,25,.2)}.details-toggle{width:100%;padding:15px;border:0;background:transparent;color:var(--text);font:700 14px Cairo;text-align:start;cursor:pointer}.details-toggle span{font-size:11px;color:var(--muted);font-weight:500;margin-inline-start:7px}.purchase-details{display:none;padding:0 15px 15px}.purchase-details.show{display:block;animation:mfFade .2s ease}.items-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0 9px}.items-head small{display:block;color:var(--muted)}.item-row{display:grid;grid-template-columns:2fr .7fr 1fr .8fr 38px;gap:7px;margin:7px 0}.item-row input{min-width:0;width:100%;background:#091625;color:#fff;border:1px solid var(--border);border-radius:11px;padding:9px;font-family:inherit}.item-remove{border:0;border-radius:10px;background:rgba(255,113,133,.1);color:var(--danger);font-size:20px;cursor:pointer}.items-total{text-align:end;color:var(--muted);padding-top:9px}.items-total b{color:var(--text)}#amountMatch{font-size:11px;margin-inline-start:8px}.records{display:flex;flex-direction:column;gap:8px}.swipe-row{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:17px;background:#091625;touch-action:pan-y}.swipe-actions{position:absolute;inset:0 0 0 auto;display:flex;width:150px}.swipe-actions a,.swipe-actions button{width:75px;border:0;color:#fff;font:700 13px Cairo;display:grid;place-items:center}.swipe-edit{background:#3577bd}.swipe-delete{background:#bd4659;cursor:pointer}.record-main{position:relative;z-index:2;display:flex;align-items:center;gap:12px;padding:13px 14px;background:linear-gradient(135deg,#102038,#0b192b);transition:transform .18s ease;will-change:transform}.record-icon{width:39px;height:39px;border-radius:12px;background:rgba(255,113,133,.08);color:var(--danger);display:grid;place-items:center}.record-info{min-width:0;flex:1}.record-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-meta{font-size:12px;color:var(--muted);margin-top:2px}.record-amount{font-weight:800;white-space:nowrap}.record-menu{display:flex;gap:5px}.icon-btn{width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.035);color:var(--muted);display:grid;place-items:center;cursor:pointer;font:16px Arial}.icon-btn:hover{color:#fff;border-color:rgba(255,255,255,.18)}.icon-btn.danger:hover{color:var(--danger);border-color:rgba(255,113,133,.3)}.modal{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(1,7,14,.72);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:.18s}.modal.show{opacity:1;visibility:visible}.modal-card{width:min(430px,100%);background:#0e1b2d;border:1px solid var(--border);border-radius:25px;padding:25px;box-shadow:0 30px 90px rgba(0,0,0,.45);transform:translateY(12px);transition:.18s}.modal.show .modal-card{transform:none}.modal-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,113,133,.1);color:var(--danger);font-weight:900;font-size:22px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-actions form{margin:0}.danger-btn{background:var(--danger);color:#21040a;border:0;font-weight:800}@keyframes mfFade{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:650px){.form-grid{grid-template-columns:1fr}.item-row{grid-template-columns:1fr 64px 90px 38px}.item-row input[name="item_discount[]"]{grid-column:1/4}.record-menu{display:none}.record-main{padding:12px}.record-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-amount{font-size:14px}.items-head{align-items:flex-end}}
/* v1.2 dashboard intelligence + mobile app shell */
.dashboard-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.month-picker{display:block;margin-top:5px;background:rgba(9,22,37,.7);border:1px solid var(--border);border-radius:14px;padding:9px 12px;color:var(--text);font-family:inherit}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.mini{padding:13px 15px;border:1px solid var(--border);border-radius:17px;background:rgba(14,27,45,.65)}.mini span{display:block;color:var(--muted);font-size:11px}.mini b{font-size:16px}.action-grid,.quick-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-grid a,.quick-options a{padding:17px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.025);font-size:20px}.action-grid span,.quick-options b{display:block;font-size:12px;margin-top:6px}.quick-sheet{position:fixed;z-index:3000;inset:0;background:rgba(1,7,14,.7);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;opacity:0;visibility:hidden;transition:.2s}.quick-sheet.show{opacity:1;visibility:visible}.sheet-card{width:min(560px,100%);background:#0e1b2d;border:1px solid var(--border);border-radius:26px 26px 0 0;padding:20px;transform:translateY(30px);transition:.2s}.quick-sheet.show .sheet-card{transform:none}.sheet-card>i{display:block;width:42px;height:4px;background:#ffffff30;border-radius:99px;margin:0 auto 15px}.mobilebar button{border:0;width:48px;height:48px;margin-top:-25px;border-radius:16px;background:linear-gradient(135deg,var(--accent),var(--accent2));font-size:25px;color:#04131c;box-shadow:0 8px 30px rgba(98,214,179,.2)}.plan-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.plan-row span{color:var(--muted);font-size:12px}.goal{margin:15px 0}.goal>div:first-child{display:flex;justify-content:space-between}.goal span{color:var(--muted)}.progress{height:9px;border-radius:99px;background:#ffffff0c;overflow:hidden;margin-top:7px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}
@media(max-width:900px){.mini-grid{grid-template-columns:1fr 1fr}.dashboard-head{align-items:center}.mobilebar{align-items:center}.mobilebar a span{font-size:10px}.mobilebar a{font-size:18px}}

/* v1.3 analytics & intelligence */
.compare-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.compare-controls small{display:block;color:var(--muted)}.compare-controls input,.report-hero input,.section-title input,.searchbar input{background:#091625;color:var(--text);border:1px solid var(--border);border-radius:14px;padding:11px 13px;font:inherit}.compare-controls b{padding-bottom:10px;color:var(--accent)}.report-hero{position:relative;overflow:hidden;padding:32px}.report-hero:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:var(--accent);filter:blur(100px);opacity:.12;left:-60px;top:-100px}.report-hero h1{font-size:42px;margin:6px 0}.report-hero p{font-size:18px}.report-rate{display:inline-flex;gap:15px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:15px}.report-rate strong{color:var(--accent)}.simulator{display:grid;gap:20px;max-width:850px}.simulator input[type=range]{width:100%;accent-color:var(--accent)}.searchbar{display:flex;gap:10px}.searchbar input{flex:1}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-head{text-align:center;color:var(--muted);font-size:11px}.cal-day{min-height:90px;border:1px solid var(--border);border-radius:14px;padding:9px;background:rgba(255,255,255,.015);display:flex;flex-direction:column}.cal-day span{font-size:11px;color:var(--muted)}.cal-day b{margin-top:auto}.cal-day small{color:var(--muted)}.cal-day.l1{background:rgba(98,214,179,.05)}.cal-day.l2{background:rgba(98,214,179,.10)}.cal-day.l3{background:rgba(98,214,179,.17)}.cal-day.l4{background:rgba(98,214,179,.25)}.import-box{display:flex;gap:10px;align-items:center;padding:25px;border:1px dashed rgba(98,214,179,.3);border-radius:18px;margin:20px 0}.sample{padding:15px;background:#091625;border-radius:14px}.sample code{display:block;direction:ltr;text-align:left;color:var(--muted);margin-top:8px}.admin-health{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.admin-health>div{padding:14px;border:1px solid var(--border);border-radius:16px}.admin-health span{display:block;color:var(--muted);font-size:11px}
@media(max-width:700px){.calendar-grid{gap:4px}.cal-day{min-height:67px;padding:5px}.cal-day b{font-size:10px}.cal-day small,.cal-head{font-size:8px}.report-hero h1{font-size:30px}.searchbar,.import-box{align-items:stretch;flex-direction:column}.admin-health{grid-template-columns:1fr 1fr}}
/* v1.4 safe financial reset */
.settings-layout{align-items:start}.reset-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.reset-stats>div{padding:15px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}.reset-stats span{display:block;color:var(--muted);font-size:12px}.reset-stats b{display:block;font-size:24px;margin-top:5px}.danger-zone{border-color:rgba(255,113,133,.22);background:linear-gradient(145deg,rgba(65,22,34,.48),rgba(10,22,38,.9))}.danger-badge{display:inline-flex;padding:5px 9px;border-radius:99px;background:rgba(255,113,133,.12);color:var(--danger);font-size:11px;font-weight:800}.danger-btn{background:linear-gradient(135deg,#d84f68,#a92e47)!important;border-color:transparent!important;color:#fff!important;font-weight:800}.danger-btn:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.5)}.reset-modal-card{max-width:520px}.danger-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:rgba(255,113,133,.12);color:var(--danger);font-size:27px;font-weight:900;margin-bottom:12px}.reset-list{display:grid;gap:7px;padding:13px 15px;margin:15px 0;border:1px solid var(--border);border-radius:15px;background:rgba(0,0,0,.12);color:#c8d6e8;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px}@media(max-width:600px){.reset-stats{grid-template-columns:1fr 1fr}.reset-modal-card{align-self:end;width:100%;border-radius:25px 25px 16px 16px}.modal{align-items:end;padding:10px}.modal-actions{position:sticky;bottom:0}.modal-actions .btn{flex:1}}

/* v1.5 responsive navigation + interaction polish */
.btn,.card,.mini,.action-grid a,.quick-options a,.record-main,.plan-row,.cal-day,.admin-health>div,.reset-stats>div,.more-grid a{transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease}
@media (hover:hover) and (pointer:fine){
 .btn:hover{transform:translateY(-2px);border-color:rgba(98,214,179,.34);background:#182b46;box-shadow:0 10px 28px rgba(0,0,0,.18)}
 .btn.primary:hover{background:linear-gradient(135deg,#76e2c1,#78b6ff);box-shadow:0 12px 30px rgba(98,214,179,.18)}
 .card:hover{transform:translateY(-3px);border-color:rgba(106,169,255,.18);box-shadow:0 24px 60px rgba(0,0,0,.25)}
 .mini:hover,.admin-health>div:hover,.reset-stats>div:hover{transform:translateY(-2px);border-color:rgba(98,214,179,.22);background:rgba(19,35,58,.82)}
 .action-grid a:hover,.quick-options a:hover,.more-grid a:hover{transform:translateY(-3px);border-color:rgba(98,214,179,.32);background:linear-gradient(145deg,rgba(98,214,179,.08),rgba(106,169,255,.06));box-shadow:0 14px 34px rgba(0,0,0,.18)}
 .record-main:hover{background:linear-gradient(135deg,#142945,#0e2036)}
 .plan-row:hover{padding-inline:8px;background:rgba(255,255,255,.025);border-radius:10px}
 .cal-day:hover{transform:translateY(-2px) scale(1.015);border-color:rgba(98,214,179,.3);box-shadow:0 10px 25px rgba(0,0,0,.18)}
}
.btn:active,.action-grid a:active,.quick-options a:active,.more-grid a:active,.mobilebar a:active,.mobilebar button:active{transform:scale(.96)}
.mobile-more-btn{display:none}
.more-sheet{position:fixed;z-index:3100;inset:0;background:rgba(1,7,14,.72);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:.2s;align-items:flex-end;justify-content:center}
.more-sheet.show{opacity:1;visibility:visible}
.more-sheet-card{width:min(620px,100%);max-height:82vh;overflow:auto;background:linear-gradient(160deg,#11223a,#091625);border:1px solid var(--border);border-radius:28px 28px 0 0;padding:18px 16px 24px;transform:translateY(35px);transition:.22s ease;box-shadow:0 -20px 70px rgba(0,0,0,.35)}
.more-sheet.show .more-sheet-card{transform:none}.more-sheet-card>i{display:block;width:44px;height:4px;border-radius:99px;background:#ffffff30;margin:0 auto 13px}.more-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.more-sheet-head h3{margin:0}.more-sheet-head p{margin:2px 0 0;font-size:11px}.more-close{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--text);font-size:23px;cursor:pointer}.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.more-grid a{min-height:82px;padding:13px 8px;border:1px solid var(--border);border-radius:17px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.more-grid b{font-size:21px;color:var(--accent);line-height:1}.more-grid span{font-size:11px;margin-top:8px}.more-grid .more-logout b,.more-grid .more-logout span{color:var(--danger)}
@media(max-width:900px){.more-sheet{display:flex}.mobilebar{z-index:3000;padding:9px 8px calc(9px + env(safe-area-inset-bottom));gap:3px}.mobilebar>a,.mobile-more-btn{flex:1;min-width:0;border:0;background:transparent;color:var(--muted);font-family:inherit;text-align:center;padding:3px 2px;cursor:pointer}.mobilebar>a{font-size:19px}.mobilebar>a span,.mobile-more-btn span{display:block;font-size:9px;margin-top:2px;color:var(--muted)}.mobile-more-btn{display:block;font-size:20px}.mobilebar>a:first-child{color:var(--accent)}.mobilebar button#mobileQuick{flex:0 0 50px}.top{align-items:flex-start}.card:active,.mini:active{transform:scale(.992);border-color:rgba(98,214,179,.18)}}
@media(max-width:430px){.more-grid{grid-template-columns:repeat(3,1fr)}.more-grid a{min-height:76px}.more-grid span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.btn,.card,.mini,.action-grid a,.quick-options a,.record-main,.plan-row,.cal-day,.more-grid a,.more-sheet,.more-sheet-card{transition:none!important}}
/* v1.6 admin financial overview + safe impersonation */
.admin-finance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.admin-users-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.admin-user-card{border:1px solid var(--border);border-radius:20px;padding:16px;background:rgba(255,255,255,.022);transition:.2s}.admin-user-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-user-head span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.status-pill{font-style:normal;font-size:10px;padding:5px 9px;border-radius:99px;border:1px solid var(--border)}.status-active{color:var(--accent);background:rgba(98,214,179,.08)}.status-disabled{color:var(--danger);background:rgba(255,113,133,.08)}.status-pending{color:#ffd27a;background:rgba(255,210,122,.08)}.user-money{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.user-money>div{padding:11px;border-radius:14px;background:rgba(0,0,0,.13);border:1px solid var(--border)}.user-money span,.user-meta span{display:block;color:var(--muted);font-size:10px}.user-money b{display:block;margin-top:4px;font-size:15px}.user-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.admin-actions form{display:flex;gap:6px;flex-wrap:wrap}.password-action input{width:135px;background:#091625;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:9px}.impersonation-bar{position:fixed;z-index:5000;top:10px;left:50%;transform:translateX(-50%);width:min(680px,calc(100% - 20px));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid rgba(255,210,122,.3);border-radius:16px;background:rgba(35,27,10,.94);backdrop-filter:blur(12px);box-shadow:0 15px 45px rgba(0,0,0,.3)}.impersonation-bar span{font-size:12px}.impersonation-bar form{margin:0}.impersonation-bar .btn{padding:7px 10px}.impersonating-body{padding-top:68px!important}@media (hover:hover) and (pointer:fine){.admin-user-card:hover{transform:translateY(-3px);border-color:rgba(98,214,179,.25);box-shadow:0 18px 40px rgba(0,0,0,.2)}}@media(max-width:900px){.admin-users-grid{grid-template-columns:1fr}.admin-finance-grid{grid-template-columns:1fr}.user-meta{grid-template-columns:1fr 1fr}.admin-actions,.admin-actions form{width:100%}.admin-actions .btn{flex:1}.password-action input{flex:1;width:auto;min-width:120px}.impersonation-bar{top:7px}.impersonating-body{padding-top:72px!important}}

/* v1.6.1 modern month picker — replaces browser-native month popup */
.mf-month-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.mf-month{position:relative;display:inline-block;min-width:196px;direction:ltr}.mf-month-trigger{width:100%;min-height:56px;padding:0 16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,rgba(17,35,58,.96),rgba(9,22,37,.96));color:var(--text);font:700 14px inherit;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:.2s}.mf-month-trigger:hover{border-color:rgba(98,214,179,.34);transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.18)}.mf-month-trigger:focus-visible{outline:2px solid rgba(98,214,179,.55);outline-offset:2px}.mf-month-trigger-value{white-space:nowrap}.mf-month-trigger-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(106,169,255,.08);color:#8bc0ff;font-size:16px}.mf-month-pop{position:absolute;z-index:4200;top:calc(100% + 10px);left:0;width:340px;padding:14px;border:1px solid rgba(116,157,207,.22);border-radius:22px;background:linear-gradient(160deg,#122641,#091625);box-shadow:0 24px 70px rgba(0,0,0,.42);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-7px) scale(.985);transform-origin:top left;transition:.18s}.mf-month.open .mf-month-pop{opacity:1;visibility:visible;transform:none}.mf-month-year{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:12px}.mf-month-year button{height:40px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025);color:var(--text);font-size:20px;cursor:pointer;transition:.18s}.mf-month-year button:hover{background:rgba(106,169,255,.1);border-color:rgba(106,169,255,.28)}.mf-month-year strong{text-align:center;font-size:17px}.mf-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.mf-month-cell{height:48px;border:1px solid transparent;border-radius:13px;background:rgba(255,255,255,.025);color:#dce8f7;font:700 12px inherit;cursor:pointer;transition:.18s}.mf-month-cell:hover{background:rgba(106,169,255,.1);border-color:rgba(106,169,255,.22);transform:translateY(-1px)}.mf-month-cell.selected{background:linear-gradient(135deg,#2f8cff,#2672ef);border-color:#82bdff;color:#fff;box-shadow:0 8px 24px rgba(47,140,255,.25)}.mf-month-actions{display:flex;justify-content:space-between;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid var(--border)}.mf-month-actions button{border:0;background:transparent;color:#77b6ff;font:700 11px inherit;padding:8px;cursor:pointer;border-radius:9px}.mf-month-actions button:hover{background:rgba(106,169,255,.08)}.mf-month-backdrop{display:none}
@media(max-width:700px){.mf-month{width:100%;min-width:0}.mf-month-trigger{min-height:58px}.mf-month-backdrop{display:block;position:fixed;z-index:4190;inset:0;background:rgba(1,7,14,.72);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:.2s}.mf-month.open .mf-month-backdrop{opacity:1;visibility:visible}.mf-month-pop{position:fixed;z-index:4200;top:auto;bottom:0;left:0;width:100%;padding:16px 16px calc(18px + env(safe-area-inset-bottom));border-radius:27px 27px 0 0;transform:translateY(35px);transform-origin:bottom center}.mf-month.open .mf-month-pop{transform:none}.mf-month-pop:before{content:'';display:block;width:44px;height:4px;border-radius:99px;background:#ffffff30;margin:0 auto 15px}.mf-month-cell{height:54px}.mf-month-year{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.mf-month-trigger,.mf-month-pop,.mf-month-cell,.mf-month-backdrop{transition:none!important}}

/* v1.6.2 Planning page refresh */
.planning-subtitle{color:var(--muted);font-size:12px;margin-top:3px}.planning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.planning-card{padding:22px;overflow:visible}.planning-card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.planning-card-head h3{margin:0;font-size:18px}.planning-card-head p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.7}.planning-icon{width:40px;height:40px;flex:0 0 40px;border:1px solid rgba(98,214,179,.16);border-radius:13px;background:linear-gradient(145deg,rgba(98,214,179,.11),rgba(106,169,255,.07));color:var(--accent);display:grid;place-items:center;font-size:18px}.mf-field{margin:12px 0}.mf-field>label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#b7c7da;font-size:11px;font-weight:700;margin:0 3px 7px}.mf-field>label small{font-weight:500;color:var(--muted)}.planning-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mf-input-wrap{position:relative;display:flex;align-items:center;width:100%;min-height:52px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(135deg,rgba(8,21,36,.92),rgba(10,25,43,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:.2s}.mf-input-wrap:hover{border-color:rgba(106,169,255,.25);background:linear-gradient(135deg,rgba(11,27,46,.96),rgba(12,30,51,.9))}.mf-input-wrap:focus-within{border-color:rgba(98,214,179,.58);box-shadow:0 0 0 4px rgba(98,214,179,.07),0 10px 28px rgba(0,0,0,.12)}.mf-input-wrap>span{width:43px;flex:0 0 43px;text-align:center;color:#78b8f8;font-size:14px;opacity:.9}.mf-input-wrap input{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:50px;border:0!important;outline:0!important;background:transparent!important;color:var(--text)!important;padding:0 3px 0 13px!important;border-radius:0!important;font:600 13px Cairo,Arial!important;box-shadow:none!important}.mf-input-wrap input::placeholder{color:#61768f;opacity:1}.mf-input-wrap input[type=number]::-webkit-inner-spin-button,.mf-input-wrap input[type=number]::-webkit-outer-spin-button{opacity:.35;filter:invert(1)}.mf-input-wrap input[type=date]{color-scheme:dark}.mf-input-wrap input[type=date]::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer;filter:invert(.85) sepia(.2) saturate(2) hue-rotate(175deg)}.planning-card .mf-select-trigger{min-height:52px;background:linear-gradient(135deg,rgba(8,21,36,.92),rgba(10,25,43,.82));border-radius:16px}.planning-submit{width:100%;min-height:48px;margin-top:7px;border-radius:15px;box-shadow:0 10px 25px rgba(67,174,234,.09)}.planning-submit:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(98,214,179,.15)}.commitments-card{display:flex;flex-direction:column}.modern-plan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 3px;border-bottom:1px solid var(--border);transition:.18s}.modern-plan-row div{min-width:0}.modern-plan-row b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modern-plan-row small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.modern-plan-row strong{font-size:13px;white-space:nowrap;color:#dcecff}.planning-total{margin-top:auto;padding:14px;border:1px solid rgba(98,214,179,.15);border-radius:16px;background:linear-gradient(135deg,rgba(98,214,179,.09),rgba(106,169,255,.055));display:flex;align-items:center;justify-content:space-between;gap:10px}.planning-total span{font-size:11px;color:#b8cadc}.planning-total b{font-size:17px;color:var(--accent)}.planning-empty{padding:22px 12px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed rgba(143,164,191,.16);border-radius:15px;background:rgba(255,255,255,.015)}.goals-card{margin-top:16px;padding:22px}.modern-goal{padding:15px 0;border-bottom:1px solid var(--border)}.modern-goal:last-child{border-bottom:0}.goal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.goal-top b{display:block}.goal-top span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.goal-top>strong{font-size:13px;color:var(--accent);padding:5px 9px;border-radius:10px;background:rgba(98,214,179,.08)}.modern-goal .progress{height:8px;border-radius:99px;background:rgba(255,255,255,.055);overflow:hidden}.modern-goal .progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 16px rgba(98,214,179,.25)}
@media (hover:hover) and (pointer:fine){.planning-card:hover,.goals-card:hover{border-color:rgba(98,214,179,.16)}.modern-plan-row:hover{padding-inline:8px;background:rgba(255,255,255,.022);border-radius:11px}.mf-input-wrap:hover>span{color:var(--accent)}}
@media(max-width:1100px){.planning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.planning-grid{grid-template-columns:1fr}.planning-card,.goals-card{padding:17px;border-radius:21px}.planning-form-grid{grid-template-columns:1fr}.planning-card-head{margin-bottom:16px}.mf-input-wrap,.planning-card .mf-select-trigger{min-height:56px}.mf-input-wrap input{height:54px!important;font-size:14px!important}.planning-submit{min-height:52px}.planning-subtitle{max-width:250px}.planning-page .top{align-items:center}.planning-page .top .btn{flex:0 0 auto}}

/* v1.6.3 — ensure native selects never leak through the modern select UI */
select.mf-native-select,
.mf-field select.mf-native-select,
.planning-card select.mf-native-select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  margin:-1px!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.planning-card .mf-field{position:relative}
.planning-card .mf-select{width:100%;position:relative}
.planning-card .mf-select-trigger{width:100%;min-height:52px;padding:0 15px;border-radius:16px}
.planning-card .mf-select-menu{max-height:320px}
@media(max-width:600px){
 .planning-card .mf-select-menu{max-height:min(68vh,520px)}
 .planning-card .mf-select-trigger{min-height:56px}
}
/* v1.7 recurring commitments & notification center */
.commitment-item{padding:16px;border:1px solid rgba(148,163,184,.14);border-radius:18px;background:linear-gradient(145deg,rgba(15,23,42,.72),rgba(15,23,42,.38));margin:12px 0;transition:.22s ease}.commitment-item:hover{transform:translateY(-2px);border-color:rgba(96,165,250,.32);box-shadow:0 16px 38px rgba(2,6,23,.22)}.commitment-item.overdue{border-color:rgba(248,113,113,.32)}.commitment-item.today{border-color:rgba(251,191,36,.35)}.commitment-item.paid{opacity:.78}.commitment-main{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.commitment-main b{display:block;font-size:15px}.commitment-main small,.paid-meta{display:block;color:var(--muted);margin-top:5px}.status-pill{white-space:nowrap;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;background:rgba(96,165,250,.12);color:#93c5fd}.status-pill.overdue{background:rgba(248,113,113,.12);color:#fca5a5}.status-pill.today{background:rgba(251,191,36,.12);color:#fde68a}.status-pill.soon{background:rgba(249,115,22,.12);color:#fdba74}.status-pill.paid{background:rgba(34,197,94,.12);color:#86efac}.commitment-pay-sheet{position:fixed;inset:0;z-index:1200;background:rgba(2,6,23,.72);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;visibility:hidden;transition:.22s ease}.commitment-pay-sheet.open{opacity:1;visibility:visible}.commitment-pay-card{width:min(620px,100%);max-height:90vh;overflow:auto;border:1px solid rgba(148,163,184,.2);border-radius:26px;background:linear-gradient(155deg,#111b31,#0b1324);box-shadow:0 30px 80px rgba(0,0,0,.45);padding:22px;transform:translateY(18px) scale(.98);transition:.22s ease}.commitment-pay-sheet.open .commitment-pay-card{transform:none}.commitment-pay-card>i{display:none}.pay-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.pay-head small{color:var(--muted)}.pay-head h3{margin:4px 0 0}.notification-strip{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:4px 0 18px;border:1px solid rgba(96,165,250,.18);border-radius:20px;background:linear-gradient(120deg,rgba(37,99,235,.10),rgba(15,23,42,.55));box-shadow:0 14px 38px rgba(2,6,23,.12)}.notification-bell{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:rgba(59,130,246,.12);text-decoration:none;font-size:20px}.notification-bell span{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:900;border:2px solid #0b1324}.notification-copy{min-width:190px}.notification-copy b,.notification-copy small{display:block}.notification-copy small{color:var(--muted);margin-top:4px}.notification-items{margin-inline-start:auto;display:flex;gap:8px;overflow:auto;max-width:55%}.notification-item{min-width:140px;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.1);text-decoration:none;color:inherit}.notification-item span,.notification-item small{display:block}.notification-item b{font-size:12px}.notification-item small{color:var(--muted);font-size:10px}.notification-item.late{border-color:rgba(248,113,113,.24)}
@media(max-width:760px){.commitment-main{align-items:flex-start}.commitment-item .pay-commitment{width:100%}.commitment-pay-sheet{align-items:flex-end;padding:0}.commitment-pay-card{width:100%;max-height:88vh;border-radius:26px 26px 0 0;padding:18px}.commitment-pay-card>i{display:block;width:42px;height:4px;border-radius:99px;background:rgba(148,163,184,.35);margin:-6px auto 14px}.notification-strip{align-items:flex-start;flex-wrap:wrap}.notification-copy{flex:1}.notification-items{order:3;max-width:100%;width:100%}.notification-item{flex:0 0 150px}}
/* v1.7.1 AJAX commitment payment feedback */
.mf-toast-host{position:fixed;z-index:6000;top:18px;left:18px;display:grid;gap:10px;width:min(430px,calc(100vw - 36px));pointer-events:none}.mf-toast{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:15px 16px;border:1px solid rgba(98,214,179,.28);border-radius:18px;background:rgba(10,25,42,.96);box-shadow:0 22px 70px rgba(0,0,0,.4);backdrop-filter:blur(18px);opacity:0;transform:translateY(-12px) scale(.98);transition:.24s ease}.mf-toast.show{opacity:1;transform:none}.mf-toast.error{border-color:rgba(255,113,133,.32)}.mf-toast-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(98,214,179,.12);color:var(--accent);font-size:20px;font-weight:900}.mf-toast.error .mf-toast-icon{background:rgba(255,113,133,.12);color:var(--danger)}.mf-toast b{display:block;font-size:14px}.mf-toast p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.8}.mf-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;display:inline-block;vertical-align:-3px;margin-inline-end:6px;animation:mfSpin .7s linear infinite}.planning-submit.is-loading{cursor:wait;opacity:.85}.paid-pop{animation:mfPaidPop .45s ease}.commitment-item.paid{transition:.35s ease;box-shadow:inset 0 0 0 1px rgba(98,214,179,.12)}@keyframes mfSpin{to{transform:rotate(360deg)}}@keyframes mfPaidPop{0%{opacity:0;transform:translateY(7px)}100%{opacity:1;transform:none}}@media(max-width:650px){.mf-toast-host{top:auto;bottom:86px;left:12px;width:calc(100vw - 24px)}.mf-toast{border-radius:17px}}
/* v1.7.3 automatic commitment expense type */
.mf-auto-category{display:flex;gap:12px;align-items:center;margin:14px 0;padding:13px 15px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.035)}
.mf-auto-category>span{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:rgba(57,211,142,.13);font-weight:900}.mf-auto-category b,.mf-auto-category small{display:block}.mf-auto-category small{opacity:.65;margin-top:3px}
