:root{--bg: #f5f5f8;--fg: #16172a;--dim: #63657d;--dim-2: #9698ad;--dim-3: #43455c;--card: #ffffff;--tint: #e9e9f1;--track: #ececf3;--line: rgba(22, 23, 42, .15);--line-soft: rgba(22, 23, 42, .08);--hair: rgba(22, 23, 42, .06);--acc: #6b5bc4;--acc-text: #4f409e;--acc-fill: #e6e2f8;--on-acc: #ffffff;--sage: #4f8f74;--bad: #b3261e;--panel: #ecebf6;--panel-fg: #272641;--panel-dim: #5f5f7d;--shadow: 0 1px 2px rgba(22, 23, 42, .1);--rc: 24px;--rs: 14px;--rp: 999px;--bw: 2px;--pad: 15px;--gap: 8px;--body: "Figtree", "Segoe UI", system-ui, sans-serif;--mono: "Cascadia Mono", Consolas, ui-monospace, monospace}:root[data-theme=dark]{--bg: #161826;--fg: #e9e9ed;--dim: #9397ab;--dim-2: #75798c;--dim-3: #b2b6ca;--card: #232532;--tint: #2b2d3c;--track: #2b2d3c;--line: #3f424d;--line-soft: #33363f;--hair: rgba(233, 233, 237, .05);--acc: #9184d9;--acc-text: #d2cefd;--acc-fill: #2b2741;--on-acc: #161826;--sage: #6fb593;--bad: #f2857a;--panel: #272a3a;--panel-fg: #e4e5ef;--panel-dim: #9ba0b6;--shadow: 0 1px 2px rgba(0, 0, 0, .4)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-weight:500;font-size:16.5px;line-height:1.5}h1,h2,h3{font-family:var(--body);font-weight:700;line-height:1.2;letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:var(--card);border-right:1px solid var(--line);padding:16px 14px 12px;display:flex;flex-direction:column;gap:5px;position:sticky;top:0;height:100vh;overflow-y:auto}.scopeLabel{font-size:11.5px;font-weight:600;color:var(--dim-2);letter-spacing:.02em;padding:0 11px;margin-bottom:1px}.side .club{font-size:16px;font-weight:700;color:var(--fg);padding:0 11px;margin-bottom:6px;line-height:1.25}.side h1{font-size:22px;margin:4px 0 1px}.side .when{font-size:13.5px;color:var(--dim);margin-bottom:14px}.nav{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 11px;border:none;border-radius:var(--rs);background:none;color:var(--fg);font-family:var(--body);font-size:15px;font-weight:600;cursor:pointer;text-align:left}.nav:hover{background:var(--tint)}.nav[aria-current=true]{background:var(--acc-fill);color:var(--acc-text)}.nav .count{font-size:13px;color:var(--dim-2);font-weight:600}.nav[aria-current=true] .count{color:var(--acc-text)}.side .foot{margin-top:auto;padding-top:10px;font-size:13px;color:var(--dim-2)}.main{padding:22px 26px 50px;max-width:1100px}.head{margin-bottom:18px}.head h2{font-size:25px;margin:0 0 2px}.head p{margin:0;color:var(--dim);font-size:15px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--rc);padding:var(--pad);box-shadow:var(--shadow)}.card.current{background:var(--acc-fill);border-color:var(--acc)}.card.reference{background:var(--bg);box-shadow:none}button.card{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}button.card:hover{border-color:var(--acc)}button.card:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.row{display:flex;align-items:center;gap:var(--gap)}.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}label{display:block;font-size:13.5px;font-weight:700;color:var(--dim);margin-bottom:5px}input[type=text],input[type=date],input[type=number],input[type=search],select,textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--rs);background:var(--bg);font-weight:500}input:focus,select:focus,textarea:focus{outline:var(--bw) solid var(--acc);outline-offset:-1px}.dateField{position:relative;display:block}.dateField input{width:100%}.dateField input.masked{color:transparent}.dateField input.masked::-webkit-datetime-edit{color:transparent}.dateShown{position:absolute;left:13px;right:36px;top:50%;transform:translateY(-50%);font-weight:500;pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dateShown.ph{color:var(--dim-2)}.btn{padding:8px 14px;border:1px solid var(--line);border-radius:var(--rs);background:var(--bg);font-family:var(--body);font-weight:700;font-size:14.5px;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--dim-2)}.btn.primary{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}.btn.add{background:none;border-color:var(--acc);color:var(--acc-text)}.btn.add:hover{background:var(--acc-fill)}.ctlLabel{flex:none;width:68px;margin-right:2px;white-space:nowrap}.btn.secondary{background:var(--sage);border-color:var(--sage);color:var(--on-acc)}.btn.quiet{background:none;border-color:transparent;color:var(--dim)}.btn.quiet:hover{background:var(--tint)}.btn:disabled{opacity:.4;cursor:default}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--rp);border:1px solid var(--line);font-size:13.5px;font-weight:700;color:var(--dim-3);background:var(--bg);cursor:pointer;white-space:nowrap}.pill.on{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}.pill.flat{cursor:default;background:var(--tint);border-color:transparent}.pill.good{background:var(--panel);border-color:transparent;color:var(--panel-fg)}.pill.warn{background:var(--acc-fill);border-color:var(--acc);color:var(--acc-text)}.tick{width:23px;height:23px;flex:none;border:var(--bw) solid var(--dim-2);border-radius:var(--rp);background:none;cursor:pointer;display:grid;place-items:center;color:var(--on-acc);font-size:13px;font-weight:900;line-height:1}.tick.on{background:var(--sage);border-color:var(--sage)}.milestone{margin-bottom:20px}.milestone.rows{margin-bottom:12px}.milestone>header{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.milestone>header.shut,.milestone>header.open{width:100%;background:var(--bg);border:0;padding:6px 0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:6px;position:sticky;top:0;z-index:2}.milestone>header.shut:hover h3,.milestone>header.open:hover h3{color:var(--acc)}.milestone>header:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.turn{color:var(--dim-3);font-size:15px;line-height:1;display:inline-block;transition:transform .12s ease}.turn.on,.milestone>header.open .turn{transform:rotate(90deg)}.milestone .late{color:var(--acc-text);font-weight:600}.milestone h3{font-size:19px;margin:0}.milestone .date{font-size:13.5px;color:var(--dim-2);font-weight:600}.milestone .note{font-size:14px;color:var(--dim);margin:0 0 8px;max-width:70ch}.job{border:1px solid var(--line-soft);border-radius:var(--rs);background:var(--card);margin-bottom:4px}.job.open{border-color:var(--line)}.jobMain{display:flex;align-items:flex-start;gap:10px;padding:8px 12px}.job.done .text{color:var(--dim-2);text-decoration:line-through}.job .text{font-size:15.5px;font-weight:600;line-height:1.35}.job .sub{font-size:14px;color:var(--dim);margin-top:3px;font-weight:500}.job .materials{font-size:14px;color:var(--dim-2);margin-top:4px;font-weight:500}.job .due{margin-left:8px;font-size:12.5px;font-weight:700;color:var(--acc-text);background:var(--acc-fill);border-radius:6px;padding:1px 7px;white-space:nowrap}.job .sub.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jobMeta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px}.jobMeta .folded{font-size:13px;color:var(--dim-2);font-weight:600}.pill.flat.tiny{font-size:12px;padding:1px 8px;font-weight:700}.pill.flat.tiny.area{background:var(--acc-fill);color:var(--acc-text)}.warnline{margin-top:5px;font-size:13.5px;font-weight:600;color:var(--acc-text)}.job .who{width:150px;flex:none}.jobTurn{flex:none;border:none;background:none;cursor:pointer;color:var(--dim-3);font-size:15px;line-height:1;padding:6px 8px;border-radius:6px;transition:transform .12s ease,color .12s ease}.jobTurn:hover{color:var(--acc)}.jobTurn.on{transform:rotate(90deg);color:var(--acc)}.jobDetail{border-top:1px solid var(--line-soft);padding:12px;display:flex;flex-direction:column;gap:14px}.detailBlock{display:flex;flex-direction:column;gap:6px}.detailLabel{font-size:12px;font-weight:700;color:var(--dim-2)}.detailFoot{border-top:1px dashed var(--line-soft);padding-top:12px}.miniLabel{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--dim);font-weight:600}.tick.small{width:19px;height:19px;font-size:11px}.stepDone{color:var(--dim-2);text-decoration:line-through}.areaInput{max-width:320px}.jobTitle{cursor:pointer}.linkish{display:block;width:100%;text-align:left;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.linkish:hover .text{color:var(--acc)}.linkish .caret{color:var(--dim-2);font-size:11px}.changeList{margin:4px 0 8px 20px;padding:0 0 0 16px}.changeList li{font-size:14px;color:var(--dim);font-weight:500;margin:2px 0}.combo{position:relative}.comboList{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:var(--rs);padding:4px;max-height:200px;overflow-y:auto;box-shadow:var(--shadow)}.comboItem{text-align:left;background:none;border:none;padding:6px 8px;border-radius:8px;cursor:pointer;font:inherit;color:inherit}.comboItem:hover{background:var(--tint)}.comboItem.new{color:var(--acc-text);font-weight:600}.asToggle{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.asToggle:hover .hint{color:var(--acc-text)}.chip{border:1px solid var(--line);background:var(--bg);color:var(--dim-3);border-radius:var(--rp);padding:2px 9px;font-size:12px;font-weight:700;cursor:pointer}.chip:hover{border-color:var(--acc);color:var(--acc-text)}.gearOpen{border:none;background:none;color:inherit;font:inherit;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}.gearOpen:hover{text-decoration:underline}.warnLink{border:none;background:none;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}@keyframes gearflash{0%{background:var(--acc-fill)}to{background:transparent}}tr.flash td{animation:gearflash 1.6s ease-out}.addBtn{align-self:flex-start;border:none;background:none;color:var(--acc-text);font-weight:700;font-size:13px;cursor:pointer;padding:2px 0;text-align:left}.addBtn:hover{text-decoration:underline}.noteMeta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;font-size:12.5px;color:var(--dim-2)}.noteAct{border:none;background:none;padding:0;cursor:pointer;font:inherit;font-weight:700;color:var(--dim)}.noteAct:hover{color:var(--acc);text-decoration:underline}.noteAct.on{color:var(--acc-text)}.needs{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px}.needs .pill{padding:2px 4px 2px 9px;font-size:13px;gap:6px;cursor:default}.needs .who{color:var(--dim-2);font-weight:600}.needs .pill.warn .who{color:var(--acc-text)}.needs .drop{border:none;background:none;color:inherit;opacity:.55;cursor:pointer;font-size:14px;line-height:1;padding:2px 5px}.needs .drop:hover{opacity:1}.btn.tiny{padding:2px 8px;font-size:13px}.empty{color:var(--dim-2);font-size:15px;padding:10px 0}table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:left;padding:4px 10px;border-bottom:1px solid var(--hair)}.formats th,.formats td{vertical-align:top}.formats input.overlong{border-color:var(--bad);color:var(--bad)}.overlong-note{color:var(--bad)}td input[type=text],td input[type=number],td input[type=date],td select{padding:3px 8px;border-radius:9px}td .btn,td .pill{padding:3px 9px}tr.rowOpen>td{background:var(--tint);border-bottom-color:transparent}td.detailCell{background:var(--tint);border-bottom:2px solid var(--line)}th{font-size:13px;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;font-weight:700;background:var(--tint)}th:first-child{border-top-left-radius:var(--rs)}th:last-child{border-top-right-radius:var(--rs)}.code{font-family:var(--mono);font-size:18px;font-weight:700;letter-spacing:3px;color:var(--fg)}.hint{font-size:14.5px;color:var(--dim);max-width:62ch;font-weight:500}.hint.warn{color:var(--acc-text)}.footnote{border-top:1px solid var(--hair);margin:4px 0 0;padding-top:8px;font-size:13px;font-style:italic;font-weight:500;color:var(--dim-2);max-width:62ch}.panel{background:var(--panel);color:var(--panel-fg);border-radius:var(--rc);padding:var(--pad)}.panel .hint{color:var(--panel-dim)}.panel h3{color:var(--panel-fg)}.ico{font-size:14px;line-height:1;opacity:.75;flex:none}.job .ico{color:var(--dim)}.eventScope{display:flex;flex-direction:column;gap:5px;margin-top:16px;padding:11px 8px 9px;background:var(--tint);border-radius:var(--rs)}.eventScope .scopeLabel{padding:0 9px}.scope{margin:0 0 4px}.scopeName{font-size:16px;font-weight:700;line-height:1.2;padding:0 9px}.scopeWhen{font-size:13px;color:var(--dim);margin-top:1px;padding:0 9px 4px}.eventScope .nav:hover{background:var(--card)}.eventScope .nav[aria-current=true]{background:var(--card);color:var(--acc-text)}.eventScope .nav[aria-current=true] .count{color:var(--acc-text)}.themePick{display:flex;background:var(--tint);border-radius:var(--rp);padding:3px;gap:2px}.themeBtn{flex:1;border:none;background:none;border-radius:var(--rp);padding:5px 4px;font-family:var(--body);font-size:12.5px;font-weight:700;color:var(--dim);cursor:pointer}.themeBtn.on{background:var(--card);color:var(--fg);box-shadow:var(--shadow)}
