/* Custom OFHC SSO theme built on helperLibraries ui/v1. */
[data-ui-module="ofhc-sso"],
:root {
    --ui-primary: #0f766e;
    --ui-primary-light: #ccfbf1;
    --ui-primary-hover: #115e59;
    --ui-sidebar-bg: #16213a;
    --ui-sidebar-text: #b8c2d6;
    --ui-sidebar-active-bg: #0f766e;
    --ui-sidebar-hover-bg: rgba(45, 212, 191, 0.13);
    --ui-header-bg: #ffffff;
    --ui-header-border: #d9e2ec;
}

[data-theme="dark"][data-ui-module="ofhc-sso"] {
    --ui-primary-light: rgba(45, 212, 191, 0.18);
    --ui-sidebar-bg: #09111f;
    --ui-header-bg: #111827;
    --ui-header-border: #243044;
}

.sso-brand-mark {
    width: 32px;
    height: 32px;
    border-radius: var(--ui-radius-md);
    background: var(--ui-primary-light);
    color: var(--ui-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--ui-text-xs);
    font-weight: 800;
    flex-shrink: 0;
}

.sso-sidebar-note {
    display: block;
    color: #64748b;
    font-size: var(--ui-text-xs);
    line-height: 1.35;
}

.sso-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.8fr);
    gap: var(--ui-spacing-lg);
    align-items: stretch;
}

.sso-hero__lead {
    font-size: var(--ui-text-lg);
    color: var(--ui-text-muted);
    max-width: 64ch;
    margin: 0 0 var(--ui-spacing-lg);
}

.sso-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ui-spacing-sm);
    align-items: center;
}

.sso-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--ui-spacing-md);
    margin-top: var(--ui-spacing-lg);
}

.sso-kv {
    display: grid;
    grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr);
    gap: var(--ui-spacing-sm) var(--ui-spacing-md);
    margin: 0;
}

.sso-kv dt {
    color: var(--ui-text-muted);
    font-size: var(--ui-text-sm);
    font-weight: 600;
}

.sso-kv dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.sso-status-panel {
    display: flex;
    flex-direction: column;
    gap: var(--ui-spacing-sm);
}

@media (max-width: 900px) {
    .sso-hero {
        grid-template-columns: 1fr;
    }
}

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