/* Hallmark · modern-minimal · Plungo console system · P4 H5 E4 S5 R4 V4 */
@import url("/static/tokens.css");

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { overflow-x: clip; }
body { margin: 0; min-height: 100vh; font: 400 var(--text-body)/1.5 var(--font-body); color: var(--color-body); background: var(--color-paper); }
h1, h2, h3, p, ul { margin: 0; }
h1, h2, h3 { color: var(--color-ink); font-family: var(--font-display); font-style: normal; min-width: 0; overflow-wrap: anywhere; }
h1 { font-size: clamp(1.9rem, 3vw, 2.55rem); line-height: 1.08; font-weight: 640; letter-spacing: -.035em; }
h2 { font-size: 1.1rem; line-height: 1.25; font-weight: 640; letter-spacing: -.025em; }
h3 { font-size: .95rem; font-weight: 640; }
a { color: var(--color-accent); text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
::selection { color: var(--color-accent-ink); background: var(--color-primary); }
svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
img { display: block; max-width: 100%; }
.icon-library, .sr-only { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); white-space: nowrap; overflow: hidden; }
.muted, .field-help { color: var(--color-muted); }
.field-help { font-size: .76rem; font-weight: 400; }
.eyebrow { display: flex; align-items: center; gap: var(--space-2); color: var(--color-muted); font: 400 .69rem/1.35 var(--font-mono); letter-spacing: .09em; }
.mono, code, pre { font-family: var(--font-mono); }
code { color: var(--color-accent); overflow-wrap: anywhere; }

button, .button, input, select, textarea {
  min-height: 2.5rem; border: 1px solid var(--color-rule-strong); border-radius: var(--radius-md);
  font: inherit; color: var(--color-ink); background: var(--color-paper-2); padding: .48rem .72rem;
}
button, .button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); font-weight: 620; cursor: pointer; white-space: nowrap; transition: background var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out); }
button:hover, .button:hover { background: var(--color-paper-4); border-color: var(--color-muted); text-decoration: none; }
button:active, .button:active { background: var(--color-paper); }
button.primary, .button.primary { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-accent-ink); }
button.primary:hover, .button.primary:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
button.primary:active { background: var(--color-primary); }
button:disabled, input:disabled, select:disabled { opacity: .56; cursor: default; }
button.text-button { border-color: var(--color-transparent); background: var(--color-transparent); color: var(--color-accent); }
button.text-button:hover { color: var(--color-ink); background: var(--color-paper-3); }
button.icon-button { width: 2.5rem; padding: 0; }
button.danger { color: var(--color-error); }
label { display: grid; min-width: 0; gap: var(--space-2); font-size: .79rem; font-weight: 620; color: var(--color-body); }
input, select, textarea { min-width: 0; width: 100%; color: var(--color-ink); background: var(--color-paper); }
input::placeholder, textarea::placeholder { color: var(--color-muted); opacity: .82; }
input:hover, select:hover, textarea:hover { border-color: var(--color-muted); }
input:focus, select:focus, textarea:focus { border-color: var(--color-focus); }
textarea { resize: vertical; }
.form-stack { display: grid; gap: var(--space-4); }
.form-stack > .field-help { margin-top: calc(-1 * var(--space-2)); }
.form-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.controls, .actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.actions { justify-content: flex-end; }
.status { color: var(--color-muted); font-size: .82rem; overflow-wrap: anywhere; }
.status.error, .job-error { color: var(--color-error); }
.status:empty { display: none; }

.wordmark { display: inline-flex; width: fit-content; align-items: center; gap: var(--space-2); color: var(--color-ink); white-space: nowrap; }
.wordmark:hover { text-decoration: none; }
.wordmark > span { font: 680 1.4rem/1 var(--font-display); letter-spacing: -.07em; }
.wordmark > small { margin: .15rem 0 0 var(--space-1); font: 400 .63rem/1.1 var(--font-mono); color: var(--color-muted); }
.status-dot { width: .5rem; height: .5rem; border-radius: 50%; flex: 0 0 auto; display: inline-block; background: var(--color-muted); }
.status-dot.brand-dot { background: var(--color-brand); box-shadow: 0 0 0 3px var(--color-brand-soft); }
.status-dot[data-status="connected"] { background: var(--color-success); box-shadow: 0 0 0 3px var(--color-success-soft); }
.status-dot[data-status="error"] { background: var(--color-error); box-shadow: 0 0 0 3px var(--color-error-soft); }

