.hardware-demo-entry{margin-top:20px}
.hardware-timing-note{margin:16px 0 0;color:var(--muted,#9ca5a8);font-size:12px;line-height:1.5}
.hardware-unavailable p{margin:0;color:var(--muted,#9ca5a8);font-size:14px;line-height:1.6}
.hardware-unavailable{min-height:120px}
.firmware-hint{grid-column:1/-1;color:var(--muted);font-size:13px;line-height:1.5;margin:0}
.firmware-diagnostics{margin-top:20px}
.firmware-card>.firmware-diagnostics{margin-top:0;padding-top:20px;border-top:1px solid var(--line)}
.firmware-card>.firmware-component+.firmware-instructions.advanced{margin-top:0}
body.device-locked #main>.firmware-diagnostics{display:block}
.web-firmware-handoff-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:18px 20px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}
.web-firmware-handoff-note p{margin:0;font-size:14px;line-height:1.6;color:var(--text)}
.web-firmware-handoff-note .text-button{flex-shrink:0}
body.web-firmware-success-handoff .carbon-toolbar{visibility:visible}
body.web-firmware-success-handoff #main>.device-page-grid{display:grid}
body.web-firmware-success-handoff #main>.device-actions{display:flex}
@media(max-width:700px){.web-firmware-handoff-note{align-items:flex-start;flex-direction:column;gap:12px}}
.firmware-status{grid-area:status;min-width:0;color:var(--muted);font-size:13px;line-height:20px;align-self:center}
.firmware-progress[hidden]{display:none}
.firmware-success{grid-area:progress;display:flex;align-items:center;gap:8px;min-width:0;color:#56cc8b;font-size:14px;line-height:20px}
.firmware-success[hidden]{display:none}
@media(max-width:700px){.firmware-success{grid-column:1/-1}.firmware-component:has(.firmware-success:not([hidden])) .firmware-status{visibility:hidden}}
/* Reserve one shared status row: showing Up to date must not add a grid track. */
.firmware-card .firmware-component{grid-template-areas:"device versions action" "status progress progress";grid-template-rows:auto minmax(32px,auto)}
@media(max-width:700px){.firmware-card .firmware-component{grid-template-areas:"device action" "versions versions" "status progress";grid-template-rows:auto auto minmax(32px,auto)}}
@media(max-width:380px){.firmware-card .firmware-component{grid-template-areas:"device" "versions" "action" "status" "progress";grid-template-rows:auto auto auto minmax(32px,auto) minmax(32px,auto)}}
.firmware-dialog-progress{width:100%;height:6px;accent-color:var(--text,#e5e7eb)}
.firmware-confirm-versions{margin:0 0 20px;display:grid;gap:12px}
.firmware-confirm-versions>div{display:flex;justify-content:space-between;gap:20px}
.firmware-confirm-versions dt{color:var(--muted)}
.firmware-confirm-versions dd{margin:0;text-align:right}
.firmware-recovery{color:#ffb3b3}
.settings-check-card{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.settings-check-card p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
.settings-check-card .button{flex-shrink:0}
dialog.settings-check-dialog{width:min(940px,calc(100vw - 32px));max-width:940px}
.settings-check-note{color:var(--muted);font-size:14px;line-height:1.5;margin:16px 0}
.settings-check-summary{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}
.settings-check-results{max-height:55vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#566065 transparent}
.settings-check-results table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}
.settings-check-results th,.settings-check-results td{padding:12px 10px;border-bottom:1px solid var(--border,#30383b);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.settings-check-results th:first-child{width:32%}
.settings-check-results thead{position:sticky;top:0;background:var(--panel,#181d1f);z-index:1}
.settings-check-results tbody th{font-weight:500}
.settings-check-results small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:6px}
.settings-check-results .settings-check-group th{font-weight:600;padding-top:22px;color:var(--muted)}
.settings-check-status{font-size:12px;font-weight:600}
.settings-check-status.match{color:#b4d4c4}.settings-check-status.mismatch,.settings-check-status.error{color:#ffb3b3}.settings-check-status.unverified{color:var(--muted)}
.settings-check-mobile-label{display:none}
.settings-check-dialog #dialog-content{display:flex;flex-direction:column;max-height:calc(100dvh - 100px)}
.settings-check-dialog #dialog-title{flex-shrink:0}
#settings-check-body{display:flex;flex-direction:column;min-height:0}
.settings-check-results{flex:1;min-height:80px}
.settings-check-dialog .dialog-actions{flex-shrink:0}
@media(max-width:600px){
 .settings-check-card{align-items:flex-start;flex-direction:column;gap:16px}
 .settings-check-dialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .settings-check-dialog .dialog-actions .primary{grid-column:1/-1}
 .settings-check-results table,.settings-check-results tbody{display:block;width:100%}
 .settings-check-results thead{display:none}
 .settings-check-results tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px 0;border-bottom:1px solid var(--border,#30383b)}
 .settings-check-results th,.settings-check-results td{border:0;padding:4px 6px}
 .settings-check-results th:first-child{grid-column:1/-1;width:auto}
 .settings-check-results td:last-child{grid-column:1/-1}
 .settings-check-results .settings-check-group th{padding-top:6px}
 .settings-check-mobile-label{display:block;font-size:12px;color:var(--muted);margin:6px 0}
 .settings-check-results small{font-size:12px}
}

.macro-heading-actions,.macro-transfer-actions{display:flex;align-items:center;gap:8px}.macro-heading-actions{flex-wrap:wrap}.macro-transfer-actions{max-width:100%}.section-heading:has(.macro-heading-actions){flex-wrap:wrap}
.profile-transfer{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.profile-transfer h3{font-size:14px;font-weight:500;margin:0 0 8px}.profile-transfer p,.profile-import-summary p{font-size:14px;overflow-wrap:anywhere}.profile-transfer-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Diagnostic history shares the existing themed diagnostics scrollbar. */
dialog:has(.firmware-history){width:min(660px,calc(100vw - 32px));max-width:660px}
.firmware-history-note{margin:0 0 16px;font-size:14px;color:var(--muted)}
.firmware-history{list-style:none;margin:0;padding:0 8px 0 0;max-height:45dvh;overflow:auto;overscroll-behavior:contain}
.firmware-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.6}
.firmware-history-row:first-child{border-top:0;padding-top:0}
.firmware-history-row>div{min-width:0;overflow-wrap:anywhere}
.firmware-history-target{display:block;color:var(--muted)}
.firmware-history-versions{margin-top:6px;color:var(--text)}
.firmware-history-row time{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.firmware-history-row .button{min-width:72px}

/* Keep outcome colors readable on both dark materials and light palettes. */
.firmware-history-result[data-result=success]{color:#56cc8b}
.firmware-history-result[data-result=failed]{color:#ffb3b3}
html[data-theme=light] .firmware-history-result[data-result=success]{color:#227347}
html[data-theme=light] .firmware-history-result[data-result=failed]{color:var(--light-danger,#a23337)}

/* Existing macro delays are edited separately from recording preferences. */
.recording-delay-label{font-size:12px;font-weight:500;line-height:1.5;margin-bottom:10px}
.macro-delay-dialog .number-with-unit{align-self:flex-start;max-width:100%}
#macro-delay-ms{width:110px;max-width:100%}
#macro-delay-summary{min-height:1.8em}
.macro-actions [data-action="undo-macro-delays"]{margin-right:0}

/* Connection recovery remains outside the paused device controls. */
.connection-recovery{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;padding:16px 20px;border:1px solid var(--line);border-radius:var(--radius,6px);background:var(--panel);color:var(--text);font-size:14px;line-height:1.5}
.connection-recovery[hidden]{display:none}.connection-recovery p{margin:0}.connection-recovery .button{flex-shrink:0}
@media(max-width:600px){.connection-recovery{align-items:flex-start;flex-direction:column}}
