.team-approvals-dialog { --approval-accent:var(--accent,#176da6); width:min(860px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:0; overflow:hidden; background:var(--surface,#fff); color:var(--ink,#193548); }
.team-approvals-dialog[open] { display:flex; flex-direction:column; }
.team-approvals-dialog > header { display:flex; gap:8px; flex:none; padding:12px 16px; border-bottom:1px solid var(--line); }
.team-approvals-dialog > header > div { min-width:0; flex:1; }
.team-approvals-dialog h2 { font-size:18px; }
.team-approvals-dialog h3 { font-size:15px; line-height:1.4; margin:12px 0; }
.team-approvals-dialog p,.team-approvals-dialog label { font-size:14px; }
.team-approvals-dialog :is(h2,h3,p,span,dt,dd,summary) { overflow-wrap:anywhere; }
.team-approvals-dialog .icon-button { flex:none; width:44px; height:44px; padding:8px; }
.approval-body { min-height:0; padding:12px 16px 16px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.approval-body:focus { outline:none; }
.team-approvals-dialog .request-error:empty { display:none; }
.team-approvals-dialog :is(button,input,select,textarea,summary,fieldset):focus-visible { outline:2px solid var(--approval-accent); outline-offset:3px; }
.team-approvals-dialog :is(input:not([type="checkbox"]),select,textarea) { min-width:0; max-width:100%; color:var(--ink); background:var(--surface,#fff); border:1px solid var(--line); }
.team-approvals-dialog :is(input:not([type="checkbox"]),select,textarea) { width:100%; min-height:44px; padding:10px; border-radius:6px; font:inherit; }
.team-approvals-dialog textarea { resize:vertical; }
.team-approvals-dialog :is(button,summary) { min-height:44px; }
.team-approvals-dialog summary { cursor:pointer; padding:12px 0; }
.team-approvals-dialog footer,.approval-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.team-approvals-dialog footer { padding-top:12px; border-top:1px solid var(--line); }
.team-approvals-dialog button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.team-approvals-dialog :is(button,input,select,textarea):disabled { cursor:default; }
.team-approvals-dialog [hidden] { display:none !important; }
.team-approvals-dialog [aria-invalid="true"] { border-color:var(--approval-accent); outline:1px solid var(--approval-accent); }
.approval-validation:not(:empty) { border-inline-start:3px solid var(--approval-accent); padding:6px 10px; }
.approval-validation:empty { display:none; }
.approval-editor-toolbar,.approval-summary-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.approval-editor-toolbar { padding-bottom:8px; font-size:13px; }
.approval-version-note { padding-top:12px; }
.approval-selected { padding:8px 0 0; font-weight:600; }
.team-approvals-dialog form > label,.approval-stages > li > label { display:grid; gap:6px; margin:12px 0; }
.approval-two { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.approval-two label { display:grid; gap:6px; min-width:0; }
.approval-stages { padding:0; list-style:none; }
.approval-stages > li { border-top:1px solid var(--line); padding:8px 0 16px; }
.approval-stages header { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.approval-stages header > .approval-controls { flex:none; flex-wrap:nowrap; }
.approval-stages h3 { flex:1; }
.team-approvals-dialog .approval-members { border:0; border-block:1px solid var(--line); margin:8px 0 0; padding:8px 0; max-height:210px; overflow:auto; }
.approval-members legend { font-size:14px; padding-right:8px; }
.approval-members label,.team-approvals-dialog .approval-consent { display:flex; align-items:flex-start; gap:10px; min-height:44px; padding:8px 0; margin:0; }
.approval-members label { padding:8px; border-radius:4px; }
.approval-members label:has(input:checked) { background:var(--accent-soft); }
.team-approvals-dialog input[type="checkbox"] { flex:none; width:18px; height:18px; margin:2px 0; accent-color:var(--approval-accent); }
.approval-requests article,.approval-history li { border-bottom:1px solid var(--line); padding:12px 0; }
.approval-requests article { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.approval-requests article > div { min-width:0; }
.approval-requests article > button { flex:none; }
.approval-summary { display:grid; gap:6px; padding:12px 0; font-size:14px; }
.approval-summary-heading { justify-content:flex-start; }
.approval-status { color:var(--approval-accent); }
.approval-progress { display:grid; gap:6px; padding-top:6px; }
.approval-progress progress { display:block; width:100%; height:6px; border:0; appearance:none; accent-color:var(--approval-accent); }
.approval-progress progress::-webkit-progress-bar { background:var(--line); border-radius:3px; }
.approval-progress progress::-webkit-progress-value { background:var(--approval-accent); border-radius:3px; }
.approval-progress progress::-moz-progress-bar { background:var(--approval-accent); }
.approval-detail-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; padding:12px 0; }
.approval-detail-layout > * { min-width:0; }
.approval-snapshot > header { padding-block:10px; border-bottom:2px solid var(--approval-accent); }
.approval-snapshot h3 { margin:4px 0; }
.team-approvals-dialog .approval-eyebrow { font-size:12px; color:var(--muted); }
.approval-snapshot dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin:0; }
.approval-answer { min-width:0; padding:12px 0; border-bottom:1px solid var(--line); }
.approval-answer-wide { grid-column:1 / -1; }
.approval-snapshot dt { font-size:13px; font-weight:600; }
.approval-question-number { color:var(--muted); }
.approval-snapshot dd { font-size:14px; margin:6px 0 0; white-space:pre-wrap; line-height:1.5; }
.approval-route,.approval-reviewers { padding:0; margin:8px 0; list-style:none; }
.approval-route > li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; padding:12px 0; border-bottom:1px solid var(--line); }
.approval-stage-number { display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--line); border-radius:50%; font-size:13px; font-weight:600; }
.approval-route > [aria-current="step"] .approval-stage-number { background:var(--approval-accent); color:var(--theme-on-primary,#fff); border-color:var(--approval-accent); }
.approval-route > [data-route-state="complete"] .approval-stage-number { color:var(--approval-accent); border-color:var(--approval-accent); }
.approval-route-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 8px; }
.approval-route strong { font-size:14px; }
.approval-stage-status { font-size:12px; font-weight:600; }
.approval-route .approval-route-rule { margin:6px 0; font-size:12px; }
.approval-reviewers > li { display:grid; gap:3px; padding:4px 0; font-size:13px; }
.approval-reviewers small { font-size:12px; overflow-wrap:anywhere; color:var(--muted); }
.approval-decision-context { padding:10px 12px; border-inline-start:3px solid var(--approval-accent); background:var(--accent-soft); }
.approval-decision-context h3 { margin:0 0 6px; }
.approval-review-response { border-bottom:1px solid var(--line); }
.approval-source summary { font-size:12px; }
.approval-history ol { padding-left:22px; }
.approval-history p { margin:6px 0; }
.approval-note { white-space:pre-wrap; }
.approval-fingerprint,.approval-event-hash { display:block; font-size:12px !important; overflow-wrap:anywhere; word-break:break-all; }
.approval-conflict { border-block:1px solid var(--line); padding:12px 0; }
.approval-drawing canvas,.approval-signed-mark { display:block; width:100%; max-width:400px; height:auto; aspect-ratio:2 / 1; background:var(--surface); border:1px solid var(--line); border-radius:6px; }
.approval-drawing canvas { touch-action:none; }
.approval-drawing-status { font-size:12px !important; }
.approval-signed-mark { max-width:320px; }
@media(min-width:800px) { .approval-detail-layout { grid-template-columns:minmax(0,1fr) minmax(0,260px); } .approval-route-section { border-inline-start:1px solid var(--line); padding-inline-start:16px; } }
@media(max-width:480px) {
  .team-approvals-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); }
  .team-approvals-dialog > header { padding:10px 12px; }
  .approval-body { padding:10px 12px 12px; scrollbar-gutter:auto; }
  .approval-two,.approval-snapshot dl { grid-template-columns:minmax(0,1fr); }
  .approval-requests article { align-items:flex-start; flex-direction:column; gap:8px; }
}
