:root { color-scheme: light; --paper:#f5f3ed; --ink:#202720; --green:#476447; --line:#d8d7ce; --muted:#6b7169; --soft:#ecebe4; }
* { box-sizing:border-box; }
html { background:var(--paper); }
body { margin:0; min-width:320px; background:var(--paper); color:var(--ink); font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input,select { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:286px minmax(0,1fr); }
.sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:30px 21px 22px; border-right:1px solid var(--line); }
.brand { color:var(--ink); font-size:22px; font-weight:760; letter-spacing:-.055em; text-decoration:none; }
.brand span { color:var(--green); font-weight:500; }
.sidebar-label { margin:26px 0 11px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.project-nav { display:grid; gap:3px; overflow:auto; }
.project-link { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; border:0; border-radius:6px; padding:9px 10px; background:transparent; color:var(--ink); text-align:left; }
.project-link:hover,.project-link:focus-visible { background:var(--soft); outline:none; }
.project-link[aria-current="page"] { background:var(--green); color:white; }
.project-link small { color:inherit; opacity:.7; font-size:11px; }
.sidebar-foot { margin-top:auto; padding-top:18px; border-top:1px solid var(--line); }
label { display:block; margin-bottom:6px; color:var(--muted); font-size:12px; font-weight:650; }
input,select { width:100%; min-height:38px; border:1px solid var(--line); border-radius:6px; padding:7px 9px; background:#fffefa; color:var(--ink); }
input:focus,select:focus,button:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.global-progress { margin:14px 0 0; color:var(--muted); font-size:12px; }
.identity-note { margin:8px 0 0; color:var(--muted); font-size:11px; line-height:1.4; }
.content { width:min(1120px,100%); padding:43px clamp(22px,5vw,72px) 72px; }
.mobile-head { display:none; }
.status { min-height:22px; margin-bottom:14px; color:var(--muted); font-size:13px; }
.status[data-tone="error"] { color:#8a3029; }
.status button { margin-left:10px; border:0; border-bottom:1px solid currentColor; padding:0; background:transparent; color:inherit; }
.loading { padding:60px 0; color:var(--muted); }
.project-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:end; padding-bottom:27px; border-bottom:1px solid var(--line); }
.overline { margin:0 0 8px; color:var(--green); font-size:11px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
h1 { margin:0; max-width:790px; font-size:clamp(32px,5vw,55px); line-height:.98; letter-spacing:-.065em; font-weight:760; }
.summary { max-width:660px; margin:16px 0 0; font-size:16px; }
.priority { max-width:220px; margin:0; color:var(--muted); font-size:13px; text-align:right; }
.progress-box { padding-top:2px; min-width:130px; }
.progress-label { display:block; margin-bottom:7px; font-size:12px; color:var(--muted); text-align:right; }
.meter { height:5px; overflow:hidden; border-radius:6px; background:var(--line); }
.meter > span { display:block; height:100%; background:var(--green); }
.objective { display:grid; grid-template-columns:140px minmax(0,1fr); gap:22px; padding:24px 0; border-bottom:1px solid var(--line); }
.objective h2,.section-head h2,.playbook h2 { margin:0; font-size:14px; }
.objective p { margin:0; max-width:980px; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; padding:31px 0 14px; }
.filters { display:flex; gap:5px; }
.filter { border:1px solid var(--line); border-radius:6px; padding:5px 9px; background:transparent; color:var(--muted); font-size:12px; }
.filter[aria-pressed="true"] { border-color:var(--green); background:var(--green); color:#fff; }
.task-list { display:grid; gap:8px; }
.task { border:1px solid var(--line); border-radius:6px; background:#faf9f4; }
.task[open] { background:#fffefa; }
.task summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; align-items:center; padding:14px; list-style:none; cursor:pointer; }
.task summary::-webkit-details-marker { display:none; }
.check { width:19px; height:19px; accent-color:var(--green); cursor:pointer; }
.task-title { font-weight:670; }
.task.done .task-title { color:var(--muted); text-decoration:line-through; }
.due { color:var(--muted); font-size:12px; white-space:nowrap; }
.proposed { color:#775e20; }
.task-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 28px; padding:2px 14px 17px 44px; color:#4d554e; font-size:13px; }
.task-body p { margin:0; }
.task-body strong { display:block; margin-bottom:3px; color:var(--ink); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.task-body .wide { grid-column:1/-1; }
.done-note { border-left:2px solid var(--green); padding-left:10px; }
.empty { padding:24px 0; color:var(--muted); }
.playbook { margin-top:39px; padding-top:25px; border-top:1px solid var(--line); }
.playbook-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:15px; }
.play { padding:14px; border:1px solid var(--line); border-radius:6px; }
.play h3 { margin:0 0 5px; font-size:14px; }
.play p { margin:0; color:var(--muted); font-size:13px; }
.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; }
@media (max-width:980px) { .app-shell { display:block; } .sidebar { display:none; } .content { padding:18px 16px 48px; } .mobile-head { display:flex; align-items:center; gap:14px; padding-bottom:22px; } .mobile-head select { max-width:190px; margin-left:auto; } .project-header { grid-template-columns:1fr; } .priority,.progress-label { text-align:left; } .progress-box { width:100%; } .objective { grid-template-columns:1fr; gap:7px; } .section-head { align-items:start; flex-direction:column; } .task summary { grid-template-columns:auto minmax(0,1fr); } .due { grid-column:2; } .task-body { grid-template-columns:1fr; padding-left:14px; } .task-body .wide { grid-column:auto; } }

.schedule-note { margin:18px 0; color:var(--muted); font-size:13px; max-width:820px; }
.check { min-height:19px; padding:0; flex-shrink:0; }
.task-title, .task-body p { overflow-wrap:anywhere; }
@media(max-width:980px) { .sidebar { display:flex; position:static; height:auto; padding:16px; border:0; border-bottom:1px solid var(--line); } .sidebar>.brand,.sidebar-label,.project-nav { display:none; } .sidebar-foot { padding:0; border:0; display:grid; grid-template-columns:85px 1fr; gap:6px 10px; align-items:center; } .sidebar-foot label { margin:0; } .identity-note,.global-progress { grid-column:1/-1; margin:0; } .mobile-head { flex-wrap:wrap; } .mobile-head select { max-width:220px; } }

.playbook-list { display:block; } .play { display:grid; grid-template-columns:110px minmax(0,1fr); gap:22px; border:0; border-radius:0; padding:13px 0; border-bottom:1px solid var(--line); } .schedule-note summary { cursor:pointer; }
@media(max-width:980px) { .play { grid-template-columns:1fr; gap:6px; } }

.artifact-link { color:var(--green); font-weight:650; width:fit-content; }
.subtabs { display:flex; gap:6px; margin:25px 0 4px; border-bottom:1px solid var(--line); overflow-x:auto; }
.subtab { flex:0 0 auto; border:0; border-bottom:2px solid transparent; padding:10px 12px; background:transparent; color:var(--muted); font-weight:650; }
.subtab[aria-selected="true"] { border-color:var(--green); color:var(--ink); }
.next-step { margin:20px 0 30px; padding:16px; border:1px solid var(--line); background:var(--soft); }
.next-step h2,.sequence-stage h2 { margin:0; font-size:15px; }.next-step p,.sequence-stage>p { margin:5px 0 0; color:var(--muted); font-size:13px; }.next-step ul { margin:10px 0 0; padding-left:20px; }
.sequence-stage { margin-top:29px; }.sequence-stage .task-list { margin-top:12px; }
.dependency-summary { grid-column:2/-1; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.jump-link { border:0; padding:0; background:transparent; color:var(--green); text-align:left; text-decoration:underline; }
@media(max-width:980px) { .subtabs { margin-left:-2px; margin-right:-2px; } .subtab { padding:10px 9px; font-size:13px; } .dependency-summary { grid-column:2; } .task-actions { display:grid; gap:8px; } }
.owner-filter{display:flex;gap:16px;align-items:center;margin:0 0 15px}.owner-filter label{margin:0}.owner-filter select{max-width:300px}.task-body h3{font-size:14px;margin:16px 0 12px;color:var(--ink)}.product-row{border-top:1px solid var(--line);padding:13px 0}.product-row h4{margin:0 0 4px;color:var(--ink);font-size:14px}.product-row p{margin:5px 0;white-space:pre-line}.product-status{color:#775e20;font-size:12px}.product-price{font-weight:650}.product-row .artifact-link{display:inline-block;margin-top:5px}.steps ol{padding-left:20px;margin:0}.steps li{margin:9px 0}.secondary,.primary{border:1px solid var(--line);border-radius:6px;padding:8px 12px;background:transparent;color:var(--ink);font:inherit}.primary{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.55;cursor:wait}.task-actions,.editor-actions{display:flex;gap:10px;flex-wrap:wrap}.dependencies{display:grid;gap:5px}.dependency-link{border:0;background:transparent;text-align:left;color:var(--green);padding:5px 0;font:inherit;text-decoration:underline}.date-warning,.conflict{color:#8a3029}.task-editor{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:18px;border-top:1px solid var(--line)}.task-editor label{font-size:12px;margin:0}.task-editor label:has(textarea),.editor-actions{grid-column:1/-1}.task-editor input,.task-editor select,.task-editor textarea{margin-top:6px}textarea{width:100%;min-height:90px;border:1px solid var(--line);border-radius:6px;padding:10px;background:#fffefa;color:var(--ink);font:inherit;resize:vertical}textarea:focus{outline:2px solid var(--green);outline-offset:2px}.team-notes{white-space:pre-wrap}.conflict{padding:14px;background:#fff0e9}.conflict button{margin:12px 10px 0 0}.task{scroll-margin-top:20px}.task summary:after{content:'+';font-size:16px;color:var(--muted)}.task[open]>summary:after{content:'−'}.task summary{grid-template-columns:auto minmax(0,1fr) auto 14px}.due{white-space:normal;max-width:210px;text-align:right}.attachments{border-top:1px solid var(--line);padding-top:6px}.activity-list{display:grid;gap:14px;margin:12px 0}.activity-entry{border:1px solid var(--line);padding:12px;border-radius:6px}.activity-entry p{white-space:pre-wrap}.activity-entry small{display:block;margin-bottom:7px;color:var(--muted)}.activity-entry img,.activity-entry video{display:block;max-width:100%;max-height:380px;object-fit:contain;margin:10px 0}.activity-entry audio{max-width:100%;width:100%;margin:10px 0}.attachment-form{display:grid;gap:10px}.attachment-form .hint{color:var(--muted);font-size:12px}.file-progress{min-height:20px;color:var(--green)}[hidden]{display:none!important}
@media(max-width:980px){.task summary{grid-template-columns:auto minmax(0,1fr) 14px}.task summary:after{grid-column:3;grid-row:1}.due{grid-column:2;max-width:none;text-align:left}.owner-filter{display:block}.owner-filter select{max-width:none;margin-top:6px}.task-editor{grid-template-columns:1fr}.task-editor label{grid-column:1}.content{overflow-wrap:anywhere}}
