@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}:root{--ink: #151922;--ink-2: #3a414f;--muted: #5f6775;--line: #e3e6ea;--line-strong: #cdd2d9;--bg: #f5f6f8;--panel: #fff;--sunken: #f9fafb;--brand: #0d5c63;--brand-hover: #0a4a50;--brand-weak: #e4f1f1;--ok: #17794a;--ok-bg: #e7f4ec;--warn: #9a5b00;--warn-bg: #fcf1dc;--bad: #b42318;--bad-bg: #fdecea;--focus: 0 0 0 3px rgb(13 92 99 / .25);--t-xs: 12px;--t-sm: 13px;--t-base: 14px;--t-md: 16px;--t-lg: 20px;--t-xl: 24px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--shadow-pop: 0 1px 2px rgb(16 24 40 / .06), 0 4px 12px rgb(16 24 40 / .08);--sans: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;color:var(--ink);background:var(--bg);accent-color:var(--brand)}body{font:400 var(--t-base)/1.5 var(--sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}:focus-visible{outline:none;box-shadow:var(--focus)}h1{font-size:var(--t-xl);font-weight:600;letter-spacing:-.01em;line-height:1.25;margin:0 0 6px;display:flex;gap:10px;align-items:center}h2{font-size:var(--t-md);font-weight:600;margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}code{font:400 12.5px var(--mono);background:var(--sunken);border:1px solid var(--line);padding:0 5px;border-radius:var(--r-sm)}button{font:inherit;font-weight:500;height:32px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer}button:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}button:disabled{background:var(--sunken);border-color:var(--line);color:var(--muted);cursor:default}button.secondary{background:var(--panel);color:var(--ink);border-color:var(--line-strong)}button.secondary:hover:not(:disabled){background:var(--sunken);border-color:var(--line-strong)}button.link{background:none;border:0;color:var(--brand);padding:0;height:auto;font-weight:400}button.link:hover:not(:disabled){background:none;text-decoration:underline}input[type=text],input[type=email],input[type=url],input[type=number],input[type=date],input:not([type]){font:inherit;height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;background:var(--panel);color:var(--ink)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand)}textarea{font:inherit;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm)}.shell{display:grid;grid-template-columns:232px 1fr;grid-template-rows:52px 1fr;min-height:100vh}.top{grid-column:1 / 3;display:flex;justify-content:space-between;align-items:center;padding:0 16px 0 20px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}.brand:hover{text-decoration:none}.brand .mark{color:var(--brand)}.brand .word{font-weight:600;font-size:var(--t-md);letter-spacing:-.02em}.brand .suffix{color:var(--muted);font-size:var(--t-sm)}.avatar-wrap{position:relative}button.avatar{width:32px;height:32px;padding:0;border-radius:50%;background:var(--brand-weak);border:1px solid transparent;color:var(--brand);font-size:var(--t-xs);font-weight:600;letter-spacing:.02em}button.avatar:hover:not(:disabled),button.avatar[aria-expanded=true]{background:var(--brand-weak);border-color:var(--brand)}.menu.account{position:absolute;right:0;top:40px;min-width:240px}.account-who{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.account-who .badge{justify-self:start;margin-top:6px}.menu button{display:flex;align-items:center;gap:8px}.side{padding:12px 10px;border-right:1px solid var(--line);background:var(--panel);position:sticky;top:52px;height:calc(100vh - 52px);overflow-y:auto}.switcher{display:block;margin:0 2px 12px}.switcher select{width:100%;font-weight:500}.nav-group{margin-bottom:14px}.side h3{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:8px 10px 4px}.side a{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:var(--r-sm);color:var(--ink-2);position:relative}.side a:hover{background:var(--sunken);color:var(--ink);text-decoration:none}.side a svg{color:var(--muted);flex:none}.side a.active{background:var(--sunken);color:var(--ink);font-weight:500}.side a.active:before{content:"";position:absolute;left:-10px;top:6px;bottom:6px;width:2px;border-radius:1px;background:var(--brand)}.side a.active svg{color:var(--brand)}.nav-empty{padding:0 10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:var(--t-sm);color:var(--muted)}.crumbs li+li:before{content:"›";margin-right:6px;color:var(--line-strong)}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink)}.shell.mini{grid-template-columns:56px 1fr}.shell.mini .side{padding:12px 8px}.shell.mini .side h3,.shell.mini .side a span,.shell.mini .nav-empty,.shell.mini .find-project,.shell.mini .switcher{display:none}.shell.mini .side a{justify-content:center;padding:0}.shell.mini .side a.active:before{left:-8px}.shell.mini .nav-group{border-top:1px solid var(--line);padding-top:8px;margin-bottom:8px}@media(min-width:640px)and (max-width:1023px){.shell{grid-template-columns:56px 1fr}.side{padding:12px 8px}.side h3,.side a span,.nav-empty,.find-project,.switcher,.side button.mini-toggle{display:none}.side a{justify-content:center;padding:0}.side a.active:before{left:-8px}.nav-group{border-top:1px solid var(--line);padding-top:8px;margin-bottom:8px}}main{padding:24px 32px;max-width:1200px;min-width:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:18px 0}.panel>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}table.grid{width:100%;border-collapse:separate;border-spacing:0;background:var(--panel);margin-top:14px;border:1px solid var(--line);border-radius:var(--r-lg)}.panel:not(.plain) table.grid{border:0;border-radius:0;margin-top:10px}.grid th{text-align:left;font-weight:500;color:var(--muted);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.04em;height:36px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--sunken);white-space:nowrap}.grid thead tr:first-child th:first-child{border-top-left-radius:var(--r-lg)}.grid thead tr:first-child th:last-child{border-top-right-radius:var(--r-lg)}.panel:not(.plain) .grid th{border-radius:0!important}.grid td{height:40px;padding:6px 12px;font-size:var(--t-sm);border-bottom:1px solid var(--line);vertical-align:middle}.grid tr:last-child td{border-bottom:0}.badge{display:inline-block;font-size:var(--t-xs);padding:1px 8px;border-radius:10px;background:var(--sunken);border:1px solid var(--line);color:var(--ink-2);font-weight:500;white-space:nowrap}.badge-active,.badge-accepted{background:var(--ok-bg);border-color:transparent;color:var(--ok)}.badge-requested,.badge-provisioning,.badge-open{background:var(--warn-bg);border-color:transparent;color:var(--warn)}.badge-failed{background:var(--bad-bg);border-color:transparent;color:var(--bad)}.badge-archived,.badge-revoked,.badge-expired{background:var(--sunken);color:var(--muted)}.badge-operator{background:var(--brand);border-color:transparent;color:#fff}.tag{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-left:6px}.form{display:grid;gap:14px;max-width:480px}.form label{display:grid;gap:4px;font-weight:500}.form small{color:var(--muted);font-weight:400}fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 12px}legend{font-weight:500;padding:0 4px}label.check{display:inline-flex!important;gap:6px;align-items:center;font-weight:400!important;margin-right:16px}form.inline{display:flex;gap:10px;align-items:center}form.inline input[type=email]{max-width:280px}.row,.actions{display:flex;gap:8px;align-items:center}.error{background:var(--bad-bg);border:1px solid #f3c4bf;color:#7a1a12;padding:8px 12px;border-radius:8px;margin:10px 0}.error ul{margin:4px 0 0 18px;padding:0}.err{color:var(--bad)}.muted{color:var(--muted)}.small{font-size:var(--t-xs)}dl.facts{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;margin:14px 0}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}ol.timeline{list-style:none;padding:0;margin:0}ol.timeline li{padding:6px 0;border-bottom:1px dashed var(--line)}ol.timeline time{color:var(--muted);font-size:12px;display:inline-block;min-width:150px}ul.roles{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}ul.areas{margin:0;padding-left:18px}ul.areas li{padding:4px 0}.centre{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center}.signin h1{font-size:26px}.fatal{padding:40px;color:var(--bad)}select{font:inherit;height:32px;padding:0 8px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--ink)}form.inline.wrap{flex-wrap:wrap}form.inline input:not([type=checkbox]){width:auto;min-width:160px}button.link.danger{color:var(--bad)}.actions{gap:12px}tr.inactive td{color:var(--muted)}.badge+.badge{margin-left:4px}.badge-inactive{background:var(--sunken);color:var(--muted)}ul.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}ul.chips li{background:var(--sunken);border:1px solid var(--line);border-radius:14px;padding:3px 6px 3px 12px;display:inline-flex;gap:6px;align-items:center}ul.chips button.link{font-size:15px;line-height:1;padding:0 4px;color:var(--muted)}ul.legend{margin:6px 0 4px;padding-left:18px;color:var(--muted);font-size:13px}.secret{background:var(--warn-bg);border:1px solid #ecd29b;border-radius:8px;padding:10px 14px;margin:0 0 12px;display:grid;gap:8px}.secret code{font-size:13px;word-break:break-all;background:#fff;padding:6px 8px}nav.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:18px 0 4px}nav.tabs button{background:none;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 12px;height:36px;font-weight:400}nav.tabs button:hover:not(:disabled){background:none;color:var(--ink);border-color:transparent;border-bottom-color:var(--line-strong)}nav.tabs button.active,nav.tabs button.active:hover:not(:disabled){color:var(--ink);border-bottom-color:var(--brand);font-weight:500}nav.secondary-tabs{margin-top:8px}.inline-text{display:inline-flex;gap:4px;align-items:center}button.pencil{color:var(--muted);font-size:13px;opacity:.6}button.pencil:hover{opacity:1}form.inline-edit{display:inline-flex;gap:6px;align-items:center}form.inline-edit input{width:auto;min-width:140px}h1 form.inline-edit input{font-size:18px}svg.diagram{display:block;max-width:100%;height:auto;margin-bottom:10px}.panel:has(svg.diagram){overflow-x:auto}table.matrix{border-collapse:collapse;margin:6px 0 12px}table.matrix th,table.matrix td{border:1px solid var(--line);padding:4px 8px;text-align:center;font-size:12.5px}table.matrix th{background:var(--sunken);font-weight:500}table.matrix tbody th{text-align:right}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}input[type=color]{width:28px;height:22px;padding:0;border:1px solid var(--line);border-radius:4px;background:none}.field-grid{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;align-items:center;margin-bottom:8px}ul.chips li.archived{opacity:.55;text-decoration:line-through}.form.wide{max-width:none}.split{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,1.1fr);gap:18px;align-items:start}.pad{padding:24px 4px}button.toggle{color:var(--muted);width:16px;height:auto}.badge-restricted{background:var(--warn-bg);border-color:transparent;color:var(--warn);margin-left:6px}.dates{margin-left:8px;font-size:12px}.dates input[type=date]{font:inherit;font-size:var(--t-xs);height:24px;padding:0 4px;border:1px solid var(--line);border-radius:var(--r-sm);width:auto}table.grid.perms td,table.grid.perms th{text-align:center}table.grid.perms td:first-child,table.grid.perms th:first-child{text-align:left}.keep{display:flex;flex-wrap:wrap;gap:4px 0;margin:6px 0 12px}.explain p{margin:8px 0}dialog.confirm{border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 24px;width:min(460px,92vw);color:var(--ink);box-shadow:var(--shadow-pop)}dialog.confirm::backdrop{background:#10182859}dialog.confirm h2{font-size:16px;margin:0 0 8px}.confirm-body{color:var(--ink);margin:0 0 8px}.confirm-body p{margin:0 0 6px}.confirm-typed{display:block;margin-top:12px}.confirm-typed input{display:block;width:100%;box-sizing:border-box;margin-top:6px}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}button.danger:not(.link){background:var(--bad);border-color:var(--bad)}button.danger:not(.link):hover:not(:disabled){background:#912018;border-color:#912018}button.danger:not(.link):disabled{background:var(--sunken);border-color:var(--line);color:var(--muted)}.confirm-body p{white-space:pre-line}.panel.plain{background:none;border:0;padding:0}.panel.plain>header{margin-bottom:0}.panel.plain table.grid{margin-top:10px}time.when,.grid td .badge,.grid td code{white-space:nowrap}.grid td.actions,.grid td:last-child:has(button){white-space:nowrap}.status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:var(--t-sm);color:var(--ink-2)}.status>i{width:6px;height:6px;border-radius:50%;background:var(--line-strong);flex:none}.st-active>i,.st-accepted>i,.st-delivered>i,.st-sent>i,.st-live>i{background:var(--ok)}.st-requested>i,.st-provisioning>i,.st-open>i,.st-pending>i,.st-retrying>i,.st-queued>i,.st-proposed>i,.st-submitted>i{background:var(--warn)}.st-failed>i,.st-dead>i,.st-given_up>i,.st-declined>i,.st-rejected>i{background:var(--bad)}.st-failed{color:var(--bad)}.st-planned>i,.st-stopped>i,.st-draft>i,.st-superseded>i{background:var(--muted)}.st-closed>i{background:var(--ink-2)}.inline-field.length{display:inline-flex;gap:6px;align-items:center}.inline-field.length input[type=number]{width:5.5em}.who-cell{font-weight:500}.badge{border-radius:var(--r-sm)}@media(max-width:1100px){.grid .opt{display:none}}.panel.plain{overflow-x:auto}.page-head{margin:0 0 20px}.page-back{margin-bottom:8px;font-size:var(--t-sm)}.page-head-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-head-row h1{margin:0}.page-actions{display:flex;gap:8px;align-items:center;flex:none}.lede{color:var(--muted);margin:6px 0 0;max-width:760px}dialog.side-panel{margin:0 0 0 auto;height:100vh;max-height:100vh;width:min(460px,100vw);border:0;border-left:1px solid var(--line);padding:0;box-shadow:var(--shadow-pop);color:var(--ink)}dialog.side-panel::backdrop{background:#10182840}dialog.side-panel form{display:flex;flex-direction:column;height:100%}dialog.side-panel header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}dialog.side-panel header h2{font-size:var(--t-md)}dialog.side-panel .close{font-size:16px;color:var(--muted)}.side-body{flex:1;overflow-y:auto;padding:20px;display:grid;gap:16px;align-content:start}dialog.side-panel footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:var(--sunken)}div.field{display:grid;gap:4px}div.field>label{display:grid;gap:6px}.field-label{font-weight:500;font-size:var(--t-sm)}.field-help{color:var(--muted);font-size:var(--t-xs)}.field select,.field input:not([type=checkbox]):not([type=radio]){width:100%}fieldset.field-set{border:0;padding:0;margin:0;display:grid;gap:6px}fieldset.field-set legend{font-weight:500;font-size:var(--t-sm);padding:0;margin-bottom:6px}.sentence{display:flex;flex-wrap:wrap;align-items:center;gap:8px;line-height:32px}.sentence select{width:auto;max-width:100%}button.menu-btn{background:none;border:1px solid transparent;color:var(--muted);height:28px;width:28px;padding:0;font-size:18px;line-height:1;border-radius:var(--r-sm)}button.menu-btn:hover:not(:disabled),button.menu-btn[aria-expanded=true]{background:var(--sunken);border-color:var(--line);color:var(--ink)}.menu{position:fixed;z-index:50;min-width:180px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:4px;display:grid}.menu button{background:none;border:0;color:var(--ink);text-align:left;font-weight:400;height:32px;padding:0 10px;border-radius:var(--r-sm)}.menu button:hover:not(:disabled),.menu button:focus-visible{background:var(--sunken);box-shadow:none}.menu button.danger,.menu button.danger:not(.link){color:var(--bad);background:none;border:0}.menu button.danger:hover:not(:disabled),.menu button.danger:focus-visible{background:var(--bad-bg)}.menu button.sep{border-top:1px solid var(--line);border-radius:0 0 var(--r-sm) var(--r-sm);margin-top:4px}.grid td.row-actions{width:1%;text-align:right;white-space:nowrap}.lock{color:var(--muted);font-size:var(--t-xs);white-space:nowrap;cursor:help}form.inline{align-items:flex-end}label.inline-field{display:grid;gap:4px;font-size:var(--t-xs);font-weight:500;color:var(--ink-2)}label.inline-field>input,label.inline-field>select{font-size:var(--t-base);font-weight:400}button.inline-value{background:none;border:1px solid transparent;color:inherit;font:inherit;height:auto;padding:1px 4px;margin:-2px -5px;border-radius:var(--r-sm);display:inline-flex;align-items:center;gap:6px;cursor:text;text-align:left}button.inline-value svg{color:var(--muted);opacity:0}button.inline-value:hover:not(:disabled),button.inline-value:focus-visible{background:var(--sunken);border-color:var(--line);color:inherit}button.inline-value:hover svg,button.inline-value:focus-visible svg{opacity:1}h1 button.inline-value{font-weight:600}.toasts{position:fixed;right:20px;bottom:20px;display:grid;gap:8px;z-index:60;pointer-events:none}.toast{background:var(--ink);color:#fff;font-size:var(--t-sm);padding:8px 14px;border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.empty{border:1px dashed var(--line-strong);border-radius:var(--r-lg);padding:28px 24px;text-align:center;display:grid;gap:6px;justify-items:center;color:var(--ink-2);background:var(--panel);margin-top:10px}.empty p{margin:0 0 6px;color:var(--muted);max-width:520px}.panel .empty{border:0;background:none;padding:16px 8px}a.button:hover{text-decoration:none;background:var(--sunken)}a.button:not(.secondary):hover{background:var(--brand-hover)}form.filters{margin:0 0 4px;gap:12px}ol.timeline li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;padding:8px 0}ol.timeline time.when{color:var(--muted);font-size:var(--t-xs);min-width:90px}.signin-page{min-height:100vh;display:grid;grid-template-rows:1fr auto;place-items:center;background:var(--bg);padding:24px}.signin-card{width:min(400px,100%);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;display:grid;gap:14px;max-width:none}.signin-card h1{font-size:var(--t-lg);margin:4px 0 0}.signin-card>.muted{margin:0}.signin-brand{display:flex;align-items:center;gap:10px;color:var(--brand)}.signin-brand .word{color:var(--ink);font-weight:600;font-size:var(--t-lg);letter-spacing:-.02em}button.wide{width:100%;height:40px}button.ms-signin{width:100%;height:41px;background:#fff;color:#5e5e5e;border:1px solid #8c8c8c;border-radius:0;font:600 15px "Segoe UI",var(--sans);display:inline-flex;align-items:center;justify-content:center;gap:12px}button.ms-signin:hover:not(:disabled){background:#f3f3f3;border-color:#8c8c8c}details.trouble{font-size:var(--t-sm);color:var(--muted)}details.trouble summary{cursor:pointer}details.trouble p{margin:8px 0 0}details.trouble code{word-break:break-all}.signin-foot{color:var(--muted);font-size:var(--t-xs);padding:16px}.notice{background:var(--brand-weak);border:1px solid #b7d9da;border-radius:var(--r-lg);padding:12px 16px;margin:0 0 16px;display:grid;gap:6px}.notice p{margin:0;color:var(--ink-2)}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;align-items:end}.toolbar input:not([type=checkbox]){width:auto;min-width:200px}.toolbar label.check{height:32px;display:flex;align-items:center;gap:6px}.toolbar .spacer{flex:1}.checks{display:flex;flex-wrap:wrap;gap:4px 0}.stack{display:grid;gap:14px}.choices{border:0;padding:0;margin:0;display:grid;gap:8px}.choice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer}.choice:has(input:checked){border-color:var(--brand);background:var(--brand-weak)}.choice>span{display:grid;gap:2px}.choice input{margin-top:3px}.toolbar .field select{width:auto;min-width:140px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);padding:1px 2px 1px 8px;border-radius:10px;background:var(--sunken);border:1px solid var(--line);color:var(--ink-2);font-weight:500;white-space:nowrap}.chip-scope{color:var(--muted);font-weight:400}.chip-x{background:none;border:0;height:18px;width:18px;padding:0;border-radius:50%;color:var(--muted);line-height:1;font-size:14px;cursor:pointer}.chip-x:hover:not(:disabled),.chip-x:focus-visible{background:var(--bad-bg);color:var(--bad);border:0}.workflow-setting{display:flex;align-items:center;gap:8px;margin:0 0 14px;flex-wrap:wrap}.choices.horizontal{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:8px 0 12px}table.money td:nth-child(n+2),table.money th:nth-child(n+2){font-variant-numeric:tabular-nums}table.money tr.total td{font-weight:600;border-top:2px solid var(--line)}.over{color:var(--bad);font-weight:600}.figures{display:grid;grid-template-columns:max-content auto;gap:4px 16px;margin:12px 0 0}.figures dt{color:var(--muted)}.figures dd{margin:0;font-variant-numeric:tabular-nums}.estimate{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.estimate h3{margin:0;font-size:1rem}.add-line{margin-top:12px;align-items:flex-end}.kind{font-size:.75rem;padding:1px 6px;border-radius:var(--r-sm);background:var(--brand-weak)}.kind-credit{background:none;border:1px solid var(--line)}.kind-income{background:var(--ok-bg)}.file-chip{display:inline-flex;align-items:center;gap:2px;margin-left:6px;white-space:nowrap}.file-chip button.link{display:inline-flex;align-items:center;gap:3px}button.icon{background:none;border:0;color:var(--muted);padding:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}button.icon:hover:not(:disabled){background:var(--sunken);color:var(--ink);border:0}button.mini-toggle{margin:0 0 6px auto;display:flex}.shell.mini button.mini-toggle{margin:0 auto 6px}button.menu-toggle{display:none}.top{gap:16px}.top-right{display:flex;align-items:center;gap:8px;margin-left:auto}.top-search{flex:1;max-width:520px;display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--sunken);color:var(--muted)}.top-search input[type=search]{flex:1;border:0;background:none;font:inherit;color:var(--ink);height:32px;min-width:0}.top-search input[type=search]:focus-visible{box-shadow:none}.top-search:focus-within{box-shadow:var(--focus);border-color:var(--brand);background:var(--panel)}.bell{position:relative;display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;color:var(--ink-2);border-radius:var(--r-sm)}.bell:hover{background:var(--sunken);text-decoration:none}.bell-count{position:absolute;top:2px;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--bad);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}a.button{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--r-sm);font-weight:500;border:1px solid var(--brand);background:var(--brand);color:#fff}a.button.secondary{background:var(--panel);color:var(--ink);border-color:var(--line-strong)}a.button:hover{text-decoration:none;filter:brightness(.97)}input[type=search]{font:inherit;height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--ink)}.find-project{position:relative;margin:4px 2px 14px}.find-project input{width:100%}.find-results{position:absolute;left:0;right:0;top:36px;z-index:30;list-style:none;margin:0;padding:4px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.find-results li{padding:6px 8px;border-radius:var(--r-sm);cursor:pointer}.find-results li.active,.find-results li:hover{background:var(--sunken)}.empty-line{color:var(--muted);padding:24px 0}.count{color:var(--muted);font-weight:400;font-size:var(--t-sm)}.work-group{margin:20px 0}.work-group h2{margin-bottom:6px}.wg-overdue h2{color:var(--bad)}.obj-list{list-style:none;margin:0;padding:0}.obj-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--panel)}.obj-line:first-child{border-top:1px solid var(--line)}.obj-line>a{display:flex;gap:8px;align-items:baseline;min-width:0;color:var(--ink)}.obj-id{font:400 12px var(--mono);color:var(--muted)}.obj-type{font-size:var(--t-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.obj-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sm);white-space:nowrap}.state i{width:8px;height:8px;border-radius:50%;background:var(--line-strong)}.state.cat-in_progress i{background:var(--brand)}.state.cat-done i{background:var(--ok)}.state.cat-cancelled{color:var(--muted)}.due{font-size:var(--t-sm);white-space:nowrap}.due.late{color:var(--bad);font-weight:500}.stage{font-size:var(--t-xs);padding:1px 6px;border-radius:10px;background:var(--sunken);border:1px solid var(--line);white-space:nowrap}.stage-live{background:var(--ok-bg);border-color:transparent;color:var(--ok)}.stage-proposed{background:var(--warn-bg);border-color:transparent;color:var(--warn)}.stage-declined,.stage-cancelled{color:var(--muted)}.progress{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.progress .bar{display:inline-flex;width:80px;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.progress .b-done{background:var(--ok)}.progress .b-prog{background:var(--brand)}.progress .b-cancel{background:var(--line-strong)}.stage-tabs{overflow-x:auto}.stage-tabs button{white-space:nowrap}.filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}.filter-row .find{width:280px;max-width:100%}.filter-row .wide-find{flex:1;max-width:640px}label.check{display:inline-flex;gap:6px;align-items:center}.table-wrap{overflow-x:auto}.projects-table{width:100%;border-collapse:collapse;background:var(--panel)}.projects-table th,.projects-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.projects-table th{font-weight:500;color:var(--muted);font-size:var(--t-sm)}.projects-table .num{text-align:right}.proj-name{font-weight:500}button.pin{background:none;border:0;padding:0;width:28px;height:28px;color:var(--line-strong);display:inline-flex;align-items:center;justify-content:center}button.pin:hover:not(:disabled){background:var(--sunken);border:0;color:var(--muted)}button.pin.on{color:#c58a00}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.object-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0 16px}.object-head h1{margin:0;flex:1 1 auto}.object-cols{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}.object-cols.cols-1{grid-template-columns:minmax(0,1fr);max-width:900px}.object-cols.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.object-col{display:grid;gap:16px;min-width:0}.object-col>.panel{margin:0}.object-side dl.facts,.object-col dl.facts{grid-template-columns:minmax(0,110px) minmax(0,1fr)}.object-col dl.facts dd{min-width:0;overflow-wrap:anywhere}.object-col .editable{flex-wrap:wrap}dl.facts .fact{display:contents}.notice{background:var(--warn-bg);color:var(--warn);padding:8px 12px;border-radius:var(--r-sm)}.label-chip{display:inline-block;font-size:var(--t-xs);padding:0 6px;margin:0 4px 2px 0;border-radius:10px;background:var(--brand-weak);color:var(--brand)}.file-list,.rel-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}ol.comments{list-style:none;margin:0;padding:0;display:grid;gap:14px}.comment-head{margin-bottom:2px}ol.inbox{list-style:none;margin:12px 0;padding:0}ol.inbox li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:10px;border-bottom:1px solid var(--line);background:var(--panel)}ol.inbox li.unread{border-left:3px solid var(--brand)}ol.inbox li.read a{color:var(--ink-2)}ol.inbox li a{flex:1 1 320px;color:var(--ink)}.md{overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md blockquote,.md pre,.md table{margin:0 0 10px}.md h1,.md h2,.md h3,.md h4{font-size:var(--t-md);margin:14px 0 6px;display:block}.md blockquote{border-left:3px solid var(--line-strong);padding-left:12px;color:var(--ink-2)}.md pre{background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;overflow-x:auto}.md pre code{border:0;padding:0;background:none}.md img{max-width:100%;height:auto;border-radius:var(--r-sm)}.md table{border-collapse:collapse}.md th,.md td{border:1px solid var(--line);padding:4px 8px}.md li.task-item{list-style:none;margin-left:-1.2em}.md .mention{color:var(--brand);font-weight:500}@media(max-width:639px){.shell,.shell.mini{grid-template-columns:1fr}.top{padding:0 10px;gap:8px}button.menu-toggle{display:inline-flex}.brand .word{display:none}.top-search{max-width:none}.side,.shell.mini .side{position:fixed;top:52px;left:0;bottom:0;width:280px;z-index:40;transform:translate(-100%);transition:transform .15s ease-out;height:auto;padding:12px 10px}.shell.menu-open .side{transform:none;box-shadow:var(--shadow-pop)}.shell.mini .side h3,.shell.mini .side a span,.shell.mini .find-project,.shell.mini .switcher{display:revert}.shell.mini .side a{justify-content:flex-start;padding:0 10px}.side button.mini-toggle{display:none}.scrim{position:fixed;inset:52px 0 0;background:#1018284d;z-index:35}main{padding:16px}.side a,.find-results li{min-height:44px}.obj-line{grid-template-columns:minmax(0,1fr) auto}.obj-line .obj-project,.obj-line .obj-who{grid-column:1}.hide-phone{display:none}.two-col,.object-cols,.object-cols.cols-3{grid-template-columns:1fr}.filter-row .find{width:100%}}@media(min-width:640px)and (max-width:1023px){.two-col{grid-template-columns:1fr}.object-cols.cols-3,.object-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.object-cols.cols-1{grid-template-columns:minmax(0,1fr)}}@media(min-width:1600px){main{max-width:1400px}}.editable{display:inline-flex;align-items:baseline;gap:4px;max-width:100%}.editable .value{min-width:0}button.edit-btn{width:24px;height:24px;opacity:0;transition:opacity .1s;flex:none;align-self:center}.editable:hover button.edit-btn,button.edit-btn:focus-visible{opacity:1}@media(hover:none){button.edit-btn{opacity:.6}}.editing{display:grid;gap:6px}.editing input,.editing select{width:100%;max-width:320px}.editing.wide input[type=text],h1 .editing input{max-width:none}h1 .editing input{font:inherit;height:40px}h1 .editable{display:inline-flex}.chips-editor{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chips{display:contents}.chip{display:inline-flex;align-items:center;gap:2px;padding:0 2px 0 8px;height:24px;border-radius:12px;background:var(--brand-weak);color:var(--brand);font-size:var(--t-sm)}.chip button.icon{width:20px;height:20px;color:var(--brand)}.chips-editor select,.chips-editor input{width:auto;max-width:200px}button.small-btn{height:26px;padding:0 8px;font-size:var(--t-sm)}.row-actions{display:flex;gap:8px;margin-top:8px}.rich-view{display:grid;gap:8px;justify-items:start}.rich-view .md{justify-self:stretch}.md-editor{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--panel)}.md-editor:focus-within{border-color:var(--brand);box-shadow:var(--focus)}.md-bar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--line);background:var(--sunken);border-radius:var(--r-md) var(--r-md) 0 0}.md-bar button.tab{background:none;border:0;color:var(--muted);height:28px;padding:0 10px;font-weight:500}.md-bar button.tab.active{color:var(--ink);background:var(--panel);box-shadow:0 0 0 1px var(--line)}.md-tools{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto}.md-tools .tool{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;background:none;border:0;color:var(--ink-2);border-radius:var(--r-sm);cursor:pointer}.md-tools .tool:hover:not(:disabled){background:var(--panel);color:var(--ink);border:0}.md-tools button.tool:disabled{background:none;color:var(--line-strong)}.md-write{position:relative}.md-write textarea{display:block;width:100%;border:0;border-radius:0 0 var(--r-md) var(--r-md);resize:vertical;font:13.5px/1.5 var(--mono);padding:10px 12px;min-height:80px}.md-write textarea:focus-visible{box-shadow:none}.md-preview{padding:10px 12px;min-height:80px}.mention-list{position:absolute;left:12px;bottom:8px;transform:translateY(100%);z-index:30;list-style:none;margin:0;padding:4px;min-width:200px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.mention-list li{padding:6px 8px;border-radius:var(--r-sm);cursor:pointer}.mention-list li.active,.mention-list li:hover{background:var(--sunken)}.state-menu{position:relative}.state-menu>button{display:inline-flex;align-items:center;gap:6px}.state-menu .menu{position:absolute;right:0;top:36px;z-index:30;display:grid;min-width:180px;padding:4px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.state-menu .menu button{background:none;border:0;color:var(--ink);text-align:left;justify-content:flex-start;display:flex}.state-menu .menu button:hover{background:var(--sunken)}.follow{display:inline-flex;align-items:center;gap:8px}.follow svg{vertical-align:-2px}label.button{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--r-sm);font-weight:500;cursor:pointer;border:1px solid var(--brand);background:var(--brand);color:#fff}label.button.secondary{background:var(--panel);color:var(--ink);border-color:var(--line-strong)}label.button:focus-within{box-shadow:var(--focus)}.drop-zone{border-radius:var(--r-md)}.drop-zone.over{outline:2px dashed var(--brand);outline-offset:4px}.file-list li,.rel-list li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.rel-add{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.rel-add input{width:110px}.comment-head{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.comment-actions{margin-left:auto;display:inline-flex;gap:10px}.comment-new{margin-top:14px}@media(max-width:639px){.md-tools{margin-left:0}button.edit-btn{width:44px;height:44px}}.layout-columns-choice{border:0;padding:0;margin:8px 0 12px;display:flex;gap:14px;align-items:center}.layout-columns-choice legend{float:left;margin-right:6px;color:var(--muted)}.layout-grid{display:grid;gap:12px}.layout-grid.cols-2{grid-template-columns:2fr 1fr}.layout-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.layout-col{list-style:none;margin:0;padding:8px;min-height:120px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--sunken);display:grid;gap:6px;align-content:start}.layout-col.over{border-color:var(--brand);background:var(--brand-weak)}.layout-section{display:flex;align-items:center;gap:6px;padding:0 6px;height:40px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);cursor:grab}.layout-section.group{border-left:3px solid var(--brand)}.layout-section.drop-before{box-shadow:0 -3px 0 var(--brand)}.layout-section .grip{color:var(--muted);flex:none}.layout-section .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-section .moves{display:inline-flex}.layout-section .moves button.icon{width:24px;height:24px}.layout-empty{padding:8px}.field-group-edit{border-top:1px solid var(--line);padding:10px 0}.field-group-edit:first-of-type{border-top:0}.fg-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.fg-fields{display:flex;flex-wrap:wrap;gap:6px 16px}@media(max-width:1023px){.layout-grid.cols-3,.layout-grid.cols-2{grid-template-columns:1fr}}.panel-actions{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.object-tabs{margin:0 0 16px}.history-list{list-style:none;margin:0;padding:0}.history-list>li{padding:10px 0;border-bottom:1px solid var(--line)}.history-list>li:last-child{border-bottom:0}.history-list>li.undone .changes{opacity:.55}.history-head{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.history-head button.link{margin-left:auto}dl.changes{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:4px 12px;margin:6px 0 0;font-size:var(--t-sm)}dl.changes dt{color:var(--muted)}dl.changes dd{margin:0;min-width:0;overflow-wrap:anywhere}dl.changes .fact{display:contents}.changes .arrow{color:var(--muted);margin:0 4px}.changes .added{color:var(--ok)}.changes .removed{color:var(--bad)}pre.text-diff{margin:0;white-space:pre-wrap;font:12.5px/1.5 var(--mono);background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 8px}label.inline-field{display:inline-flex;gap:8px;align-items:center}label.inline-field input[type=number]{width:70px}label.inline-field input,label.inline-field select{width:auto}.undo-row{display:inline-flex;gap:8px;align-items:center;margin-left:auto}.feed{list-style:none;margin:0;padding:0;display:grid;gap:8px}.feed li{line-height:1.45}nav.project-tabs{overflow-x:auto;scrollbar-width:thin}nav.project-tabs a{flex:none;white-space:nowrap}nav.project-tabs a{display:inline-flex;align-items:center;height:36px;padding:0 12px;color:var(--muted);border-bottom:2px solid transparent}nav.project-tabs a:hover{color:var(--ink);text-decoration:none;border-bottom-color:var(--line-strong)}nav.project-tabs a.active{color:var(--ink);border-bottom-color:var(--brand);font-weight:500}.tree-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.tree-toolbar button{display:inline-flex;gap:4px;align-items:center}.tree-root-drop{margin-top:8px;padding:8px;border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--muted);font-size:var(--t-sm);text-align:center}.tree-deleted{margin-top:20px}.tree-deleted summary{cursor:pointer;color:var(--muted)}.move-candidates{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.filter-bar .find{width:240px;max-width:100%}.filter-chip{height:28px;padding-left:10px}.add-filter,.col-chooser{position:relative;display:inline-block}.add-filter>button,.col-chooser>button{display:inline-flex;align-items:center;gap:4px}.filter-pop{position:absolute;z-index:30;top:32px;left:0;min-width:260px;max-width:360px;display:grid;gap:8px;padding:10px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.filter-pop select,.filter-pop input:not([type=checkbox]):not([type=radio]){width:100%}.filter-choices{display:grid;gap:4px;max-height:220px;overflow-y:auto}.cols-pop{left:auto;right:0;max-height:360px;overflow-y:auto}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px}.list-actions{margin-left:auto;display:inline-flex;gap:8px;align-items:center}.list-table{width:100%;border-collapse:collapse;background:var(--panel)}.list-table th,.list-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.list-table th{font-weight:500;color:var(--muted);font-size:var(--t-sm);white-space:nowrap}.list-table th.pick,.list-table td.pick{width:32px}.list-table tr.picked td{background:var(--brand-weak)}button.sort-btn{background:none;border:0;color:inherit;font:inherit;padding:0;height:auto;display:inline-flex;gap:4px;align-items:center}button.sort-btn:hover:not(:disabled){background:none;color:var(--ink);border:0}.bulk-preview ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px;max-height:320px;overflow-y:auto;font-size:var(--t-sm)}.bulk-preview .ok{color:var(--ok)}.bulk-preview .bad{color:var(--bad)}label.field-label{display:grid;gap:4px;margin-bottom:12px;font-weight:500}@media(max-width:639px){.list-table thead{display:none}.list-table,.list-table tbody,.list-table tr,.list-table td{display:block;width:100%}.list-table tr{border-bottom:1px solid var(--line);padding:6px 0}.list-table td{border:0;padding:2px 10px;display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px}.list-table td:before{content:attr(data-label);color:var(--muted);font-size:var(--t-sm)}.list-table td.pick{display:block}.list-table td.pick:before{content:none}.filter-bar .find{width:100%}.filter-pop{position:fixed;left:8px;right:8px;top:auto;max-width:none}}.tv{--tv-indent: 20px;position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:4px 0;outline:none}.tv-row{display:flex;align-items:center;min-height:36px;padding:0 8px 0 6px;cursor:default;position:relative;-webkit-user-select:none;user-select:none}.tv-row:hover{background:var(--sunken)}.tv-row:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--brand)}.tv-row.selected{background:var(--brand-weak)}.tv-row.selected:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:var(--brand)}.tv-row.drop-target{background:var(--brand-weak);box-shadow:inset 0 0 0 2px var(--brand)}.tv-row.dim .tv-content{color:var(--muted)}.tv-guides{display:flex;flex:none;align-self:stretch}.tv-guides i{width:var(--tv-indent);flex:none;position:relative}.tv-guides i:after{content:"";position:absolute;left:9px;top:0;bottom:0;border-left:1px solid var(--line)}.tv-chev{width:20px;height:20px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);transition:transform .12s ease;border-radius:var(--r-sm)}.tv-row:hover .tv-chev:not(.leaf){color:var(--ink)}.tv-chev.open{transform:rotate(90deg)}.tv-chev.leaf:after{content:"";width:4px;height:4px;border-radius:50%;background:var(--line-strong)}.tv-content{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 0 4px 4px}.tv-dragline{height:2px;background:var(--brand);border-radius:1px;pointer-events:none}.tv .tv-type{font-size:var(--t-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tv-row.match .tv-name{font-weight:500}.tv .tv-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:6ch}.tv .tv-end{margin-left:auto;display:inline-flex;gap:10px;align-items:center}@media(max-width:639px){.tv-guides i{width:12px}.tv-guides i:after{left:5px}.tv-row{min-height:44px}}.icon-picker{position:relative;display:inline-block}button.icon-pick{width:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.icon-grid{position:absolute;z-index:40;top:36px;left:0;display:grid;grid-template-columns:repeat(8,32px);gap:2px;padding:6px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop)}.icon-grid button{width:32px;height:32px;padding:0;background:none;border:1px solid transparent;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center}.icon-grid button:hover:not(:disabled){background:var(--sunken);border-color:var(--line);color:var(--ink)}.icon-grid button.on{border-color:var(--brand);background:var(--brand-weak);color:var(--brand)}.card-field-list{list-style:none;margin:8px 0 12px;padding:0;display:grid;gap:6px;max-width:420px}.card-field-list li{display:flex;align-items:center;gap:8px;height:36px;padding:0 6px 0 10px;background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-sm)}.card-field-list .name{flex:1}.card-field-list .moves{display:inline-flex}.board-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:4px 0 12px}.card-shows{position:relative}.card-shows summary{cursor:pointer;color:var(--brand);list-style:none}.card-shows summary::-webkit-details-marker{display:none}.card-shows[open] .filter-pop{top:26px}.board{--col: 260px;overflow-x:auto;padding-bottom:8px}.board-head,.board-row{display:grid;grid-template-columns:repeat(var(--cols),minmax(var(--col),1fr));gap:10px;min-width:calc(var(--cols) * var(--col) + (var(--cols) - 1) * 10px)}.board-head{position:sticky;top:0;z-index:2;background:var(--bg);padding:4px 0 8px}.board-col-head{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);font-weight:500}.board-col-head.closed{opacity:.45}.board-lane{margin-bottom:14px}.lane-head{position:sticky;left:0;font-size:var(--t-sm);font-weight:600;margin:6px 0;display:inline-flex;gap:8px;align-items:baseline}.board-cell{min-height:80px;padding:6px;display:grid;gap:8px;align-content:start;background:var(--sunken);border:1px dashed transparent;border-radius:var(--r-md);transition:background .1s}.board-cell.over{background:var(--brand-weak);border-color:var(--brand)}.board-cell.closed{background:repeating-linear-gradient(135deg,var(--sunken) 0 8px,var(--line) 8px 9px);opacity:.6}article.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:8px 10px 10px;box-shadow:0 1px 1px #1018280a;cursor:grab;display:grid;gap:4px}article.card:hover{border-color:var(--line-strong)}.card-top{display:flex;align-items:center;justify-content:space-between}.card-top .menu-btn{height:22px}.card-name{color:var(--ink);font-weight:500;line-height:1.35;overflow-wrap:anywhere}.card-fields{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:var(--t-sm);color:var(--ink-2)}.card-field{display:inline-flex;align-items:center;gap:4px;min-width:0}.card-field svg{color:var(--muted);flex:none}nav.board-phone-tabs{display:none}nav.board-phone-tabs button{white-space:nowrap}@media(max-width:639px){nav.board-phone-tabs{display:flex;overflow-x:auto}.board{--cols: 1 !important}.board-head,.board-row{grid-template-columns:1fr;min-width:0}.board-col-head:not(.phone-on),.board-cell:not(.phone-on){display:none}}@media(min-width:1600px){.board{--col: 300px}}ul.key-dates{list-style:none;margin:0;padding:0;display:grid;gap:4px}ul.key-dates li{display:flex;align-items:center;gap:10px;min-height:36px;padding:2px 4px 2px 0;border-bottom:1px solid var(--line)}ul.key-dates li:last-child{border-bottom:0}ul.key-dates .kd-name{font-weight:500}ul.key-dates .kd-when{flex:1;font-size:var(--t-sm)}.kd-mark{width:10px;height:10px;flex:none}.kd-milestone .kd-mark{background:var(--brand);transform:rotate(45deg);border-radius:2px}.kd-period .kd-mark{background:repeating-linear-gradient(135deg,var(--warn, #b45309) 0 2px,transparent 2px 4px);border:1px solid var(--warn, #b45309);border-radius:2px}.card-field.kd-warn,.card-field.kd-warn svg{color:var(--warn, #b45309)}fieldset.radios{border:0;padding:0;margin:0 0 12px;display:grid;gap:6px}fieldset.radios legend{font-weight:500;margin-bottom:4px}.timeline{--tl-label: 260px;--tl-row: 32px;overflow:auto;max-height:calc(100vh - 260px);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);position:relative}.tl-head{position:sticky;top:0;z-index:4;display:flex;background:var(--panel);border-bottom:1px solid var(--line);width:max-content}.tl-row{display:flex;height:var(--tl-row);width:max-content;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.tl-label{position:sticky;left:0;z-index:3;flex:none;width:var(--tl-label);display:flex;align-items:center;gap:4px;padding-right:4px;background:var(--panel);border-right:1px solid var(--line);overflow:hidden}.tl-label .tl-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.tl-label .menu-btn{height:24px;opacity:.6}.tl-row:hover .tl-label .menu-btn{opacity:1}.tl-corner{height:44px}.tl-track{position:relative;flex:none;width:var(--tl-w)}.tl-scale{height:44px}.tl-month{position:absolute;top:0;height:24px;padding:4px 6px;font-size:var(--t-sm);font-weight:500;border-left:1px solid var(--line);white-space:nowrap;overflow:hidden}.tl-week{position:absolute;top:24px;height:20px;padding:2px 4px;font-size:var(--t-xs);color:var(--muted);border-left:1px solid var(--line);white-space:nowrap}.tl-body{position:relative;width:max-content}.tl-overlay{position:absolute;top:0;bottom:0;left:var(--tl-label);width:var(--tl-w);pointer-events:none;z-index:0}.tl-band{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--brand) 5%,transparent);border-left:1px solid color-mix(in srgb,var(--brand) 20%,transparent)}.tl-band.alt{background:color-mix(in srgb,var(--brand) 10%,transparent)}.tl-kd-period{--kd: var(--warn, #b45309);position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--kd) 14%,transparent) 0 6px,transparent 6px 12px);border-left:1px dashed var(--kd);border-right:1px dashed var(--kd)}.tl-kd-line{position:absolute;top:0;bottom:0;border-left:1px dashed var(--brand)}.tl-today{position:absolute;top:0;bottom:0;border-left:2px solid var(--danger, #c0362c)}.tl-row .tl-track{z-index:1}.tl-bandrow .tl-band-name{position:absolute;top:6px;height:20px;padding:1px 6px;font-size:var(--t-xs);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-kd-label{position:absolute;top:6px;height:20px;display:inline-flex;align-items:center;gap:4px;padding:0 6px;font-size:var(--t-xs);white-space:nowrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm)}.tl-kd-label.milestone i{width:8px;height:8px;background:var(--brand);transform:rotate(45deg)}.tl-kd-label.period{color:var(--warn, #b45309);overflow:hidden;text-overflow:ellipsis;display:block;line-height:18px}.tl-kd-label.milestone{z-index:1}.tl-bar{position:absolute;top:7px;height:18px;background:var(--brand);border-radius:4px;cursor:grab;touch-action:none;box-shadow:0 1px 1px #1018281a}.tl-bar.dragging{cursor:grabbing;opacity:.8;outline:2px solid color-mix(in srgb,var(--brand) 40%,transparent)}.tl-bar.ghost{background:var(--line-strong);cursor:default}.tl-grip{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.tl-grip.start{left:-2px}.tl-grip.end{right:-2px}.tl-bar-name{display:none}.tl-row.greyed .tl-name{color:var(--muted)}@media(max-width:639px){.timeline{--tl-label: 0px;--tl-row: 48px;max-height:none}.tl-label{width:0;padding:0;border:0}.tl-label>*{display:none}.tl-bar{top:24px}.tl-bar-name{display:block;position:absolute;top:4px;font-size:var(--t-sm);white-space:nowrap;pointer-events:none}.tl-row.undated{display:none}}@media(min-width:1600px){.timeline{--tl-label: 340px}}.board.plan{--col: 280px}.plan-col{display:grid;grid-template-rows:auto 1fr;background:var(--sunken);border:1px dashed transparent;border-radius:var(--r-md);min-height:200px}.plan-col.current{border-color:var(--brand);border-style:solid}.plan-col.over{background:var(--brand-weak);border-color:var(--brand)}.plan-col.closed{opacity:.6}.plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--panel);border-radius:var(--r-md) var(--r-md) 0 0;position:sticky;top:0}.plan-cards{display:grid;gap:8px;align-content:start;padding:8px}@media(max-width:639px){.board.plan .board-row{grid-template-columns:1fr}}
