﻿.section-standout {
    background: #1c4c37;
    color: #fff;
}

.idam-welcome {
    padding: 0.7rem 0;
}

.idam-welcome .container {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.idam-welcome h1,
.idam-welcome .h3 {
    color: #fff;
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.15rem;
}

.idam-welcome .small {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
}


/* First level links */
#navigation .first-level-link {
    color: #1c4c37 !important; /* White text */
}

    /* Hover effect */
    #navigation .first-level-link:hover {
    
        color: #1c4c37 !important;
    }

/* Second level links */
#navigation .second-level-link {
    color: #1c4c37;
}
.first-level-link, .first-level-btn {
    color: #1c4c37 !important;
}
.utility-header {
    background: #1c4c37 !important;
    color: #fff;
}

/* Header branding alignment */
.branding {
    display: flex;
    justify-content: flex-start;
}

.header-organization-banner {
    width: 100%;
    display: flex;
    justify-content: flex-start;
}

.header-organization-banner > a {
    display: flex;
    justify-content: flex-start;
}

.header-organization-banner .logo-assets {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
}

.header-organization-banner .logo-assets .logo-img {
    display: block;
    margin: 0;
    max-width: 100%;
}

/* Simple footer (replaces State Template footer) */
.simple-footer {
    display: flex;
    align-items: center;
    min-height: 56px;
    background: #0a7a0a;
    color: #fff;
    padding: 0 16px;
}

.simple-footer__logo {
    display: inline-flex;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.simple-footer .cagov-logo {
    display: inline-flex;
    align-items: center;
}

.simple-footer .ca-gov-logo-svg {
    display: block;
    width: 120px;
    height: 40px;
}

.simple-footer__logo-fallback {
    display: inline-block;
    margin-left: 10px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.simple-footer__text {
    flex: 1;
    text-align: center;
    font-weight: 600;
}

.simple-footer__link {
    color: #fff;
    text-decoration: none;
}

.simple-footer__link:hover,
.simple-footer__link:focus {
    text-decoration: underline;
}

.simple-footer__link + .simple-footer__link {
    margin-left: 1rem;
}

.simple-footer__copyright {
    font-size: 0.95rem;
    white-space: nowrap;
    text-align: right;
}

/* IdAM theme tokens */
:root {
    --idam-navy: #0d2f5b;
    --idam-navy-deep: #0a2548;
    --idam-blue: #1a5f9e;
    --idam-sky: #e8f3fb;
    --idam-sky-mid: #d7ebf7;
    --idam-green: #1c4c37;
    --idam-green-btn: #2f6b4f;
    --idam-text: #243447;
    --idam-muted: #5b6b7c;
}

.idam-ms-logo {
    display: inline-block;
    vertical-align: -0.15em;
    margin-right: 0.4rem;
}

body.idam-login-page {
    background: #eef4fb;
}

body.idam-login-page .main-content,
body.idam-login-page .main-primary {
    background: #eef4fb;
    padding: 0 !important;
    margin: 0;
}

.idam-login {
    display: grid;
    grid-template-columns: minmax(18rem, 0.85fr) minmax(22rem, 1.15fr);
    min-height: calc(100vh - 12rem);
}

.idam-login__promo {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2.5rem 2.25rem 0;
    color: var(--idam-navy);
    background:
        radial-gradient(120% 80% at 0% 100%, #d7e8f8 0%, transparent 55%),
        linear-gradient(180deg, #f4f8fd 0%, #e7f0fa 100%);
    overflow: hidden;
}

.idam-login__headline {
    margin: 0 0 0.75rem;
    color: var(--idam-navy);
}

.idam-login__promo .lead {
    max-width: 28rem;
    margin-bottom: 1.75rem;
    color: #3d5673;
}

.idam-login__features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.15rem;
}

.idam-login__features li {
    display: grid;
    grid-template-columns: 2.6rem 1fr;
    gap: 0.85rem;
    align-items: flex-start;
}

.idam-login__feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    background: #fff;
    color: var(--idam-navy);
    box-shadow: 0 0 0 1px #d5e4f2;
}

.idam-login__features strong {
    display: block;
    color: var(--idam-navy);
}

.idam-login__scene {
    margin-top: 1.5rem;
}

.idam-login__scene-art {
    display: block;
    width: 100%;
    height: auto;
}

.idam-login__panel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

.idam-login__card {
    width: 100%;
    max-width: 52rem;
    background: #fff;
    border: 1px solid #e2eaf3;
    border-radius: 1rem;
    box-shadow: 0 12px 30px rgba(13, 47, 91, 0.06);
    padding: 1.5rem 1.5rem 1.15rem;
}

.idam-login__title {
    margin: 0;
    text-align: center;
    color: var(--idam-navy);
}

.idam-login__subtitle {
    margin: 0.25rem 0 1.15rem;
    text-align: center;
    color: var(--idam-muted);
}

.idam-login__split {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 0.75rem 1rem;
    align-items: stretch;
}

.idam-login__method--solo {
    max-width: 22rem;
    margin-inline: auto;
}

.idam-login__tab {
    margin: 0 0 1rem;
    padding: 0 0 0.55rem;
    text-align: center;
    color: var(--idam-muted);
    border-bottom: 3px solid #e6edf4;
}

.idam-login__tab.is-active {
    color: var(--idam-navy);
    border-bottom-color: var(--idam-navy);
}

.idam-login__method-body {
    text-align: center;
}

.idam-login__method-body p {
    color: var(--idam-muted);
    margin-bottom: 1rem;
}

.idam-login__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    margin-bottom: 0.65rem;
    border-radius: 999px;
}

.idam-login__avatar--internal {
    background: #e8eef8;
    color: var(--idam-navy);
}

.idam-login__avatar--external {
    background: #e7f5ea;
    color: #1c7a38;
}

.idam-login__method-body .h5 {
    margin: 0 0 0.35rem;
    color: var(--idam-navy);
}

.idam-login__avatar--external + .h5 {
    color: #1c7a38;
}

.idam-login__entra,
.idam-login__signin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.idam-login__form {
    text-align: left;
}

.idam-login__form .form-group {
    margin-bottom: 0.75rem;
}

.idam-login__password {
    position: relative;
}

.idam-login__password .form-control {
    padding-right: 2.6rem;
}

.idam-login__toggle-pass {
    position: absolute;
    right: 0.35rem;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: var(--idam-muted);
    width: 2rem;
    height: 2rem;
    cursor: pointer;
}

.idam-login__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.idam-login__remember {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    color: var(--idam-text);
}

.idam-login__forgot {
    font-weight: 600;
}

.idam-login__signin {
    width: 100%;
    background: #1c7a38;
    border-color: #1c7a38;
    color: #fff;
}

.idam-login__signin:hover,
.idam-login__signin:focus {
    background: #166430;
    border-color: #166430;
    color: #fff;
}

.idam-login__or {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--idam-muted);
    font-weight: 700;
}

