:root {
    --sp-navy: #0b2e59;
    --sp-blue: #1473e6;
    --sp-blue-dark: #0e5fc4;
    --sp-green: #2ead4a;
    --sp-background: #f5f7fa;
    --sp-surface: #ffffff;
    --sp-text: #172033;
    --sp-muted: #647085;
    --sp-border: #dce3ec;
    --sp-shadow: 0 16px 38px rgba(11, 46, 89, 0.08);
}

[data-bs-theme="dark"] {
    --sp-background: #101720;
    --sp-surface: #1b2430;
    --sp-text: #f2f5f9;
    --sp-muted: #aeb8c7;
    --sp-border: #2e3a49;
    --sp-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
}

* {
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    margin: 0;
    background: var(--sp-background);
    color: var(--sp-text);
    font-family: "Inter", system-ui, sans-serif;
}

a {
    text-decoration: none;
}

.app-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: color-mix(
        in srgb,
        var(--sp-surface) 90%,
        transparent
    );
    border-bottom: 1px solid var(--sp-border);
    backdrop-filter: blur(14px);
}

.navbar {
    min-height: 4.2rem;
}

.navbar-brand {
    color: var(--sp-text);
    font-size: 1.15rem;
    font-weight: 700;
}

.navbar-brand:hover {
    color: var(--sp-blue);
}

.brand-icon {
    display: grid;
    width: 2.3rem;
    height: 2.3rem;
    place-items: center;
    border-radius: 0.75rem;
    background: linear-gradient(
        135deg,
        var(--sp-navy),
        var(--sp-blue)
    );
    color: #ffffff;
}

.skip-link {
    background: var(--sp-blue);
    border-radius: 0 0 .5rem .5rem;
    color: #fff;
    font-weight: 700;
    left: 1rem;
    padding: .7rem 1rem;
    position: fixed;
    top: 0;
    transform: translateY(-130%);
    transition: transform .15s ease;
    z-index: 10000;
}

.skip-link:focus { color: #fff; transform: translateY(0); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid #70a7ff;
    outline-offset: 3px;
}

#mainContent:focus { outline: none; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

.brand-icon img {
    width: 1.55rem;
    height: 1.55rem;
    display: block;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.header-status {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.52rem 0.8rem;
    border: 1px solid var(--sp-border);
    border-radius: 999px;
    background: color-mix(
        in srgb,
        var(--sp-surface) 88%,
        transparent
    );
    color: var(--sp-muted);
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
}

.status-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: var(--sp-green);
    box-shadow: 0 0 0 4px rgba(46, 173, 74, 0.12);
}

.theme-toggle {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    border: 1px solid var(--sp-border);
    border-radius: 0.8rem;
    background: var(--sp-surface);
    color: var(--sp-text);
}

.theme-toggle:hover {
    border-color: var(--sp-blue);
    color: var(--sp-blue);
}

.hero-section {
    padding: 2.75rem 0 2rem;
    background:
        radial-gradient(
            circle at top right,
            rgba(20, 115, 230, 0.16),
            transparent 28rem
        ),
        linear-gradient(
            180deg,
            rgba(11, 46, 89, 0.04),
            transparent
        );
}

.hero-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.4fr)
        minmax(300px, 0.8fr);
    gap: 3rem;
    align-items: center;
}

.hero-content {
    max-width: 760px;
}

.hero-content--wide {
    max-width: 960px;
}

