﻿/*
    RCCIdentity Administrator UI Framework
    Shared, reusable presentation for administration pages.
*/

.rcc-skip-link {
    position: fixed;
    top: .5rem;
    left: .5rem;
    z-index: 3000;
    padding: .65rem 1rem;
    border-radius: var(--rcc-radius-sm);
    background: #fff;
    color: var(--rcc-green-950);
    font-weight: 800;
    transform: translateY(-160%);
}

.rcc-skip-link:focus {
    transform: translateY(0);
}

.identity-admin-nav {
    display: none;
}

.identity-primary-nav {
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: #073b39;
}

.identity-primary-nav-inner {
    min-height: 58px;
    display: flex;
    align-items: stretch;
    gap: .2rem;
}

.identity-primary-link {
    min-height: 58px;
    padding: .75rem 1rem;
    display: inline-flex;
    align-items: center;
    border: 0;
    border-bottom: 4px solid transparent;
    background: transparent;
    color: rgba(255, 255, 255, .92);
    font-size: .95rem;
    font-weight: 800;
    text-decoration: none;
}

.identity-primary-link:hover,
.identity-primary-link:focus,
.identity-primary-link.show {
    background: rgba(255, 255, 255, .10);
    color: #fff;
}

.identity-primary-link.is-active {
    border-bottom-color: var(--rcc-gold-500);
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.identity-navigation-menu {
    width: 360px;
    padding: .75rem;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-md);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .24);
}

.identity-navigation-menu--wide {
    width: 440px;
}

.identity-menu-heading {
    padding: .4rem .75rem;
    color: var(--rcc-green-800);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.identity-navigation-menu .dropdown-item {
    padding: .65rem .75rem;
    border-radius: var(--rcc-radius-sm);
    white-space: normal;
}

.identity-navigation-menu .dropdown-item strong {
    display: block;
    color: var(--rcc-green-950);
}

.identity-navigation-menu .dropdown-item span {
    display: block;
    margin-top: .15rem;
    color: var(--rcc-ink-500);
    font-size: .82rem;
    line-height: 1.35;
}

.identity-navigation-menu .dropdown-item:hover,
.identity-navigation-menu .dropdown-item:focus {
    background: var(--rcc-green-050);
}

.identity-workflow-menu {
    margin: .4rem .75rem .65rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
}

.identity-workflow-menu a {
    padding: .55rem .65rem;
    display: flex;
    align-items: center;
    gap: .55rem;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-sm);
    color: var(--rcc-green-900);
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
}

.identity-workflow-menu a:hover,
.identity-workflow-menu a:focus {
    border-color: var(--rcc-green-700);
    background: var(--rcc-green-050);
}

.identity-workflow-menu a span {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rcc-green-900);
    color: #fff;
    font-size: .75rem;
}

.identity-context-bar {
    border-bottom: 1px solid var(--rcc-border);
    background: #fff;
}

.identity-context-breadcrumb {
    min-height: 42px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem;
    list-style: none;
    color: var(--rcc-ink-500);
    font-size: .82rem;
}

.identity-context-breadcrumb li {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.identity-context-breadcrumb li + li::before {
    content: "›";
    color: var(--rcc-ink-300);
    font-weight: 800;
}

.identity-context-breadcrumb a {
    color: var(--rcc-green-800);
    font-weight: 700;
    text-decoration: none;
}

.identity-context-breadcrumb a:hover {
    text-decoration: underline;
}

.identity-context-breadcrumb li:last-child span {
    color: var(--rcc-ink-700);
    font-weight: 700;
}

.rcc-admin-toolbar {
    margin-bottom: var(--rcc-space-5);
    padding: var(--rcc-space-5);
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-lg);
    background: var(--rcc-surface);
    box-shadow: var(--rcc-shadow-sm);
}

.rcc-admin-toolbar__grid {
    display: grid;
    grid-template-columns:
        minmax(260px, 2fr)
        repeat(2, minmax(160px, 1fr))
        auto;
    align-items: end;
    gap: var(--rcc-space-4);
}

