*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--light-color)}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard h1{color:var(--dark-color);margin-bottom:2rem;text-align:center}.dashboard-content{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.dashboard-content{grid-template-columns:repeat(2,1fr)}}.todo-container{background-color:#fff;border-radius:8px;box-shadow:var(--box-shadow);padding:1.5rem}.todo-container h2{margin-bottom:1rem;color:var(--primary-color)}.todo-input{display:flex;margin-bottom:1rem}.todo-input input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px 0 0 4px;font-size:1rem}.todo-input button{padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:0 4px 4px 0;cursor:pointer}.todo-list{list-style:none}.todo-list li{display:flex;align-items:center;padding:.75rem 0;border-bottom:1px solid #eee}.todo-list li.completed span{text-decoration:line-through;color:#888}.todo-list input[type=checkbox]{margin-right:.75rem}.todo-list span{flex:1}.todo-list button{background-color:var(--danger-color);color:#fff;border:none;border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.8rem}.sidebar-container{background-color:var(--card-bg);color:var(--text-secondary);height:100vh;position:fixed;top:0;left:0;transition:all .3s ease;display:flex;flex-direction:column;box-shadow:var(--shadow);z-index:1000;border-radius:0 12px 12px 0;overflow:hidden}.sidebar-container.mobile{width:280px}.sidebar-container.desktop{width:240px}.sidebar-container.collapsed{width:60px}.sidebar-container.mobile:not(.open){transform:translate(-100%);left:-280px}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(var(--brand-950-rgb),.5);z-index:999;transition:opacity .3s ease}.sidebar-overlay.open{opacity:1;pointer-events:auto}.sidebar-overlay.closed{opacity:0;pointer-events:none}.logo-container{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;margin:0 10px}.logo-container.collapsed{padding:20px 16px;justify-content:center}.logo-text{margin:0;font-size:24px;font-weight:700;background:linear-gradient(90deg,var(--brand-800),var(--brand-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.5px}.nav-list{list-style:none;padding:0;margin:20px 0 0;overflow-y:auto}.nav-item{margin:4px 6px;border-radius:8px;overflow:hidden}.m-16{margin:4px 16px}.nav-item.active{background-color:rgba(var(--brand-800-rgb),.1)}.nav-link{display:flex;align-items:center;padding:12px 16px;text-decoration:none;font-size:16px;transition:all .2s ease;border-radius:8px}.nav-link.active{color:var(--brand-800);font-weight:600}.nav-link:not(.active){color:var(--text-secondary);font-weight:500}.nav-link:hover{background-color:rgba(var(--brand-400-rgb),.1);text-decoration:none}.nav-link.active:hover{background-color:rgba(var(--brand-800-rgb),.1)}.icon-wrapper{display:flex;align-items:center;justify-content:center;width:24px;height:24px;stroke-width:2;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-right:12px}.icon-wrapper.active{color:var(--brand-800)}.icon-wrapper:not(.active){color:var(--text-lite)}.collapse-button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center}.collapse-button:not(.collapsed){margin-left:8px}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;background-color:var(--card-bg);position:fixed;top:0;left:0;right:0;z-index:990;box-shadow:var(--shadow);height:56px;box-sizing:border-box}.mobile-menu-button{background:transparent;border:none;color:var(--brand-800);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center}.mobile-header-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.mobile-theme-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:color .2s ease}.mobile-theme-toggle:hover{color:var(--brand-800)}.settings-container{max-width:1200px;margin:0 auto;padding:20px}.settings-header{margin-bottom:24px}.settings-title{font-size:1.8rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.settings-description{color:var(--text-secondary);font-size:.95rem}.settings-navigation{display:flex;margin-bottom:24px;border-bottom:1px solid var(--border-color);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.settings-navigation::-webkit-scrollbar{display:none}.settings-nav-item{padding:12px 20px;margin-right:8px;font-size:.95rem;font-weight:500;color:var(--text-secondary);cursor:pointer;position:relative;white-space:nowrap}.settings-nav-item.active{color:var(--brand-800);font-weight:600}.settings-nav-item.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:3px;background-color:var(--brand-800);border-radius:3px 3px 0 0}.settings-section{background-color:var(--card-bg);border-radius:12px;box-shadow:var(--shadow);margin-bottom:24px;border:1px solid var(--border-color);overflow:hidden}.settings-section-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.settings-section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.settings-section-description{color:var(--text-secondary);font-size:.85rem;margin-top:4px}.settings-section-content{padding:20px}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border-color)}.settings-item:last-child{border-bottom:none}.settings-item-left{display:flex;flex-direction:column}.settings-item-label{font-size:.95rem;color:var(--text-primary);font-weight:500;margin-bottom:4px}.settings-item-description{font-size:.85rem;color:var(--text-secondary)}.settings-item-control{display:flex;align-items:center}.settings-toggle{position:relative;display:inline-block;width:50px;height:26px}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-color);transition:.4s;border-radius:34px}.settings-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}.settings-toggle input:checked+.settings-toggle-slider{background-color:var(--brand-800)}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(24px)}.settings-select{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-primary);min-width:120px;font-size:.9rem}.settings-button{background-color:var(--brand-800);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.settings-button:hover{background-color:var(--brand-600)}.settings-button.secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.settings-button.secondary:hover{background-color:rgba(var(--brand-400-rgb),.1)}.settings-button.danger{background-color:var(--danger-color)}.settings-button.danger:hover{background-color:color-mix(in srgb,var(--danger-color) 90%,black)}@media (max-width: 768px){.settings-item{flex-direction:column;align-items:flex-start;gap:12px}.settings-item-control{width:100%;justify-content:flex-start}.settings-select{width:100%}.settings-navigation{mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%)}}.calendar-container{max-width:1200px;margin:0 auto;padding:20px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-title{font-size:1.8rem;font-weight:600;color:var(--text-primary)}.calendar-controls{display:flex;align-items:center;gap:16px}.calendar-today-button{background-color:var(--brand-800);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.calendar-today-button:hover{background-color:var(--brand-600)}.calendar-navigation{display:flex;align-items:center;gap:12px}.calendar-nav-button{background-color:transparent;border:1px solid var(--border-color);color:var(--text-primary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.calendar-nav-button:hover{background-color:rgba(var(--brand-400-rgb),.1);color:var(--brand-800)}.calendar-current-date{font-size:1.1rem;font-weight:500;color:var(--text-primary)}.calendar-view-selector{display:flex;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.calendar-view-option{padding:8px 12px;font-size:.9rem;background-color:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.calendar-view-option.active{background-color:var(--brand-800);color:#fff}.calendar-view-option:not(.active):hover{background-color:rgba(var(--brand-400-rgb),.1)}.calendar-month{background-color:var(--card-bg);border-radius:12px;overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background-color:rgba(var(--brand-800-rgb),.05);border-bottom:1px solid var(--border-color)}.calendar-weekday{text-align:center;padding:12px;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(100px,auto)}.calendar-day{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:8px;position:relative;min-height:100px;min-width:0;overflow:hidden;transition:background-color .2s}.calendar-day:nth-child(7n){border-right:none}.calendar-day:nth-last-child(-n+7){border-bottom:none}.calendar-day:hover{background-color:rgba(var(--brand-400-rgb),.05)}.calendar-day-number{font-size:.9rem;font-weight:500;color:var(--text-primary);margin-bottom:8px}.calendar-day.different-month .calendar-day-number{color:var(--text-secondary);opacity:.5}.calendar-day.today{background-color:rgba(var(--brand-800-rgb),.1)}.calendar-day.today .calendar-day-number{background-color:var(--brand-800);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.calendar-day-content{display:flex;flex-direction:column;gap:4px;overflow:hidden}.calendar-event{background-color:var(--brand-800);color:#fff;padding:2px 6px;border-radius:4px;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:all .2s}.calendar-event:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(var(--brand-800-rgb),.2)}.calendar-event.task{background-color:var(--brand-600)}.calendar-event.finance-expense{background-color:var(--danger-color)}.calendar-event.finance-income{background-color:var(--success-color)}.calendar-event.reminder{background-color:var(--warning-color)}.calendar-event.meeting{background-color:var(--success-color)}.calendar-more-events{font-size:.8rem;color:var(--text-secondary);cursor:pointer;margin-top:2px}.calendar-more-events:hover{color:var(--brand-800);text-decoration:underline}.calendar-week{display:flex;flex-direction:column;background-color:var(--card-bg);border-radius:12px;overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow)}.calendar-week-header{display:grid;grid-template-columns:60px repeat(7,1fr);border-bottom:1px solid var(--border-color)}.calendar-week-time-column{border-right:1px solid var(--border-color)}.calendar-week-day{text-align:center;padding:12px;border-right:1px solid var(--border-color)}.calendar-week-day:last-child{border-right:none}.calendar-week-day-name{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.calendar-week-day-number{font-size:1.2rem;font-weight:500;color:var(--text-primary);margin-top:4px}.calendar-week-day.today .calendar-week-day-number{background-color:var(--brand-800);color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:4px auto 0}.calendar-week-grid{display:grid;grid-template-columns:60px repeat(7,1fr);position:relative;max-height:600px;overflow-y:auto;scrollbar-gutter:stable}.calendar-week-times{grid-column:1;display:flex;flex-direction:column;border-right:1px solid var(--border-color)}.calendar-week-time{height:40px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-secondary);position:relative}.calendar-week-time:after{content:"";position:absolute;right:0;top:0;width:4px;height:1px;background-color:var(--border-color)}.calendar-week-days{grid-column:2 / span 7;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week-column{border-right:1px solid var(--border-color);min-height:960px}.calendar-week-column:last-child{border-right:none}.calendar-week-cell{height:40px;border-bottom:1px solid var(--border-color);padding:2px;position:relative}.calendar-week-cell:hover{background-color:rgba(var(--brand-400-rgb),.05)}.calendar-week-event{position:absolute;background-color:var(--brand-800);color:#fff;font-size:.8rem;padding:2px 6px;border-radius:4px;width:calc(100% - 4px);overflow:hidden;text-overflow:ellipsis;z-index:1;cursor:pointer}.calendar-week-event.task{background-color:var(--brand-600)}.calendar-week-event.finance-expense{background-color:var(--danger-color)}.calendar-week-event.finance-income{background-color:var(--success-color)}.calendar-week-event.reminder{background-color:var(--warning-color)}.calendar-week-event.meeting{background-color:var(--success-color)}.calendar-day-view{display:flex;flex-direction:column;background-color:var(--card-bg);border-radius:12px;overflow:hidden;border:1px solid var(--border-color);box-shadow:var(--shadow)}.calendar-day-header{text-align:center;padding:16px;border-bottom:1px solid var(--border-color)}.calendar-day-title{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.calendar-day-date{font-size:.9rem;color:var(--text-secondary);margin-top:4px}.calendar-day-grid{display:grid;grid-template-columns:60px 1fr;position:relative;max-height:600px;overflow-y:auto}.calendar-day-times{grid-column:1;display:flex;flex-direction:column;border-right:1px solid var(--border-color)}.calendar-day-time{height:40px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-secondary);position:relative}.calendar-day-time:after{content:"";position:absolute;right:0;top:0;width:4px;height:1px;background-color:var(--border-color)}.calendar-day-slots{grid-column:2;min-height:960px}.calendar-day-slot{height:40px;border-bottom:1px solid var(--border-color);padding:2px;position:relative}.calendar-day-slot:hover{background-color:rgba(var(--brand-400-rgb),.05)}.calendar-day-event{position:absolute;background-color:var(--brand-800);color:#fff;font-size:.8rem;padding:4px 8px;border-radius:4px;width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;z-index:1;cursor:pointer}.calendar-day-event.task{background-color:var(--brand-600)}.calendar-day-event.finance-expense{background-color:var(--danger-color)}.calendar-day-event.finance-income{background-color:var(--success-color)}.calendar-day-event.reminder{background-color:var(--warning-color)}.calendar-day-event.meeting{background-color:var(--success-color)}.calendar-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(var(--brand-950-rgb),.5);display:flex;align-items:center;justify-content:center;z-index:1000}.calendar-modal{background-color:var(--card-bg);border-radius:12px;max-width:500px;width:90%;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border-color)}.calendar-modal-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.calendar-modal-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.calendar-modal-close{background:none;border:none;font-size:1.2rem;color:var(--text-secondary);cursor:pointer}.calendar-modal-content{padding:20px}.calendar-form-group{margin-bottom:16px}.calendar-form-label{display:block;margin-bottom:6px;font-size:.9rem;font-weight:500;color:var(--text-secondary)}.calendar-form-input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-primary);font-size:.9rem}.calendar-form-input:focus{border-color:var(--brand-800);outline:none;box-shadow:0 0 0 2px rgba(var(--brand-800-rgb),.2)}.calendar-form-row{display:flex;gap:16px;margin-bottom:16px}.calendar-form-row>div{flex:1}.calendar-form-select{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-primary);font-size:.9rem}.calendar-form-select:focus{border-color:var(--brand-800);outline:none;box-shadow:0 0 0 2px rgba(var(--brand-800-rgb),.2)}.calendar-form-textarea{width:100%;padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-primary);font-size:.9rem;min-height:100px;resize:vertical}.calendar-form-textarea:focus{border-color:var(--brand-800);outline:none;box-shadow:0 0 0 2px rgba(var(--brand-800-rgb),.2)}.calendar-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.calendar-btn{padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.calendar-btn-primary{background-color:var(--brand-800);color:#fff;border:none}.calendar-btn-primary:hover{background-color:var(--brand-600)}.calendar-btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.calendar-btn-secondary:hover{background-color:rgba(var(--brand-400-rgb),.1)}@media (max-width: 768px){.calendar-header{flex-direction:column;align-items:flex-start;gap:16px}.calendar-controls{width:100%;flex-wrap:wrap;justify-content:space-between;row-gap:12px}.calendar-view-selector{width:100%}.calendar-view-option{flex:1}.calendar-weekday{padding:8px 4px;font-size:.7rem}.calendar-day{min-height:80px}.calendar-form-row{flex-direction:column;gap:16px}}:root{--brand-950: #01050D;--brand-900: #030C26;--brand-800: #031740;--brand-600: #364959;--brand-400: #70818C;--brand-950-rgb: 1, 5, 13;--brand-900-rgb: 3, 12, 38;--brand-800-rgb: 3, 23, 64;--brand-600-rgb: 54, 73, 89;--brand-400-rgb: 112, 129, 140;--primary-color: var(--brand-800);--primary-color-rgb: var(--brand-800-rgb);--danger-color: #e74c3c;--dark-color: #2c3e50;--light-color: #ecf0f1;--text-color: #333;--box-shadow: 0 2px 5px rgba(0, 0, 0, .1);--card-bg: #ffffff;--card-bg-rgb: 255, 255, 255;--text-secondary: #64748b;--text-primary: #1e293b;--border-color: #dee2e6;--success-color: #38b000;--success-color-rgb: 56, 176, 0;--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-hover: 0 8px 16px rgba(var(--brand-950-rgb), .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--text-primary, rgba(255, 255, 255, .87));background-color:var(--background-color, #242424);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}a{font-weight:500;color:var(--brand-800, #031740);text-decoration:inherit}a:hover{color:var(--brand-600, #364959)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;width:100%;height:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--brand-800, #031740);color:#fff;cursor:pointer;transition:background-color .25s}button:hover{background-color:var(--brand-600, #364959)}button:focus,button:focus-visible{outline:4px auto var(--brand-800, #031740)}@media (prefers-color-scheme: light){:root{color:var(--text-primary, #213547);background-color:var(--background-color, #ffffff)}a:hover{color:var(--brand-600, #364959)}button{background-color:var(--brand-800, #031740)}}body.dark-theme{--card-bg: #343a40;--card-bg-rgb: 52, 58, 64;--text-primary: #f8f9fa;--text-secondary: #adb5bd;--border-color: #495057;--shadow: 0 4px 6px rgba(0, 0, 0, .3)}
