:root{
  --bg:#0f1626;--bg2:#16213a;--surface:#182238;--surface2:#202c46;--surface3:#273554;
  --text:#f3f6fb;--text2:#c6cfde;--muted:#8996aa;--line:#33425f;--line2:#425473;
  --accent:#5b86ff;--accent2:#8eabff;--accent-ink:#07132f;--gold:#e4b64e;--gold2:#f1d27f;
  --success:#38c889;--danger:#ef6c61;--warning:#f0b84e;--shadow:0 20px 50px -32px rgba(0,0,0,.72);
  --radius:22px;--radius-sm:14px;--nav-size:88px;
  color-scheme:dark;
}
:root[data-theme="pearl"]{--bg:#f4f6fa;--bg2:#ffffff;--surface:#ffffff;--surface2:#f7f9fc;--surface3:#eef2f8;--text:#172238;--text2:#3f4d66;--muted:#718096;--line:#dce3ee;--line2:#cbd5e3;--accent:#3f73e6;--accent2:#7096ec;--accent-ink:#fff;--gold:#b78a22;--gold2:#8e6811;--success:#158d5f;--danger:#d64e45;color-scheme:light}
:root[data-theme="ivory"]{--bg:#f8f2e8;--bg2:#fffaf2;--surface:#fffdf8;--surface2:#f8efe0;--surface3:#efe2cb;--text:#3a2b19;--text2:#604b31;--muted:#8a7353;--line:#e6d6b9;--line2:#d6c19f;--accent:#3f70d8;--accent2:#7195e8;--accent-ink:#fff;--gold:#c18d22;--gold2:#94670e;--success:#1e8d5d;--danger:#cc5048;color-scheme:light}
:root[data-theme="mint"]{--bg:#eff8f4;--bg2:#fbfffd;--surface:#ffffff;--surface2:#edf8f3;--surface3:#dff0e8;--text:#16362b;--text2:#3b5c50;--muted:#6f8d82;--line:#d2e7de;--line2:#b9d8cb;--accent:#18a78e;--accent2:#4bc2ad;--accent-ink:#fff;--gold:#bd912b;--gold2:#8e6917;--success:#16885a;--danger:#d44f47;color-scheme:light}
:root[data-theme="sky"]{--bg:#eef7ff;--bg2:#ffffff;--surface:#ffffff;--surface2:#edf6fd;--surface3:#dbeaf7;--text:#14314a;--text2:#3f5f79;--muted:#6f8aa0;--line:#d1e2ef;--line2:#bad2e4;--accent:#2786df;--accent2:#64a8e8;--accent-ink:#fff;--gold:#b78d2d;--gold2:#896712;--success:#16865b;--danger:#d34e47;color-scheme:light}
:root[data-theme="rose"]{--bg:#fff3f5;--bg2:#fffafa;--surface:#ffffff;--surface2:#fff0f3;--surface3:#f8dfe5;--text:#48212c;--text2:#704354;--muted:#9a7080;--line:#efd6dc;--line2:#e3bec8;--accent:#d55e7c;--accent2:#e58ea5;--accent-ink:#fff;--gold:#b98629;--gold2:#8b6112;--success:#19885d;--danger:#d54945;color-scheme:light}
:root[data-theme="papyrus"]{--bg:#f3e6cc;--bg2:#fff6e7;--surface:#fff8ea;--surface2:#f5e7c8;--surface3:#ead4a7;--text:#452d14;--text2:#684d2e;--muted:#8a6e4a;--line:#dcc59a;--line2:#c9aa71;--accent:#197d70;--accent2:#42aa9b;--accent-ink:#fff;--gold:#bd8620;--gold2:#8d5f0d;--success:#1f865c;--danger:#c95048;color-scheme:light}

:root[data-theme="ankh-ivory"]{--bg:#faf4e8;--bg2:#fffdf8;--surface:#fffefa;--surface2:#f6ead5;--surface3:#ead7b6;--text:#3b2a17;--text2:#674d2d;--muted:#8c714f;--line:#e4d0ac;--line2:#d5b983;--accent:#0f8b8d;--accent2:#46b6b0;--accent-ink:#fff;--gold:#c5952d;--gold2:#8f6815;--success:#198a5d;--danger:#ce5248;color-scheme:light}
:root[data-theme="lotus-dawn"]{--bg:#fff5f0;--bg2:#fffdfb;--surface:#fffefa;--surface2:#fae9e2;--surface3:#f1d4c8;--text:#472820;--text2:#74493f;--muted:#9a746a;--line:#efd7cf;--line2:#dfbdb1;--accent:#b45b78;--accent2:#d98aa3;--accent-ink:#fff;--gold:#c8942e;--gold2:#906613;--success:#1a875c;--danger:#ce4d48;color-scheme:light}
:root[data-theme="temple-sand"]{--bg:#f7ecd3;--bg2:#fff9ea;--surface:#fffaf0;--surface2:#f0dfb8;--surface3:#e5cd94;--text:#3d2c18;--text2:#655034;--muted:#88704e;--line:#ddc794;--line2:#cbb06d;--accent:#315c9b;--accent2:#6288bd;--accent-ink:#fff;--gold:#bd8922;--gold2:#875f0e;--success:#1e875c;--danger:#ca5048;color-scheme:light}
:root[data-theme="eye-sky"]{--bg:#edf7fd;--bg2:#fbfdff;--surface:#ffffff;--surface2:#e6f2f9;--surface3:#d5e7f2;--text:#163247;--text2:#405f73;--muted:#6f8b9d;--line:#cee0eb;--line2:#b7d2e2;--accent:#287fae;--accent2:#5ea8cc;--accent-ink:#fff;--gold:#c08f27;--gold2:#8c6412;--success:#18865b;--danger:#cf4f48;color-scheme:light}
:root[data-theme="nile-sun"]{--bg:#eef9f4;--bg2:#fbfffd;--surface:#ffffff;--surface2:#e6f4ee;--surface3:#d4eadd;--text:#17382e;--text2:#42665a;--muted:#718f85;--line:#cfe4dc;--line2:#b5d5c9;--accent:#168f84;--accent2:#4cb9aa;--accent-ink:#fff;--gold:#c59a2d;--gold2:#906a14;--success:#16875b;--danger:#cf5048;color-scheme:light}
:root[data-theme="midnight"]{--bg:#0f1626;--bg2:#17233c;--surface:#182238;--surface2:#202c46;--surface3:#273554;--text:#f3f6fb;--text2:#c6cfde;--muted:#8996aa;--line:#33425f;--line2:#425473;--accent:#5b86ff;--accent2:#8eabff;--accent-ink:#07132f;--gold:#e4b64e;--gold2:#f1d27f;--success:#38c889;--danger:#ef6c61}
:root[data-theme="pharaoh"]{--bg:#140c03;--bg2:#251705;--surface:#211508;--surface2:#2c1d0c;--surface3:#3a2812;--text:#fff0c7;--text2:#dcc38b;--muted:#ab925e;--line:#60461f;--line2:#82612a;--accent:#4f91e8;--accent2:#7db3f0;--accent-ink:#051429;--gold:#efbd50;--gold2:#ffe19a;--success:#59d69c;--danger:#f0796f}
:root[data-theme="scarab"]{--bg:#071b17;--bg2:#0c2c26;--surface:#0f2924;--surface2:#173a33;--surface3:#204d43;--text:#ebfff7;--text2:#b8dfd0;--muted:#7fb2a1;--line:#286153;--line2:#347d6d;--accent:#36b6a0;--accent2:#68d5c1;--accent-ink:#04241f;--gold:#d9ad42;--gold2:#f0d177;--success:#64dca4;--danger:#f07a71}
:root[data-theme="nile-night"]{--bg:#071829;--bg2:#102a45;--surface:#10263d;--surface2:#17334f;--surface3:#21415f;--text:#edf8ff;--text2:#c1d9e9;--muted:#86a7bd;--line:#2a5371;--line2:#396c91;--accent:#2fa4e7;--accent2:#70c5f1;--accent-ink:#062236;--gold:#dab04c;--gold2:#f2d887;--success:#54d69b;--danger:#f07870}

*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-height:100vh;isolation:isolate;background:
  radial-gradient(circle at 15% -10%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%),
  radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 28%),
  linear-gradient(180deg,var(--bg2),var(--bg));color:var(--text);font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif;line-height:1.5;padding-bottom:calc(98px + env(safe-area-inset-bottom))}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:0}
:root[data-theme="pharaoh"] body::before{opacity:.22;background-image:
  linear-gradient(30deg,transparent 47%,rgba(239,189,80,.28) 48% 52%,transparent 53%),
  linear-gradient(-30deg,transparent 47%,rgba(239,189,80,.28) 48% 52%,transparent 53%),
  radial-gradient(circle at 32px 18px,rgba(239,189,80,.22) 0 3px,transparent 4px);background-size:72px 42px,72px 42px,72px 42px}
:root[data-theme="papyrus"] body::before{opacity:.18;background-image:
  repeating-linear-gradient(90deg,rgba(189,134,32,.18) 0 1px,transparent 1px 44px),
  repeating-linear-gradient(0deg,rgba(189,134,32,.12) 0 1px,transparent 1px 44px),
  radial-gradient(circle at 22px 22px,rgba(189,134,32,.16) 0 3px,transparent 4px);background-size:44px 44px}
:root[data-theme="scarab"] body::before{opacity:.2;background-image:
  radial-gradient(circle at 25px 25px,rgba(217,173,66,.2) 0 4px,transparent 5px),
  linear-gradient(60deg,transparent 46%,rgba(217,173,66,.2) 47% 53%,transparent 54%),
  linear-gradient(-60deg,transparent 46%,rgba(217,173,66,.2) 47% 53%,transparent 54%);background-size:58px 58px,92px 92px,92px 92px}
:root[data-theme="nile-night"] body::before{opacity:.17;background-image:
  repeating-linear-gradient(0deg,rgba(47,164,231,.2) 0 2px,transparent 2px 24px),
  repeating-linear-gradient(90deg,rgba(218,176,76,.12) 0 2px,transparent 2px 48px);background-size:100% 48px,48px 100%}

:root[data-theme="ankh-ivory"] body::before{opacity:.17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23b78925' stroke-width='3' opacity='.75'%3E%3Cellipse cx='60' cy='28' rx='17' ry='22'/%3E%3Cpath d='M60 50v48M37 68h46M44 98h32'/%3E%3C/g%3E%3C/svg%3E");background-size:120px 120px}
:root[data-theme="lotus-dawn"] body::before{opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='120' viewBox='0 0 140 120'%3E%3Cg fill='none' stroke='%23b98727' stroke-width='2.7' opacity='.8'%3E%3Cpath d='M70 87C53 75 45 59 49 39c13 5 20 17 21 32 1-15 8-27 21-32 4 20-4 36-21 48z'/%3E%3Cpath d='M70 87c-22-2-36-11-43-28 19-1 34 7 43 28zm0 0c22-2 36-11 43-28-19-1-34 7-43 28zM46 95h48'/%3E%3C/g%3E%3C/svg%3E");background-size:140px 120px}
:root[data-theme="temple-sand"] body::before{opacity:.17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='120' viewBox='0 0 160 120'%3E%3Cg fill='none' stroke='%23a6781d' stroke-width='2.6' opacity='.85'%3E%3Cpath d='M18 94L50 44l32 50H18zm65 0l26-40 26 40H83zM28 94h112M28 101h112'/%3E%3C/g%3E%3C/svg%3E");background-size:160px 120px}
:root[data-theme="eye-sky"] body::before{opacity:.15;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='110' viewBox='0 0 150 110'%3E%3Cg fill='none' stroke='%23a77a20' stroke-width='2.8' opacity='.8'%3E%3Cpath d='M20 52c25-28 75-28 110 0-35 25-85 25-110 0z'/%3E%3Ccircle cx='76' cy='52' r='14'/%3E%3Cpath d='M77 67c3 12 12 17 24 17M50 75l-12 15M66 71l-4 20'/%3E%3C/g%3E%3C/svg%3E");background-size:150px 110px}
:root[data-theme="nile-sun"] body::before{opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='120' viewBox='0 0 160 120'%3E%3Cg fill='none' stroke='%23b18423' stroke-width='2.6' opacity='.82'%3E%3Ccircle cx='80' cy='35' r='18'/%3E%3Cpath d='M50 70c12-8 24-8 36 0s24 8 36 0 24-8 36 0M20 87c12-8 24-8 36 0s24 8 36 0 24-8 36 0 24 8 36 0'/%3E%3C/g%3E%3C/svg%3E");background-size:160px 120px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}
img{max-width:100%;display:block}
.hidden{display:none!important}
.muted{color:var(--muted)}
.positive{color:var(--success)!important}.negative{color:var(--danger)!important}

.auth-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:color-mix(in srgb,var(--bg) 92%,black 8%)}
.auth-overlay.hidden{display:none}
.auth-card{width:min(440px,100%);padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);text-align:center}
.auth-logo{width:76px;height:76px;margin:0 auto 10px;border-radius:22px}.auth-card h1{margin:0;font-size:30px}.auth-card p{color:var(--muted)}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-note{font-size:12px}.error-text{min-height:22px;color:var(--danger)!important;font-size:13px}

.app-header{padding:0 18px;position:relative;z-index:4}
.header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:48px;height:48px;border-radius:15px;box-shadow:0 12px 24px -16px rgba(0,0,0,.55)}
.brand h1{margin:0;font-size:23px}.brand p{margin:1px 0 0;color:var(--muted);font-size:12px}
.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.icon-btn,.sync-pill,.user-pill{min-height:42px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text);border-radius:14px;padding:0 13px;box-shadow:0 8px 24px -20px rgba(0,0,0,.6)}
.sync-pill{display:flex;align-items:center;gap:7px}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.sync-pill.synced .sync-dot{background:var(--success)}.sync-pill.pending .sync-dot{background:var(--warning)}.sync-pill.error .sync-dot{background:var(--danger)}
.user-pill{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr}
.wealth-card{max-width:1180px;margin:16px auto 0;display:grid;grid-template-columns:minmax(240px,1fr) 1.5fr;gap:20px;padding:24px;border:1px solid color-mix(in srgb,var(--line) 72%,var(--gold) 10%);border-radius:28px;background:
  radial-gradient(circle at 95% 0%,color-mix(in srgb,var(--gold) 18%,transparent),transparent 32%),
  linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,var(--accent) 6%),color-mix(in srgb,var(--surface2) 96%,black 4%));box-shadow:var(--shadow);overflow:hidden;position:relative}
.wealth-card::after{content:"";position:absolute;inset:auto -8% -50% 35%;height:160px;border:1px solid color-mix(in srgb,var(--gold) 25%,transparent);border-radius:50%;transform:rotate(-7deg);pointer-events:none}
.wealth-main{position:relative;z-index:1}.wealth-main p{margin:0;color:var(--text2);font-size:13px}.wealth-main>div{display:flex;align-items:baseline;gap:8px;margin:5px 0}.money-value{font-size:44px;font-weight:800;letter-spacing:-1.5px;line-height:1.15}.wealth-main small{font-weight:700;color:var(--gold2)}
.month-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;position:relative;z-index:1}.month-kpis article{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;min-height:102px;padding:14px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--surface2) 80%,transparent);border-radius:18px}.month-kpis span{color:var(--muted);font-size:12px;line-height:1.35}.month-kpis strong{font-size:21px;line-height:1.2}

.app-shell{max-width:1280px;margin:18px auto 0;padding:0 18px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;align-items:start}
.main-nav{position:sticky;top:16px;display:flex;flex-direction:column;gap:7px;padding:9px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);border-radius:24px;box-shadow:var(--shadow);backdrop-filter:blur(16px)}
.nav-btn{min-height:66px;border:0;background:transparent;color:var(--muted);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px}.nav-btn.active{background:color-mix(in srgb,var(--accent) 18%,var(--surface3));color:var(--accent2)}.nav-icon{font-size:22px;line-height:1}
.content{min-width:0}.screen{display:none}.screen.active{display:block;animation:fade .18s ease-out}@keyframes fade{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
.screen-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:2px 0 14px}.screen-title-row h2{margin:0;font-size:24px}.screen-title-row p{margin:3px 0 0;color:var(--muted);font-size:13px}.action-row{display:flex;gap:9px;flex-wrap:wrap}
.card{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,white 2%),var(--surface));border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 16px 42px -34px rgba(0,0,0,.72)}
.btn{min-height:44px;border-radius:13px;border:1px solid var(--line2);padding:0 16px;color:var(--text);background:var(--surface3);font-weight:700}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.secondary{background:color-mix(in srgb,var(--surface3) 78%,var(--accent) 12%)}.btn.ghost{background:transparent}.btn.danger{background:color-mix(in srgb,var(--danger) 15%,var(--surface));color:var(--danger)}.btn.small{min-height:38px;padding:0 12px}.full{width:100%}.text-btn{border:0;background:transparent;color:var(--accent2);padding:7px 0;font-weight:700}.badge{font-size:12px;padding:5px 9px;border-radius:999px;background:var(--surface3);color:var(--muted);border:1px solid var(--line)}
.field{display:flex;flex-direction:column;gap:6px;text-align:start;margin:12px 0}.field>span{font-size:12px;color:var(--text2);font-weight:700}.field input,.field select,.field textarea,.search-input{min-height:46px;border:1px solid var(--line2);border-radius:13px;background:var(--surface2);color:var(--text);padding:10px 12px}.field input::placeholder,.search-input::placeholder{color:color-mix(in srgb,var(--muted) 76%,transparent)}.inline-field{display:flex;gap:8px}.inline-field input{flex:1}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--surface2);padding:5px;border-radius:15px}.segmented button{min-height:42px;border:0;border-radius:11px;color:var(--muted);background:transparent;font-weight:700}.segmented button.active{background:var(--accent);color:var(--accent-ink)}.segmented.compact{display:inline-grid;grid-template-columns:auto auto}.segmented.compact button{padding:0 14px;min-height:38px}
.amount-box{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:25px 10px}.amount-box input{width:min(330px,78%);border:0;background:transparent;color:var(--text);text-align:center;font-size:46px;font-weight:800;outline:0}.amount-box span{font-weight:800;color:var(--gold2)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{min-height:38px;border:1px solid var(--line);background:var(--surface2);color:var(--text2);border-radius:999px;padding:0 13px}.chip.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--surface2));color:var(--text)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px}.toolbar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-input{min-width:220px}.month-nav{display:flex;align-items:center;justify-content:center;gap:10px}.month-nav button{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--text)}.month-nav strong{min-width:150px;text-align:center}
.summary-grid{display:grid;gap:10px;margin-bottom:12px}.summary-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--surface)}.summary-card span{font-size:12px;color:var(--muted);line-height:1.35}.summary-card strong{font-size:21px;line-height:1.2}
.statement-container{overflow:hidden}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--surface)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:start;font-size:13px}th{position:sticky;top:0;background:var(--surface2);color:var(--muted);z-index:1}tr:last-child td{border-bottom:0}.txn-card{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px;border:1px solid var(--line);background:var(--surface);border-radius:18px}.txn-card .meta{font-size:12px;color:var(--muted)}.txn-card .amount{font-size:18px;font-weight:800;text-align:end}.stack-list{display:flex;flex-direction:column;gap:10px}.empty{padding:32px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:18px}
.due-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);background:var(--surface);border-radius:18px}.due-check{width:42px;height:42px;border:1px solid var(--line2);border-radius:13px;background:var(--surface2);color:var(--success);font-size:21px}.due-row.paid{opacity:.72}.due-row.overdue{border-color:color-mix(in srgb,var(--danger) 48%,var(--line))}.due-row h4{margin:0}.due-row p{margin:3px 0 0;color:var(--muted);font-size:12px}.due-row .due-amount{font-size:18px;font-weight:800}.progress{height:8px;border-radius:999px;background:var(--surface3);overflow:hidden}.progress>i{display:block;height:100%;background:var(--success);border-radius:inherit}
.budget-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.budget-layout h3,.forecast-card h3,.section-heading h3,.report-layout h3{margin:0 0 12px}.budget-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line)}.budget-row:last-child{border-bottom:0}.budget-row label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-row input{min-height:42px;border:1px solid var(--line2);border-radius:11px;background:var(--surface2);color:var(--text);padding:8px;text-align:center}.forecast-card{margin-top:14px}.forecast-result{margin-top:10px;padding:16px;border-radius:18px;background:var(--surface2);border:1px solid var(--line)}
.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);background:var(--surface);border-radius:20px;min-width:0}.account-row.total{grid-column:1/-1;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 13%,var(--surface)),var(--surface))}.account-art{width:58px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--surface2);border:1px solid var(--line);flex:0 0 58px}.account-art img{width:100%;height:100%;object-fit:contain;padding:4px}.account-art.card{width:82px;flex-basis:82px;background:#fff}.account-art.card img{object-fit:contain;padding:0}.account-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-meta{color:var(--muted);font-size:12px}.account-balance{text-align:end;font-size:20px;font-weight:800}
.gold-hero{padding:22px;border-radius:26px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));background:
  radial-gradient(circle at 90% -10%,rgba(244,198,89,.22),transparent 36%),
  linear-gradient(145deg,#251b08,#110d05);color:#fff3d5;box-shadow:0 24px 55px -36px rgba(0,0,0,.75)}.gold-hero .hero-title{color:#d7bd7d;font-size:13px}.gold-hero .hero-value{display:flex;align-items:baseline;gap:8px;margin:5px 0 18px}.gold-hero .hero-value strong{font-size:38px}.gold-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:14px}.gold-stat{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.gold-stat span{color:#cdb77f;font-size:12px}.gold-stat strong{font-size:18px;color:#fff2cf}.rates-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 2px 14px;color:var(--muted);font-size:12px}.savings-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.cash-card{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,#0d8a61 8%),var(--surface))}.saving-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface2)}.saving-mark{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--gold) 15%,var(--surface3));color:var(--gold2);font-weight:800}.saving-row .meta{font-size:12px;color:var(--muted)}.saving-row .value{text-align:end;font-weight:800}.total-savings-card{margin-top:14px;padding:20px;border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--surface)),color-mix(in srgb,var(--gold) 13%,var(--surface)));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));display:flex;align-items:center;justify-content:space-between;gap:16px}.total-savings-card span{color:var(--muted)}.total-savings-card strong{font-size:30px}
.report-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.bar-list{display:flex;flex-direction:column;gap:12px}.bar-row .bar-head{display:flex;justify-content:space-between;gap:12px;font-size:13px}.bar-track{height:10px;border-radius:999px;background:var(--surface3);overflow:hidden;margin-top:5px}.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2))}.trend-chart{height:280px;display:flex;align-items:flex-end;gap:12px;padding:30px 8px 0}.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.trend-bars{height:210px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:7px}.trend-bar-wrap{height:100%;width:36%;min-width:18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.trend-bar{width:100%;min-height:2px;border-radius:7px 7px 2px 2px}.trend-bar.income{background:var(--success)}.trend-bar.expense{background:var(--accent)}.trend-value{font-size:10px;font-weight:800;line-height:1;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;transform:rotate(-35deg);transform-origin:center}.trend-label{font-size:11px;color:var(--muted)}
.fab{position:fixed;z-index:20;right:24px;bottom:26px;width:62px;height:62px;border-radius:20px;border:0;background:var(--accent);color:var(--accent-ink);font-size:34px;box-shadow:0 18px 35px -15px color-mix(in srgb,var(--accent) 65%,black);display:flex;align-items:center;justify-content:center}
.toast{position:fixed;left:50%;bottom:104px;z-index:1200;transform:translate(-50%,24px);opacity:0;pointer-events:none;background:#111827;color:#fff;padding:11px 16px;border-radius:13px;box-shadow:var(--shadow);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.dialog{width:min(640px,calc(100% - 28px));max-height:min(86vh,820px);overflow:auto;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 30px 90px -35px rgba(0,0,0,.85)}.dialog::backdrop{background:rgba(5,10,20,.64);backdrop-filter:blur(4px)}#dialogBody{padding:20px}.dialog h3{margin:0 0 12px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:16px}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.theme-choice{display:flex;align-items:center;gap:10px;min-height:52px;border:1px solid var(--line);border-radius:15px;background:var(--surface2);color:var(--text);padding:8px 10px}.theme-choice.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.theme-swatch{width:38px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.16)}

@media(max-width:900px){
  .wealth-card{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.main-nav{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));top:auto;z-index:30;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:7px;border-radius:22px}.nav-btn{min-height:58px;font-size:9px}.nav-icon{font-size:20px}.fab{right:18px;bottom:calc(88px + env(safe-area-inset-bottom));width:58px;height:58px}.app-shell{padding:0 12px}.content{padding-bottom:10px}.account-grid,.budget-layout,.savings-layout,.report-layout{grid-template-columns:1fr}}
@media(max-width:640px){
  .topbar-sticky{padding:8px 12px}.app-header{padding:0 12px}.header-inner{align-items:flex-start}.brand-logo{width:42px;height:42px}.brand h1{font-size:19px}.header-actions{gap:6px}.icon-btn,.sync-pill{min-height:38px;padding:0 10px}.user-pill{display:none}.wealth-card{padding:17px;border-radius:22px}.money-value{font-size:36px}.month-kpis{gap:6px}.month-kpis article{padding:10px;min-height:88px}.month-kpis strong{font-size:17px}.screen-title-row{align-items:flex-start;flex-direction:column}.screen-title-row .action-row{width:100%}.screen-title-row .action-row .btn{flex:1}.toolbar{align-items:stretch;flex-direction:column}.toolbar-controls{align-items:stretch}.search-input{min-width:0;flex:1}.summary-grid.four,.summary-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.amount-box input{font-size:40px}.gold-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.total-savings-card{align-items:flex-start;flex-direction:column}.total-savings-card strong{font-size:26px}.theme-grid{grid-template-columns:1fr}.auth-actions{grid-template-columns:1fr}.dialog{max-height:90vh}.rates-strip{align-items:flex-start;flex-direction:column}.main-nav{overflow-x:auto}.nav-btn{min-width:54px}}
@media(max-width:390px){.month-kpis{grid-template-columns:1fr 1fr}.month-kpis article:last-child{grid-column:1/-1}.summary-grid.two,.summary-grid.three,.summary-grid.four{grid-template-columns:1fr}.main-nav{left:5px;right:5px}.nav-btn{font-size:8.5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(min-width:901px){html[dir="rtl"] .app-shell{direction:ltr}html[dir="rtl"] .main-nav,html[dir="rtl"] .content{direction:rtl}html[dir="ltr"] .app-shell,html[dir="ltr"] .main-nav,html[dir="ltr"] .content{direction:ltr}}
@media(max-width:900px){body{padding-bottom:calc(168px + env(safe-area-inset-bottom))}.content{padding-bottom:54px}}


/* ===== v12.2 visual/UX polish ===== */
:root{--content-max:1280px}
body{background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--bg) 88%,var(--surface2) 12%));}
.header-inner,.app-shell{max-width:var(--content-max);margin-inline:auto}
.topbar-sticky{position:sticky;top:0;z-index:25;padding:10px 18px;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 86%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.brand{min-width:0}.brand h1{white-space:nowrap}.brand small{display:block;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wealth-card{box-shadow:0 24px 64px -42px rgba(0,0,0,.55)}
.card,.account-row,.txn-card,.due-row,.saving-row{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
@media(hover:hover){.account-row:hover,.txn-card:hover,.due-row:hover,.saving-row:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 16px 28px -24px rgba(0,0,0,.45)}}
.main-nav{scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.nav-btn{white-space:nowrap}
.screen{animation:screenIn .18s ease}@keyframes screenIn{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}
.account-art{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.account-art.card{width:96px;height:58px;flex-basis:96px;border-radius:13px;background:#f6f6f6;box-shadow:0 8px 20px -16px rgba(0,0,0,.7)}
.account-art.card img{object-fit:contain;width:100%;height:100%;padding:0}
.account-row:has(.account-art.card){grid-template-columns:96px minmax(0,1fr) auto}
.account-balance{font-variant-numeric:tabular-nums;white-space:nowrap}
.amount,.money-value,.account-balance,.gold-stat strong,.summary-card strong{font-variant-numeric:tabular-nums}
.field input,.field select,.search-input,.budget-row input{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.field input:focus,.field select:focus,.search-input:focus,.budget-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.btn,.icon-btn,.sync-pill,.segmented button,.text-btn,.due-check,.fab{transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}
.btn:active,.icon-btn:active,.sync-pill:active,.segmented button:active,.text-btn:active,.due-check:active,.fab:active{transform:scale(.97)}
.fab{box-shadow:0 18px 38px -16px color-mix(in srgb,var(--accent) 72%,black)}
.dialog{overscroll-behavior:contain}.dialog-actions{position:sticky;bottom:-1px;background:linear-gradient(180deg,transparent 0,var(--surface) 28%);padding-top:18px}
.gold-hero{overflow:hidden;position:relative}.gold-hero::after{content:"";position:absolute;inset:auto -8% -60% auto;width:260px;height:260px;border:1px solid rgba(244,198,89,.16);border-radius:50%;box-shadow:0 0 0 24px rgba(244,198,89,.05),0 0 0 50px rgba(244,198,89,.035);pointer-events:none}
.total-savings-card{box-shadow:0 18px 42px -34px rgba(0,0,0,.55)}
.empty{min-height:104px;display:grid;place-items:center}
.preview-badge{position:fixed;top:86px;left:50%;transform:translateX(-50%);z-index:60;background:#b91c1c;color:white;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;box-shadow:0 10px 24px -14px #000}
@media(max-width:900px){.header-inner,.app-shell{max-width:none}.main-nav{grid-template-columns:repeat(7,minmax(64px,1fr));overflow-x:auto}.content{padding-bottom:72px}}
@media(max-width:640px){.account-art.card{width:86px;height:52px;flex-basis:86px}.account-row:has(.account-art.card){grid-template-columns:86px minmax(0,1fr)}.account-row:has(.account-art.card) .account-balance{grid-column:2;text-align:start;font-size:17px}.month-kpis article{min-height:82px}.gold-hero .hero-value strong{font-size:34px}.screen{padding-inline:0}.card{border-radius:18px}.dialog{border-radius:20px}.preview-badge{top:72px}}
@media(max-width:390px){.account-row{grid-template-columns:auto minmax(0,1fr)}.account-balance{grid-column:2;text-align:start;font-size:17px}.account-art.card{width:82px;height:50px;flex-basis:82px}.account-row:has(.account-art.card){grid-template-columns:82px minmax(0,1fr)}}

.fab{display:none!important}
@media(max-width:520px){.trend-chart{gap:6px;padding-inline:2px}.trend-bars{gap:3px}.trend-value{font-size:8px;transform:rotate(-45deg)}.trend-label{font-size:9px}}


/* v12.6 transaction mode colors */
#expenseMode.expense-active{background:linear-gradient(135deg,#dc3545,#ef5b66)!important;color:#fff!important;box-shadow:0 8px 20px -12px rgba(220,53,69,.8)}
#incomeMode.income-active{background:linear-gradient(135deg,#159957,#32c778)!important;color:#fff!important;box-shadow:0 8px 20px -12px rgba(21,153,87,.8)}
#saveTransactionBtn.expense-action{background:linear-gradient(135deg,#d83245,#ef5a67)!important;color:#fff!important;border-color:transparent!important}
#saveTransactionBtn.income-action{background:linear-gradient(135deg,#138a50,#32c778)!important;color:#fff!important;border-color:transparent!important}
#expenseMode:not(.expense-active),#incomeMode:not(.income-active){color:var(--muted)!important;background:transparent!important;box-shadow:none!important}

/* v12.7 final audit: only the compact top bar is sticky; the wealth card scrolls normally. */
.topbar-sticky + .app-header .wealth-card{margin-top:16px}
@media(max-width:600px){.topbar-sticky + .app-header .wealth-card{margin-top:10px}}

/* ===== v12.8 workflow, recurring dues, quick-add grid, balance-first accounts ===== */
.dialog.dialog-wide{width:min(1120px,calc(100% - 28px))}
.bulk-due-table{overflow-x:auto;margin:12px 0 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface2)}
.bulk-due-head,.bulk-due-row{display:grid;grid-template-columns:minmax(180px,1.45fr) 112px 82px minmax(160px,1.25fr) 118px 138px 38px;gap:8px;align-items:center;min-width:930px;padding:9px 10px}
.bulk-due-head{position:sticky;top:0;z-index:2;background:var(--surface3);color:var(--muted);font-size:11px;font-weight:800;border-bottom:1px solid var(--line)}
.bulk-due-row{border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
.bulk-due-row:last-child{border-bottom:0}
.bulk-due-row label{min-width:0}
.bulk-due-row input,.bulk-due-row select{width:100%;min-height:42px;border:1px solid var(--line2);border-radius:11px;background:var(--surface);color:var(--text);padding:8px 9px;outline:none}
.bulk-due-row input:focus,.bulk-due-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.bulk-due-row .is-disabled{opacity:.46}
.bulk-remove{width:34px;height:34px;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger);font-size:22px;line-height:1}
.balance-first input{min-height:64px;font-size:28px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums;border-color:color-mix(in srgb,var(--accent) 45%,var(--line2));background:color-mix(in srgb,var(--accent) 7%,var(--surface2))}
.account-details{margin-top:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface2);overflow:hidden}
.account-details summary{cursor:pointer;padding:12px 14px;color:var(--text2);font-weight:800;list-style:none}
.account-details summary::-webkit-details-marker{display:none}
.account-details summary::after{content:'⌄';float:inline-end;color:var(--muted)}
.account-details[open] summary::after{transform:rotate(180deg)}
.account-details .details-body{padding:0 14px 14px}
@media(max-width:760px){
  .dialog.dialog-wide{width:min(720px,calc(100% - 18px))}
  .bulk-due-table{border:0;background:transparent;overflow:visible}
  .bulk-due-head{display:none}
  .bulk-due-row{min-width:0;grid-template-columns:1fr 1fr;padding:13px;margin-bottom:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface2)}
  .bulk-due-row label{display:flex;flex-direction:column;gap:5px}
  .bulk-due-row label::before{content:attr(data-label);font-size:11px;font-weight:800;color:var(--muted)}
  .bulk-due-row label:first-child,.bulk-due-row label:nth-child(4){grid-column:1/-1}
  .bulk-remove{grid-column:1/-1;width:100%;height:38px;font-size:16px}
}
@media(max-width:430px){.bulk-due-row{grid-template-columns:1fr}.bulk-due-row label:first-child,.bulk-due-row label:nth-child(4),.bulk-remove{grid-column:1}}


/* ===== v12.9 budget scopes, currencies and Egyptian light themes ===== */
.budget-row{grid-template-columns:minmax(0,1fr) 132px 34px}.budget-row label{display:flex;align-items:center;gap:8px;min-width:0}.budget-hide-btn{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:var(--surface3);color:var(--muted);font-size:19px;line-height:1}.budget-hide-btn:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.budget-manage-btn{width:100%;margin-top:12px;border:1px dashed var(--line2);border-radius:13px;padding:10px;background:transparent;color:var(--accent);font-weight:800}.scope-list{display:flex;flex-direction:column;gap:8px;max-height:56vh;overflow:auto}.scope-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.scope-row input{width:21px;height:21px;accent-color:var(--accent)}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:11px}.theme-swatch{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.theme-swatch i{font-style:normal;font-size:19px;color:#6d4b0c;text-shadow:0 1px 0 rgba(255,255,255,.8)}
@media(max-width:640px){.budget-row{grid-template-columns:minmax(0,1fr) 105px 32px}.budget-hide-btn{width:30px;height:30px}}