.rcc-admin-toolbar__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--rcc-space-2);
}

.rcc-admin-result-summary {
    margin: 0 0 var(--rcc-space-4);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--rcc-space-3);
    color: var(--rcc-ink-500);
    font-size: .9rem;
}

.rcc-admin-result-summary strong {
    color: var(--rcc-ink-700);
}

.rcc-status {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .65rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

.rcc-status__dot {
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: currentColor;
}

.rcc-status--success {
    border-color: #bdd9c5;
    background: var(--rcc-success-soft);
    color: var(--rcc-success);
}

.rcc-status--info {
    border-color: #bad4df;
    background: var(--rcc-info-soft);
    color: var(--rcc-info);
}

.rcc-status--warning {
    border-color: #e5d09a;
    background: var(--rcc-warning-soft);
    color: var(--rcc-warning);
}

.rcc-status--danger {
    border-color: #e6baba;
    background: var(--rcc-danger-soft);
    color: var(--rcc-danger);
}

.rcc-status--neutral {
    border-color: var(--rcc-border);
    background: var(--rcc-surface-soft);
    color: var(--rcc-ink-500);
}

.rcc-admin-table {
    margin-bottom: 0;
}

.rcc-admin-table thead th {
    padding-top: .85rem;
    padding-bottom: .85rem;
    border-bottom-width: 1px;
    background: var(--rcc-green-050);
    color: var(--rcc-green-950);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    white-space: nowrap;
}

.rcc-admin-table tbody tr {
    transition: background-color var(--rcc-transition);
}

.rcc-admin-table tbody tr:hover {
    background: var(--rcc-green-050);
}

.rcc-admin-table td {
    padding-top: .9rem;
    padding-bottom: .9rem;
}

.rcc-table-actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .4rem;
}

.rcc-table-primary-link {
    color: var(--rcc-green-900);
    font-weight: 800;
    text-decoration: none;
}

.rcc-table-primary-link:hover {
    text-decoration: underline;
}

.rcc-table-secondary-text {
    margin-top: .2rem;
    color: var(--rcc-ink-500);
    font-size: .84rem;
}

.rcc-empty-state {
    max-width: 680px;
    margin: 0 auto;
    padding: var(--rcc-space-8) var(--rcc-space-6);
    text-align: center;
}

.rcc-empty-state__icon {
    width: 48px;
    height: 48px;
    margin: 0 auto var(--rcc-space-4);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rcc-green-100);
    color: var(--rcc-green-900);
    font-size: 1.2rem;
    font-weight: 900;
}

.rcc-empty-state__title {
    margin: 0;
    color: var(--rcc-green-950);
    font-size: 1.35rem;
}

.rcc-empty-state__text {
    max-width: 540px;
    margin: var(--rcc-space-3) auto var(--rcc-space-5);
    color: var(--rcc-ink-500);
}

.rcc-detail-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--rcc-space-5);
}

.rcc-detail-main {
    grid-column: span 8;
}

.rcc-detail-aside {
    grid-column: span 4;
}

.rcc-definition-list {
    margin: 0;
    display: grid;
    grid-template-columns: minmax(160px, .7fr) minmax(0, 1.3fr);
    gap: .75rem 1.5rem;
}

.rcc-definition-list dt {
    color: var(--rcc-ink-500);
    font-size: .86rem;
    font-weight: 800;
}

.rcc-definition-list dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.rcc-attention-banner {
    padding: var(--rcc-space-4) var(--rcc-space-5);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--rcc-space-4);
    border: 1px solid #e5d09a;
    border-left: 5px solid var(--rcc-warning);
    border-radius: var(--rcc-radius-md);
    background: var(--rcc-warning-soft);
    color: #60470f;
}

.rcc-attention-banner--danger {
    border-color: #e6baba;
    border-left-color: var(--rcc-danger);
    background: var(--rcc-danger-soft);
    color: #742c2c;
}

