:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#f0f0f0;background-color:#1a202c;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}h2{color:#a0aec0}.sidebar{width:200px;height:100vh;position:fixed;top:0;left:0;background-color:#2d3748;border-right:1px solid #4a5568;padding:1rem;display:flex;flex-direction:column;transform:translate(0);transition:transform .2s ease;z-index:1100}.sidebar.closed{transform:translate(-100%)}.sidebar-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #4a5568;text-align:center}.sidebar-header h3{margin:0;font-size:1.5rem}.sidebar-header h3 a{color:#e2e8f0;text-decoration:none}.sidebar-header h3 a:hover{color:#fff}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav{flex:1}.sidebar-nav li{margin-bottom:.5rem}.sidebar-nav a{display:block;padding:.75rem 1rem;border-radius:6px;color:#cbd5e0;text-decoration:none;transition:background-color .2s ease-in-out,color .2s ease-in-out}.sidebar-nav a:hover{background-color:#4a5568;color:#fff}.sidebar-overlay{position:fixed;inset:0;background:#0006;z-index:1000}.sidebar-bottom-actions{display:grid;gap:.45rem;margin-top:.8rem;margin-bottom:1.5rem;padding-top:.55rem;border-top:1px solid #4a5568}.sidebar-bottom-actions button{width:100%;border:1px solid #4a5568;background:#1a202c;color:#e2e8f0;border-radius:8px;padding:.5rem .65rem;font-weight:700;cursor:pointer;text-align:left}.sidebar-bottom-actions button:hover{background:#2d3748}@media(min-width:900px){.sidebar{transform:translate(0)!important}.sidebar-overlay{display:none}}.dashboard{display:flex;flex-direction:column;gap:1.5rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.cards.three{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{background:#1f2937;border:1px solid #4a5568;border-radius:10px;padding:1.25rem}.card.positive .card-value{color:#48bb78}.card.negative .card-value{color:#f56565}.card-title{color:#cbd5e0;font-weight:700;margin-bottom:.35rem}.card-value{font-size:1.6rem;font-weight:800;color:#e2e8f0}.card-sub{color:#a0aec0;margin-top:.2rem}.fixed-card-toggle{margin-top:.75rem;border:1px solid #4a5568;background:#111827;color:#90cdf4;border-radius:8px;padding:.45rem .65rem;font-weight:700;cursor:pointer}.fixed-card-toggle:hover{background:#1f2937;color:#bfdbfe}.income-config-form{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:.4rem}.income-config-form input{border:1px solid #4a5568;background:#111827;color:#e2e8f0;border-radius:7px;padding:.45rem .55rem}.income-config-form button{border:1px solid #4a5568;background:#3182ce;color:#fff;border-radius:7px;padding:.45rem .65rem;font-weight:700;cursor:pointer}.income-config-form button:hover{background:#2b6cb0}.income-config-empty{margin:.6rem 0 0;color:#a0aec0}.income-config-list{list-style:none;margin:.6rem 0 0;padding:0;max-height:180px;overflow:auto}.income-config-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem;align-items:center;padding:.42rem 0;border-top:1px solid #374151}.income-config-list li:first-child{border-top:none}.income-config-list li span{color:#e2e8f0}.income-config-list li strong{color:#cbd5e0}.income-config-list li button{border:1px solid #4a5568;background:#111827;color:#e2e8f0;border-radius:7px;padding:.3rem .55rem;cursor:pointer}.income-config-list li button:hover{background:#1f2937}.income-modal-overlay{position:fixed;inset:0;z-index:1400;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem}.income-modal-card{width:min(760px,100%);max-height:calc(100vh - 2rem);background:#1f2937;border:1px solid #4a5568;border-radius:12px;box-shadow:0 18px 38px #00000073;padding:1rem;overflow:hidden}.income-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem;padding-bottom:.7rem;border-bottom:1px solid #4a5568}.income-modal-header h3{margin:0;color:#e2e8f0;font-size:1.1rem}.income-modal-header button{width:30px;height:30px;border:1px solid #4a5568;border-radius:6px;background:#111827;color:#cbd5e0;font-size:1.2rem;line-height:1;cursor:pointer}.income-modal-card .income-config-list,.income-modal-card .upcoming-list{max-height:calc(100vh - 13rem);overflow:auto;padding-right:.7rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#4a5568 #111827}.income-modal-card .upcoming-list li b,.income-modal-card .income-config-list li strong{margin-right:.25rem}.income-modal-card .income-config-list::-webkit-scrollbar,.income-modal-card .upcoming-list::-webkit-scrollbar{width:10px}.income-modal-card .income-config-list::-webkit-scrollbar-track,.income-modal-card .upcoming-list::-webkit-scrollbar-track{background:#111827;border-radius:10px}.income-modal-card .income-config-list::-webkit-scrollbar-thumb,.income-modal-card .upcoming-list::-webkit-scrollbar-thumb{background:#4a5568;border-radius:10px;border:2px solid #111827}.income-modal-card .income-config-list::-webkit-scrollbar-thumb:hover,.income-modal-card .upcoming-list::-webkit-scrollbar-thumb:hover{background:#3182ce}.dashboard-panels{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}.dashboard-right-stack{display:grid;gap:1rem;align-content:start}.dashboard-panel{background:#1f2937;border:1px solid #4a5568;border-radius:10px;padding:1rem 1.1rem}.dashboard-panel h3{margin:0;color:#e2e8f0}.panel-header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}.panel-total{color:#90cdf4;font-weight:700}.panel-empty{margin:0;color:#a0aec0}.upcoming-list{list-style:none;margin:0;padding:0}.upcoming-list li{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.65rem 0;border-top:1px solid #374151}.upcoming-list li:first-child{border-top:none}.upcoming-list li div{display:grid;gap:.2rem}.upcoming-list li strong{color:#e2e8f0}.upcoming-list li span{color:#94a3b8;font-size:.92rem}.upcoming-list li b{color:#fca5a5;white-space:nowrap}.show-more-upcoming{margin-top:.6rem;border:1px solid #4a5568;background:#111827;color:#90cdf4;border-radius:8px;padding:.45rem .7rem;font-weight:700;cursor:pointer}.show-more-upcoming:hover{background:#1f2937;color:#bfdbfe}.gauge-panel{display:grid;gap:.7rem}.gauge-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem}.gauge-wrap{position:relative;width:170px;height:170px}.gauge{display:block}.gauge-track{stroke:#22c55e}.gauge-progress{stroke:#ef4444;stroke-linecap:round}.gauge-center{position:absolute;inset:0;display:grid;place-items:center;text-align:center}.gauge-percent{color:#e2e8f0;font-size:1.55rem;font-weight:800;line-height:1}.gauge-label{color:#94a3b8;font-size:.85rem;margin-top:.2rem}.gauge-legend{width:100%;display:grid;grid-template-columns:1fr;gap:.45rem}.gauge-legend div{background:#111827;border:1px solid #374151;border-radius:8px;padding:.55rem .6rem;display:grid;gap:.15rem}.gauge-legend span{color:#94a3b8;font-size:.8rem}.gauge-legend strong{color:#e2e8f0;font-size:.96rem}.month-recap-panel{display:grid;gap:.55rem}.month-recap-header{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.month-recap-header h3{margin:0}.month-net-positive{color:#48bb78;font-size:1rem}.month-net-negative{color:#f56565;font-size:1rem}.month-recap-sub{margin:0;color:#94a3b8;font-size:.9rem}.month-recap-chart{height:140px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:.45rem;border-top:1px solid #374151;padding-top:.55rem}.month-bar-col{display:grid;justify-items:center;gap:.25rem}.month-bar{width:100%;max-width:34px;min-height:8px;border-radius:6px 6px 2px 2px}.month-bar.positive{background:linear-gradient(180deg,#4ade80,#16a34a)}.month-bar.negative{background:linear-gradient(180deg,#fb7185,#dc2626)}.month-bar-label{color:#94a3b8;font-size:.78rem;text-transform:lowercase}@media(max-width:1100px){.dashboard-panels{grid-template-columns:1fr}}@media(max-width:720px){.panel-header-row{flex-direction:column;align-items:flex-start}.income-config-form{grid-template-columns:1fr}.gauge-main{grid-template-columns:1fr;justify-items:center}.gauge-legend{grid-template-columns:1fr}.month-recap-chart{height:120px;gap:.35rem}}.expenses-page h2{margin:0 0 .2rem;font-size:1.5rem}.expenses-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:.55rem;gap:.65rem}.expenses-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.expenses-header button{padding:.55rem .9rem;border-radius:8px;border:1px solid #4a5568;background:#3182ce;color:#fff;font-weight:700;font-size:.93rem;cursor:pointer;align-self:flex-start;min-width:0}.expenses-header button:hover{background:#2b6cb0}.expenses-header button.secondary{background:#1a202c;color:#e2e8f0}.expenses-header button.secondary:hover{background:#2d3748}.expenses-container{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:.75rem;align-items:start;margin-top:0}.expenses-list-form,.expenses-calendar{min-width:0}.expenses-calendar h3{margin-top:0;margin-bottom:.35rem}.expense-list h3{margin:0 0 .55rem;font-size:1.05rem}.expenses-list-form form{background-color:#2d3748;padding:1rem;border-radius:8px;margin-bottom:1.25rem;max-width:420px}.expenses-list-form h3{margin-top:0;border-bottom:1px solid #4a5568;padding-bottom:.75rem;margin-bottom:.75rem;font-size:1.1rem}.expenses-list-form label{display:block;margin-bottom:.35rem;color:#a0aec0;font-size:.95rem}.expenses-list-form input,.expenses-list-form select{width:100%;padding:.6rem .65rem;border-radius:6px;border:1px solid #4a5568;background-color:#1a202c;color:#f0f0f0;margin-bottom:.85rem;font-size:.95rem;box-sizing:border-box}.expenses-list-form .actions{display:flex;gap:.4rem;margin-top:.5rem}.expenses-list-form .category-create{display:grid;grid-template-columns:1fr auto;gap:.45rem;margin-top:-.15rem;margin-bottom:.75rem}.expenses-list-form .category-create input{margin-bottom:0}.expenses-list-form .category-create button{flex:0;min-width:94px}.expenses-list-form .category-manage{margin-top:-.1rem;margin-bottom:.85rem;border:1px solid #4a5568;border-radius:8px;padding:.6rem;background:#1f2937}.expenses-list-form .category-manage-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#e2e8f0;font-weight:700;margin-bottom:.5rem}.expenses-list-form .category-manage ul{list-style:none;margin:0;padding:0}.expenses-list-form .category-manage li{display:grid;grid-template-columns:1fr auto;gap:.45rem;align-items:center;padding:.45rem 0;border-top:1px solid #374151}.expenses-list-form .category-manage li:first-child{border-top:none}.expenses-list-form .category-manage li span{color:#e2e8f0}.expenses-list-form .category-manage-actions{display:flex;gap:.35rem}.expenses-list-form .category-manage button,.expense-form-modal-card .category-manage button{flex:0;padding:.4rem .55rem;font-size:.85rem;min-width:88px}.expenses-list-form .category-manage li input{margin-bottom:0}.expenses-list-form .flow-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:.85rem}.expenses-list-form .flow-toggle button{padding:.55rem .7rem;border-radius:6px;border:1px solid #4a5568;background:#1a202c;color:#cbd5e0;font-weight:700}.expenses-list-form .flow-toggle button.active{background:#3182ce;color:#fff;border-color:#3182ce}.expenses-list-form button{flex:1;padding:.6rem;border:none;border-radius:6px;background-color:#3182ce;color:#fff;font-weight:700;cursor:pointer;transition:background-color .2s;font-size:.95rem}.expenses-list-form button:hover{background-color:#2b6cb0}.expenses-list-form button.secondary{background-color:transparent;border:1px solid #4a5568}.expenses-list-form button.accent{background-color:#38a169}.expense-accordion{border:1px solid #4a5568;border-radius:8px;margin-bottom:.75rem;overflow:hidden}.accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;background:#1f2937;color:#e2e8f0;padding:.6rem .9rem;border:none;cursor:pointer;font-weight:700;gap:.5rem;font-size:.95rem}.accordion-header--one-time{background:#2563eb}.accordion-header--monthly{background:#16a34a}.accordion-header--credit{background:#a855f7}.accordion-header .accordion-title{min-width:0;text-align:left}.accordion-header .accordion-right{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem}.accordion-header .accordion-total{color:#bfdbfe;font-size:.88rem;font-weight:700;white-space:nowrap}.accordion-header .badge{background:#4a5568;color:#f7fafc;border-radius:999px;padding:.1rem .55rem;font-size:.85rem}.accordion-header .chevron{color:#cbd5e0}.expenses-calendar .fc{color:#f0f0f0}.expenses-calendar .fc .fc-col-header-cell-cushion,.expenses-calendar .fc .fc-daygrid-day-number{color:#cbd5e0;text-decoration:none;font-size:.9rem}.expenses-calendar .fc .fc-col-header-cell{background:#1f2937}.expenses-calendar .fc .fc-col-header-cell-cushion{font-weight:700;padding:.45rem .2rem;text-transform:lowercase}.expenses-calendar .fc .fc-daygrid-day.fc-day-today{background-color:#3182ce4d}.expenses-calendar .fc .fc-daygrid-day-frame{min-height:108px;padding-bottom:.2rem}.expenses-calendar .fc .fc-daygrid-day-events{margin-bottom:0;margin-top:0rem}.expenses-calendar .fc .fc-daygrid-day-bottom{margin-top:.1rem;padding-top:.1rem}.expenses-calendar .fc-event{background-color:#3182ce;border-color:#3182ce;font-size:.75rem;border-radius:6px;padding:1px 2px;cursor:pointer}.expenses-calendar .fc-event:hover{background-color:#2b6cb0;border-color:#2b6cb0}.expenses-calendar .fc-toolbar-title{color:#e2e8f0;font-size:2rem}.expenses-calendar .fc .fc-toolbar.fc-header-toolbar{margin-bottom:.35rem}.expenses-calendar .fc-button{background-color:#2d3748;border-color:#4a5568;color:#e2e8f0;font-size:.78rem;padding:.2rem .4rem;line-height:1.1;min-height:28px}.expenses-calendar .fc .fc-button-group>.fc-button{min-width:32px}.expenses-calendar .fc .fc-icon{font-size:.95em}.expenses-calendar .fc-button:hover{background-color:#4a5568}.expenses-calendar table.fc-scrollgrid{border-color:#4a5568;border-radius:10px;overflow:hidden}.expenses-calendar .fc .fc-scroller{scrollbar-width:none;-ms-overflow-style:none}.expenses-calendar .fc .fc-scroller::-webkit-scrollbar{display:none}.expenses-calendar .fc-scrollgrid,.expenses-calendar .fc-scrollgrid-section-header,.expenses-calendar .fc-scrollgrid-section-body{border-bottom:1px solid #4a5568}.expenses-calendar .fc-theme-standard td,.expenses-calendar .fc-theme-standard th{border-color:#4a5568}.expenses-calendar .fc .fc-daygrid-day.fc-day-disabled,.expenses-calendar .fc .fc-cell-shaded{background:#111827}.expenses-calendar .fc-daygrid-more-link{color:#90cdf4;font-weight:700}.expenses-calendar .fc-daygrid-more-link:hover{color:#bee3f8}.expenses-calendar .fc-popover{border:1px solid #4a5568;border-radius:10px;background:#1f2937;box-shadow:0 18px 38px #00000073;overflow:hidden}.expenses-calendar .fc-popover-header{background:#2d3748;color:#e2e8f0;border-bottom:1px solid #4a5568;padding:.5rem .65rem}.expenses-calendar .fc-popover-title{font-weight:700}.expenses-calendar .fc-popover-close{color:#cbd5e0;opacity:1}.expenses-calendar .fc-popover-close:hover{color:#fff}.expenses-calendar .fc-popover-body{padding:.45rem;background:#1f2937}.expenses-calendar .fc-popover .fc-daygrid-event-harness{margin:.25rem 0}.calendar-detail-overlay{position:fixed;inset:0;z-index:1400;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem}.calendar-detail-card{width:min(460px,100%);background:#1f2937;border:1px solid #4a5568;border-radius:12px;box-shadow:0 18px 38px #00000073;padding:1rem}.calendar-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem;padding-bottom:.7rem;border-bottom:1px solid #4a5568}.calendar-detail-header h4{margin:0;color:#e2e8f0;font-size:1.1rem}.calendar-detail-header button{width:30px;height:30px;border:1px solid #4a5568;border-radius:6px;background:#111827;color:#cbd5e0;font-size:1.2rem;line-height:1;cursor:pointer}.calendar-detail-line{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.55rem}.calendar-detail-line span,.calendar-detail-desc span{color:#94a3b8}.calendar-detail-line strong{color:#e2e8f0;font-weight:700}.calendar-detail-desc p{margin:0;color:#e2e8f0;text-align:right}.calendar-detail-desc{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.expense-list ul{list-style:none;padding:0;margin:0}.expense-card{background:#2d3748;border-top:1px solid #4a5568;padding:.8rem;display:flex;justify-content:space-between;gap:.9rem}.expense-title{font-weight:700;font-size:1rem}.expense-meta{color:#a0aec0;font-size:.9rem}.expense-desc{margin-top:.2rem;font-size:.92rem}.expense-actions{display:flex;flex-direction:column;gap:.2rem;min-width:64px;align-items:center}.expense-actions button{padding:.2rem;border:none;background:transparent;color:#f0f0f0;cursor:pointer;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;gap:.3rem}.expense-actions button:hover{color:#93c5fd}.expense-actions button.secondary{background:transparent}.expense-actions button.danger{color:#fca5a5;border:none;background:transparent;box-shadow:none;outline:none;border-radius:0;appearance:none;-webkit-appearance:none}.expense-actions button.danger .btn-icon{color:#ef4444}.expense-actions button.danger:focus,.expense-actions button.danger:focus-visible{outline:none;box-shadow:none}.expense-actions .btn-icon{font-size:1.25rem;line-height:1}.expense-actions button.accent{background:#38a169;border-color:#38a169;color:#0f172a;font-weight:700}.expense-group-modal-overlay{position:fixed;inset:0;z-index:1400;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem}.expense-group-modal-card{width:min(920px,100%);max-height:calc(100vh - 2rem);background:#1f2937;border:1px solid #4a5568;border-radius:12px;box-shadow:0 18px 38px #00000073;padding:1rem;overflow:hidden}.expense-group-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.6rem;padding-bottom:.6rem;border-bottom:1px solid #4a5568}.expense-group-modal-header h4{margin:0;color:#e2e8f0;font-size:1.1rem}.expense-group-modal-header button{flex:0 0 auto;margin-left:auto;width:auto;height:auto;border:none;border-radius:0;background:transparent;color:#cbd5e0;font-size:1.4rem;line-height:1;cursor:pointer;padding:0}.expense-group-modal-meta{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.6rem;color:#bfdbfe;font-weight:700}.expense-group-modal-list{max-height:calc(100vh - 12rem);overflow:auto;scrollbar-width:thin;scrollbar-color:#4a5568 #111827;padding-right:.25rem;scrollbar-gutter:stable}.expense-group-modal-list::-webkit-scrollbar{width:10px}.expense-group-modal-list::-webkit-scrollbar-track{background:#111827;border-radius:10px}.expense-group-modal-list::-webkit-scrollbar-thumb{background:#4a5568;border-radius:10px;border:2px solid #111827}.expense-group-modal-list::-webkit-scrollbar-thumb:hover{background:#3182ce}.expense-form-modal-overlay{position:fixed;inset:0;z-index:1450;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem}.expense-form-modal-card{width:min(520px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#1f2937;border:1px solid #4a5568;border-radius:12px;box-shadow:0 18px 38px #00000073;padding:.9rem}.expense-form-modal-card form{background-color:#2d3748;padding:1rem;border-radius:8px;margin-bottom:0;max-width:none}.expense-form-modal-card h3{margin-top:0;border-bottom:1px solid #4a5568;padding-bottom:.75rem;margin-bottom:.75rem;font-size:1.1rem}.expense-form-modal-card label{display:block;margin-bottom:.35rem;color:#a0aec0;font-size:.95rem}.expense-form-modal-card input,.expense-form-modal-card select{width:100%;padding:.6rem .65rem;border-radius:6px;border:1px solid #4a5568;background-color:#1a202c;color:#f0f0f0;margin-bottom:.85rem;font-size:.95rem;box-sizing:border-box}.expense-form-modal-card .actions{display:flex;gap:.4rem;margin-top:.5rem}.expense-form-modal-card .category-create{display:grid;grid-template-columns:1fr auto;gap:.45rem;margin-top:-.15rem;margin-bottom:.75rem}.expense-form-modal-card .category-create input{margin-bottom:0}.expense-form-modal-card .category-create button{flex:0;min-width:94px}.expense-form-modal-card .category-manage{margin-top:-.1rem;margin-bottom:.85rem;border:1px solid #4a5568;border-radius:8px;padding:.6rem;background:#1f2937}.expense-form-modal-card .category-manage-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#e2e8f0;font-weight:700;margin-bottom:.5rem}.expense-form-modal-card .category-manage ul{list-style:none;margin:0;padding:0}.expense-form-modal-card .category-manage li{display:grid;grid-template-columns:1fr auto;gap:.45rem;align-items:center;padding:.45rem 0;border-top:1px solid #374151}.expense-form-modal-card .category-manage li:first-child{border-top:none}.expense-form-modal-card .category-manage li span{color:#e2e8f0}.expense-form-modal-card .category-manage-actions{display:flex;gap:.35rem}.expense-form-modal-card .category-manage li input{margin-bottom:0}.expense-form-modal-card button{flex:1;padding:.6rem;border:none;border-radius:6px;background-color:#3182ce;color:#fff;font-weight:700;cursor:pointer;transition:background-color .2s;font-size:.95rem}.expense-form-modal-card button:hover{background-color:#2b6cb0}.expense-form-modal-card button.secondary{background-color:transparent;border:1px solid #4a5568}@media(max-width:1100px){.expenses-container{grid-template-columns:1fr}.expenses-list-form form{max-width:none}}.todo-container{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:.75rem;align-items:start}.todo-left,.todo-right{min-width:0}.todo-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:.55rem;gap:.65rem}.todo-header h2{margin:0}.todo-header button{padding:.55rem .9rem;border-radius:8px;border:1px solid #4a5568;background:#3182ce;color:#fff;font-weight:700;cursor:pointer}.todo-header button:hover{background:#2b6cb0}.todo-form-card,.todo-list-card{background-color:#2d3748;border:1px solid #4a5568;border-radius:8px;padding:.75rem;margin-bottom:.75rem}.todo-list-card{display:flex;flex-direction:column;max-height:calc(100vh - 190px)}.todo-form-modal-overlay{position:fixed;inset:0;z-index:1450;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem}.todo-form-modal-card{width:min(460px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#1f2937;border:1px solid #4a5568;border-radius:12px;box-shadow:0 18px 38px #00000073;padding:.7rem}.todo-form-modal-card .todo-form-card{margin-bottom:0}.todo-form-card h3,.todo-list-card h3{margin-top:0;border-bottom:1px solid #4a5568;padding-bottom:.5rem;margin-bottom:.55rem;font-size:1.05rem}.todo-form-card label{display:block;margin-bottom:.2rem;color:#a0aec0;font-size:.92rem}.todo-date-range-toggle{margin-bottom:.45rem}.todo-date-range-toggle label{display:inline-flex;align-items:center;gap:.45rem;color:#cbd5e0;font-size:.88rem;margin-bottom:0}.todo-date-range-toggle input[type=checkbox]{width:auto;margin:0;transform:translateY(.5px)}.todo-form-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid #4a5568;padding-bottom:.5rem;margin-bottom:.55rem}.todo-form-header-row h3{margin:0;border-bottom:none;padding-bottom:0;font-size:1.05rem}.todo-color-picker-wrap{position:relative;margin-left:auto}.todo-color-current{width:24px;height:24px;border-radius:999px;border:1px solid rgba(255,255,255,.7);padding:0;cursor:pointer}.todo-color-presets{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;display:inline-flex;align-items:center;gap:.38rem;padding:.32rem .38rem;border:1px solid #4a5568;border-radius:999px;background:#1f2937}.todo-color-swatch{width:20px;height:20px;border-radius:999px;border:1px solid rgba(255,255,255,.45);cursor:pointer;padding:0}.todo-color-swatch.selected{outline:2px solid #e2e8f0;outline-offset:1px}.todo-color-swatch.multi{border:1px solid rgba(255,255,255,.55);background:linear-gradient(135deg,#ef4444,#f97316,#eab308,#22c55e,#06b6d4 72%,#3b82f6 88%,#a855f7)}.todo-color-hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.todo-form-card input{width:100%;padding:.5rem .6rem;border-radius:6px;border:1px solid #4a5568;background-color:#1a202c;color:#f0f0f0;margin-bottom:.55rem;box-sizing:border-box;font-size:.93rem}.todo-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:1rem}.todo-date-field label{margin-bottom:.2rem}.todo-date-field input{margin-bottom:0}.todo-form-actions{display:flex;gap:.35rem;margin-top:.15rem}.todo-form-actions button{flex:1;padding:.5rem;border:none;border-radius:6px;background-color:#3182ce;color:#fff;font-weight:700;cursor:pointer;font-size:.93rem}.todo-form-actions button:hover{background-color:#2b6cb0}.todo-form-actions button.secondary{background:transparent;border:1px solid #4a5568}.todo-list-card ul{list-style:none;margin:0;padding:0}.todo-list-scroll{min-height:0;overflow-y:auto;padding-right:.2rem;scrollbar-width:thin;scrollbar-color:#4a5568 #111827}.todo-list-scroll::-webkit-scrollbar{width:9px}.todo-list-scroll::-webkit-scrollbar-track{background:#111827;border-radius:9px}.todo-list-scroll::-webkit-scrollbar-thumb{background:#4a5568;border-radius:9px;border:2px solid #111827}.todo-list-scroll::-webkit-scrollbar-thumb:hover{background:#3182ce}.todo-item{display:flex;justify-content:space-between;gap:.8rem;border-top:1px solid #4a5568;padding:.75rem 0}.todo-item:first-child{border-top:none;padding-top:.1rem}.todo-title{font-weight:700;font-size:1rem}.todo-title-wrap{display:inline-flex;align-items:center;gap:.4rem}.todo-color-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.35);flex:0 0 auto}.todo-meta{color:#a0aec0;font-size:.9rem}.todo-desc{margin-top:.2rem}.todo-actions{display:flex;flex-direction:column;gap:.2rem;min-width:64px;align-items:center}.todo-actions button{padding:.2rem;border:none;background:transparent;color:#f0f0f0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.todo-actions button:hover{color:#93c5fd}.todo-actions button.secondary{background:transparent}.todo-actions button.danger{color:#fca5a5;border:none;background:transparent;box-shadow:none;outline:none;border-radius:0;appearance:none;-webkit-appearance:none}.todo-actions button.danger .btn-icon{color:#ef4444}.todo-actions .btn-icon{font-size:1.25rem;line-height:1}.todo-actions button.danger:focus,.todo-actions button.danger:focus-visible{outline:none;box-shadow:none}.todo-right .fc{color:#f0f0f0}.todo-right .fc .fc-col-header-cell{background:#1f2937}.todo-right .fc .fc-col-header-cell-cushion,.todo-right .fc .fc-daygrid-day-number{color:#cbd5e0;text-decoration:none;font-size:.9rem}.todo-right .fc .fc-col-header-cell-cushion{font-weight:700;padding:.45rem .2rem;text-transform:lowercase}.todo-right .fc .fc-daygrid-day.fc-day-today{background-color:#3182ce4d}.todo-right .fc .fc-daygrid-day-frame{min-height:108px;padding-bottom:.2rem}.todo-right .fc .fc-daygrid-day-events{margin-bottom:0;margin-top:0}.todo-right .fc .fc-daygrid-day-bottom{margin-top:.1rem;padding-top:.1rem}.todo-right .fc-event{background-color:#3182ce;border-color:#3182ce;border-radius:6px;font-size:.75rem;padding:1px 2px;cursor:pointer}.todo-right .fc-event:hover{background-color:#2b6cb0;border-color:#2b6cb0}.todo-right .fc-toolbar-title{color:#e2e8f0;font-size:2rem}.todo-right .fc .fc-toolbar.fc-header-toolbar{margin-bottom:.35rem}.todo-right .fc-button{background-color:#2d3748;border-color:#4a5568;color:#e2e8f0;font-size:.78rem;padding:.2rem .4rem;line-height:1.1;min-height:28px}.todo-right .fc .fc-button-group>.fc-button{min-width:32px}.todo-right .fc .fc-icon{font-size:.95em}.todo-right .fc-button:hover{background-color:#4a5568}.todo-right table.fc-scrollgrid{border-color:#4a5568;border-radius:10px;overflow:hidden}.todo-right .fc .fc-scroller{scrollbar-width:none;-ms-overflow-style:none}.todo-right .fc .fc-scroller::-webkit-scrollbar{display:none}.todo-right .fc-scrollgrid,.todo-right .fc-scrollgrid-section-header,.todo-right .fc-scrollgrid-section-body{border-bottom:1px solid #4a5568}.todo-right .fc-theme-standard td,.todo-right .fc-theme-standard th{border-color:#4a5568}.todo-right .fc .fc-daygrid-day.fc-day-disabled,.todo-right .fc .fc-cell-shaded{background:#111827}.todo-right .fc-daygrid-more-link{color:#90cdf4;font-weight:700}.todo-right .fc-daygrid-more-link:hover{color:#bee3f8}.todo-right .fc-popover{border:1px solid #4a5568;border-radius:10px;background:#1f2937;box-shadow:0 18px 38px #00000073;overflow:hidden}.todo-right .fc-popover-header{background:#2d3748;color:#e2e8f0;border-bottom:1px solid #4a5568;padding:.5rem .65rem}.todo-right .fc-popover-title{font-weight:700}.todo-right .fc-popover-close{color:#cbd5e0;opacity:1}.todo-right .fc-popover-close:hover{color:#fff}.todo-right .fc-popover-body{padding:.45rem;background:#1f2937}.todo-right .fc-popover .fc-daygrid-event-harness{margin:.25rem 0}@media(max-width:1100px){.todo-container,.todo-date-grid{grid-template-columns:1fr}}.todo-detail-overlay{position:fixed;inset:0;z-index:1400;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem}.todo-detail-card{width:min(460px,100%);background:#1f2937;border:1px solid #4a5568;border-radius:12px;box-shadow:0 18px 38px #00000073;padding:1rem}.todo-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem;padding-bottom:.7rem;border-bottom:1px solid #4a5568}.todo-detail-header h4{margin:0;color:#e2e8f0;font-size:1.1rem}.todo-detail-header button{width:30px;height:30px;border:1px solid #4a5568;border-radius:6px;background:#111827;color:#cbd5e0;font-size:1.2rem;line-height:1;cursor:pointer}.todo-detail-line{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.55rem}.todo-detail-line span,.todo-detail-desc span{color:#94a3b8}.todo-detail-line strong{color:#e2e8f0;font-weight:700}.todo-detail-desc p{margin:0;color:#e2e8f0;text-align:right}.todo-detail-desc{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.app-container{display:flex}.burger{position:fixed;top:1rem;left:1rem;width:42px;height:38px;border:1px solid #4a5568;border-radius:8px;background:#1f2937;display:none;flex-direction:column;justify-content:center;gap:6px;padding:8px;z-index:1200;cursor:pointer}.burger span{display:block;height:3px;background:#e2e8f0;border-radius:3px}.main-content{padding:.55rem 2rem 2rem;width:100%;transition:margin-left .2s ease}.main-content.shifted{margin-left:220px}.main-content.full{margin-left:0}@media(max-width:899px){.burger{display:flex}.main-content{margin-left:0!important;padding-top:3.4rem}}
