@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{--ink:#26312f;--muted:#7c8985;--cream:#f8f6f1;--paper:#fffefa;--line:#e8e2d8;--sage:#bfd8ce;--sage-dark:#446f64;--mint:#dff2e9;--lavender:#e9e2f8;--peach:#f8e5d0;--rose:#f7dfe1;--yellow:#f5e9b8;--shadow:0 18px 50px #4c4a4114,0 2px 8px #4c4a410a}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:15px DM Sans,system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.app-shell aside{border-right:1px solid var(--line);z-index:10;background:#f0eee7;flex-direction:column;width:252px;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 8px 32px;display:flex}.brand b{letter-spacing:-.3px;font-size:18px;display:block}.brand small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.brand-mark{background:var(--sage);color:#28564b;border-radius:18px;place-items:center;width:54px;height:54px;font-size:27px;font-weight:700;display:grid;box-shadow:inset 0 1px #fff9,0 8px 20px #79978c26}.brand-mark.small{border-radius:13px;flex:none;width:40px;height:40px;font-size:20px}nav{gap:7px;display:grid}nav button,.logout{color:#6e7976;text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-weight:600;transition:all .2s;display:flex}nav button i{color:#707a77;background:#e6e3db;border-radius:9px;place-items:center;width:25px;height:25px;font-style:normal;display:grid}nav button:hover{color:var(--ink);background:#e8e5dc}nav button.on{background:var(--paper);color:var(--ink);box-shadow:0 6px 20px #5e625713}nav button.on i{background:var(--sage);color:#315f55}.sidebar-card{background:linear-gradient(145deg,#d8ece4,#c9ded6);border:1px solid #bdd5cc;border-radius:22px;margin-top:auto;padding:18px;box-shadow:inset 0 1px #fff9}.sidebar-card span{color:#527369;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700}.sidebar-card b{margin:8px 0 14px;font-size:15px;line-height:1.35;display:block}.sidebar-card button{color:#375f56;background:#fffefa;border:0;border-radius:11px;padding:9px 12px;font-size:12px;font-weight:700}.logout{width:100%;margin-top:13px}.content{max-width:1480px;margin-left:252px;padding:40px 48px 60px}.content>header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.eyebrow{color:#82908b;text-transform:uppercase;letter-spacing:1.6px;margin:0 0 6px;font-size:10px;font-weight:700}.content h1{letter-spacing:-1.4px;margin:0;font-size:36px;line-height:1}.primary{color:#fff;background:#476f65;border:0;border-radius:14px;padding:12px 17px;font-weight:700;transition:all .2s;box-shadow:0 8px 18px #446f6426}.primary:hover{background:#385f56;transform:translateY(-2px);box-shadow:0 12px 24px #446f6433}.primary.wide{justify-content:space-between;width:100%;display:flex}.button-dot{color:#aad3c7;margin-right:5px}.alert{border-radius:14px;justify-content:space-between;align-items:center;margin:0 0 20px;padding:13px 16px;display:flex}.alert.error{color:#8b4449;background:#f8dddd;border:1px solid #edc6c9}.alert.success{background:var(--mint);color:#426e62;border:1px solid #cae6db}.alert button{color:inherit;background:0 0;border:0;font-size:18px}.hero-card{min-height:220px;box-shadow:var(--shadow);background:linear-gradient(135deg,#dcefe7 0%,#d6e9e1 58%,#c8e0d7 100%);border:1px solid #c5ddd4;border-radius:30px;justify-content:space-between;align-items:center;padding:34px 38px;display:flex;position:relative;overflow:hidden}.soft-label{color:#55756c;letter-spacing:.3px;background:#fff9;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:700;display:inline-flex}.hero-card h2{letter-spacing:-2.4px;margin:14px 0 4px;font-size:49px}.hero-card p{color:#637d76;margin:0}.hero-orbit{border:1px dashed #7da397;border-radius:50%;place-items:center;width:170px;height:170px;margin-right:6%;display:grid;position:relative}.hero-orbit:before,.hero-orbit:after{content:"";border:1px solid #ffffff75;border-radius:50%;position:absolute}.hero-orbit:before{inset:19px}.hero-orbit:after{background:#ffffff36;inset:40px}.hero-orbit span{z-index:2;color:#477066;background:#fffefa;border-radius:23px;place-items:center;width:64px;height:64px;font-size:28px;font-weight:700;display:grid;position:relative;transform:rotate(8deg);box-shadow:0 16px 30px #51776c24}.metric-grid{grid-template-columns:repeat(4,1fr);gap:17px;margin-top:18px;display:grid}.metric{min-height:190px;box-shadow:var(--shadow);border:1px solid #ffffff80;border-radius:25px;flex-direction:column;padding:21px;display:flex}.metric.mint{background:var(--mint)}.metric.lavender{background:var(--lavender)}.metric.peach{background:var(--peach)}.metric.rose{background:var(--rose)}.metric-icon{background:#fff9;border-radius:12px;place-items:center;width:36px;height:36px;margin-bottom:18px;font-size:18px;display:grid}.metric>span{color:#697773;font-size:13px}.metric strong{letter-spacing:-.8px;margin:7px 0 4px;font-size:25px}.metric small{color:#7d8986;margin-top:auto}.welcome-panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:27px;justify-content:space-between;align-items:center;margin-top:18px;padding:27px 30px;display:flex}.welcome-panel h3{letter-spacing:-.7px;margin:13px 0 7px;font-size:24px}.welcome-panel p{color:var(--muted);max-width:620px;margin:0}.mini-chart{background:#f6f1e7;border-radius:20px;align-items:flex-end;gap:8px;width:240px;height:90px;padding:10px 18px;display:flex}.mini-chart i{background:#b8d4ca;border-radius:8px 8px 4px 4px;width:26px}.mini-chart i:first-child{height:30%}.mini-chart i:nth-child(2){background:#ddcfeb;height:52%}.mini-chart i:nth-child(3){background:#efd6ba;height:43%}.mini-chart i:nth-child(4){height:72%}.mini-chart i:nth-child(5){background:#eecdd0;height:60%}.mini-chart i:nth-child(6){background:#8fb8aa;height:88%}.section-heading{justify-content:space-between;margin-bottom:17px;display:flex}.section-heading h2{letter-spacing:-.5px;margin:0 0 5px;font-size:23px}.section-heading p{color:var(--muted);margin:0}.form-card,.list-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:25px}.form-card{gap:15px;padding:22px;display:grid}.compact{grid-template-columns:2fr 1.1fr .7fr auto;align-items:end}.categories-form{grid-template-columns:2fr 1fr auto}.transaction-form{grid-template-columns:repeat(3,1fr);align-items:end}.transaction-form .description-field{grid-column:span 2}.form-card label,.login-card label{color:#65716e;gap:7px;font-size:12px;font-weight:700;display:grid}.form-card input,.form-card select,.login-card input{width:100%;color:var(--ink);background:#fbfaf6;border:1px solid #ded9cf;border-radius:13px;outline:none;padding:12px 13px;transition:all .2s}.form-card input:focus,.form-card select:focus,.login-card input:focus{background:#fff;border-color:#91b3a8;box-shadow:0 0 0 4px #bfd8ce3b}.form-card .primary{min-height:42px}.list-card{margin-top:18px;padding:8px 21px}.list-title{border-bottom:1px solid #eee9e0;align-items:center;gap:9px;padding:16px 3px;display:flex}.list-title h3{margin:0;font-size:17px}.list-title span{color:#78827f;background:#eeeae1;border-radius:999px;padding:3px 7px;font-size:11px}.simple-row,.transaction-row{border-bottom:1px solid #f0ece4;align-items:center;gap:13px;padding:15px 3px;display:flex}.simple-row:last-child,.transaction-row:last-child{border:0}.simple-row>div:nth-child(2),.transaction-main{flex:1;gap:3px;display:grid}.simple-row b,.transaction-row b{font-size:14px}.simple-row small,.transaction-row small{color:var(--muted)}.account-avatar,.transaction-icon{background:var(--lavender);color:#6a5982;border-radius:14px;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.transaction-icon.in{background:var(--mint);color:#49786b}.transaction-icon.out{background:var(--rose);color:#996067}.currency-pill,.status{border-radius:999px;margin-left:auto;padding:6px 9px;font-size:10px;font-weight:700}.currency-pill{color:#6d7874;background:#f1eee7}.status{margin-left:6px}.status.confirmed{background:var(--mint);color:#477469}.status.pending{background:var(--yellow);color:#7c6b35}.status.cancelled{color:#85817c;background:#eeeae4}.transaction-row>strong{text-align:right;min-width:120px;font-size:14px}.row-actions{gap:6px;display:flex}.row-actions button{border:0;border-radius:10px;width:31px;height:31px;font-weight:700}.confirm{background:var(--mint);color:#477469}.cancel{background:var(--rose);color:#995b63}.empty{text-align:center;color:var(--muted);padding:44px 20px}.empty span{background:var(--lavender);color:#745f93;border-radius:15px;place-items:center;width:45px;height:45px;margin:0 auto 10px;display:grid}.empty b{color:var(--ink);display:block}.empty p{margin:5px 0}.loading{color:var(--muted);place-items:center;padding:90px;display:grid}.loading span{border:3px solid #d7e4df;border-top-color:#588278;border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{background:linear-gradient(145deg,#f4efe7,#e8f1ec);place-items:center;min-height:100vh;margin:0;padding:25px;display:grid;position:relative;overflow:hidden}.login-card{border:1px solid var(--line);z-index:2;background:#fffefa;border-radius:29px;width:min(420px,100%);padding:38px;position:relative;box-shadow:0 30px 80px #52615920}.login-card .brand-mark{margin-bottom:25px}.login-card h1{letter-spacing:-1px;margin:0 0 8px;font-size:32px}.login-card .muted{color:var(--muted);margin:0 0 24px;line-height:1.5}.login-card label{margin:13px 0}.login-card .primary{margin-top:10px}.login-decoration{filter:blur(1px);border-radius:50%;position:absolute}.decoration-one{background:#d5e9e1;width:420px;height:420px;top:-180px;right:-100px}.decoration-two{background:#e9def3;width:330px;height:330px;bottom:-160px;left:-80px}@media (width<=1100px){.metric-grid,.transaction-form,.compact{grid-template-columns:repeat(2,1fr)}.transaction-form .description-field{grid-column:auto}.hero-orbit{margin-right:0}.content{padding:34px 30px}}@media (width<=760px){.app-shell aside{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f4f1eaf2;border-radius:20px;flex-direction:row;width:auto;height:64px;padding:7px;position:fixed;inset:auto 10px 10px}.brand,.sidebar-card,.logout{display:none}nav{justify-content:space-around;gap:2px;width:100%;display:flex}nav button{padding:7px 13px;font-size:0}nav button i{font-size:16px}.content{margin-left:0;padding:24px 17px 95px}.content>header{align-items:flex-end}.content h1{font-size:31px}.content>header .primary{padding:12px;font-size:0}.content>header .primary:after{content:"Telegram";font-size:12px}.metric-grid{grid-template-columns:1fr 1fr}.metric{min-height:170px}.hero-card{min-height:190px;padding:27px}.hero-card h2{font-size:37px}.hero-orbit{display:none}.welcome-panel{display:block}.mini-chart{width:100%;margin-top:20px}.transaction-form,.compact,.categories-form{grid-template-columns:1fr}.transaction-form .description-field{grid-column:auto}.transaction-row{flex-wrap:wrap}.transaction-main{min-width:55%}.transaction-row>strong{text-align:left;margin-left:53px}.status{margin-left:auto}}@media (width<=450px){.metric-grid{grid-template-columns:1fr}.content{padding-inline:13px}.login-card{padding:28px}.hero-card h2{font-size:32px}.content>header{margin-bottom:25px}}
