:root{--primary-color:#007bff;--success-color:#28a745;--danger-color:#dc3545;--warning-color:#ffc107;--light-bg:#f8f9fa;--border-color:#dee2e6;--text-dark:#212529;--text-light:#6c757d;--card-bg:#fff;--body-bg:var(--light-bg)}body.dark-mode{--light-bg:#1a1a2e;--border-color:#333;--text-dark:#e0e0e0;--text-light:#aaa;--card-bg:#16213e;--body-bg:#0f0f23}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;background-color:var(--body-bg);color:#212529;color:var(--text-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s}.App{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#007bff,#0056b3);background:linear-gradient(135deg,var(--primary-color) 0,#0056b3 100%);box-shadow:0 2px 4px #0000001a;color:#fff;padding:3rem 1rem;text-align:center}.header-top{gap:1rem}.dark-mode-toggle,.header-top{align-items:center;display:flex;justify-content:center}.dark-mode-toggle{background:#fff3;border:none;border-radius:50%;cursor:pointer;font-size:1.5rem;height:44px;transition:background .3s;width:44px}.dark-mode-toggle:hover{background:#ffffff59}.app-header h1{font-size:2.5rem;margin-bottom:.5rem}.app-header p{font-size:1.1rem;opacity:.9}.app-main{flex:1 1;margin:0 auto;max-width:800px;padding:2rem 1rem;width:100%}.app-main.app-main-wide{max-width:1200px}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:1rem;padding:1rem}.view-switcher{display:flex;gap:.75rem;margin-bottom:1rem}.view-tab{background:#fff;border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:999px;cursor:pointer;font-weight:700;padding:.65rem 1rem}.view-tab.active{background:#007bff;background:var(--primary-color);border-color:#007bff;border-color:var(--primary-color);color:#fff}.whiteboard-wrap{background:#fff;background:var(--card-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1rem}.whiteboard-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.whiteboard-toolbar label{align-items:center;display:inline-flex;font-weight:600;gap:.5rem}.whiteboard-color{background:#0000;border:none;cursor:pointer;height:36px;width:44px}.whiteboard-canvas-shell{background:#fcfcfd;border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.whiteboard-canvas{cursor:crosshair;display:block;height:520px;width:100%}.whiteboard-note{color:#6c757d;color:var(--text-light);font-size:.95rem;margin-top:.6rem}.task-form{background:#fff;background:var(--card-bg);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.form-group{margin-bottom:1rem}.form-input,.form-textarea{border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:1rem;padding:.8rem;transition:border-color .3s,box-shadow .3s;width:100%}.form-input:focus,.form-textarea:focus{border-color:#007bff;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff40;outline:none}.btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:background-color .3s,transform .1s}.btn:hover{transform:translateY(-2px)}.btn-primary{background-color:#007bff;background-color:var(--primary-color);color:#fff;width:100%}.btn-primary:hover{background-color:#0056b3}.btn-danger{background-color:#dc3545;background-color:var(--danger-color);color:#fff;font-size:.9rem;padding:.5rem 1rem}.btn-danger:hover{background-color:#c82333}.btn-small{font-size:.85rem;padding:.5rem 1rem}.task-list-container{display:flex;flex-direction:column;gap:2rem}.task-section h2{border-bottom:2px solid #dee2e6;border-bottom:2px solid var(--border-color);color:#212529;color:var(--text-dark);font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem}.task-list{display:flex;flex-direction:column;gap:1rem}.task-item{align-items:flex-start;background:#fff;background:var(--card-bg);border-left:4px solid #0000;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:all .3s}.task-item.priority-high{border-left-color:#dc3545;border-left-color:var(--danger-color)}.task-item.priority-medium{border-left-color:#ffc107;border-left-color:var(--warning-color)}.task-item.priority-low{border-left-color:#28a745;border-left-color:var(--success-color)}.task-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.task-item.completed{background-color:#f0f0f0;opacity:.8}.task-checkbox-container{flex-shrink:0;padding-top:.2rem}.task-checkbox{accent-color:#28a745;accent-color:var(--success-color);cursor:pointer;height:24px;width:24px}.task-content{flex:1 1;min-width:0}.task-title{font-size:1.1rem;margin-bottom:.4rem;transition:all .3s}.task-item.completed .task-title{color:#6c757d;color:var(--text-light);text-decoration:line-through}.task-description{color:#6c757d;color:var(--text-light);font-size:.95rem;line-height:1.5;margin:0}.empty-state{background:#fff;background:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:3rem 1rem;text-align:center}.empty-state p{font-size:1.2rem}.empty-state p,.loading{color:#6c757d;color:var(--text-light)}.loading{font-size:1.1rem;padding:2rem;text-align:center}@media (max-width:768px){.app-header h1{font-size:1.8rem}.app-main{padding:1rem .5rem}.task-form{padding:1rem}.task-item{flex-direction:column}.view-switcher{flex-wrap:wrap}.whiteboard-canvas{height:420px}.btn-danger{width:100%}}.search-bar{margin-bottom:1.5rem;position:relative}.search-input{padding-right:2.5rem}.search-clear{background:none;border:none;color:#6c757d;color:var(--text-light);cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.search-clear:hover{color:#dc3545;color:var(--danger-color)}.task-stats{background:#fff;background:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.stat{align-items:center;color:#6c757d;color:var(--text-light);display:flex;font-size:.95rem;font-weight:600;gap:.35rem}.stat-count{color:#212529;color:var(--text-dark);font-size:1.2rem;font-weight:800}.stat-active .stat-count{color:#007bff;color:var(--primary-color)}.stat-completed .stat-count{color:#28a745;color:var(--success-color)}.stat-overdue,.stat-overdue .stat-count{color:#dc3545;color:var(--danger-color)}.priority-badge{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:.15rem .6rem;text-transform:uppercase}.priority-badge.priority-high{background:#fde8e8;color:#b91c1c}.priority-badge.priority-medium{background:#fef3cd;color:#856404}.priority-badge.priority-low{background:#d4edda;color:#155724}body.dark-mode .priority-badge.priority-high{background:#4a1a1a;color:#fca5a5}body.dark-mode .priority-badge.priority-medium{background:#4a3f1a;color:#fde68a}body.dark-mode .priority-badge.priority-low{background:#1a4a2e;color:#86efac}.due-date{color:#6c757d;color:var(--text-light);font-size:.8rem}.due-date.overdue{color:#dc3545;color:var(--danger-color);font-weight:700}.task-meta{align-items:center;display:flex;gap:.75rem;margin-bottom:.4rem}.task-item.overdue{background:#fff5f5}body.dark-mode .task-item.overdue{background:#2a1a1a}.task-actions{display:flex;flex-direction:column;flex-shrink:0;gap:.4rem}.btn-edit{background:#007bff;background:var(--primary-color);color:#fff}.btn-edit:hover{background:#0056b3}.btn-save{background:#28a745;background:var(--success-color);color:#fff}.btn-save:hover{background:#1e7e34}.btn-cancel{background:#6c757d;background:var(--text-light);color:#fff}.btn-cancel:hover{background:#5a6268}.task-edit-form{display:flex;flex-direction:column;gap:.5rem;width:100%}.task-edit-input,.task-edit-textarea{font-size:.95rem;padding:.5rem}.task-edit-actions{display:flex;gap:.5rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group-half{flex:1 1}.form-label{color:#6c757d;color:var(--text-light);display:block;font-size:.9rem;font-weight:600;margin-bottom:.35rem}.form-select{appearance:auto}body.dark-mode .form-input,body.dark-mode .form-select,body.dark-mode .form-textarea{background:#1a1a2e;border-color:#dee2e6;border-color:var(--border-color);color:#212529;color:var(--text-dark)}body.dark-mode .view-tab{background:#fff;background:var(--card-bg);border-color:#dee2e6;border-color:var(--border-color);color:#212529;color:var(--text-dark)}body.dark-mode .view-tab.active{background:#007bff;background:var(--primary-color);color:#fff}.kanban-board{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);min-height:400px}.kanban-column{background:#f8f9fa;background:var(--light-bg);border:2px solid #dee2e6;border:2px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;min-height:300px;transition:border-color .2s,background .2s}.kanban-column.drag-over{background:#007bff0d;border-color:#007bff;border-color:var(--primary-color)}body.dark-mode .kanban-column.drag-over{background:#007bff1a}.kanban-column-header{align-items:center;background:#fff;background:var(--card-bg);border-bottom:2px solid #dee2e6;border-bottom:2px solid var(--border-color);border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:.75rem 1rem}.kanban-column-title{font-size:1rem;font-weight:700}.kanban-column-count{background:#007bff;background:var(--primary-color);border-radius:999px;color:#fff;font-size:.75rem;font-weight:700;min-width:22px;padding:.15rem .55rem;text-align:center}.kanban-column-body{display:flex;flex:1 1;flex-direction:column;gap:.6rem;overflow-y:auto;padding:.75rem}.kanban-card{background:#fff;background:var(--card-bg);border-left:4px solid #dee2e6;border-left:4px solid var(--border-color);border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:grab;padding:.75rem;position:relative;transition:box-shadow .2s,transform .15s,opacity .2s}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.4;transform:rotate(2deg)}.kanban-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.kanban-card.priority-high{border-left-color:#dc3545;border-left-color:var(--danger-color)}.kanban-card.priority-medium{border-left-color:#ffc107;border-left-color:var(--warning-color)}.kanban-card.priority-low{border-left-color:#28a745;border-left-color:var(--success-color)}.kanban-card.overdue{background:#fff5f5}body.dark-mode .kanban-card.overdue{background:#2a1a1a}.kanban-card-header{align-items:center;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:.35rem}.kanban-card-priority{font-size:.85rem}.kanban-card-due{color:#6c757d;color:var(--text-light);font-size:.75rem}.kanban-card-due.overdue{color:#dc3545;color:var(--danger-color);font-weight:700}.kanban-card-title{color:#212529;color:var(--text-dark);font-size:.95rem;font-weight:600;margin:0 0 .25rem}.kanban-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6c757d;color:var(--text-light);display:-webkit-box;font-size:.8rem;line-height:1.4;margin:0;overflow:hidden}.kanban-card-delete{background:none;border:none;cursor:pointer;font-size:.85rem;opacity:0;padding:.15rem;position:absolute;right:.5rem;top:.5rem;transition:opacity .2s}.kanban-card:hover .kanban-card-delete{opacity:1}.kanban-card-delete:hover{transform:scale(1.2)}.kanban-empty{align-items:center;border:2px dashed #dee2e6;border:2px dashed var(--border-color);border-radius:8px;color:#6c757d;color:var(--text-light);display:flex;flex:1 1;font-size:.9rem;font-style:italic;justify-content:center;min-height:80px}@media (max-width:768px){.kanban-board{grid-template-columns:1fr}.kanban-column{min-height:200px}}.filter-sort-bar{align-items:flex-end;background:#fff;background:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:.75rem 1rem}.filter-group{display:flex;flex-direction:column;gap:.25rem;min-width:140px}.filter-label{color:#6c757d;color:var(--text-light);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.filter-select{font-size:.9rem;padding:.5rem .6rem}.tag-input-container{align-items:center;background:#fff;background:var(--card-bg);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;display:flex;flex-wrap:wrap;gap:.4rem;min-height:42px;padding:.5rem .6rem;transition:border-color .3s,box-shadow .3s}.tag-input-container:focus-within{border-color:#007bff;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff40}body.dark-mode .tag-input-container{background:#1a1a2e;border-color:#dee2e6;border-color:var(--border-color)}.tag-text-input{background:#0000;border:none;color:#212529;color:var(--text-dark);flex:1 1;font-size:.9rem;min-width:100px;outline:none;padding:.15rem 0}.tag-chip{align-items:center;background:#007bff;background:var(--primary-color);border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3rem;padding:.2rem .55rem;white-space:nowrap}.tag-chip-remove{background:none;border:none;color:#fff;cursor:pointer;font-size:.7rem;line-height:1;opacity:.8;padding:0}.tag-chip-remove:hover{opacity:1}.tag-suggestions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.tag-suggestion{background:#f8f9fa;background:var(--light-bg);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:999px;color:#212529;color:var(--text-dark);cursor:pointer;font-size:.75rem;font-weight:600;padding:.2rem .55rem;transition:background .2s,border-color .2s}.tag-suggestion:hover{background:#007bff;background:var(--primary-color);border-color:#007bff;border-color:var(--primary-color);color:#fff}body.dark-mode .tag-suggestion{background:#fff;background:var(--card-bg);border-color:#dee2e6;border-color:var(--border-color)}.task-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.task-tag{background:#e0e7ff;border-radius:999px;color:#3730a3;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.02em;padding:.15rem .5rem;text-transform:lowercase}.task-tag-sm{font-size:.65rem;padding:.1rem .4rem}body.dark-mode .task-tag{background:#312e81;color:#c7d2fe}.subtask-list{border-top:1px solid #dee2e6;border-top:1px solid var(--border-color);margin-top:.5rem;padding-top:.5rem}.subtask-progress{align-items:center;display:flex;gap:.5rem;margin-bottom:.4rem}.subtask-progress-bar{background:#dee2e6;background:var(--border-color);border-radius:999px;flex:1 1;height:6px;overflow:hidden}.subtask-progress-fill{background:#28a745;background:var(--success-color);border-radius:999px;height:100%;transition:width .3s ease}.subtask-progress-text{color:#6c757d;color:var(--text-light);font-size:.75rem;font-weight:700;min-width:30px}.subtask-item{align-items:center;display:flex;gap:.5rem;padding:.3rem 0}.subtask-item.subtask-done .subtask-text{color:#6c757d;color:var(--text-light);text-decoration:line-through}.subtask-checkbox{accent-color:#28a745;accent-color:var(--success-color);cursor:pointer;flex-shrink:0;height:16px;width:16px}.subtask-text{color:#212529;color:var(--text-dark);flex:1 1;font-size:.85rem}.subtask-delete{background:none;border:none;color:#6c757d;color:var(--text-light);cursor:pointer;font-size:.75rem;opacity:0;padding:.1rem .3rem;transition:opacity .2s,color .2s}.subtask-item:hover .subtask-delete{opacity:1}.subtask-delete:hover{color:#dc3545;color:var(--danger-color)}.subtask-add{display:flex;gap:.4rem;margin-top:.3rem}.subtask-add-input{background:#fff;background:var(--card-bg);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;color:#212529;color:var(--text-dark);flex:1 1;font-size:.8rem;outline:none;padding:.35rem .5rem}body.dark-mode .subtask-add-input{background:#1a1a2e;border-color:#dee2e6;border-color:var(--border-color)}.subtask-add-input:focus{border-color:#007bff;border-color:var(--primary-color)}.subtask-add-btn{align-items:center;background:#007bff;background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:28px;justify-content:center;width:28px}.subtask-add-btn:disabled{cursor:not-allowed;opacity:.4}.task-subtask-toggle{margin-top:.4rem}.subtask-toggle-btn{align-items:center;background:none;border:none;color:#6c757d;color:var(--text-light);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:.3rem;padding:.2rem 0}.subtask-toggle-btn:hover{color:#007bff;color:var(--primary-color)}.subtask-badge{background:#007bff;background:var(--primary-color);border-radius:999px;color:#fff;font-size:.65rem;font-weight:700;padding:.05rem .4rem}.due-soon{color:#d97706!important;font-weight:700}.due-soon-label{animation:pulse-glow 1.5s ease-in-out infinite;font-size:.7rem;font-weight:800;text-transform:uppercase}.due-soon-highlight{background:#fffbeb!important;border-left-color:#f59e0b!important}body.dark-mode .due-soon-highlight{background:#2a2410!important}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}.bulk-actions{align-items:center;animation:slide-in .2s ease;background:#007bff;background:var(--primary-color);border-radius:8px;color:#fff;display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem}.bulk-count{font-size:.95rem;font-weight:700}.bulk-actions .btn{font-size:.8rem;padding:.4rem .8rem}.btn-success{background:#28a745;background:var(--success-color);color:#fff}.btn-success:hover{background:#1e7e34}@keyframes slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.task-select-checkbox{accent-color:#007bff;accent-color:var(--primary-color);cursor:pointer;height:18px;margin-bottom:.25rem;width:18px}.task-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;padding:0 .25rem}.select-all-btn{background:#f8f9fa;background:var(--light-bg);border:1px solid #dee2e6;border:1px solid var(--border-color);color:#212529;color:var(--text-dark);font-weight:600}.select-all-btn:hover{background:#007bff;background:var(--primary-color);border-color:#007bff;border-color:var(--primary-color);color:#fff}.task-count-label{color:#6c757d;color:var(--text-light);font-size:.85rem;font-weight:600}.toast{align-items:center;animation:toast-in .3s ease;background:#1f2937;border-radius:10px;bottom:2rem;box-shadow:0 8px 24px #0000004d;color:#fff;display:flex;gap:1rem;left:50%;max-width:90vw;padding:.75rem 1.25rem;position:fixed;transform:translateX(-50%);z-index:10000}body.dark-mode .toast{background:#374151}.toast-message{font-size:.95rem;font-weight:500}.toast-actions{align-items:center;display:flex;gap:.5rem}.toast-action-btn{background:#007bff;background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:.35rem .75rem;transition:background .2s}.toast-action-btn:hover{background:#0056b3}.toast-dismiss{background:none;border:none;color:#fff9;cursor:pointer;font-size:1rem;padding:.2rem}.toast-dismiss:hover{color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.confetti-canvas{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:99999}.header-actions{align-items:center;display:flex;gap:.5rem}.header-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem .75rem;transition:background .3s}.header-btn:hover{background:#ffffff59}.export-dropdown{position:relative}.export-menu{background:#fff;background:var(--card-bg);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #00000026;display:none;margin-top:.4rem;min-width:120px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.export-dropdown:hover .export-menu{display:block}.export-menu button{background:#0000;border:none;color:#212529;color:var(--text-dark);cursor:pointer;display:block;font-size:.9rem;font-weight:500;padding:.6rem 1rem;text-align:left;width:100%}.export-menu button:hover{background:#f8f9fa;background:var(--light-bg)}body.dark-mode .export-menu{background:#fff;background:var(--card-bg)}.error-message{align-items:center;display:flex;justify-content:space-between}.error-dismiss{background:none;border:none;color:#721c24;cursor:pointer;font-size:1.1rem;padding:0 .25rem}.stat-progress{align-items:center;display:flex;gap:.4rem;min-width:120px}.stat-progress .stat-count{color:#28a745;color:var(--success-color)}.stat-progress-bar{background:#dee2e6;background:var(--border-color);border-radius:999px;flex:1 1;height:6px;min-width:50px;overflow:hidden}.stat-progress-fill{background:#28a745;background:var(--success-color);border-radius:999px;height:100%;transition:width .3s ease}.stat-high .stat-count{color:#dc3545;color:var(--danger-color)}.stat-due-soon,.stat-due-soon .stat-count{color:#d97706}.kanban-card-tags{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.3rem}.kanban-card-subtasks{margin-top:.3rem}.kanban-subtask-indicator{color:#6c757d;color:var(--text-light);font-size:.7rem;font-weight:600}@media (max-width:768px){.filter-sort-bar{flex-direction:column}.filter-group{min-width:100%}.bulk-actions{flex-wrap:wrap}.header-actions{gap:.25rem}.header-btn{font-size:.8rem;padding:.4rem .6rem}}
/*# sourceMappingURL=main.fcea2283.css.map*/