/* Life OS 0.34.5 — To-Do is a calm work surface, not a dashboard. */
body.life-ui[data-life-page="tasks"] #content{padding-top:0}
.todo345{width:min(100%,1120px);margin:0 auto;padding:28px 4px 56px;color:var(--life-ink);font-family:var(--life-font)}
.todo345-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 2px 26px;border-bottom:1px solid var(--life-line-soft)}
.todo345-eyebrow{margin:0 0 7px!important;color:var(--life-muted)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.01em}
.todo345-head h1{margin:0;font:650 clamp(28px,3vw,38px)/1.06 var(--life-font);letter-spacing:-.045em;color:var(--life-ink)}
.todo345-head p:not(.todo345-eyebrow){margin:7px 0 0;color:var(--life-muted);font-size:13px}
.todo345-add{height:38px;padding:0 15px;border:0;border-radius:11px;background:var(--life-accent,var(--accent));color:var(--life-accent-ink,#fff);font:600 13px var(--life-font);display:inline-flex;gap:7px;align-items:center;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.09)}
.todo345-add:active{transform:scale(.985)}
.todo345-add:focus-visible,.todo345-toolbar button:focus-visible,.todo345-row button:focus-visible,.todo345-mobile-stages button:focus-visible{outline:3px solid color-mix(in srgb,var(--life-accent,var(--accent)) 28%,transparent);outline-offset:2px}
.todo345-toolbar{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.todo345-segmented{display:inline-flex;padding:3px;border-radius:10px;background:var(--life-control,var(--life-surface-soft));border:1px solid var(--life-line-soft)}
.todo345-segmented button{height:30px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:var(--life-muted);font:600 12px var(--life-font);cursor:pointer}
.todo345-segmented button.active{background:var(--life-surface);color:var(--life-ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.todo345-filter-toggle{height:34px;padding:0 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--life-muted);font:550 12px var(--life-font);cursor:pointer}
.todo345-filter-toggle:hover,.todo345-filter-toggle.active{background:var(--life-hover);color:var(--life-ink)}
.todo345-filter-toggle span{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;margin-left:3px;border-radius:9px;background:var(--life-accent-muted,var(--accent-soft));color:var(--life-accent,var(--accent));font-size:10px}
.todo345-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;padding:13px 14px 14px;margin:0 0 16px;border-radius:13px;background:var(--life-surface-soft);border:1px solid var(--life-line-soft)}
.todo345-filters[hidden]{display:none!important}
.todo345-filters label{display:grid;gap:5px;min-width:0}.todo345-filters label>span{font-size:10.5px;font-weight:600;color:var(--life-muted)}
.todo345-filters select{width:100%;height:34px;padding:0 28px 0 9px;border:1px solid var(--life-line-soft);border-radius:9px;background:var(--life-surface);color:var(--life-ink);font:500 12px var(--life-font)}
.todo345-clear{grid-column:1/-1;justify-self:start;border:0;background:transparent;color:var(--life-accent,var(--accent));font:600 11.5px var(--life-font);cursor:pointer;padding:2px}
.todo345-content{min-width:0}
.todo345-list{border-top:1px solid var(--life-line-soft);border-bottom:1px solid var(--life-line-soft)}
.todo345-row{display:grid;grid-template-columns:40px minmax(0,1fr) 34px;align-items:center;min-height:62px;border-bottom:1px solid var(--life-line-soft);transition:background .14s ease,opacity .16s ease}.todo345-row:last-child{border-bottom:0}
.todo345-row:hover{background:color-mix(in srgb,var(--life-hover) 72%,transparent)}
.todo345-row-main{min-width:0;align-self:stretch;text-align:left;border:0;background:transparent;color:inherit;padding:10px 8px 10px 0;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:5px}
.todo345-title{font:560 14px/1.35 var(--life-font);letter-spacing:-.012em;color:var(--life-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.todo345-meta{display:flex;gap:8px;align-items:center;min-width:0;color:var(--life-muted);font:500 11.5px/1.35 var(--life-font)}
.todo345-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo345-meta>span+span:before{content:'·';margin-right:8px;color:var(--life-tertiary)}
.todo345-row.is-overdue .todo345-due{color:var(--danger,#d14b43)}.todo345-row.is-today .todo345-due{color:var(--life-accent,var(--accent))}.todo345-priority{color:var(--warning,#b26b20)!important}
.todo345-check{width:40px;height:44px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.todo345-check span{width:20px;height:20px;border:1.5px solid var(--life-line-strong,var(--life-muted));border-radius:50%;display:grid;place-items:center;transition:all .14s ease}.todo345-check:hover span{border-color:var(--life-accent,var(--accent));background:var(--life-accent-muted,var(--accent-soft))}.todo345-check.done span{border-color:var(--life-accent,var(--accent));background:var(--life-accent,var(--accent))}.todo345-check.done span:after{content:'✓';font:700 12px/1 var(--life-font);color:#fff}
.todo345-disclosure{width:34px;height:44px;border:0;background:transparent;color:var(--life-tertiary);font:400 21px var(--life-font);cursor:pointer;opacity:.45}.todo345-row:hover .todo345-disclosure{opacity:1}
.todo345-row.is-done{opacity:.48}.todo345-row.is-done .todo345-title{text-decoration:line-through;text-decoration-thickness:1px}
.todo345-completed{border-top:1px solid var(--life-line-soft)}.todo345-completed>summary{list-style:none;cursor:pointer;padding:15px 40px;color:var(--life-muted);font:600 11.5px var(--life-font)}.todo345-completed>summary::-webkit-details-marker{display:none}.todo345-completed>summary:before{content:'›';display:inline-block;margin-right:7px;transition:transform .15s}.todo345-completed[open]>summary:before{transform:rotate(90deg)}
.todo345-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--life-muted);gap:5px}.todo345-empty strong{font-size:16px;color:var(--life-ink)}.todo345-empty span{font-size:12px}.todo345-empty button{margin-top:12px;height:34px;padding:0 12px;border:0;border-radius:9px;background:var(--life-accent,var(--accent));color:#fff;font-weight:600;cursor:pointer}
.todo345-board{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:1px;background:var(--life-line-soft);border:1px solid var(--life-line-soft);border-radius:14px;overflow:hidden;min-width:1040px}
.todo345-column{min-width:0;background:var(--life-canvas,var(--bg));padding:0}.todo345-column>header{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--life-surface-soft);border-bottom:1px solid var(--life-line-soft)}.todo345-column>header h3{margin:0;font:620 11.5px var(--life-font);color:var(--life-muted)}.todo345-column>header span{font:600 10px var(--life-font);color:var(--life-tertiary)}
.todo345-column-body{padding:6px;min-height:210px}.todo345-board-card{padding:11px 10px;border-bottom:1px solid var(--life-line-soft);cursor:pointer;transition:background .14s}.todo345-board-card:last-child{border-bottom:0}.todo345-board-card:hover{background:var(--life-hover)}.todo345-board-line{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start}.todo345-board-line .todo345-check{width:32px;height:30px;justify-self:start}.todo345-board-line .todo345-check span{width:17px;height:17px}.todo345-board-line strong{padding-top:4px;font:560 12.5px/1.35 var(--life-font);color:var(--life-ink)}.todo345-board-meta{display:flex;flex-direction:column;gap:2px;padding-left:32px;margin-top:4px;color:var(--life-muted);font-size:10.5px}.todo345-board-card.is-done{opacity:.5}.todo345-column-empty{margin:18px 8px;color:var(--life-tertiary);font-size:11px}
.todo345-mobile-stages{display:none}
/* To-Do family: Projects and Goals keep all handlers but use quieter surfaces. */
body.life-ui[data-life-page="projects"] #content .grid-3>.card,body.life-ui[data-life-page="goals"] #content>.fade-in>.card{box-shadow:none!important;border-color:var(--life-line-soft)!important;background:var(--life-surface)!important}
body.life-ui[data-life-page="projects"] #content .grid-3>.card:hover{transform:none!important;box-shadow:none!important;background:var(--life-hover)!important}
@media(max-width:900px){.todo345{padding:20px 0 96px}.todo345-head{align-items:center;padding:0 2px 20px}.todo345-head h1{font-size:30px}.todo345-add{width:40px;padding:0;justify-content:center;border-radius:50%}.todo345-add span{display:none}.todo345-toolbar{min-height:54px}.todo345-filters{grid-template-columns:1fr 1fr}.todo345-board{min-width:0;display:block;background:transparent;border:0;border-radius:0}.todo345-mobile-stages{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0 12px;scroll-snap-type:x proximity}.todo345-mobile-stages::-webkit-scrollbar{display:none}.todo345-mobile-stages button{flex:0 0 auto;min-height:34px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:var(--life-muted);font:600 11.5px var(--life-font);display:flex;gap:6px;align-items:center;scroll-snap-align:start}.todo345-mobile-stages button.active{background:var(--life-surface-soft);color:var(--life-ink)}.todo345-mobile-stages small{font-size:9.5px;color:var(--life-tertiary)}.todo345-column{display:none;border-top:1px solid var(--life-line-soft);background:transparent}.todo345-column[data-stage="Inbox"]{} .todo345-column>header{display:none}.todo345-column-body{padding:0;min-height:0}.todo345-board-card{padding:13px 4px}.todo345-board-card:hover{background:transparent}.todo345-board-card[data-x]{display:none}}
@media(max-width:900px){.todo345-column{display:none}.todo345-column[data-stage="Next"]{display:none}body{--todo-stage-placeholder:1}.todo345-board .todo345-column{display:none}.todo345-board .todo345-column[data-stage="Inbox"]{display:none}}
/* stage visibility is selected via a body/data selector written by JS below through :has fallback-independent class */
@media(max-width:900px){.todo345-board.mobile-stage-Inbox .todo345-column[data-stage="Inbox"],.todo345-board.mobile-stage-Next .todo345-column[data-stage="Next"],.todo345-board.mobile-stage-In-Progress .todo345-column[data-stage="In Progress"],.todo345-board.mobile-stage-Waiting .todo345-column[data-stage="Waiting"],.todo345-board.mobile-stage-Done .todo345-column[data-stage="Done"],.todo345-board.mobile-stage-Cancelled .todo345-column[data-stage="Cancelled"]{display:block}}
@media(max-width:600px){.todo345{padding-left:0;padding-right:0}.todo345-head{gap:12px}.todo345-head p:not(.todo345-eyebrow){font-size:12px}.todo345-toolbar{position:relative}.todo345-filters{grid-template-columns:1fr;padding:11px;margin-left:-2px;margin-right:-2px}.todo345-row{grid-template-columns:42px minmax(0,1fr) 28px;min-height:64px}.todo345-row-main{padding-right:2px}.todo345-title{font-size:14px}.todo345-meta{gap:6px;font-size:11px;flex-wrap:wrap}.todo345-meta>span+span:before{margin-right:6px}.todo345-disclosure{width:28px}.todo345-completed>summary{padding-left:42px}.todo345-board-meta{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){.todo345 *{transition:none!important;scroll-behavior:auto!important}}
.todo345-family{max-width:1040px}
.todo345-filter-details{margin:16px 0 10px;border-bottom:1px solid var(--life-line-soft)}.todo345-filter-details>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--life-muted);font:600 12px var(--life-font)}.todo345-filter-details>summary::-webkit-details-marker{display:none}.todo345-filter-details>summary:before{content:'›';margin-right:8px;transition:transform .15s}.todo345-filter-details[open]>summary:before{transform:rotate(90deg)}.todo345-filter-details>.card{margin:0 0 14px!important;border:0!important;background:var(--life-surface-soft)!important;box-shadow:none!important}
.todo345-project-list{border-top:1px solid var(--life-line-soft);border-bottom:1px solid var(--life-line-soft)}
.todo345-project-row{width:100%;min-height:92px;padding:15px 5px;display:grid;grid-template-columns:minmax(0,1fr) 118px 26px;gap:18px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--life-line-soft);background:transparent;color:inherit;cursor:pointer}.todo345-project-row:last-child{border-bottom:0}.todo345-project-row:hover{background:var(--life-hover)}
.todo345-project-copy{min-width:0;display:grid;gap:5px}.todo345-project-copy strong{font:620 15px/1.25 var(--life-font);letter-spacing:-.015em}.todo345-project-copy small{font:500 12px/1.4 var(--life-font);color:var(--life-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo345-project-meta{font:500 10.5px var(--life-font);color:var(--life-tertiary)}
.todo345-project-progress{display:grid;gap:7px;justify-items:end}.todo345-project-progress b{font:620 11px var(--life-font);color:var(--life-muted);font-variant-numeric:tabular-nums}.todo345-project-progress i,.todo345-goal-progress i{display:block;width:100%;height:4px;border-radius:4px;background:var(--life-line-soft);overflow:hidden}.todo345-project-progress em,.todo345-goal-progress em{display:block;height:100%;background:var(--life-accent,var(--accent));border-radius:4px}.todo345-project-chevron{font:400 20px var(--life-font);color:var(--life-tertiary)}
.todo345-goal-groups{display:grid;gap:24px;padding-top:8px}.todo345-goal-group>h2{margin:0;padding:7px 3px 10px;color:var(--life-muted);font:620 12px var(--life-font)}.todo345-goal-group{border-bottom:1px solid var(--life-line-soft)}.todo345-goal{border-top:1px solid var(--life-line-soft)}.todo345-goal-main{width:100%;min-height:68px;padding:12px 4px;display:grid;grid-template-columns:minmax(0,1fr) 120px 26px;gap:15px;align-items:center;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer}.todo345-goal-main:hover{background:var(--life-hover)}.todo345-goal-main>span:first-child{display:grid;gap:4px;min-width:0}.todo345-goal-main strong{font:600 14px/1.3 var(--life-font)}.todo345-goal-main small{font:500 11px var(--life-font);color:var(--life-muted)}.todo345-goal-progress{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:center}.todo345-goal-progress b{font:600 10.5px var(--life-font);color:var(--life-muted);text-align:right;font-variant-numeric:tabular-nums}.todo345-goal-tasks{margin:0 0 9px 34px}.todo345-goal-tasks>summary{cursor:pointer;list-style:none;padding:7px 0;color:var(--life-muted);font:600 11px var(--life-font)}.todo345-goal-tasks>summary::-webkit-details-marker{display:none}.todo345-goal-tasks>summary:before{content:'›';display:inline-block;margin-right:7px;transition:transform .15s}.todo345-goal-tasks[open]>summary:before{transform:rotate(90deg)}.todo345-goal-tasks .todo345-row{min-height:54px}.todo345-goal-tasks .todo345-title{font-size:12.5px}
@media(max-width:700px){.todo345-project-row{grid-template-columns:minmax(0,1fr) 76px 20px;gap:10px;min-height:82px}.todo345-project-copy small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.todo345-project-progress{width:76px}.todo345-goal-main{grid-template-columns:minmax(0,1fr) 78px 20px;gap:9px}.todo345-goal-progress{grid-template-columns:1fr}.todo345-goal-progress b{display:none}.todo345-goal-tasks{margin-left:18px}.todo345-filter-details>.card{padding:10px!important}}
