/* Geist, self-hosted (SIL Open Font License, see fonts/OFL.txt). No third-party requests. */
@font-face{font-family:"Geist";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/Geist-Regular.woff2) format("woff2")}
@font-face{font-family:"Geist";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/Geist-Medium.woff2) format("woff2")}
@font-face{font-family:"Geist";font-weight:600 700;font-style:normal;font-display:swap;src:url(fonts/Geist-SemiBold.woff2) format("woff2")}
@font-face{font-family:"Geist Mono";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/GeistMono-Regular.woff2) format("woff2")}
@font-face{font-family:"Geist Mono";font-weight:500 700;font-style:normal;font-display:swap;src:url(fonts/GeistMono-Medium.woff2) format("woff2")}

/* Work2Work design system (Claude Design · "Work2Work"): tokens copied from the Figma file.
   Light only, like the product. */
:root{
  color-scheme:light;
  --white:#ffffff;   /* grey-scale-white */
  --g1:#f2f2f2;      /* grey-scale-g1: active nav, tab track, neutral badge */
  --g2:#e8e8e8;      /* grey-scale-g2: outline buttons, table lines, header rule */
  --g3:#d9d9d9;      /* grey-scale-g3: card and field borders, pending disc */
  --g5:#a5a5a5;      /* grey-scale-g5 */
  --g6:#8e8e8e;      /* grey-scale-g6: placeholders */
  --g7:#5b5b5b;      /* grey-scale-g7: sidebar, labels, secondary text */
  --g8:#3a3a3a;      /* grey-scale-g8: titles, values */
  --g9:#262626;      /* grey-scale-g9: ink, primary buttons */
  --black:#000000;   /* grey-scale-black: done step disc */
  --n200:#e5e5e5;    /* neutral-200: sidebar border */
  --muted:#737373;   /* muted-text: select prefix */
  --blue:#3b82f6;    /* active-colors-blue-dark: counters */
  --red:#f13a3a;     /* active-colors-red-dark: destructive, failed */
  --red-tint:#f9a8a8;/* board addition: known-issue swatch, lighter than red */
  --overlay:rgba(0,0,0,.4);
  --r-xs:4px; --r-nav:5px; --r-sm:6px; --r-md:8px; --r-tab:10px; --r-tablist:11px; --r-lg:16px;
  --sh-xs:0 1px 2px #0000000d;
  --sh-sm:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;
  --sh-tab:0 1px 1.5px #0000001a,0 1px 1px #0000001a;
  --focus:0 0 0 2px #ffffff,0 0 0 4px #262626;
  --f:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fm:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--white)}
body{margin:0;color:var(--g9);font:400 14px/1.5 var(--f);letter-spacing:.005em}
a{color:var(--g9);text-underline-offset:2px}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
:focus-visible{outline:none;box-shadow:var(--focus)}
h1,h2,h3,h4{margin:0;text-wrap:balance}
.mono{font-family:var(--fm)}
.tnum{font-variant-numeric:tabular-nums}
.muted{color:var(--g7)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.glyph{display:block;flex:none}

/* ---------- app shell ---------- */
.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:env(safe-area-inset-top,0px);height:100vh;max-height:100vh;overflow-y:auto;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:16px;background:var(--white);border-right:1px solid var(--n200)}
.side-top{display:flex;flex-direction:column;gap:24px}
.logo{display:block;width:170px;color:var(--black)}
.logo svg{display:block;width:170px;height:auto}
.side-sub{margin-top:-18px;padding-left:4px;font-size:12px;letter-spacing:.015em;color:var(--g7)}
.side-sub a{color:var(--g7)}
.nav{display:flex;flex-direction:column;gap:0}
.navi{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:4px 12px;border-radius:var(--r-nav);color:var(--g7);font-size:14px;cursor:pointer}
.navi:hover,.navi[aria-current="page"]{background:var(--g1)}
.navi[aria-current="page"]{color:var(--g9);font-weight:500}
.navi:focus-visible{box-shadow:var(--focus)}
.navi .ico{width:16px;display:grid;place-items:center;color:var(--g7)}
.navi .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-foot{display:flex;flex-direction:column;gap:32px}
.acct{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;min-height:59px;padding:8px 12px;border:1px solid var(--n200);border-radius:var(--r-sm);cursor:pointer;background:var(--white)}
.acct:hover{background:var(--g1)}
.acct:focus-visible{box-shadow:var(--focus)}
.acct .disc{width:32px;height:32px;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--g1);flex:none}
.acct b{display:block;font-weight:400;font-size:14px;color:var(--g9)}
.acct small{display:block;font-size:12px;letter-spacing:.015em;color:var(--g7)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--g3);flex:none}
.dot.ok{background:var(--g9)} .dot.err{background:var(--red)} .dot.wait{background:var(--blue)}

