/* NCDE Enterprise Core Bundle — Housekeeping Sprint 2.0
   Source order preserved. Do not edit generated sections independently. */

/* ===== SOURCE: account.css ===== */
:root {
    --green-950: #061f1a;
    --green-900: #082d26;
    --green-800: #0d3b31;
    --green-700: #155646;
    --gold: #c8a85f;
    --gold-soft: #e5d5a2;
    --ivory: #f7f3e8;
    --charcoal: #1d2925;
    --white: #ffffff;
    --good: #2d8b63;
    --bad: #a33e35;
    --shadow: 0 30px 80px rgba(6, 31, 26, .18);
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--green-950);
}

body {
    margin: 0;
    min-height: 100vh;
    color: var(--charcoal);
    background:
        radial-gradient(circle at 10% 15%, rgba(200, 168, 95, .16), transparent 30rem),
        linear-gradient(145deg, var(--ivory), #edf0e9);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

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

.site-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.site-header {
    min-height: 84px;
    padding: 16px clamp(20px, 5vw, 72px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--white);
    background: linear-gradient(90deg, var(--green-950), var(--green-800));
    border-bottom: 1px solid rgba(229, 213, 162, .24);
}

.brand {
    display: flex;
    align-items: center;
    gap: 13px;
}

.logo-frame {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(229, 213, 162, .34);
    border-radius: 50%;
    background: rgba(255, 255, 255, .07);
}

.brand-logo {
    width: 100%;
    height: 100%;
    padding: 5px;
    object-fit: contain;
}

.logo-fallback {
    display: none;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--gold-soft);
    font-family: Georgia, serif;
    font-weight: 700;
}

.brand-copy strong,
.brand-copy small {
    display: block;
}

.brand-copy strong {
    font-size: 16px;
}

.brand-copy small {
    margin-top: 3px;
    color: var(--gold-soft);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.secure-chip {
    padding: 8px 11px;
    border: 1px solid rgba(229, 213, 162, .34);
    border-radius: 999px;
    color: var(--gold-soft);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
}

.site-main {
    width: min(1160px, calc(100% - 32px));
    margin: auto;
    padding: clamp(36px, 6vw, 76px) 0;
    flex: 1;
}

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 470px);
    gap: clamp(38px, 8vw, 100px);
    align-items: center;
}

.eyebrow,
.card-kicker {
    color: var(--gold);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .19em;
}

.hero h1,
.health-panel h1 {
    margin: 14px 0 18px;
    color: var(--green-950);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5.5vw, 72px);
    line-height: 1;
    letter-spacing: -.045em;
}

.hero p {
    margin: 0;
    max-width: 650px;
    color: #596a63;
    font-size: clamp(16px, 1.4vw, 19px);
    line-height: 1.75;
}

.status-row {
    margin-top: 30px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--green-700);
    font-size: 11px;
    letter-spacing: .1em;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--good);
    box-shadow: 0 0 0 6px rgba(45, 139, 99, .12);
}

.foundation-card,
.health-panel {
    padding: clamp(25px, 4vw, 42px);
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 28px;
    background: rgba(255, 255, 255, .8);
    backdrop-filter: blur(22px);
    box-shadow: var(--shadow);
}

.check-item {
    padding: 18px 0;
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: 14px;
    align-items: center;
    border-bottom: 1px solid rgba(13, 59, 49, .09);
}

.check-item > span {
    color: var(--gold);
    font-family: Georgia, serif;
    font-weight: 700;
}

.check-item strong,
.check-item small {
    display: block;
}

.check-item strong {
    color: var(--green-950);
    font-size: 13px;
}

.check-item small {
    margin-top: 4px;
    color: #74827c;
    font-size: 10px;
}

.check-item b {
    color: var(--good);
    font-size: 9px;
    letter-spacing: .14em;
}

.health-link,
.back-link {
    margin-top: 22px;
    display: inline-flex;
    color: var(--green-700);
    font-size: 12px;
    font-weight: 900;
}

.ecosystem-strip {
    margin-top: 56px;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    border-radius: 18px;
    color: rgba(255, 255, 255, .76);
    background: var(--green-950);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .16em;
}

.ecosystem-strip i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gold);
}

.health-panel h1 {
    font-size: clamp(38px, 5vw, 58px);
}

.health-summary {
    padding: 14px 16px;
    border-radius: 14px;
    font-weight: 800;
}

.health-summary.is-good {
    color: #1e6347;
    background: #e5f3ea;
    border: 1px solid #bcdac7;
}

.health-summary.is-bad {
    color: #7f2f28;
    background: #fae8e5;
    border: 1px solid #ecc3bd;
}

.health-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.health-item {
    min-height: 108px;
    padding: 17px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(13, 59, 49, .1);
    border-radius: 17px;
    background: rgba(247, 243, 232, .6);
}

.health-item span {
    width: fit-content;
    padding: 5px 7px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .13em;
}

.health-item .pass {
    color: #1e6347;
    background: #dcefe4;
}

.health-item .fail {
    color: #7f2f28;
    background: #f5dcd8;
}

.health-item strong {
    color: var(--green-950);
    font-size: 12px;
}

.runtime-box {
    margin-top: 22px;
    padding: 20px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    border-radius: 18px;
    color: var(--white);
    background: var(--green-950);
}

.runtime-box small,
.runtime-box strong {
    display: block;
}

.runtime-box small {
    color: var(--gold-soft);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .14em;
}

.runtime-box strong {
    margin-top: 7px;
    overflow-wrap: anywhere;
    font-size: 13px;
}

.site-footer {
    min-height: 56px;
    padding: 16px 22px;
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, .62);
    background: var(--green-950);
    font-size: 10px;
    letter-spacing: .08em;
}

@media (max-width: 820px) {
    .site-header {
        min-height: 74px;
        padding: 12px 18px;
    }

    .logo-frame {
        width: 44px;
        height: 44px;
    }

    .secure-chip {
        display: none;
    }

    .site-main {
        width: min(100% - 28px, 620px);
        padding: 34px 0;
    }

    .hero {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .hero h1 {
        font-size: 43px;
    }

    .health-grid,
    .runtime-box {
        grid-template-columns: 1fr;
    }

    .ecosystem-strip {
        gap: 10px;
        flex-wrap: wrap;
    }
}


/* ===== SOURCE: sprint-1-2.css ===== */
.section-title {
    margin: 34px 0 12px;
    color: var(--green-950);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
}


/* ===== SOURCE: auth.css ===== */
.login-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 470px);
    gap: clamp(38px, 8vw, 100px);
    align-items: center;
}

.login-intro h1,
.account-hero h1 {
    margin: 14px 0 17px;
    max-width: 690px;
    color: var(--green-950);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5.5vw, 72px);
    line-height: 1;
    letter-spacing: -.045em;
}

.login-intro p,
.account-hero p {
    margin: 0;
    max-width: 590px;
    color: #596a63;
    font-size: clamp(16px, 1.4vw, 19px);
    line-height: 1.7;
}

.identity-message {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--green-700);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.identity-message span::before {
    content: "•";
    margin-right: 10px;
    color: var(--gold);
}

.login-card,
.profile-card {
    padding: clamp(25px, 4vw, 42px);
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 28px;
    background: rgba(255, 255, 255, .8);
    backdrop-filter: blur(22px);
    box-shadow: var(--shadow);
}

.login-form {
    margin-top: 24px;
    display: grid;
    gap: 19px;
}

.login-form label > span:first-child {
    display: block;
    margin-bottom: 8px;
    color: var(--green-950);
    font-size: 12px;
    font-weight: 800;
}

.login-form input {
    width: 100%;
    min-height: 54px;
    padding: 0 16px;
    border: 1px solid #d7ded6;
    border-radius: 14px;
    outline: none;
    color: var(--green-950);
    background: rgba(255, 255, 255, .92);
}

.login-form input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(200, 168, 95, .14);
}

.password-wrap {
    position: relative;
    display: block;
}

.password-wrap input {
    padding-right: 76px;
}

.password-wrap button {
    position: absolute;
    top: 9px;
    right: 9px;
    min-height: 36px;
    padding: 0 11px;
    border: 0;
    border-radius: 10px;
    color: var(--green-700);
    background: #eef2ed;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
}

.primary-button,
.secondary-button {
    min-height: 54px;
    border-radius: 14px;
    cursor: pointer;
    font-weight: 900;
}

.primary-button {
    margin-top: 4px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    color: var(--white);
    background: linear-gradient(135deg, var(--green-700), var(--green-950));
    box-shadow: 0 15px 28px rgba(6, 31, 26, .18);
}

.secondary-button {
    padding: 0 20px;
    border: 1px solid rgba(200, 168, 95, .5);
    color: var(--gold-soft);
    background: transparent;
}

.alert {
    margin-top: 20px;
    padding: 13px 15px;
    border-radius: 13px;
    font-size: 13px;
    line-height: 1.5;
}

.alert-error {
    color: #792d27;
    background: #fae8e5;
    border: 1px solid #ecc3bd;
}

.alert-success {
    color: #245c48;
    background: #e5f3ea;
    border: 1px solid #bcdac7;
}

.login-footer-note {
    margin-top: 22px;
    color: #74827c;
    font-size: 10px;
    line-height: 1.6;
}

.account-hero {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 36px;
    align-items: end;
    margin-bottom: 36px;
}

.account-hero h1 {
    font-size: clamp(40px, 5vw, 64px);
}

.id-card {
    min-width: 260px;
    padding: 25px;
    border-radius: 22px;
    color: var(--white);
    background: linear-gradient(145deg, var(--green-700), var(--green-950));
    box-shadow: var(--shadow);
}

.id-card small,
.id-card span {
    display: block;
}

.id-card small {
    color: var(--gold-soft);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .18em;
}

.id-card strong {
    display: block;
    margin: 13px 0 7px;
    font-family: Georgia, serif;
    font-size: 23px;
}

.id-card span {
    color: rgba(255, 255, 255, .64);
    font-size: 12px;
}

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

.profile-card dl {
    margin: 22px 0 0;
}

.profile-card dl div {
    padding: 14px 0;
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 16px;
    border-bottom: 1px solid rgba(13, 59, 49, .09);
}

.profile-card dl div:last-child {
    border-bottom: 0;
}

.profile-card dt {
    color: #718078;
    font-size: 12px;
}

.profile-card dd {
    margin: 0;
    color: var(--green-950);
    font-weight: 800;
}

.account-actions {
    margin-top: 20px;
    padding: 22px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-radius: 22px;
    color: var(--white);
    background: var(--green-950);
}

.account-actions strong,
.account-actions span {
    display: block;
}

.account-actions span {
    margin-top: 5px;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
}

code {
    padding: 2px 5px;
    border-radius: 6px;
    background: rgba(13, 59, 49, .08);
}

@media (max-width: 820px) {
    .login-shell,
    .account-hero,
    .profile-grid {
        grid-template-columns: 1fr;
    }

    .login-shell {
        gap: 28px;
    }

    .login-intro h1 {
        font-size: 43px;
    }

    .id-card {
        min-width: 0;
        width: 100%;
    }

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

    .account-actions form,
    .secondary-button {
        width: 100%;
    }
}


/* ===== SOURCE: sso.css ===== */
.gateway-grid {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.gateway-card {
    padding: 24px;
    border: 1px solid rgba(13, 59, 49, .10);
    border-radius: 20px;
    background: rgba(247, 243, 232, .65);
}

.gateway-card h2 {
    margin: 12px 0 8px;
    color: var(--green-950);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
}

.gateway-card p {
    min-height: 54px;
    color: #66766f;
    font-size: 13px;
    line-height: 1.6;
}

.gateway-button {
    margin-top: 14px;
    min-height: 46px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, var(--green-700), var(--green-950));
    font-size: 12px;
    font-weight: 900;
}

.logout-all-form {
    margin-top: 24px;
    padding: 20px;
    border-radius: 18px;
    background: var(--green-950);
}

@media (max-width: 820px) {
    .gateway-grid {
        grid-template-columns: 1fr;
    }

    .gateway-card p {
        min-height: 0;
    }

    .logout-all-form .secondary-button {
        width: 100%;
    }
}


/* ===== SOURCE: admin.css ===== */
.admin-heading {
    margin-bottom: 28px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}

.admin-heading h1 {
    margin: 12px 0 10px;
    color: var(--green-950);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1;
    letter-spacing: -.04em;
}

.admin-heading p {
    margin: 0;
    max-width: 720px;
    color: #64746d;
    line-height: 1.7;
}

.admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.admin-stat-card {
    min-height: 140px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(13, 59, 49, .10);
    border-radius: 20px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 18px 38px rgba(6, 31, 26, .08);
}

