:root{--font:system-ui, -apple-system, "Segoe UI", sans-serif;--green:#22c55e;--yellow:#f59e0b;--orange:#f97316;--red:#ef4444;--purple:#a855f7;--bg:#f1f3f5;--surface:#fff;--surface-alt:#f8f9fa;--metric-bg:#fafafa;--text:#111827;--text-secondary:#4b5563;--muted:#9ca3af;--border:#e5e7eb;--border-subtle:#f3f4f6;--accent:#6366f1;--accent-subtle:#6366f11a}@media (prefers-color-scheme:dark){:root{--bg:#0d0f14;--surface:#161b27;--surface-alt:#1e2533;--metric-bg:#1a2030;--text:#f1f5f9;--text-secondary:#94a3b8;--muted:#64748b;--border:#2d3748;--border-subtle:#1e2533;--accent:#818cf8;--accent-subtle:#818cf826}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}#root{min-height:100vh}h1,h2,h3,h4{margin:0;line-height:1.2}p{margin:0}button{font-family:var(--font);cursor:pointer}input{font-family:var(--font)}.app{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font)}.app-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.app-header-left{align-items:baseline;gap:10px;display:flex}.data-menu-wrapper{position:relative}.data-menu-btn{padding:4px 10px;font-size:12px}.data-menu{background:var(--surface);border:1px solid var(--border);z-index:100;border-radius:8px;flex-direction:column;min-width:180px;margin-top:4px;padding:4px 0;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0000001f}.data-menu-item{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;padding:6px 12px;font-size:13px}.data-menu-item:hover{background:var(--hover)}.data-menu-divider{background:var(--border);height:1px;margin:4px 0}.data-menu-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 12px 2px;font-size:11px;font-weight:600}.data-menu-empty{color:var(--muted);padding:4px 12px;font-size:12px}.app-tabs{background:var(--bg);border-radius:8px;gap:2px;padding:3px;display:flex}.app-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 16px;font-size:13px;font-weight:500;transition:color .15s,background .15s}.app-tab:hover{color:var(--text)}.app-tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.planner-view{max-width:1400px;margin:0 auto;padding:32px}.planner-focus-bar{gap:4px;margin-bottom:24px;display:flex}.planner-focus-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:20px;padding:4px 14px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.planner-focus-btn:hover{background:var(--surface-alt);color:var(--text)}.planner-focus-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.planner-columns{grid-template-columns:1fr 1fr;align-items:start;gap:32px;display:grid}.planner-columns:has(>:only-child){grid-template-columns:1fr;max-width:600px}.planner-column-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:600}.planner-stats{color:var(--muted);margin-bottom:10px;font-size:12px}.planner-stats--clear{color:var(--green)}.planner-list{flex-direction:column;gap:6px;display:flex}.planner-item{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.planner-item--red{border-left-color:var(--red)}.planner-item--yellow{border-left-color:var(--yellow)}.planner-item--green{border-left-color:var(--green)}.planner-item--purple{border-left-color:var(--purple)}.planner-item--link{cursor:pointer;transition:background .15s}.planner-item--link:hover{background:var(--surface-alt)}.planner-item-actions{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.planner-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.planner-item-name{color:var(--text);font-size:13px;font-weight:500;line-height:1.3}.planner-item-path{color:var(--muted);font-size:11px}.planner-item-type-badge{background:var(--surface-alt);border:1px solid var(--border);vertical-align:middle;color:var(--muted);border-radius:3px;margin-left:3px;padding:0 4px;font-size:10px}.planner-item-detail{color:var(--text-secondary);font-size:11px}.planner-item-detail--overdue{color:var(--red);font-weight:500}.planner-empty{color:var(--muted);padding:8px 0;font-size:13px;font-style:italic}.btn-snooze{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:4px;padding:3px 7px;font-size:11px;transition:background .15s,color .15s}.btn-snooze:hover,.btn-snooze.active{background:var(--accent-subtle);color:var(--text);border-color:var(--accent)}.snooze-date-form{flex-wrap:wrap;align-items:center;gap:6px;width:100%;padding:6px 0 2px 24px;display:flex}.blockers-section{margin-top:12px}.blocker-card{border:1px solid var(--border);border-radius:6px;margin-bottom:8px;overflow:hidden}.blocker-card--red{border-left:3px solid var(--red)}.blocker-card--yellow{border-left:3px solid var(--yellow)}.blocker-card--green{border-left:3px solid var(--green)}.blocker-card--purple{border-left:3px solid var(--purple)}.blocker-card--drag-over{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent)}.blocker-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface);align-items:center;gap:8px;padding:8px 10px;display:flex}.blocker-header:hover{background:var(--hover)}.blocker-toggle{color:var(--muted);flex-shrink:0;font-size:10px}.blocker-name{flex:1;font-size:13px;font-weight:500}.blocker-name-prefix{letter-spacing:.06em;color:var(--muted);margin-right:2px;font-size:10px;font-weight:700}.blocker-rename-form{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:6px;padding:6px 10px;display:flex}.blocker-rename-form .add-input{flex:1;min-width:0}.blocker-count{color:var(--muted);white-space:nowrap;font-size:12px}.blocker-actions{flex-shrink:0;gap:4px;display:flex}.blocker-btn{padding:2px 8px;font-size:11px}.blocker-btn--danger{color:var(--red)}.blocker-btn--danger:hover{background:color-mix(in srgb, var(--red) 10%, transparent)}.blocker-btn--unblock{padding:2px 8px;font-size:11px}.blocker-body{border-top:1px solid var(--border);background:var(--bg);padding:8px 10px}.blocker-items{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.blocker-item-row{align-items:flex-start;gap:6px;display:flex}.blocker-item-row .planner-item{flex:1;min-width:0}.blocker-unblock-btn{flex-shrink:0;margin-top:6px;padding:2px 8px;font-size:11px}.blocker-empty{color:var(--muted);margin-bottom:8px;font-size:13px}.blocker-interval-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding-bottom:8px;display:flex}.blocker-interval-label{color:var(--muted);font-size:12px}.blocker-unit-toggle .type-toggle-btn{padding:2px 8px;font-size:12px}.blocker-last-checked{color:var(--muted);margin-left:auto;font-size:11px}.blocker-drop-hint{text-align:center;color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-top:1px solid color-mix(in srgb, var(--accent) 30%, transparent);padding:6px;font-size:12px;font-weight:500}.planner-quick-add-btn{color:var(--muted);margin-top:12px;font-size:12px}.planner-quick-add{align-items:center;gap:6px;margin-top:12px;display:flex}.planner-quick-add-select{max-width:140px;font-size:12px}.planner-item--draggable{cursor:grab}.planner-item--draggable:active{cursor:grabbing}.blocker-add-items-btn{padding:3px 10px;font-size:12px}.blocker-picker{border:1px solid var(--border);border-radius:6px;margin-top:8px;overflow:hidden}.blocker-picker-header{border-bottom:1px solid var(--border);background:var(--surface);gap:6px;padding:6px;display:flex}.blocker-picker-list{max-height:220px;overflow-y:auto}.blocker-picker-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 10px;display:flex}.blocker-picker-row:last-child{border-bottom:none}.blocker-picker-body{flex-direction:column;flex:1;min-width:0;display:flex}.blocker-picker-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.blocker-picker-path{color:var(--muted);font-size:11px}.blocker-picker-add,.blocker-picker-remove{flex-shrink:0;padding:2px 8px;font-size:11px}.blocker-picker-empty{color:var(--muted);text-align:center;padding:10px;font-size:13px}.blocker-add-form{align-items:center;gap:6px;margin-top:4px;display:flex}.add-blocker-btn{color:var(--muted);margin-top:4px;padding:3px 10px;font-size:12px}.planner-snoozed{border-top:1px solid var(--border);margin-top:12px;padding-top:6px}.planner-snoozed-toggle{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:2px 0;font-size:12px;transition:color .15s}.planner-snoozed-toggle:hover{color:var(--text)}.planner-snoozed-list{flex-direction:column;gap:4px;margin-top:6px;display:flex}.planner-snoozed-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.planner-snoozed-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.planner-snoozed-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.planner-snoozed-meta{color:var(--muted);font-size:11px}.btn-snooze-undo{white-space:nowrap;flex-shrink:0;padding:3px 7px;font-size:11px}.app-logo{letter-spacing:-.5px;color:var(--text);font-size:22px;font-weight:700}.app-tagline{color:var(--muted);font-size:13px}.app-add-category{padding:16px 0}.add-category-btn{color:var(--muted);margin-top:16px}.app-main{flex-direction:column;gap:32px;max-width:1200px;margin:0 auto;padding:32px;display:flex}@keyframes nav-highlight{0%{background-color:var(--accent-subtle)}60%{background-color:var(--accent-subtle)}to{background-color:#0000}}.nav-highlight{animation:1.6s ease-out forwards nav-highlight}.category-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.category-collapse-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:13px;line-height:1}.category-collapse-btn:hover{color:var(--text)}.category-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 20px;display:flex}.category-section:not(:has(.category-body)) .category-header{background:var(--surface-alt);border-bottom:none}.category-name{letter-spacing:-.3px;flex:1;margin:0;font-size:18px;font-weight:700}.category-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.category-header:hover .category-actions{opacity:1}.category-body{padding:12px 0}.goal-section{padding:0 20px 12px}.goal-section+.goal-section{border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:12px}.goal-collapse-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:11px;line-height:1}.goal-collapse-btn:hover{color:var(--text)}.goal-header{align-items:center;gap:8px;padding:6px 0 8px;display:flex}.goal-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;flex:1;margin:0;font-size:14px;font-weight:600}.goal-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex}.goal-header:hover .goal-actions{opacity:1}.goal-move-btn{padding:2px 7px;font-size:11px}.goal-move-picker{background:var(--surface);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 12px 6px 32px;display:flex}.goal-move-label{color:var(--muted);font-size:12px}.goal-move-target{padding:2px 10px;font-size:12px}.goal-move-empty{color:var(--muted);font-size:12px}.goal-tasks{margin-left:12px}.goal-section--task-drag-over{outline:2px dashed var(--accent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 5%, transparent);border-radius:6px}.metric-row{background:var(--metric-bg);border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:10px;margin-bottom:4px;padding:10px 12px;transition:border-color .15s;display:flex}.metric-row:hover{border-color:var(--border)}.metric-row--red{border-left:3px solid var(--red)}.metric-edit-form{border-top:1px solid var(--border);margin-top:4px;padding:8px 12px 4px}.metric-pause-form{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:4px;padding:8px 12px;display:flex}.pause-form-label{color:var(--muted);font-size:12px;font-weight:500}.metric-paused-info{color:var(--muted);margin-top:2px;font-size:12px;font-style:italic}.btn-resume{color:var(--accent);border:1px solid var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.btn-resume:hover{background:var(--accent);color:#fff}.metric-row--yellow{border-left:3px solid var(--yellow)}.metric-row--green{border-left:3px solid var(--green)}.metric-row--none{border-left:3px solid var(--border)}.metric-body{flex:1;min-width:0}.metric-top{flex-direction:column;gap:2px;display:flex}.metric-name{color:var(--text);font-size:14px;font-weight:500}.metric-desc{color:var(--muted);font-size:11px}.metric-stats{align-items:baseline;gap:10px;margin-top:2px;display:flex}.metric-value-display{font-variant-numeric:tabular-nums;color:var(--text);font-size:20px;font-weight:700;line-height:1}.metric-val{color:var(--text)}.metric-unit{color:var(--muted);margin-left:2px;font-size:11px;font-weight:400}.metric-target-display{color:var(--muted);font-size:11px}.week-bar{flex-shrink:0;align-items:flex-end;gap:3px;height:40px;display:flex}.week-bar-col{flex-direction:column;align-items:center;gap:2px;width:18px;display:flex}.week-bar-track{background:var(--border-subtle);border-radius:3px;flex:1;align-items:flex-end;width:100%;display:flex;position:relative;overflow:hidden}.week-bar-fill{border-radius:3px;width:100%;min-height:2px;transition:height .3s}.week-bar-target-line{background:var(--muted);opacity:.5;height:1px;position:absolute;left:0;right:0}.week-bar-label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:9px}.metric-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.today-badge{color:var(--accent);background:var(--accent-subtle);white-space:nowrap;border-radius:10px;padding:2px 6px;font-size:11px}.btn-log{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:opacity .15s}.btn-log:hover{opacity:.85}.btn-log--confirmed{background:var(--green);cursor:default}.freq-cap-label{color:var(--muted);white-space:nowrap;font-size:11px;font-style:italic}.btn-unlog{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:3px 8px;font-size:16px;line-height:1;transition:color .15s,border-color .15s}.btn-unlog:hover{color:var(--red);border-color:var(--red)}.btn-icon{border:1px solid var(--border);width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.btn-icon:hover{color:var(--text);background:var(--metric-bg)}.btn-icon--danger:hover{color:var(--red);border-color:var(--red);background:0 0}.btn-delete{width:22px;height:22px;color:var(--border);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;transition:color .15s;display:flex}.metric-row:hover .btn-delete{opacity:1}.btn-delete:hover{color:var(--red)}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:7px 14px;font-size:13px;font-weight:600;transition:opacity .15s}.btn-primary:hover{opacity:.85}.btn-ghost{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:7px;padding:7px 14px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--text);border-color:var(--text-secondary)}.add-form{background:var(--metric-bg);border:1px dashed var(--border);border-radius:8px;margin-top:8px;padding:12px}.add-form-row{margin-bottom:8px}.add-form-row--inline{gap:16px;display:flex}.add-form-row--inline label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;flex-direction:column;gap:4px;font-size:11px;font-weight:500;display:flex}.add-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);box-sizing:border-box;border-radius:6px;outline:none;padding:7px 10px;font-size:13px;transition:border-color .15s}.add-input:focus{border-color:var(--accent)}.add-input--number{width:80px}.add-input--datetime{width:170px;padding:3px 6px;font-size:12px}.btn-icon--backdate.active{color:var(--accent);opacity:1}.add-form-actions{gap:8px;display:flex}.category-tasks{border-top:1px solid var(--border);margin:0}.task-list{padding:12px 20px}.task-list-header{align-items:center;gap:8px;padding:4px 0 8px;display:flex}.task-list-title{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;flex:1;font-size:12px;font-weight:600}.task-row{border:1px solid var(--border-subtle);background:var(--metric-bg);border-radius:7px;align-items:center;gap:8px;margin-bottom:3px;padding:7px 10px;transition:border-color .15s;display:flex}.task-row:hover{border-color:var(--border)}.task-row--red{border-left:3px solid var(--red)}.task-row--yellow{border-left:3px solid var(--yellow)}.task-row--green{border-left:3px solid var(--green)}.task-row--purple{border-left:3px solid var(--purple)}.task-row--none{border-left:3px solid #0000}.task-row--done{opacity:.45;border-left-color:#0000!important}.task-check{border:2px solid var(--border);cursor:pointer;width:18px;height:18px;color:var(--green);background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;transition:border-color .15s,background .15s;display:flex}.task-check:hover{border-color:var(--green);background:var(--accent-subtle)}.task-check--done{border-color:var(--green);background:var(--green);color:#fff}.task-check--done:hover{border-color:var(--border);color:#0000;background:0 0}.task-name{color:var(--text);flex:1;font-size:13px}.task-row--done .task-name{text-decoration:line-through}.task-dates{flex-shrink:0;align-items:center;gap:4px;display:flex}.task-date{white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:500}.task-date--yellow{color:var(--yellow);background:color-mix(in srgb, var(--yellow) 12%, transparent);border:1px solid color-mix(in srgb, var(--yellow) 30%, transparent)}.task-date--red{color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent);border:1px solid color-mix(in srgb, var(--red) 30%, transparent)}.task-date--past{font-weight:700}.task-delete{opacity:0}.task-row:hover .task-delete{opacity:1}.task-drag-handle{color:var(--border);cursor:grab;opacity:0;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:13px;line-height:1;transition:opacity .15s}.task-row:hover .task-drag-handle{opacity:1}.task-row--dragging{opacity:.35;cursor:grabbing}.task-row--drag-over{border-top:2px solid var(--accent);margin-top:-1px}.task-done-section{margin-top:6px}.inline-edit-input{background:var(--surface);border:1px solid var(--accent);color:var(--text);font-size:inherit;font-family:inherit;font-weight:inherit;border-radius:4px;outline:none;flex:1;min-width:0;padding:1px 6px}.goal-name--editable,.task-name--editable{cursor:text}.goal-name--editable:hover,.task-name--editable:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.task-done-toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:11px;transition:color .15s}.task-done-toggle:hover{color:var(--text)}.task-edit-form{flex-direction:column;gap:8px;width:100%;padding:8px 0 4px 28px;display:flex}.context-toggle{flex-shrink:0;gap:2px;display:flex}.context-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.context-btn--work.active{color:#fff;background:#3b6fd4;border-color:#3b6fd4}.context-btn--personal.active{color:#fff;background:#7c5cbf;border-color:#7c5cbf}.context-btn:not(.active):hover{color:var(--text);border-color:var(--text-secondary)}.importance-toggle{flex-shrink:0;gap:2px;display:flex}.importance-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;letter-spacing:.3px;background:0 0;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600;transition:background .12s,color .12s,border-color .12s}.importance-btn--top.active{background:var(--red);border-color:var(--red);color:#fff}.importance-btn--high.active{background:var(--orange);border-color:var(--orange);color:#fff}.importance-btn--medium.active{background:var(--muted);border-color:var(--muted);color:#fff}.importance-btn:not(.active):hover{color:var(--text);border-color:var(--text-secondary)}.goal-deadline{color:var(--muted);background:var(--border-subtle);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:11px}.goal-deadline--overdue{color:var(--red);border-color:var(--red);background:0 0}.deadline-toggle-label{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.type-toggle{border:1px solid var(--border);border-radius:6px;gap:0;width:fit-content;display:flex;overflow:hidden}.type-toggle-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:5px 12px;font-size:12px;font-weight:500;transition:background .12s,color .12s}.type-toggle-btn+.type-toggle-btn{border-left:1px solid var(--border)}.type-toggle-btn.active{background:var(--accent);color:#fff}.type-toggle-btn:not(.active):hover{background:var(--metric-bg);color:var(--text)}.threshold-hint{color:var(--muted);white-space:nowrap;align-self:flex-end;padding-bottom:8px;font-size:11px}.log-minutes-input{text-align:center;width:60px!important;padding:4px 6px!important;font-size:13px!important}.empty-hint{color:var(--muted);margin:0;padding:4px 0;font-size:12px}.empty-state{text-align:center;color:var(--muted);padding:80px 0}.routines-view{flex-direction:column;min-height:calc(100vh - 65px);display:flex}.routines-body{flex:1;display:flex}.routines-sidebar{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:200px;padding:20px 12px;display:flex}.routines-group-list{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.routines-group-btn{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 12px;font-size:13px;transition:background .15s}.routines-group-btn:hover{background:var(--surface-alt)}.routines-group-btn{cursor:grab;align-items:center;gap:6px;display:flex}.routines-group-btn--dragging{opacity:.4}.routines-group-btn--drag-over{border-top:2px solid var(--accent)}.routines-group-btn.active{background:var(--accent-subtle);color:var(--accent);font-weight:500}.routines-new-btn{text-align:left;padding:6px 12px;font-size:12px}.routine-new-form{flex-direction:column;gap:6px;display:flex}.routines-main{flex:1;max-width:900px;padding:28px 32px}.routine-panel-header{align-items:center;gap:8px;margin-bottom:20px;display:flex}.routine-panel-title{color:var(--text);flex:1;margin:0;font-size:18px;font-weight:600}.routine-rename-form{flex:1;align-items:center;gap:8px;display:flex}.routine-items{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.routine-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.routine-item--done{opacity:.55}.routine-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.routine-item-name{color:var(--text);font-size:13px;font-weight:500}.routine-item-path{color:var(--muted);font-size:11px}.routine-item-detail{color:var(--text-secondary);font-size:11px}.routine-item-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.routine-add-items-btn{font-size:13px}.routine-add-items-btn.active{color:var(--accent)}.routine-picker{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:12px;overflow:hidden}.routine-picker-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.routine-picker-header .add-input{flex:1}.routine-picker-list{max-height:320px;padding:8px 0;overflow-y:auto}.routine-picker-category{padding:0 4px 4px}.routine-picker-cat-name{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:6px 10px 2px;font-size:10px;font-weight:600;display:block}.routine-picker-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:6px 10px;transition:background .1s;display:flex}.routine-picker-item:hover{background:var(--surface-alt)}.routine-picker-item--added{color:var(--accent)}.routine-picker-item-check{width:14px;color:var(--accent);flex-shrink:0;font-size:12px}.routine-picker-item-name{color:var(--text);flex:1;font-size:13px}.routine-picker-item-path{color:var(--muted);font-size:11px}.routine-drag-handle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:14px}.routine-item--dragging{opacity:.4}.routine-item--drag-over{border-color:var(--accent);background:var(--accent-subtle)}.routine-item-body--link{cursor:pointer}.routine-item-body--link:hover .routine-item-name{color:var(--accent)}.routines-time-context{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:8px;min-height:44px;padding:8px 20px;display:flex}.routines-time-active{color:var(--accent);font-size:13px;font-weight:500}.routines-time-btn{padding:4px 10px;font-size:12px}.routine-preset-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:12px;padding:3px 8px;font-size:11px;transition:background .15s,color .15s}.routine-preset-btn:hover,.routine-preset-btn.active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.routine-preset-config{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;padding:10px 0 4px;display:flex}.routine-preset-label{color:var(--muted);margin-right:2px;font-size:11px}.routine-preset-option{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:12px;padding:4px 10px;font-size:12px;transition:background .15s}.routine-preset-option:hover{background:var(--surface-alt)}.routine-preset-option.active{background:var(--accent);border-color:var(--accent);color:#fff}.routine-preset-time-input{width:auto!important;padding:4px 8px!important;font-size:13px!important}.routine-preset-cutoff-label{color:var(--text);flex-basis:100%;align-items:center;gap:6px;font-size:12px;display:flex}.routine-preset-cutoff-label input[type=time]:disabled{opacity:.4}@media (width<=768px){.app-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.app-header-left{order:0}.app-tabs{order:2;justify-content:center;width:100%}.data-menu-wrapper{order:1;margin-left:auto}.app-main{padding:16px 10px}.category-header{flex-wrap:wrap;gap:6px;padding:10px 12px}.category-name{flex-basis:100%;order:-1;margin-left:28px}.context-toggle,.importance-toggle{font-size:11px}.goal-header{flex-wrap:wrap;gap:6px}.planner-view{padding:16px 10px}.planner-columns{grid-template-columns:1fr;gap:24px}.planner-columns:has(>:only-child){max-width:none}.planner-item{flex-wrap:wrap}.planner-item-actions{flex-basis:100%;margin-top:4px;padding-left:20px}.snooze-date-form{flex-wrap:wrap}.blocker-header{flex-wrap:wrap;gap:4px}.blocker-actions{flex-basis:100%}.blocker-interval-row{flex-wrap:wrap}.routines-body{flex-direction:column}.routines-sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;gap:6px;width:auto;padding:10px 12px}.routines-group-list{flex-flow:wrap;gap:6px;margin-bottom:0}.routines-main{padding:16px 10px}.routine-item{flex-wrap:wrap}.routine-item-actions{flex-basis:100%;margin-top:4px;padding-left:20px}.task-row{flex-wrap:wrap}.task-dates{flex-basis:100%;padding-left:28px}.task-edit-form{padding:8px}.add-form-row--inline{flex-direction:column}.goal-move-picker{padding-left:12px}}@media (width<=480px){.app-logo{font-size:16px}.app-tagline{display:none}.planner-item-name{font-size:13px}.btn-snooze,.blocker-btn{padding:2px 6px;font-size:10px}}
