:root{--bg: #111111;--sidebar-bg: #171717;--card: #1e1e1e;--card-hover: #242424;--border: #2b2b2b;--border-hi: #3c3c3c;--orange: #ff5530;--orange-dim: rgba(255, 85, 48, .13);--text1: #f2f2f2;--text2: #888888;--text3: #555555;--green: #22c55e;--green-dim: rgba(34, 197, 94, .12);--red: #ef4444;--red-dim: rgba(239, 68, 68, .12);--blue: #3b82f6;--blue-dim: rgba(59, 130, 246, .12);--amber: #f59e0b;--shadow: 0 4px 24px rgba(0, 0, 0, .45);--sw: 228px}[data-theme=light]{--bg: #f0f2f5;--sidebar-bg: #ffffff;--card: #ffffff;--card-hover: #f7f8fa;--border: #e8eaed;--border-hi: #c8cbd0;--text1: #111111;--text2: #6b7280;--text3: #a0a5b0;--shadow: 0 4px 24px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text1);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13.5px;min-height:100vh}#root{min-height:100vh;width:100%}button,input,select,textarea{font:inherit}button{border:0}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:2px}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;left:0;padding:20px 0 16px;position:fixed;top:0;width:var(--sw);z-index:100}.s-logo{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;margin-bottom:14px;padding:0 18px 20px}.s-logo-icon{align-items:center;background:var(--orange);border-radius:10px;color:#fff;display:flex;height:34px;justify-content:center;width:34px}.s-logo-icon svg{height:18px;width:18px}.s-logo-name{font-size:17px;font-weight:800}.s-search{padding:0 10px 14px}.s-search-box{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text2);display:flex;font-size:12.5px;gap:8px;justify-content:space-between;padding:8px 11px}.s-kbd{background:var(--border);border-radius:4px;color:var(--text3);font-family:monospace;font-size:10px;padding:2px 5px}.s-nav{flex:1;overflow-y:auto;padding:0 8px}.s-section-label{color:var(--text3);font-size:10px;font-weight:800;letter-spacing:1px;padding:10px 10px 5px;text-transform:uppercase}.s-item{align-items:center;background:transparent;border:0;border-radius:10px;color:var(--text2);cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:9px;margin-bottom:1px;padding:8px 10px;text-align:left;width:100%}.s-item:hover{background:var(--card-hover);color:var(--text1)}.s-item.active{background:var(--orange-dim);color:var(--orange)}.s-item svg{height:16px;width:16px}.s-badge{background:var(--orange);border-radius:20px;color:#fff;font-size:9.5px;font-weight:800;margin-left:auto;min-width:18px;padding:1px 6px;text-align:center}.s-bottom{border-top:1px solid var(--border);margin-top:auto;padding:10px 10px 0}.upgrade-card{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:14px}.upgrade-title{font-weight:800;margin-bottom:3px}.upgrade-desc{color:var(--text2);font-size:11.5px;font-weight:600;line-height:1.45;margin-bottom:10px}.upgrade-row{align-items:center;display:flex;gap:8px}.btn-orange,.btn-add,.form-btn{background:var(--orange);border-radius:8px;color:#fff;cursor:pointer;font-weight:800;padding:6px 13px}.btn-add{background:var(--orange-dim);color:var(--orange);font-size:12px;padding:5px 11px}.btn-ghost{background:transparent;color:var(--text2);cursor:pointer;font-weight:700;padding:6px 8px}.main{display:flex;flex:1;flex-direction:column;margin-left:var(--sw);min-height:100vh;width:calc(100% - var(--sw))}.topbar{align-items:center;background:var(--bg);border-bottom:1px solid var(--border);display:flex;gap:12px;padding:13px 26px;position:sticky;top:0;z-index:90}.t-nav-btn,.icon-btn{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:9px;color:var(--text2);cursor:pointer;display:flex;height:34px;justify-content:center;position:relative;width:34px}.t-nav-btn:hover,.icon-btn:hover{border-color:var(--orange);color:var(--orange)}.icon-btn svg{height:15px;width:15px}.breadcrumb{align-items:center;color:var(--text2);display:flex;font-size:13px;font-weight:600;gap:6px}.crumb-active{color:var(--text1);font-weight:800}.t-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.currency-select,.lang-btn{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text1);cursor:pointer;font-size:12px;font-weight:800;min-height:34px;outline:none;padding:5px 10px}.currency-select{min-width:78px}.currency-select:hover,.currency-select:focus,.lang-btn:hover{border-color:var(--orange);color:var(--orange)}.notif-wrap{position:relative}.notif-count{align-items:center;background:var(--orange);border:1.5px solid var(--bg);border-radius:8px;color:#fff;display:flex;font-size:9px;font-weight:800;height:16px;justify-content:center;min-width:16px;padding:0 3px;position:absolute;right:-4px;top:-4px}.user-chip-wrap{position:relative}.user-chip{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:40px;color:var(--text1);cursor:pointer;display:flex;gap:9px;padding:4px 12px 4px 4px;position:relative;text-align:left}.u-avatar{align-items:center;background:var(--orange);border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:800;height:28px;justify-content:center;width:28px}.u-info{display:flex;flex-direction:column;line-height:1.3}.u-name{font-size:12px;font-weight:800}.u-email{color:var(--text2);font-size:10.5px;font-weight:600}.u-caret{color:var(--text3);height:13px;width:13px}.user-dropdown,.notif-menu{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);min-width:190px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:220}.ud-item{align-items:center;background:transparent;border-radius:8px;color:var(--text2);cursor:pointer;display:flex;font-size:12.5px;font-weight:700;gap:9px;padding:8px 10px;text-align:left;width:100%}.ud-item:hover{background:var(--card-hover);color:var(--text1)}.ud-item svg{height:14px;width:14px}.ud-item.danger{color:var(--red)}.ud-divider{background:var(--border);height:1px;margin:4px 0}.notif-menu{border-radius:14px;max-width:calc(100vw - 32px);min-width:330px;overflow:hidden;padding:0}.notif-head{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 14px}.notif-title{font-size:13px;font-weight:800}.notif-action{background:transparent;color:var(--orange);cursor:pointer;font-size:11.5px;font-weight:800}.notif-list{max-height:310px;overflow:auto}.notif-item{background:transparent;border-bottom:1px solid var(--border);color:var(--text1);cursor:pointer;display:flex;gap:10px;padding:12px 14px;text-align:left;width:100%}.notif-item:hover{background:var(--card-hover)}.notif-bullet{background:var(--border-hi);border-radius:50%;flex-shrink:0;height:8px;margin-top:5px;width:8px}.notif-item.unread .notif-bullet{background:var(--orange)}.notif-copy{display:flex;flex-direction:column;min-width:0}.notif-name{font-size:12.5px;font-weight:800}.notif-body{color:var(--text2);font-size:11.5px;line-height:1.4;margin-top:3px}.notif-time{color:var(--text3);font-size:10.5px;margin-top:5px}.content{flex:1;padding:22px 26px}.page-content{min-height:calc(100vh - 66px)}.page-title-wrap{align-items:center;display:flex;gap:12px}.page-icon{align-items:center;background:var(--orange-dim);border-radius:12px;color:var(--orange);display:flex;height:40px;justify-content:center;width:40px}.page-icon svg{height:19px;width:19px}.page-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.page-two-col{display:grid;gap:14px;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr)}.page-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px}.page-card-title{font-size:14px;font-weight:800;margin-bottom:14px}.page-card-body{display:flex;flex-direction:column;gap:9px}.kv-row{align-items:center;border-bottom:1px solid var(--border);color:var(--text2);display:flex;font-size:12.5px;font-weight:700;justify-content:space-between;padding:8px 0}.kv-row:last-child{border-bottom:0}.kv-row strong{color:var(--text1);font-weight:800;text-align:right}.sec-head{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:18px}.sec-title{font-size:17px;font-weight:800}.sec-sub{color:var(--text2);font-size:12.5px;font-weight:600;margin-top:3px}.sec-controls{display:flex;gap:8px}.ctrl-btn,.filter-btn{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:9px;color:var(--text1);cursor:pointer;display:flex;font-size:12.5px;font-weight:700;gap:6px;padding:6px 12px}.ctrl-btn.ghost{background:transparent;color:var(--text2)}.overview-grid{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:18px}.ov-card,.wallet-card,.spend-card,.chart-card,.stat-card,.cards-panel,.act-panel{background:var(--card);border:1px solid var(--border);border-radius:18px}.ov-card{cursor:pointer;padding:20px}.ov-card:hover,.stat-card:hover{border-color:var(--border-hi)}.ov-card.featured{background:var(--orange);border-color:transparent}.ov-card.featured .ov-label,.ov-card.featured .ov-sub,.ov-card.featured .ov-action{color:#ffffffbf}.ov-card.featured .ov-amount{color:#fff}.ov-top,.ov-foot{align-items:flex-start;display:flex;justify-content:space-between}.ov-label{color:var(--text2);font-size:13px;font-weight:700}.ov-sub{color:var(--text3);font-size:11.5px;font-weight:600;margin-top:3px}.ov-icon{align-items:center;background:var(--card-hover);border-radius:11px;display:flex;height:38px;justify-content:center;width:38px}.ov-icon svg{height:18px;width:18px}.ov-amount{font-size:26px;font-weight:800;margin:14px 0 10px}.badge-up,.badge-dn{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:800;gap:3px;padding:3px 9px}.badge-up{background:var(--green-dim);color:var(--green)}.badge-dn{background:var(--red-dim);color:var(--red)}.ov-action{align-items:center;color:var(--text2);display:flex;font-size:12px;font-weight:700;gap:3px}.ov-action svg{height:13px;width:13px}.mid-grid{display:grid;gap:14px;grid-template-columns:1fr 1.65fr;margin-bottom:18px}.left-col{display:flex;flex-direction:column;gap:14px}.wallet-card,.spend-card,.chart-card,.cards-panel,.act-panel{padding:20px}.wc-head,.spend-head,.cards-head,.act-head,.chart-head,.st-top{align-items:center;display:flex;justify-content:space-between}.wc-title,.spend-title,.cards-title,.act-title{font-size:14.5px;font-weight:800}.wc-rate{color:var(--text3);font-size:11.5px;font-weight:600;margin:4px 0 14px}.wallets-grid{display:grid;gap:9px;grid-template-columns:1fr 1fr}.w-item{background:var(--bg);border:1px solid var(--border);border-radius:13px;padding:13px}.span-2{grid-column:1 / -1}.w-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:7px}.w-currency{font-size:12.5px;font-weight:800}.w-dots,.t-dots{color:var(--text3);font-weight:800}.w-amount{font-size:15px;font-weight:800;margin-bottom:3px}.w-type{color:var(--text3);font-size:11px;font-weight:600;margin-bottom:6px}.w-status{border-radius:20px;display:inline-block;font-size:10.5px;font-weight:800;padding:2px 8px}.w-status.on{background:var(--green-dim);color:var(--green)}.w-status.off{background:var(--red-dim);color:var(--red)}.prog-wrap{background:var(--border);border-radius:4px;height:7px;margin-bottom:8px;overflow:hidden}.prog-fill{background:linear-gradient(90deg,var(--orange),#ff7a55);border-radius:4px;height:100%}.prog-fill.warn{background:linear-gradient(90deg,var(--amber),#fcd34d)}.prog-fill.danger{background:linear-gradient(90deg,var(--red),#f87171)}.spend-amounts{color:var(--text2);display:flex;font-size:11.5px;font-weight:600;justify-content:space-between}.spend-amounts strong{color:var(--text1)}.mini-link{background:transparent;color:var(--orange);cursor:pointer;font-size:12px;font-weight:800}.budget-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}.budget-item{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:10px 11px}.budget-row{align-items:center;display:flex;font-size:12px;font-weight:800;justify-content:space-between;margin-bottom:7px}.budget-meta{color:var(--text2);font-size:11px;font-weight:600}.chart-card{display:flex;flex-direction:column}.chart-label{color:var(--text2);font-size:12.5px;font-weight:700}.chart-amount{font-size:27px;font-weight:800;margin-top:4px}.chart-toggles{background:var(--bg);border:1px solid var(--border);border-radius:10px;display:flex;gap:4px;padding:3px}.c-toggle{background:transparent;border-radius:7px;color:var(--text2);cursor:pointer;font-size:12px;font-weight:800;padding:4px 12px}.c-toggle.active{background:var(--text1);color:var(--bg)}.chart-area{flex:1;height:240px;margin-top:14px;min-height:0;position:relative}.stats-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:18px}.stat-card{padding:16px}.st-label{color:var(--text2);font-size:12px;font-weight:700}.st-icon{align-items:center;border-radius:8px;display:flex;height:30px;justify-content:center;width:30px}.st-icon svg{height:15px;width:15px}.st-icon.o{background:var(--orange-dim);color:var(--orange)}.st-icon.r{background:var(--red-dim);color:var(--red)}.st-icon.g{background:var(--green-dim);color:var(--green)}.st-icon.b{background:var(--blue-dim);color:var(--blue)}.st-amount{font-size:22px;font-weight:800;margin:10px 0 4px}.st-change{font-size:11px;font-weight:700}.st-change.up{color:var(--green)}.st-change.dn{color:var(--red)}.bottom-grid{display:grid;gap:14px;grid-template-columns:260px 1fr}.cc{border-radius:15px;color:#fff;display:flex;flex-direction:column;height:110px;justify-content:space-between;margin-bottom:10px;overflow:hidden;padding:15px;position:relative}.cc.dark-card{background:linear-gradient(135deg,#1c1c1c,#2e2e2e)}.cc.org{background:linear-gradient(135deg,#ff5530,#ff8c6a)}.cc-top,.cc-bot,.cc-mc{align-items:center;display:flex;justify-content:space-between;position:relative;z-index:1}.cc-active{background:#ffffff1f;border-radius:4px;color:#ffffffb3;font-size:10px;font-weight:800;padding:2px 7px}.mc-r,.mc-y{border-radius:50%;height:20px;width:20px}.mc-r{background:#eb001b;margin-right:-7px}.mc-y{background:#f79e1b}.cc-wave{opacity:.45}.cc-field label{color:#ffffff73;display:block;font-size:9px;font-weight:700}.cc-field span{color:#ffffffeb;font-size:10.5px;font-weight:800}.act-head{margin-bottom:16px}.act-controls{display:flex;gap:8px}.search-wrap{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:9px;display:flex;gap:7px;padding:6px 11px}.search-wrap svg,.filter-btn svg{color:var(--text3);height:13px;width:13px}.search-wrap input{background:transparent;border:0;color:var(--text1);outline:none;width:140px}table{border-collapse:collapse;width:100%}thead th{border-bottom:1px solid var(--border);color:var(--text3);font-size:10px;font-weight:800;letter-spacing:.7px;padding:7px 10px;text-align:left;text-transform:uppercase}tbody td{border-bottom:1px solid var(--border);font-size:12.5px;padding:11px 10px;vertical-align:middle}tbody tr:hover td{background:var(--card-hover)}.t-check{accent-color:var(--orange);cursor:pointer;height:15px;width:15px}.act-cell{align-items:center;display:flex;gap:9px}.act-ico{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:9px;display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.act-name{font-weight:800}.act-note{color:var(--text3);font-size:11px}td.muted{color:var(--text2);font-size:12px;font-weight:600}td.bold{font-weight:800}.time{color:var(--text3);font-size:11px}.status-pill{align-items:center;display:inline-flex;font-size:11.5px;font-weight:700;gap:5px}.status-pill:before{border-radius:50%;content:"";height:6px;width:6px}.status-pill.income{color:var(--green)}.status-pill.income:before{background:var(--green)}.status-pill.expense{color:var(--red)}.status-pill.expense:before{background:var(--red)}.status-pill.transfer{color:var(--blue)}.status-pill.transfer:before{background:var(--blue)}.empty-state{color:var(--text3);padding:32px;text-align:center}.empty-state p{font-size:13px;font-weight:700}.empty-sub{font-size:11px!important;margin-top:4px}.theme-fab{align-items:center;background:var(--card);border:1.5px solid var(--border);border-radius:50%;bottom:28px;box-shadow:var(--shadow);color:var(--text1);cursor:pointer;display:flex;font-size:22px;height:50px;justify-content:center;position:fixed;right:28px;width:50px;z-index:999}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.auth-modal,.action-modal{background:var(--card);border:1px solid var(--border);border-radius:24px;box-shadow:0 20px 60px #00000080;max-width:calc(100vw - 32px);padding:36px;width:420px}.action-modal{border-radius:18px;max-height:calc(100vh - 32px);overflow:hidden;padding:0;width:520px}.modal-logo{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:28px}.modal-logo-icon{align-items:center;background:var(--orange);border-radius:12px;color:#fff;display:flex;font-weight:800;height:40px;justify-content:center;width:40px}.modal-logo-name{font-size:20px;font-weight:800}.modal-tabs{background:var(--bg);border:1px solid var(--border);border-radius:12px;display:flex;gap:4px;margin-bottom:24px;padding:4px}.modal-tab{background:transparent;border-radius:9px;color:var(--text2);cursor:pointer;flex:1;font-size:13px;font-weight:800;padding:8px}.modal-tab.active{background:var(--orange);color:#fff}.form-group{margin-bottom:16px}.form-label{color:var(--text2);display:block;font-size:12px;font-weight:800;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.form-input{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text1);font-size:13.5px;font-weight:600;outline:none;padding:10px 14px;width:100%}.form-input:focus{border-color:var(--orange)}.form-textarea{min-height:86px;resize:vertical}.form-btn{border-radius:10px;font-size:14px;margin-top:8px;padding:12px;width:100%}.form-btn.secondary{background:var(--bg);border:1px solid var(--border);color:var(--text1)}.form-error{background:var(--red-dim);border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--red);font-size:12.5px;font-weight:700;margin-bottom:14px;padding:10px 13px}.form-divider{align-items:center;color:var(--text3);display:flex;font-size:11px;font-weight:700;gap:10px;margin:16px 0}.form-divider:before,.form-divider:after{background:var(--border);content:"";flex:1;height:1px}.forgot-link{margin:-8px 0 12px;text-align:right}.forgot-link button{background:transparent;color:var(--orange);cursor:pointer;font-size:12px;font-weight:800}.action-head{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 20px}.action-title{font-size:16px;font-weight:800}.action-close{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text2);cursor:pointer;display:flex;font-size:18px;height:30px;justify-content:center;width:30px}.action-body{max-height:calc(100vh - 165px);overflow:auto;padding:20px}.form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-check{align-items:center;color:var(--text2);display:flex;font-size:12.5px;font-weight:700;gap:9px;margin:4px 0 12px}.form-check input{accent-color:var(--orange)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.modal-actions .form-btn{margin-top:0;padding:10px 16px;width:auto}.toast-container{bottom:90px;display:flex;flex-direction:column;gap:8px;position:fixed;right:28px;z-index:2000}.toast{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);display:flex;font-size:13px;font-weight:700;gap:10px;max-width:320px;padding:12px 16px}.toast.success{border-color:#22c55e4d;color:var(--green)}.toast.error{border-color:#ef44444d;color:var(--red)}.toast.info{color:var(--text1)}@media(max-width:1100px){.overview-grid,.mid-grid,.bottom-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){:root{--sw: 0px}body{display:block}.sidebar{transform:translate(-100%)}.main{margin-left:0}.topbar{gap:8px;padding:12px 14px}.breadcrumb,.u-info{display:none}.content{padding:16px 14px}.overview-grid,.stats-grid,.wallets-grid,.form-row{grid-template-columns:1fr}.act-head,.sec-head{align-items:flex-start;flex-direction:column;gap:12px}.act-controls{flex-wrap:wrap;width:100%}.search-wrap{flex:1}.search-wrap input{width:100%}.act-panel{overflow-x:auto}table{min-width:680px}.theme-fab{bottom:16px;right:16px}.toast-container{bottom:78px;left:16px;right:16px}.toast{max-width:none}}
