@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap');
:root{--forest:#123c32;--forest-2:#1c5142;--forest-3:#286856;--sage:#dce8df;--sage-2:#edf3ed;--gold:#c8a75d;--gold-light:#f1e7ca;--ink:#1b2d28;--muted:#7b8982;--canvas:#f6f8f5;--white:#fff;--line:#e5ebe6;--red:#b84f4a;--red-light:#faece9;--blue:#507b94;--shadow:0 12px 36px rgba(28,53,43,.07);--radius:21px;--radius-sm:14px;--font:'IBM Plex Sans Arabic',Tahoma,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.app-layout{min-height:100vh;display:flex;direction:rtl}.sidebar{width:252px;flex:0 0 252px;position:sticky;top:0;height:100vh;padding:27px 18px 19px;background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px}.brand-mark{width:43px;height:43px;border-radius:14px}.brand-name{font-size:17px;font-weight:700;letter-spacing:-.3px;line-height:1.25}.brand-name b{color:var(--gold);font-weight:700}.brand-name small{display:block;font-size:10px;color:#98a39d;font-weight:500;letter-spacing:.1px;margin-top:5px}.nav-caption{padding:5px 14px 10px;color:#a2aca6;font-size:11px;font-weight:600}.nav-list{display:grid;gap:5px}.nav-item{height:45px;border-radius:12px;padding:0 13px;display:flex;align-items:center;gap:13px;color:#75847c;font-size:13px;font-weight:500;transition:background .2s,color .2s,transform .2s}.nav-item svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}.nav-item:hover{background:#f4f7f4;color:var(--forest);transform:translateX(-2px)}.nav-item.active{background:#eaf1eb;color:var(--forest);font-weight:700}.nav-item.active:after{content:"";margin-right:auto;width:5px;height:5px;border-radius:50%;background:var(--gold)}.sidebar-bottom{margin-top:auto}.security-card{background:#f5f8f4;border:1px solid #eaf0e9;padding:12px 11px;border-radius:14px;display:flex;align-items:center;gap:10px;margin:12px 1px 17px}.security-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:var(--gold);font-size:19px;background:#fff}.security-card b,.security-card small,.profile-copy b,.profile-copy small{display:block}.security-card b{font-size:11px;color:var(--forest);font-weight:600}.security-card small{font-size:9px;color:#95a198;margin-top:2px}.profile-button{width:100%;border:0;background:none;padding:8px 5px;display:flex;align-items:center;gap:10px;text-align:right}.profile-avatar{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#f3e6c0;font-weight:700}.profile-copy{flex:1}.profile-copy b{font-size:11px}.profile-copy small{font-size:9px;color:#9aa49e;margin-top:1px}.profile-dots{font-size:20px;color:#9aa49e;letter-spacing:1px}.main-panel{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid rgba(226,233,227,.8);background:rgba(255,255,255,.84);backdrop-filter:blur(14px);position:sticky;top:0;z-index:4}.topbar-intro h1{margin:1px 0 0;font-size:21px;line-height:1.3;letter-spacing:-.45px}.top-date{font-size:11px;color:#8e9a93}.top-actions{display:flex;align-items:center;gap:11px}.button{border:1px solid transparent;border-radius:11px;min-height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;transition:all .18s ease}.button-primary{color:#fff;background:var(--forest);box-shadow:0 5px 12px rgba(18,60,50,.12)}.button-primary:hover{background:var(--forest-2);transform:translateY(-1px)}.button-quiet{color:#73827a;background:#fff;border-color:#e6ece7}.button-quiet:hover{color:var(--forest);border-color:#cbd9ce}.button-soft{background:#edf4ee;color:var(--forest);border-color:#e4eee5}.button-soft:hover{background:#e1ece3}.button-danger{background:#fff2f0;color:var(--red);border-color:#f4dfdb}.button-small{min-height:34px;padding:0 12px;font-size:11px}.button-wide{width:100%;min-height:48px}.plus-mark{font-size:20px;line-height:1;font-weight:400}.icon-button{position:relative;width:39px;height:39px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#718078;display:grid;place-items:center}.icon-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.bell-icon{font-size:20px;transform:rotate(180deg);display:block}.notification-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#d79255;top:8px;left:9px;border:1px solid #fff}.page-content{width:100%;max-width:1510px;margin:0 auto;padding:29px 38px 20px;flex:1}.app-footer{border-top:1px solid var(--line);margin:0 38px;padding:15px 0 18px;display:flex;justify-content:space-between;color:#a0aaa4;font-size:10px}.footer-secure{color:#71877a}.mobile-nav,.mobile-brand-mark{display:none}
/* Dashboard */
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 20px;gap:15px}.page-heading h2{font-size:20px;margin:0 0 3px;letter-spacing:-.3px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 13px}.section-heading h3{font-size:14px;margin:0;font-weight:700}.section-heading p{font-size:11px;color:var(--muted);margin:2px 0 0}.text-button{border:0;background:none;padding:5px 0;color:#537c6a;font-size:11px;font-weight:600}.text-button:hover{color:var(--forest);text-decoration:underline}.hero-card{min-height:232px;border-radius:25px;background:radial-gradient(ellipse at 14% 10%,rgba(68,129,99,.38),transparent 40%),linear-gradient(118deg,#103b30 0%,#174c3e 58%,#215944 100%);position:relative;overflow:hidden;padding:27px 31px;color:#fff;box-shadow:0 17px 37px rgba(18,60,50,.15)}.hero-card:before{content:"";position:absolute;width:310px;height:310px;border-radius:50%;border:1px solid rgba(222,193,127,.18);top:-156px;left:14%;box-shadow:0 0 0 24px rgba(255,255,255,.018),0 0 0 49px rgba(255,255,255,.018)}.hero-card:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:rgba(220,190,120,.055);right:46%;bottom:-93px}.hero-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:175px}.hero-copy{max-width:570px}.hero-label{color:#c9d8ce;font-size:12px;display:flex;align-items:center;gap:9px}.hero-label:before{content:"";width:6px;height:6px;border-radius:50%;background:#d8bb79;box-shadow:0 0 0 4px rgba(216,187,121,.13)}.hero-balance-row{display:flex;align-items:center;gap:10px;margin-top:9px}.hero-balance{font-size:34px;font-weight:700;line-height:1.25;letter-spacing:-.9px;direction:ltr;unicode-bidi:plaintext}.hero-currency{font-size:11px;color:#bbd0c3;align-self:flex-end;margin-bottom:7px}.balance-toggle{width:28px;height:28px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.08);color:#e5eee7;display:grid;place-items:center;font-size:14px}.hero-subline{color:#bdd0c3;font-size:11px;margin:4px 0 0}.hero-buttons{display:flex;gap:9px;margin-top:20px}.hero-buttons .button{min-height:39px;font-size:11px}.hero-buttons .button-gold{background:#dfc78f;color:#263d32}.hero-buttons .button-gold:hover{background:#ead8aa}.hero-buttons .button-outline{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:white}.hero-buttons .button-outline:hover{background:rgba(255,255,255,.12)}.hero-art{position:relative;z-index:1;width:220px;height:158px;flex:0 0 220px;display:flex;align-items:center;justify-content:center}.hero-art svg{width:100%;height:100%;overflow:visible}.hero-art .chart-area{fill:url(#areaFill)}.hero-art .chart-line{fill:none;stroke:#ddc381;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.hero-art .chart-dot{fill:#f2dfab;stroke:#2a674f;stroke-width:5}.hero-art .art-label{font:10px var(--font);fill:#b5cbbd}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.stat-card{padding:16px 17px;background:#fff;border:1px solid var(--line);border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:88px;box-shadow:0 3px 11px rgba(23,54,40,.018)}.stat-left{min-width:0}.stat-label{font-size:11px;color:#84918a}.stat-value{font-weight:700;font-size:19px;margin-top:3px;letter-spacing:-.35px;white-space:nowrap}.stat-value small{font-size:10px;color:#718078;font-weight:500}.stat-icon{flex:0 0 40px;width:40px;height:40px;border-radius:13px;display:grid;place-items:center}.stat-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}.stat-icon.green{background:#eaf3eb;color:#3d795f}.stat-icon.amber{background:#faf2df;color:#b58f45}.stat-icon.rose{background:#faeeeb;color:#b6685d}.stat-trend{font-size:9px;color:#46806a;margin-top:2px}.content-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:19px;margin-top:17px}.content-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:19px 20px;box-shadow:0 5px 18px rgba(24,51,39,.025)}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-title-row h3{font-size:14px;margin:0}.card-title-row p{font-size:10px;color:var(--muted);margin:2px 0 0}.tiny-icon{width:31px;height:31px;border-radius:10px;background:#f1f5f1;color:#55806a;display:grid;place-items:center;font-size:15px}.account-scroller{display:flex;gap:11px;overflow:auto;padding:4px 1px 2px;scrollbar-width:thin;scrollbar-color:#e0e8e1 transparent}.account-mini{min-width:177px;flex:1;padding:13px;border:1px solid #e8eee8;border-radius:15px;background:linear-gradient(140deg,#fff,#fbfcfa);position:relative;overflow:hidden}.account-mini:after{content:"";position:absolute;left:-25px;bottom:-38px;width:88px;height:88px;border:1px solid #edf2ed;border-radius:50%}.account-mini-head{display:flex;align-items:center;gap:8px}.account-mini-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;font-size:15px;background:#eaf3eb;color:#3e795f}.account-mini-title{font-size:11px;font-weight:600}.account-mini-type{font-size:9px;color:#9ba69f}.account-mini-balance{position:relative;z-index:1;font-size:17px;font-weight:700;margin-top:13px;direction:ltr;text-align:right}.account-mini-balance small{font-size:9px;font-weight:500;color:#87958d}.account-mini-bank{font-size:9px;color:#9ba69f;margin-top:1px}.account-empty{width:100%;border:1px dashed #d4dfd5;border-radius:15px;min-height:104px;display:flex;align-items:center;justify-content:center;gap:9px;color:#8d9a92}.account-empty .button{min-height:33px}.txn-list{display:grid}.txn-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eff2ef}.txn-row:last-child{border-bottom:0;padding-bottom:2px}.txn-main{display:flex;align-items:center;gap:10px;min-width:0}.txn-icon{width:37px;height:37px;flex:0 0 37px;border-radius:12px;display:grid;place-items:center;font-size:16px;background:#f2f5f2}.txn-icon.income{background:#eaf4eb;color:#458365}.txn-icon.expense{background:#fcf0ed;color:#b66f60}.txn-icon.transfer{background:#edf3f7;color:#638095}.txn-copy{min-width:0}.txn-copy b{display:block;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txn-copy small{display:block;color:#9ba59f;font-size:9px;margin-top:2px}.txn-amount{text-align:left;white-space:nowrap;direction:ltr;font-size:12px;font-weight:700}.txn-amount.income{color:#488166}.txn-amount.expense{color:#b46257}.txn-amount.transfer{color:#638095}.txn-amount small{display:block;color:#9ba59f;font-size:8px;font-weight:500;direction:rtl}.empty-state{padding:25px 12px;text-align:center;color:#8d9a92}.empty-illustration{width:47px;height:47px;border-radius:16px;background:#f0f5ef;display:grid;place-items:center;margin:0 auto 10px;color:#669078;font-size:21px}.empty-state b{display:block;color:#455b50;font-size:12px}.empty-state p{font-size:10px;margin:4px 0 11px}.obligation-list{display:grid;gap:8px;margin-top:14px}.obligation-row{display:flex;align-items:center;gap:10px;padding:10px;background:#fafbf9;border:1px solid #f0f2ef;border-radius:13px}.obligation-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#f6eddb;color:#aa8946;font-size:14px;flex:0 0 34px}.obligation-copy{flex:1;min-width:0}.obligation-copy b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obligation-copy small{display:block;font-size:9px;color:#9aa59e;margin-top:2px}.obligation-price{white-space:nowrap;text-align:left;font-size:11px;font-weight:700}.obligation-price small{display:block;color:#a0aaa4;font-size:8px;font-weight:500}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:99px;font-size:9px;font-weight:600;white-space:nowrap}.status-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.pending{background:#faf2df;color:#a8853f}.status-pill.overdue{background:#fbecea;color:#b75b53}.status-pill.paid{background:#eaf4eb;color:#4c8768}.status-pill.neutral{background:#eef2ef;color:#7e8d84}.section-divider{border:0;border-top:1px solid #eef2ee;margin:17px 0}
/* Data views */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.toolbar-group{display:flex;align-items:center;gap:8px}.search-field{position:relative}.search-field svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:#9ca7a0;fill:none}.search-field input{width:235px;padding-right:36px}.field-control,.search-field input,.field input,.field select,.field textarea{min-height:42px;border:1px solid #e1e8e2;background:#fff;border-radius:11px;color:var(--ink);padding:9px 12px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%;font-size:12px}.field-control{width:auto;min-width:136px;padding:0 12px}.field input:focus,.field select:focus,.field textarea:focus,.search-field input:focus,.field-control:focus{border-color:#83a993;box-shadow:0 0 0 3px rgba(90,145,111,.1)}.table-card{overflow:hidden;padding:0}.table-head{padding:16px 19px;border-bottom:1px solid #edf1ed;display:flex;align-items:center;justify-content:space-between}.table-head h3{margin:0;font-size:13px}.table-head p{margin:2px 0 0;font-size:10px;color:var(--muted)}.data-table{width:100%;border-collapse:collapse;min-width:650px}.data-table th{background:#fbfcfb;color:#8f9b94;font-size:10px;font-weight:600;text-align:right;padding:12px 17px}.data-table td{padding:12px 17px;border-top:1px solid #f0f3f0;font-size:11px}.table-wrap{overflow-x:auto}.table-item{display:flex;align-items:center;gap:9px}.table-item b{font-size:11px;font-weight:600;display:block}.table-item small{color:#9aa59f;font-size:9px;display:block}.table-amount{direction:ltr;text-align:right;white-space:nowrap;font-weight:700}.row-actions{display:flex;gap:5px;align-items:center}.mini-action{background:#fff;border:1px solid #e7ece8;border-radius:9px;padding:5px 8px;color:#738078;font-size:9px}.mini-action:hover{color:var(--forest);border-color:#cad9cd}.list-empty{padding:30px 14px;text-align:center;color:#99a49d;font-size:11px}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.account-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;position:relative;overflow:hidden}.account-card:after{content:"";position:absolute;left:-28px;top:-48px;width:115px;height:115px;border-radius:50%;border:1px solid #eff3ef}.account-card-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.account-card-badge{width:41px;height:41px;border-radius:13px;display:grid;place-items:center;font-size:18px;background:#eaf3eb;color:#397559}.account-card h3{font-size:13px;margin:13px 0 0}.account-card p{font-size:10px;color:#98a49d;margin:2px 0 0}.account-card-balance{font-size:20px;font-weight:700;margin-top:17px;direction:ltr;text-align:right}.account-card-balance small{font-size:9px;color:#85928a;font-weight:500}.account-card-footer{border-top:1px solid #eef2ee;margin-top:12px;padding-top:10px;display:flex;align-items:center;justify-content:space-between;color:#909b94;font-size:9px;position:relative;z-index:1}.archived-label{color:#a28a5a}.account-add-card{min-height:174px;border:1px dashed #cad9cc;background:rgba(255,255,255,.55);border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#7f9284;gap:7px}.account-add-card span{width:34px;height:34px;border-radius:11px;background:#edf4ed;display:grid;place-items:center;color:#507960;font-size:19px}.account-add-card b{font-size:11px}.account-add-card small{font-size:9px;color:#a0aaa4}
/* Reports */
.period-tabs{display:flex;gap:4px;background:#edf2ed;padding:4px;border-radius:11px}.period-tabs button{border:0;background:none;color:#829087;padding:7px 12px;border-radius:8px;font-size:10px}.period-tabs button.active{background:#fff;color:var(--forest);box-shadow:0 2px 7px #163f3012;font-weight:700}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.report-metric{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff}.report-metric small{font-size:10px;color:#87938b}.report-metric b{display:block;font-size:18px;margin-top:5px;direction:ltr;text-align:right}.report-metric.income b{color:#488166}.report-metric.expense b{color:#b46257}.report-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.8fr);gap:15px}.chart-card,.category-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px}.chart-card h3,.category-card h3{font-size:13px;margin:0}.chart-subtitle{font-size:10px;color:#98a39c;margin:2px 0 15px}.bar-chart{height:230px;display:flex;align-items:flex-end;gap:clamp(4px,1.2vw,13px);padding:10px 5px 0;border-bottom:1px solid #edf1ed;overflow:hidden}.bar-column{flex:1;min-width:20px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.bar-pair{height:calc(100% - 22px);width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.bar{width:min(15px,39%);min-height:3px;border-radius:5px 5px 2px 2px;transition:height .4s}.bar.income{background:#78a68b}.bar.expense{background:#d7aa72}.bar-label{font-size:8px;color:#9ca79f;white-space:nowrap}.chart-legend{display:flex;gap:15px;margin-top:11px;color:#849189;font-size:9px}.chart-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:3px}.category-bars{display:grid;gap:14px;margin-top:16px}.category-row{display:grid;gap:5px}.category-top{display:flex;justify-content:space-between;font-size:10px}.category-top span:first-child{color:#65766c}.category-top span:last-child{font-weight:600;direction:ltr}.category-track{height:6px;border-radius:9px;background:#f0f3f0;overflow:hidden}.category-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#9bbc9f,#d2bb7d)}.report-note{padding:12px 14px;border-radius:13px;background:#f7f8f3;color:#819087;font-size:10px;margin-top:14px}.report-note b{color:#526d5c}
/* Obligations */
.obligation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.obligation-summary .stat-card{min-height:78px}.obligation-card-list{display:grid;gap:9px}.obligation-detail-row{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px}.obligation-detail-main{display:flex;align-items:center;gap:11px;min-width:0}.obligation-detail-main .obligation-mark{width:40px;height:40px}.obligation-detail-copy{min-width:0}.obligation-detail-copy b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obligation-detail-copy small{font-size:9px;color:#929e96;display:block;margin-top:2px}.obligation-detail-amount{font-size:14px;font-weight:700;text-align:left;direction:ltr;white-space:nowrap}.obligation-detail-amount small{display:block;color:#99a49d;font-weight:400;font-size:9px;direction:rtl;text-align:right}.obligation-actions{display:flex;gap:5px;align-items:center}.history-table{margin-top:24px}.reminder-banner{background:#eef5ee;border:1px solid #e1ece1;border-radius:14px;padding:12px 14px;color:#637e6b;font-size:10px;margin-bottom:14px;display:flex;align-items:center;gap:9px}.reminder-banner b{color:#365e47}
/* Settings */
.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}.settings-menu,.settings-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.settings-menu button{width:100%;border:0;background:none;text-align:right;padding:11px;border-radius:10px;color:#7c8981;font-size:11px}.settings-menu button.active{background:#edf4ee;color:var(--forest);font-weight:700}.settings-panel h3{font-size:14px;margin:3px 0 4px}.settings-panel>p{font-size:10px;color:#8b9890;margin:0 0 16px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid #eff2ef}.settings-row:first-of-type{border-top:0}.settings-row b{display:block;font-size:11px}.settings-row small{display:block;color:#95a099;font-size:9px;margin-top:3px;max-width:430px}.setting-actions{display:flex;gap:7px;align-items:center}.settings-disclaimer{background:#fbf6e8;color:#917c4b;border-radius:12px;padding:12px;font-size:10px;margin-top:13px}.settings-disclaimer b{display:block;margin-bottom:3px}.switch{appearance:none;width:39px;height:22px;border-radius:20px;background:#dce4dd;position:relative;outline:none;cursor:pointer;transition:background .2s}.switch:checked{background:#5f9273}.switch:before{content:"";width:16px;height:16px;position:absolute;right:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0002;transition:transform .2s}.switch:checked:before{transform:translateX(-17px)}
/* Modal, lock and messages */
.modal-backdrop{position:fixed;inset:0;z-index:20;background:rgba(13,34,27,.43);backdrop-filter:blur(4px);display:grid;place-items:center;padding:18px;animation:fade-in .18s ease}.modal{width:min(100%,510px);max-height:min(88vh,780px);overflow:auto;border-radius:22px;background:#fff;box-shadow:0 24px 80px #10271f3c;animation:modal-in .22s ease}.modal.modal-wide{width:min(100%,680px)}.modal-header{padding:19px 22px 14px;border-bottom:1px solid #eef1ee;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-header h2{font-size:16px;margin:0}.modal-header p{font-size:10px;color:#929e96;margin:3px 0 0}.modal-close{width:31px;height:31px;border:0;border-radius:9px;background:#f2f5f2;color:#7e8b83;font-size:18px;line-height:1}.modal-body{padding:18px 22px 21px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:10px;color:#66766d;font-weight:600}.field input,.field select,.field textarea{min-height:42px}.field textarea{resize:vertical;min-height:74px}.field-hint{font-size:9px;color:#9aa49d}.voice-entry{margin:0 0 14px;padding:12px;border:1px dashed #c5d8ca;border-radius:14px;background:#f6faf6;display:flex;align-items:center;justify-content:space-between;gap:11px}.voice-copy b{font-size:11px;display:block;color:#42624d}.voice-copy small{display:block;font-size:9px;color:#8b9b8e;margin-top:2px}.voice-button{width:42px;height:42px;border-radius:13px;border:0;background:var(--forest);color:white;display:grid;place-items:center;flex:0 0 42px}.voice-button svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}.voice-button.listening{background:#b8574e;animation:pulse 1s infinite}.voice-transcript{margin-top:8px;color:#61766a;font-size:10px;line-height:1.6}.draft-alert{padding:10px 12px;border-radius:11px;background:#f7f1df;color:#927644;font-size:10px;margin:0 0 13px}.form-message{min-height:19px;margin:9px 0 0;text-align:center;color:var(--red);font-size:10px}.toast-region{position:fixed;z-index:40;bottom:26px;right:50%;transform:translateX(50%);display:grid;gap:8px;pointer-events:none}.toast{background:#1a3d31;color:#fff;padding:11px 17px;border-radius:12px;box-shadow:0 8px 30px #10271f35;font-size:11px;animation:toast-in .2s ease}.toast.error{background:#9e4d48}.confirmation-copy{font-size:12px;color:#718078;line-height:1.8}.lock-screen{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 84% 20%,#edf4e8,transparent 35%),linear-gradient(135deg,#f6f8f5,#eef3ec);overflow:hidden}.lock-card{position:relative;z-index:1;width:min(100%,410px);padding:31px 32px 24px;background:#fff;border:1px solid #e8eee8;border-radius:24px;box-shadow:0 20px 70px rgba(30,66,45,.12)}.brand-lock{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--forest)}.brand-lock img{width:36px;height:36px;border-radius:12px}.brand-lock b{color:var(--gold)}.lock-symbol{width:66px;height:66px;border-radius:21px;margin:24px auto 11px;display:grid;place-items:center;background:#edf4ed;color:#4d8061;font-size:29px;box-shadow:inset 0 0 0 1px #e2ece2}.lock-symbol span{transform:rotate(180deg)}.eyebrow{text-transform:none;text-align:center;color:#b09355;font-size:10px;font-weight:600;letter-spacing:.2px;margin:0}.lock-card h1{text-align:center;font-size:20px;margin:3px 0 0}.lock-description{text-align:center;color:#8b9891;font-size:11px;margin:4px 0 20px}.lock-form{display:grid;gap:11px}.lock-form>label{font-size:10px;color:#69796f;font-weight:600}.lock-form input{width:100%;height:46px;border-radius:11px;border:1px solid #e0e8e1;text-align:center;letter-spacing:7px;font-size:17px;outline:none}.lock-form input:focus{border-color:#86ac92;box-shadow:0 0 0 3px #79a58b18}.lock-footnote{margin:12px 0 0;text-align:center;color:#a0aaa4;font-size:9px}.privacy-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6e9b76;vertical-align:1px;margin-left:4px}.lock-glow{position:absolute;border-radius:50%;border:1px solid rgba(194,170,106,.16)}.lock-glow-one{width:500px;height:500px;top:-300px;left:-100px;box-shadow:0 0 0 35px #c8a75d06,0 0 0 80px #c8a75d05}.lock-glow-two{width:340px;height:340px;bottom:-230px;right:-130px;box-shadow:0 0 0 27px #45735307,0 0 0 61px #45735305}.recovery-note{margin-top:15px;border-top:1px solid #eef1ed;padding-top:11px;text-align:center;color:#a18751;font-size:9px}
@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes modal-in{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}@keyframes toast-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #bd625655}50%{box-shadow:0 0 0 7px #bd625500}}
@media(max-width:1150px){.sidebar{width:220px;flex-basis:220px;padding-right:14px;padding-left:14px}.topbar{padding:0 25px}.page-content{padding:25px}.content-columns{grid-template-columns:1.15fr .85fr}.hero-art{width:180px;flex-basis:180px}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.sidebar{width:72px;flex-basis:72px;padding:20px 10px}.brand{justify-content:center;padding:0 0 28px}.brand-mark{width:42px}.brand-name,.nav-caption,.nav-item span,.nav-item.active:after,.sidebar-bottom{display:none}.nav-list{gap:8px}.nav-item{width:50px;height:48px;justify-content:center;padding:0;margin:0 auto}.nav-item svg{width:20px;height:20px}.topbar{padding:0 22px}.page-content{padding:23px}.app-footer{margin:0 23px}.content-columns{grid-template-columns:1fr 1fr}.hero-art{width:145px;flex-basis:145px}.report-layout{grid-template-columns:1fr}.settings-layout{grid-template-columns:190px 1fr}}
@media(max-width:680px){body{font-size:13px}.app-layout{display:block}.sidebar{display:none}.main-panel{min-height:100vh}.topbar{height:70px;padding:0 15px;position:sticky}.topbar-intro{display:flex;align-items:center;gap:9px}.mobile-brand-mark{display:block;width:35px;height:35px}.mobile-brand-mark img{width:100%;height:100%;border-radius:11px}.top-date{font-size:9px}.topbar-intro h1{font-size:16px;margin:0}.top-actions{gap:7px}.top-actions .button{min-height:36px;padding:0 10px;font-size:10px}.top-actions .lock-action{display:none}.top-add{font-size:0!important;width:37px;padding:0!important}.top-add .plus-mark{font-size:19px}.icon-button{width:35px;height:35px}.page-content{padding:18px 14px 104px}.app-footer{margin:0 14px 78px;padding:12px 0;font-size:8px}.mobile-nav{position:fixed;z-index:10;bottom:0;right:0;left:0;padding:7px 8px max(8px,env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-top:1px solid #e8eee9;display:flex;justify-content:space-around;gap:4px}.mobile-nav .nav-item{display:flex;width:auto;min-width:55px;height:52px;margin:0;padding:5px 10px;flex-direction:column;justify-content:center;gap:2px;border-radius:12px;font-size:9px}.mobile-nav .nav-item span{display:block}.mobile-nav .nav-item svg{width:18px;height:18px}.mobile-nav .nav-item.active:after{display:none}.hero-card{padding:20px 20px;min-height:0;border-radius:20px}.hero-content{min-height:0}.hero-art{display:none}.hero-balance{font-size:29px}.hero-buttons{margin-top:16px}.hero-buttons .button{min-height:36px;padding:0 11px}.hero-subline{font-size:10px}.stats-grid{gap:8px;margin-top:10px}.stat-card{padding:12px 10px;min-height:82px;border-radius:14px;align-items:flex-start}.stat-label{font-size:9px}.stat-value{font-size:15px}.stat-value small{font-size:8px}.stat-icon{width:32px;height:32px;flex-basis:32px;border-radius:10px}.stat-icon svg{width:17px;height:17px}.stat-trend{font-size:8px}.content-columns{grid-template-columns:1fr;gap:12px;margin-top:10px}.content-card{padding:15px;border-radius:17px}.section-heading{margin:20px 0 11px}.section-heading h3{font-size:13px}.account-mini{min-width:160px}.page-heading{align-items:flex-start;margin-bottom:15px}.page-heading h2{font-size:18px}.page-heading p{font-size:10px}.page-heading>.button{min-height:36px;padding:0 10px;font-size:10px}.toolbar{align-items:stretch;flex-direction:column}.toolbar-group{justify-content:space-between}.search-field input{width:100%}.search-field{flex:1}.field-control{min-width:112px;max-width:48%;font-size:10px}.account-grid{grid-template-columns:1fr 1fr;gap:8px}.account-card{padding:13px;border-radius:15px}.account-card h3{font-size:11px}.account-card-balance{font-size:17px}.account-add-card{min-height:160px}.report-summary,.obligation-summary{gap:7px}.report-metric{padding:11px 9px;border-radius:13px}.report-metric small{font-size:9px}.report-metric b{font-size:14px}.report-layout{gap:10px}.chart-card,.category-card{padding:15px}.bar-chart{height:190px;gap:4px}.bar-label{font-size:7px}.obligation-detail-row{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:11px}.obligation-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid #f0f2ef;padding-top:8px}.settings-layout{grid-template-columns:1fr}.settings-menu{display:flex;gap:4px;overflow:auto;padding:6px}.settings-menu button{white-space:nowrap;text-align:center;width:auto;padding:9px 12px}.settings-panel{padding:14px}.settings-row{align-items:flex-start;flex-direction:column}.setting-actions{align-self:stretch;justify-content:flex-end}.modal-backdrop{padding:10px;align-items:end}.modal{border-radius:20px 20px 16px 16px;max-height:91vh}.modal-header{padding:17px 17px 12px}.modal-body{padding:16px 17px 19px}.form-grid{gap:11px}.field input,.field select,.field textarea{font-size:12px}.toast-region{bottom:83px;width:max-content;max-width:calc(100% - 30px)}.toast{text-align:center}.lock-card{padding:27px 23px 20px}.table-head{padding:14px}.data-table th,.data-table td{padding:11px 13px}.report-note{font-size:9px}}
@media(max-width:370px){.hero-balance{font-size:25px}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:67px;align-items:center}.stat-value{font-size:17px}.account-grid{grid-template-columns:1fr}.top-actions{gap:5px}.top-add{width:33px}.mobile-nav .nav-item{min-width:48px;padding:4px 7px}}