@media (max-width: 1050px) {
    .rcc-admin-toolbar__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rcc-admin-toolbar__actions {
        grid-column: 1 / -1;
    }

    .rcc-detail-main,
    .rcc-detail-aside {
        grid-column: span 12;
    }
}

@media (max-width: 991.98px) {
    .identity-primary-nav-inner {
        padding-top: .35rem;
        padding-bottom: .35rem;
        flex-wrap: wrap;
    }

    .identity-primary-link {
        min-height: 44px;
        padding: .55rem .75rem;
    }
}

@media (max-width: 767.98px) {
    .identity-primary-nav-inner {
        align-items: stretch;
        flex-direction: column;
    }

    .identity-primary-link {
        width: 100%;
        justify-content: space-between;
        border-bottom: 0;
        border-left: 4px solid transparent;
    }

    .identity-primary-link.is-active {
        border-left-color: var(--rcc-gold-500);
    }

    .identity-navigation-menu,
    .identity-navigation-menu--wide {
        width: min(94vw, 440px);
    }

    .rcc-admin-toolbar__grid {
        grid-template-columns: 1fr;
    }

    .rcc-admin-toolbar__actions {
        grid-column: auto;
    }

    .rcc-admin-toolbar__actions .btn {
        flex: 1 1 auto;
    }

    .rcc-page-actions,
    .rcc-page-header-actions {
        width: 100%;
        justify-content: stretch;
    }

    .rcc-page-actions .btn,
    .rcc-page-header-actions .btn {
        flex: 1 1 auto;
    }

    .rcc-definition-list {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .rcc-definition-list dd {
        margin-bottom: .8rem;
    }
}


/* Phase 3B-2 Global Identity Search */
.identity-header-inner {
    gap: 1rem;
}

.identity-global-search {
    min-width: 280px;
    max-width: 520px;
    flex: 1 1 440px;
    display: flex;
    align-items: center;
    position: relative;
}

.identity-global-search input {
    width: 100%;
    min-height: 42px;
    padding: .55rem 7.5rem .55rem .85rem;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: var(--rcc-radius-md);
    background: rgba(255, 255, 255, .96);
    color: var(--rcc-ink-900);
    outline: none;
}

.identity-global-search input:focus {
    border-color: var(--rcc-gold-500);
    box-shadow: 0 0 0 3px rgba(201, 168, 76, .25);
}

.identity-global-search button {
    position: absolute;
    right: .35rem;
    min-height: 34px;
    padding: .35rem .7rem;
    border: 0;
    border-radius: var(--rcc-radius-sm);
    background: var(--rcc-green-900);
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
}

.identity-global-search kbd {
    position: absolute;
    right: 4.65rem;
    padding: .18rem .4rem;
    border: 1px solid var(--rcc-border);
    border-radius: .3rem;
    background: var(--rcc-surface-soft);
    color: var(--rcc-ink-500);
    font-family: inherit;
    font-size: .68rem;
    font-weight: 700;
    box-shadow: none;
}

.rcc-global-search-page {
    padding: var(--rcc-space-6);
}

.rcc-global-search-page__form {
    max-width: 920px;
    margin: 0 auto;
}

.rcc-global-search-results {
    display: grid;
    gap: var(--rcc-space-5);
}

.rcc-search-result-group {
    padding: 0;
    overflow: hidden;
}

.rcc-search-result-group__header {
    padding: .9rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--rcc-border);
    background: var(--rcc-green-050);
}

.rcc-search-result-group__header h2 {
    margin: 0;
    color: var(--rcc-green-950);
    font-size: 1rem;
    font-weight: 900;
}

.rcc-search-result-group__header span {
    min-width: 2rem;
    padding: .2rem .55rem;
    border-radius: 999px;
    background: var(--rcc-green-900);
    color: #fff;
    font-size: .75rem;
    font-weight: 800;
    text-align: center;
}