.page{min-width:0;display:flex;flex-direction:column}
.mtop{display:none}
.mtabs{display:none}

/* ---------- page header (W2W PageHeader) ---------- */
.phead{display:flex;flex-direction:column;gap:24px;padding:24px}
.phead-row{display:flex;gap:24px;align-items:flex-end;flex-wrap:wrap}
.phead-text{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:8px}
.crumbs{display:flex;gap:4px;align-items:center;font-size:12px;letter-spacing:.015em;color:var(--g7)}
.crumbs .cur{color:var(--g8)}
.ptitle{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--g8)}
.psub{margin:0;font-size:12px;letter-spacing:.015em;color:var(--g7)}
.pactions{display:flex;gap:8px;flex-wrap:wrap}
.prule{margin:0;border:0;border-top:1px solid var(--g2)}
.content{padding:0 24px 48px;display:flex;flex-direction:column;gap:24px}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 16px;border:1px solid var(--g2);border-radius:var(--r-md);background:var(--white);color:var(--g9);font-size:14px;font-weight:500;line-height:1.5;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--g1)}
.btn.primary{background:var(--g9);border-color:var(--g9);color:var(--white)}
.btn.primary:hover{background:var(--g8)}
.btn.large{min-height:40px;padding:9px 24px}
.btn.mini{min-height:24px;padding:2px 8px;font-size:12px;letter-spacing:.015em;border-radius:var(--r-xs);box-shadow:var(--sh-xs)}
.btn.ghost{border-color:transparent;background:transparent}
.btn.ghost:hover{background:var(--g1)}
.btn.raised{box-shadow:var(--sh-sm)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.ibtn{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--g2);border-radius:var(--r-md);background:var(--white);color:var(--g9);cursor:pointer;flex:none}
.ibtn:hover{background:var(--g1)}
.ibtn.primary{background:var(--g9);border-color:var(--g9);color:var(--white)}
.ibtn.primary:hover{background:var(--g8)}
.field{display:grid;gap:4px}
.field label,.flabel{font-size:12px;letter-spacing:.015em;color:var(--g7)}
.field .hint{font-size:12px;letter-spacing:.015em;color:var(--g7)}
.inp{width:100%;min-width:0;min-height:36px;padding:7px 12px;background:var(--white);border:1px solid var(--g3);border-radius:var(--r-md);box-shadow:var(--sh-xs);font-size:14px;color:var(--g9)}
.inp::placeholder{color:var(--g6)}
textarea.inp{resize:vertical;min-height:72px;line-height:1.5}
.inp:focus{outline:none;box-shadow:var(--focus)}
.sel{position:relative;display:inline-flex;align-items:center;min-height:36px;background:var(--white);border:1px solid var(--g3);border-radius:var(--r-md);box-shadow:var(--sh-xs);max-width:100%}
.sel:focus-within{box-shadow:var(--focus)}
.sel select{appearance:none;border:0;background:transparent;outline:none;padding:7px 32px 7px 12px;font-size:14px;font-weight:500;color:var(--g9);cursor:pointer;width:100%;min-width:0}
.sel select:disabled{cursor:default}
.sel .pre{padding-left:12px;color:var(--muted);white-space:nowrap;font-size:14px}
.sel .pre + select{padding-left:6px}
.sel .chev{position:absolute;right:8px;pointer-events:none;color:var(--g6)}
.sel.st select{padding-left:32px}
.sel.st .stg{position:absolute;left:10px;pointer-events:none}
.tabs{display:inline-flex;align-items:center;padding:3px;background:var(--g1);border-radius:var(--r-tablist);max-width:100%;overflow-x:auto;scrollbar-width:none}
.tab{all:unset;box-sizing:border-box;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:29px;min-width:29px;padding:4px 8px;border-radius:var(--r-tab);font-size:14px;font-weight:500;color:var(--g9);cursor:pointer;white-space:nowrap}
.tab[aria-pressed="true"],.tab[aria-selected="true"]{background:var(--white);box-shadow:var(--sh-tab)}
.tab:focus-visible{box-shadow:var(--focus)}
.count{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-tab);background:var(--blue);color:var(--white);font-size:12px;font-weight:500;line-height:1}
.badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 8px;border-radius:var(--r-md);background:var(--g1);color:var(--g9);font-size:12px;font-weight:500;letter-spacing:.015em;line-height:1.5;white-space:nowrap}
.badge.counter{background:var(--blue);color:var(--white);border-radius:var(--r-lg);min-width:24px;justify-content:center}
.badge.sm{min-height:20px;padding:1px 6px;font-size:11px}
.badge.line{background:var(--white);box-shadow:inset 0 0 0 1px var(--g9)}
.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--g9);cursor:pointer}
.check input{accent-color:var(--g9);width:16px;height:16px}

