.sidebar{background:#10141a;color:#3fffd6;font-family:Fira Mono,Consolas,monospace;width:270px;min-height:100vh;display:flex;flex-direction:column;padding:24px 16px;box-shadow:2px 0 12px #00fff7a0;transition:all .3s ease;position:relative;z-index:100}@media (max-width: 768px){.sidebar{display:none}}.sidebar.collapsed{width:60px;padding:24px 8px}@media (max-width: 768px){.sidebar.collapsed{width:240px;padding:12px 8px}}.sidebar__branding{font-size:2rem;font-weight:700;letter-spacing:2px;text-shadow:0 0 8px #00fff7,0 0 2px #fff;cursor:pointer;transition:all .3s ease;text-align:center}@media (max-width: 768px){.sidebar__branding{font-size:1.5rem;letter-spacing:1px;padding:8px 0}}.sidebar.collapsed .sidebar__branding{font-size:1.5rem;letter-spacing:1px}.sidebar__nav ul{list-style:none;padding:0;margin:0 0 32px}@media (max-width: 768px){.sidebar__nav ul{margin:0 0 16px}}.sidebar__nav li{padding:0;margin-bottom:6px}.sidebar__nav a{display:flex;align-items:center;gap:12px;color:#3fffd6;text-decoration:none;font-family:inherit;font-size:1rem;padding:10px 0 10px 8px;border-left:3px solid transparent;background:none;transition:all .2s ease;cursor:pointer}@media (max-width: 768px){.sidebar__nav a{padding:8px 0 8px 6px;gap:8px;font-size:.9rem}}.sidebar.collapsed .sidebar__nav a{padding:10px 0;justify-content:center}.sidebar__nav a svg{width:24px;height:24px;stroke:currentColor;transition:all .2s ease}@media (max-width: 768px){.sidebar__nav a svg{width:20px;height:20px}}.sidebar__nav a.active,.sidebar__nav a:hover,.sidebar__nav a:focus{color:#fff;border-left:3px solid #3fffd6;background:#3fffd614;outline:none}.sidebar__nav a.active svg,.sidebar__nav a:hover svg,.sidebar__nav a:focus svg{stroke:#fff;transform:scale(1.1)}.sidebar__external{margin-bottom:32px}.sidebar__external div{margin-bottom:10px;color:#ffb347;font-size:.95rem;cursor:pointer;transition:color .2s}.sidebar__external div:hover{color:#fff}.sidebar__user{margin-bottom:12px;display:flex;align-items:center;gap:12px;background:#3fffd612;padding:10px 8px;border-radius:8px;justify-content:center}@media (max-width: 768px){.sidebar__user{margin-bottom:8px;padding:8px 6px;gap:8px}}.sidebar.collapsed .sidebar__user{padding:10px 0}.user-avatar{background:#3fffd6;color:#10141a;font-weight:700;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 0 8px #3fffd6}@media (max-width: 768px){.user-avatar{width:28px;height:28px;font-size:.9rem}}.user-role{font-size:.85rem;color:#00fff7b0}.sidebar-link-btn{background:none;border:none;color:#3fffd6;font-family:inherit;font-size:1rem;cursor:pointer;padding:10px 0 10px 8px;width:100%;text-align:left;transition:color .2s,background .2s}.sidebar-link-btn:hover{color:#fff;background:#3fffd614}.mobile-nav{display:none}@media (max-width: 768px){.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#10141a;border-top:2px solid #3fffd6;box-shadow:0 -4px 20px #3fffd64d;z-index:1000;padding:8px 0;justify-content:space-around;align-items:center;font-family:Fira Mono,Consolas,monospace}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;color:#3fffd6;text-decoration:none;font-size:.75rem;transition:all .2s ease;flex:1;min-width:0}.mobile-nav a svg{width:24px;height:24px;stroke:currentColor;transition:all .2s ease}.mobile-nav a.active{color:#fff}.mobile-nav a.active svg{stroke:#fff;filter:drop-shadow(0 0 4px #3fffd6)}.mobile-nav a:active{transform:scale(.95)}.mobile-nav a span{font-weight:500;letter-spacing:.5px}}.dashboard-layout{display:flex;min-height:100vh;background:#0a1016;position:relative}.dashboard-main{flex:1;padding:32px 40px;background:#0a1016;color:#e0f7fa;border-left:2px solid #1a222b;min-width:0;overflow-x:auto;position:relative}@media (max-width: 768px){.dashboard-main{padding:12px 16px 80px;border-left:none;width:100%}}.personal-dashboard{width:100%;font-family:Fira Mono,Consolas,monospace}.dashboard-top{display:flex;align-items:center;gap:16px;margin-bottom:16px}.dashboard-month{font-size:1.5rem;color:#3fffd6;text-shadow:0 0 6px #00fff7;font-weight:700}.dashboard-summary{display:flex;gap:24px}.expenses-summary{display:flex;gap:12px;flex:1}.summary-card{background:#10141a;border:1px solid #3fffd6;border-radius:6px;padding:8px 12px;min-width:100px;text-align:center;box-shadow:0 0 8px #00fff7a0;flex:1}.summary-label{font-size:.8rem;color:#00fff7b0;margin-bottom:4px}.summary-value{font-size:1.1rem;color:#fff;font-weight:700;text-shadow:0 0 6px #3fffd6}.dashboard-main-content{display:flex;gap:32px}.dashboard-section{background:#131a22;border-radius:10px;padding:24px 20px;flex:1;box-shadow:0 0 8px #00fff7a0;min-width:0}.section-title{font-size:1.1rem;color:#3fffd6;margin-bottom:18px;font-weight:700;letter-spacing:1px;display:flex;align-items:center;gap:12px}.clear-filter-btn{background:transparent;border:1px solid #3fffd6;color:#3fffd6;width:22px;height:22px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;padding:0;margin:0;transition:all .2s ease;flex-shrink:0;vertical-align:middle}.clear-filter-btn:hover{background:#3fffd6;color:#10141a;box-shadow:0 0 8px #3fffd6}.expenses-table{width:100%;border-collapse:collapse;color:#fff;font-size:1rem}.expenses-table th,.expenses-table td{padding:8px 12px;border-bottom:1px solid #22303a}.expenses-table th{color:#3fffd6;font-weight:700;background:#10141a}.tag{display:inline-block;padding:2px 10px;border-radius:6px;font-size:.92em;font-weight:700;color:#10141a;background:#3fffd6;box-shadow:0 0 6px #3fffd6}.tag-food{background:#3fffd6;color:#10141a}.tag-subscription{background:#ffb347;color:#10141a}.tag-utilities{background:#ff5e5e;color:#fff}.tag-health{background:#7cffb2;color:#10141a}.tag-completed{background:#7cffb2;color:#10141a;box-shadow:0 0 6px #7cffb2}.tag-overdue{background:#ff5e5e;color:#fff;box-shadow:0 0 6px #ff5e5e}.terminal-bar{font-size:.9rem;color:#3fffd6;display:flex;align-items:center;gap:4px;width:33%;min-height:50px;background:#10141a;padding:4px 12px;border-radius:6px;box-shadow:0 0 8px #00fff7a0}.terminal-arrow{color:#7cffb2;font-weight:700;margin-right:4px}.month-btn{background:none;border:1px solid #3fffd6;color:#3fffd6;cursor:pointer;font-size:.85rem;border-radius:4px;transition:all .2s ease;width:50px;height:15px;display:flex;align-items:center;justify-content:center;line-height:1;margin-top:0}.month-btn:hover{background:#3fffd6;color:#10141a}.month-btn:disabled{opacity:.5;cursor:not-allowed}.month-name{min-width:100px;text-align:center;font-size:.85rem;color:#fff;font-weight:700;text-shadow:0 0 6px #3fffd6;line-height:1;padding:0 4px}.blinking-cursor{display:inline-block;width:10px;animation:blink 1s steps(1) infinite;color:#3fffd6;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.terminal-input-form{display:flex;align-items:center;background:#10141a;border-radius:8px;margin-bottom:0;padding:8px 20px;box-shadow:0 0 8px #00fff7a0;font-family:Fira Mono,Consolas,monospace;font-size:1.1rem;gap:6px}.terminal-input{background:transparent;border:none;outline:none;color:#fff;font-family:inherit;font-size:1.1rem;flex:1;padding:2px 0}.terminal-input::placeholder{color:#3fffd6a0;font-style:italic}.terminal-output{background:#10141a;color:#3fffd6;font-family:Fira Mono,Consolas,monospace;font-size:1.05rem;border-radius:8px;margin-bottom:18px;margin-top:0;padding:10px 20px 6px;min-height:32px;max-height:120px;overflow-y:auto;box-shadow:0 0 8px #00fff7a0}.terminal-output-line{white-space:pre-wrap;margin-bottom:2px}.todo-done-btn{background:#10141a;color:#3fffd6;border:1.5px solid #3fffd6;border-radius:4px;padding:2px 10px;font-size:.95rem;cursor:pointer;transition:background .2s,color .2s;margin-left:4px}.todo-done-btn:hover{background:#3fffd6;color:#10141a}@media (min-width: 769px){.desktop-graph,.desktop-chart{display:block}.mobile-graph,.mobile-chart{display:none}}@media (max-width: 768px){.personal-dashboard{padding:0}.dashboard-top{flex-direction:column;gap:12px;margin-bottom:12px}.terminal-bar{width:100%;font-size:.75rem;padding:8px 10px;min-height:40px;flex-wrap:wrap;justify-content:center}.desktop-only{display:none}.month-btn{width:40px;height:24px;font-size:.75rem}.month-name{min-width:80px;font-size:.75rem}.expenses-summary{flex-direction:column;gap:8px;width:100%}.summary-card{padding:10px 12px;min-width:auto}.summary-label{font-size:.7rem;margin-bottom:2px}.summary-value{font-size:1rem}.dashboard-main-content{flex-direction:column;gap:16px}.dashboard-section{padding:16px 12px;border-radius:8px}.section-title{font-size:.95rem;margin-bottom:12px}.expenses-table{font-size:.85rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.expenses-table thead{display:none}.expenses-table tbody{display:block}.expenses-table tr{display:block;background:#10141a;border:1px solid #3fffd6;border-radius:6px;margin-bottom:8px;padding:12px}.expenses-table td{display:block;padding:4px 0;border:none;text-align:left}.expenses-table td:before{content:attr(data-label) ": ";font-weight:700;color:#3fffd6;display:inline-block;min-width:80px}.expenses-table td:first-child{font-weight:700;color:#3fffd6;font-size:.9rem;margin-bottom:4px;padding-bottom:8px;border-bottom:1px solid #22303a}.expenses-table td:first-child:before{content:"#"}.desktop-graph,.desktop-chart{display:none}.mobile-graph,.mobile-chart{display:block}.income-expenses-mobile{background:#10141a;border-radius:10px;box-shadow:0 0 8px #00fff7a0;padding:12px;margin-bottom:16px}.mobile-graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mobile-graph-title{color:#3fffd6;font-weight:700;font-size:.9rem;letter-spacing:.5px}.mobile-toggle-btn{background:#1a1f2c;color:#3fffd6;border:1px solid #3fffd6;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:.75rem;font-family:Fira Mono,Consolas,monospace}.mobile-toggle-btn:active{background:#3fffd6;color:#10141a}.mobile-income-bar{background:#131a22;border:1px solid #22303a;border-radius:6px;padding:10px;margin-bottom:12px}.mobile-weekly-list{display:flex;flex-direction:column;gap:10px}.mobile-week-card{background:#131a22;border:1px solid #22303a;border-radius:6px;padding:10px}.week-period{color:#3fffd6;font-size:.8rem;font-weight:700;margin-bottom:8px}.week-bars{display:flex;flex-direction:column;gap:6px}.week-bar-row{display:flex;align-items:center;gap:8px}.week-label{color:#00fff7b0;font-size:.75rem;min-width:60px}.week-bar-container{flex:1;display:flex;align-items:center;gap:8px;position:relative}.week-bar{height:20px;border-radius:3px;min-width:4px;transition:width .3s ease}.income-bar{background:#7cffb2;box-shadow:0 0 6px #7cffb2}.expense-bar{background:#ff5e5e;box-shadow:0 0 6px #ff5e5e}.week-value{color:#fff;font-size:.8rem;font-weight:700;min-width:50px;text-align:right}.week-value.positive{color:#7cffb2}.week-value.negative{color:#ff5e5e}.category-expenses-mobile{background:#10141a;border-radius:10px;box-shadow:0 0 8px #00fff7a0;padding:12px;margin-bottom:16px}.mobile-category-list{display:flex;flex-direction:column;gap:10px}.mobile-category-card{background:#131a22;border:1px solid #22303a;border-radius:6px;padding:10px;transition:all .2s ease}.mobile-category-card.selected{border-color:#3fffd6;background:#1a222b;box-shadow:0 0 8px #3fffd64d}.mobile-category-card:active{transform:scale(.98)}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.category-name{color:#3fffd6;font-size:.85rem;font-weight:700}.category-percentage{color:#00fff7b0;font-size:.75rem;font-weight:700}.category-bar-container{display:flex;align-items:center;gap:8px;position:relative}.category-bar{height:24px;background:#ff5e5e;border-radius:3px;min-width:4px;box-shadow:0 0 6px #ff5e5e;transition:width .3s ease}.category-value{color:#fff;font-size:.85rem;font-weight:700;min-width:50px;text-align:right}.monthly-calendar-view{padding:10px!important}.calendar-grid{gap:3px!important}.calendar-header-cell{font-size:.7rem!important;padding:4px 0!important}.calendar-day-cell{height:50px!important;padding:3px!important}.day-number{font-size:.75rem!important}.expense-indicator{width:6px!important;height:6px!important;bottom:4px!important;right:4px!important}.expense-popout{min-width:150px!important;padding:8px!important;font-size:.8rem!important}.popout-date{font-size:.85rem!important;margin-bottom:6px!important}.popout-expense-list li{font-size:.75rem!important}}.monthly-calendar-view{width:100%;background-color:#131a22;padding:15px;border-radius:8px;box-shadow:0 0 8px #00fff7a0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-header-cell{text-align:center;padding:8px 0;font-weight:700;color:#3fffd6;font-size:.9rem}.calendar-day-cell{position:relative;height:70px;background-color:#10141a;border:1px solid #22303a;border-radius:4px;display:flex;flex-direction:column;align-items:flex-start;padding:5px;cursor:default;transition:background-color .2s ease}.calendar-day-cell.empty{background-color:transparent;border:none}.calendar-day-cell:hover{background-color:#1a222b}.day-number{font-size:.85rem;color:#e0f7fa;align-self:flex-start}.calendar-day-cell.has-expenses{background-color:#1f4948;border:1px solid #3fffd6;cursor:pointer}.calendar-day-cell.has-expenses:hover{background-color:#2a605e}.expense-indicator{width:8px;height:8px;background-color:#ff5e5e;border-radius:50%;position:absolute;bottom:8px;right:8px;box-shadow:0 0 5px #ff5e5e}.expense-popout{position:absolute;top:calc(100% + 5px);left:0;min-width:200px;background-color:#0a1016;border:1px solid #3fffd6;border-radius:6px;padding:12px;z-index:10;color:#e0f7fa;font-size:.9rem;box-shadow:0 4px 12px #0006;pointer-events:none}.popout-date{font-weight:700;color:#3fffd6;margin-bottom:8px;font-size:.95rem}.popout-total{margin-bottom:8px;color:#fff;font-weight:500}.popout-expense-list{list-style:none;padding:0;margin:0;max-height:150px;overflow-y:auto}.popout-expense-list li{margin-bottom:4px;font-size:.85rem;color:#c0f0f7}.popout-expense-list li:last-child{margin-bottom:0}.popout-expense-list::-webkit-scrollbar{width:6px}.popout-expense-list::-webkit-scrollbar-track{background:#131a22;border-radius:3px}.popout-expense-list::-webkit-scrollbar-thumb{background-color:#3fffd6;border-radius:3px}.popout-expense-list::-webkit-scrollbar-thumb:hover{background-color:#7cffb2}.calendar-loading{color:#3fffd6;text-align:center;padding:20px;font-style:italic}@media (max-width: 768px){.monthly-calendar-view{padding:10px!important}.calendar-grid{gap:3px!important}.calendar-header-cell{font-size:.7rem!important;padding:4px 0!important}.calendar-day-cell{height:50px!important;padding:3px!important;font-size:.75rem!important}.day-number{font-size:.7rem!important}.expense-indicator{width:6px!important;height:6px!important;bottom:4px!important;right:4px!important}.expense-popout{min-width:150px!important;max-width:90vw!important;padding:8px!important;font-size:.8rem!important;position:fixed!important;left:50%!important;transform:translate(-50%)!important;top:auto!important;bottom:100px!important}.popout-date{font-size:.85rem!important;margin-bottom:6px!important}.popout-expense-list{max-height:120px!important}.popout-expense-list li{font-size:.75rem!important}}.cli-page{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:32px;font-family:Fira Mono,Consolas,monospace}.cli-terminal{width:100%;max-width:900px;height:100%;max-height:800px;background:#0a1016;border:2px solid #3fffd6;border-radius:8px;box-shadow:0 0 20px #3fffd64d;display:flex;flex-direction:column;overflow:hidden}.cli-terminal-header{padding:16px 20px;border-bottom:1px solid #3fffd6;background:#10141a;flex-shrink:0}.cli-terminal-title{font-size:1.2rem;font-weight:700;color:#3fffd6;text-shadow:0 0 8px #00fff7;display:flex;align-items:center;gap:8px}.cli-prompt{color:#3fffd6;font-weight:700;margin-right:4px}.cli-terminal-output{flex:1;overflow-y:auto;padding:20px;font-size:.95rem;line-height:1.6;background:#0a1016;color:#e0f7fa;min-height:0}.cli-welcome{color:#3fffd6;opacity:.8;text-align:center;padding:60px 20px}.cli-welcome div:first-child{font-size:1.5rem;margin-bottom:16px;font-weight:700}.cli-welcome div:last-child{font-size:1rem;opacity:.7}.cli-output-line{margin-bottom:6px;word-wrap:break-word;color:#e0f7fa}.cli-output-line.error{color:#ff6b6b}.cli-terminal-input-form{display:flex;align-items:center;padding:16px 20px;border-top:1px solid #3fffd6;background:#10141a;gap:8px;flex-shrink:0}.cli-terminal-input{flex:1;background:transparent;border:none;border-bottom:1px solid #3fffd6;color:#3fffd6;font-family:Fira Mono,Consolas,monospace;font-size:1rem;padding:8px 4px;outline:none;transition:border-color .2s ease}.cli-terminal-input:focus{border-bottom-color:#00fff7;box-shadow:0 1px #3fffd680}.cli-terminal-input::placeholder{color:#3fffd6;opacity:.5}.cli-terminal-output::-webkit-scrollbar{width:8px}.cli-terminal-output::-webkit-scrollbar-track{background:#0a1016}.cli-terminal-output::-webkit-scrollbar-thumb{background:#3fffd6;border-radius:4px}.cli-terminal-output::-webkit-scrollbar-thumb:hover{background:#00fff7}@media (max-width: 768px){.cli-page{padding:16px}.cli-terminal{max-height:calc(100vh - 32px);border-radius:4px}.cli-terminal-header{padding:12px 16px}.cli-terminal-title{font-size:1rem}.cli-terminal-output{padding:16px;font-size:.85rem}.cli-terminal-input-form{padding:12px 16px}.cli-terminal-input{font-size:16px}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#1a1a1a;color:#0f0}.auth-box{background-color:#2a2a2a;padding:2rem;border-radius:8px;box-shadow:0 0 10px #0f03;width:100%;max-width:400px}.auth-box h1{text-align:center;margin-bottom:1.5rem;color:#0f0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem}.form-group input{width:100%;padding:.5rem;background-color:#1a1a1a;border:1px solid #00ff00;border-radius:4px;color:#0f0}.form-group input:focus{outline:none;border-color:#0f0;box-shadow:0 0 5px #00ff0080}button{width:100%;padding:.75rem;background-color:#0f0;color:#1a1a1a;border:none;border-radius:4px;cursor:pointer;font-weight:700;margin-top:1rem}button:hover{background-color:#0c0}button:disabled{background-color:#666;cursor:not-allowed}.error-message{color:red;background-color:#ff00001a;padding:.5rem;border-radius:4px;margin-bottom:1rem}.auth-link{text-align:center;margin-top:1rem}.auth-link button{background:none;border:none;color:#0f0;text-decoration:underline;padding:0;margin:0;width:auto}.auth-link button:hover{color:#0c0;background:none}body{margin:0;padding:0;font-family:Courier New,monospace;background-color:#000;color:#0f0;overflow-x:hidden}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:#0f0}.scanline{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent 50%,rgba(0,255,0,.1) 50%);background-size:100% 4px;pointer-events:none;z-index:9999;animation:scanline 8s linear infinite}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.terminal-cursor{display:inline-block;width:8px;height:16px;background-color:#0f0;animation:blink 1s step-end infinite}@keyframes blink{0%,to{background-color:transparent}50%{background-color:#0f0}}
