:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0b1220;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #0b1220;--muted: #687386;--bg: #ffffff;--card: #ffffff;--line: #e7eaf0;--accent: #d4af37;--accent-dark: #b68d1c;--accent-soft: #fbf4df;--in: #16805f;--out: #bd5a4b;--shadow: 0 12px 36px rgba(11, 18, 32, .055)}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--ink: #f8fafc;--muted: #a7b1c2;--bg: #0b1220;--card: #111c2e;--line: #26334a;--accent: #f2c94c;--accent-dark: #dfb638;--accent-soft: #292719;--in: #78d5ad;--out: #f09586;--shadow: 0 12px 36px rgba(0, 0, 0, .12)}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(212,175,55,.45);outline-offset:2px}main{width:min(100% - 40px,1160px);margin:0 auto;padding:22px 0 calc(48px + env(safe-area-inset-bottom))}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(1.8rem,3.2vw,2.55rem);line-height:1.15;letter-spacing:-.045em}h2{margin-bottom:0;font-size:1.05rem;line-height:1.3;letter-spacing:-.015em}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:54px;margin-bottom:25px}.brand-logo{display:block;width:230px}.brand-logo img{display:block;width:100%;height:auto}.profile-chip{display:flex;align-items:center;gap:10px}.profile-chip>span:last-child{display:grid;line-height:1.25}.profile-chip b{font-size:.85rem;font-weight:650}.profile-chip small{margin-top:3px;color:var(--muted);font-size:.72rem;text-transform:capitalize}.avatar{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent);background:var(--accent-soft);font-weight:750}.welcome-banner{position:relative;display:flex;min-height:188px;align-items:center;justify-content:space-between;overflow:hidden;padding:clamp(24px,5vw,42px);border-radius:23px;color:#fff;background:linear-gradient(112deg,#0b1220,#101c30 72%,#15243a);box-shadow:0 16px 36px #0b122029}.welcome-banner:after{position:absolute;top:-190px;right:110px;width:430px;height:430px;border:1px solid rgba(242,201,76,.18);border-radius:50%;box-shadow:0 0 0 34px #f2c94c09,0 0 0 70px #f2c94c06;content:""}.welcome-banner>div{position:relative;z-index:1;max-width:650px}.welcome-banner .eyebrow{color:#f2c94c}.welcome-banner h1{margin-top:9px;color:#fff}.welcome-banner p{margin:0;color:#ffffffbf;font-size:.96rem}.welcome-icon{position:absolute;right:clamp(24px,7vw,88px);width:112px;height:112px;border:1px solid rgba(242,201,76,.25);border-radius:26px;object-fit:cover;box-shadow:0 14px 34px #00000047}.eyebrow{display:block;color:var(--accent);font-size:.68rem;font-weight:750;letter-spacing:.13em}.seg.tabs{display:flex;gap:5px;width:fit-content;max-width:100%;margin:24px 0 18px;padding:5px;overflow-x:auto;border:1px solid var(--line);border-radius:13px;background:var(--card);box-shadow:0 3px 10px #233a3106}.seg.tabs button{min-height:39px;padding:8px 16px;border:0;border-radius:9px;color:var(--muted);background:transparent;white-space:nowrap;font-size:.86rem;font-weight:650;transition:color .18s ease,background .18s ease,transform .18s ease}.seg.tabs button:hover{color:var(--ink);background:var(--bg)}.seg.tabs button.on{color:#0b1220;background:var(--accent);box-shadow:0 3px 8px #0b122029}.ledger-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.5fr);align-items:start;gap:20px}.read-only-layout{grid-template-columns:minmax(0,1fr)}.card,.ledger-panel{min-width:0;margin:0 0 18px;padding:23px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow)}.card{display:grid;gap:13px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading h2{margin-top:5px;font-size:1.15rem}.heading-icon{display:grid;width:35px;height:35px;place-items:center;border-radius:11px;color:var(--accent);background:var(--accent-soft);font-size:1.35rem;font-weight:500}.entry-card{gap:14px}.seg.transaction-types{display:grid;grid-template-columns:1fr 1fr;gap:7px}.seg.transaction-types button{min-height:39px;padding:8px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--bg);font-size:.8rem;font-weight:600;transition:.18s ease}.seg.transaction-types button:hover{border-color:var(--accent);color:var(--accent)}.seg.transaction-types button.on{border-color:var(--accent);color:#0b1220;background:var(--accent)}input,select{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--bg);transition:border-color .18s ease,box-shadow .18s ease}input::placeholder{color:#97a39e}input:focus,select:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #d4af372e}input[type=file]{padding:8px}input[type=file]::file-selector-button{margin-right:10px;padding:8px 12px;border:0;border-radius:7px;color:var(--accent);background:var(--accent-soft);font:inherit;font-weight:650;cursor:pointer}button:not(.link):not(.seg button){min-height:44px;padding:10px 16px;border:0;border-radius:10px;color:#0b1220;background:var(--accent);font-weight:680;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}button:not(.link):not(.seg button):hover:not(:disabled){transform:translateY(-1px);background:var(--accent-dark);box-shadow:0 5px 13px #0b12202b}button.link{padding:2px 0 2px 9px;border:0;color:var(--accent);background:transparent;font-size:.75rem;font-weight:650}button.link:hover{text-decoration:underline}.ledger-panel{padding:24px 26px}.period-label{padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.72rem;white-space:nowrap}.totals{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0 11px}.total-card{display:grid;gap:7px;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:var(--bg)}.total-card .muted{font-size:.77rem}.total-card b{font-size:1.15rem;letter-spacing:-.025em}.income-total b{color:var(--in)}.expense-total b{color:var(--out)}.muted{color:var(--muted);font-size:.82rem}.ledger-note{margin:12px 0 4px;font-size:.76rem}.row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.transaction-list{margin-top:9px}.transaction-row:last-child{border-bottom:0}.transaction-description{display:flex;min-width:0;align-items:center;gap:12px}.transaction-description>div{min-width:0}.transaction-description b{display:block;overflow:hidden;font-size:.88rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.transaction-description .muted{margin-top:3px;font-size:.75rem}.transaction-icon{display:grid;width:37px;height:37px;flex:0 0 auto;place-items:center;border-radius:12px;font-size:1.15rem;font-weight:700}.transaction-icon.positive{color:var(--in);background:var(--accent-soft)}.transaction-icon.negative{color:var(--out);background:color-mix(in srgb,var(--out) 11%,var(--card))}.in,.out{text-align:right;white-space:nowrap}.in{color:var(--in)}.out{color:var(--out)}.in b,.out b{font-size:.88rem;font-weight:700}.empty-state{display:grid;justify-items:center;gap:6px;padding:36px 12px 20px;text-align:center}.empty-state>span{color:var(--accent);font-size:1.7rem}.empty-state b{font-size:.94rem}.empty-state p{margin:0;color:var(--muted);font-size:.82rem}.row.col{display:block}.rowtop{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.postform{display:grid;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:8px}.actions button.link{padding:0}.secretkey{margin:0;padding:14px;border:1px dashed var(--line);border-radius:11px;color:var(--accent);background:var(--bg);font:650 1.05rem/1.5 ui-monospace,monospace;letter-spacing:.07em;overflow-wrap:anywhere}.error{color:var(--out)}a{color:var(--accent)}.auth-shell{display:grid;width:100%;min-height:100vh;padding:24px 20px;place-items:center;position:relative;isolation:isolate}.auth-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(#0b122059,#0b12208c),url(./login-background-ChAHc9AB.webp) center / cover no-repeat #0b1220;pointer-events:none}@supports (min-height: 100dvh){.auth-shell{min-height:100dvh}}.auth-shell .auth-card{box-shadow:0 24px 60px #00000059}.auth-card{width:min(100%,450px);gap:15px;padding:clamp(24px,5vw,38px)}.auth-card h1{margin-bottom:-7px;font-size:2rem}.auth-card h2{font-size:1.35rem}.auth-card .muted{margin-bottom:4px}.auth-brand{margin-bottom:7px;width:250px;max-width:100%;border-radius:10px;overflow:hidden}@media (max-width: 780px){main{width:min(100% - 28px,620px);padding-top:14px}.ledger-layout{grid-template-columns:minmax(0,1fr);gap:0}.welcome-banner{min-height:168px;border-radius:18px}.welcome-icon{right:22px;width:92px;height:92px;border-radius:22px}}@media (max-width: 480px){main{width:min(100% - 22px,420px)}.topbar{margin-bottom:17px}.brand-logo{width:170px}.profile-chip{gap:7px}.profile-chip b{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:34px;height:34px}.welcome-banner{min-height:156px;padding:22px 20px}.welcome-banner p{max-width:270px;font-size:.85rem}.welcome-icon{right:14px;width:66px;height:66px;border-radius:17px}.seg.tabs{width:100%;margin-top:17px}.seg.tabs button{flex:1 0 auto;padding-inline:12px}.card,.ledger-panel{padding:18px;border-radius:15px}.ledger-panel{padding:19px 17px}.total-card{padding:12px}.total-card b{font-size:1rem}.period-label{font-size:.66rem}.transaction-description{gap:9px}.transaction-icon{width:33px;height:33px;border-radius:10px}.transaction-description b,.in b,.out b{font-size:.8rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