.idam-login__or span {
    position: relative;
    padding: 4.5rem 0;
}

.idam-login__or span::before,
.idam-login__or span::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 1px;
    height: 3.5rem;
    background: #d7e2ec;
}

.idam-login__or span::before { top: 0; }
.idam-login__or span::after { bottom: 0; }

.idam-login__register,
.idam-login__help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    background: #eef5fb;
    border-radius: 0.7rem;
}

.idam-login__register > div:first-child,
.idam-login__help {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.idam-login__register-icon,
.idam-login__help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 999px;
    background: #d9ebf8;
    color: var(--idam-navy);
    flex: 0 0 auto;
}

.idam-login__register strong,
.idam-login__help strong {
    color: var(--idam-navy);
}

.idam-login__help {
    justify-content: flex-start;
}

@media (max-width: 991.98px) {
    .idam-login {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .idam-login__promo {
        padding: 1.5rem 1.25rem 0;
    }

    .idam-login__split {
        grid-template-columns: 1fr;
    }

    .idam-login__or span {
        padding: 0 1.5rem;
    }

    .idam-login__or span::before,
    .idam-login__or span::after {
        top: 50%;
        width: 3.5rem;
        height: 1px;
        left: auto;
    }

    .idam-login__or span::before { right: 100%; }
    .idam-login__or span::after { left: 100%; }

    .idam-login__register {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Registration (uses CDFA layout; no IdAM top bar) */
.idam-register {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 1.5rem;
    padding-bottom: 2.5rem;
    padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    color: var(--idam-text);
}

@media (min-width: 576px) {
    .idam-register { max-width: 540px; }
}

@media (min-width: 768px) {
    .idam-register { max-width: 720px; }
}

@media (min-width: 992px) {
    .idam-register { max-width: 960px; }
}

@media (min-width: 1200px) {
    .idam-register { max-width: 1140px; }
}

@media (min-width: 1400px) {
    .idam-register { max-width: 1320px; }
}

.idam-register__crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
    color: var(--idam-muted);
    font-size: 0.9rem;
}

.idam-register__crumbs a {
    color: var(--idam-blue);
    text-decoration: none;
}

.idam-register__crumbs a:hover,
.idam-register__crumbs a:focus {
    text-decoration: underline;
}

.idam-register__title {
    margin: 0 0 1.25rem;
    color: var(--idam-navy);
    font-size: clamp(1.6rem, 2vw, 2rem);
    font-weight: 700;
}

.idam-register__errors {
    margin-bottom: 1rem;
    color: #b42318;
}

.idam-register__errors:empty {
    display: none;
}

@media (min-width: 992px) {
    .idam-register__form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        align-items: start;
    }

    .idam-register__form > .idam-register__section {
        margin-bottom: 0;
    }

    .idam-register__errors,
    .idam-register__footer,
    .idam-register__section--wide,
    .idam-register__form > .idam-overview,
    .idam-register__form > .idam-register__section:first-of-type,
    .idam-register__form > .idam-register__section:last-of-type {
        grid-column: 1 / -1;
    }

    #idam-user-edit-form .idam-register__grid--account,
    #idam-user-edit-form .idam-register__grid--3 {
        grid-template-columns: 1fr 1fr;
    }
}

.idam-register__grid--account,
.idam-register__grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.idam-register__value {
    margin: 0.2rem 0 0;
    color: var(--idam-text);
    overflow-wrap: anywhere;
}

.idam-register__value--multiline {
    white-space: pre-line;
}

.idam-register__check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: calc(1.5em + 0.5rem + 2px);
    margin: 0;
    cursor: pointer;
}

.idam-register__check input {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: var(--idam-blue);
}

.idam-user-cards {
    margin-bottom: 1rem;
}

.idam-user-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.idam-register__section {
    background: #fff;
    border: 1px solid #e2e8ef;
    border-radius: 0.75rem;
    padding: 1.25rem 1.35rem 1.4rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 10px rgba(13, 47, 91, 0.04);
}

.idam-register__heading {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 1rem;
    color: var(--idam-navy);
    font-size: 1.05rem;
    font-weight: 700;
}

.idam-register__step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 50%;
    background: var(--idam-navy);
    color: #fff;
    font-size: 0.85rem !important;
    line-height: 1 !important;
    font-weight: 700;
}

.idam-register__hint {
    margin: -0.35rem 0 0.75rem;
    color: var(--idam-muted);
    font-size: 0.9rem;
}

.idam-register__types {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
}

.idam-register__type {
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    gap: 0.75rem;
    align-items: start;
    margin: 0;
    padding: 1rem;
    border: 2px solid #d7e3ee;
    border-radius: 0.7rem;
    background: #fff;
    cursor: pointer;
}

.idam-register__type input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.idam-register__type.is-selected {
    border-color: var(--idam-blue);
    background: #f3f8fc;
    box-shadow: 0 0 0 3px rgba(26, 95, 158, 0.12);
}