.eyebrow,
.section-label {
    color: var(--sp-blue);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.hero-content h1 {
    max-width: 700px;
    margin: 0.8rem 0;
    font-size: clamp(2.7rem, 5vw, 4.5rem);
    font-weight: 700;
    letter-spacing: -0.055em;
    line-height: 0.98;
}

.hero-description,
.section-description {
    color: var(--sp-muted);
    line-height: 1.7;
}

.hero-description {
    max-width: 680px;
    margin-bottom: 1.5rem;
    font-size: 1.05rem;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.btn-primary,
.btn-outline-primary {
    border-radius: 0.9rem;
    font-weight: 600;
    padding: 0.8rem 1.15rem;
}

.btn-primary {
    border-color: var(--sp-blue);
    background: var(--sp-blue);
}

.btn-primary:hover {
    border-color: var(--sp-blue-dark);
    background: var(--sp-blue-dark);
}

.btn-outline-primary {
    border-color: var(--sp-blue);
    color: var(--sp-blue);
}

.btn-outline-primary:hover {
    border-color: var(--sp-blue);
    background: var(--sp-blue);
    color: #ffffff;
}

.hero-summary {
    padding: 1.5rem;
    border: 1px solid var(--sp-border);
    border-radius: 1.25rem;
    background: color-mix(
        in srgb,
        var(--sp-surface) 92%,
        transparent
    );
    box-shadow: var(--sp-shadow);
    backdrop-filter: blur(12px);
}

.capability-list {
    display: grid;
    gap: 0.85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.capability-list li {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    color: var(--sp-muted);
    line-height: 1.45;
}

.capability-list i {
    margin-top: 0.15rem;
    color: var(--sp-green);
}

.mission-section {
    padding: 2.5rem 0 4rem;
}

.section-heading {
    margin-bottom: 1.5rem;
}

.section-heading h2 {
    margin: 0;
    font-size: clamp(1.65rem, 4vw, 2.2rem);
    font-weight: 700;
    letter-spacing: -0.035em;
}

.section-description {
    margin: 0.5rem 0 0;
}

.service-card {
    position: relative;
    display: flex;
    min-height: 165px;
    height: 100%;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.35rem;
    border: 1px solid var(--sp-border);
    border-radius: 1.1rem;
    background: var(--sp-surface);
    box-shadow: var(--sp-shadow);
    color: var(--sp-text);
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease;
}

.service-card:hover {
    transform: translateY(-4px);
    border-color: var(--sp-blue);
    color: var(--sp-text);
    box-shadow: 0 20px 48px rgba(11, 46, 89, 0.13);
}

.service-card:hover .card-arrow {
    transform: translateX(4px);
}

.service-icon {
    display: grid;
    min-width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 0.9rem;
    background: rgba(20, 115, 230, 0.12);
    color: var(--sp-blue);
    font-size: 1.35rem;
}

.service-card h3 {
    margin-bottom: 0.55rem;
    font-size: 1.05rem;
    font-weight: 700;
}

.service-card p {
    margin: 0;
    color: var(--sp-muted);
    font-size: 0.94rem;
    line-height: 1.55;
}

.card-arrow {
    margin-left: auto;
    color: var(--sp-blue);
    font-size: 1.1rem;
    transition: transform 160ms ease;
}

.app-footer {
    padding: 1.5rem 0;
    border-top: 1px solid var(--sp-border);
    background: var(--sp-surface);
    color: var(--sp-muted);
    font-size: 0.88rem;
    text-align: center;
}

@media (max-width: 991px) {
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .hero-summary {
        max-width: 680px;
    }
}

@media (max-width: 767px) {
    .header-status {
        display: none;
    }

    .hero-section {
        padding-top: 2.25rem;
    }

    .hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .service-card {
        min-height: auto;
    }
}
.problem-card {
    transition: all 0.25s ease;
    border: none;
    cursor: pointer;
}

.problem-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 1rem 2rem rgba(0,0,0,.25);
}

.problem-card.disabled {
    opacity: .65;
}

.problem-card.disabled:hover {
    transform: none;
}

.sp-action-button {
    min-width: 190px;
    justify-content: center;
}

/* Global header search */

.app-header .container {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.global-search-wrapper {
    position: relative;
    flex: 1;
    max-width: 460px;
    margin-inline: auto;
}

.global-search {
    width: 100%;
}

.global-search .input-group {
    width: 100%;
}

.global-search .form-control {
    min-width: 0;
}


/* Page spacing below the header */

main {
    padding-top: 2rem;
}


/* Responsive header layout */

@media (max-width: 991.98px) {
    .app-header .container {
        flex-wrap: wrap;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }

    .global-search-wrapper {
        order: 3;
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    main {
        padding-top: 1.5rem;
    }

    .header-status {
        display: none;
    }

    .global-search .btn {
        padding-inline: 1rem;
    }

    .app-header .container { gap: .65rem; }
    .navbar-brand { font-size: 1rem; }
    .brand-icon { height: 2.1rem; width: 2.1rem; }
    .header-actions { gap: .45rem; margin-left: auto; }
    .header-actions .btn { padding-inline: .65rem; }
    .theme-toggle { height: 2.75rem; width: 2.75rem; }
    .global-search .input-group-text { padding-inline: .7rem; }
    .global-search .form-control { font-size: .9rem; }
    .search-suggestions { left: -.25rem; right: -.25rem; max-height: min(60dvh, 24rem); }
    .search-suggestion-item { padding: .75rem; }
    .search-suggestion-summary { white-space: normal; }
}

.product-area-nav {
    border-top: 1px solid var(--sp-border);
}

.app-header .product-area-nav .container {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: .35rem;
    overflow-x: auto;
    padding-block: .35rem;
    scrollbar-width: thin;
}

.product-area-nav__link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: .65rem;
    color: var(--sp-muted);
    font-size: .88rem;
    font-weight: 600;
    padding: .55rem .8rem;
    white-space: nowrap;
}

.product-area-nav__link:hover,
.product-area-nav__link.active {
    background: color-mix(in srgb, var(--sp-blue) 12%, transparent);
    color: var(--sp-blue);
}

/* Search autocomplete */

.global-search-wrapper {
    position: relative;
    z-index: 1100;
}

.search-suggestions {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
    right: 0;
    z-index: 1200;

    max-height: 24rem;
    overflow-y: auto;

    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 0.75rem;
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.35);
}

.search-suggestions[hidden] {
    display: none;
}

.search-suggestion-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;

    padding: 0.9rem 1rem;

    color: var(--bs-body-color);
    text-decoration: none;

    border-bottom: 1px solid var(--bs-border-color);
}

.search-suggestion-item:last-child {
    border-bottom: 0;
}

.search-suggestion-item:hover,
.search-suggestion-item:focus {
    background: var(--bs-secondary-bg);
    color: var(--bs-body-color);
}

.search-suggestion-type {
    flex: 0 0 auto;

    margin-top: 0.1rem;
    padding: 0.2rem 0.45rem;

    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;

    color: var(--bs-primary-text-emphasis);
    background: var(--bs-primary-bg-subtle);
    border-radius: 0.35rem;
}

.search-suggestion-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.search-suggestion-title {
    display: block;
    margin-bottom: 0.2rem;
}

.search-suggestion-summary {
    display: block;

    overflow: hidden;
    color: var(--bs-secondary-color);
    font-size: 0.85rem;
    line-height: 1.35;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.search-suggestion-item.active,
.search-suggestion-item:focus {
    background: var(--bs-secondary-bg);
    color: var(--bs-body-color);
    outline: 2px solid var(--bs-primary);
    outline-offset: -2px;
}

.content-card {
    transition: transform 0.2s ease,
                box-shadow 0.2s ease;
    cursor: pointer;
}

.content-card:hover {
    transform: translateY(-6px);

    box-shadow: 0 1rem 2rem
        rgba(0, 0, 0, 0.15);
}

.workflow-node-card{
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.workflow-node-card:hover{
    transform: translateY(-2px);
    border-color: var(--bs-primary) !important;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.18);
    cursor:pointer;
}

.device-profile-details {
    display: grid;
    gap: 0.65rem;
    margin: 0;
}

.device-profile-details div {
    border-top: 1px solid var(--sp-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-top: 0.65rem;
}

.device-profile-details dt {
    color: var(--sp-muted);
    font-weight: 500;
}

.device-profile-details dd {
    margin: 0;
    text-align: right;
}

.device-profile-dialog {
    background: var(--sp-surface);
    border: 1px solid var(--sp-border);
    border-radius: 1rem;
    color: var(--sp-text);
    max-height: min(90vh, 760px);
    max-width: min(92vw, 720px);
    padding: 0;
    width: 100%;
}

.device-profile-dialog::backdrop {
    background: rgba(3, 10, 20, 0.72);
    backdrop-filter: blur(3px);
}

.device-profile-dialog__header,
.device-profile-dialog__footer {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
}

.device-profile-dialog__header { border-bottom: 1px solid var(--sp-border); }
.device-profile-dialog__footer { border-top: 1px solid var(--sp-border); justify-content: flex-end; }
.device-profile-dialog__body { max-height: calc(90vh - 155px); overflow-y: auto; padding: 1.5rem; }

.learning-mode-banner,
.learning-step-panel {
    border: 1px solid rgba(13, 202, 240, 0.45);
    border-radius: 1rem;
    background: rgba(13, 202, 240, 0.08);
}

.active-session-banner { align-items: center; border: 1px solid rgba(13, 110, 253, .45); border-radius: 1rem; background: rgba(13, 110, 253, .09); display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; margin-bottom: 1.5rem; padding: 1rem 1.15rem; }
.active-session-banner > div { align-items: center; display: flex; gap: .75rem; }
.active-session-banner i { color: var(--bs-primary); font-size: 1.35rem; }
.active-session-banner span, .active-session-banner small { display: block; }
.active-session-banner small { color: var(--sp-muted); margin-top: .15rem; }
.active-session-banner__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .6rem; }
.active-session-banner__actions form { margin: 0; }
.active-session-banner__actions .btn-outline-danger i { color: inherit; font-size: inherit; }

.learning-mode-banner { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.25rem; padding: 1rem 1.15rem; }
.learning-mode-banner > div { align-items: center; display: flex; gap: .75rem; }
.learning-mode-banner i { color: var(--bs-info); font-size: 1.3rem; }
.learning-mode-banner span, .learning-mode-banner small { display: block; }
.learning-mode-banner small { color: var(--sp-muted); margin-top: .15rem; }
.learning-step-panel { overflow: hidden; }
.learning-step-panel__header { align-items: center; border-bottom: 1px solid rgba(13, 202, 240, 0.25); display: flex; gap: 1rem; justify-content: space-between; padding: 1rem 1.25rem; }
.learning-step-panel__header span:first-child { color: var(--bs-info); }
.learning-step-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, 1fr); background: rgba(13, 202, 240, 0.2); }
.learning-step-grid article { display: flex; gap: .75rem; background: var(--sp-surface); padding: 1.1rem 1.25rem; }
.learning-step-grid article > i { color: var(--bs-info); font-size: 1.15rem; }
.learning-step-grid h3 { font-size: .82rem; font-weight: 700; margin: 0 0 .3rem; }
.learning-step-grid p, .learning-concepts p { color: var(--sp-muted); font-size: .85rem; line-height: 1.55; margin: 0; }
.learning-concepts { padding: .85rem 1.25rem 1.1rem; }
.learning-concepts details { border-top: 1px solid var(--sp-border); padding: .7rem 0; }
.learning-concepts summary { cursor: pointer; font-size: .85rem; font-weight: 700; }
.learning-concepts p { margin-top: .5rem; }
.learning-completion { border: 1px solid rgba(13, 202, 240, .4); border-radius: .75rem; background: rgba(13, 202, 240, .08); padding: 1rem; }
@media (max-width: 700px) { .learning-step-grid { grid-template-columns: 1fr; } }