.auth-layout { display: grid; grid-template-columns: minmax(0, 1.07fr) minmax(0, 1fr); min-height: 100vh; }
.auth-hero { display: flex; min-width: 0; flex-direction: column; gap: var(--space-7); padding: clamp(1.5rem, 4.3vw, 4.8rem); background: var(--color-paper-2); border-right: 1px solid var(--color-rule); }
.auth-copy { margin-top: clamp(.25rem, 4vh, 3.2rem); }
.auth-copy .eyebrow { color: var(--color-brand); margin-bottom: var(--space-4); }
.auth-copy h1 { font-size: clamp(3rem, 6.7vw, 7.65rem); letter-spacing: -.052em; line-height: .92; font-weight: 690; }
.auth-copy > p:last-child { max-width: 27rem; font-size: clamp(.92rem, 1.2vw, 1.1rem); color: var(--color-muted); margin-top: var(--space-5); }
.auth-art { position: relative; display: grid; min-height: clamp(13rem, 29vh, 20rem); place-items: center; isolation: isolate; overflow: clip; border-block: 1px solid var(--color-rule); }
.auth-art img { width: clamp(7.2rem, 13vw, 11.5rem); height: auto; transform: rotate(-5deg); filter: drop-shadow(0 .9rem 1rem var(--color-shadow)); }
.art-grid { position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(var(--color-rule) 1px, var(--color-transparent) 1px), linear-gradient(90deg, var(--color-rule) 1px, var(--color-transparent) 1px); background-size: 1.7rem 1.7rem; mask-image: radial-gradient(ellipse at center, var(--color-ink), var(--color-transparent) 74%); }
.art-label { position: absolute; color: var(--color-muted); font: 400 .62rem/1.35 var(--font-mono); letter-spacing: .08em; }
.art-label-top { top: var(--space-3); left: 0; }
.art-label-bottom { bottom: var(--space-3); right: 0; }
.auth-foot { display: flex; gap: var(--space-2); align-items: center; margin-top: auto; color: var(--color-muted); font-size: .73rem; }
.auth-panel { display: grid; place-items: center; padding: var(--space-8) var(--space-7); }
.auth-form-wrap { width: min(100%, 25.5rem); }
.mobile-brand { display: none; }
.form-kicker { margin-bottom: var(--space-3); }
#auth-title { font-size: clamp(2rem, 3.35vw, 3rem); font-weight: 680; letter-spacing: -.043em; line-height: 1.07; margin-bottom: var(--space-3); }
#auth-intro { margin-bottom: var(--space-7); }
.auth-panel .form-stack { gap: var(--space-4); }
.auth-panel input { min-height: 3rem; }
.auth-panel .primary { min-height: 2.85rem; margin-top: var(--space-1); justify-content: space-between; padding-inline: var(--space-4); }
.auth-panel .text-button { margin-top: calc(-1 * var(--space-2)); }
.auth-panel .auth-recovery-link { justify-self: end; min-height: 2rem; padding-right: 0; }
.auth-alternatives { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); }
.auth-panel .status { margin-top: var(--space-3); }
.sso-button { margin-top: var(--space-3); width: 100%; min-height: 2.75rem; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 14.5rem minmax(0, 1fr); }
.sidebar { display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; height: 100dvh; min-width: 0; background: var(--color-paper-2); border-right: 1px solid var(--color-rule); padding: var(--space-5) var(--space-3) var(--space-4); overflow-y: auto; }
.sidebar .wordmark { padding-inline: var(--space-2); }
.workspace { display: flex; align-items: center; gap: var(--space-3); min-height: 3.4rem; border: 1px solid var(--color-rule); border-radius: var(--radius-md); margin: var(--space-7) var(--space-1) var(--space-4); padding: var(--space-2); color: var(--color-ink); }
.workspace-icon { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--color-rule-strong); border-radius: var(--radius-md); color: var(--color-brand); background: var(--color-paper-3); flex: 0 0 auto; }
.workspace-identity { min-width: 0; }
.workspace strong, .workspace small { display: block; line-height: 1.3; }
.workspace strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
.workspace small { color: var(--color-muted); }
.nav { display: grid; gap: .12rem; }
.nav a { display: flex; min-height: 2.15rem; align-items: center; gap: var(--space-3); padding: .37rem var(--space-3); border: 1px solid var(--color-transparent); border-radius: var(--radius-md); color: var(--color-muted); font-weight: 570; white-space: nowrap; }
.nav a:hover { text-decoration: none; background: var(--color-paper-3); color: var(--color-ink); }
.nav a[aria-current="page"] { background: var(--color-accent-soft); color: var(--color-ink); border-color: var(--color-rule-strong); }
.nav a[aria-current="page"] svg { color: var(--color-accent); }
.nav-count { margin-left: auto; color: var(--color-error); font: 500 var(--text-xs)/1 var(--font-body); font-variant-numeric: tabular-nums; }
#product-nav-approval-count { color: var(--color-warning); }
.sidebar-foot { display: flex; align-items: center; gap: var(--space-2); margin-top: auto; padding: var(--space-4) var(--space-3) 0; color: var(--color-muted); }