.idam-register__type-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: var(--idam-sky);
    color: var(--idam-blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

.idam-register__type-icon svg {
    width: 1.55rem;
    height: 1.55rem;
}

.idam-register__type-copy {
    display: grid;
    gap: 0.25rem;
}

.idam-register__type-copy strong {
    color: var(--idam-navy);
}

.idam-register__type-copy span {
    color: var(--idam-muted);
    line-height: 1.4;
}

.idam-register__fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.idam-register__fieldset legend {
    float: none;
    width: auto;
    margin-bottom: 0.55rem;
    font-size: inherit;
}

.idam-register__apps,
.idam-register__roles {
    display: grid;
    gap: 0.75rem;
}

.idam-register__apps {
    grid-template-columns: 1fr 1fr;
}

.idam-register__roles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 0.35rem;
}

.idam-register__choice {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin: 0;
    padding: 0.9rem 1rem;
    border: 2px solid #d7e3ee;
    border-radius: 0.7rem;
    background: #fff;
    cursor: pointer;
}

.idam-register__choice input {
    flex-shrink: 0;
    margin-top: 0.2rem;
    width: 1.05rem;
    height: 1.05rem;
    accent-color: var(--idam-blue);
}

.idam-register__choice.is-selected {
    border-color: var(--idam-blue);
    background: #f3f8fc;
    box-shadow: 0 0 0 3px rgba(26, 95, 158, 0.12);
}

.idam-register__choice-body {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.idam-register__choice-body strong {
    color: var(--idam-navy);
}

.idam-register__choice-body span {
    color: var(--idam-muted);
}

.idam-register__choice--role {
    padding: 0.7rem 0.85rem;
    align-items: center;
}

.idam-register__choice--role input {
    margin-top: 0;
}

.idam-register__grid--access {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.idam-choice-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.idam-choice-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.4rem;
    margin: 0;
    padding: 0.4rem 1.1rem;
    border: 1.5px solid #b7c9da;
    border-radius: 0.5rem;
    background: #fff;
    color: var(--idam-navy);
    font-weight: 700;
    cursor: pointer;
}

.idam-choice-btn input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.idam-choice-btn.is-selected {
    border-color: var(--idam-blue);
    background: var(--idam-navy);
    color: #fff;
}

.idam-choice-btns--compact .idam-choice-btn {
    min-height: 2rem;
    padding: 0.2rem 0.7rem;
    font-size: 0.8rem;
}

.idam-choice-btns--badge .idam-choice-btn {
    min-height: 0;
    min-width: 4.5rem;
    padding: 0.2rem 0.65rem;
    border: 0;
    border-radius: 999px;
    background: #e7edf3;
    color: #5c6b7a;
    font-size: 0.78rem;
}

.idam-choice-btns--badge .idam-choice-btn--active.is-selected {
    background: #d8f3d4;
    color: #1c6b2d;
}

.idam-choice-btns--badge .idam-choice-btn--inactive.is-selected {
    background: #f8d4d4;
    color: #a32020;
}

.idam-overview__table--access {
    min-width: 52rem;
}

.idam-overview__table--access th,
.idam-overview__table--access td {
    white-space: nowrap;
}

.idam-overview__table--access .form-select {
    min-width: 10rem;
}

.idam-register__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.15rem;
}

.idam-register__grid--3 {
    grid-template-columns: 1fr 1fr 1fr;
}

.idam-register__field {
    margin-bottom: 0.85rem;
}

.idam-register__field--full {
    grid-column: 1 / -1;
}

.idam-register__field select:disabled {
    background-color: #e9ecef;
    color: #495057;
    cursor: not-allowed;
    opacity: 1;
}

.idam-register__field .form-control-label,
.idam-register__field .form-control,
.idam-register__field .form-select,
.idam-register__field .feedback {
    display: block;
    width: 100%;
}

.idam-register__counter {
    margin-top: 0.4rem;
    text-align: right;
    color: var(--idam-muted);
    font-size: 0.82rem;
}

.idam-register__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.25rem;
}

.idam-register__after {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    flex: 1 1 18rem;
    padding: 0.85rem 1rem;
    background: #eef6fb;
    border: 1px solid #cfe3f1;
    border-radius: 0.65rem;
    color: var(--idam-text);
    font-size: 0.9rem;
    line-height: 1.45;
}

.idam-register__after p {
    margin: 0.2rem 0 0;
}

.idam-register__after-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.3rem;
    height: 1.3rem;
    margin-top: 0.1rem;
    border-radius: 50%;
    background: var(--idam-blue);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    flex-shrink: 0;
}

.idam-register__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
}

.idam-register__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.65rem;
    padding: 0.55rem 1.15rem;
    border-radius: 0.5rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.idam-register__btn--clear {
    background: #fff;
    color: var(--idam-blue);
    border: 1.5px solid var(--idam-blue);
}

.idam-register__btn--clear:hover,
.idam-register__btn--clear:focus {
    background: #f3f8fc;
}

.idam-register__btn--submit {
    background: var(--idam-navy);
    color: #fff;
    border: 1.5px solid var(--idam-navy);
}

.idam-register__btn--submit:hover,
.idam-register__btn--submit:focus {
    background: var(--idam-navy-deep);
    color: #fff;
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .idam-register__types,
    .idam-register__apps,
    .idam-register__roles,
    .idam-register__grid,
    .idam-register__grid--access,
    .idam-register__grid--3,
    .idam-register__grid--account,
    .idam-register__grid--4 {
        grid-template-columns: 1fr;
    }

    .idam-register__actions {
        width: 100%;
    }

    .idam-register__btn {
        flex: 1 1 auto;
    }
}

/* Application Management */
.idam-apps {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1.5rem 1rem 2.5rem;
    color: var(--idam-text);
}

.idam-apps__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.idam-apps__title {
    margin: 0;
    color: var(--idam-navy);
    font-size: clamp(1.6rem, 2vw, 2rem);
    font-weight: 700;
}

