.export-button-wrapper{position:relative}.export-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-warm);color:var(--color-text);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.export-btn:hover:not(:disabled){background:var(--color-border)}.export-btn:disabled{opacity:.7;cursor:not-allowed}.export-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;padding:var(--space-xs);animation:dropdownFadeIn .15s ease}.export-option{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);font-size:.875rem;color:var(--color-text);text-align:left;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.export-option:hover{background:var(--color-bg-warm)}.export-option svg{flex-shrink:0}.export-divider{height:1px;background:var(--color-border-light);margin:var(--space-xs) 0}.export-section-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);padding:var(--space-xs) var(--space-md)}.export-option-assignee{padding-left:var(--space-md)}.sync-button-wrapper{position:relative}.sync-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-warm);color:var(--color-text);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);min-width:90px;justify-content:center}.sync-btn:hover:not(:disabled){background:var(--color-border)}.sync-btn:disabled{opacity:.7;cursor:not-allowed}.sync-btn.success{background:#dcfce7;color:#166534}.sync-btn.error{background:#fef2f2;color:#dc2626}.spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-text);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sync-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;padding:var(--space-xs);animation:dropdownFadeIn .15s ease}.sync-option{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);font-size:.875rem;color:var(--color-text);text-align:left;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.sync-option:hover{background:var(--color-bg-warm)}.sync-option.settings{color:var(--color-text-muted)}.sync-dropdown-divider{height:1px;background:var(--color-border-light);margin:var(--space-xs) 0}.sync-hint{padding:var(--space-sm) var(--space-md);font-size:.75rem;color:var(--color-text-light);background:#fef3c7;border-radius:var(--radius-sm);margin:var(--space-xs)}.sync-settings-modal{max-width:520px}.sync-settings-content{padding:var(--space-lg)}.setup-instructions{background:var(--color-bg);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.setup-instructions h3{font-size:.875rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--color-text)}.setup-instructions ol{margin:0;padding-left:var(--space-lg);font-size:.8125rem;color:var(--color-text-muted);line-height:1.8}.setup-instructions a{color:var(--task-slate);text-decoration:underline}.setup-instructions code{background:var(--color-surface);padding:1px 4px;border-radius:var(--radius-sm);font-size:.75rem}.copy-script-btn{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:6px 12px;background:var(--color-text);color:var(--color-surface);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);transition:all var(--transition-fast);vertical-align:middle}.copy-script-btn:hover{background:var(--color-text-muted)}.copy-script-btn.copied{background:#166534}.test-connection-btn{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-md);background:var(--color-bg-warm);color:var(--color-text);font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.test-connection-btn:hover{background:var(--color-border)}.troubleshooting{background:#fef3c7;padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg);border:1px solid #fcd34d}.troubleshooting h4{font-size:.75rem;font-weight:600;color:#92400e;margin-bottom:var(--space-sm)}.troubleshooting ul{margin:0;padding-left:var(--space-md);font-size:.75rem;color:#78350f;line-height:1.6}.troubleshooting code{background:#ffffff80;padding:1px 4px;border-radius:2px;font-size:.7rem}.sync-settings-content .form-group{margin-bottom:var(--space-lg)}.sync-settings-content .form-group label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.sync-settings-content .form-group input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem}.sync-settings-content .form-group input:focus{outline:none;border-color:var(--color-text)}.sync-settings-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.sync-settings-actions .btn{padding:var(--space-sm) var(--space-lg);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.sync-settings-actions .btn-secondary{background:var(--color-bg-warm);color:var(--color-text)}.sync-settings-actions .btn-secondary:hover{background:var(--color-border)}.sync-settings-actions .btn-primary{background:var(--color-text);color:var(--color-surface)}.sync-settings-actions .btn-primary:hover{background:var(--color-text-muted)}.sync-settings-actions .btn-primary:disabled{opacity:.5;pointer-events:none}.assignee-filter{position:relative}.filter-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-bg-warm);color:var(--color-text);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap}.filter-btn:hover{background:var(--color-border)}.filter-btn.active{background:var(--color-text);color:var(--color-bg)}.filter-btn.active:hover{background:var(--color-text-muted)}.filter-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.filter-count{font-size:.75rem;opacity:.8;padding:1px 6px;background:#fff3;border-radius:var(--radius-sm)}.chevron{margin-left:2px;transition:transform var(--transition-fast)}.filter-btn[aria-expanded=true] .chevron{transform:rotate(180deg)}.filter-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;padding:var(--space-xs);animation:dropdownFadeIn .15s ease}.filter-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-sm) var(--space-md);font-size:.875rem;color:var(--color-text);border-radius:var(--radius-sm);transition:background var(--transition-fast);text-align:left}.filter-option:hover{background:var(--color-bg-warm)}.filter-option.selected{background:var(--color-bg);font-weight:600}.option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-count{font-size:.75rem;color:var(--color-text-light);margin-left:var(--space-sm)}.filter-divider{height:1px;background:var(--color-border-light);margin:var(--space-xs) 0}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.calendar-header-left{display:flex;align-items:center;gap:var(--space-lg)}.calendar-title{font-size:1.75rem;font-weight:600;color:var(--color-text);letter-spacing:-.02em}.calendar-nav{display:flex;align-items:center;gap:var(--space-xs)}.nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-muted);transition:all var(--transition-fast)}.nav-btn:hover{background-color:var(--color-bg-warm);color:var(--color-text)}.nav-btn:active{transform:scale(.95)}.today-btn{width:auto;padding:0 var(--space-md);font-size:.875rem;font-weight:500}.calendar-header-right{display:flex;align-items:center;gap:var(--space-sm)}.add-task-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-text);color:var(--color-bg);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.add-task-btn:hover{background:var(--color-text-muted);transform:translateY(-1px);box-shadow:var(--shadow-md)}.add-task-btn:active{transform:translateY(0)}.undo-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-bg-warm);color:var(--color-text);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.undo-btn:hover:not(:disabled){background:var(--color-border)}.undo-btn:disabled{opacity:.4;cursor:not-allowed}.task-bar{position:relative;display:flex;align-items:center;height:24px;margin:0 2px;padding:0 12px;border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast);overflow:visible}.task-bar:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);z-index:10}.task-bar.selected{outline:2px solid var(--color-text);outline-offset:1px;z-index:20}.task-bar.dragging{opacity:.85;cursor:grabbing;z-index:100;box-shadow:var(--shadow-lg)}.task-bar.resizing{z-index:100}.task-bar-name{font-size:.75rem;font-weight:500;color:#000000bf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;pointer-events:none}.resize-handle{position:absolute;top:-4px;bottom:-4px;width:16px;cursor:ew-resize;z-index:5;display:flex;align-items:center;justify-content:center}.resize-handle-grip{width:4px;height:14px;background:#00000026;border-radius:2px;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast)}.task-bar:hover .resize-handle-grip,.task-bar.resizing .resize-handle-grip{opacity:1}.resize-handle:hover .resize-handle-grip{background:#0006}.resize-left{left:-6px}.resize-right{right:-6px}body.resizing-task,body.resizing-task *{cursor:ew-resize!important}.drag-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-surface);font-size:.6875rem;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:var(--shadow-md)}.drag-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--color-text)}.task-bar[style*="#f7e96c"] .task-bar-name,.task-bar[style*="#f4d19b"] .task-bar-name{color:#000c}.task-bar[style*="#7d9bb8"] .task-bar-name{color:#fffffff2}.calendar-grid{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--color-border-light)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-bg-warm);border-bottom:1px solid var(--color-border)}.weekday-header{padding:var(--space-sm) var(--space-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);text-align:center}.calendar-weeks{display:flex;flex-direction:column}.calendar-week{position:relative;min-height:120px;border-bottom:1px solid var(--color-border-light)}.calendar-week:last-child{border-bottom:none}.week-days{display:grid;grid-template-columns:repeat(7,1fr);position:absolute;top:0;left:0;right:0;bottom:0}.day-cell{padding:var(--space-sm);border-right:1px solid var(--color-border-light);min-height:120px;cursor:pointer;transition:background-color var(--transition-fast)}.day-cell:hover{background-color:#e07a5f0d}.day-cell:last-child{border-right:none}.day-cell.other-month{background:var(--color-bg)}.day-cell.other-month .day-number{color:var(--color-text-light)}.day-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:.875rem;font-weight:500;color:var(--color-text);border-radius:50%}.today-number{background:var(--color-text);color:var(--color-surface)!important}.week-tasks{position:relative;padding-top:36px;padding-bottom:var(--space-xs);min-height:84px;pointer-events:none}.task-row{position:relative;height:26px;margin-bottom:2px;display:grid;grid-template-columns:repeat(7,1fr);pointer-events:none}.task-row>*{pointer-events:auto}.task-sidebar{width:340px;min-width:340px;height:100vh;background:var(--color-surface);border-left:1px solid var(--color-border-light);display:flex;flex-direction:column;box-shadow:-4px 0 24px #2d2a260a;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.sidebar-header h2{font-size:1rem;font-weight:600;color:var(--color-text)}.sidebar-header-right{display:flex;align-items:center;gap:var(--space-xs)}.task-count{font-size:.75rem;color:var(--color-text-light);background:var(--color-bg);padding:2px 8px;border-radius:var(--radius-sm)}.clear-filter-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);color:var(--color-text-light);transition:all var(--transition-fast)}.clear-filter-btn:hover{background:var(--color-bg-warm);color:var(--color-text)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-md)}.sidebar-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--space-xl);text-align:center}.sidebar-empty p{font-size:.875rem;color:var(--color-text-light);line-height:1.5}.task-list{display:flex;flex-direction:column;gap:var(--space-sm)}.task-item{padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:2px solid transparent}.task-item:hover{background:var(--color-bg-warm)}.task-item.selected{border-color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-sm)}.task-item-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.task-color-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.task-item-name{flex:1;font-size:.8125rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-delete-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);color:var(--color-text-light);opacity:0;transition:all var(--transition-fast)}.task-item:hover .task-delete-btn{opacity:1}.task-delete-btn:hover{background:#fef2f2;color:#dc2626}.task-item-assignee{display:flex;align-items:center;gap:4px;font-size:.6875rem;color:var(--color-text-light);margin-bottom:var(--space-sm)}.task-item-dates{display:flex;gap:var(--space-xs)}.date-field,.duration-field{display:flex;flex-direction:column;gap:2px}.date-field{flex:1}.duration-field{width:72px;flex-shrink:0}.duration-input-wrapper{display:flex;align-items:center;gap:2px}.duration-input-wrapper input{flex:1;min-width:0}.lock-btn{display:flex;align-items:center;justify-content:center;width:20px;height:22px;border-radius:var(--radius-sm);color:var(--color-text-light);opacity:.5;transition:all var(--transition-fast);flex-shrink:0}.lock-btn:hover{opacity:1;background:var(--color-bg-warm)}.lock-btn.locked{opacity:1;color:var(--color-text)}.date-field label,.duration-field label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light)}.date-field input,.duration-field input{padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.6875rem;color:var(--color-text);background:var(--color-surface);width:100%;transition:border-color var(--transition-fast)}.date-field input:focus,.duration-field input:focus{outline:none;border-color:var(--color-text)}.duration-field input{text-align:center;-moz-appearance:textfield}.duration-field input::-webkit-outer-spin-button,.duration-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d2a2666;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-lg);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.modal-header h2{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--color-text)}.modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-muted);transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-bg-warm);color:var(--color-text)}.modal-form{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.form-group input[type=text],.form-group input[type=date]{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;color:var(--color-text);background:var(--color-surface);transition:all var(--transition-fast)}.form-group input::placeholder{color:var(--color-text-light)}.form-group input:focus{outline:none;border-color:var(--color-text);box-shadow:0 0 0 3px #2d2a2614}.form-group input.error{border-color:#dc2626}.form-group input.error:focus{box-shadow:0 0 0 3px #dc26261a}.error-message{font-size:.75rem;color:#dc2626}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.color-swatches-container{display:flex;flex-direction:column;gap:var(--space-sm)}.color-swatches{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.color-swatch{width:32px;height:32px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-text)}.custom-color{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer}.custom-color input[type=color]{width:32px;height:32px;padding:0;border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.custom-color input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.custom-color input[type=color]::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.custom-color-label{font-size:.75rem;color:var(--color-text-muted)}.task-preview{padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-md);margin-top:var(--space-sm)}.preview-label{display:block;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);margin-bottom:var(--space-sm)}.preview-bar{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;color:#000000bf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.modal-actions .btn{flex:1;padding:var(--space-sm) var(--space-lg)}.btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-secondary{background:var(--color-bg-warm);color:var(--color-text)}.btn-secondary:hover{background:var(--color-border)}.btn-primary{background:var(--color-text);color:var(--color-surface)}.btn-primary:hover{background:var(--color-text-muted)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.modal-actions-edit{justify-content:space-between}.modal-actions-edit .btn-danger{flex:0 0 auto}.modal-actions-right{display:flex;gap:var(--space-sm)}.modal-actions-right .btn{flex:0 0 auto;padding:var(--space-sm) var(--space-lg)}.project-manager-modal{max-width:500px}.project-manager-content{padding:var(--space-lg)}.project-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.project-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid transparent;transition:all var(--transition-fast)}.project-item.active{border-color:var(--color-border);background:var(--color-surface)}.project-info{display:flex;align-items:center;gap:var(--space-sm)}.project-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.project-name{font-weight:500;color:var(--color-text)}.current-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--task-sage);background:#81a68426;padding:2px 6px;border-radius:var(--radius-sm)}.project-actions{display:flex;gap:var(--space-xs)}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--color-text-light);transition:all var(--transition-fast)}.icon-btn:hover{background:var(--color-bg-warm);color:var(--color-text)}.icon-btn.delete:hover{background:#fef2f2;color:#dc2626}.icon-btn:disabled{opacity:.3;pointer-events:none}.project-edit-form,.project-duplicate-form{width:100%;display:flex;flex-direction:column;gap:var(--space-sm)}.project-edit-form input,.project-duplicate-form input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem}.project-edit-form input:focus,.project-duplicate-form input:focus{outline:none;border-color:var(--color-text)}.duplicate-form-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.duplicate-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.project-duplicate-form .form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.project-duplicate-form .form-group label{font-size:.75rem;font-weight:500;color:var(--color-text-muted)}.project-duplicate-form input[type=date]{width:100%}.color-options{display:flex;gap:var(--space-xs);flex-wrap:wrap}.color-option{width:24px;height:24px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface)}.edit-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:.75rem}.new-project-form{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.new-project-form input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background:var(--color-surface)}.new-project-form input:focus{outline:none;border-color:var(--color-text)}.form-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.add-project-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.875rem;font-weight:500;transition:all var(--transition-fast)}.add-project-btn:hover{border-color:var(--color-text-light);color:var(--color-text);background:var(--color-bg)}.project-manager-modal .btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.project-manager-modal .btn-secondary{background:var(--color-bg-warm);color:var(--color-text)}.project-manager-modal .btn-secondary:hover{background:var(--color-border)}.project-manager-modal .btn-primary{background:var(--color-text);color:var(--color-surface)}.project-manager-modal .btn-primary:hover{background:var(--color-text-muted)}.project-manager-modal .btn-primary:disabled{opacity:.5;pointer-events:none}.danger-zone{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.clear-data-btn{width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid #c9302c;color:#c9302c;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all var(--transition-fast)}.clear-data-btn:hover{background:#c9302c;color:#fff}.clear-data-btn svg{stroke:currentColor}.project-switcher{position:relative;margin-bottom:var(--space-lg)}.project-switcher-trigger{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.project-switcher-trigger:hover{border-color:var(--color-text-light);box-shadow:var(--shadow-sm)}.project-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.project-name{flex:1;text-align:left}.dropdown-arrow{color:var(--color-text-muted);transition:transform var(--transition-fast)}.dropdown-arrow.open{transform:rotate(180deg)}.project-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:240px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;padding:var(--space-xs);animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:var(--space-sm) var(--space-md);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light)}.dropdown-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);font-size:.875rem;color:var(--color-text);text-align:left;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.dropdown-item:hover{background:var(--color-bg-warm)}.dropdown-item.active{background:var(--color-bg);font-weight:500}.dropdown-item .check-icon{margin-left:auto;color:var(--task-sage)}.dropdown-divider{height:1px;background:var(--color-border-light);margin:var(--space-xs) 0}.manage-btn{color:var(--color-text-muted)}.manage-btn:hover{color:var(--color-text)}:root{--color-bg: #faf8f5;--color-bg-warm: #f5f2ed;--color-surface: #ffffff;--color-border: #e8e4de;--color-border-light: #f0ece6;--color-text: #2d2a26;--color-text-muted: #6b6560;--color-text-light: #9a948d;--task-terracotta: #e07a5f;--task-sage: #81a684;--task-ochre: #f4d19b;--task-slate: #7d9bb8;--task-lavender: #c9b8d4;--task-dusty-orange: #d4a574;--task-yellow: #f7e96c;--task-rose: #d4a5a5;--font-display: "Fraunces", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--shadow-sm: 0 1px 2px rgba(45, 42, 38, .04);--shadow-md: 0 4px 12px rgba(45, 42, 38, .08);--shadow-lg: 0 8px 24px rgba(45, 42, 38, .12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-body);font-size:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{display:flex;height:100vh;overflow:hidden;background:radial-gradient(ellipse at 20% 0%,rgba(224,122,95,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(129,166,132,.03) 0%,transparent 50%),var(--color-bg)}.app-main{flex:1;padding:var(--space-xl);overflow-y:auto;overflow-x:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-warm);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}@media print{@page{size:landscape;margin:.5in}.task-sidebar,.project-switcher,.add-task-btn,.nav-btn,.export-btn,.export-button-wrapper,.calendar-header-right{display:none!important}body,.app{background:#fff!important}.app{display:block}.app-main{padding:0;width:100%}.calendar-grid{box-shadow:none;border:1px solid #ddd}.calendar-header{border-bottom:none;padding-bottom:1rem}.calendar-title{font-size:1.5rem}.day-cell{min-height:80px!important}.task-bar,*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
