.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}.sidebar.collapsed{width:60px;padding:24px 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}.sidebar.collapsed .sidebar__branding{font-size:1.5rem;letter-spacing:1px}.sidebar__nav ul{list-style:none;padding:0;margin:0 0 32px}.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}.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}.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}.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}.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}.dashboard-layout{display:flex;min-height:100vh;background:#0a1016}.dashboard-main{flex:1;padding:32px 40px;background:#0a1016;color:#e0f7fa;border-left:2px solid #1a222b;min-width:0;overflow-x:auto}.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}.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}.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}.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}}