@media (max-width: 767.98px) {
    .container { --bs-gutter-x: 1.5rem; }
    :where(.btn, button, select, .form-control, .form-select, .theme-toggle) { min-height: 44px; }
    .hero-content h1 { font-size: clamp(2.35rem, 13vw, 3.2rem); }
    .hero-description { font-size: 1rem; }
    .hero-summary { padding: 1.15rem; }
    .mission-section { padding-bottom: 2.5rem; }
    .workflow-discovery, .workflow-filter-search { width: 100%; }
    .workflow-filter-buttons { flex-wrap: nowrap; margin-inline: -.75rem; overflow-x: auto; padding: .2rem .75rem .65rem; scrollbar-width: thin; width: calc(100% + 1.5rem); }
    .workflow-filter-buttons .btn { flex: 0 0 auto; }
    .service-card { padding: 1rem; }
    .service-icon { height: 2.65rem; min-width: 2.65rem; }
    .active-session-banner, .learning-mode-banner { align-items: stretch; flex-direction: column; }
    .active-session-banner .btn, .learning-mode-banner .btn { width: 100%; }
    .active-session-banner__actions, .active-session-banner__actions form { width: 100%; }
    .wizard-page-header { flex-direction: column; }
    .wizard-page-header > div:last-child, .wizard-page-header .btn { width: 100%; }
    .wizard-page-header > div:last-child { display: grid !important; grid-template-columns: 1fr 1fr; }
    .learning-step-panel__header { align-items: flex-start; flex-direction: column; }
    .device-profile-dialog { border-radius: .75rem; max-height: calc(100dvh - 1rem); max-width: calc(100vw - 1rem); }
    .device-profile-dialog__body { max-height: calc(100dvh - 145px); padding: 1rem; }
    .device-profile-dialog__header, .device-profile-dialog__footer { padding: 1rem; }
    .device-profile-dialog__footer { display: grid; grid-template-columns: 1fr 1fr; }
    .error-page { padding-block: 1.5rem; }
    pre { max-width: 100%; overflow-x: auto; }
}

/* Knowledge Review Workspace */
.article-review-page { padding-block: 4rem; }
.article-review-heading { align-items: flex-start; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2rem; }
.article-review-heading h1 { font-size: clamp(2rem, 4vw, 3rem); margin: .35rem 0 .5rem; }
.article-review-heading p { color: var(--sp-muted); margin: 0; }
.review-summary-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); }
.review-summary-grid article { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: .8rem; display: flex; flex-direction: column; gap: .35rem; padding: 1rem; }
.review-summary-grid article > span { color: var(--sp-muted); font-size: .78rem; }
.review-summary-grid article > strong { font-size: 1.25rem; }
.review-summary-grid .analytics-meter { margin-top: .25rem; }
.review-warning-panel { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: .9rem; margin-top: 1.25rem; padding: 1.1rem; }
.review-warning-panel h2 { font-size: 1rem; }
.review-warning { align-items: flex-start; border-top: 1px solid var(--sp-border); display: flex; font-size: .84rem; gap: .65rem; padding: .65rem 0; }
.review-warning--high i { color: var(--bs-danger); }
.review-warning--medium i { color: var(--bs-warning); }
.review-warning--low i { color: var(--bs-info); }
.review-workspace-tabs { display: flex; gap: .5rem; margin: 1.5rem 0 1rem; }
.article-review-form { display: grid; gap: 1rem; }
.review-editor-section, .article-live-preview { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: .9rem; padding: 1.25rem; }
.review-editor-section h2 { font-size: 1.2rem; margin: .25rem 0 1rem; }
.review-editor-section label { display: block; }
.review-editor-section label > span { display: block; font-size: .82rem; font-weight: 700; margin-bottom: .4rem; }
.review-editor-section label small { color: var(--sp-muted); font-weight: 400; }
.article-source-workspace { display: grid; gap: .75rem; }
.article-source-heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.article-source-heading > div > span { display: block; font-size: .82rem; font-weight: 700; margin-bottom: .25rem; }
.article-source-heading p, .article-source-message { color: var(--sp-muted); font-size: .8rem; margin: 0; }
.article-source-message.is-error { color: #dc3545; }
.article-source-suggestions { display: grid; gap: .65rem; }
.article-source-suggestion { align-items: center; background: color-mix(in srgb, var(--sp-surface) 82%, var(--sp-background)); border: 1px solid var(--sp-border); border-radius: .7rem; display: flex; gap: 1rem; justify-content: space-between; padding: .85rem; }
.article-source-suggestion h3 { font-size: .95rem; margin: .2rem 0; }
.article-source-suggestion p { color: var(--sp-muted); font-size: .78rem; margin: 0; }
.article-source-suggestion__actions { display: flex; flex: 0 0 auto; gap: .45rem; }
.review-editor-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); margin-bottom: 1rem; }
.review-grid-wide { grid-column: 1 / -1; }
.technical-review > p { color: var(--sp-muted); font-size: .85rem; }
.technical-check { align-items: center; border-top: 1px solid var(--sp-border); display: flex !important; gap: .7rem; padding: .7rem 0; }
.technical-check > span { margin: 0 !important; }
.technical-review > label:last-child { margin-top: 1rem; }
.review-action-bar, .publish-review-bar { align-items: center; background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: .9rem; display: flex; gap: 1rem; justify-content: space-between; padding: 1rem; }
.review-action-bar > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.article-live-preview > h2 { font-size: 2rem; margin: .35rem 0 .75rem; }
.article-preview-overview { color: var(--sp-muted); font-size: 1.05rem; line-height: 1.65; }
.article-preview-columns { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
.article-live-preview article { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .75rem; margin-top: 1rem; padding: 1rem; }
.article-live-preview h3 { font-size: 1rem; }
.article-live-preview li { margin-bottom: .55rem; }
.article-live-preview pre { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: .5rem; padding: .75rem; }
.article-workflow-links article { align-items: center; border-top: 1px solid var(--sp-border); display: flex; gap: 1rem; justify-content: space-between; padding: .8rem 0; }
.article-workflow-links article > div { display: flex; flex-direction: column; }
.article-workflow-links article span { color: var(--sp-muted); font-size: .8rem; }
.publish-review-bar { margin-top: 1rem; }
.publish-review-bar > div { display: flex; flex-direction: column; }
.publish-review-bar span { color: var(--sp-muted); font-size: .82rem; }

@media (max-width: 767.98px) {
    .article-review-page { padding-block: 2rem; }
    .article-review-heading, .review-action-bar, .publish-review-bar { align-items: stretch; flex-direction: column; }
    .article-review-heading .btn, .review-action-bar button, .publish-review-bar button { width: 100%; }
    .review-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .review-editor-grid, .article-preview-columns { grid-template-columns: 1fr; }
    .article-source-heading, .article-source-suggestion { align-items: stretch; flex-direction: column; }
    .article-source-suggestion__actions .btn { flex: 1; }
    .review-grid-wide { grid-column: auto; }
    .review-action-bar > div { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
}

@media (pointer: coarse) {
    :where(.btn, button, select, .form-control, .form-select, .theme-toggle) { min-height: 44px; }
    .workflow-filter-buttons .btn { min-height: 42px; }
}

dialog { max-height: calc(100dvh - 1rem); max-width: calc(100vw - 1rem); }

.error-page { max-width: 680px; padding: 3rem 1rem; }
.error-page__mark { align-items: center; background: var(--sp-blue); border-radius: 1rem; display: inline-flex; height: 4rem; justify-content: center; margin-bottom: 1.5rem; width: 4rem; }
.error-page__mark img { height: 2.5rem; width: 2.5rem; }
.error-page__request { align-items: center; color: var(--sp-muted); display: inline-flex; font-size: .78rem; gap: .6rem; }
.error-page__request code { border: 1px solid var(--sp-border); border-radius: .35rem; color: var(--sp-text); padding: .25rem .45rem; }

/* Troubleshooting history and local analytics */
.history-page { padding-block: 4rem; }
.history-heading { align-items: flex-start; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 1.5rem; }
.history-heading h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); margin: .35rem 0 .5rem; }
.history-heading p { color: var(--sp-muted); margin: 0; }
.section-eyebrow { color: var(--bs-primary); font-size: .75rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }

.script-source-view {
    max-height: 34rem;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 1.25rem;
    tab-size: 4;
    white-space: pre-wrap;
}

