*{box-sizing:border-box}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #f8f9fa;--text-primary: #213547;--text-secondary: #666;--text-tertiary: #999;--border-color: #ddd;--border-light: #eee;--border-dark: #dee2e6;--accent-color: #007bff;--accent-color-dark: #0056b3;--accent-color-light: rgba(0, 123, 255, .1);--accent-color-lighter: rgba(0, 123, 255, .05);--accent-glow-1: rgba(0, 123, 255, .6);--accent-glow-2: rgba(0, 123, 255, .3);--accent-glow-3: rgba(0, 123, 255, .9);--accent-glow-4: rgba(0, 123, 255, .5);--accent-glow-5: rgba(0, 123, 255, .8);--accent-glow-6: rgba(0, 123, 255, .4);--accent-glow-7: rgba(0, 123, 255, 1);--accent-glow-8: rgba(0, 123, 255, .6);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark-mode{color-scheme:dark;color:#e9ecef;background-color:#1a1a1a;--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #252525;--text-primary: #e9ecef;--text-secondary: #adb5bd;--text-tertiary: #6c757d;--border-color: #404040;--border-light: #333;--border-dark: #404040}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow:hidden}#root{width:100%;height:100vh;margin:0;padding:0}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}button{font-family:inherit}.template-import-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.dark-mode .template-import-overlay{background-color:#000000b3}.template-import-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 20px #0000004d;z-index:1001;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;color:var(--text-primary)}.dark-mode .template-import-dialog{box-shadow:0 4px 20px #0009}.template-import-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.template-import-header h2{margin:0;font-size:1.5rem;color:var(--text-primary);font-weight:600}.template-import-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s;line-height:1}.template-import-close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.template-import-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.template-preview{padding:1rem;background-color:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.template-preview-item{display:flex;justify-content:space-between;align-items:center}.template-preview-label{font-weight:500;color:var(--text-secondary);font-size:.9rem}.template-preview-value{font-weight:600;color:var(--text-primary);font-size:.9rem}.template-import-field{display:flex;flex-direction:column;gap:.5rem}.template-import-field label{font-weight:600;color:var(--text-primary);font-size:.9rem}.template-import-field input{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;transition:border-color .2s}.template-import-field input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #007bff1a}.template-import-error{color:#dc3545;font-size:.85rem;margin-top:.25rem}.template-import-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-color)}.template-import-cancel,.template-import-submit{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.template-import-cancel{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.template-import-cancel:hover{background-color:var(--bg-tertiary)}.template-import-submit{background-color:var(--accent-color);color:var(--accent-text-contrast, white)}.template-import-submit:hover{background-color:var(--accent-color-dark);transform:translateY(-1px)}.template-import-submit:active{transform:translateY(0)}@media(max-width:768px){.template-import-dialog{width:95%;max-height:95vh}.template-import-header,.template-import-content{padding:1rem}.template-import-actions{flex-direction:column-reverse;padding:1rem}.template-import-cancel,.template-import-submit{width:100%}}.sidebar{width:100%;background-color:var(--bg-secondary);display:flex;flex-direction:column;height:100vh;overflow:hidden;box-shadow:2px 0 8px #0000001a;border-right:1px solid var(--border-color)}.dark-mode .sidebar{box-shadow:2px 0 8px #0000004d}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.sidebar-logo{flex-shrink:0}.logo-placeholder{width:48px;height:48px;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-color-dark) 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.25rem;letter-spacing:.05em}.logo-icon{width:64px;height:64px;display:block;flex-shrink:0}.sidebar-brand-text{flex:1;min-width:0}.sidebar-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2}.sidebar-subtitle{margin:.25rem 0 0;font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.sidebar-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.sidebar-header-buttons{display:flex;gap:.5rem;align-items:center}.add-button{background-color:var(--accent-color);color:var(--accent-text-contrast, white);border:none;border-radius:50%;width:32px;height:32px;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background-color .2s}.add-button:hover{background-color:var(--accent-color-dark)}.template-export-button,.template-import-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s;opacity:.7}.template-export-button svg,.template-import-button svg{width:16px;height:16px}.template-export-button:hover,.template-import-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);opacity:1}.template-export-button:disabled{opacity:.3;cursor:not-allowed}.template-export-button:disabled:hover{background-color:transparent;color:var(--text-secondary)}.search-container{padding:.75rem 1rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.search-input{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;box-sizing:border-box;background-color:var(--bg-primary);color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--accent-color)}.add-assignment-form{padding:1rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.add-assignment-form input{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;margin-bottom:.5rem;box-sizing:border-box;background-color:var(--bg-primary);color:var(--text-primary)}.add-assignment-form input:focus{outline:none;border-color:var(--accent-color)}.form-buttons{display:flex;gap:.5rem}.form-buttons button{flex:1;padding:.4rem .8rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.9rem;transition:background-color .2s}.form-buttons button[type=submit]{background-color:var(--accent-color);color:var(--accent-text-contrast, white);border-color:var(--accent-color)}.form-buttons button[type=submit]:hover{background-color:var(--accent-color-dark)}.form-buttons button[type=button]:hover{background-color:var(--bg-secondary)}.assignment-list{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto;min-height:0}.assignment-list>li{margin:0}.assignment-group-container{margin:.5rem .75rem;border:1.5px solid var(--border-color);border-radius:6px;background-color:#f0f0f0;overflow:hidden;box-shadow:0 2px 6px #00000026;transition:box-shadow .2s,opacity .2s;cursor:move}.assignment-group-container:first-child{margin-top:.75rem}.assignment-group-container:last-child{margin-bottom:.75rem}.dark-mode .assignment-group-container{background-color:#151515;box-shadow:0 2px 8px #00000080}.assignment-group-container.dragging{opacity:.5}.assignment-group-container.drag-over{border-color:var(--accent-color);border-width:2px;box-shadow:0 0 0 2px #007bff33;background-color:var(--bg-tertiary)}.dark-mode .assignment-group-container.drag-over{box-shadow:0 0 0 2px #007bff66}.assignment-group-container:hover{box-shadow:0 2px 4px #0000001a}.dark-mode .assignment-group-container:hover{box-shadow:0 2px 4px #0000004d}.assignment-item{padding:.75rem 1rem;cursor:pointer;border-bottom:none;transition:background-color .2s;position:relative;overflow:hidden;background-color:var(--bg-secondary)}.assignment-item:hover{background-color:var(--bg-secondary)}.assignment-item.active{background-color:var(--accent-color);color:var(--accent-text-contrast, white);box-shadow:0 0 8px var(--accent-glow-1);transform:scale(1.015);transition:transform .3s ease}.assignment-item.active.running{animation:pulse-glow 2.5s ease-in-out infinite}.assignment-item.active:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(255,255,255,.25) 16px,rgba(255,255,255,.25) 16px);background-size:22.63px 22.63px;background-position:0 0;pointer-events:none;z-index:0}.assignment-item.active.running:before{animation:diagonal-lines 1.5s linear infinite}.assignment-item.active:after{content:"";position:absolute;inset:-3px;background:transparent;border-radius:4px;box-shadow:0 0 12px var(--accent-glow-5),0 0 24px var(--accent-glow-6);pointer-events:none;z-index:0}.assignment-item.active.running:after{animation:glow-pulse 2.5s ease-in-out infinite}.assignment-item.active .assignment-name{color:var(--accent-text-contrast, white);position:relative;z-index:1}.assignment-item.active .assignment-actions{position:relative;z-index:1}@keyframes diagonal-lines{0%{background-position:0 0}to{background-position:22.63px 22.63px}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px var(--accent-glow-1),0 0 16px var(--accent-glow-2),inset 0 0 6px #ffffff1a}50%{box-shadow:0 0 12px var(--accent-glow-3),0 0 24px var(--accent-glow-4),inset 0 0 8px #ffffff26}}@keyframes glow-pulse{0%,to{opacity:.6;box-shadow:0 0 12px var(--accent-glow-5),0 0 24px var(--accent-glow-6)}50%{opacity:.8;box-shadow:0 0 16px var(--accent-glow-7),0 0 32px var(--accent-glow-8)}}.assignment-item.active.running:not(.unassigned):before{animation:diagonal-lines 1.5s linear infinite}.assignment-item.active.running:not(.unassigned){animation:pulse-glow 2.5s ease-in-out infinite}.assignment-item.active.running:not(.unassigned):after{animation:glow-pulse 2.5s ease-in-out infinite}.assignment-item.active.unassigned{background-color:#6c757d;animation:none}.assignment-item.active.unassigned:before{animation:none}.assignment-item.active.unassigned:after{display:none}.assignment-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.assignment-header .expand-button{flex-shrink:0;order:-1}.assignment-name{flex:1;color:var(--text-primary);font-size:.95rem;font-weight:500}.assignment-actions{display:flex;gap:.25rem;align-items:center}.expand-button{background:none;border:none;color:var(--text-secondary);font-size:.8rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.assignment-item.active .expand-button{color:var(--accent-text-contrast, white)}.expand-button:hover{background-color:#0000001a}.assignment-item.active .expand-button:hover{background-color:#fff3}.remove-button{background:none;border:none;color:#dc3545;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;opacity:.7}.remove-button svg{width:16px;height:16px}.assignment-item.active .remove-button{color:var(--accent-text-contrast, white)}.remove-button:hover{background-color:#dc35451a;opacity:1}.assignment-item.active .remove-button:hover{background-color:#fff3}.edit-button{background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;opacity:.7}.edit-button svg{width:16px;height:16px}.assignment-item.active .edit-button{color:var(--accent-text-contrast, white)}.edit-button:hover{background-color:#007bff1a;opacity:1}.assignment-item.active .edit-button:hover{background-color:#fff3}.assignment-edit-form{display:flex;gap:.5rem;align-items:center;width:100%;padding:.25rem 0}.assignment-edit-input{flex:1;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;background-color:var(--bg-primary);color:var(--text-primary);min-width:0}.assignment-edit-input:focus{outline:none;border-color:var(--accent-color)}.assignment-edit-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.save-button{background-color:var(--accent-color);color:#fff;border:none;border-radius:4px;width:24px;height:24px;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.save-button:hover{background-color:var(--accent-color-dark)}.cancel-button{background:none;border:none;color:#dc3545;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;opacity:.7}.cancel-button:hover{background-color:#dc35451a;opacity:1}.task-list{list-style:none;padding:0;margin:0;background-color:var(--bg-tertiary);border-top:1px solid var(--border-color)}.task-item{padding:.5rem 1rem .5rem 2rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-light);transition:background-color .2s;font-size:.9rem;background-color:var(--bg-tertiary);color:var(--text-primary)}.dark-mode .task-item{background-color:var(--bg-tertiary)}.task-item:hover{background-color:var(--bg-secondary)}.task-item:hover:not(.editing){background-color:#f0f0f0}.dark-mode .task-item:hover{background-color:var(--bg-primary)}.dark-mode .task-item:hover:not(.editing){background-color:var(--bg-primary)}.task-item.active{background-color:var(--accent-color-light);border-left:3px solid var(--accent-color);font-weight:500}.task-name{flex:1;color:var(--text-primary)}.dark-mode .task-name{color:var(--text-primary)}.task-item.active .task-name,.dark-mode .task-item.active .task-name{color:var(--accent-color)}.task-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.task-item:hover .task-actions{opacity:1}.task-remove-button{background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.task-remove-button svg{width:14px;height:14px}.task-remove-button:hover{background-color:#dc35451a;color:#dc3545}.dark-mode .task-remove-button:hover{background-color:#dc354533}.task-edit-button{background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.task-edit-button svg{width:14px;height:14px}.task-edit-button:hover{background-color:#007bff1a;color:var(--accent-color)}.dark-mode .task-edit-button:hover{background-color:#007bff33}.task-edit-form{display:flex;gap:.5rem;align-items:center;width:100%;padding:.25rem 0}.task-edit-input{flex:1;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;background-color:var(--bg-primary);color:var(--text-primary);min-width:0}.task-edit-input:focus{outline:none;border-color:var(--accent-color)}.task-edit-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.add-task-item{padding:0!important;margin:0;display:flex;align-items:center}.add-task-inline-button{width:100%;padding:.5rem 1rem .5rem 2rem;background:none;border:none;border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:.85rem;cursor:pointer;text-align:left;transition:background-color .2s}.add-task-inline-button:hover{background-color:var(--bg-secondary);color:var(--accent-color)}.add-task-form-container{width:100%;padding:.5rem 1rem .5rem 2rem;display:flex;gap:.5rem;align-items:center;border-top:1px solid var(--border-light);box-sizing:border-box;min-width:0;background-color:var(--bg-tertiary)}.add-task-form-buttons{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.cancel-task-button{background-color:#dc3545;color:#fff;border:none;border-radius:4px;width:24px;height:24px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.cancel-task-button:hover{background-color:#c82333}.add-task-input{flex:1;min-width:0;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;box-sizing:border-box;background-color:var(--bg-primary);color:var(--text-primary)}.add-task-input:focus{outline:none;border-color:var(--accent-color)}.add-task-button{background-color:var(--accent-color);color:var(--accent-text-contrast, white);border:none;border-radius:4px;width:24px;height:24px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.add-task-button:hover{background-color:var(--accent-color-dark)}.add-task-collapsed-button{width:100%;padding:.5rem 1rem .5rem 2rem;background:none;border:none;border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:.85rem;cursor:pointer;text-align:left;transition:background-color .2s}.add-task-collapsed-button:hover{background-color:var(--bg-secondary);color:var(--accent-color)}.sidebar-footer{border-top:1px solid #ddd;padding:.75rem;background-color:#f8f9fa;display:flex;flex-direction:row;gap:.5rem;flex-shrink:0;justify-content:center}.footer-button{flex:1;padding:.5rem;border:1px solid #dee2e6;border-radius:4px;background-color:#fff;color:#6c757d;font-size:.85rem;font-weight:400;cursor:pointer;transition:all .2s;text-align:center;display:flex;align-items:center;justify-content:center;min-width:0}.footer-button:hover{background-color:#e9ecef;border-color:#adb5bd;color:#495057}.footer-button.export-button{color:#6c757d}.footer-button.export-button:hover{background-color:#e7f3ff;border-color:#b3d7ff;color:var(--accent-color-dark)}.footer-button.import-button{color:#6c757d}.footer-button.import-button:hover{background-color:#e8f5e9;border-color:#c3e6cb;color:#218838}.footer-button.clear-button{color:#6c757d}.footer-button.clear-button:hover{background-color:#ffeaea;border-color:#f5c6cb;color:#c82333}.settings-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.settings-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 20px #0000004d;z-index:1001;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.settings-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.settings-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.settings-close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.settings-content{padding:1.5rem;overflow-y:auto;flex:1}.settings-section{margin-bottom:2rem}.settings-section:last-child{margin-bottom:0}.settings-section h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.settings-section-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;margin-bottom:1rem}.settings-section-toggle{background:none;border:none;font-size:.875rem;color:var(--text-secondary);cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:24px;height:24px}.settings-section-toggle:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;gap:1rem}.settings-item label{font-size:.95rem;color:var(--text-primary);font-weight:500}.color-picker-container{display:flex;align-items:center;gap:.75rem}.color-picker-input{width:48px;height:32px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;padding:2px;background:none}.color-picker-input::-webkit-color-swatch-wrapper{padding:0}.color-picker-input::-webkit-color-swatch{border:1px solid var(--border-color);border-radius:3px}.color-picker-value{font-size:.875rem;color:var(--text-secondary);font-family:Courier New,monospace;min-width:70px}.settings-toggle-container{display:flex;align-items:center;gap:.5rem}.settings-toggle-label{font-size:.875rem;color:var(--text-secondary);font-weight:500;transition:color .2s;min-width:50px;text-align:center}.settings-toggle-label.active{color:var(--accent-color);font-weight:600}.settings-toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.settings-toggle-switch input{opacity:0;width:0;height:0}.settings-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-secondary);border:1px solid var(--border-color);transition:.3s;border-radius:24px}.settings-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%}.settings-toggle-switch input:checked+.settings-toggle-slider{background-color:var(--accent-color);border-color:var(--accent-color)}.settings-toggle-switch input:checked+.settings-toggle-slider:before{transform:translate(26px);background-color:var(--accent-text-contrast, white)}.settings-toggle-switch input:focus+.settings-toggle-slider{box-shadow:0 0 1px var(--accent-color)}.settings-button{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:var(--bg-button-secondary);color:var(--text-button-secondary)}.settings-button:hover{background-color:var(--bg-button-secondary-hover)}.settings-button.export:hover{background-color:#e7f3ff;border-color:#b3d7ff;color:var(--accent-color-dark)}.settings-button.import:hover{background-color:#e8f5e9;border-color:#c3e6cb;color:#218838}.settings-button.clear:hover{background-color:#ffeaea;border-color:#f5c6cb;color:#c82333}.storage-info{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end;min-width:200px}.storage-usage{font-size:.9rem;color:var(--text-primary);font-weight:500}.storage-percentage{font-size:.85rem;color:var(--text-secondary)}.storage-progress-bar{width:100%;height:8px;background-color:var(--bg-secondary);border-radius:4px;overflow:hidden;position:relative}.storage-progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .3s ease;border-radius:4px}.storage-progress-fill[style*="90"]{background:linear-gradient(90deg,#ff9800,#ffc107)}.storage-progress-fill[style*="95"]{background:linear-gradient(90deg,#f44336,#e91e63)}.storage-entries-count{font-size:.9rem;color:var(--text-secondary)}.storage-warning{margin-top:1rem;padding:.75rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:.875rem;line-height:1.4}.dark-mode .storage-warning{background-color:#3d2f00;border-color:#ffc107;color:#ffc107}.storage-error{margin-top:1rem;padding:.75rem;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.875rem;line-height:1.4;display:flex;flex-direction:column;gap:.5rem}.dark-mode .storage-error{background-color:#3d1a1d;border-color:#f5c6cb;color:#f5c6cb}.storage-cleanup-link{align-self:flex-start;padding:.5rem 1rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.storage-cleanup-link:hover{background-color:#c82333}.cleanup-actions{margin-top:1rem}.cleanup-preset-buttons{display:flex;flex-direction:column;gap:.5rem}.cleanup-button{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:var(--bg-button-secondary);color:var(--text-button-secondary)}.cleanup-button:hover{background-color:#ffeaea;border-color:#f5c6cb;color:#c82333}.cleanup-preview{margin-top:1rem;padding:1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px}.cleanup-preview p{margin:0 0 1rem;color:var(--text-primary);font-size:.9rem;line-height:1.5}.cleanup-preview-actions{display:flex;gap:.5rem;justify-content:flex-end}.cleanup-confirm-button{padding:.5rem 1rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.cleanup-confirm-button:hover{background-color:#c82333}.cleanup-cancel-button{padding:.5rem 1rem;background-color:var(--bg-button-secondary);color:var(--text-button-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.cleanup-cancel-button:hover{background-color:var(--bg-button-secondary-hover)}.cleanup-note{margin-top:1rem;padding:.75rem;background-color:var(--bg-secondary);border-left:3px solid var(--accent-color);border-radius:4px;color:var(--text-secondary);font-size:.85rem;line-height:1.4}@media(max-width:768px){.settings-dialog{width:95%;max-height:95vh}.settings-item{flex-direction:column;align-items:flex-start}.settings-button{width:100%}.storage-info{width:100%;align-items:flex-start}.cleanup-preview-actions{flex-direction:column}.cleanup-confirm-button,.cleanup-cancel-button{width:100%}}.about-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.about-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 20px #0000004d;z-index:1001;width:90%;max-width:420px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.about-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.about-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.about-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.about-close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.about-content{padding:2rem 1.5rem 1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem}.about-brand{display:flex;flex-direction:column;align-items:center;gap:.35rem}.about-logo{color:var(--accent-color);margin-bottom:.5rem}.about-logo-icon{width:64px;height:64px;display:block}.about-title{margin:0;font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.about-subtitle{margin:0;font-size:.95rem;font-weight:500;color:var(--text-secondary);font-style:italic}.about-meta{margin:0;width:100%;display:flex;flex-direction:column;gap:.5rem}.about-meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.35rem 0;border-bottom:1px solid var(--border-color)}.about-meta-row:last-child{border-bottom:none}.about-meta-row dt{margin:0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.about-meta-row dd{margin:0;font-size:.9rem;font-weight:500;color:var(--text-primary);text-align:right}.about-terms{width:100%;text-align:left}.about-terms h4{margin:0 0 .5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.about-terms p{margin:0;font-size:.85rem;line-height:1.55;color:var(--text-secondary)}.about-footer{width:100%;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:.25rem}.about-copyright{margin:0;font-size:.8rem;color:var(--text-secondary);letter-spacing:.01em}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem 2rem;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);min-height:80px;gap:2rem}.header-left{display:flex;align-items:center;justify-content:flex-start;min-width:0}.header-center{display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-timer-group{display:flex;align-items:center;gap:1rem}.header-timer-info{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.header-assignment{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.header-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.header-assignment-name{font-size:1rem;font-weight:600;color:var(--accent-color)}.header-separator{color:var(--text-secondary);margin:0 .25rem}.header-task-name{font-size:1rem;font-weight:500;color:var(--accent-color)}.header-time-display{font-size:1.5rem;font-weight:300;font-family:Courier New,monospace;color:var(--text-primary);letter-spacing:.1em;white-space:nowrap}.header-no-assignment{color:var(--text-secondary);font-style:italic;font-size:.95rem}.header-timer-controls{display:flex;gap:.5rem}.header-timer-button{padding:.5rem 1.5rem;font-size:.9rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.header-timer-button.start{background-color:var(--accent-color);color:var(--accent-text-contrast, white);box-shadow:0 2px 4px var(--accent-glow-2)}.header-timer-button.start:hover:not(:disabled){background-color:var(--accent-color-dark);transform:scale(1.02);box-shadow:0 3px 6px var(--accent-glow-1)}.header-timer-button.start.unassigned{background-color:#6c757d;box-shadow:0 2px 4px #6c757d4d}.header-timer-button.start.unassigned:hover:not(:disabled){background-color:#5a6268;box-shadow:0 3px 6px #6c757d66}.header-timer-button.stop{background-color:#dc3545;color:#fff;box-shadow:0 2px 4px #dc35454d}.header-timer-button.stop:hover:not(:disabled){background-color:#c82333;transform:scale(1.02);box-shadow:0 3px 6px #dc354566}.header-timer-button.stop.unassigned{background-color:#6c757d;box-shadow:0 2px 4px #6c757d4d}.header-timer-button.stop.unassigned:hover:not(:disabled){background-color:#5a6268;box-shadow:0 3px 6px #6c757d66}.header-timer-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.6}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:1rem;flex-shrink:0}.header-settings-button{padding:.5rem 1rem;background-color:var(--bg-button-secondary);color:var(--text-button-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.header-settings-button:hover{background-color:var(--bg-button-secondary-hover);border-color:var(--border-color);color:var(--text-primary)}@media(max-width:768px){.app-header{grid-template-columns:1fr;gap:1rem;padding:1rem}.header-left{justify-content:center}.header-center{order:2}.header-right{justify-content:center;order:3}}.manual-entry-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center}.dark-mode .manual-entry-overlay{background-color:#000000b3}.manual-entry-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 20px #0000004d;z-index:1001;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;color:var(--text-primary)}.dark-mode .manual-entry-dialog{box-shadow:0 4px 20px #0009}.manual-entry-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.manual-entry-header h2{margin:0;font-size:1.5rem;color:var(--text-primary);font-weight:600}.manual-entry-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s;line-height:1}.manual-entry-close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.manual-entry-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.manual-entry-date{display:flex;flex-direction:column;gap:.5rem}.manual-entry-date label{font-weight:600;color:var(--text-primary);font-size:.9rem}.manual-entry-date-display{padding:.75rem;background-color:var(--bg-secondary);border-radius:4px;color:var(--text-primary);font-size:1rem;border:1px solid var(--border-color)}.manual-entry-field{display:flex;flex-direction:column;gap:.5rem}.manual-entry-field label{font-weight:600;color:var(--text-primary);font-size:.9rem}.manual-entry-hint{font-weight:400;font-size:.8rem;color:var(--text-secondary);margin-left:.5rem}.manual-entry-field select,.manual-entry-field input{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;transition:border-color .2s}.manual-entry-field select:focus,.manual-entry-field input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #007bff1a}.manual-entry-field select{cursor:pointer}.manual-entry-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.manual-entry-cancel,.manual-entry-submit{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.manual-entry-cancel{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.manual-entry-cancel:hover{background-color:var(--bg-tertiary)}.manual-entry-submit{background-color:var(--accent-color);color:var(--accent-text-contrast, white)}.manual-entry-submit:hover{background-color:var(--accent-color-dark);transform:translateY(-1px)}.manual-entry-submit:active{transform:translateY(0)}@media(max-width:768px){.manual-entry-dialog{width:95%;max-height:95vh}.manual-entry-header,.manual-entry-form{padding:1rem}.manual-entry-actions{flex-direction:column-reverse}.manual-entry-cancel,.manual-entry-submit{width:100%}}.dashboard-container{padding:2rem;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box;background-color:var(--bg-primary);color:var(--text-primary);min-height:0}.dashboard-header{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;margin-bottom:1.5rem;gap:1rem}.dashboard-header h2{margin:0;font-size:1.75rem;color:var(--text-primary);font-weight:600}.week-navigation{display:flex;align-items:center;justify-content:center;gap:1rem;grid-column:2;justify-self:center}.nav-button{padding:.5rem .75rem;background-color:var(--accent-color);color:var(--accent-text-contrast, white);border:none;border-radius:4px;cursor:pointer;font-size:1.2rem;line-height:1;min-width:40px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.nav-button:hover{background-color:var(--accent-color-dark)}.week-range{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary);min-width:200px;justify-content:center}.current-week-button{padding:.25rem .75rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background-color .2s}.current-week-button:hover{background-color:#218838}.header-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;grid-column:3}.view-toggle-container{display:flex;align-items:center;gap:.5rem;margin-right:.5rem}.view-toggle-label{font-size:.9rem;color:var(--text-secondary);font-weight:500;transition:color .2s}.view-toggle-label.active{color:var(--accent-color);font-weight:600}.view-toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.view-toggle-switch input{opacity:0;width:0;height:0}.view-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-secondary);border:1px solid var(--border-color);transition:.3s;border-radius:24px}.view-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%}.view-toggle-switch input:checked+.view-toggle-slider{background-color:var(--accent-color);border-color:var(--accent-color)}.view-toggle-switch input:checked+.view-toggle-slider:before{transform:translate(26px);background-color:var(--accent-text-contrast, white)}.view-toggle-switch input:focus+.view-toggle-slider{box-shadow:0 0 1px var(--accent-color)}.export-button{padding:.5rem 1.5rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.export-button:hover{background-color:#c82333}.week-summary{background-color:var(--bg-secondary);padding:1rem 1.5rem;border-radius:8px;margin-bottom:2rem;border:1px solid var(--border-color);color:var(--text-primary)}.total-time{display:flex;justify-content:space-between;align-items:center}.total-time .label{font-size:1.1rem;color:var(--text-secondary);font-weight:500}.total-time .value{font-size:1.5rem;font-weight:600;color:var(--accent-color);font-family:Courier New,monospace}.week-view{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.daily-view{display:flex;justify-content:flex-start;width:100%}.daily-view-card{width:100%}.day-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;transition:box-shadow .2s,transform .1s;color:var(--text-primary);position:relative;cursor:pointer}.day-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.dark-mode .day-card:hover{box-shadow:0 2px 8px #0000004d}.day-card:active{transform:translateY(0)}.day-card.today{border-color:var(--accent-color);border-width:2px;background-color:var(--accent-color-lighter)}.dark-mode .day-card.today{background-color:var(--accent-color-lighter)}.daily-view-card.today{border-color:var(--border-color);border-width:1px;background-color:var(--bg-primary)}.dark-mode .daily-view-card.today{background-color:var(--bg-primary)}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light);cursor:pointer;transition:opacity .2s;-webkit-user-select:none;user-select:none}.day-header:hover{opacity:.8}.day-header h3{margin:0;font-size:1.1rem;color:var(--text-primary);font-weight:600}.day-date{font-size:.9rem;color:var(--text-secondary)}.daily-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem;background-color:var(--bg-secondary);border-radius:6px;box-shadow:0 2px 4px #0000001a}.summary-label{font-size:.95rem;color:var(--text-secondary);font-weight:500}.summary-value{font-size:1.3rem;font-weight:700;color:var(--text-primary);font-family:Courier New,monospace;letter-spacing:.05em}.summary-value.active{color:var(--accent-color)}.day-entries{display:flex;flex-direction:column;gap:.75rem}.assignment-group{background-color:var(--bg-secondary);border-radius:6px;padding:.75rem;transition:all .2s;color:var(--text-primary);cursor:default}.assignment-group.active-assignment-group{background-color:var(--accent-color-lighter);border:2px solid var(--accent-color);box-shadow:0 2px 8px #007bff26}.dark-mode .assignment-group.active-assignment-group{background-color:var(--accent-color-lighter);border:2px solid var(--accent-color);box-shadow:0 2px 8px #007bff40}.assignment-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:2px solid var(--border-color)}.assignment-header.active{border-bottom-color:var(--accent-color)}.assignment-title{color:var(--text-primary);font-weight:700;font-size:1rem;display:flex;align-items:center;gap:.5rem}.assignment-total{color:var(--text-primary);font-family:Courier New,monospace;font-weight:700;font-size:1rem}.assignment-total.active{color:var(--accent-color)}.tasks-list{display:flex;flex-direction:column;gap:.5rem;margin-left:.5rem;padding-left:.75rem;border-left:2px solid var(--border-light)}.task-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background-color:var(--bg-primary);border-radius:4px;transition:all .2s;color:var(--text-primary)}.task-item:hover:not(.editing){background-color:var(--bg-secondary)}.dark-mode .task-item:hover:not(.editing){background-color:var(--bg-tertiary)}.task-item.editing{background-color:var(--bg-secondary);border:2px solid var(--accent-color);box-shadow:0 2px 8px #007bff26}.dark-mode .task-item.editing{background-color:var(--bg-tertiary);border:2px solid var(--accent-color);box-shadow:0 2px 8px #007bff40}.task-item.active{background-color:var(--accent-color-light);border:1px solid var(--accent-color);box-shadow:0 2px 4px #007bff33}.dark-mode .task-item.active{background-color:var(--accent-color-light)}.task-item .task-name{color:var(--text-primary);font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.task-item.active .task-name{color:var(--accent-color);font-weight:600}.task-item-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.task-duration{color:var(--text-secondary);font-family:Courier New,monospace;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem;white-space:nowrap;text-align:right;justify-content:flex-end}.task-item.active .task-duration{color:var(--accent-color)}.task-edit-form{display:flex;flex-direction:column;gap:.5rem;width:100%;padding:.5rem}.task-edit-form input,.task-edit-form select{width:100%;padding:.4rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;background-color:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.task-edit-form input:focus,.task-edit-form select:focus{outline:none;border-color:var(--accent-color)}.task-edit-actions{display:flex;gap:.5rem}.task-edit-header{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.task-edit-title{font-weight:600;font-size:.95rem;color:var(--text-primary)}.task-edit-actions .save-button,.task-edit-actions .delete-button,.task-edit-actions .cancel-button{padding:.4rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;box-sizing:border-box;transition:background-color .2s}.task-edit-actions .save-button svg,.task-edit-actions .delete-button svg,.task-edit-actions .cancel-button svg{display:block}.task-edit-actions .save-button{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.task-edit-actions .save-button:hover{background-color:var(--accent-color-dark)}.task-edit-actions .delete-button{background-color:#dc3545;color:#fff;border-color:#dc3545}.task-edit-actions .delete-button:hover{background-color:#c82333}.task-edit-actions .cancel-button:hover{background-color:var(--bg-secondary)}.dark-mode .task-edit-actions .cancel-button{background-color:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.dark-mode .task-edit-actions .cancel-button:hover{background-color:var(--bg-tertiary)}.entry-group{background-color:#f8f9fa;border-radius:6px;padding:.75rem;transition:all .2s}.entry-group.active{background-color:#e7f3ff;border:1px solid var(--accent-color);box-shadow:0 2px 4px #007bff33}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #dee2e6}.entry-assignment{color:#333;font-weight:600;flex:1;display:flex;align-items:center;gap:.5rem;font-size:.95rem}.entry-task{color:#666;font-weight:400}.entry-duration{color:var(--text-secondary);font-family:Courier New,monospace;display:flex;align-items:center;gap:.5rem;white-space:nowrap;font-weight:600;font-size:.95rem}.live-indicator{background-color:#dc3545;color:#fff;font-size:.7rem;padding:.15rem .4rem;border-radius:3px;font-weight:600;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.entry-item{padding:.5rem;background-color:#fff;border-radius:4px;margin-top:.25rem;transition:background-color .2s}.entry-item:hover{background-color:#f0f0f0}.entry-details{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem}.entry-time{color:var(--text-secondary);flex:1}.entry-duration-small{color:var(--text-secondary);font-family:Courier New,monospace;font-weight:500}.entry-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.entry-item:hover .entry-actions{opacity:1}.edit-entry-button,.delete-entry-button{background:none;border:none;color:var(--text-secondary);font-size:.9rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.edit-entry-button:hover{background-color:#007bff1a;color:var(--accent-color)}.dark-mode .edit-entry-button:hover{background-color:#007bff33}.delete-entry-button:hover{background-color:#dc35451a;color:#dc3545}.dark-mode .delete-entry-button:hover{background-color:#dc354533}.entry-edit-form{display:flex;flex-direction:column;gap:.5rem}.entry-edit-form input,.entry-edit-form select{padding:.4rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;background-color:var(--bg-primary);color:var(--text-primary)}.entry-edit-form input:focus,.entry-edit-form select:focus{outline:none;border-color:var(--accent-color)}.edit-actions{display:flex;gap:.5rem}.edit-actions button{flex:1;padding:.4rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.85rem;transition:background-color .2s}.edit-actions button:first-child{background-color:#28a745;color:#fff;border-color:#28a745}.edit-actions button:first-child:hover{background-color:#218838}.edit-actions button:last-child:hover{background-color:var(--bg-secondary)}.dark-mode .edit-actions button:last-child:hover{background-color:var(--bg-tertiary)}.no-entries{text-align:center;color:var(--text-tertiary);font-style:italic;padding:1rem 0;font-size:.9rem;cursor:pointer;transition:color .2s,opacity .2s;-webkit-user-select:none;user-select:none}.no-entries:hover{color:var(--accent-color);opacity:.8}.task-group-daily{margin-bottom:1rem;padding:.75rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-light)}.task-header-daily{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--border-light)}.task-header-daily.active{border-bottom-color:var(--accent-color)}.task-name-daily{color:var(--text-primary);font-weight:600;font-size:1rem}.task-header-daily.active .task-name-daily{color:var(--accent-color)}.task-duration-daily{color:var(--text-secondary);font-family:Courier New,monospace;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.task-header-daily.active .task-duration-daily{color:var(--accent-color)}.time-entries-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding-left:1rem}.time-entry-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background-color:var(--bg-secondary);border-radius:4px;font-size:.9rem;transition:all .2s}.time-entry-item:hover:not(.editing){background-color:var(--bg-tertiary)}.time-entry-item.editing{background-color:var(--bg-secondary);border:2px solid var(--accent-color);box-shadow:0 2px 8px #007bff26}.dark-mode .time-entry-item.editing{background-color:var(--bg-tertiary);border:2px solid var(--accent-color);box-shadow:0 2px 8px #007bff40}.time-entry-times{color:var(--text-primary);font-weight:500;font-family:Courier New,monospace}.time-entry-duration{color:var(--text-secondary);font-family:Courier New,monospace;font-weight:600}.time-entry-item.active-live-entry{background-color:var(--bg-secondary);border:1px solid var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.time-entry-item.active-live-entry .time-entry-times{color:var(--accent-color);font-weight:600}.time-entry-duration.active-live-duration{color:var(--accent-color);font-weight:700}.completed-todos-section{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-light)}.completed-todos-header{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;padding-left:1rem}.completed-todos-list{display:flex;flex-direction:column;gap:.4rem;padding-left:1rem}.completed-todo-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background-color:var(--bg-secondary);border-radius:4px;font-size:.85rem}.todo-checkmark{color:#28a745;font-weight:700;font-size:1rem;flex-shrink:0}.todo-text{color:var(--text-secondary);text-decoration:line-through;flex:1}.time-entry-edit-form{display:flex;flex-direction:column;gap:.5rem;width:100%;padding:.5rem}.time-entry-edit-header{margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.time-entry-edit-times{font-weight:600;font-size:.95rem;color:var(--text-primary);font-family:Courier New,monospace}.time-entry-edit-form input,.time-entry-edit-form select{width:100%;padding:.4rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;background-color:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.time-entry-edit-form input:focus,.time-entry-edit-form select:focus{outline:none;border-color:var(--accent-color)}.time-entry-edit-actions{display:flex;gap:.5rem;margin-top:.25rem}.time-entry-edit-actions .save-button,.time-entry-edit-actions .delete-button,.time-entry-edit-actions .cancel-button{padding:.4rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;box-sizing:border-box;transition:background-color .2s}.time-entry-edit-actions .save-button svg,.time-entry-edit-actions .delete-button svg,.time-entry-edit-actions .cancel-button svg{display:block}.time-entry-edit-actions .save-button{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.time-entry-edit-actions .save-button:hover{background-color:var(--accent-color-dark)}.time-entry-edit-actions .delete-button{background-color:#dc3545;color:#fff;border-color:#dc3545}.time-entry-edit-actions .delete-button:hover{background-color:#c82333}.time-entry-edit-actions .cancel-button:hover{background-color:var(--bg-secondary)}.dark-mode .time-entry-edit-actions .cancel-button{background-color:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.dark-mode .time-entry-edit-actions .cancel-button:hover{background-color:var(--bg-tertiary)}.daily-view-content{display:flex;gap:1.5rem;align-items:flex-start}.day-entries{flex:1;min-width:0}.timeline-container{flex-shrink:0;padding:1rem;background-color:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.timeline-header{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em;writing-mode:horizontal-tb}.timeline-wrapper{position:relative;height:600px;background-color:var(--bg-primary);border-radius:4px;border:1px solid var(--border-light);overflow:hidden}.timeline-labels{position:absolute;top:0;left:0;right:0;height:var(--timeline-labels-height, 60px);border-bottom:1px solid var(--border-light);background-color:var(--bg-secondary);z-index:5;display:flex;align-items:flex-end}.timeline-task-label{position:absolute;bottom:0;height:100%;width:var(--timeline-column-width, 60px);display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:.5rem .25rem;text-align:right;border-right:1px solid var(--border-light);writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.timeline-task-label-name{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.15rem;white-space:nowrap;overflow:visible;text-overflow:ellipsis;max-width:none;width:fit-content}.timeline-task-label-assignment{font-size:.65rem;color:var(--text-secondary);white-space:nowrap;overflow:visible;text-overflow:ellipsis;max-width:none;width:fit-content}.timeline-axis{position:absolute;top:var(--timeline-labels-height, 50px);left:0;bottom:0;width:100%;pointer-events:none}.timeline-marker{position:absolute;left:0;right:0;display:flex;flex-direction:row;align-items:center}.timeline-marker-line{width:100%;height:1px;background-color:var(--border-light);opacity:.5}.timeline-marker-label{position:absolute;left:4px;font-size:.7rem;color:var(--text-secondary);font-weight:500;white-space:nowrap;background-color:var(--bg-primary);padding:.25rem .5rem}.timeline-bars{position:relative;width:100%;height:100%}.timeline-column{position:absolute;top:0;bottom:0;border-right:1px solid var(--border-light)}.timeline-bar{position:absolute;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s;overflow:hidden;min-height:1%;display:flex;flex-direction:column;justify-content:flex-start;left:0;right:0}.timeline-bar:hover{transform:translate(2px);box-shadow:0 2px 8px #00000026;z-index:10}.dark-mode .timeline-bar:hover{box-shadow:0 2px 8px #0000004d}.timeline-bar.active{background-color:var(--accent-color);border-color:var(--accent-color-dark);box-shadow:0 2px 8px #007bff4d}.timeline-bar.active-live{background-color:var(--accent-color);border-color:var(--accent-color-dark);box-shadow:0 2px 8px #007bff4d;animation:pulse-timeline 2s ease-in-out infinite}@keyframes pulse-timeline{0%,to{opacity:1}50%{opacity:.85}}.timeline-bar-content{width:100%;display:flex;flex-direction:column;align-items:center;padding:.25rem .15rem;overflow:hidden;height:100%;justify-content:flex-start}.timeline-bar-label{font-size:.65rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.timeline-bar.active .timeline-bar-label,.timeline-bar.active-live .timeline-bar-label{color:var(--accent-text-contrast, white);font-weight:700}@media(max-width:1024px){.daily-view-content{flex-direction:column}.timeline-container{width:100%}.timeline-wrapper{width:100%!important}}@media(max-width:768px){.week-view{grid-template-columns:1fr}.dashboard-container{padding:1rem}.dashboard-header{grid-template-columns:1fr;gap:1rem}.week-navigation{grid-column:1;justify-self:center;flex-wrap:wrap}.header-actions{justify-content:center;flex-wrap:wrap}.view-toggle-container{margin-right:0;margin-bottom:.5rem}}.statistics-view{padding:2rem;max-width:1400px;margin:0 auto;background-color:var(--bg-primary);color:var(--text-primary)}.statistics-view h2{margin-bottom:2rem;font-size:1.75rem;color:var(--text-primary)}.statistics-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.statistics-header-main{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.statistics-header-secondary{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.period-selector{display:flex;align-items:center;gap:.75rem}.period-label{font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.period-buttons{display:inline-flex;background-color:var(--bg-secondary);border-radius:999px;padding:2px;border:1px solid var(--border-color)}.period-button{border:none;background:transparent;color:var(--text-secondary);padding:.4rem .8rem;font-size:.85rem;border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.period-button:hover{background-color:var(--bg-tertiary)}.period-button.active{background-color:var(--accent-color);color:var(--accent-text-contrast, #ffffff)}.custom-range-inputs{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.custom-range-label{display:flex;flex-direction:column;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;gap:.25rem}.custom-range-label input[type=date]{padding:.35rem .5rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);font-size:.85rem}.period-summary{font-size:.85rem;color:var(--text-secondary)}.period-summary-label{white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;text-align:center}.stat-card h3{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);font-family:Courier New,monospace}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.chart-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.chart-card h3{margin:0 0 1.5rem;font-size:1.2rem;color:var(--text-primary);font-weight:600}.assignment-chart,.day-chart,.task-chart{display:flex;flex-direction:column;gap:1rem}.chart-item{display:flex;flex-direction:column;gap:.5rem}.chart-item-header{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.chart-item-label{flex:1;color:var(--text-primary);font-weight:500}.chart-item-value{color:var(--text-secondary);font-family:Courier New,monospace;font-weight:600;font-size:.85rem}.chart-bar-container{height:24px;background-color:var(--bg-tertiary);border-radius:4px;overflow:hidden;position:relative}.chart-bar{height:100%;background-color:var(--accent-color);border-radius:4px;transition:width .3s ease;min-width:2px}.completion-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px solid var(--accent-color)}.completion-display{display:flex;flex-direction:column;gap:1.5rem}.completion-count{text-align:center;padding:1rem;background-color:var(--bg-primary);border-radius:8px;border:2px solid var(--accent-color)}.completion-number{font-size:4rem;font-weight:700;color:var(--accent-color);line-height:1;margin-bottom:.5rem;font-family:Courier New,monospace}.completion-label{font-size:1.1rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.completion-breakdown{display:flex;flex-direction:column;gap:1rem}.breakdown-title{font-size:.9rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.day-completions{display:flex;flex-direction:column;gap:.75rem}.completion-day-item{display:flex;flex-direction:column;gap:.5rem}.completion-day-header{display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.completion-day-label{color:var(--text-primary);font-weight:500}.completion-day-value{color:var(--accent-color);font-family:Courier New,monospace;font-weight:700;font-size:1rem}.completion-bar{height:100%;background-color:var(--accent-color);border-radius:4px;transition:width .3s ease;min-width:2px}.completion-empty{text-align:center;padding:2rem 1rem;color:var(--text-secondary);font-style:italic}.completion-empty p{margin:0;font-size:1rem}@media(max-width:768px){.charts-section{grid-template-columns:1fr}.statistics-view{padding:1rem}.statistics-header-main{flex-direction:column;align-items:flex-start}.period-summary-label{white-space:normal}.completion-number{font-size:3rem}}.budget-view{padding:2rem;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box;background-color:var(--bg-primary);color:var(--text-primary);min-height:0}.budget-header{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.budget-header h2{margin:0;font-size:1.75rem;color:var(--text-primary);font-weight:600}.assignment-navigation{display:flex;align-items:center;gap:1rem}.assignment-navigation label{font-weight:500;color:var(--text-primary)}.assignment-select{padding:.5rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:1rem;cursor:pointer;transition:border-color .2s,background-color .2s;min-width:200px}.assignment-select:hover{border-color:var(--accent-color)}.assignment-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-light)}.budget-empty{text-align:center;padding:3rem;color:var(--text-secondary)}.budget-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;text-align:center;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.summary-label{font-size:.9rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.summary-value{font-size:2rem;font-weight:700;color:var(--text-primary);font-family:Courier New,monospace}.summary-value.negative{color:#f44336}.summary-value.warning{color:#ff9800}.summary-value.over{color:#f44336}.task-budget-list{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.task-budget-list h3{margin:0 0 1.5rem;font-size:1.2rem;color:var(--text-primary);font-weight:600}.no-tasks{text-align:center;padding:2rem;color:var(--text-secondary)}.task-items{display:flex;flex-direction:column;gap:1.5rem}.task-budget-item{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:box-shadow .2s}.task-budget-item:hover{box-shadow:0 2px 4px #0000001a}.task-budget-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.task-budget-header .budget-edit-form{grid-column:3}.task-header-left{display:flex;align-items:center;gap:.5rem;justify-self:start}.collapse-btn{padding:.25rem;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .2s,transform .2s;width:24px;height:24px;border-radius:4px}.collapse-btn:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.collapse-btn svg{transition:transform .2s}.collapse-btn svg.collapsed{transform:rotate(-90deg)}.task-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.task-completed-check{color:#4caf50;flex-shrink:0;animation:checkAppear .3s ease-out}@keyframes checkAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.task-budget-content{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.task-budget-actions{display:flex;gap:.5rem;justify-self:end}.edit-budget-btn,.delete-budget-btn{padding:.5rem;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,transform .1s;width:32px;height:32px}.edit-budget-btn{background-color:var(--accent-color);color:var(--accent-text-contrast, white)}.edit-budget-btn:hover{background-color:var(--accent-color-dark);transform:translateY(-1px)}.edit-budget-btn svg{width:16px;height:16px}.delete-budget-btn{background-color:#dc3545;color:#fff}.delete-budget-btn:hover{background-color:#c82333;transform:translateY(-1px)}.delete-budget-btn svg{width:16px;height:16px}.task-budget-stats{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;margin:0;justify-self:center}.stat-item{display:flex;align-items:center;gap:.5rem}.stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.stat-value{font-size:1rem;color:var(--text-primary);font-weight:600;font-family:Courier New,monospace}.stat-value.no-budget{color:var(--text-secondary);font-style:italic}.stat-value.warning{color:#ff9800}.stat-value.over{color:#f44336}.budget-bar-chart{margin-top:1rem}.bar-chart-container{position:relative;width:100%;height:40px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden;display:flex;align-items:center}.bar-chart-fill{height:100%;background-color:var(--budget-bar-under, #4caf50);transition:width .3s ease,background-color .3s ease;display:flex;align-items:center;justify-content:flex-start;padding:0 .5rem;position:relative;min-width:0}.bar-label{color:#fff;font-size:.85rem;font-weight:600;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}.bar-label-outside{margin-top:.5rem;font-size:.85rem;color:var(--text-secondary);font-weight:500}.bar-chart-overflow{height:100%;background-color:var(--budget-bar-over, #f44336);transition:width .3s ease;border-left:2px solid var(--bg-secondary)}.budget-edit-form,.budget-add-form{padding:.5rem;background-color:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color)}.budget-edit-form{margin:0;justify-self:end}.budget-add-form{margin-top:1rem;align-self:flex-start}.form-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.form-row.compact{margin-bottom:0;gap:.5rem}.budget-edit-form .form-row.compact{justify-content:flex-end}.budget-add-form .form-row.compact{justify-content:flex-start}.form-row label{font-weight:500;color:var(--text-primary);min-width:120px}.form-row input{flex:1;padding:.5rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:1rem;max-width:200px}.form-row.compact input{flex:0 0 auto;width:120px;padding:.35rem .5rem;font-size:.85rem}.form-row input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-light)}.form-actions{display:flex;gap:.5rem;justify-content:flex-end}.save-btn,.cancel-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s,transform .1s}.save-btn.compact,.cancel-btn.compact{padding:.4rem .75rem;font-size:.85rem}.save-btn.compact.icon-btn,.cancel-btn.compact.icon-btn{padding:.35rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;min-width:28px}.save-btn{background-color:var(--accent-color);color:var(--accent-text-contrast, white)}.save-btn:hover{background-color:var(--accent-color-dark);transform:translateY(-1px)}.cancel-btn{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-btn:hover{background-color:var(--bg-primary);transform:translateY(-1px)}.add-budget-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.add-budget-btn{padding:.5rem 1rem;background-color:var(--accent-color);color:var(--accent-text-contrast, white);border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s,transform .1s}.add-budget-btn:hover{background-color:var(--accent-color-dark);transform:translateY(-1px)}.todo-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.todo-section-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:.75rem}.todo-section .add-todo-btn{margin-bottom:1rem}.todo-section-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.add-todo-btn{padding:.5rem 1rem;background-color:var(--accent-color);color:var(--accent-text-contrast, white);border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s,transform .1s}.add-todo-btn:hover{background-color:var(--accent-color-dark);transform:translateY(-1px)}.add-todo-form{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;padding:.75rem;background-color:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color)}.add-todo-form input{flex:1;padding:.4rem .5rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.9rem}.add-todo-form input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-light)}.todo-list{display:flex;flex-direction:column;gap:.5rem}.todo-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;transition:background-color .2s,transform .2s,box-shadow .2s;position:relative}.todo-item:hover{background-color:var(--bg-primary)}.todo-item.completed{opacity:.7}.todo-item.dragging{opacity:.5;cursor:grabbing}.todo-item.drag-over{border-top:2px solid var(--accent-color);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.todo-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--text-secondary);opacity:.5;transition:opacity .2s;flex-shrink:0;padding:.25rem;margin:-.25rem}.todo-item:hover .todo-drag-handle{opacity:1}.todo-drag-handle:active{cursor:grabbing}.todo-item.dragging .todo-drag-handle{opacity:.3}.todo-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-color);flex-shrink:0}.todo-text{flex:1;font-size:.9rem;color:var(--text-primary);cursor:pointer;word-break:break-word;text-decoration:none}.todo-item.completed .todo-text{text-decoration:line-through;color:var(--text-secondary)}.todo-actions{display:flex;gap:.25rem;flex-shrink:0}.edit-todo-btn,.delete-todo-btn{padding:.25rem;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,transform .1s;width:24px;height:24px;background:transparent;color:var(--text-secondary)}.edit-todo-btn:hover{background-color:var(--accent-color);color:var(--accent-text-contrast, white);transform:translateY(-1px)}.delete-todo-btn:hover{background-color:#dc3545;color:#fff;transform:translateY(-1px)}.edit-todo-btn svg,.delete-todo-btn svg{width:14px;height:14px}.todo-edit-form{display:flex;gap:.5rem;align-items:center;flex:1}.todo-edit-form input{flex:1;padding:.4rem .5rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.9rem}.todo-edit-form input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-light)}.no-todos{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.9rem;font-style:italic}.dark-mode .summary-card{box-shadow:0 2px 4px #0000004d}.dark-mode .summary-card:hover{box-shadow:0 4px 8px #0006}.dark-mode .task-budget-item:hover{box-shadow:0 2px 4px #0000004d}@media(max-width:768px){.budget-view{padding:1rem}.budget-summary{grid-template-columns:repeat(2,1fr)}.task-budget-stats{flex-direction:column;gap:.5rem}.task-budget-header{flex-direction:column;align-items:flex-start;gap:.75rem}.task-header-left{width:100%}.task-budget-stats{width:100%;justify-content:flex-start;gap:1rem}.todo-section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.add-todo-form,.todo-edit-form{flex-direction:column;align-items:stretch}.add-todo-form input,.todo-edit-form input{width:100%}.form-row{flex-direction:column;align-items:flex-start}.form-row input{max-width:100%;width:100%}}.splash-screen{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(59,130,246,.18),transparent 70%),linear-gradient(165deg,#0b1220,#111827 45%,#0f172a);color:#f8fafc;opacity:1;transition:opacity .4s ease;pointer-events:auto}.splash-screen--fading{opacity:0;pointer-events:none}.splash-screen__content{display:flex;flex-direction:column;align-items:center;gap:20px;animation:splash-screen-enter .55s cubic-bezier(.22,1,.36,1) both}.splash-screen__logo{display:flex;align-items:center;justify-content:center;width:88px;height:88px;color:var(--accent-color, #3b82f6);filter:drop-shadow(0 12px 28px rgba(59,130,246,.35))}.splash-screen__logo-icon{width:100%;height:100%;display:block}.splash-screen__brand{text-align:center}.splash-screen__title{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:.04em;line-height:1.2;color:#f8fafc}.splash-screen__subtitle{margin:6px 0 0;font-size:.875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8}@keyframes splash-screen-enter{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.splash-screen{transition:none}.splash-screen__content{animation:none}}@media(max-width:480px){.splash-screen__logo{width:72px;height:72px}.splash-screen__title{font-size:1.5rem}.splash-screen__subtitle{font-size:.8rem}}.app{display:flex;height:100vh;overflow:hidden}.sidebar-wrapper{position:relative;flex-shrink:0;display:flex;height:100vh}.sidebar-resize-handle{width:4px;background-color:var(--border-color);cursor:col-resize;flex-shrink:0;transition:background-color .2s;position:relative;z-index:10}.sidebar-resize-handle:hover{background-color:var(--accent-color)}.sidebar-resize-handle:before{content:"";position:absolute;inset:0 -2px;cursor:col-resize}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-primary);min-width:0}.view-tabs{display:flex;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);padding:0 1rem;gap:.5rem}.view-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.view-tab:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.view-tab.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.dashboard-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.dashboard-content{flex:1;overflow-y:auto}