.rcc-search-result {
    padding: 1rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.rcc-search-result__main {
    min-width: 0;
}

.rcc-search-result__main strong {
    color: var(--rcc-green-950);
    font-size: .98rem;
}

.rcc-search-result__secondary {
    margin-top: .2rem;
    color: var(--rcc-ink-700);
    font-size: .88rem;
}

.rcc-search-result__tertiary {
    margin-top: .12rem;
    color: var(--rcc-ink-500);
    font-size: .8rem;
}

.rcc-search-result__meta {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: .4rem;
    flex: 0 0 auto;
}

.rcc-search-result__matched {
    color: var(--rcc-ink-500);
    font-size: .72rem;
}

@media (max-width: 991.98px) {
    .identity-header-inner {
        flex-wrap: wrap;
    }

    .identity-global-search {
        order: 3;
        min-width: 100%;
        max-width: none;
        flex-basis: 100%;
    }
}

@media (max-width: 640px) {
    .identity-global-search kbd {
        display: none;
    }

    .identity-global-search input {
        padding-right: 4.8rem;
    }

    .rcc-search-result {
        align-items: flex-start;
        flex-direction: column;
        gap: .65rem;
    }

    .rcc-search-result__meta {
        align-items: flex-start;
    }
}


/* Phase 3B-3 Administrator Dashboard */
.rcc-dashboard-section-heading,
.rcc-dashboard-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.rcc-dashboard-section-heading {
    margin-bottom: 1rem;
}

.rcc-dashboard-section-heading h2,
.rcc-dashboard-panel__header h2 {
    margin: 0;
    color: var(--rcc-green-950);
    font-size: 1.2rem;
}

.rcc-dashboard-section-heading p,
.rcc-dashboard-panel__header p {
    margin: .2rem 0 0;
    color: var(--rcc-ink-500);
}

.rcc-dashboard-overview {
    margin-bottom: var(--rcc-space-6);
}

.rcc-dashboard-metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--rcc-space-4);
}

.rcc-dashboard-metric {
    min-height: 142px;
    padding: var(--rcc-space-5);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-lg);
    background: var(--rcc-surface);
    color: var(--rcc-ink-500);
    text-decoration: none;
    box-shadow: var(--rcc-shadow-sm);
    transition:
        transform var(--rcc-transition),
        border-color var(--rcc-transition),
        box-shadow var(--rcc-transition);
}

.rcc-dashboard-metric:hover,
.rcc-dashboard-metric:focus {
    border-color: var(--rcc-green-700);
    color: var(--rcc-ink-500);
    transform: translateY(-2px);
    box-shadow: var(--rcc-shadow-md);
}

.rcc-dashboard-metric__label {
    color: var(--rcc-green-900);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rcc-dashboard-metric strong {
    color: var(--rcc-green-950);
    font-family: var(--rcc-font-display);
    font-size: 2.5rem;
    line-height: 1;
}

.rcc-dashboard-metric > span:last-child {
    font-size: .82rem;
}

.rcc-dashboard-columns {
    margin-bottom: var(--rcc-space-6);
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: var(--rcc-space-5);
}

.rcc-dashboard-panel {
    height: 100%;
}

.rcc-dashboard-attention-count {
    min-width: 2.5rem;
    padding: .35rem .75rem;
    border-radius: 999px;
    background: var(--rcc-warning-soft);
    color: var(--rcc-warning);
    font-weight: 900;
    text-align: center;
}

.rcc-dashboard-all-clear {
    margin-top: 1rem;
    padding: 1.1rem;
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    border: 1px solid #bdd9c5;
    border-radius: var(--rcc-radius-md);
    background: var(--rcc-success-soft);
    color: var(--rcc-success);
}

.rcc-dashboard-all-clear > span {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--rcc-success);
    color: #fff;
    font-weight: 900;
}

.rcc-dashboard-all-clear p {
    margin: .2rem 0 0;
}

.rcc-dashboard-attention-list {
    margin-top: 1rem;
    display: grid;
    gap: .55rem;
}