.workspace-main { min-width: 0; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 3.8rem; padding: var(--space-2) clamp(1rem, 3.1vw, 2.75rem); border-bottom: 1px solid var(--color-rule); }
.breadcrumb, .top-actions { display: flex; align-items: center; gap: var(--space-3); }
.breadcrumb { color: var(--color-muted); }
.breadcrumb strong { color: var(--color-ink); font-weight: 600; }
.breadcrumb svg { width: .8rem; height: .8rem; }
.avatar { width: 2.15rem; height: 2.15rem; display: grid; place-items: center; border-radius: 50%; color: var(--color-brand); background: var(--color-brand-soft); border: 1px solid var(--color-rule-strong); font-weight: 730; flex: 0 0 auto; }
.avatar:hover { text-decoration: none; color: var(--color-ink); }
.mobile-wordmark, .mobile-navigation { display: none; }
#workspace-content { min-width: 0; max-width: 96rem; margin: 0 auto; padding: var(--space-8) clamp(1rem, 3.1vw, 2.75rem) var(--space-10); }
#workspace-content:focus { outline: none; }
#workspace-notice { margin-bottom: var(--space-4); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-rule-strong); border-radius: var(--radius-md); background: var(--color-paper-2); }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); }
.page-head .eyebrow { margin-bottom: var(--space-2); }
.page-head h1 + p { color: var(--color-muted); margin-top: var(--space-2); max-width: 36rem; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-5); }
.metric { display: grid; gap: var(--space-1); min-width: 0; padding: var(--space-4); border: 1px solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-paper-2); color: var(--color-muted); }
.metric:hover { border-color: var(--color-rule-strong); text-decoration: none; }
.metric > div { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); color: var(--color-body); font-weight: 600; }
.metric > div svg { color: var(--color-accent); }
.metric > strong { color: var(--color-ink); font: 630 2rem/1.2 var(--font-display); letter-spacing: -.04em; }
.metric > small { font-size: .7rem; }
.overview-grid, .two-column, .settings-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: start; gap: var(--space-4); }
.two-column, .settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.panel { min-width: 0; overflow-wrap: anywhere; border: 1px solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-paper-2); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 4rem; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-rule); }
.panel-header h2 { font-size: .98rem; }
.panel-header p { color: var(--color-muted); font-size: .72rem; margin-top: .15rem; }
.panel-header a { display: inline-flex; align-items: center; gap: var(--space-1); white-space: nowrap; font-size: .76rem; font-weight: 560; }
.panel-header > svg { color: var(--color-accent); }
.panel-body { padding: var(--space-4); }
.panel-status { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-rule); }
.feed-row { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-rule); }
.feed-row .feed-main, .task-meta { display: grid; min-width: 0; gap: .08rem; flex: 1; }
.feed-row strong, .task-meta strong { font-size: .86rem; color: var(--color-ink); }
.feed-row small, .task-meta small { color: var(--color-muted); font-size: .72rem; }
.feed-row:hover { background: var(--color-paper-3); text-decoration: none; }
.empty-state { padding: var(--space-7) var(--space-4); color: var(--color-muted); font-size: .84rem; }
.filter-bar { display: flex; align-items: flex-end; flex-wrap: wrap; gap: var(--space-3); padding: var(--space-4); border-bottom: 1px solid var(--color-rule); }
.filter-bar label:first-child { flex: 1 1 14rem; }
.filter-bar label { flex: 0 1 10rem; }
.incident-list, .task-list, #member-list, .jobs, .artifact-list, .event-list { padding: 0; list-style: none; }
.incident, .task-list > li, .member-row { padding: var(--space-4); border-bottom: 1px solid var(--color-rule); }
.incident:last-child, .task-list > li:last-child, .member-row:last-child { border-bottom: 0; }
.incident-header, .job-header, .member-row, .account-row, .task-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.incident-header, .member-row, .account-row { justify-content: space-between; }
.account-row > div, .account-row strong { min-width: 0; overflow-wrap: anywhere; }
.account-row .badge { margin-left: var(--space-2); }
.account-name:not(:empty) { display: block; color: var(--color-ink); }
.account-name:not(:empty) + strong { font-weight: 400; color: var(--color-muted); }
.workspace-signin-link { display: block; margin-top: var(--space-2); font-size: var(--text-sm); }
#sso-description { margin-bottom: var(--space-3); }
#access-status, #integration-status, #meeting-status { margin-top: var(--space-3); }
.incident-meta, .jobs, .job details, .job-error, .incident-recheck { margin-top: var(--space-2); }
.incident-meta, .job-header > .muted { font-size: .73rem; }
.incident-summary { margin-top: var(--space-2); }
.job { padding: var(--space-3) 0 0; margin-top: var(--space-3); border-top: 1px solid var(--color-rule); }
.task-list button.task-row { text-align: left; width: 100%; padding: 0; border: 0; background: var(--color-transparent); font-weight: inherit; white-space: normal; }
.task-row > svg { color: var(--color-muted); }
.task-row:hover .task-meta strong { color: var(--color-accent); }
.task-row time { color: var(--color-muted); font: .68rem/1.4 var(--font-mono); }
.badge { display: inline-flex; align-items: center; padding: .17rem .42rem; border: 1px solid var(--color-rule-strong); border-radius: var(--radius-sm); color: var(--color-body); background: var(--color-paper-3); font: 400 .68rem/1.35 var(--font-mono); white-space: nowrap; }
.badge:is([data-state="firing"],[data-state="failed"],[data-state="urgent"],[data-state="destructive"]) { color: var(--color-error); background: var(--color-error-soft); }
.badge:is([data-state="resolved"],[data-state="succeeded"],[data-state="approved"],[data-state="completed"],[data-state="configured"],[data-state="verified"]) { color: var(--color-success); background: var(--color-success-soft); }
.badge:is([data-state="awaiting_approval"],[data-state="high"],[data-state="scheduled"],[data-state="unknown"]) { color: var(--color-warning); background: var(--color-warning-soft); }
.badge:is([data-state="running"],[data-state="queued"],[data-state="in_progress"],[data-state="submitting"]) { color: var(--color-accent); background: var(--color-accent-soft); }
.integration-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.integration-card { display: grid; gap: var(--space-3); padding: var(--space-4); }
.integration-card > div:first-child { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-2); }
.integration-card p { min-height: 2.5rem; color: var(--color-muted); font-size: .82rem; }
.integration-icon { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid var(--color-rule-strong); border-radius: var(--radius-md); color: var(--color-accent); background: var(--color-accent-soft); }
details summary { width: fit-content; color: var(--color-accent); cursor: pointer; font-size: .79rem; }
pre { margin: var(--space-2) 0 0; max-height: 20rem; overflow: auto; background: var(--color-paper); color: var(--color-body); border: 1px solid var(--color-rule); border-radius: var(--radius-md); padding: var(--space-3); font-size: .75rem; white-space: pre-wrap; overflow-wrap: anywhere; }
dialog { width: min(calc(100% - 2rem), 39rem); max-height: min(88vh, 49rem); border: 1px solid var(--color-rule-strong); border-radius: var(--radius-lg); padding: 0; color: var(--color-body); background: var(--color-paper-2); box-shadow: 0 1.5rem 4rem var(--color-shadow); overflow: auto; }
dialog::backdrop { background: var(--color-overlay); }
.dialog-header { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-3); padding: var(--space-4); border-bottom: 1px solid var(--color-rule); background: var(--color-paper-2); }
.dialog-header > .controls { flex: 0 0 auto; flex-wrap: nowrap; }
.dialog-header h2 { font-size: 1.28rem; margin-top: var(--space-2); }
.task-detail { display: grid; gap: var(--space-4); }
.task-description { white-space: pre-wrap; }
.task-detail-block { display: grid; gap: var(--space-2); padding-top: var(--space-4); border-top: 1px solid var(--color-rule); scroll-margin-top: 7.5rem; }
.task-cost-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.task-cost-metric { display: grid; gap: var(--space-1); align-content: start; padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.task-cost-metric strong { color: var(--color-ink); font: 500 1.15rem/1.2 var(--font-mono); overflow-wrap: anywhere; }
.task-cost-metric small { color: var(--color-muted); }
.product-task-question-count { justify-self: start; margin-top: var(--space-1); }
.product-follow-up-actions { margin-bottom: var(--space-4); }
.product-sso-signin { display: grid; gap: var(--space-2); }
.product-sso-callback { margin-bottom: var(--space-4); overflow-wrap: anywhere; }
.product-repository-row { display: grid; gap: var(--space-3); overflow-wrap: anywhere; }
.product-repository-row > button { justify-self: start; }
.product-mcp-server, .product-mcp-tool { display: grid; gap: var(--space-3); min-width: 0; overflow-wrap: anywhere; }
.product-intake-connection, .product-intake-event { display: grid; gap: var(--space-3); min-width: 0; overflow-wrap: anywhere; }
#product-followthrough-dialog { overflow-wrap: anywhere; }
#product-followthrough-dialog fieldset { min-width: 0; }
#product-followthrough-dialog .product-followthrough-scope > label { display: grid; }
.product-followthrough-summary > .badge { justify-self: start; }
.product-intake-event > button { justify-self: start; }
.product-intake-event time { color: var(--color-muted); font-size: .75rem; }
.product-intake-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-2); }
.product-intake-copy input { font-family: var(--font-mono); }
.product-intake-config-row { padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.product-intake-config-row > button { justify-self: start; }
.product-grants .product-intake-config-row label { display: grid; }
.product-intake-copy, .product-intake-config-row { min-width: 0; }
.controls.product-slack-install-controls { align-items: end; }
#product-slack-install-title { scroll-margin-block-start: var(--space-4); }
.product-model-row { display: grid; gap: var(--space-3); min-width: 0; overflow-wrap: anywhere; }
.product-model-row > button { justify-self: start; }
.product-model-specialist { padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.product-model-specialist > button { justify-self: start; }
.product-operation-row, .product-operation-target { display: grid; gap: var(--space-3); min-width: 0; overflow-wrap: anywhere; }
.product-operation-target { padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.product-operation-target legend { padding-inline: var(--space-1); color: var(--color-ink); font-weight: 620; }
.product-operation-target > button, .product-operation-row > button { justify-self: start; }
.product-automation-fields { display: grid; gap: var(--space-3); min-width: 0; padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); overflow-wrap: anywhere; }
.product-automation-fields legend { padding-inline: var(--space-1); color: var(--color-ink); font-weight: 620; }
.product-evidence .badge[data-state="ok"] { color: var(--color-success); background: var(--color-success-soft); }
.product-evidence .badge:is([data-state="partial"], [data-state="incomplete"], [data-state="missing"], [data-state="no_traffic"]) { color: var(--color-warning); background: var(--color-warning-soft); }
.product-evidence .badge[data-state="unavailable"] { color: var(--color-error); background: var(--color-error-soft); }
.product-meeting-evidence .badge[data-state="complete"] { color: var(--color-success); background: var(--color-success-soft); }
.product-meeting-evidence .badge:is([data-state="not_ready"], [data-state="oversized"], [data-state="snapshot_changed"]) { color: var(--color-warning); background: var(--color-warning-soft); }
.product-oci-scan .badge[data-state="eligible"] { color: var(--color-success); background: var(--color-success-soft); }
.product-oci-scan .badge:is([data-state="blocked"], [data-state="expired"]) { color: var(--color-warning); background: var(--color-warning-soft); }
.product-oci-counts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 6rem), 1fr)); gap: var(--space-2); }
.product-aws-evidence .badge[data-state="estimated"] { color: var(--color-warning); background: var(--color-warning-soft); }
.product-aws-cost-row .operation-facts { grid-template-columns: minmax(0, 1fr) minmax(0, 58%); }
.product-aws-cost-row dd { text-align: right; font-variant-numeric: tabular-nums; }
.product-knowledge-row { display: grid; gap: var(--space-2); min-width: 0; overflow-wrap: anywhere; }
.product-knowledge-row > button { justify-self: start; }
.product-knowledge-content { max-height: 28rem; }
.product-team-row { display: grid; gap: var(--space-3); min-width: 0; overflow-wrap: anywhere; }
.product-team-row > button { justify-self: start; }
.product-managed-gmail { min-width: 0; margin: 0; padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.product-managed-gmail legend { padding-inline: var(--space-1); color: var(--color-muted); font-size: .8rem; }
.product-managed-gmail > .field-help { margin-top: 0; overflow-wrap: anywhere; }
.product-profile-mailbox { display: grid; gap: var(--space-1); grid-column: 1 / -1; margin-top: var(--space-2); overflow-wrap: anywhere; }
.product-spend-controls { align-items: end; }
#product-spend-period:not(:empty) { margin-bottom: var(--space-2); }
.product-spend-metrics .metric strong { font: 600 var(--text-lg)/1.25 var(--font-display); overflow-wrap: anywhere; }
.product-spend-scope { margin: var(--space-3) 0 var(--space-4); }
.product-spend-row { display: grid; gap: var(--space-2); overflow-wrap: anywhere; }
.product-spend-row h3 { margin: 0; }
.product-spend-row > button { justify-self: start; }
.product-spend-row .product-run-heading > div { min-width: 0; }
.product-spend-amount { color: var(--color-ink); font-weight: 560; text-align: right; }
.product-mail-row .badge[data-state="ready"] { color: var(--color-success); background: var(--color-success-soft); }
.product-mail-row .badge:is([data-state="awaiting_gmail"], [data-state="creating"], [data-state="queued"], [data-state="action_needed"]) { color: var(--color-warning); background: var(--color-warning-soft); }
.product-calendar-row, .product-booking-row, .product-mail-row, .product-google-file-row, .product-google-chat-row { display: grid; gap: var(--space-3); min-width: 0; overflow-wrap: anywhere; }
:is(.product-calendar-row, .product-mail-row) > button { justify-self: start; }
:is(.product-calendar-row, .product-mail-row, .product-google-file-row, .product-google-chat-row) .badge[data-state="connected"], .product-booking-row .badge[data-state="joined"] { color: var(--color-success); background: var(--color-success-soft); }
:is(.product-calendar-row, .product-mail-row, .product-google-file-row, .product-google-chat-row) .badge:is([data-state="app_unavailable"], [data-state="calendar_unavailable"], [data-state="consent_required"], [data-state="partial"]),
.product-booking-row .badge:is([data-state="waiting_room"], [data-state="cancel_unknown"]) { color: var(--color-warning); background: var(--color-warning-soft); }
.product-artifact-card { display: grid; gap: var(--space-3); min-width: 0; overflow-wrap: anywhere; }
.product-artifact-card :is(h4, h5) { margin: 0; }
.product-artifact-card .badge[data-state="accepted"] { color: var(--color-success); background: var(--color-success-soft); }
.product-task-detail { overflow-wrap: anywhere; }
.product-task-detail :is(h4, h5) { margin: 0; }
.product-grants { display: grid; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.product-grants legend { padding-inline: var(--space-1); color: var(--color-muted); font-size: .76rem; }
.product-grants label { display: flex; align-items: center; gap: var(--space-2); }
.product-grants input[type="checkbox"] { width: auto; }
.product-pr-rerun-fields { min-width: 0; border: 0; margin: 0; padding: 0; }
.product-pr-rerun-fields label { display: grid; }
#product-github-setup .status { overflow-wrap: anywhere; }
#product-github-advanced { justify-self: start; }
#product-github-workflow-list label { display: flex; align-items: flex-start; }
#product-github-workflow-list label small { display: block; overflow-wrap: anywhere; }
#product-github-dispatch > .form-stack { margin-top: var(--space-3); }
#product-github-dispatch > .form-stack > .field-help:first-child { margin-top: 0; }
.product-workflow-policy { min-width: 0; margin: 0; padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.product-workflow-policy legend { padding-inline: var(--space-1); color: var(--color-muted); font-size: .76rem; }
.product-workflow-policy > button { justify-self: start; }
.product-oauth-fields { min-width: 0; border: 0; margin: 0; padding: 0; }
[data-google-oauth-toggle] { justify-self: start; }
#product-assignment-grant-options { min-width: 0; overflow-wrap: anywhere; }
.product-task-link { overflow-wrap: anywhere; }
.product-task-link p { flex: 1 1 14rem; }
[data-workspace-selected-name] { display: none; }
@media (max-width: 600px) {
  [data-workspace-choice] label { display: grid; min-width: 0; }
  [data-workspace-selected-name] { display: block; margin-bottom: var(--space-1); font-size: .8rem; overflow-wrap: anywhere; }
}
.product-stack-grant, .product-run, .product-evidence { display: grid; gap: var(--space-2); min-width: 0; }
.product-stack-grant + .product-stack-grant { margin-top: var(--space-3); }
.product-run-tree { display: grid; gap: var(--space-3); padding: 0; list-style: none; }
.product-run-tree .product-run-tree { padding-inline-start: var(--space-3); border-inline-start: 1px solid var(--color-rule-strong); }
.product-run { padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.product-run-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); }
.product-review-points { padding-inline-start: var(--space-4); }
.product-evidence time { color: var(--color-muted); font-size: .75rem; }
.usage-capacity { margin-bottom: var(--space-4); }
.capacity-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--space-2); }
.task-edit > summary { font-size: .875rem; font-weight: 620; }
.task-edit[open] > :nth-child(2) { margin-top: var(--space-3); }
.execution-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-2); }
.execution-list { display: grid; gap: var(--space-3); list-style: none; padding: 0; margin: var(--space-2) 0 0; }
.execution-step { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); }
.execution-mark { display: grid; align-self: start; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: var(--radius-sm); border: 1px solid var(--color-rule-strong); background: var(--color-paper-3); color: var(--color-muted); font: .68rem var(--font-mono); }
.execution-step[data-state="running"] .execution-mark { color: var(--color-accent); background: var(--color-accent-soft); }
.execution-step[data-state="succeeded"] .execution-mark { color: var(--color-success); background: var(--color-success-soft); }
.execution-step[data-state="failed"] .execution-mark { color: var(--color-error); background: var(--color-error-soft); }
.execution-body { display: grid; gap: var(--space-1); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-rule); }
.execution-body .execution-heading strong { color: var(--color-ink); }
.execution-body > p, .task-description { overflow-wrap: anywhere; }
.execution-evidence > strong { display: block; color: var(--color-ink); margin-top: var(--space-2); font-size: .78rem; }
.task-question { background: var(--color-accent-soft); border: 1px solid var(--color-rule-strong); border-radius: var(--radius-md); padding: var(--space-3); }
.product-task-questions { display: grid; gap: var(--space-2); border-bottom: 1px solid var(--color-rule); overflow-wrap: anywhere; }
.product-task-question { background: var(--color-paper); }
.badge[data-state="awaiting_input"] { color: var(--color-warning); background: var(--color-warning-soft); }
.product-task-question > time, .product-question-answer > time { color: var(--color-muted); font: .72rem/1.4 var(--font-mono); }
.product-question-text { font-weight: 620; color: var(--color-ink); }
.product-question-form fieldset { border: 0; padding: 0; min-width: 0; }
.product-question-form button[type="submit"] { justify-self: start; }
.product-question-options button { text-align: left; white-space: normal; overflow-wrap: anywhere; }
.product-question-answer { display: grid; gap: var(--space-2); padding-top: var(--space-3); border-top: 1px solid var(--color-rule); }
.product-question-answer h4 { margin: 0; }
.source-review { margin-top: var(--space-2); }
.source-review[open] > div { margin-top: var(--space-3); }
.provider-settings { margin-bottom: var(--space-4); }
.provider-group { padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-rule); }
.provider-group:last-child { border-bottom: 0; }
.provider-group > summary { width: 100%; font-size: .88rem; font-weight: 620; color: var(--color-ink); }
.provider-group > summary .badge { margin-left: var(--space-2); vertical-align: middle; }
.provider-group[open] > form { padding: var(--space-4) 0 var(--space-2); }
.provider-group details[open] > .form-stack { margin-top: var(--space-3); }
.provider-endpoints { display: grid; gap: var(--space-2); margin: var(--space-3) 0 0; padding: var(--space-3); list-style: none; border: 1px solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-paper); }
.provider-endpoints li { display: grid; gap: var(--space-1); font-size: .76rem; }
.provider-endpoints strong { color: var(--color-ink); }
.provider-group fieldset { margin: 0; min-width: 0; border: 1px solid var(--color-rule); border-radius: var(--radius-md); padding: var(--space-3); }
.provider-group legend { color: var(--color-muted); padding: 0 var(--space-2); font-size: .76rem; }
.provider-row-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); }
.provider-row-actions .status { margin-right: auto; }
.cloud-operations-grid { margin-bottom: var(--space-5); }
.operation-filter { padding: var(--space-2) var(--space-4); }
.operation-filter label:first-child { flex: 0 1 15rem; }
.connection-fields { display: grid; gap: var(--space-3); }
.connection-fields fieldset { margin: 0; min-width: 0; border: 1px solid var(--color-rule); border-radius: var(--radius-md); padding: var(--space-3); }
.connection-fields legend { color: var(--color-muted); padding: 0 var(--space-2); font-size: .76rem; }
.tool-verification { min-width: 0; border: 1px solid var(--color-rule); border-radius: var(--radius-md); margin: var(--space-2) 0; padding: var(--space-2); }
.tool-verification legend { color: var(--color-muted); padding: 0 var(--space-2); font-size: .76rem; }
.operation-card { display: grid; gap: var(--space-3); }
.operation-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-2); }
.operation-card > header h3 { font-size: 1rem; }
.operation-facts { display: grid; grid-template-columns: minmax(6rem, .45fr) minmax(0, 1fr); gap: var(--space-2); margin: 0; }
.operation-facts dt { color: var(--color-muted); }
.operation-facts dd { margin: 0; color: var(--color-ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.product-kubernetes-log { display: grid; gap: var(--space-2); list-style: none; margin: 0; padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-paper); }
ol.product-kubernetes-log > li { display: grid; gap: var(--space-1); padding: 0; border: 0; }
.product-kubernetes-log time { color: var(--color-muted); font-size: .72rem; }
.product-kubernetes-log code { white-space: pre-wrap; overflow-wrap: anywhere; }
.product-kubernetes-evidence .badge:is([data-state="warning"], [data-state="not_ready"], [data-state="waiting"]) { color: var(--color-warning); background: var(--color-warning-soft); }
.product-workspace-check-command, .product-workspace-check-output { display: block; min-width: 0; padding: var(--space-2); border: 1px solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-paper); white-space: pre-wrap; overflow-wrap: anywhere; }
.product-workspace-check-output { max-height: 16rem; overflow: auto; margin: 0; font: .78rem/1.5 var(--font-mono); }
.product-workspace-check-evidence .badge[data-state="passed"] { color: var(--color-success); background: var(--color-success-soft); }
/* Measured pipeline cards: a verdict sentence, three stat tiles and the next step first; facts and disclosures after. */
.product-pipeline { min-width: 0; }
.product-pipeline > header .badge { flex: 0 0 auto; }
:is(.product-pipeline .badge, .product-pipeline-chip):is([data-state="established"], [data-state="ok"]) { color: var(--color-success); background: var(--color-success-soft); }
:is(.product-pipeline .badge, .product-pipeline-chip):is([data-state="slower"], [data-state="checks_failed"], [data-state="unavailable"]) { color: var(--color-error); background: var(--color-error-soft); }
:is(.product-pipeline .badge, .product-pipeline-chip):is([data-state="not_established"], [data-state="partial"], [data-state="insufficient"]) { color: var(--color-warning); background: var(--color-warning-soft); }
:is(.product-pipeline .badge, .product-pipeline-chip)[data-state="waiting"] { color: var(--color-accent); background: var(--color-accent-soft); }
.product-pipeline-verdict { max-width: 72ch; color: var(--color-ink); font-weight: 520; }
.product-pipeline-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 6.25rem), 1fr)); gap: var(--space-2); }
.product-pipeline-tile strong { font-size: 1rem; font-variant-numeric: tabular-nums; }
.product-pipeline-tile small + strong + small { font-size: var(--text-xs); }
.product-pipeline-tile[data-direction="faster"] strong { color: var(--color-success); }
.product-pipeline-tile[data-direction="slower"] strong { color: var(--color-error); }
.product-pipeline-next, .product-pipeline-rollback { display: grid; gap: .125rem; padding: var(--space-2) var(--space-3); border-inline-start: 2px solid var(--color-accent); border-radius: var(--radius-sm); background: var(--color-accent-soft); color: var(--color-ink); }
.product-pipeline-rollback { border-inline-start-color: var(--color-rule-strong); background: var(--color-paper-3); color: var(--color-body); font-size: .8rem; }
:is(.product-pipeline-next, .product-pipeline-rollback) > strong { color: var(--color-muted); font: 400 .66rem/1.35 var(--font-mono); letter-spacing: .09em; text-transform: uppercase; }
.product-pipeline-warnings li::marker { color: var(--color-warning); }
:is(.product-pipeline .badge, .product-pipeline-chip)[data-state="not_compared"] { color: var(--color-muted); }
.product-pipeline-links { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-3); font-size: .76rem; }
.product-pipeline-links > .product-pipeline-list-label { flex-basis: 100%; margin: 0; }
.product-pipeline-jobs[open] > .artifact-list { margin-top: var(--space-1); }
.product-pipeline-list-label { margin-top: var(--space-3); color: var(--color-muted); font: 400 .66rem/1.35 var(--font-mono); letter-spacing: .09em; text-transform: uppercase; }
.product-pipeline .artifact-list small { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .operation-facts > .fact-wide-mobile { grid-column: 1 / -1; }
}
.operation-plan-review { padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.operation-plan-review h4 { color: var(--color-ink); font-size: .9rem; }
.operation-request-row { width: 100%; text-align: left; justify-content: space-between; white-space: normal; }
.operation-request-row > span:first-child { min-width: 0; }
.operation-request-row small { display: block; color: var(--color-muted); font-weight: 400; }
.operation-connection-details { margin-top: var(--space-2); }
.operation-connection-details[open] > div { display: grid; gap: var(--space-2); padding-top: var(--space-2); }
.operation-capabilities { padding-left: var(--space-4); color: var(--color-body); font-size: .8rem; }
.operation-capabilities li + li { margin-top: var(--space-1); }
.badge:is([data-state="verified"],[data-state="enabled"]) { color: var(--color-success); background: var(--color-success-soft); }
.badge:is([data-state="verification_pending"],[data-state="not_observed"]) { color: var(--color-warning); background: var(--color-warning-soft); }
.artifact-list, .event-list { display: grid; gap: var(--space-2); }
.artifact-list li, .event-list li { padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.artifact-list strong, .event-list strong { display: block; color: var(--color-ink); }
.artifact-list small, .event-list small { display: block; color: var(--color-muted); }
.asset-form { padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); }
.asset-form[open] > form { margin-top: var(--space-3); }
.settings-key { min-width: 0; overflow-wrap: anywhere; }
.form-details[open] > form { margin-top: var(--space-3); }

@media (max-width: 1050px) {
  .app-shell { grid-template-columns: 12.25rem minmax(0, 1fr); }
  .metric-grid, .integration-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .auth-hero { padding: var(--space-7); }
}
@media (max-width: 760px) {
  #product-task-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; overflow-wrap: anywhere; }
  .auth-layout { display: block; }
  .auth-hero { display: none; }
  .auth-panel { min-height: 100vh; padding: var(--space-7) var(--space-4); }
  .mobile-brand { display: flex; margin-bottom: var(--space-8); }
  .app-shell { display: block; }
  .sidebar, .breadcrumb { display: none; }
  .mobile-wordmark { display: inline-flex; margin: 0; }
  .mobile-navigation { display: block; min-width: 0; }
  .mobile-navigation select { max-width: 100%; padding: var(--space-1); }
  .topbar { gap: var(--space-2); }
  .top-actions { gap: var(--space-2); }
  .overview-grid, .two-column, .settings-grid { grid-template-columns: minmax(0, 1fr); }
  #workspace-content { padding-top: var(--space-6); }
  .page-head { align-items: flex-start; flex-direction: column; }
  .form-columns { grid-template-columns: minmax(0, 1fr); }
  .integration-grid { grid-template-columns: minmax(0, 1fr); }
  .metric { padding: var(--space-3); }
  .metric small { font-size: .66rem; }
}
@media (max-width: 375px) {
  .mobile-wordmark > span { display: none; }
  .mobile-navigation select { max-width: 8rem; }
  .task-row time { width: 100%; }
}
@media (pointer: coarse) {
  button, .button, input, select, textarea, .nav a { min-height: 44px; }
  .avatar { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
}
.platform-section { margin-top: var(--space-4); }
.platform-stack { display: grid; gap: var(--space-4); }
.inline-checkbox { display: flex; align-items: center; gap: var(--space-2); }
.inline-checkbox input { width: 1rem; min-height: 1rem; height: 1rem; accent-color: var(--color-primary); margin: 0; }
.filter-bar .inline-checkbox { min-height: 2.5rem; flex: 0 0 auto; }
.platform-row { display: flex; align-items: flex-start; gap: var(--space-3); flex-wrap: wrap; }
.platform-row > div:first-child { flex: 1; min-width: 7rem; }
.platform-row small { display: block; margin-top: .12rem; color: var(--color-muted); font-size: .74rem; }
.platform-actions { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.entry-content { padding: var(--space-3); border: 1px solid var(--color-rule); border-radius: var(--radius-md); white-space: pre-wrap; color: var(--color-body); background: var(--color-paper); }
.entry-versions { margin-top: var(--space-3); }
.entry-versions .artifact-list { margin-top: var(--space-2); }
.tool-grant { display: grid; align-items: center; grid-template-columns: minmax(0, 1fr) minmax(6rem, 8rem); gap: var(--space-3); }
.tool-grant select { max-width: 8rem; }
.job-summary { margin-top: var(--space-2); color: var(--color-body); font: .74rem/1.4 var(--font-mono); }
.tool-permission { display: grid; gap: var(--space-2); padding-top: var(--space-3); border-top: 1px solid var(--color-rule); }
.tool-grant small { display: block; font-weight: 400; }
.tool-autonomy { color: var(--color-muted); font-weight: 400; }
.identity-summary { display: grid; gap: var(--space-2); }
.identity-address { color: var(--color-ink); font-weight: 650; margin-bottom: var(--space-2); }
.identity-address ~ .button, .identity-address ~ button { margin-top: var(--space-3); }
.badge:is([data-state="healthy"],[data-state="ready"],[data-state="sent"],[data-state="enabled"]) { color: var(--color-success); background: var(--color-success-soft); }
.badge:is([data-state="unhealthy"],[data-state="failing"],[data-state="down"]) { color: var(--color-error); background: var(--color-error-soft); }
.badge:is([data-state="awaiting_mailbox"],[data-state="unknown"],[data-state="provisioning"]) { color: var(--color-warning); background: var(--color-warning-soft); }
.badge:is([data-state="waiting_for_input"],[data-state="waiting_for_worker"]) { color: var(--color-warning); background: var(--color-warning-soft); }