.admin-stat-card small {
    color: var(--gold);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.admin-stat-card strong {
    color: var(--green-950);
    font-family: Georgia, serif;
    font-size: 40px;
}

.admin-module-grid {
    margin-top: 26px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.admin-module-card {
    padding: 26px;
    border-radius: 22px;
    color: var(--white);
    background: linear-gradient(145deg, var(--green-700), var(--green-950));
    box-shadow: var(--shadow);
}

.admin-module-card h2 {
    margin: 12px 0 7px;
    font-family: Georgia, serif;
    font-size: 31px;
}

.admin-module-card p {
    min-height: 45px;
    color: rgba(255, 255, 255, .70);
    line-height: 1.55;
}

.admin-module-card b {
    color: var(--gold-soft);
    font-size: 11px;
}

.admin-filter {
    margin-bottom: 18px;
    padding: 16px;
    display: grid;
    grid-template-columns: 1fr 190px auto;
    gap: 10px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .74);
}

.admin-filter input,
.admin-filter select {
    min-height: 48px;
    padding: 0 13px;
    border: 1px solid #d5ddd5;
    border-radius: 12px;
    background: #fff;
}

.admin-table-wrap {
    overflow-x: auto;
    border-radius: 20px;
    background: rgba(255, 255, 255, .82);
    box-shadow: var(--shadow);
}

.admin-table {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    padding: 14px 15px;
    text-align: left;
    border-bottom: 1px solid rgba(13, 59, 49, .08);
    vertical-align: top;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.admin-table th {
    color: var(--gold);
    background: var(--green-950);
    font-size: 8px;
    letter-spacing: .12em;
}

.admin-inline-link {
    color: var(--green-700);
    font-weight: 900;
}

/* Administration registries: readable on narrow screens without changing data/query behavior. */
.admin-registry{display:grid;gap:22px;min-width:0}.admin-registry .admin-heading{margin-bottom:0}.admin-registry .admin-table-wrap{width:100%;max-width:100%;min-width:0}.admin-registry .admin-table td{max-width:320px}.admin-registry .admin-empty{padding:28px;text-align:center;color:#60736d}.admin-registry-log .admin-table td{font-size:10px}
@media(max-width:680px){.admin-registry .admin-table{display:block;min-width:0;background:transparent}.admin-registry .admin-table thead{display:none}.admin-registry .admin-table tbody{display:grid;gap:12px;padding:12px}.admin-registry .admin-table tr{display:grid;padding:15px;border:1px solid rgba(13,59,49,.1);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(18,62,52,.05)}.admin-registry .admin-table td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:10px;max-width:none;padding:8px 4px;border-bottom:1px solid rgba(13,59,49,.07);font-size:12px;overflow-wrap:anywhere}.admin-registry .admin-table td:last-child{border-bottom:0}.admin-registry .admin-table td:before{content:attr(data-label);color:#9b7735;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-registry .admin-table td.admin-empty{display:block}.admin-registry-log .admin-table tbody{gap:9px}.admin-registry-log .admin-table tr{padding:11px 14px}.admin-registry-log .admin-table td{font-size:10px}.admin-registry .admin-filter{margin-bottom:0}}

.admin-registry-log .admin-table-wrap{max-height:620px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.admin-registry-log .admin-table thead{position:sticky;top:0;z-index:2}
@media(max-width:680px){.admin-registry-log .admin-table-wrap{max-height:68vh}.admin-registry-log .admin-table tbody{padding:10px}}

.admin-user-detail{gap:18px}.admin-back-link{width:max-content;color:var(--green-700);font-weight:850;text-decoration:none}.admin-user-detail .profile-grid{margin-top:0}.admin-action-copy{display:grid;gap:4px;margin-bottom:15px;color:#fff}.admin-action-copy span{color:rgba(255,255,255,.7);font-size:12px}.admin-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.admin-section-heading .section-title{margin:4px 0 0}.admin-section-heading p{margin:0;color:#60736d;font-size:12px}.admin-user-session-table{max-height:520px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.admin-user-session-table .admin-table thead{position:sticky;top:0;z-index:2}
.admin-user-detail .profile-card dl div{grid-template-columns:minmax(0,140px) minmax(0,1fr)}.admin-user-detail .profile-card dd{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.admin-value-email{overflow-wrap:anywhere!important;word-break:break-all!important}
@media(max-width:430px){.admin-user-detail .profile-card dl div{grid-template-columns:minmax(0,42%) minmax(0,58%);gap:10px}}
.admin-app-host,.admin-app-link{display:block}.admin-app-host{margin-bottom:5px;color:#60736d}.admin-app-link{width:max-content}
@media(max-width:680px){.admin-section-heading{align-items:start;flex-direction:column}.admin-user-session-table{max-height:62vh}.admin-back-link{font-size:13px}}

.admin-action-panel {
    margin: 20px 0 28px;
    padding: 20px;
    border-radius: 20px;
    background: var(--green-950);
}

.admin-action-panel form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-danger-button {
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid #d9958d;
    border-radius: 13px;
    color: #fff;
    background: #8c352d;
    font-weight: 900;
}

@media (max-width: 820px) {
    .admin-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-stat-grid,
    .admin-module-grid {
        grid-template-columns: 1fr;
    }

    .admin-filter {
        grid-template-columns: 1fr;
    }

    .admin-action-panel form {
        flex-direction: column;
    }

    .admin-action-panel button {
        width: 100%;
    }
}


/* ===== SOURCE: ncde-enterprise-design-system-v2.css ===== */
:root{
  --v31-green-1000:#03170f;
  --v31-green-950:#052319;
  --v31-green-900:#082e21;
  --v31-green-800:#0d4632;
  --v31-green-700:#176148;
  --v31-gold:#c8a45b;
  --v31-gold-soft:#ead7a4;
  --v31-ivory:#f7f1e4;
  --v31-canvas:#eef2ed;
  --v31-white:#ffffff;
  --v31-text:#17362a;
  --v31-muted:#728078;
  --v31-line:rgba(8,46,33,.11);
  --v31-shadow:0 18px 55px rgba(3,31,21,.10);
  --v31-shadow-lg:0 30px 90px rgba(3,31,21,.18);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.ncde-v31{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 92% 4%,rgba(200,164,91,.14),transparent 23%),
    linear-gradient(145deg,#faf6eb 0%,#edf2ed 55%,#f8f3e8 100%);
  color:var(--v31-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ncde-v31 a{text-decoration:none;color:inherit}
.enterprise-page{min-height:100vh;display:flex;flex-direction:column}
.enterprise-header{
  position:sticky;top:0;z-index:100;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:rgba(5,35,25,.96);
  box-shadow:0 8px 40px rgba(2,22,15,.18);
  backdrop-filter:blur(18px);
}
.enterprise-header-inner{
  width:min(1440px,100%);min-height:82px;margin:auto;padding:12px 28px;
  display:flex;align-items:center;gap:24px;
}
.enterprise-brand{display:flex;align-items:center;gap:13px;color:#fff;flex:0 0 auto}
.enterprise-logo-frame{
  width:54px;height:54px;min-width:54px;display:grid;place-items:center;
  overflow:hidden;border:1px solid rgba(234,215,164,.35);
  border-radius:17px;background:rgba(255,255,255,.07);
}
.enterprise-logo{
  display:block!important;width:48px!important;height:48px!important;
  max-width:48px!important;max-height:48px!important;object-fit:contain!important;
}
.enterprise-brand-copy strong,.enterprise-brand-copy small{display:block}
.enterprise-brand-copy strong{font-size:15px;line-height:1.2}
.enterprise-brand-copy small{margin-top:4px;color:rgba(255,255,255,.55);font-size:10px}
.enterprise-nav{margin-left:auto;display:flex;align-items:center;gap:5px}
.enterprise-nav a{
  min-height:44px;display:flex;align-items:center;gap:7px;padding:0 12px;
  border-radius:12px;color:rgba(255,255,255,.66);font-size:12px;font-weight:750;
  transition:.18s ease;
}
.enterprise-nav a:hover,.enterprise-nav a.is-active{
  background:rgba(255,255,255,.09);color:#fff;
}
.enterprise-nav a.is-active{box-shadow:inset 0 0 0 1px rgba(234,215,164,.13)}
.enterprise-nav a span{color:var(--v31-gold-soft)}
.enterprise-user-chip{
  display:flex;align-items:center;gap:10px;margin-left:7px;padding:6px 10px 6px 6px;
  border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.06);color:#fff;
}
.enterprise-user-chip>span:last-child strong,.enterprise-user-chip>span:last-child small{display:block}
.enterprise-user-chip>span:last-child strong{font-size:11px}
.enterprise-user-chip>span:last-child small{margin-top:2px;color:rgba(255,255,255,.50);font-size:9px}
.enterprise-avatar{
  width:38px;height:38px;display:grid;place-items:center;border-radius:12px;
  background:linear-gradient(145deg,var(--v31-green-700),var(--v31-green-1000));
  color:var(--v31-gold-soft);font-weight:900;font-size:12px;
}
.enterprise-menu-toggle{
  display:none;margin-left:auto;width:44px;height:44px;border:1px solid rgba(255,255,255,.14);
  border-radius:13px;background:rgba(255,255,255,.07);color:#fff;font-size:20px;
}
.enterprise-secure-chip{
  margin-left:auto;display:flex;align-items:center;gap:9px;padding:9px 13px;
  border:1px solid rgba(255,255,255,.12);border-radius:999px;color:rgba(255,255,255,.70);font-size:10px;font-weight:750;
}
.enterprise-secure-chip i,.enterprise-footer-status i{
  width:8px;height:8px;display:inline-block;border-radius:50%;background:#48d08b;box-shadow:0 0 0 5px rgba(72,208,139,.12);
}
.enterprise-main{width:min(1440px,100%);margin:auto;flex:1;padding:34px 28px 52px}
.enterprise-footer{margin-top:auto;border-top:1px solid var(--v31-line);background:rgba(255,255,255,.58)}
.enterprise-footer-inner{
  width:min(1440px,100%);margin:auto;padding:24px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:22px;
}
.enterprise-footer-brand{display:flex;align-items:center;gap:12px}
.enterprise-footer-mark{
  width:42px;height:42px;display:grid;place-items:center;border-radius:13px;
  background:var(--v31-green-900);color:var(--v31-gold-soft);font-weight:900;
}
.enterprise-footer-brand strong,.enterprise-footer-brand small{display:block}
.enterprise-footer-brand strong{font-size:12px}
.enterprise-footer-brand small{margin-top:4px;color:var(--v31-muted);font-size:10px}
.enterprise-footer-meta{display:flex;align-items:center;gap:20px;color:var(--v31-muted);font-size:10px}
.enterprise-footer-status{display:flex;align-items:center;gap:9px}

/* Common premium page foundations */
.enterprise-page-hero{
  position:relative;overflow:hidden;padding:38px 40px;border-radius:28px;color:#fff;
  background:
    radial-gradient(circle at 87% 18%,rgba(234,215,164,.27),transparent 24%),
    linear-gradient(135deg,var(--v31-green-950),var(--v31-green-700));
  box-shadow:var(--v31-shadow-lg);
}
.enterprise-page-hero:after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.15;
  background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:40px 40px;mask-image:linear-gradient(to left,#000,transparent 72%);
}
.enterprise-page-hero>*{position:relative;z-index:1}
.enterprise-kicker,.card-kicker,.eyebrow{
  color:var(--v31-gold)!important;font-size:10px!important;font-weight:900!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
}
.enterprise-page-hero .enterprise-kicker,.enterprise-page-hero .eyebrow{color:var(--v31-gold-soft)!important}
.enterprise-page-hero h1{
  margin:9px 0 13px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,5vw,64px);font-weight:600;line-height:1;letter-spacing:-.035em;
}
.enterprise-page-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.68);line-height:1.6}
.enterprise-section{margin-top:30px}
.enterprise-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.enterprise-section-heading h2{margin:5px 0 0;font-family:Georgia,serif;font-size:30px}
.enterprise-grid{display:grid;gap:16px}
.enterprise-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.enterprise-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.enterprise-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.enterprise-card{
  border:1px solid rgba(255,255,255,.78);border-radius:21px;
  background:rgba(255,255,255,.88);box-shadow:var(--v31-shadow);backdrop-filter:blur(12px);
}
.enterprise-card-pad{padding:22px}
.enterprise-button{
  min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 18px;border:1px solid transparent;border-radius:13px;font-weight:850;cursor:pointer;
}
.enterprise-button-primary{background:var(--v31-green-800);color:#fff}
.enterprise-button-gold{background:var(--v31-gold-soft);color:var(--v31-green-950)}
.enterprise-button-outline{border-color:var(--v31-line);background:#fff;color:var(--v31-green-900)}
.enterprise-status{
  display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:850;color:var(--v31-green-700);
}
.enterprise-status i{width:8px;height:8px;border-radius:50%;background:#49ce8a;box-shadow:0 0 0 5px rgba(73,206,138,.12)}

/* Login */
.enterprise-login-shell.login-shell{
  min-height:calc(100vh - 230px);display:grid;grid-template-columns:1.15fr .85fr;
  gap:28px;align-items:stretch;
}
.enterprise-login-intro.login-intro{
  min-height:560px;padding:56px;border-radius:30px;color:#fff;
  background:
    radial-gradient(circle at 88% 16%,rgba(234,215,164,.30),transparent 25%),
    linear-gradient(145deg,var(--v31-green-950),var(--v31-green-700));
  box-shadow:var(--v31-shadow-lg);
}
.enterprise-login-intro.login-intro h1{
  max-width:650px;margin:12px 0 17px;font-family:Georgia,serif;
  font-size:clamp(46px,6vw,76px);line-height:.97;letter-spacing:-.04em;
}
.enterprise-login-intro.login-intro p{max-width:600px;color:rgba(255,255,255,.68);font-size:16px;line-height:1.65}
.enterprise-login-intro .identity-message{
  margin-top:54px;padding:24px;border:1px solid rgba(255,255,255,.13);
  border-radius:20px;background:rgba(255,255,255,.07);
}
.enterprise-login-card.login-card{
  align-self:center;padding:34px;border:1px solid rgba(255,255,255,.83);
  border-radius:27px;background:rgba(255,255,255,.93);box-shadow:var(--v31-shadow);
}
.enterprise-login-card .primary-button{
  min-height:51px;border-radius:14px;background:var(--v31-green-800)!important;
}

/* Workspace */
.workspace-hero{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
}
.workspace-hero-copy{max-width:770px}
.workspace-identity-panel{
  min-width:290px;padding:21px;border:1px solid rgba(255,255,255,.14);
  border-radius:21px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);
}
.workspace-identity-panel strong,.workspace-identity-panel small{display:block}
.workspace-identity-panel strong{margin-top:11px;font-size:17px}
.workspace-identity-panel small{margin-top:5px;color:rgba(255,255,255,.60)}
.workspace-metric{display:flex;align-items:center;gap:14px;padding:18px}
.workspace-metric-icon{
  width:44px;height:44px;display:grid;place-items:center;border-radius:13px;
  background:rgba(8,46,33,.07);color:var(--v31-green-700);font-weight:900;
}
.workspace-metric span,.workspace-metric strong,.workspace-metric small{display:block}
.workspace-metric span{color:var(--v31-muted);font-size:10px}
.workspace-metric strong{margin:4px 0 2px;font-family:Georgia,serif;font-size:23px}
.workspace-metric small{color:var(--v31-gold);font-size:9px;font-weight:800}
.workspace-app{
  min-height:205px;display:flex;flex-direction:column;padding:22px;
  transition:.2s ease;
}
.workspace-app:hover{transform:translateY(-4px);border-color:rgba(200,164,91,.42)}
.workspace-app.is-disabled{opacity:.58;pointer-events:none}
.workspace-app-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.workspace-app-icon{
  width:52px;height:52px;display:grid;place-items:center;border-radius:16px;
  background:linear-gradient(145deg,var(--v31-green-700),var(--v31-green-950));
  color:var(--v31-gold-soft);font-weight:900;
}
.workspace-app-status{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--v31-green-700)}
.workspace-app-category{margin-top:22px;color:var(--v31-gold);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.workspace-app strong,.workspace-app small{display:block}
.workspace-app strong{margin-top:8px;font-size:16px}
.workspace-app small{margin-top:7px;color:var(--v31-muted);font-size:11px;line-height:1.5}
.workspace-list{display:grid;gap:11px;margin-top:17px}
.workspace-list-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px;border:1px solid var(--v31-line);border-radius:13px;background:rgba(255,255,255,.70);
}
.workspace-list-item strong,.workspace-list-item small{display:block}
.workspace-list-item small{margin-top:4px;color:var(--v31-muted);font-size:10px}
.workspace-badge{color:var(--v31-gold);font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}

/* Profile */
.profile-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;margin-top:22px}
.profile-summary{padding:27px;text-align:center}
.profile-avatar{
  width:92px;height:92px;margin:0 auto;display:grid;place-items:center;border-radius:27px;
  background:linear-gradient(145deg,var(--v31-green-700),var(--v31-green-950));
  color:var(--v31-gold-soft);font-family:Georgia,serif;font-size:32px;font-weight:800;
}
.profile-summary h2{margin:17px 0 5px;font-family:Georgia,serif;font-size:27px}
.profile-summary p{margin:0;color:var(--v31-muted);font-size:12px}
.profile-detail{padding:24px}
.profile-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.profile-field{padding:16px;border:1px solid var(--v31-line);border-radius:14px;background:rgba(255,255,255,.72)}
.profile-field small,.profile-field strong{display:block}
.profile-field small{color:var(--v31-muted);font-size:9px;text-transform:uppercase;letter-spacing:.10em}
.profile-field strong{margin-top:7px;font-size:13px;word-break:break-word}
.profile-role-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.profile-role-list span{padding:8px 10px;border-radius:999px;background:rgba(8,46,33,.07);font-size:10px;font-weight:800}

/* Existing Admin and Gateway harmonization */
.ncde-v31 .admin-heading,.ncde-v31 .health-panel{
  padding:34px!important;border:1px solid rgba(255,255,255,.78)!important;
  border-radius:27px!important;background:rgba(255,255,255,.90)!important;box-shadow:var(--v31-shadow)!important;
}
.ncde-v31 .admin-heading h1,.ncde-v31 .health-panel h1{
  font-family:Georgia,serif!important;letter-spacing:-.035em!important;
}
.ncde-v31 .admin-stat-card,.ncde-v31 .admin-module-card,.ncde-v31 .gateway-card{
  border:1px solid rgba(255,255,255,.80)!important;border-radius:20px!important;
  background:rgba(255,255,255,.90)!important;box-shadow:0 12px 38px rgba(3,31,21,.07)!important;
}
.ncde-v31 .gateway-button,.ncde-v31 .primary-button{
  border-radius:13px!important;background:var(--v31-green-800)!important;color:#fff!important;
}

@media(max-width:1080px){
  .enterprise-nav{position:fixed;left:16px;right:16px;top:90px;display:none;flex-direction:column;align-items:stretch;padding:14px;border-radius:18px;background:var(--v31-green-950);box-shadow:var(--v31-shadow-lg)}
  .enterprise-nav.is-open{display:flex}
  .enterprise-nav a{justify-content:flex-start}
  .enterprise-menu-toggle{display:block}
  .enterprise-user-chip{margin-left:0}
  .enterprise-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .enterprise-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .enterprise-header-inner{padding:10px 16px}
  .enterprise-brand-copy{display:none}
  .enterprise-user-chip>span:last-child{display:none}
  .enterprise-main{padding:20px 16px 36px}
  .enterprise-footer-inner{align-items:flex-start;flex-direction:column;padding:22px 16px}
  .enterprise-footer-meta{align-items:flex-start;flex-direction:column;gap:10px}
  .enterprise-login-shell.login-shell{grid-template-columns:1fr}
  .enterprise-login-intro.login-intro{min-height:0;padding:32px 24px;border-radius:24px}
  .enterprise-login-intro.login-intro h1{font-size:45px}
  .enterprise-login-intro .identity-message{margin-top:32px}
  .workspace-hero{align-items:flex-start;flex-direction:column}
  .workspace-identity-panel{min-width:0;width:100%}
  .enterprise-grid-4,.enterprise-grid-3,.enterprise-grid-2{grid-template-columns:1fr}
  .profile-grid{grid-template-columns:1fr}
  .profile-detail-grid{grid-template-columns:1fr}
  .enterprise-page-hero{padding:29px 23px;border-radius:23px}
  .enterprise-page-hero h1{font-size:41px}
}


/* ============================================================
   NCDE ENTERPRISE DESIGN SYSTEM V2.0
   Sprint 3.2 — authoritative visual layer
   ============================================================ */

:root{
  --eds-green-1100:#02130d;
  --eds-green-1000:#031a12;
  --eds-green-950:#05271b;
  --eds-green-900:#073326;
  --eds-green-850:#0a3c2c;
  --eds-green-800:#0e4b36;
  --eds-green-700:#17644a;
  --eds-green-600:#23785a;
  --eds-gold-700:#b88e42;
  --eds-gold-600:#c9a55c;
  --eds-gold-500:#dcc27d;
  --eds-gold-300:#ecdaa9;
  --eds-ivory-100:#fbf8f0;
  --eds-ivory-200:#f6f1e6;
  --eds-canvas:#edf2ed;
  --eds-white:#fff;
  --eds-ink:#102d23;
  --eds-body:#52675f;
  --eds-muted:#78867f;
  --eds-line:rgba(7,51,38,.115);
  --eds-line-strong:rgba(7,51,38,.19);
  --eds-shadow-xs:0 5px 18px rgba(3,31,21,.045);
  --eds-shadow-sm:0 12px 34px rgba(3,31,21,.075);
  --eds-shadow-md:0 22px 62px rgba(3,31,21,.115);
  --eds-shadow-lg:0 34px 92px rgba(3,31,21,.20);
  --eds-radius-xs:10px;
  --eds-radius-sm:13px;
  --eds-radius-md:17px;
  --eds-radius-lg:22px;
  --eds-radius-xl:28px;
  --eds-header-height:76px;
}

/* Global rhythm and legibility */
body.ncde-v31{
  color:var(--eds-ink);
  background:
    radial-gradient(circle at 92% 2%,rgba(201,165,92,.13),transparent 21%),
    radial-gradient(circle at 4% 80%,rgba(23,100,74,.055),transparent 23%),
    linear-gradient(145deg,var(--eds-ivory-100),var(--eds-canvas) 55%,var(--eds-ivory-200));
}
.enterprise-main{
  padding-top:26px;
}
.enterprise-kicker,.card-kicker,.eyebrow{
  color:var(--eds-gold-700)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.enterprise-card{
  border-color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.91);
  box-shadow:var(--eds-shadow-xs);
}
.enterprise-card:hover{
  box-shadow:var(--eds-shadow-sm);
}

/* Enterprise OS header */
.enterprise-header{
  background:rgba(3,34,24,.975);
  box-shadow:0 9px 34px rgba(2,22,15,.16);
}
.enterprise-header-inner{
  min-height:var(--eds-header-height);
  padding-top:9px;
  padding-bottom:9px;
}
.enterprise-logo-frame{
  width:50px;height:50px;min-width:50px;border-radius:15px;
}
.enterprise-logo{
  width:44px!important;height:44px!important;
  max-width:44px!important;max-height:44px!important;
}
.enterprise-brand-copy strong{font-size:14px}
.enterprise-brand-copy small{font-size:9px}
.enterprise-nav a{
  min-height:40px;
  padding:0 11px;
  font-size:11px;
}
.enterprise-user-chip{
  padding:5px 9px 5px 5px;
}
.enterprise-avatar{
  width:36px;height:36px;
}
.enterprise-secure-chip{
  color:rgba(255,255,255,.82);
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.035);
}

/* Footer */
.enterprise-footer{
  background:rgba(250,248,242,.75);
}
.enterprise-footer-inner{
  padding-top:20px;
  padding-bottom:20px;
}

/* Shared compact hero */
.enterprise-page-hero{
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:31px 35px;
  border-radius:24px;
  background:
    radial-gradient(circle at 88% 14%,rgba(236,218,169,.31),transparent 23%),
    radial-gradient(circle at 72% 110%,rgba(45,128,93,.33),transparent 33%),
    linear-gradient(135deg,var(--eds-green-1000),var(--eds-green-700));
  box-shadow:var(--eds-shadow-md);
}
.enterprise-page-hero h1{
  margin:7px 0 10px;
  color:#fff!important;
  font-size:clamp(34px,4.4vw,56px);
  line-height:1.01;
  text-shadow:0 2px 18px rgba(0,0,0,.14);
}
.enterprise-page-hero p{
  color:rgba(255,255,255,.82)!important;
  font-size:14px;
  line-height:1.55;
}
.enterprise-page-hero .enterprise-kicker,
.enterprise-page-hero .eyebrow{
  color:var(--eds-gold-300)!important;
}

/* ============================================================
   LOGIN — contrast, balance, and premium composition
   ============================================================ */

.enterprise-login-shell.login-shell{
  min-height:calc(100dvh - 190px);
  grid-template-columns:minmax(0,1.03fr) minmax(390px,.76fr);
  gap:26px;
  align-items:center;
}

.enterprise-login-intro.login-intro{
  position:relative;
  min-height:520px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  padding:48px;
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 14%,rgba(236,218,169,.33),transparent 24%),
    radial-gradient(circle at 70% 102%,rgba(39,126,91,.38),transparent 37%),
    linear-gradient(145deg,var(--eds-green-1000),var(--eds-green-700));
  box-shadow:var(--eds-shadow-lg);
}
.enterprise-login-intro.login-intro:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.14;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to left,#000,transparent 76%);
}
.enterprise-login-intro.login-intro>*{
  position:relative;
  z-index:1;
}
.enterprise-login-intro.login-intro .eyebrow{
  color:var(--eds-gold-300)!important;
  opacity:1!important;
}
.enterprise-login-intro.login-intro h1{
  max-width:640px;
  margin:10px 0 16px;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(45px,5.6vw,72px);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.045em;
  text-shadow:0 3px 24px rgba(0,0,0,.20);
}
.enterprise-login-intro.login-intro p{
  max-width:590px;
  margin:0;
  color:rgba(255,255,255,.84)!important;
  font-size:15px;
  line-height:1.62;
}
.enterprise-login-intro .identity-message{
  width:fit-content;
  max-width:100%;
  margin-top:36px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:11px;
  padding:15px 18px;
  border:1px solid rgba(236,218,169,.29);
  border-radius:15px;
  background:rgba(255,255,255,.075);
  color:var(--eds-gold-300)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(10px);
}
.enterprise-login-intro .identity-message strong,
.enterprise-login-intro .identity-message span{
  color:var(--eds-gold-300)!important;
  opacity:1!important;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-shadow:0 1px 10px rgba(0,0,0,.20);
}
.enterprise-login-intro .identity-message span::before{
  color:var(--eds-gold-500)!important;
  opacity:1!important;
}

.enterprise-login-card.login-card{
  width:100%;
  max-width:520px;
  justify-self:end;
  padding:32px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:24px;
  background:rgba(255,255,255,.955);
  box-shadow:var(--eds-shadow-md);
}
.enterprise-login-card .card-kicker{
  color:var(--eds-gold-700)!important;
}
.enterprise-login-card .login-form{
  margin-top:22px;
  gap:17px;
}
.enterprise-login-card .login-form label>span:first-child{
  color:var(--eds-ink);
  font-size:12px;
}
.enterprise-login-card .login-form input{
  min-height:56px;
  border-color:rgba(7,51,38,.17);
  color:var(--eds-ink);
  background:#fff;
}
.enterprise-login-card .login-form input::placeholder{
  color:#929c97;
}
.enterprise-login-card .primary-button{
  min-height:52px;
  background:linear-gradient(135deg,var(--eds-green-800),var(--eds-green-700))!important;
  box-shadow:0 13px 28px rgba(7,68,49,.20);
}
.enterprise-login-card .login-footer-note{
  color:var(--eds-muted);
}

/* ============================================================
   WORKSPACE — compact operating-system hierarchy
   ============================================================ */

.workspace-hero.enterprise-page-hero{
  min-height:210px;
  flex-direction:row;
  justify-content:space-between;
  padding:31px 34px;
}
.workspace-hero .workspace-hero-copy{
  max-width:760px;
}
.workspace-hero h1{
  font-size:clamp(38px,4.5vw,59px);
}
.workspace-identity-panel{
  min-width:270px;
  padding:18px;
  border-radius:18px;
}
.workspace-identity-panel strong{font-size:15px}
.workspace-identity-panel small{font-size:10px}

.workspace-metric{
  min-height:84px;
  padding:15px;
}
.workspace-metric-icon{
  width:40px;height:40px;
}
.workspace-metric strong{
  font-size:21px;
}
.enterprise-section{
  margin-top:28px;
}
.enterprise-section-heading{
  margin-bottom:14px;
}
.enterprise-section-heading h2{
  font-size:28px;
}

/* Launcher cards */
.workspace-app-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.workspace-app{
  min-height:178px;
  padding:18px;
  border-radius:18px;
}
.workspace-app-icon{
  width:46px;height:46px;
  border-radius:14px;
}
.workspace-app-category{
  margin-top:17px;
}
.workspace-app strong{
  margin-top:6px;
  font-size:14px;
}
.workspace-app small{
  margin-top:5px;
  font-size:10px;
  line-height:1.42;
}
.workspace-app:hover{
  transform:translateY(-3px);
  box-shadow:var(--eds-shadow-sm);
}

/* Profile */
.profile-grid{
  margin-top:18px;
}
.profile-summary,.profile-detail{
  box-shadow:var(--eds-shadow-xs);
}

/* Existing Admin and Gateway */
.ncde-v31 .admin-heading,
.ncde-v31 .health-panel{
  padding:28px!important;
  border-radius:22px!important;
  box-shadow:var(--eds-shadow-xs)!important;
}
.ncde-v31 .admin-stat-card,
.ncde-v31 .admin-module-card,
.ncde-v31 .gateway-card{
  border-radius:17px!important;
  box-shadow:var(--eds-shadow-xs)!important;
}

/* Tablet */
@media(max-width:1180px){
  .workspace-app-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Mobile / tablet OS navigation */
@media(max-width:1080px){
  .enterprise-header-inner{
    gap:10px;
  }
  .enterprise-nav{
    top:82px;
    border:1px solid rgba(255,255,255,.10);
  }
  .enterprise-login-shell.login-shell{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .enterprise-login-intro.login-intro{
    min-height:330px;
    padding:35px;
  }
  .enterprise-login-card.login-card{
    max-width:none;
    justify-self:stretch;
  }
  .workspace-app-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Phone */
@media(max-width:760px){
  .enterprise-main{
    padding-top:16px;
  }
  .enterprise-header-inner{
    min-height:68px;
  }
  .enterprise-logo-frame{
    width:48px;height:48px;min-width:48px;
  }
  .enterprise-logo{
    width:43px!important;height:43px!important;
  }

  .enterprise-login-shell.login-shell{
    gap:18px;
  }
  .enterprise-login-intro.login-intro{
    min-height:285px;
    padding:28px 24px;
    border-radius:23px;
  }
  .enterprise-login-intro.login-intro h1{
    margin-top:8px;
    color:#fff!important;
    font-size:43px;
    line-height:1.00;
  }
  .enterprise-login-intro.login-intro p{
    color:rgba(255,255,255,.86)!important;
    font-size:14px;
  }
  .enterprise-login-intro .identity-message{
    width:100%;
    justify-content:center;
    margin-top:28px;
    padding:14px 12px;
    gap:8px;
  }
  .enterprise-login-intro .identity-message strong,
  .enterprise-login-intro .identity-message span{
    font-size:8px;
    letter-spacing:.10em;
  }
  .enterprise-login-intro .identity-message span::before{
    margin-right:8px;
  }
  .enterprise-login-card.login-card{
    padding:27px 24px;
    border-radius:22px;
  }

  .workspace-hero.enterprise-page-hero{
    min-height:0;
    flex-direction:column;
    padding:25px 22px;
  }
  .workspace-hero h1{
    font-size:39px;
  }
  .workspace-identity-panel{
    width:100%;
    min-width:0;
  }
  .workspace-app-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }
  .workspace-app{
    min-height:155px;
    padding:14px;
  }
  .workspace-app-icon{
    width:40px;height:40px;
    font-size:11px;
  }
  .workspace-app-category{
    margin-top:13px;
    font-size:7px;
  }
  .workspace-app strong{
    font-size:12px;
    line-height:1.25;
  }
  .workspace-app small{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:9px;
  }
  .workspace-app-status{
    font-size:7px;
  }
  .enterprise-section-heading h2{
    font-size:25px;
  }
  .enterprise-grid.enterprise-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .workspace-metric{
    min-height:82px;
    align-items:flex-start;
    padding:13px;
  }
  .workspace-metric-icon{
    width:34px;height:34px;
    flex:0 0 34px;
  }
  .workspace-metric strong{
    font-size:18px;
  }
  .workspace-metric span{
    font-size:8px;
  }
  .workspace-metric small{
    font-size:7px;
  }
}

/* Small phone */
@media(max-width:390px){
  .workspace-app-grid{
    grid-template-columns:1fr 1fr;
  }
  .workspace-app{
    min-height:150px;
  }
}

.enterprise-login-intro .login-trust-row{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.enterprise-login-intro .login-trust-row span{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.78);
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .enterprise-login-intro .login-trust-row{
    margin-top:17px;
  }
  .enterprise-login-intro .login-trust-row span{
    padding:6px 8px;
    font-size:7px;
  }
}

/* Sprint 5.7 — Enterprise Design System & UX Refresh */
.enterprise-skip-link{position:fixed;left:16px;top:-80px;z-index:9999;padding:12px 16px;border-radius:10px;background:#fff;color:var(--v31-green-950);font-weight:800;box-shadow:var(--v31-shadow)}
.enterprise-skip-link:focus{top:14px}
.enterprise-header{position:sticky;top:0;z-index:900;background:rgba(5,35,25,.94);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.enterprise-header-inner{min-height:76px}
.enterprise-nav{gap:4px}
.enterprise-nav a{min-height:42px;padding:0 11px;border-radius:11px;font-size:10px;white-space:nowrap}
.enterprise-nav a.is-active{background:rgba(234,215,164,.13);color:var(--v31-gold-soft)}
.enterprise-header-actions{position:relative;display:flex;align-items:center;gap:8px;margin-left:auto}
.enterprise-icon-button{position:relative;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;font:inherit;font-size:19px;cursor:pointer;text-decoration:none}
.enterprise-icon-button:hover,.enterprise-icon-button:focus-visible{background:rgba(255,255,255,.12);outline:none}
.enterprise-notification-button b{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border:2px solid var(--v31-green-950);border-radius:999px;background:#d9b761;color:#06271c;font-size:9px}
.enterprise-user-chip{appearance:none;text-align:left;cursor:pointer}
.enterprise-user-chip i{font-style:normal;color:rgba(255,255,255,.5)}
.enterprise-avatar{overflow:hidden;flex:0 0 auto}
.enterprise-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.enterprise-avatar-lg{width:56px;height:56px;border-radius:17px}
.enterprise-profile-menu{position:absolute;right:0;top:calc(100% + 12px);width:310px;padding:10px;border:1px solid rgba(8,46,33,.12);border-radius:20px;background:rgba(255,255,255,.98);box-shadow:0 24px 70px rgba(1,24,16,.22);color:var(--v31-green-950)}
.enterprise-profile-card-head{display:flex;align-items:center;gap:13px;padding:12px 12px 16px;border-bottom:1px solid var(--v31-line)}
.enterprise-profile-card-head strong,.enterprise-profile-card-head small{display:block}.enterprise-profile-card-head small{margin-top:4px;color:var(--v31-muted);font-size:10px}
.enterprise-profile-menu>a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;color:var(--v31-green-950);text-decoration:none;font-size:16px}
.enterprise-profile-menu>a:hover{background:rgba(8,46,33,.055)}.enterprise-profile-menu>a span,.enterprise-profile-menu>a strong,.enterprise-profile-menu>a small{display:block}.enterprise-profile-menu>a span{font-size:12px;font-weight:800}.enterprise-profile-menu>a small{margin-top:3px;color:var(--v31-muted);font-size:9px;font-weight:500}.enterprise-profile-menu>a.is-danger{color:#8e352e}
.enterprise-status-beam{width:100%;min-height:28px;display:flex;align-items:center;justify-content:center;gap:22px;padding:5px 18px;background:#041e16;color:rgba(255,255,255,.58);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.enterprise-status-beam span{display:flex;align-items:center;gap:7px}.enterprise-status-beam i{width:7px;height:7px;border-radius:50%;background:#4fd18d;box-shadow:0 0 0 4px rgba(79,209,141,.12)}
.enterprise-breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 17px;color:var(--v31-muted);font-size:10px}.enterprise-breadcrumb a{color:var(--v31-green-700);text-decoration:none;font-weight:800}.enterprise-breadcrumb strong{color:var(--v31-green-950)}
.enterprise-search-dialog{position:fixed;inset:0;z-index:1400}.enterprise-search-backdrop{position:absolute;inset:0;background:rgba(1,18,12,.72);backdrop-filter:blur(8px)}
.enterprise-search-panel{position:relative;width:min(680px,calc(100% - 28px));max-height:calc(100vh - 60px);overflow:auto;margin:30px auto;padding:22px;border:1px solid rgba(255,255,255,.7);border-radius:25px;background:#f8f7f1;box-shadow:0 30px 100px rgba(0,0,0,.35)}
.enterprise-search-panel header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.enterprise-search-panel header small{color:var(--v31-gold);font-size:9px;font-weight:900;letter-spacing:.13em}.enterprise-search-panel h2{margin:5px 0 0;font-family:Georgia,serif;font-size:28px}.enterprise-search-panel header button{width:38px;height:38px;border:0;border-radius:11px;background:rgba(8,46,33,.07);font-size:24px;cursor:pointer}
.enterprise-search-field{display:flex;align-items:center;gap:10px;margin:20px 0 12px;padding:0 14px;border:1px solid var(--v31-line);border-radius:14px;background:#fff}.enterprise-search-field input{width:100%;height:50px;border:0;outline:0;background:transparent;font:inherit;color:var(--v31-green-950)}
.enterprise-search-results{display:grid;gap:8px}.enterprise-search-results>a{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid transparent;border-radius:13px;color:var(--v31-green-950);text-decoration:none}.enterprise-search-results>a:hover,.enterprise-search-results>a:focus{border-color:rgba(200,164,91,.35);background:#fff}.enterprise-search-results>a>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:rgba(8,46,33,.07)}.enterprise-search-results strong,.enterprise-search-results small{display:block}.enterprise-search-results strong{font-size:12px}.enterprise-search-results small{margin-top:3px;color:var(--v31-muted);font-size:9px}.enterprise-search-results b{color:var(--v31-gold)}.enterprise-search-empty{padding:20px;text-align:center;color:var(--v31-muted);font-size:11px}
.enterprise-mobile-nav{display:none}
.workspace-app:focus-visible,.workspace-list-item:focus-visible,.enterprise-button:focus-visible{outline:3px solid rgba(200,164,91,.45);outline-offset:3px}
.workspace-app-status{padding:6px 8px;border-radius:999px;background:rgba(8,46,33,.07)}.workspace-app.is-disabled .workspace-app-status{background:rgba(90,90,90,.08);color:#777}
.enterprise-page-hero p{font-size:13px}.enterprise-button{font-size:11px;text-decoration:none}
@media(max-width:1180px){.enterprise-nav a{padding:0 8px}.enterprise-user-chip>span{display:none}}
@media(max-width:900px){
 .enterprise-header-inner{min-height:68px;padding-left:16px;padding-right:16px}.enterprise-brand-copy small{display:none}.enterprise-nav{position:fixed;left:12px;right:12px;top:76px;display:none!important;grid-template-columns:repeat(2,1fr);padding:10px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:#06271c;box-shadow:0 25px 70px rgba(0,0,0,.3)}.enterprise-nav.is-open{display:grid!important}.enterprise-nav a{justify-content:flex-start}.enterprise-menu-toggle{display:grid}.enterprise-user-chip{padding:4px;border:0;background:transparent}.enterprise-user-chip>span,.enterprise-user-chip>i{display:none}.enterprise-status-beam span:nth-child(n+2){display:none}.enterprise-main{padding:22px 16px 96px}.enterprise-footer{display:none}.enterprise-mobile-nav{position:fixed;z-index:850;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);padding:7px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(4,30,22,.94);backdrop-filter:blur(18px);box-shadow:0 18px 55px rgba(0,0,0,.28)}.enterprise-mobile-nav a{min-height:51px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:13px;color:rgba(255,255,255,.58);text-decoration:none}.enterprise-mobile-nav a span{font-size:16px}.enterprise-mobile-nav a small{font-size:7px;font-weight:800}.enterprise-mobile-nav a.is-active{background:rgba(234,215,164,.13);color:var(--v31-gold-soft)}.enterprise-page-hero{padding:29px 24px}.enterprise-page-hero h1{font-size:clamp(34px,11vw,50px)}
}
@media(max-width:520px){.enterprise-brand-copy{display:none}.enterprise-header-actions{gap:5px}.enterprise-icon-button{width:39px;height:39px}.enterprise-profile-menu{position:fixed;left:12px;right:12px;top:78px;width:auto}.enterprise-search-panel{margin:12px auto;max-height:calc(100vh - 24px);padding:17px}.enterprise-search-panel h2{font-size:23px}.enterprise-status-beam{justify-content:flex-start;padding-left:17px}.workspace-hero{display:block}.workspace-identity-panel{min-width:0;margin-top:22px}.enterprise-grid-2{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.profile-detail-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* =========================================================
   Sprint 5.7.1 — Visual Match & UX Polish
   ========================================================= */
.ncde-sprint-571 .enterprise-header-inner{max-width:1440px;padding:0 28px;gap:22px}
.ncde-sprint-571 .enterprise-brand{min-width:185px;gap:11px}
.ncde-sprint-571 .enterprise-logo-frame{width:50px;height:50px;border-radius:15px;border:1px solid rgba(234,215,164,.32);background:rgba(255,255,255,.045)}
.ncde-sprint-571 .enterprise-brand-copy{display:flex;flex-direction:column;line-height:1.05;color:#fff}
.ncde-sprint-571 .enterprise-brand-copy strong{font-size:17px;letter-spacing:.03em}
.ncde-sprint-571 .enterprise-brand-copy small{margin-top:4px;color:rgba(255,255,255,.62);font-size:9px}
.ncde-sprint-571 .enterprise-header-actions{gap:10px}
.ncde-sprint-571 .enterprise-icon-button svg,.ncde-sprint-571 .workspace-icon-box svg,.ncde-sprint-571 .workspace-metric-icon svg,.ncde-sprint-571 .enterprise-search-field svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ncde-sprint-571 .enterprise-notification-button{color:#e8c65f;background:rgba(218,175,63,.09);border-color:rgba(218,175,63,.34)}
.ncde-sprint-571 .enterprise-notification-button:hover,.ncde-sprint-571 .enterprise-notification-button:focus-visible{background:rgba(218,175,63,.18);color:#ffe38e}
.ncde-sprint-571 .enterprise-notification-button b{background:#e2393e;color:#fff;border-color:#063126;box-shadow:0 5px 13px rgba(0,0,0,.25)}
.ncde-sprint-571 .enterprise-user-chip{min-height:44px}
.ncde-sprint-571 .enterprise-status-beam{width:auto;min-width:145px;min-height:44px;padding:7px 12px;border:1px solid rgba(218,175,63,.34);border-radius:12px;background:linear-gradient(180deg,rgba(14,69,48,.92),rgba(4,36,25,.96));color:#fff;text-decoration:none;display:flex;justify-content:flex-start;gap:9px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.ncde-sprint-571 .enterprise-status-beam:hover{border-color:rgba(255,224,132,.68);background:linear-gradient(180deg,rgba(19,85,59,.96),rgba(4,42,28,.98))}
.ncde-sprint-571 .enterprise-status-beam-dot{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:rgba(57,214,132,.11)}
.ncde-sprint-571 .enterprise-status-beam-dot i{width:8px;height:8px;background:#53e09b;box-shadow:0 0 0 5px rgba(83,224,155,.12),0 0 13px rgba(83,224,155,.65)}
.ncde-sprint-571 .enterprise-status-beam span:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.ncde-sprint-571 .enterprise-status-beam strong{font-size:9px;letter-spacing:.08em;color:#fff}
.ncde-sprint-571 .enterprise-status-beam small{font-size:7px;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.58)}
.ncde-sprint-571 .enterprise-main{max-width:1440px}
.ncde-sprint-571 .workspace-hero-compact{min-height:340px;padding:42px 48px;background:radial-gradient(circle at 88% 12%,rgba(80,166,118,.26),transparent 28%),linear-gradient(135deg,#073927 0%,#075438 55%,#0c6a47 100%)}
.ncde-sprint-571 .workspace-hero-compact h1{max-width:760px;font-size:clamp(48px,5vw,76px);line-height:.98}
.ncde-sprint-571 .workspace-hero-compact p{max-width:680px;font-size:14px;line-height:1.7}
.ncde-sprint-571 .workspace-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.ncde-sprint-571 .enterprise-button-ghost{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff}
.ncde-sprint-571 .enterprise-button-ghost:hover{background:rgba(255,255,255,.12)}
.ncde-sprint-571 .workspace-identity-rich{min-width:340px;padding:24px}
.ncde-sprint-571 .workspace-identity-head{display:flex;align-items:center;gap:15px}
.ncde-sprint-571 .enterprise-avatar-md{width:58px;height:58px;border-radius:18px}
.ncde-sprint-571 .enterprise-status-light{color:#9ff0c7!important}
.ncde-sprint-571 .workspace-identity-rich>small{margin:14px 0 0 73px;color:rgba(255,255,255,.62)}
.ncde-sprint-571 .workspace-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.ncde-sprint-571 .workspace-metric-card{display:flex;align-items:center;gap:14px;padding:17px 18px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:linear-gradient(145deg,#0a3d2b,#0c5137);color:#fff;box-shadow:0 14px 35px rgba(1,31,20,.12)}
.ncde-sprint-571 .workspace-metric-card>div{min-width:0}
.ncde-sprint-571 .workspace-metric-card small,.ncde-sprint-571 .workspace-metric-card strong,.ncde-sprint-571 .workspace-metric-card span{display:block}
.ncde-sprint-571 .workspace-metric-card small{font-size:9px;font-weight:800;color:rgba(255,255,255,.62)}
.ncde-sprint-571 .workspace-metric-card strong{margin:2px 0;font-family:Georgia,serif;font-size:28px}
.ncde-sprint-571 .workspace-metric-card span{font-size:8px;color:rgba(255,255,255,.48)}
.ncde-sprint-571 .workspace-metric-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:rgba(255,255,255,.09)}
.ncde-sprint-571 .workspace-metric-icon-bell{color:#f1ce68;background:rgba(241,206,104,.13)}
.ncde-sprint-571 .workspace-metric-icon-audit{color:#81baff;background:rgba(86,149,226,.13)}
.ncde-sprint-571 .workspace-metric-icon-reports{color:#caa9ff;background:rgba(166,116,229,.13)}
.ncde-sprint-571 .enterprise-section-heading a{font-size:11px;font-weight:850;color:var(--v31-green-700);text-decoration:none}
.ncde-sprint-571 .workspace-icon-grid{display:grid;gap:13px}
.ncde-sprint-571 .workspace-icon-grid-home{grid-template-columns:repeat(7,minmax(0,1fr))}
.ncde-sprint-571 .workspace-icon-grid-launcher{grid-template-columns:repeat(6,minmax(0,1fr));max-width:1040px;margin:0 auto}
.ncde-sprint-571 .workspace-icon-app{min-width:0;min-height:136px;padding:16px 9px 12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;border:1px solid rgba(8,46,33,.09);border-radius:16px;background:rgba(255,255,255,.91);box-shadow:0 10px 28px rgba(2,31,21,.06);color:var(--v31-green-950);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ncde-sprint-571 .workspace-icon-app:hover,.ncde-sprint-571 .workspace-icon-app:focus-visible{transform:translateY(-4px);border-color:rgba(194,157,66,.48);box-shadow:0 18px 42px rgba(2,31,21,.12);outline:none}
.ncde-sprint-571 .workspace-icon-app.is-disabled{opacity:.5;pointer-events:none;filter:saturate(.65)}
.ncde-sprint-571 .workspace-icon-box{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#11714e,#075037);box-shadow:0 8px 17px rgba(4,65,43,.22)}
.ncde-sprint-571 .workspace-icon-box svg{width:25px;height:25px}
.ncde-sprint-571 .workspace-icon-app strong{display:block;margin-top:11px;font-size:11px;line-height:1.25}
.ncde-sprint-571 .workspace-icon-app small{display:block;margin-top:auto;padding-top:7px;color:var(--v31-gold);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.ncde-sprint-571 .app-tone-spatial .workspace-icon-box{background:linear-gradient(145deg,#337fd1,#19568f)}
.ncde-sprint-571 .app-tone-mission_control .workspace-icon-box{background:linear-gradient(145deg,#d0a62f,#8f6713)}
.ncde-sprint-571 .app-tone-ledger .workspace-icon-box,.ncde-sprint-571 .app-tone-knowledge .workspace-icon-box{background:linear-gradient(145deg,#42a96f,#23784a)}
.ncde-sprint-571 .app-tone-identity .workspace-icon-box{background:linear-gradient(145deg,#8261c5,#583f91)}
.ncde-sprint-571 .app-tone-admin .workspace-icon-box{background:linear-gradient(145deg,#e79036,#b65f16)}
.ncde-sprint-571 .app-tone-gateway .workspace-icon-box{background:linear-gradient(145deg,#26aeb2,#157177)}
.ncde-sprint-571 .app-tone-academy .workspace-icon-box{background:linear-gradient(145deg,#4d8fc7,#275d8b)}
.ncde-sprint-571 .workspace-lower-grid h2{margin:5px 0 0;font-family:Georgia,serif}
.ncde-sprint-571 .launcher-hero-compact{min-height:245px;padding:37px 45px;background:radial-gradient(circle at 88% 10%,rgba(78,172,118,.25),transparent 28%),linear-gradient(135deg,#073927,#086444)}
.ncde-sprint-571 .launcher-hero-compact h1{font-size:clamp(45px,5vw,68px)}
.ncde-sprint-571 .enterprise-footer{display:block;margin-top:34px;background:linear-gradient(180deg,#073326,#041f18);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.ncde-sprint-571 .enterprise-footer-inner{max-width:1440px;margin:auto;padding:32px 30px;display:grid;grid-template-columns:1.1fr 1.9fr;gap:50px}
.ncde-sprint-571 .enterprise-footer-brand{display:flex;align-items:flex-start;gap:14px}
.ncde-sprint-571 .enterprise-footer-mark{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border:1px solid rgba(234,215,164,.42);border-radius:18px;color:var(--v31-gold-soft);font-family:Georgia,serif;font-weight:900}
.ncde-sprint-571 .enterprise-footer-brand strong,.ncde-sprint-571 .enterprise-footer-brand small,.ncde-sprint-571 .enterprise-footer-brand em{display:block}
.ncde-sprint-571 .enterprise-footer-brand strong{font-size:12px;letter-spacing:.04em}
.ncde-sprint-571 .enterprise-footer-brand small{margin-top:5px;color:rgba(255,255,255,.57);font-size:9px}
.ncde-sprint-571 .enterprise-footer-brand em{margin-top:6px;color:rgba(255,255,255,.38);font-size:8px;font-style:normal}
.ncde-sprint-571 .enterprise-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.ncde-sprint-571 .enterprise-footer-links div{display:flex;flex-direction:column;gap:7px}
.ncde-sprint-571 .enterprise-footer-links strong{margin-bottom:3px;color:var(--v31-gold-soft);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.ncde-sprint-571 .enterprise-footer-links a{color:rgba(255,255,255,.57);font-size:9px;text-decoration:none}
.ncde-sprint-571 .enterprise-footer-links a:hover{color:#fff}
.ncde-sprint-571 .enterprise-footer-bottom{max-width:1380px;margin:auto;padding:14px 0 20px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;color:rgba(255,255,255,.38);font-size:8px}
.ncde-sprint-571 .enterprise-footer-bottom b{color:#d5b75d;font-weight:700}.ncde-sprint-571 .enterprise-footer-bottom i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#46d590}
.ncde-sprint-571 .enterprise-mobile-footer{display:none}

@media(max-width:1180px){
 .ncde-sprint-571 .enterprise-nav{display:none}
 .ncde-sprint-571 .enterprise-menu-toggle{display:grid}
 .ncde-sprint-571 .workspace-icon-grid-home{grid-template-columns:repeat(5,minmax(0,1fr))}
 .ncde-sprint-571 .workspace-icon-grid-launcher{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:900px){
 .ncde-sprint-571 .enterprise-header-inner{padding:0 18px}
 .ncde-sprint-571 .enterprise-brand{min-width:0}
 .ncde-sprint-571 .enterprise-brand-copy{display:flex!important}
 .ncde-sprint-571 .enterprise-brand-copy strong{font-size:14px}
 .ncde-sprint-571 .enterprise-brand-copy small{display:block!important;font-size:7px}
 .ncde-sprint-571 .enterprise-status-beam{min-width:103px;height:39px;min-height:39px;padding:5px 8px}
 .ncde-sprint-571 .enterprise-status-beam-dot{width:22px;height:22px}
 .ncde-sprint-571 .enterprise-status-beam strong{font-size:7px}
 .ncde-sprint-571 .enterprise-status-beam small{font-size:5.8px}
 .ncde-sprint-571 .enterprise-user-chip>span{display:none}
 .ncde-sprint-571 .enterprise-main{padding-bottom:100px}
 .ncde-sprint-571 .workspace-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ncde-sprint-571 .workspace-icon-grid-home{grid-template-columns:repeat(4,minmax(0,1fr))}
 .ncde-sprint-571 .workspace-icon-grid-launcher{grid-template-columns:repeat(4,minmax(0,1fr))}
 .ncde-sprint-571 .enterprise-footer{display:none}
 .ncde-sprint-571 .enterprise-mobile-footer{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 12px 96px;color:var(--v31-green-950);background:#f7f5ee;font-size:9px}
 .ncde-sprint-571 .enterprise-mobile-footer span,.ncde-sprint-571 .enterprise-mobile-footer small{color:var(--v31-muted);font-size:8px}
}
@media(max-width:650px){
 .ncde-sprint-571 .enterprise-header-inner{min-height:75px;padding:0 14px;gap:7px}
 .ncde-sprint-571 .enterprise-logo-frame{width:45px;height:45px}
 .ncde-sprint-571 .enterprise-brand-copy strong{font-size:13px}
 .ncde-sprint-571 .enterprise-brand-copy small{font-size:6.5px}
 .ncde-sprint-571 .enterprise-header-actions{gap:5px}
 .ncde-sprint-571 .enterprise-icon-button{width:38px;height:38px}
 .ncde-sprint-571 .enterprise-status-beam{min-width:88px;max-width:88px;border-radius:11px}
 .ncde-sprint-571 .enterprise-status-beam-dot{display:none}
 .ncde-sprint-571 .enterprise-status-beam span:last-child{width:100%;align-items:center;text-align:center}
 .ncde-sprint-571 .enterprise-status-beam strong{font-size:6.8px}
 .ncde-sprint-571 .enterprise-status-beam small{font-size:5.4px;white-space:nowrap}
 .ncde-sprint-571 .enterprise-user-chip{display:none}
 .ncde-sprint-571 .workspace-hero-compact{min-height:0;padding:29px 24px}
 .ncde-sprint-571 .workspace-hero-compact h1{font-size:clamp(39px,12vw,54px);line-height:.98}
 .ncde-sprint-571 .workspace-hero-compact p{font-size:12px;line-height:1.55}
 .ncde-sprint-571 .workspace-identity-rich{min-width:0;margin-top:20px;padding:16px}
 .ncde-sprint-571 .workspace-identity-rich>small{margin-left:59px}
 .ncde-sprint-571 .enterprise-avatar-md{width:46px;height:46px;border-radius:14px}
 .ncde-sprint-571 .workspace-metric-card{padding:13px 12px;gap:10px}
 .ncde-sprint-571 .workspace-metric-icon{width:35px;height:35px;flex-basis:35px;border-radius:10px}
 .ncde-sprint-571 .workspace-metric-card strong{font-size:22px}
 .ncde-sprint-571 .workspace-icon-grid-home,.ncde-sprint-571 .workspace-icon-grid-launcher{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .ncde-sprint-571 .workspace-icon-app{min-height:123px;padding:13px 6px 10px;border-radius:14px}
 .ncde-sprint-571 .workspace-icon-box{width:44px;height:44px;border-radius:13px}
 .ncde-sprint-571 .workspace-icon-app strong{font-size:9px}
 .ncde-sprint-571 .launcher-hero-compact{min-height:0;padding:29px 24px}
 .ncde-sprint-571 .launcher-hero-compact h1{font-size:43px}
}
@media(max-width:390px){
 .ncde-sprint-571 .enterprise-brand-copy small{display:none!important}
 .ncde-sprint-571 .enterprise-status-beam{min-width:82px;max-width:82px}
 .ncde-sprint-571 .workspace-icon-grid-home,.ncde-sprint-571 .workspace-icon-grid-launcher{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Sprint 5.7.2 — Enterprise UX Polish */
.ncde-sprint-572 .enterprise-header{position:sticky;top:0}
.ncde-sprint-572 .enterprise-header-actions .enterprise-status-beam{display:none!important}
.enterprise-live-beam{position:sticky;top:76px;z-index:890;width:100%;overflow:hidden;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,#031b14,#073626 42%,#031b14);color:#fff;box-shadow:0 8px 22px rgba(2,28,19,.08)}
.enterprise-live-beam::before,.enterprise-live-beam::after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:52px;pointer-events:none}
.enterprise-live-beam::before{left:0;background:linear-gradient(90deg,#041f17,transparent)}
.enterprise-live-beam::after{right:0;background:linear-gradient(270deg,#041f17,transparent)}
.enterprise-live-beam-track{display:flex;width:max-content;will-change:transform;animation:ncde-live-beam-ltr 32s linear infinite}
.enterprise-live-beam:hover .enterprise-live-beam-track{animation-play-state:paused}
.enterprise-live-beam-group{display:flex;align-items:center;flex:none;min-height:31px}
.enterprise-live-beam-item{display:flex;align-items:center;gap:7px;padding:0 24px;white-space:nowrap;border-right:1px solid rgba(255,255,255,.08)}
.enterprise-live-beam-item i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#4ed793;box-shadow:0 0 0 4px rgba(78,215,147,.12),0 0 12px rgba(78,215,147,.52)}
.enterprise-live-beam-item strong{font-size:8px;letter-spacing:.1em;color:#ebd99e}
.enterprise-live-beam-item small{font-size:8px;color:rgba(255,255,255,.64)}
@keyframes ncde-live-beam-ltr{from{transform:translateX(-50%)}to{transform:translateX(0)}}

.ncde-sprint-572 .enterprise-notification-button{color:#e4c568;border-color:rgba(228,197,104,.42);background:rgba(228,197,104,.08)}
.ncde-sprint-572 .enterprise-notification-button b{background:#d83d35;color:#fff;border-color:#06271c}
.ncde-sprint-572 .enterprise-notification-button:has(b) svg{animation:ncde-bell-pulse 3.6s ease-in-out infinite;transform-origin:50% 10%}
@keyframes ncde-bell-pulse{0%,84%,100%{transform:rotate(0)}88%{transform:rotate(7deg)}92%{transform:rotate(-6deg)}96%{transform:rotate(3deg)}}

.ncde-sprint-572 .admin-heading-polished{margin-bottom:20px}
.ncde-sprint-572 .admin-stat-grid-polished{margin-bottom:30px}
.ncde-sprint-572 .admin-launcher-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:10px 0 16px}
.ncde-sprint-572 .admin-launcher-heading p{margin:0;color:var(--v31-muted);font-size:11px}
.ncde-sprint-572 .admin-icon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ncde-sprint-572 .admin-icon-app{min-height:210px;padding:24px 18px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid rgba(8,46,33,.08);border-radius:22px;background:rgba(255,255,255,.93);box-shadow:0 14px 36px rgba(4,37,25,.065);color:var(--v31-green-950);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ncde-sprint-572 .admin-icon-app:hover,.ncde-sprint-572 .admin-icon-app:focus-visible{transform:translateY(-3px);border-color:rgba(10,111,75,.25);box-shadow:0 20px 45px rgba(4,37,25,.12);outline:none}
.ncde-sprint-572 .admin-icon-box{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;color:#fff;box-shadow:0 12px 25px rgba(5,45,31,.17)}
.ncde-sprint-572 .admin-icon-box svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ncde-sprint-572 .admin-icon-app strong{margin-top:17px;font-size:16px;line-height:1.2}
.ncde-sprint-572 .admin-icon-app small{margin-top:8px;max-width:220px;color:var(--v31-muted);font-size:10px;line-height:1.45}
.ncde-sprint-572 .admin-icon-app b{margin-top:auto;padding-top:15px;color:#b28c28;font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.ncde-sprint-572 .admin-tone-identity .admin-icon-box{background:linear-gradient(145deg,#7654bd,#54318f)}
.ncde-sprint-572 .admin-tone-organization .admin-icon-box{background:linear-gradient(145deg,#3f99ae,#25697d)}
.ncde-sprint-572 .admin-tone-platform .admin-icon-box{background:linear-gradient(145deg,#e18a31,#aa5919)}
.ncde-sprint-572 .admin-tone-security .admin-icon-box{background:linear-gradient(145deg,#087658,#054632)}

@media(max-width:1180px){.ncde-sprint-572 .admin-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
 .enterprise-live-beam{top:75px}
 .enterprise-live-beam-track{animation-duration:27s}
 .enterprise-live-beam-item{padding:0 18px}
 .ncde-sprint-572 .admin-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .ncde-sprint-572 .admin-icon-app{min-height:180px;padding:19px 13px 14px;border-radius:18px}
}
@media(max-width:650px){
 .enterprise-live-beam{top:75px}
 .enterprise-live-beam-group{min-height:28px}
 .enterprise-live-beam-item{padding:0 14px;gap:6px}
 .enterprise-live-beam-item strong,.enterprise-live-beam-item small{font-size:6.7px}
 .ncde-sprint-572 .admin-launcher-heading{align-items:flex-start;flex-direction:column;gap:5px}
 .ncde-sprint-572 .admin-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .ncde-sprint-572 .admin-icon-app{min-height:145px;padding:14px 7px 10px;border-radius:15px}
 .ncde-sprint-572 .admin-icon-box{width:46px;height:46px;border-radius:13px}
 .ncde-sprint-572 .admin-icon-box svg{width:23px;height:23px}
 .ncde-sprint-572 .admin-icon-app strong{margin-top:11px;font-size:10px}
 .ncde-sprint-572 .admin-icon-app small{display:none}
 .ncde-sprint-572 .admin-icon-app b{padding-top:9px;font-size:6.5px}
}
@media(max-width:380px){.ncde-sprint-572 .admin-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.enterprise-live-beam-track,.ncde-sprint-572 .enterprise-notification-button svg{animation:none!important}.enterprise-live-beam-track{transform:none}}

/* =========================================================
   Sprint 5.7.3 — Enterprise Experience Polish
   ========================================================= */
.ncde-sprint-573 .enterprise-header-inner{
  min-height:68px;
  padding-top:8px;
  padding-bottom:8px;
}
.ncde-sprint-573 .enterprise-logo-frame{width:47px;height:47px;min-width:47px;border-radius:14px}
.ncde-sprint-573 .enterprise-logo{width:43px!important;height:43px!important;max-width:43px!important;max-height:43px!important}
.ncde-sprint-573 .enterprise-icon-button,.ncde-sprint-573 .enterprise-menu-toggle{width:40px;height:40px}

/* Fiber-optic live operations stream */
.ncde-sprint-573 .enterprise-ops-stream{
  position:relative;
  min-height:30px;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(2,22,15,.98),rgba(5,45,31,.98) 48%,rgba(2,22,15,.98)),
    #031b13;
  border-top:1px solid rgba(92,245,170,.11);
  border-bottom:1px solid rgba(92,245,170,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 5px 20px rgba(2,21,14,.12);
}
.ncde-sprint-573 .enterprise-ops-stream:before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(75,226,151,.045) 47px,transparent 48px);
}
.ncde-sprint-573 .enterprise-beam-scan{
  position:absolute;z-index:1;top:0;bottom:0;left:-24%;width:24%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(82,255,179,.06),rgba(112,255,194,.35),rgba(234,215,164,.16),transparent);
  filter:blur(1px);animation:ncdeBeamScan 4.8s linear infinite;
}
.ncde-sprint-573 .enterprise-beam-particle{
  position:absolute;z-index:2;top:50%;left:-14px;width:7px;height:7px;border-radius:50%;pointer-events:none;
  background:#69f5ae;box-shadow:0 0 5px #69f5ae,0 0 13px rgba(105,245,174,.9),0 0 26px rgba(105,245,174,.45);
  animation:ncdeBeamParticle 6.4s linear infinite;
}
.ncde-sprint-573 .enterprise-beam-particle-b{animation-delay:-3.2s;opacity:.62;transform:scale(.68)}
.ncde-sprint-573 .enterprise-live-beam-track{position:relative;z-index:3;animation-duration:36s}
.ncde-sprint-573 .enterprise-live-beam-item{opacity:.88}
.ncde-sprint-573 .enterprise-live-beam-item i{box-shadow:0 0 0 5px rgba(79,209,141,.1),0 0 12px rgba(79,209,141,.7)}
@keyframes ncdeBeamScan{to{left:110%}}
@keyframes ncdeBeamParticle{0%{left:-16px}100%{left:calc(100% + 16px)}}

/* More dimensional enterprise heroes */
.ncde-sprint-573 .enterprise-page-hero,.ncde-sprint-573 .workspace-hero,.ncde-sprint-573 .profile-hero,.ncde-sprint-573 .s56-hero{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 84% 18%,rgba(118,241,175,.17),transparent 28%),
    radial-gradient(circle at 16% 110%,rgba(224,190,100,.10),transparent 34%),
    linear-gradient(135deg,#052d20 0%,#096246 100%);
}
.ncde-sprint-573 .enterprise-page-hero:before,.ncde-sprint-573 .workspace-hero:before,.ncde-sprint-573 .profile-hero:before,.ncde-sprint-573 .s56-hero:before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.28;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 92%);
}
.ncde-sprint-573 .enterprise-page-hero:after,.ncde-sprint-573 .workspace-hero:after,.ncde-sprint-573 .profile-hero:after,.ncde-sprint-573 .s56-hero:after{
  content:"";position:absolute;width:250px;height:250px;right:-90px;bottom:-170px;border-radius:50%;z-index:-1;
  border:1px solid rgba(234,215,164,.13);box-shadow:0 0 80px rgba(69,230,153,.12);
}
.ncde-sprint-573 .workspace-hero{padding-top:32px;padding-bottom:30px}

/* Touch/hover feedback for application launchers */
.ncde-sprint-573 .workspace-app,.ncde-sprint-573 .admin-icon-app{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.ncde-sprint-573 .workspace-app:hover,.ncde-sprint-573 .workspace-app:focus-visible,.ncde-sprint-573 .admin-icon-app:hover,.ncde-sprint-573 .admin-icon-app:focus-visible{
  transform:translateY(-5px);box-shadow:0 20px 42px rgba(5,47,33,.14);border-color:rgba(200,164,91,.33);
}
.ncde-sprint-573 .workspace-app:hover .workspace-icon-box,.ncde-sprint-573 .admin-icon-app:hover .admin-icon-box{
  filter:saturate(1.12) brightness(1.05);box-shadow:0 12px 24px rgba(5,47,33,.18),0 0 0 5px rgba(200,164,91,.06);
}
.ncde-sprint-573 .workspace-app:active,.ncde-sprint-573 .admin-icon-app:active{transform:translateY(-1px) scale(.985)}

/* Compact administration overview */
.ncde-sprint-573 .admin-stat-compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ncde-sprint-573 .admin-stat-compact .admin-stat-card{min-height:112px;padding:17px 18px;border-radius:18px}
.ncde-sprint-573 .admin-stat-compact .admin-stat-card strong{font-size:34px}
.ncde-sprint-573 .admin-icon-grid-experience{gap:16px}
.ncde-sprint-573 .admin-icon-grid-experience .admin-icon-app{min-height:190px}

/* Premium identity card treatment */
.ncde-sprint-573 .profile-card,.ncde-sprint-573 .workspace-identity-panel{
  position:relative;overflow:hidden;
}
.ncde-sprint-573 .profile-card:after,.ncde-sprint-573 .workspace-identity-panel:after{
  content:"NCDE";position:absolute;right:-8px;bottom:-34px;color:rgba(255,255,255,.035);font:900 92px/1 Georgia,serif;letter-spacing:-.08em;pointer-events:none;
}
.ncde-sprint-573 .profile-card:before{
  content:"";position:absolute;left:-25%;right:-25%;top:38%;height:1px;background:linear-gradient(90deg,transparent,rgba(234,215,164,.24),transparent);transform:rotate(-14deg);pointer-events:none;
}

/* Mission Control command-center layer */
.ncde-sprint-573 .mission-command-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.ncde-sprint-573 .mission-command-overview article{
  min-height:126px;padding:20px;border:1px solid rgba(8,46,33,.10);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 14px 36px rgba(3,31,21,.07);
}
.ncde-sprint-573 .mission-command-overview article span,.ncde-sprint-573 .mission-command-overview article strong,.ncde-sprint-573 .mission-command-overview article small{display:block}
.ncde-sprint-573 .mission-command-overview article span{color:var(--v31-gold);font-size:8px;font-weight:900;letter-spacing:.13em}
.ncde-sprint-573 .mission-command-overview article strong{margin-top:10px;color:var(--v31-green-950);font:700 34px/1 Georgia,serif}
.ncde-sprint-573 .mission-command-overview article small{margin-top:9px;color:var(--v31-muted);font-size:9px;line-height:1.5}
.ncde-sprint-573 .mission-command-overview article.is-live{background:linear-gradient(145deg,#06291e,#0a5c42);border-color:rgba(91,240,166,.25)}
.ncde-sprint-573 .mission-command-overview article.is-live strong{color:#6af1ad;font-family:Inter,sans-serif;font-size:24px;letter-spacing:.08em}
.ncde-sprint-573 .mission-command-overview article.is-live small{color:rgba(255,255,255,.62)}
.ncde-sprint-573 .mission-command-grid{align-items:start}
.ncde-sprint-573 .mission-command-grid>.s56-card:first-child{box-shadow:0 22px 60px rgba(3,31,21,.10)}

@media(max-width:1100px){
  .ncde-sprint-573 .admin-stat-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ncde-sprint-573 .mission-command-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .ncde-sprint-573 .enterprise-header-inner{min-height:62px;padding-top:7px;padding-bottom:7px}
  .ncde-sprint-573 .enterprise-logo-frame{width:44px;height:44px;min-width:44px}
  .ncde-sprint-573 .enterprise-logo{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important}
  .ncde-sprint-573 .enterprise-live-beam-track{animation-duration:28s}
  .ncde-sprint-573 .admin-stat-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ncde-sprint-573 .admin-stat-compact .admin-stat-card{min-height:96px;padding:14px}
  .ncde-sprint-573 .admin-stat-compact .admin-stat-card strong{font-size:28px}
  .ncde-sprint-573 .mission-command-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ncde-sprint-573 .mission-command-overview article{min-height:108px;padding:15px}
  .ncde-sprint-573 .mission-command-overview article strong{font-size:27px}
  .ncde-sprint-573 .workspace-hero{padding-top:26px;padding-bottom:25px}
}
@media(max-width:430px){
  .ncde-sprint-573 .admin-stat-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ncde-sprint-573 .admin-icon-grid-experience{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .ncde-sprint-573 .admin-icon-grid-experience .admin-icon-app{min-height:136px;padding:14px 8px}
  .ncde-sprint-573 .admin-icon-grid-experience .admin-icon-app small{display:none}
  .ncde-sprint-573 .mission-command-overview article small{display:none}
}
@media(prefers-reduced-motion:reduce){
  .ncde-sprint-573 .enterprise-beam-scan,.ncde-sprint-573 .enterprise-beam-particle{animation:none!important;display:none}
}

/* Sprint 5.7.3.1 — Live Beam Collision Hotfix
   Keep the operations stream in document flow directly below the header.
   This prevents sticky-offset collisions with hero content on mobile browsers. */
.ncde-sprint-573 .enterprise-live-beam,
.ncde-sprint-573 .enterprise-ops-stream{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:60!important;
  display:block;
  flex:0 0 auto;
  margin:0!important;
  transform:none!important;
}
.ncde-sprint-573 .enterprise-header{z-index:900}
.ncde-sprint-573 .enterprise-main{
  position:relative;
  z-index:1;
  clear:both;
}
@media(max-width:900px){
  .ncde-sprint-573 .enterprise-live-beam,
  .ncde-sprint-573 .enterprise-ops-stream{top:auto!important}
}

/* ============================================================
   Sprint 5.7.3.2 — Live Operations Stream (NCIS FOS Style)
   Laser status line above the uninterrupted news ticker.
   ============================================================ */
.ncde-sprint-5732 .enterprise-live-beam{
  position:relative!important;
  top:auto!important;
  z-index:89;
  padding-top:4px;
  overflow:hidden;
  background:#031b14;
  border-top:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 6px 18px rgba(2,22,15,.10);
}
.ncde-sprint-5732 .enterprise-ops-stream:before{
  display:none!important;
}
.ncde-sprint-5732 .enterprise-beam-scan,
.ncde-sprint-5732 .enterprise-beam-particle{
  display:none!important;
  animation:none!important;
}
.ncde-sprint-5732 .enterprise-laser-line{
  position:absolute;
  z-index:5;
  top:0;
  left:0;
  right:0;
  height:4px;
  overflow:hidden;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(200,164,91,.08),rgba(200,164,91,.44),rgba(200,164,91,.08));
  box-shadow:0 1px 0 rgba(255,255,255,.035);
  color:#d8af3f;
}
.ncde-sprint-5732 .enterprise-laser-tail,
.ncde-sprint-5732 .enterprise-laser-dot{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
}
.ncde-sprint-5732 .enterprise-laser-tail{
  left:-150px;
  width:150px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,currentColor 78%,rgba(255,255,255,.95));
  filter:drop-shadow(0 0 4px currentColor);
  opacity:.84;
  animation:ncdeFosLaserTail 5.4s linear infinite;
}
.ncde-sprint-5732 .enterprise-laser-dot{
  left:-8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fff7d4;
  box-shadow:0 0 3px #fff,0 0 8px currentColor,0 0 16px currentColor;
  animation:ncdeFosLaserDot 5.4s linear infinite;
}
.ncde-sprint-5732 .enterprise-live-beam-track{
  position:relative;
  z-index:3;
  animation-duration:36s;
}
.ncde-sprint-5732 .enterprise-live-beam-group{min-height:29px}
.ncde-sprint-5732 .enterprise-live-beam-item{opacity:.90}
.ncde-sprint-5732 .enterprise-live-beam-item i{
  box-shadow:0 0 0 4px rgba(78,215,147,.10);
}
.ncde-sprint-5732 .enterprise-live-beam-item:nth-child(1) i,
.ncde-sprint-5732 .enterprise-live-beam-item:nth-child(4) i{
  background:#d8af3f;
  box-shadow:0 0 0 4px rgba(216,175,63,.10);
}
.ncde-sprint-5732 .enterprise-live-beam-item:nth-child(2) i,
.ncde-sprint-5732 .enterprise-live-beam-item:nth-child(5) i{
  background:#4ed793;
  box-shadow:0 0 0 4px rgba(78,215,147,.10);
}
.ncde-sprint-5732 .enterprise-live-beam-item:nth-child(3) i{
  background:#4aa9e9;
  box-shadow:0 0 0 4px rgba(74,169,233,.10);
}
@keyframes ncdeFosLaserTail{
  from{left:-150px}
  to{left:100%}
}
@keyframes ncdeFosLaserDot{
  from{left:-8px}
  to{left:calc(100% + 8px)}
}
@media(max-width:760px){
  .ncde-sprint-5732 .enterprise-laser-tail{width:105px;left:-105px}
  .ncde-sprint-5732 .enterprise-laser-tail,
  .ncde-sprint-5732 .enterprise-laser-dot{animation-duration:4.7s}
  .ncde-sprint-5732 .enterprise-live-beam-track{animation-duration:29s}
  .ncde-sprint-5732 .enterprise-live-beam-item{padding-left:14px;padding-right:14px}
}
@media(prefers-reduced-motion:reduce){
  .ncde-sprint-5732 .enterprise-laser-tail,
  .ncde-sprint-5732 .enterprise-laser-dot{display:none!important;animation:none!important}
  .ncde-sprint-5732 .enterprise-laser-line{
    background:linear-gradient(90deg,rgba(200,164,91,.10),rgba(200,164,91,.62),rgba(200,164,91,.10));
  }
}


/* ============================================================
   Sprint 5.7.3.3 — Laser Stream + Mission Dock Final Fix
   - Laser line only (no leading dot)
   - Mission dock receives reliable active state
   ============================================================ */
.ncde-sprint-5733 .enterprise-laser-dot{display:none!important}
.ncde-sprint-5733 .enterprise-laser-tail{
  width:170px;
  height:2px;
  left:-170px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent 0%,currentColor 36%,rgba(255,239,183,.92) 70%,currentColor 84%,transparent 100%);
  filter:drop-shadow(0 0 3px currentColor);
  opacity:.92;
  animation:ncdeLaserLineOnly 5.4s linear infinite;
}
@keyframes ncdeLaserLineOnly{from{left:-170px}to{left:100%}}
.ncde-sprint-5733 .enterprise-mobile-nav a.is-active{
  background:rgba(234,215,164,.14);
  color:var(--v31-gold-soft);
}
@media(max-width:760px){
  .ncde-sprint-5733 .enterprise-laser-tail{width:118px;left:-118px;animation-duration:4.7s}
}
@media(prefers-reduced-motion:reduce){
  .ncde-sprint-5733 .enterprise-laser-tail{display:none!important;animation:none!important}
}

/* ============================================================
   Sprint 5.7.3.4 — Enterprise Floating Dock Premium
   - Reliable Mission active-state mapping
   - Larger icons and improved touch targets
   - Semi-transparent premium glass surface
   ============================================================ */
@media(max-width:900px){
  .ncde-sprint-5734 .enterprise-mobile-nav{
    left:14px;
    right:14px;
    bottom:max(12px,env(safe-area-inset-bottom));
    padding:8px;
    border:1px solid rgba(255,255,255,.20);
    border-top-color:rgba(234,215,164,.25);
    border-radius:24px;
    background:linear-gradient(135deg,rgba(5,42,30,.80),rgba(3,29,21,.72));
    -webkit-backdrop-filter:blur(22px) saturate(145%);
    backdrop-filter:blur(22px) saturate(145%);
    box-shadow:
      0 18px 44px rgba(1,20,14,.30),
      0 5px 14px rgba(1,20,14,.18),
      inset 0 1px 0 rgba(255,255,255,.10),
      inset 0 -1px 0 rgba(0,0,0,.12);
  }
  .ncde-sprint-5734 .enterprise-mobile-nav a{
    min-height:58px;
    gap:5px;
    border:1px solid transparent;
    border-radius:17px;
    transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,border-color .18s ease;
  }
  .ncde-sprint-5734 .enterprise-mobile-nav a span{
    font-size:20px;
    line-height:1;
    transform:translateZ(0);
  }
  .ncde-sprint-5734 .enterprise-mobile-nav a small{
    font-size:8px;
    line-height:1;
    letter-spacing:.01em;
  }
  .ncde-sprint-5734 .enterprise-mobile-nav a:active{
    transform:scale(.96);
  }
  .ncde-sprint-5734 .enterprise-mobile-nav a.is-active{
    color:#f3d98d;
    border-color:rgba(234,215,164,.18);
    background:linear-gradient(180deg,rgba(234,215,164,.18),rgba(234,215,164,.10));
    box-shadow:
      0 8px 18px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.10),
      0 0 18px rgba(218,175,63,.08);
  }
  .ncde-sprint-5734 .enterprise-mobile-nav a.is-active span{
    transform:scale(1.08);
    filter:drop-shadow(0 0 7px rgba(234,215,164,.20));
  }
}
@media(max-width:420px){
  .ncde-sprint-5734 .enterprise-mobile-nav{left:10px;right:10px;padding:7px}
  .ncde-sprint-5734 .enterprise-mobile-nav a{min-height:56px}
  .ncde-sprint-5734 .enterprise-mobile-nav a span{font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  .ncde-sprint-5734 .enterprise-mobile-nav a{transition:none!important}
}

/* ============================================================
   Sprint 5.7.4 — Intelligent Enterprise Workspace
   Dynamic local greeting + role-aware context engine
   ============================================================ */
.ncde-sprint-574 .intelligent-workspace-hero{
  align-items:stretch;
  gap:clamp(24px,4vw,64px);
  min-height:390px;
}
.ncde-sprint-574 .intelligent-hero-copy{max-width:780px}
.ncde-sprint-574 .intelligent-greeting{
  margin:12px 0 18px;
  font-size:clamp(42px,5vw,68px);
  line-height:.98;
  letter-spacing:-.035em;
  font-weight:500;
}
.ncde-sprint-574 .intelligent-greeting>span,
.ncde-sprint-574 .intelligent-greeting>strong{display:block}
.ncde-sprint-574 .intelligent-greeting>strong{font-weight:650;color:#fff}
.ncde-sprint-574 .intelligent-context{
  max-width:690px;
  padding:17px 19px;
  border:1px solid rgba(255,255,255,.13);
  border-left-color:rgba(234,215,164,.58);
  border-radius:16px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
}
.ncde-sprint-574 .intelligent-context small{display:block;color:#e8cd84;font-size:10px;font-weight:850;letter-spacing:.13em}
.ncde-sprint-574 .intelligent-context p{margin:6px 0 4px;color:#fff;font-size:clamp(18px,2vw,23px);font-weight:720;line-height:1.25}
.ncde-sprint-574 .intelligent-context span{display:block;color:rgba(255,255,255,.70);font-size:13px;line-height:1.55}
.ncde-sprint-574 .intelligent-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:23px}
.ncde-sprint-574 .intelligent-secondary-button{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff}
.ncde-sprint-574 .intelligent-identity-panel{min-width:min(100%,285px);justify-content:center}
.ncde-sprint-574 .intelligent-status-chip{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:8px 11px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;border:1px solid rgba(255,255,255,.14)}
.ncde-sprint-574 .intelligent-status-chip i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}
.ncde-sprint-574 .intelligent-status-chip.is-ready{color:#9ee2b3;background:rgba(61,171,103,.10)}
.ncde-sprint-574 .intelligent-status-chip.is-action{color:#f1d27b;background:rgba(218,175,63,.11)}
.ncde-sprint-574 .intelligent-status-chip.is-mission{color:#8dcdf7;background:rgba(74,169,233,.11)}
.ncde-sprint-574 .intelligent-status-chip.is-attention{color:#ff9a90;background:rgba(220,72,61,.12)}
.ncde-sprint-574 .intelligent-local-context{margin-top:22px;padding-top:17px;border-top:1px solid rgba(255,255,255,.12)}
.ncde-sprint-574 .intelligent-local-context span,.ncde-sprint-574 .intelligent-local-context small{display:block;color:rgba(255,255,255,.58);font-size:10px}
.ncde-sprint-574 .intelligent-local-context b{display:block;margin:3px 0;font-family:Georgia,serif;font-size:30px;color:#fff;font-weight:500}
.ncde-sprint-574 .intelligent-local-context small{line-height:1.35;word-break:break-word}
@media(max-width:900px){
  .ncde-sprint-574 .intelligent-workspace-hero{min-height:0}
  .ncde-sprint-574 .intelligent-greeting{font-size:clamp(40px,8vw,56px)}
}
@media(max-width:640px){
  .ncde-sprint-574 .intelligent-workspace-hero{padding-top:31px;padding-bottom:31px;gap:22px}
  .ncde-sprint-574 .intelligent-greeting{font-size:44px;line-height:1.02;margin-top:10px}
  .ncde-sprint-574 .intelligent-context{padding:15px 16px}
  .ncde-sprint-574 .intelligent-context p{font-size:18px}
  .ncde-sprint-574 .intelligent-identity-panel{min-width:0}
  .ncde-sprint-574 .intelligent-local-context b{font-size:26px}
}
@media(max-width:390px){.ncde-sprint-574 .intelligent-greeting{font-size:39px}}


/* ============================================================
   Sprint 5.7.5 — Enterprise Visual Refinement
   - Hero typography scaled to approximately 60%
   - Shared page-title rhythm across enterprise modules
   - Status chip, identity strip and executive metric badges
   - Subtle living-grid motion with reduced-motion protection
   ============================================================ */
.ncde-sprint-575 .enterprise-page-hero h1{
  font-size:clamp(28px,3vw,42px);
  line-height:1.06;
  letter-spacing:-.025em;
}
.ncde-sprint-575 .intelligent-greeting{
  max-width:720px;
  margin:12px 0 17px;
  font-size:clamp(28px,3vw,41px);
  line-height:1.04;
  letter-spacing:-.028em;
}
.ncde-sprint-575 .intelligent-greeting>span,
.ncde-sprint-575 .intelligent-greeting>strong{display:block}
.ncde-sprint-575 .intelligent-workspace-hero{
  position:relative;
  overflow:hidden;
  min-height:360px;
}
.ncde-sprint-575 .intelligent-workspace-hero::after{
  content:"";
  position:absolute;
  inset:-24px;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:42px 42px;
  animation:ncdeLivingGrid575 28s linear infinite;
}
.ncde-sprint-575 .intelligent-workspace-hero>*{position:relative;z-index:1}
@keyframes ncdeLivingGrid575{from{transform:translate3d(0,0,0)}to{transform:translate3d(42px,42px,0)}}
.ncde-sprint-575 .intelligent-context{max-width:720px}
.ncde-sprint-575 .intelligent-context-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.11);
}
.ncde-sprint-575 .intelligent-context-metrics span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.68);
  font-size:9px;
  font-weight:750;
  line-height:1;
}
.ncde-sprint-575 .intelligent-context-metrics b{color:#fff;font-size:11px}
.ncde-sprint-575 .intelligent-identity-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:720px;
  margin-top:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:15px;
  background:rgba(2,35,24,.20);
  overflow:hidden;
}
.ncde-sprint-575 .intelligent-identity-strip>div{min-width:0;padding:11px 13px}
.ncde-sprint-575 .intelligent-identity-strip>div+div{border-left:1px solid rgba(255,255,255,.10)}
.ncde-sprint-575 .intelligent-identity-strip small,
.ncde-sprint-575 .intelligent-identity-strip strong{display:block}
.ncde-sprint-575 .intelligent-identity-strip small{
  color:#e7cc82;
  font-size:8px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ncde-sprint-575 .intelligent-identity-strip strong{
  margin-top:4px;
  overflow:hidden;
  color:rgba(255,255,255,.86);
  font-size:10px;
  font-weight:700;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ncde-sprint-575 .intelligent-status-chip{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.10);
}
@media(max-width:900px){
  .ncde-sprint-575 .enterprise-page-hero h1{font-size:clamp(27px,5.5vw,36px)}
  .ncde-sprint-575 .intelligent-greeting{font-size:clamp(27px,5.5vw,35px)}
}
@media(max-width:640px){
  .ncde-sprint-575 .enterprise-page-hero h1{font-size:clamp(25px,7.2vw,31px)}
  .ncde-sprint-575 .intelligent-greeting{font-size:clamp(25px,7.2vw,30px);line-height:1.08}
  .ncde-sprint-575 .intelligent-workspace-hero{padding-top:30px;padding-bottom:31px}
  .ncde-sprint-575 .intelligent-context p{font-size:16px}
  .ncde-sprint-575 .intelligent-context span{font-size:12px}
  .ncde-sprint-575 .intelligent-identity-strip{grid-template-columns:1fr}
  .ncde-sprint-575 .intelligent-identity-strip>div{padding:9px 12px}
  .ncde-sprint-575 .intelligent-identity-strip>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.10)}
}
@media(max-width:390px){
  .ncde-sprint-575 .intelligent-greeting{font-size:26px}
}
@media(prefers-reduced-motion:reduce){
  .ncde-sprint-575 .intelligent-workspace-hero::after{animation:none!important}
}

/* Sprint 5.7.5.2 — Enterprise UI Lock Candidate */
.ncde-sprint-575 .s56-hero h1{
  font-size:clamp(34px,4.1vw,52px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  max-width:780px;
}
@media(max-width:720px){
  .ncde-sprint-575 .s56-hero h1{
    font-size:clamp(27px,8.2vw,36px)!important;
    line-height:1.04!important;
    letter-spacing:-.025em!important;
  }
}

/* ============================================================
   Sprint 5.7.5.3 — Typography Regression Hotfix
   Restores compact premium hero typography after 5.7.5.2 class change.
   ============================================================ */
.ncde-sprint-5753 .enterprise-page-hero h1,
.ncde-sprint-5753 .s56-hero h1{
  font-size:clamp(25px,2.6vw,36px)!important;
  line-height:1.04!important;
  letter-spacing:-.022em!important;
  max-width:780px;
}
.ncde-sprint-5753 .intelligent-greeting{
  max-width:none!important;
  margin:10px 0 16px!important;
  font-size:clamp(25px,2.6vw,35px)!important;
  line-height:1.02!important;
  letter-spacing:-.025em!important;
}
.ncde-sprint-5753 .intelligent-greeting>span,
.ncde-sprint-5753 .intelligent-greeting>strong{
  display:block!important;
  width:max-content;
  max-width:100%;
}
.ncde-sprint-5753 .intelligent-greeting>span{white-space:nowrap}
@media(max-width:900px){
  .ncde-sprint-5753 .enterprise-page-hero h1,
  .ncde-sprint-5753 .s56-hero h1{font-size:clamp(24px,4.8vw,31px)!important}
  .ncde-sprint-5753 .intelligent-greeting{font-size:clamp(24px,4.8vw,30px)!important}
}
@media(max-width:640px){
  .ncde-sprint-5753 .enterprise-page-hero h1,
  .ncde-sprint-5753 .s56-hero h1{
    font-size:clamp(22px,6vw,27px)!important;
    line-height:1.08!important;
  }
  .ncde-sprint-5753 .intelligent-greeting{
    font-size:clamp(23px,6.2vw,27px)!important;
    line-height:1.04!important;
  }
}
@media(max-width:390px){
  .ncde-sprint-5753 .enterprise-page-hero h1,
  .ncde-sprint-5753 .s56-hero h1{font-size:22px!important}
  .ncde-sprint-5753 .intelligent-greeting{font-size:23px!important}
}


/* ===== SOURCE: sprint-5-1.css ===== */
.registration-entry{margin-top:1rem;display:grid;gap:.65rem;text-align:center}.secondary-button{display:inline-flex;justify-content:center;align-items:center;padding:.85rem 1rem;border:1px solid rgba(18,77,59,.25);border-radius:14px;text-decoration:none;font-weight:700}.registration-card select,.registration-card textarea{width:100%;padding:.9rem;border:1px solid rgba(18,77,59,.18);border-radius:12px;background:#fff}.s51-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.s51-actions{display:grid;gap:.7rem}.s51-actions button{padding:.8rem 1rem;border-radius:12px;border:1px solid rgba(0,0,0,.12)}.danger-button{background:#7a1f1f;color:#fff}.s51-pass{font-weight:800;color:#0b694b}.s51-installer{max-width:900px;margin:0 auto}.s51-installer .primary-button,.s51-installer .secondary-button{margin:.6rem .4rem .6rem 0}@media(max-width:760px){.s51-review-grid{grid-template-columns:1fr}}


/* ===== SOURCE: sprint-5-1-1.css ===== */
/* NCDE Sprint 5.1.1 — Enterprise UX Polish */
:root{--ux-green:#0b573f;--ux-deep:#062b1f;--ux-gold:#c9a65d;--ux-ivory:#f7f4eb;--ux-muted:#6f7973}
.enterprise-button,.primary-button,.secondary-button,.gateway-button,.s51-actions button{font-weight:850;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.enterprise-button:hover,.primary-button:hover,.secondary-button:hover,.gateway-button:hover,.s51-actions button:hover{transform:translateY(-1px)}
.enterprise-button-primary,.primary-button,.gateway-button{color:#fff!important;background:var(--ux-green)!important}
.enterprise-button-primary:visited,.primary-button:visited,.gateway-button:visited{color:#fff!important}
.enterprise-button-outline,.secondary-button{color:var(--ux-deep)!important;background:#fff!important}
button:disabled,.is-disabled{opacity:.52!important;cursor:not-allowed!important}
.enterprise-main{padding-bottom:42px}.enterprise-section{scroll-margin-top:100px}
.ux-empty{padding:28px;text-align:center;border:1px dashed rgba(6,43,31,.18);border-radius:18px;color:var(--ux-muted);background:rgba(255,255,255,.55)}
.ux-empty strong{display:block;color:var(--ux-deep);margin-bottom:5px}
.ux-field-group{display:none}.ux-field-group.is-visible{display:block}.ux-help{display:block;margin-top:6px;color:var(--ux-muted);font-size:11px;line-height:1.45}
.registration-card .login-form{gap:17px}.registration-card label>span{display:block;margin-bottom:8px}.registration-card input,.registration-card select,.registration-card textarea{min-height:54px;border-radius:15px!important}.registration-card textarea{min-height:110px;resize:vertical}
.ux-form-section{padding-top:6px;margin-top:3px;border-top:1px solid rgba(6,43,31,.09)}.ux-form-title{display:block;margin:8px 0 3px;color:var(--ux-gold);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.digital-id-card{position:relative;overflow:hidden;text-align:left!important;color:#fff;background:radial-gradient(circle at 90% 7%,rgba(221,194,128,.24),transparent 28%),linear-gradient(145deg,#062b1f,#117052)!important}
.digital-id-card:after{content:"NCDE";position:absolute;right:-10px;bottom:-32px;font:800 86px Georgia,serif;color:rgba(255,255,255,.035)}
.digital-id-card .profile-avatar{margin:0;color:#f0d99c;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14)}
.digital-id-card h2,.digital-id-card p{color:#fff}.digital-id-meta{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.digital-id-meta div{padding:11px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.065)}.digital-id-meta small,.digital-id-meta strong{display:block}.digital-id-meta small{color:rgba(255,255,255,.58);font-size:8px;text-transform:uppercase;letter-spacing:.11em}.digital-id-meta strong{margin-top:5px;color:#fff;font-size:11px;word-break:break-word}
.digital-id-actions{position:relative;z-index:1;margin-top:18px}.digital-id-actions .enterprise-button{width:100%}
.ux-timeline{position:relative;display:grid;gap:0}.ux-timeline:before{content:"";position:absolute;left:18px;top:20px;bottom:20px;width:1px;background:rgba(6,43,31,.12)}
.ux-timeline-item{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:15px;padding:15px 0}.ux-timeline-dot{z-index:1;width:12px;height:12px;margin:8px auto 0;border-radius:50%;background:#45cc88;box-shadow:0 0 0 7px #edf8f2}.ux-timeline-card{padding:17px;border:1px solid rgba(6,43,31,.10);border-radius:16px;background:rgba(255,255,255,.74)}.ux-timeline-card header{display:flex;justify-content:space-between;gap:12px}.ux-timeline-card strong{font-size:15px}.ux-timeline-card time,.ux-timeline-card small{color:var(--ux-muted);font-size:10px}.ux-timeline-card p{margin:7px 0 0;color:var(--ux-muted);font-size:12px;line-height:1.5}.ux-type{color:var(--ux-gold)!important;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.ux-widget-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ux-widget{padding:20px;min-height:128px}.ux-widget small,.ux-widget strong,.ux-widget span{display:block}.ux-widget small{color:var(--ux-gold);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.ux-widget strong{margin-top:14px;font:600 31px Georgia,serif}.ux-widget span{margin-top:5px;color:var(--ux-muted);font-size:10px}
.workspace-app.is-hidden{display:none}.workspace-app-grid{align-items:stretch}.workspace-app{height:100%}
@media(max-width:900px){.ux-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.digital-id-meta{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.enterprise-main{padding-left:20px!important;padding-right:20px!important}.enterprise-page-hero{padding:31px 28px!important;border-radius:28px!important}.enterprise-page-hero h1{font-size:clamp(38px,12vw,54px)!important}.profile-grid{grid-template-columns:1fr!important}.digital-id-meta{grid-template-columns:1fr 1fr}.ux-widget-grid{grid-template-columns:1fr 1fr;gap:10px}.ux-widget{min-height:112px;padding:16px}.registration-card{padding:25px!important}.enterprise-button,.primary-button,.secondary-button{min-height:50px}.workspace-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.workspace-app{min-height:190px!important;padding:17px!important}.workspace-app-icon{width:47px!important;height:47px!important}.enterprise-footer{margin-top:25px}}
@media(max-width:420px){.digital-id-meta{grid-template-columns:1fr}.ux-widget-grid{grid-template-columns:1fr 1fr}.workspace-app-grid{grid-template-columns:1fr!important}.workspace-app{min-height:175px!important}}


/* ===== SOURCE: ncde-enterprise-logout-polish.css ===== */
/*
|--------------------------------------------------------------------------
| NCDE Enterprise UI Sprint 2.0.2 — Logout Polish (LOCK Candidate)
|--------------------------------------------------------------------------
*/

.enterprise-nav .enterprise-nav-logout{
  color:#f1c8bb!important;
}

.enterprise-nav .enterprise-nav-logout-copy{
  display:inline-flex;
  align-items:center;
  gap:0;
}

.enterprise-nav .enterprise-nav-logout-copy small{
  display:none;
}

/* Hamburger/mobile navigation: logout becomes a distinct system action. */
@media (max-width:980px){
  .enterprise-nav .enterprise-nav-logout{
    position:relative;
    grid-column:1/-1!important;
    width:100%!important;
    min-height:76px!important;
    margin:12px 0 0!important;
    padding:24px 14px 4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:11px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-align:center!important;
    color:#f0c2b5!important;
  }

  .enterprise-nav .enterprise-nav-logout::before,
  .enterprise-nav .enterprise-nav-logout::after{
    content:"";
    position:absolute;
    top:8px;
    width:calc(50% - 20px);
    height:1px;
    background:linear-gradient(
      90deg,
      transparent,
      rgba(211,178,89,.38)
    );
  }

  .enterprise-nav .enterprise-nav-logout::before{
    left:0;
  }

  .enterprise-nav .enterprise-nav-logout::after{
    right:0;
    transform:scaleX(-1);
  }

  .enterprise-nav .enterprise-nav-logout-icon{
    position:relative;
    display:grid!important;
    place-items:center;
    width:26px;
    height:26px;
    color:#e0c46b!important;
    font-size:19px!important;
    line-height:1!important;
  }

  .enterprise-nav .enterprise-nav-logout-icon::before{
    content:"";
    position:absolute;
    top:-22px;
    left:50%;
    width:8px;
    height:8px;
    border:1px solid rgba(211,178,89,.85);
    background:#073225;
    transform:translateX(-50%) rotate(45deg);
    box-shadow:0 0 12px rgba(211,178,89,.20);
  }

  .enterprise-nav .enterprise-nav-logout-copy{
    display:flex!important;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    line-height:1.1;
  }

  .enterprise-nav .enterprise-nav-logout-copy strong{
    color:#f4c7bc;
    font-size:15px;
    font-weight:800;
  }

  .enterprise-nav .enterprise-nav-logout-copy small{
    display:block;
    color:rgba(242,238,225,.52);
    font-size:10px;
    font-weight:500;
    letter-spacing:.02em;
  }

  .enterprise-nav .enterprise-nav-logout:hover,
  .enterprise-nav .enterprise-nav-logout:focus-visible{
    background:rgba(135,53,47,.07)!important;
  }
}

/* Premium confirmation dialog. */
.ncde-logout-v12-overlay[hidden]{display:none!important}

.ncde-logout-v12-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(2,17,12,.74);
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
  opacity:0;
  transition:opacity .24s ease;
}

.ncde-logout-v12-overlay.is-visible{opacity:1}

.ncde-logout-v12-modal{
  width:min(440px,100%);
  padding:28px;
  border-radius:26px;
  border:1px solid rgba(211,178,89,.32);
  color:#f8f3e7;
  background:
    radial-gradient(circle at 85% 5%,rgba(211,178,89,.14),transparent 31%),
    linear-gradient(145deg,#113f30,#05291f);
  box-shadow:
    0 35px 95px rgba(0,0,0,.50),
    inset 0 1px 0 rgba(255,255,255,.07);
  transform:translateY(14px) scale(.985);
  transition:transform .24s ease,opacity .24s ease;
}

.ncde-logout-v12-overlay.is-visible .ncde-logout-v12-modal{
  transform:none;
}

.ncde-logout-v12-overlay.is-signing-out .ncde-logout-v12-modal{
  opacity:.76;
  transform:scale(.985);
}

.ncde-logout-v12-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin-bottom:18px;
  border:1px solid rgba(211,178,89,.40);
  border-radius:18px;
  color:#e3c86d;
  background:rgba(211,178,89,.08);
  font-size:28px;
}

.ncde-logout-v12-kicker{
  display:block;
  margin-bottom:8px;
  color:#d5b759;
  font-size:10px;
  font-weight:800;
  letter-spacing:.19em;
}

.ncde-logout-v12-modal h2{
  margin:0;
  color:#fff9ea;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(27px,6vw,35px);
  font-weight:600;
  line-height:1.08;
}

.ncde-logout-v12-modal>p{
  margin:14px 0 0;
  color:rgba(248,243,231,.73);
  font-size:14px;
  line-height:1.65;
}

.ncde-logout-v12-modal blockquote{
  margin:20px 0 0;
  padding:14px 16px;
  border-left:2px solid #d5b759;
  border-radius:0 13px 13px 0;
  color:#f0dca4;
  background:rgba(211,178,89,.07);
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
  font-style:italic;
  line-height:1.5;
}

.ncde-logout-v12-actions{
  width:90%;
  margin:24px auto 0;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.ncde-logout-v12-actions button,
.ncde-logout-v12-actions a{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  text-decoration:none;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition:
    transform .18s ease,
    filter .18s ease,
    opacity .18s ease;
}

.ncde-logout-v12-actions button:hover,
.ncde-logout-v12-actions a:hover{
  transform:translateY(-1px);
}

.ncde-logout-v12-actions button{
  order:1;
  border:1px solid rgba(211,178,89,.40);
  color:#fff0bd;
  background:rgba(255,255,255,.045);
}

.ncde-logout-v12-actions a{
  order:2;
  border:1px solid rgba(255,214,193,.18);
  color:#fff8ef;
  background:linear-gradient(135deg,#884139,#692b27);
  box-shadow:0 10px 28px rgba(66,16,13,.25);
}

.ncde-logout-v12-spinner{
  display:none;
  width:17px;
  height:17px;
  margin-right:9px;
  border:2px solid rgba(229,199,105,.28);
  border-top-color:#e7cb72;
  border-radius:50%;
  animation:ncdeLogoutV12Spin .7s linear infinite;
}

.ncde-logout-v12-actions a.is-loading{
  pointer-events:none;
  opacity:.84;
}

.ncde-logout-v12-actions a.is-loading .ncde-logout-v12-spinner{
  display:inline-block;
}

body.ncde-logout-v12-open{
  overflow:hidden!important;
}

@keyframes ncdeLogoutV12Spin{
  to{transform:rotate(360deg)}
}

@media(max-width:430px){
  .ncde-logout-v12-modal{
    padding:24px 20px 20px;
  }

  .ncde-logout-v12-actions{
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .ncde-logout-v12-overlay,
  .ncde-logout-v12-modal,
  .ncde-logout-v12-actions button,
  .ncde-logout-v12-actions a{
    transition:none!important;
  }
}


/*
|--------------------------------------------------------------------------
| Sprint 2.0.2.1 — Logout Alignment Hotfix
|--------------------------------------------------------------------------
| Centers the separator ornament and the complete logout action as one unit.
|--------------------------------------------------------------------------
*/
@media (max-width:980px){
  .enterprise-nav .enterprise-nav-logout{
    min-height:92px!important;
    margin:14px 0 0!important;
    padding:36px 14px 8px!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
  }

  /* Two balanced line segments with a true center gap. */
  .enterprise-nav .enterprise-nav-logout::before{
    content:""!important;
    position:absolute!important;
    top:10px!important;
    left:0!important;
    right:0!important;
    width:auto!important;
    height:1px!important;
    background:
      linear-gradient(
        90deg,
        transparent 0,
        rgba(211,178,89,.40) 13%,
        rgba(211,178,89,.40) calc(50% - 24px),
        transparent calc(50% - 24px),
        transparent calc(50% + 24px),
        rgba(211,178,89,.40) calc(50% + 24px),
        rgba(211,178,89,.40) 87%,
        transparent 100%
      )!important;
    transform:none!important;
  }

  /* Diamond sits exactly at the separator midpoint. */
  .enterprise-nav .enterprise-nav-logout::after{
    content:""!important;
    position:absolute!important;
    top:5px!important;
    left:50%!important;
    right:auto!important;
    width:10px!important;
    height:10px!important;
    border:1px solid rgba(211,178,89,.88)!important;
    background:#073225!important;
    transform:translateX(-50%) rotate(45deg)!important;
    box-shadow:0 0 12px rgba(211,178,89,.18)!important;
  }

  .enterprise-nav .enterprise-nav-logout-icon{
    position:static!important;
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    font-size:18px!important;
  }

  /* Remove the old diamond that was attached to the icon. */
  .enterprise-nav .enterprise-nav-logout-icon::before{
    content:none!important;
    display:none!important;
  }

  .enterprise-nav .enterprise-nav-logout-copy{
    align-items:flex-start!important;
    flex:0 0 auto!important;
  }
}
