/* Repair history stays visually attached to its before/after evidence. */
.tech-intro .tech-actions-open { margin-left:auto; flex-shrink:0; }
.tech-actions-dialog { --ta-border:var(--border,#e0e4ed); --ta-muted:var(--ink-faint,#788399); --ta-ink:var(--ink,#272b37); --ta-accent:var(--magenta,#d60040); width:min(940px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 40px); padding:0; margin:auto; border:1px solid var(--ta-border); border-radius:16px; background:#fff; color:var(--ta-ink); box-shadow:0 24px 90px #1e243933; font-family:var(--font-body,inherit); overflow:auto; }
.tech-actions-dialog::backdrop { background:rgba(26,31,46,.48); backdrop-filter:blur(3px); }
.tech-actions-dialog [hidden] { display:none !important; }
.tech-actions-dialog * { box-sizing:border-box; }
.tech-actions-dialog .button { white-space:normal; min-width:0; }
.tech-actions-dialog :focus-visible { outline:2px solid var(--ta-accent); outline-offset:3px; }
.tech-actions-dialog button:disabled { opacity:.5; cursor:not-allowed; }
.ta-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:24px 28px 20px; border-bottom:1px solid var(--ta-border); }
.ta-head h2 { margin:4px 0 8px; font-size:25px; line-height:1.25; letter-spacing:-.6px; }
.ta-head p { margin:0; }
.ta-kicker { color:var(--ta-accent); font-size:12px; font-weight:650; letter-spacing:.05em; }
.ta-muted,.ta-field small { color:var(--ta-muted); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.ta-body { padding:22px 28px 28px; }
.ta-body p { line-height:1.7; }
.ta-capability { padding:14px 17px; border:1px solid #cfe6df; border-left:3px solid #2e8971; border-radius:8px; background:#f5fbf8; font-size:13px; }
.ta-capability p { margin:6px 0; }
.ta-capability small { display:block; color:var(--ta-muted); line-height:1.7; }
.ta-capability.is-unavailable { border-color:#eadcbd; border-left-color:#bd8331; background:#fffbf2; }
#ta-status { font-size:12px; color:var(--ta-muted); min-height:20px; margin:14px 0; }
.ta-error { padding:11px 14px; border:1px solid #edc0c5; background:#fff2f4; color:#a42442; font-size:13px; border-radius:6px; overflow-wrap:anywhere; }
.ta-field { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:13px; }
.ta-field>span { font-weight:650; }
.tech-actions-dialog textarea,.tech-actions-dialog input[type=search],.tech-actions-dialog select { display:block; width:100%; max-width:100%; min-width:0; padding:11px 13px; border:1px solid var(--ta-border); border-radius:7px; background:#fff; color:var(--ta-ink); font:inherit; box-shadow:none; line-height:1.6; }
.tech-actions-dialog textarea { min-height:104px; resize:vertical; }
.tech-actions-dialog input[type=radio],.tech-actions-dialog input[type=checkbox] { width:18px; height:18px; padding:0; margin:2px 0 0; flex:0 0 18px; accent-color:var(--ta-accent); }
.ta-exclusions { border-block:1px solid var(--ta-border); margin-top:18px; }
.ta-exclusions>summary { padding:14px 0; font-size:13px; font-weight:650; cursor:pointer; }
.ta-exclusions>summary span { color:var(--ta-muted); font-weight:400; font-size:12px; margin-left:8px; }
.ta-exclusion-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:0 0 18px; }
.ta-exclusion-grid>div { min-width:0; }
.ta-rules { max-height:245px; overflow:auto; margin-top:9px; border:1px solid var(--ta-border); border-radius:7px; }
.ta-rule { display:flex; align-items:flex-start; gap:10px; padding:11px; cursor:pointer; }
.ta-rule+.ta-rule { border-top:1px solid var(--ta-border); }
.ta-rule>span { min-width:0; overflow-wrap:anywhere; }
.ta-rule strong { display:block; font-size:12px; font-weight:500; }
.ta-rule small { display:block; margin-top:3px; font:10px/1.6 var(--font-data,monospace); color:var(--ta-muted); }
.ta-rules>.ta-muted { padding:10px; }
.ta-mode-group { display:grid; grid-template-columns:1fr 1fr; gap:12px; border:0; margin:21px 0 18px; padding:0; min-width:0; }
.ta-mode-group legend { margin-bottom:10px; padding:0; font-weight:650; font-size:13px; }
.ta-mode { display:flex; align-items:flex-start; gap:10px; padding:14px; border:1px solid var(--ta-border); border-radius:8px; cursor:pointer; }
.ta-mode:has(input:checked) { border-color:var(--ta-accent); background:#fff6f9; }
.ta-mode strong { display:block; font-size:13px; }
.ta-mode small { display:block; color:var(--ta-muted); font-size:12px; line-height:1.6; margin-top:4px; }
.ta-models { border-block:1px solid var(--ta-border); padding:14px 0 6px; }
.ta-models .opt-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ta-models label { display:flex; flex-direction:column; gap:7px; font-size:12px; min-width:0; }
.ta-models .opt-small { font-size:12px; color:var(--ta-muted); }
.ta-models select { font-size:12px; }
.ta-history { margin-top:26px; }
.ta-history-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.ta-history h3 { font-size:17px; margin:0; }
.ta-empty { padding:20px; border:1px dashed var(--ta-border); border-radius:8px; color:var(--ta-muted); font-size:13px; }
.ta-run { border:1px solid var(--ta-border); border-radius:9px; margin:12px 0 0; overflow:hidden; }
.ta-run>summary { display:flex; align-items:center; gap:12px; padding:15px 16px; cursor:pointer; list-style:none; }
.ta-run>summary::-webkit-details-marker { display:none; }
.ta-run>summary>span:nth-child(2) { min-width:0; flex:1; }
.ta-run>summary strong { display:block; font-size:13px; overflow-wrap:anywhere; }
.ta-run>summary small { display:block; color:var(--ta-muted); font-size:11px; margin-top:4px; }
.ta-run-status { color:#946016; background:#fff4da; border-radius:5px; padding:5px 8px; font-size:11px; white-space:nowrap; }
.ta-run-status[data-status=applied],.ta-run-status[data-status=rolled_back] { color:#23775f; background:#eaf8f2; }
.ta-run-status[data-status=failed],.ta-run-status[data-status=unknown] { color:#a42442; background:#fff0f3; }
.ta-chevron { color:var(--ta-muted); }
.ta-run[open] .ta-chevron { transform:rotate(45deg); }
.ta-run-body { padding:0 16px 16px; border-top:1px solid var(--ta-border); }
.ta-change { border:1px solid var(--ta-border); border-left:3px solid #8b9daf; margin-top:14px; border-radius:6px; overflow:hidden; }
.ta-change-title { display:flex; justify-content:space-between; gap:12px; padding:12px 13px 0; font-size:12px; }
.ta-change-title>span { color:var(--ta-muted); }
.ta-url { font:11px/1.7 var(--font-data,monospace); overflow-wrap:anywhere; }
.ta-change>.ta-url { padding:0 13px; margin:5px 0 11px; }
.ta-url a { color:#2779b9; }
.ta-diff { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--ta-border); }
.ta-diff>div { min-width:0; padding:12px 13px; }
.ta-diff>div+div { border-left:1px solid var(--ta-border); background:#fafcfb; }
.ta-diff span { color:var(--ta-muted); font-size:10px; }
.ta-diff p { margin:7px 0 0; font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; }
.ta-diff del { color:#9b3b50; background:#fff0f2; text-decoration-color:#b77380; }
.ta-diff ins { color:#216750; background:#e7f5ed; text-decoration:none; }
.ta-change>.ta-muted,.ta-change>.ta-error { margin:10px 13px; }
.ta-skipped { margin-top:14px; color:var(--ta-muted); font-size:12px; }
.ta-skipped>summary { cursor:pointer; }
.ta-skipped ul { margin:10px 0 0; padding-left:20px; }
.ta-skipped li { padding:7px 0; overflow-wrap:anywhere; }
.ta-skipped span { display:block; }
.ta-skipped p { margin:3px 0; }
.ta-remaining { color:#946016; font-size:12px; }
.ta-run-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.ta-footer { position:sticky; bottom:0; padding:14px 28px 18px; border-top:1px solid var(--ta-border); background:#fff; box-shadow:0 -8px 18px #fff9; }
.ta-footer>p { margin:0 0 9px; font-size:12px; color:var(--ta-muted); line-height:1.6; }
.ta-footer>div { display:flex; justify-content:flex-end; gap:12px; }
@media(max-width:640px) {
  .tech-intro .tech-actions-open { margin-left:0; }
  .tech-actions-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:12px; }
  .ta-head { padding:19px 17px 15px; gap:10px; }
  .ta-head h2 { font-size:22px; }.ta-kicker{font-size:10px;}
  .ta-head>.button { padding:9px 12px; font-size:12px; flex-shrink:0; }
  .ta-body { padding:16px 17px 20px; }
  .ta-exclusion-grid,.ta-mode-group,.ta-diff { grid-template-columns:1fr; }
  .ta-models .opt-form-grid { grid-template-columns:1fr 1fr; }
  .ta-diff>div+div { border-left:0; border-top:1px solid var(--ta-border); }
  .ta-run>summary { padding:13px 11px; gap:8px; }.ta-run-body{padding:0 10px 12px;}
  .ta-run-status { padding:4px 5px; font-size:10px; }
  .ta-footer { padding:12px 17px 14px; }.ta-footer>div{gap:8px;}.ta-footer .button{padding:11px;font-size:12px;}
  .ta-footer #ta-start { flex:1; }
}
@media(prefers-reduced-motion:reduce) {.tech-actions-dialog * { scroll-behavior:auto !important; transition:none !important; }}
