:root{--accent-color: #9c3ef9;--accent-color-alpha: rgba(var(--accent-color-rgb), .4);--accent-color-rgb: 156, 62, 249;--focus-ring: 0 0 0 2px rgba(var(--accent-color-rgb), .35);--text-muted: #6e6e6e;--text-faint: #767676}.app.dark,body.dark{--text-muted: #9a9a9a;--text-faint: #8a8a8a}*{margin:0;padding:0;box-sizing:border-box}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.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}html,body{margin:0;padding:0;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.app{display:flex;flex-direction:column;min-height:100vh;background:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.main{flex:1;display:flex;flex-direction:column}.main-header{position:relative;z-index:10;background:#ffffffb8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:.5rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.85);display:flex;justify-content:space-between;align-items:center}.main-header h1{margin:0;color:#333}.content{padding:2rem}.content.no-padding{padding:0}.content:has(.calendar){padding:0}.content:has(.user-profile){padding:0}.app:has(.calendar){height:100vh;overflow:hidden}.app:has(.calendar) .main{overflow:hidden}.app:has(.calendar) .content{flex:1;min-height:0;display:flex;flex-direction:column}.header-left{display:flex;align-items:center;gap:1rem}.navbar{position:sticky;top:0;z-index:1000;background:#ffffffb8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.85);display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;height:44px}.navbar-left{display:flex;align-items:center;gap:2rem}.navbar-logo{margin:0;font-size:1.4rem;font-weight:700;color:#333}.navbar-tabs{display:flex;gap:.5rem}.navbar-tab{background:none;border:none;color:#333;padding:.5rem .75rem;font-size:1rem;cursor:pointer;transition:color .2s}.navbar-tab:hover{color:#666}.navbar-tab.active{color:var(--accent-color)}.navbar-profile{font-weight:500}.calendar{background:#f8f8f8;height:100%;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1.25rem;background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.07);position:sticky;top:0;z-index:10}#calendar-nav-portal{display:contents}#calendar-view-portal{display:flex;align-items:center}.calendar-navigation{display:flex;align-items:center;gap:.6rem}.nav-btn{background:none;border:1px solid rgba(0,0,0,.12);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:1rem;color:#555;transition:all .15s;display:flex;align-items:center;justify-content:center;line-height:1}.nav-btn:hover{background:rgba(var(--accent-color-rgb),.07);border-color:var(--accent-color);color:var(--accent-color)}.calendar-title{margin:0;color:#1a1a1a;font-size:1.05rem;font-weight:600;letter-spacing:-.02em}.today-btn{padding:.3rem .8rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fff;color:#555;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.today-btn:hover{background:rgba(var(--accent-color-rgb),.07);border-color:var(--accent-color);color:var(--accent-color)}.calendar-view-toggle{display:flex;gap:2px;background:#0000000f;border-radius:10px;padding:3px}.view-btn{padding:.3rem .85rem;border:none;background:transparent;color:#666;cursor:pointer;font-size:.825rem;font-weight:500;transition:all .15s;border-radius:7px}.view-btn:hover{color:#333;background:#ffffff80}.view-btn.active{background:#fff;color:var(--accent-color);box-shadow:0 1px 4px #0000001f;font-weight:600}.calendar-content{flex:1;overflow:auto}.calendar-month{height:100%;display:flex;flex-direction:column;background:#f0f0f0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekday{padding:.55rem .5rem;text-align:center;font-weight:600;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);background:#fff;border-bottom:1px solid rgba(0,0,0,.08)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,1fr);flex:1;gap:1px;background:#00000014}.calendar-day{background:#fff;padding:.5rem;min-height:100px;display:flex;flex-direction:column;cursor:pointer;transition:background .12s;position:relative}.calendar-day:hover{background:#faf8ff}.calendar-day.drag-over{background:rgba(var(--accent-color-rgb),.07);outline:1.5px dashed var(--accent-color);outline-offset:-2px}.calendar-day.other-month{background:#fafafa}.calendar-day.other-month .day-number{color:var(--text-faint)}.day-number{font-weight:600;margin-bottom:.3rem;font-size:.8rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#333;flex-shrink:0;cursor:pointer}.calendar-day:not(.today) .day-number:hover{background:rgba(var(--accent-color-rgb),.12);color:var(--accent-color)}.calendar-day.today .day-number{background:var(--accent-color);color:#fff}.day-tasks{flex:1;display:flex;flex-direction:column;gap:2px}.calendar-task{padding:2px 5px;border-radius:4px;font-size:.71rem;cursor:grab;transition:filter .12s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.45;pointer-events:auto;font-weight:500}.calendar-task:active{cursor:grabbing}.calendar-task:hover{filter:brightness(.93)}.calendar-task.priority-high{background:#fff1f1;color:#c0392b;border-left:2.5px solid #e74c3c}.calendar-task.priority-medium{background:#fff8ed;color:#d68910;border-left:2.5px solid #f39c12}.calendar-task.priority-low{background:#f0fdf4;color:#1e8449;border-left:2.5px solid #27ae60}.calendar-event{padding:2px 5px;border-radius:4px;font-size:.71rem;cursor:pointer;transition:filter .12s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.45;background:#f3e8ff;color:#6b21a8;border-left:2.5px solid var(--accent-color);font-weight:500}.calendar-event:hover{filter:brightness(.93)}.timed-event-block{white-space:normal;text-overflow:clip;display:flex;flex-direction:column;gap:1px;pointer-events:all;box-sizing:border-box;overflow:hidden;container-type:size}.timed-event-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;flex-shrink:1;min-height:0}@container (min-height: 55px){.timed-event-name{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}}.timed-event-location{font-size:.62rem;opacity:.72;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.timed-event-time{font-size:.62rem;opacity:.72;display:block;flex-shrink:0}.more-tasks{font-size:.68rem;color:var(--text-muted);font-weight:500;margin-top:2px;padding-left:2px;cursor:pointer}.calendar-week{height:100%;display:flex;flex-direction:column;background:#fff}.week-header{display:grid;grid-template-columns:52px repeat(7,1fr);border-bottom:1px solid rgba(0,0,0,.08);background:#fff;position:sticky;top:0;z-index:5}.time-column-header{border-right:1px solid rgba(0,0,0,.07);background:#fff}.week-day-header{text-align:center;padding:.65rem .5rem .5rem;background:#fff;border-left:1px solid rgba(0,0,0,.06);min-width:0}.week-day-header.today{background:rgba(var(--accent-color-rgb),.035)}.week-day-name{font-weight:500;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem}.week-day-header.today .week-day-name{color:var(--accent-color)}.week-day-number{font-size:1.35rem;font-weight:700;color:#1a1a1a;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0 auto;cursor:pointer}.week-day-header:not(.today) .week-day-number:hover{background:rgba(var(--accent-color-rgb),.12);color:var(--accent-color)}.week-day-header.today .week-day-number{background:var(--accent-color);color:#fff}.all-day-items{margin-top:.35rem;display:flex;flex-direction:column;gap:2px;min-height:16px;max-height:56px;overflow-y:auto;min-width:0}.week-grid-container{display:flex;flex:1;min-height:0;overflow-y:auto;position:relative}.time-column{width:52px;flex-shrink:0;min-height:1440px;background:#fff;border-right:1px solid rgba(0,0,0,.07)}.time-slot{height:60px;padding:3px 6px 0;font-size:.7rem;color:var(--text-muted);font-weight:500;display:flex;align-items:flex-start;letter-spacing:.02em}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1;min-height:1440px;position:relative}.week-day{display:flex;flex-direction:column;border-left:1px solid rgba(0,0,0,.06);position:relative;min-width:0}.week-day.today{background:rgba(var(--accent-color-rgb),.018)}.time-slot-cell{height:15px;border-bottom:none;transition:background .1s;position:relative;padding:0 3px;overflow:visible}.time-slot-cell.hour-start{border-top:1px solid rgba(0,0,0,.07)}.time-slot-cell.half-hour{border-bottom:none}.time-slot-cell:hover{background:rgba(var(--accent-color-rgb),.03)}.time-slot-cell.drag-over{background:rgba(var(--accent-color-rgb),.05)}.timed-drag-preview{border:1.5px dashed var(--accent-color);background:rgba(var(--accent-color-rgb),.08);border-radius:3px;pointer-events:none;box-sizing:border-box}.drag-create-preview{background:rgba(var(--accent-color-rgb),.15);border:1.5px solid var(--accent-color);border-radius:4px;pointer-events:none;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;padding:2px 6px}.drag-create-preview .drag-create-time{font-size:.68rem;font-weight:600;color:var(--accent-color);white-space:nowrap}.drag-ghost{transform:rotate(2deg) scale(1.04);box-shadow:0 16px 40px #00000038,0 4px 12px #00000024}.current-time-indicator{position:absolute;left:0;right:0;height:2px;background:#ef4444;z-index:10;pointer-events:none}.current-time-indicator:before{content:"";position:absolute;left:-4px;top:-4px;width:10px;height:10px;background:#ef4444;border-radius:50%}.calendar-day-view{height:100%;display:flex;flex-direction:column;background:#fff}.day-view-header{padding:1rem 1.5rem .75rem;border-bottom:1px solid rgba(0,0,0,.08);background:#fff}.day-view-header h3{margin:0;color:#1a1a1a;font-size:1.2rem;font-weight:600;letter-spacing:-.02em}.day-view-header.today h3{color:var(--accent-color)}.calendar-day-view>.all-day-items{max-width:600px;margin-top:0;min-height:0}.day-grid-container{display:flex;flex:1;min-height:0;overflow-y:auto;position:relative}.day-grid{flex:1;min-height:1440px;min-width:0;background:#fff;position:relative}.calendar-container{position:relative;height:100%}.calendar-container .calendar{height:100%}.unscheduled-sidebar{position:fixed;right:0;top:44px;bottom:0;width:250px;background:#fff;border-left:1px solid rgba(0,0,0,.07);display:flex;flex-direction:column;z-index:100;transform:translate(100%);transition:transform .22s ease-out}.unscheduled-sidebar.open{transform:translate(0)}.unscheduled-header{padding:1.1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.07);display:flex;justify-content:space-between;align-items:center}.unscheduled-header h3{margin:0;color:#1a1a1a;font-size:.95rem;font-weight:600}.close-unscheduled{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-muted);padding:.25rem .4rem;border-radius:6px;transition:all .15s;line-height:1}.close-unscheduled:hover{background:#0000000d;color:#333}.unscheduled-content{flex:1;overflow-y:auto;padding:.9rem}.unscheduled-section{margin-bottom:1.25rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.unscheduled-section h4{margin:0;color:var(--text-muted);font-size:.65rem;text-transform:uppercase;font-weight:600;letter-spacing:.09em}.unscheduled-items{display:flex;flex-direction:column;gap:.4rem}.unscheduled-item{padding:.55rem .75rem;background:#fafafa;border-radius:8px;border:1px solid rgba(0,0,0,.07);cursor:grab;transition:all .15s;margin-bottom:.35rem}.unscheduled-item:hover{background:#f5f0ff;border-color:rgba(var(--accent-color-rgb),.25);transform:translate(-2px);box-shadow:2px 2px 10px #0000000d}.unscheduled-item:active{cursor:grabbing;opacity:.8}.item-name{font-weight:600;color:#1a1a1a;font-size:.82rem;margin-bottom:.1rem}.item-project{font-size:.7rem;color:var(--text-muted)}.no-items{font-size:.78rem;color:var(--text-faint);text-align:center;padding:1rem}.view-all-btn-inline{font-size:.7rem;color:var(--accent-color);background:none;border:none;cursor:pointer;font-weight:500;padding:.15rem .4rem;border-radius:4px;transition:all .15s}.view-all-btn-inline:hover{background:rgba(var(--accent-color-rgb),.08)}.app.dark .calendar{background:#141414;color:#e5e5e5}.app.dark .calendar-header{background:#121212f2;border-bottom-color:#ffffff12}.app.dark .calendar-title{color:#f0f0f0}.app.dark .nav-btn{border-color:#ffffff1a;color:#999}.app.dark .nav-btn:hover{background:rgba(var(--accent-color-rgb),.12);border-color:var(--accent-color);color:var(--accent-color)}.app.dark .today-btn{background:#2a2a2a;border-color:#ffffff1a;color:#999}.app.dark .today-btn:hover{background:rgba(var(--accent-color-rgb),.12);border-color:var(--accent-color);color:var(--accent-color)}.app.dark .calendar-view-toggle{background:#ffffff0d}.app.dark .view-btn{color:#777}.app.dark .view-btn:hover{color:#ccc;background:#ffffff12}.app.dark .view-btn.active{background:#2c2c2c;color:var(--accent-color);box-shadow:0 1px 4px #0006}.app.dark .calendar-month{background:#111}.app.dark .calendar-weekday{background:#1a1a1a;color:var(--text-muted);border-bottom-color:#ffffff0f}.app.dark .calendar-grid{background:#111}.app.dark .calendar-day{background:#1e1e1e}.app.dark .calendar-day:hover{background:#232323}.app.dark .calendar-day.drag-over{background:rgba(var(--accent-color-rgb),.1);outline-color:var(--accent-color)}.app.dark .calendar-day.other-month{background:#191919}.app.dark .calendar-day.other-month .day-number{color:var(--text-faint)}.app.dark .day-number{color:#ddd}.app.dark .calendar-task.priority-high{background:#ef44441a;color:#f87171;border-left-color:#ef4444}.app.dark .calendar-task.priority-medium{background:#fbbf241a;color:#fbbf24;border-left-color:#f59e0b}.app.dark .calendar-task.priority-low{background:#34d3991a;color:#34d399;border-left-color:#10b981}.app.dark .calendar-event{background:#8b5cf61f;color:#c4b5fd;border-left-color:#8b5cf6}.app.dark .more-tasks{color:var(--text-muted)}.app.dark .more-tasks:hover{color:#fff}.app.dark .calendar-week,.app.dark .calendar-day-view{background:#141414}.app.dark .week-header{background:#1a1a1a;border-bottom-color:#ffffff0f}.app.dark .time-column-header{border-right-color:#ffffff0f;background:#1a1a1a}.app.dark .week-day-header{background:#1a1a1a;border-left-color:#ffffff0d}.app.dark .week-day-header.today{background:rgba(var(--accent-color-rgb),.06)}.app.dark .week-day-name{color:var(--text-muted)}.app.dark .week-day-header.today .week-day-name{color:var(--accent-color)}.app.dark .week-day-number{color:#ddd}.app.dark .time-column{background:#1a1a1a;border-right-color:#ffffff0f}.app.dark .time-slot{color:var(--text-muted)}.app.dark .week-day{border-left-color:#ffffff0a;background:transparent}.app.dark .week-grid{background:#1e1e1e}.app.dark .week-day.today{background:rgba(var(--accent-color-rgb),.03)}.app.dark .time-slot-cell.hour-start{border-top-color:#ffffff14}.app.dark .time-slot-cell:hover{background:rgba(var(--accent-color-rgb),.04)}.app.dark .day-view-header{background:#1a1a1a;border-bottom-color:#ffffff0f}.app.dark .day-view-header h3{color:#f0f0f0}.app.dark .day-view-header.today h3{color:var(--accent-color)}.app.dark .day-grid{background:#1e1e1e}.app.dark .unscheduled-sidebar{background:#1a1a1a;border-left-color:#ffffff0f}.app.dark .unscheduled-header{border-bottom-color:#ffffff0f}.app.dark .unscheduled-header h3{color:#f0f0f0}.app.dark .close-unscheduled{color:var(--text-muted)}.app.dark .close-unscheduled:hover{background:#ffffff0f;color:#ccc}.app.dark .unscheduled-section h4{color:var(--text-muted)}.app.dark .unscheduled-item{background:#242424;border-color:#ffffff0d}.app.dark .unscheduled-item:hover{background:rgba(var(--accent-color-rgb),.1);border-color:rgba(var(--accent-color-rgb),.3);box-shadow:2px 2px 10px #0000004d}.app.dark .item-name{color:#e5e5e5}.app.dark .item-project{color:var(--text-muted)}.app.dark .no-items{color:var(--text-faint)}.calendar-sidebar-toggle{background:none;border:1px solid transparent;border-radius:6px;font-size:1.1rem;cursor:pointer;padding:2px 8px;color:inherit;transition:background .15s,border-color .15s}.calendar-sidebar-toggle:hover{background:rgba(var(--accent-color-rgb),.08);border-color:rgba(var(--accent-color-rgb),.25)}.app.dark .calendar-sidebar-toggle{color:#ccc}.app.dark .calendar-sidebar-toggle:hover{background:rgba(var(--accent-color-rgb),.15)}.calendar-sidebar{position:fixed;top:44px;left:0;bottom:0;width:220px;background:#fff;color:#1a1a1a;border-right:1px solid #e5e5e5;z-index:999;transform:translate(-100%);transition:transform .22s ease-out;display:flex;flex-direction:column;overflow:hidden}.calendar-sidebar.open{transform:translate(0)}.main{transition:margin-left .22s ease-out,margin-right .22s ease-out}.app:has(.calendar-sidebar.open) .main{margin-left:220px}.app:has(.unscheduled-sidebar.open) .main{margin-right:250px}.app.dark .calendar-sidebar{background:#1a1a1a;color:#e5e5e5;border-right-color:#2a2a2a}.calendar-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #eee}.calendar-sidebar-header h2{margin:0;font-size:1.05rem;font-weight:600}.app.dark .calendar-sidebar-header{border-bottom-color:#2a2a2a}.calendar-sidebar-close{background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:#666;padding:0 6px}.calendar-sidebar-close:hover{color:#000}.app.dark .calendar-sidebar-close{color:#999}.app.dark .calendar-sidebar-close:hover{color:#fff}.calendar-sidebar-list{flex:1;overflow-y:auto;padding:0 0 6px}.calendar-section-heading{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);padding:8px 16px 0}.app.dark .calendar-section-heading{color:var(--text-muted)}.cal-sync{font-size:.9rem}.cal-sync-provider{margin-bottom:0}.cal-sync h3{display:none}.cal-sync h4{font-size:.88rem;font-weight:600;margin:12px 0 4px;opacity:.8}.cal-sync p{font-size:.85rem;line-height:1.4;margin:4px 0 10px}.cal-sync a{color:var(--accent-color, #9c42f6);text-decoration:none}.cal-sync a:hover{text-decoration:underline}.cal-sync button{font-size:.85rem;padding:7px 14px;border-radius:7px;border:1px solid #ccc;background:var(--bg-primary, #fff);color:inherit;cursor:pointer;transition:opacity .15s,background .15s}.app.dark .cal-sync button,body.dark .cal-sync button{border-color:#444;background:#1f1f1f}.cal-sync button:disabled{opacity:.45;cursor:not-allowed}.cal-sync-connect-btn{display:block;width:100%;padding:9px 14px;background:var(--accent-color, #9c42f6);color:#fff;border-color:transparent;font-size:.9rem;font-weight:500;text-align:center}.cal-sync-connect-btn:hover:not(:disabled){opacity:.88}.cal-sync-sync-btn{background:var(--accent-color, #9c42f6);color:#fff;border-color:transparent;padding:7px 18px;font-weight:500}.cal-sync-sync-btn:hover:not(:disabled){opacity:.88}.cal-sync-disconnect-btn{color:#d33;border-color:#d33;background:transparent;padding:7px 14px}.cal-sync-disconnect-btn:hover:not(:disabled){background:#dd333314}.cal-sync-error{color:#d33;font-size:.85rem;margin:0 0 6px}.cal-sync-hint{display:block;margin-top:3px;color:#d33;font-size:.72rem}.cal-sync-list{list-style:none;padding:0;margin:4px 0 10px;max-height:220px;overflow-y:auto;border-radius:6px}.cal-sync-list li{padding:5px 6px;border-radius:5px;transition:background .12s}.cal-sync-list li:hover{background:#0000000d}body.dark .cal-sync-list li:hover{background:#ffffff0f}.cal-sync-list label{display:flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.cal-sync-list label.cal-sync-item-synced{cursor:default;opacity:.7}.cal-sync-swatch{display:inline-block;width:10px;height:10px;flex-shrink:0;border-radius:50%}.cal-sync-primary{font-size:.7rem;opacity:.55}.cal-sync-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.cal-sync-status{font-size:.82rem;opacity:.72;margin-bottom:6px}.cal-sync-divider{border:none;border-top:1px solid #e5e5e5;margin:14px 0}.app.dark .cal-sync-divider,body.dark .cal-sync-divider{border-top-color:#333}.cal-sync-apple-steps{font-size:.82rem;margin:4px 0 12px 1.1rem;padding:0;line-height:1.5}.cal-sync-apple-steps li{margin:3px 0}.apple-sync-form{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.apple-sync-form label{display:flex;flex-direction:column;gap:4px;font-size:.82rem}.apple-sync-form input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #ccc;border-radius:7px;background:var(--bg-primary, #fff);color:inherit;font-size:.88rem;transition:border-color .15s}.apple-sync-form input:focus{outline:none;border-color:var(--accent-color, #9c42f6)}.app.dark .apple-sync-form input,body.dark .apple-sync-form input{border-color:#444;background:#ffffff12;color:#fff}.cal-sync-add-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:10px;cursor:pointer;font-size:.88rem;font-weight:500;color:var(--accent-color);text-align:left;transition:background .15s}.cal-sync-add-btn:hover{background:rgba(var(--accent-color-rgb),.06)}.cal-sync-add-btn.active{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#0000002e}body.dark .cal-sync-add-btn{border-color:#ffffff1a}body.dark .cal-sync-add-btn.active{border-color:#fff3}.cal-sync-add-icon{width:28px;height:28px;border-radius:6px;border:1.5px solid rgba(var(--accent-color-rgb),.5);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.cal-sync-add-panel h3{display:block;font-size:.9rem;font-weight:600;margin:0 0 6px}.modal-content.cal-sync-modal{max-width:600px;width:92%;padding:0}.cal-sync-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:0}body.dark .cal-sync-modal-header{border-bottom-color:#ffffff1a}.cal-sync-modal-header h2{margin:0;font-size:1.15rem;font-weight:600;color:inherit;text-align:left}.cal-sync-modal-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:inherit;opacity:.55;padding:4px 8px;border-radius:6px;transition:opacity .15s,background .15s}.cal-sync-modal-close:hover{opacity:1;background:#0000000f}body.dark .cal-sync-modal-close:hover{background:#ffffff14}.cal-sync-modal .cal-sync{padding:1.25rem 1.5rem 1.5rem}.cal-sync-picker{display:flex;flex-direction:column;gap:10px}.cal-sync-picker-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:500;color:inherit;text-align:left;transition:background .15s,border-color .15s}.cal-sync-picker-btn:hover{background:#0000000f}.cal-sync-picker-btn.active{border-color:#0000002e;border-bottom-left-radius:0;border-bottom-right-radius:0;background:transparent}body.dark .cal-sync-picker-btn{background:transparent;border-color:#ffffff1a}body.dark .cal-sync-picker-btn:hover{background:#ffffff14}body.dark .cal-sync-picker-btn.active{background:transparent;border-color:#fff3}.cal-sync-picker-icon{width:28px;height:28px;border-radius:6px;background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.cal-sync-picker-label{flex:1;display:flex;align-items:center;gap:8px}.cal-sync-picker-badge{font-size:.7rem;font-weight:600;padding:2px 7px;border-radius:20px;background:rgba(var(--accent-color-rgb),.15);color:var(--accent-color)}.cal-sync-picker-chevron{font-size:.65rem;opacity:.5;flex-shrink:0}.cal-sync-panel{border:1px solid rgba(0,0,0,.18);border-top:none;border-bottom-left-radius:10px;border-bottom-right-radius:10px;padding:16px;margin-top:-10px}body.dark .cal-sync-panel{border-color:#fff3}.calendar-add-wrapper{position:relative;display:inline-block}.calendar-add-popover{position:fixed;transform:translate(-50%);min-width:200px;background:var(--bg-primary, #fff);border:1px solid #ddd;border-radius:8px;box-shadow:0 6px 18px #0000001f;padding:4px;z-index:1000;display:flex;flex-direction:column}.calendar-add-popover.dark{background:#1f1f1f;border-color:#444;box-shadow:0 6px 18px #0006;color:#e5e5e5}.calendar-add-popover button{background:none;border:none;text-align:left;padding:8px 10px;border-radius:6px;font-size:.9rem;color:inherit;cursor:pointer}.calendar-add-popover-divider{border:none;border-top:1px solid #e5e5e5;margin:2px 10px}.calendar-add-popover.dark .calendar-add-popover-divider{border-top-color:#333}.calendar-add-popover button:hover{background:#f4f4f4}.calendar-add-popover.dark button:hover{background:#2a2a2a}.calendar-list-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:grab;position:relative;transition:background .12s}.calendar-list-item:hover{background:#f7f7f7}.app.dark .calendar-list-item:hover{background:#2a2a2a}.calendar-drag-overlay{background:var(--bg-primary, #fff);box-shadow:0 8px 24px #0000002e;border-radius:6px;opacity:.92;cursor:grabbing}.app.dark .calendar-drag-overlay{background:#1e1e1e}.calendar-checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer}.calendar-checkbox-label input[type=checkbox]{width:14px;height:14px;cursor:pointer;color-scheme:light dark}.calendar-color-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.12);cursor:pointer;flex-shrink:0;padding:0}.calendar-list-item>.calendar-color-dot{margin-left:-4px}.calendar-name{flex:1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.calendar-badge{font-size:.65rem;padding:1px 6px;border-radius:10px;background:#e5e5e5;color:#888;font-weight:500}.app.dark .calendar-badge{background:#2a2a2a;color:#888}.calendar-name-input{flex:1;border:1px solid var(--accent-color);border-radius:4px;padding:3px 6px;font-size:.9rem;background:#fff;color:inherit;outline:none}.app.dark .calendar-name-input{background:#2a2a2a;color:#fff}.calendar-menu-btn{background:none;border:none;cursor:pointer;padding:2px 6px;font-size:1rem;color:#888;border-radius:4px;opacity:0;transition:opacity .12s,background .12s}.calendar-list-item:hover .calendar-menu-btn{opacity:1}.calendar-menu-btn:hover{background:#0000000f;color:#000}.app.dark .calendar-menu-btn:hover{background:#ffffff14;color:#fff}.calendar-menu{position:absolute;top:100%;right:10px;background:#fff;color:#1a1a1a;border:1px solid #e5e5e5;border-radius:6px;box-shadow:0 4px 14px #0000001a;z-index:10;min-width:140px;padding:4px 0}.app.dark .calendar-menu{background:#2a2a2a;color:#e5e5e5;border-color:#3a3a3a;box-shadow:0 4px 14px #0006}.calendar-menu button{display:block;width:100%;text-align:left;padding:7px 14px;background:none;border:none;font-size:.85rem;cursor:pointer;color:inherit}.calendar-menu button:hover{background:#f3f3f3}.app.dark .calendar-menu button:hover{background:#3a3a3a}.calendar-menu-delete{color:#e53e3e!important}.calendar-menu-confirm{padding:6px 14px 8px}.calendar-menu-confirm span{display:block;font-size:.82rem;margin-bottom:6px;color:inherit}.calendar-menu-confirm button{display:inline-block;width:auto;padding:3px 10px;border-radius:4px;font-size:.78rem;margin-right:6px}.calendar-menu-confirm button.calendar-menu-delete{background:#e53e3e;color:#fff!important}.calendar-menu-confirm button.calendar-menu-delete:hover{background:#c53030}.calendar-color-picker{position:absolute;top:100%;left:16px;background:#fff;border:1px solid #e5e5e5;border-radius:6px;box-shadow:0 4px 14px #0000001a;padding:8px;z-index:11;display:grid;grid-template-columns:repeat(4,auto);gap:6px;align-items:center}.app.dark .calendar-color-picker{background:#2a2a2a;border-color:#3a3a3a}.color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.color-swatch.selected{border-color:#000}.app.dark .color-swatch.selected{border-color:#fff}.color-input{width:24px;height:24px;padding:0;border:none;background:none;cursor:pointer}.calendar-sidebar-title-row{display:flex;align-items:center;gap:8px}.calendar-add-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #ccc;border-radius:4px;background:none;color:#666;font-size:1rem;line-height:1;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.calendar-add-icon:hover{background:rgba(var(--accent-color-rgb),.12);color:var(--accent-color);border-color:var(--accent-color)}.app.dark .calendar-add-icon{border-color:#555;color:#aaa}.calendar-add-form{margin:12px 16px;padding:12px;border:1px solid #e5e5e5;border-radius:6px;display:flex;flex-direction:column;gap:10px}.app.dark .calendar-add-form{border-color:#3a3a3a;background:#242424}.calendar-add-form input[type=text]{padding:7px 10px;border:1px solid #d5d5d5;border-radius:4px;font-size:.9rem;background:#fff}.app.dark .calendar-add-form input[type=text]{background:#1a1a1a;border-color:#3a3a3a;color:#fff}.calendar-add-colors{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.calendar-add-actions{display:flex;gap:8px;justify-content:flex-end}.calendar-add-actions button{padding:6px 12px;border:1px solid #d5d5d5;border-radius:4px;background:#fff;cursor:pointer;font-size:.85rem}.calendar-add-actions button.primary{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.app.dark .calendar-add-actions button{background:#2a2a2a;border-color:#3a3a3a;color:#fff}.app.dark .calendar-add-actions button.primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.calendar-selector-row{display:flex;align-items:center;gap:10px}.calendar-selector-row .calendar-color-dot{width:14px;height:14px}.calendar-selector-row>:last-child{flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.task-modal-wide{max-width:650px!important;width:90%!important;max-height:90vh!important}.event-modal-wide{max-width:800px!important;width:90%!important;max-height:90vh!important}.task-modal-layout{display:flex;gap:2rem;flex:1;min-height:0}.event-modal-layout{display:flex;gap:2rem}.event-form-section{flex:1}.event-form-section .modal-form>fieldset{display:flex;flex-direction:column;gap:1rem}.readonly-fieldset{display:contents;border:none;margin:0;padding:0;min-width:0}.event-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.modal-header-controls{display:flex;align-items:center;gap:.5rem}.task-form-section{flex:1;display:flex;flex-direction:column;min-height:0}.user-management-section{flex-shrink:0}.task-modal-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.edit-task-header-options{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;width:100%}.edit-task-header-options .option-group{display:flex;flex-direction:column;gap:.25rem}.edit-task-header-options .option-label{font-size:.9rem;color:#fff;font-weight:500}.edit-task-header-options .custom-dropdown{width:auto}.edit-task-header-options .datetime-group{display:flex;gap:.5rem}.edit-task-header-options .datetime-group input{padding:.4rem .5rem;border:1px solid #ddd;border-radius:4px;background:#fff;color:#666;font-size:.875rem;font-weight:500;transition:all .2s}.edit-task-header-options .datetime-group input[type=date]{min-width:105px}.edit-task-header-options .datetime-group input[type=time]{padding:.4rem .5rem;border:1px solid #ddd;border-radius:4px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.edit-task-header-options .datetime-group input:hover{border-color:#999}.edit-task-header-options .datetime-group input:focus{outline:none;border-color:var(--accent-color)}.add-header{display:flex;align-items:center;justify-content:space-between;width:100%}.add-header h2{margin:0}.mode-selector{width:120px}.user-management-toggle{background:var(--accent-color);color:#fff;border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.user-management-toggle:hover{filter:brightness(.9);transform:scale(1.05)}.new-project-input{display:flex;gap:.5rem;align-items:center}.new-project-input input{flex:1}.cancel-new-project{padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:12px;white-space:nowrap}.cancel-new-project:hover{background:#545b62}.datetime-group{display:flex;gap:.5rem}.datetime-group input[type=date],.datetime-group input[type=time]{flex:1}.date-btn-wrapper{position:relative;display:flex;flex:1}.date-btn-wrapper .date-btn-trigger{flex:1;justify-content:space-between}.date-btn-overlay{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none;background:transparent;padding:0;margin:0;font:inherit;color:inherit}.date-btn-overlay::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.datetime-group .time-input{flex:1;min-width:0}.modal-form .dropdown-trigger,.modal-form .submit-btn,.modal-form .cancel-btn,.modal-form .delete-confirm-btn,.modal-form .cancel-new-project,.modal-form .repeat-day-btn,.modal-form .rich-text-editor-wrapper,.modal-form .time-input{border-radius:8px}.edit-task-header-options .date-btn-trigger{padding:.4rem .5rem;border:1px solid #ddd;border-radius:4px;background:#fff;color:#666;font-size:.875rem;font-weight:500;backdrop-filter:none;-webkit-backdrop-filter:none}.edit-task-header-options .date-btn-trigger:hover{border-color:#999}.edit-task-header-options .date-btn-trigger:focus{outline:none;border-color:var(--accent-color)}.datetime-group input[type=time]{padding:.75rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;font-size:14px;font-family:inherit;background:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s,background .2s}.datetime-group input[type=time]:focus{outline:none;border-color:var(--accent-color);background:#fffc}.datetime-group input[type=time]:disabled{opacity:.5;cursor:not-allowed}.notes-field label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.notes-field textarea{width:100%;min-height:80px;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}.notes-field textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--focus-ring)}.user-management{background:#f8f9fa;border-radius:8px;padding:1.5rem;width:300px;border-left:1px solid #e0e0e0}.user-management h4{margin:0 0 1rem;color:#333;font-size:1.1rem}.user-section{margin-bottom:1rem}.user-section label{display:block;font-weight:600;color:#555;margin-bottom:.5rem;font-size:.875rem}.user-info{padding:.5rem;background:#fff;border-radius:4px;border:1px solid #ddd;font-size:.875rem}.shared-users{display:flex;flex-direction:column;gap:.25rem}.shared-user{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#fff;border-radius:4px;border:1px solid #ddd;font-size:.875rem}.shared-user.pending{opacity:.7;border:1px dashed #999;font-style:italic}.remove-user-btn{background:#dc3545;color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.remove-user-btn:hover{background:#c82333}.no-users{padding:.5rem;color:var(--text-muted);font-style:italic;font-size:.875rem}.share-input-container{position:relative}.share-input-group{display:flex;gap:.5rem}.share-input-group input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.user-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 2px 8px #0000001a;z-index:1000;max-height:150px;overflow-y:auto;margin-top:-1px}.suggestion-item{padding:.75rem;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .2s;display:flex;justify-content:space-between;align-items:center}.suggestion-item:hover{background:#f5f5f5}.suggestion-item:last-child{border-bottom:none}.suggestion-name{font-weight:500;color:#333;font-size:.875rem}.suggestion-id{color:#666;font-size:.75rem}.add-users-btn{padding:.5rem 1rem;background:var(--accent-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;white-space:nowrap}.add-users-btn:hover{filter:brightness(.9)}.app.dark .datetime-group input[type=time]{background:#ffffff12;border-color:#ffffff1a;color:#fff}.app.dark .edit-task-header-options .datetime-group input[type=time]{background:#3a3a3a;border-color:#404040}.app.dark .date-btn-trigger{background:#3a3a3a99;border-color:#404040;color:#fff}.app.dark .edit-task-header-options .date-btn-trigger{background:#3a3a3a;border-color:#404040;color:#fff}.app.dark .notes-field label{color:#fff}.app.dark .notes-field textarea{background:#3a3a3a;border-color:#404040;color:#fff}.app.dark .user-management{background:#3a3a3a;border-left-color:#404040}.app.dark .user-management h4{color:#fff}.app.dark .user-section label{color:#ccc}.app.dark .user-info,.app.dark .shared-user{background:#2d2d2d;border-color:#404040;color:#fff}.app.dark .shared-user.pending{border-color:#666}.app.dark .no-users{color:#666}.app.dark .share-input-group input{background:#2d2d2d;border-color:#404040;color:#fff}.app.dark .user-suggestions{background:#2d2d2d;border-color:#404040;box-shadow:0 2px 8px #0000004d}.app.dark .suggestion-item{border-bottom-color:#404040}.app.dark .suggestion-item:hover{background:#404040}.app.dark .suggestion-name{color:#fff}.app.dark .suggestion-id{color:#ccc}.app.dark .new-project-input input{background:#3a3a3a;border-color:#404040;color:#fff}.task-detail-view{flex:1;height:100%;display:flex;flex-direction:column;min-height:0}.task-detail-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0;background:#fff;flex-shrink:0}.task-detail-content{flex:1;padding:1rem 2rem 2rem;overflow-y:auto;background:#f5f5f5;display:flex;flex-direction:column;min-height:0}.task-detail-content .modal-form{flex:1;display:flex;flex-direction:column;min-height:0}.task-detail-content .modal-form textarea{flex:1;min-height:100px;resize:none}.task-detail-content .modal-form textarea:focus{outline:none;box-shadow:none}.task-name-header-inline{border:none;background:transparent;font-size:1.5rem;font-weight:600;color:#333;font-family:inherit;padding:0;margin:0;width:auto;min-width:200px;outline:none}.task-name-header-inline:focus{outline:none;box-shadow:none}.app.dark .task-detail-view{background:#0a0a0a}.app.dark .task-detail-header{background:#0a0a0a;border-bottom-color:#404040}.app.dark .task-detail-header h2{color:#fff}.app.dark .task-detail-content{background:#0a0a0a}.app.dark .task-name-header-inline{color:#fff}.permission-checkboxes{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.permission-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#333;cursor:pointer}.permission-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.permissions-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.permissions-section label{font-weight:600;color:#555;font-size:.875rem}.member-row{flex-direction:column;align-items:stretch;gap:.5rem}.member-info{display:flex;flex-direction:column;gap:.125rem}.member-name{font-weight:500;color:#333}.member-email{font-size:.75rem;color:#666}.member-permissions{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.permission-badges{display:flex;flex-wrap:wrap;gap:.25rem}.permission-badges .badge{background:var(--accent-color);color:#fff;padding:.125rem .375rem;border-radius:3px;font-size:.625rem;font-weight:600;text-transform:uppercase}.member-actions{display:flex;gap:.25rem}.edit-btn{background:#17a2b8;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.edit-btn:hover{background:#138496}.permissions-editor{background:#f0f0f0;padding:.75rem;border-radius:4px;margin-top:.5rem}.edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.edit-actions button{padding:.25rem .5rem;border:none;border-radius:4px;cursor:pointer;font-size:.75rem}.edit-actions button:first-child{background:var(--accent-color);color:#fff}.edit-actions button:last-child{background:#6c757d;color:#fff}.add-member-section,.public-link-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.public-link-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.public-link-toggle input[type=checkbox]{width:auto;margin:0;cursor:pointer}.public-link-row{display:flex;gap:.5rem;margin-top:.6rem}.public-link-row input[type=text]{flex:1;min-width:0;font-size:.8rem}.public-link-row .add-users-btn{flex-shrink:0;white-space:nowrap}.display-name-input{margin-top:.5rem}.delete-project-modal{max-width:400px;text-align:center}.delete-project-modal h2{margin-bottom:1rem;color:#dc3545}.delete-project-modal p{margin-bottom:1.5rem;color:#666}.delete-project-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.move-tasks-btn{padding:.75rem 1rem;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:filter .2s}.move-tasks-btn:hover{filter:brightness(.9)}.delete-all-btn{padding:.75rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:filter .2s}.delete-all-btn:hover{filter:brightness(.9)}.delete-action{color:#dc3545!important}.delete-action:hover{background:#dc3545!important;color:#fff!important}.loading{padding:.5rem;color:#666;font-style:italic;font-size:.875rem}.app.dark .permission-checkbox{color:#fff}.app.dark .permissions-section{border-top-color:#404040}.app.dark .member-name{color:#fff}.app.dark .member-email{color:#999}.app.dark .permissions-editor{background:#404040}.app.dark .add-member-section,.app.dark .public-link-section{border-top-color:#404040}.app.dark .delete-project-modal h2{color:#dc3545}.app.dark .delete-project-modal p{color:#ccc}.app.dark .loading{color:#999}.add-user-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.contact-input-wrapper{margin-bottom:.5rem}.contact-input-wrapper input{width:100%;box-sizing:border-box;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.add-user-section .add-users-btn{width:100%}.empty-state{padding:.5rem;color:var(--text-muted);font-style:italic;font-size:.875rem}.rsvp-badge{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.rsvp-badge.rsvp-accepted{background:#d1e7dd;color:#0f5132}.rsvp-badge.rsvp-tentative{background:#fff3cd;color:#664d03}.rsvp-badge.rsvp-declined{background:#f8d7da;color:#842029}.my-status-btn{display:inline-block;padding:.25rem .625rem;border:none;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.my-status-btn.rsvp-accepted{background:#d1e7dd;color:#0f5132}.my-status-btn.rsvp-tentative{background:#fff3cd;color:#664d03}.my-status-btn.rsvp-declined{background:#f8d7da;color:#842029}.my-status-btn:hover{filter:brightness(.96)}.remove-btn{flex:0 0 auto;align-self:flex-end;background:#dc3545;color:#fff;border:none;border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center}.remove-btn:hover{background:#c82333}.resend-btn{flex:0 0 auto;background:transparent;color:#6b46c1;border:1px solid #d6c8f0;border-radius:6px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;cursor:pointer;white-space:nowrap}.resend-btn:hover{background:#f3eefc}.user-management .shared-user.member-row:has(.rsvp-badge){flex-direction:row;align-items:center;gap:.5rem}.user-management .shared-user.member-row:has(.rsvp-badge) .member-info{flex:1;min-width:0;flex-direction:row;align-items:center;gap:.375rem}.user-management .shared-user.member-row:has(.rsvp-badge) .member-name{min-width:0;overflow-wrap:anywhere}.user-management .shared-user.member-row:has(.rsvp-badge)>.rsvp-badge{flex:0 0 auto}.user-management .shared-user.member-row:has(.rsvp-badge)>.remove-btn{align-self:center}.user-management .rsvp-controls .rsvp-btn{flex:1 1 0;min-width:0;padding:.45rem .4rem;font-size:.8rem}.find-time-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.find-time-btn,.suggest-times-btn{padding:.5rem 1rem;background:var(--accent-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;white-space:nowrap}.find-time-btn{width:100%}.find-time-btn:hover,.suggest-times-btn:hover:not(:disabled){filter:brightness(.9)}.suggest-times-btn:disabled{opacity:.6;cursor:default}.time-finding-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.time-finding-section h4{margin:0 0 .75rem;font-size:1rem;color:#333}.suggest-times-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.suggest-times-row label{font-size:.8rem;color:#555}.suggest-times-row input[type=number]{padding:.3rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem}.time-slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.time-slot-row{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border:1px solid #ddd;border-radius:4px;font-size:.8rem}.time-slot-label{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0;cursor:pointer}.vote-count{color:#666;font-size:.7rem;white-space:nowrap}.finalize-btn{padding:.3rem .6rem;background:var(--accent-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;white-space:nowrap}.finalize-btn:hover{filter:brightness(.9)}.propose-slot-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}.propose-slot-row label{flex-basis:100%;font-weight:600;color:#555;font-size:.875rem}.propose-slot-row input{padding:.4rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem}.app.dark .contact-input-wrapper input,.app.dark .suggest-times-row input[type=number],.app.dark .propose-slot-row input,.app.dark .time-slot-row{background:#ffffff12;border-color:#ffffff1f;color:#fff}.app.dark .empty-state,.app.dark .vote-count,.app.dark .suggest-times-row label,.app.dark .propose-slot-row label{color:#aaa}.app.dark .add-user-section,.app.dark .find-time-section,.app.dark .time-finding-section{border-top-color:#ffffff1f}@media(max-width:768px){button,.nav-item,.task-card,.dropdown-trigger{min-height:44px;min-width:44px}body{font-size:16px;line-height:1.5}input,textarea,select{font-size:16px}.app{flex-direction:column}.sidebar{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:60px!important;flex-direction:row!important;justify-content:space-around!important;z-index:1001!important;border-right:none!important;border-top:1px solid #e0e0e0!important}.sidebar.open,.sidebar.closed{position:fixed!important;bottom:0!important;width:100%!important;height:60px!important}.sidebar-header{display:none!important}.sidebar-nav{flex:1;padding:0;display:flex;flex-direction:row;justify-content:space-around;align-items:center}.nav-item{flex-direction:column!important;padding:.5rem!important;gap:.25rem!important;min-width:auto!important;text-align:center!important;height:60px!important;display:flex!important;align-items:center!important;justify-content:center!important}.nav-icon{font-size:1.5rem}.nav-text{font-size:.75rem;opacity:1;animation:none}.sidebar-profile{display:none}.main{padding-bottom:100px}.project-detail-container{position:fixed;inset:0 0 60px;overflow-y:auto;z-index:100}.project-detail-main{height:auto;min-height:100%;padding-bottom:2rem}.mobile-header{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:.25rem .5rem!important;width:100%!important}.mobile-header h1{font-size:1.25rem!important;margin:0!important}.mobile-header-actions{display:flex!important;gap:.5rem!important;align-items:center!important}.hamburger-btn{background:none!important;border:1px solid #ddd!important;border-radius:4px!important;padding:.4rem!important;font-size:1rem!important;cursor:pointer!important;color:#666!important}.mobile-dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;background:#fff!important;border-bottom:1px solid #e0e0e0!important;box-shadow:0 2px 8px #0000001a!important;z-index:1000!important;padding:.75rem!important;display:flex!important;flex-direction:row!important;gap:.5rem!important;align-items:center!important;justify-content:center!important}.mobile-view-toggle{display:flex!important;gap:.5rem!important;align-items:center!important}.mobile-view-toggle .toggle-btn{margin:0!important}.main-header{position:relative!important;padding:0!important;border-bottom:1px solid #e0e0e0!important}.search-btn,.search-input,.toggle-btn,.custom-dropdown{font-size:.875rem!important;padding:.4rem .6rem!important;height:32px!important}.mobile-dropdown .custom-dropdown,.mobile-dropdown .dropdown-trigger{min-height:32px!important;height:32px!important}.content{padding:.5rem!important}.task-sections{grid-template-columns:1fr;gap:1rem}.project-section{padding:.75rem!important}.project-section h3{font-size:1rem!important;margin-bottom:.5rem!important}.project-header{margin-bottom:.75rem!important;padding-bottom:.25rem!important}.floating-add-btn{bottom:5rem!important;right:1rem!important;width:50px!important;height:50px!important;font-size:20px!important}.modal-content,.task-modal-wide{width:95%;max-width:none;margin:.5rem;max-height:calc(100vh - 180px);overflow-y:auto;display:flex;flex-direction:column}.modal-overlay{align-items:flex-start!important;padding-top:.25rem!important;padding-bottom:140px!important;overflow-y:auto!important}.task-modal-layout{flex-direction:column}.task-form-section{width:100%}.user-management-section{margin-top:1rem;width:100%}.modal-form{width:100%}.modal-form>*{margin-bottom:1rem!important}.modal-form textarea{margin-bottom:0rem!important}.modal-form .custom-dropdown{margin-bottom:1rem!important}.datetime-group{flex-direction:column!important;gap:1rem!important;margin-bottom:1rem!important}.datetime-group input{width:100%!important}.task-detail-content{padding:.5rem!important}.back-btn{min-height:auto!important;min-width:auto!important;padding:.4rem .75rem!important;font-size:.875rem!important}.task-detail-header{padding:.75rem 1rem!important}.task-name-header{margin-bottom:1rem!important}.delete-modal{padding:1rem!important}.delete-modal h2{margin-bottom:.75rem!important}.delete-modal p{margin:.5rem 0!important}.delete-modal .modal-actions{margin-top:1rem!important}.modal-overlay:has(.delete-modal){align-items:center!important;padding-top:0!important;padding-bottom:0!important}.calendar-header{padding:1rem;flex-direction:column;gap:1rem}.calendar-navigation,.calendar-view-toggle{justify-content:center}.calendar-day{min-height:80px;padding:.25rem}.day-number{font-size:.75rem}.calendar-task,.calendar-event{font-size:.7rem;padding:1px 2px}.week-header{grid-template-columns:40px repeat(7,1fr)}.time-column{width:40px}.time-slot{font-size:.7rem;height:40px}.time-slot-cell{height:40px}.user-profile{flex-direction:column}.profile-sidebar{width:100%;flex-direction:row;overflow-x:auto}.profile-tab{white-space:nowrap;border-bottom:none;border-right:1px solid #e0e0e0}.profile-tab.active{border-right:none;border-bottom:2px solid var(--accent-color)}.search-input{min-width:150px}.custom-dropdown{width:auto;min-width:100px}.task-card{padding:.5rem .5rem 2.5rem!important;min-height:100px!important}.task-header h4{font-size:.9rem!important;margin:0!important}.task-card p{font-size:.8rem!important;margin:.25rem 0!important}.priority{font-size:.7rem!important;padding:.15rem .4rem!important}.due-date{font-size:.75rem!important}.task-actions{bottom:.25rem;left:.25rem}.complete-btn,.delete-btn,.task-actions .today-btn{width:26px!important;height:26px!important;font-size:11px!important;padding:0!important;min-width:26px!important;min-height:26px!important;border-radius:50%!important}.task-actions{position:absolute!important;bottom:.3rem!important;left:.3rem!important;gap:.3rem!important;z-index:10!important}.project-menu-btn{font-size:1rem!important;padding:.15rem!important}.project-menu-dropdown{right:auto;left:0}.calendar-navigation .today-btn{height:32px!important;padding:0 .75rem!important;font-size:.75rem!important;margin-left:.5rem!important}.app.dark .sidebar{background:#252526;border-top-color:#3c3c3c}.app.dark .nav-item{color:#ccc}.app.dark .nav-item:hover{background:#2a2d2e}.app.dark .nav-item.active{color:#fff}.app.dark .hamburger-btn{background:#3a3a3a!important;border-color:#404040!important;color:#ccc!important}.app.dark .mobile-dropdown{background:#2d2d2d!important;border-bottom-color:#404040!important;box-shadow:0 2px 8px #0000004d!important}}.user-profile{display:flex;height:100vh;background:#fff}.profile-sidebar{width:200px;background:#f8f9fa;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;padding:1rem 0}.profile-tab{padding:.75rem 1.5rem;border:none;background:none;text-align:left;cursor:pointer;color:#666;font-weight:500;transition:all .2s}.profile-tab:hover{background:#e9ecef;color:#333}.profile-tab.active{background:var(--accent-color);color:#fff}.profile-main{flex:1;padding:2rem;overflow-y:auto}.profile-section,.preferences-section,.testing-section{max-width:600px}.profile-section h3,.preferences-section h3,.testing-section h3{margin:0 0 1.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label,.form-group .form-group-label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:14px}.readonly-input{background:#f8f9fa;color:#666}.profile-disclaimer{color:#666;font-size:.875rem;font-style:italic;margin-top:1rem}.color-presets{display:flex;gap:.5rem;margin-bottom:1rem}.color-preset{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s}.color-preset.active{border-color:#333;transform:scale(1.1)}.color-wheel{width:60px;height:40px;border-radius:6px;border:1px solid #ddd;cursor:pointer}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto}.app.dark .user-profile{background:#1a1a1a}.app.dark .profile-sidebar{background:#2d2d2d;border-right-color:#404040}.app.dark .profile-tab{color:#ccc}.app.dark .profile-tab:hover{background:#404040;color:#fff}.app.dark .profile-tab.active{background:var(--accent-color);color:#fff}.app.dark .profile-main{background:#1a1a1a}.app.dark .profile-section h3,.app.dark .preferences-section h3,.app.dark .testing-section h3{color:#fff}.app.dark .form-group label,.app.dark .form-group .form-group-label{color:#ccc}.app.dark .form-group input,.app.dark .form-group select{background:#3a3a3a;border-color:#404040;color:#fff}.app.dark .readonly-input{background:#2d2d2d;color:#999}.app.dark .profile-disclaimer{color:#999}.app.dark .color-preset.active{border-color:#fff}.toggle-btn{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;color:#666;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;border-radius:6px}.toggle-btn:hover{background:#f5f5f5}.toggle-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.cancel-btn{background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.cancel-btn:hover{background:#545b62}.back-btn{background:none;border:none;color:var(--accent-color);cursor:pointer;font-size:14px;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:background .2s;border:1px solid var(--accent-color)}.back-btn:hover{background:var(--accent-color);color:#fff}.task-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.project-section{background:#ffffffb8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.85);border-radius:12px;padding:1rem;box-shadow:0 2px 10px #0000000f;transition:all .25s ease}.project-section.clickable{cursor:pointer}.project-section.clickable:hover{background:#fffc;box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:2px solid var(--accent-color);padding-bottom:.5rem;box-shadow:0 1px rgba(var(--accent-color-rgb),.15)}.project-section h3{margin:0;color:#333}.project-rename-input{margin:0;padding:.25rem .5rem;border:1px solid var(--accent-color);border-radius:4px;font-size:1.17em;font-weight:700;color:#333;background:#fff;font-family:inherit}.project-rename-input:focus{outline:none;box-shadow:var(--focus-ring)}.deadline-view{display:flex;flex-direction:column;gap:.75rem}.project-menu{position:relative}.project-menu-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.2rem;padding:.25rem;border-radius:4px;transition:all .2s}.project-menu-btn:hover{background:#f0f0f0;color:#333}.project-menu-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001a;z-index:1000;margin-top:2px;min-width:150px}.project-menu-dropdown button{width:100%;padding:.5rem .75rem;border:none;background:none;color:#666;cursor:pointer;font-size:.875rem;text-align:left;transition:background .2s}.project-menu-dropdown button:hover{background:#f5f5f5}.task-list{display:flex;flex-direction:column;gap:.75rem}.task-card{position:relative;border:1px solid rgba(255,255,255,.7);border-radius:12px;padding:1rem 1rem 3rem;background:#ffffffe6;box-shadow:0 1px 4px #0000000d;transition:all .2s ease;-webkit-user-select:none;user-select:none}.task-card.clickable{cursor:pointer}.task-card[draggable=true]{cursor:grab}.task-card[draggable=true]:active{cursor:grabbing;opacity:.8}.task-card.clickable:hover{background:#fffffff2;border-color:rgba(var(--accent-color-rgb),.4);transform:translateY(-1px);box-shadow:0 3px 10px #00000012}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.task-header h4{margin:0;color:#333}.priority{padding:.2rem .55rem;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.priority.low{background:#2e7d321f;color:#31a137;border:1px solid rgba(46,125,50,.25)}.priority.medium{background:#f57c001f;color:#e65100;border:1px solid rgba(245,124,0,.25)}.priority.high{background:#b32a2a1f;color:#ff3939;border:1px solid rgba(127,42,42,.25)}.task-card p{margin:.5rem 0;color:#666;font-size:14px}.task-card p:first-of-type{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.due-date{color:var(--accent-color);font-weight:500;font-size:13px}.task-actions{position:absolute;bottom:.5rem;left:.5rem;display:flex;gap:.5rem}.complete-btn{width:28px;height:28px;border-radius:50%;background:#28a745;color:#fff;border:none;cursor:pointer;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s}.complete-btn:hover{background:#218838;transform:scale(1.1)}.delete-btn{width:28px;height:28px;border-radius:50%;background:#dc3545;color:#fff;border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s}.delete-btn:hover{background:#c82333;transform:scale(1.1)}.today-btn{width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s}.today-btn:hover{transform:scale(1.1)}.task-card.overdue,.task-card.due-today,.task-card.due-tomorrow{border-color:#ff393980!important}.show-more{text-align:center;color:var(--accent-color);font-weight:500;font-size:.875rem;cursor:pointer;transition:opacity .15s ease;margin-top:.1rem}.floating-add-btn{position:fixed;bottom:2rem;right:2rem;width:60px;height:60px;border-radius:50%;background:var(--accent-color);color:#fff;border:none;font-size:24px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0003,0 0 20px var(--accent-color-alpha);transition:all .2s ease;z-index:1000}.floating-add-btn:hover{filter:brightness(.9);transform:scale(1.1);box-shadow:0 6px 16px #0000004d,0 0 30px var(--accent-color-alpha)}.modal-overlay{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:#ffffffd1;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.9);border-radius:12px;padding:2rem;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000024,0 1px #fff9 inset}.modal-content h2{margin:0 0 1.5rem;color:#333;text-align:center}.task-name-header{width:100%;padding:0!important;border:none!important;border-radius:0!important;font-size:2rem!important;font-weight:600;text-align:left;background:none!important;color:#333;box-sizing:border-box;font-family:inherit}.task-name-header:focus{outline:none}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form input,.modal-form textarea,.modal-form select{width:100%;box-sizing:border-box;padding:.75rem;border:1px solid rgba(0,0,0,.12);border-radius:12px;font-size:14px;font-family:inherit;background:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s,background .2s}.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus{outline:none;border-color:var(--accent-color);background:#fffc}.modal-form textarea{resize:vertical;min-height:80px}.rich-text-editor-wrapper{border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#ffffff80;overflow:hidden;transition:border-color .15s}.rich-text-editor-wrapper:focus-within{border-color:var(--accent-color);background:#fffc}.input-over-limit,.rich-text-editor-wrapper.over-limit{border-color:#dc3545!important}.char-counter{font-size:11px;text-align:right;color:#dc3545;margin-top:3px;line-height:1}.rich-text-content-wrapper{position:relative}.rich-text-placeholder{position:absolute;top:.75rem;left:.75rem;color:#0006;font-size:14px;pointer-events:none;-webkit-user-select:none;user-select:none}.app.dark .rich-text-placeholder{color:#ffffff73}.dropdown-trigger.is-placeholder{color:#0006}.app.dark .dropdown-trigger.is-placeholder{color:#ffffff73}.task-meta-row{display:flex;gap:.5rem;align-items:stretch}.task-meta-row>*{flex:1;min-width:0}.task-meta-row .custom-dropdown,.task-meta-row .new-project-input{width:100%}.rich-text-toolbar{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid rgba(0,0,0,.08);background:#00000008;flex-wrap:wrap}.toolbar-group{display:flex;gap:2px}.toolbar-divider{width:1px;height:20px;background:#00000026;margin:0 4px}.rich-text-toolbar button{padding:3px 7px;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:.8rem;color:var(--text-color, #333);line-height:1.4;transition:background .15s;min-width:26px}.rich-text-toolbar button:hover{background:#00000014}.rich-text-toolbar button.is-active{background:var(--accent-color);color:#fff}.tiptap-editor{padding:.75rem;min-height:100px;outline:none;font-size:.9rem;line-height:1.6;color:var(--text-color, #333);overflow-wrap:anywhere}.tiptap-editor a{overflow-wrap:anywhere}.tiptap-editor a{cursor:pointer}.tiptap-editor p{margin:0 0 .4em}.tiptap-editor p:last-child{margin-bottom:0}.tiptap-editor h1{font-size:1.4em;font-weight:700;margin:.3em 0 .4em}.tiptap-editor h2{font-size:1.2em;font-weight:600;margin:.3em 0 .4em}.tiptap-editor h3{font-size:1.05em;font-weight:600;margin:.3em 0 .4em}.tiptap-editor ul,.tiptap-editor ol{padding-left:1.4em;margin:.2em 0 .4em}.tiptap-editor li{margin:.15em 0}.tiptap-editor ul[data-type=taskList]{list-style:none;padding-left:.2em}.tiptap-editor li:has(>label>input[type=checkbox]),.tiptap-editor ul[data-type=taskList] li[data-type=taskItem]{display:flex;align-items:center;gap:.5em;list-style:none}.tiptap-editor li:has(>label>input[type=checkbox])>label,.tiptap-editor ul[data-type=taskList] li[data-type=taskItem]>label{flex:0 0 auto;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none;margin-top:0}.tiptap-editor li:has(>label>input[type=checkbox])>div,.tiptap-editor ul[data-type=taskList] li[data-type=taskItem]>div{flex:1 1 auto;min-width:0}.tiptap-editor li:has(>label>input[type=checkbox])>label input[type=checkbox],.tiptap-editor ul[data-type=taskList] li[data-type=taskItem]>label input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--accent-color)}.tiptap-editor li[data-checked=true]>div,.tiptap-editor ul[data-type=taskList] li[data-type=taskItem][data-checked=true]>div{text-decoration:line-through;opacity:.55}.task-description-preview{font-size:.82rem;color:var(--text-secondary, #666);line-height:1.5;margin-bottom:.3em;overflow:hidden;max-height:4.5em}.task-description-preview a{cursor:pointer}.task-description-preview p{margin:0}.task-description-preview h1,.task-description-preview h2,.task-description-preview h3{font-size:.85em;font-weight:600;margin:0}.task-description-preview ul:not([data-type=taskList]),.task-description-preview ol{list-style:none;padding-left:0;margin:0}.task-description-preview ul:not([data-type=taskList])>li,.task-description-preview ol>li{display:flex;align-items:baseline;gap:.35em}.task-description-preview ul:not([data-type=taskList])>li:before{content:"•";flex-shrink:0;font-size:1em}.task-description-preview ol{counter-reset:preview-list}.task-description-preview ol>li{counter-increment:preview-list}.task-description-preview ol>li:before{content:counter(preview-list) ".";flex-shrink:0;font-size:1em}.task-description-preview ul[data-type=taskList]{list-style:none;padding-left:0}.task-description-preview li:has(>label>input[type=checkbox]),.task-description-preview ul[data-type=taskList] li[data-type=taskItem]{display:flex;align-items:center;gap:.4em;list-style:none}.task-description-preview li:has(>label>input[type=checkbox])>label,.task-description-preview ul[data-type=taskList] li[data-type=taskItem]>label{flex:0 0 auto;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none}.task-description-preview li:has(>label>input[type=checkbox])>div,.task-description-preview ul[data-type=taskList] li[data-type=taskItem]>div{flex:1 1 auto;min-width:0}.task-description-preview li:has(>label>input[type=checkbox])>div>p,.task-description-preview ul[data-type=taskList] li[data-type=taskItem]>div>p{margin:0}.task-description-preview li:has(>label>input[type=checkbox])>label input[type=checkbox],.task-description-preview ul[data-type=taskList] li[data-type=taskItem]>label input[type=checkbox]{cursor:pointer;accent-color:var(--accent-color)}.task-description-preview li[data-checked=true]>div,.task-description-preview ul[data-type=taskList] li[data-type=taskItem][data-checked=true]>div{text-decoration:line-through;opacity:.55}.app.dark .rich-text-editor-wrapper{background:#ffffff0d;border-color:#ffffff1a}.app.dark .rich-text-toolbar{background:#ffffff0a;border-bottom-color:#ffffff14}.app.dark .toolbar-divider{background:#ffffff26}.app.dark .rich-text-toolbar button{color:#ffffffd9}.app.dark .rich-text-toolbar button:hover{background:#ffffff1a}.app.dark .tiptap-editor{color:#ffffffe6}.app.dark .tiptap-editor a{color:#2e91f5}.app.dark .task-description-preview{color:#ffffff8c}.app.dark .task-description-preview a{color:#2e91f5}.repeat-days-picker{display:flex;gap:.4rem;margin-top:.25rem}.repeat-day-btn{width:32px;height:32px;border-radius:50%;border:1px solid #ddd;background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;color:#555;transition:background .15s,color .15s,border-color .15s}.repeat-day-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.repeat-day-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.modal-actions{display:flex;gap:1rem;margin-top:1rem}.submit-btn{flex:1;padding:.75rem;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px}.submit-btn:hover{filter:brightness(.9)}.modal-actions .cancel-btn{flex:1;padding:.75rem;font-size:14px}.delete-modal{max-width:400px}.delete-modal h2{color:#dc3545;margin-bottom:1rem}.delete-modal p{margin:.5rem 0;color:#333}.warning-text{color:#dc3545;font-size:13px;margin-bottom:1.5rem!important}.delete-confirm-btn{flex:1;padding:.75rem;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px}.delete-confirm-btn:hover{background:#c82333}.custom-dropdown{position:relative;width:100px}.modal-form .custom-dropdown{width:100%}.modal-form .dropdown-trigger{width:100%;justify-content:space-between}.dropdown-trigger{padding:.5rem .75rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#555;cursor:pointer;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:all .2s}.dropdown-trigger:hover{background:#fffc;border-color:#999}.dropdown-trigger.highlighted,.app.dark .dropdown-trigger.highlighted{border-color:var(--accent-color)}.dropdown-arrow{font-size:.875rem;transition:transform .2s}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 16px #0000001a;z-index:1000;margin-top:2px;overflow:hidden}.dropdown-option{width:100%;padding:.5rem .75rem;border:none;background:none;color:#666;cursor:pointer;font-size:.875rem;text-align:left;transition:background .2s}.dropdown-option:hover{background:#f5f5f5}.dropdown-option.selected{background:#f0f0f0;font-weight:600}.search-btn{padding:.5rem;border:1px solid #ddd;background:#fff;color:#666;cursor:pointer;font-size:16px;border-radius:6px;transition:all .2s;margin-right:.5rem}.search-btn:hover{background:#f5f5f5;border-color:var(--accent-color)}.search-input{padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:14px;margin-right:.5rem;min-width:200px;transition:all .2s}.search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--focus-ring)}.view-toggle{display:flex;align-items:center;gap:1rem;margin-right:.5rem;justify-content:flex-end}.view-dropdown{display:flex;justify-content:flex-end}.view-dropdown .dropdown-trigger{white-space:nowrap;min-width:110px;justify-content:space-between}.project-detail-container{position:relative;min-height:100vh}.project-detail-main{height:100%;overflow-y:auto}.project-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--accent-color)}.project-detail-header h2{margin:0;color:#333;flex:1}.empty-project{text-align:center;padding:3rem;color:#666;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);border-radius:12px;box-shadow:0 2px 16px #0000000f}.app.dark{background:#0a0a0a}.app.dark .main-header{background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:#ffffff14}.app.dark .main-header h1{color:#fff}.app.dark .toggle-btn{background:#3a3a3a;border-color:#404040;color:#ccc}.app.dark .toggle-btn:hover{background:#404040}.app.dark .toggle-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.app.dark .project-section{background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);box-shadow:0 2px 10px #00000040;color:#fff}.app.dark .project-section.clickable:hover{background:#ffffff17;border-color:rgba(var(--accent-color-rgb),.25);box-shadow:0 4px 16px #0000004d}.app.dark .project-section h3{color:#fff}.app.dark .task-card{background:#ffffff12;border:1px solid rgba(255,255,255,.08);box-shadow:0 1px 4px #0003;color:#fff}.app.dark .task-card.clickable:hover{background:#ffffff1c;border-color:rgba(var(--accent-color-rgb),.35);box-shadow:0 3px 10px #00000040}.app.dark .task-header h4{color:#fff}.app.dark .task-card p{color:#ccc}.app.dark .modal-content,body.dark .modal-content{background:#1c1c1cd1;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006,0 1px #ffffff0d inset;color:#fff}.app.dark .modal-content h2,body.dark .modal-content h2{color:#fff}.app.dark .task-name-header{background:transparent;color:#fff}.app.dark .modal-form input,.app.dark .modal-form textarea,.app.dark .modal-form select{background:#ffffff12;border-color:#ffffff1a;color:#fff}.app.dark .modal-form input:focus,.app.dark .modal-form textarea:focus,.app.dark .modal-form select:focus{background:#ffffff1f;border-color:var(--accent-color)}.app.dark .dropdown-trigger{background:#ffffff14;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:#ffffff1f;color:#ccc}.app.dark .dropdown-trigger:hover{background:#ffffff21;border-color:#fff3}.app.dark .dropdown-menu{background:#1c1c1c;border-color:#ffffff1a;box-shadow:0 4px 16px #0006}.app.dark .dropdown-option{color:#ccc}.app.dark .dropdown-option:hover,.app.dark .dropdown-option.selected{background:#404040}.app.dark .search-btn{background:#3a3a3a;border-color:#404040;color:#ccc}.app.dark .search-btn:hover{background:#404040;border-color:var(--accent-color)}.app.dark .search-input{background:#3a3a3a;border-color:#404040;color:#fff}.app.dark .search-input::placeholder{color:#999}.app.dark .search-input:focus{border-color:var(--accent-color);box-shadow:var(--focus-ring)}.app.dark .project-detail-header{border-bottom-color:var(--accent-color)}.app.dark .project-detail-header h2{color:#fff}.app.dark .empty-project{color:#ccc;background:#ffffff0a;border-color:#ffffff14}.app.dark .back-btn{color:var(--accent-color);border-color:var(--accent-color)}.app.dark .back-btn:hover{background:var(--accent-color);color:#fff}.app.dark .warning-text{color:#fff}.app.dark .navbar{background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:#ffffff14}.app.dark .navbar-logo,.app.dark .navbar-tab{color:#fff}.app.dark .navbar-tab:hover{color:#999}.app.dark .navbar-tab.active{color:var(--accent-color)}.app.dark .project-menu-btn{color:#ccc}.app.dark .project-menu-btn:hover{background:#404040;color:#fff}.app.dark .project-menu-dropdown{background:#3a3a3a;border-color:#404040;box-shadow:0 2px 8px #0000004d}.app.dark .project-menu-dropdown button{color:#ccc}.app.dark .project-menu-dropdown button:hover{background:#404040}.app.dark .project-rename-input{background:#3a3a3a;border-color:var(--accent-color);color:#fff}.shortcut-tooltip{background:#000000e6;color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #0000004d;z-index:4000;max-width:400px;line-height:1.4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.app.dark .shortcut-tooltip{background:#ffffffe6;color:#333;border:1px solid rgba(0,0,0,.1)}.task-name-header:focus-visible,.task-name-header-inline:focus-visible,.modal-form input:focus-visible,.modal-form textarea:focus-visible,.modal-form select:focus-visible,.datetime-group input[type=time]:focus-visible,.edit-task-header-options .datetime-group input:focus-visible,.edit-task-header-options .date-btn-trigger:focus-visible,.apple-sync-form input:focus-visible,.calendar-name-input:focus-visible,.task-detail-content .modal-form textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}.rich-text-editor-wrapper:focus-within{box-shadow:var(--focus-ring)}.toast{position:fixed;top:1rem;right:1rem;background:var(--accent-color);color:#fff;padding:.75rem 1rem;border-radius:6px;box-shadow:0 4px 12px #0003;display:flex;align-items:center;gap:1rem;z-index:3000;animation:slideIn .3s ease}.toast.error{background:#dc3545}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;line-height:1;opacity:.8;transition:opacity .2s}.toast-close:hover{opacity:1}.toast.toast-clickable{cursor:pointer}.toast.toast-with-actions{flex-direction:column;align-items:flex-start;gap:.5rem;max-width:300px}.toast-actions{display:flex;gap:.5rem;align-self:flex-end}.toast-action-btn{padding:.3rem .85rem;border-radius:5px;font-size:.82rem;font-weight:500;cursor:pointer;border:none;transition:opacity .15s}.toast-action-primary{background:#ffffff40;color:#fff;border:1px solid rgba(255,255,255,.5)}.toast-action-primary:hover{background:#fff6}.toast-action-secondary{background:transparent;color:#ffffffbf;border:1px solid rgba(255,255,255,.3)}.toast-action-secondary:hover{background:#ffffff1f;color:#fff}.invite-page{min-height:100vh;background:#f4f4f7;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem 3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a1a}.invite-header{width:100%;max-width:720px;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.invite-brand{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--accent-color)}.invite-signup-btn{padding:.45rem 1rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:filter .15s,box-shadow .15s}.invite-signup-btn:hover{filter:brightness(1.05);box-shadow:0 2px 8px rgba(var(--accent-color-rgb),.3)}.invite-card{width:100%;max-width:720px;background:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f;padding:1.75rem 1.75rem 2rem}.invite-card h1{margin:0 0 .35rem;font-size:1.6rem;font-weight:700;letter-spacing:-.02em}.invite-card h2{margin:1.5rem 0 .6rem;font-size:1rem;font-weight:600;color:#444;letter-spacing:-.01em}.invite-card h3{margin:1rem 0 .5rem;font-size:.9rem;font-weight:600;color:#555}.invite-owner{margin:0 0 1.1rem;color:#666;font-size:.9rem}.invite-event-details{display:flex;flex-direction:column;gap:.4rem;padding:.85rem 1rem;background:rgba(var(--accent-color-rgb),.04);border:1px solid rgba(var(--accent-color-rgb),.12);border-radius:10px;font-size:.9rem;color:#333}.invite-event-details strong{color:#1a1a1a;font-weight:600;margin-right:.35rem}.invite-polling-note{font-style:italic;color:#555}.invite-description{white-space:pre-wrap;line-height:1.45}.rsvp-controls{display:flex;gap:.5rem;flex-wrap:wrap}.rsvp-btn{flex:1 1 0;min-width:100px;padding:.55rem .9rem;background:#fff;color:#444;border:1px solid rgba(0,0,0,.14);border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.rsvp-btn:hover:not(:disabled){border-color:var(--accent-color);color:var(--accent-color)}.rsvp-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff;font-weight:600;box-shadow:0 1px 4px rgba(var(--accent-color-rgb),.25)}.rsvp-btn:disabled{opacity:.55;cursor:not-allowed}.invite-profile{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.85rem}.invite-profile label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:#555;font-weight:500}.invite-profile label:first-child{grid-column:1 / -1}.invite-profile input{padding:.5rem .65rem;border:1px solid rgba(0,0,0,.14);border-radius:8px;font-size:.9rem;background:#fff;color:#1a1a1a;font-family:inherit;transition:border-color .15s,box-shadow .15s}.invite-profile input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.15)}.invite-save-btn{grid-column:1 / -1;justify-self:end;padding:.5rem 1.1rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:filter .15s}.invite-save-btn:hover:not(:disabled){filter:brightness(1.05)}.invite-save-btn:disabled{opacity:.55;cursor:not-allowed}.invite-slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.invite-slots li{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;background:#fafafa;border:1px solid rgba(0,0,0,.07);border-radius:10px;gap:.75rem}.invite-slots label{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.9rem;color:#1a1a1a;flex:1}.invite-slots input[type=checkbox]{accent-color:var(--accent-color);width:1rem;height:1rem;cursor:pointer}.invite-slots input[type=checkbox]:disabled{cursor:wait}.invite-vote-count{font-size:.8rem;color:#666;font-weight:500;white-space:nowrap}.invite-propose{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem;padding:.85rem;background:#fafafa;border:1px solid rgba(0,0,0,.07);border-radius:10px}.invite-propose h3{grid-column:1 / -1;margin:0 0 .25rem}.invite-propose input{padding:.45rem .6rem;border:1px solid rgba(0,0,0,.14);border-radius:8px;font-size:.85rem;background:#fff;font-family:inherit}.invite-propose input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.15)}.invite-propose button{grid-column:1 / -1;justify-self:end;padding:.45rem 1rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:filter .15s}.invite-propose button:hover:not(:disabled){filter:brightness(1.05)}.invite-propose button:disabled{opacity:.5;cursor:not-allowed}.invite-propose-hint{grid-column:1 / -1;font-size:.8rem;color:#b14040;margin:0}.invite-error{margin-top:.5rem;font-size:.85rem;color:#b14040}.invite-loading{opacity:.6;pointer-events:none;cursor:not-allowed}.rsvp-btn:focus-visible,.invite-save-btn:focus-visible,.invite-propose button:focus-visible{outline:2px solid var(--accent-color, #6c63ff);outline-offset:2px}@media(max-width:600px){.invite-card{padding:1.25rem}.invite-profile,.invite-propose{grid-template-columns:1fr}.rsvp-btn{flex-basis:100%}}
