:root {
    color-scheme: light;
    --background: #f4f6f8;
    --surface: #ffffff;
    --surface-muted: #eef2f5;
    --border: #dce3e8;
    --text: #18212b;
    --text-muted: #667481;
    --primary: #0d766e;
    --primary-dark: #095c56;
    --primary-soft: #e7f4f2;
    --danger: #a53c3c;
    --success: #26744a;
    --shadow: 0 18px 50px rgba(20, 36, 50, 0.10);
    --app-surface-subtle: #f8fafb;
    --app-border-strong: #c8d2da;
    --app-focus-ring: #0d766e;
    --app-warning: #8a6108;
    --app-direction-long: #116b84;
    --app-direction-long-surface: #e5f4f8;
    --app-direction-short: #6a4c9c;
    --app-direction-short-surface: #f0ebfa;
    --app-radius-small: 0.65rem;
    --app-radius-medium: 0.9rem;
    --surface-soft: var(--app-surface-subtle);
}

/* Analítica · jerarquía orientada a decisiones */
.analytics-command-surface {
    display: grid;
    grid-template-columns: minmax(24rem, 1.35fr) minmax(12rem, 0.7fr) auto;
    align-items: end;
    gap: 1rem;
    margin-bottom: 0.7rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
    box-shadow: 0 0.45rem 1.6rem rgba(20, 36, 50, 0.055);
}

.analytics-primary-filters {
    display: grid;
    grid-template-columns: minmax(11rem, 0.8fr) minmax(13rem, 1.2fr);
    gap: 0.75rem;
}

.analytics-primary-filters .filter-field {
    display: grid;
    gap: 0.35rem;
}

.analytics-primary-filters .filter-field > label {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.analytics-primary-control.ui-selectonemenu {
    width: 100%;
    min-height: 2.55rem;
}

.analytics-scope-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 0.5rem;
    min-width: 0;
}

.analytics-scope-autocomplete.ui-autocomplete {
    display: flex;
    width: 100%;
    min-width: 0;
}

.analytics-scope-autocomplete.ui-autocomplete > .ui-autocomplete-input {
    width: 1%;
    min-width: 0;
    min-height: 2.55rem;
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
}

.analytics-scope-autocomplete.ui-autocomplete > .ui-autocomplete-dropdown {
    width: 2.7rem;
    flex: 0 0 2.7rem;
}

.analytics-explore-scopes-button.ui-button {
    min-width: 7.25rem;
    margin: 0;
}

.analytics-scope-suggestions .ui-autocomplete-table {
    width: 100%;
}

.analytics-scope-suggestions .ui-autocomplete-table td {
    padding: 0.65rem 0.75rem;
    vertical-align: middle;
}

.analytics-scope-suggestion-main,
.analytics-scope-suggestion-sample,
.analytics-scope-catalog-name,
.analytics-scope-catalog-sample {
    min-width: 0;
}

.analytics-scope-suggestion-main > span,
.analytics-scope-catalog-name > span {
    display: block;
    margin-bottom: 0.12rem;
    color: var(--text-muted);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.analytics-scope-suggestion-main > strong,
.analytics-scope-catalog-name > strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--text);
    font-size: 0.82rem;
}

.analytics-scope-suggestion-sample > span,
.analytics-scope-suggestion-sample > strong {
    display: block;
    color: var(--text-muted);
    font-size: 0.68rem;
    text-align: right;
}

.analytics-scope-empty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(40, 120, 155, 0.22);
    border-radius: var(--app-radius-medium);
    background: rgba(40, 120, 155, 0.045);
}

.analytics-scope-empty > div:first-child {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 0.65rem;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.analytics-scope-empty > div:first-child i {
    margin-top: 0.15rem;
    color: #28789b;
}

.analytics-scope-empty > div:first-child strong {
    display: block;
    color: var(--text);
}

.analytics-scope-empty-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 0.45rem;
}

.analytics-scope-catalog-dialog .ui-dialog-content {
    padding: 1rem 1.15rem 1.2rem;
}

.analytics-scope-catalog-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.analytics-scope-catalog-heading h2 {
    margin: 0;
    font-size: 1.2rem;
}

.analytics-scope-catalog-heading p {
    max-width: 46rem;
    margin: 0.35rem 0 0;
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.45;
}

.analytics-scope-catalog-filters {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) auto;
    align-items: end;
    gap: 0.85rem;
    margin-bottom: 0.9rem;
    padding: 0.85rem;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-small);
    background: var(--app-surface-subtle);
}

.analytics-scope-catalog-filters .filter-field {
    display: grid;
    min-width: 0;
    gap: 0.32rem;
}

.analytics-scope-catalog-filters .filter-field > label {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
}

.analytics-scope-catalog-filters .ui-inputfield {
    width: 100%;
}

.analytics-scope-catalog-table {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
}

.analytics-scope-catalog-name,
.analytics-scope-catalog-sample {
    display: grid;
    gap: 0.12rem;
}

.analytics-scope-catalog-sample > span {
    color: var(--text-muted);
    font-size: 0.7rem;
}

.analytics-scope-catalog-sample-column {
    width: 12rem;
}

.analytics-selection-result {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
    padding-left: 1rem;
    border-left: 1px solid var(--border);
}

.analytics-selection-result strong {
    font-size: 1rem;
}

.analytics-selection-result span,
.analytics-selection-result small {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.74rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.analytics-command-surface .analytics-toolbar-actions {
    justify-self: end;
}

.analytics-filter-chips {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
}

.analytics-filter-chips-label {
    margin-right: 0.15rem;
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.analytics-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.42rem 0.62rem;
    border: 1px solid var(--app-border-strong);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 750;
    text-decoration: none;
}

.analytics-filter-chip:hover {
    border-color: rgba(13, 118, 110, 0.42);
    color: var(--primary-dark);
    text-decoration: none;
}

.analytics-filter-chip i {
    font-size: 0.65rem;
}

.analytics-clear-filter-link {
    padding: 0.35rem 0.3rem;
    color: var(--primary-dark);
    font-size: 0.76rem;
    font-weight: 800;
}

.analytics-filter-sidebar {
    width: min(42rem, 100vw) !important;
}

.analytics-filter-sidebar-header > p {
    margin: 0.45rem 0 0;
    color: var(--text-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.analytics-mobile-section-navigation {
    display: none;
}

.analytics-local-sample-note {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0 0 0.75rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(111, 86, 165, 0.2);
    border-radius: var(--app-radius-small);
    background: rgba(111, 86, 165, 0.055);
    color: var(--text-muted);
    font-size: 0.76rem;
    line-height: 1.45;
}

.analytics-local-sample-note > i {
    margin-top: 0.12rem;
    color: #6f56a5;
}

.analytics-tab-focus-anchor:focus,
.analytics-tab-intro:focus,
.analytics-entry-summary:focus,
.analytics-management-hero:focus,
.analytics-entry-hypothesis-result:focus,
.analytics-selection-result:focus {
    outline: none;
}

.analytics-tab-focus-anchor:focus-visible,
.analytics-tab-intro:focus-visible,
.analytics-entry-summary:focus-visible,
.analytics-management-hero:focus-visible,
.analytics-entry-hypothesis-result:focus-visible,
.analytics-selection-result:focus-visible {
    outline: 0.18rem solid color-mix(in srgb, var(--app-focus-ring) 55%, transparent);
    outline-offset: 0.18rem;
}

.analytics-tab-scope {
    align-self: center;
    flex: 0 0 auto;
    max-width: min(100%, 34rem);
    padding: 0.42rem 0.7rem;
    border: 1px solid rgba(111, 86, 165, 0.22);
    border-radius: 999px;
    background: rgba(111, 86, 165, 0.065);
    color: #594587;
    font-size: 0.73rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: right;
}

.analytics-balance-surface {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.75fr);
    gap: 1rem;
    padding: clamp(1.2rem, 2.4vw, 1.75rem);
    border: 1px solid rgba(13, 118, 110, 0.26);
    border-radius: 1rem;
    background:
        radial-gradient(circle at 92% 8%, rgba(13, 118, 110, 0.1), transparent 36%),
        var(--surface);
    box-shadow: 0 0.75rem 2.1rem rgba(20, 36, 50, 0.065);
}

.analytics-balance-main {
    display: grid;
    align-content: start;
    gap: 0.5rem;
}

.analytics-balance-result {
    width: fit-content;
    font-size: clamp(2.2rem, 5vw, 3.75rem);
    font-weight: 850;
    letter-spacing: -0.06em;
    line-height: 1.02;
}

.analytics-balance-facts {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem 0;
    color: var(--text-muted);
    font-size: 0.85rem;
}

.analytics-balance-facts > span {
    display: inline-flex;
    align-items: baseline;
    gap: 0.24rem;
}

.analytics-balance-facts > span + span::before {
    margin: 0 0.65rem;
    color: var(--border-strong);
    content: "·";
}

.analytics-balance-facts b {
    color: var(--text);
}

.analytics-local-coverage {
    width: fit-content;
    color: var(--text-muted);
    font-size: 0.74rem;
}

.analytics-balance-reading {
    max-width: 48rem;
    margin: 0.5rem 0 0;
    padding-left: 0.75rem;
    border-left: 0.2rem solid var(--primary);
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 720;
    line-height: 1.5;
}

.analytics-trend-reading {
    display: grid;
    align-content: center;
    gap: 0.35rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--app-surface-subtle);
}

.analytics-trend-reading > span {
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.analytics-trend-reading > strong {
    font-size: 1.05rem;
}

.analytics-trend-reading > p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.77rem;
    line-height: 1.45;
}

.analytics-trend-reading.is-improving {
    border-color: rgba(38, 116, 74, 0.26);
    background: rgba(38, 116, 74, 0.055);
}

.analytics-trend-reading.is-improving > strong {
    color: var(--success);
}

.analytics-trend-reading.is-worsening {
    border-color: rgba(180, 61, 69, 0.25);
    background: rgba(180, 61, 69, 0.05);
}

.analytics-trend-reading.is-worsening > strong {
    color: var(--danger);
}

.analytics-summary-guidance {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.analytics-priority-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--border);
    border-left-width: 0.3rem;
    border-radius: var(--app-radius-medium);
    background: var(--surface);
}

.analytics-priority-card.is-process,
.analytics-priority-card.is-pattern {
    border-left-color: var(--app-warning);
}

.analytics-priority-card.is-data-gap {
    border-left-color: #6f56a5;
}

.analytics-priority-card.is-neutral {
    border-left-color: var(--success);
}

.analytics-priority-icon {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border-radius: 0.8rem;
    background: rgba(13, 118, 110, 0.09);
    color: var(--primary);
}

.analytics-priority-card h2,
.analytics-priority-card p,
.analytics-strength-reading h3,
.analytics-strength-reading p {
    margin: 0;
}

.analytics-priority-card h2 {
    margin-top: 0.18rem;
    font-size: clamp(1.05rem, 2vw, 1.3rem);
}

