:root{font-family:"Segoe UI",system-ui,-apple-system,sans-serif;color:#242424;background:#f5f5f5;font-size:14px;--accent:#386c58;--line:#e0e0e0;--muted:#616161;--tint:#e9f2ed}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid #d1d1d1;border-radius:5px;background:#fff;color:#242424;padding:9px 14px;cursor:pointer;min-height:40px;font-weight:600;transition:background .12s}button:hover{background:#f0f0f0}button.primary{background:var(--accent);border-color:var(--accent);color:white}button.primary:hover{background:#285540}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #0f6cbd;outline-offset:3px}input,select,textarea{border:1px solid #bdbdbd;border-bottom-color:#737373;border-radius:4px;background:white;padding:9px 10px;max-width:100%;color:inherit}input,textarea{width:100%}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:13px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(25px,3vw,34px);font-weight:600;letter-spacing:-.8px;margin-bottom:10px}h2{font-size:22px;font-weight:600;margin-bottom:8px}h3{font-size:16px;font-weight:600;margin-bottom:18px}.appbar{height:60px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px}.brand{display:flex;align-items:center;gap:14px;font-size:16px}.brand-icon{display:grid;place-items:center;background:var(--accent);color:#fff;width:32px;height:32px;border-radius:8px}.divider{color:#bdbdbd}.local-pill,.badge{font-size:12px;border-radius:20px;padding:5px 10px;background:var(--tint);color:#24513e}.skip{position:absolute;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}main{max-width:1500px;margin:0 auto;padding:32px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700;color:var(--accent);margin-bottom:10px}.subtitle,.muted,.hint{color:var(--muted);line-height:1.6}.subtitle{font-size:15px;margin:0}.workspace-icon{font-size:46px;color:var(--accent);background:#e5eee8;padding:6px 20px;border-radius:16px}.banner{font-size:12px;background:#fff7dd;border-left:3px solid #c29d39;padding:10px 14px;color:#665119;margin-bottom:18px}.account-settings{background:#fff;padding:14px 18px;border:1px solid var(--line);border-radius:8px}summary{cursor:pointer;font-weight:600}#login{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:16px 0 8px}#login label{min-width:240px}.hint{font-size:12px;margin:10px 0}.message{font-size:14px;min-height:22px;margin:14px 0;color:#24513e;font-weight:600;overflow-wrap:anywhere}.confirmation{position:sticky;top:8px;z-index:5;border:1px solid #c29d39;background:#fff8e4;padding:18px;border-radius:8px;box-shadow:0 4px 16px #0001;margin-bottom:16px}.confirmation button{margin-right:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 16px}.section-heading p{margin:0}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding:18px 0 10px}.view-switch{display:flex;align-self:end;gap:3px;background:#e8e8e8;padding:3px;border-radius:6px}.view-switch button{border-color:transparent;min-height:35px;background:transparent}.view-switch button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px #0002;color:#24513e}.search-label{flex:1;min-width:190px}.toolbar label{min-width:130px}.toolbar select{width:100%}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}.lane{min-width:0;background:#ededed;padding:12px;border-radius:8px;min-height:200px}.lane-heading{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin:0 0 14px;padding:2px 2px 8px;border-bottom:3px solid #b5b5b5}.lane[data-status="In progress"] .lane-heading{border-color:#688fd0}.lane[data-status="Blocked"] .lane-heading{border-color:#c28534}.lane[data-status="Done"] .lane-heading{border-color:#47936c}.count{font-size:12px;background:#fff;padding:2px 7px;border-radius:20px;color:#616161}.task-card{display:flex;flex-direction:column;gap:12px;align-items:stretch;width:100%;padding:16px;text-align:left;border:1px solid #e0e0e0;border-radius:7px;background:#fff;box-shadow:0 1px 2px #00000008;margin-bottom:10px;font-weight:400}.task-card:hover{background:#fff;border-color:#8ca99c;box-shadow:0 3px 10px #0000000d}.task-card .task-label{font-size:11px;letter-spacing:.5px;color:#757575}.task-card .task-name{font-weight:600;line-height:1.45;font-size:15px;overflow-wrap:anywhere}.card-bottom{display:flex;justify-content:space-between;gap:8px;align-items:center}.person{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;color:#505050}.person-name{overflow-wrap:anywhere}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#dce8fa;color:#284a7e;font-weight:650;font-size:11px}.avatar[data-tone="sam"]{background:#f1e0f4;color:#763e80}.avatar[data-tone="coordinator"]{background:#e0ece2;color:#325b37}.status-tag{font-size:11px;border-radius:4px;background:#f0f0f0;padding:4px 6px;white-space:nowrap;color:#555}.status-tag[data-status="In progress"]{background:#e9f0fc;color:#315b94}.status-tag[data-status="Blocked"]{background:#fff0da;color:#80500d}.status-tag[data-status="Done"]{background:#e7f3e9;color:#2c6338}.empty{font-size:13px;color:#737373;padding:12px 0;line-height:1.6}.task-list{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:8px}.task-list .task-card{display:grid;grid-template-columns:70px minmax(140px,1fr) minmax(210px,auto);border:0;border-bottom:1px solid var(--line);box-shadow:none;margin:0;border-radius:0;align-items:center}.task-list .task-card:last-child{border-bottom:0}.management{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;margin-top:28px}.management:has(form:not([hidden])){display:grid}.management:has(form[hidden]):not(:has(form:not([hidden]))){display:none}.management label{margin-bottom:16px}.management form+form{border-left:1px solid var(--line);padding-left:28px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.danger{color:#a4262c}.task-detail{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px}.back{border:0;padding-left:0;background:transparent;color:var(--accent);margin-bottom:22px}.detail-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px}.detail-heading h2{font-size:26px;overflow-wrap:anywhere}.detail-heading .avatar{width:40px;height:40px;font-size:14px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding-top:28px}#update label{margin-bottom:16px}#update select{align-self:start;min-width:180px}.notice{background:#f6f8f6;border-left:3px solid #b7cdbf;margin-top:28px;padding:16px;color:#505e54;font-size:13px;line-height:1.6}.notice p{margin:6px 0 0}.history-panel{border-left:1px solid var(--line);padding-left:30px}.timeline{list-style:none;margin:0 0 28px;padding:0}.timeline li{position:relative;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;padding:0 0 22px 20px;border-left:1px solid #d1dfd5;font-size:13px}.timeline li:before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:#779c84}.audit{margin-top:18px;color:#616161}.timeline:empty:after{content:"No updates yet. Add an update to get started.";display:block;color:#737373;font-size:13px;padding:12px 0}footer{font-size:12px;color:#737373;margin-top:30px}[hidden]{display:none!important}@media(max-width:1100px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}.card-bottom{flex-wrap:wrap}}@media(max-width:650px){main{padding:18px 14px}.appbar{padding:0 16px}.brand{gap:8px}.brand span:last-child{font-size:14px}.workspace-icon{display:none}.page-heading{margin-bottom:16px}#login label{min-width:0;width:100%}.toolbar{gap:10px}.toolbar label{flex:1 1 140px}.view-switch{width:100%}.board{grid-template-columns:1fr}.lane{min-height:100px}.task-list .task-card{display:flex;gap:8px}.management{grid-template-columns:1fr;padding:18px}.management form+form{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.task-detail{padding:18px}.detail-heading{align-items:start;flex-direction:column}.detail-grid{grid-template-columns:1fr;gap:24px}.history-panel{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}button,select{min-height:44px}.confirmation{top:0}.task-card{padding:16px}.local-pill{font-size:11px}#plan-summary{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Scoped Product Design polish: preserve STEP tokens and existing layouts. */
.page-heading{margin-bottom:16px}h1{font-size:28px}.page-heading .eyebrow{margin-bottom:6px}main{padding-top:24px}.banner{margin-bottom:12px}.plan-actions{display:flex;gap:12px;align-items:center}.message:empty{display:none}.message:not(:empty){padding:10px 14px;background:var(--tint);border-left:3px solid var(--accent);border-radius:4px}.account-settings:not([open]){padding:12px 16px}.section-heading{margin-top:18px}.task-detail{scroll-margin-top:16px}.task-card:focus-visible{outline-offset:2px}.confirmation{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));z-index:20;box-shadow:0 0 0 100vmax #0006,0 12px 40px #0003}.confirmation button{margin-top:8px}#detail-message{position:sticky;top:8px;z-index:4}.timeline.audit:empty:after{content:"No changes recorded yet."}@media(max-width:650px){h1{font-size:25px}.section-heading{gap:12px;align-items:start}.plan-actions{flex-direction:column;align-items:end;gap:8px}.confirmation{top:50%}}