.idam-apps__lead {
    margin: 0.35rem 0 0;
    color: var(--idam-muted);
}

.idam-apps__header .btn-primary,
.idam-apps__filter-actions .btn-primary {
    background: var(--idam-navy);
    border-color: var(--idam-navy);
}

.idam-apps__header .btn-primary:hover,
.idam-apps__filter-actions .btn-primary:hover {
    background: var(--idam-navy-deep);
    border-color: var(--idam-navy-deep);
}

.idam-apps__filters {
    display: grid;
    grid-template-columns: minmax(16rem, 1.6fr) minmax(10rem, 0.8fr) auto;
    gap: 0.85rem 1rem;
    align-items: end;
    margin-bottom: 1.15rem;
}

.idam-apps__field .form-control-label {
    display: block;
    margin-bottom: 0.3rem;
}

.idam-apps__search {
    position: relative;
}

.idam-apps__search .form-control {
    padding-right: 2.2rem;
}

.idam-apps__search .ca-gov-icon-search {
    position: absolute;
    right: 0.7rem;
    top: 50%;
    transform: translateY(-50%);
    color: #7b8a99;
    pointer-events: none;
}

.idam-apps__filter-actions {
    display: flex;
    gap: 0.55rem;
    justify-content: flex-end;
    padding-bottom: 0.05rem;
}

.idam-apps__count {
    margin: 0 0 0.65rem;
    color: var(--idam-muted);
    font-size: 0.92rem;
}

.idam-apps__table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.idam-apps__table th,
.idam-apps__table td {
    padding: 0.85rem 0.9rem;
    border-bottom: 1px solid #e6edf4;
    text-align: left;
    vertical-align: middle;
}

.idam-apps__table th {
    color: var(--idam-navy);
    font-size: 0.86rem;
    font-weight: 700;
    white-space: nowrap;
}

.idam-apps__table th a {
    color: inherit;
    text-decoration: none;
}

.idam-apps__sort {
    color: #8aa0b5;
    font-size: 0.75rem;
}

.idam-apps__table tbody tr:nth-child(even) {
    background: #f7fafc;
}

.idam-apps__table tbody tr:hover {
    background: #e8f3fb;
}

.idam-apps__name {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}

.idam-apps__name-icon {
    color: var(--idam-navy);
    margin-top: 0.15rem;
}

.idam-apps__name strong {
    display: block;
    color: var(--idam-blue);
}

.idam-apps__desc {
    display: block;
    color: var(--idam-muted);
    font-size: 0.82rem;
    margin-top: 0.15rem;
}

.idam-apps__code {
    font-weight: 600;
    letter-spacing: 0.02em;
}

.idam-apps__badge {
    display: inline-block;
    min-width: 4.5rem;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    text-align: center;
}

.idam-apps__badge--active {
    background: #d8f3d4;
    color: #1c6b2d;
}

.idam-apps__badge--inactive {
    background: #f8d4d4;
    color: #a32020;
}

.idam-apps__badge--status {
    background: var(--idam-sky);
    color: var(--idam-navy);
}

.idam-apps__actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.idam-apps__icon-btn,
.idam-apps__more summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border: 0;
    background: transparent;
    color: var(--idam-blue);
    cursor: pointer;
    list-style: none;
    text-decoration: none;
}

.idam-detail-span {
    grid-column: 1 / -1;
}

.idam-apps__more summary::-webkit-details-marker {
    display: none;
}

.idam-apps__more {
    position: relative;
}

.idam-apps__more form {
    position: absolute;
    right: 0;
    top: 2rem;
    z-index: 2;
    background: #fff;
    border: 1px solid #d7e2ec;
    border-radius: 0.4rem;
    box-shadow: 0 8px 18px rgba(13, 47, 91, 0.12);
    min-width: 8.5rem;
}

.idam-apps__more form button {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0.5rem 0.75rem;
    text-align: left;
    color: var(--idam-text);
    cursor: pointer;
}

.idam-apps__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.idam-apps__pagesize {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--idam-muted);
}

.idam-apps__pagesize .form-select {
    width: auto;
    min-width: 4.25rem;
}

.idam-apps__pager {
    display: flex;
    gap: 0.35rem;
}

.idam-apps__pager a,
.idam-apps__pager span {
    min-width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.35rem;
    border: 1px solid #d7e2ec;
    color: var(--idam-navy);
    text-decoration: none;
    background: #fff;
}

.idam-apps__pager .is-current {
    background: var(--idam-navy);
    border-color: var(--idam-navy);
    color: #fff;
}

.idam-apps__pager .is-disabled {
    color: #a7b4c2;
}

@media (max-width: 991.98px) {
    .idam-apps__filters {
        grid-template-columns: 1fr 1fr;
    }

    .idam-apps__field--search,
    .idam-apps__filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .idam-apps__header {
        flex-direction: column;
    }

    .idam-apps__filters {
        grid-template-columns: 1fr;
    }
}

.idam-apps__empty {
    text-align: center;
    color: var(--idam-muted);
    padding: 1.5rem 0.75rem;
}

.idam-dt-card {
    background: #fff;
    border: 1px solid #e2e8ef;
    border-radius: 0.65rem;
    padding: 1rem 1.25rem 1.35rem;
}

.main-primary:has(> .idam-search-page) {
    padding-top: 0;
    padding-bottom: 0;
    background: #f3f2f7;
}

.idam-search-page {
    background: #f3f2f7;
    padding: 0.75rem 0 2.25rem;
}

.idam-search-page__inner {
    padding-top: 0.25rem;
}

.idam-search-card {
    background: #fff;
    border-radius: 8px;
    border: 1px solid rgba(44, 62, 80, 0.08);
    box-shadow: 0 2px 8px rgba(44, 62, 80, 0.06);
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.idam-search-card__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    padding: 0.5rem 1rem;
    background: #1c4c37 !important;
}

.idam-search-card__header-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.85rem;
    min-width: 0;
    flex: 1 1 auto;
}

