/* Coopagents: quiet monochrome workbench, with semantic status accents. */
:root {
  --paper: #fff;
  --wash: #f7f8fa;
  --green: #287351;
  --blue: #386aa0;
  --surface: #fff;
  --ink: #22252a;
  --muted: #666d76;
  --line: #e7e9ed;
  --forest: #202124;
  --accent: #202124;
  --error: #b42332;
  --soft: #eff1f4;
  --radius: 6px;
  --shadow: 0 2px 8px #20212408;
  color-scheme: light;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
  font-size: 14px;
  line-height: 1.65;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
h1 {
  font-size: 25px;
  letter-spacing: 0;
  font-weight: 600;
}
h2 {
  font-size: 18px;
}
h3 {
  font-size: 16px;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
  border-color: var(--line);
}
button {
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  padding: 8px 14px;
  cursor: pointer;
  transition:
    background 0.15s,
    border-color 0.15s,
    box-shadow 0.15s;
  overflow-wrap: anywhere;
  border-color: var(--line);
}
button:hover {
  background: var(--soft);
  border-color: #b6bbc2;
}
button:disabled {
  opacity: 0.55;
  cursor: wait;
}
button.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  font-weight: 600;
  box-shadow: none;
}
button.primary:hover {
  background: #333;
  border-color: #171717;
  box-shadow: none;
}
.primary span {
  float: right;
}
.danger {
  color: var(--error);
  border-color: #ebc8ce;
  font-weight: 600;
}
.danger:hover {
  background: #fff1f2;
  border-color: #d3919d;
}
input,
select,
textarea {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 38px;
  margin-top: 7px;
  padding: 9px 12px;
  border: 1px solid #cdd1d7;
  border-radius: var(--radius);
  background: var(--surface);
}
input:hover,
select:hover,
textarea:hover {
  border-color: #9e9e9e;
}
textarea {
  resize: vertical;
}
input:focus,
select:focus,
textarea:focus {
  border-color: #171717;
}
label {
  display: block;
  margin: 18px 0;
  font-size: 13px;
  font-weight: 600;
}
fieldset {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 16px 0;
  padding: 16px;
}
legend {
  padding: 0 6px;
  font-size: 13px;
}
a {
  color: inherit;
  text-underline-offset: 3px;
}
a:hover {
  color: #5e5e5e;
}
:focus-visible {
  outline: 3px solid #171717;
  outline-offset: 3px;
}
summary {
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
}
details > summary {
  padding: 12px 0;
}
details[open] > summary {
  margin-bottom: 8px;
}
[hidden] {
  display: none !important;
}
.muted,
.meta {
  color: var(--muted);
  font-weight: 400;
}
.muted {
  font-size: 13px;
}
.meta {
  font-size: 12px;
  margin: 6px 0;
  overflow-wrap: anywhere;
}
.eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.7;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
  font-size: 21px;
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 600;
}
.brand img {
  border-radius: 0;
  flex-shrink: 0;
  filter: grayscale(1);
}
.brand span {
  font-family: "Microsoft YaHei", sans-serif;
  font-size: 12px;
  letter-spacing: 0;
  margin-left: 2px;
}
.error {
  color: var(--error);
  font-size: 13px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 16px 0;
  font-weight: 600;
}
.error:empty {
  display: none;
}
.notice {
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-left: 3px solid #8b919a;
  border-radius: var(--radius);
  background: var(--soft);
  font-size: 13px;
  margin: 18px 0;
}
.loading-state {
  background: var(--soft);
  border-color: var(--line);
  border-left-color: #171717;
}
.empty {
  padding: 24px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  overflow-wrap: anywhere;
}
.view-note {
  max-width: 800px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 24px;
}
/* Entry */
.entry {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 48px 24px;
  background: var(--surface);
}
.entry-story {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 360px;
  padding: 0;
  background: transparent;
  color: var(--ink);
}
.entry-story:after {
  content: none;
}
.entry-story > .eyebrow {
  margin-top: 100px;
  color: #ccc;
  max-width: 330px;
}
.entry-story h1 {
  font-family: "Bahnschrift", "DengXian", "Microsoft YaHei", sans-serif;
  font-weight: 600;
  font-size: 26px;
  line-height: 1.35;
  letter-spacing: 0;
  margin: 24px 0;
}
.intro {
  font-size: 18px;
  line-height: 1.9;
  color: #ccc;
}
.entry-foot {
  margin-top: auto;
  padding-top: 80px;
  font-size: 12px;
  color: #aaa;
  z-index: 1;
}
.entry-foot span {
  letter-spacing: 0;
}
.entry-foot p {
  margin-top: 10px;
}
.entry-action {
  width: 100%;
  max-width: 360px;
  margin: 0;
  padding: 32px 0 0;
}
.entry-action > .eyebrow {
  color: #171717;
}
.entry-action h2 {
  font-size: 24px;
  margin: 0 0 8px;
  letter-spacing: 0;
}
.entry-action .primary {
  width: 100%;
  padding: 12px 16px;
  margin-top: 10px;
  text-align: center;
}
.entry-note {
  font-size: 12px;
  color: var(--muted);
  margin-top: 28px;
  line-height: 1.8;
}
#account-mode {
  margin: 24px 0 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 12px;
}
#account-entry form {
  margin: 16px 0 24px;
}
#account-entry details,
#legacy-entry {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 4px;
}
#legacy-entry summary {
  font-size: 13px;
}
#account-retry {
  font-size: 12px;
}
.github-link {
  display: block;
  border-radius: var(--radius);
  padding: 12px 16px;
  background: var(--forest);
  color: white;
  text-decoration: none;
  margin: 20px 0;
}
.github-link:hover {
  color: #fff;
  background: #333;
}
.tabs {
  display: flex;
  border-bottom: 1px solid var(--line);
  gap: 4px;
  margin: 12px 0 20px;
}
.tabs button {
  flex: 1;
  border: 0;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  padding: 10px 3px;
  font-size: 13px;
}
.tabs [aria-selected="true"] {
  border-color: #171717;
  color: #171717;
  font-weight: 600;
}
/* Shared workbench */
/* Read-only space board reuses the project shell and narrow viewing capability. */
.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;flex:none;font-size:20px}.icon-button svg{width:18px;height:18px;pointer-events:none}
.local-board .workspace main{padding:0 36px 24px}.local-board .readonly-page{margin-top:0}.local-board #board-navigation{margin-bottom:auto}.local-board #board-navigation>button[data-view=settings]{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);border-radius:0}
.local-board .breadcrumbs>span{min-width:0}.local-board .readonly-page>.board-toolbar{margin-bottom:22px}.local-board #readonly-view-title{font-size:25px}.local-board .readonly-page>h2{font-size:17px}
@media(max-width:767px){.local-board .workspace main{padding:0 20px 24px}.local-board .topline #transport-status{display:none}.local-board .breadcrumbs{font-size:11px}.local-board .breadcrumbs>span:first-child{display:none}}
/* Approved project workspace shell. Keep navigation and content in independent columns. */
.workspace,.account-hub{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh}
.sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;min-width:0;overflow-y:auto;padding:26px 16px 16px;background:#f6f7f9;color:var(--ink);border-right:1px solid var(--line);scrollbar-width:thin;z-index:5}
.sidebar .brand{font-size:18px;gap:9px;padding:0 10px;white-space:nowrap}
.sidebar .brand img{width:30px;height:30px;filter:grayscale(1);border-radius:5px;flex:none}
.sidebar .brand span{font-size:10px;font-weight:400;color:var(--muted);margin-left:auto}
.sidebar .eyebrow{color:var(--muted)}
.sidebar nav{display:grid;gap:4px}
.sidebar button{background:transparent;color:inherit;text-align:left}
.sidebar nav button{display:flex;align-items:center;gap:11px;min-height:42px;padding:10px 12px;border:0;border-radius:6px;font-size:13px;white-space:normal;color:#555d68}
.sidebar nav button svg{flex:none;color:#78818d;pointer-events:none}
.sidebar button:hover{background:#eceef2}
.sidebar nav [aria-current="page"]{background:#e6e9ee;color:var(--ink);font-weight:600}
.sidebar nav [aria-current="page"] svg{color:var(--ink)}
.sidebar input,.sidebar select{background:#fff;color:var(--ink);border-color:#dce0e5;font-size:13px}
.sidebar label{font-size:12px;color:var(--muted)}
.nav-label{color:#757c85;font-size:11px;margin:0 12px 8px}
.hub-context{margin:30px 0 24px}.hub-context label{margin:12px 0}
.room-label{margin:28px 10px 24px;overflow-wrap:anywhere}.room-label .eyebrow{font-size:10px}.room-label h2{font-size:13px;margin:8px 0}.room-label p:last-child{font:11px/1.6 Consolas,monospace;color:var(--muted)}
.sidebar:has(.workspace-project-switch:not([hidden])) .room-label{display:none}
#workspace-utility{margin-top:auto;padding-top:28px;padding-bottom:16px;border-bottom:1px solid #dfe3e9}
.sidebar-foot{padding:16px 10px 0}.sidebar-foot button{width:100%;font-size:12px;padding:8px 0;min-height:36px;border:0;color:var(--muted)}.sidebar-foot p{margin:0 0 8px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.account-hub .sidebar-foot{margin-top:auto}
.workspace-project-switch{display:grid;grid-template-columns:32px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;margin:30px 0 26px;padding:12px 10px;border:1px solid #dde1e7;border-radius:6px;background:#fff;color:var(--ink);text-align:left;min-height:58px}
.project-switch-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #d9e5df;border-radius:6px;background:#edf5f0;color:#316e50;font-size:14px;font-weight:600;flex:none}
.workspace-project-copy{display:flex;flex-direction:column;min-width:0}.workspace-project-copy>span:first-child{font-size:13px;font-weight:600;overflow-wrap:anywhere}.workspace-project-copy small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.project-switch-chevron{font-size:18px;color:var(--muted);text-align:center}
.project-switch-dialog{width:min(520px,calc(100vw - 32px));padding:24px;background:#fff;color:var(--ink)}
.project-switch-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.project-switch-dialog-heading .eyebrow{display:none}.project-switch-dialog-heading h2{margin:0;font-size:18px}.project-team-label{font-size:12px;color:var(--muted);padding-bottom:8px}.workspace-project-list{max-height:55dvh;overflow:auto;border-top:1px solid var(--line);padding-top:8px}.workspace-project-group{font-size:11px;color:var(--muted);padding:10px 10px 3px}.workspace-project-option{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:14px 10px;border:1px solid transparent;border-radius:6px;background:transparent;text-align:left;min-height:58px}.workspace-project-option:hover{background:var(--wash)}.workspace-project-option[aria-selected=true]{border-color:#dfe6e1;background:#f7faf8}.workspace-project-detail{display:flex;flex-direction:column;min-width:0}.workspace-project-detail strong{font-size:13px;overflow-wrap:anywhere}.workspace-project-detail small{font-size:11px;margin-top:3px;overflow-wrap:anywhere}.project-current{font-size:10px;color:var(--green);white-space:nowrap}.project-arrow{font-size:17px;color:var(--muted)}.project-switch-dialog-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.workspace main,.account-hub main{min-width:0;padding:0 36px 24px;width:100%;max-width:1536px;margin:0 auto;outline:0}
.topline{display:flex;align-items:center;justify-content:space-between;gap:16px;height:66px;min-height:66px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}
.topline>div{display:flex;align-items:center;gap:12px}.topline button{min-height:32px;font-size:12px;background:transparent}
.breadcrumbs{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:var(--muted);font-size:12px}.breadcrumbs>span,.breadcrumbs>button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.breadcrumbs>svg{width:12px;height:12px;flex:none;color:#a2a8b1}.breadcrumbs [aria-current]{color:var(--ink)}.breadcrumbs button{border:0;padding:4px 0;color:inherit}
.mobile-menu{display:none}.skip-link{position:fixed;top:-80px;left:12px;z-index:30;background:#fff;padding:12px}.skip-link:focus{top:12px}
.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:30px 0 26px;min-height:42px}.page-heading>div{min-width:0}.page-heading .eyebrow{font-size:11px;color:var(--muted);margin-bottom:6px}.page-heading h1{margin:0}.heading-actions{display:flex;gap:10px;align-items:center;flex:none}.heading-actions button{font-size:13px}.page-project{font-size:11px;color:var(--muted);margin-bottom:6px}#view-description{font-size:13px;color:var(--muted);margin-top:8px}
.overview-quick-links{display:flex;flex-wrap:wrap;gap:20px;margin:0 0 28px}.overview-quick-links button{border:0;background:transparent;color:var(--blue);padding:0;font-size:12px;min-height:30px}
.page-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:0 0 24px;overflow:auto}.page-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);padding:0 0 12px;font-size:13px;min-height:36px;white-space:nowrap}.page-tabs button[aria-current=page]{color:var(--ink);border-color:var(--accent);font-weight:600}
.members-page-heading{display:flex;justify-content:flex-end;gap:20px;margin-bottom:18px}.members-page-heading>div{display:none}.members-page-heading button{flex:none}
.settings-intro{padding:0 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px}.settings-intro h2{font-size:17px;margin-bottom:6px}.settings-intro button{margin-top:16px}
.page-foot{display:flex;justify-content:space-between;gap:16px;margin-top:40px;border-top:1px solid var(--line);padding-top:18px;font-size:11px;color:#737b86}
/* Accounts */
.project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
  gap: 20px;
}
.project-card {
  min-width: 0;
  display: grid;
  gap: 12px;
  align-content: start;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  padding: 24px;
  box-shadow: none;
}
.project-card .eyebrow {
  display: none;
  color: #696969;
  font-size: 10px;
  letter-spacing: 0;
}
.project-card h3 {
  font-size: 18px;
  font-weight: 600;
}
.project-card p {
  overflow-wrap: anywhere;
}
.project-card button {
  justify-self: start;
  margin-top: 8px;
  border-color: var(--line);
  color: var(--ink);
}
.hub-section {
  min-width: 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  padding: 24px 0;
  background: transparent;
  margin-bottom: 20px;
}
.hub-section h2 {
  margin: 8px 0 12px;
}
.hub-section > .eyebrow { display: none; }
.hub-section form {
  margin: 16px 0 26px;
}
.hub-section form:last-child {
  margin-bottom: 0;
}
.hub-section details + details {
  border-top: 1px solid var(--line);
  margin-top: 16px;
}
.hub-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}
.hub-columns > * {
  min-width: 0;
}
.create-project {
  margin-top: 24px;
  max-width: 650px;
}
.create-project > summary {
  padding: 0;
  color: #5e5e5e;
}
.create-project form,
#password-form {
  max-width: 580px;
}
#hub-identity {
  overflow-wrap: anywhere;
}
.account-member {
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  padding: 20px 0;
  margin-bottom: 14px;
}
.account-member h3 {
  font-size: 16px;
}
.account-member > select {
  display: inline-block;
  width: 190px;
  margin: 14px 10px 8px 0;
}
.account-member > button {
  margin: 8px 8px 8px 0;
}
.account-member details {
  border-top: 1px solid var(--line);
  margin-top: 14px;
  padding-top: 6px;
}
.account-member p {
  overflow-wrap: anywhere;
}
.account-member details form {
  max-width: 480px;
}
.grant-line {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 14px 0;
}
.grant-line span {
  flex: 1;
  min-width: 150px;
  overflow-wrap: anywhere;
}
.grant-line > * {
  max-width: 100%;
}
.grant-line button {
  font-size: 12px;
}
.scope-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.scope-option input {
  width: 18px;
  min-height: 18px;
  height: 18px;
  margin: 0;
  flex: none;
  accent-color: #5e5e5e;
}
/* Task board */
.board-toolbar,
.board-tools,
.board-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}
.board-toolbar {
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 22px;
}
.board-tools {
  flex: 1;
  min-width: 0;
}
.board-toolbar label {
  margin: 0;
  font-size: 0;
  color: var(--muted);
  font-weight: 500;
}
.search-label {
  width: 310px;
  max-width: 100%;
}
.board-toolbar input,
.board-toolbar select {
  margin-top: 0;
  font-size:13px;
  background: white;
}
.board-toolbar select {
  min-width: 150px;
}
.board-actions span {
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
}
.board-actions button {
  white-space: nowrap;
}
.task-create {
  margin-bottom: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.task-create:not([open]) {
  display: none;
}
.task-create > summary {
  padding: 12px 20px;
  color: #696969;
  border-bottom: 1px solid var(--line);
  margin: 0;
}
.task-form {
  padding: 20px 24px;
}
.task-form h2 {
  font-size: 19px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr auto;
  gap: 16px;
  align-items: end;
}
.form-grid label {
  min-width: 0;
}
.form-grid button {
  margin-bottom: 18px;
}
.board-note {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 16px;
}
.board-scroll-hint {
  display: none;
  color: #696969;
  font-size: 12px;
  margin: 12px 0;
}
.kanban-board {
  display: grid;
  grid-template-columns: repeat(5, minmax(190px, 1fr));
  align-items: start;
  gap: 16px;
  max-width: 100%;
  overflow-x: auto;
  padding: 2px 5px 18px;
  scrollbar-color: #888 transparent;
  scrollbar-width: thin;
}
.kanban-column {
  min-width: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  min-height: 0;
}
.column-heading {
  padding: 0 0 12px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 14px;
}
.column-heading > div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.column-heading h2 {
  font-size: 12px;
}
.column-heading p {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.6;
  color: var(--muted);
}
.status-dot {
  width: 7px;
  height: 7px;
  flex-shrink: 0;
  border: 0;
  border-radius: 50%;
  background: #888;
}
.column-working .status-dot {
  border-color: #717171;
  background: #4c78b8;
}
.column-blocked .status-dot {
  border-color: #171717;
  background: #b54735;
}
.column-review .status-dot {
  border-color: #808080;
  background: #9b6b13;
}
.column-merged .status-dot {
  border-color: #6d6d6d;
  background: #317b59;
}
.column-count {
  margin-left: 0;
  color: #626262;
  font-size: 12px;
  background: transparent;
  border-radius: 0;
  padding: 0;
}
.column-cards {
  display: grid;
  gap: 12px;
}
.column-cards .empty {
  background: transparent;
  border: 1px dashed #d4d4d4;
  padding: 24px 12px;
  font-size: 12px;
  text-align: center;
  border-color: var(--line);
}
.task-card {
  display: block;
  width: 100%;
  text-align: left;
  min-width: 0;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
  box-shadow: none;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}
.task-card:hover {
  background: white;
  border-color: #b6bbc2;
  box-shadow: var(--shadow);
}
.card-top,
.card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.card-bottom {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.task-number {
  font-family: Consolas, monospace;
  font-size: 12px;
  color: #737373;
  letter-spacing: 0;
}
.card-arrow {
  color: #737373;
}
.task-card h3 {
  font-size: 13px;
  line-height: 1.7;
  margin: 10px 0;
  font-weight: 600;
}
.card-summary {
  font-size: 12px;
  color: var(--muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.75;
}
.card-scope {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: anywhere;
  font-family: Consolas, monospace;
  font-size: 12px;
  color: #555;
  background: #f1f1f1;
  border-radius: 3px;
  padding: 2px 6px;
  margin: 14px 0 12px;
}
.card-person {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: none;
  border-radius: 50%;
  background: #eaf1ed;
  color: var(--green);
  font-size: 12px;
}
.card-meta {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}
.card-time {
  font-size: 12px;
  color: #747474;
  margin-top: 12px;
  line-height: 1.7;
}
.card-git {
  font-size: 12px;
  color: #565656;
  border-top: 1px dashed var(--line);
  padding-top: 10px;
  margin-top: 10px;
  overflow-wrap: anywhere;
}
.filter-empty {
  padding: 32px 24px;
  border: 1px dashed #c8c8c8;
  background: var(--surface);
  border-radius: 0;
  text-align: center;
  margin: 20px 0;
}
.filter-empty h2 {
  font-size: 19px;
}
.filter-empty p {
  margin: 8px 0 18px;
}
/* People, requests and agreements */
.summary-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 28px;
  border: 0;
  border-bottom: 1px solid var(--line);
}
.metric {
  padding: 0 24px 20px;
  border: 0;
  background: transparent;
  border-radius: 0;
  border-right: 1px solid var(--line);
}
.metric strong {
  display: block;
  font-family: "Bahnschrift", "DengXian", "Microsoft YaHei", sans-serif;
  font-weight: 600;
  font-size: 26px;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.metric span {
  font-size: 13px;
  color: var(--muted);
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin: 32px 0 16px;
}
.section-heading span {
  font-size: 12px;
  color: var(--muted);
}
.member-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 24px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 20px 0;
  margin-bottom: 16px;
}
.member-row h3 {
  font-size: 16px;
}
.session {
  padding: 12px 0;
  border-bottom: 1px dashed var(--line);
  margin-bottom: 12px;
  overflow-wrap: anywhere;
}
.session:first-child {
  padding-top: 0;
}
.progress-summary {
  margin: 6px 0 16px;
  font-size: 13px;
  color: var(--muted);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.badge {
  display: inline-block;
  max-width: 100%;
  font-size: 12px;
  font-weight: 500;
  border-radius: 4px;
  background: #ededed;
  color: #333;
  padding: 3px 8px;
  margin-right: 8px;
  overflow-wrap: anywhere;
  border: 1px solid transparent;
}
.badge-blocked,
.badge-rejected {
  background: #fff0ed;
  color: #a53325;
  border-color: #f0d2ca;
}
.badge-working,
.badge-claimed {
  background: #edf3fb;
  color: #315e93;
}
.badge-approved,
.badge-merged {
  background: #edf6f0;
  color: #286143;
  border-color: #d4e7da;
}
.badge-local_done,
.badge-pushed,
.badge-pr_open {
  background: #f2f2f2;
  color: #444;
  border-style: dashed;
}
.record {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 20px 0;
  margin: 16px 0;
}
.record h3 {
  font-size: 16px;
  margin: 12px 0;
}
.record p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.record .record-body {
  margin: 14px 0;
}
.record button {
  font-size: 13px;
  margin: 12px 10px 0 0;
}
.record details {
  border-top: 1px dashed var(--line);
  margin-top: 20px;
  padding-top: 6px;
}
.record details p {
  margin: 10px 0;
}
.record-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.record-header > div {
  min-width: 0;
}
.link-button {
  border: 0;
  background: transparent;
  padding: 4px 0;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: #5e5e5e;
}
.assignment {
  display: flex;
  gap: 10px;
  align-items: end;
  max-width: 470px;
}
.assignment label {
  flex: 1;
  min-width: 0;
  margin: 14px 0 0;
}
.assignment button {
  margin: 0;
}
.timeline {
  font-size: 12px;
  color: var(--muted);
  padding: 12px 0;
  margin-top: 10px;
  border-top: 1px solid var(--line);
}
.reply {
  padding: 16px 20px;
  margin: 16px 0;
  border-left: 3px solid #9e9e9e;
  border-radius: 0;
  background: #f4f4f4;
}
.history {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
/* Compact object collections share the same detail drawer. */
.object-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.object-toolbar label{margin:0;font-size:12px;color:var(--muted);font-weight:400}.object-search{max-width:340px;flex:1;min-width:180px}.object-toolbar select{min-width:160px}
.object-title-button{display:block;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;text-align:left;font-size:14px;font-weight:500;min-height:0;line-height:1.6}.object-title-button:hover{color:var(--blue);background:transparent}
.object-reference{display:block;font:11px Consolas,monospace;color:var(--muted);margin-bottom:5px}
.request-row{display:grid;grid-template-columns:minmax(0,1fr) 170px 130px;gap:24px;padding:21px 0;border-bottom:1px solid var(--line);align-items:start}.request-main,.request-people{min-width:0}.request-people{font-size:12px}.request-people>.meta{font-size:11px}.request-main>.link-button{font-size:12px;min-height:0;margin-top:8px}
.reply-preview{background:var(--wash);border-left:2px solid #d8dfe7;padding:8px 12px;font-size:12px;margin-top:12px;color:#626d79;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.object-status{font-size:11px;line-height:1.5;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.object-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#a1a7af;flex:none}.object-status.pending{color:#8b6419}.object-status.pending::before{background:#b68a35}.object-status.good{color:var(--green)}.object-status.good::before{background:#4d9271}
.content-row{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:flex-start}.object-mark{width:36px;height:36px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;flex:none;color:#738092;font-size:18px}.row-content{min-width:0;flex:1}.row-end{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex:none}.row-end>.link-button{font-size:12px;min-height:24px}.object-summary{margin-top:8px;color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.task-table-wrap{overflow-x:auto;max-width:100%}.task-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}.task-table th{padding:10px 12px;background:#f8f9fb;color:var(--muted);font-size:11px;font-weight:400;border-block:1px solid var(--line)}.task-table th:first-child{width:47%}.task-table th:last-child{width:7%}.task-table td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:12px;overflow-wrap:anywhere}.task-table-link{display:block;padding:0;text-align:left;border:0;background:transparent;min-height:0;width:100%;font-size:13px}.task-table-link:hover{background:transparent;color:var(--blue)}.task-table-link>span,.task-table-link>strong{display:block}.task-table-link>.meta{font-size:11px;margin:5px 0 0;font-weight:400}.task-table .link-button{font-size:12px}
.card-state{font-size:10px;color:var(--muted);line-height:1.5}.state-working{color:var(--blue)}.state-blocked{color:var(--error)}.state-review{color:#8b6419}.state-merged{color:var(--green)}.card-bottom{margin-top:12px}.card-bottom .card-person{font-size:11px}.card-bottom .avatar{width:23px;height:23px;font-size:10px}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:40px}.overview-grid>div,.overview-grid>aside{min-width:0}
.branch-legend{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0}.branch-chip{font:11px Consolas,monospace;color:#66717e;border:1px solid var(--line);border-radius:4px;padding:3px 8px}
.capability-profile{display:flex;gap:10px;align-items:flex-start}.capability-profile>.avatar{width:34px;height:34px}.agent-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agent-summary>strong{font-size:13px;font-weight:500}.agent-emblem{font:11px Consolas,monospace;width:25px;height:25px;background:#f0f2f5;border-radius:5px;display:grid;place-items:center;flex:none;color:#4d5662}.agent-presence{font-size:10px;color:var(--muted);margin-left:auto}.agent-presence.registered{color:var(--green)}.agent-presence.stale{color:#8b6419}.agent-presence.unavailable{color:var(--error)}
@media(max-width:900px){.overview-grid{grid-template-columns:1fr;gap:28px}.request-row{grid-template-columns:minmax(0,1fr) 130px;gap:12px}.request-row>.object-status{grid-column:2;grid-row:1;margin-top:48px}.task-table{min-width:680px}}
@media(max-width:600px){.request-row{grid-template-columns:minmax(0,1fr)}.request-row>.object-status{grid-column:1;grid-row:auto;margin:0}.request-people{display:flex;gap:10px;align-items:center}.request-people>.meta{margin:0}.content-row{gap:10px}.content-row>.object-mark{display:none}.row-end{max-width:105px}.delivery-graph .git-object-row{grid-template-columns:88px minmax(0,1fr)}.delivery-graph .git-object-marker{margin-left:calc(8px + var(--lane,0)*20px)}}
/* Dialogs */
dialog {
  width: min(600px, calc(100vw - 32px));
  max-height: 90dvh;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 28px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 16px 64px #20212424;
}
dialog::backdrop {
  background: #20252e40;
}
.dialog-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.dialog-heading .eyebrow {
  color: #696969;
}
.dialog-heading button {
  min-width: 40px;
  padding: 0;
  font-size: 26px;
  border: 0;
  background: transparent;
}
dialog h2 {
  font-size: 23px;
  margin: 12px 0 18px;
}
dialog > p {
  margin: 12px 0;
}
.task-dialog {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  width: min(600px, calc(100vw - 24px));
  height: 100dvh;
  max-height: 100dvh;
  border-radius: 0;
  padding: 28px 32px;
  border-right: 0;
}
.task-dialog > .dialog-heading {
  position: sticky;
  top: -28px;
  z-index: 1;
  background: var(--surface);
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  margin-bottom: 22px;
}
.task-dialog h2 {
  font-size: 25px;
  line-height: 1.5;
}
.detail-status {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
  font-size: 13px;
}
.detail-label {
  font-weight: 600;
  color: #696969;
  font-size: 13px;
  border-top: 1px solid var(--line);
  padding-top: 18px;
  margin: 22px 0 8px;
}
.detail-value {
  font-size: 14px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.detail-link {
  display: block;
  width: 100%;
  text-align: left;
  margin: 10px 0;
  background: #f4f4f4;
  font-size: 13px;
}
.task-dialog .empty {
  font-size: 13px;
  padding: 16px;
}
.secret {
  border: 1px solid #d1d1d1;
  border-radius: 0;
  padding: 16px;
  margin: 20px 0;
  background: #f6f6f6;
}
.secret label {
  margin: 0;
}
.secret button {
  font-size: 13px;
  margin: 12px 8px 0 0;
}
.secret .meta {
  margin-top: 10px;
}
#config-template {
  font-family: Consolas, monospace;
  font-size: 12px;
  white-space: pre;
  overflow: auto;
}
#dialog-status {
  font-size: 13px;
}
#connection-help {
  margin-top: 24px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}
/* Plan & billing */
.billing-panel {
  margin: 0;
  padding: 24px 0;
  border-top: 1px solid var(--line);
  max-width: 1000px;
}
.billing-heading .eyebrow {
  color: var(--muted);
  margin-bottom: 10px;
}
.billing-panel h2 {
  font-size: 23px;
  margin: 0;
}
.billing-notice:empty,
.billing-error:empty {
  display: none;
}
.billing-notice {
  margin-top: 20px;
  padding: 14px 16px;
  border-left: 3px solid #171717;
  background: #f8f8f8;
  font-size: 13px;
  border-radius: 0;
}
.billing-content {
  margin-top: 28px;
}
.billing-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
}
.billing-plan .eyebrow {
  color: var(--muted);
  margin-bottom: 8px;
}
.billing-plan-name {
  font-family: "Bahnschrift", "DengXian", "Microsoft YaHei", sans-serif;
  font-size: 28px !important;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 14px;
}
.billing-price {
  font-size: 22px;
  font-weight: 600;
  margin-top: 20px;
}
.billing-detail {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.8;
  margin-top: 12px;
}
.billing-mode {
  display: inline-block;
  font-size: 12px;
  border: 1px solid #cfcfcf;
  background: #f8f8f8;
  color: #4d4d4d;
  border-radius: 0;
  padding: 4px 9px;
  margin-top: 14px;
}
.billing-usage {
  border-left: 1px solid var(--line);
  padding-left: 32px;
  min-width: 0;
}
.billing-usage-item + .billing-usage-item {
  margin-top: 24px;
}
.billing-usage-value {
  font-family: Consolas, monospace;
  font-size: 23px;
  line-height: 1.5;
  margin-top: 8px;
}
.billing-warning {
  font-size: 13px;
  color: #5e5e5e;
  margin-top: 8px;
}
.billing-state {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  border-top: 1px solid var(--line);
  margin-top: 28px;
  padding-top: 20px;
  font-size: 13px;
}
.billing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.billing-actions button {
  font-size: 13px;
  max-width: 100%;
}
.billing-error {
  font-size: 13px;
  margin-top: 18px;
}
.billing-panel p,
.billing-panel h2 {
  overflow-wrap: anywhere;
}
/* Repository evidence */
.git-connection {
  max-width: 1000px;
  min-width: 0;
}
.git-connection h2 {
  font-size: 17px;
  margin-bottom: 12px;
}
.git-connection h3 {
  font-size: 15px;
  margin: 0 0 12px;
}
.git-block {
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  border-radius: 0;
  padding: 24px 0;
  margin: 0 0 24px;
}
.git-block > .eyebrow {
  color: #696969;
  margin-bottom: 10px;
}
.git-repository {
  font-family: Consolas, monospace;
  font-size: 13px;
  margin: 12px 0 8px;
  overflow-wrap: anywhere;
}
.git-connection details {
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  padding: 4px 0;
  margin: 20px 0;
}
.git-connection pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #f2f2f2;
  border-radius: 0;
  padding: 16px;
  font-size: 12px;
  line-height: 1.8;
}
.git-bind-form,
.git-link-form {
  display: grid;
  gap: 14px;
  margin: 20px 0;
}
.git-bind-form {
  max-width: 560px;
}
.git-link-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 18px 0;
  border: 0;
  border-radius: 0;
}
.git-link-form label {
  margin: 0;
  font-size: 12px;
}
.git-link-form p {
  grid-column: 1/-1;
}
.git-link-form button,
.git-bind-form button {
  justify-self: start;
}
.git-evidence {
  padding: 16px 0 16px 16px;
  border-left: 2px solid var(--line);
  border-radius: 0;
  background: transparent;
  margin: 14px 0;
  overflow-wrap: anywhere;
}
.git-evidence p {
  margin: 6px 0;
}
.git-evidence a,
.git-authorization a {
  color: #5e5e5e;
  font-weight: 600;
}
.git-authorization {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin: 0 0 24px;
}
.git-block > button,
.git-connection > button {
  margin: 8px 12px 8px 0;
}
.git-overlap {
  border-left: 3px solid #171717;
}
.project-activity {
  margin: 24px 0;
  border-top: 1px solid var(--line);
  padding-top: 20px;
  max-height: 640px;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}
.project-activity h2 {
  font-size: 18px;
  margin: 0 0 14px;
}
.activity-item {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  overflow-wrap: anywhere;
}
.activity-item p { margin: 4px 0; }
.activity-item a { color: #245f54; font-weight: 600; }
.activity-item button { margin-top: 6px; }
.activity-summary { font-weight: 600; }
.activity-filters,
.asset-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin: 12px 0;
}
.activity-filter,
.asset-controls label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 13px;
}
.activity-filter select { min-width: 150px; }
.activity-freshness { font-weight: 600; }
.activity-freshness.stale { color: #9a4b16; }
.activity-freshness.unavailable { color: #8d3434; }
.project-assets { margin: 28px 0; border-top: 1px solid var(--line); padding-top: 20px; }
.project-assets h2 { font-size: 18px; margin: 0; }
.asset-controls input[type="file"] { max-width: 100%; }
.asset-status { min-height: 1.5em; color: var(--muted); }
.asset-row { border-bottom: 1px solid var(--line); padding: 12px 0; overflow-wrap: anywhere; }
.asset-row h3 { font-size: 16px; margin: 0 0 6px; }
.asset-row p { margin: 5px 0; }
.asset-row button { margin-top: 4px; }
/* Capability tools share the same unframed section and record hierarchy. */
.shared-context,
.capability-discovery,
.delivery-traceability {
  min-width: 0;
  margin: 0;
  padding-top: 0;
  border-top: 0;
}
.shared-context > h2,
.capability-discovery > h2,
.delivery-traceability > h2 { margin-bottom: 16px; }
.context-primary { display: grid; grid-template-columns: minmax(160px, 2fr) repeat(2, minmax(120px, 1fr)) auto; gap: 12px; align-items: end; }
.context-filters label { margin: 0; min-width: 0; font-size: 12px; color: var(--muted); font-weight: 500; }
.context-filters select { text-overflow: ellipsis; }
.context-filters input,
.context-filters select { margin-top: 6px; }
.context-primary > button { margin-bottom: 0; }
.context-advanced { margin: 8px 0 16px; }
.context-advanced > summary { width: fit-content; color: var(--muted); font-size: 12px; }
.context-extra { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 8px 0 16px; }
.context-results { min-width:0; }
.context-item,
.delivery-item { min-width: 0; padding: 18px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.context-item h3,
.delivery-item h3 { font-size: 15px; margin-bottom: 6px; }
.context-item > p,
.delivery-item > p { margin: 6px 0; white-space: pre-wrap; }
.context-reference { font-family: Consolas, monospace; font-size: 12px; }
.context-item button,
.delivery-item button { font-size: 12px; margin: 8px 8px 0 0; }
.context-page { margin: 16px 8px 8px 0; }
/* Git delivery graph: keep the marker rail and object body in one stable grid. */
.delivery-graph { min-width: 0; margin: 0; }
.graph-page-heading { padding:12px 16px;background:var(--wash);border:1px solid var(--line);border-radius:6px; }
.graph-page-title { min-width: 0; }
.graph-page-title h2 { margin-top: 4px; }
.graph-page-heading > p { font-size:12px;margin:0; }
.git-graph-controls { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(2, minmax(140px, 1fr)) auto; gap: 12px; align-items: end; padding: 18px 0; }
.git-graph-controls .search-field { margin: 0; min-width: 0; color: var(--muted); font-size: 12px; font-weight: 500; }
.git-graph-controls .search-field input { margin-top: 6px; }
.git-graph-controls select { margin-top: 0; }
.result-count { align-self: center; color: var(--muted); font-size: 12px; white-space: nowrap; }
.git-graph-groups { position: relative; min-width: 0; margin-top: 4px; border-top: 1px solid var(--line); }
.git-edge-layer { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; color: #87919c; }
.git-edge { fill: none; opacity: .72; vector-effect: non-scaling-stroke; }
.git-edge-pr-head-branch { color: #648b72; }
.git-edge-pr-head-sha { color: #7187aa; }
.git-edge-workspace-head { color: #9a7c5a; }
.git-lane { position: relative; z-index: 1; min-width: 0; }
.git-lane + .git-lane { border-top:1px solid #f0f1f3; }
.git-lane-head { display:none; }
.git-lane-head > div { min-width: 0; }
.git-lane-head h3 { font-size: 15px; margin-top: 2px; }
.git-lane-track { justify-self: center; width: 12px; height: 12px; border: 2px solid #779987; border-radius: 50%; background: var(--surface); }
.git-lane-head > .meta { white-space: nowrap; }
.git-lane-objects { min-width: 0; padding:0; }
.git-object-row { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 0; position: relative; min-width: 0; min-height:68px; }
.git-object-row + .git-object-row { border-top: 1px solid #f0f1f3; }
.git-object-marker { grid-column: 1; align-self: start; justify-self: start; margin-left:calc(12px + var(--lane,0)*24px);z-index: 3; width: 12px; height: 12px; margin-top: 18px; border: 2px solid #7c8794; border-radius: 50%; background: var(--surface); box-shadow: 0 0 0 3px var(--surface); }
.git-object-marker.kind-branch { border-radius: 3px; border-color: #679477; background: #edf6ef; transform: rotate(45deg); }
.git-object-marker.kind-commit { border-color: #718092; }
.git-object-marker.kind-pr { width: 14px; height: 14px; border-color: #597cac; background: #edf4fc; }
.git-object-marker.kind-release { border-color: #9f7749; background: #fbf4e8; }
.git-object-body { grid-column: 2; min-width: 0; padding: 11px 18px 10px 7px; position: relative; z-index: 1; }
.git-object-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.git-object-link, .git-task-link { font-size:12px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); text-align: left; font-weight: 600; }
.git-object-link:hover, .git-task-link:hover { background: transparent; color: #476b59; text-decoration: underline; }
.kind-chip { padding: 2px 6px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-size: 10px; line-height: 1.4; white-space: nowrap; }
.git-object-state { color: var(--muted); font-size: 11px; }
.git-object-state.stale, .evidence-warning { color: #9a4b16; }
.git-object-title { margin: 3px 0 0; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.git-object-facts, .git-object-tasks, .git-suggestion-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 4px; min-width: 0; }
.git-object-facts > span { font-size: 10px; overflow-wrap: anywhere; }.git-object-facts>.meta,.git-object-facts>.relation-tag{display:none}
.relation-tag { color: #597cac; }
.git-task-link { color: #476b59; font-size: 12px; }
.git-suggestion-button { min-height: 30px; padding: 4px 9px; font-size: 12px; }
.git-graph-groups > .empty { padding: 24px 12px; border-bottom: 1px solid var(--line); }
.capability-member { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.capability-profile h3 { font-size: 15px; }
.capability-agents { min-width: 0; }
.capability-session { padding: 0 0 16px; overflow-wrap: anywhere; }
.capability-session + .capability-session { border-top: 1px solid var(--line); padding-top: 16px; }
.capability-session:last-child { padding-bottom: 0; }
.capability-session > strong { font-size: 14px; font-weight: 600; }
.capability-session > button { font-size: 12px; margin-top: 4px; }
.capability-evidence > summary { color: var(--muted); font-size: 12px; padding: 10px 0; }
.capability-discovery > .capability-evidence { margin-top: 16px; max-height: 560px; overflow: auto; scrollbar-width: thin; }
.capability-evidence .record { margin: 0; }
.overview-details { margin: 24px 0; border-top: 1px solid var(--line); padding-top: 8px; }
.overview-details > summary { color: var(--muted); font-size: 13px; }
.needs-attention:empty { display: none; }
@media (max-width: 900px) {
  .context-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .context-extra { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .context-primary > button { justify-self: start; }
  .capability-member { grid-template-columns: 140px minmax(0, 1fr); gap: 16px; }
  .git-graph-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .git-graph-controls .search-field { grid-column: 1 / -1; }
  .result-count { justify-self: start; }
}
@media (max-width: 767px) {
  .capability-member { grid-template-columns: minmax(0, 1fr); }
  .context-primary > label:first-child { grid-column: 1 / -1; }
  .context-primary > button { grid-column: 1 / -1; }
  .context-extra { grid-template-columns: minmax(0, 1fr); }
  .context-results { padding-right: 6px; }
  .graph-page-heading { display: block; }
  .graph-page-heading > p { margin-top: 8px; text-align: left; }
  .git-graph-controls { grid-template-columns: minmax(0, 1fr); }
  .git-graph-controls .search-field { grid-column: auto; }
  .git-lane-head { padding-left: 8px; padding-right: 8px; }
  .git-lane-objects { padding-left: 8px; padding-right: 8px; }
  .activity-filter,
  .asset-controls > label { flex: 1 1 100%; min-width: 0; margin: 6px 0; }
  .activity-filter select { min-width: 0; width: 100%; }
  .icon-button { width: 44px; height: 44px; }
}
/* Project totals use the full snapshot, independently of board filters. */
.board-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 24px;
}
.board-summary .metric:first-child {
  background: transparent;
  color: var(--ink);
}
.board-summary .metric:first-child span {
  color: var(--muted);
}
.board-summary .metric strong {
  margin: 8px 0 0;
}
.metric:last-child {
  border-right: 0;
}
.sidebar :focus-visible {
  outline-color: var(--blue);
}
.sidebar nav [aria-current="page"]:focus-visible {
  outline-offset: -4px;
  outline-color: var(--blue);
}
.column-blocked .task-card {
  border-left: 2px solid #bc786c;
}
/* Responsive layout: one mobile navigation mode, with the content first. */
@media(min-width:1600px){.kanban-board{gap:20px}}
@media(max-width:1100px){
  .workspace,.account-hub{grid-template-columns:216px minmax(0,1fr)}
  .workspace main,.account-hub main{padding:0 24px 24px}
  .sidebar{padding:26px 12px 16px}.sidebar .brand{font-size:16px}.sidebar .brand span{display:none}
  .form-grid{grid-template-columns:1fr 1fr}.hub-columns{grid-template-columns:1fr}
  .topline #sync-time{display:none}
}
@media(max-width:767px){
  .workspace,.account-hub{display:block}
  .workspace main,.account-hub main{padding:0 20px 24px}
  .workspace>.sidebar,.account-hub>.sidebar{display:none;position:fixed;top:66px;bottom:0;left:0;width:min(300px,calc(100vw - 28px));height:calc(100dvh - 66px);padding:24px 16px;background:#f6f7f9;box-shadow:16px 0 40px #20283226;z-index:15}
  .workspace[data-navigation-open=true]>.sidebar,.account-hub[data-navigation-open=true]>.sidebar{display:flex}
  .mobile-menu{display:inline-grid;place-items:center;flex:none;border:0;background:transparent}
  .topline{gap:10px;position:sticky;top:0;background:#fff;z-index:10}.topline>div{gap:6px;flex:none}
  .topline #transport-status{display:none}.topline button{min-height:40px}
  .breadcrumbs{gap:6px;font-size:11px}.breadcrumbs>span:first-child,.breadcrumbs>svg:first-of-type{display:none}.breadcrumbs>button{max-width:140px}
  .page-heading{display:flex;align-items:flex-start;margin:24px 0}.heading-actions button{font-size:12px;padding:8px 10px}.page-heading h1{font-size:24px}.page-heading>p{margin-top:8px;font-size:12px}.page-heading .eyebrow{font-size:10px}
  button{min-height:40px}input,select,textarea{font-size:16px;min-height:42px}
  .board-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;flex-basis:100%;gap:12px}.board-tools>label{min-width:0}.board-tools .search-label{grid-column:1/-1;grid-row:1;width:100%}
  .board-toolbar{gap:16px}.board-toolbar input,.board-toolbar select{font-size:16px}.board-toolbar select{min-width:0;max-width:100%}.board-actions{width:100%;justify-content:space-between}.board-note{font-size:11px}
  .board-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.board-summary .metric{padding:10px 14px;border-bottom:1px solid var(--line)}.board-summary .metric:nth-child(even){border-right:0}.board-summary .metric:nth-child(n+3){border-bottom:0}
  .kanban-board{grid-template-columns:repeat(5,minmax(230px,82vw));gap:16px;scroll-snap-type:x proximity}.kanban-column{scroll-snap-align:start}
  .form-grid{grid-template-columns:1fr;gap:0}.form-grid button{margin:8px 0 18px}.task-form{padding:20px}
  .summary-strip{gap:0}.metric{padding:10px 14px}.metric strong{font-size:22px}.metric span{font-size:12px}
  .member-row{grid-template-columns:1fr;gap:16px}.section-heading{align-items:start;gap:12px}.section-heading h2{font-size:17px}.section-heading span{max-width:120px;text-align:right}
  .record{padding:20px 0}.record-header{display:block}.record-header>.meta{display:block;margin-top:8px}.record h3{font-size:14px}
  .assignment{flex-direction:column;align-items:stretch;gap:10px}.assignment button{align-self:start}
  .project-card{padding:20px}.hub-section{padding:20px 0}.hub-columns{gap:0}.account-member{padding:20px 0}.account-member>select{max-width:100%}
  .billing-overview{grid-template-columns:1fr;gap:24px}.billing-usage{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.billing-state{display:block}.billing-actions button{flex:1 1 150px}
  .git-link-form{grid-template-columns:1fr}.git-connection h2{font-size:18px}.git-repository{font-size:14px}
  dialog{padding:22px;width:calc(100vw - 24px);max-height:92dvh}.task-dialog{width:min(600px,calc(100vw - 16px));padding:20px 24px}.task-dialog>.dialog-heading{top:-20px}.task-dialog h2{font-size:23px}
  .entry{display:flex;padding:32px 24px}.entry-story{padding:0}.entry-action{padding:28px 0 0;max-width:360px}.entry-action h2{font-size:25px}.entry-note{margin-top:24px}
}
@media(max-width:360px){.workspace main,.account-hub main{padding-left:16px;padding-right:16px}.breadcrumbs>button{max-width:104px}.metric{padding:10px 12px}.card-bottom{gap:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.collaboration-panel{padding:24px 0;border:0;border-bottom:1px solid var(--line);margin-bottom:24px;border-radius:0}.collaboration-panel h2,.collaboration-setup h3{margin-top:0}.collaboration-commands{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:var(--soft);font-size:12px;line-height:1.6}.collaboration-session h4{margin:0 0 8px}.collaboration-panel details{margin:20px 0}.collaboration-setup{margin:20px 0}

.task-lifecycle{margin-top:24px;padding-top:12px;border-top:1px solid var(--line)}.task-lifecycle textarea,.task-lifecycle select{width:100%;box-sizing:border-box}.lifecycle-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.lifecycle-evidence{white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto;font-size:12px}.column-cancelled{opacity:.85}

/* Explicit dependency decisions remain adjacent to task context. */
.dependency-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line,#cccccc)}
.dependency-record{padding:16px 0;margin:12px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;overflow-wrap:anywhere}
.dependency-record h4{margin:0 0 10px}.dependency-record button{margin:6px 8px 6px 0}
.dependency-record label,.dependency-section details label{display:block;margin:12px 0}
.dependency-section input,.dependency-section textarea,.dependency-section select{width:100%;max-width:100%;box-sizing:border-box}
.dependency-reply{padding:12px;background:var(--soft);border-left:3px solid var(--ink);white-space:pre-wrap}
.needs-attention{padding:20px 0}.needs-attention button{display:block;width:100%;text-align:left;white-space:normal;margin:8px 0;overflow-wrap:anywhere}

.board-tools{flex-wrap:wrap}

.capability-discovery>h2,.graph-page-title{display:none}
.graph-filter-empty{padding:36px 20px;text-align:center;color:var(--muted);font-size:13px}
#view-overview>.summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
#view-tasks>.board-summary{display:none}
#view-kicker{display:none}
#view-overview .needs-attention:empty{display:none}