/* ---------- cards ---------- */
.card{background:var(--white);border:1px solid var(--g3);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0}
.card-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.ctitle{font-size:16px;font-weight:500;line-height:1.5;color:var(--g9)}
.csub{margin:0;font-size:12px;letter-spacing:.015em;color:var(--g7)}
.fv{display:flex;flex-direction:column;min-width:0}
.fv .l{font-size:12px;letter-spacing:.015em;color:var(--g7)}
.fv .v{font-size:14px;font-weight:500;color:var(--g8);overflow-wrap:anywhere}
.fv.end{align-items:flex-end;text-align:right}
.big{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--g8)}

/* summary */
.summary{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.25fr) minmax(0,1fr);gap:24px}
.stack{display:flex;height:8px;border-radius:var(--r-xs);overflow:hidden;background:var(--g1)}
.stack span{display:block;height:100%}
.stack span+span{box-shadow:inset 1px 0 0 var(--white)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px}
.legend button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.015em;color:var(--g7);border-radius:var(--r-xs);padding:1px 2px}
.legend button:hover{color:var(--g9)}
.legend button[aria-pressed="true"]{color:var(--g9);font-weight:500}
.legend button:focus-visible{box-shadow:var(--focus)}
.legend b{font-weight:500;color:var(--g9)}
.sw{width:10px;height:10px;border-radius:2px;flex:none}
.meter{height:8px;border-radius:var(--r-xs);background:var(--g1);overflow:hidden}
.meter i{display:block;height:100%;background:var(--g9)}
.alist{display:grid;gap:10px}
.alist div{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}

/* toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.tgroup{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.search{display:flex;gap:8px;align-items:center;flex:1 1 320px;max-width:364px}
.search .inp{flex:1}

/* module groups */
.group{background:var(--white);border:1px solid var(--g3);border-radius:var(--r-lg);overflow:hidden}
.ghead{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px 24px}
.ghead:focus-visible{box-shadow:inset 0 0 0 2px var(--g9)}
.ghead .ctitle{overflow-wrap:anywhere}
.gmeta{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.015em;color:var(--g7)}
.minibar{display:flex;width:112px;height:6px;border-radius:3px;overflow:hidden;background:var(--g1)}
.minibar span{height:100%}
.gchev{color:var(--g6);transition:transform .15s}
.group.closed .gchev{transform:rotate(-90deg)}
.group.closed .rows{display:none}
.rows{border-top:1px solid var(--g2)}
.row{display:grid;grid-template-columns:84px minmax(0,1fr) 128px 196px 116px 16px;gap:16px;align-items:center;padding:12px 24px;border-top:1px solid var(--g2);cursor:pointer}
.rows > .row:first-child{border-top:0}
.row:hover{background:#fafafa}
.row.open{background:var(--g1)}
.rid{font:500 12.5px var(--fm);color:var(--g7)}
.rtitle{min-width:0}
.rtitle b{display:block;font-weight:500;color:var(--g9);overflow-wrap:anywhere}
.rtitle small{display:block;font-size:12px;letter-spacing:.015em;color:var(--g7);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.role{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.015em;color:var(--g7);white-space:nowrap}
.when{font-size:12px;letter-spacing:.015em;color:var(--g7);line-height:1.35}
.when b{display:block;font-weight:500;color:var(--g8)}
.rchev{color:var(--g6);transition:transform .15s}
.row.open .rchev{transform:rotate(90deg)}
.detail{background:var(--g1);padding:8px 24px 24px 124px;cursor:auto}
.dgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px 32px}
.dsec h4{margin:16px 0 4px;font-size:12px;font-weight:400;letter-spacing:.015em;color:var(--g7)}
.dsec p{margin:0;max-width:68ch;color:var(--g8);overflow-wrap:anywhere}
.dsec ol{margin:0;padding-left:20px;display:grid;gap:4px;color:var(--g8)}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;font-size:14px}
.kv dt{color:var(--g7);font-size:12px;letter-spacing:.015em;padding-top:2px}
.kv dd{margin:0;color:var(--g8);overflow-wrap:anywhere}
.hist{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13px}
.hist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start}
.dactions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}
.empty{padding:40px 24px;text-align:center;color:var(--g7)}
.empty .ctitle{margin-bottom:4px}
.empty p{max-width:56ch;margin:4px auto}