.idam-search-card__title-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.idam-search-card__icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
    font-size: 1rem;
}

.idam-search-card__title {
    margin: 0;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
}

.idam-search-card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    flex: 0 0 auto;
}

.idam-search-card .btn-xs {
    padding: 0.18rem 0.45rem;
    font-size: 0.75rem;
    line-height: 1.2;
    min-width: 1.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.idam-search-card__body {
    padding: 0;
    background: #fff;
    border-top: 1px solid rgba(44, 62, 80, 0.1);
}

.idam-search-card__filters {
    padding: 0.5rem 1rem;
    background: #f4f7fa;
    border-bottom: 1px solid #edf1f4;
}

.idam-search-card__filters .idam-search-card__filter-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 0.05rem;
}

.idam-search-card__filters .form-control-sm,
.idam-search-card__filters .form-select-sm {
    font-size: 14px;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
    min-height: 1.7rem;
}

.idam-search-card__table {
    padding: 1rem 1.25rem 1.35rem;
    background: #fff;
}

.idam-search-card .idam-search-card__alert {
    margin: 0.75rem 1rem 0;
}

.idam-dt-table-host {
    width: 100%;
    overflow-x: visible;
}

.idam-dt-card div.dt-container,
.idam-search-card div.dt-container {
    font-size: 14px;
}

.idam-dt-card div.dt-container .dt-info,
.idam-dt-card div.dt-container .dt-paging,
.idam-dt-card div.dt-container .dt-length,
.idam-dt-card div.dt-container .dt-search,
.idam-search-card div.dt-container .dt-info,
.idam-search-card div.dt-container .dt-paging,
.idam-search-card div.dt-container .dt-length,
.idam-search-card div.dt-container .dt-search {
    font-size: 14px;
    line-height: 1.35;
}

.idam-dt-card div.dt-container .dt-length label,
.idam-dt-card div.dt-container .dt-search label,
.idam-search-card div.dt-container .dt-length label,
.idam-search-card div.dt-container .dt-search label {
    font-size: inherit;
    font-weight: 400;
    margin: 0;
    vertical-align: middle;
}