.rcc-dashboard-attention-list a {
    padding: .8rem;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-md);
    color: var(--rcc-ink-700);
    text-decoration: none;
}

.rcc-dashboard-attention-list a:hover,
.rcc-dashboard-attention-list a:focus {
    border-color: var(--rcc-warning);
    background: var(--rcc-warning-soft);
}

.rcc-dashboard-attention-list small {
    display: block;
    margin-top: .12rem;
    color: var(--rcc-ink-500);
}

.rcc-dashboard-attention-icon {
    width: 1.75rem;
    height: 1.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--rcc-warning-soft);
    color: var(--rcc-warning);
    font-weight: 900;
}

.rcc-dashboard-quick-actions {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.rcc-dashboard-quick-actions a {
    min-height: 86px;
    padding: .85rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-md);
    color: var(--rcc-green-900);
    text-decoration: none;
}

.rcc-dashboard-quick-actions a:hover,
.rcc-dashboard-quick-actions a:focus {
    border-color: var(--rcc-green-700);
    background: var(--rcc-green-050);
}

.rcc-dashboard-quick-actions span {
    margin-top: .18rem;
    color: var(--rcc-ink-500);
    font-size: .78rem;
}

.rcc-dashboard-workflow,
.rcc-dashboard-activity {
    margin-bottom: var(--rcc-space-6);
}

.rcc-dashboard-workflow__summary {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(4, minmax(110px, 1fr));
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-md);
    overflow: hidden;
}

.rcc-dashboard-workflow__summary > div {
    padding: .9rem;
    border-right: 1px solid var(--rcc-border);
}

.rcc-dashboard-workflow__summary > div:last-child {
    border-right: 0;
}

.rcc-dashboard-workflow__summary span,
.rcc-dashboard-next-step span {
    display: block;
    color: var(--rcc-ink-500);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.rcc-dashboard-workflow__summary strong {
    display: block;
    margin-top: .2rem;
    color: var(--rcc-green-950);
    overflow-wrap: anywhere;
}

.rcc-dashboard-next-step {
    margin-top: 1rem;
    padding: .9rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-left: 5px solid var(--rcc-gold-500);
    border-radius: var(--rcc-radius-md);
    background: var(--rcc-green-050);
}

.rcc-dashboard-next-step strong {
    display: block;
    margin-top: .15rem;
    color: var(--rcc-green-950);
    font-size: 1.05rem;
}

.rcc-dashboard-activity-list {
    display: grid;
}

.rcc-dashboard-activity-list > a {
    padding: .85rem 0;
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) auto 145px;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid var(--rcc-border);
    color: var(--rcc-ink-700);
    text-decoration: none;
}

.rcc-dashboard-activity-list > a:last-child {
    border-bottom: 0;
}

.rcc-dashboard-activity-list > a:hover,
.rcc-dashboard-activity-list > a:focus {
    background: var(--rcc-green-050);
}

