@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=DM+Sans:wght@400;500;600&display=swap";:root{--bg: #080c14;--surface: #0d1421;--surface2: #111827;--border: #1e2d45;--accent: #00ff88;--cyan: #00d4ff;--gold: #ffd700;--red: #ff4466;--text: #c8d8f0;--dim: #4a6080;--font-mono: "JetBrains Mono", monospace;--font-sans: "DM Sans", system-ui, sans-serif;--nav-w: 220px;--nav-h: 60px;--radius: 10px;--glow-accent: 0 0 16px #00ff8830;--glow-cyan: 0 0 16px #00d4ff30;--glow-gold: 0 0 16px #ffd70030;--glow-red: 0 0 16px #ff446630}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;background-image:radial-gradient(circle,#1e2d45 1px,transparent 1px);background-size:28px 28px;background-attachment:fixed}#app{display:flex;min-height:100vh}#sidebar{width:var(--nav-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;padding-bottom:8px}.sidebar-logo{padding:24px 20px 16px;border-bottom:1px solid var(--border)}.sidebar-logo .logo-label{font-family:var(--font-mono);font-size:11px;color:var(--dim);letter-spacing:.12em;text-transform:uppercase}.sidebar-logo .logo-name{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--accent);text-shadow:0 0 12px #00ff8860;letter-spacing:.04em}.nav-list{list-style:none;flex:1;padding:12px 0;overflow-y:auto}.nav-list li a{display:flex;align-items:center;gap:10px;padding:11px 20px;color:var(--dim);text-decoration:none;font-size:14px;font-weight:500;transition:color .15s,background .15s;border-left:3px solid transparent}.nav-list li a .nav-icon{font-size:16px}.nav-list li a:hover{color:var(--text);background:var(--surface2)}.nav-list li a.active{color:var(--accent);border-left-color:var(--accent);background:#00ff8808}.sidebar-credit{padding:12px 20px;border-top:1px solid var(--border)}#main{flex:1;margin-left:var(--nav-w);padding:28px 32px;min-height:100vh}#bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--nav-h);background:var(--surface);border-top:1px solid var(--border);z-index:200;justify-content:space-around;align-items:stretch}#bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--dim);text-decoration:none;font-size:10px;padding:4px 0;transition:color .15s}#bottom-nav a .nav-icon{font-size:20px}#bottom-nav a.active{color:var(--accent)}.section-header{font-family:var(--font-mono);font-size:12px;color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:8px}.section-header:before{content:"[";color:var(--accent)}.section-header:after{content:"]";color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:20px}.card.glow-accent{box-shadow:var(--glow-accent)}.card.glow-cyan{box-shadow:var(--glow-cyan)}.num{font-family:var(--font-mono);font-weight:700}.num-lg{font-family:var(--font-mono);font-size:36px;font-weight:700;letter-spacing:-.01em}.num-income{color:var(--gold);text-shadow:0 0 16px #ffd70060}.num-expense{color:var(--red);text-shadow:0 0 16px #ff446650}.num-profit{color:var(--accent);text-shadow:0 0 16px #00ff8850}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:7px;border:none;font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;min-height:44px;transition:filter .15s,box-shadow .15s}.btn:active{filter:brightness(.85)}.btn-accent{background:var(--accent);color:#080c14;box-shadow:0 0 12px #00ff8840}.btn-accent:hover{box-shadow:0 0 20px #00ff8870}.btn-cyan{background:var(--cyan);color:#080c14;box-shadow:0 0 12px #00d4ff40}.btn-cyan:hover{box-shadow:0 0 20px #00d4ff70}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-red{background:transparent;color:var(--red);border:1px solid var(--red);padding:6px 14px;min-height:36px}.btn-red:hover{background:#ff446615}.btn-sm{padding:6px 12px;min-height:36px;font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:20px}.form-full{grid-column:1 / -1}label{display:block;font-size:12px;font-family:var(--font-mono);color:var(--dim);letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}input,select,textarea{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:var(--font-mono);font-size:14px;padding:10px 14px;min-height:44px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #00ff8820}select option{background:var(--surface2)}textarea{resize:vertical;min-height:80px}input[type=number]{font-family:var(--font-mono)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{font-family:var(--font-mono);font-size:11px;color:var(--dim);text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid #1e2d4550;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:#1e2d4530}.td-mono{font-family:var(--font-mono)}.td-right{text-align:right}.badge{display:inline-block;font-family:var(--font-mono);font-size:10px;padding:2px 8px;border-radius:4px;letter-spacing:.08em}.badge-unpaid{background:#ff446620;color:var(--red);border:1px solid #ff446640}.badge-paid{background:#00ff8820;color:var(--accent);border:1px solid #00ff8840}.bar-wrap{margin:6px 0}.bar-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.bar-track{height:6px;background:var(--surface2);border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.fixed-expense-btns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.btn-fixed{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:12px 16px;border-radius:8px;cursor:pointer;min-height:52px;text-align:left;font-family:var(--font-sans);transition:border-color .15s,box-shadow .15s}.btn-fixed:hover{border-color:var(--cyan);box-shadow:0 0 10px #00d4ff30}.btn-fixed .name{font-size:13px;font-weight:600}.btn-fixed .price{font-family:var(--font-mono);font-size:12px;color:var(--red)}.dash-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center}.kpi-label{font-family:var(--font-mono);font-size:11px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.filter-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-tab{padding:6px 16px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--dim);font-size:13px;cursor:pointer;min-height:36px;transition:.15s}.filter-tab.active{background:#00ff8815;border-color:var(--accent);color:var(--accent)}.filter-tab:hover:not(.active){border-color:var(--text);color:var(--text)}.items-table-wrap{margin-bottom:12px}.item-row{display:grid;grid-template-columns:1fr 80px 120px 100px 44px;gap:8px;margin-bottom:8px;align-items:center}.item-row input{min-height:40px}.item-total{font-family:var(--font-mono);font-size:13px;color:var(--gold);text-align:right}.settings-panel{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-top:20px}.summary-table td.income{color:var(--gold);font-family:var(--font-mono)}.summary-table td.expense{color:var(--red);font-family:var(--font-mono)}.summary-table td.profit{color:var(--accent);font-family:var(--font-mono)}.summary-table td.profit.neg{color:var(--red)}.toggle-row{display:flex;align-items:center;gap:12px;margin:8px 0}.toggle{position:relative;width:40px;height:22px}.toggle input{opacity:0;width:0;height:0}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface2);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:.2s}.toggle input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle-track:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:.2s}.toggle input:checked+.toggle-track:after{transform:translate(18px)}.lohi-credit{display:block;font-family:var(--font-mono);font-size:10px;color:var(--dim);text-decoration:none;letter-spacing:.08em;transition:color .15s;padding:4px 0}.lohi-credit:hover{color:var(--accent)}.empty-msg{text-align:center;padding:48px 0;color:var(--dim);font-family:var(--font-mono);font-size:13px}.empty-msg:before{content:"// "}.alert{padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:16px}.alert-success{background:#00ff8815;border:1px solid #00ff8840;color:var(--accent)}.alert-error{background:#ff446615;border:1px solid #ff446640;color:var(--red)}@media (max-width: 768px){#sidebar{display:none}#bottom-nav{display:flex}#main{margin-left:0;padding:16px 16px calc(var(--nav-h) + 16px)}.dash-kpi-row{grid-template-columns:1fr 1fr}.num-lg{font-size:26px}.item-row{grid-template-columns:1fr 60px 90px 80px 36px;gap:6px}.form-grid{grid-template-columns:1fr}}@media (max-width: 480px){.dash-kpi-row{grid-template-columns:1fr}.item-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.item-row .item-total{grid-column:2;text-align:right}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--dim)}
