@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#132034;--muted:#7d8a9c;--line:#e8edf2;--page:#f5f7fa;--navy:#111e30;--navy2:#1b2b40;--teal:#1aa988;--teal-light:#e5f9f2;--red:#ed6377;--orange:#e9a34d;--shadow:0 12px 34px rgba(20,39,57,.035)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--page);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin:0}h1,h2,h3,.brand b,.money,.metric-number{font-family:Manrope,'DM Sans',sans-serif}a{color:#138b78}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--navy);color:#f4f7fa;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;padding:32px 16px 25px;z-index:5}.brand{display:flex;align-items:center;gap:11px;margin:0 7px 52px}.brand-symbol{width:43px;height:43px;border-radius:13px;background:#24394a;border:1px solid #3a5760;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;white-space:nowrap;letter-spacing:-1px}.brand-symbol span{color:#36d8b0;margin:0 2px}.brand b{font-size:18px;letter-spacing:-.9px;display:block}.brand small{color:#8094a9;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.sidebar-label{font-size:10px;color:#63778c;letter-spacing:1.5px;font-weight:800;margin:0 18px 14px}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.nav-item{color:#97a9bb;border:0;background:transparent;border-radius:10px;padding:13px 15px;text-align:left;display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700;transition:.15s}.nav-item:hover{background:#1b2d40;color:#fff}.nav-item.active{background:#253b4c;color:#f6fffd}.nav-item.active .nav-ico{color:#36d8b0}.nav-ico{font-size:22px;width:21px;text-align:center;line-height:1}.side-bottom{margin:auto 9px 0;padding:21px 14px 15px;background:#192a3d;border:1px solid #273b50;border-radius:15px}.side-bottom-icon{font-size:23px;color:#39dab4}.side-bottom p{line-height:1.7;color:#d3dde7;font-size:12px;margin:9px 0 20px}.side-bottom span{color:#6e8294;font-size:9px;letter-spacing:.4px}.workspace{margin-left:240px;min-width:0;width:calc(100% - 240px)}.topbar{height:89px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;padding:0 42px}.breadcrumb{display:flex;align-items:center;gap:14px;font-size:11px;color:#98a4b3;font-weight:700;letter-spacing:1.2px}.breadcrumb b{color:var(--ink);font-size:12px;letter-spacing:0}.slash{color:#cfd7df}.top-actions{display:flex;align-items:center;gap:20px}.status-chip{display:flex;align-items:center;gap:7px;color:#65768b;border:1px solid var(--line);padding:8px 12px;border-radius:25px;font-size:11px;font-weight:700;white-space:nowrap}.status-chip i{display:block;width:7px;height:7px;background:#e8ae50;border-radius:50%}.status-chip.synced i{background:#23b890}.status-chip.error i{background:#ed6377}.btn{border:0;padding:12px 18px;border-radius:10px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;transition:.2s;white-space:nowrap}.btn-primary{background:#1aa98b;color:#fff;box-shadow:0 5px 14px #1aa98b20}.btn-primary:hover{background:#148d75}.btn-secondary{background:#f0f4f7;color:#344458}.btn-ghost{background:transparent;color:#708095;border:1px solid #e5ebf0}.btn-danger{background:#fff0f2;color:#c13d52}.btn-sm{min-height:34px;padding:8px 11px}.plus{font-size:20px;font-weight:400;line-height:0}.page{max-width:1540px;margin:auto;padding:39px 42px 80px}.page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#94a3b5;font-weight:800;margin-bottom:9px}.page-title{font-size:30px;letter-spacing:-1.5px;font-weight:800;line-height:1.25}.subheading{margin-top:8px;color:#8b97a8;font-size:13px;line-height:1.7}.period-select,.field select,.field input,.field textarea{border:1px solid #e4eaf0;background:#fff;color:#25354a;border-radius:10px;outline:none}.period-select{padding:11px 13px;font-size:12px;font-weight:700}.period-select:focus,.field select:focus,.field input:focus,.field textarea:focus{border-color:#4dbb9e;box-shadow:0 0 0 3px #1aa98918}.balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:19px}.balance-card{min-height:196px;border-radius:16px;position:relative;overflow:hidden;padding:27px 29px;color:white;box-shadow:var(--shadow)}.balance-card.euro{background:linear-gradient(122deg,#1b3446,#112438 75%)}.balance-card.real{background:linear-gradient(128deg,#147c77,#0d5359 95%)}.balance-card:after{content:'';position:absolute;border:1px solid #ffffff16;width:280px;height:280px;right:-65px;top:-110px;border-radius:50%;box-shadow:0 0 0 56px #ffffff07,0 0 0 105px #ffffff06}.balance-label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;color:#d2e0e8;position:relative;z-index:1}.flag-coin{display:flex;justify-content:center;align-items:center;width:27px;height:27px;border-radius:50%;background:#ffffff25;color:#fff;font-size:15px}.balance-value{font-family:Manrope,sans-serif;font-size:36px;font-weight:800;letter-spacing:-1.9px;margin-top:25px;position:relative;z-index:1}.balance-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;color:#c0d8dc;font-size:11px;position:relative;z-index:1}.balance-foot strong{font-weight:700;color:#fff}.summary-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:19px;align-items:stretch}.panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}.panel-title{font-size:15px;font-weight:800;letter-spacing:-.4px}.panel-subtitle{font-size:11px;color:#98a4b3;margin-top:5px}.card-link{background:transparent;border:0;color:#16977e;font-weight:800;font-size:11px;white-space:nowrap}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mini-stat{background:#f8fafb;border:1px solid #f1f4f6;border-radius:11px;padding:17px 14px}.stat-label{font-size:11px;font-weight:700;color:#8190a1;display:flex;align-items:center;gap:7px}.stat-label .dot{width:7px;height:7px;border-radius:50%;background:#2bbc99}.stat-label .dot.red{background:#eb7281}.stat-label .dot.blue{background:#6d9be7}.mini-stat .val{font-size:20px;letter-spacing:-1px;font-family:Manrope,sans-serif;font-weight:800;margin-top:11px;white-space:nowrap}.thin-divider{border:0;border-top:1px solid var(--line);margin:22px 0}.analysis-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.segment{display:inline-flex;gap:2px;padding:3px;background:#f2f5f7;border-radius:9px}.segment button{border:0;border-radius:7px;padding:7px 11px;color:#8290a1;background:transparent;font-size:11px;font-weight:800}.segment button.active{background:#fff;color:#1e3043;box-shadow:0 2px 6px #21354716}.donut-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:16px;align-items:center;min-height:205px}.donut{width:178px;height:178px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(#e8edf1 0 100%);position:relative}.donut-hole{width:125px;height:125px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;text-align:center}.donut-hole span{font-size:10px;color:#a0acb8}.donut-hole b{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.6px}.legend{display:flex;flex-direction:column;gap:13px}.legend-row{display:flex;align-items:center;gap:9px;font-size:11px}.legend-row .legend-swatch{width:8px;height:8px;border-radius:3px;flex:none}.legend-row .name{color:#6c7b8b;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-row b{color:#344559;font-size:11px}.layout-bottom{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:19px;margin-top:19px}.activity-table{width:100%;border-collapse:collapse;text-align:left}.activity-table th{color:#9aa6b4;text-transform:uppercase;font-size:9px;letter-spacing:1.1px;font-weight:800;padding:14px 12px;border-bottom:1px solid var(--line)}.activity-table td{padding:14px 12px;border-bottom:1px solid #f0f3f5;font-size:12px;color:#647385}.activity-table tr:last-child td{border-bottom:0}.activity-table td:first-child,.activity-table th:first-child{padding-left:0}.activity-table td:last-child,.activity-table th:last-child{padding-right:0}.activity-table .amount{text-align:right;font-weight:800;color:#23384c;font-size:12px;white-space:nowrap}.activity-table .amount.positive{color:#1ea387}.activity-table .amount.negative{color:#d66b79}.activity-table .item-title{font-size:12px;font-weight:800;color:#26394e}.activity-table .item-note{font-size:10px;color:#99a5b1;margin-top:4px}.cat-ico{width:33px;height:33px;display:flex;justify-content:center;align-items:center;border-radius:10px;background:#eff5f6;font-size:16px;flex:none}.item-info{display:flex;align-items:center;gap:10px}.category-pill{display:inline-block;background:#f3f6f8;color:#758397;border-radius:15px;font-size:10px;padding:5px 8px;white-space:nowrap}.empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:#99a6b4}.empty .symbol{font-size:24px;color:#c1ccd6}.empty b{color:#5b697b}.empty p{font-size:11px;max-width:270px;line-height:1.6}.rate-badge{background:#edfaf6;color:#109b7d;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:800;display:inline-flex}.rate-line{display:flex;justify-content:space-between;gap:13px;padding:13px 0;border-bottom:1px solid #f0f3f5;font-size:12px}.rate-line:last-child{border:0}.rate-line span{color:#8593a3}.rate-line b{font-weight:800;color:#26384c}.muted{color:#93a0ae}.small{font-size:11px}.section-title{font-size:14px;margin:24px 0 13px}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-scroll{overflow:auto}.all-rows{min-width:660px}.action-row{display:flex;gap:7px;justify-content:flex-end}.icon-button{border:1px solid #e6ebf0;color:#78869a;background:#fff;border-radius:8px;min-width:29px;min-height:29px}.icon-button:hover{color:#112e43;border-color:#b8c8d4}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid .span2{grid-column:span 2}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;color:#607084;font-weight:800}.field input,.field select,.field textarea{width:100%;padding:12px 13px;min-height:43px}.field textarea{resize:vertical}.field-hint{font-size:10px;color:#97a4b1;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:span 2}.modal-wrap{position:fixed;inset:0;background:#101c2e91;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20;backdrop-filter:blur(4px)}.modal{background:#fff;border-radius:18px;box-shadow:0 22px 90px #0f263a45;width:min(525px,100%);max-height:min(91vh,850px);overflow:auto;padding:28px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:23px}.modal-header h2{font-size:20px;letter-spacing:-.7px}.modal-header p{font-size:12px;color:#90a0b0;margin-top:7px}.close{background:#f1f4f7;border:0;border-radius:9px;width:31px;height:31px;color:#6d7c8c}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.toggle-row{display:flex;gap:8px}.toggle-row button{flex:1;border:1px solid #e6ebf0;background:#fff;border-radius:9px;padding:10px 6px;color:#7e8b9b;font-size:11px;font-weight:800}.toggle-row button.active{color:#188c74;border-color:#7ad9be;background:#eefaf5}.notice{background:#f0f8f7;border:1px solid #d7ece7;color:#40665f;font-size:11px;line-height:1.6;border-radius:11px;padding:12px 14px}.notice.warn{background:#fff9ed;border-color:#f7e5c2;color:#a27a3d}.message{background:#f6f8fa;border:1px solid var(--line);padding:12px 14px;border-radius:9px;font-size:12px;color:#556779;line-height:1.7}.auth-row{display:flex;gap:8px;margin-top:15px}.auth-row input{flex:1}.tagbar{display:flex;flex-wrap:wrap;gap:7px}.tag{padding:8px 9px;border-radius:8px;background:#f5f7f9;color:#66778a;font-size:11px;font-weight:700}.big-number{font-size:28px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-1.3px}.period-analysis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.period-analysis .mini-stat{background:#fff}.foot-note{font-size:11px;line-height:1.6;color:#9ba8b5;margin-top:13px}.hint-strong{color:#298e7c}.toast{position:fixed;right:25px;bottom:25px;background:#163042;color:#fff;padding:12px 17px;border-radius:10px;box-shadow:0 12px 30px #263f4f33;font-size:12px;z-index:50;max-width:330px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:10px;font-weight:700;background:#f1f6f8;border-radius:9px;padding:8px 10px;color:#66768c}.shortcut-box{display:flex;justify-content:space-between;align-items:center;background:#f6f9fa;border-radius:11px;padding:15px}.shortcut-box span{color:#7c8c9b;font-size:11px}.shortcut-box b{font-size:12px}.conversion-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pwa-tip{font-size:11px;line-height:1.65;color:#8494a5}.mobile-nav{display:none}
@media(max-width:1260px){.summary-grid,.layout-bottom{grid-template-columns:1fr}.analysis-card .donut-layout{max-width:480px}.page{padding:32px 30px 75px}.topbar{padding:0 30px}}
@media(max-width:830px){.sidebar{width:190px;padding-left:10px;padding-right:10px}.workspace{margin-left:190px;width:calc(100% - 190px)}.page{padding:30px 20px 100px}.topbar{padding:0 20px}.top-actions{gap:8px}.balance-card{padding:21px}.balance-value{font-size:28px}}
@media(max-width:680px){.sidebar{display:none}.workspace{margin:0;width:100%}.topbar{height:63px;padding:0 20px}.breadcrumb{letter-spacing:.3px}.breadcrumb span:first-child{display:none}.breadcrumb .slash{display:none}.top-actions .btn{display:none}.status-chip{padding:7px 9px}.page{padding:27px 16px 104px}.page-title{font-size:25px}.page-intro{align-items:flex-start;margin-bottom:21px}.balance-grid{gap:10px}.balance-card{padding:19px 17px;min-height:157px;border-radius:14px}.balance-label{font-size:11px}.balance-value{font-size:23px;letter-spacing:-1px;margin-top:24px}.balance-foot{font-size:10px;margin-top:15px}.balance-foot strong{font-size:10px}.panel{padding:19px 16px}.mini-stat{padding:13px 9px}.mini-stat .val{font-size:15px}.stat-label{font-size:10px}.donut-layout{grid-template-columns:166px minmax(0,1fr);gap:4px}.donut{width:152px;height:152px}.donut-hole{width:106px;height:106px}.donut-hole b{font-size:14px}.legend-row{gap:5px;font-size:10px}.legend-row b{font-size:10px}.layout-bottom{gap:12px}.activity-table th:nth-child(3),.activity-table td:nth-child(3){display:none}.activity-table td{padding:12px 6px}.activity-table th{padding:12px 6px}.settings-grid{grid-template-columns:1fr}.settings-grid .span2{grid-column:span 1}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:76px;padding:5px 12px max(6px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-around;z-index:8;box-shadow:0 -9px 35px #172e4410}.mobile-nav button{border:0;background:transparent;color:#9aa6b3;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:2px;font-size:10px;font-weight:700;padding:6px 5px;min-width:52px}.mobile-nav button span{font-size:22px}.mobile-nav button.active{color:#159d7e}.mobile-nav .mobile-add{min-width:50px;background:#1ba988;border-radius:14px;color:white;box-shadow:0 5px 10px #17a38736;transform:translateY(-13px);height:49px}.mobile-nav .mobile-add span{font-size:29px}.modal-wrap{align-items:flex-end;padding:0}.modal{width:100%;max-height:94vh;border-radius:22px 22px 0 0;padding:25px 19px max(25px,env(safe-area-inset-bottom))}.form-grid{gap:10px}.conversion-summary{grid-template-columns:1fr}.empty{min-height:100px}}
@media(max-width:390px){.balance-card{min-height:143px;padding:14px}.balance-value{font-size:20px}.balance-foot{flex-direction:column;align-items:flex-start;gap:3px}.stat-row{gap:6px}.mini-stat .val{font-size:13px}.donut-layout{grid-template-columns:130px 1fr}.donut{height:122px;width:122px}.donut-hole{height:88px;width:88px}.donut-hole b{font-size:11px}}