.rcc-dashboard-activity__type {
    color: var(--rcc-green-800);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.rcc-dashboard-activity__content {
    min-width: 0;
}

.rcc-dashboard-activity__content strong,
.rcc-dashboard-activity__content span {
    display: block;
}

.rcc-dashboard-activity__content span {
    margin-top: .15rem;
    color: var(--rcc-ink-500);
    font-size: .82rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rcc-dashboard-activity-list time {
    color: var(--rcc-ink-500);
    font-size: .78rem;
    text-align: right;
}

@media (max-width: 1180px) {
    .rcc-dashboard-metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .rcc-dashboard-workflow__summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .rcc-dashboard-workflow__summary > div {
        border-bottom: 1px solid var(--rcc-border);
    }
}

@media (max-width: 900px) {
    .rcc-dashboard-columns {
        grid-template-columns: 1fr;
    }

    .rcc-dashboard-activity-list > a {
        grid-template-columns: 80px minmax(0, 1fr) auto;
    }

    .rcc-dashboard-activity-list time {
        grid-column: 2 / -1;
        text-align: left;
    }
}

@media (max-width: 700px) {
    .rcc-dashboard-metric-grid,
    .rcc-dashboard-workflow__summary {
        grid-template-columns: 1fr;
    }

    .rcc-dashboard-workflow__summary > div {
        border-right: 0;
    }

    .rcc-dashboard-quick-actions {
        grid-template-columns: 1fr;
    }

    .rcc-dashboard-next-step {
        align-items: stretch;
        flex-direction: column;
    }

    .rcc-dashboard-next-step .btn {
        width: 100%;
    }

    .rcc-dashboard-activity-list > a {
        grid-template-columns: 1fr;
        gap: .35rem;
    }

    .rcc-dashboard-activity-list time {
        grid-column: auto;
    }
}


/* Phase 3B-4A Person Workspace Foundation */
.rcc-person-workspace-header {
    margin-bottom: var(--rcc-space-5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--rcc-space-4);
}

.rcc-person-workspace-identity {
    display: flex;
    align-items: center;
    gap: var(--rcc-space-4);
}

.rcc-person-workspace-avatar {
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 3px solid var(--rcc-gold-500);
    border-radius: 50%;
    background: var(--rcc-green-900);
    color: #fff;
    font-family: var(--rcc-font-display);
    font-size: 1.65rem;
    font-weight: 900;
    letter-spacing: .03em;
}

.rcc-person-workspace-legal-name {
    margin-top: .2rem;
    color: var(--rcc-ink-500);
    font-size: .84rem;
}

.rcc-person-workspace-contact-line {
    margin-top: .35rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    color: var(--rcc-ink-700);
    font-size: .9rem;
}

.rcc-workspace-tabs {
    margin-bottom: var(--rcc-space-5);
    display: flex;
    align-items: flex-end;
    gap: .25rem;
    border-bottom: 1px solid var(--rcc-border);
    overflow-x: auto;
}

.rcc-workspace-tabs a {
    min-height: 48px;
    padding: .75rem .9rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-bottom: 4px solid transparent;
    color: var(--rcc-ink-700);
    font-size: .88rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.rcc-workspace-tabs a:hover,
.rcc-workspace-tabs a:focus {
    color: var(--rcc-green-900);
    background: var(--rcc-green-050);
}

.rcc-workspace-tabs a.is-active {
    border-bottom-color: var(--rcc-gold-500);
    color: var(--rcc-green-950);
}

.rcc-workspace-tabs a span {
    min-width: 1.55rem;
    padding: .12rem .4rem;
    border-radius: 999px;
    background: var(--rcc-surface-soft);
    color: var(--rcc-ink-700);
    font-size: .7rem;
    text-align: center;
}

.rcc-person-summary-grid {
    margin-bottom: var(--rcc-space-5);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--rcc-space-4);
}

.rcc-person-summary-card {
    min-height: 128px;
    padding: var(--rcc-space-5);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-lg);
    background: var(--rcc-surface);
    color: var(--rcc-ink-500);
    text-decoration: none;
    box-shadow: var(--rcc-shadow-sm);
}

.rcc-person-summary-card:hover,
.rcc-person-summary-card:focus {
    border-color: var(--rcc-green-700);
    color: var(--rcc-ink-500);
    box-shadow: var(--rcc-shadow-md);
    transform: translateY(-2px);
}

.rcc-person-summary-card > span {
    color: var(--rcc-green-900);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rcc-person-summary-card strong {
    color: var(--rcc-green-950);
    font-family: var(--rcc-font-display);
    font-size: 2rem;
    line-height: 1.05;
}

.rcc-person-summary-card small {
    color: var(--rcc-ink-500);
}

.rcc-definition-list--stacked {
    grid-template-columns: 1fr;
    gap: .25rem;
}

.rcc-definition-list--stacked dd {
    margin-bottom: .9rem;
}

.rcc-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--rcc-space-4);
}

