:root{--bg-page:#f6f7fb;--bg-surface:#fff;--bg-muted:#f1f2f6;--border:#e6e7ee;--text:#1f2233;--text-muted:#6b7086;--text-faint:#9498a8;--accent:#6366f1;--accent-hover:#4f52e0;--accent-bg:#eef0ff;--accent-text:#4338ca;--danger:#dc2626;--danger-bg:#fee2e2;--success:#15803d;--success-bg:#dcfce7;--warning:#ca8a04;--warning-bg:#fef3c7;--extra:#b45309;--extra-bg:#fff7ed;--project-1:#e87ba4;--project-2:#2a78d6;--project-3:#eda100;--project-4:#4a3aa7;--project-5:#1baf7a;--project-6:#a21caf;--project-7:#eb6834;--project-8:#0e8fa8;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #1012280f;--shadow-md:0 8px 24px #10122814;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font:15px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg-page:#14151f;--bg-surface:#1c1e2a;--bg-muted:#242631;--border:#565b7a;--text:#e7e8f0;--text-muted:#a3a6b8;--text-faint:#8b8fa8;--accent:#6366f1;--accent-hover:#7679f5;--accent-bg:#2a2c52;--accent-text:#c7cafd;--danger:#f87171;--danger-bg:#3f1d1d;--success:#4ade80;--success-bg:#14301f;--warning:#fbbf24;--warning-bg:#3a2a0d;--extra:#fb923c;--extra-bg:#3a2410;--project-1:#d55181;--project-2:#3987e5;--project-3:#c98500;--project-4:#9085e9;--project-5:#199e70;--project-6:#d05ce0;--project-7:#d95926;--project-8:#199fb4;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg-page)}*{box-sizing:border-box}body{color:var(--text);background:var(--bg-page);margin:0}#root{min-height:100svh}h1,h2,h3{margin:0;font-weight:600}button{cursor:pointer;font-family:inherit;font-size:.9rem}input,select,textarea{font-family:inherit;font-size:.9rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.center-screen{height:100vh;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.auth-screen{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:340px;box-shadow:var(--shadow-sm);margin:4rem auto;padding:1.75rem}.auth-screen h2{margin-bottom:1rem}.auth-screen form{flex-direction:column;gap:.75rem;display:flex}.auth-screen input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-page);color:var(--text);padding:.6rem .75rem}.auth-screen input:focus{border-color:var(--accent);outline:none}.auth-screen button[type=submit]{border-radius:var(--radius-md);background:var(--accent);color:#fff;border:none;padding:.6rem .75rem;font-weight:600}.auth-screen button[type=submit]:hover{background:var(--accent-hover)}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:.75rem;padding:0;font-size:.85rem}.error{color:var(--danger);font-size:.85rem}.app-shell{background:var(--bg-page);height:100svh;display:flex;overflow:hidden}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:1.25rem;width:248px;height:100%;padding:1.25rem 1rem;display:flex;overflow-y:auto}.sidebar-brand{align-items:center;gap:.6rem;display:flex}.brand-mark{border-radius:var(--radius-sm);background:var(--accent);color:#fff;justify-content:center;align-items:center;width:30px;height:30px;font-size:.75rem;font-weight:700;display:flex}.brand-name{font-size:1.05rem;font-weight:700}.nav-close{color:var(--text-muted);background:0 0;border:none;margin-left:auto;padding:.25rem;display:none}.new-task-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;border:none;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.6rem .75rem;font-weight:600;display:flex}.new-task-btn:hover{background:var(--accent-hover)}.new-task-btn:disabled{background:var(--bg-muted);color:var(--text-faint);cursor:not-allowed}.sidebar-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:-.6rem;font-size:.7rem;font-weight:700}.sidebar-nav{flex-direction:column;gap:.15rem;display:flex}.sidebar-link{border-radius:var(--radius-sm);color:var(--text-muted);text-align:left;background:0 0;border:none;align-items:center;gap:.65rem;width:100%;padding:.55rem .65rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}a.sidebar-link:hover{background:var(--bg-muted);color:var(--text)}.sidebar-link.active{background:var(--accent-bg);color:var(--accent-text)}.sidebar-link.disabled{color:var(--text-faint);cursor:default}.sidebar-link.as-button{cursor:pointer}.sidebar-link.as-button:hover{background:var(--bg-muted);color:var(--text)}.soon-tag{text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);background:var(--bg-muted);border-radius:999px;margin-left:auto;padding:.1rem .4rem;font-size:.62rem;font-weight:700}.sidebar-bottom{border-top:1px solid var(--border);flex-direction:column;gap:.15rem;margin-top:auto;padding-top:.75rem;display:flex}.app-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.topbar{background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.nav-toggle{color:var(--text-muted);background:0 0;border:none;padding:.25rem;display:none}.topbar-search{border-radius:var(--radius-md);background:var(--bg-muted);max-width:360px;color:var(--text-faint);flex:1;align-items:center;gap:.5rem;padding:.45rem .75rem;display:flex}.topbar-search input{width:100%;color:var(--text);background:0 0;border:none;outline:none;font-size:.85rem}.topbar-search input::placeholder{color:var(--text-faint)}.topbar-search-clear{color:var(--text-faint);background:0 0;border:none;flex-shrink:0;padding:.1rem;display:flex}.topbar-search-clear:hover{color:var(--text)}.topbar-right{align-items:center;gap:1rem;margin-left:auto;display:flex}.topbar-theme-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);width:34px;height:34px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.topbar-theme-btn:hover{background:var(--bg-muted);color:var(--text)}.topbar-timer-link{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.82rem;font-weight:600;display:flex}.topbar-timer-link:hover{background:var(--bg-muted);color:var(--text)}.topbar-timer-link.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}.topbar-timer-label{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.topbar-timer-clock{font-variant-numeric:tabular-nums;font-weight:700}.topbar-timer-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite topbar-timer-pulse}@keyframes topbar-timer-pulse{0%,to{opacity:1}50%{opacity:.3}}.topbar-user{align-items:center;gap:.5rem;display:flex}.avatar{background:var(--accent-bg);width:30px;height:30px;color:var(--accent-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.user-email{color:var(--text-muted);font-size:.82rem}.page-content{flex:1;min-height:0;padding:1.75rem;overflow-y:auto}.nav-backdrop{display:none}@media (width<=900px){.sidebar{z-index:30;box-shadow:var(--shadow-md);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.nav-close,.nav-toggle{display:inline-flex}.nav-backdrop{z-index:20;background:#0f112059;display:block;position:fixed;inset:0}.user-email,.topbar-timer-label{display:none}.page-content{padding:1.25rem}}.tasks-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.tasks-page-header h1{font-size:1.6rem}.tasks-subline{color:var(--text-muted);align-items:center;gap:.4rem;margin:.35rem 0 0;font-size:.88rem;display:flex}.tasks-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.tasks-header-actions{gap:.5rem;display:flex}.ghost-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.82rem;font-weight:600;display:flex}.ghost-btn:not(:disabled):hover{background:var(--bg-muted);color:var(--text)}.ghost-btn:disabled{color:var(--text-faint);cursor:not-allowed}.ghost-btn.active{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}.dropdown-wrap{position:relative}.dropdown-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);z-index:15;padding:.4rem;position:absolute;top:calc(100% + .4rem);right:0}.dropdown-panel.align-left{left:0;right:auto}.dropdown-row{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .6rem;font-size:.85rem;display:flex}.dropdown-row:hover{background:var(--bg-muted)}.dropdown-row.active{color:var(--accent-text);font-weight:600}.dropdown-row-hint{color:var(--text-faint);margin-left:auto;font-size:.75rem;font-weight:400}.dropdown-row.active .dropdown-row-hint{color:var(--accent-text)}.dropdown-reset{text-align:center;border-top:1px solid var(--border);width:100%;color:var(--text-faint);background:0 0;border-bottom:none;border-left:none;border-right:none;margin-top:.3rem;padding:.45rem .6rem;font-size:.8rem;font-weight:600}.dropdown-reset:hover{color:var(--danger)}.filter-count-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 .3rem;font-size:.68rem;font-weight:700;display:inline-flex}.filter-panel{flex-direction:column;gap:.9rem;min-width:240px;padding:.75rem;display:flex}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:.7rem;font-weight:700}.filter-pill-row{flex-wrap:wrap;gap:.4rem;display:flex}.filter-toggle{opacity:.55}.filter-toggle.selected{opacity:1;box-shadow:0 0 0 2px var(--accent) inset}.ghost-btn.filter-toggle{padding:.3rem .65rem;font-size:.78rem}.ghost-btn.filter-toggle.selected{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}.filter-category-list{flex-direction:column;gap:.35rem;max-height:160px;display:flex;overflow-y:auto}.filter-checkbox-row{color:var(--text);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.tasks-table-wrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:auto hidden}.tasks-table{border-collapse:collapse;width:100%;font-size:.88rem}.tasks-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);background:var(--bg-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:0;font-size:.72rem;font-weight:700}.tasks-table thead th.sorted{color:var(--accent-text);background:var(--accent-bg)}.th-sort-btn{width:100%;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:.75rem 1rem;display:flex}.tasks-table thead th:not(.col-check):not(.col-actions):hover{background:var(--bg-page)}.th-sort-caret{font-size:.6rem}.tasks-table tbody tr:not(.quick-add-row){border-bottom:1px solid var(--border)}.tasks-table tbody tr:last-child{border-bottom:none}.tasks-table td{vertical-align:middle;padding:.7rem 1rem}.group-header-row td{background:var(--bg-muted);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 1rem;font-size:.72rem;font-weight:700}.group-header-content{align-items:center;gap:.5rem;display:flex}.col-check{text-align:center;width:2.5rem}.col-check input[type=checkbox]{vertical-align:middle}.tasks-table thead th.col-check{text-align:center}.col-completed{width:5.5rem}.col-actions{width:2.75rem}.tasks-table tbody td.col-completed,.tasks-table tbody td.col-actions{align-items:center;display:flex}.tasks-table tbody tr.clickable-row{cursor:pointer}.tasks-table tbody tr:hover:not(.quick-add-row){background:var(--bg-muted)}.tasks-table tbody tr.is-selected,.tasks-table tbody tr.is-selected:hover{background:var(--accent-bg)}.deadline-cell{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.is-done .deadline-cell{opacity:.55}.row-complete{border:1.5px solid var(--border);color:#0000;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.row-complete:hover{border-color:var(--accent)}.row-complete.is-done{background:var(--success);border-color:var(--success);color:#fff}.task-name-cell{color:var(--text);flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.tasks-table tr.is-done .task-name-text{color:var(--text-faint)}.is-done .priority-pill,.is-done .category-cell,.is-done .time-cell{opacity:.55}.recurring-badge{color:var(--text-faint);flex-shrink:0;align-items:center;display:inline-flex}.mini-tag{background:var(--bg-muted);color:var(--text-muted);border-radius:999px;padding:.1rem .45rem;font-size:.7rem}.priority-pill{text-transform:uppercase;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:700}.priority-high{background:var(--danger-bg);color:var(--danger)}.priority-medium{background:var(--warning-bg);color:var(--warning)}.priority-low{background:var(--success-bg);color:var(--success)}.category-cell{color:var(--text-muted);align-items:center;gap:.45rem;display:inline-flex}.category-cell.muted{color:var(--text-faint)}.category-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.time-cell{font-variant-numeric:tabular-nums;color:var(--text-muted)}.row-play,.row-delete{width:22px;height:22px;color:var(--text-faint);opacity:0;background:0 0;border:1.5px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tasks-table tbody tr:hover .row-play,.tasks-table tbody tr:hover .row-delete{opacity:1}.row-play:hover{border-color:var(--accent);color:var(--accent)}.row-delete:hover{border-color:var(--danger);color:var(--danger)}.tasks-empty{text-align:center;color:var(--text-faint);padding:2rem 1rem}.batch-toolbar{z-index:25;background:var(--bg-surface);border-top:1px solid var(--accent);box-shadow:var(--shadow-md);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.75rem 1.75rem;display:flex;position:fixed;bottom:0;left:248px;right:0}@media (width<=900px){.batch-toolbar{padding:.75rem 1.25rem;left:0}}.tasks-table-wrap.has-batch-bar{margin-bottom:4.5rem}.batch-toolbar-count{color:var(--accent-text);margin-right:.25rem;font-size:.85rem;font-weight:700}.batch-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text);padding:.4rem .6rem;font-size:.82rem;font-weight:600}.batch-deadline{align-items:center;gap:.4rem;display:flex}.batch-deadline input[type=datetime-local]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text);padding:.35rem .5rem;font-size:.8rem}.batch-toolbar-clear{color:var(--text-faint);border-radius:var(--radius-sm);background:0 0;border:none;margin-left:auto;padding:.3rem}.batch-toolbar-clear:hover{background:var(--bg-muted);color:var(--text)}.quick-add-row td{padding:.65rem 1rem}.quick-add-row input{width:100%;color:var(--text);background:0 0;border:none;outline:none;font-size:.88rem}.quick-add-row input::placeholder{color:var(--text-faint)}.quick-add-row .col-check{color:var(--text-faint);justify-content:center;align-items:center;display:flex}@media (width<=640px){.tasks-table thead{display:none}.tasks-table,.tasks-table tbody,.tasks-table tr{width:100%;display:block}.tasks-table tbody tr:not(.quick-add-row){flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.75rem 1rem;display:flex}.tasks-table td{width:auto;display:block}.col-check{flex:none}.tasks-table td:nth-child(2){flex:160px;min-width:0}.col-completed{flex:none;margin-left:auto}.col-actions{flex:none}.row-play,.row-delete{opacity:1}.time-cell:before{content:"Tracked ";color:var(--text-faint)}}.timer-page{flex-direction:column;align-items:center;gap:1.5rem;max-width:460px;margin:0 auto;display:flex}.timer-hero{flex-direction:column;align-items:center;gap:1rem;display:flex}.progress-ring{display:inline-flex;position:relative}.ring-track{stroke:var(--bg-muted)}.ring-fill{transition:stroke-dashoffset .4s linear}.ring-work .ring-fill{stroke:var(--accent)}.ring-break .ring-fill{stroke:#0d9488}.ring-paused .ring-fill{stroke:var(--text-faint)}.ring-extra .ring-fill{stroke:var(--extra)}.ring-idle .ring-fill{stroke:var(--border)}.ring-center{flex-direction:column;justify-content:center;align-items:center;gap:.3rem;display:flex;position:absolute;inset:0}.ring-clock{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2.6rem;font-weight:700}.ring-phase{letter-spacing:.08em;color:var(--text-faint);font-size:.75rem;font-weight:700}.cycle-progress{flex-direction:column;align-items:center;gap:.5rem;max-width:100%;display:flex}.cycle-progress-top{align-items:center;gap:.75rem;display:flex}.cycle-label{color:var(--text-muted);font-size:.8rem}.timer-settings-link{color:var(--text-faint);align-items:center;gap:.3rem;font-size:.76rem;font-weight:600;display:inline-flex}.timer-settings-link:hover{color:var(--accent)}.current-task-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;padding:1.1rem 1.25rem}.current-task-card.empty{color:var(--text-faint);text-align:center}.current-task-card.clickable{cursor:pointer}.current-task-card.clickable:hover{border-color:var(--accent)}.current-task-top{justify-content:space-between;align-items:center;display:flex}.current-task-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:.72rem;font-weight:700}.current-task-title{margin:.35rem 0 .6rem;font-size:1.15rem;font-weight:600}.current-task-badges{gap:.4rem;display:flex}.icon-btn-ghost{color:var(--text-faint);background:0 0;border:none;padding:.2rem}.icon-btn-ghost:not(:disabled):hover{color:var(--text)}.icon-btn-ghost:disabled{cursor:not-allowed}.session-scope{flex-direction:column;align-items:center;gap:.5rem;max-width:480px;margin:0 auto 1.25rem;display:flex}.session-scope-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:.72rem;font-weight:700}.session-scope-pills{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.session-scope-hint{color:var(--text-faint);font-size:.78rem}.timer-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;display:flex}.control-pill{border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.92rem;font-weight:700;display:flex}.control-pill.primary{background:var(--accent);color:#fff}.control-pill.primary:hover{background:var(--accent-hover)}.control-pill.secondary{background:var(--bg-surface);color:var(--text);border:1px solid var(--border)}.control-pill.secondary:hover{background:var(--bg-muted)}.control-circle{border:1px solid var(--border);background:var(--bg-surface);width:46px;height:46px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.control-circle:hover{background:var(--bg-muted);color:var(--text)}.stop-session-link{color:var(--text-faint);background:0 0;border:none;padding:.2rem;font-size:.82rem}.stop-session-link:hover{color:var(--danger)}.timer-hint{color:var(--text-faint);text-align:center;font-size:.88rem}.manual-pick{width:100%}.manual-pick-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.manual-pick-list{flex-direction:column;gap:.4rem;display:flex}.manual-pick-row{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);text-align:left;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.manual-pick-row:hover{background:var(--bg-muted)}.manual-pick-row.active{border-color:var(--accent);background:var(--accent-bg)}@media (width<=480px){.progress-ring svg{width:200px;height:200px}.ring-clock{font-size:2.1rem}}.pane-overlay{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.pane-backdrop{background:#0f112059;animation:.2s ease-out pane-fade;position:absolute;inset:0}.task-pane{background:var(--bg-surface);width:440px;max-width:100%;height:100%;box-shadow:var(--shadow-md);flex-direction:column;animation:.22s ease-out pane-slide-in;display:flex;position:relative;overflow-y:auto}@keyframes pane-fade{0%{opacity:0}to{opacity:1}}@keyframes pane-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.pane-header{border-bottom:1px solid var(--border);background:var(--bg-surface);z-index:1;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.pane-header-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;display:flex}.pane-body{flex-direction:column;flex:1;gap:1.1rem;padding:1.25rem;display:flex}.pane-title-input{color:var(--text);background:0 0;border:none;outline:none;padding:0;font-size:1.35rem;font-weight:700}.pane-title-input::placeholder{color:var(--text-faint)}.pane-actions-row{align-items:center;gap:.6rem;display:flex}.pane-actions-row .control-pill{flex:1;justify-content:center}.pane-delete-btn{border-radius:var(--radius-md);border:1px solid var(--danger-bg);background:var(--danger-bg);width:44px;height:44px;color:var(--danger);flex-shrink:0;justify-content:center;align-items:center;display:flex}.pane-delete-btn:hover{background:var(--danger);color:#fff}.pane-field-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.pane-field{flex-direction:column;gap:.4rem;display:flex}.pane-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:.7rem;font-weight:700}.pane-input-icon{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-faint);align-items:center;gap:.5rem;padding:.5rem .65rem;display:flex;position:relative}.pane-input-icon input,.pane-input-icon select{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:.85rem}.pane-input-icon.select select{appearance:none;padding-right:1rem}.select-chevron{pointer-events:none;position:absolute;right:.65rem}.weekday-picker{gap:.35rem;display:flex}.weekday-toggle{border:1px solid var(--border);background:var(--bg-surface);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:50%;font-size:.75rem;font-weight:600}.weekday-toggle:hover{border-color:var(--accent)}.weekday-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff}.recurrence-hint{color:var(--text-faint);font-size:.78rem}.recurrence-interval-field{max-width:8rem}.chip-dropdown{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:5;max-height:180px;margin-top:.3rem;padding:.3rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.chip-option{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.85rem;display:flex}.chip-option:hover{background:var(--bg-muted)}.chip-option.create{color:var(--accent);font-weight:600}.chip-empty{color:var(--text-faint);padding:.45rem .6rem;font-size:.82rem}.chip-error{color:var(--danger);padding:.45rem .6rem;font-size:.82rem}.tag-chips{border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .65rem;display:flex;position:relative}.tag-chip{background:var(--bg-muted);color:var(--text-muted);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.8rem;font-weight:600;display:inline-flex}.tag-chip button{color:inherit;background:0 0;border:none;padding:0;display:flex}.tag-chips input{min-width:100px;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.project-chips{border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .65rem;display:flex;position:relative}.project-chip{color:var(--chip-color,var(--accent));background:color-mix(in srgb, var(--chip-color,var(--accent)) 15%, transparent);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.8rem;font-weight:600;display:inline-flex}.project-chip button{color:inherit;background:0 0;border:none;padding:0;display:flex}.project-chips input{min-width:100px;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.project-option .project-dot{border-radius:50%;width:8px;height:8px}.description-editor{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.description-toolbar{background:var(--bg-muted);border-bottom:1px solid var(--border);gap:.2rem;padding:.4rem .5rem;display:flex}.description-toolbar button{color:var(--text-faint);border-radius:var(--radius-sm);background:0 0;border:none;padding:.3rem}.description-toolbar button:disabled{cursor:not-allowed}.description-editor textarea{resize:vertical;width:100%;color:var(--text);border:none;outline:none;padding:.65rem .75rem;font-family:inherit;font-size:.85rem}.description-editor textarea::placeholder{color:var(--text-faint)}.tracked-time-block{border-top:1px solid var(--border);padding-top:1rem}.tracked-time-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.tracked-time-header span:first-child{align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;display:flex}.tracked-total-badge{color:var(--text-muted);background:var(--bg-muted);border-radius:999px;padding:.2rem .55rem;font-size:.78rem}.tracked-time-list{flex-direction:column;gap:.5rem;display:flex}.tracked-entry{border-radius:var(--radius-md);background:var(--bg-muted);align-items:center;gap:.65rem;padding:.55rem .65rem;display:flex}.tracked-entry-icon{background:var(--bg-surface);width:28px;height:28px;color:var(--text-faint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tracked-entry-meta{flex-direction:column;flex:1;min-width:0;display:flex}.tracked-entry-title{font-size:.84rem;font-weight:600}.tracked-entry-when{color:var(--text-faint);font-size:.76rem}.tracked-entry-duration{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.82rem}.pane-save-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);justify-content:center;align-items:center;gap:.5rem;margin-top:auto;padding:.7rem;font-weight:700;display:flex}.pane-save-btn:hover:not(:disabled){background:var(--bg-muted)}.pane-save-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=560px){.task-pane{width:100%}.pane-field-grid{grid-template-columns:1fr}}.settings-page{flex-direction:column;gap:2.5rem;max-width:640px;margin:0 auto;display:flex}.settings-section{flex-direction:column;gap:1.5rem;scroll-margin-top:1.5rem;display:flex}.settings-page-header h1{align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:1.6rem;display:flex}.settings-page-header p{color:var(--text-muted);margin:0;font-size:.9rem}.settings-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.settings-block-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:.7rem;font-weight:700}.preset-row{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.preset-pill{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.preset-pill:hover{background:var(--bg-muted)}.preset-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.settings-two-col{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.settings-two-col .slider-field{background:var(--bg-muted);border-radius:var(--radius-md);padding:.9rem 1rem}.slider-field-top{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem;display:flex}.slider-field-label{font-size:.92rem;font-weight:600}.slider-field-desc{color:var(--text-faint);margin:.15rem 0 0;font-size:.8rem}.slider-field-value{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.slider-field-value span{color:var(--accent);font-size:1.3rem;font-weight:700}.slider-field input[type=range]{width:100%;accent-color:var(--accent)}.cycle-structure-top{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1.25rem;display:flex}.stepper{align-items:center;gap:.75rem;display:flex}.stepper button{border:1px solid var(--border);background:var(--bg-surface);width:32px;height:32px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.stepper button:hover{background:var(--bg-muted);color:var(--text)}.stepper span{text-align:center;min-width:1.2rem;font-size:1.15rem;font-weight:700}.cycle-preview{max-width:100%;margin-top:1.1rem}.cycle-preview-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .35rem;margin-top:.65rem;padding:3px 2px;display:flex}.cycle-preview-item{align-items:center;gap:.35rem;display:flex}.cycle-preview-arrow{color:var(--text-faint);font-size:.8rem}.cycle-preview-pill{letter-spacing:.03em;border-radius:var(--radius-sm);white-space:nowrap;padding:.3rem .6rem;font-size:.68rem;font-weight:700}.cycle-preview-pill.work{background:var(--accent-bg);color:var(--accent-text)}.cycle-preview-pill.break{background:var(--bg-muted);color:var(--text-faint)}.cycle-preview-pill.longBreak{background:var(--accent);color:#fff}.cycle-preview-pill.current{box-shadow:0 0 0 2px var(--accent)}@keyframes settings-card-flash{0%,to{box-shadow:none}15%,85%{box-shadow:0 0 0 3px var(--accent)}}.settings-card-highlight{animation:1.6s settings-card-flash}.settings-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:.75rem;padding-top:1.25rem;display:flex}.settings-saved-hint{color:var(--success);margin-right:auto;font-size:.85rem;font-weight:600}.settings-block-label{align-items:center;gap:.35rem;display:inline-flex}.theme-switch-row{background:var(--bg-muted);border-radius:var(--radius-md);gap:.5rem;margin-top:.75rem;padding:.3rem;display:flex}.theme-option{border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.85rem;font-weight:600;display:flex}.theme-option:hover{color:var(--text)}.theme-option.active{background:var(--bg-surface);color:var(--text);box-shadow:var(--shadow-sm)}.notif-toggle-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.toggle-switch{background:var(--border);border:none;border-radius:999px;flex-shrink:0;justify-content:flex-start;align-items:center;width:42px;height:24px;padding:3px;display:flex}.toggle-switch.on{background:var(--accent);justify-content:flex-end}.toggle-knob{width:18px;height:18px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%}.notif-hint{color:var(--text-muted);background:var(--bg-muted);border-radius:var(--radius-md);margin:0;padding:.6rem .75rem;font-size:.8rem}.notif-hint.warning{color:var(--warning);background:var(--warning-bg)}.budget-rows{flex-direction:column;gap:.6rem;margin-top:.9rem;display:flex}.budget-row{background:var(--bg-muted);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;display:flex}.budget-row-label{align-items:center;gap:.5rem;min-width:0;font-size:.88rem;font-weight:600;display:flex}.budget-row-input{color:var(--text-muted);flex-shrink:0;align-items:center;gap:.3rem;font-size:.85rem;display:flex}.budget-row-input input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);width:3.2rem;color:var(--text);text-align:right;appearance:textfield;padding:.35rem .4rem;font-size:.88rem}.budget-row-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.budget-row-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.budget-step-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);width:1.6rem;height:1.6rem;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.budget-step-btn:hover{background:var(--bg-muted);color:var(--text)}.budget-sum-row{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;font-size:.85rem;font-weight:600;display:flex}.budget-sum-row.valid{color:var(--success)}.budget-sum-row.invalid{color:var(--danger)}.budget-normalize-btn{font-weight:600}@media (width<=560px){.settings-two-col{grid-template-columns:1fr}.cycle-structure-top{flex-direction:column}}.analytics-page{flex-direction:column;gap:1.5rem;max-width:900px;margin:0 auto;display:flex}.analytics-page-header h1{margin-bottom:.35rem;font-size:1.6rem}.analytics-page-header p{color:var(--text-muted);margin:0;font-size:.9rem}.stat-tile-row{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.stat-tile{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.stat-tile-icon{border-radius:var(--radius-md);background:var(--accent-bg);width:34px;height:34px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-tile-value{font-size:1.3rem;font-weight:700;line-height:1.2}.stat-tile-label{color:var(--text-faint);margin-top:.15rem;font-size:.78rem}.analytics-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.analytics-card-header{color:var(--text-muted);align-items:center;gap:.4rem;margin-bottom:1.25rem;font-size:.85rem;font-weight:700;display:flex}.analytics-two-col{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.project-chart-layout{align-items:center;gap:1.5rem;display:flex}.project-chart-layout>div:first-child{flex:0 0 180px}.breakdown-list{flex-direction:column;flex:1;gap:.7rem;min-width:0;display:flex}.breakdown-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.breakdown-row-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;min-width:0;font-size:.85rem;display:flex;overflow:hidden}.breakdown-row-value{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:.8rem}.analytics-card-sub{color:var(--text-faint);text-transform:none;letter-spacing:normal;margin-left:auto;font-weight:500}.analytics-settings-link{color:var(--text-faint);margin-left:auto;display:inline-flex}.analytics-settings-link:hover{color:var(--accent)}.analytics-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.period-pill-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.period-pill{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);border-radius:999px;padding:.45rem .9rem;font-size:.82rem;font-weight:600}.period-pill:hover{background:var(--bg-muted)}.period-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.period-custom-range{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.period-custom-range input[type=date]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text);padding:.4rem .5rem;font-size:.82rem}.budget-progress-list{flex-direction:column;gap:1rem;display:flex}.budget-progress-row-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.budget-progress-values{color:var(--text);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}.budget-progress-target{color:var(--text-faint);font-weight:500}.budget-actual-value.exact{color:var(--success)}.budget-actual-value.close{color:var(--warning)}.budget-actual-value.far{color:var(--danger)}.budget-progress-track{background:var(--bg-muted);border-radius:999px;height:8px;position:relative;overflow:visible}.budget-progress-fill{border-radius:999px;height:100%}.budget-progress-marker{background:var(--text);border-radius:1px;width:2px;height:14px;position:absolute;top:-3px;transform:translate(-1px)}@media (width<=720px){.stat-tile-row{grid-template-columns:repeat(2,1fr)}.analytics-two-col{grid-template-columns:1fr}.project-chart-layout{flex-direction:column}.project-chart-layout>div:first-child{flex-basis:auto;width:100%;max-width:220px}}.projects-page{flex-direction:column;gap:1.5rem;max-width:1000px;margin:0 auto;display:flex}.new-project-form{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}.new-project-form-row{align-items:center;gap:.6rem;display:flex}.new-project-error{color:var(--danger);margin:0;font-size:.8rem}.projects-limit-note{color:var(--text-muted);background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-md);margin:0;padding:.6rem .8rem;font-size:.82rem}.new-project-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text);flex:1;padding:.5rem .7rem;font-size:.88rem}.projects-empty{text-align:center;color:var(--text-faint);flex-direction:column;align-items:center;gap:.6rem;padding:3rem 1rem;display:flex}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.project-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:1rem;padding:1.1rem;display:flex;position:relative}.project-card-controls{gap:.15rem;display:flex;position:absolute;top:.6rem;right:.6rem}.project-card-edit,.project-card-delete{color:var(--text-faint);border-radius:var(--radius-sm);background:0 0;border:none;padding:.3rem}.project-card-edit:hover{background:var(--bg-muted);color:var(--text)}.project-card-delete:hover{background:var(--danger-bg);color:var(--danger)}.project-card-description{color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}.project-card-editing{align-items:stretch}.project-edit-form{flex-direction:column;gap:.5rem;width:100%;display:flex}.project-edit-name{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text);padding:.4rem .6rem;font-size:.9rem;font-weight:700}.project-edit-description{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text);resize:vertical;padding:.4rem .6rem;font-family:inherit;font-size:.82rem}.project-swatches{flex-wrap:wrap;gap:.4rem;display:flex}.project-swatch{color:#fff;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex;box-shadow:inset 0 0 0 1px #0000001f}.project-swatch.selected{border-color:var(--text)}.project-swatch:hover{border-color:var(--text-faint)}.project-edit-deadline-row{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.project-edit-deadline{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text);padding:.3rem .5rem;font-family:inherit;font-size:.82rem}.project-deadline-clear{color:var(--text-faint);border-radius:var(--radius-sm);background:0 0;border:none;padding:.2rem;display:inline-flex}.project-deadline-clear:hover{background:var(--bg-muted);color:var(--text)}.project-edit-actions{gap:.5rem;display:flex}.project-ring{flex-shrink:0}.project-ring-label{fill:var(--text-muted);font-size:.62rem;font-weight:700}.project-card-body{flex-direction:column;gap:.35rem;min-width:0;display:flex}.project-card-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;font-size:.95rem;font-weight:700;display:flex;overflow:hidden}.project-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.project-deadline-badge{color:var(--text-faint);flex-shrink:0;align-items:center;gap:.25rem;margin-left:auto;font-size:.7rem;font-weight:600;display:inline-flex}.project-deadline-badge.overdue{color:var(--danger)}.project-card-tasks{color:var(--text-muted);font-size:.8rem}.project-card-meta{color:var(--text-faint);gap:.9rem;font-size:.78rem;display:flex}.project-card-meta span{align-items:center;gap:.3rem;display:inline-flex}@media (width<=640px){.projects-grid{grid-template-columns:1fr}}.confirm-overlay{z-index:60;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-backdrop{background:#0f112059;position:absolute;inset:0}.confirm-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:360px;max-width:100%;box-shadow:var(--shadow-md);flex-direction:column;gap:.6rem;padding:1.25rem;display:flex;position:relative}.confirm-dialog-title{margin:0;font-size:1.05rem}.confirm-dialog-message{color:var(--text-muted);margin:0;font-size:.88rem}.confirm-dialog-actions{justify-content:flex-end;gap:.6rem;margin-top:.5rem;display:flex}.confirm-dialog-actions .control-pill.danger{background:var(--danger);color:#fff}.confirm-dialog-actions .control-pill.danger:hover{background:var(--danger-bg);color:var(--danger)}