/* inbox */
.cards{display:grid;gap:24px}
.why{background:var(--g1);border-radius:var(--r-md);padding:12px 16px;font-size:14px;color:var(--g8)}
.why b{font-weight:500;color:var(--g9)}
.srcline{display:flex;gap:4px 12px;flex-wrap:wrap;font-size:12px;letter-spacing:.015em;color:var(--g7)}
.diff{display:grid;gap:12px;font-size:14px}
.diff div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}
.diff del{color:var(--g7)}
.diff ins{text-decoration:none;background:var(--g1);border-radius:var(--r-xs);padding:0 4px;color:var(--g9)}
.card-a{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

/* bugs */
.sev{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:.015em;color:var(--g9);white-space:nowrap}
.bug-h{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.bug-aside{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
details.more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--g9)}
details.more summary::-webkit-details-marker{display:none}
details.more summary .glyph{transition:transform .15s;color:var(--g6)}
details.more[open] summary .glyph{transform:rotate(90deg)}
details.more .dgrid{margin-top:4px}

/* table */
.tablewrap{overflow-x:auto;background:var(--white);border:1px solid var(--g3);border-radius:var(--r-lg)}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:14px}
th{font-weight:500;text-align:left;padding:12px 16px;border-bottom:1px solid var(--g2);color:var(--g9)}
td{padding:12px 16px;border-top:1px solid var(--g2);vertical-align:top;color:var(--g8)}
tbody tr:first-child td{border-top:0}
td.route{font:500 12.5px var(--fm);white-space:nowrap}

/* sync */
.twocol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.vsteps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.vsteps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;position:relative;padding-bottom:16px}
.vsteps li:not(:last-child)::before{content:"";position:absolute;left:16px;top:32px;bottom:0;width:1px;background:var(--g3)}
.vsteps .disc{width:32px;height:32px;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--g3);color:var(--g7)}
.vsteps li.done .disc{background:var(--black);color:var(--white)}
.vsteps .txt{padding-top:5px;color:var(--g8)}
.vsteps li.done .txt{color:var(--g7)}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.fgrid .full{grid-column:1/-1}
.runs{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:14px}
.runs li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}
.runs .dot{margin-top:7px}
code{font-family:var(--fm);font-size:12.5px;background:var(--g1);border-radius:var(--r-xs);padding:1px 5px;overflow-wrap:anywhere}