.rcc-contact-card {
    min-height: 120px;
    padding: var(--rcc-space-5);
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-md);
    background: var(--rcc-surface-soft);
}

.rcc-contact-card span {
    color: var(--rcc-ink-500);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.rcc-contact-card strong {
    margin-top: .4rem;
    color: var(--rcc-green-950);
    font-size: 1.05rem;
    overflow-wrap: anywhere;
}

.rcc-contact-card small {
    margin-top: .25rem;
    color: var(--rcc-ink-500);
}

@media (max-width: 1000px) {
    .rcc-person-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .rcc-person-workspace-header,
    .rcc-person-workspace-identity {
        align-items: flex-start;
    }

    .rcc-person-workspace-identity {
        width: 100%;
    }

    .rcc-person-workspace-avatar {
        width: 58px;
        height: 58px;
        font-size: 1.25rem;
    }

    .rcc-person-summary-grid,
    .rcc-contact-grid {
        grid-template-columns: 1fr;
    }

    .rcc-workspace-tabs {
        margin-right: calc(var(--rcc-gutter) * -1);
        margin-left: calc(var(--rcc-gutter) * -1);
        padding-right: var(--rcc-gutter);
        padding-left: var(--rcc-gutter);
    }
}


/* Phase 3B-4B Person History and Provenance */
.rcc-person-history-timeline {
    padding: var(--rcc-space-5);
}

.rcc-person-history-event {
    position: relative;
    padding: 0 0 var(--rcc-space-5) 2.25rem;
}

.rcc-person-history-event:last-child {
    padding-bottom: 0;
}

.rcc-person-history-event::before {
    content: "";
    position: absolute;
    top: 1rem;
    bottom: 0;
    left: .58rem;
    width: 2px;
    background: var(--rcc-border);
}

.rcc-person-history-event:last-child::before {
    display: none;
}

.rcc-person-history-event__marker {
    position: absolute;
    top: .35rem;
    left: 0;
    width: 1.2rem;
    height: 1.2rem;
    border: 3px solid var(--rcc-surface);
    border-radius: 50%;
    background: var(--rcc-green-800);
    box-shadow: 0 0 0 1px var(--rcc-green-800);
}

.rcc-person-history-event__body {
    padding: 1rem;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-md);
    background: var(--rcc-surface);
}

