/* Scoped to the web sensor setup flow. */
.device-setup .setup-advanced {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.75rem;
    background: var(--bs-body-bg, #fff);
}
.device-setup .setup-advanced > summary {
    padding: 0.875rem 1rem;
    font-weight: 600;
    cursor: pointer;
}
.device-setup .setup-advanced[open] > summary {
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}
.device-setup .setup-advanced > .card {
    margin-bottom: 0 !important;
    background: transparent !important;
}
.device-setup summary:focus-visible,
.device-setup .setup-review-card:focus-within {
    outline: 2px solid var(--bs-primary, #0d6efd);
    outline-offset: 3px;
}
.device-setup .setup-actions {
    position: sticky;
    bottom: 0;
    z-index: 20;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 1rem 0 calc(1rem + env(safe-area-inset-bottom, 0px));
    background: var(--bs-body-bg, #fff);
    border-top: 1px solid var(--bs-border-color, #dee2e6);
    box-shadow: 0 -0.5rem 1rem -1rem rgba(0, 0, 0, 0.25);
}
.device-setup .setup-actions .btn,
.device-setup #resumeDraftPanel .btn {
    min-height: 44px;
}
.device-setup .setup-review-card {
    overflow-wrap: anywhere;
    scroll-margin-top: 1rem;
}
.device-setup .setup-review-card dt {
    font-size: 0.8125rem;
    color: var(--bs-secondary-color, #6c757d);
    font-weight: 500;
}
.device-setup .setup-review-card dd { margin-bottom: 0; }
.device-setup .setup-review-details > summary {
    color: var(--bs-secondary-color, #6c757d);
    cursor: pointer;
    font-size: 0.875rem;
}
.device-setup .setup-review-details dl { font-size: 0.875rem; }
.device-setup .device-reading-card,
.device-setup .device-mapping-group { scroll-margin-top: 1rem; }
.device-setup .device-mapping-advanced > summary {
    cursor: pointer;
    padding-block: 0.5rem;
}
@media (max-width: 575.98px) {
    .device-setup .setup-actions { padding-inline: 0.25rem; }
    .device-setup .setup-actions > .btn { flex: 1 1 auto; }
    .device-setup .setup-review-card .card-body { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    .device-setup .tc-first-reading { animation: none; }
}