.analytics-priority-card p {
    margin-top: 0.28rem;
    color: var(--text-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.analytics-strength-reading {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(38, 116, 74, 0.2);
    border-radius: var(--app-radius-medium);
    background: rgba(38, 116, 74, 0.045);
}

.analytics-strength-reading > i {
    margin-top: 0.12rem;
    color: var(--success);
    font-size: 1.1rem;
}

.analytics-strength-reading > div {
    display: grid;
    gap: 0.3rem;
}

.analytics-strength-reading h3 {
    font-size: 0.98rem;
}

.analytics-strength-reading p {
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.45;
}

.analytics-summary-diagnostics {
    margin-top: 0.9rem;
}

.analytics-summary-diagnostics > .ui-panel-titlebar {
    padding: 0.9rem 1rem;
}

.analytics-diagnostics-loading {
    display: flex;
    min-height: 5rem;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    color: var(--text-muted);
}

.analytics-diagnostic-section {
    padding: 1rem 0;
}

.analytics-diagnostic-section + .analytics-diagnostic-section {
    border-top: 1px solid var(--border);
}

.analytics-diagnostic-section > .analytics-section-heading {
    margin-bottom: 0.8rem;
}

.analytics-series-picker {
    display: grid;
    min-width: min(100%, 18rem);
    gap: 0.3rem;
}

.analytics-series-picker > label {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
}

.analytics-series-picker .ui-selectonebutton {
    display: flex;
}

.analytics-series-picker .ui-selectonebutton .ui-button {
    flex: 1 1 auto;
    padding: 0.45rem 0.65rem;
    font-size: 0.72rem;
}

.analytics-equity-data-panel {
    margin-top: 0.7rem;
}

.analytics-equity-data-panel > .ui-panel-titlebar {
    padding: 0.7rem 0.85rem;
}

.analytics-equity-data-table table {
    min-width: 35rem;
}

.analytics-equity-data-note {
    margin: 0.65rem 0 0;
    color: var(--text-muted);
    font-size: 0.74rem;
    line-height: 1.45;
}

.analytics-confirm-dialog {
    width: min(30rem, calc(100vw - 2rem)) !important;
    max-width: calc(100vw - 2rem);
}

.analytics-confirm-dialog .ui-dialog-content {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.8rem;
}

.analytics-confirm-dialog .ui-confirm-dialog-message {
    min-width: 0;
    overflow-wrap: anywhere;
}

.analytics-confirm-dialog .ui-dialog-buttonpane {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.analytics-confirm-dialog .ui-dialog-buttonpane .ui-button {
    margin: 0;
}

.analytics-diagnostic-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
}

.analytics-diagnostic-metrics > div {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem;
}

.analytics-diagnostic-metrics > div + div {
    border-left: 1px solid var(--border);
}

.analytics-diagnostic-metrics dt {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.analytics-diagnostic-metrics dd {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 850;
}

.analytics-quality-list {
    display: grid;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
}

.analytics-quality-list > article {
    display: grid;
    grid-template-columns: minmax(11rem, 0.35fr) minmax(0, 1fr);
    gap: 0.5rem 1rem;
    padding: 0.85rem 1rem;
}

.analytics-quality-list > article + article {
    border-top: 1px solid var(--border);
}

.analytics-quality-list p,
.analytics-quality-list small {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.45;
}

.analytics-quality-list small {
    grid-column: 2;
}

.analytics-drilldown-count {
    margin: 0 0 0.75rem;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.analytics-drilldown-table {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
}

.analytics-drilldown-table table {
    min-width: 58rem;
}

.analytics-drilldown-cell {
    display: grid;
    min-width: 0;
    justify-items: start;
    gap: 0.25rem;
}

.analytics-drilldown-table .operation-action-column .analytics-drilldown-cell {
    justify-items: end;
}

@media (max-width: 1000px) {
    .analytics-command-surface {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-tab-intro.analytics-context-intro,
    .analytics-section-heading.analytics-context-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-tab-scope {
        align-self: flex-start;
        text-align: left;
    }

    .analytics-section-heading.analytics-context-toolbar .analytics-context-picker {
        width: 100%;
    }

    .analytics-selection-result {
        grid-column: 1 / -1;
        grid-row: 2;
        padding: 0.7rem 0 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .analytics-balance-surface {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-diagnostic-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .analytics-series-picker {
        width: 100%;
    }

    .analytics-diagnostic-metrics > div:nth-child(3) {
        border-left: 0;
    }

    .analytics-diagnostic-metrics > div:nth-child(n + 3) {
        border-top: 1px solid var(--border);
    }
}

@media (max-width: 900px) {
    .analytics-mobile-section-navigation {
        display: grid;
        gap: 0.35rem;
        margin: 0.2rem 0 0.45rem;
    }

    .analytics-mobile-section-navigation > label {
        color: var(--text-muted);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.055em;
        text-transform: uppercase;
    }

    .analytics-mobile-section-select.ui-selectonemenu {
        width: 100%;
        min-height: 2.75rem;
    }

    .analytics-tabs > .ui-tabs-nav,
    .analytics-tabs > .ui-tabs-navscroller {
        display: none !important;
    }

    .analytics-tabs .ui-tabs-panels {
        padding-top: 0.5rem;
    }
}

@media (max-width: 720px) {
    .analytics-heading {
        margin-bottom: 0.85rem;
    }

    .analytics-command-surface,
    .analytics-primary-filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-scope-control,
    .analytics-scope-catalog-filters,
    .analytics-confluence-family-result,
    .analytics-confluence-signature-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-explore-scopes-button.ui-button,
    .analytics-scope-catalog-heading .ui-button,
    .analytics-confluence-signature-row > .ui-button,
    .analytics-confluence-family-actions .ui-button {
        width: 100%;
    }

    .analytics-scope-empty,
    .analytics-scope-catalog-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-scope-empty-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .analytics-scope-empty-actions .ui-button {
        width: 100%;
    }

    .analytics-scope-type-filter.ui-selectonebutton {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    .analytics-scope-type-filter.ui-selectonebutton .ui-button {
        min-width: 0;
    }

    .analytics-scope-catalog-sample-column {
        width: auto;
    }

    .analytics-scope-catalog-table.ui-datatable-reflow
    .ui-datatable-data > tr:not(.ui-datatable-empty-message) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 0.65rem 0.85rem;
        padding: 0.85rem;
        border-bottom: 1px solid var(--border);
    }

    .analytics-scope-catalog-table.ui-datatable-reflow
    .ui-datatable-data > tr:last-child {
        border-bottom: 0;
    }

    .analytics-scope-catalog-table.ui-datatable-reflow
    .ui-datatable-data > tr > td[role="gridcell"] {
        display: block !important;
        min-width: 0;
        padding: 0;
        border: 0;
    }

    .analytics-scope-catalog-table.ui-datatable-reflow
    .ui-datatable-data > tr > td:first-child {
        grid-column: 1 / -1;
    }

    .analytics-scope-catalog-table.ui-datatable-reflow
    .ui-datatable-data > tr > td .ui-column-title {
        display: none !important;
    }

    .analytics-scope-catalog-table.ui-datatable-reflow
    .operation-action-column .ui-button {
        white-space: nowrap;
    }

    .analytics-confluence-family-result > div {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .analytics-confluence-family-result > div:first-child {
        border-top: 0;
    }

    .analytics-confluence-signature-result {
        justify-items: start;
        text-align: left;
    }

    .analytics-command-surface .analytics-toolbar-actions,
    .analytics-command-surface .analytics-toolbar-actions .ui-button {
        width: 100%;
        justify-self: stretch;
    }

    .analytics-selection-result {
        grid-row: auto;
    }

    .analytics-series-picker .ui-selectonebutton {
        width: 100%;
    }

    .analytics-filter-chips {
        flex-wrap: nowrap;
        padding-bottom: 0.2rem;
        overflow-x: auto;
    }

    .analytics-filter-chips-label,
    .analytics-filter-chip,
    .analytics-clear-filter-link {
        flex: 0 0 auto;
    }

    .analytics-balance-surface {
        padding: 1rem;
    }

    .analytics-balance-result {
        font-size: clamp(2rem, 12vw, 2.8rem);
    }

    .analytics-balance-facts {
        display: grid;
        gap: 0.25rem;
    }

    .analytics-balance-facts > span + span::before {
        display: none;
    }

    .analytics-priority-card {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
    }

    .analytics-priority-card > .ui-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .analytics-diagnostic-metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-diagnostic-metrics > div + div,
    .analytics-diagnostic-metrics > div:nth-child(3),
    .analytics-diagnostic-metrics > div:nth-child(n + 3) {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .analytics-quality-list > article {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-quality-list small {
        grid-column: 1;
    }
}

@media (max-width: 640px) {
    .analytics-equity-data-table table {
        width: 100%;
        min-width: 0;
    }

    .analytics-equity-data-table.ui-datatable-reflow
    .ui-datatable-data td[role="gridcell"]:not(.ui-helper-hidden) {
        display: grid !important;
        min-width: 0;
        grid-template-columns: minmax(6.25rem, 0.85fr) minmax(0, 1fr);
        align-items: start;
        gap: 0.65rem;
        padding: 0.65rem 0.75rem;
        border-bottom: 1px solid var(--border);
    }

    .analytics-equity-data-table.ui-datatable-reflow
    .ui-datatable-data td[role="gridcell"] .ui-column-title {
        min-width: 0;
        max-width: none;
        margin: 0;
        padding: 0;
        color: var(--text-muted);
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .analytics-confirm-dialog .ui-dialog-buttonpane .ui-button {
        width: 100%;
        justify-content: center;
    }

    .analytics-drilldown-table table {
        width: 100%;
        min-width: 0;
    }

    .analytics-drilldown-table.ui-datatable-reflow
    .ui-datatable-data td[role="gridcell"]:not(.ui-helper-hidden) {
        display: grid !important;
        min-width: 0;
        grid-template-columns: minmax(6.5rem, 0.42fr) minmax(0, 1fr);
        align-items: start;
        gap: 0.65rem;
        padding: 0.7rem 0.8rem;
        border-bottom: 1px solid var(--border);
    }

    .analytics-drilldown-table.ui-datatable-reflow
    .ui-datatable-data td[role="gridcell"] .ui-column-title {
        min-width: 0;
        max-width: none;
        margin: 0;
        padding: 0;
        color: var(--text-muted);
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .analytics-drilldown-table .analytics-drilldown-cell {
        overflow-wrap: anywhere;
    }

    .analytics-drilldown-table .operation-action-column,
    .analytics-drilldown-table .operation-action-column .analytics-drilldown-cell {
        width: auto;
        justify-items: start;
        text-align: left;
    }
}

@media (max-width: 340px) {
    .analytics-equity-data-table.ui-datatable-reflow
    .ui-datatable-data td[role="gridcell"]:not(.ui-helper-hidden) {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.2rem;
    }
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
    background: var(--background);
    color: var(--text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

.access-page {
    background:
        linear-gradient(rgba(15, 118, 110, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 118, 110, 0.035) 1px, transparent 1px),
        radial-gradient(circle at 12% 4%, rgba(13, 118, 110, 0.18), transparent 34rem),
        var(--background);
    background-size: 3rem 3rem, 3rem 3rem, auto, auto;
}

.access-shell {
    display: grid;
    min-height: 100vh;
    place-items: center;
    align-content: center;
    gap: 1rem;
    padding: 2rem 1.5rem;
}

.access-card {
    width: min(100%, 29rem);
    padding: 2.35rem;
    border: 1px solid color-mix(in srgb, var(--primary) 14%, var(--border));
    border-radius: 1.25rem;
    background: color-mix(in srgb, var(--surface) 97%, transparent);
    box-shadow: 0 1.25rem 3.5rem rgba(24, 39, 51, 0.12);
}

.access-card-wide {
    width: min(100%, 48rem);
}

.access-card h1,
.page-heading h1 {
    margin: 0.35rem 0;
}

.brand-mark {
    display: grid;
    min-width: 3.25rem;
    height: 3.25rem;
    padding-inline: 0.55rem;
    place-items: center;
    border-radius: 0.9rem;
    background: var(--primary);
    color: white;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.brand-mark-small {
    min-width: 2.5rem;
    height: 2.5rem;
    padding-inline: 0.4rem;
    border-radius: 0.7rem;
    font-size: 0.74rem;
}

.access-brand {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding-bottom: 1.35rem;
    border-bottom: 1px solid var(--border);
}

.access-brand-mark {
    min-width: 3.55rem;
    letter-spacing: 0.03em;
}

.access-brand-copy {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
}

.access-brand-copy strong {
    color: var(--text);
    font-size: 1rem;
    line-height: 1.2;
}

.access-brand-copy small {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.76rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.access-heading {
    margin-top: 1.7rem;
}

.access-heading .eyebrow,
.access-unavailable .eyebrow {
    margin-top: 0;
}

.access-heading h1,
.access-unavailable h1 {
    color: var(--text);
    font-size: clamp(1.75rem, 5vw, 2.2rem);
    line-height: 1.12;
}

.access-heading > p:last-child,
.access-unavailable > p {
    margin: 0.5rem 0 0;
    color: var(--text-muted);
    line-height: 1.55;
}

.eyebrow {
    margin: 1.5rem 0 0;
    color: var(--primary);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.muted {
    margin-top: 0.25rem;
    color: var(--text-muted);
}

.access-form {
    display: grid;
    gap: 1rem;
    margin-top: 1.75rem;
}

.access-field {
    display: grid;
    min-width: 0;
    gap: 0.42rem;
}

.access-field label {
    font-size: 0.875rem;
    font-weight: 700;
}

.access-field > input,
.access-field .ui-inputfield,
.access-field .ui-password,
.access-field .ui-selectonemenu {
    width: 100%;
}

.access-field .ui-selectonemenu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.access-field .ui-selectonemenu-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.access-field > input,
.access-field .ui-inputfield {
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.65rem;
    background: white;
    color: var(--text);
}

.access-field > input:focus,
.access-field .ui-inputfield:focus {
    border-color: var(--primary);
    outline: 3px solid rgba(13, 118, 110, 0.14);
}

.access-field small {
    color: var(--text-muted);
    font-size: 0.76rem;
    line-height: 1.45;
}

.access-submit,
.access-form > .ui-button.access-submit {
    width: 100%;
    margin-top: 0.35rem;
}

.access-help {
    margin: 1rem 0 0;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.5;
}

.access-feedback {
    margin-top: 1rem;
    padding: 0.8rem 0.9rem;
    border-radius: 0.65rem;
    font-size: 0.875rem;
    line-height: 1.45;
}

.access-feedback-error {
    background: #faeaea;
    color: var(--danger);
}

.access-feedback-success {
    background: #e6f4ec;
    color: var(--success);
}

.access-feedback-warning {
    background: #fff3d6;
    color: #865c00;
}

.access-messages.ui-messages {
    margin: 1rem 0 0;
}

.access-domain {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
}

.access-form-section {
    display: grid;
    gap: 1rem;
    padding-top: 1.35rem;
    border-top: 1px solid var(--border);
}

.access-form-section:first-of-type {
    padding-top: 0;
    border-top: 0;
}

.access-section-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
}

.access-section-heading > span {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    border-radius: 50%;
    background: var(--primary-soft);
    color: var(--primary-dark);
    font-size: 0.75rem;
    font-weight: 800;
}

.access-section-heading h2 {
    margin: 0;
    font-size: 1.05rem;
}

.access-section-heading p {
    margin: 0.2rem 0 0;
    color: var(--text-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.access-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.access-field-wide {
    grid-column: 1 / -1;
}

.access-password-rules {
    display: grid;
    gap: 0.2rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border));
    border-radius: 0.7rem;
    background: var(--primary-soft);
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.access-password-rules strong {
    color: var(--text);
}

.access-form-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 0.35rem;
}

.access-form-actions .ui-button {
    min-width: 13rem;
}

.access-unavailable {
    display: grid;
    justify-items: start;
    margin-top: 1.75rem;
}

.access-unavailable > .pi {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    margin-bottom: 0.65rem;
    border-radius: 0.8rem;
    background: var(--surface-soft);
    color: var(--primary);
    font-size: 1.15rem;
}

.access-unavailable .primary-button {
    margin-top: 1.2rem;
}

.primary-button,
.text-button {
    border: 0;
    border-radius: 0.65rem;
    cursor: pointer;
}

.primary-button {
    margin-top: 0.75rem;
    padding: 0.85rem 1rem;
    background: var(--primary);
    color: white;
    font-weight: 800;
}

.primary-button:hover {
    background: var(--primary-dark);
}

.ui-button.app-primary-button {
    border-color: var(--primary);
    background: var(--primary);
    color: white;
    font-weight: 800;
}

.ui-button.app-primary-button:not(.ui-state-disabled):hover,
.ui-button.app-primary-button.ui-state-hover {
    border-color: var(--primary-dark);
    background: var(--primary-dark);
    color: white;
}

.alert {
    margin-top: 1rem;
    padding: 0.8rem 0.9rem;
    border-radius: 0.65rem;
    font-size: 0.875rem;
}

.alert-error {
    background: #faeaea;
    color: var(--danger);
}

.alert-success {
    background: #e6f4ec;
    color: var(--success);
}

.alert-warning {
    background: #fff3d6;
    color: #865c00;
}

@media (max-width: 600px) {
    .access-shell {
        align-content: start;
        padding: 0.75rem;
    }

    .access-card {
        padding: 1.35rem;
        border-radius: 1rem;
    }

    .access-brand {
        padding-bottom: 1rem;
    }

    .access-brand-copy small {
        white-space: normal;
    }

    .access-heading {
        margin-top: 1.3rem;
    }

    .access-profile-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .access-field-wide {
        grid-column: auto;
    }

    .access-form-actions,
    .access-form-actions .ui-button {
        width: 100%;
    }

    .access-domain {
        padding-bottom: 0.35rem;
    }
}

.app-header {
    position: sticky;
    z-index: 10;
    top: 0;
    display: flex;
    min-height: 4.5rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
}

.brand-link {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.brand-link small {
    display: block;
    margin-top: 0.1rem;
    color: var(--text-muted);
}

.logout-form {
    margin: 0;
}

.header-actions,
.header-alert-link {
    display: flex;
    align-items: center;
}

.header-actions {
    gap: 0.45rem;
}

.session-user {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 0.65rem;
    color: var(--text-muted);
    font-size: 0.86rem;
    font-weight: 750;
}

.alert-navigation-form {
    margin: 0;
}

.header-alert-link {
    position: relative;
    gap: 0.45rem;
    padding: 0.7rem 0.85rem;
    border-radius: 0.65rem;
    color: var(--text-muted);
    font-size: 0.9rem;
    font-weight: 700;
}

.header-alert-link:hover {
    background: var(--surface-muted);
    color: var(--text);
}

.header-alert-count {
    display: grid;
    min-width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: var(--danger);
    color: white;
    font-size: 0.7rem;
    font-weight: 850;
}

.text-button {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 0.85rem;
    background: transparent;
    color: var(--text-muted);
}

.text-button:hover {
    background: var(--surface-muted);
    color: var(--text);
}

.app-shell {
    display: grid;
    grid-template-columns: 14rem minmax(0, 1fr);
    min-height: calc(100vh - 4.5rem);
}

.app-navigation {
    padding: 1.25rem 1rem;
    border-right: 1px solid var(--border);
    background: var(--surface);
}

.navigation-link {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.75rem 0.9rem;
    border-radius: 0.65rem;
    color: var(--text-muted);
}

.app-navigation {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.navigation-section {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.navigation-section + .navigation-section {
    padding-top: 0.85rem;
    border-top: 1px solid var(--border);
}

.navigation-section-label {
    display: block;
    padding: 0.1rem 0.9rem 0.35rem;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.4;
}

.navigation-link.active,
.navigation-link:hover {
    background: rgba(13, 118, 110, 0.10);
    color: var(--primary-dark);
    font-weight: 700;
}

.app-content {
    width: min(100%, 90rem);
    padding: 2rem;
}

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

.page-heading-actions {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.page-heading-actions .muted {
    max-width: 52rem;
}

.action-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
}

.synchronization-actions {
    margin-bottom: 1rem;
}

.status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.status-card {
    display: grid;
    gap: 0.45rem;
    min-height: 8.5rem;
    align-content: start;
    padding: 1.15rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
}

.status-card strong {
    color: var(--primary-dark);
    overflow-wrap: anywhere;
}

.status-card small,
.table-note {
    color: var(--text-muted);
}

.status-label {
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.status-pill {
    display: inline-flex;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    background: var(--surface-muted);
    color: var(--primary-dark);
    font-size: 0.75rem;
    font-weight: 800;
}

.status-pill-success {
    background: #e6f4ec;
    color: var(--success);
}

.status-pill-warning {
    background: #fff3d6;
    color: #865c00;
}

.sync-card {
    margin-top: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    box-shadow: none !important;
}

.credential-card {
    margin-top: 0;
    margin-bottom: 1.25rem;
}

.credential-card-required {
    border-color: rgba(13, 118, 110, 0.45);
    box-shadow: 0 12px 32px rgba(13, 118, 110, 0.08) !important;
}

.credential-security-note,
.onboarding-banner,
.onboarding-link {
    display: flex;
    align-items: center;
}

.credential-security-note {
    gap: 0.65rem;
    margin-bottom: 1rem;
    padding: 0.8rem 0.9rem;
    border-radius: 0.7rem;
    background: var(--surface-muted);
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.credential-security-note i {
    color: var(--primary);
}

.credential-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.credential-form-grid .ui-password,
.credential-form-grid .ui-password-input {
    width: 100%;
}

/* Sincronización · una lectura operativa y detalles bajo demanda */
.sync-page-heading {
    margin-bottom: 1.1rem;
}

.sync-page-content {
    display: grid;
    gap: 0.85rem;
}

.sync-health-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: clamp(1rem, 2.2vw, 1.35rem);
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
    box-shadow: 0 0.5rem 1.7rem rgba(20, 36, 50, 0.055);
}

.sync-health-success {
    border-color: rgba(38, 116, 74, 0.3);
    background: linear-gradient(105deg, rgba(38, 116, 74, 0.055), var(--surface) 38%);
}

.sync-health-progress {
    border-color: rgba(13, 118, 110, 0.32);
    background: linear-gradient(105deg, rgba(13, 118, 110, 0.06), var(--surface) 40%);
}

.sync-health-attention {
    border-color: rgba(138, 97, 8, 0.32);
    background: linear-gradient(105deg, rgba(138, 97, 8, 0.06), var(--surface) 40%);
}

.sync-health-neutral {
    background: linear-gradient(105deg, var(--surface-muted), var(--surface) 40%);
}

.sync-health-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 0.85rem;
    background: var(--surface-muted);
    color: var(--primary-dark);
    font-size: 1.15rem;
}

.sync-health-success .sync-health-icon {
    background: #e6f4ec;
    color: var(--success);
}

.sync-health-progress .sync-health-icon {
    background: rgba(13, 118, 110, 0.11);
    color: var(--primary);
}

.sync-health-progress .sync-health-icon i {
    animation: sync-icon-spin 1.45s linear infinite;
}

.sync-health-attention .sync-health-icon {
    background: #fff3d6;
    color: var(--app-warning);
}

.sync-health-copy {
    min-width: 0;
}

.sync-health-label,
.sync-detail-kicker {
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sync-health-copy h2 {
    margin: 0.22rem 0 0;
    color: var(--text);
    font-size: clamp(1.2rem, 2vw, 1.52rem);
    letter-spacing: -0.025em;
}

.sync-health-copy p {
    max-width: 55rem;
    margin: 0.38rem 0 0;
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.48;
}

.sync-health-action {
    justify-self: end;
}

.sync-progress {
    position: relative;
    height: 0.22rem;
    margin-top: 0.75rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(13, 118, 110, 0.13);
}

.sync-progress > span {
    position: absolute;
    inset-block: 0;
    width: 35%;
    border-radius: inherit;
    background: var(--primary);
    animation: sync-progress-slide 1.35s ease-in-out infinite;
}

.sync-connection-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: var(--surface);
}

.sync-connection-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.7rem;
}

.sync-provider-mark {
    display: grid;
    width: 2.15rem;
    height: 2.15rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.65rem;
    background: #1d2833;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 900;
}

.sync-connection-identity > div {
    display: grid;
    min-width: 0;
    gap: 0.08rem;
}

.sync-connection-identity strong,
.sync-connection-identity span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sync-connection-identity span {
    color: var(--text-muted);
    font-size: 0.76rem;
}

.status-pill-info {
    background: rgba(13, 118, 110, 0.1);
    color: var(--primary-dark);
}

.sync-details-disclosure {
    min-width: 0;
}

.sync-details-disclosure > .ui-button {
    margin-left: -0.6rem;
}

.sync-details-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 0.35rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
}

.sync-detail-section {
    min-width: 0;
}

.sync-detail-section + .sync-detail-section {
    padding-left: 1rem;
    border-left: 1px solid var(--border);
}

.sync-detail-heading {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.sync-detail-heading h2 {
    margin: 0.22rem 0 0;
    font-size: 1rem;
}

.sync-detail-heading > p {
    max-width: 13rem;
    margin: 0;
    color: var(--text-muted);
    font-size: 0.7rem;
    line-height: 1.4;
    text-align: right;
}

.sync-area-list,
.sync-activity-list {
    display: grid;
    gap: 0;
}

.sync-affected-period {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0.7rem;
    background: #fff8e7;
    color: var(--app-warning);
    font-size: 0.74rem;
    line-height: 1.4;
}

.sync-affected-period i {
    margin-top: 0.1rem;
}

.sync-area-row,
.sync-activity-row {
    display: grid;
    min-width: 0;
    align-items: center;
    gap: 0.65rem;
    padding: 0.68rem 0;
    border-top: 1px solid var(--border);
}

.sync-area-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.sync-activity-row {
    grid-template-columns: minmax(0, 1fr) auto;
}

.sync-area-row:first-child,
.sync-activity-row:first-child {
    border-top: 0;
}

.sync-area-dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: var(--app-border-strong);
}

.sync-area-success .sync-area-dot {
    background: var(--success);
}

.sync-area-progress .sync-area-dot {
    background: var(--primary);
    box-shadow: 0 0 0 0.25rem rgba(13, 118, 110, 0.09);
}

.sync-area-attention .sync-area-dot {
    background: var(--app-warning);
}

.sync-area-copy,
.sync-activity-copy {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}

.sync-area-copy strong,
.sync-activity-copy strong {
    overflow-wrap: anywhere;
    font-size: 0.84rem;
}

.sync-area-copy span,
.sync-activity-copy span,
.sync-empty-activity {
    color: var(--text-muted);
    font-size: 0.72rem;
    line-height: 1.4;
}

.sync-area-state {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
    text-align: right;
}

.sync-area-success .sync-area-state {
    color: var(--success);
}

.sync-area-progress .sync-area-state {
    color: var(--primary-dark);
}

.sync-area-attention .sync-area-state {
    color: var(--app-warning);
}

.sync-empty-activity {
    padding: 0.75rem 0;
    border-top: 1px solid var(--border);
}

.credential-dialog {
    width: min(calc(100vw - 2rem), 720px) !important;
    max-width: calc(100vw - 2rem);
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}

.credential-dialog[aria-hidden="false"] {
    display: flex !important;
    flex-direction: column;
}

.credential-dialog .ui-dialog-titlebar,
.credential-dialog .ui-dialog-footer {
    flex: 0 0 auto;
}

.credential-dialog .ui-dialog-content {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    max-height: none;
    padding: 1rem 1.15rem;
    overflow-x: hidden;
    overflow-y: auto;
}

.credential-dialog-body {
    display: grid;
    min-width: 0;
    gap: 1rem;
}

.credential-dialog-intro {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.8rem;
}

.credential-dialog-icon {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    border-radius: 0.75rem;
    background: rgba(13, 118, 110, 0.1);
    color: var(--primary);
}

.credential-dialog-intro h2 {
    margin: 0;
    font-size: 1.05rem;
}

.credential-dialog-intro p {
    margin: 0.3rem 0 0;
    color: var(--text-muted);
    font-size: 0.82rem;
    line-height: 1.48;
}

.credential-dialog .credential-security-note {
    margin: 0;
}

.credential-setup-guide {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(13, 118, 110, 0.2);
    border-radius: 0.85rem;
    background: linear-gradient(135deg, rgba(13, 118, 110, 0.055), rgba(255, 255, 255, 0.96));
}

.credential-guide-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.credential-guide-kicker {
    color: var(--primary-dark);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.credential-guide-heading h3 {
    margin: 0.15rem 0 0;
    color: var(--text);
    font-size: 1rem;
}

.credential-bitunix-link {
    flex: 0 0 auto;
    min-height: 2.5rem;
    gap: 0.45rem;
    white-space: nowrap;
}

.credential-guide-steps {
    display: grid;
    gap: 0.72rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.credential-guide-steps li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.72rem;
}

.credential-guide-number {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    border-radius: 50%;
    background: rgba(13, 118, 110, 0.12);
    color: var(--primary-dark);
    font-size: 0.75rem;
    font-weight: 850;
}

.credential-guide-steps li > div {
    display: grid;
    gap: 0.14rem;
}

.credential-guide-steps strong {
    color: var(--text);
    font-size: 0.84rem;
}

.credential-guide-steps li > div > span {
    color: var(--text-muted);
    font-size: 0.76rem;
    line-height: 1.48;
}

.credential-guide-steps em {
    color: var(--text);
    font-style: normal;
    font-weight: 700;
}

.credential-egress-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem 0.8rem;
    padding: 0.8rem;
    border: 1px solid rgba(13, 118, 110, 0.26);
    border-radius: 0.75rem;
    background: var(--surface);
}

.credential-egress-copy {
    display: grid;
    min-width: 0;
    gap: 0.3rem;
}

.credential-egress-copy > span {
    color: var(--text);
    font-size: 0.75rem;
    font-weight: 800;
}

.credential-egress-value {
    width: 100%;
    min-width: 0;
    padding: 0.62rem 0.7rem;
    border: 1px solid var(--app-border-strong);
    border-radius: 0.55rem;
    background: var(--surface-muted);
    color: var(--text);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 0.82rem;
    font-weight: 700;
}

.credential-egress-copy small {
    color: var(--text-muted);
    font-size: 0.68rem;
    line-height: 1.4;
}

.credential-copy-feedback {
    min-height: 0.9rem;
    grid-column: 1 / -1;
    color: var(--primary-dark);
    font-size: 0.7rem;
    font-weight: 700;
}

.credential-copy-feedback:empty {
    display: none;
}

.credential-secret-reminder {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0;
    color: var(--text-muted);
    font-size: 0.74rem;
    line-height: 1.45;
}

.credential-secret-reminder i {
    margin-top: 0.12rem;
    color: var(--primary);
}

.credential-secret-reminder > span {
    min-width: 0;
}

.credential-secret-reminder strong {
    color: var(--text);
}

.credential-checks {
    display: grid;
    gap: 0.65rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
}

.credential-checks .filter-field {
    min-width: 0;
}

.credential-checks .ui-chkbox-label {
    white-space: normal;
    line-height: 1.42;
}

.credential-password-field {
    max-width: 22rem;
}

.credential-password-field .ui-password,
.credential-password-field .ui-password-input,
.credential-remove-dialog .ui-password,
.credential-remove-dialog .ui-password-input {
    width: 100%;
}

.credential-password-field small {
    color: var(--text-muted);
    font-size: 0.7rem;
}

.credential-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--border);
}

.credential-danger-zone > div {
    display: grid;
    gap: 0.14rem;
}

.credential-danger-zone span {
    color: var(--text-muted);
    font-size: 0.74rem;
}

.credential-dialog-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.credential-dialog-footer .ui-button {
    margin: 0;
}

.credential-remove-dialog {
    width: min(32rem, calc(100vw - 2rem)) !important;
    max-width: calc(100vw - 2rem);
}

@keyframes sync-progress-slide {
    from {
        left: -38%;
    }
    to {
        left: 103%;
    }
}

@keyframes sync-icon-spin {
    to {
        transform: rotate(360deg);
    }
}

.onboarding-banner {
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(13, 118, 110, 0.35);
    border-radius: 0.9rem;
    background: rgba(13, 118, 110, 0.07);
}

.onboarding-banner > div {
    display: grid;
    gap: 0.25rem;
}

.onboarding-banner span {
    color: var(--text-muted);
}

.onboarding-link {
    flex: 0 0 auto;
    gap: 0.45rem;
    color: var(--primary-dark);
    font-weight: 800;
}

.filter-card,
.operations-card,
.operation-quality-card {
    margin-top: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    box-shadow: none !important;
}

.operation-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 1rem;
    align-items: start;
}

.filter-field {
    display: grid;
    min-width: 0;
    gap: 0.45rem;
    align-content: start;
}

.filter-field > label {
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 800;
}

.operation-filters .ui-inputfield,
.operation-filters .ui-selectonemenu,
.operation-filters .ui-calendar,
.operation-filters .p-datepicker {
    width: 100%;
}

.operation-filters .ui-calendar {
    display: flex;
    min-width: 0;
    align-items: stretch;
}

.operation-filters .ui-calendar > .ui-inputfield {
    min-width: 0;
    flex: 1 1 auto;
    width: 1%;
}

.operation-filters .ui-calendar > .ui-datepicker-trigger {
    position: static;
    display: inline-flex;
    flex: 0 0 2.5rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.operation-filters .ui-datepicker-trigger .ui-button-icon-left {
    position: static;
    top: auto;
    left: auto;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    line-height: 1;
    transform: none;
}

.filter-actions {
    margin-top: 1rem;
}

.operation-detail-link {
    color: var(--primary-dark);
    font-weight: 800;
}

.operation-detail-link:hover {
    text-decoration: underline;
}

.table-note-block {
    display: block;
    margin-top: 0.2rem;
}

.operation-price-pair {
    display: grid;
    gap: 0.35rem;
    white-space: nowrap;
}

.operation-price-pair > span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.operation-price-pair small {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.status-pill + .status-pill {
    margin-left: 0.3rem;
}

.result-positive {
    color: var(--success) !important;
    font-weight: 800;
}

.result-negative {
    color: var(--danger) !important;
    font-weight: 800;
}

.operation-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.operation-heading-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.75rem;
}

.operation-heading-tags .status-pill {
    margin-left: 0;
}

.operation-section {
    margin-top: 2rem;
}

.operation-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.operation-section-heading h2 {
    margin: 0;
    font-size: 1.25rem;
}

.operation-section-heading p {
    max-width: 58rem;
    margin: 0.3rem 0 0;
    color: var(--text-muted);
}

.operation-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.operation-overview-grid .operations-card,
.operation-section > .operations-card {
    margin-top: 0;
}

.operation-overview-card,
.operation-section .operations-card {
    min-width: 0;
}

.card-description {
    margin: 0 0 1rem;
    color: var(--text-muted);
    line-height: 1.55;
}

.operation-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0;
}

.operation-facts > div {
    min-width: 0;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--border);
}

.operation-facts > div:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.operation-facts > div:nth-child(odd) {
    padding-right: 1rem;
}

.operation-facts > div:nth-child(even) {
    padding-left: 1rem;
    border-left: 1px solid var(--border);
}

.operation-facts dt {
    margin: 0 0 0.25rem;
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.operation-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-weight: 750;
}

.protection-facts {
    margin-top: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.protection-facts > div {
    padding: 0.8rem;
    border: 0;
    border-left: 1px solid var(--border);
}

.protection-facts > div:first-child {
    border-left: 0;
}

.embedded-table {
    margin-top: 1rem;
}

.operation-empty-state {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px dashed var(--border);
    border-radius: 0.75rem;
    color: var(--text-muted);
    text-align: center;
}

.operation-audit-section {
    display: grid;
    gap: 1rem;
}

.operation-collapsible {
    margin-top: 0;
}

.operation-collapsible .ui-panel-content {
    padding-top: 1rem;
}

.discipline-pill,
.rule-result {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.3rem 0.58rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    white-space: nowrap;
}

.discipline-pill-compliant,
.rule-result-compliant {
    background: #e6f4ec;
    color: var(--success);
}

.discipline-pill-violated,
.rule-result-violated {
    background: #fde8e8;
    color: var(--danger);
}

.discipline-pill-review,
.rule-result-review,
.discipline-pill-pending,
.rule-result-pending {
    background: #fff3d6;
    color: #865c00;
}

.discipline-pill-muted,
.rule-result-neutral {
    background: var(--surface-muted);
    color: var(--text-muted);
}

.audit-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.audit-summary-card {
    display: grid;
    min-width: 0;
    gap: 0.42rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: var(--surface);
}

.audit-summary-card span,
.audit-rule-category {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.audit-summary-card strong {
    color: var(--primary-dark);
    overflow-wrap: anywhere;
}

.audit-summary-card small,
.audit-rule small {
    color: var(--text-muted);
}

.audit-rules-card {
    margin-top: 0 !important;
}

.audit-rule-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}

.audit-rule {
    min-width: 0;
    padding: 1rem;
    border-bottom: 1px solid var(--border);
}

.audit-rule:nth-child(odd) {
    padding-left: 0;
    padding-right: 1.25rem;
}

.audit-rule:nth-child(even) {
    padding-left: 1.25rem;
    padding-right: 0;
    border-left: 1px solid var(--border);
}

.audit-rule-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.audit-rule h3 {
    margin: 0.2rem 0 0;
    font-size: 0.98rem;
}

.audit-rule p {
    margin: 0.55rem 0 0.25rem;
    color: var(--text-muted);
    line-height: 1.45;
}

.plan-proposal {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 1.2rem;
    border: 1px solid rgba(13, 118, 110, 0.35);
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(13, 118, 110, 0.1), rgba(13, 118, 110, 0.025));
}

.plan-proposal-icon,
.plan-now-icon,
.plan-recurrence-index {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.75rem;
    background: rgba(13, 118, 110, 0.12);
    color: var(--primary-dark);
}

.plan-proposal-icon {
    width: 2.65rem;
    height: 2.65rem;
    font-size: 1.15rem;
}

.plan-proposal h2,
.plan-proposal p {
    margin: 0;
}

.plan-proposal h2 {
    margin: 0.2rem 0 0.45rem;
    font-size: 1.25rem;
}

.plan-proposal p:last-child {
    max-width: 58rem;
    color: var(--text-muted);
    line-height: 1.55;
}

.plan-section-heading {
    align-items: flex-end;
}

.plan-commitment-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.plan-commitment-card {
    display: grid;
    min-width: 0;
    gap: 0.35rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    background: var(--surface);
}

.plan-commitment-card > span,
.plan-now-numbers dt {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.plan-commitment-card strong {
    overflow-wrap: anywhere;
    color: var(--primary-dark);
    font-size: 1.05rem;
}

.plan-commitment-card small {
    color: var(--text-muted);
    line-height: 1.4;
}

.plan-now-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(15rem, 0.55fr);
    align-items: start;
    gap: 1rem;
    padding: 1.15rem;
    border: 1px solid var(--border);
    border-radius: 0.95rem;
    background: var(--surface);
}

.plan-now-success {
    border-color: #b9dec9;
    background: #f3faf6;
}

.plan-now-pause {
    border-color: #e8bcbc;
    background: #fff5f5;
}

.plan-now-attention {
    border-color: #ead39b;
    background: #fffaf0;
}

.plan-now-neutral {
    background: var(--surface-muted);
}

.plan-now-icon {
    width: 2.4rem;
    height: 2.4rem;
}

.plan-now-copy {
    display: grid;
    gap: 0.25rem;
}

.plan-now-copy > strong {
    font-size: 1.1rem;
}

.plan-now-copy > span,
.plan-now-copy li {
    color: var(--text-muted);
}

.plan-now-copy ul {
    display: grid;
    gap: 0.25rem;
    margin: 0.4rem 0 0;
    padding-left: 1.1rem;
    font-size: 0.84rem;
}

.plan-now-numbers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
}

.plan-now-numbers > div {
    display: grid;
    gap: 0.25rem;
    padding-left: 0.75rem;
    border-left: 1px solid var(--border);
}

.plan-now-numbers dd {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.4;
}

.plan-recurrence-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.plan-recurrence-card,
.plan-review-empty {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    background: var(--surface);
}

.plan-recurrence-index {
    width: 2rem;
    height: 2rem;
}

.plan-recurrence-card h3,
.plan-recurrence-card p {
    margin: 0;
}

.plan-recurrence-card h3 {
    font-size: 1rem;
}

.plan-recurrence-card p {
    margin: 0.45rem 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.plan-recurrence-card small {
    color: var(--primary-dark);
    font-size: 0.74rem;
    font-weight: 800;
}

.plan-review-empty {
    align-items: center;
    color: var(--text-muted);
}

.plan-review-empty > i {
    color: var(--success);
    font-size: 1.4rem;
}

.plan-review-empty > div {
    display: grid;
    gap: 0.2rem;
}

.plan-review-empty strong {
    color: var(--text);
}

.plan-editor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.plan-editor-card {
    min-width: 0;
    padding: 1.1rem;
    border: 1px solid var(--border);
    border-radius: 0.95rem;
    background: var(--surface);
}

.plan-editor-card-optional {
    grid-column: 1 / -1;
}

.plan-editor-card-protection {
    grid-column: 1 / -1;
}

.plan-editor-card > header {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-bottom: 1rem;
}

.plan-editor-card > header > span {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 1.75rem;
    place-items: center;
    border-radius: 999px;
    background: rgba(13, 118, 110, 0.11);
    color: var(--primary-dark);
    font-size: 0.78rem;
    font-weight: 900;
}

.plan-editor-card h3,
.plan-editor-card header p {
    margin: 0;
}

.plan-editor-card h3 {
    font-size: 1.05rem;
}

.plan-editor-card header p {
    margin-top: 0.2rem;
    color: var(--text-muted);
    font-size: 0.82rem;
    line-height: 1.4;
}

.discipline-form-grid,
.discipline-time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.discipline-field {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 0.45rem;
}

.discipline-field-wide {
    width: 100%;
}

.discipline-field label,
.discipline-input-label {
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 800;
}

.discipline-field .ui-inputfield,
.discipline-field .ui-inputnumber,
.discipline-field .ui-inputtextarea {
    width: 100%;
}

.plan-killzone-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    margin-top: 1rem;
}

.plan-killzone-option {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: 0.7rem;
    background: var(--surface-muted);
    cursor: pointer;
}

.plan-killzone-copy {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
    cursor: pointer;
}

.plan-killzone-option small {
    color: var(--text-muted);
    font-size: 0.74rem;
}

.plan-optional-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.plan-optional-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 8.5rem;
    align-items: center;
    gap: 0.8rem;
    padding: 0.75rem;
    border-radius: 0.7rem;
    background: var(--surface-muted);
}

.plan-optional-control > div:first-child {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}

.plan-optional-control label {
    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.35;
}

.plan-optional-control .ui-inputnumber,
.plan-optional-control .ui-inputfield {
    width: 100%;
}

.plan-advanced-settings,
.plan-reference {
    margin-top: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    background: var(--surface);
}

.plan-advanced-settings > summary,
.plan-reference > summary {
    padding: 0.9rem 1rem;
    cursor: pointer;
    color: var(--primary-dark);
    font-weight: 800;
}

.plan-advanced-settings > summary span {
    margin-left: 0.4rem;
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 600;
}

.plan-advanced-settings[open] > summary,
.plan-reference[open] > summary {
    border-bottom: 1px solid var(--border);
}

.plan-advanced-settings > p,
.plan-advanced-settings > .discipline-form-grid {
    margin-right: 1rem;
    margin-left: 1rem;
}

.plan-advanced-settings > p {
    color: var(--text-muted);
    line-height: 1.5;
}

.plan-advanced-settings > .discipline-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.plan-change-note {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    background: var(--surface);
}

.plan-reference-content {
    padding: 1rem;
}

.plan-reference-rules {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.plan-reference-rules article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.25rem 0.55rem;
    padding: 0.8rem;
    border-radius: 0.7rem;
    background: var(--surface-muted);
}

.plan-reference-rules i {
    grid-row: 1 / span 2;
    color: var(--primary);
}

.plan-reference-rules span {
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.4;
}

.inline-create-form {
    display: flex;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.inline-create-form .ui-inputfield {
    min-width: 0;
    flex: 1 1 auto;
}

.table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.strategy-operation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.strategy-field {
    display: grid;
    min-width: 0;
    gap: 0.45rem;
    align-content: start;
}

.strategy-field-wide {
    grid-column: 1 / -1;
}

.strategy-field label {
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 800;
}

.strategy-field .ui-inputfield,
.strategy-field .ui-inputtextarea,
.strategy-field .ui-selectonemenu {
    width: 100%;
}

.field-help-link {
    width: fit-content;
    color: var(--primary-dark);
    font-size: 0.8rem;
    font-weight: 750;
}

.field-help-link:hover {
    text-decoration: underline;
}

.strategy-subsection-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.strategy-subsection-heading h3,
.strategy-context-pair h3 {
    margin: 0;
    font-size: 1rem;
}

.strategy-subsection-heading p {
    margin: 0.25rem 0 0;
    color: var(--text-muted);
    font-size: 0.88rem;
}

.compact-action-column {
    width: 3.5rem;
    text-align: right;
}

.strategy-editor-actions,
.strategy-save-row {
    margin-top: 1.25rem;
}

.strategy-context-pair {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.strategy-pair-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.strategy-subsection {
    margin-top: 1.4rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
}

.strategy-setup-note {
    margin-top: 1.25rem;
}

.strategy-history {
    margin-top: 1rem !important;
}

.strategy-session-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.strategy-flow-step h3,
.strategy-context-pair h4 {
    margin: 0;
}

.strategy-flow-step p {
    margin: 0.3rem 0 0;
    color: var(--text-muted);
}

.strategy-flow-step {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: 0.9rem;
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
}

.strategy-step-number {
    display: grid;
    width: 2.1rem;
    height: 2.1rem;
    place-items: center;
    border-radius: 999px;
    background: color-mix(in srgb, var(--primary-color) 12%, var(--surface));
    color: var(--primary-dark);
    font-weight: 900;
}

.strategy-step-content {
    min-width: 0;
}

.strategy-killzone-options {
    margin-top: 0.8rem;
}

.strategy-action-spacer {
    flex: 1 1 auto;
}

.strategy-flow-kicker {
    color: var(--primary-dark);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1.45;
    text-transform: uppercase;
}

.strategy-session-summary {
    padding: 0.85rem 1rem;
    border: 1px solid color-mix(in srgb, var(--primary-color) 25%, var(--border));
    border-radius: 0.8rem;
    background: color-mix(in srgb, var(--primary-color) 5%, var(--surface));
}

.strategy-session-summary > div {
    display: grid;
    gap: 0.2rem;
}

.strategy-session-summary small,
.strategy-confluence-chip small {
    color: var(--text-muted);
}

.strategy-context-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 0.8rem;
}

.strategy-entry-pair {
    border-color: color-mix(in srgb, var(--primary-color) 32%, var(--border));
}

.strategy-model-heading {
    align-items: center;
}

.strategy-model-selector {
    max-width: 34rem;
    margin-top: 0.8rem;
}

.strategy-entry-timeframe {
    max-width: 14rem;
    margin-top: 0.8rem;
}

.strategy-entry-basis {
    margin-top: 0.8rem;
}

.strategy-setup-decision,
.strategy-repeat-list {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.9rem;
}

.strategy-model-meaning,
.strategy-effective-setup {
    display: grid;
    gap: 0.65rem;
    padding: 0.85rem 1rem;
    border: 1px solid color-mix(in srgb, var(--primary-color) 24%, var(--border));
    border-radius: 0.8rem;
    background: color-mix(in srgb, var(--primary-color) 6%, var(--surface));
}

.strategy-effective-chip {
    display: grid;
    gap: 0.15rem;
}

.strategy-effective-chip small {
    color: var(--text-muted);
}

.strategy-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.strategy-model-meaning .strategy-confluence-chip {
    display: inline-flex;
    padding: 0.4rem 0.6rem;
}

.strategy-repeat-row {
    display: grid;
    grid-template-columns: minmax(8rem, 0.7fr) minmax(10rem, 1fr) auto;
    align-items: center;
    gap: 0.75rem 1rem;
}

.strategy-confluence-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 0.75rem;
}

.strategy-confluence-row > .ui-button {
    grid-column: 2;
    grid-row: 1;
}

.strategy-confluence-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    min-width: 0;
}

.strategy-confluence-parameter {
    max-width: 15rem;
}

.strategy-confluence-description {
    grid-column: 1 / -1;
    max-width: 64rem;
    line-height: 1.45;
}

.strategy-selected-confluences {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.9rem;
}

.strategy-selected-confluence {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.25rem 0.2rem 0.65rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.strategy-secondary-panel {
    margin-top: 0.8rem;
}

.strategy-effective-setup {
    margin-top: 1rem;
}

.strategy-effective-chip {
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--border);
    border-radius: 0.7rem;
    background: var(--surface);
}

.strategy-confluence-chip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.sync-two-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.detail-list {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.75rem 1rem;
    margin: 0;
}

.detail-list dt {
    color: var(--text-muted);
    font-weight: 700;
}

.detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.table-note {
    margin: 0.85rem 0 0;
    font-size: 0.85rem;
}

.raw-payload {
    min-height: 12rem;
    margin: 0;
    padding: 1rem;
    overflow: auto;
    border-radius: 0.65rem;
    background: #101820;
    color: #e7f0f4;
    font: 0.8rem/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.page-heading .eyebrow {
    margin-top: 0;
}

.home-briefing {
    width: min(100%, 76rem);
    margin-inline: auto;
}

.home-heading {
    margin-bottom: 1rem;
}

.home-snapshot-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.home-snapshot-actions > span {
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 750;
}

.home-now {
    display: grid;
    grid-template-columns: 3.1rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: clamp(1.1rem, 2vw, 1.45rem);
    border: 1px solid var(--border);
    border-radius: 1rem;
    background: var(--surface);
    box-shadow: 0 0.7rem 2rem rgba(20, 36, 50, 0.06);
}

.home-now-critical {
    border-color: rgba(165, 60, 60, 0.32);
    background: linear-gradient(120deg, rgba(165, 60, 60, 0.075), var(--surface) 62%);
}

.home-now-attention {
    border-color: rgba(138, 97, 8, 0.32);
    background: linear-gradient(120deg, rgba(138, 97, 8, 0.075), var(--surface) 62%);
}

.home-now-clear {
    border-color: rgba(38, 116, 74, 0.28);
    background: linear-gradient(120deg, rgba(38, 116, 74, 0.07), var(--surface) 62%);
}

.home-now-neutral {
    background: linear-gradient(120deg, var(--app-surface-subtle), var(--surface) 62%);
}

.home-now-icon,
.home-next-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 0.85rem;
    background: var(--primary-soft);
    color: var(--primary-dark);
    font-size: 1.15rem;
}

.home-now-critical .home-now-icon {
    background: rgba(165, 60, 60, 0.11);
    color: var(--danger);
}

.home-now-attention .home-now-icon {
    background: rgba(138, 97, 8, 0.11);
    color: var(--app-warning);
}

.home-now-clear .home-now-icon {
    background: rgba(38, 116, 74, 0.11);
    color: var(--success);
}

.home-now-copy,
.home-next-copy {
    min-width: 0;
}

.home-now-kicker {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.home-now-kicker > span,
.home-next-copy > span {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.065em;
    text-transform: uppercase;
}

.home-attention-count {
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.76);
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
}

.home-now h2 {
    margin: 0.22rem 0 0.35rem;
    font-size: clamp(1.2rem, 2.2vw, 1.55rem);
    line-height: 1.2;
}

.home-now-copy > p,
.home-next-copy > p {
    max-width: 52rem;
    margin: 0;
    color: var(--text-muted);
    font-size: 0.86rem;
    line-height: 1.5;
}

.home-now-reason {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    margin-top: 0.55rem;
    color: var(--text);
    font-size: 0.77rem;
    line-height: 1.45;
}

.home-now-reason > i {
    margin-top: 0.15rem;
    color: currentColor;
}

.home-now-action,
.home-next-action {
    justify-self: end;
}

.home-action-link {
    display: inline-flex;
    min-height: 2.55rem;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.62rem 0.82rem;
    border: 1px solid var(--primary);
    border-radius: var(--app-radius-small);
    background: var(--primary);
    color: white;
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.home-action-link:hover {
    border-color: var(--primary-dark);
    background: var(--primary-dark);
    color: white;
    text-decoration: none;
}

.home-action-link:focus-visible {
    outline: 0.18rem solid color-mix(in srgb, var(--app-focus-ring) 55%, transparent);
    outline-offset: 0.16rem;
}

.home-section {
    margin-top: 1.35rem;
}

.home-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.7rem;
}

.home-section-heading .eyebrow {
    margin: 0 0 0.2rem;
}

.home-section-heading h2 {
    margin: 0;
    font-size: 1.08rem;
}

.home-today-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem;
    color: var(--text-muted);
    font-size: 0.75rem;
}

.home-today-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.home-today-card {
    display: grid;
    min-width: 0;
    min-height: 7.75rem;
    align-content: start;
    gap: 0.38rem;
    padding: 1rem 1.05rem;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
}

.home-today-card > span {
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 800;
}

.home-today-value {
    overflow-wrap: anywhere;
    color: var(--text);
    font-size: clamp(1.25rem, 2.6vw, 1.75rem);
    line-height: 1.15;
}

.home-today-value-positive {
    color: var(--success);
}

.home-today-value-negative {
    color: var(--danger);
}

.home-today-card > small {
    color: var(--text-muted);
    font-size: 0.73rem;
    line-height: 1.4;
}

.home-today-empty {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border: 1px dashed var(--app-border-strong);
    border-radius: var(--app-radius-medium);
    background: var(--app-surface-subtle);
}

.home-today-empty > i {
    color: var(--primary);
    font-size: 1.1rem;
}

.home-today-empty > div {
    display: grid;
    gap: 0.15rem;
}

.home-today-empty span {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.home-next-section {
    padding-bottom: 0.25rem;
}

.home-next-card {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid rgba(13, 118, 110, 0.25);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
}

.home-next-title-row {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.15rem 0 0.3rem;
}

.home-next-title-row h3 {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 1rem;
}

@media (max-width: 760px) {
    .home-now,
    .home-next-card {
        grid-template-columns: 2.75rem minmax(0, 1fr);
        align-items: start;
    }

    .home-now-icon,
    .home-next-icon {
        width: 2.75rem;
        height: 2.75rem;
    }

    .home-now-action,
    .home-next-action {
        grid-column: 2;
        justify-self: start;
    }

    .home-today-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-today-card {
        min-height: 0;
    }
}

@media (max-width: 480px) {
    .home-snapshot-actions,
    .home-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-snapshot-actions,
    .home-snapshot-actions .ui-button,
    .home-now-action,
    .home-next-action,
    .home-action-link {
        width: 100%;
    }

    .home-today-meta {
        justify-content: flex-start;
    }
}

.attention-summary {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
}

.attention-summary-icon {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;
    place-items: center;
    border-radius: 0.7rem;
    background: rgba(13, 118, 110, 0.11);
    color: var(--primary-dark);
}

.attention-summary > div {
    display: grid;
    gap: 0.2rem;
}

.attention-summary span:last-child {
    color: var(--text-muted);
    font-size: 0.82rem;
}

.attention-section {
    margin-top: 1.5rem;
}

.attention-section-heading {
    margin-bottom: 0.75rem;
}

.attention-list {
    display: grid;
    gap: 0.8rem;
}

.attention-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
}

.attention-card-session {
    border-color: #e8bcbc;
    background: #fff8f8;
}

.attention-card-position {
    border-left: 0.25rem solid #bb850f;
}

.attention-card-data {
    border-left: 0.25rem solid var(--primary);
}

.attention-card-data .attention-card-icon {
    background: rgba(13, 118, 110, 0.1);
    color: var(--primary-dark);
}

.attention-card-icon {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: 0.7rem;
    background: var(--surface-muted);
    color: var(--primary-dark);
}

.attention-card-content,
.attention-card-heading > div,
.attention-card-heading > div > div {
    min-width: 0;
}

.attention-card-heading,
.attention-card-context,
.attention-card-footer {
    display: flex;
    align-items: center;
}

.attention-card-heading {
    justify-content: space-between;
    gap: 1rem;
}

.attention-card-context {
    flex-wrap: wrap;
    gap: 0.45rem;
}

.attention-card h3 {
    margin: 0.35rem 0 0;
    font-size: 1.05rem;
}

.attention-card-content > p {
    margin: 0.6rem 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.attention-reason-list {
    display: grid;
    gap: 0.35rem;
    margin: 0.6rem 0;
    padding-left: 1.2rem;
    line-height: 1.45;
}

.attention-card-content .attention-action-copy {
    color: var(--text);
    font-weight: 750;
}

.attention-card-footer {
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.8rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border);
}

.attention-card-footer > span {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.attention-empty-state {
    display: grid;
    justify-items: center;
    gap: 0.45rem;
    margin-top: 1.5rem;
    padding: 2.5rem 1rem;
    border: 1px dashed var(--border);
    border-radius: 0.95rem;
    background: var(--surface);
    text-align: center;
}

.attention-empty-state > i {
    color: var(--success);
    font-size: 2rem;
}

.attention-empty-state h2,
.attention-empty-state p {
    margin: 0;
}

.attention-empty-state p {
    max-width: 42rem;
    color: var(--text-muted);
    line-height: 1.5;
}

.ui-confirm-dialog .ui-dialog-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.65rem;
}

@media (max-width: 1050px) {
    .plan-commitment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .plan-now-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .plan-now-numbers {
        grid-column: 2;
    }
}

@media (max-width: 780px) {
    .plan-editor-grid,
    .plan-recurrence-list,
    .plan-optional-grid,
    .plan-reference-rules {
        grid-template-columns: minmax(0, 1fr);
    }

    .plan-editor-card-optional {
        grid-column: auto;
    }

    .plan-editor-card-protection {
        grid-column: auto;
    }

    .plan-advanced-settings > .discipline-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 620px) {
    .ui-confirm-dialog {
        width: calc(100vw - 2rem) !important;
        max-width: calc(100vw - 2rem) !important;
        left: 1rem !important;
    }

    .ui-confirm-dialog .ui-dialog-content {
        min-width: 0;
    }

    .plan-proposal,
    .attention-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .plan-proposal {
        display: grid;
    }

    .plan-commitment-grid,
    .plan-now-card,
    .plan-now-numbers,
    .plan-killzone-grid,
    .discipline-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .plan-now-numbers {
        grid-column: auto;
    }

    .plan-now-numbers > div {
        padding: 0.65rem 0 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .plan-optional-control {
        grid-template-columns: minmax(0, 1fr) 7.5rem;
    }

    .attention-card-heading,
    .attention-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 360px) {
    .plan-optional-control {
        grid-template-columns: minmax(0, 1fr);
    }
}

.ajax-status {
    position: fixed;
    z-index: 1200;
    top: 5.5rem;
    right: 1.5rem;
}

.ajax-status-feedback {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.8rem 1rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: var(--surface);
    box-shadow: var(--shadow);
    color: var(--text);
    font-size: 0.9rem;
    font-weight: 700;
}

/* Analítica · componentes compartidos por pestaña */
.analytics-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}

.analytics-heading .muted {
    max-width: 55rem;
    line-height: 1.55;
}

.analytics-toolbar-actions {
    position: relative;
}

.analytics-filter-sidebar {
    width: min(94vw, 31rem) !important;
    padding: 0 !important;
}

.analytics-filter-sidebar > .ui-sidebar-close {
    z-index: 2;
    top: 1.15rem;
    right: 1.15rem;
}

.analytics-filter-sidebar > .ui-sidebar-content {
    display: flex;
    height: 100%;
    min-height: 0;
    padding: 0;
    flex-direction: column;
    overflow: hidden;
}

.analytics-filter-sidebar-header {
    padding: 1.2rem 3.4rem 1rem 1.25rem;
    border-bottom: 1px solid var(--border);
    background:
        linear-gradient(145deg, rgba(13, 118, 110, 0.09), transparent 70%),
        var(--surface);
}

.analytics-filter-sidebar-header h2 {
    margin: 0.25rem 0 0;
    font-size: 1.3rem;
}

.analytics-filter-sidebar-body {
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    align-content: start;
    gap: 0.85rem;
    padding: 1rem 1.15rem;
    overflow-y: auto;
    background: var(--surface-muted);
}

.analytics-filter-sidebar-section {
    display: grid;
    gap: 0.8rem;
    padding: 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: var(--surface);
}

.analytics-filter-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}

.analytics-filter-section-heading > span {
    display: grid;
    width: 1.55rem;
    height: 1.55rem;
    flex: 0 0 1.55rem;
    place-items: center;
    border-radius: 999px;
    background: rgba(13, 118, 110, 0.1);
    color: var(--primary-dark);
    font-size: 0.72rem;
    font-weight: 900;
}

.analytics-filter-section-heading > div {
    display: grid;
    gap: 0.15rem;
}

.analytics-filter-section-heading .analytics-label-with-info {
    align-items: flex-start;
}

.analytics-filter-section-heading strong {
    font-size: 0.86rem;
}

.analytics-filter-section-heading small {
    color: var(--text-muted);
    font-size: 0.7rem;
    line-height: 1.35;
}

.analytics-filter-sidebar .filter-field > label {
    margin: 0 0 0.35rem;
    font-size: 0.73rem;
}

.analytics-filter-sidebar-grid .ui-selectcheckboxmenu {
    width: 100%;
}

.analytics-sidebar-date-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.analytics-sidebar-date.ui-calendar {
    display: flex;
    width: 100%;
    min-width: 0;
}

.analytics-sidebar-date.ui-calendar > .ui-inputfield {
    width: 1%;
    min-width: 0;
    flex: 1 1 auto;
}

.analytics-sidebar-date.ui-calendar > .ui-datepicker-trigger {
    width: 2.6rem;
    flex: 0 0 2.6rem;
}

.analytics-filter-sidebar-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.analytics-filter-sidebar-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.15rem;
    border-top: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 0 -0.45rem 1.4rem rgba(20, 36, 50, 0.06);
}

.analytics-filter-sidebar-actions > span {
    color: var(--primary-dark);
    font-size: 0.7rem;
    font-weight: 800;
}

.analytics-filter-sidebar-actions > div {
    display: flex;
    gap: 0.55rem;
    margin-left: auto;
}

.analytics-tab-intro,
.analytics-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.analytics-heading-with-info,
.analytics-label-with-info {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0.35rem;
}

.analytics-heading-with-info {
    max-width: 100%;
}

.analytics-heading-with-info > h2,
.analytics-heading-with-info > h3 {
    min-width: 0;
}

.analytics-info-trigger {
    display: inline-grid;
    width: 1.3rem;
    height: 1.3rem;
    min-width: 1.3rem;
    flex: 0 0 1.3rem;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--primary);
    cursor: help;
    font: inherit;
    font-size: 0.82rem;
    letter-spacing: normal;
    line-height: 1;
    text-transform: none;
}

.analytics-info-trigger:hover {
    background: rgba(13, 118, 110, 0.1);
    color: var(--primary-dark);
}

.analytics-info-trigger:focus-visible {
    outline: 0.13rem solid rgba(13, 118, 110, 0.45);
    outline-offset: 0.12rem;
}

.ui-tooltip.analytics-info-tooltip {
    max-width: min(22rem, calc(100vw - 2rem));
}

.ui-tooltip.analytics-info-tooltip .ui-tooltip-text {
    padding: 0.65rem 0.75rem;
    font-size: 0.76rem;
    line-height: 1.45;
    white-space: normal;
}

.analytics-empty {
    display: grid;
    min-height: 18rem;
    place-items: center;
    align-content: center;
    padding: 2rem;
    border: 1px dashed var(--border);
    border-radius: 1rem;
    background: var(--surface);
    text-align: center;
}

.analytics-empty i {
    color: var(--primary);
    font-size: 2rem;
}

.analytics-empty h2 {
    margin: 0.8rem 0 0.2rem;
}

.analytics-empty p {
    max-width: 42rem;
    margin: 0;
    color: var(--text-muted);
}

.analytics-tabs > .ui-tabs-nav,
.analytics-tabs > .ui-tabs-navscroller,
.operation-tabs > .ui-tabs-nav,
.operation-tabs > .ui-tabs-navscroller {
    position: sticky !important;
    z-index: 7;
    top: 4.5rem;
    border: 0;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    background: var(--surface);
    box-shadow: 0 0.45rem 0.8rem -0.8rem rgba(20, 36, 50, 0.42);
}

.analytics-tabs > .ui-tabs-nav,
.operation-tabs > .ui-tabs-nav,
.analytics-tabs > .ui-tabs-navscroller > .ui-tabs-nav,
.operation-tabs > .ui-tabs-navscroller > .ui-tabs-nav {
    display: flex;
    gap: 0.18rem;
    min-height: 3.15rem;
    margin: 0;
    padding: 0.28rem 0.2rem 0;
    border: 0;
    background: transparent;
}

body .analytics-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header,
body .operation-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body .analytics-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header > a,
body .operation-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header > a {
    position: relative;
    min-height: 2.75rem;
    padding: 0.78rem 1rem 0.72rem;
    border-radius: 0.65rem 0.65rem 0 0;
    color: var(--text-muted);
    font-weight: 750;
    transition: background 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

body .analytics-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header:not(.ui-state-disabled) > a:hover,
body .operation-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header:not(.ui-state-disabled) > a:hover {
    background: rgba(13, 118, 110, 0.055);
    color: var(--primary-dark);
}

body .analytics-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header > a:focus-visible,
body .operation-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header > a:focus-visible {
    outline: 3px solid var(--app-focus-ring);
    outline-offset: -3px;
}

body .analytics-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header.ui-tabs-selected > a,
body .analytics-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header.ui-state-active > a,
body .operation-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header.ui-tabs-selected > a,
body .operation-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header.ui-state-active > a {
    background: rgba(13, 118, 110, 0.095);
    color: var(--primary-dark);
    box-shadow: inset 0 -0.18rem 0 var(--primary);
}

body .analytics-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header > a::after,
body .operation-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header > a::after {
    content: none;
}

.analytics-tabs > .ui-tabs-navscroller > .ui-tabs-navscroller-btn,
.operation-tabs > .ui-tabs-navscroller > .ui-tabs-navscroller-btn {
    border: 0;
    border-radius: 0;
    background: var(--surface);
    color: var(--primary-dark);
}

body .analytics-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header.ui-tabs-outline,
body .operation-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-header.ui-tabs-outline {
    outline: 0;
    outline-offset: 0;
    box-shadow: none;
}

.analytics-tabs .ui-tabs-panels,
.operation-tabs .ui-tabs-panels {
    padding: 1.25rem 0 0;
    background: transparent;
}

.analytics-tab-intro h2,
.analytics-section-heading h2 {
    margin: 0.25rem 0 0;
    font-size: 1.15rem;
}

.analytics-tab-intro p {
    margin: 0.75rem 0 0;
    color: var(--text-muted);
    font-size: 0.82rem;
    line-height: 1.5;
}

.analytics-definition {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.analytics-chart {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 21rem;
    margin-top: 0.8rem;
    overflow: hidden;
}

.analytics-chart canvas {
    max-width: 100% !important;
}

.analytics-breakdown {
    display: grid;
    gap: 0;
    margin: 0.75rem 0 0;
}

.analytics-summary-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.25rem;
}

.analytics-breakdown > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--border);
}

.analytics-breakdown > div:last-child {
    border-bottom: 0;
}

.analytics-breakdown dt {
    color: var(--text-muted);
}

.analytics-breakdown dd {
    margin: 0;
    font-weight: 800;
    text-align: right;
}

.analytics-advanced-panel {
    margin-top: 1rem;
    overflow: hidden;
}

.analytics-advanced-panel > .ui-panel-titlebar {
    padding: 0.85rem 1rem;
    border: 0;
    background: var(--surface);
}

.analytics-advanced-panel > .ui-panel-content {
    padding: 1rem;
    border: 0;
    border-top: 1px solid var(--border);
}

.analytics-distribution-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(24rem, 1fr);
    align-items: center;
    gap: 1rem;
}

.analytics-distribution-table {
    margin-top: 0.8rem;
}

.analytics-tab-intro {
    align-items: center;
    margin-bottom: 1rem;
    padding: 1rem 1.1rem;
    border-left: 0.28rem solid var(--primary);
    border-radius: 0.75rem;
    background: var(--surface);
}

.analytics-tab-intro > div:first-child {
    max-width: 55rem;
}

.analytics-table {
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    overflow: hidden;
}

.analytics-table .ui-datatable-data > tr > td {
    vertical-align: middle;
}

.analytics-data-note {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(182, 120, 5, 0.28);
    border-left: 0.25rem solid #b67805;
    border-radius: 0.7rem;
    background: #fffaf0;
    color: var(--text-muted);
    line-height: 1.45;
}

.analytics-data-note strong {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--text);
}

.analytics-sample {
    display: block;
    width: max-content;
    margin-top: 0.3rem;
    padding: 0.18rem 0.4rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 800;
}

.analytics-sample-insufficient {
    background: #f2eeee;
    color: #775a5a;
}

.analytics-sample-exploratory {
    background: #fff3d6;
    color: #7c5700;
}

.analytics-sample-stable {
    background: #e6f4ec;
    color: var(--success);
}

.analytics-context-intro {
    border-left-color: #6f56a5;
}

.analytics-context-workspace,
.analytics-after-loss {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
}

.analytics-context-toolbar {
    margin-bottom: 0.85rem;
}

.analytics-context-toolbar h2,
.analytics-after-loss h2 {
    margin: 0.25rem 0 0;
    font-size: 1.12rem;
}

.analytics-context-picker {
    display: grid;
    width: min(100%, 19rem);
    gap: 0.3rem;
}

.analytics-context-picker label {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
}

.analytics-context-selector,
.analytics-context-subselector {
    min-width: 0 !important;
    max-width: 100%;
    width: 100%;
}

.analytics-context-selector .ui-selectonemenu-label,
.analytics-context-subselector .ui-selectonemenu-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.analytics-context-question-area {
    display: grid;
    gap: 0.8rem;
}

.analytics-context-subquestion {
    display: grid;
    width: min(100%, 24rem);
    gap: 0.3rem;
}

.analytics-context-subquestion > label {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
}

.analytics-context-reading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(0.9rem, 2vw, 1.2rem);
    border: 1px solid rgba(111, 86, 165, 0.22);
    border-radius: 0.8rem;
    background: linear-gradient(135deg, rgba(111, 86, 165, 0.09), rgba(111, 86, 165, 0.025));
}

.analytics-context-reading > div {
    max-width: 58rem;
}

.analytics-context-reading h2 {
    margin: 0.25rem 0 0;
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    letter-spacing: -0.025em;
}

.analytics-context-reading p,
.analytics-after-loss-reading p {
    margin: 0.45rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.analytics-context-consistency {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #406a57 !important;
    font-size: 0.78rem;
    font-weight: 700;
}

.analytics-context-comparison-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
    align-items: start;
    gap: 1rem;
    margin-top: 0.8rem;
}

.analytics-context-comparison-grid.is-list-only {
    grid-template-columns: minmax(0, 1fr);
}

.analytics-context-visual {
    min-width: 0;
}

.analytics-context-chart {
    min-height: 21rem;
}

.analytics-context-cohorts {
    display: grid;
    gap: 0;
    max-height: 23rem;
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
}

.analytics-context-comparison-grid.is-list-only .analytics-context-cohorts {
    max-height: none;
}

.analytics-context-cohort {
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) auto;
    align-items: center;
    gap: 0.45rem 0.75rem;
    padding: 0.75rem 0.8rem;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.analytics-context-cohort.is-contrast {
    box-shadow: inset 0.2rem 0 #6f56a5;
    background: rgba(111, 86, 165, 0.045);
}

.analytics-context-cohort:last-child {
    border-bottom: 0;
}

.analytics-context-cohort-name,
.analytics-context-cohort-result {
    display: grid;
    gap: 0.12rem;
}

.analytics-context-cohort-name span,
.analytics-context-cohort-result small {
    color: var(--text-muted);
    font-size: 0.68rem;
}

.analytics-context-cohort-result {
    max-width: 14rem;
    text-align: right;
}

.analytics-context-cohort .ui-commandlink,
.analytics-context-missing .ui-commandlink {
    grid-column: 1 / -1;
    width: fit-content;
    color: var(--primary);
    font-size: 0.74rem;
    font-weight: 800;
    white-space: nowrap;
}

.analytics-context-missing {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.7rem;
    padding: 0.72rem 0.85rem;
    border: 1px dashed var(--border);
    border-radius: 0.7rem;
    background: var(--app-surface-subtle);
}

.analytics-context-missing > div {
    display: grid;
    gap: 0.12rem;
}

.analytics-context-missing span {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.analytics-after-loss {
    margin-top: 1rem;
}

.analytics-after-loss-reading {
    padding: 0.85rem 0 0.95rem;
    border-bottom: 1px solid var(--border);
}

.analytics-after-loss-reading h3 {
    margin: 0;
    font-size: 1.08rem;
}

.analytics-after-loss-rows {
    display: grid;
}

.analytics-after-loss-rows article {
    display: grid;
    grid-template-columns: minmax(13rem, 0.65fr) minmax(0, 1.35fr);
    align-items: center;
    gap: 1rem;
    padding: 0.8rem 0;
    border-bottom: 1px solid var(--border);
}

.analytics-after-loss-rows article:last-child {
    border-bottom: 0;
}

.analytics-after-loss-rows article > div {
    display: grid;
    gap: 0.15rem;
}

.analytics-after-loss-rows span {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.analytics-after-loss-rows strong {
    font-size: 1.08rem;
}

.analytics-after-loss-rows strong small {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.analytics-after-loss-rows p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.45;
}

@media (min-width: 721px) and (max-width: 1120px) {
    .analytics-context-comparison-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-context-cohorts {
        max-height: 22rem;
    }
}

.analytics-entry-intro {
    align-items: center;
    border-left-color: #28789b;
}

.analytics-entry-pending-note {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin-top: 0.75rem;
    padding: 0.75rem;
    border: 1px dashed rgba(182, 120, 5, 0.35);
    border-radius: 0.65rem;
    background: #fffaf0;
    color: var(--text-muted);
    font-size: 0.74rem;
    line-height: 1.45;
}

.analytics-entry-pending-note i {
    margin-top: 0.12rem;
    color: #996d0d;
}

.analytics-entry-contrast-sides {
    display: grid;
}

.analytics-entry-no-contrast {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem;
    border: 1px dashed var(--border);
    border-radius: 0.7rem;
    color: var(--text-muted);
    font-size: 0.78rem;
}

.analytics-entry-no-contrast i {
    color: #28789b;
}

.analytics-entry-hypothesis-heading h2 {
    margin: 0.25rem 0 0;
    font-size: 1.05rem;
}

.analytics-entry-hypothesis-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
    margin-top: 0.9rem;
}

.analytics-entry-hypothesis-fields .ui-selectonemenu,
.analytics-entry-hypothesis-fields .ui-selectcheckboxmenu {
    width: 100%;
}

.analytics-entry-hypothesis-actions {
    display: flex;
    gap: 0.55rem;
    margin-top: 0.85rem;
}

.analytics-entry-hypothesis-empty {
    margin-top: 0.8rem;
    color: var(--text-muted);
    font-size: 0.78rem;
}

.analytics-entry-hypothesis-result {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.analytics-entry-hypothesis-result h3 {
    margin: 0.75rem 0;
    font-size: 1rem;
}

.analytics-entry-hypothesis-criteria {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.analytics-entry-hypothesis-criteria span {
    padding: 0.3rem 0.5rem;
    border: 1px solid rgba(40, 120, 155, 0.2);
    border-radius: 999px;
    background: rgba(40, 120, 155, 0.07);
    color: #226680;
    font-size: 0.68rem;
    font-weight: 700;
}

.analytics-entry-hypothesis-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.analytics-entry-hypothesis-comparison > article {
    display: grid;
    gap: 0.28rem;
    padding: 0.85rem;
    border: 1px solid var(--border);
    border-radius: 0.7rem;
    background: var(--surface-muted);
}

.analytics-entry-hypothesis-comparison span,
.analytics-entry-hypothesis-comparison small {
    color: var(--text-muted);
    font-size: 0.68rem;
}

.analytics-entry-hypothesis-comparison strong {
    font-size: 1rem;
}

.analytics-entry-hypothesis-comparison b {
    font-size: 1.18rem;
}

.analytics-entry-hypothesis-comparison .ui-commandlink {
    justify-self: start;
    margin-top: 0.25rem;
    font-size: 0.72rem;
    font-weight: 800;
}

.analytics-entry-overview,
.analytics-entry-summary,
.analytics-entry-variants {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
}

.analytics-entry-overview > .analytics-section-heading,
.analytics-entry-variants > .analytics-section-heading {
    margin-bottom: 0.85rem;
}

.analytics-entry-overview h2,
.analytics-entry-variants h2 {
    margin: 0.25rem 0 0;
    font-size: 1.12rem;
}

.analytics-entry-setup-list {
    display: grid;
    border: 1px solid var(--border);
    border-radius: 0.78rem;
    overflow: hidden;
}

.analytics-entry-setup-row {
    display: grid;
    grid-template-columns:
        minmax(11rem, 1.35fr)
        minmax(9rem, 0.8fr)
        minmax(5.5rem, 0.45fr)
        minmax(10rem, 0.8fr)
        auto;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    padding: 0.85rem;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.analytics-entry-setup-row:last-child {
    border-bottom: 0;
}

.analytics-entry-setup-row:hover {
    background: rgba(40, 120, 155, 0.025);
}

.analytics-entry-setup-name,
.analytics-entry-setup-result,
.analytics-entry-setup-winrate,
.analytics-entry-setup-risk {
    display: grid;
    min-width: 0;
    gap: 0.14rem;
}

.analytics-entry-setup-name > span,
.analytics-entry-setup-row small {
    color: var(--text-muted);
    font-size: 0.68rem;
}

.analytics-entry-setup-name > span {
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.analytics-entry-setup-name > strong {
    overflow-wrap: anywhere;
    font-size: 0.96rem;
}

.analytics-entry-setup-name .analytics-sample {
    justify-self: start;
    margin-top: 0.15rem;
}

.analytics-entry-setup-result > strong,
.analytics-entry-setup-winrate > strong,
.analytics-entry-setup-risk > strong {
    overflow-wrap: anywhere;
    font-size: 1rem;
}

.analytics-entry-setup-row > .ui-button {
    grid-column: 5;
    min-width: 8.7rem;
    margin: 0;
}

.analytics-entry-coverage-overview {
    margin-top: 1rem;
}

.analytics-confluence-family {
    min-width: 0;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(13, 118, 110, 0.25);
    border-radius: 0.9rem;
    background:
        radial-gradient(circle at 94% 6%, rgba(13, 118, 110, 0.085), transparent 32%),
        var(--surface);
}

.analytics-confluence-family-heading {
    align-items: flex-start;
}

.analytics-confluence-family-heading h2 {
    margin: 0.25rem 0 0;
    font-size: 1.12rem;
}

.analytics-confluence-family-heading p {
    max-width: 55rem;
    margin: 0.42rem 0 0;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.analytics-confluence-family-result {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.76);
}

.analytics-confluence-family-result > div {
    display: grid;
    align-content: start;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.8rem;
    border-left: 1px solid var(--border);
}

.analytics-confluence-family-result > div:first-child {
    border-left: 0;
}

.analytics-confluence-family-result span,
.analytics-confluence-family-result small {
    color: var(--text-muted);
    font-size: 0.68rem;
}

.analytics-confluence-family-result span {
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.analytics-confluence-family-result strong {
    overflow-wrap: anywhere;
    font-size: 1.05rem;
}

.analytics-confluence-history {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.75rem;
}

.analytics-confluence-history > span {
    padding: 0.34rem 0.55rem;
    border: 1px solid rgba(13, 118, 110, 0.18);
    border-radius: 999px;
    background: rgba(13, 118, 110, 0.05);
    color: var(--text-muted);
    font-size: 0.68rem;
}

.analytics-confluence-history strong {
    color: var(--primary-dark);
}

.analytics-confluence-signature-list {
    display: grid;
    margin-top: 0.75rem;
    border: 1px solid var(--border);
    border-radius: 0.78rem;
    overflow: hidden;
}

.analytics-confluence-signature-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1.25fr) minmax(12rem, 0.9fr) auto;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.8rem;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.analytics-confluence-signature-row:last-child {
    border-bottom: 0;
}

.analytics-confluence-signature-row > div {
    display: grid;
    min-width: 0;
    gap: 0.12rem;
}

.analytics-confluence-signature-row > div span {
    color: var(--text-muted);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.analytics-confluence-signature-row > div strong {
    overflow-wrap: anywhere;
    font-size: 0.9rem;
}

.analytics-confluence-signature-row > div small {
    color: var(--text-muted);
    font-size: 0.68rem;
    line-height: 1.4;
}

.analytics-confluence-signature-result {
    justify-items: end;
    text-align: right;
}

.analytics-confluence-signature-result > strong {
    font-size: 1.05rem !important;
}

.analytics-confluence-signature-result.is-empty > strong {
    color: var(--text-muted);
    font-size: 0.82rem !important;
}

.analytics-confluence-signature-row > .ui-button {
    min-width: 7.3rem;
    margin: 0;
}

.analytics-confluence-family-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.75rem;
}

.analytics-entry-pending-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
}

.analytics-entry-pending-action {
    color: #79570c;
    font-size: 0.74rem;
    font-weight: 800;
    white-space: nowrap;
}

.analytics-entry-summary {
    border-color: rgba(40, 120, 155, 0.28);
    background:
        radial-gradient(circle at 94% 5%, rgba(40, 120, 155, 0.09), transparent 30%),
        var(--surface);
}

.analytics-entry-summary-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.analytics-entry-summary-heading > div {
    max-width: 58rem;
}

.analytics-entry-summary-heading h2 {
    margin: 0.28rem 0 0;
    font-size: clamp(1.2rem, 2.2vw, 1.55rem);
    letter-spacing: -0.025em;
}

.analytics-entry-summary-heading p {
    margin: 0.45rem 0 0;
    color: var(--text-muted);
}

.analytics-entry-result-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72);
}

.analytics-entry-result-strip > article {
    display: grid;
    align-content: start;
    gap: 0.28rem;
    min-width: 0;
    padding: 0.82rem;
    border-left: 1px solid var(--border);
}

.analytics-entry-result-strip > article:first-child {
    border-left: 0;
}

.analytics-entry-result-strip span,
.analytics-entry-protection-rows span {
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.analytics-entry-result-strip strong {
    overflow-wrap: anywhere;
    font-size: 1.15rem;
}

.analytics-entry-result-strip small {
    color: var(--text-muted);
    font-size: 0.7rem;
}

.analytics-entry-risk-gap {
    margin-top: 0.7rem;
    color: var(--text-muted);
    font-size: 0.74rem;
    line-height: 1.45;
}

.analytics-entry-protection {
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--border);
}

.analytics-entry-protection > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.analytics-entry-protection h3 {
    margin: 0.2rem 0 0;
    font-size: 1rem;
}

.analytics-entry-protection-rows {
    display: grid;
    margin-top: 0.55rem;
}

.analytics-entry-protection-rows article {
    display: grid;
    grid-template-columns: minmax(11rem, 0.65fr) minmax(0, 1.35fr);
    align-items: center;
    gap: 0.8rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--border);
}

.analytics-entry-protection-rows article:last-child {
    border-bottom: 0;
}

.analytics-entry-protection-rows article.is-warning {
    color: #8a4c0b;
}

.analytics-entry-protection-rows article > div {
    display: grid;
    gap: 0.12rem;
}

.analytics-entry-protection-rows strong {
    font-size: 1rem;
}

.analytics-entry-protection-rows p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.76rem;
    line-height: 1.45;
}

.analytics-entry-protection-rows .ui-commandlink {
    display: inline-flex;
    margin-left: 0.35rem;
    font-size: 0.72rem;
    font-weight: 800;
}

.analytics-entry-variants {
    margin-top: 1rem;
}

.analytics-entry-variants-heading {
    align-items: flex-start;
}

.analytics-entry-signature-composition {
    display: grid;
    gap: 0.55rem;
    padding: 0.9rem;
    border: 1px solid rgba(40, 120, 155, 0.2);
    border-radius: 0.78rem;
    background: rgba(40, 120, 155, 0.045);
}

.analytics-entry-signature-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.analytics-entry-signature-chips span {
    padding: 0.34rem 0.58rem;
    border: 1px solid rgba(40, 120, 155, 0.22);
    border-radius: 999px;
    background: var(--surface);
    color: #226680;
    font-size: 0.72rem;
    font-weight: 800;
}

.analytics-entry-signature-composition p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.76rem;
    line-height: 1.48;
}

.analytics-entry-category-list {
    display: grid;
    gap: 1rem;
}

.analytics-entry-category-question + .analytics-entry-category-question {
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.analytics-entry-category-question > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.72rem;
}

.analytics-entry-category-question > header h3 {
    margin: 0.22rem 0 0;
    font-size: 1.05rem;
}

.analytics-entry-category-question > header p {
    margin: 0.35rem 0 0;
    max-width: 62rem;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.analytics-entry-category-rows {
    display: grid;
    border: 1px solid var(--border);
    border-radius: 0.78rem;
    overflow: hidden;
}

.analytics-entry-category-rows > article {
    display: grid;
    grid-template-columns:
        minmax(8rem, 0.9fr)
        minmax(9rem, 0.95fr)
        minmax(8rem, 0.75fr)
        minmax(9rem, 0.9fr)
        auto;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.78rem 0.85rem;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.analytics-entry-category-rows > article:last-child {
    border-bottom: 0;
}

.analytics-entry-category-name,
.analytics-entry-category-result,
.analytics-entry-category-sample,
.analytics-entry-category-risk {
    display: grid;
    min-width: 0;
    gap: 0.14rem;
}

.analytics-entry-category-name {
    justify-items: start;
}

.analytics-entry-category-name > strong {
    font-size: 1rem;
}

.analytics-entry-category-result > strong,
.analytics-entry-category-risk > strong {
    font-size: 1rem;
}

.analytics-entry-category-sample > strong {
    font-size: 0.88rem;
}

.analytics-entry-category-result small,
.analytics-entry-category-sample small,
.analytics-entry-category-risk small {
    color: var(--text-muted);
    font-size: 0.66rem;
    line-height: 1.4;
}

.analytics-entry-category-rows .ui-commandlink {
    justify-self: end;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.analytics-entry-category-missing {
    margin-top: 0.45rem;
    color: var(--text-muted);
    font-size: 0.7rem;
}

.analytics-entry-conditions {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.analytics-entry-condition-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.analytics-entry-condition-toolbar h3 {
    margin: 0.22rem 0 0;
    font-size: 1.02rem;
}

.analytics-entry-condition-picker {
    display: grid;
    width: min(100%, 28rem);
    min-width: 0;
    gap: 0.3rem;
}

.analytics-entry-condition-picker label {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
}

.analytics-entry-condition-selector.ui-selectonemenu {
    display: block;
    width: 100% !important;
    max-width: 100%;
    min-width: 0 !important;
    box-sizing: border-box;
}

.analytics-entry-condition-selector .ui-selectonemenu-label {
    width: auto !important;
    min-width: 0;
    padding-right: 2.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.analytics-entry-condition-reading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(0.85rem, 2vw, 1.05rem);
    border: 1px solid rgba(40, 120, 155, 0.22);
    border-radius: 0.78rem;
    background: linear-gradient(135deg, rgba(40, 120, 155, 0.075), rgba(40, 120, 155, 0.015));
}

.analytics-entry-condition-reading > div {
    max-width: 58rem;
}

.analytics-entry-condition-reading h3 {
    margin: 0.22rem 0 0;
    font-size: clamp(1rem, 2vw, 1.18rem);
}

.analytics-entry-condition-reading p {
    margin: 0.42rem 0 0;
    color: var(--text-muted);
    line-height: 1.48;
}

.analytics-entry-condition-sides {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.analytics-entry-condition-sides > article {
    display: grid;
    align-content: start;
    gap: 0.3rem;
    min-width: 0;
    padding: 0.82rem;
    border: 1px solid var(--border);
    border-radius: 0.72rem;
    background: var(--app-surface-subtle);
}

.analytics-entry-condition-sides span,
.analytics-entry-condition-sides small {
    color: var(--text-muted);
    font-size: 0.68rem;
}

.analytics-entry-condition-sides h4 {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 0.92rem;
}

.analytics-entry-condition-sides > article > strong {
    font-size: 1.12rem;
}

.analytics-entry-condition-sides .ui-commandlink {
    justify-self: start;
    margin-top: 0.2rem;
    font-size: 0.72rem;
    font-weight: 800;
}

.analytics-entry-context-route {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.analytics-entry-context-route > div:first-child {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    min-width: 0;
    color: var(--text-muted);
    font-size: 0.75rem;
    line-height: 1.4;
}

.analytics-entry-context-route > div:first-child i {
    margin-top: 0.14rem;
    color: #28789b;
}

.analytics-entry-context-route > div:first-child strong {
    display: block;
    color: var(--text);
}

.analytics-entry-context-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.4rem;
}

.analytics-entry-main-contrast {
    margin-top: 1rem;
}

.analytics-entry-contrast-toolbar {
    align-items: end;
}

.analytics-entry-contrast-picker {
    display: grid;
    width: min(100%, 28rem);
    min-width: 0;
    gap: 0.3rem;
}

.analytics-entry-contrast-picker label {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
}

.analytics-entry-contrast-selector.ui-selectonemenu {
    display: block;
    width: 100% !important;
    max-width: 100%;
    min-width: 0 !important;
    box-sizing: border-box;
}

.analytics-entry-contrast-selector .ui-selectonemenu-label {
    width: auto !important;
    min-width: 0;
    padding-right: 2.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.analytics-entry-contrast-reading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(0.9rem, 2vw, 1.15rem);
    border: 1px solid rgba(40, 120, 155, 0.22);
    border-radius: 0.8rem;
    background: linear-gradient(135deg, rgba(40, 120, 155, 0.085), rgba(40, 120, 155, 0.02));
}

.analytics-entry-contrast-reading > div {
    max-width: 58rem;
}

.analytics-entry-contrast-reading h3 {
    margin: 0.22rem 0 0;
    font-size: clamp(1.05rem, 2vw, 1.3rem);
}

.analytics-entry-contrast-reading p {
    margin: 0.42rem 0 0;
    color: var(--text-muted);
    line-height: 1.48;
}

.analytics-entry-risk-reading {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    color: #406a57 !important;
    font-size: 0.76rem;
    font-weight: 700;
}

.analytics-entry-risk-reading i {
    margin-top: 0.16rem;
}

.analytics-entry-contrast-sides {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.analytics-entry-contrast-sides > article {
    display: grid;
    align-content: start;
    gap: 0.3rem;
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--border);
    border-radius: 0.72rem;
    background: var(--app-surface-subtle);
}

.analytics-entry-contrast-sides span,
.analytics-entry-contrast-sides small {
    color: var(--text-muted);
    font-size: 0.68rem;
}

.analytics-entry-contrast-sides h4 {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 0.92rem;
}

.analytics-entry-contrast-sides strong {
    font-size: 1.12rem;
}

.analytics-entry-contrast-sides .ui-commandlink {
    justify-self: start;
    margin-top: 0.2rem;
    font-size: 0.72rem;
    font-weight: 800;
}

.analytics-entry-detail {
    margin-top: 1rem;
}

.analytics-entry-journey {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.analytics-entry-journey h3,
.analytics-entry-hypothesis-heading h3 {
    margin: 0.25rem 0 0;
    font-size: 1.02rem;
}

.analytics-entry-journey > p,
.analytics-entry-hypothesis-heading p,
.analytics-entry-method p {
    margin: 0.5rem 0 0;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.48;
}

.analytics-entry-journey-values {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 0.75rem;
}

.analytics-entry-journey-values > div {
    display: grid;
    gap: 0.15rem;
}

.analytics-entry-journey-values strong {
    font-size: 1.1rem;
}

.analytics-entry-journey-values span {
    color: var(--text-muted);
    font-size: 0.7rem;
}

.analytics-entry-hypothesis {
    padding-top: 1rem;
}

.analytics-entry-method {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--border);
    font-size: 0.8rem;
}

.analytics-management-intro {
    border-left-color: #6f56a5;
}

.analytics-management-hero {
    margin-bottom: 1rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid rgba(111, 86, 165, 0.3);
    border-radius: 0.95rem;
    background:
        radial-gradient(circle at 92% 8%, rgba(111, 86, 165, 0.12), transparent 34%),
        var(--surface);
}

.analytics-management-hero-heading,
.analytics-management-priority,
.analytics-management-action-reading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.analytics-management-hero-heading > div,
.analytics-management-priority > div,
.analytics-management-action-reading > div {
    max-width: 60rem;
}

.analytics-management-hero-heading h2 {
    margin: 0.3rem 0 0;
    font-size: clamp(1.25rem, 2.3vw, 1.75rem);
    letter-spacing: -0.03em;
}

.analytics-management-hero-heading p,
.analytics-management-priority p,
.analytics-management-action-reading p,
.analytics-management-detail-section > header p,
.analytics-management-method p {
    margin: 0.5rem 0 0;
    color: var(--text-muted);
    line-height: 1.48;
}

.analytics-management-journey {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) minmax(10rem, 0.72fr);
    align-items: stretch;
    gap: 0;
    margin-top: 1rem;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 0.82rem;
    background: rgba(255, 255, 255, 0.76);
}

.analytics-management-journey > article,
.analytics-management-capture {
    display: grid;
    align-content: center;
    gap: 0.28rem;
    min-width: 0;
    padding: clamp(0.85rem, 2vw, 1.1rem);
}

.analytics-management-capture {
    border-left: 1px solid rgba(111, 86, 165, 0.22);
    background: rgba(111, 86, 165, 0.075);
}

.analytics-management-journey-arrow {
    align-self: center;
    color: #7960a9;
    font-size: 0.9rem;
}

.analytics-management-journey span,
.analytics-management-capture span,
.analytics-management-exit-grid span {
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.analytics-management-journey strong,
.analytics-management-capture strong,
.analytics-management-exit-grid strong {
    overflow-wrap: anywhere;
    font-size: clamp(1.25rem, 2.4vw, 1.65rem);
}

.analytics-management-journey small,
.analytics-management-capture small,
.analytics-management-exit-grid small,
.analytics-management-setup-row small,
.analytics-management-action-sides small,
.analytics-management-protection-rows small,
.analytics-management-later-model-grid small {
    color: var(--text-muted);
    font-size: 0.7rem;
    line-height: 1.4;
}

.analytics-management-reading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.9rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--border);
}

.analytics-management-reading > div:first-child {
    display: flex;
    gap: 0.5rem;
    max-width: 58rem;
    font-size: 0.78rem;
    line-height: 1.48;
}

.analytics-management-reading > div:first-child i {
    margin-top: 0.15rem;
    color: #6f56a5;
}

.analytics-management-evidence {
    display: grid;
    justify-items: end;
    gap: 0.25rem;
    max-width: 22rem;
    text-align: right;
}

.analytics-management-evidence small {
    color: var(--text-muted);
    font-size: 0.68rem;
    line-height: 1.4;
}

.analytics-management-priority {
    margin-bottom: 1rem;
    padding: clamp(0.95rem, 2vw, 1.2rem);
    border: 1px solid rgba(181, 113, 23, 0.28);
    border-left: 0.25rem solid #b57117;
    border-radius: 0.82rem;
    background: linear-gradient(135deg, rgba(181, 113, 23, 0.075), rgba(181, 113, 23, 0.015));
}

.analytics-management-priority h2 {
    margin: 0.25rem 0 0;
    font-size: clamp(1.05rem, 2vw, 1.28rem);
}

.analytics-management-overview,
.analytics-management-actions {
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
}

.analytics-management-overview > .analytics-section-heading,
.analytics-management-actions > .analytics-section-heading {
    margin-bottom: 0.85rem;
}

.analytics-management-setup-list,
.analytics-management-protection-rows {
    display: grid;
}

.analytics-management-setup-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1.25fr) minmax(9rem, 0.72fr) minmax(9rem, 0.72fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 0.82rem 0;
    border-bottom: 1px solid var(--border);
}

.analytics-management-setup-row:last-child {
    border-bottom: 0;
}

.analytics-management-setup-row > div {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.analytics-management-setup-row > div:not(:first-child) strong {
    font-size: 1.05rem;
}

.analytics-management-setup-name > span,
.analytics-management-action-sides > article > span {
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.analytics-management-setup-name > strong {
    overflow-wrap: anywhere;
    font-size: 0.98rem;
}

.analytics-management-action-toolbar {
    align-items: end;
}

.analytics-management-action-reading {
    padding: clamp(0.9rem, 2vw, 1.1rem);
    border: 1px solid rgba(111, 86, 165, 0.22);
    border-radius: 0.8rem;
    background: linear-gradient(135deg, rgba(111, 86, 165, 0.075), rgba(111, 86, 165, 0.015));
}

.analytics-management-action-reading h3 {
    margin: 0.22rem 0 0;
    font-size: clamp(1.05rem, 2vw, 1.25rem);
}

.analytics-management-action-sides {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.analytics-management-action-sides > article {
    display: grid;
    align-content: start;
    gap: 0.3rem;
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--border);
    border-radius: 0.72rem;
    background: var(--app-surface-subtle);
}

.analytics-management-action-sides h4 {
    margin: 0;
    font-size: 0.92rem;
}

.analytics-management-action-sides > article > strong {
    font-size: 1.15rem;
}

.analytics-management-action-sides .ui-commandlink,
.analytics-management-protection-rows .ui-commandlink,
.analytics-management-later-model-grid .ui-commandlink {
    justify-self: start;
    margin-top: 0.2rem;
    font-size: 0.72rem;
    font-weight: 800;
}

.analytics-management-detail {
    margin-top: 1rem;
}

.analytics-management-detail-section {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}

.analytics-management-detail-section + .analytics-management-detail-section {
    padding-top: 1rem;
}

.analytics-management-detail-section > header h3,
.analytics-management-method h3 {
    margin: 0.22rem 0 0;
    font-size: 1.02rem;
}

.analytics-management-detail-section > header p,
.analytics-management-method p {
    font-size: 0.78rem;
}

.analytics-management-protection-rows {
    margin-top: 0.65rem;
}

.analytics-management-empty-note {
    margin-top: 0.65rem;
    padding: 0.8rem 0.9rem;
    border: 1px dashed var(--border);
    border-radius: 0.7rem;
    background: var(--app-surface-subtle);
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.analytics-management-protection-rows > article {
    display: grid;
    grid-template-columns: minmax(13rem, 0.8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 1rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--border);
}

.analytics-management-protection-rows > article:last-child {
    border-bottom: 0;
}

.analytics-management-protection-rows > article.has-incidents {
    color: #8a4c0b;
}

.analytics-management-protection-rows > article > div {
    display: grid;
    gap: 0.15rem;
}

.analytics-management-protection-rows p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.72rem;
    line-height: 1.5;
}

.analytics-management-exit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 0.7rem;
}

.analytics-management-exit-grid > article {
    display: grid;
    align-content: start;
    gap: 0.32rem;
    min-width: 0;
    padding: 0.8rem;
    border: 1px solid var(--border);
    border-radius: 0.7rem;
    background: var(--app-surface-subtle);
}

.analytics-management-later-model-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.7rem;
    margin-top: 0.85rem;
}

.analytics-management-later-model-grid > article {
    display: grid;
    align-content: start;
    gap: 0.25rem;
    padding: 0.8rem;
    border: 1px solid var(--border);
    border-radius: 0.7rem;
    background: var(--app-surface-subtle);
}

.analytics-management-later-model-grid > article > strong {
    font-size: 0.95rem;
}

.analytics-management-method {
    padding-top: 1rem;
}

/* Mejora: one visible question, one prospective focus and one review at a time. */
.learning-page-heading {
    align-items: flex-end;
    margin-bottom: 1rem;
}

.learning-page-heading > div:first-child {
    max-width: 58rem;
}

.learning-page-heading .muted {
    max-width: 52rem;
    line-height: 1.55;
}

.learning-page-scope {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 15rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid rgba(13, 118, 110, 0.2);
    border-radius: 0.85rem;
    background: rgba(13, 118, 110, 0.055);
}

.learning-page-scope > i {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.7rem;
    background: var(--primary);
    color: #fff;
}

.learning-page-scope > div {
    display: grid;
    gap: 0.08rem;
}

.learning-page-scope span,
.learning-page-scope small {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.learning-page-scope strong {
    font-size: 0.9rem;
}

.learning-cycle {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 1rem;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
    box-shadow: 0 0.35rem 1.2rem rgba(20, 36, 50, 0.04);
    list-style: none;
    overflow: hidden;
}

.learning-cycle > li {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    padding: 0.85rem 1rem;
    border-right: 1px solid var(--border);
    color: var(--text-muted);
}

.learning-cycle > li:last-child {
    border-right: 0;
}

.learning-cycle > li > span {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--app-border-strong);
    border-radius: 50%;
    background: var(--surface-muted);
    font-size: 0.76rem;
    font-weight: 850;
}

.learning-cycle > li > div {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}

.learning-cycle strong {
    color: inherit;
    font-size: 0.86rem;
}

.learning-cycle small {
    overflow: hidden;
    font-size: 0.72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.learning-cycle > li.is-current {
    background: var(--primary-soft);
    color: var(--primary-dark);
}

.learning-cycle > li.is-current > span {
    border-color: var(--primary);
    background: var(--primary);
    color: #fff;
}

.learning-cycle > li.is-complete > span {
    border-color: rgba(38, 116, 74, 0.35);
    background: rgba(38, 116, 74, 0.1);
    color: var(--success);
}

.learning-workspace {
    display: grid;
    gap: 1rem;
}

.learning-state-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border-left: 0.24rem solid var(--primary);
    border-radius: 0.75rem;
    background: var(--surface);
    box-shadow: 0 0.35rem 1.2rem rgba(20, 36, 50, 0.045);
}

.learning-state-intro > div {
    max-width: 62rem;
}

.learning-state-intro h2 {
    margin: 0.25rem 0 0;
    font-size: clamp(1.25rem, 2.2vw, 1.7rem);
    letter-spacing: -0.025em;
}

.learning-state-intro p {
    margin: 0.4rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-state-count,
.learning-state-badge {
    flex: 0 0 auto;
    padding: 0.4rem 0.65rem;
    border: 1px solid rgba(13, 118, 110, 0.25);
    border-radius: 999px;
    background: rgba(13, 118, 110, 0.07);
    color: var(--primary-dark);
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.learning-state-badge.is-ready {
    border-color: rgba(38, 116, 74, 0.3);
    background: rgba(38, 116, 74, 0.1);
    color: var(--success);
}

.learning-discovery-layout {
    display: grid;
    grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.75fr);
    align-items: start;
    gap: 1rem;
    margin-top: 1rem;
}

.learning-discovery-layout.is-single {
    grid-template-columns: minmax(0, 1fr);
}

.learning-discovery-selector {
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--app-surface-subtle);
}

.learning-selector-heading {
    display: grid;
    gap: 0.25rem;
    padding: 0.15rem 0.15rem 0.75rem;
}

.learning-selector-heading span {
    color: var(--text-muted);
    font-size: 0.76rem;
    line-height: 1.4;
}

.learning-discovery-list.ui-dataview {
    border: 0;
}

.learning-discovery-list .ui-dataview-content,
.learning-discovery-list .ui-dataview-list {
    padding: 0;
    border: 0;
    background: transparent;
}

.learning-discovery-list .ui-dataview-row {
    margin: 0 0 0.55rem;
    border: 0;
}

.learning-discovery-list .ui-paginator {
    padding: 0.45rem 0 0;
    border: 0;
    background: transparent;
}

.learning-discovery-item {
    position: relative;
    display: grid;
    gap: 0.32rem;
    min-width: 0;
    padding: 0.78rem 2.35rem 0.78rem 0.82rem;
    border: 1px solid var(--border);
    border-radius: 0.72rem;
    background: var(--surface);
    color: var(--text);
    text-decoration: none;
    transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.learning-discovery-item:hover,
.learning-discovery-item:focus-visible {
    border-color: rgba(13, 118, 110, 0.45);
    box-shadow: 0 0.4rem 1rem rgba(20, 36, 50, 0.08);
    text-decoration: none;
    transform: translateY(-1px);
}

.learning-discovery-item.is-selected {
    border-color: var(--primary);
    background: var(--primary-soft);
    box-shadow: 0 0 0 0.11rem rgba(13, 118, 110, 0.09);
}

.learning-discovery-item > strong {
    overflow-wrap: anywhere;
    line-height: 1.35;
}

.learning-discovery-item > span:not(.learning-discovery-item-topline),
.learning-discovery-item-topline small {
    color: var(--text-muted);
    font-size: 0.7rem;
}

.learning-discovery-item-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.learning-discovery-item-topline b {
    color: var(--primary-dark);
    font-size: 0.68rem;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.learning-discovery-item > i {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    color: var(--primary);
    transform: translateY(-50%);
}

.learning-recommendation,
.learning-focus-state {
    min-width: 0;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid rgba(13, 118, 110, 0.28);
    border-top: 0.26rem solid var(--primary);
    border-radius: 1rem;
    background:
        radial-gradient(circle at 96% 3%, rgba(13, 118, 110, 0.1), transparent 29%),
        var(--surface);
    box-shadow: 0 0.75rem 2rem rgba(20, 36, 50, 0.06);
}

.learning-recommendation-header,
.learning-focus-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.learning-recommendation-header > div,
.learning-focus-header > div {
    max-width: 67rem;
}

.learning-recommendation-header h2,
.learning-focus-header h2 {
    margin: 0.3rem 0 0;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    letter-spacing: -0.035em;
    line-height: 1.15;
}

.learning-focus-header p {
    margin: 0.5rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-focus-header .learning-focus-question {
    color: var(--primary-dark);
    font-size: 0.78rem;
    font-weight: 750;
}

.learning-reading-context {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
    padding: 0.8rem 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.learning-reading-context > section {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.learning-reading-context > section + section {
    padding-left: 1rem;
    border-left: 1px solid var(--border);
}

.learning-reading-context span,
.learning-cohort-comparison section > span,
.learning-reading-meaning span,
.learning-reading-follow-up span {
    color: var(--text-muted);
    font-size: 0.69rem;
    font-weight: 850;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.learning-reading-context strong {
    overflow-wrap: anywhere;
}

.learning-cohort-comparison {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.learning-cohort-comparison > section {
    display: grid;
    align-content: center;
    gap: 0.35rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: var(--app-surface-subtle);
}

.learning-cohort-comparison > section > strong {
    overflow-wrap: anywhere;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.learning-cohort-comparison > section > small {
    color: var(--text-muted);
    line-height: 1.4;
}

.learning-cohort-comparison > div {
    display: grid;
    place-items: center;
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 800;
}

.learning-reading-meaning,
.learning-reading-follow-up {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-top: 0.9rem;
    padding: 0.9rem 1rem;
    border-radius: 0.78rem;
}

.learning-reading-meaning {
    background: rgba(13, 118, 110, 0.055);
}

.learning-reading-follow-up {
    border: 1px solid rgba(111, 86, 165, 0.18);
    background: rgba(111, 86, 165, 0.045);
}

.learning-reading-meaning > i,
.learning-reading-follow-up > i {
    display: grid;
    width: 2.15rem;
    height: 2.15rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.65rem;
    background: var(--surface);
    color: var(--primary-dark);
}

.learning-reading-follow-up > i {
    color: #6f56a5;
}

.learning-reading-meaning > div,
.learning-reading-follow-up > div {
    display: grid;
    min-width: 0;
    gap: 0.22rem;
}

.learning-reading-meaning p,
.learning-reading-follow-up p {
    margin: 0.15rem 0 0;
    line-height: 1.5;
}

.learning-reading-meaning small,
.learning-reading-follow-up small {
    color: var(--text-muted);
    line-height: 1.45;
}

.learning-recommendation-story {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 1.1rem;
}

.learning-recommendation-story > section {
    padding: 0.95rem 1rem;
    border-radius: 0.8rem;
    background: var(--app-surface-subtle);
}

.learning-recommendation-story > section:first-child {
    border-left: 0.2rem solid var(--primary);
}

.learning-recommendation-story > section:last-child {
    border-left: 0.2rem solid #6f56a5;
}

.learning-recommendation-story span,
.learning-reference-strip span,
.learning-method-grid span,
.learning-focus-contract span,
.learning-progress-facts span,
.learning-focus-context span,
.learning-review-results span,
.learning-before-after span,
.learning-manual-preview > span {
    color: var(--text-muted);
    font-size: 0.69rem;
    font-weight: 850;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.learning-recommendation-story p {
    margin: 0.4rem 0 0;
    line-height: 1.55;
}

.learning-reference-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: rgba(255, 255, 255, 0.76);
    overflow: hidden;
}

.learning-reference-strip > section {
    display: grid;
    align-content: start;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.9rem 1rem;
}

.learning-reference-strip > section + section {
    border-left: 1px solid var(--border);
}

.learning-reference-strip strong {
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.learning-reference-strip small {
    color: var(--text-muted);
    line-height: 1.4;
}

.learning-recommendation-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
}

.learning-recommendation-actions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.learning-recommendation-actions .ui-button {
    min-height: 2.75rem;
}

.learning-workspace .ui-button:focus-visible,
.learning-workspace .ui-panel-titlebar-icon:focus-visible {
    outline: 3px solid var(--app-focus-ring) !important;
    outline-offset: 2px;
}

.learning-recommendation-actions > p {
    max-width: 31rem;
    margin: 0;
    color: var(--text-muted);
    font-size: 0.76rem;
    line-height: 1.45;
    text-align: right;
}

.learning-method-panel,
.learning-secondary-panel {
    margin-top: 0.9rem;
    border-color: var(--border);
    border-radius: 0.82rem;
}

.learning-method-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.learning-method-grid > div {
    display: grid;
    gap: 0.3rem;
}

.learning-method-panel p {
    margin: 0.65rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-empty-action {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    margin-top: 1rem;
    padding: 1.15rem;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
}

.learning-empty-action > i {
    margin-top: 0.15rem;
    color: var(--success);
    font-size: 1.4rem;
}

.learning-empty-action p,
.learning-strength p,
.learning-own-hypothesis p,
.learning-evidence-gap p {
    margin: 0.35rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-empty-action .ui-button {
    margin-top: 0.85rem;
}

.learning-evidence-gap {
    display: grid;
    gap: 0.22rem;
    margin-top: 0.9rem;
    padding: 0.8rem 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.learning-evidence-gap > span {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.learning-strength {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding: 0.85rem 1rem;
    border-left: 0.22rem solid var(--success);
    border-radius: 0.68rem;
    background: rgba(38, 116, 74, 0.055);
}

.learning-strength > i {
    margin-top: 0.1rem;
    color: var(--success);
}

.learning-strength > div {
    display: grid;
    gap: 0.16rem;
}

.learning-own-hypothesis {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.85rem;
    padding: 0.9rem 1rem;
    border: 1px dashed var(--app-border-strong);
    border-radius: 0.8rem;
    background: var(--surface-muted);
}

.learning-own-hypothesis > div {
    display: grid;
    gap: 0.18rem;
}

.learning-focus-state.is-ready {
    border-color: rgba(38, 116, 74, 0.3);
    border-top-color: var(--success);
    background:
        radial-gradient(circle at 96% 3%, rgba(38, 116, 74, 0.11), transparent 29%),
        var(--surface);
}

.learning-focus-contract {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 1.1rem;
}

.learning-focus-contract > section {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--border);
    border-radius: 0.78rem;
    background: var(--app-surface-subtle);
}

.learning-focus-contract i {
    display: grid;
    width: 2.15rem;
    height: 2.15rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.65rem;
    background: var(--primary-soft);
    color: var(--primary-dark);
}

.learning-focus-contract > section > div {
    display: grid;
    gap: 0.3rem;
}

.learning-focus-contract strong {
    font-size: 0.9rem;
    line-height: 1.5;
}

.learning-progress-card {
    margin-top: 0.9rem;
    padding: 1rem;
    border-radius: 0.85rem;
    background: var(--surface-muted);
}

.learning-progress-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.learning-progress-heading > div {
    display: grid;
    gap: 0.18rem;
}

.learning-progress-heading > span {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.learning-progressbar {
    height: 0.65rem;
    margin-top: 0.75rem;
    border-radius: 999px;
}

.learning-progressbar .ui-progressbar-label {
    display: none;
}

.learning-progress-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
    margin-top: 0.85rem;
}

.learning-progress-facts > div {
    display: grid;
    gap: 0.2rem;
    padding: 0.75rem;
    border-radius: 0.68rem;
    background: var(--surface);
}

.learning-progress-facts strong {
    font-size: 1.05rem;
}

.learning-progress-facts small {
    color: var(--text-muted);
    line-height: 1.4;
}

.learning-provisional-reading {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin-top: 0.8rem;
    padding-top: 0.8rem;
    border-top: 1px solid var(--border);
}

.learning-provisional-reading > i {
    margin-top: 0.12rem;
    color: var(--primary);
}

.learning-provisional-reading > div {
    display: grid;
    gap: 0.15rem;
}

.learning-provisional-reading span {
    font-weight: 800;
}

.learning-provisional-reading p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-focus-context {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 0.95rem;
}

.learning-focus-context > section {
    padding-top: 0.75rem;
    border-top: 1px solid var(--border);
}

.learning-focus-context p {
    margin: 0.35rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-focus-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--border);
}

.learning-focus-footer p {
    max-width: 47rem;
    margin: 0;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.learning-review-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 1rem;
}

.learning-review-results > section {
    padding: 1rem;
    border: 1px solid rgba(38, 116, 74, 0.2);
    border-radius: 0.78rem;
    background: rgba(38, 116, 74, 0.045);
}

.learning-review-results strong {
    display: block;
    margin-top: 0.35rem;
}

.learning-review-results p {
    margin: 0.35rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-before-after {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.9rem;
}

.learning-before-after > section {
    display: grid;
    gap: 0.32rem;
    min-width: 0;
    padding: 0.9rem 1rem;
    border: 1px solid var(--border);
    border-radius: 0.78rem;
    background: var(--surface);
}

.learning-before-after > i {
    color: var(--primary);
}

.learning-before-after strong {
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.learning-before-after small {
    color: var(--text-muted);
}

.learning-review-decision {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 0.82rem;
    background: var(--surface-muted);
}

.learning-review-decision > div:first-child {
    max-width: 50rem;
}

.learning-review-decision h3 {
    margin: 0.25rem 0 0;
}

.learning-review-decision p {
    margin: 0.35rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-review-decision > div:last-child {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.learning-secondary-panel > .ui-panel-content {
    padding: 1rem;
}

.learning-evidence-content {
    display: grid;
    gap: 1.25rem;
}

.learning-secondary-heading h3 {
    margin: 0;
}

.learning-secondary-heading p,
.learning-method-note {
    margin: 0.25rem 0 0.65rem;
    color: var(--text-muted);
    font-size: 0.78rem;
}

.learning-evidence-table small,
.learning-history-table small {
    display: block;
    margin-top: 0.2rem;
    color: var(--text-muted);
}

.learning-method-note {
    padding-top: 0.8rem;
    border-top: 1px solid var(--border);
    line-height: 1.5;
}

.learning-history-panel {
    margin-top: 0;
}

.learning-history-section + .learning-history-section {
    margin-top: 1.35rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--border);
}

.ui-dialog.learning-manual-dialog {
    width: min(47.5rem, calc(100vw - 1.5rem)) !important;
    max-width: calc(100vw - 1.5rem);
}

.learning-manual-dialog .ui-dialog-content {
    padding: 0 1.35rem 1.1rem;
    overflow-x: hidden;
}

.learning-manual-dialog .app-dialog-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.learning-manual-content {
    display: grid;
    gap: 1rem;
}

.learning-manual-form {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(15rem, 0.65fr);
    gap: 1rem;
}

.learning-manual-form > .app-field:first-child,
.learning-manual-preview,
.learning-manual-form > .app-field:last-child {
    grid-column: 1 / -1;
}

.learning-manual-form .ui-selectonemenu,
.learning-manual-form .ui-inputtextarea {
    width: 100%;
}

.learning-manual-form .ui-selectonebutton {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.learning-manual-form .ui-selectonebutton .ui-button {
    justify-content: center;
    min-width: 0;
}

.learning-manual-form .app-field {
    display: grid;
    align-content: start;
    gap: 0.4rem;
    min-width: 0;
}

.learning-manual-form .app-field > small {
    color: var(--text-muted);
    line-height: 1.4;
}

.learning-manual-preview {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    border-left: 0.22rem solid var(--primary);
    border-radius: 0.65rem;
    background: rgba(13, 118, 110, 0.055);
}

.learning-manual-preview p {
    margin: 0.1rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-dialog-empty {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.learning-dialog-empty > i {
    margin-top: 0.12rem;
    color: var(--primary);
}

.learning-dialog-empty h3,
.learning-dialog-empty p {
    margin: 0;
}

.learning-dialog-empty p {
    margin-top: 0.3rem;
    color: var(--text-muted);
    line-height: 1.5;
}

@media (max-width: 960px) {
    .learning-discovery-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .learning-discovery-selector {
        padding: 0.75rem;
    }

    .learning-discovery-list .ui-dataview-content {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .learning-discovery-list .ui-dataview-row {
        margin: 0;
    }

    .learning-review-decision {
        align-items: stretch;
        flex-direction: column;
    }

    .learning-review-decision > div:last-child {
        justify-content: flex-start;
    }
}

@media (max-width: 720px) {
    .learning-page-heading,
    .learning-state-intro,
    .learning-recommendation-header,
    .learning-focus-header,
    .learning-recommendation-actions,
    .learning-focus-footer,
    .learning-own-hypothesis,
    .learning-progress-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .learning-page-scope {
        width: 100%;
    }

    .learning-cycle {
        grid-template-columns: minmax(0, 1fr);
    }

    .learning-cycle > li {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .learning-cycle > li:last-child {
        border-bottom: 0;
    }

    .learning-cycle small {
        white-space: normal;
    }

    .learning-state-count,
    .learning-state-badge {
        align-self: flex-start;
    }

    .learning-discovery-list .ui-dataview-content,
    .learning-reading-context,
    .learning-recommendation-story,
    .learning-reference-strip,
    .learning-method-grid,
    .learning-focus-contract,
    .learning-progress-facts,
    .learning-focus-context,
    .learning-review-results,
    .learning-manual-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .learning-reading-context > section + section {
        padding-top: 0.7rem;
        padding-left: 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .learning-cohort-comparison {
        grid-template-columns: minmax(0, 1fr);
    }

    .learning-cohort-comparison > div {
        min-height: 1rem;
    }

    .learning-reference-strip > section + section {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .learning-recommendation-actions > p {
        max-width: none;
        text-align: left;
    }

    .learning-recommendation-actions > div,
    .learning-review-decision > div:last-child {
        align-items: stretch;
        flex-direction: column;
    }

    .learning-recommendation-actions .ui-button,
    .learning-review-decision .ui-button,
    .learning-own-hypothesis .ui-button,
    .learning-focus-footer .ui-button {
        width: 100%;
    }

    .learning-before-after {
        grid-template-columns: minmax(0, 1fr);
    }

    .learning-before-after > i {
        justify-self: center;
        transform: rotate(90deg);
    }
}

@media (max-width: 480px) {
    .learning-reading-meaning > i,
    .learning-reading-follow-up > i {
        display: none;
    }

    .learning-manual-dialog .ui-dialog-content {
        padding: 0 0.85rem 0.85rem;
    }

    .learning-manual-form .ui-selectonebutton {
        grid-template-columns: minmax(0, 1fr);
    }

    .learning-manual-dialog .app-dialog-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .learning-manual-dialog .app-dialog-actions .ui-button {
        width: 100%;
    }
}

/* Operations: the screen follows the decisions a trader makes, not the storage model. */
.operations-page-heading {
    margin-bottom: 1rem;
}

.operation-trader-header-content,
.operation-market-cell,
.review-save-row {
    display: flex;
    align-items: center;
}

.operation-trader-header-content,
.review-save-row {
    justify-content: space-between;
    gap: 1rem;
}

.operation-trader-identity,
.operation-journey-copy,
.review-coach-heading,
.review-coach-block,
.review-coach-action > div,
.review-strength > div,
.review-fact > div {
    display: grid;
    gap: 0.25rem;
}

.operation-result-count,
.review-evidence-summary,
.review-reference-links > span,
.review-note-field small,
.review-save-row small {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.operation-result-count {
    flex: 0 0 auto;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: var(--surface-muted);
    font-weight: 800;
}

.operation-quick-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.85rem;
}

.operation-quick-filters .ui-button {
    margin: 0;
    border-color: var(--border);
    color: var(--text-muted);
}

.operation-quick-filters .ui-button.is-active {
    border-color: var(--primary);
    background: rgba(13, 118, 110, 0.08);
    color: var(--primary-dark);
    box-shadow: 0 0 0 0.16rem rgba(13, 118, 110, 0.08);
}

.trader-operation-table .ui-datatable-data > tr > td {
    vertical-align: middle;
}

.trader-operation-table .ui-datatable-data > tr:hover {
    background: rgba(13, 118, 110, 0.035);
}

.operation-market-cell {
    flex-wrap: wrap;
    gap: 0.4rem;
}

.review-evidence {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
}

.review-evidence-supported {
    background: #e6f4ec;
    color: var(--success);
}

.review-evidence-exploratory {
    background: #fff3d6;
    color: #865c00;
}

.review-evidence-insufficient {
    background: var(--surface-muted);
    color: var(--text-muted);
}

.operation-trader-header {
    display: grid;
    gap: 0.8rem;
    padding-bottom: 1rem;
}

.operation-trader-header-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(27rem, 0.95fr);
    align-items: stretch;
    gap: 1rem;
    min-width: 0;
}

.operation-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.operation-back-link:hover {
    color: var(--primary-dark);
}

.operation-trader-identity {
    align-content: center;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.35rem 0;
}

.operation-heading-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.operation-trader-identity h1 {
    margin: 0;
    font-size: clamp(1.65rem, 4vw, 2.45rem);
    letter-spacing: -0.045em;
}

.operation-heading-direction {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    width: fit-content;
    padding: 0.3rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
}

.operation-heading-direction > i {
    font-size: 0.9rem;
}

.operation-heading-state {
    display: inline-flex;
    padding: 0.28rem 0.52rem;
    border-radius: 999px;
    background: var(--surface-muted);
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 800;
}

.operation-heading-meta,
.operation-heading-thesis {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0;
    line-height: 1.4;
}

.operation-heading-meta {
    color: var(--text-muted);
    font-size: 0.82rem;
}

.operation-heading-thesis {
    font-size: 0.9rem;
}

.operation-heading-meta > i,
.operation-heading-thesis > i {
    width: 1rem;
    margin-top: 0.16rem;
    color: var(--primary);
    font-size: 0.78rem;
    text-align: center;
}

.operation-heading-thesis.operation-context-pending > i {
    color: var(--app-warning);
}

.operation-position-snapshot {
    display: grid;
    grid-template-columns: minmax(9.5rem, 0.7fr) minmax(0, 1.3fr);
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(13, 118, 110, 0.25);
    border-radius: 1rem;
    background:
        radial-gradient(circle at 100% 0, rgba(13, 118, 110, 0.08), transparent 45%),
        var(--surface);
}

.operation-position-snapshot-open {
    border-color: var(--border);
    background: var(--surface);
}

.operation-snapshot-primary {
    display: grid;
    align-content: center;
    gap: 0.25rem;
    min-width: 0;
    padding-right: 1rem;
    border-right: 1px solid var(--border);
}

.operation-snapshot-primary > span,
.operation-snapshot-facts dt {
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1.45;
    text-transform: uppercase;
}

.operation-snapshot-primary > strong {
    overflow-wrap: anywhere;
    font-size: clamp(1.2rem, 1.7vw, 1.6rem);
    line-height: 1.1;
}

.operation-snapshot-primary > small,
.operation-snapshot-refresh {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.operation-snapshot-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    min-width: 0;
    margin: 0;
}

.operation-snapshot-facts > div {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.operation-snapshot-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 0.84rem;
    font-weight: 800;
}

.operation-snapshot-facts small {
    color: var(--text-muted);
    font-size: 0.7rem;
    line-height: 1.35;
}

.operation-financial-note,
.analytics-financial-note {
    margin: 0.85rem 0 0;
    padding-top: 0.8rem;
    border-top: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.75rem;
    line-height: 1.5;
}

.operation-snapshot-refresh {
    grid-column: 2;
}

.operation-snapshot-refresh > i {
    margin-right: 0.25rem;
    color: var(--primary);
}

.operation-mobile-section-navigation {
    display: none;
}

.operation-tabs .ui-tabs-panel > .operation-section:first-child,
.operation-tabs .ui-tabs-panel > .operation-summary-content > .operation-section:first-child {
    margin-top: 1.75rem;
}

.operation-journey-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
    gap: 0.75rem;
}

.operation-journey-card,
.operation-attention-item {
    width: 100%;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font: inherit;
    text-align: left;
    text-decoration: none;
}

.operation-journey-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.7rem;
    min-height: 7.2rem;
    padding: 1rem;
    border-radius: 0.85rem;
}

.operation-journey-card:hover,
.operation-attention-item:hover {
    border-color: rgba(13, 118, 110, 0.45);
    background: rgba(13, 118, 110, 0.035);
    box-shadow: 0 0.5rem 1.4rem rgba(20, 36, 50, 0.06);
}

.operation-journey-card:focus-visible,
.operation-attention-item:focus-visible {
    outline: 3px solid rgba(13, 118, 110, 0.25);
    outline-offset: 2px;
}

.operation-journey-icon {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 0.65rem;
    background: rgba(13, 118, 110, 0.1);
    color: var(--primary-dark);
}

.operation-journey-copy {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
}

.operation-journey-copy strong {
    font-size: 0.95rem;
}

.operation-journey-copy small {
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.45;
}

.review-coach-block > span,
.review-coach-action span,
.review-strength span,
.review-reference-links > span {
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.operation-journey-action {
    display: inline-flex;
    grid-column: 2;
    align-items: center;
    gap: 0.35rem;
    color: var(--primary);
    font-size: 0.75rem;
    font-weight: 800;
}

.operation-journey-action > i {
    color: var(--primary);
    font-size: 0.72rem;
}

.operation-attention-list,
.operation-detail-panels,
.phase-audit-list,
.review-fact-list {
    display: grid;
    gap: 0.75rem;
}

.operation-attention-list {
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
}

.operation-attention-section .operation-section-heading h2 {
    font-size: 1.05rem;
}

.operation-attention-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 0.75rem;
}

.operation-attention-item > i:first-child {
    color: #b67805;
}

.operation-attention-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.operation-attention-item small,
.phase-audit-item p,
.review-fact p,
.review-strength p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.45;
}

.operation-attention-action {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--primary);
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

.operation-attention-action > i {
    font-size: 0.72rem;
}

.operation-detail-panels {
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.operation-detail-panels .operations-card,
.protection-history-panel {
    margin-top: 0;
}

.operation-key-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    background: var(--surface);
}

.operation-key-facts > div {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
    padding: 1rem;
}

.operation-key-facts > div + div {
    border-left: 1px solid var(--border);
}

.operation-key-facts dt,
.strategy-risk-facts dt {
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1.45;
    text-transform: uppercase;
}

.operation-key-facts dd,
.strategy-risk-facts dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 0.95rem;
    font-weight: 850;
}

.strategy-context-section > form {
    width: 100%;
}

.strategy-setup-feedback {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid color-mix(in srgb, var(--app-warning) 38%, var(--border));
    border-radius: 0.8rem;
    background: color-mix(in srgb, var(--app-warning) 8%, var(--surface));
}

.strategy-setup-feedback > i {
    margin-top: 0.12rem;
    color: var(--app-warning);
}

.strategy-setup-feedback p,
.strategy-saved-summary-heading p,
.strategy-saved-note,
.strategy-optional-block p,
.strategy-risk-primary p,
.strategy-risk-unavailable p {
    margin: 0.3rem 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.strategy-saved-summary {
    display: grid;
    gap: 1.15rem;
    padding: clamp(1rem, 2vw, 1.4rem);
    border: 1px solid color-mix(in srgb, var(--primary-color) 24%, var(--border));
    border-radius: 0.9rem;
    background:
        radial-gradient(circle at 100% 0, rgba(13, 118, 110, 0.065), transparent 28rem),
        var(--surface);
}

.strategy-saved-summary-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.strategy-saved-summary-heading h3,
.strategy-saved-details h4,
.strategy-optional-block h4 {
    margin: 0.25rem 0 0;
}

.strategy-saved-summary-heading > div {
    min-width: 0;
}

.strategy-saved-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
    gap: 1rem 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.strategy-saved-details > section {
    display: grid;
    align-content: start;
    gap: 0.65rem;
    min-width: 0;
}

.strategy-saved-details h4 {
    font-size: 0.82rem;
}

.strategy-saved-note {
    white-space: pre-line;
}

.strategy-saved-at {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.strategy-saved-at {
    padding-top: 0.85rem;
    border-top: 1px solid var(--border);
}

.strategy-setup-editor {
    display: grid;
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.25rem);
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    background: var(--surface);
}

.strategy-flow-step-primary {
    margin-top: 1.35rem;
    padding-top: 1.35rem;
}

.strategy-setup-editor > .strategy-flow-step:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.strategy-optional-label {
    margin-left: 0.35rem;
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 600;
}

.strategy-thesis-details {
    display: grid;
    gap: 1.15rem;
    min-width: 0;
    margin-top: 1.15rem;
}

.strategy-setup-extras {
    display: grid;
    gap: 1.15rem;
    min-width: 0;
    margin-top: 1.35rem;
    padding-top: 1.35rem;
    border-top: 1px solid var(--border);
}

.strategy-optional-block {
    margin: 0;
    padding: 0;
    border: 0;
}

.strategy-optional-block .strategy-subsection-heading {
    align-items: flex-start;
}

.strategy-optional-block h4 {
    font-size: 1rem;
}

.strategy-add-confluence-action {
    margin-left: auto;
}

.strategy-additional-models {
    max-width: 36rem;
    margin-top: 0.8rem;
}

.strategy-optional-confirmations {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.8rem;
}

.strategy-repeat-field {
    display: grid;
    align-content: end;
    gap: 0.35rem;
    min-width: 0;
}

.strategy-repeat-field > label {
    color: var(--text);
    font-size: 0.75rem;
    font-weight: 800;
}

.strategy-repeat-field .ui-selectonemenu,
.strategy-additional-models .ui-selectcheckboxmenu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
}

.strategy-repeat-field .ui-selectonemenu-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.strategy-context-reading-row,
.strategy-confluence-row {
    align-items: end;
    padding: 0.8rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.strategy-confluence-row {
    align-items: start;
}

.strategy-context-observations {
    display: grid;
    grid-column: 1 / -1;
    gap: 0.65rem;
    padding-top: 0.2rem;
}

.strategy-context-observations .strategy-subsection-heading small {
    display: block;
    margin-top: 0.2rem;
    color: var(--text-muted);
}

.strategy-context-observations .strategy-confluence-row {
    background: var(--surface);
}

.strategy-remove-row {
    align-self: end;
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
    margin: 0;
}

.strategy-confluence-row > .strategy-remove-row {
    align-self: start;
    margin-top: 1.35rem;
}

.strategy-note-block {
    padding-bottom: 0.25rem;
}

.strategy-editor-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border);
}

.strategy-save-later {
    margin-right: auto;
}

.strategy-risk-summary {
    padding: clamp(1rem, 2vw, 1.25rem);
}

.strategy-risk-reading {
    display: grid;
    grid-template-columns: minmax(14rem, 0.7fr) minmax(0, 1.8fr);
    gap: 1rem;
    min-width: 0;
}

.strategy-risk-primary {
    display: grid;
    align-content: center;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.9rem 1rem;
    border-left: 0.25rem solid var(--primary-color);
    border-radius: 0 0.7rem 0.7rem 0;
    background: color-mix(in srgb, var(--primary-color) 5%, var(--surface));
}

.strategy-risk-primary > span {
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1.45;
    text-transform: uppercase;
}

.strategy-risk-primary > strong {
    overflow-wrap: anywhere;
    font-size: 1.2rem;
}

.strategy-risk-primary p,
.strategy-risk-unavailable p {
    font-size: 0.78rem;
}

.strategy-risk-unavailable {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.85rem 1rem;
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.strategy-risk-unavailable > i {
    margin-top: 0.12rem;
    color: var(--text-muted);
}

.strategy-risk-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    align-items: stretch;
    min-width: 0;
    margin: 0;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    overflow: hidden;
}

.strategy-risk-facts > div {
    display: grid;
    align-content: center;
    gap: 0.3rem;
    min-width: 0;
    padding: 0.8rem;
}

.strategy-risk-facts > div + div {
    border-left: 1px solid var(--border);
}

.strategy-entry-discipline {
    display: block;
}

.strategy-entry-discipline .phase-audit-list {
    margin-top: 0.85rem;
}

.entry-risk-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.strategy-entry-objective,
.phase-discipline-block {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.85rem;
    background: var(--surface);
}

.phase-discipline-block {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.phase-discipline-block.strategy-entry-discipline {
    display: block;
}

.strategy-entry-discipline .phase-audit-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.phase-discipline-column + .phase-discipline-column {
    padding-left: 1rem;
    border-left: 1px solid var(--border);
}

.phase-audit-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.7rem;
    padding: 0.75rem;
    border: 1px solid var(--border);
    border-radius: 0.7rem;
    background: var(--surface-muted);
}

.phase-audit-item strong {
    display: block;
    margin-bottom: 0.18rem;
}

.phase-compliant-note {
    display: block;
    margin-top: 0.6rem;
    color: var(--text-muted);
}

.management-opportunity-section,
.management-activity-section,
.management-discipline-section,
.trader-review-section,
.review-discipline-section {
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.management-opportunity-section {
    padding: clamp(1rem, 2.2vw, 1.45rem);
    border: 1px solid color-mix(in srgb, var(--primary-color) 24%, var(--border));
    border-radius: 1rem;
    background:
        radial-gradient(circle at 96% 0, rgba(13, 118, 110, 0.065), transparent 26rem),
        var(--surface);
}

.management-opportunity-content {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.management-opportunity-comparison {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
}

.management-opportunity-comparison article {
    display: grid;
    align-content: center;
    gap: 0.35rem;
    min-width: 0;
    padding: 1.1rem 1.2rem;
}

.management-opportunity-comparison article > span,
.management-capture-reading span,
.management-secondary-facts span,
.management-protection-reading span {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1.4;
    text-transform: uppercase;
}

.management-opportunity-comparison article > strong {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: clamp(1.35rem, 3vw, 1.8rem);
}

.management-opportunity-comparison article > small,
.management-capture-reading small,
.management-secondary-facts small {
    min-height: 1rem;
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 750;
}

.management-comparison-separator {
    display: flex;
    width: 7.5rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border-right: 1px solid var(--border);
    border-left: 1px solid var(--border);
    background: var(--surface-muted);
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-align: center;
    text-transform: uppercase;
}

.management-comparison-separator i {
    color: var(--primary-color);
    font-size: 1rem;
}

.management-opportunity-insight {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.85rem 1rem;
    border-left: 0.25rem solid var(--primary-color);
    border-radius: 0 0.75rem 0.75rem 0;
    background: color-mix(in srgb, var(--primary-color) 6%, var(--surface));
}

.management-opportunity-insight.is-warning {
    border-left-color: var(--app-warning);
    background: color-mix(in srgb, var(--app-warning) 7%, var(--surface));
}

.management-opportunity-insight > i {
    margin-top: 0.15rem;
    color: var(--primary-color);
}

.management-opportunity-insight.is-warning > i {
    color: var(--app-warning);
}

.management-opportunity-insight p {
    margin: 0;
    line-height: 1.5;
}

.management-capture-reading,
.management-secondary-facts,
.management-protection-reading {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: var(--surface);
}

.management-capture-reading article,
.management-secondary-facts article,
.management-protection-reading article {
    display: grid;
    align-content: center;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.85rem 1rem;
}

.management-capture-reading article + article,
.management-secondary-facts article + article,
.management-protection-reading article + article {
    border-left: 1px solid var(--border);
}

.management-capture-reading strong,
.management-secondary-facts strong,
.management-protection-reading strong {
    overflow-wrap: anywhere;
    font-size: 1rem;
}

.management-capture-reading article.is-warning strong {
    color: var(--app-warning);
}

.management-coverage-note {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.management-coverage-note i {
    margin-top: 0.15rem;
}

.management-chart-disclosure {
    min-width: 0;
    margin-top: 0.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.management-chart-disclosure > summary {
    display: none;
}

.management-chart-heading h3,
.management-evidence-group h3 {
    margin: 0;
    font-size: 1.05rem;
}

.management-chart-heading p,
.management-evidence-intro {
    margin: 0.25rem 0 0;
    color: var(--text-muted);
    line-height: 1.45;
}

.excursion-chart-guide {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.excursion-chart-guide span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.3rem 0.55rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-muted);
    color: var(--text-muted);
    font-size: 0.76rem;
}

.operation-price-chart {
    display: block;
    width: 100%;
    min-height: 30rem;
}

.management-chart-help {
    margin-top: 0.65rem;
    color: var(--text-muted);
    font-size: 0.8rem;
}

.management-chart-help > summary {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    color: var(--primary-dark);
    font-weight: 800;
}

.management-chart-help p {
    max-width: 58rem;
    margin: 0.6rem 0 0;
    line-height: 1.5;
}

.management-inline-note,
.management-analysis-state {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.7rem;
}

.management-inline-note {
    padding: 0.8rem 0.9rem;
    border-radius: 0.75rem;
    background: var(--surface-muted);
    color: var(--text-muted);
    line-height: 1.45;
}

.management-inline-note > i,
.management-analysis-state > i {
    margin-top: 0.15rem;
    color: var(--text-muted);
}

.management-analysis-state {
    grid-template-columns: auto minmax(0, 1fr) auto;
    text-align: left;
}

.management-analysis-state > div {
    display: grid;
    gap: 0.25rem;
}

.management-analysis-state form {
    align-self: center;
}

.management-activity-reading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: var(--surface);
}

.management-activity-reading > i {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--primary-color) 9%, var(--surface));
    color: var(--primary-color);
}

.management-secondary-facts {
    margin-top: 0.65rem;
}

.management-discipline-findings {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.management-evidence-panel {
    margin-top: 2rem !important;
}

.management-context-panel {
    margin-top: 0.75rem !important;
}

.management-evidence-group {
    min-width: 0;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.management-evidence-table {
    margin-top: 0.75rem;
}

.management-protection-reading {
    margin-top: 0.75rem;
}

.management-context-form {
    margin-top: 1rem;
}

.review-evidence {
    padding: 0.4rem 0.65rem;
}

.review-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(17rem, 0.75fr);
    gap: 1rem;
}

.review-coach-card,
.review-facts-panel {
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid var(--border);
    border-radius: 0.95rem;
    background: var(--surface);
}

.review-coach-card {
    border-top: 0.25rem solid var(--primary);
}

.review-coach-heading h3 {
    margin: 0;
    font-size: clamp(1.2rem, 2.4vw, 1.65rem);
}

.review-coach-block {
    margin-top: 1rem;
}

.review-coach-block p {
    margin: 0;
    line-height: 1.55;
}

.review-coach-action,
.review-strength {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 0.9rem;
    border-radius: 0.75rem;
}

.review-coach-action {
    background: rgba(13, 118, 110, 0.08);
    color: var(--primary-dark);
}

.review-coach-action i,
.review-strength i {
    margin-top: 0.15rem;
}

.review-strength {
    border: 1px solid rgba(38, 116, 74, 0.2);
    background: #f3faf6;
}

.review-strength i {
    color: var(--success);
}

.review-evidence-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-top: 1rem;
    padding-top: 0.8rem;
    border-top: 1px solid var(--border);
}

.review-reference-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.75rem;
}

.review-reference-panel {
    margin-top: 0.75rem;
    border: 0;
}

.review-reference-panel > .ui-panel-titlebar {
    padding: 0.55rem 0;
    border: 0;
    background: transparent;
    color: var(--primary-dark);
    font-size: 0.78rem;
}

.review-reference-panel > .ui-panel-content {
    padding: 0 0 0.5rem;
    border: 0;
}

.review-reference-link {
    padding: 0.25rem 0.45rem;
    border-radius: 0.45rem;
    background: var(--surface-muted);
    color: var(--primary-dark);
    font-size: 0.75rem;
    font-weight: 800;
}

.review-facts-panel > .eyebrow {
    margin: 0 0 0.75rem;
}

.review-fact {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border);
}

.review-fact:last-child {
    border-bottom: 0;
}

.review-fact-attention > i {
    color: #b67805;
}

.review-fact-strength > i {
    color: var(--success);
}

.review-response-card {
    margin-top: 0;
}

.review-reading-changed {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-bottom: 0.75rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid rgba(182, 120, 5, 0.28);
    border-radius: 0.7rem;
    background: #fffaf0;
    color: #865c00;
    font-size: 0.8rem;
    line-height: 1.45;
}

.review-response-options {
    display: flex;
}

.review-response-options .ui-button {
    flex: 1 1 0;
}

.review-note-field {
    display: grid;
    gap: 0.4rem;
    margin-top: 1rem;
}

.review-note-field .ui-inputtextarea {
    width: 100%;
}

.review-save-row {
    margin-top: 1rem;
}

.learning-focus-card {
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.4rem);
    border: 1px solid rgba(13, 118, 110, 0.3);
    border-top: 0.28rem solid var(--primary);
    border-radius: 0.95rem;
    background:
        radial-gradient(circle at 96% 4%, rgba(13, 118, 110, 0.09), transparent 30%),
        var(--surface);
}

.learning-focus-heading h3,
.learning-scenario-copy h3,
.evidence-block-heading h3 {
    margin: 0.25rem 0 0;
    font-size: clamp(1.1rem, 2.2vw, 1.5rem);
    letter-spacing: -0.025em;
}

.learning-focus-heading > p {
    max-width: 62rem;
    margin: 0.55rem 0 0;
    color: var(--text-muted);
    line-height: 1.55;
}

.learning-local-facts {
    display: grid;
    gap: 0;
    margin: 1rem 0 0;
    padding: 0;
    border-top: 1px solid var(--border);
    list-style: none;
}

.learning-local-facts > li {
    display: grid;
    gap: 0.2rem;
    padding: 0.72rem 0;
    border-bottom: 1px solid var(--border);
}

.learning-local-facts strong {
    color: var(--text);
    font-size: 0.86rem;
}

.learning-local-facts span {
    color: var(--text-muted);
    font-size: 0.82rem;
    line-height: 1.5;
}

.learning-active-focus-link {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(13, 118, 110, 0.22);
    border-radius: 0.78rem;
    background: rgba(13, 118, 110, 0.055);
}

.learning-active-focus-link > i {
    margin-top: 0.15rem;
    color: var(--primary);
    font-size: 1.1rem;
}

.learning-active-focus-link > div {
    display: grid;
    gap: 0.25rem;
}

.learning-active-focus-link span {
    color: var(--primary-dark);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.learning-active-focus-link p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.learning-active-focus-link a {
    width: fit-content;
    margin-top: 0.2rem;
    font-size: 0.78rem;
    font-weight: 800;
}

.learning-focus-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.learning-focus-grid > div {
    min-width: 0;
    padding: 0.9rem;
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.learning-focus-grid span {
    display: block;
    margin-bottom: 0.3rem;
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.learning-focus-grid p,
.learning-coverage p,
.learning-scenario-copy p,
.evidence-block-heading p,
.learning-history-item p {
    margin: 0;
    line-height: 1.55;
}

.learning-coverage {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.78rem;
}

.learning-coverage p {
    max-width: 48rem;
}

.learning-reference-panel {
    margin-top: 0.7rem;
    border: 0;
}

.learning-reference-panel > .ui-panel-titlebar {
    padding: 0.55rem 0;
    border: 0;
    background: transparent;
    color: var(--primary-dark);
    font-size: 0.78rem;
}

.learning-reference-panel > .ui-panel-content {
    padding: 0 0 0.4rem;
    border: 0;
}

.learning-reference-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.learning-reference-link {
    padding: 0.32rem 0.5rem;
    border-radius: 0.45rem;
    background: var(--surface-muted);
    color: var(--primary-dark);
    font-size: 0.75rem;
    font-weight: 800;
}

.learning-scenario-card .ui-card-body,
.learning-scenario-card .ui-card-content {
    padding: 0;
}

.learning-scenario-card .ui-card-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
}

.learning-scenario-copy p {
    max-width: 50rem;
    margin-top: 0.45rem;
    color: var(--text-muted);
}

.learning-scenario-options {
    display: flex;
    flex-wrap: nowrap;
}

.learning-scenario-options .ui-button {
    white-space: nowrap;
}

.learning-note-panel .ui-inputtextarea {
    width: 100%;
    margin-top: 0.4rem;
}

.learning-note-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.75rem;
}

.learning-history-list {
    display: grid;
    gap: 0;
}

.learning-history-item {
    display: grid;
    gap: 0.45rem;
    padding: 0.85rem 0;
    border-top: 1px solid var(--border);
}

.learning-history-item:first-child {
    border-top: 0;
}

.learning-history-item > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.learning-history-item time {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.evidence-counts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}

.evidence-counts span {
    padding: 0.48rem 0.68rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text-muted);
    font-size: 0.75rem;
}

.evidence-counts strong {
    color: var(--text);
}

.evidence-primary-card {
    padding: 1rem;
}

.evidence-block-heading {
    margin-bottom: 0.85rem;
}

.evidence-block-heading p {
    margin-top: 0.4rem;
    color: var(--text-muted);
}

.evidence-secondary-panel {
    margin-top: 0.75rem;
}

.evidence-table {
    min-width: 0;
}

@media (max-width: 900px) {
    .learning-focus-grid,
    .learning-scenario-card .ui-card-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .learning-scenario-options,
    .learning-scenario-options .ui-button,
    .learning-note-actions .ui-button {
        width: 100%;
    }

    .learning-scenario-options .ui-button {
        flex: 1 1 0;
    }

    .evidence-counts {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .evidence-counts span {
        border-radius: 0.65rem;
    }

    .evidence-table.ui-datatable-reflow thead th,
    .evidence-table.ui-datatable-reflow tfoot td {
        display: none;
    }

    .evidence-table.ui-datatable-reflow .ui-datatable-data td[role="gridcell"]:not(.ui-helper-hidden) {
        display: grid;
        grid-template-columns: minmax(7.25rem, 35%) minmax(0, 1fr);
        align-items: baseline;
        gap: 0.6rem;
        width: 100% !important;
        padding: 0.5rem 0.65rem;
        border: 0;
        clear: none;
        float: none;
        text-align: left !important;
    }

    .evidence-table.ui-datatable-reflow .ui-datatable-data td[role="gridcell"] .ui-column-title {
        display: block;
        min-width: 0;
        max-width: none;
        margin: 0;
        padding: 0;
        font-weight: 800;
    }

    .evidence-table.ui-datatable-reflow .ui-datatable-data tr.ui-widget-content {
        border-right: 0;
        border-left: 0;
    }

    .evidence-table.ui-datatable-reflow tr.ui-datatable-empty-message > td {
        display: block !important;
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.app-body-restricted {
    background:
        linear-gradient(rgba(15, 118, 110, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 118, 110, 0.025) 1px, transparent 1px),
        radial-gradient(circle at 12% 4%, rgba(13, 118, 110, 0.13), transparent 34rem),
        var(--background);
    background-size: 3rem 3rem, 3rem 3rem, auto, auto;
}

.app-shell-restricted {
    display: block;
    min-height: calc(100vh - 4.5rem);
}

.app-shell-restricted .app-content {
    width: 100%;
    max-width: none;
}

.account-page {
    width: min(100%, 72rem);
}

.account-page-heading {
    align-items: center;
}

.account-heading-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-small);
    background: var(--surface);
}

.account-heading-identity > span:last-child {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}

.account-heading-identity strong,
.account-heading-identity small {
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-heading-identity small {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.account-avatar,
.account-panel-icon,
.account-action-icon,
.account-session-icon,
.account-activity-icon,
.account-required-icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    background: color-mix(in srgb, var(--primary) 10%, var(--surface));
    color: var(--primary-dark);
}

.account-avatar {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
}

.account-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 1rem;
}

.account-panel,
.account-activity-panel {
    min-width: 0;
    padding: 1.25rem;
}

.account-panel-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
}

.account-panel-icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.75rem;
}

.account-panel-heading h2,
.account-panel-heading p,
.account-section-heading h3,
.account-section-heading p {
    margin: 0;
}

.account-panel-heading h2 {
    font-size: 1.1rem;
}

.account-panel-heading p,
.account-section-heading p {
    margin-top: 0.25rem;
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.45;
}

.account-username-field {
    display: grid;
    gap: 0.15rem;
    margin: 1rem 0;
    padding: 0.8rem 0.9rem;
    border-radius: var(--app-radius-small);
    background: var(--surface-muted);
}

.account-username-field > span {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.account-username-field > small {
    color: var(--text-muted);
    font-size: 0.75rem;
    line-height: 1.4;
}

.account-form {
    display: grid;
    gap: 0.9rem;
}

.account-form .ui-inputfield,
.account-form .ui-selectonemenu,
.account-required-form .ui-inputfield,
.account-required-form .ui-selectonemenu,
.account-password-form .ui-password,
.account-password-form .ui-password-input,
.account-required-form .ui-password,
.account-required-form .ui-password-input {
    width: 100%;
    min-width: 0;
}

.account-form-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 0.15rem;
}

.account-security-action {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
    margin-top: 1rem;
    padding: 0.8rem 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.account-action-icon,
.account-session-icon,
.account-activity-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.65rem;
}

.account-security-action > span:nth-child(2),
.account-security-action > span:nth-child(2) small,
.account-session-copy,
.account-activity-item > span:last-child,
.account-activity-item small,
.account-activity-empty > span {
    display: grid;
    min-width: 0;
}

.account-security-action small,
.account-session-copy small,
.account-activity-item small,
.account-activity-empty small {
    margin-top: 0.15rem;
    color: var(--text-muted);
    font-size: 0.75rem;
    line-height: 1.4;
}

.account-inline-action.ui-button {
    white-space: nowrap;
}

.account-sessions-form {
    margin: 0;
}

.account-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 1rem;
}

.account-section-heading h3 {
    font-size: 0.95rem;
}

.account-session-list {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.85rem;
}

.account-session-count {
    flex: 0 0 auto;
    white-space: nowrap;
}

.account-session {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.75rem;
    border: 1px solid transparent;
    border-radius: var(--app-radius-small);
    background: var(--surface-muted);
}

.account-session-current {
    border-color: color-mix(in srgb, var(--primary) 24%, var(--border));
    background: color-mix(in srgb, var(--primary) 5%, var(--surface));
}

.account-session-copy > span {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.45rem;
}

.account-current-label {
    padding: 0.12rem 0.42rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
    color: var(--primary-dark);
    font-size: 0.65rem;
    font-weight: 800;
}

.account-revoke-session.ui-button {
    margin-top: 0.8rem;
}

.account-activity-panel {
    margin-top: 1rem;
}

.account-activity-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 1rem;
    border-top: 1px solid var(--border);
}

.account-activity-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.75rem 0.25rem;
    border-bottom: 1px solid var(--border);
}

.account-activity-item:nth-child(odd) {
    padding-right: 1rem;
}

.account-activity-item:nth-child(even) {
    padding-left: 1rem;
    border-left: 1px solid var(--border);
}

.account-activity-empty {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-top: 1rem;
    padding: 0.85rem;
    border-radius: var(--app-radius-small);
    background: var(--surface-muted);
}

.account-activity-empty > i {
    color: var(--success);
    font-size: 1.2rem;
}

.account-password-dialog {
    width: min(calc(100vw - 2rem), 720px) !important;
    max-width: calc(100vw - 2rem);
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}

.account-password-dialog[aria-hidden="false"] {
    display: flex !important;
    flex-direction: column;
}

.account-password-dialog .ui-dialog-titlebar {
    flex: 0 0 auto;
}

.account-password-dialog .ui-dialog-content {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    max-height: none;
    padding: 1rem 1.2rem 1.2rem;
    overflow-x: hidden;
    overflow-y: auto;
}

.account-password-form {
    display: grid;
    gap: 1rem;
}

.account-password-intro {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
}

.account-password-intro h2,
.account-password-intro p {
    margin: 0;
}

.account-password-intro h2 {
    font-size: 1.05rem;
}

.account-password-intro p {
    margin-top: 0.25rem;
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.45;
}

.account-password-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.account-password-current {
    grid-column: 1 / -1;
}

.account-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    padding-top: 0.15rem;
}

.account-required-page {
    display: grid;
    min-height: calc(100vh - 8.5rem);
    place-items: center;
    padding: 1rem 0;
}

.account-required-card {
    width: min(100%, 48rem);
    padding: 2rem;
    box-shadow: 0 1.25rem 3.5rem rgba(24, 39, 51, 0.1);
}

.account-required-card h1 {
    margin: 0.7rem 0 0;
    font-size: clamp(1.65rem, 4vw, 2.15rem);
}

.account-required-progress {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 750;
}

.account-required-icon {
    width: 3rem;
    height: 3rem;
    margin-top: 1.2rem;
    border-radius: 0.85rem;
    font-size: 1.2rem;
}

.account-required-lead {
    max-width: 40rem;
    margin: 0.5rem 0 0;
    color: var(--text-muted);
    line-height: 1.55;
}

.account-required-note {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 1rem;
    padding: 0.75rem 0.85rem;
    border-radius: var(--app-radius-small);
    background: color-mix(in srgb, var(--primary) 7%, var(--surface));
    color: var(--primary-dark);
    font-size: 0.8rem;
    font-weight: 700;
}

.account-required-form {
    display: grid;
    gap: 1rem;
    margin-top: 1.25rem;
}

.account-required-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.account-required-timezone {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
}

.account-required-timezone .ui-selectonemenu {
    max-width: 100%;
    min-width: 0 !important;
}

.account-required-timezone small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.password-rules {
    display: grid;
    gap: 0.35rem;
    margin: 0.9rem 0 1.1rem;
    padding-left: 1.25rem;
    color: var(--text-muted);
    font-size: 0.84rem;
    line-height: 1.4;
}

.secondary-button {
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.65rem;
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font-weight: 750;
}

.secondary-button:hover {
    border-color: var(--primary);
    color: var(--primary-dark);
}

.inline-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.error-card .inline-button {
    margin-top: 1rem;
}

@media (max-width: 1100px) {
    .account-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .account-activity-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .account-activity-item:nth-child(odd),
    .account-activity-item:nth-child(even) {
        padding: 0.7rem 0.15rem;
        border-left: 0;
    }
}

@media (max-width: 720px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .app-body-restricted .app-header > .header-actions > .logout-form {
        display: block;
    }

    .app-shell-restricted .app-content {
        padding: 1rem;
    }

    .account-page-heading {
        margin-bottom: 1rem;
    }

    .account-heading-identity {
        width: 100%;
    }

    .account-panel,
    .account-activity-panel {
        padding: 1rem;
    }

    .account-security-action {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .account-inline-action.ui-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .account-activity-list,
    .account-password-fields,
    .account-required-profile-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .account-password-current,
    .account-required-timezone {
        grid-column: auto;
    }

    .account-activity-item:nth-child(odd),
    .account-activity-item:nth-child(even) {
        padding: 0.7rem 0.15rem;
        border-left: 0;
    }

    .account-form-actions .ui-button,
    .account-revoke-session.ui-button,
    .account-required-form > .ui-button,
    .account-dialog-actions .ui-button {
        width: 100%;
    }

    .account-dialog-actions {
        flex-direction: column-reverse;
    }

    .account-required-page {
        min-height: calc(100vh - 7.5rem);
        align-items: start;
        padding: 0;
    }

    .account-required-card {
        padding: 1.25rem;
    }

    .account-required-progress {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.35rem;
    }

    .account-password-dialog {
        width: min(calc(100vw - 1rem), 720px) !important;
        max-width: calc(100vw - 1rem);
        max-height: calc(100vh - 1rem);
    }

    .account-password-dialog .ui-dialog-content {
        padding: 0.9rem;
    }

    .app-shell {
        grid-template-columns: 1fr;
    }

    .app-navigation {
        width: 100vw;
        max-width: 100%;
        min-width: 0;
        flex-direction: row;
        padding: 0.7rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .navigation-link {
        flex: 0 0 auto;
        padding: 0.65rem 0.75rem;
        white-space: nowrap;
    }

    .app-content {
        width: 100%;
        max-width: 100vw;
        min-width: 0;
        padding: 1.25rem;
    }

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

    .action-row {
        justify-content: flex-start;
    }

    .status-grid,
    .credential-form-grid,
    .sync-two-columns,
    .operation-overview-grid,
    .operation-metrics,
    .operation-journey-grid,
    .operation-detail-panels,
    .entry-risk-grid,
    .phase-discipline-block,
    .review-layout,
    .protection-facts,
    .discipline-form-grid,
    .strategy-operation-grid,
    .strategy-pair-fields,
    .strategy-context-cards,
    .audit-summary-grid,
    .audit-rule-list {
        grid-template-columns: 1fr;
    }

    .onboarding-banner {
        align-items: flex-start;
        flex-direction: column;
    }

    .strategy-flow-step {
        grid-template-columns: 1.85rem minmax(0, 1fr);
        gap: 0.65rem;
    }

    .strategy-step-number {
        width: 1.85rem;
        height: 1.85rem;
    }

    .strategy-repeat-row,
    .strategy-confluence-row {
        grid-template-columns: 1fr;
    }

    .strategy-confluence-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .strategy-session-summary {
        align-items: stretch;
        flex-direction: column;
    }

    .audit-rule,
    .audit-rule:nth-child(odd),
    .audit-rule:nth-child(even) {
        padding: 0.85rem 0;
        border-left: 0;
        border-bottom: 1px solid var(--border);
    }

    .operation-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .operation-trader-header-content,
    .review-save-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .operation-trader-identity h1 span {
        display: block;
        margin-top: 0.15rem;
    }

    .operation-header-alert,
    .operation-quick-filters,
    .operation-quick-filters .ui-button,
    .review-response-options,
    .review-response-options .ui-button {
        width: 100%;
    }

    .operation-quick-filters .ui-button {
        justify-content: flex-start;
    }

    .review-response-options {
        display: grid;
    }

    .phase-discipline-column + .phase-discipline-column {
        padding-top: 1rem;
        padding-left: 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .operation-facts {
        grid-template-columns: 1fr;
    }

    .operation-facts > div,
    .operation-facts > div:nth-child(odd),
    .operation-facts > div:nth-child(even),
    .protection-facts > div {
        padding: 0.75rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--border);
        border-left: 0;
    }

    .operation-facts > div:last-child,
    .protection-facts > div:last-child {
        border-bottom: 0;
    }

    .brand-link small {
        display: none;
    }

    .header-alert-link > span {
        display: none;
    }

    .inline-create-form,
    .strategy-subsection-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-heading,
    .analytics-tab-intro,
    .analytics-section-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-toolbar-actions .ui-button {
        width: 100%;
    }

    .analytics-sidebar-date-fields,
    .analytics-filter-sidebar-grid,
    .analytics-summary-breakdown,
    .analytics-distribution-grid,
    .analytics-entry-hypothesis-fields,
    .analytics-entry-hypothesis-comparison,
    .analytics-management-journey,
    .analytics-management-setup-row,
    .analytics-management-protection-rows > article,
    .analytics-management-exit-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-entry-hypothesis-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-entry-intro {
        align-items: stretch;
    }

    .analytics-entry-setup-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.55rem;
    }

    .analytics-entry-setup-row > .ui-button {
        grid-column: 1;
        width: 100%;
    }

    .analytics-entry-pending-note {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .analytics-entry-pending-action {
        grid-column: 2;
        white-space: normal;
    }

    .analytics-entry-summary-heading,
    .analytics-entry-protection > header,
    .analytics-entry-contrast-reading,
    .analytics-entry-condition-toolbar,
    .analytics-entry-condition-reading,
    .analytics-entry-context-route {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-entry-summary-heading .ui-button {
        width: 100%;
    }

    .analytics-entry-result-strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-confluence-family-result {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-confluence-family-result > div {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .analytics-confluence-family-result > div:first-child {
        border-top: 0;
    }

    .analytics-confluence-signature-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-confluence-signature-result {
        justify-items: start;
        text-align: left;
    }

    .analytics-confluence-signature-row > .ui-button {
        width: 100%;
    }

    .analytics-entry-result-strip > article {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .analytics-entry-result-strip > article:first-child {
        border-top: 0;
    }

    .analytics-entry-protection-rows article {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.35rem;
    }

    .analytics-entry-contrast-picker {
        width: 100%;
    }

    .analytics-entry-condition-picker {
        width: 100%;
    }

    .analytics-entry-contrast-sides,
    .analytics-entry-condition-sides,
    .analytics-entry-category-rows > article {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-entry-category-rows .ui-commandlink {
        justify-self: start;
    }

    .analytics-entry-context-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .analytics-entry-context-actions .ui-button {
        width: 100%;
    }

    .analytics-management-action-sides {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-management-hero-heading,
    .analytics-management-priority,
    .analytics-management-action-reading,
    .analytics-management-reading {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-management-hero-heading .ui-button,
    .analytics-management-priority .ui-button,
    .analytics-management-setup-row > .ui-button {
        width: 100%;
    }

    .analytics-management-journey-arrow {
        justify-self: center;
        transform: rotate(90deg);
    }

    .analytics-management-capture {
        border-top: 1px solid rgba(111, 86, 165, 0.22);
        border-left: 0;
    }

    .analytics-management-evidence {
        justify-items: start;
        max-width: none;
        text-align: left;
    }

    .analytics-entry-hypothesis-actions .ui-button {
        width: 100%;
    }

    .analytics-context-reading,
    .analytics-after-loss-rows article {
        align-items: stretch;
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-context-reading {
        flex-direction: column;
    }

    .analytics-context-picker,
    .analytics-context-subquestion,
    .analytics-context-subselector,
    .analytics-after-loss .ui-button {
        width: 100%;
    }

    .analytics-context-comparison-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-context-visual {
        display: none;
    }

    .analytics-context-cohorts {
        max-height: none;
    }

    .analytics-context-missing,
    .analytics-context-cohort {
        align-items: flex-start;
    }

    .analytics-filter-sidebar-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-filter-sidebar-actions > div {
        width: 100%;
        margin-left: 0;
    }

    .analytics-filter-sidebar-actions .ui-button {
        flex: 1 1 0;
    }

    .analytics-tabs > .ui-tabs-nav,
    .operation-tabs > .ui-tabs-nav {
        position: static !important;
        top: auto;
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    .analytics-tabs > .ui-tabs-nav li,
    .operation-tabs > .ui-tabs-nav li {
        flex: 0 0 auto;
    }

    .analytics-chart {
        min-height: 17rem;
    }

}

@media (min-width: 721px) and (max-width: 1120px) {
    .operation-trader-header-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .operation-key-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .operation-key-facts > div:nth-child(odd) {
        border-left: 0;
    }

    .operation-key-facts > div:nth-child(n + 3) {
        border-top: 1px solid var(--border);
    }

    .strategy-risk-reading {
        grid-template-columns: minmax(0, 1fr);
    }

    .strategy-risk-facts {
        grid-column: 1;
    }

    .operation-metrics,
    .operation-journey-grid,
    .entry-risk-grid,
    .audit-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .review-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-entry-setup-row {
        grid-template-columns: minmax(12rem, 1.35fr) repeat(2, minmax(7rem, 0.75fr));
    }

    .analytics-entry-setup-risk {
        grid-column: 2;
    }

    .analytics-entry-setup-row > .ui-button {
        grid-column: 3;
        grid-row: 2;
        justify-self: end;
    }

    .analytics-entry-hypothesis-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .strategy-confluence-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-management-journey,
    .analytics-management-setup-row,
    .analytics-management-exit-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-management-journey-arrow {
        justify-self: center;
        transform: rotate(90deg);
    }

    .analytics-management-capture {
        border-top: 1px solid rgba(111, 86, 165, 0.22);
        border-left: 0;
    }

    .analytics-management-setup-row > .ui-button {
        width: 100%;
    }

    .operation-mobile-section-navigation {
        display: grid;
        gap: 0.35rem;
        margin: 0.2rem 0 0.45rem;
    }

    .operation-mobile-section-navigation > label {
        color: var(--text-muted);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.055em;
        text-transform: uppercase;
    }

    .operation-mobile-section-select.ui-selectonemenu {
        width: 100%;
        min-height: 2.75rem;
    }

    .operation-tabs > .ui-tabs-nav,
    .operation-tabs > .ui-tabs-navscroller {
        display: none !important;
    }

    .operation-tabs .ui-tabs-panels {
        padding-top: 0.5rem;
    }
}

@media (max-width: 720px) {
    .operation-trader-header {
        gap: 0.6rem;
        padding-bottom: 0.65rem;
    }

    .operation-trader-header-content {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0.7rem;
    }

    .operation-trader-identity {
        gap: 0.35rem;
        padding: 0;
    }

    .operation-heading-line {
        gap: 0.4rem;
    }

    .operation-trader-identity h1 {
        font-size: clamp(1.5rem, 8vw, 1.85rem);
    }

    .operation-heading-direction,
    .operation-heading-state {
        font-size: 0.7rem;
    }

    .operation-heading-meta,
    .operation-heading-thesis {
        font-size: 0.76rem;
    }

    .operation-position-snapshot {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.65rem;
        padding: 0.75rem 0.8rem;
        border-radius: 0.85rem;
    }

    .operation-snapshot-primary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 0.1rem 0.65rem;
        padding: 0 0 0.6rem;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .operation-snapshot-primary > strong {
        grid-column: 2;
        grid-row: 1 / span 2;
        font-size: 1.25rem;
        text-align: right;
    }

    .operation-snapshot-primary > small {
        grid-column: 1;
    }

    .operation-snapshot-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem 0.75rem;
    }

    .operation-snapshot-facts dd {
        font-size: 0.78rem;
    }

    .operation-snapshot-refresh {
        grid-column: 1;
    }

    .operation-summary-content > .operation-section {
        margin-top: 1.35rem;
    }

    .operation-attention-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .operation-attention-item {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.6rem;
        padding: 0.75rem;
    }

    .operation-attention-action {
        grid-column: 2;
        white-space: normal;
    }

    .operation-journey-card {
        min-height: 0;
        padding: 0.85rem;
    }

    .operation-detail-panels {
        grid-template-columns: minmax(0, 1fr);
    }

    .operation-key-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .operation-key-facts > div {
        padding: 0.8rem;
    }

    .operation-key-facts > div:nth-child(odd) {
        border-left: 0;
    }

    .operation-key-facts > div:nth-child(n + 3) {
        border-top: 1px solid var(--border);
    }

    .strategy-saved-summary-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .strategy-saved-summary-heading .ui-button {
        width: 100%;
    }

    .strategy-saved-details {
        grid-template-columns: minmax(0, 1fr);
    }

    .strategy-entry-basis,
    .strategy-entry-basis .ui-selectonebutton {
        display: flex;
        width: 100%;
    }

    .strategy-entry-basis .ui-button {
        min-width: 0;
        flex: 1 1 0;
    }

    .strategy-repeat-row,
    .strategy-confluence-row {
        padding: 0.75rem;
    }

    .strategy-remove-row {
        justify-self: end;
    }

    .strategy-confluence-row > .ui-button {
        grid-column: 1;
        grid-row: auto;
        margin-top: 0;
    }

    .strategy-confluence-parameter {
        max-width: none;
    }

    .strategy-context-observations .strategy-confluence-row {
        padding: 0.75rem 0 0;
        border: 0;
        border-top: 1px solid var(--border);
        border-radius: 0;
        background: transparent;
    }

    .strategy-entry-discipline .phase-audit-list {
        grid-template-columns: minmax(0, 1fr);
    }

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

    .strategy-editor-actions .ui-button {
        width: 100%;
    }

    .strategy-save-later {
        margin-right: 0;
    }

    .strategy-risk-reading {
        grid-template-columns: minmax(0, 1fr);
    }

    .strategy-risk-facts {
        grid-column: 1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .strategy-risk-facts > div:nth-child(odd) {
        border-left: 0;
    }

    .strategy-risk-facts > div:nth-child(n + 3) {
        border-top: 1px solid var(--border);
    }

    .management-opportunity-section {
        padding: 0.85rem;
        border-radius: 0.85rem;
    }

    .management-opportunity-comparison {
        grid-template-columns: minmax(0, 1fr);
    }

    .management-opportunity-comparison article {
        padding: 0.85rem;
    }

    .management-comparison-separator {
        width: auto;
        min-height: 2.5rem;
        flex-direction: row;
        border: 0;
        border-top: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
    }

    .management-comparison-separator i {
        transform: rotate(90deg);
    }

    .management-capture-reading,
    .management-secondary-facts,
    .management-protection-reading {
        grid-template-columns: minmax(0, 1fr);
    }

    .management-capture-reading article + article,
    .management-secondary-facts article + article,
    .management-protection-reading article + article {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .management-chart-disclosure > summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        min-height: 2.75rem;
        cursor: pointer;
        color: var(--primary-dark);
        font-weight: 850;
        list-style: none;
    }

    .management-chart-disclosure > summary::-webkit-details-marker {
        display: none;
    }

    .management-chart-disclosure:not([open]) > .management-chart-content {
        display: none;
    }

    .management-chart-disclosure[open] > .management-chart-content {
        display: block;
        padding-top: 0.8rem;
    }

    .management-chart-disclosure[open] .management-disclosure-chevron {
        transform: rotate(180deg);
    }

    .management-disclosure-chevron {
        transition: transform 160ms ease;
    }

    .excursion-chart-guide span {
        width: 100%;
        border-radius: 0.65rem;
    }

    .operation-price-chart {
        min-height: 26rem;
    }

    .management-analysis-state {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .management-analysis-state form {
        grid-column: 1 / -1;
        width: 100%;
    }

    .management-analysis-state form .ui-button {
        width: 100%;
    }

    .management-activity-reading {
        align-items: flex-start;
        padding: 0.8rem;
    }

    .management-discipline-findings {
        grid-template-columns: minmax(0, 1fr);
    }

    .management-context-form .ui-selectonemenu,
    .management-context-form .ui-button {
        width: 100%;
    }
}

.onboarding-heading {
    align-items: end;
}

.setup-return-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 0.8rem 1rem;
    border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--border));
    border-radius: var(--app-radius-medium);
    background: var(--primary-soft);
}

.setup-return-banner > div {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.setup-return-banner > div > i {
    color: var(--primary-dark);
}

.setup-return-banner span {
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.4;
}

.setup-return-banner strong {
    margin-right: 0.25rem;
    color: var(--text);
}

.onboarding-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.onboarding-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(17rem, 0.75fr);
    gap: 1rem;
    align-items: stretch;
}

.onboarding-next-card,
.onboarding-progress-card,
.onboarding-roadmap,
.onboarding-analytics-note {
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
    box-shadow: 0 0.45rem 1.6rem rgba(20, 36, 50, 0.055);
}

.onboarding-next-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    padding: 1.5rem;
    border-color: color-mix(in srgb, var(--primary) 24%, var(--border));
    background:
        linear-gradient(135deg, var(--primary-soft), transparent 60%),
        var(--surface);
}

.onboarding-next-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 0.85rem;
    background: var(--primary);
    color: #fff;
    font-size: 1.1rem;
}

.onboarding-kicker {
    color: var(--primary-dark);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.onboarding-next-copy h2 {
    margin: 0.35rem 0 0;
    font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.onboarding-next-copy > p {
    max-width: 48rem;
    margin: 0.45rem 0 0;
    color: var(--text-muted);
    line-height: 1.55;
}

.onboarding-next-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    margin-top: 1.1rem;
}

.onboarding-next-actions .primary-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0;
}

.onboarding-progress-card {
    display: grid;
    align-content: center;
    gap: 0.8rem;
    padding: 1.5rem;
}

.onboarding-progress-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

.onboarding-progress-heading span {
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 750;
}

.onboarding-progress-heading strong {
    color: var(--primary-dark);
    font-size: 1.1rem;
}

.onboarding-progress-track {
    overflow: hidden;
    height: 0.45rem;
    border-radius: 999px;
    background: var(--surface-soft);
}

.onboarding-progress-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--primary);
    transition: width 180ms ease;
}

.onboarding-progress-card p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.5;
}

.onboarding-roadmap {
    margin-top: 1rem;
    padding: 1.25rem;
}

.onboarding-roadmap-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 0.15rem 0.25rem 1rem;
}

.onboarding-roadmap-heading h2 {
    margin: 0.3rem 0 0;
    font-size: 1.15rem;
}

.onboarding-roadmap-heading > p {
    max-width: 27rem;
    margin: 0;
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.45;
    text-align: right;
}

.onboarding-roadmap-list {
    display: grid;
    border-top: 1px solid var(--border);
}

.onboarding-roadmap-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.9rem;
    min-width: 0;
    padding: 1rem 0.25rem;
    border-bottom: 1px solid var(--border);
}

.onboarding-roadmap-row:last-child {
    border-bottom: 0;
}

.onboarding-roadmap-number {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: 0.7rem;
    background: var(--surface-soft);
    color: var(--text-muted);
}

.onboarding-roadmap-row.is-ready .onboarding-roadmap-number {
    background: var(--primary-soft);
    color: var(--primary-dark);
}

.onboarding-roadmap-copy {
    display: grid;
    min-width: 0;
    gap: 0.18rem;
}

.onboarding-roadmap-copy strong {
    font-size: 0.9rem;
}

.onboarding-roadmap-copy span {
    overflow: hidden;
    color: var(--text-muted);
    font-size: 0.78rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.onboarding-roadmap-state {
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
    white-space: nowrap;
}

.onboarding-state-complete {
    background: #e6f4ec;
    color: var(--success);
}

.onboarding-state-neutral {
    background: var(--surface-soft);
    color: var(--text-muted);
}

.onboarding-state-attention {
    background: #fff3d6;
    color: #865c00;
}

.onboarding-state-pending {
    background: var(--primary-soft);
    color: var(--primary-dark);
}

.onboarding-row-action {
    color: var(--primary-dark);
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.onboarding-row-action:hover {
    text-decoration: underline;
}

.onboarding-analytics-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.8rem;
    margin-top: 1rem;
    padding: 1rem 1.25rem;
    background: var(--surface-soft);
    box-shadow: none;
}

.onboarding-analytics-note > i {
    margin-top: 0.12rem;
    color: var(--primary);
}

.onboarding-analytics-note > div {
    display: grid;
    gap: 0.18rem;
}

.onboarding-analytics-note strong {
    font-size: 0.83rem;
}

.onboarding-analytics-note span {
    color: var(--text-muted);
    font-size: 0.77rem;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .onboarding-heading {
        align-items: start;
    }

    .onboarding-heading-actions {
        justify-content: flex-start;
    }

    .onboarding-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .onboarding-progress-card {
        padding: 1.1rem 1.25rem;
    }
}

@media (max-width: 640px) {
    .setup-return-banner {
        align-items: flex-start;
        flex-direction: column;
    }

    .onboarding-heading-actions,
    .onboarding-heading-actions .ui-button,
    .onboarding-next-actions,
    .onboarding-next-actions .ui-button,
    .onboarding-next-actions .primary-button {
        width: 100%;
    }

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

    .onboarding-heading-actions .status-pill {
        align-self: flex-start;
    }

    .onboarding-next-card {
        grid-template-columns: minmax(0, 1fr);
        padding: 1.2rem;
    }

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

    .onboarding-next-actions .primary-button {
        justify-content: center;
    }

    .onboarding-roadmap {
        padding: 1rem;
    }

    .onboarding-roadmap-heading {
        align-items: start;
        flex-direction: column;
        gap: 0.45rem;
    }

    .onboarding-roadmap-heading > p {
        text-align: left;
    }

    .onboarding-roadmap-row {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 0.65rem;
    }

    .onboarding-roadmap-copy span {
        white-space: normal;
    }

    .onboarding-roadmap-state {
        grid-column: 2 / -1;
        justify-self: start;
        grid-row: 2;
    }

    .onboarding-row-action {
        grid-column: 3;
        grid-row: 1;
    }
}
/* Shared interaction and layout primitives introduced with UX-01B. */
.app-skip-link {
    position: fixed;
    z-index: 10000;
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.7rem 0.9rem;
    border-radius: var(--app-radius-small);
    background: var(--text);
    color: #fff;
    font-weight: 800;
    transform: translateY(-180%);
    transition: transform 120ms ease;
}

.app-skip-link:focus {
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .app-skip-link {
        transition: none;
    }
}

:where(a, button, input, textarea, select, [tabindex]):focus-visible,
.ui-button:focus-visible,
.ui-inputfield:focus-visible,
.ui-selectonemenu:focus-visible {
    outline: 3px solid var(--app-focus-ring);
    outline-offset: 2px;
}

.app-content:focus {
    outline: none;
}

.app-surface,
.app-empty-state {
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
}

.app-empty-state {
    display: grid;
    justify-items: center;
    gap: 0.55rem;
    padding: 3rem 1.25rem;
    text-align: center;
}

.app-empty-state > i {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 50%;
    background: var(--surface-muted);
    color: var(--primary-dark);
    font-size: 1.2rem;
}

.app-empty-state h2,
.app-empty-state p {
    margin: 0;
}

.app-empty-state p {
    max-width: 34rem;
    color: var(--text-muted);
    line-height: 1.5;
}

.mobile-menu-form {
    display: none;
    margin: 0;
}

.mobile-navigation-sidebar {
    width: min(25rem, 92vw) !important;
    overflow-y: auto;
}

.mobile-navigation-sidebar .ui-sidebar-content {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    padding: 1rem;
}

.mobile-navigation-heading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.25rem 0 1rem;
    border-bottom: 1px solid var(--border);
}

.mobile-navigation-heading > div {
    display: grid;
    gap: 0.1rem;
}

.mobile-navigation-heading small {
    color: var(--text-muted);
}

.app-mobile-navigation {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.25rem;
    padding: 1rem 0;
}

.mobile-navigation-account {
    display: grid;
    gap: 0.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.mobile-logout-button {
    width: 100%;
}

/* Operations: one bounded collection, table on wide screens and cards when space runs out. */
.operation-command-surface {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
}

.operation-sidebar-heading h2,
.operation-sidebar-heading p {
    margin: 0;
}

.operation-sidebar-heading h2 {
    font-size: 1.15rem;
}

.operation-sidebar-heading > p:last-child {
    margin-top: 0.25rem;
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.operation-command-bar {
    display: flex;
    min-width: 0;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
}

.operation-view-filter {
    display: grid;
    min-width: 0;
    gap: 0.35rem;
}

.operation-toolbar-label,
.operation-market-search > label {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.operation-quick-filters {
    margin-top: 0;
}

.operation-quick-filters .ui-button {
    min-height: 2.4rem;
    padding-inline: 0.75rem;
}

.operation-quick-filter-mobile {
    display: none;
}

.operation-toolbar {
    display: flex;
    min-width: 0;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-left: auto;
}

.operation-market-search {
    display: grid;
    width: min(25rem, 32vw);
    min-width: 17rem;
    gap: 0.3rem;
}

.operation-market-search-controls {
    display: flex;
    min-width: 0;
}

.operation-market-search-controls .ui-inputfield {
    min-width: 0;
    flex: 1 1 auto;
    border-radius: var(--app-radius-small) 0 0 var(--app-radius-small);
}

.operation-market-search-controls .ui-button {
    flex: 0 0 auto;
    margin-left: -1px;
    border-radius: 0 var(--app-radius-small) var(--app-radius-small) 0;
}

.operation-filter-trigger {
    min-height: 2.4rem;
}

.operation-applied-filters {
    display: grid;
    gap: 0.5rem;
    padding-top: 0.9rem;
    border-top: 1px solid var(--border);
}

.operation-result-count {
    justify-self: end;
}

.operation-applied-label {
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.operation-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.operation-filter-chip.ui-button {
    padding: 0.45rem 0.65rem;
    border-color: var(--app-border-strong);
    border-radius: 999px;
    color: var(--text-muted);
    font-size: 0.76rem;
}

.operation-clear-filters.ui-button {
    color: var(--primary-dark);
    font-size: 0.78rem;
}

.operation-availability {
    min-height: 2.9rem;
    margin-top: 0.75rem;
}

.operation-change-notice,
.operation-up-to-date {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.9rem;
    border-radius: var(--app-radius-small);
    font-size: 0.82rem;
    font-weight: 750;
}

.operation-change-notice {
    justify-content: space-between;
    padding: 0.45rem 0.55rem 0.45rem 0.8rem;
    border: 1px solid rgba(13, 118, 110, 0.3);
    background: rgba(13, 118, 110, 0.06);
    color: var(--primary-dark);
}

.operation-change-notice > span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.operation-up-to-date {
    justify-content: flex-end;
    color: var(--text-muted);
}

.operation-up-to-date i {
    color: var(--success);
}

.operation-list-empty {
    margin-top: 0;
}

.operation-lazy-table {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--app-radius-medium);
    background: var(--surface);
}

.operation-lazy-table .ui-datatable-tablewrapper {
    overflow-x: auto;
}

.operation-lazy-table table {
    min-width: 57rem;
}

.operation-lazy-table .ui-datatable-thead > tr > th {
    padding: 0.75rem 0.85rem;
    border-color: var(--border);
    background: var(--app-surface-subtle);
    color: var(--text-muted);
    font-size: 0.73rem;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.trader-operation-table .ui-datatable-data > tr > td {
    padding: 0.85rem;
    border-color: var(--border);
}

.operation-symbol {
    font-size: 1rem;
    letter-spacing: 0.01em;
}

.operation-direction {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 0.28rem;
    margin-top: 0.35rem;
    padding: 0.24rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 850;
}

.operation-direction > i {
    font-size: 0.95rem;
    line-height: 0.8;
}

.operation-direction-long {
    background: var(--app-direction-long-surface);
    color: var(--app-direction-long);
}

.operation-direction-short {
    background: var(--app-direction-short-surface);
    color: var(--app-direction-short);
}

.operation-context-pending {
    color: var(--app-warning);
}

.operation-action-column {
    width: 11.5rem;
    text-align: right;
}

.operation-row-action,
.operation-lazy-table .operation-row-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    color: var(--primary-dark);
    font-size: 0.82rem;
    font-weight: 850;
    white-space: nowrap;
}

.operation-row-action:hover,
.operation-lazy-table .operation-row-action:hover {
    text-decoration: underline;
}

.operation-row-action-primary,
.operation-lazy-table .operation-row-action-primary {
    padding: 0.55rem 0.7rem;
    border-radius: var(--app-radius-small);
    background: var(--primary);
    color: #fff;
}

.operation-row-action-primary:hover,
.operation-lazy-table .operation-row-action-primary:hover {
    background: var(--primary-dark);
    text-decoration: none;
}

.operation-filter-sidebar {
    width: min(40rem, 100vw) !important;
    padding: 0 !important;
}

.app-filter-sidebar > .ui-sidebar-close {
    z-index: 2;
    top: 1.15rem;
    right: 1.15rem;
}

.app-filter-sidebar > .ui-sidebar-content {
    display: flex;
    height: 100%;
    min-height: 0;
    padding: 0;
    flex-direction: column;
    overflow: hidden;
}

.app-filter-sidebar > .ui-sidebar-content > form {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.app-filter-sidebar-header {
    padding: 1.2rem 3.4rem 1rem 1.25rem;
    border-bottom: 1px solid var(--border);
    background:
        linear-gradient(145deg, rgba(13, 118, 110, 0.09), transparent 70%),
        var(--surface);
}

.app-filter-sidebar-header h2 {
    margin: 0.25rem 0 0;
    font-size: 1.3rem;
}

.app-filter-sidebar-header > p {
    margin: 0.45rem 0 0;
    color: var(--text-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.app-filter-sidebar-body {
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    align-content: start;
    gap: 0.85rem;
    padding: 1rem 1.15rem;
    overflow-y: auto;
    background: var(--surface-muted);
}

.app-filter-sidebar-section {
    display: grid;
    gap: 0.8rem;
    padding: 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: var(--surface);
}

.app-filter-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}

.app-filter-section-heading > span {
    display: grid;
    width: 1.55rem;
    height: 1.55rem;
    flex: 0 0 1.55rem;
    place-items: center;
    border-radius: 999px;
    background: rgba(13, 118, 110, 0.1);
    color: var(--primary-dark);
    font-size: 0.72rem;
    font-weight: 900;
}

.app-filter-section-heading > div {
    display: grid;
    gap: 0.15rem;
}

.app-filter-section-heading strong {
    font-size: 0.86rem;
}

.app-filter-section-heading small {
    color: var(--text-muted);
    font-size: 0.7rem;
    line-height: 1.35;
}

.app-filter-sidebar-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.app-filter-sidebar-grid .filter-field > label {
    margin: 0 0 0.35rem;
    font-size: 0.73rem;
}

.app-filter-sidebar-grid .ui-inputfield,
.app-filter-sidebar-grid .ui-selectonemenu,
.app-filter-sidebar-grid .ui-selectcheckboxmenu,
.app-filter-sidebar-grid .ui-calendar,
.app-filter-sidebar-grid .p-datepicker {
    width: 100%;
}

.app-filter-sidebar-grid .ui-calendar {
    display: flex;
    min-width: 0;
    align-items: stretch;
}

.app-filter-sidebar-grid .ui-calendar > .ui-inputfield {
    width: 1%;
    min-width: 0;
    flex: 1 1 auto;
}

.app-filter-sidebar-grid .ui-calendar > .ui-datepicker-trigger {
    position: static;
    display: inline-flex;
    flex: 0 0 2.6rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.app-filter-sidebar-grid .ui-datepicker-trigger .ui-button-icon-left {
    position: static;
    top: auto;
    left: auto;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    line-height: 1;
    transform: none;
}

.app-filter-field-wide {
    grid-column: 1 / -1;
}

.app-filter-sidebar-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1.15rem;
    border-top: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 0 -0.45rem 1.4rem rgba(20, 36, 50, 0.06);
}

.app-filter-sidebar-actions > span {
    color: var(--primary-dark);
    font-size: 0.7rem;
    font-weight: 800;
}

.app-filter-sidebar-actions > div {
    display: flex;
    gap: 0.55rem;
    margin-left: auto;
}

@media (max-width: 1320px) {
    .operation-command-bar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .operation-toolbar {
        width: 100%;
        margin-left: 0;
        padding-top: 0.75rem;
        border-top: 1px solid var(--border);
    }

    .operation-market-search {
        width: min(28rem, 100%);
        margin-left: 0;
    }
}

@media (max-width: 1120px) {

    .operation-lazy-table {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .operation-lazy-table .ui-datatable-tablewrapper {
        overflow: visible;
    }

    .operation-lazy-table table,
    .operation-lazy-table .ui-datatable-data {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .operation-lazy-table thead,
    .operation-lazy-table .ui-datatable-thead {
        display: none;
    }

    .operation-lazy-table .ui-datatable-data > tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin-bottom: 0.75rem;
        overflow: hidden;
        border: 1px solid var(--border);
        border-radius: var(--app-radius-medium);
        background: var(--surface);
    }

    .operation-lazy-table .ui-datatable-data > tr > td {
        display: grid !important;
        min-width: 0;
        grid-template-columns: minmax(6.5rem, 0.42fr) minmax(0, 1fr);
        align-content: start;
        gap: 0.65rem;
        padding: 0.75rem 0.85rem;
        border: 0;
        border-top: 1px solid var(--border);
        white-space: normal;
    }

    .operation-lazy-table .ui-datatable-data > tr > td:nth-child(-n + 2) {
        border-top: 0;
    }

    .operation-lazy-table .ui-datatable-data > tr > td:nth-child(2n) {
        border-left: 1px solid var(--border);
    }

    .operation-lazy-table .ui-datatable-data > tr > td:nth-child(3),
    .operation-lazy-table .ui-datatable-data > tr > td:nth-child(5) {
        grid-column: 1 / -1;
    }

    .operation-lazy-table .ui-datatable-data > tr > td:nth-child(3) {
        border-left: 0;
    }

    .operation-lazy-table .ui-datatable-data > tr > td:nth-child(4) {
        border-left: 1px solid var(--border);
    }

    .operation-lazy-table .ui-datatable-data > tr > td:nth-child(5) {
        display: flex !important;
        justify-content: flex-end;
        border-left: 0;
    }

    .operation-lazy-table .ui-column-title {
        display: block !important;
        color: var(--text-muted);
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .operation-lazy-table .operation-action-column {
        width: auto;
        text-align: left;
    }

    .operation-lazy-table .ui-paginator {
        border: 1px solid var(--border);
        border-radius: var(--app-radius-small);
        background: var(--surface);
    }
}

@media (max-width: 720px) {
    .app-header {
        min-height: 4.25rem;
        padding: 0.65rem 0.8rem;
    }

    .app-header > .header-actions > .session-user,
    .app-header > .header-actions > .logout-form {
        display: none;
    }

    .mobile-menu-form {
        display: block;
    }

    .mobile-menu-trigger.ui-button {
        min-width: 2.75rem;
        min-height: 2.65rem;
        padding: 0.55rem 0.65rem;
    }

    .mobile-menu-trigger .ui-button-text {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .app-navigation {
        display: none;
    }

    .app-content {
        padding: 1rem;
    }

    .operations-page-heading {
        margin-bottom: 1rem;
    }

    .operation-command-surface {
        padding: 1rem;
    }

    .operation-quick-filters-desktop {
        display: none;
    }

    .operation-quick-filter-mobile {
        display: grid;
        gap: 0.4rem;
    }

    .operation-quick-filter-mobile .ui-selectonemenu {
        width: 100%;
    }

    .operation-toolbar {
        display: grid !important;
        align-items: stretch !important;
        grid-template-columns: minmax(0, 1fr);
    }

    .operation-market-search {
        min-width: 0;
        width: 100%;
        margin-left: 0;
    }

    .operation-filter-trigger.ui-button {
        width: 100%;
    }

    .operation-filter-chips {
        flex-wrap: nowrap;
        padding-bottom: 0.2rem;
        overflow-x: auto;
    }

    .operation-filter-chip.ui-button,
    .operation-clear-filters.ui-button {
        flex: 0 0 auto;
    }

    .operation-up-to-date {
        justify-content: flex-start;
    }

    .operation-trader-metrics .status-card {
        min-height: 0;
        padding: 0.95rem;
    }

    .operation-trader-identity h1 .operation-heading-direction {
        display: inline-flex;
        margin-top: 0.35rem;
        margin-left: 0;
    }

    .operation-lazy-table .ui-datatable-data > tr {
        grid-template-columns: minmax(0, 1fr);
    }

    .operation-lazy-table .ui-datatable-data > tr > td,
    .operation-lazy-table .ui-datatable-data > tr > td:nth-child(4) {
        grid-column: 1;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .operation-lazy-table .ui-datatable-data > tr > td:first-child {
        border-top: 0;
    }

    .operation-lazy-table .ui-datatable-data > tr > td:nth-child(5) {
        display: grid !important;
        grid-template-columns: minmax(6.5rem, 0.42fr) minmax(0, 1fr);
    }

    .operation-lazy-table .operation-row-action {
        width: 100%;
        min-height: 2.75rem;
        padding: 0.55rem 0.7rem;
        border: 1px solid var(--app-border-strong);
        border-radius: var(--app-radius-small);
    }

    .operation-lazy-table .operation-row-action-primary {
        border-color: var(--primary);
    }

    .operation-filter-sidebar {
        width: 100vw !important;
    }

    .operation-filter-sidebar .app-filter-sidebar-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .operation-filter-sidebar .app-filter-field-wide {
        grid-column: auto;
    }

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

    .operation-sidebar-actions > .ui-button,
    .operation-sidebar-actions > div,
    .operation-sidebar-actions > div > .ui-button {
        width: 100%;
    }

    .operation-sidebar-actions > div {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .operation-sidebar-actions > div > .ui-button:last-child {
        grid-column: 1 / -1;
    }
}

/* Analítica · ajustes de reflow de los diagnósticos */
.analytics-filter-sidebar {
    width: min(42rem, 100vw) !important;
}

@media (max-width: 720px) {
    .analytics-filter-sidebar {
        width: 100vw !important;
    }

    .analytics-entry-contrast-toolbar,
    .analytics-entry-contrast-picker {
        width: 100%;
        min-width: 0;
    }
}

@media (min-width: 721px) and (max-width: 900px) {
    .analytics-entry-intro,
    .analytics-entry-summary-heading,
    .analytics-entry-protection > header,
    .analytics-entry-contrast-toolbar,
    .analytics-entry-contrast-reading,
    .analytics-entry-condition-toolbar,
    .analytics-entry-condition-reading,
    .analytics-entry-context-route {
        align-items: stretch;
        flex-direction: column;
    }

    .analytics-entry-setup-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.55rem;
    }

    .analytics-entry-setup-risk,
    .analytics-entry-setup-row > .ui-button {
        grid-column: 1;
        grid-row: auto;
    }

    .analytics-entry-setup-row > .ui-button,
    .analytics-entry-summary-heading .ui-button,
    .analytics-entry-contrast-picker,
    .analytics-entry-condition-picker {
        width: 100%;
    }

    .analytics-entry-pending-note {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .analytics-entry-pending-action {
        grid-column: 2;
        white-space: normal;
    }

    .analytics-entry-result-strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-confluence-family-result {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-confluence-family-result > div {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .analytics-confluence-family-result > div:first-child {
        border-top: 0;
    }

    .analytics-confluence-signature-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-confluence-signature-result {
        justify-items: start;
        text-align: left;
    }

    .analytics-confluence-signature-row > .ui-button {
        width: 100%;
    }

    .analytics-entry-result-strip > article {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .analytics-entry-result-strip > article:first-child {
        border-top: 0;
    }

    .analytics-entry-protection-rows article,
    .analytics-entry-contrast-sides,
    .analytics-entry-condition-sides {
        grid-template-columns: minmax(0, 1fr);
    }

    .analytics-entry-category-rows > article {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .analytics-entry-category-rows .ui-commandlink {
        justify-self: start;
    }

    .analytics-entry-context-actions {
        justify-content: flex-start;
    }
}

/* Modelos · catálogo, definición y editor dedicado */
.model-page-heading,
.model-editor-heading,
.model-detail-heading {
    margin-bottom: 1rem;
}

.model-catalog-surface,
.model-definition-surface,
.model-editor-section {
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 0.9rem;
    background: var(--surface);
}

.model-catalog-surface {
    padding: clamp(1rem, 2vw, 1.35rem);
}

.model-catalog-heading,
.model-definition-heading,
.model-editor-conditions-heading,
.model-condition-heading,
.model-draft-callout,
.model-version-banner,
.model-history-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.model-catalog-heading h2,
.model-definition-heading h2,
.model-editor-section h2,
.model-editor-choice-block h3,
.model-definition-conditions h3,
.model-definition-unpublished h2 {
    margin: 0;
}

.model-catalog-heading .card-description,
.model-editor-section header > p,
.model-definition-conditions header > p,
.model-editor-choice-block > p {
    margin: 0.3rem 0 0;
    color: var(--text-muted);
}

.model-catalog-toolbar {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) auto auto;
    align-items: end;
    gap: 0.75rem;
    margin-top: 1.15rem;
    padding: 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.model-search-field {
    display: grid;
    min-width: 0;
    gap: 0.4rem;
}

.model-search-field > label {
    font-size: 0.8rem;
    font-weight: 800;
}

.model-search-field .ui-input-icon-left,
.model-search-field .ui-inputfield {
    width: 100%;
}

.model-search-actions,
.model-catalog-actions,
.model-detail-actions,
.model-condition-picker-actions,
.model-dialog-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.model-visibility-selector {
    white-space: nowrap;
}

.model-filter-result {
    margin: 0.75rem 0 0.35rem;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 750;
}

.model-catalog-list,
.model-history-list,
.confluence-reference-list {
    border: 0 !important;
}

.model-catalog-list .ui-dataview-content,
.model-history-list .ui-dataview-content,
.confluence-reference-list .ui-dataview-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.model-catalog-list .ui-dataview-list-container,
.model-history-list .ui-dataview-list-container,
.confluence-reference-list .ui-dataview-list-container {
    margin: 0;
    padding: 0;
    list-style: none;
}

.model-catalog-list .ui-dataview-row,
.model-history-list .ui-dataview-row,
.confluence-reference-list .ui-dataview-row {
    border-bottom: 1px solid var(--border);
}

.model-catalog-list .ui-dataview-row:last-child,
.model-history-list .ui-dataview-row:last-child,
.confluence-reference-list .ui-dataview-row:last-child {
    border-bottom: 0;
}

.model-catalog-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    padding: 1rem 0;
}

.model-catalog-main {
    display: grid;
    min-width: 0;
    gap: 0.55rem;
}

.model-catalog-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.model-catalog-name {
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.model-catalog-name:hover {
    color: var(--primary-dark);
    text-decoration: underline;
}

.model-catalog-description {
    max-width: 65rem;
    margin: 0;
    line-height: 1.5;
}

.model-catalog-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    color: var(--text-muted);
    font-size: 0.78rem;
}

.model-catalog-facts span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.model-catalog-facts i {
    color: var(--primary-dark);
}

.model-status-current {
    border-color: color-mix(in srgb, var(--primary-color) 28%, var(--border));
    color: var(--primary-dark);
}

.model-status-draft {
    border-color: rgba(181, 113, 23, 0.28);
    background: rgba(181, 113, 23, 0.08);
    color: #8a5610;
}

.model-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.85rem;
    color: var(--primary-dark);
    font-size: 0.82rem;
    font-weight: 800;
}

.model-editor-layout {
    display: grid;
    gap: 1rem;
}

.model-editor-section {
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    gap: 1rem;
    padding: clamp(1rem, 2.2vw, 1.4rem);
}

.model-editor-section-number {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: 999px;
    background: color-mix(in srgb, var(--primary-color) 13%, var(--surface));
    color: var(--primary-dark);
    font-weight: 900;
}

.model-editor-section-content {
    min-width: 0;
}

.model-editor-meaning-grid {
    display: grid;
    grid-template-columns: minmax(13rem, 0.55fr) minmax(20rem, 1.45fr);
    gap: 1rem;
    margin-top: 1rem;
}

.model-editor-scope-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}

.model-editor-choice-block {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.model-editor-choice-block .strategy-field {
    margin-top: 0.8rem;
}

.model-editor-choice {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0.8rem;
}

.model-editor-choice > .ui-button {
    flex: 1 1 12rem;
    min-width: 0;
}

.model-fixed-timeframe {
    margin-top: 0.75rem;
}

.model-editor-conditions-heading {
    align-items: center;
}

.model-condition-picker {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--primary-color) 24%, var(--border));
    border-radius: 0.8rem;
    background: color-mix(in srgb, var(--primary-color) 5%, var(--surface));
}

.model-condition-picker-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    min-width: 0;
}

.model-editor-layout .ui-selectonemenu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
}

.model-editor-layout .ui-selectonemenu-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.model-editor-layout .ui-inputfield,
.model-editor-layout .ui-inputtextarea,
.model-editor-layout .ui-inputnumber {
    max-width: 100%;
    box-sizing: border-box;
}

.model-picker-description {
    display: block;
    margin-top: 0.35rem;
    color: var(--text-muted);
    line-height: 1.45;
}

.model-sequence-control {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.2rem 0.55rem;
    margin-top: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border);
}

.model-sequence-control small {
    grid-column: 2;
    color: var(--text-muted);
}

.model-condition-list {
    display: grid;
    gap: 0.8rem;
    margin-top: 0.85rem;
}

.model-condition-empty,
.model-definition-unpublished {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px dashed var(--border);
    border-radius: 0.75rem;
    color: var(--text-muted);
}

.model-condition-empty > div {
    display: grid;
    gap: 0.15rem;
}

.model-condition-card {
    display: grid;
    min-width: 0;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: var(--surface-muted);
}

.model-condition-heading > div {
    display: grid;
    min-width: 0;
    gap: 0.18rem;
}

.model-condition-heading span,
.model-condition-heading small {
    color: var(--text-muted);
}

.model-condition-heading small {
    max-width: 62rem;
    line-height: 1.45;
}

.model-condition-core-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    gap: 0.8rem;
    min-width: 0;
}

.model-condition-core-grid .ui-inputnumber,
.model-condition-core-grid .ui-inputnumber-input,
.model-condition-advanced .ui-selectonemenu {
    width: 100%;
    min-width: 0;
}

.model-condition-advanced .ui-fieldset-content {
    padding-top: 0.75rem;
}

.model-condition-advanced .strategy-field {
    max-width: 26rem;
}

.model-editor-footer {
    position: sticky;
    z-index: 5;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-top: 1rem;
    padding: 0.85rem 0;
    border-top: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    backdrop-filter: blur(8px);
}

.model-editor-messages {
    margin-bottom: 1rem;
}

.model-publication-dialog,
.confluence-reference-dialog {
    width: min(calc(100vw - 2rem), 940px) !important;
    max-width: calc(100vw - 2rem);
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}

.model-publication-dialog[aria-hidden="false"],
.confluence-reference-dialog[aria-hidden="false"] {
    display: flex !important;
    flex-direction: column;
}

.model-publication-dialog {
    width: min(calc(100vw - 2rem), 720px) !important;
}

.model-publication-dialog .ui-dialog-content,
.confluence-reference-dialog .ui-dialog-content {
    flex: 1 1 auto;
    min-height: 0;
    max-width: 100%;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
}

.model-publication-dialog .ui-dialog-titlebar,
.model-publication-dialog .ui-dialog-footer,
.confluence-reference-dialog .ui-dialog-titlebar,
.confluence-reference-dialog .ui-dialog-footer {
    flex: 0 0 auto;
}

.model-publication-review {
    display: grid;
    gap: 1rem;
}

.model-publication-review > div:first-child {
    display: grid;
    gap: 0.35rem;
}

.model-publication-review p {
    margin: 0;
    line-height: 1.5;
}

.model-publication-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.model-publication-facts span {
    padding: 0.65rem;
    border: 1px solid var(--border);
    border-radius: 0.65rem;
    background: var(--surface-muted);
    font-size: 0.82rem;
    font-weight: 750;
}

.model-publication-warning {
    padding: 0.8rem;
    border-left: 0.2rem solid var(--primary-color);
    background: color-mix(in srgb, var(--primary-color) 6%, var(--surface));
}

.model-dialog-actions {
    justify-content: flex-end;
}

.dialog-intro {
    margin: 0 0 1rem;
    color: var(--text-muted);
    line-height: 1.5;
}

.confluence-reference-filters {
    display: grid;
    grid-template-columns: minmax(13rem, 1fr) minmax(12rem, 0.65fr) auto;
    align-items: end;
    gap: 0.75rem;
    padding: 0.85rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.confluence-reference-clear {
    align-self: end;
}

.confluence-reference-count {
    margin: 0.8rem 0 0.25rem;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 750;
}

.confluence-reference-row {
    display: grid;
    grid-template-columns: minmax(7rem, 0.35fr) minmax(0, 1fr) minmax(8rem, 0.4fr);
    align-items: start;
    gap: 0.85rem;
    padding: 0.8rem 0;
}

.confluence-reference-row > div {
    display: grid;
    min-width: 0;
    gap: 0.25rem;
}

.confluence-reference-row p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.confluence-reference-row small {
    color: var(--text-muted);
    line-height: 1.45;
}

.model-version-banner,
.model-draft-callout {
    align-items: center;
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(181, 113, 23, 0.28);
    border-radius: 0.8rem;
    background: rgba(181, 113, 23, 0.06);
}

.model-version-banner > div,
.model-draft-callout > div,
.model-history-row > div {
    display: grid;
    min-width: 0;
    gap: 0.2rem;
}

.model-version-banner span,
.model-draft-callout span,
.model-history-row span,
.model-history-row small {
    color: var(--text-muted);
}

.model-definition-surface {
    padding: clamp(1rem, 2.2vw, 1.4rem);
}

.model-definition-description {
    max-width: 70rem;
    margin: 1rem 0;
    font-size: 1.02rem;
    line-height: 1.6;
}

.model-definition-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    overflow: hidden;
}

.model-definition-facts article {
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem;
    border-left: 1px solid var(--border);
    background: var(--surface-muted);
}

.model-definition-facts article:first-child {
    border-left: 0;
}

.model-definition-facts span {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.model-definition-conditions {
    margin-top: 1.2rem;
}

.model-definition-condition {
    display: grid;
    grid-template-columns: minmax(8rem, auto) minmax(0, 1fr);
    align-items: start;
    gap: 0.85rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--border);
}

.model-definition-condition:last-child {
    border-bottom: 0;
}

.model-definition-condition > div {
    display: grid;
    gap: 0.25rem;
}

.model-definition-condition p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.45;
}

.model-definition-condition small {
    color: var(--text-muted);
    font-weight: 700;
}

.model-requirement {
    width: fit-content;
    padding: 0.28rem 0.5rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 850;
}

.model-requirement-defining {
    border-color: color-mix(in srgb, var(--primary-color) 30%, var(--border));
    color: var(--primary-dark);
}

.model-requirement-supporting {
    border-color: rgba(66, 111, 164, 0.3);
    color: #355f91;
}

.model-requirement-invalidating {
    border-color: rgba(166, 53, 53, 0.28);
    color: #9b3434;
}

.model-definition-unpublished {
    justify-content: flex-start;
}

.model-definition-unpublished > div {
    flex: 1 1 auto;
}

.model-definition-unpublished p {
    margin: 0.25rem 0 0;
    color: var(--text-muted);
}

.model-draft-callout {
    margin-top: 1rem;
    margin-bottom: 0;
}

.model-history-fieldset {
    margin-top: 1rem;
}

.model-history-fieldset > .ui-fieldset-content > p {
    margin-top: 0;
    color: var(--text-muted);
}

.model-history-row {
    align-items: center;
    padding: 0.75rem 0;
}

.model-missing-state {
    min-height: 22rem;
}

@media (max-width: 900px) {
    .model-catalog-toolbar,
    .model-catalog-row,
    .model-editor-meaning-grid,
    .model-editor-scope-grid,
    .model-condition-picker-fields,
    .confluence-reference-filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .model-catalog-actions {
        justify-content: flex-start;
    }

    .model-visibility-selector {
        justify-self: start;
    }

    .confluence-reference-clear {
        justify-self: start;
    }
}

@media (max-width: 720px) {
    .model-catalog-heading,
    .model-editor-conditions-heading,
    .model-draft-callout,
    .model-version-banner,
    .model-history-row,
    .model-detail-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .model-catalog-heading .ui-button,
    .model-catalog-actions .ui-button,
    .model-detail-actions .ui-button,
    .model-condition-picker-actions .ui-button,
    .model-editor-footer .ui-button,
    .model-dialog-actions .ui-button,
    .model-draft-callout .ui-button,
    .model-definition-unpublished .ui-button {
        width: 100%;
    }

    .model-search-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .model-editor-section {
        grid-template-columns: minmax(0, 1fr);
    }

    .model-condition-picker-fields,
    .model-publication-facts,
    .model-definition-facts,
    .model-definition-condition,
    .confluence-reference-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .model-definition-facts article,
    .model-definition-facts article:first-child {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .model-definition-facts article:first-child {
        border-top: 0;
    }

    .model-editor-footer {
        position: static;
        align-items: stretch;
        flex-direction: column;
    }

    .model-editor-footer .strategy-action-spacer {
        display: none;
    }

    .model-publication-dialog,
    .confluence-reference-dialog {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem);
        max-height: calc(100vh - 1rem);
    }

    .model-publication-dialog .ui-dialog-content,
    .confluence-reference-dialog .ui-dialog-content {
        padding: 0.85rem;
    }

    .model-definition-unpublished {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Sincronización · reglas responsive después de la base para preservar la cascada */
@media (max-width: 900px) {
    .sync-health-card {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        gap: 0.8rem;
    }

    .sync-health-action {
        grid-column: 1 / -1;
        width: 100%;
        justify-self: stretch;
    }

    .sync-health-action .ui-button {
        width: 100%;
    }

    .sync-connection-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .sync-manage-access {
        grid-column: 1 / -1;
        justify-self: start;
        margin-left: -0.6rem;
    }

    .sync-details-panel {
        grid-template-columns: minmax(0, 1fr);
        padding: 0.85rem;
    }

    .sync-detail-section + .sync-detail-section {
        padding-top: 1rem;
        padding-left: 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }
}

@media (max-width: 720px) {
    .credential-dialog {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem);
        max-height: calc(100vh - 1rem);
    }

    .credential-dialog .ui-dialog-content {
        padding: 0.85rem;
    }

    .credential-dialog-footer .ui-button {
        flex: 1 1 12rem;
    }

    .credential-danger-zone {
        align-items: stretch;
        flex-direction: column;
    }

    .credential-danger-zone .ui-button {
        width: 100%;
    }

    .credential-guide-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .credential-bitunix-link {
        justify-content: center;
        width: 100%;
    }

    .credential-egress-box {
        align-items: stretch;
        grid-template-columns: minmax(0, 1fr);
    }

    .credential-egress-box .ui-button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .sync-health-card {
        padding: 0.9rem;
    }

    .sync-health-icon {
        width: 2.6rem;
        height: 2.6rem;
    }

    .sync-connection-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .sync-connection-row > .status-pill {
        width: fit-content;
        margin-left: 2.85rem;
    }

    .sync-detail-heading {
        display: grid;
        gap: 0.35rem;
    }

    .sync-detail-heading > p {
        max-width: none;
        text-align: left;
    }

    .sync-area-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .sync-area-state {
        grid-column: 2;
        text-align: left;
    }

    .sync-activity-row {
        align-items: start;
        grid-template-columns: minmax(0, 1fr);
    }

    .sync-activity-row > .status-pill {
        width: fit-content;
    }

    .credential-dialog-intro {
        grid-template-columns: minmax(0, 1fr);
    }

    .credential-dialog-icon {
        display: none;
    }
}

/* UX-10B · Administración de usuarios */
.status-pill-danger {
    background: #faeaea;
    color: var(--danger);
}

.admin-users-heading,
.admin-user-detail-heading {
    margin-bottom: 1.25rem;
}

.admin-users-directory,
.admin-user-fact-card,
.admin-user-management-card,
.admin-user-activity {
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 0.95rem;
    background: var(--surface);
}

.admin-users-directory {
    overflow: hidden;
}

.admin-users-toolbar {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) minmax(12rem, 15rem) auto;
    align-items: end;
    gap: 0.8rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface-muted) 55%, var(--surface));
}

.admin-user-filter,
.admin-form-field,
.admin-confirmation-field {
    display: grid;
    min-width: 0;
    gap: 0.42rem;
}

.admin-user-filter label,
.admin-form-field label,
.admin-confirmation-field label {
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 750;
}

.admin-user-filter .ui-inputtext,
.admin-user-filter .ui-selectonemenu,
.admin-form-field .ui-inputtext,
.admin-form-field .ui-selectonemenu,
.admin-confirmation-field .ui-password,
.admin-confirmation-field .ui-password-input {
    width: 100%;
    min-width: 0;
}

.admin-user-filter-search .ui-input-icon-left {
    display: block;
}

.admin-user-filter-search .ui-input-icon-left > .ui-inputtext {
    width: 100%;
}

.admin-users-filter-actions,
.admin-dialog-actions,
.admin-user-action-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
}

.admin-users-result-summary {
    padding: 0.78rem 1.1rem;
    border-bottom: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.86rem;
    font-weight: 700;
}

.admin-users-table {
    border: 0 !important;
}

.admin-users-table .ui-datatable-header,
.admin-users-table .ui-datatable-footer {
    border: 0;
}

.admin-users-table .ui-datatable-thead > tr > th {
    padding: 0.8rem 1rem;
    border-width: 0 0 1px;
    background: var(--surface);
    color: var(--text-muted);
    font-size: 0.76rem;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.admin-users-table .ui-datatable-data > tr > td {
    padding: 0.95rem 1rem;
    border-width: 0 0 1px;
    vertical-align: middle;
}

.admin-user-identity-cell,
.admin-user-access-cell {
    display: grid;
    min-width: 0;
    gap: 0.22rem;
}

.admin-user-identity-cell strong,
.admin-user-identity-cell span,
.admin-user-identity-cell small {
    overflow-wrap: anywhere;
}

.admin-user-identity-cell span,
.admin-user-identity-cell small,
.admin-user-last-access {
    color: var(--text-muted);
}

.admin-user-identity-cell span {
    font-size: 0.88rem;
}

.admin-user-identity-cell small {
    font-size: 0.78rem;
}

.admin-user-access-cell {
    justify-items: start;
}

.admin-role-pill {
    background: #e9edfa;
    color: #364b91;
}

.admin-user-situation {
    display: grid;
    grid-template-columns: 0.55rem minmax(0, 1fr);
    align-items: center;
    gap: 0.5rem;
    line-height: 1.35;
}

.admin-user-situation > span {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: #87929d;
}

.admin-user-situation.progress > span {
    background: #bd8012;
}

.admin-user-situation.attention > span {
    background: var(--danger);
}

.admin-user-situation.ready > span {
    background: var(--success);
}

.admin-user-row-action {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--primary-dark);
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
}

.admin-user-row-action:hover,
.admin-user-row-action:focus-visible {
    text-decoration: underline;
}

.admin-users-empty {
    display: grid;
    justify-items: center;
    gap: 0.65rem;
    padding: 3.2rem 1rem;
    text-align: center;
}

.admin-users-empty > i {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 50%;
    background: var(--primary-soft);
    color: var(--primary);
    font-size: 1.25rem;
}

.admin-users-empty h3,
.admin-users-empty p {
    margin: 0;
}

.admin-users-empty p {
    color: var(--text-muted);
}

.admin-user-heading-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.admin-user-state {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem 1.3rem;
    border: 1px solid var(--border);
    border-left-width: 0.3rem;
    border-radius: 0.95rem;
    background: var(--surface);
}

.admin-user-state-ready {
    border-left-color: var(--success);
}

.admin-user-state-progress {
    border-left-color: #bd8012;
}

.admin-user-state-attention {
    border-left-color: var(--danger);
}

.admin-user-state-icon,
.admin-link-result-icon {
    display: grid;
    flex: 0 0 auto;
    width: 2.9rem;
    height: 2.9rem;
    place-items: center;
    border-radius: 50%;
    background: var(--primary-soft);
    color: var(--primary);
    font-size: 1.2rem;
}

.admin-user-state-copy {
    min-width: 0;
}

.admin-user-state-copy h2,
.admin-user-state-copy p,
.admin-user-fact-card h2,
.admin-user-management-card h2,
.admin-user-activity h2 {
    margin: 0;
}

.admin-user-state-copy h2 {
    margin-top: 0.18rem;
    font-size: clamp(1.15rem, 2vw, 1.4rem);
}

.admin-user-state-copy p {
    max-width: 54rem;
    margin: 0.32rem 0 0;
    color: var(--text-muted);
}

.admin-user-state-copy small {
    display: block;
    margin-top: 0.45rem;
    color: var(--primary-dark);
    font-weight: 700;
}

.admin-user-facts-grid,
.admin-user-management-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.admin-user-fact-card,
.admin-user-management-card,
.admin-user-activity {
    padding: 1.1rem 1.2rem;
}

.admin-user-fact-card > header,
.admin-user-activity > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
}

.admin-user-fact-card h2,
.admin-user-management-card h2,
.admin-user-activity h2 {
    margin-top: 0.2rem;
    font-size: 1.08rem;
}

.admin-user-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
    margin: 1rem 0 0;
}

.admin-user-facts > div {
    min-width: 0;
}

.admin-user-facts dt {
    margin-bottom: 0.2rem;
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 750;
    text-transform: uppercase;
}

.admin-user-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-weight: 650;
}

.admin-user-preparation-reading,
.admin-user-role-state,
.admin-user-current-link,
.admin-action-intro {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
}

.admin-user-preparation-reading {
    margin-top: 1rem;
    padding: 0.85rem;
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.admin-user-preparation-reading > i,
.admin-user-role-state > i,
.admin-user-current-link > i {
    margin-top: 0.12rem;
    color: var(--primary);
}

.admin-user-preparation-reading p,
.admin-user-management-card header p,
.admin-user-role-state span,
.admin-user-activity header p {
    margin: 0.25rem 0 0;
    color: var(--text-muted);
}

.admin-user-bitunix-fact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--border);
}

.admin-user-bitunix-fact span {
    color: var(--text-muted);
}

.admin-user-management-card {
    display: grid;
    align-content: start;
    gap: 1rem;
}

.admin-user-role-state,
.admin-user-current-link {
    padding: 0.8rem 0.9rem;
    border-radius: 0.75rem;
    background: var(--surface-muted);
}

.admin-user-role-state div {
    display: grid;
    gap: 0.2rem;
}

.admin-user-action-list {
    align-items: flex-start;
}

.admin-user-no-action,
.admin-last-admin-note {
    width: 100%;
    margin: 0;
    color: var(--text-muted);
    font-size: 0.88rem;
}

.admin-last-admin-note {
    padding: 0.75rem 0.85rem;
    border-left: 0.2rem solid #bd8012;
    border-radius: 0.55rem;
    background: #fff8e6;
    color: #72500d;
}

.admin-user-activity {
    margin-top: 1rem;
}

.admin-user-activity-table {
    margin-top: 0.8rem;
}

.admin-user-dialog {
    width: min(calc(100vw - 2rem), 760px) !important;
    max-width: calc(100vw - 2rem);
    max-height: calc(100vh - 2rem);
}

.admin-action-dialog {
    width: min(calc(100vw - 2rem), 640px) !important;
}

.admin-user-dialog .ui-dialog-content {
    padding: 1.15rem 1.25rem 1.25rem;
}

.admin-dialog-introduction {
    margin: 0 0 1rem;
    color: var(--text-muted);
    line-height: 1.5;
}

.admin-form-field small,
.admin-confirmation-field small {
    color: var(--text-muted);
    line-height: 1.35;
}

.admin-invite-role-field {
    max-width: 32rem;
}

.admin-invite-role-choice.ui-selectonebutton {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-invite-role-choice.ui-selectonebutton .ui-button {
    justify-content: center;
    min-height: 2.8rem;
}

.admin-confirmation-field {
    margin-top: 1rem;
    padding: 0.95rem;
    border: 1px solid color-mix(in srgb, var(--primary) 25%, var(--border));
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--primary-soft) 65%, var(--surface));
}

.admin-dialog-actions {
    justify-content: flex-end;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.admin-dialog-actions-centered {
    justify-content: center;
}

.admin-link-result {
    display: grid;
    justify-items: center;
    gap: 0.55rem;
    padding: 0.25rem 0;
    text-align: center;
}

.admin-link-result h2,
.admin-link-result p {
    margin: 0;
}

.admin-link-result > p {
    color: var(--text-muted);
}

.admin-copy-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.6rem;
    width: 100%;
    margin-top: 0.45rem;
}

.admin-copy-field .ui-inputtext {
    width: 100%;
    min-width: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.8rem;
}

.admin-copy-feedback {
    min-height: 1.25rem;
    color: var(--success);
    font-size: 0.86rem;
    font-weight: 700;
}

.admin-link-warning,
.admin-current-link-note {
    padding: 0.75rem 0.85rem;
    border-radius: 0.65rem;
    background: var(--surface-muted);
    color: var(--text-muted);
    font-size: 0.86rem;
    line-height: 1.4;
}

.admin-action-intro {
    padding: 0.9rem;
    border-radius: 0.75rem;
    background: var(--primary-soft);
}

.admin-action-intro > i {
    margin-top: 0.15rem;
    color: var(--primary);
    font-size: 1.15rem;
}

.admin-action-intro.danger {
    background: #faeaea;
}

.admin-action-intro.danger > i {
    color: var(--danger);
}

.admin-action-intro h2,
.admin-action-intro p {
    margin: 0;
}

.admin-action-intro p {
    margin-top: 0.3rem;
    color: var(--text-muted);
    line-height: 1.45;
}

@media (max-width: 900px) {
    .admin-users-toolbar {
        grid-template-columns: minmax(0, 1fr) minmax(12rem, 14rem);
    }

    .admin-users-filter-actions {
        grid-column: 1 / -1;
    }

    .admin-user-facts-grid,
    .admin-user-management-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .admin-users-toolbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-invite-role-choice.ui-selectonebutton {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-users-filter-actions {
        grid-column: auto;
    }

    .admin-user-state {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
    }

    .admin-user-state-action {
        grid-column: 1 / -1;
        width: 100%;
    }

    .admin-user-state-action .ui-button,
    .admin-user-state-action .operation-detail-link {
        width: 100%;
        justify-content: center;
    }

    .admin-user-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-users-table.ui-datatable-reflow .ui-datatable-data > tr {
        display: grid;
        gap: 0;
        margin: 0.75rem;
        border: 1px solid var(--border);
        border-radius: 0.8rem;
        overflow: hidden;
    }

    .admin-users-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        display: grid;
        grid-template-columns: minmax(7rem, 35%) minmax(0, 1fr);
        gap: 0.7rem;
        padding: 0.72rem 0.85rem;
    }

    .admin-user-destination-column .ui-column-title {
        display: none !important;
    }

    .admin-user-destination-column {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .admin-user-row-action {
        justify-content: flex-end;
    }

    .admin-user-dialog {
        width: calc(100vw - 1rem) !important;
        max-width: calc(100vw - 1rem);
        max-height: calc(100vh - 1rem);
    }

    .admin-user-dialog .ui-dialog-content {
        padding: 0.9rem;
    }
}

@media (max-width: 480px) {
    .admin-users-filter-actions,
    .admin-dialog-actions,
    .admin-user-action-list,
    .admin-user-fact-card > header,
    .admin-user-activity > header {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-users-filter-actions .ui-button,
    .admin-dialog-actions .ui-button,
    .admin-user-action-list .ui-button,
    .admin-user-fact-card > header .ui-button,
    .admin-user-activity > header .ui-button {
        width: 100%;
        justify-content: center;
    }

    .admin-user-state {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-user-state-icon {
        display: none;
    }

    .admin-copy-field {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-copy-field .ui-button {
        width: 100%;
        justify-content: center;
    }

    .admin-users-table.ui-datatable-reflow .ui-datatable-data > tr > td {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-users-table.ui-datatable-reflow .ui-column-title {
        margin-bottom: 0.25rem;
    }

    .admin-user-row-action {
        justify-content: flex-start;
    }
}