.message[data-kind="error"]{background:#fdf3f4;color:#8e2028;border-color:#b10e1e} #task-title{scroll-margin-top:64px}

.task-list>.empty{padding:20px;margin:0}.account-settings{margin-bottom:16px}
/* STEP color refinement: semantic colors only; structure and behavior unchanged. */
:root{--canvas:#f7f4ed;--surface:#fffefa;--ink:#203a3a;--accent:#086b68;--accent-hover:#07524f;--line:#d1dbd5;--muted:#526462;--tint:#d9eee7;--focus:#6445af;--control-border:#758984;--todo:#675291;--todo-bg:#eee8f6;--progress:#225f9d;--progress-bg:#e2eefb;--blocked:#8a4d12;--blocked-bg:#fff0d8;--done:#226345;--done-bg:#dcefe2;--error:#9f293f;--error-bg:#fce9ed;color:var(--ink);background:var(--canvas)}
.appbar{background:#124b4b;color:#fffefa;border-color:#124b4b}.brand-icon{background:#bce6d5;color:#124b4b}.divider{color:#bce6d5}.local-pill{background:#d9eee7;color:#154f44}
h1,h2,h3{color:#174e4c}.eyebrow{color:var(--accent)}
button{background:var(--surface);color:var(--ink);border-color:var(--control-border)}button:hover{background:#e8f3ee}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
button:disabled,select:disabled{opacity:1;background:#e4e8e3;color:#596762;border-color:#9aa8a1}button.primary:disabled{background:#e4e8e3;color:#596762;border-color:#9aa8a1}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline-color:var(--focus)}
input,select,textarea{background:var(--surface);border-color:var(--control-border);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.account-settings,.management,.task-detail,.task-list{background:var(--surface)}.badge{background:var(--tint);color:#154f44}.banner{background:var(--blocked-bg);color:#70420f;border-color:#a9691c}
.view-switch{background:#dce6df}.view-switch button{color:#345b55}.view-switch button:hover{background:#cce5da}.view-switch button[aria-pressed=true]{background:var(--accent);color:#fff}
.lane{background:#e8eee8}.lane[data-status="To do"]{background:var(--todo-bg)}.lane[data-status="In progress"]{background:var(--progress-bg)}.lane[data-status="Blocked"]{background:var(--blocked-bg)}.lane[data-status="Done"]{background:var(--done-bg)}
.lane-heading{border-color:#657e71;color:var(--ink)}.lane[data-status="To do"] .lane-heading{border-color:var(--todo)}.lane[data-status="In progress"] .lane-heading{border-color:var(--progress)}.lane[data-status="Blocked"] .lane-heading{border-color:var(--blocked)}.lane[data-status="Done"] .lane-heading{border-color:var(--done)}
.count{background:var(--surface);color:var(--ink)}.task-card{background:var(--surface);border-color:#cbd8d0;color:var(--ink)}.task-card:hover{background:#f0faf5;border-color:var(--accent)}.task-card .task-label{color:var(--muted)}.person{color:#405b55}
.status-tag{background:var(--todo-bg);color:#513b79}.status-tag[data-status="In progress"]{background:var(--progress-bg);color:#174e87}.status-tag[data-status="Blocked"]{background:var(--blocked-bg);color:#70420f}.status-tag[data-status="Done"]{background:var(--done-bg);color:#1a573a}
.avatar{background:#d9e9fa;color:#204c7d}.avatar[data-tone="sam"]{background:#efdef1;color:#743a76}.avatar[data-tone="coordinator"]{background:#cfeadd;color:#215a3f}
.message{color:#154f44}.message:not(:empty){background:var(--tint);border-color:var(--accent)}.message[data-kind="error"]{background:var(--error-bg);color:var(--error);border-color:var(--error)}.danger{color:var(--error)}.danger:hover{background:var(--error-bg)}
.confirmation{background:#fff5e2;border-color:#a9691c;color:#593b17}.notice{background:#eaf3eb;border-color:#5e8d73;color:#365849}.back{color:var(--accent);background:transparent}.empty,footer,.timeline:empty:after,.audit{color:var(--muted)}.timeline li{border-color:#a7c1b1}.timeline li:before{background:var(--accent)}

/* Shared ownership and labels extend the existing STEP palette. */
.people {display:flex;flex-wrap:wrap;gap:8px;min-width:0}.people .person{font-size:12px}.card-bottom{flex-wrap:wrap}.label-list{display:block;color:var(--ink,#24443f);font-size:12px;margin-top:12px;overflow-wrap:anywhere}.assignee-options{display:grid;gap:8px}.assignee-choice{display:flex;align-items:center;gap:10px;min-height:44px}.assignee-choice input{width:20px;height:20px;flex:none}fieldset{border:1px solid #7b8b83;border-radius:8px;padding:12px;margin:12px 0}legend{font-weight:600}#organize{border-top:1px solid #ccd4cd;margin-top:24px;padding-top:16px}#ownership{overflow-wrap:anywhere}.toolbar{flex-wrap:wrap}.toolbar label{min-width:120px;flex:1}.toolbar .search-label{flex:2}#detail-person{max-width:100%}@media(max-width:600px){.toolbar label{min-width:0;flex:1 1 40%}.assignee-choice{overflow-wrap:anywhere}}
.management>form,.detail-grid>div,fieldset{min-width:0}select,input,textarea{max-width:100%;min-width:0}#create-visibility,#edit-visibility{width:100%}
label.assignee-choice{flex-direction:row;justify-content:flex-start;text-align:left}

.assignee-identity{display:flex;flex-direction:column;gap:3px;min-width:0}.assignee-email{font-size:12px;font-weight:400;color:var(--muted);overflow-wrap:anywhere}.assignee-choice[hidden]{display:none!important}

/* Sign-in fields retain the workspace's existing palette and focus treatment. */
#login {display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
#login-fields {display:grid;gap:8px;width:320px;max-width:100%}
#login-fields input {min-height:44px}
#login-fields label:not(:first-child) {margin-top:4px}
#login-fields[hidden] {display:none}

/* Midnight Focus — selected local design direction. */
:root{color-scheme:dark;--canvas:#0d1828;--surface:#142138;--ink:#eef3ff;--muted:#b0bed2;--line:#344760;--accent:#2161d9;--accent-hover:#2b6cdb;--focus:#86b6ff;--control-border:#657da4;--tint:#1b3457;--todo:#c4b2ed;--todo-bg:#28253e;--progress:#9cc5ff;--progress-bg:#1c304d;--blocked:#efcb88;--blocked-bg:#362f24;--done:#9ed9bd;--done-bg:#1c3635;--error:#ffb5c5;--error-bg:#432836;background:var(--canvas);color:var(--ink)}
body{background:var(--canvas)}h1,h2,h3{color:var(--ink)}button,input,select,textarea{border-radius:6px}button{background:#1a2a43;color:var(--ink);border-color:var(--control-border);min-height:44px}button:hover{background:#263c5d}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button:disabled,select:disabled,button.primary:disabled{background:#263246;color:#bac6d7;border-color:#576981;cursor:not-allowed}input,select,textarea{background:#101d31;color:var(--ink);border-color:var(--control-border)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{accent-color:#6ba5ff}a{color:#acd0ff}.eyebrow{color:#8bbaff}.appbar{background:#101d30;border-color:var(--line)}.brand-icon{background:#213f6b;color:#e7f1ff}.divider{color:var(--muted)}.local-pill,.badge{background:#203550;color:#d5e5ff}.account-settings,.management,.task-list{background:#101e32;border-color:var(--line)}.banner{background:#1b2b43;border-color:#7aa7eb;color:#d3e1f5}.view-switch{background:#102039}.view-switch button{color:#bcccdf}.view-switch button:hover{background:#243d61}.view-switch button[aria-pressed=true]{background:#234b83;color:#fff;border-color:#5389da}.lane{background:#1c2b40;padding:16px;min-height:230px}.lane-heading{color:var(--ink);font-size:16px}.count{background:#30415c;color:#f1f5ff}.task-card{background:#101d31;color:var(--ink);border-color:#405774;padding:20px;box-shadow:none}.task-card:hover{background:#1d3150;border-color:#8bbaff}.task-card .task-name{font-size:16px}.task-card .task-label,.person{color:var(--muted)}.task-card .person-name{color:#d4deee}.task-card .status-tag{align-self:flex-start}.status-tag{background:#383252;color:#e1d5ff}.status-tag[data-status="In progress"]{background:#24466f;color:#c1ddff}.status-tag[data-status="Blocked"]{background:#514326;color:#ffe1a9}.status-tag[data-status="Done"]{background:#204b3d;color:#bcebd4}.avatar{background:#c0dcff;color:#183b68}.avatar[data-tone=sam]{background:#d6c4f3;color:#382355}.avatar[data-tone=coordinator]{background:#bbdfd4;color:#20463d}.label-list{color:#c8d9f1}.notice{background:#1a2c42;border-color:#678cae;color:#c9d8eb}.message,.message:not(:empty){background:#193b3b;color:#c3f0de;border-color:#78c5a4}.message[data-kind=error]{background:var(--error-bg);color:var(--error);border-color:#ffb5c5}.danger{color:#ffb5c5}.danger:hover{background:#432836}.empty,footer,.audit,.timeline:empty:after{color:var(--muted)}.timeline li{border-color:#47617f}.timeline li:before{background:#86b6ff}.skip{background:#203956;color:white}fieldset,#organize{border-color:var(--line)}
body[data-session=true] .page-heading,body[data-session=true]>.appbar,body[data-session=true] main>.banner{display:none}body[data-session=true] .account-settings{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:transparent;border:0;border-bottom:1px solid var(--line)}body[data-session=true] .account-settings h2{font-size:14px;margin:0}body[data-session=true] #auth-status{margin:0;font-size:12px}body[data-session=true] #login{margin:0 0 0 auto}body[data-session=true] .account-settings>p:last-child{display:none}body[data-session=true] #sign-in{display:none}main{max-width:1600px;padding:24px 36px}.section-heading{margin-top:24px;margin-bottom:26px}.section-heading h2{font-size:26px}.toolbar{padding:24px 0 16px;gap:14px}.toolbar label{font-size:12px}.board{gap:20px}.management{margin-top:48px}.management form+form{border-color:var(--line)}
body.task-open{overflow:hidden}.task-detail{position:fixed;inset:0;margin:auto;width:min(900px,calc(100vw - 64px));max-width:none;max-height:88dvh;padding:34px;overflow:auto;overscroll-behavior:contain;background:var(--surface);color:var(--ink);border:1px solid #506582;border-radius:12px;box-shadow:0 28px 85px #0009;scrollbar-color:#68809e #142138}.task-detail::backdrop{background:rgba(4,12,24,.62)}.task-detail .back{position:absolute;right:24px;top:20px;margin:0;padding:8px 12px;min-height:44px;color:#d5e3f7;background:transparent;border:1px solid transparent}.task-detail .back:hover{background:#263c5d}.detail-heading{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:0;border:0;margin-right:42px}.detail-heading h2{font-size:30px;line-height:1.25;letter-spacing:-.6px;margin:0 0 12px}.detail-heading .eyebrow{margin-bottom:12px}.detail-heading .muted{margin-bottom:0}.detail-heading .avatar{width:40px;height:40px;font-size:13px}.detail-heading .person-name{color:#edf4ff;font-size:14px}#detail-person{gap:20px}#ownership{font-size:13px;line-height:1.6;margin:20px 0 0;padding-bottom:24px;border-bottom:1px solid var(--line)}.detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:28px;padding-top:26px}.history-panel{padding-left:26px;border-color:var(--line)}.detail-grid h3{font-size:18px;margin-bottom:20px}#update select{width:100%;align-self:stretch}#note{min-height:122px}#note-hint{margin:0 0 18px}.correction-options{margin:12px 0 18px;font-size:13px;color:var(--muted)}.correction-options[open]>label{margin-top:16px}.correction-options summary,#settings-panel>summary{min-height:36px;align-content:center;color:#c2d8fb}#task-labels-summary{margin-top:18px}#settings-panel{margin-top:28px;border-top:1px solid var(--line);padding-top:14px}#organize{border:0;margin-top:12px;padding-top:0}#organize label{margin-bottom:14px}#update .actions{gap:12px}#reload{font-size:12px;min-height:36px;background:transparent;border-color:transparent;color:#b7cae5}.task-detail .notice{font-size:12px;padding:12px;margin-top:20px}.task-detail .notice strong{font-weight:500}.task-detail .notice p{margin-top:6px}#detail-message{position:static;margin-top:42px}#detail-message:empty{display:none}.timeline li{font-size:13px;line-height:1.7}.history-panel>details{padding-top:12px;border-top:1px solid var(--line)}
.confirmation{position:fixed;inset:0;transform:none;margin:auto;width:min(480px,calc(100vw - 32px));max-height:90dvh;background:#1d2c44;color:var(--ink);border:1px solid #8b9db9;border-radius:12px;padding:26px;box-shadow:0 18px 60px #0009}.confirmation::backdrop{background:#050c19b3}.confirmation p{line-height:1.6}.confirmation button{margin:8px 8px 0 0}.task-detail:focus{outline:none}
@media(min-width:1101px){.toolbar .search-label{min-width:200px;flex:2}.toolbar label{min-width:110px}}
@media(max-width:650px){main{padding:16px}.task-detail{width:100%;height:100dvh;max-height:100dvh;max-width:100%;border:0;border-radius:0;padding:28px 20px;margin:0}.task-detail .back{top:14px;right:12px}.detail-heading{margin-right:44px}.detail-heading h2{font-size:25px}.detail-grid{grid-template-columns:1fr;gap:28px}.history-panel{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}#ownership{padding-bottom:20px}.toolbar label{flex:1 1 42%;min-width:0}.section-heading{align-items:flex-start}.section-heading h2{font-size:24px}.task-detail .actions>button{flex:1 1 auto}.task-detail #reload{flex-basis:100%}body[data-session=true] .account-settings{gap:8px;padding:8px 0}body[data-session=true] .account-settings h2{display:none}body[data-session=true] #auth-status{flex:1;overflow-wrap:anywhere}.confirmation{width:calc(100vw - 24px);padding:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep the default task view compact; secondary record guidance expands on demand. */
.task-detail{background:linear-gradient(125deg,#14243b,#111e32)}.task-detail::backdrop{background:rgba(4,12,24,.48)}.detail-heading{gap:12px}#ownership{padding-bottom:18px;margin-top:16px}.detail-grid{padding-top:22px}.correction-options{margin:4px 0 8px}.correction-options summary{min-height:32px}#task-labels-summary{margin-top:8px}#settings-panel{margin-top:20px;padding-top:8px}.task-detail .notice{background:transparent;border:0;padding:0;margin-top:8px;color:var(--muted)}.task-detail .notice summary{min-height:32px;align-content:center;font-size:12px;font-weight:400}#update select{width:min(100%,330px)}

/* Account email landing pages use the selected Midnight Focus theme. */
.account-flow{max-width:640px;padding:36px 20px}.account-card{position:static;width:100%;height:auto;max-height:none;margin:24px 0;padding:32px}.account-card h1{font-size:28px}.account-card label{margin:18px 0 8px}.account-card input{min-height:44px}.account-card button{margin-top:24px}.account-card #account-message{color:#c4dcff;line-height:1.6}.account-card #account-help{color:var(--muted);line-height:1.6}

/* Project workspaces keep the board open and task creation in a modal. */
.project-header{display:flex;align-items:center;gap:20px;margin:28px 0 12px;border-bottom:1px solid var(--line);padding-bottom:12px}#project-tabs{display:flex;gap:8px;overflow-x:auto;flex:1;padding:5px;min-width:0}.project-tab{white-space:nowrap;border-color:transparent;background:transparent;color:var(--muted)}.project-tab[aria-selected=true]{background:#234b83;color:#fff;border-color:#6c9de3}.compact-dialog{width:min(620px,calc(100vw - 48px))}.compact-dialog h2{margin-right:64px}.compact-dialog label{margin-top:18px}.compact-dialog form{margin-top:14px}.compact-dialog input,.compact-dialog select{width:100%;min-height:44px}.compact-dialog .assignee-choice input{width:20px}.compact-dialog .message:empty{display:none}.project-header #new-project{flex-shrink:0}.membership-settings{margin-top:48px;color:var(--muted)}.membership-settings .management{margin-top:16px;grid-template-columns:1fr}.due-label{font-size:12px;color:var(--muted)}.due-label.overdue{color:#ffce99}.trash-item{border-top:1px solid var(--line);padding:20px 0}.trash-item h3{margin-bottom:8px}#delete-task{margin-top:24px}#trash-title{margin-right:70px}#trash-dialog>.hint{max-width:650px}.toolbar{row-gap:18px}.plan-actions{flex-wrap:wrap}#project-heading{overflow-wrap:anywhere}
@media(max-width:650px){.project-header{align-items:flex-start;flex-wrap:wrap;gap:10px}#project-tabs{flex-basis:100%}.compact-dialog{width:100%;max-width:100%;height:100dvh;padding:28px 20px}.section-heading{flex-wrap:wrap}.plan-actions{flex-direction:row;align-items:center}.plan-actions .badge{display:none}.toolbar{gap:12px}.project-tab{max-width:260px;overflow:hidden;text-overflow:ellipsis}}
#subtasks-panel{margin-top:22px;border-top:1px solid var(--line);padding-top:14px}#subtasks-panel>summary{min-height:36px;align-content:center;color:#c2d8fb}.subtask-count{font-size:12px;color:#c3dcff}.subtask-row{padding:14px 0;border-bottom:1px solid var(--line)}.subtask-line{display:flex;align-items:center;gap:12px}.subtask-line input[type=checkbox]{width:22px;height:22px;flex:none}.subtask-row summary{margin-top:10px;min-height:32px;color:var(--muted);font-size:12px}.subtask-row label{margin-top:12px}.subtask-row .actions{gap:8px}#add-subtask{margin-top:16px}
.toolbar .search-label{max-width:480px}.filter-panel{margin-left:auto;align-self:end}.filter-panel>summary{padding:12px 16px;min-height:44px;border:1px solid var(--control-border);border-radius:6px;color:var(--ink);background:#1a2a43}.filter-panel[open]{flex-basis:100%;margin-left:0}.filter-panel[open]>summary{width:max-content;margin-left:auto}.filter-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0 4px;padding:22px;background:#132238;border:1px solid var(--line);border-radius:8px}.toolbar .filter-options label{min-width:0}.filter-options button{align-self:end}@media(max-width:650px){.toolbar .view-switch{width:auto}.toolbar .search-label{flex-basis:100%;max-width:none}.filter-panel{margin-left:0}.filter-panel[open]>summary{margin-left:0}.filter-options{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:14px}}

/* Compact subtask controls retain 44px touch targets and explicit names. */
.subtask-line{gap:8px}.subtask-line>input:not([type=checkbox]){flex:1;min-width:0}.subtask-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:24px;line-height:1;border-color:transparent;background:transparent;color:#c2d8fb}.subtask-icon:hover{background:#283a55;border-color:#7b91b2}.subtask-handle{cursor:grab;touch-action:none;font-size:21px}.subtask-handle:active{cursor:grabbing}.subtask-remove{color:#ffabb6}.subtask-remove:hover{background:#492939;border-color:#ffabb6;color:#ffd4da}.subtask-moves{display:flex;gap:8px;padding:4px 0 0 0}.subtask-moves[hidden]{display:none}.subtask-row.dragging{opacity:.7}.subtask-row.drop-target{outline:2px dashed #9cbfff;outline-offset:3px;background:#203450}.subtask-reorder-help{font-size:12px}.subtask-line input[type=checkbox]{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.task-detail .subtask-actions>.subtask-icon{flex:0 0 44px}.subtask-actions #add-subtask{margin-top:0}

/* Quiet hierarchy: a single reading column, clear primary actions, details on demand. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--line:#354054;--muted:#b9c4d6}
button,input,select,textarea{border-radius:10px}button{font-weight:550}button.primary{background:#295fc7;border-color:#295fc7}button.primary:hover{background:#2354b3}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #a8c7ff;outline-offset:3px}
.task-detail{background:#151f30;box-shadow:0 28px 100px #0009;border:1px solid #4d5b70;border-radius:20px;padding:40px 44px}.task-detail::backdrop{background:#060c17b8}
#detail{width:min(760px,calc(100vw - 48px));max-height:90dvh}.detail-grid{display:block}.detail-heading{display:block;margin:0 50px 0 0;padding:0;border:0}.detail-heading h2{font-size:28px;font-weight:650;line-height:1.22;letter-spacing:-.7px;margin:12px 0}.detail-heading .eyebrow{font-size:12px;font-weight:500;letter-spacing:.3px;color:var(--muted)}#detail-person{margin-top:16px;gap:12px}#detail-person .avatar{width:26px;height:26px;font-size:11px;background:#2b405e;color:#dce8fc}#detail-person .person{font-size:13px}#task-access{font-size:13px;margin:0;color:var(--muted)}#task-due{margin:10px 0 28px;font-size:13px}#detail #task-due.overdue{color:#ffb4bf}
#update{display:grid;gap:20px}#update>label{gap:10px;font-weight:500;font-size:13px}#update select{width:100%;max-width:220px;min-height:44px}#update textarea{min-height:78px}#update .actions{margin:0;gap:12px}#update .correction-options{order:5;margin:0 0 10px;border:0;padding:0}#update .correction-options>summary{font-size:12px;font-weight:400;color:var(--muted);min-height:44px;align-content:center}#update #cancel-update{background:transparent;border-color:transparent;color:#c9d9f1}.focus-hint{display:none}#update:focus-within .focus-hint{display:block;margin:-10px 0 0}
#settings-panel,#subtasks-panel,.history-panel,#task-options{margin:0;padding:0;border:0;border-top:1px solid var(--line);background:transparent}#settings-panel>summary,#subtasks-panel>summary,.history-panel>summary,#task-options>summary{min-height:64px;align-content:center;padding:18px 0;font-weight:500;font-size:15px;color:#e1e7f1}#settings-panel[open],#subtasks-panel[open],.history-panel[open],#task-options[open]{padding-bottom:26px}.task-section.has-draft>summary::after{content:" · Unsaved";font-size:12px;color:#ffe0a1}.history-panel h3{margin-top:20px}.history-panel>details{margin-top:20px}#task-options>summary{font-size:13px;color:var(--muted)}#task-meta{margin:22px 0 10px}#ownership{border:0;margin:0 0 22px;padding:0;line-height:1.65}#task-labels-summary{margin-bottom:18px}#task-labels-summary:empty{display:none}.draft-indicator{position:sticky;top:0;z-index:3;background:#26354a;color:#ffe0a1;border-left:3px solid #efc276;border-radius:6px;padding:12px 16px;margin:0 0 20px;font-size:13px}
.subtask-help{margin:0 0 8px}.subtask-help>summary{font-size:12px;min-height:44px;align-content:center;font-weight:400;color:var(--muted)}.subtask-row{border:0;padding:12px 0}.subtask-row+ .subtask-row{border-top:1px solid #2c374a}.subtask-row summary{min-height:44px;align-content:center;margin:0 0 0 52px;font-weight:400}.subtask-line input:not([type=checkbox]){background:transparent;border-color:transparent;font-weight:500;padding-left:4px}.subtask-line input:not([type=checkbox]):hover,.subtask-line input:not([type=checkbox]):focus{border-color:#7b8ba5;background:#111b2b}.subtask-row details[open]{padding-bottom:12px}.subtask-row details[open] label{font-weight:400}.subtask-actions{margin-top:12px}.subtask-icon{border-radius:10px}.subtask-actions button.primary{margin-left:auto}.task-detail .subtask-actions>.subtask-icon{flex:0 0 44px}
#organize{display:grid;gap:20px}#organize label{font-weight:500;gap:10px}#organize p{margin:0}#organize fieldset{margin:0;padding:20px;border-color:#4d5b70}#organize .actions{margin:0}
.lane{background:transparent!important;border:0;padding:16px 8px;min-height:220px}.lane-heading{border:0!important;padding-bottom:16px;font-weight:500}.lane-heading .count{background:transparent;color:var(--muted);font-weight:400}.task-card{background:#1a2639;border:1px solid #3f5069;border-radius:14px;padding:24px;box-shadow:0 3px 14px #0002}.task-card:hover{background:#23334b;border-color:#8b9dbb}.task-card .task-name{font-size:16px;line-height:1.5;font-weight:600}.task-card .task-label{font-size:11px;letter-spacing:.4px;color:var(--muted)}.task-card .status-tag{background:transparent;color:#c8d7ed;padding:0;font-size:11px}.task-card .avatar{width:24px;height:24px;background:#30435e;color:#dce8fc;font-size:10px}.board{gap:24px}.section-heading{border:0;padding:24px 0 30px}.section-heading h2{font-size:28px;letter-spacing:-.5px}.project-header{border-color:var(--line);padding-bottom:16px}#project-tabs [role=tab]{background:transparent;border-color:transparent;color:#b9c4d6;border-radius:8px}#project-tabs [role=tab][aria-selected=true]{background:#263850;color:#f2f6ff;border-color:transparent}.filter-panel>summary{background:transparent;border-color:transparent;font-weight:400}.toolbar{padding-bottom:8px}.toolbar .search-label{font-weight:400}.view-switch{border-radius:10px;background:#1b273a}.view-switch button[aria-pressed=true]{background:#354862;border-color:transparent}.plan-actions #open-trash{background:transparent;border-color:transparent;color:#c9d9f1}.plan-actions #role-badge{background:transparent;color:var(--muted);font-size:11px;padding:0 8px}.account-settings{box-shadow:none!important}
@media(max-width:650px){#detail{width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:32px 24px}.task-detail{padding:32px 24px}.detail-heading h2{font-size:25px}.detail-heading{margin-right:44px}#detail-person{margin-top:14px}.detail-grid{display:block}.history-panel{padding:0}#update textarea{min-height:88px}.task-detail .actions>button{flex:0 1 auto}.task-detail .subtask-actions>.subtask-icon{flex:0 0 44px}.task-detail .subtask-actions>#save-subtasks{flex:1}#task-options .actions{flex-direction:column;align-items:stretch}.board{gap:12px}.section-heading h2{font-size:25px}.plan-actions #role-badge{display:none}.subtask-line{gap:6px}.subtask-row summary{margin-left:50px}.task-detail .back{right:18px;top:18px}.draft-indicator{top:0}}

#detail .detail-grid{margin-top:0}.task-summary-line{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:18px 0 28px}.task-summary-line #detail-person,.task-summary-line #task-due{margin:0}#update>label{margin:0}#update{gap:18px;margin-bottom:28px}#update .actions{padding-top:2px}.history-panel .correction-options{margin:20px 0}.history-panel .correction-options>summary{min-height:44px;align-content:center;font-weight:400;font-size:13px}.history-panel .correction-options label{margin-top:16px}

#detail-message[data-kind=error]:not(:empty){position:sticky;top:0;z-index:4;margin:0 0 20px}#detail:has(#detail-message[data-kind=error]:not(:empty)) .draft-indicator{position:static}#task-options #reload{min-height:44px}.subtask-line input[type=checkbox]{width:24px;height:24px;min-height:24px}

/* Selected task reference: roomy header, people, aligned fields, checklist, notes. */
#detail { max-width:1040px; padding:32px 42px 40px; }
#detail > #task-context { margin:0 -42px 30px; padding:0 42px 24px; border-bottom:1px solid #344158; font-size:16px; letter-spacing:0; text-transform:none; color:#c9d8f3; }
#detail .detail-heading { margin-bottom:24px; }
.reference-title-row { display:flex; align-items:center; gap:20px; }
#complete-task { appearance:auto; width:26px; height:26px; flex:none; accent-color:#6eacff; }
#detail #task-title { font-size:30px; line-height:1.25; margin:0; }
#detail .task-dates { margin:18px 0 0 46px; font-size:13px; }
.reference-members { display:grid; gap:18px; margin:28px 0 36px; }
.reference-members > label { margin:0; }
.reference-people summary { min-height:44px; display:flex; align-items:center; gap:20px; cursor:pointer; }
.reference-people summary .people { flex-wrap:wrap; }
.reference-people fieldset { margin-top:18px; }
.reference-core h3 { font-size:17px; margin:0 0 20px; }
.reference-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px 28px; margin-bottom:26px; }
.reference-fields label { margin:0; }
#detail .task-summary-line { display:none; }
#detail #settings-panel { border:0; margin:0 0 24px; padding:0; }
#detail #subtasks-panel { border:0; margin:28px 0; padding:0; }
#detail #subtasks-summary { font-size:18px; }
#detail #update { border:0; padding:0; margin-top:32px; }
#detail #note { min-height:110px; }
#detail .reference-members input { background:transparent; }
#detail .task-section summary { min-height:44px; }
@media(max-width:640px){
 #detail {padding:24px 20px;}
 #detail > #task-context {margin:0 -20px 24px;padding:0 20px 20px; padding-right:84px;}
 .reference-fields {grid-template-columns:1fr;gap:18px;}
 #detail #task-title {font-size:25px;}
 #detail .task-dates {margin-left:0;line-height:1.8;}
 .reference-title-row {gap:12px;}
 .reference-people summary {flex-wrap:wrap;gap:10px;}
}

#detail{width:min(1040px,calc(100vw - 64px));} #settings-actions[hidden]{display:none} #complete-task{border-radius:50%} @media(max-width:640px){#detail{width:100%;}}

#detail .reference-fields input,#detail .reference-fields select{min-height:44px} #detail #settings-panel>summary{min-height:44px;padding:10px 0} #detail #subtasks-panel>summary{min-height:44px;padding:10px 0} .reference-core{margin-bottom:16px} #detail .subtask-help{margin-bottom:0}

/* Project-member autocomplete; selections remain compact and explicit. */
.assignee-options{display:block;position:relative}.assignee-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.assignee-chip{display:inline-flex;align-items:center;gap:4px;background:#293d59;color:#edf4ff;border-radius:24px;padding:0 4px 0 14px;max-width:100%}.assignee-chip>span{overflow-wrap:anywhere}.assignee-remove{border:0;background:transparent;color:#dceaff;width:44px;min-width:44px;height:44px;padding:0;font-size:22px;border-radius:50%}.assignee-remove:hover{background:#3a5274}.assignee-suggestions{border:1px solid #657da4;border-radius:12px;background:#132238;max-height:240px;overflow:auto;box-shadow:0 12px 28px #0005;margin:8px 0}.assignee-suggestions[hidden]{display:none}.assignee-suggestion{display:flex;flex-direction:column;gap:4px;min-height:58px;padding:12px 16px;cursor:pointer;overflow-wrap:anywhere;color:#eef3ff}.assignee-suggestion:hover,.assignee-suggestion[aria-selected=true]{background:#2b4870}.assignee-suggestion+.assignee-suggestion{border-top:1px solid #34465f}.assignee-suggestion .assignee-email{font-size:12px;color:#bdcee7}.reference-people fieldset{border:0;padding:0} input[role=combobox]{min-height:44px}

.reference-people fieldset>legend{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reference-people[open]>summary .people{display:none}

/* Appearance is independent of sign-in and task state. */
.account-settings{position:relative}
.account-settings #account-summary{padding-right:56px}
#planner-theme.theme-toggle{position:absolute;top:8px;right:12px;display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;color:var(--ink)}
#planner-theme[aria-pressed=true]{background:var(--tint);color:var(--accent)}
body[data-session=true] .account-settings #login{margin-right:56px}
/* Light palette: scoped overrides keep the established Midnight Focus option intact. */
:root[data-theme=light]{color-scheme:light;--canvas:#f4f6f8;--surface:#fff;--ink:#202c3c;--muted:#526174;--line:#ccd4df;--accent:#285bb5;--accent-hover:#204b96;--focus:#2458b0;--control-border:#7c8ba0;--tint:#e6eefb;--todo:#594779;--todo-bg:#eee9f5;--progress:#21578c;--progress-bg:#e5effb;--blocked:#7b4a0b;--blocked-bg:#fff0d7;--done:#216044;--done-bg:#e2f2e9;--error:#a2233d;--error-bg:#fcebf0}
html[data-theme=light] {
 button,input,select,textarea{background:var(--surface);color:var(--ink);border-color:var(--control-border)}
 button:hover{background:#e9eef6}
 button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
 button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
 button:disabled,select:disabled,button.primary:disabled{background:#e9edf2;color:#5a6779;border-color:#9aa6b6}
 :is(button,input,select,textarea,summary,a):focus-visible{outline-color:var(--focus)}
 input[type=checkbox],#complete-task{accent-color:var(--accent)}
 a,.eyebrow,.back{color:var(--accent)}
 .appbar,.account-settings,.management,.task-list,.task-detail,.confirmation,.assignee-suggestions{background:var(--surface);color:var(--ink);border-color:var(--line)}
 .task-detail{scrollbar-color:#8191a8 #f4f6f8;box-shadow:0 24px 80px #18294033}
 .task-detail::backdrop,.confirmation::backdrop{background:#17283c66}
 .brand-icon,.local-pill,.badge,.avatar,.avatar[data-tone],.task-card .avatar,#detail-person .avatar,.assignee-chip{background:var(--tint);color:#284f88}
 .banner,.notice,.filter-options{background:#eaf0f8;color:#354c6a;border-color:var(--line)}
 .task-detail .notice{background:transparent;color:var(--muted)}
 .view-switch{background:#e0e7f0}
 .view-switch button{background:transparent;color:var(--ink)}
 .view-switch button:hover{background:#d3deed}
 .view-switch button[aria-pressed=true]{background:var(--accent);color:white}
 .task-card{background:var(--surface);border-color:var(--line);box-shadow:0 2px 10px #21334b08}
 .task-card:hover{background:#f5f8fd;border-color:#6682ad}
 .person,.task-card .person-name,.detail-heading .person-name,.label-list,.task-card .status-tag,.subtask-count{color:var(--muted)}
 .status-tag{background:var(--todo-bg);color:var(--todo)}
 .status-tag[data-status="In progress"]{background:var(--progress-bg);color:var(--progress)}
 .status-tag[data-status=Blocked]{background:var(--blocked-bg);color:var(--blocked)}
 .status-tag[data-status=Done]{background:var(--done-bg);color:var(--done)}
 .task-card .status-tag{background:transparent}
 .message,.message:not(:empty){background:var(--done-bg);color:var(--done);border-color:var(--done)}
 .message[data-kind=error]{background:var(--error-bg);color:var(--error);border-color:var(--error)}
 .danger,.subtask-remove,.due-label.overdue,#detail #task-due.overdue{color:var(--error)}
 .danger:hover,.subtask-remove:hover{background:var(--error-bg);color:var(--error)}
 .task-detail .back,#update #cancel-update,#reload,.plan-actions #open-trash,.subtask-icon,.assignee-remove{color:var(--accent);background:transparent}
 .task-detail .back:hover,.subtask-icon:hover,.assignee-remove:hover{background:var(--tint);border-color:var(--control-border)}
 .subtask-remove{color:var(--error)}
 #settings-panel>summary,#subtasks-panel>summary,.history-panel>summary,#task-options>summary,.correction-options summary,#detail > #task-context{color:var(--ink);border-color:var(--line)}
 .draft-indicator{background:var(--blocked-bg);color:var(--blocked);border-color:var(--blocked)}
 .task-section.has-draft>summary::after{color:var(--blocked)}
 .subtask-row+.subtask-row,#organize fieldset,.timeline li,.assignee-suggestion+.assignee-suggestion{border-color:var(--line)}
 .timeline li:before{background:var(--accent)}
 .subtask-line input:not([type=checkbox]):hover,.subtask-line input:not([type=checkbox]):focus{background:#f4f7fc;border-color:var(--control-border)}
 .subtask-row.drop-target{background:var(--tint);outline-color:var(--accent)}
 #project-tabs [role=tab]{color:var(--muted)}
 #project-tabs [role=tab][aria-selected=true]{background:var(--tint);color:#244b86}
 .filter-panel>summary{background:transparent;color:var(--ink)}
 .assignee-suggestion{color:var(--ink)}
 .assignee-suggestion .assignee-email{color:var(--muted)}
 .assignee-suggestion:hover,.assignee-suggestion[aria-selected=true]{background:var(--tint)}
 .skip{background:var(--surface);color:var(--accent)}
 .account-card #account-message{color:var(--ink)}
}
@media(max-width:650px){
 body[data-session=true] .account-settings #auth-status{order:3;flex:1 0 100%;min-width:0}
}
@media(max-width:650px){body[data-session=true] #planner-theme.theme-toggle{right:0}}

.assignee-search-control { display:flex; align-items:stretch; gap:6px; margin-top:4px; }
.assignee-search-control input { flex:1; min-width:0; margin:0; }
.assignee-search-control button { flex:0 0 44px; min-height:44px; font-size:20px; }
.reference-people > summary::after { content:"▾"; margin-left:auto; padding-left:8px; font-size:18px; }
.reference-people[open] > summary::after { content:"▴"; }

/* Account tools have their own view and focused native dialogs. */
.account-nav{display:flex;align-items:center;gap:12px}.account-nav a{padding:12px;text-decoration:none;font-weight:600}.account-nav button{background:transparent;border-color:transparent}
body[data-page=members] #workspace,body[data-page=members] main>#message{display:none!important}
#members-page{max-width:1080px;margin:32px auto 80px}.members-back{display:inline-block;margin-bottom:32px;text-decoration:none}.members-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.members-heading h1{font-size:38px;margin:8px 0;letter-spacing:-1px}.members-search{margin-top:32px;max-width:460px}.members-search input{width:100%;margin-top:8px}.member-list{list-style:none;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}.member-list li{display:flex;align-items:center;gap:20px;padding:22px 24px}.member-list li+li{border-top:1px solid var(--line)}.member-identity{flex:1;min-width:0;display:grid;gap:6px}.member-identity span{color:var(--muted);overflow-wrap:anywhere}.member-state{color:var(--muted);text-transform:capitalize;font-size:12px}.member-list .avatar{width:40px;height:40px;flex-shrink:0}.account-dialog{width: min(600px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:36px;border-radius:20px}.account-dialog h2{font-size:28px;margin:12px 60px 24px 0}.account-dialog label{display:block;margin:20px 0 8px}.account-dialog input,.account-dialog select{width:100%}.account-dialog button:not(.back){margin-top:16px}.account-dialog .person{font-size:18px;margin:24px 0}.account-dialog .person .avatar{width:48px;height:48px}.account-dialog .hint{line-height:1.6}.account-dialog [role=status]:empty{display:none}.account-dialog [role=status]:not(:empty){padding:12px;background:var(--tint);border-radius:8px}.account-dialog #workspace-access-summary{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}#profile-panel #profile-form{padding-bottom:24px;border-bottom:1px solid var(--line)}
@media(max-width:650px){.account-nav{flex-wrap:wrap}#members-page{margin-top:24px}.members-heading{align-items:flex-start;flex-direction:column;gap:8px}.members-heading h1{font-size:32px}.member-list li{padding:20px 16px;gap:12px;flex-wrap:wrap}.member-identity{flex-basis:calc(100% - 60px)}.member-list li>button{margin-left:auto}.account-dialog{padding:28px 22px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.account-dialog .back{top:16px;right:16px}.members-search{max-width:none}}
body[data-session=true] #planner-theme.theme-toggle{position:static;order:2;flex-shrink:0}body[data-session=true] .account-settings #login{margin-right:0;order:1}body[data-session=true] .account-nav{margin-left:auto}body[data-session=true] .account-settings #auth-status{max-width:100%}
@media(max-width:650px){body[data-session=true] .account-settings #login{margin-left:0}body[data-session=true] .account-nav{margin-left:0;margin-right:auto}.account-dialog{margin:auto;height:auto}}
.member-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px}.account-dialog .member-tabs button{flex:1;margin:0 0 -1px;padding:12px 8px;border-radius:0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted)}.account-dialog .member-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.account-dialog #workspace-access-summary{border:0;padding:0;margin:0 0 20px}
.account-dialog{height:fit-content;min-height:0;background:var(--surface)}
/* Suggestion buttons support native mouse, touch and assistive activation. */
button.assignee-suggestion{width:100%;text-align:left;border:0;border-radius:0;font-weight:400;margin:0}
/* Keep Save update stationary when focus enters the form during a tap/click. */
#update .focus-hint{display:block;margin:-10px 0 0}

/* One editable title, a single metadata grid, and a flat task-editing flow. */
#detail #edit-title{font-size:30px;line-height:1.3;font-weight:600;min-width:0;flex:1;margin:0;padding:8px 10px;background:transparent;color:inherit;border:1px solid var(--control-border);border-radius:8px}
#detail .detail-heading>div{width:100%}
#detail #subtasks-summary{margin:0 0 12px;font-size:18px}
#detail #subtask-reorder-help{margin:0 0 12px}
#detail #activity-panel h3{font-size:15px;margin:20px 0 8px}
#detail #task-options{border-top:1px solid var(--line);padding-top:12px;margin-top:20px}
.assignee-suggestion{touch-action:pan-y}
@media(max-width:640px){#detail #edit-title{font-size:24px}#detail .reference-core{margin-bottom:12px}#detail #subtasks-panel{margin:20px 0}}
@media(max-width:640px){#detail .reference-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#detail .reference-fields input,#detail .reference-fields select{width:100%;min-width:0}}
#detail #edit-title{resize:none;overflow:hidden;box-sizing:border-box}

/* Note actions are independent of Save update and never apply to audit entries. */
#entries .note-entry{position:relative;padding-right:90px;white-space:pre-wrap}
#entries .note-remove,#entries .note-restore{position:absolute;right:0;top:0;min-width:44px;min-height:44px;padding:8px;border-radius:8px}
#entries .note-remove{font-size:24px;line-height:1}

body[data-page=archived] #workspace{display:none!important}
#archived-page{max-width:1100px;margin:2rem auto;padding:0 20px}
.archive-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}
.archive-row h2{flex:1;min-width:150px;margin:0}
.archive-row button{min-height:44px}
#archived-content{margin-top:24px;white-space:pre-wrap;overflow-wrap:anywhere}

.project-header{flex-wrap:wrap}.archive-task{margin:20px 0}.archive-task>button{min-height:44px;margin-bottom:12px}

#audit.timeline:empty:after{content:"No automatic activity yet."}

#workspace:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
#workspace[data-autofocus]:focus{outline:none}

/* CSV import stays inside the existing planner and inherits its theme. */
.csv-import-dialog{width:min(1100px,calc(100% - 24px));max-height:92dvh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);color:inherit;padding:24px}.csv-import-dialog::backdrop{background:#0007}.csv-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.csv-heading h2{margin:0}.csv-progress{display:flex;gap:18px;padding:0 0 18px;list-style:none;flex-wrap:wrap;border-bottom:1px solid var(--line);color:var(--muted)}.csv-progress [aria-current]{color:var(--accent);font-weight:700}.csv-row{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) minmax(0,.85fr);gap:18px;border-bottom:1px solid var(--line);padding:20px 0}.csv-row h4{margin:0}.csv-row p,.csv-result p{font-size:13px;line-height:1.6;margin:6px 0;overflow-wrap:anywhere}.csv-row input[type=checkbox],.csv-check input{width:18px;min-height:18px;accent-color:var(--accent)}.csv-row pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.csv-row details{margin-top:12px}.csv-notice{padding:14px;background:var(--tint);border-left:3px solid var(--accent);line-height:1.6}.csv-warning{font-weight:600}.csv-summary{font-weight:600}.csv-check{display:flex;flex-direction:row;align-items:start;gap:10px;line-height:1.6;margin:18px 0}.csv-recent{display:flex;flex-direction:column;align-items:start;gap:10px}.csv-import-dialog h3{margin-top:26px}.csv-import-dialog .actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.csv-import-dialog label{margin:16px 0}.csv-result{padding:16px 0;border-bottom:1px solid var(--line)}.csv-import-dialog [role=status]{overflow-wrap:anywhere;color:var(--muted)}
@media(max-width:650px){.csv-import-dialog{padding:16px}.csv-row{grid-template-columns:24px minmax(0,1fr);gap:12px}.csv-row>div:nth-child(n+3){grid-column:2}.csv-progress{gap:12px;font-size:12px}.csv-heading{align-items:start}.csv-heading h2{font-size:20px}.csv-import-dialog .actions button{flex:1}.csv-import-dialog .csv-check{font-weight:400}}

.csv-heading{position:sticky;top:0;background:var(--surface,#fff);padding:12px 0;z-index:2}.csv-row{align-items:start}

/* Explicit list cells keep optional subtask counts from shifting assignees. */
.task-list .task-card{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(220px,1fr);grid-template-areas:"meta title people" "subtasks due people" "labels labels people";gap:8px 20px;padding:18px 20px;align-items:start}
.task-list .task-card>span{min-width:0;overflow-wrap:anywhere}
.task-list .task-label{grid-area:meta;line-height:1.5}
.task-list .task-name{grid-area:title}
.task-list .subtask-count{grid-area:subtasks;line-height:1.5}
.task-list .due-label{grid-area:due;line-height:1.5}
.task-list .label-list{grid-area:labels;margin-top:0}
.task-list .card-bottom{grid-area:people;flex-direction:column;align-items:stretch;gap:10px}
.task-list .people{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.task-list .person{align-items:flex-start;line-height:1.5}
.task-list .person-name{min-width:0;flex:1;overflow-wrap:anywhere}
.task-list .status-tag{align-self:flex-start}
@media(max-width:700px){
 .task-list .task-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"meta" "title" "people" "subtasks" "due" "labels";gap:10px;padding:16px}
}

/* Calendar uses ordinary headings and task buttons, with a month agenda on phones. */
.calendar-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0 12px}
.calendar-controls h3{flex:1 1 180px;margin:0}
.calendar-controls label{min-width:140px}
.calendar-controls button{min-height:44px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.calendar-weekday{padding:8px;background:var(--surface);text-align:center;font-weight:600}
.calendar-day,.calendar-blank{background:var(--surface);padding:8px;min-width:0;min-height:110px}
.calendar-day h4{font-size:12px;margin:0 0 8px;line-height:1.5;color:var(--muted)}
.calendar-day[data-today=true]{box-shadow:inset 0 0 0 2px var(--accent)}
.calendar-task{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0;text-align:left;padding:8px;margin:6px 0;min-height:44px;background:var(--tint);color:var(--ink);border:1px solid var(--line)}
.calendar-task-title{overflow-wrap:anywhere;line-height:1.4}
.calendar-task .hint{margin:0;overflow-wrap:anywhere;font-size:11px}
.calendar-undated{margin-top:24px}
.calendar-undated .calendar-task{max-width:520px}
@media(max-width:800px){
 .calendar-grid{display:block;border:0;background:transparent;overflow:visible}
 .calendar-weekday,.calendar-blank,.calendar-day[data-empty=true]:not([data-today=true]){display:none}
 .calendar-day{border:1px solid var(--line);border-radius:8px;margin:12px 0;min-height:0;padding:12px}
 .calendar-controls h3{flex-basis:100%}
 .calendar-controls label{flex-basis:100%}
 .calendar-controls button{flex:1;padding:8px}
}

.parking-lot{margin:16px 0;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--surface)}
.parking-lot summary{min-height:24px;line-height:24px}
.parking-lot[open] summary{margin-bottom:12px}
.parking-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:16px 0;max-height:24rem;overflow:auto}
.parking-lot .actions{margin:12px 0}
.parking-lot textarea{margin-top:8px;min-height:150px}
.parking-lot [role=status]{overflow-wrap:anywhere}