.rcc-person-history-event__type {
    color: var(--rcc-green-800);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.rcc-person-history-event h3 {
    margin: .18rem 0 0;
    color: var(--rcc-green-950);
    font-size: 1rem;
}

.rcc-person-history-event p {
    margin: .55rem 0 0;
    color: var(--rcc-ink-700);
}

.rcc-person-history-event__meta {
    margin-top: .65rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .65rem;
    color: var(--rcc-ink-500);
    font-size: .78rem;
}

.rcc-history-json-grid {
    margin-top: .75rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.rcc-history-json-grid pre {
    max-height: 300px;
    margin: .4rem 0 0;
    padding: .75rem;
    overflow: auto;
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-sm);
    background: var(--rcc-surface-soft);
    color: var(--rcc-ink-700);
    font-size: .72rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 700px) {
    .rcc-history-json-grid {
        grid-template-columns: 1fr;
    }
}


/* Phase 3C-1 Jonas Import Validation Wizard */
.rcc-wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}.rcc-wizard-step{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border:1px solid var(--rcc-border);border-radius:var(--rcc-radius-md);background:var(--rcc-surface-soft);color:var(--rcc-ink-500)}.rcc-wizard-step span{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--rcc-border);font-weight:800}.rcc-wizard-step.is-active{border-color:var(--rcc-green-800);background:var(--rcc-surface);color:var(--rcc-green-950)}.rcc-wizard-step.is-active span{background:var(--rcc-green-800);color:#fff}.rcc-validation-summary-grid,.rcc-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.rcc-validation-summary-grid div,.rcc-preview-grid div{display:flex;flex-direction:column;gap:.2rem}.rcc-validation-summary-grid span,.rcc-preview-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--rcc-ink-500);font-weight:800}.rcc-validation-summary-grid strong,.rcc-preview-grid strong{font-size:1.35rem;color:var(--rcc-green-950)}.rcc-preview-grid small{color:var(--rcc-ink-500)}.rcc-validation-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.rcc-validation-counts>div{display:flex;align-items:baseline;gap:.55rem;padding:1rem;border-radius:var(--rcc-radius-md);border:1px solid var(--rcc-border);background:var(--rcc-surface)}.rcc-validation-counts strong{font-size:1.55rem}.rcc-validation-counts .is-error{border-left:4px solid #a12b2b}.rcc-validation-counts .is-warning{border-left:4px solid #a86f00}.rcc-validation-counts .is-info{border-left:4px solid #356a8a}.rcc-validation-badge{display:inline-flex;padding:.25rem .55rem;border-radius:999px;font-size:.72rem;font-weight:900}.rcc-validation-badge--error{background:#fbe7e7;color:#8b1f1f}.rcc-validation-badge--warning{background:#fff2cf;color:#765000}.rcc-validation-badge--information{background:#e5f0f7;color:#27566f}@media(max-width:800px){.rcc-wizard-steps,.rcc-validation-summary-grid,.rcc-preview-grid{grid-template-columns:1fr 1fr}.rcc-validation-counts{grid-template-columns:1fr}}@media(max-width:520px){.rcc-wizard-steps,.rcc-validation-summary-grid,.rcc-preview-grid{grid-template-columns:1fr}}


/* RCCIdentity Database Documentation */
.rcc-dbdoc-overview {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--rcc-space-5);
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--rcc-border);
    border-radius: var(--rcc-radius-lg);
    background:
        linear-gradient(
            135deg,
            var(--rcc-green-950),
            var(--rcc-green-800));
    color: #fff;
    box-shadow: var(--rcc-shadow-md);
}

.rcc-dbdoc-overview__eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: rgba(255, 255, 255, .72);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rcc-dbdoc-overview h2 {
    margin: 0 0 .35rem;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.35rem);
}

.rcc-dbdoc-overview p {
    color: rgba(255, 255, 255, .78);
}

.rcc-dbdoc-overview__action {
    min-width: min(100%, 320px);
    text-align: center;
}

.rcc-dbdoc-overview__action .btn-primary {
    width: 100%;
    border-color: var(--rcc-gold-500);
    background: var(--rcc-gold-500);
    color: var(--rcc-green-950);
}

.rcc-dbdoc-overview__action .text-muted {
    color: rgba(255, 255, 255, .68) !important;
}

.rcc-dbdoc-metric {
    display: flex;
    min-height: 105px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.rcc-dbdoc-metric strong {
    color: var(--rcc-green-800);
    font-size: 2rem;
    line-height: 1;
}

.rcc-dbdoc-metric span {
    margin-top: .45rem;
    color: var(--rcc-ink-700);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.rcc-dbdoc-metric.is-warning strong {
    color: var(--rcc-warning-700, #8a5b12);
}

.rcc-dbdoc-file {
    display: grid;
    grid-template-columns: minmax(230px, .85fr) 1.15fr;
    gap: 1rem;
    padding: .9rem 0;
    border-bottom: 1px solid var(--rcc-border);
}

.rcc-dbdoc-file:first-child {
    padding-top: 0;
}

.rcc-dbdoc-file:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.rcc-dbdoc-file code {
    color: var(--rcc-green-800);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.rcc-dbdoc-file span {
    color: var(--rcc-ink-700);
}

@media (max-width: 850px) {
    .rcc-dbdoc-overview {
        align-items: stretch;
        flex-direction: column;
    }

    .rcc-dbdoc-overview__action {
        min-width: 0;
        width: 100%;
    }

    .rcc-dbdoc-file {
        grid-template-columns: 1fr;
        gap: .3rem;
    }
}
