:root{--bg:#f4f6f8;--surface:#fff;--surface2:#eef1f4;--text:#17202a;--muted:#7a8491;--border:#e2e7eb;--nav:#111820;--nav2:#202a35;--accent:#2bbf91;--accent2:#168466;--accentSoft:#e3f7f0;--danger:#d65d62;--shadow:0 9px 30px rgba(25,38,50,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}button,input,select{font:inherit}.hidden{display:none!important}.loading-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted)}.loader-logo,.brand-logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--accent),var(--accent2));display:grid;place-items:center;color:white;font-weight:900}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.auth-brand{background:linear-gradient(145deg,#111923,#192836);color:white;padding:58px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand:after{content:"";position:absolute;width:540px;height:540px;border-radius:50%;right:-160px;top:-160px;background:radial-gradient(circle,rgba(43,191,145,.32),rgba(43,191,145,0) 68%)}.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.brand strong{font-size:21px;display:block}.brand small{display:block;color:#9da9b5;margin-top:2px}.auth-copy{position:relative;z-index:2;max-width:620px}.auth-copy h1{font-size:48px;line-height:1.04;letter-spacing:-1.8px;margin:0 0 17px}.auth-copy p{color:#bec8d1;font-size:18px;line-height:1.6}.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.pills span{padding:9px 11px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:12px}.auth-footer{position:relative;z-index:2;color:#8594a1}.auth-main{display:grid;place-items:center;padding:32px}.auth-card{width:min(470px,100%);background:white;border:1px solid var(--border);border-radius:25px;padding:27px;box-shadow:var(--shadow)}.auth-card h2{font-size:28px;margin:8px 0}.auth-card p{color:var(--muted);line-height:1.5;margin:0 0 20px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--surface2);padding:4px;border-radius:13px;margin-bottom:18px}.auth-tabs button,.type-switch button{border:0;background:transparent;border-radius:10px;padding:10px;color:var(--muted);font-weight:750}.auth-tabs button.active,.type-switch button.active{background:white;color:var(--text);box-shadow:0 2px 7px rgba(0,0,0,.06)}label{display:block;font-size:12px;font-weight:750;color:#515b66;margin-bottom:13px}input,select{width:100%;border:1px solid var(--border);background:white;border-radius:13px;padding:12px 13px;outline:none;color:var(--text);margin-top:7px}input:focus,select:focus{border-color:#9baebe;box-shadow:0 0 0 3px rgba(79,120,215,.08)}.button{border:0;border-radius:13px;padding:11px 15px;font-weight:760;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button.primary{background:var(--nav);color:#fff}.button.accent{background:var(--accent);color:#fff}.button.secondary{background:white;color:var(--text);border:1px solid var(--border)}.button.full{width:100%;margin-top:10px}.button.small{padding:8px 10px;font-size:12px}.text-button{border:0;background:none;color:var(--muted);width:100%;padding:12px}.notice{border-radius:12px;padding:11px 12px;background:#eef5fb;color:#355f7c;font-size:13px;margin-bottom:13px}.notice.error{background:#fff0f1;color:#a9444c}.otp{font-size:28px;text-align:center;letter-spacing:8px;font-weight:800}.verify-icon{width:45px;height:45px;border-radius:14px;background:var(--accentSoft);display:grid;place-items:center;color:var(--accent2);font-size:20px}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{background:var(--nav);color:white;padding:26px 18px;display:flex;flex-direction:column;gap:27px;position:sticky;top:0;height:100vh}.brand.side{padding:0 10px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav button{border:0;background:transparent;color:#aab4bf;padding:13px 14px;border-radius:14px;text-align:left;display:flex;align-items:center;gap:11px;font-weight:700}.sidebar nav button.active,.sidebar nav button:hover{background:var(--nav2);color:white}.sidebar nav button span{width:22px;text-align:center}.profile-mini{margin-top:auto;padding:16px 8px 0;border-top:1px solid #28323d;display:flex;align-items:center;gap:10px}.avatar{width:37px;height:37px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-weight:900}.profile-mini strong{display:block;font-size:13px}.profile-mini small{display:block;color:#8f9ba6;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.main{min-width:0;padding:31px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:27px}.topbar h2{font-size:28px;margin:0 0 5px}.topbar p,.section-head p{margin:0;color:var(--muted)}.top-actions{display:flex;gap:9px}.page{display:none}.page.active{display:block}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.balance-card{background:linear-gradient(145deg,#15202a,#0e151c);color:white;border-radius:28px;padding:26px;box-shadow:var(--shadow);min-height:218px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#a9b4bf;font-weight:800}.balance-value{font-size:44px;font-weight:800;letter-spacing:-1.5px;margin:16px 0 20px}.balance-meta{display:flex;gap:24px;flex-wrap:wrap;color:#cbd4dc;font-size:12px}.balance-meta strong{display:block;color:white;font-size:16px;margin-top:4px}.quick-card{background:white;border:1px solid var(--border);border-radius:28px;padding:21px;box-shadow:var(--shadow)}.quick-card h3{margin:0 0 14px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button{border:1px solid var(--border);background:#fafbfc;border-radius:16px;padding:15px;text-align:left;min-height:83px}.quick-grid b{display:block}.quick-grid small{display:block;color:var(--muted);margin-top:5px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.stat-card{background:white;border:1px solid var(--border);border-radius:20px;padding:19px}.stat-card>span{display:block;color:var(--muted);font-size:13px;font-weight:700}.stat-card>strong{display:block;font-size:25px;margin-top:8px}.stat-card>small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.two-grid.no-top{margin-top:0}.panel,.settings-card{background:white;border:1px solid var(--border);border-radius:21px;padding:19px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-head h3{margin:0;font-size:17px}.panel-head button{border:0;background:none;color:var(--muted)}.list{display:flex;flex-direction:column;gap:8px}.data-row{display:grid;grid-template-columns:42px 1fr auto auto;gap:11px;align-items:center;padding:11px;border-radius:14px}.data-row:hover{background:#f8f9fa}.cat-icon{width:42px;height:42px;border-radius:13px;background:#edf0f3;color:#65707a;display:grid;place-items:center;font-size:12px;font-weight:900}.cat-icon.income{background:var(--accentSoft);color:var(--accent2)}.row-main{min-width:0}.row-main b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-main small{display:block;color:var(--muted);margin-top:3px}.amount{font-weight:800;text-align:right}.amount.income{color:var(--accent2)}.icon-button{border:0;background:#f1f3f5;width:34px;height:34px;border-radius:10px;color:#69747d}.empty{padding:24px;border:1px dashed #ccd4db;border-radius:15px;text-align:center;color:var(--muted);font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.section-head h3{font-size:20px;margin:0 0 4px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.toolbar input{margin:0;min-width:260px;flex:1}.toolbar select{margin:0;width:auto}.table-card{background:white;border:1px solid var(--border);border-radius:20px;padding:6px}.fixed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.fixed-card{background:white;border:1px solid var(--border);border-radius:19px;padding:17px}.fixed-card h4{margin:0}.fixed-card .price{font-size:24px;font-weight:800;margin:16px 0 5px}.fixed-card p{color:var(--muted);font-size:12px}.bar-item{margin-bottom:15px}.bar-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:6px}.bar-track{height:9px;background:#edf0f2;border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:99px}.stat-stack{display:grid;gap:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-card h3{margin:0 0 6px}.settings-card>p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.5}.setting-line{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-top:1px solid #eef1f3}.setting-line:first-of-type{border-top:0}.setting-line b{display:block}.setting-line small{display:block;color:var(--muted);margin-top:4px}.setting-line em{font-style:normal;background:var(--accentSoft);color:var(--accent2);padding:7px 9px;border-radius:999px;font-size:11px;font-weight:750}.passkey-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid var(--border);border-radius:13px;margin-top:8px}.passkey-item small{color:var(--muted)}.modal-bg{position:fixed;inset:0;background:rgba(10,18,25,.5);display:grid;place-items:center;padding:18px;z-index:70}.modal{width:min(560px,100%);background:white;border-radius:23px;padding:21px;box-shadow:0 25px 80px rgba(0,0,0,.22)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h3{margin:0}.modal-head button{border:0;width:36px;height:36px;border-radius:11px;background:#f1f3f5;font-size:20px}.type-switch{display:grid;grid-template-columns:1fr 1fr;background:#f1f3f5;border-radius:13px;padding:4px;margin-bottom:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{margin:0}.span2{grid-column:1/-1}.detect{margin-top:12px;padding:11px 12px;background:#f7f9fa;border:1px solid var(--border);border-radius:13px;color:var(--muted);font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px}.toast{position:fixed;right:20px;bottom:20px;background:#111820;color:white;padding:12px 15px;border-radius:12px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:100;font-size:13px}.toast.show{opacity:1;transform:none}.mobile-nav{display:none}@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-main{min-height:100vh}.app-shell{grid-template-columns:82px 1fr}.sidebar{padding:22px 12px}.brand.side>div:last-child,.sidebar nav button:not(.dummy){font-size:0}.sidebar nav button span{font-size:18px}.profile-mini>div:last-child{display:none}.profile-mini{justify-content:center}.hero-grid,.two-grid,.settings-grid{grid-template-columns:1fr}.fixed-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){body{padding-bottom:76px}.app-shell{display:block}.sidebar{display:none}.main{padding:18px 13px 24px}.topbar{align-items:flex-start}.topbar h2{font-size:24px}.top-actions .secondary{display:none}.hero-grid,.stat-grid,.two-grid,.settings-grid,.fixed-grid{grid-template-columns:1fr}.balance-value{font-size:38px}.quick-grid{grid-template-columns:1fr 1fr}.stat-grid{gap:10px}.toolbar input{min-width:100%}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.data-row{grid-template-columns:42px 1fr auto auto}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;background:var(--nav);z-index:50;padding:7px 5px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #26303a}.mobile-nav button{border:0;background:transparent;color:#8e99a5;font-size:18px;padding:4px 2px}.mobile-nav button.active{color:white}.mobile-nav small{display:block;font-size:9px;margin-top:3px}.modal-bg{place-items:end center;padding:0}.modal{border-radius:23px 23px 0 0;padding-bottom:calc(21px + env(safe-area-inset-bottom))}.toast{left:13px;right:13px;bottom:88px;text-align:center}}
