:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--color-primary: #7c3aed;--color-primary-hover: #6d28d9;--color-primary-light: #a78bfa;--color-primary-very-light: #ede9fe;--color-primary-disabled: #c4b5fd;--color-primary-dark: #5b21b6;--color-primary-bg: #faf5ff;--color-accent: #f4603a}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:light}:root{--theme-bg-app: #f5f5f5;--theme-bg-card: #ffffff;--theme-bg-cell: #ffffff;--theme-bg-topbar: transparent;--theme-text: #1a1a1a}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--theme-bg-app);color:var(--theme-text)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-form{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 12px #0000001a;width:100%;max-width:360px}.login-form h1{text-align:center;margin-bottom:1.5rem;color:var(--color-primary)}.login-form input{width:100%;padding:.75rem;margin-bottom:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem}.login-form button{width:100%;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer}.login-form button:hover{background:var(--color-primary-hover)}.login-form .error{color:#ef4444;text-align:center;margin-bottom:.75rem}.dashboard{max-width:900px;margin:0 auto;padding:1rem;overflow-x:hidden}.topbar{display:flex;align-items:center;gap:1rem;padding:.75rem;flex-wrap:wrap;background:var(--theme-bg-topbar)}.topbar h1{font-size:1.25rem;color:var(--color-primary);margin-right:auto}.space-toggles{display:flex;gap:.5rem}.space-toggle{padding:.4rem .8rem;border:2px solid;border-radius:20px;background:#fff;cursor:pointer;font-size:.85rem;opacity:.5}.space-toggle.active{opacity:1;font-weight:600}.topbar-actions{display:flex;gap:.5rem;align-items:center;position:relative}.btn-pro-toggle{padding:.4rem .8rem;border:2px solid #EF4444;border-radius:20px;background:#fff;cursor:pointer;font-size:.8rem;font-weight:600;color:#999;opacity:.6}.btn-pro-toggle.active{opacity:1;color:#ef4444;background:#fef2f2}.btn-logout{padding:.4rem .8rem;background:none;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.85rem}.btn-review-launch{position:relative;display:flex;align-items:center;gap:.3rem;padding:.4rem .7rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:background .2s}.btn-review-launch:hover{filter:brightness(1.1)}.review-launch-badge{background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.tabs{display:flex;gap:.25rem;border-bottom:2px solid #e5e5e5;margin-bottom:1rem}.tab{padding:.5rem 1rem;border:none;background:none;cursor:pointer;font-size:.95rem;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.empty{color:#999;text-align:center;padding:2rem}.inbox-form{display:flex;gap:.5rem;margin-bottom:1rem}.inbox-form input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem}.inbox-form button{padding:.75rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:1.25rem;cursor:pointer}.inbox-list{list-style:none}.inbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--theme-bg-card);border-radius:8px;margin-bottom:.5rem}.inbox-text{flex:1}.inbox-date{color:#999;font-size:.8rem}.btn-delete{background:none;border:none;color:#ccc;cursor:pointer;font-size:1rem}.btn-delete:hover{color:#ef4444}.inbox-empty{color:#999;text-align:center;padding:2rem}.task-list h2,.agenda-header h2{font-size:1.1rem;margin-bottom:1rem}.task-card,.slot-card{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;background:var(--theme-bg-card);border-left:4px solid;border-radius:8px;margin-bottom:.5rem;cursor:pointer}.task-card:hover{background:#fafafa}.task-card input[type=checkbox]{-webkit-appearance:none;appearance:none;width:1.15rem;height:1.15rem;border:2px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;flex-shrink:0;position:relative}.task-card input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}.task-card input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.task-card.done,.slot-card.done{opacity:.5}.task-card.done .task-title,.slot-card.done .slot-title{text-decoration:line-through}.task-info{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.task-title,.slot-title{font-weight:500;flex:1}.task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.task-deadline{font-size:.75rem;color:#999}.task-duration,.slot-duration{font-size:.75rem;color:#666}.priority{font-size:.7rem;padding:.1rem .4rem;border-radius:4px}.recurrence-tag,.reminder-tag{font-size:.75rem;opacity:.7}.project-tag{font-size:.7rem;padding:.1rem .4rem;border-radius:4px;background:#e0e7ff;color:#4338ca;white-space:nowrap}.btn-card-settings{padding:.5rem 1rem;background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.85rem;color:#666}.btn-card-settings:hover{background:#f5f5f5}.btn-card-settings.active{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary)}.card-settings-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:.5rem;z-index:10;min-width:150px}.card-settings-option{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;cursor:pointer;font-size:.85rem;white-space:nowrap;border-radius:4px}.card-settings-option:hover{background:#f5f5f5}.priority-haute{background:#fee2e2;color:#dc2626}.priority-moyenne{background:#fef3c7;color:#d97706}.priority-basse{background:#dbeafe;color:#2563eb}.today-section{margin-bottom:1rem}.today-section-title{font-size:.85rem;font-weight:600;padding:.3rem .6rem;border-radius:6px;margin-bottom:.4rem}.section-overdue{background:#fee2e2;color:#991b1b}.section-started{background:#fef3c7;color:#92400e}.section-today{background:#dbeafe;color:#1e40af}.section-events{background:#e0e7ff;color:#4338ca}.section-next{background:#f3f4f6;color:#374151}.section-calendar{background:#f0fdf4;color:#166534}.calendar-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.9rem;color:#333;border-bottom:1px solid #f0f0f0}.calendar-item:last-child{border-bottom:none}.calendar-item-time{font-weight:600;color:#166534;white-space:nowrap;font-size:.85rem;min-width:90px}.calendar-item-title{flex:1}.calendar-item-icons{display:flex;gap:.25rem;font-size:.75rem;opacity:.7}.agenda-event{padding:.5rem .75rem;margin-bottom:.35rem;font-size:.9rem}.agenda-event .event-time,.agenda-event .event-title{font-size:.9rem}.agenda-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.btn-plan{padding:.5rem 1rem;background:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer}.btn-plan:hover{background:#059669}.agenda-day{margin-bottom:1.5rem}.agenda-day h3{font-size:.95rem;color:#666;margin-bottom:.5rem;text-transform:capitalize}.task-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-add-task{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem}.btn-add-task:hover{background:var(--color-primary-hover)}.btn-start-card{background:none;border:2px solid var(--color-primary-light);color:var(--color-primary);width:1.8rem;height:1.8rem;aspect-ratio:1;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;padding:0;line-height:1}.btn-start-card:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-restart-card{border-color:var(--color-accent);color:var(--color-accent);font-size:.9rem}.btn-restart-card:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.card-action-group{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.btn-move-today{background:none;border:2px solid #f6ad55;color:#dd6b20;width:1.8rem;height:1.8rem;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;transition:all .15s;line-height:1}.btn-move-today:hover{background:#dd6b20;color:#fff;border-color:#dd6b20}.btn-quick-remind{background:none;border:1px solid #ddd;color:#888;width:1.4rem;height:1.4rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;transition:all .15s}.btn-quick-remind:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.quick-remind-menu{position:absolute;top:100%;right:0;margin-top:.25rem;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #0000001f;padding:.25rem;z-index:50;min-width:80px;display:flex;flex-direction:column;gap:.1rem}.quick-remind-option{background:none;border:none;padding:.35rem .6rem;font-size:.8rem;color:#444;cursor:pointer;border-radius:4px;text-align:left;white-space:nowrap}.quick-remind-option:hover{background:var(--color-primary-very-light);color:var(--color-primary)}.launcher-btn-remind{background:none;border:1px solid #ddd;border-radius:8px;padding:.4rem;cursor:pointer;color:#666;display:inline-flex;align-items:center;justify-content:center}.launcher-btn-remind:hover{background:#f0f0f0;border-color:var(--color-primary-light);color:var(--color-primary)}.task-form-overlay{position:fixed;inset:0;background:#0006;display:flex;justify-content:center;align-items:flex-start;padding-top:5vh;z-index:100}.task-form{background:#fff;border-radius:12px;padding:1.25rem;width:100%;max-width:620px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.task-form h3{margin-bottom:.75rem;font-size:1.1rem}.task-form input[type=text],.task-form input[type=date],.task-form input[type=number],.task-form input[type=time],.task-form input[type=datetime-local],.task-form textarea,.task-form select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:8px;font-size:.85rem;margin-top:.2rem;background:#fff;color:#1a1a1a;-webkit-appearance:none;appearance:none;color-scheme:light}.task-form textarea{resize:vertical;font-family:inherit;background:#fff;color:#1a1a1a}.task-form select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .5rem center;padding-right:1.5rem}.task-form label{display:flex;flex-direction:column;font-size:.82rem;color:#555;flex:1}.task-form .form-row{display:flex;gap:.6rem;margin-bottom:.5rem}.task-form .hint{font-size:.72rem;color:#999;margin-top:.1rem}.type-selector{margin-bottom:.75rem}.type-btn{flex:1;padding:.5rem;border:2px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;color:#666}.type-btn.active{border-color:var(--color-primary);color:var(--color-primary);font-weight:600;background:var(--color-primary-bg)}.duration-input{display:flex;align-items:center;gap:.35rem;margin-top:.25rem}.duration-input input{width:60px;text-align:center}.duration-input span{font-size:.85rem;color:#666}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem}.checkbox-label input[type=checkbox]{-webkit-appearance:none;appearance:none;width:1.15rem;height:1.15rem;border:2px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;flex-shrink:0;position:relative;margin:0}.checkbox-label input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.label-inline{flex-direction:row!important;align-items:center;gap:.5rem;white-space:nowrap}.label-inline input,.label-inline select{margin-top:0!important;flex:1;min-width:0}.label-inline .duration-input,.label-inline .recurrence-interval{margin-top:0;flex:1}.label-inline .hint{display:none}.form-section{margin-top:.5rem;padding:.5rem .6rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.form-section-title{font-size:.82rem;font-weight:600;color:#374151;margin-bottom:.35rem}.form-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.form-section .form-row{margin-bottom:.35rem}.form-section .form-row:last-child{margin-bottom:0}.recurrence-interval{display:flex;align-items:center;gap:.35rem;margin-top:.25rem}.recurrence-interval input{width:60px;text-align:center}.recurrence-interval span{font-size:.85rem;color:#666}.reminder-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.reminder-row select{flex:1;padding:.4rem;border:1px solid #ddd;border-radius:6px;font-size:.85rem;background:#fff;color:#1a1a1a;color-scheme:light}.btn-add-reminder{padding:.25rem .6rem;background:var(--color-primary-bg);color:var(--color-primary);border:1px solid var(--color-primary-disabled);border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500}.btn-add-reminder:hover{background:var(--color-primary-very-light)}.btn-remove-reminder{background:none;border:none;color:#999;cursor:pointer;font-size:1.1rem;padding:.1rem .3rem;border-radius:4px}.btn-remove-reminder:hover{color:#ef4444;background:#fee2e2}.form-error{color:#dc2626;background:#fef2f2;border:1px solid #FECACA;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;margin-top:.5rem}.form-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:10}.form-topbar h3{font-size:1.1rem;margin:0}.form-topbar-actions{display:flex;align-items:center;gap:.35rem}.btn-form-archive,.btn-form-delete{background:none;border:none;cursor:pointer;font-size:1rem;padding:.3rem;border-radius:6px}.btn-form-archive:hover{background:#fef3c7}.btn-form-delete:hover{background:#fee2e2}.btn-form-cancel{padding:.35rem .7rem;background:none;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.85rem;color:#333}.btn-form-save{padding:.35rem .8rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500}.btn-form-save:hover{background:var(--color-primary-hover)}.btn-form-save:disabled{background:var(--color-primary-disabled);cursor:not-allowed}.btn-cancel{padding:.5rem 1rem;background:none;border:1px solid #ddd;border-radius:8px;cursor:pointer}.btn-submit{padding:.5rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer}.btn-submit:hover{background:var(--color-primary-hover)}.btn-submit:disabled{background:var(--color-primary-disabled);cursor:not-allowed}.task-form input[type=time]{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem;margin-top:.25rem;background:#fff;color:#1a1a1a;color-scheme:light}.form-field{margin-bottom:.5rem;position:relative}.form-field-label{display:block;font-size:.82rem;color:#555;margin-bottom:.2rem}.form-inline{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;flex-wrap:wrap}.form-inline-label{font-size:.82rem;color:#555;font-weight:500;white-space:nowrap}.form-inline-sep{width:1px;height:1.2rem;background:#ddd;margin:0 .15rem;flex-shrink:0}.chip-group{display:flex;gap:.25rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;border:1.5px solid #ddd;border-radius:16px;background:#fff;cursor:pointer;font-size:.75rem;color:#666;transition:all .12s;line-height:1.3}.chip:hover{border-color:#aaa;background:#f9f9f9}.chip.chip-active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg);font-weight:600}.chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chip.chip-basse.chip-active{border-color:#2563eb;color:#2563eb;background:#dbeafe}.chip.chip-moyenne.chip-active{border-color:#d97706;color:#d97706;background:#fef3c7}.chip.chip-haute.chip-active{border-color:#dc2626;color:#dc2626;background:#fee2e2}.chip.chip-star{border-color:#ddd;color:#999;font-size:.85rem}.chip.chip-star.chip-star-active{border-color:#f59e0b;color:#f59e0b;background:#fffbeb;font-weight:600}.star-indicator{color:#f59e0b;margin-right:.25rem;font-size:.85em}.tag-container{display:flex;flex-wrap:wrap;gap:.25rem;padding:.3rem;border:1px solid #ddd;border-radius:8px;background:#fff;min-height:2rem;align-items:center;cursor:text}.tag-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px #7c3aed26}.tag-badge{display:inline-flex;align-items:center;gap:.15rem;padding:.1rem .4rem;background:#e0e7ff;color:#4338ca;border-radius:10px;font-size:.72rem;white-space:nowrap}.tag-badge button{background:none;border:none;color:#6366f1;cursor:pointer;font-size:.85rem;padding:0 .1rem;line-height:1}.tag-badge button:hover{color:#dc2626}.tag-input{border:none!important;outline:none;padding:.1rem .2rem!important;font-size:.8rem;flex:1;min-width:60px;margin:0!important;box-shadow:none!important}.combo-dropdown{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:20;max-height:150px;overflow-y:auto;margin-top:2px}.combo-option{padding:.35rem .65rem;cursor:pointer;font-size:.8rem;color:#374151}.combo-option:hover{background:var(--color-primary-bg)}.combo-option-selected{background:#f0f0ff;font-weight:600}.combo-option-new{color:var(--color-primary);font-style:italic}.combo-empty{padding:.35rem .65rem;font-size:.75rem;color:#999}.calendar-view{width:100%;overflow-x:hidden;max-width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:nowrap;gap:.5rem}.calendar-nav{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.calendar-label{font-size:1.1rem;font-weight:600;text-transform:capitalize;margin-left:.5rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-nav{padding:.35rem .7rem;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;height:32px;box-sizing:border-box;line-height:1}.btn-nav:hover{background:#f0f0f0}.btn-today{font-size:.8rem}.calendar-actions{display:flex;align-items:center;gap:.5rem}.view-toggle{display:flex;border:1px solid #ddd;border-radius:6px;overflow:hidden;height:32px;box-sizing:border-box;margin-left:auto;flex-shrink:0}.view-btn{padding:0 .55rem;background:#fff;border:none;cursor:pointer;font-size:.8rem;color:#666;min-width:34px;display:inline-flex;align-items:center;justify-content:center}.view-btn.active{background:var(--color-primary);color:#fff;font-weight:600}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-size:.8rem;font-weight:600;color:#666;padding:.25rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:2px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(90px,1fr);gap:1px;background:#e5e7eb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;min-height:calc(100vh - 144px)}.calendar-cell{background:var(--theme-bg-cell);padding:.25rem;cursor:pointer;transition:background .1s;overflow:hidden;min-height:0}.calendar-cell:hover{background:#f9fafb}.calendar-cell.today{background:var(--color-primary-bg)}.calendar-cell.other-month{background:#fafafa}.calendar-cell.other-month .cell-date{color:#ccc}.cell-date{font-size:.8rem;font-weight:600;color:#374151;margin-bottom:.15rem}.cell-entries{display:flex;flex-direction:column;gap:1px;overflow:hidden;min-width:0}.cell-event{display:flex;align-items:center;gap:.25rem;padding:.1rem .25rem;background:var(--color-primary-bg);border-left:3px solid var(--color-primary);border-radius:3px;font-size:.7rem;cursor:pointer;overflow:hidden;white-space:nowrap}.cell-event:hover{background:var(--color-primary-very-light)}.event-time{color:#666;font-weight:500;flex-shrink:0}.event-title{overflow:hidden;text-overflow:ellipsis}.cell-slot{display:flex;align-items:center;justify-content:space-between;padding:.1rem .25rem;background:#f0fdf4;border-left:3px solid #10B981;border-radius:3px;font-size:.65rem;overflow:hidden;white-space:nowrap}.cell-slot.done{opacity:.4;text-decoration:line-through}.cell-dated-task{display:flex;align-items:center;gap:.25rem;padding:.1rem .25rem;background:#fef3c7;border-left:3px solid #D97706;border-radius:3px;font-size:.7rem;overflow:hidden;white-space:nowrap;cursor:pointer}.cell-dated-task:hover{background:#fde68a}.week-dated-task{font-style:italic;cursor:pointer}.slot-label{overflow:hidden;text-overflow:ellipsis}.slot-min{color:#666;flex-shrink:0;margin-left:.25rem}.week-grid{display:flex;gap:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.day-allday-section{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.day-allday-item{padding:.3rem .6rem;background:var(--color-primary-bg);border-left:3px solid;border-radius:4px;font-size:.85rem;cursor:pointer}.day-allday-item:hover{filter:brightness(.95)}.day-unscheduled-zone{min-height:2.5rem;padding:.35rem;margin-bottom:.5rem;border:2px dashed #e5e7eb;border-radius:8px;display:flex;flex-wrap:wrap;gap:.35rem;align-items:flex-start;align-content:flex-start;transition:border-color .15s,background .15s}.day-unscheduled-zone.zone-drag-over{border-color:var(--color-primary);background:var(--color-primary-very-light)}.day-unscheduled-item{display:flex;align-items:center;gap:.5rem;padding:.3rem .6rem;background:var(--color-primary-bg);border-left:3px solid;border-radius:4px;font-size:.85rem;cursor:grab;white-space:nowrap;touch-action:none}.day-unscheduled-item:hover{filter:brightness(.95)}.day-unscheduled-task{background:#fef3c7}.day-item-title{overflow:hidden;text-overflow:ellipsis}.day-item-duration{font-size:.7rem;color:#888;flex-shrink:0}.day-unscheduled-empty{width:100%;text-align:center;color:#bbb;font-size:.8rem;padding:.25rem}.day-grid{display:flex;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.day-grid .week-hours-col{flex-shrink:0;width:3.5rem;background:#fafafa}.day-hour-label{height:3rem;display:flex;align-items:flex-start;justify-content:flex-end;padding:.15rem .35rem 0 0;font-size:.75rem;color:#999;border-bottom:1px solid #f0f0f0}.day-slots-col{flex:1;position:relative;min-width:0}.day-slots-grid{position:relative}.day-hour-row{display:flex;flex-direction:column}.day-time-slot{height:1.5rem;border-bottom:1px solid #f5f5f5;transition:background .1s}.day-time-slot:first-child{border-bottom:1px dashed #e8e8e8}.day-hour-row:not(:last-child)>.day-time-slot:last-child{border-bottom:1px solid #e5e7eb}.day-time-slot.slot-drag-over{background:var(--color-primary-very-light)}.day-scheduled-item{position:absolute;border-left:3px solid;border-radius:4px;padding:.2rem .4rem;background:var(--color-primary-bg);display:flex;align-items:center;gap:.4rem;overflow:hidden;cursor:grab;z-index:2;box-sizing:border-box;touch-action:none}.day-scheduled-item:hover{filter:brightness(.95)}.day-scheduled-task{background:#fef3c7}.day-sched-time{font-weight:600;font-size:.8rem;color:#555;flex-shrink:0}.day-sched-title{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.btn-unsched{background:none;border:none;color:#999;cursor:pointer;font-size:.75rem;padding:.1rem .25rem;flex-shrink:0;border-radius:3px;line-height:1}.btn-unsched:hover{background:#fee2e2;color:#dc2626}.week-hours-col{flex-shrink:0;width:3.5rem;background:#fafafa}.week-hour-header{height:3rem;border-bottom:1px solid #e5e7eb}.week-hour-label{height:3rem;display:flex;align-items:flex-start;justify-content:flex-end;padding:.15rem .35rem 0 0;font-size:.7rem;color:#999;border-bottom:1px solid #f0f0f0}.week-day-col{flex:1;min-width:0;border-left:1px solid #e5e7eb}.week-day-col.today{background:#fafbff}.week-day-header{height:3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid #e5e7eb;cursor:pointer;padding:.25rem}.week-day-header:hover{background:#f0f0f0}.week-day-name{font-size:.7rem;color:#666;text-transform:capitalize}.week-day-num{font-size:.95rem;font-weight:600}.week-day-num.today-num{background:var(--color-primary);color:#fff;border-radius:50%;width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center}.week-day-body{position:relative}.week-allday-event{padding:.15rem .35rem;font-size:.7rem;border-radius:3px;margin:.15rem;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.week-allday-event:hover{filter:brightness(.95)}.week-hours-grid{position:relative}.week-hour-cell{height:3rem;border-bottom:1px solid #f0f0f0;cursor:pointer}.week-hour-cell:hover{background:#f0f5ff}.week-event{position:absolute;left:.15rem;right:.15rem;border-radius:4px;padding:.15rem .3rem;font-size:.7rem;overflow:hidden;cursor:pointer;z-index:2}.week-event:hover{filter:brightness(.92)}.week-event-time{font-weight:600;display:block}.week-event-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-slot{position:absolute;left:.15rem;right:.15rem;border-radius:3px;padding:.1rem .25rem;font-size:.65rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;z-index:1}.week-slot.done{opacity:.4;text-decoration:line-through}.agenda-week-slot{display:flex;align-items:center;gap:.25rem;padding:.15rem .3rem;font-size:.7rem;border-radius:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.agenda-week-slot input[type=checkbox]{width:.8rem;height:.8rem;flex-shrink:0;cursor:pointer}.agenda-week-slot.done{opacity:.4}.agenda-week-slot.done span{text-decoration:line-through}.notification-center{position:static}.notification-bell{background:none;border:none;cursor:pointer;color:#555;padding:.35rem;border-radius:6px;position:relative;display:flex;align-items:center}.notification-bell:hover{background:#00000014;color:#1a1a1a}.notification-badge{position:absolute;top:-2px;right:-4px;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notification-dropdown{position:absolute;top:100%;right:0;width:340px;max-height:420px;background:#fff;border-radius:10px;box-shadow:0 8px 30px #0000002e;z-index:1000;overflow:hidden;margin-top:.4rem}.notification-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #eee;font-weight:600;font-size:.9rem}.btn-mark-all-read{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.8rem;font-weight:500}.btn-mark-all-read:hover{text-decoration:underline}.notification-empty{padding:2rem 1rem;text-align:center;color:#999;font-size:.85rem}.notification-list{overflow-y:auto;max-height:360px}.notification-item{padding:.65rem 1rem;border-bottom:1px solid #f0f0f0;position:relative;display:flex;gap:.5rem;align-items:flex-start}.notification-item:hover{background:#f9f9f9}.notification-content{flex:1;cursor:pointer;min-width:0}.notification-title{font-weight:600;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-message{font-size:.78rem;color:#666;margin-top:.15rem}.notification-time{font-size:.7rem;color:#aaa;margin-top:.2rem}.notification-actions{display:flex;gap:.25rem;flex-shrink:0}.btn-complete-notif{background:none;border:none;cursor:pointer;color:#22c55e;padding:.2rem;border-radius:4px;font-size:1rem;display:flex;align-items:center;font-weight:700}.btn-complete-notif:hover{background:#f0fdf4;color:#16a34a}.btn-snooze,.btn-dismiss{background:none;border:none;cursor:pointer;color:#999;padding:.2rem;border-radius:4px;font-size:.9rem;display:flex;align-items:center}.btn-snooze:hover,.btn-dismiss:hover{background:#eee;color:#555}.snooze-menu{display:flex;flex-wrap:wrap;gap:.3rem;padding:.5rem .25rem;border-top:1px solid #f0f0f0;margin-top:.35rem}.snooze-option{background:#f0f0f0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.72rem;cursor:pointer;color:#444}.snooze-option:hover{background:#e0e0e0}.snooze-custom{display:flex;gap:.25rem;align-items:center;width:100%;margin-top:.2rem}.snooze-custom input{width:60px;padding:.2rem .35rem;border:1px solid #ddd;border-radius:4px;font-size:.72rem}.snooze-custom button{background:var(--color-primary);color:#fff;border:none;border-radius:4px;padding:.2rem .5rem;font-size:.72rem;cursor:pointer}.snooze-custom button:hover{background:var(--color-primary-hover)}.notification-toast{position:fixed;bottom:1rem;left:1rem;right:1rem;background:#1e293b;color:#fff;border-radius:10px;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 8px 30px #00000040;z-index:2000;max-width:600px;margin:0 auto;animation:toast-slide-up .3s ease-out}@keyframes toast-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.notification-toast-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.notification-toast-content strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-toast-content span{font-size:.8rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-toast-actions{display:flex;gap:.3rem;flex-shrink:0}.notification-toast-actions button{padding:.3rem .55rem;border:1px solid #475569;background:transparent;color:#e2e8f0;border-radius:6px;cursor:pointer;font-size:.75rem;white-space:nowrap}.notification-toast-actions button:hover{background:#334155}.notification-toast-complete{border-color:#22c55e!important;color:#86efac!important;font-weight:700}.notification-toast-complete:hover{background:#14532d!important}.notification-toast-close{border-color:#ef4444!important;color:#fca5a5!important}.notification-toast-close:hover{background:#7f1d1d!important}.action-dialog-overlay{position:fixed;inset:0;background:#00000073;z-index:3000;display:flex;align-items:center;justify-content:center;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.action-dialog{background:#fff;border-radius:14px;padding:1.5rem;min-width:280px;max-width:360px;width:90vw;box-shadow:0 12px 40px #0003;position:relative;animation:dialog-scale .2s ease-out}@keyframes dialog-scale{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.action-dialog h3{margin:0 0 1rem;font-size:1rem;color:#1e293b;text-align:center}.action-dialog-buttons{display:flex;flex-direction:column;gap:.5rem}.action-dialog-buttons button{padding:.65rem 1rem;border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;cursor:pointer;font-size:.9rem;color:#334155;transition:all .15s}.action-dialog-buttons button:hover{background:#e2e8f0}.action-dialog-buttons .action-complete{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.action-dialog-buttons .action-complete:hover{background:var(--color-primary-hover)}.action-dialog-buttons .action-edit{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}.action-dialog-buttons .action-edit:hover{background:#e0f2fe}.action-dialog-close{position:absolute;top:.5rem;right:.75rem;background:none;border:none;font-size:1.3rem;color:#94a3b8;cursor:pointer}.action-dialog-close:hover{color:#475569}@media(max-width:640px){.dashboard{padding:.5rem;max-width:100vw}.topbar{flex-wrap:wrap;gap:.3rem;padding:.5rem 0}.topbar h1{font-size:.95rem;flex-shrink:0}.space-toggles{display:flex;gap:.2rem}.space-toggle{font-size:.6rem;padding:.15rem .35rem;border-width:1.5px}.topbar-actions{gap:.2rem;flex-shrink:1;min-width:0}.btn-pro-toggle{font-size:.65rem;padding:.25rem .4rem;opacity:1;color:#666;white-space:nowrap}.btn-pro-toggle.active{color:#ef4444}.btn-logout{font-size:.65rem;padding:.25rem .4rem;color:#374151;border-color:#ccc;white-space:nowrap}.btn-settings-toggle{font-size:.85rem;padding:.25rem .4rem}.notification-bell{padding:.25rem}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:0;flex-wrap:nowrap;scrollbar-width:none;max-width:100%}.tabs::-webkit-scrollbar{display:none}.tab{padding:.35rem .55rem;font-size:.78rem;white-space:nowrap;flex-shrink:0}.calendar-header{gap:.35rem}.calendar-nav{gap:.25rem}.btn-nav{padding:.4rem .6rem;font-size:.9rem;height:36px;min-width:36px;display:inline-flex;align-items:center;justify-content:center;color:#1a1a1a;border-color:#bbb;background:#fff;font-weight:600}.btn-today{font-size:.75rem;padding:.35rem .5rem}.calendar-label{font-size:.85rem}.calendar-actions{gap:.25rem}.view-toggle{height:36px;margin-left:.25rem}.view-btn{padding:0 .4rem;font-size:.7rem;color:#374151;min-width:30px}.view-btn.active{color:#fff}.btn-add-task{font-size:.75rem;padding:.35rem .5rem}.task-list-header{flex-wrap:wrap;gap:.35rem}.task-list-header h2{font-size:.95rem}.btn-card-settings,.btn-select-mode{font-size:.75rem;padding:.35rem .5rem}.horizon-filters{gap:.25rem}.horizon-filter{padding:.3rem .6rem;font-size:.75rem;background:#fff;color:#555;border:1px solid #ccc}.horizon-filter.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.project-filter-select{font-size:.75rem;padding:.3rem .5rem;background-color:#fff;color:#555;border:1px solid #ccc}.undo-toast{left:.5rem;right:.5rem;bottom:.5rem;transform:none}.calendar-view{overflow-x:hidden}.calendar-weekdays{font-size:.65rem;min-width:0}.month-grid{min-width:0;grid-auto-rows:minmax(0,1fr);min-height:calc(100vh - 120px)}.calendar-cell{padding:.1rem;min-height:0}.cell-date{font-size:.65rem}.cell-event{font-size:.55rem;padding:.05rem .15rem;gap:.1rem}.cell-event .event-time{font-size:.5rem}.cell-event .event-title{font-size:.55rem}.cell-slot{font-size:.5rem;padding:.05rem .15rem}.cell-dated-task{font-size:.55rem;padding:.05rem .15rem}.week-hours-col{width:2rem}.week-hour-label{font-size:.55rem;padding-right:.15rem}.week-day-col{min-width:0}.week-day-name{font-size:.55rem}.week-day-num{font-size:.75rem}.week-day-num.today-num{width:1.4rem;height:1.4rem}.week-day-header{padding:.15rem;height:2.5rem}.week-hour-header,.week-hour-cell,.week-hour-label{height:2.5rem}.week-event{font-size:.55rem;padding:.1rem .15rem}.week-event-time{font-size:.55rem}.week-allday-event{font-size:.55rem;padding:.1rem .2rem;margin:.1rem}.agenda-view .slot-title,.agenda-view .event-title,.agenda-view .task-title{font-size:1.1rem}.task-form-overlay{padding-top:0;align-items:stretch}.task-form{max-width:100%;border-radius:0;max-height:100dvh;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.form-topbar{position:sticky;top:0;background:#fff;z-index:10;padding-top:.5rem}.form-inline{flex-wrap:wrap}.form-inline-sep{display:none}.notification-dropdown{width:100vw;right:-1rem;border-radius:0 0 10px 10px}.space-toggle{opacity:.75;color:#374151}.btn-cancel{color:#374151}.notification-toast{left:.5rem;right:.5rem;bottom:.5rem;flex-direction:column;align-items:stretch}.notification-toast-actions{justify-content:center;flex-wrap:wrap}.settings-panel{padding:1rem}.settings-days-grid{grid-template-columns:repeat(4,1fr)}input:not([type=checkbox]):not([type=radio]),select,textarea{background-color:#fff!important;color:#1a1a1a!important;-webkit-appearance:none;border:1px solid #ddd!important}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--color-primary)!important;outline:none}input[type=time],input[type=date],input[type=number]{background-color:#fff!important;color:#1a1a1a!important}.quickadd-delay-btn{background:#fff;color:#333;border-color:#ccc;font-size:.9rem;padding:.55rem .4rem}.quickadd-delay-btn.active{background:var(--color-primary-very-light);color:var(--color-primary);border-color:var(--color-primary)}.quickadd-title{background:#fff;color:#1a1a1a;border-color:#ccc}.task-form input:not([type=checkbox]):not([type=radio]),.task-form select,.task-form textarea{background-color:#fff!important;color:#1a1a1a!important}}.undo-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:.65rem 1.25rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;z-index:200;font-size:.9rem;box-shadow:0 4px 12px #0003}.undo-toast button{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.3rem .7rem;border-radius:6px;cursor:pointer;font-size:.85rem}.undo-toast button:hover{background:#ffffff26}.settings-panel{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 12px #00000014}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.settings-header h2{font-size:1.15rem;color:#1a1a1a}.btn-settings-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#999;padding:.25rem .5rem}.btn-settings-close:hover{color:#333}.btn-settings-toggle{padding:.35rem;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;color:#555;display:inline-flex;align-items:center;justify-content:center}.btn-settings-toggle.active{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary)}.settings-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.settings-section:last-of-type{border-bottom:none}.settings-section h3{font-size:.95rem;color:var(--color-primary);margin-bottom:.75rem}.settings-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.settings-row label{flex:1;font-size:.9rem;color:#555}.settings-row input[type=number]{width:5rem;padding:.4rem .5rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;text-align:center}.settings-row span{font-size:.85rem;color:#999;min-width:2rem}.settings-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-top:.5rem}.settings-day{display:flex;flex-direction:column;align-items:center;gap:.25rem}.settings-day label{font-size:.8rem;font-weight:600;color:#555}.settings-day input[type=number]{width:100%;padding:.35rem;border:1px solid #ddd;border-radius:6px;font-size:.85rem;text-align:center}.settings-footer{display:flex;justify-content:flex-end;padding-top:.5rem}.btn-settings{padding:.6rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer}.btn-settings:hover{background:var(--color-primary-hover)}.btn-settings:disabled{opacity:.6;cursor:default}.stats-panel{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 12px #00000014}.stats-panel h2{font-size:1.15rem;color:#1a1a1a;margin-bottom:1rem}.stats-counters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.stats-counter{flex:1;min-width:80px;text-align:center;padding:.75rem .5rem;background:var(--color-primary-bg);border-radius:10px;border:1px solid var(--color-primary-very-light)}.stats-counter-value{display:block;font-size:1.6rem;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}.stats-counter-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.03em}.stats-today-list h3{font-size:.95rem;color:var(--color-primary);margin-bottom:.5rem}.stats-today-list ul{list-style:none;padding:0}.stats-today-list li{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid #f0f0f0}.stats-today-list li:last-child{border-bottom:none}.stats-task-title{font-size:.9rem;color:#333}.stats-task-time{font-size:.8rem;color:#999;font-variant-numeric:tabular-nums}.stats-empty{color:#999;font-size:.9rem;text-align:center;padding:1rem}.stats-history{margin-top:1.5rem}.stats-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.stats-history h3{font-size:.95rem;color:var(--color-primary);margin:0}.stats-range-tabs{display:flex;gap:.25rem}.stats-range-tab{padding:.25rem .6rem;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.8rem;color:#666}.stats-range-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.stats-chart{display:flex;align-items:flex-end;gap:2px;height:120px;padding:.5rem 0;border-bottom:1px solid #eee}.stats-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0}.stats-bar-wrapper{width:100%;height:100px;display:flex;align-items:flex-end;justify-content:center}.stats-bar{width:80%;min-width:3px;max-width:20px;background:var(--color-primary-light);border-radius:2px 2px 0 0;min-height:1px;transition:height .3s ease}.stats-bar-col:last-child .stats-bar{background:var(--color-primary)}.stats-bar-label{font-size:.6rem;color:#999;margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.horizon-filters{display:flex;gap:.35rem;margin-bottom:1rem;flex-wrap:wrap}.horizon-filter{padding:.3rem .7rem;border:1px solid #ddd;border-radius:20px;background:#fff;cursor:pointer;font-size:.8rem;color:#666}.horizon-filter.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.btn-select-mode{padding:.5rem 1rem;background:#fff;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;cursor:pointer;font-size:.9rem}.btn-select-mode:hover{background:var(--color-primary-bg)}.bulk-toolbar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--color-primary-bg);border:1px solid var(--color-primary-disabled);border-radius:8px;margin-bottom:.75rem;flex-wrap:wrap}.bulk-count{font-weight:600;color:var(--color-primary-dark);font-size:.9rem;white-space:nowrap}.bulk-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-left:auto}.btn-bulk-select{padding:.3rem .7rem;border:1px solid var(--color-primary-disabled);border-radius:6px;background:#fff;cursor:pointer;font-size:.8rem;color:var(--color-primary-dark)}.btn-bulk-select:hover{background:var(--color-primary-very-light)}.bulk-horizon-select{padding:.3rem .5rem;border:1px solid var(--color-primary-disabled);border-radius:6px;font-size:.8rem}.btn-bulk-apply{padding:.3rem .8rem;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600}.btn-bulk-apply:hover{background:var(--color-primary-hover)}.btn-bulk-apply:disabled{opacity:.5;cursor:not-allowed}.btn-bulk-cancel{padding:.3rem .7rem;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.8rem;color:#666}.btn-bulk-cancel:hover{background:#f5f5f5}.task-card.selected{background:var(--color-primary-bg);box-shadow:inset 0 0 0 1px var(--color-primary-disabled)}.horizon-tag{font-size:.65rem;padding:.15rem .4rem;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.horizon-inbox{background:#fef3c7;color:#92400e}.horizon-week{background:#dbeafe;color:#1e40af}.horizon-month{background:#ede9fe;color:#5b21b6}.horizon-someday{background:#f3f4f6;color:#6b7280}.review-scope-selector{display:flex;gap:.35rem;margin-bottom:.75rem;width:100%}.review-scope-btn{flex:1;padding:.4rem .5rem;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:.8rem;color:#666;transition:all .15s}.review-scope-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.review-scope-btn:hover:not(.active){border-color:var(--color-primary-light);color:var(--color-primary)}.review-container{display:flex;flex-direction:column;align-items:center;padding:1rem;max-width:500px;margin:0 auto}.review-progress{width:100%;height:6px;background:#e5e7eb;border-radius:3px;margin-bottom:.5rem;overflow:hidden}.review-progress-bar{height:100%;background:var(--color-primary);border-radius:3px;transition:width .3s ease}.review-meta{font-size:.8rem;color:#999;margin-bottom:1rem}.review-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:1.5rem;width:100%;transition:transform .2s ease,opacity .2s ease}.review-card.swipe-right{animation:card-exit-right .2s forwards}.review-card.swipe-left{animation:card-exit-left .2s forwards}@keyframes card-exit-right{to{transform:translate(120%) rotate(8deg);opacity:0}}@keyframes card-exit-left{to{transform:translate(-120%) rotate(-8deg);opacity:0}}.review-card-type{font-size:.7rem;text-transform:uppercase;font-weight:600;color:#999;letter-spacing:.05em}.review-card h3{font-size:1.15rem;margin:.5rem 0;color:#1a1a1a}.review-card-desc{font-size:.85rem;color:#666;margin-bottom:.5rem}.review-card-deadline{font-size:.8rem;color:#d97706}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem;width:100%}.review-btn{padding:.6rem .75rem;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:filter .15s}.review-btn:hover{filter:brightness(.92)}.review-btn-activate{background:#d1fae5;color:#065f46;grid-column:1 / -1}.review-btn-week{background:#dbeafe;color:#1e40af}.review-btn-month{background:#ede9fe;color:#5b21b6}.review-btn-someday{background:#f3f4f6;color:#374151}.review-btn-delete{background:#fee2e2;color:#991b1b}.review-btn-skip{background:#f3f4f6;color:#6b7280;grid-column:1 / -1}.review-kbd{font-size:.65rem;background:#0000001a;padding:.1rem .35rem;border-radius:3px;font-family:monospace}.review-summary{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:1.5rem;width:100%;text-align:center}.review-summary h2{margin-bottom:1rem;color:#065f46}.review-summary ul{list-style:none;margin-bottom:1rem}.review-summary li{padding:.25rem 0;font-size:.9rem;color:#374151}.review-prompt-overlay{position:fixed;inset:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:200}.review-prompt{background:#fff;border-radius:12px;padding:2rem;text-align:center;box-shadow:0 8px 32px #0003;max-width:360px;width:90%}.review-prompt h3{font-size:1.1rem;margin-bottom:.5rem}.review-prompt p{color:#666;margin-bottom:1rem}.review-prompt-actions{display:flex;gap:.75rem;justify-content:center}.review-badge{display:inline-flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 4px;margin-left:.35rem;vertical-align:middle}@media(max-width:640px){.review-container{padding:.5rem}.review-card{padding:1rem}.review-actions{grid-template-columns:1fr 1fr;gap:.35rem}.review-btn{padding:.5rem;font-size:.8rem}.review-kbd{display:none}.review-prompt{padding:1.5rem}}.project-filter-select{padding:.35rem .5rem;border:1px solid #ddd;border-radius:8px;font-size:.85rem;background:#fff;cursor:pointer}.sort-toggle{display:flex;gap:.25rem}.capacity-calendar{padding:.5rem 0}.capacity-nav{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.capacity-nav h3{flex:1;text-align:center;font-size:1.1rem;text-transform:capitalize}.capacity-nav button{padding:.35rem .75rem;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:.9rem}.capacity-nav button:hover{background:#f0f0f0}.capacity-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}.capacity-weekday{text-align:center;font-size:.8rem;font-weight:600;color:#666;padding:.25rem}.capacity-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.capacity-cell{min-height:70px;background:#fff;border-radius:6px;padding:.4rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.15rem;border:1px solid #e5e5e5;transition:box-shadow .15s;position:relative}.capacity-cell:hover{box-shadow:0 2px 8px #0000001a}.capacity-cell.empty{background:transparent;border:none;cursor:default}.capacity-cell.empty:hover{box-shadow:none}.capacity-cell.today{border-color:var(--color-primary);border-width:2px}.capacity-cell.custom{background:#f0fdf4}.capacity-cell.frozen{background:#dbeafe}.capacity-cell.onsite{background:#fef3c7}.capacity-cell.zero{background:#f9fafb;opacity:.5}.capacity-day-num{font-size:.75rem;color:#888}.capacity-hours{font-size:1.1rem;font-weight:600;color:#1a1a1a}.capacity-badges{display:flex;gap:.2rem}.cap-badge{font-size:.55rem;font-weight:700;padding:.1rem .25rem;border-radius:3px;color:#fff}.frozen-badge{background:var(--color-primary)}.onsite-badge{background:#f59e0b}.capacity-edit-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:200}.capacity-edit-popup{background:#fff;border-radius:12px;padding:1.5rem;width:100%;max-width:380px;box-shadow:0 4px 20px #00000026}.capacity-edit-popup h4{margin-bottom:1rem;text-transform:capitalize;color:var(--color-primary)}.cap-edit-row{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.cap-edit-row label{display:flex;align-items:center;gap:.35rem;font-size:.9rem}.cap-edit-row input[type=number]{width:60px;padding:.35rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;text-align:center}.cap-edit-actions{display:flex;gap:.5rem;margin-top:1rem}@media(max-width:768px){.tab-capacity-desktop{display:none!important}}.launcher{background:#fff;border:2px solid var(--color-primary-light);border-radius:12px;margin-bottom:1rem}.launcher-active{border-color:var(--color-accent)}.launcher-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--color-primary-very-light)}.launcher-label{font-size:.8rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}.launcher-header-actions{display:flex;align-items:center;gap:.5rem}.launcher-stats-inline{font-size:.75rem;color:#666}.launcher-btn-hide{background:none;border:none;font-size:1.1rem;color:#999;cursor:pointer;padding:0 .25rem}.launcher-body{display:flex;justify-content:space-between;align-items:center;padding:.75rem;gap:.75rem}.launcher-info{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}.launcher-task-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.launcher-task-project{font-size:.8rem;color:var(--color-primary)}.launcher-task-duration{font-size:.75rem;color:#888}.launcher-actions{display:flex;gap:.35rem;flex-shrink:0}.launcher-btn-start{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600;cursor:pointer;font-size:.9rem}.launcher-btn-start:hover{background:var(--color-primary-hover)}.launcher-btn-swap{background:none;border:1px solid #ddd;border-radius:8px;padding:.4rem;cursor:pointer;color:#666;display:inline-flex;align-items:center;justify-content:center}.launcher-btn-swap:hover{background:#f0f0f0}.launcher-empty{color:#999;font-size:.9rem}.launcher-checkbox{-webkit-appearance:none;appearance:none;width:1.15rem;height:1.15rem;border:2px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;flex-shrink:0}.launcher-timer-bar{height:4px;background:#eee}.launcher-timer-fill{height:100%;background:var(--color-accent);transition:width 1s linear}.launcher-timer-display{font-size:1.4rem;font-weight:700;color:var(--color-accent);font-variant-numeric:tabular-nums}.launcher-btn-cancel{background:none;border:1px solid var(--color-accent);color:var(--color-accent);border-radius:8px;padding:.4rem .8rem;cursor:pointer;font-size:.85rem;flex-shrink:0}.launcher-btn-cancel:hover{background:#fff3f0}.launcher-stats{text-align:center;padding:.25rem;font-size:.75rem;color:#888;border-top:1px solid #eee}.launcher-minimized{display:flex;justify-content:center;margin-bottom:.5rem}.launcher-badge{background:var(--color-primary-very-light);color:var(--color-primary);border:1px solid var(--color-primary-light);border-radius:20px;padding:.3rem .8rem;font-size:.8rem;cursor:pointer;font-weight:500}.launcher-badge:hover{background:var(--color-primary-light);color:#fff}.task-card.task-started{background:#faf5ff;border-left-width:4px!important;border-left-color:var(--color-primary)!important}.task-card.task-timer-active{background:#fff7ed;border-left-color:var(--color-accent)!important;animation:pulse-border .8s ease-in-out infinite alternate}@keyframes pulse-border{0%{border-left-color:var(--color-accent)}to{border-left-color:#fdba74}}.sortable-card-handle-mode{display:flex;align-items:stretch}.drag-handle{display:flex;align-items:center;padding:0 .4rem;cursor:grab;opacity:.4;transition:opacity .15s;flex-shrink:0}.drag-handle:hover{opacity:.8}.drag-handle:active{cursor:grabbing}.sortable-card-content{flex:1;min-width:0}.project-select{padding:.4rem .6rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem;background:#fff;min-width:200px}.empty-state{text-align:center;color:#999;padding:2rem 1rem;font-size:.9rem}.review-postpone-options{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.75rem}.review-postpone-label{width:100%;text-align:center;font-size:.8rem;color:#888;margin-bottom:.1rem}.review-postpone-options button{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;padding:.3rem .6rem;font-size:.8rem;cursor:pointer;color:#555}.review-postpone-options button:hover{background:var(--color-primary-very-light);border-color:var(--color-primary-light);color:var(--color-primary)}.quickadd-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;min-width:56px;min-height:56px;max-width:56px;max-height:56px;padding:0;border-radius:50%;aspect-ratio:1;background:var(--color-primary);color:#fff;border:none;font-size:1.8rem;font-weight:300;line-height:56px;cursor:pointer;box-shadow:0 4px 16px #7c3aed59;z-index:90;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s}.quickadd-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #7c3aed80}.quickadd-fab:active{transform:scale(.95)}.fab-menu-overlay{position:fixed;inset:0;z-index:99;background:#00000040}.fab-menu{position:fixed;bottom:6.5rem;right:1.5rem;z-index:100;display:flex;flex-direction:column;gap:.5rem;background:#fff;border-radius:12px;padding:.5rem;box-shadow:0 8px 24px #0003;min-width:220px}.fab-menu-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:none;border-radius:8px;cursor:pointer;font-size:1rem;text-align:left;color:#1a1a1a}.fab-menu-item:hover{background:#f5f5f5}.fab-menu-icon{width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem}.topbar-compact{padding:.25rem 0;gap:.5rem}.topbar-compact h1{display:none}.topbar-menu-container{position:relative}.topbar-menu-trigger{background:none;border:1px solid #ddd;border-radius:8px;padding:.4rem;cursor:pointer;color:#555;display:inline-flex;align-items:center;justify-content:center}.topbar-menu-trigger:hover{background:#f5f5f5}.topbar-menu-dropdown{position:absolute;top:calc(100% + .25rem);left:0;z-index:50;background:#fff;border:1px solid #ddd;border-radius:10px;box-shadow:0 4px 16px #0000001f;min-width:200px;padding:.35rem}.topbar-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.55rem .75rem;border:none;background:none;cursor:pointer;font-size:.95rem;color:#1a1a1a;border-radius:6px;text-align:left}.topbar-menu-item:hover{background:#f5f5f5}.topbar-menu-item.active{background:var(--color-primary-bg, #ede9fe);color:var(--color-primary);font-weight:600}.topbar-menu-logout{color:#b91c1c}.topbar-menu-separator{border-top:1px solid #eee;margin:.35rem 0}.topbar-menu-badge{background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.topbar-menu-space-toggles{display:flex;gap:.35rem;padding:.35rem .75rem .1rem;flex-wrap:wrap}.space-toggle-inline{padding:.25rem .6rem;border:2px solid;border-radius:12px;background:#fff;cursor:pointer;font-size:.8rem;opacity:.5}.space-toggle-inline.active{opacity:1;font-weight:600}.topbar-compact{flex-wrap:nowrap}.topbar-shortcuts{display:flex;gap:.3rem;margin-left:auto;align-items:center;flex-wrap:nowrap;overflow-x:auto}.shortcut-btn{padding:.4rem .6rem;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:.85rem;color:#555;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;flex-shrink:0}.shortcut-btn:hover{background:#f5f5f5}.shortcut-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.shortcut-icon{padding:.35rem .5rem}.shortcut-count{background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.quickadd-overlay{position:fixed;inset:0;z-index:100;background:#0006;display:flex;align-items:flex-end;justify-content:center}.quickadd-panel{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;padding:1rem 1.25rem 1.5rem;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.quickadd-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #eee}.quickadd-header h3{flex:1;margin:0;font-size:1.1rem;display:flex;align-items:center;gap:.4rem}.quickadd-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:.25rem}.quickadd-back{background:none;border:none;cursor:pointer;color:#666;padding:.25rem;display:flex}.quickadd-modes{display:flex;flex-direction:column;gap:.75rem}.quickadd-mode-btn{display:flex;align-items:center;gap:.75rem;padding:1rem;border:2px solid #ddd;border-radius:12px;background:#fff;cursor:pointer;transition:all .15s;text-align:left}.quickadd-mode-btn:hover{border-color:var(--color-primary-light);background:var(--color-primary-very-light)}.quickadd-mode-btn:active{transform:scale(.98)}.quickadd-mode-icon{font-size:1.8rem;flex-shrink:0}.quickadd-mode-label{font-size:1rem;font-weight:600;color:#333}.quickadd-mode-desc{font-size:.8rem;color:#888;margin-top:.1rem}.quickadd-mode-btn>span:nth-child(2){display:flex;flex-direction:column}.quickadd-form{display:flex;flex-direction:column;gap:.75rem}.quickadd-title{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:10px;font-size:1.05rem;outline:none;transition:border-color .15s;background:#fff;color:#1a1a1a}.quickadd-title:focus{border-color:var(--color-primary)}.quickadd-delays{display:flex;flex-direction:column;gap:.5rem}.quickadd-delays-label{font-size:.85rem;color:#888;font-weight:500}.quickadd-delay-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.quickadd-delay-btn{flex:1;min-width:70px;padding:.6rem .5rem;border:2px solid #ddd;border-radius:10px;background:#fff;color:#333;cursor:pointer;font-size:.95rem;font-weight:500;text-align:center;transition:all .15s}.quickadd-delay-btn.active{border-color:var(--color-primary);background:var(--color-primary-very-light);color:var(--color-primary);font-weight:600}.quickadd-delay-btn:hover:not(.active){border-color:var(--color-primary-light)}.time-picker-trigger{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;background:#fff;color:#1a1a1a;font-size:1rem;cursor:pointer;font-family:inherit;min-width:5.5rem;text-align:center}.time-picker-trigger:hover{border-color:var(--color-primary)}.time-picker-overlay{position:fixed;inset:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.time-picker-panel{background:#fff;border-radius:14px;box-shadow:0 12px 40px #00000040;padding:1rem;max-width:360px;width:100%}.time-picker-header{display:flex;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600;color:#1a1a1a;margin-bottom:.75rem}.time-picker-back{background:none;border:none;color:var(--color-primary);font-size:1rem;cursor:pointer;padding:0;font-weight:600}.time-picker-sep{margin:0 .35rem;color:#aaa}.time-picker-close{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;line-height:1;padding:0 .25rem}.time-picker-grid{display:grid;gap:.4rem}.time-picker-grid-hours{grid-template-columns:repeat(6,1fr)}.time-picker-grid-minutes{grid-template-columns:repeat(4,1fr)}.time-picker-cell{padding:.85rem 0;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa;color:#1a1a1a;font-size:1rem;cursor:pointer;font-variant-numeric:tabular-nums}.time-picker-cell:hover{background:var(--color-primary-light, #ede9fe);border-color:var(--color-primary)}.time-picker-cell.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.time-picker-clear{margin-top:.75rem;width:100%;padding:.5rem;background:none;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:.85rem}.time-picker-clear:hover{color:var(--color-accent);border-color:var(--color-accent)}.quickadd-time-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#666}.quickadd-time-row input[type=time]{padding:.4rem .6rem;border:1px solid #ddd;border-radius:6px;background:#fff;color:#1a1a1a;font-size:.9rem}.quickadd-time-clear{background:none;border:none;color:#999;font-size:1.2rem;cursor:pointer;padding:.1rem .3rem}.quickadd-time-clear:hover{color:var(--color-accent)}.quickadd-submit{padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.quickadd-submit:hover{background:var(--color-primary-hover)}.quickadd-submit:disabled{background:var(--color-primary-disabled);cursor:default}.quickadd-success{text-align:center;padding:2rem;font-size:1.1rem;color:var(--color-primary);font-weight:600}