/* dialog */
.scrim{position:fixed;inset:0;background:var(--overlay);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:max(32px,env(safe-area-inset-top,0px)) 16px 32px;overflow-y:auto}
.dialog{width:100%;max-width:720px;background:var(--white);border:1px solid var(--g3);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:24px}
.dialog-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.dialog-h h2{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--g8)}
.dialog-h p{margin:6px 0 0;color:var(--g7);font-size:14px}
.mactions{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.radios{display:flex;flex-wrap:wrap;gap:8px}
.radios label{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px;border:1px solid var(--g2);border-radius:var(--r-md);cursor:pointer;font-size:14px;font-weight:500}
.radios input{position:absolute;opacity:0;pointer-events:none}
.radios label:has(input:checked){border-color:var(--g9);background:var(--g1)}
.radios label:has(input:focus-visible){box-shadow:var(--focus)}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--g9);color:var(--white);padding:10px 16px;border-radius:var(--r-md);font-size:14px;font-weight:500;z-index:60;box-shadow:var(--sh-sm);max-width:calc(100% - 32px)}
.banner{padding:12px 16px;border-radius:var(--r-md);background:var(--g1);color:var(--g8);font-size:14px}
.skel{height:48px;border-radius:var(--r-md);background:linear-gradient(90deg,var(--g1),#e9e9e9,var(--g1));background-size:200% 100%;animation:sk 1.4s infinite}
@keyframes sk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skel{animation:none}.gchev,.rchev,details.more summary .glyph{transition:none}}

/* ---------- self-hosted additions: accounts, sign-in, team ---------- */
.ell{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct .disc,.person .disc,.mchip .disc,.acct-h .disc{border-radius:50%;display:grid;place-items:center;background:var(--g1);color:var(--g8);font-size:12px;font-weight:500;letter-spacing:.02em;flex:none}
.disc.sm{width:24px;height:24px;font-size:10.5px}
.disc.lg{width:48px;height:48px;font-size:16px}
.acct{width:100%;text-align:left}
.navi .dot{margin-right:2px}
.linkbtn{all:unset;cursor:pointer;color:var(--g9);text-decoration:underline;text-underline-offset:2px;border-radius:var(--r-xs)}
.linkbtn:focus-visible{box-shadow:var(--focus)}
.ferr{margin:0;padding:10px 12px;border-radius:var(--r-md);background:#fdeaea;color:#a61b1b;font-size:14px}
.mactions.split{justify-content:space-between;align-items:center}
.mactions.split > .mactions{gap:16px}
.btn.danger{color:#c01f1f}
.btn.danger:hover{background:#fdeaea}

/* sign-in */
.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:max(32px,env(safe-area-inset-top,0px)) 16px 32px;background:var(--g1)}
.auth-card{width:100%;max-width:400px;background:var(--white);border:1px solid var(--g3);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;gap:24px}
.auth-logo{color:var(--black)}
.auth-logo svg{display:block;width:150px;height:auto}
.auth-form{display:flex;flex-direction:column;gap:16px}
.auth-form .btn{width:100%}
.auth-foot{margin:0;font-size:12px;letter-spacing:.015em;color:var(--g7)}

/* account dialog */
.acct-h{display:flex;gap:16px;align-items:flex-start}
.acct-h .kv{flex:1;min-width:0}

/* team */
table.team{min-width:680px}
table.team td{vertical-align:middle}
table.team tr.off td{color:var(--g7)}
.person{display:flex;align-items:center;gap:12px;min-width:0;max-width:320px}
.person b{font-weight:500;color:var(--g9)}
.person small{font-size:12px;letter-spacing:.015em;color:var(--g7)}
.sel.sm{min-height:32px}
.sel.sm select{padding-top:4px;padding-bottom:4px}
.tacts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rolekey{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 32px;font-size:12px;letter-spacing:.015em;color:var(--g7)}
.rolekey b{font-weight:500;color:var(--g9);margin-right:6px}
.radios.col{flex-direction:column}
.radios.col label{align-items:flex-start;padding:10px 12px}
.radios.col label span{display:flex;flex-direction:column}
.radios.col small{font-weight:400;font-size:12px;letter-spacing:.015em;color:var(--g7)}
.kv.otp{background:var(--g1);border-radius:var(--r-md);padding:16px;gap:8px 16px;align-items:baseline}
.kv.otp .pw{font-size:18px;font-weight:500;color:var(--g9);letter-spacing:.04em;user-select:all}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .summary .card:first-child{grid-column:1/-1}
  .row{grid-template-columns:76px minmax(0,1fr) 184px 16px}
  .row .rrole,.row .when{display:none}
  .detail{padding-left:24px}
  .twocol{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .side{display:none}
  .mtop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--n200);position:sticky;top:env(safe-area-inset-top,0px);background:var(--white);z-index:20}
  .mtop .logo,.mtop .logo svg{width:120px}
  .mchip{all:unset;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--g7);cursor:pointer;padding:4px 10px;border:1px solid var(--n200);border-radius:var(--r-lg)}
  .mchip:focus-visible{box-shadow:var(--focus)}
  .mtabs{display:block;padding:12px 16px 0}
  .phead{padding:16px}
  .content{padding:0 16px 40px}
}
@media (max-width:560px){
  .summary{grid-template-columns:minmax(0,1fr)}
  .row{grid-template-columns:minmax(0,1fr) 16px;row-gap:8px;padding:12px 16px}
  .row .rid,.row .rtitle,.row .sel{grid-column:1/2}
  .row .rchev{grid-column:2/3;grid-row:1/2}
  .ghead{padding:16px;grid-template-columns:minmax(0,1fr) auto auto;gap:12px}
  .ghead .minibar{display:none}
  .detail{padding:8px 16px 16px}
  .dgrid,.fgrid{grid-template-columns:minmax(0,1fr)}
  .bug-h{grid-template-columns:minmax(0,1fr)}
  .bug-aside{justify-content:flex-start}
  .diff div{grid-template-columns:minmax(0,1fr)}
  .card{padding:16px}
  .search{max-width:none}
  .auth-card{padding:24px}
  .acct-h{flex-direction:column}
  .mactions.split{flex-direction:column-reverse;align-items:stretch}
  .mactions.split > .mactions{justify-content:flex-end}
}