.idam-dt-card div.dt-container .dt-length label,
.idam-search-card div.dt-container .dt-length label {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.idam-dt-card div.dt-container .dt-length select,
.idam-search-card div.dt-container .dt-length select {
    font-size: inherit;
    padding: 0.12rem 0.35rem;
    line-height: 1.25;
    min-height: 1.5rem;
    margin-top: -2px;
}

.idam-dt-card div.dt-container .dt-search input,
.idam-search-card div.dt-container .dt-search input {
    font-size: inherit;
    padding: 0.15rem 0.4rem;
    line-height: 1.25;
    min-height: 1.5rem;
    margin-left: 0.25rem;
}

.idam-dt-card div.dt-container .dt-paging .dt-paging-button,
.idam-search-card div.dt-container .dt-paging .dt-paging-button {
    font-size: inherit;
    min-width: 1.6rem;
    padding: 0.12rem 0.38rem;
}

.idam-dt-card table.dataTable thead th,
.idam-dt-card table.dataTable thead td,
.idam-dt-card table.dataTable tbody th,
.idam-dt-card table.dataTable tbody td,
.idam-search-card table.dataTable thead th,
.idam-search-card table.dataTable thead td,
.idam-search-card table.dataTable tbody th,
.idam-search-card table.dataTable tbody td {
    text-align: left !important;
}

.idam-dt-card table.dataTable > thead > tr > th,
.idam-dt-card table.dataTable > thead > tr > td,
.idam-search-card table.dataTable > thead > tr > th,
.idam-search-card table.dataTable > thead > tr > td {
    font-size: 14px !important;
    font-weight: 600;
    padding: 0.45rem 0.6rem;
    background: #f4f7fa;
    color: #4b5563;
    border-bottom: 1px solid #edf1f4;
}

.idam-dt-card table.dataTable > tbody > tr > td,
.idam-search-card table.dataTable > tbody > tr > td {
    font-size: 14px !important;
    padding: 0.4rem 0.6rem;
    color: #111827;
    border-color: #edf1f4;
    vertical-align: middle;
}

.idam-muted {
    color: var(--idam-muted);
    margin: 0;
}

.idam-role-context {
    margin: 0;
    padding: 0.65rem 1rem 0;
}

.settings-links {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.settings-links a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}

.settings-links a:hover,
.settings-links a:focus {
    color: #fff;
    text-decoration: underline;
}

.idam-account {
    position: relative;
}

.idam-account__toggle {
    list-style: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

.idam-account__toggle::-webkit-details-marker {
    display: none;
}

.idam-account__initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #fff;
    color: var(--idam-navy);
    font-weight: 700;
    font-size: 0.78rem;
}

.idam-account__menu {
    position: absolute;
    right: 0;
    top: calc(100% + 0.45rem);
    z-index: 20;
    min-width: 12.5rem;
    background: #fff;
    border: 1px solid #d7e2ec;
    border-radius: 0.5rem;
    box-shadow: 0 8px 20px rgba(13, 47, 91, 0.14);
    padding: 0.45rem 0;
}

.idam-account__name {
    margin: 0;
    padding: 0.35rem 0.85rem 0.55rem;
    color: var(--idam-navy);
    font-weight: 700;
    font-size: 0.86rem;
    border-bottom: 1px solid #e6edf4;
}

.idam-account__menu a,
.idam-account__menu button {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 0.5rem 0.85rem;
    color: var(--idam-text);
    font: inherit;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.idam-account__menu a:hover,
.idam-account__menu button:hover {
    background: #e8f3fb;
    color: var(--idam-navy);
    text-decoration: none;
}

@media (min-width: 992px) {
    .idam-main-nav .first-level-link {
        display: inline-flex !important;
        align-items: center;
        gap: 0.4rem;
        white-space: nowrap !important;
        padding: 0.7rem 1rem !important;
        height: auto !important;
    }

    .idam-main-nav .first-level-link [class^="ca-gov-icon-"] {
        font-size: 1.05rem;
        line-height: 1;
    }
}

a.idam-dash-card,
a.idam-dash-card:hover,
a.idam-dash-card:focus {
    color: inherit;
    text-decoration: none !important;
}

a.idam-stat-card,
a.idam-stat-card:hover,
a.idam-stat-card:focus,
a.idam-stat-card *,
a.idam-stat-card:hover *,
a.idam-stat-card:focus * {
    text-decoration: none !important;
}

a.idam-dash-card {
    display: block;
}

a.idam-dash-card:hover,
a.idam-dash-card:focus {
    box-shadow: 0 0 0 3px rgba(13, 47, 91, 0.12);
}

.idam-dash-card .h2,
.idam-dash-card .h4 {
    margin-top: 0;
    color: var(--idam-navy);
}

.idam-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 0 1.75rem;
}

a.idam-stat-card {
    --stat-accent: var(--idam-blue);
    --stat-fill: linear-gradient(160deg, #3d8bc7 0%, #1a5f9e 100%);
    display: flex;
    flex-direction: column;
    min-height: 9.5rem;
    padding: 1.15rem 1.2rem 1.2rem;
    background: var(--stat-fill);
    border: 0;
    border-radius: 0.9rem;
    box-shadow: 0 8px 18px rgba(13, 47, 91, 0.16);
    overflow: hidden;
    position: relative;
    color: #fff;
    transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

a.idam-stat-card:hover,
a.idam-stat-card:focus {
    transform: translateY(-3px);
    filter: brightness(1.06);
    box-shadow: 0 14px 28px rgba(13, 47, 91, 0.22);
}

a.idam-stat-card:focus-visible {
    outline: 3px solid var(--stat-accent);
    outline-offset: 3px;
}

a.idam-stat-card.idam-stat-card--requests {
    --stat-accent: #c47b17;
    --stat-fill: linear-gradient(160deg, #e3a23a 0%, #c47b17 100%);
}

a.idam-stat-card.idam-stat-card--users {
    --stat-accent: #1a5f9e;
    --stat-fill: linear-gradient(160deg, #3d8bc7 0%, #1a5f9e 100%);
}

a.idam-stat-card.idam-stat-card--apps {
    --stat-accent: #1c4c37;
    --stat-fill: linear-gradient(160deg, #3e8a64 0%, #1c4c37 100%);
}

a.idam-stat-card.idam-stat-card--orgs {
    --stat-accent: #0f6c8a;
    --stat-fill: linear-gradient(160deg, #2a9bbd 0%, #0f6c8a 100%);
}

.idam-stat-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.idam-stat-card__icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 0.7rem;
    background: rgba(255, 255, 255, 0.22);
    color: #fff !important;
    font-size: 1.2rem !important;
    line-height: 1 !important;
}

.idam-stat-card__go {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff !important;
}

.idam-stat-card__value {
    display: block;
    font-size: 2.15rem !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em;
    color: #fff !important;
}

.idam-stat-card__label {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: rgba(255, 255, 255, 0.92) !important;
}

@media (max-width: 991.98px) {
    .idam-stat-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575.98px) {
    .idam-stat-grid {
        grid-template-columns: 1fr;
    }
}

.idam-dash-apps-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.idam-dash-apps-head h2 {
    margin-bottom: 0;
}

.idam-app-tile-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

a.idam-app-tile,
a.idam-app-tile:hover,
a.idam-app-tile:focus,
a.idam-app-tile *,
a.idam-app-tile:hover *,
a.idam-app-tile:focus * {
    text-decoration: none !important;
}

a.idam-app-tile {
    --app-fill: linear-gradient(160deg, #7b5bb5 0%, #5a3d8c 100%);
    display: flex;
    flex-direction: column;
    min-height: 10.5rem;
    padding: 1.15rem 1.2rem 1.2rem;
    background: var(--app-fill);
    border-radius: 0.9rem;
    box-shadow: 0 8px 18px rgba(55, 28, 92, 0.16);
    color: #fff;
    transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

a.idam-app-tile:nth-child(4n+1) {
    --app-fill: linear-gradient(160deg, #7b5bb5 0%, #5a3d8c 100%);
}

a.idam-app-tile:nth-child(4n+2) {
    --app-fill: linear-gradient(160deg, #c46b7a 0%, #9a4456 100%);
}

a.idam-app-tile:nth-child(4n+3) {
    --app-fill: linear-gradient(160deg, #5b6cb3 0%, #3c4a86 100%);
}

a.idam-app-tile:nth-child(4n+4) {
    --app-fill: linear-gradient(160deg, #d08a4a 0%, #a86228 100%);
}

a.idam-app-tile:hover,
a.idam-app-tile:focus {
    transform: translateY(-3px);
    filter: brightness(1.06);
    box-shadow: 0 14px 28px rgba(40, 24, 72, 0.22);
}

a.idam-app-tile:focus-visible {
    outline: 3px solid #5a3d8c;
    outline-offset: 3px;
}

.idam-app-tile__icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    margin-bottom: 0.85rem;
    border-radius: 0.7rem;
    background: rgba(255, 255, 255, 0.22);
    color: #fff !important;
    font-size: 1.15rem !important;
    line-height: 1 !important;
}

.idam-app-tile__name {
    display: block;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #fff !important;
}

.idam-app-tile__code {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82) !important;
}

.idam-app-tile__desc {
    display: block;
    margin-top: 0.45rem;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
    color: rgba(255, 255, 255, 0.92) !important;
}

.idam-app-tile__status {
    display: inline-block;
    margin-top: auto;
    padding-top: 0.85rem;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.88) !important;
}

@media (max-width: 991.98px) {
    .idam-app-tile-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575.98px) {
    .idam-app-tile-grid {
        grid-template-columns: 1fr;
    }
}

.idam-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.idam-info-card,
.idam-detail-grid > .idam-register__section {
    --info-accent: var(--idam-blue);
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e2e8ef;
    border-radius: 0.9rem;
    padding: 1.25rem 1.35rem 1.4rem 1.5rem;
    box-shadow: 0 6px 16px rgba(13, 47, 91, 0.06);
}

.idam-info-card::before,
.idam-detail-grid > .idam-register__section::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0.38rem;
    background: var(--info-accent);
}

.idam-info-card--app,
.idam-detail-grid > .idam-register__section:nth-child(1) {
    --info-accent: #1c4c37;
}

.idam-info-card--connection,
.idam-detail-grid > .idam-register__section:nth-child(2) {
    --info-accent: #1a5f9e;
}

.idam-info-card--dates,
.idam-detail-grid > .idam-register__section:nth-child(3) {
    --info-accent: #0f6c8a;
}

.idam-info-card--roles,
.idam-detail-grid > .idam-register__section:nth-child(4) {
    --info-accent: #5a3d8c;
}

.idam-info-card--orgs,
.idam-detail-grid > .idam-register__section:nth-child(5) {
    --info-accent: #c47b17;
}

.idam-info-card--users,
.idam-detail-grid > .idam-register__section:nth-child(6) {
    --info-accent: #9a4456;
}

.idam-profile-field--span {
    grid-column: 1 / -1;
}

.idam-overview {
    color: var(--idam-navy);
}

.idam-overview__hero {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    padding: 0.9rem 1rem;
    background: #f1f3f5;
    border: 1px solid #d7e0ea;
    border-left: 0.28rem solid #1c4c37;
    border-radius: 0.4rem;
}

.idam-overview__hero-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.idam-overview__dates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 1.25rem;
    padding-top: 0.7rem;
    border-top: 1px solid #e2e8ee;
}

.idam-overview__identity {
    display: flex;
    gap: 0.85rem;
    min-width: 0;
}

.idam-overview__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 2.6rem;
    border-radius: 0.35rem;
    background: #e8eefc;
    color: #3b5bdb;
    font-size: 1.1rem;
}

.idam-overview__title-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

h1.idam-overview__title {
    margin: 0 !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--idam-navy) !important;
}

.idam-overview__code {
    margin: 0.2rem 0 0;
    color: #3b5bdb;
    font-size: 0.78rem;
}

.idam-overview__desc {
    margin: 0.15rem 0 0;
    color: var(--idam-muted);
    font-size: 0.8rem;
}

.idam-overview__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.idam-overview__actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 0.35rem;
    font-size: 0.8rem !important;
    padding: 0.32rem 0.65rem;
}

.idam-overview__meta,
.idam-overview__stats {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.idam-overview__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.idam-overview__stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.idam-overview__card,
.idam-overview__meta-item {
    background: #f1f3f5;
    border: 1px solid #d7e0ea;
    border-radius: 0.4rem;
}

.idam-overview__meta-item {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    padding: 0.8rem 0.9rem;
}

.idam-overview__meta--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.idam-overview__meta-item:nth-child(1) { border-left: 0.28rem solid #1a5f9e; }
.idam-overview__meta-item:nth-child(2) { border-left: 0.28rem solid #5a3d8c; }
.idam-overview__meta-item:nth-child(3) { border-left: 0.28rem solid #c47b17; }
.idam-overview__meta-item:nth-child(4) { border-left: 0.28rem solid #1c4c37; }

.idam-overview__facts {
    display: grid;
    gap: 0.7rem;
}

.idam-overview__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1.25rem;
}

.idam-overview__fields--full {
    grid-column: 1 / -1;
}

@media (max-width: 767.98px) {
    .idam-overview__fields {
        grid-template-columns: 1fr;
    }
}

.idam-overview__fact + .idam-overview__fact {
    padding-top: 0.55rem;
    border-top: 1px solid #e2e8ee;
}

.idam-overview__stats > .idam-overview__card:nth-child(1) { border-left: 0.28rem solid #5a3d8c; }
.idam-overview__stats > .idam-overview__card:nth-child(2) { border-left: 0.28rem solid #c47b17; }
.idam-overview__stats > .idam-overview__card:nth-child(3) { border-left: 0.28rem solid #1a5f9e; }
.idam-overview__stats > .idam-overview__card:nth-child(4) { border-left: 0.28rem solid #9a4456; }

.idam-overview__bottom > .idam-overview__card:nth-child(1) { border-left: 0.28rem solid #0f6c8a; }
.idam-overview__bottom > .idam-overview__card:nth-child(2) { border-left: 0.28rem solid #1c4c37; }

.idam-overview__meta-icon {
    color: #3b5bdb;
    font-size: 1rem;
    margin-top: 0.1rem;
}

.idam-overview__label {
    display: block;
    color: var(--idam-muted);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.idam-overview__value,
.idam-overview__number {
    margin: 0.1rem 0 0;
    font-weight: 700;
    font-size: 0.88rem;
    color: var(--idam-navy);
}

.idam-overview__number {
    font-size: 1.15rem;
    line-height: 1.1;
}

.idam-overview__by {
    display: block;
    margin-top: 0.1rem;
    color: var(--idam-muted);
    font-size: 0.75rem;
}

.idam-overview__card {
    padding: 0.8rem 0.9rem 0.7rem;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.idam-overview__card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.25rem;
}

h2.idam-overview__card-title,
.idam-overview__card-title {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 0 0.4rem !important;
    color: #3b5bdb !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.idam-overview__card-count {
    margin: 0 0 0.5rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
    color: var(--idam-navy);
}

.idam-overview__card-count span {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--idam-muted);
}

.idam-overview__breakdown {
    list-style: none;
    margin: 0;
    padding: 0.7rem 0 0;
    border-top: 1px solid #edf1f6;
}

.idam-overview__breakdown li {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.22rem 0;
    color: var(--idam-text);
    font-size: 0.8rem;
}

.idam-overview__breakdown strong {
    margin-left: auto;
    color: var(--idam-navy);
}

.idam-overview__dot {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    flex: 0 0 0.55rem;
}

.idam-overview__dot--blue { background: #3b5bdb; }
.idam-overview__dot--green { background: #2f9e44; }
.idam-overview__dot--gray { background: #c5ced8; }

.idam-overview__more {
    margin-top: auto;
    padding-top: 0.6rem;
    color: #3b5bdb;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
}

.idam-overview__more:hover,
.idam-overview__more:focus {
    text-decoration: underline;
}

.idam-overview__more::after {
    content: " ›";
}

.idam-overview__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(16rem, 1fr);
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.idam-overview__table-wrap {
    overflow-x: auto;
}

.idam-overview__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.idam-overview__table th,
.idam-overview__table td {
    padding: 0.5rem 0.45rem;
    text-align: left;
    border-bottom: 1px solid #edf1f6;
    vertical-align: top;
}

.idam-overview__table th {
    color: var(--idam-muted);
    font-weight: 700;
    background: #f8fafc;
}

.idam-overview__quick {
    list-style: none;
    margin: 0;
    padding: 0;
}

.idam-overview__quick a {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.1rem;
    border-bottom: 1px solid #edf1f6;
    color: inherit;
    text-decoration: none;
}

.idam-overview__quick li:last-child a {
    border-bottom: 0;
}

.idam-overview__quick a:hover,
.idam-overview__quick a:focus {
    background: #e7ebef;
}

.idam-overview__quick-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 0.55rem;
    background: #eef2ff;
    color: #3b5bdb;
}

.idam-overview__quick strong {
    display: block;
    color: var(--idam-navy);
    font-size: 0.82rem;
}

.idam-overview__quick span span {
    display: block;
    color: var(--idam-muted);
    font-size: 0.74rem;
}

.idam-overview__quick a::after {
    content: "›";
    margin-left: auto;
    color: #3b5bdb;
    font-size: 1.2rem;
}

.idam-overview__note {
    background: #eef4ff;
    border: 1px solid #d6e4ff;
    border-left: 0.28rem solid #3b5bdb;
    border-radius: 0.4rem;
    padding: 0.65rem 0.85rem;
    color: #3b5bdb;
    font-size: 0.8rem;
}

.idam-overview__note a {
    color: #3b5bdb;
    font-weight: 700;
}

@media (max-width: 991.98px) {
    .idam-overview__meta,
    .idam-overview__stats,
    .idam-overview__bottom {
        grid-template-columns: 1fr 1fr;
    }

    .idam-overview__hero-top {
        flex-direction: column;
    }

    .idam-overview__dates {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .idam-overview__meta,
    .idam-overview__stats,
    .idam-overview__bottom {
        grid-template-columns: 1fr;
    }
}

.idam-audit-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem 1rem;
    align-items: end;
    margin-bottom: 1.15rem;
}

.idam-audit-filters .idam-apps__field--search,
.idam-audit-filters .idam-apps__filter-actions {
    grid-column: span 2;
}

.idam-profile-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem 1.25rem;
}

.idam-profile-fields p {
    margin: 0.2rem 0 0;
}

.idam-role-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.idam-role-pills li {
    background: var(--idam-sky);
    color: var(--idam-navy);
    border-radius: 999px;
    padding: 0.2rem 0.7rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.idam-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

.idam-tabs__link {
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    border: 1px solid #d7e2ec;
    color: var(--idam-navy);
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 600;
}

.idam-tabs__link.is-active {
    background: var(--idam-navy);
    border-color: var(--idam-navy);
    color: #fff;
}

.idam-app-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.85rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.idam-app-card {
    background: #fff;
    border: 1px solid #e2e8ef;
    border-radius: 0.65rem;
    padding: 1rem 1.1rem;
}

.idam-app-card strong {
    display: block;
    color: var(--idam-navy);
}

.idam-app-card a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.idam-app-card p {
    color: var(--idam-muted);
    font-size: 0.88rem;
    min-height: 2.6rem;
}

@media (max-width: 991.98px) {
    .idam-detail-grid,
    .idam-audit-filters,
    .idam-app-cards {
        grid-template-columns: 1fr 1fr;
    }

    .idam-audit-filters .idam-apps__field--search,
    .idam-audit-filters .idam-apps__filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .idam-detail-grid,
    .idam-audit-filters,
    .idam-profile-fields,
    .idam-app-cards {
        grid-template-columns: 1fr;
    }
}

/* California State Web Template typography
   https://template.webstandards.ca.gov/visual-design/typography.html */
:root {
    --bs-font-sans-serif: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
}

html,
body {
    font-family: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
}

body {
    font-size: 14px !important;
    line-height: 1.5;
    font-weight: 400;
}

[class^="idam-"]:not([class*="icon"]):not([class*="stat-card"]):not([class*="app-tile"]):not([class*="overview"]),
[class*=" idam-"]:not([class*="icon"]):not([class*="stat-card"]):not([class*="app-tile"]):not([class*="overview"]) {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: normal;
}

h1,
.h1,
h1[class] {
    font-family: var(--bs-font-sans-serif);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.25;
}

h2,
.h2,
h2[class] {
    font-family: var(--bs-font-sans-serif);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.375;
}

h3,
.h3,
h3[class] {
    font-family: var(--bs-font-sans-serif);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.5;
}

h4,
.h4,
h4[class] {
    font-family: var(--bs-font-sans-serif);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.5;
}

h5,
.h5,
h5[class] {
    font-family: var(--bs-font-sans-serif);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.5;
}

h6,
.h6,
h6[class] {
    font-family: var(--bs-font-sans-serif);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.5;
}

p {
    font-size: 14px;
    line-height: 1.5;
}

.lead,
p.lead,
.idam-apps__lead,
.idam-dash__lead,
.small,
small,
p.small,
.simple-footer__copyright,
.idam-apps__count {
    font-size: 14px;
}

button,
input,
select,
textarea,
.btn,
.form-control,
.form-select,
label,
.form-control-label,
th,
td {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
