:root{--color-bg:#0d1117;--color-surface:#161c27;--color-surface-raised:#1d2535;--color-surface-hover:#222c3d;--color-border:#2a3347;--color-border-active:#3d4f6e;--color-blue-deep:#1a3a6e;--color-blue-mid:#4a7fe0;--color-blue-light:#85b4fc;--color-amber:#d97706;--color-amber-bright:#f59e0b;--color-text-primary:#eceef4;--color-text-secondary:#9da6ba;--color-text-muted:#5c6880;--task-title-size:.95rem;--task-title-focus-size:clamp(1.35rem, 3.6vw, 2rem);--font-body:"Lexend", system-ui, -apple-system, sans-serif;--font-display:"Cabinet Grotesk", "Lexend", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);letter-spacing:-.005em;color:var(--color-text-primary);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}[data-theme=light]{--color-bg:#f2f1ed;--color-surface:#fafaf8;--color-surface-raised:#eceae4;--color-surface-hover:#e3e1da;--color-border:#d0cec7;--color-border-active:#b4b2aa;--color-blue-deep:#dce8fb;--color-blue-mid:#3a6fd0;--color-blue-light:#1e4fa8;--color-amber:#b85e00;--color-amber-bright:#d47200;--color-text-primary:#19191a;--color-text-secondary:#4c4c44;--color-text-muted:#72716a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--color-bg);min-height:100vh;color:var(--color-text-primary);margin:0}#root{min-height:100vh}.loading-screen{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-dot{background:var(--color-blue-mid);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}.route-progress{z-index:1000;pointer-events:none;opacity:0;height:2px;transition:opacity .18s;position:fixed;inset:0 0 auto}.route-progress.visible{opacity:1}.route-progress-bar{transform-origin:0;background:#d97706;width:100%;height:100%;transition:transform .18s linear;transform:scaleX(0);box-shadow:0 0 12px #d9770666}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--color-surface-raised);color:var(--color-text-primary);font-family:var(--font-body);letter-spacing:0;white-space:nowrap;border:1px solid var(--color-border);pointer-events:none;opacity:0;z-index:9999;border-radius:4px;padding:.3rem .625rem;font-size:.75rem;font-weight:400;line-height:1.4;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 14px #0000002e}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(0)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-active);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-active) transparent}.toast-container{z-index:9000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);pointer-events:all;border-radius:10px;align-items:flex-start;gap:.625rem;min-width:220px;max-width:380px;padding:.75rem .875rem;font-size:.875rem;font-weight:450;line-height:1.45;animation:.22s cubic-bezier(.16,1,.3,1) toastIn;display:flex;box-shadow:0 8px 32px #0006,0 1px 4px #00000026}.toast-icon{flex-shrink:0;width:16px;height:16px;margin-top:1px}.toast--error{border-left:3px solid #ef4444}.toast--error .toast-icon{color:#ef4444}.toast--success{border-left:3px solid #22c55e}.toast--success .toast-icon{color:#22c55e}.toast--info{border-left:3px solid var(--color-blue-mid)}.toast--info .toast-icon{color:var(--color-blue-mid)}.toast-msg{flex:1;padding-top:0;line-height:1.45}.toast-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:0;padding:4px;line-height:1;transition:color .15s,background .15s;display:flex}.toast-close svg{width:10px;height:10px}.toast-close:hover{color:var(--color-text-primary);background:var(--color-surface-raised)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.4}}.btn-spinner{flex-shrink:0;animation:.65s linear infinite spin}@keyframes toastIn{0%{opacity:0;transform:translate(16px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastOut{0%{opacity:1;max-height:80px;margin-bottom:.5rem;transform:translate(0)scale(1)}to{opacity:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;transform:translate(20px)scale(.94)}}.toast--out{pointer-events:none;animation:.3s cubic-bezier(.4,0,1,1) forwards toastOut;overflow:hidden}[data-theme=light] .toast{box-shadow:0 4px 20px #0000001a,0 1px 4px #0000000f}.user-menu{position:relative}.user-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:opacity .15s,box-shadow .15s;display:flex}.user-avatar-btn:hover{opacity:.85;box-shadow:0 0 0 2px var(--color-border-active)}.user-avatar-btn:focus-visible{outline:2px solid var(--color-blue-mid);outline-offset:2px}.user-avatar-initial{width:32px;height:32px;font-family:var(--font-display);color:#fff;letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex}.user-avatar-img{object-fit:cover;pointer-events:none;border-radius:50%;width:32px;height:32px}.user-dropdown{background:var(--color-surface);border:1px solid var(--color-border);z-index:100;transform-origin:100% 0;border-radius:12px;min-width:210px;padding:.375rem;animation:.18s cubic-bezier(.16,1,.3,1) both dropdownIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #00000059,0 1px 4px #0003}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.user-dropdown-header{flex-direction:column;gap:.1rem;padding:.5rem .75rem .625rem;display:flex}.user-dropdown-name{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.02em;font-size:.9rem;font-weight:700}.user-dropdown-email{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:194px;font-size:.78rem;overflow:hidden}.user-dropdown-divider{background:var(--color-border);height:1px;margin:.25rem 0}.user-dropdown-item{width:100%;color:var(--color-text-secondary);cursor:pointer;text-align:left;letter-spacing:-.005em;background:0 0;border:none;border-radius:8px;align-items:center;gap:.625rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:background .12s,color .12s;display:flex}.user-dropdown-item:hover{background:var(--color-surface-raised);color:var(--color-text-primary)}.user-dropdown-item--signout{color:#e5534b}.user-dropdown-item--signout:hover{color:#e5534b;background:#e5534b1a}.shell{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.shell-nav{border-bottom:1px solid var(--color-border);z-index:10;background:var(--color-bg);align-items:center;gap:1.75rem;height:54px;padding:0 2rem;display:flex;position:sticky;top:0}@media (width>=881px){.shell-nav{padding:0 calc(50% - 440px + 2rem)}}.shell-logo{font-family:var(--font-display);letter-spacing:-.04em;background:linear-gradient(135deg,#eceef4 0%,#85b4fc 55%,#b0cfff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-right:.25rem;font-size:1.125rem;font-weight:800}[data-theme=light] .shell-logo{background:linear-gradient(135deg,#111110 0%,#3a6fd0 55%,#1e4fa8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.shell-nav-links{flex:1;gap:.125rem;display:flex}.nav-link{color:var(--color-text-secondary);letter-spacing:-.005em;border-radius:6px;padding:.375rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.nav-link:hover{color:var(--color-text-primary);background:var(--color-surface-raised)}.nav-link.active{color:var(--color-text-primary);background:var(--color-surface-raised);box-shadow:inset 0 -2px 0 var(--color-amber)}.shell-nav-right{align-items:center;gap:.5rem;display:flex}.signout-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.15s soFadeIn;display:flex;position:fixed;inset:0}@keyframes soFadeIn{0%{opacity:0}to{opacity:1}}.signout-card{background:var(--color-surface);border:1px solid var(--color-border);will-change:transform;backface-visibility:hidden;border-radius:16px;width:100%;max-width:360px;padding:1.5rem 1.75rem 1.375rem;animation:.22s cubic-bezier(.16,1,.3,1) soSlideUp}@keyframes soSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.signout-title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.025em;margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.signout-body{color:var(--color-text-secondary);margin:0 0 1.5rem;font-size:.9375rem;line-height:1.5}.signout-actions{justify-content:flex-end;gap:.625rem;display:flex}.signout-cancel{background:var(--color-surface-raised);color:var(--color-text-secondary);cursor:pointer;border:none;border-radius:99px;align-items:center;gap:.375rem;padding:.55rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .15s,color .15s;display:flex}.signout-cancel:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.signout-confirm{background:var(--color-text-primary);color:var(--color-bg);cursor:pointer;border:none;border-radius:99px;align-items:center;gap:.375rem;padding:.55rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:opacity .15s;display:flex}.signout-confirm:hover{opacity:.82}.shell-main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:2rem}.auth-root{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;width:100%;max-width:420px;padding:2.5rem 2.25rem 2.25rem;animation:.45s cubic-bezier(.16,1,.3,1) forwards cardIn;box-shadow:0 32px 80px #00000073}.auth-inner{flex-direction:column;gap:1rem;display:flex}@keyframes cardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cardOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-18px)scale(.97)}}.auth-card.exiting{pointer-events:none;animation:.38s cubic-bezier(.4,0,1,1) forwards cardOut}@keyframes shake{0%,to{transform:translate(0)}18%{transform:translate(-4px)}36%{transform:translate(4px)}54%{transform:translate(-3px)}72%{transform:translate(3px)}}.auth-inner.shake{animation:.38s shake}.auth-logo{text-align:center;margin-bottom:.25rem}.auth-logo-text{font-family:var(--font-display);letter-spacing:-.045em;background:linear-gradient(135deg,#eceef4 0%,#85b4fc 55%,#b0cfff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:800}[data-theme=light] .auth-logo-text{background:linear-gradient(135deg,#111110 0%,#3a6fd0 55%,#1e4fa8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.auth-tagline{color:var(--color-text-secondary);letter-spacing:.01em;margin:.3rem 0 0;font-size:.9rem;font-weight:500}.btn-google{background:var(--color-surface-raised);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.625rem;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;font-weight:500;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;display:flex}.btn-google:hover{background:var(--color-surface-hover);border-color:var(--color-border-active);box-shadow:0 2px 12px #0003}.btn-google:active{transform:scale(.98)}.auth-divider{color:var(--color-text-muted);letter-spacing:.04em;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-form{flex-direction:column;gap:.875rem;display:flex}.field-wrap{flex-direction:column;gap:.325rem;animation:.3s cubic-bezier(.16,1,.3,1) both fieldIn;display:flex}@keyframes fieldIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.auth-form .field-wrap:first-child{animation-delay:0s}.auth-form .field-wrap:nth-child(2){animation-delay:55ms}.auth-form .field-wrap:nth-child(3){animation-delay:.11s}.auth-form .field-wrap:nth-child(4){animation-delay:.165s}.input-wrap{position:relative}.auth-input{background:var(--color-surface-raised);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);box-sizing:border-box;border-radius:10px;outline:none;padding:.7rem 2.75rem .7rem 1.05rem;font-family:inherit;font-size:.9375rem;transition:border-color .18s,box-shadow .18s}.auth-input::placeholder{color:var(--color-text-muted)}.auth-input:focus{border-color:var(--color-blue-mid);box-shadow:0 0 0 3px #3b82f61f}.auth-input.valid{border-color:#6ee7b773}.auth-input.valid:focus{box-shadow:0 0 0 3px #6ee7b71a}.auth-input.invalid{border-color:#f871718c}.auth-input.invalid:focus{box-shadow:0 0 0 3px #f871711a}.field-icon{pointer-events:none;font-size:.75rem;font-style:normal;font-weight:700;position:absolute;top:50%;right:.875rem;transform:translateY(-50%)}.field-icon.valid{color:#6ee7b7}.field-icon.invalid{color:#f87171}.field-label-row{justify-content:space-between;align-items:center;display:flex}.field-error{color:#f87171;margin:.125rem 0 0;padding:0;font-size:.8rem;animation:.2s errorIn}@keyframes errorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.strength-bars{flex:1;gap:4px;display:flex}.strength-bar{background:var(--color-border);opacity:.4;border-radius:2px;flex:1;height:3px;transition:background .35s,opacity .35s}.strength-label{text-align:right;min-width:38px;font-size:.75rem;font-weight:500;transition:color .35s}.auth-server-error{color:#f87171;background:#f8717114;border:1px solid #f871712e;border-radius:8px;margin:0;padding:.6rem .875rem;font-size:.875rem;animation:.2s errorIn}.auth-info{color:#6ee7b7;background:#6ee7b714;border:1px solid #6ee7b72e;border-radius:8px;margin:0;padding:.5rem .75rem;font-size:.8rem}.btn-primary{background:var(--color-amber);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:2.375rem;margin-top:.5rem;padding:.6rem 1rem;font-family:inherit;font-size:.9375rem;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;display:flex}[data-theme=dark] .btn-primary,[data-theme=light] .btn-primary{color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-amber-bright);box-shadow:0 4px 20px #f59e0b4d}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-mode-switch{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.auth-toggle-btn{font-size:inherit;cursor:pointer;color:var(--color-amber);text-underline-offset:3px;background:0 0;border:none;border-radius:0;padding:.25rem 0;font-family:inherit;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s}.auth-toggle-btn:hover{color:var(--color-amber-bright)}.auth-toggle-btn.signin-cta{color:var(--color-amber)}.auth-toggle-btn.signin-cta:hover{color:var(--color-amber-bright)}.field-label{letter-spacing:.02em;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;margin-bottom:.3rem;font-size:.8125rem;font-weight:500;display:block}.input-eye-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;line-height:0;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.input-eye-btn:hover{color:var(--color-text-secondary);background:#ffffff0d}.auth-input.with-eye{padding-right:2.75rem}.pw-field-group{display:contents}.auth-forgot-link-row{justify-content:flex-end;margin-top:-.125rem;display:flex}.auth-forgot-link{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.775rem;transition:color .15s}.auth-forgot-link:hover{color:var(--color-text-primary)}.auth-forgot-header{text-align:center}.auth-forgot-title{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.auth-forgot-sub{color:var(--color-text-secondary);margin:0;font-size:.825rem;line-height:1.5}.auth-confirm-box{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.auth-confirm-icon{font-size:2.5rem;line-height:1}.auth-confirm-title{color:var(--color-text-primary);margin:0;font-size:1.1rem;font-weight:600}.auth-confirm-sub{color:var(--color-text-secondary);max-width:300px;margin:0;font-size:.825rem;line-height:1.55}.password-strength{align-items:center;gap:.625rem;margin-top:.375rem;animation:.2s errorIn;display:flex}.task-item{border:1px solid var(--color-border);background:var(--color-surface);animation:.32s cubic-bezier(.22,.61,.36,1) both slideIn;animation-delay:calc(var(--task-idx,0) * 28ms);border-radius:8px;align-items:center;gap:.875rem;padding:.7rem .875rem;transition:border-color .15s;display:flex}.task-drag-handle{color:var(--color-text-muted);cursor:grab;opacity:.4;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 .125rem;font-size:1rem;line-height:1;transition:opacity .15s}.task-item:hover .task-drag-handle{opacity:.8}.task-drag-handle:active{cursor:grabbing}@keyframes slideIn{0%{opacity:0;transform:translateY(5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.task-item:hover{border-color:var(--color-border-active)}.task-item.completed{opacity:.4}.task-item.is-mit{border-color:var(--color-amber);background:#d977060a}[data-theme=light] .task-item.is-mit{background:#b85e000d}.task-item.pending{opacity:.65}@keyframes taskDelete{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(20px)scale(.97)}}.task-item.deleting{pointer-events:none;animation:.32s cubic-bezier(.4,0,1,1) forwards taskDelete}.task-checkbox{border:1.5px solid var(--color-border-active);cursor:pointer;color:#fff;background:0 0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:background .15s,border-color .15s,transform .1s;display:flex}.task-checkbox:hover{border-color:var(--color-blue-mid);background:#3b6fd41a}.task-checkbox.checked{border-color:var(--color-amber);color:var(--color-amber);background:#d977061f}.task-checkbox:active{transform:scale(.9)}@keyframes checkPop{0%{transform:scale(1);box-shadow:0 0 #f59e0b80}35%{transform:scale(1.35);box-shadow:0 0 0 7px #f59e0b33}65%{transform:scale(.9);box-shadow:0 0 0 12px #f59e0b00}to{transform:scale(1);box-shadow:0 0 #f59e0b00}}.task-checkbox.pop{animation:.38s cubic-bezier(.22,1,.36,1) checkPop}.task-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.task-title{font-size:var(--task-title-size);color:var(--color-text-primary);cursor:text;word-break:break-word;letter-spacing:-.005em;font-weight:450;line-height:1.35}.completed .task-title{color:var(--color-text-muted);text-decoration:line-through}.task-edit-form{align-items:center;gap:.5rem;display:flex}.task-edit-input{background:var(--color-surface-raised);border:1px solid var(--color-blue-mid);color:var(--color-text-primary);font-size:var(--task-title-size);border-radius:6px;outline:none;flex:1;padding:.2rem .5rem;font-family:inherit;box-shadow:0 0 0 3px #3b6fd426}.task-edit-save{background:var(--color-amber);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.25rem .625rem;font-family:inherit;font-size:.8rem;font-weight:600}.task-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.task-scheduled{color:var(--color-text-muted);letter-spacing:0;font-size:.8125rem;font-weight:500}.task-toggle-error{color:#ef4444;font-size:.75rem;font-weight:500}.task-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.task-action-btn{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;gap:.3rem;padding:.5rem .6rem;font-size:.875rem;line-height:1;transition:color .15s,background .15s;display:flex}.task-action-btn:hover{color:var(--color-text-primary);background:var(--color-surface-raised)}.mit-btn{color:var(--color-text-muted);font-size:.875rem}.mit-btn:hover{color:var(--color-amber);background:#d977061a}.mit-btn.active{color:var(--color-amber)}.mit-btn.active:hover{color:var(--color-amber-bright);background:#d977061a}.start-btn{color:var(--color-text-secondary);border-radius:6px;gap:.3rem;font-family:inherit;font-size:.775rem;font-weight:600;border:1px solid var(--color-border)!important;padding:.28rem .6rem .28rem .5rem!important;transition:border-color .15s,color .15s,background .15s!important}.start-btn:hover{border-color:var(--color-amber)!important;color:var(--color-amber)!important;background:#d9770614!important}.delete-btn:hover{color:#f87171;background:#f8717114}.edit-btn:hover{color:var(--color-blue-light);background:#85b4fc14}@keyframes mbFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mcSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes intentionVisible{to{overflow:visible}}.duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.time-part-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.time-part-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@keyframes cdpOpen{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cdpSlideL{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes cdpSlideR{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes udropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.focus-root{z-index:200;background:var(--color-bg);justify-content:center;align-items:center;animation:.5s cubic-bezier(.16,1,.3,1) focusEnter;display:flex;position:fixed;inset:0}@keyframes focusEnter{0%{opacity:0;background:#000}to{opacity:1;background:var(--color-bg)}}@keyframes focusExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.03)}}.focus-root.exiting{animation:.4s forwards focusExit}.focus-content{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:520px;padding:2rem;animation:.6s cubic-bezier(.16,1,.3,1) .1s both focusContentIn;display:flex}@keyframes focusContentIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.focus-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:.75rem;font-weight:600}.focus-task-title{font-size:var(--task-title-focus-size);color:var(--color-text-primary);letter-spacing:-.03em;max-width:480px;margin:0;font-weight:600;line-height:1.2}.focus-ring-wrapper{justify-content:center;align-items:center;margin:.5rem 0;display:flex;position:relative}.focus-ring-svg{display:block}.focus-ring-progress{transition:stroke-dashoffset .9s linear,stroke .5s}.focus-timer-overlay{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;display:flex;position:absolute;inset:0}.focus-timer{letter-spacing:-.04em;color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:2.5rem;font-weight:300;transition:opacity .3s}.focus-timer.paused{opacity:.4;animation:1.2s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:.4}50%{opacity:.2}}.focus-target{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.775rem}.focus-cycle-hint{color:var(--color-text-muted);margin:-.5rem 0 0;font-size:.775rem}.focus-break-banner{color:var(--color-amber-bright);text-align:center;background:#d977061a;border:1px solid #d977064d;border-radius:10px;max-width:380px;padding:.625rem 1rem;font-size:.825rem;line-height:1.4;animation:.5s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.focus-controls{align-items:center;gap:.875rem;margin-top:.5rem;display:flex}.focus-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-width:9rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.focus-btn:active{transform:scale(.97)}.focus-btn-pause{background:var(--color-surface-raised);color:var(--color-text-primary);border:1px solid var(--color-border-active)}.focus-btn-pause:hover{background:var(--color-surface-hover)}.focus-btn-resume{background:var(--color-blue-mid);color:#fff;border:1px solid #0000;box-shadow:0 4px 16px #3b6fd44d}.focus-btn-resume:hover{background:#4a7fe0;box-shadow:0 6px 20px #3b6fd466}.focus-btn-end{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0;font-size:.825rem}.focus-btn-end:hover{border-color:var(--color-border-active);color:var(--color-text-secondary)}.tasks-root{flex-direction:column;gap:1.25rem;display:flex}.mit-section{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.75rem;padding-bottom:1.25rem;display:flex}.mit-label{letter-spacing:.09em;text-transform:uppercase;color:var(--color-amber);font-size:.6875rem;font-weight:700}.tasks-header{justify-content:space-between;align-items:center;display:flex}.tasks-header-left{align-items:center;gap:.625rem;display:flex}.tasks-heading{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.035em;margin:0;font-size:1.5rem;font-weight:800}.tasks-count{background:var(--color-surface-raised);color:var(--color-text-secondary);border:1px solid var(--color-border);letter-spacing:0;border-radius:999px;padding:.1rem .5rem;font-size:.8125rem;font-weight:600}.tasks-header-actions{align-items:center;gap:.5rem;display:flex}.btn-add-task{background:var(--color-amber);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.375rem;min-height:2.125rem;padding:.5rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s;display:flex}.btn-add-task:hover{background:var(--color-amber-bright);box-shadow:0 4px 20px #f59e0b4d}.btn-add-task:active{transform:scale(.98)}.tasks-divider{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:.75rem 0 .25rem;font-size:.6875rem;font-weight:600}.tasks-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.tasks-loading{justify-content:center;padding:3rem 0;display:flex}.tasks-empty{text-align:center;color:var(--color-text-muted);padding:3rem 0;font-size:.9rem}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000094;justify-content:center;align-items:center;padding:1rem;animation:.15s mbFadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-surface);border:1px solid var(--color-border-active);border-radius:12px;width:100%;max-width:480px;padding:1.75rem;animation:.25s cubic-bezier(.16,1,.3,1) mcSlideUp;overflow:visible;box-shadow:0 24px 64px #00000073}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.modal-title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.025em;margin:0;font-size:1.125rem;font-weight:700}.modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:.25rem;font-size:1rem;line-height:1;transition:color .15s,background .15s}.modal-close:hover{color:var(--color-text-primary);background:var(--color-surface-raised)}.modal-form{flex-direction:column;gap:.875rem;display:flex}.modal-title-input{font-weight:500}.modal-task-title-input{font-size:var(--task-title-size)!important}.modal-input{background:var(--color-surface-raised);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:.65rem .875rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.modal-input::placeholder{color:var(--color-text-muted)}.modal-input:focus{border-color:var(--color-blue-mid);box-shadow:0 0 0 3px #3b6fd41f}.intention-toggle{border:1px dashed var(--color-border);color:var(--color-text-secondary);cursor:pointer;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .875rem;font-family:inherit;font-size:.85rem;transition:border-color .15s,color .15s;display:flex}.intention-toggle:hover,.intention-toggle.open{border-color:var(--color-border-active);color:var(--color-text-primary)}.intention-arrow{font-size:1rem;line-height:1;transition:transform .2s;display:inline-block}.intention-arrow.open{transform:rotate(90deg)}.intention-fields-wrap{grid-template-rows:0fr;transition:grid-template-rows .22s cubic-bezier(.16,1,.3,1);display:grid}.intention-fields-wrap.open{grid-template-rows:1fr}.intention-fields-inner{min-height:0;overflow:hidden}.intention-fields-wrap.open .intention-fields-inner{animation:0s .22s forwards intentionVisible}.intention-fields{flex-direction:column;gap:.875rem;display:flex}.modal-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.modal-row--single{grid-template-columns:1fr}.modal-field{flex-direction:column;gap:.375rem;display:flex}.modal-field--date{min-width:0;position:relative;overflow:visible}.modal-field--time{flex-shrink:0}.modal-label{color:var(--color-text-secondary);letter-spacing:.015em;font-size:.8125rem;font-weight:500}.time-hhmm{align-items:center;gap:.25rem;display:flex}.time-part-input{width:3.5rem!important;padding-left:.65rem!important;padding-right:.4rem!important}.time-colon{color:var(--color-text-secondary);padding-bottom:.1rem;font-size:1rem;font-weight:600;line-height:1}.duration-row{align-items:center;gap:.375rem;display:flex}.duration-input{width:60px!important;padding-left:.65rem!important;padding-right:.4rem!important}.duration-sep{color:var(--color-text-muted);flex-shrink:0;font-size:.8125rem;font-weight:500}.duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.time-part-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.time-part-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.duration-input,.time-part-input{appearance:textfield;text-align:left}.cdp-root{width:100%;position:relative}.cdp-input-wrap{position:relative}.cdp-input{cursor:pointer;padding-right:2.25rem}.cdp-clear{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .3rem;font-size:1.125rem;line-height:1;transition:color .15s;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.cdp-clear:hover{color:var(--color-text-primary)}.cdp-panel{background:var(--color-surface);z-index:300;border:1px solid #ffffff14;border-radius:10px;min-width:270px;animation:.15s cubic-bezier(.16,1,.3,1) cdpOpen;position:absolute;top:calc(100% + 5px);left:0;overflow:hidden;box-shadow:0 8px 32px #0006}[data-theme=light] .cdp-panel{border-color:var(--color-border);box-shadow:0 8px 32px #00000026}.cdp-header{background:var(--color-surface-raised);border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.625rem .5rem .5rem;display:flex}[data-theme=light] .cdp-header{border-bottom-color:var(--color-border)}.cdp-nav{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.2rem .5rem;font-size:1.375rem;line-height:1;transition:background .15s,color .15s}.cdp-nav:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.cdp-month-label{color:var(--color-text-primary);letter-spacing:-.01em;font-size:.875rem;font-weight:600}.cdp-weekdays{grid-template-columns:repeat(7,1fr);padding:.5rem .375rem .2rem;display:grid}.cdp-wday{text-align:center;color:var(--color-text-muted);letter-spacing:.03em;text-transform:uppercase;padding:.15rem 0;font-size:.7rem;font-weight:600}.cdp-grid{grid-template-columns:repeat(7,1fr);gap:1px;padding:.2rem .375rem .5rem;display:grid}.cdp-grid.cdp-slide-left{animation:.18s cdpSlideL}.cdp-grid.cdp-slide-right{animation:.18s cdpSlideR}.cdp-day{color:var(--color-text-primary);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;padding:.4rem 0;font-family:inherit;font-size:.8125rem;line-height:1.5;transition:background .12s,border-color .12s,color .12s}.cdp-day:hover:not(.out){background:var(--color-surface-hover)}.cdp-day.out{color:var(--color-text-muted);opacity:.3;cursor:default;pointer-events:none}.cdp-day.tod{border-color:#d9770680;font-weight:600}[data-theme=light] .cdp-day.tod{border-color:#b85e0080}.cdp-day.sel{background:var(--color-amber);color:#0d1117;border-color:#0000;font-weight:700}.cdp-day.sel:hover{background:var(--color-amber-bright)}.unit-dd{flex-shrink:0;position:relative}.unit-dd-trigger{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;border-radius:8px;outline:none;align-items:center;gap:.375rem;padding:.5rem .625rem;font-family:inherit;font-size:.875rem;transition:border-color .15s;display:flex}.unit-dd-trigger:hover,.unit-dd-trigger.open{border-color:var(--color-border-active)}.unit-dd-trigger svg{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.unit-dd-trigger.open svg{transform:rotate(180deg)}.unit-dd-menu{background:var(--color-surface);z-index:310;border:1px solid #ffffff14;border-radius:8px;min-width:100%;padding:.25rem;animation:.1s udropIn;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 32px #0006}[data-theme=light] .unit-dd-menu{border-color:var(--color-border);box-shadow:0 8px 24px #0000001f}.unit-dd-opt{color:var(--color-text-primary);cursor:pointer;border-radius:5px;padding:.45rem .625rem;font-size:.875rem;transition:background .1s}.unit-dd-opt:hover{background:var(--color-surface-hover)}.unit-dd-opt.sel{color:var(--color-amber-bright);font-weight:500}.modal-row-daily{align-items:center;gap:.5rem;display:flex}.rinline-root{align-items:center;gap:.375rem;height:2.25rem;padding:0 .125rem;display:flex}.rinline-root.disabled{opacity:.35;pointer-events:none}.rinline-icon{color:var(--color-text-muted);flex-shrink:0;align-items:center;transition:color .15s;display:flex}.rinline-root.is-set .rinline-icon{color:var(--color-blue-mid)}.rinline-add{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-family:inherit;font-size:.875rem;transition:color .15s}.rinline-add:hover{color:var(--color-text-secondary)}.rinline-now-text{color:var(--color-text-primary);font-size:.875rem}.rinline-num{background:var(--color-surface-raised);border:1px solid var(--color-border);width:2.75rem;color:var(--color-text-primary);text-align:center;box-sizing:border-box;border-radius:6px;outline:none;flex-shrink:0;padding:.3rem .375rem;font-family:inherit;font-size:.8125rem;transition:border-color .15s}.rinline-num:focus{border-color:var(--color-blue-mid)}.rinline-root .unit-dd-trigger{padding:.3rem .5rem;font-size:.8125rem}.rinline-antes{color:var(--color-text-muted);white-space:nowrap;font-size:.8125rem}.rinline-sep{background:var(--color-border-active);flex-shrink:0;width:1px;height:14px;margin:0 .125rem}.rinline-naahora{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;flex-shrink:0;padding:.1rem .5rem;font-family:inherit;font-size:.75rem;transition:border-color .12s,color .12s}.rinline-naahora:hover{border-color:var(--color-border-active);color:var(--color-text-secondary)}.rinline-clear{color:var(--color-text-muted);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:4px;flex-shrink:0;min-width:1.75rem;margin-left:auto;padding:.15rem .4rem;font-size:1.25rem;line-height:1;transition:color .15s,background .15s}.rinline-clear:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.modal-actions{justify-content:flex-end;gap:.625rem;margin-top:.25rem;display:flex}.btn-cancel{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;min-height:2.125rem;padding:.5rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,color .15s;display:flex}.btn-cancel:hover{border-color:var(--color-border-active);color:var(--color-text-primary)}.btn-save{background:var(--color-amber);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:2.125rem;padding:.5rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;display:flex;position:relative}.btn-save:hover:not(:disabled){background:var(--color-amber-bright);box-shadow:0 4px 20px #f59e0b4d}.btn-save:active:not(:disabled){transform:scale(.98)}.btn-save:disabled{opacity:.5;cursor:default}.btn-save-text{line-height:1}.btn-save-text.hidden{visibility:hidden}.btn-spinner-wrap{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.btn-spinner{flex-shrink:0;width:16px;height:16px;animation:.65s linear infinite spin}.btn-delete-confirm{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:8px;padding:.6rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:500;transition:background .15s,border-color .15s}.btn-delete-confirm:hover{background:#ef444414;border-color:#ef444480}.del-confirm-body{color:var(--color-text-secondary);margin:0 0 1.5rem;font-size:.9375rem;line-height:1.55}.daily-toggle{cursor:pointer;background:var(--color-border-active);border:none;border-radius:9px;flex-shrink:0;width:30px;height:18px;padding:0;transition:background .18s;position:relative}.daily-toggle.on{background:var(--color-blue-mid)}.daily-toggle-knob{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .18s;position:absolute;top:3px;left:3px}.daily-toggle.on .daily-toggle-knob{transform:translate(12px)}.daily-toggle-label{color:var(--color-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.8125rem}.toggle-row{cursor:pointer;align-items:center;gap:.625rem;width:fit-content;display:flex}.toggle-checkbox{width:16px;height:16px;accent-color:var(--color-amber);cursor:pointer}.toggle-label{color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;font-size:.875rem}.color-picker{gap:.5rem;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;transition:transform .1s,border-color .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--color-text-primary)}.color-blue{background:#3b6fd4}.color-amber{background:#d97706}.color-green{background:#22c55e}.color-purple{background:#a855f7}.color-red{background:#ef4444}.modal-form .modal-actions{justify-content:space-between}.modal-actions-right{gap:.625rem;display:flex}.btn-delete{color:#fca5a5;cursor:pointer;background:0 0;border:1px solid #ef444466;border-radius:9px;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;transition:background .15s,border-color .15s}.btn-delete:hover{background:#ef444414;border-color:#ef4444}.calendar-root{flex-direction:column;gap:1.25rem;height:calc(100vh - 56px - 5rem);min-height:600px;display:flex}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cal-toolbar-left{align-items:center;gap:.5rem;display:flex}.cal-toolbar-right{align-items:center;gap:.75rem;display:flex}.cal-nav-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:color .15s,border-color .15s;display:flex}.cal-nav-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-active)}.cal-today-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:.25rem .625rem;font-family:inherit;font-size:.8rem;transition:color .15s,border-color .15s}.cal-today-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-active)}.cal-header-label{color:var(--color-text-primary);letter-spacing:-.02em;min-width:180px;font-size:1rem;font-weight:600}.view-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;gap:2px;padding:3px;display:flex}.view-tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.3rem .75rem;font-family:inherit;font-size:.8rem;transition:background .15s,color .15s}.view-tab.active{background:var(--color-surface-raised);color:var(--color-text-primary);font-weight:500}.btn-add-event{background:var(--color-amber);color:#0d1117;cursor:pointer;border:none;border-radius:9px;padding:.4rem .875rem;font-family:inherit;font-size:.825rem;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s}.btn-add-event:hover{background:var(--color-amber-bright);box-shadow:0 4px 14px #f59e0b40}.btn-add-event:active{transform:scale(.97)}.btn-delete-event{display:none}.cal-loading{justify-content:center;padding:4rem;display:flex}.month-grid-wrapper{border:1px solid var(--color-border);border-radius:12px;flex-direction:column;flex:1;display:flex;overflow:hidden}.month-weekdays{background:var(--color-surface);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(7,1fr);display:grid}.month-weekday{text-align:center;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);padding:.5rem 0;font-size:.725rem;font-weight:600}.month-grid{background:var(--color-border);flex:1;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.month-cell{background:var(--color-bg);cursor:pointer;flex-direction:column;gap:.2rem;min-height:90px;padding:.5rem .5rem .375rem;transition:background .12s;display:flex}.month-cell:hover{background:var(--color-surface)}.month-cell.empty{background:var(--color-surface);cursor:default;opacity:.4}.month-cell.today .month-day-num{background:var(--color-blue-mid);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.month-day-num{color:var(--color-text-secondary);justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:500;display:flex}.month-day-events{flex-direction:column;gap:.15rem;display:flex}.month-event-pill{color:var(--color-text-primary);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;padding:.1rem .3rem;font-family:inherit;font-size:.7rem;transition:filter .12s;overflow:hidden}.month-event-pill:hover{filter:brightness(1.2)}.month-more{color:var(--color-text-muted);padding-left:.3rem;font-size:.65rem}.week-wrapper{border:1px solid var(--color-border);border-radius:12px;flex-direction:column;flex:1;display:flex;overflow:auto}.week-header-row{z-index:2;background:var(--color-surface);border-bottom:1px solid var(--color-border);grid-template-columns:52px repeat(7,1fr);display:grid;position:sticky;top:0}.week-day-header{border-left:1px solid var(--color-border);flex-direction:column;align-items:center;gap:.1rem;padding:.5rem 0;display:flex}.week-day-header.today .week-day-num{background:var(--color-blue-mid);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.week-day-name{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.675rem;font-weight:600}.week-day-num{color:var(--color-text-secondary);justify-content:center;align-items:center;width:26px;height:26px;font-size:.9rem;font-weight:600;display:flex}.week-body{flex:1;overflow:auto}.week-hour-row{border-bottom:1px solid var(--color-border);grid-template-columns:52px repeat(7,1fr);min-height:48px;display:grid}.week-time-label{color:var(--color-text-muted);text-align:right;-webkit-user-select:none;user-select:none;padding:.3rem .5rem 0;font-size:.675rem}.week-slot{border-left:1px solid var(--color-border);cursor:pointer;flex-direction:column;gap:.15rem;padding:.15rem;transition:background .1s;display:flex}.week-slot:hover{background:var(--color-surface)}.week-event{text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;padding:.15rem .3rem;font-family:inherit;font-size:.7rem;font-weight:500;transition:filter .12s;overflow:hidden}.week-event:hover{filter:brightness(1.3)}.sp-layout{grid-template-columns:188px 1fr;align-items:start;gap:2.5rem;display:grid}@media (width<=640px){.sp-layout{grid-template-columns:1fr;gap:1.25rem}}.sp-sidebar{position:sticky;top:calc(54px + 2rem)}.sp-sidebar-header{align-items:center;gap:.375rem;margin-bottom:.875rem;display:flex}.sp-back-btn{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:.25rem;transition:color .15s,background .15s;display:flex}.sp-back-btn:hover{color:var(--color-text-primary);background:var(--color-surface-raised)}.sp-sidebar-title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.025em;font-size:1.0625rem;font-weight:700}.sp-nav{flex-direction:column;gap:.125rem;display:flex}@media (width<=640px){.sp-nav{flex-direction:row;gap:.25rem;padding-bottom:.25rem;overflow-x:auto}}.sp-nav-item{color:var(--color-text-secondary);cursor:pointer;text-align:left;letter-spacing:-.005em;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.625rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:background .12s,color .12s;display:flex}.sp-nav-item:hover{background:var(--color-surface-raised);color:var(--color-text-primary)}.sp-nav-item.active{background:var(--color-surface-raised);color:var(--color-text-primary);box-shadow:inset 3px 0 0 var(--color-amber)}@media (width<=640px){.sp-nav-item.active{box-shadow:inset 0 -2px 0 var(--color-amber)}}.sp-content{min-width:0}.sp-section{flex-direction:column;gap:0;display:flex}.sp-section-title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.03em;margin:0 0 1.75rem;font-size:1.25rem;font-weight:700}.sp-group{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.625rem;margin-bottom:1.625rem;padding-bottom:1.625rem;display:flex}.sp-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sp-group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:.75rem;font-weight:700}.sp-field-row{align-items:center;gap:.625rem;display:flex}.sp-input{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:10px;outline:none;flex:1;padding:.625rem .875rem;font-family:inherit;font-size:.9rem;transition:border-color .18s,box-shadow .18s}.sp-input::placeholder{color:var(--color-text-muted)}.sp-input:focus{border-color:var(--color-blue-mid);box-shadow:0 0 0 3px #4a7fe01f}.sp-pw-fields{flex-direction:column;gap:.5rem;margin-bottom:.625rem;display:flex}.sp-labeled-form{grid-template-columns:150px 1fr;align-items:center;gap:.625rem 1rem;display:grid}.sp-labeled-form-label{color:var(--color-text-secondary);letter-spacing:-.01em;text-align:right;font-size:.875rem;font-weight:600}@media (width<=520px){.sp-labeled-form{grid-template-columns:1fr}.sp-labeled-form-label{text-align:left}}.sp-pw-row{align-items:center;display:flex;position:relative}.sp-input--pw{padding-right:2.75rem}.sp-pw-eye{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;right:.75rem}.sp-pw-eye:hover{color:var(--color-text-secondary)}.sp-form-block{flex-direction:column;gap:.5rem;display:flex}.sp-btn-save{background:var(--color-amber);color:#fff;cursor:pointer;white-space:nowrap;letter-spacing:-.005em;border:none;border-radius:8px;flex-shrink:0;padding:.575rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,opacity .15s,transform .1s}.sp-btn-save:hover:not(:disabled){background:var(--color-amber-bright)}.sp-btn-save:active:not(:disabled){transform:scale(.97)}.sp-btn-save:disabled{opacity:.35;cursor:default}.sp-pw-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.25rem;display:flex}.sp-forgot-confirm{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:.875rem;padding:1rem;display:flex}.sp-forgot-confirm .sp-hint{color:var(--color-text-secondary);margin:0;font-size:.875rem}.sp-forgot-confirm strong{color:var(--color-text-primary);font-weight:600}.sp-link-btn{color:var(--color-text-muted);cursor:pointer;text-underline-offset:2px;text-align:left;background:0 0;border:none;align-self:flex-start;padding:0;font-family:inherit;font-size:.8125rem;line-height:1.4;text-decoration:underline;transition:color .15s}.sp-link-btn:hover{color:var(--color-text-secondary)}.sp-btn-primary{background:var(--color-text-primary);color:var(--color-bg);cursor:pointer;white-space:nowrap;letter-spacing:-.005em;border:none;border-radius:99px;flex-shrink:0;padding:.575rem 1.125rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:opacity .15s}.sp-btn-primary:hover:not(:disabled){opacity:.8}.sp-btn-primary:disabled{opacity:.35;cursor:default}.sp-btn-block{align-self:flex-start}.sp-option-group{flex-wrap:wrap;gap:.375rem;display:flex}.sp-option-btn{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;letter-spacing:-.005em;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:background .13s,color .13s,border-color .13s,transform .1s;display:inline-flex}.sp-option-btn:hover:not(:disabled):not(.sp-option-btn--disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.sp-option-btn:active:not(:disabled):not(.sp-option-btn--disabled){transform:scale(.95)}.sp-option-btn.active{border-color:var(--color-border-active);color:var(--color-text-primary);box-shadow:inset 0 -2px 0 var(--color-amber)}.sp-option-btn--disabled,.sp-option-btn:disabled{opacity:.45;cursor:default}.sp-badge-soon{letter-spacing:.04em;text-transform:uppercase;background:var(--color-surface-hover);color:var(--color-text-muted);border-radius:99px;padding:.1rem .425rem;font-size:.65rem;font-weight:600}.sp-btn-danger{color:#ef4444;cursor:pointer;white-space:nowrap;letter-spacing:-.005em;background:0 0;border:1.5px solid #ef4444;border-radius:8px;flex-shrink:0;align-items:center;gap:.375rem;padding:.575rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,opacity .15s,transform .1s;display:inline-flex}.sp-btn-danger:hover:not(:disabled){background:#ef444414}.sp-btn-danger:active:not(:disabled){transform:scale(.97)}.sp-btn-danger:disabled{opacity:.35;cursor:default}.sp-hint--danger{color:#ef4444}.sp-field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:.75rem;font-weight:600;display:block}.sp-field-value{color:var(--color-text-secondary);letter-spacing:-.005em;margin:0;font-size:.875rem}.sp-field-success{color:#6ee7b7;letter-spacing:-.005em;margin:0;font-size:.8125rem;font-weight:500}.sp-notif-info{flex-direction:column;flex:1;gap:.3rem;display:flex}.sp-notif-desc{color:var(--color-text-muted);font-size:.8125rem;line-height:1.5}.sp-notif-denied{color:var(--color-text-muted);background:var(--color-surface-raised);border-left:3px solid var(--color-amber);border-radius:8px;margin:0;padding:.625rem .875rem;font-size:.8125rem;line-height:1.5}.sp-danger-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.sp-danger-label{color:var(--color-text-primary);letter-spacing:-.005em;margin:0 0 .25rem;font-size:.875rem;font-weight:500}.sp-delete-btn{color:#f87171;cursor:pointer;white-space:nowrap;letter-spacing:-.005em;background:0 0;border:none;flex-shrink:0;padding:0;font-family:inherit;font-size:.875rem;font-weight:500;transition:color .15s}.sp-delete-btn:hover{color:#ef4444}.sp-form-actions{justify-content:flex-start;margin-top:.25rem;display:flex}.sp-field-error{color:#f87171;margin:.125rem 0 0;font-size:.8125rem;line-height:1.4}.sp-toggle-row{justify-content:space-between;align-items:center;padding:.125rem 0;display:flex}.sp-toggle-label{color:var(--color-text-secondary);font-size:.9rem}.sp-toggle{background:var(--color-surface-raised);border:1px solid var(--color-border);cursor:pointer;border-radius:99px;flex-shrink:0;width:40px;height:22px;padding:0;transition:background .2s,border-color .2s;position:relative}.sp-toggle.active{background:var(--color-amber);border-color:var(--color-amber)}.sp-toggle-thumb{pointer-events:none;background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:absolute;top:2px;left:2px}.sp-toggle.active .sp-toggle-thumb{transform:translate(18px)}.sp-current-value{color:var(--color-text-secondary);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:10px;margin:0;padding:.575rem .875rem;font-size:.9rem}.sp-hint{color:var(--color-text-muted);min-height:1em;margin:0;font-size:.78rem;line-height:1.45}.sp-success{color:#10b981;margin:0;font-size:.875rem}