.script-source-view code {
    overflow-wrap: anywhere;
    white-space: inherit;
    word-break: normal;
}
.history-privacy { align-items: center; background: rgba(25, 135, 84, .1); border: 1px solid rgba(25, 135, 84, .35); border-radius: .8rem; color: var(--sp-muted); display: flex; gap: .8rem; margin-bottom: 1.5rem; padding: .9rem 1rem; }
.history-privacy i { color: var(--bs-success); font-size: 1.25rem; }
.history-filters { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: .9rem; margin-bottom: 1.5rem; padding: 1rem; }
.history-filters__form { align-items: end; display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(9rem, 1fr)) auto auto; margin-bottom: .65rem; }
.history-filters__form label { color: var(--sp-muted); display: block; font-size: .78rem; font-weight: 700; margin-bottom: .3rem; }
.analytics-grid, .session-summary-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); }
.analytics-grid article, .session-summary-grid article { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: .9rem; display: flex; flex-direction: column; gap: .35rem; padding: 1.2rem; }
.analytics-grid span, .session-summary-grid span { color: var(--sp-muted); font-size: .82rem; }
.analytics-grid strong { font-size: 1.8rem; }
.session-summary-grid strong { font-size: 1rem; }
.history-section { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: 1rem; margin-top: 1.5rem; padding: 1.4rem; }
.history-section__heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1rem; }
.history-section__heading h2, .history-section h2 { font-size: 1.25rem; margin: .25rem 0 0; }
.history-section__heading > span { color: var(--sp-muted); font-size: .85rem; }
.workflow-analytics-list { display: grid; gap: .75rem; }
.workflow-analytics-list article { align-items: center; display: grid; gap: 1rem; grid-template-columns: minmax(12rem, 1fr) minmax(10rem, 2fr) 3rem; }
.workflow-analytics-list article > div:first-child { display: flex; flex-direction: column; }
.workflow-analytics-list article span { color: var(--sp-muted); font-size: .8rem; }
.analytics-meter { background: var(--sp-page); border-radius: 999px; height: .55rem; overflow: hidden; }
.analytics-meter span { background: var(--bs-primary); display: block; height: 100%; }
.history-list { display: grid; gap: .7rem; }
.history-card { align-items: center; background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .8rem; display: grid; gap: 1rem; grid-template-columns: auto 1fr auto; padding: 1rem; }
.history-card__status { align-items: center; border-radius: .65rem; display: flex; font-size: 1.2rem; height: 2.8rem; justify-content: center; width: 2.8rem; }
.history-card__status--completed { background: rgba(25, 135, 84, .13); color: var(--bs-success); }
.history-card__status--active { background: rgba(13, 110, 253, .13); color: var(--bs-primary); }
.history-card__status--abandoned { background: rgba(108, 117, 125, .15); color: var(--sp-muted); }
.history-card__content > div { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; }
.history-card__content p { color: var(--sp-muted); font-size: .82rem; margin: .25rem 0 0; }
.history-status, .detail-status { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: 999px; font-size: .72rem; font-weight: 700; padding: .2rem .55rem; }
.history-empty { color: var(--sp-muted); padding: 3rem 1rem; text-align: center; }
.history-empty > i { color: var(--bs-primary); font-size: 2.5rem; }
.history-empty h3 { color: var(--sp-text); margin-top: 1rem; }
.history-pagination { align-items: center; display: flex; gap: .75rem; justify-content: center; margin-top: 1rem; }
.history-pagination > span:not(.btn) { color: var(--sp-muted); font-size: .9rem; font-weight: 700; }
.back-link { align-items: center; display: inline-flex; gap: .5rem; margin-bottom: 1.5rem; text-decoration: none; }
.detail-status { font-size: .82rem; padding: .45rem .75rem; }
.detail-status--completed { border-color: rgba(25, 135, 84, .45); color: var(--bs-success); }
.detail-status--active { border-color: rgba(13, 110, 253, .45); color: var(--bs-primary); }
.session-path { list-style: none; margin: 1rem 0 0; padding: 0; }
.session-path li { align-items: center; border-top: 1px solid var(--sp-border); display: flex; gap: .8rem; padding: .8rem 0; }
.session-path li > span { align-items: center; background: var(--bs-primary-bg-subtle); border-radius: 50%; color: var(--bs-primary-text-emphasis); display: flex; flex: 0 0 auto; font-size: .75rem; height: 1.8rem; justify-content: center; width: 1.8rem; }
.history-detail__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }

@media (max-width: 767.98px) {
    .history-page { padding-block: 2rem; }
    .history-heading { align-items: stretch; flex-direction: column; gap: 1rem; }
    .history-heading form, .history-heading .btn { width: 100%; }
    .history-filters__form { grid-template-columns: 1fr; }
    .history-filters__form .btn { width: 100%; }
    .analytics-grid, .session-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .workflow-analytics-list article { grid-template-columns: 1fr 3rem; }
    .workflow-analytics-list .analytics-meter { grid-column: 1 / -1; grid-row: 2; }
    .history-card { align-items: start; grid-template-columns: auto 1fr; }
    .history-card > .btn { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 575.98px) {
    .header-history-link span { display: none; }
    .header-history-link { padding-inline: .75rem; }
}

.workflow-discovery {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.workflow-filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.workflow-filter-search {
    align-items: center;
    background: var(--sp-surface);
    border: 1px solid var(--sp-border);
    border-radius: 0.65rem;
    color: var(--sp-muted);
    display: flex;
    gap: 0.55rem;
    min-width: min(100%, 250px);
    padding: 0.45rem 0.75rem;
}

.workflow-filter-search input {
    background: transparent;
    border: 0;
    color: var(--sp-text);
    min-width: 0;
    outline: 0;
    width: 100%;
}

.workflow-library-cta {
    align-items: center;
    background: var(--sp-surface);
    border: 1px solid var(--sp-border);
    border-radius: .9rem;
    display: flex;
    gap: 1.25rem;
    justify-content: space-between;
    margin: -2rem 0 3rem;
    padding: 1rem 1.15rem;
}
.workflow-library-cta > div { display: flex; flex-direction: column; gap: .2rem; }
.workflow-library-cta span { color: var(--sp-muted); font-size: .85rem; }
.workflow-catalog-page { min-height: 65vh; padding-block: 4rem; }
.catalog-heading { align-items: flex-end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2rem; }
.catalog-heading h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); margin: .35rem 0 .5rem; }
.catalog-heading p { color: var(--sp-muted); margin: 0; }
.catalog-count { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: 999px; color: var(--sp-muted); flex: 0 0 auto; font-size: .82rem; padding: .45rem .75rem; }
.catalog-device-note { margin-bottom: 1.25rem; }
.workflow-catalog-page #workflowCardGrid { margin-bottom: 2rem; }
.workflow-card-item { position: relative; }
.workflow-catalog-page .workflow-card-item .service-card { padding-right: 4.25rem; }
.workflow-favorite-button {
    align-items: center;
    background: var(--sp-page);
    border: 1px solid var(--sp-border);
    border-radius: 50%;
    color: var(--sp-muted);
    display: flex;
    height: 2.65rem;
    justify-content: center;
    position: absolute;
    right: 1.5rem;
    top: 1rem;
    width: 2.65rem;
    z-index: 2;
}
.workflow-favorite-button:hover, .workflow-favorite-button:focus-visible { border-color: var(--bs-warning); color: var(--bs-warning); }
.workflow-favorite-button[aria-pressed="true"] { background: rgba(255, 193, 7, .12); border-color: rgba(255, 193, 7, .55); color: var(--bs-warning); }
.workflow-favorite-button:disabled { opacity: .6; }

