:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#30343c;background:#f5f5f5;font-size:14px;--accent:#596cbd}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:4px;background:var(--accent);color:white;padding:8px 12px}button:disabled{opacity:.5;cursor:wait}input,select{min-width:0;width:100%;padding:9px;border:1px solid #d9dbe3;border-radius:4px;background:white;color:inherit}input[type=checkbox]{width:auto}label{display:block;margin:8px 0;font-size:13px}label input,label select{display:block;margin-top:5px}form{margin:0}h1,h2,p{margin:0 0 12px}h1{font-size:26px}h2{font-size:15px}small,.muted{font-size:12px;color:#6b6f78}.quiet{background:transparent;color:var(--accent)}.workspace{display:grid;grid-template-columns:235px minmax(300px,1fr) 330px;height:100dvh;overflow:hidden}.navigation{background:#ececed;padding:20px 10px 16px;overflow:auto;border-right:1px solid #ddd}.brand{display:block;padding:4px 8px 22px;font-weight:650}.brand small{font-weight:400}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:4px;font-size:13px}.nav-link span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-link small{font-size:11px}.nav-link.active{background:#d9ddeb;color:#34488e}.nav-link:hover{background:#dfe1e7}.list-group{border-top:1px solid #d0d0d4;margin-top:16px;padding-top:10px}.list-group summary{padding:9px;font-weight:600;cursor:pointer}.list-group summary span{float:right;font-weight:400;color:#777}.list-icon{color:var(--accent)}.group-note{font-size:11px;color:#737780;padding:16px 10px;line-height:1.5}.settings{font-size:12px;padding:10px;line-height:1.5}.settings p{margin-top:10px;overflow-wrap:anywhere}.settings form{margin:5px 0}.task-pane{background:linear-gradient(145deg,#6173bd,#8290d4);display:flex;flex-direction:column;min-width:0;padding:24px 16px 16px}.list-heading{color:white;padding-bottom:14px}.heading-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.heading-line h1{overflow-wrap:anywhere;margin:0}.heading-line .quiet{color:white;background:#ffffff18}.list-heading p{font-size:12px;margin-top:5px}.search-form{display:flex;gap:6px}.search-form input{background:#ffffffdc;border:0;padding:7px 10px}.search-form button{color:white}.task-scroll{overflow:auto;flex:1;min-height:0}.tasks{list-style:none;padding:0;margin:0}.task{display:flex;align-items:center;min-height:46px;background:white;border-radius:4px;margin-bottom:2px;padding:3px 7px 3px 3px;gap:2px}.task.selected{background:#dce0f1}.task-main{flex:1;min-width:0;padding:4px 5px}.task-title,.task-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-title{font-size:13px;line-height:17px}.task-meta{font-size:11px;color:#6c707a;line-height:14px}.completion{width:36px;height:36px;background:transparent;padding:9px;color:var(--accent);display:flex;align-items:center;justify-content:center}.completion span{display:block;width:17px;height:17px;border:1.5px solid #868b94;border-radius:50%;font-size:12px;line-height:14px;flex-shrink:0}.completion:hover span{border-color:var(--accent);background:#e8ebfa}.is-completed .completion span{background:var(--accent);color:white;border-color:var(--accent)}.is-completed .task-title{text-decoration:line-through;color:#777}.row-order{display:flex}.row-order button{padding:6px;min-height:30px}.quick-add{margin-top:12px;color:white;background:#45569866;border-radius:5px;padding:8px 10px}.entry{display:flex;align-items:center;gap:8px}.entry input{flex:1}.quick-add .entry input{border:0;background:transparent;color:white}.quick-add input::placeholder{color:white}.quick-add button{background:#ffffff20}.quick-add summary{font-size:11px;padding:8px 0 2px;cursor:pointer}.quick-add label{flex:1}.field-pair{display:flex;gap:10px}.field-pair>*{flex:1;min-width:0}.pagination{display:flex;justify-content:space-between;color:white;font-size:12px;padding:12px 4px}.task-scroll>.quiet,.task-scroll>form button{color:white}.empty{padding:36px 20px;background:#ffffffce;border-radius:4px;line-height:1.6}.details-pane{background:#fafafa;overflow:auto;padding:16px;border-left:1px solid #dedee3}.detail-placeholder{height:100%;display:grid;place-items:center;text-align:center;color:#888;font-size:13px}.detail-heading{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:18px}.detail-heading a{color:var(--accent)}#save-status{color:#767b86;text-align:right}.detail-title input{font-size:16px;font-weight:600;background:white}.steps,.detail-section{border-top:1px solid #e2e3e8;margin-top:14px;padding-top:16px}.steps h2 small{float:right}.step{display:flex;align-items:center;gap:2px;margin:3px -5px}.step-edit{flex:1;min-width:0}.step-edit input{padding:8px 2px;border-color:transparent;background:transparent;font-size:13px}.step-edit input:focus{background:white;border-color:#a2acd2}.step.is-completed .step-edit input{text-decoration:line-through;color:#888}.delete-step{padding:8px}.add-step{margin-top:10px}.add-step input{border:0;background:transparent}.detail-section>form:not([data-autosave]):not([data-recurrence]){display:inline-block}.detail-section p{line-height:1.5}.detail-section fieldset{border:0;padding:0;margin:14px 0}.detail-section legend{font-size:13px;font-weight:600}.weekdays{display:flex;flex-wrap:wrap;gap:6px}.weekdays label{display:flex;align-items:center;gap:3px;font-size:11px;margin:0}.weekdays input{margin:0}.repeat-options[hidden]{display:none}.notice{background:#fff0c4;color:#57451b;padding:12px;border-radius:4px;line-height:1.5}.mobile-back{display:none}.welcome{max-width:680px;margin:12vh auto;padding:28px;line-height:1.7}.welcome h1{font-size:48px;line-height:1.15}.eyebrow{letter-spacing:2px;font-size:12px}.welcome button{margin:15px 0}.panel{padding:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:2px solid #344aab;outline-offset:2px}
@media(min-width:761px) and (max-width:1100px){.workspace{grid-template-columns:190px minmax(260px,1fr) 290px}.task-pane{padding:18px 10px}.details-pane{padding:12px}.navigation{padding-left:6px;padding-right:6px}}
@media(max-width:760px){.workspace{display:block;height:100dvh}.workspace>.navigation,.workspace>.task-pane,.workspace>.details-pane{display:none;height:100%;width:100%}.workspace.pane-navigation>.navigation{display:block}.workspace.pane-tasks>.task-pane{display:flex}.workspace.pane-details>.details-pane{display:block}.navigation{padding:calc(16px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom))}.task-pane{padding:calc(12px + env(safe-area-inset-top)) 10px calc(12px + env(safe-area-inset-bottom))}.details-pane{padding:calc(16px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom))}.mobile-back{display:block;margin-bottom:12px;font-size:15px}.nav-link{min-height:44px;font-size:15px}.task{min-height:52px}.completion{width:44px;height:44px;padding:12px}.task-title{font-size:14px;line-height:19px}.task-meta{font-size:11px}.row-order button{min-height:44px;min-width:28px}.detail-heading{font-size:13px}.detail-heading a{padding:10px 0}.detail-title input,input,select{font-size:16px}.quick-add summary{padding:10px 0 2px}.list-heading h1{font-size:24px}.step-edit input{font-size:16px}.delete-step{min-width:44px;min-height:44px}.notice{font-size:13px}.welcome{margin:7vh auto}.welcome h1{font-size:38px}}
/* V3: every grid item can shrink; scroll stays inside its pane. */
html,body{width:100%;max-width:100%;overflow-x:hidden}.workspace{width:100%;min-height:0;grid-template-rows:minmax(0,1fr)}.workspace>*{min-height:0;min-width:0;max-width:100%;overscroll-behavior:contain}.navigation,.details-pane,.task-scroll{overflow-y:auto;overflow-x:hidden}.task-pane{min-height:0}.list-heading,.quick-add{flex-shrink:0}.task,.step,.entry,.heading-line,.field-pair{min-width:0;max-width:100%}.task>form,.step>form:not(.step-edit){flex-shrink:0}input[type=date]{max-width:100%;min-width:0;appearance:none}.detail-section,.detail-title,fieldset{min-width:0}.task{touch-action:pan-y}.danger{background:#b72e39;color:white}.swipe-delete{display:none}.delete-revealed .swipe-delete{display:block}.delete-revealed .row-order{display:none}.planned-pane{background:#d3efed;--accent:#167674}.planned-pane .list-heading,.planned-pane .list-heading .quiet,.planned-pane .pagination,.planned-pane .search-form button{color:#176e6c}.planned-pane .quick-add{background:#b9dfdd;color:#176e6c}.planned-pane .quick-add input,.planned-pane .quick-add input::placeholder{color:#176e6c}.planned-pane .quick-add button{color:#176e6c}.periods{display:flex;flex-wrap:wrap;gap:5px;font-size:12px}.periods a{padding:6px;border-radius:3px}.periods .active{background:#b8dfdc}.planned-mode label{display:flex;align-items:center;gap:10px}.planned-mode select{width:auto;max-width:180px}.date-header{font-size:12px;color:#176e6c;padding:9px 0 5px}.date-header:first-child{padding-top:0}.planned-pane .task{margin-bottom:4px}.eligibility .quiet{color:white;font-size:12px;padding-left:0}[draggable=true]{cursor:grab}.step input{cursor:text}.step:active{cursor:grabbing}
@media(min-width:761px) and (max-width:1100px){.workspace{grid-template-columns:180px minmax(0,1fr) 280px}}
@media(max-width:760px){.workspace{max-width:100vw}.details-pane,.navigation{overflow-y:auto}.task-pane{overflow:hidden}.field-pair{flex-wrap:wrap}.detail-heading{flex-wrap:wrap}.step{margin-left:0;margin-right:0}.periods a{padding:9px 6px}}

.order-handle{touch-action:none;cursor:grab;padding:6px 2px;font-size:18px;flex-shrink:0}.drop-target{border-top:2px solid var(--accent)}

dialog{border:0;border-radius:8px;padding:24px;max-width:min(400px,90vw);box-shadow:0 8px 48px #0004}dialog::backdrop{background:#0006}dialog p{line-height:1.5}