.workflow-feedback { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: 1rem; margin-top: 1.5rem; padding: 1.25rem; }
.workflow-feedback__heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.2rem; }
.workflow-feedback__heading h3 { font-size: 1.15rem; margin: .25rem 0 0; }
.workflow-feedback__heading > span, .feedback-comment small, .feedback-fields small { color: var(--sp-muted); font-size: .75rem; }
.workflow-feedback fieldset { border: 0; margin: 0 0 1rem; padding: 0; }
.workflow-feedback legend, .feedback-fields label > span, .feedback-comment > span { display: block; font-size: .85rem; font-weight: 700; margin-bottom: .55rem; }
.feedback-choice-grid { display: grid; gap: .65rem; grid-template-columns: repeat(3, 1fr); }
.feedback-choice-grid label { cursor: pointer; }
.feedback-choice-grid input { opacity: 0; position: absolute; }
.feedback-choice-grid label > span { align-items: center; border: 1px solid var(--sp-border); border-radius: .7rem; display: flex; gap: .5rem; justify-content: center; min-height: 3rem; padding: .65rem; }
.feedback-choice-grid input:checked + span { background: var(--bs-primary-bg-subtle); border-color: var(--bs-primary); color: var(--bs-primary-text-emphasis); }
.feedback-choice-grid input:focus-visible + span { outline: 3px solid rgba(13, 110, 253, .4); outline-offset: 2px; }
.feedback-fields { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
.feedback-comment { display: block; margin-top: 1rem; }
.workflow-feedback__footer { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-top: 1rem; }
.workflow-feedback__footer > span { color: var(--sp-muted); font-size: .82rem; }
.workflow-feedback--complete { align-items: center; border-color: rgba(25, 135, 84, .4); display: flex; gap: .8rem; }
.workflow-feedback--complete > i { color: var(--bs-success); font-size: 1.4rem; }
.workflow-feedback--complete div { display: flex; flex-direction: column; }
.workflow-feedback--complete span { color: var(--sp-muted); font-size: .82rem; }
.feedback-analytics { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: 1rem; margin-top: 1.5rem; padding: 1.4rem; }
.feedback-analytics .analytics-grid strong small { color: var(--sp-muted); font-size: .8rem; }
.confusing-step-list { margin-top: 1.25rem; }
.confusing-step-list h3 { font-size: .9rem; }
.confusing-step-list div, .session-feedback dl div { border-top: 1px solid var(--sp-border); display: flex; gap: 1rem; justify-content: space-between; padding: .7rem 0; }
.confusing-step-list strong { color: var(--sp-muted); font-size: .8rem; }
.history-status--feedback { color: var(--bs-info); }
.session-feedback dl { margin: 1rem 0 0; }
.session-feedback dt { color: var(--sp-muted); font-weight: 500; }
.session-feedback dd { margin: 0; max-width: 65%; text-align: right; }

@media (max-width: 767.98px) {
    .workflow-library-cta, .catalog-heading { align-items: stretch; flex-direction: column; }
    .workflow-library-cta .btn { width: 100%; }
    .workflow-catalog-page { padding-block: 2rem; }
    .catalog-heading { gap: 1rem; }
    .catalog-count { align-self: flex-start; }
    .workflow-feedback__heading, .workflow-feedback__footer { align-items: stretch; flex-direction: column; }
    .feedback-fields { grid-template-columns: 1fr; }
    .workflow-feedback__footer .btn { width: 100%; }
}

@media (max-width: 575.98px) { .feedback-choice-grid { grid-template-columns: 1fr; } }

/* Content quality dashboard */
.quality-studio-card__icon { align-items: center; background: rgba(220, 53, 69, .12); border-radius: 1rem; color: var(--bs-danger); display: flex; flex: 0 0 auto; font-size: 2rem; height: 4rem; justify-content: center; width: 4rem; }
.curator-studio-card__icon { background: rgba(13, 202, 240, .12); color: var(--bs-info); }
.curator-page { padding-block: 4rem; }
.curator-heading { align-items: flex-start; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2rem; }
.curator-heading h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); margin: .35rem 0 .5rem; }
.curator-heading p { color: var(--sp-muted); margin: 0; }
.curator-status { margin-bottom: 1.5rem; }
.curator-empty { align-items: center; display: flex; gap: 1rem; }
.curator-empty > i { color: var(--bs-info); font-size: 2.4rem; }
.curator-empty h2 { font-size: 1.25rem; margin: 0 0 .25rem; }
.curator-empty p { color: var(--sp-muted); margin: 0; }
.curator-metrics { display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); }
.curator-metrics article { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: 1rem; display: grid; padding: 1.25rem; }
.curator-metrics span, .curator-metrics small { color: var(--sp-muted); }
.curator-metrics strong { font-size: 2rem; margin-block: .25rem; }
.curator-health-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
.curator-health-grid article { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .75rem; padding: 1rem; }
.curator-health-grid article > div:first-child { display: flex; justify-content: space-between; margin-bottom: .7rem; }
.curator-task-list { display: grid; gap: .75rem; }
.curator-task { background: var(--sp-page); border: 1px solid var(--sp-border); border-left: 4px solid var(--bs-secondary); border-radius: .75rem; padding: 1rem; }
.curator-task--defect { border-left-color: var(--bs-danger); }
.curator-task--risk { border-left-color: var(--bs-warning); }
.curator-task--opportunity { border-left-color: var(--bs-info); }
.curator-task--recommendation { border-left-color: var(--bs-primary); }
.curator-task__meta, .curator-task__footer { align-items: center; color: var(--sp-muted); display: flex; flex-wrap: wrap; font-size: .78rem; gap: .75rem; }
.curator-task h3 { font-size: 1rem; margin: .6rem 0 .25rem; }
.curator-task p { color: var(--sp-muted); font-size: .88rem; margin-bottom: .75rem; }
.curator-lesson { border-bottom: 1px solid var(--sp-border); padding-block: .8rem; }
.curator-lesson h3 { font-size: 1rem; }
.curator-lesson p { color: var(--sp-muted); margin: 0; }
.curator-runs { display: grid; gap: .6rem; }
.curator-runs article { align-items: center; background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .65rem; display: flex; gap: 1rem; justify-content: space-between; padding: .8rem; }
.curator-runs article div { display: grid; }
.curator-runs code, .curator-runs span { color: var(--sp-muted); font-size: .75rem; }
.curator-status-grid, .curator-task-facts { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.curator-status-grid article, .curator-task-facts article { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .75rem; display: grid; gap: .25rem; padding: 1rem; }
.curator-status-grid span, .curator-task-facts span { color: var(--sp-muted); font-size: .78rem; }
.curator-sort { align-items: end; display: flex; gap: .75rem; justify-content: flex-end; margin-bottom: 1.25rem; }
.curator-sort label { color: var(--sp-muted); font-size: .85rem; }
.curator-sort select, .curator-action-form select, .curator-action-form textarea { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .5rem; color: var(--sp-text); padding: .65rem .75rem; }
.curator-task-group + .curator-task-group { border-top: 1px solid var(--sp-border); margin-top: 1.5rem; padding-top: 1.5rem; }
.curator-task-group > h3 { align-items: center; display: flex; font-size: 1.1rem; gap: .6rem; }
.curator-task-group > h3 span { background: var(--sp-page); border-radius: 999px; color: var(--sp-muted); font-size: .75rem; padding: .2rem .55rem; }
.curator-task__link { color: inherit; display: block; text-decoration: none; }
.curator-task__link:hover, .curator-task__link:focus-visible { color: inherit; }
.curator-task:has(.curator-task__link:hover), .curator-task:has(.curator-task__link:focus-visible) { border-color: var(--bs-primary); transform: translateY(-1px); }
.curator-inventory-filters { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .75rem; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); margin-bottom: 1rem; padding: 1rem; }
.curator-inventory-filters label { color: var(--sp-muted); display: grid; font-size: .75rem; font-weight: 700; gap: .3rem; }
.curator-inventory-filters input, .curator-inventory-filters select, .curator-disposition select { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: .4rem; color: var(--sp-text); min-height: 2.35rem; padding: .4rem .55rem; }
.curator-inventory-filters .curator-filter-checkbox { align-content: end; align-items: center; grid-template-columns: auto 1fr; }
.curator-inventory-filters .curator-filter-checkbox input { min-height: 1rem; width: 1rem; }
.curator-inventory-filters .curator-filter-checkbox span { color: var(--sp-ink); display: grid; gap: .1rem; }
.curator-inventory-filters .curator-filter-checkbox small { color: var(--sp-muted); font-weight: 500; }
.curator-inventory-filters select, .curator-disposition select { color-scheme: light; }
[data-bs-theme="dark"] .curator-inventory-filters select, [data-bs-theme="dark"] .curator-disposition select { color-scheme: dark; }
.curator-inventory-filters select option, .curator-disposition select option { background-color: var(--sp-surface); color: var(--sp-text); }
.curator-inventory-filters select option:disabled, .curator-disposition select option:disabled { color: var(--sp-muted); }
.curator-filter-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .6rem; grid-column: 1 / -1; }
.curator-filter-actions span { color: var(--sp-muted); margin-left: auto; }
.curator-calibration-summary { background: rgba(13, 202, 240, .08); border: 1px solid rgba(13, 202, 240, .35); border-radius: .75rem; display: flex; flex-wrap: wrap; gap: .5rem 1rem; justify-content: space-between; margin-bottom: 1rem; padding: .8rem 1rem; }
.curator-disposition { align-items: center; border-top: 1px solid var(--sp-border); display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .8rem; padding-top: .8rem; }
.curator-disposition label { color: var(--sp-muted); font-size: .75rem; font-weight: 700; }
.curator-task h4 { font-size: 1rem; margin: .6rem 0 .25rem; }
.curator-task-page { padding-block: 2rem 4rem; }
.curator-breadcrumb { margin-bottom: 1.25rem; }
.curator-breadcrumb a { color: var(--bs-primary); text-decoration: none; }
.curator-task-heading { align-items: start; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1.5rem; }
.curator-task-heading h1 { margin: .25rem 0; }
.curator-task-heading p { color: var(--sp-muted); max-width: 70ch; }
.curator-finding-summary { border-left: 3px solid var(--bs-info); margin-top: .85rem; max-width: 70ch; padding-left: .9rem; }
.curator-finding-summary > strong { display: block; font-size: .78rem; letter-spacing: .06em; margin-bottom: .2rem; text-transform: uppercase; }
.curator-finding-summary p { margin: 0; }
.curator-task-facts { margin-bottom: 1.5rem; }
.curator-definition-list { display: grid; gap: .75rem; }
.curator-definition-list div { border-bottom: 1px solid var(--sp-border); display: grid; gap: .5rem; grid-template-columns: minmax(120px, 1fr) 3fr; padding-bottom: .75rem; }
.curator-definition-list dt { color: var(--sp-muted); }
.curator-related-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, 1fr); }
.curator-related-grid article { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .65rem; display: grid; gap: .4rem; padding: .8rem; }
.curator-related-grid h3 { font-size: .95rem; }
.curator-related-tasks { display: grid; gap: .5rem; }
.curator-related-tasks a { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .65rem; color: inherit; display: grid; padding: .75rem; text-decoration: none; }
.curator-related-tasks span { color: var(--sp-muted); font-size: .8rem; }
.curator-timeline { border-left: 2px solid var(--sp-border); display: grid; gap: 1rem; list-style: none; margin: 1rem 0 0 .4rem; padding-left: 1.25rem; }
.curator-timeline li { display: grid; position: relative; }
.curator-timeline li::before { background: var(--bs-primary); border-radius: 50%; content: ''; height: .65rem; left: -1.62rem; position: absolute; top: .35rem; width: .65rem; }
.curator-timeline span, .curator-timeline p { color: var(--sp-muted); font-size: .82rem; }
.curator-action-form { display: grid; gap: .5rem; }
.curator-action-form label { font-size: .82rem; font-weight: 700; margin-top: .35rem; }
.curator-action-grid { display: grid; gap: .5rem; grid-template-columns: repeat(2, 1fr); margin-top: .5rem; }
.curator-assisted-batch { align-items: center; display: grid; gap: 1rem; grid-template-columns: 1fr auto; margin-bottom: 1.5rem; }
.curator-assisted-batch h2 { font-size: 1.35rem; margin: .25rem 0; }
.curator-assisted-batch p, .curator-assisted-batch small { color: var(--sp-muted); margin: 0; }
.curator-assisted-batch small { grid-column: 1 / -1; }
.curator-package-status { display: grid; gap: .75rem; grid-template-columns: repeat(4, 1fr); margin-bottom: 1rem; }
.curator-package-status article { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .65rem; display: grid; padding: .75rem; }
.curator-package-status span { color: var(--sp-muted); font-size: .75rem; }
.curator-evidence-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, 1fr); }
.curator-evidence-grid article { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .65rem; padding: .75rem; }
.curator-evidence-grid ul { color: var(--sp-muted); margin: .5rem 0 0; }
.curator-package-actions { align-items: end; display: flex; flex-wrap: wrap; gap: .75rem; }
.curator-confirm-draft { align-items: end; display: flex; flex: 1; gap: .75rem; justify-content: flex-end; }
.curator-confirm-draft label { color: var(--sp-muted); font-size: .82rem; max-width: 36rem; }
.curator-growth-distinction { align-items: center; background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .75rem; display: grid; gap: .35rem 1rem; grid-template-columns: auto 1fr auto; margin-top: 1rem; padding: 1rem; }
.curator-growth-distinction span { color: var(--sp-muted); }
.curator-growth-distinction a { color: var(--bs-info); font-weight: 700; white-space: nowrap; }
.curator-full-inventory { border-top: 1px solid var(--sp-border); padding-top: 1rem; }
.curator-full-inventory > summary { align-items: center; color: var(--bs-primary); cursor: pointer; display: flex; font-weight: 700; gap: 1rem; justify-content: space-between; }
.curator-full-inventory > summary small { color: var(--sp-muted); font-weight: 400; }
.curator-full-inventory > summary:focus-visible { border-radius: .35rem; outline: 3px solid rgba(13, 110, 253, .35); outline-offset: .3rem; }
.curator-action-scope { border: 1px solid var(--sp-border); border-radius: .75rem; padding: 1rem; }
.curator-action-scope__heading h2, .curator-action-scope__heading h3 { font-size: 1.1rem; margin: .2rem 0 .35rem; }
.curator-action-scope__heading p { color: var(--sp-muted); margin: 0 0 1rem; }
.curator-action-scope--navigation { align-self: flex-start; background: var(--sp-surface); display: grid; gap: .6rem; }
.curator-action-scope--navigation > span { color: var(--sp-muted); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.curator-action-scope--navigation > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.curator-action-scope--item { background: var(--sp-page); }
.curator-action-scope--session { border-color: rgba(13, 202, 240, .4); }
.curator-task-context-actions { align-items: flex-end; display: flex; flex-direction: column; gap: .4rem; }
.curator-review-state { border-color: rgba(13, 202, 240, .45); }
.curator-review-state__footer { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.curator-review-state__footer p { color: var(--sp-muted); margin: 0; max-width: 52rem; }
.curator-verification-result p { margin: .4rem 0; }
.curator-primary-decision { margin-top: 0; }
.curator-primary-decision > div { display: flex; }
.curator-primary-decision .quality-section { width: 100%; }
.curator-evidence-lifecycle { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.curator-evidence-lifecycle > article { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .75rem; min-width: 0; padding: 1rem; }
.curator-evidence-lifecycle > article > span { color: var(--bs-info); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.curator-evidence-lifecycle h3 { font-size: 1.05rem; margin: .35rem 0 .65rem; }
.curator-decision-column { align-self: start; position: sticky; top: 6.5rem; }
.curator-next-step { background: var(--sp-page); border-left: 3px solid var(--bs-info); margin: 1rem 0; padding: .85rem 1rem; }
.curator-next-step p { margin: .35rem 0 0; }
.curator-task-action-group { border-top: 1px solid var(--sp-border); margin-top: 1rem; padding-top: 1rem; }
.curator-task-action-group > span { color: var(--sp-muted); display: block; font-size: .75rem; font-weight: 800; letter-spacing: .06em; margin-bottom: .6rem; text-transform: uppercase; }
.curator-task-action-group--decision { border-top-color: rgba(25, 135, 84, .5); }
.curator-history-disclosure, .curator-technical-disclosure, .curator-related-disclosure { border-top: 1px solid var(--sp-border); margin-top: 1rem; padding-top: 1rem; }
.curator-history-disclosure > summary, .curator-technical-disclosure > summary, .curator-related-disclosure > summary { color: var(--bs-primary); cursor: pointer; font-weight: 700; }
.curator-history-disclosure > summary { display: flex; gap: 1rem; justify-content: space-between; }
.curator-history-disclosure > summary small, .curator-related-disclosure > summary small { color: var(--sp-muted); font-weight: 400; }
.curator-supporting-disclosure > summary { align-items: center; cursor: pointer; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; list-style: none; margin: -.2rem; min-width: 0; padding: .2rem; }
.curator-supporting-disclosure > summary::-webkit-details-marker { display: none; }
.curator-supporting-disclosure > summary::marker { content: ""; }
.curator-supporting-disclosure > summary > span:first-child { display: flex; flex-direction: column; min-width: 0; }
.curator-supporting-disclosure > summary h2 { color: var(--sp-text); font-size: 1.05rem; margin: 0; overflow-wrap: anywhere; }
.curator-supporting-disclosure > summary small { color: var(--sp-muted); font-weight: 400; margin-top: .2rem; overflow-wrap: anywhere; }
.curator-supporting-disclosure__action { align-items: center; border: 1px solid var(--sp-border); border-radius: 999px; color: var(--bs-primary); display: inline-flex; font-size: .8rem; font-weight: 700; gap: .45rem; padding: .45rem .7rem; white-space: nowrap; }
.curator-supporting-disclosure__action i { transition: transform .15s ease; }
.curator-supporting-disclosure[open] > summary { border-bottom: 1px solid var(--sp-border); margin-bottom: 1rem; padding-bottom: 1rem; }
.curator-supporting-disclosure[open] .curator-supporting-disclosure__action i { transform: rotate(180deg); }
.curator-supporting-disclosure > summary:hover .curator-supporting-disclosure__action { border-color: var(--sp-blue); }
.curator-related-disclosure > summary { align-items: center; background: color-mix(in srgb, var(--sp-surface) 88%, var(--sp-background)); border: 1px solid var(--sp-border); border-radius: .75rem; color: var(--sp-text); display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; justify-content: space-between; list-style: none; margin: -.35rem; min-width: 0; padding: .9rem 1rem; transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease; }
.curator-related-disclosure > summary::-webkit-details-marker { display: none; }
.curator-related-disclosure > summary::marker { content: ""; }
.curator-related-disclosure > summary:hover { background: color-mix(in srgb, var(--sp-surface) 78%, var(--sp-blue)); border-color: color-mix(in srgb, var(--sp-border) 45%, var(--sp-blue)); box-shadow: var(--sp-shadow); }
.curator-related-disclosure__heading { display: flex; flex-direction: column; min-width: 0; }
.curator-related-disclosure__heading strong { font-size: 1.05rem; overflow-wrap: anywhere; }
.curator-related-disclosure__heading small { margin-top: .2rem; overflow-wrap: anywhere; }
.curator-related-disclosure__toggle { align-items: center; border: 1px solid color-mix(in srgb, var(--sp-border) 55%, var(--sp-blue)); border-radius: 999px; color: var(--bs-primary); display: inline-flex; flex-direction: row; font-size: .8rem; gap: .45rem; padding: .45rem .7rem; white-space: nowrap; }
.curator-related-disclosure__toggle i { transition: transform .15s ease; }
.curator-related-disclosure__hide { display: none; }
.curator-related-disclosure[open] > summary { margin: -.35rem -.35rem 1rem; }
.curator-related-disclosure[open] .curator-related-disclosure__show { display: none; }
.curator-related-disclosure[open] .curator-related-disclosure__hide { display: inline; }
.curator-related-disclosure[open] .curator-related-disclosure__toggle i { transform: rotate(180deg); }
.curator-technical-disclosure code, .curator-related-disclosure code { overflow-wrap: anywhere; white-space: normal; }
.curator-secondary { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: .75rem; margin-top: 1.5rem; padding: 1rem; }
.curator-secondary__item { border-top: 1px solid var(--sp-border); padding: .85rem 0; }
.curator-secondary__item > summary { align-items: center; cursor: pointer; display: flex; gap: 1rem; justify-content: space-between; }
.curator-secondary__item > summary > span:first-child { display: flex; flex-direction: column; gap: .2rem; }
.curator-secondary__item > summary small { color: var(--sp-muted); }
.curator-secondary__item[open] > summary { margin-bottom: 1rem; }
.integrity-healthy { border-color: rgba(25, 135, 84, .5); display: grid; gap: 1rem 2rem; grid-template-columns: minmax(14rem, .8fr) minmax(18rem, 1.2fr); }
.integrity-healthy ul { display: grid; gap: .45rem; list-style: none; margin: 0; padding: 0; }
.integrity-healthy li { align-items: center; background: var(--sp-page); border-radius: .5rem; display: grid; gap: .65rem; grid-template-columns: auto 1fr auto; padding: .55rem .75rem; }
.integrity-healthy li i { color: var(--bs-success); }
.integrity-healthy li strong { color: var(--sp-muted); font-size: .8rem; }
.curator-secondary summary:focus-visible, .curator-history-disclosure > summary:focus-visible, .curator-supporting-disclosure > summary:focus-visible, .curator-technical-disclosure > summary:focus-visible, .curator-related-disclosure > summary:focus-visible { border-radius: .35rem; outline: 3px solid rgba(13, 110, 253, .35); outline-offset: .3rem; }
@media (max-width: 767px) { .curator-metrics { grid-template-columns: repeat(2, 1fr); } .curator-task-heading { display: grid; } .curator-related-grid, .curator-action-grid, .curator-assisted-batch, .curator-package-status, .curator-evidence-grid { grid-template-columns: 1fr; } .curator-confirm-draft { align-items: stretch; flex-direction: column; } .curator-supporting-disclosure > summary { align-items: stretch; grid-template-columns: minmax(0, 1fr); } .curator-supporting-disclosure__action { justify-self: start; } .curator-supporting-disclosure > summary > .badge { justify-self: start; white-space: normal; } }
.quality-page { padding-block: 4rem; }
.quality-heading { align-items: flex-start; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2rem; }
.quality-heading h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); margin: .35rem 0 .5rem; }
.quality-heading p { color: var(--sp-muted); margin: 0; }
.quality-section { background: var(--sp-surface); border: 1px solid var(--sp-border); border-radius: 1rem; margin-top: 1.5rem; padding: 1.4rem; }
.quality-section__heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.quality-section__heading h2 { font-size: 1.3rem; margin: .25rem 0 0; }
.quality-section__heading > span { color: var(--sp-muted); font-size: .8rem; }
.evidence-review .evidence-card { scroll-margin-top: 6rem; }
.evidence-review .evidence-card h3 { font-size: 1.05rem; margin: .75rem 0; }
.evidence-review .evidence-card blockquote { border-left: 3px solid var(--sp-border); color: var(--sp-muted); margin: 0; padding-left: 1rem; }
.evidence-review .evidence-location { color: var(--sp-muted); font-size: .85rem; }
.evidence-review .evidence-details { border-top: 1px solid var(--sp-border); margin-top: 1rem; padding-top: .75rem; }
.evidence-review .evidence-details summary { color: var(--sp-link); cursor: pointer; font-weight: 700; }
.evidence-review .evidence-assistance { background: color-mix(in srgb, var(--sp-panel) 82%, var(--sp-primary) 18%); border-left: 3px solid var(--sp-primary); border-radius: .55rem; margin-top: 1rem; padding: .8rem 1rem; }
.evidence-review .evidence-assistance p { color: var(--sp-muted); margin: .45rem 0; }
.evidence-review .assistance-badge { border: 1px solid var(--sp-primary); border-radius: 999px; color: var(--sp-link); font-size: .78rem; font-weight: 700; padding: .2rem .55rem; }
.evidence-review .evidence-assistance--review_attention { border-left-color: var(--sp-warning); }
.evidence-review .evidence-assistance--human_interpretation { border-left-color: var(--sp-muted); }
.evidence-review .evidence-candidate-purpose { border: 1px solid var(--sp-border); border-radius: .55rem; margin-top: .65rem; padding: .7rem 1rem; }
.evidence-review .evidence-candidate-purpose h4 { font-size: 1rem; margin: .2rem 0 .35rem; }
.evidence-review .evidence-candidate-purpose p { color: var(--sp-muted); font-size: .92rem; }
.quality-queue { display: grid; gap: .75rem; }
.quality-issue { align-items: center; background: var(--sp-page); border: 1px solid var(--sp-border); border-left-width: 4px; border-radius: .75rem; display: grid; gap: 1rem; grid-template-columns: 5rem 1fr auto; padding: 1rem; }
.quality-issue--high { border-left-color: var(--bs-danger); }
.quality-issue--medium { border-left-color: var(--bs-warning); }
.quality-issue--low { border-left-color: var(--bs-info); }
.quality-priority { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.quality-issue--high .quality-priority { color: var(--bs-danger); }
.quality-issue--medium .quality-priority { color: var(--bs-warning); }
.quality-issue--low .quality-priority { color: var(--bs-info); }
.quality-issue__body > span, .quality-issue__body small { color: var(--sp-muted); font-size: .75rem; }
.quality-issue__body h3 { font-size: 1rem; margin: .15rem 0 .25rem; }
.quality-issue__body p { color: var(--sp-muted); font-size: .85rem; margin: 0; }
.quality-empty { align-items: center; display: flex; gap: 1rem; padding: 2rem; }
.quality-empty i { color: var(--bs-success); font-size: 2rem; }
.quality-empty h3 { font-size: 1.1rem; margin: 0 0 .25rem; }
.quality-empty p { color: var(--sp-muted); margin: 0; }
.quality-table-wrap { overflow-x: auto; }
.quality-table { border-collapse: collapse; min-width: 780px; width: 100%; }
.quality-table th { color: var(--sp-muted); font-size: .72rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.quality-table th, .quality-table td { border-bottom: 1px solid var(--sp-border); padding: .8rem .7rem; }
.quality-table td { font-size: .85rem; }
.quality-table td:first-child span { color: var(--sp-muted); display: block; font-size: .75rem; margin-top: .15rem; }
.coverage-value { background: rgba(25, 135, 84, .12); border-radius: 999px; color: var(--bs-success); font-size: .75rem; font-weight: 700; padding: .25rem .5rem; }
.coverage-value--low { background: rgba(255, 193, 7, .13); color: var(--bs-warning); }
.quality-coverage-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
.quality-coverage-grid article { background: var(--sp-page); border: 1px solid var(--sp-border); border-radius: .75rem; padding: 1rem; }
.quality-coverage-grid h3 { font-size: 1rem; }
.quality-coverage-grid article > div { border-top: 1px solid var(--sp-border); display: flex; justify-content: space-between; padding: .65rem 0; }

.knowledge-command-list {
    display: grid;
    gap: .75rem;
    margin-bottom: 1rem;
}

.knowledge-command {
    padding: .9rem 1rem;
    overflow-wrap: anywhere;
    background: var(--sp-background);
    border: 1px solid var(--sp-border);
    border-radius: .65rem;
}

.knowledge-command code {
    color: var(--sp-blue);
    font-size: .9rem;
    font-weight: 700;
    white-space: pre-wrap;
}

.knowledge-command p {
    margin: .45rem 0 0;
    color: var(--sp-muted);
    font-size: .9rem;
}

@media (max-width: 767.98px) {
    .quality-page { padding-block: 2rem; }
    .quality-heading, .quality-section__heading { align-items: stretch; flex-direction: column; }
    .quality-heading .btn { width: 100%; }
    .quality-issue { align-items: start; grid-template-columns: 1fr; }
    .quality-issue__actions .btn { width: 100%; }
    .quality-coverage-grid { grid-template-columns: 1fr; }
    .curator-heading { align-items: stretch; flex-direction: column; }
    .curator-heading .btn { width: 100%; }
    .curator-metrics, .curator-health-grid { grid-template-columns: 1fr; }
    .curator-growth-distinction { align-items: start; grid-template-columns: 1fr; }
    .curator-full-inventory > summary { align-items: flex-start; flex-direction: column; gap: .25rem; }
    .curator-action-scope--navigation > div, .curator-action-scope--session > div:last-child { align-items: stretch; flex-direction: column; }
    .curator-action-scope--navigation form, .curator-action-scope--navigation .btn, .curator-action-scope--session form, .curator-action-scope--session .btn { width: 100%; }
    .curator-evidence-lifecycle, .integrity-healthy { grid-template-columns: 1fr; }
    .curator-decision-column { position: static; }
    .curator-review-state__footer, .curator-related-disclosure > summary, .curator-secondary__item > summary { align-items: stretch; flex-direction: column; }
    .curator-related-disclosure > summary { grid-template-columns: minmax(0, 1fr); }
    .curator-related-disclosure__toggle { justify-self: start; }
    .curator-review-state__footer .btn, .curator-task-context-actions, .curator-task-context-actions .btn { align-items: stretch; width: 100%; }
}
.command-library-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: start;
    gap: 1rem;
}

.library-filter-bar {
    position: sticky;
    top: 5rem;
    z-index: 10;
    padding: .85rem;
    border: 1px solid var(--sp-border);
    border-radius: .75rem;
    background: color-mix(in srgb, var(--sp-surface) 94%, transparent);
    box-shadow: 0 8px 20px rgba(11, 46, 89, .06);
    backdrop-filter: blur(12px);
}

.library-filter-bar__form {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(12rem, auto) auto auto;
    gap: .65rem;
}

.library-filter-bar__search { min-width: 0; }

.command-library-card__content {
    min-width: 0;
}

.command-library-card__action {
    justify-self: end;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .library-filter-bar { position: static; }
    .library-filter-bar__form { grid-template-columns: minmax(0, 1fr); }
    .library-filter-bar__form .btn { width: 100%; }
    .command-library-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .command-library-card__action {
        justify-self: start;
    }
}
.integrity-evidence { max-height: 24rem; overflow: auto; padding: 1rem; border: 1px solid var(--border-color, #334155); border-radius: .75rem; background: #0f1724; color: #cbd5e1; }
.integrity-record { height: 100%; padding: 1rem; border: 1px solid #334155; border-radius: .75rem; background: #111c2c; }
.integrity-record pre { max-height: 18rem; overflow: auto; white-space: pre-wrap; }
.curator-fix-session-card { background: var(--sp-surface); border-color: var(--sp-border); color: var(--sp-text); display: grid; gap: .65rem; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.curator-fix-session-card:hover { border-color: var(--sp-blue); color: var(--sp-text); transform: translateY(-1px); }
.curator-fix-session-card:focus-visible { border-color: var(--sp-blue); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--sp-blue) 28%, transparent); outline: 0; }
.curator-fix-session-card__heading { align-items: baseline; display: flex; flex-wrap: wrap; gap: .35rem 1rem; justify-content: space-between; }
.curator-fix-session-card__metrics, .curator-fix-session-card__outcomes { display: flex; flex-wrap: wrap; gap: .35rem 1rem; }
.curator-fix-session-card__metrics span, .curator-fix-session-card__outcomes span { overflow-wrap: anywhere; }
.curator-fix-session-card__metrics span + span::before, .curator-fix-session-card__outcomes span + span::before { color: var(--sp-muted); content: "\00b7"; margin-right: 1rem; }
.curator-fix-session-card__outcomes { color: var(--sp-muted); font-size: .9rem; }
.curator-metric-link {
    color: inherit;
    text-decoration: none;
}

.curator-metric-link:hover article,
.curator-metric-link:focus-visible article {
    border-color: var(--primary, #2583ff);
    transform: translateY(-1px);
}

.curator-local-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.25rem 0; padding: .65rem .8rem; border: 1px solid var(--border-color, #334155); border-radius: .8rem; background: var(--card-bg, #172233); }
.curator-local-nav__label { color: var(--text-muted, #9caec4); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.curator-local-nav__links { display: flex; flex-wrap: wrap; gap: .35rem; }
.curator-local-nav a { border-radius: .55rem; color: var(--text-muted, #b7c4d5); font-weight: 600; padding: .45rem .7rem; text-decoration: none; }
.curator-local-nav a:hover, .curator-local-nav a:focus-visible { color: var(--primary, #2583ff); outline: 2px solid currentColor; outline-offset: 1px; }
.curator-local-nav a.active { background: var(--primary, #2583ff); color: #fff; }
.curator-lifecycle ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; list-style: none; margin: 0 0 1rem; padding: 0; }
.curator-lifecycle li { display: flex; flex-direction: column; gap: .25rem; padding: .8rem; border: 1px solid var(--border-color, #334155); border-radius: .7rem; }
.curator-lifecycle li span { color: var(--text-muted, #aebdd0); font-size: .9rem; }
@media (max-width: 991.98px) { .curator-lifecycle ol { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767.98px) { .curator-local-nav { align-items: stretch; flex-direction: column; } .curator-local-nav__links { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .2rem; } .curator-local-nav a { white-space: nowrap; } .curator-lifecycle ol { grid-template-columns: 1fr; } }
