/*
 * Created Date/By: 2026-10-16 / OpenAI for Jonathan Kilburn
 * Description: Approved Nimble 2.0 Manufacturer home dashboard / login visual.
 * Modified Date/By: 2026-10-16 / OpenAI for Jonathan Kilburn
 * Mod Description: Match Clinic Dashboard N watermark, logo, gradient, cards,
 * activity grids and Clinic split-screen login; preserve other workflow styles.
 *
 * PURPOSE
 * -------
 * Style ONLY the authenticated Manufacturer home and brand regions, plus the
 * existing public Manufacturer authentication shell.
 * Data comes from the live Manufacturer API, not mockup example numbers.
 */

/* A single Nimble 2.0 logo on both portals, not the old generic portal name. */
.portal-sidebar {
    background: linear-gradient(165deg, #092d52 0%, #062545 56%, #041e38 100%);
    scrollbar-color: #365577 transparent;
}
.portal-sidebar .portal-brand {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    min-height: 65px;
    margin: 0 0 10px;
    padding: 2px 4px 13px;
}
.portal-sidebar .nimble-2-logo {
    display: block;
    width: 100%;
    max-width: 206px;
    height: auto;
    max-height: 66px;
    object-fit: contain;
    object-position: left center;
}
.portal-sidebar .portal-nav .nav-link {
    min-height: 41px;
    margin-bottom: 3px;
    border-radius: 9px;
    padding: 9px 12px;
    font-size: .8rem;
}
.portal-sidebar .portal-nav .nav-link.active {
    background: linear-gradient(110deg, #177eee, #0064d4);
}
.portal-topbar .scope-controls {
    gap: 8px;
}
.portal-topbar .scope-controls .top-pill {
    padding: 9px 13px;
    border-radius: 10px;
    background: #edf5ff;
    color: #0963c8;
    font-size: .75rem;
}
.portal-topbar .scope-controls .top-pill.system-admin {
    color: #085bb7;
    background: #e8f2ff;
}
.portal-topbar .scope-controls .mfg-home-new-order {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 9px;
    padding: 8px 17px;
    background: linear-gradient(110deg, #0f7df4, #055fd3);
    border-color: #0b69e8;
    color: #fff;
    font-size: .78rem;
    font-weight: 690;
}

/* Manufacturer Dashboard mirrors the Clinic page's geometry. */
#content.nimble-mfg-unified .mfg-home {
    --home-ink: #10315b;
    --home-muted: #55718f;
    --home-border: #d5e4f5;
    --home-shadow: 0 5px 16px rgba(22, 62, 108, .075),
        0 1px 3px rgba(22, 62, 108, .035);
    color: var(--home-ink);
    font-size: .82rem;
    min-width: 0;
}
#content.nimble-mfg-unified .mfg-home-tone-blue {
    --home-accent: #167bf1;
    --home-soft: #e7f2ff;
}
#content.nimble-mfg-unified .mfg-home-tone-green {
    --home-accent: #06a66d;
    --home-soft: #e1f9ee;
}
#content.nimble-mfg-unified .mfg-home-tone-purple {
    --home-accent: #8646e6;
    --home-soft: #f0e7ff;
}
#content.nimble-mfg-unified .mfg-home-tone-orange {
    --home-accent: #ed7a15;
    --home-soft: #fff1e2;
}
#content.nimble-mfg-unified .mfg-home-tone-red {
    --home-accent: #e93957;
    --home-soft: #ffebef;
}
#content.nimble-mfg-unified .mfg-home-tone-teal {
    --home-accent: #08aeb7;
    --home-soft: #dff9fa;
}

/* Hero uses exactly the same blue-wave background and embedded Nimble N
 * family as the approved Clinic Dashboard. The mark is decorative only. */
#content.nimble-mfg-unified .mfg-home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 133px;
    gap: 22px;
    padding: 19px 29px;
    margin: 0 0 13px;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(6, 34, 70, .95) 0%, rgba(9, 54, 113, .77) 50%, rgba(7, 43, 91, .90) 100%),
        url("/assets/nimble-login-background.avif") center 54% / cover no-repeat;
    border: 1px solid rgba(48, 133, 225, .35);
    border-radius: 13px;
    box-shadow: 0 7px 19px rgba(8, 49, 96, .13);
}
#content.nimble-mfg-unified .mfg-home-hero-copy {
    position: relative;
    z-index: 3;
    max-width: calc(100% - 215px);
    min-width: 0;
}
#content.nimble-mfg-unified .mfg-home-eyebrow {
    margin: 0 0 8px;
    color: #d4e7ff;
    font-weight: 730;
    font-size: .64rem;
    text-transform: uppercase;
    letter-spacing: .13em;
}
#content.nimble-mfg-unified .mfg-home-hero h1 {
    margin: 0 0 7px;
    color: #fff;
    font-size: clamp(1.3rem, 1.85vw, 1.83rem);
    font-weight: 770;
    letter-spacing: -.025em;
}
#content.nimble-mfg-unified .mfg-home-intro {
    margin: 0;
    color: #e0efff;
    font-size: .83rem;
    line-height: 1.5;
}
#content.nimble-mfg-unified .mfg-home-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}
#content.nimble-mfg-unified .mfg-home-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    padding: 5px 11px;
    border-radius: 28px;
    background: rgba(206, 231, 255, .13);
    color: #d7e8fa;
    font-size: .7rem;
    overflow-wrap: anywhere;
}
#content.nimble-mfg-unified .mfg-home-chip .bi {
    color: #3ed7ef;
    font-size: .86rem;
}
#content.nimble-mfg-unified .mfg-home-hero-mark {
    position: absolute;
    z-index: 1;
    top: -38px;
    right: 15%;
    width: 310px;
    height: 210px;
    object-fit: contain;
    pointer-events: none;
    transform: rotate(-9deg);
    opacity: .19;
}
#content.nimble-mfg-unified .mfg-home-hero-dots {
    position: absolute;
    z-index: 1;
    inset: 7px 23% 7px auto;
    width: 32%;
    opacity: .23;
    pointer-events: none;
    background: radial-gradient(circle, #4fcbf7 1px, transparent 1.5px) 0 0 / 14px 14px;
    mask-image: radial-gradient(ellipse, #000 9%, transparent 80%);
}
#content.nimble-mfg-unified .mfg-home-promise {
    position: relative;
    z-index: 3;
    flex: 0 0 162px;
    align-self: center;
    display: flex;
    flex-direction: column;
    gap: 11px;
}
#content.nimble-mfg-unified .mfg-home-promise > span {
    height: 2px;
    width: 35px;
    background: #30dceb;
    border-radius: 2px;
}
#content.nimble-mfg-unified .mfg-home-promise p {
    margin: 0;
    color: #e3f0ff;
    font-size: .86rem;
    line-height: 1.35;
}

/* Compact section headers. */
#content.nimble-mfg-unified .mfg-home-section-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 7px 12px;
    margin: 13px 0 9px;
}
#content.nimble-mfg-unified .mfg-home-section-heading h2 {
    margin: 0;
    color: #102e54;
    font-size: 1.03rem;
    font-weight: 770;
    letter-spacing: -.015em;
}
#content.nimble-mfg-unified .mfg-home-section-heading p {
    margin: 2px 0 0;
    font-size: .72rem;
    color: #5a7492;
}
#content.nimble-mfg-unified .mfg-home-section-heading .mfg-home-period {
    color: #547096;
    margin-left: auto;
    font-size: .69rem;
}
#content.nimble-mfg-unified .mfg-home-section-heading .btn {
    font-size: .72rem;
    min-height: 31px;
}

/* Quick actions. */
#content.nimble-mfg-unified .mfg-home-quick-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}
#content.nimble-mfg-unified .mfg-home-action {
    min-width: 0;
    min-height: 130px;
    display: flex;
    gap: 13px;
    padding: 14px 13px;
    border: 1px solid var(--home-border);
    border-left: 3px solid var(--home-accent);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--home-shadow);
}
#content.nimble-mfg-unified .mfg-home-action-icon,
#content.nimble-mfg-unified .mfg-home-metric-icon,
#content.nimble-mfg-unified .mfg-home-business-icon {
    flex: 0 0 auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: var(--home-accent);
    background: var(--home-soft);
    border-radius: 50%;
}
#content.nimble-mfg-unified .mfg-home-action-icon {
    width: 46px;
    height: 46px;
    font-size: 1.26rem;
}
#content.nimble-mfg-unified .mfg-home-action-body {
    min-width: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
}
#content.nimble-mfg-unified .mfg-home-action-head {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: space-between;
}
#content.nimble-mfg-unified .mfg-home-action h3 {
    margin: 0;
    color: #12345f;
    font-size: .79rem;
    font-weight: 760;
}
#content.nimble-mfg-unified .mfg-home-action-head .bi {
    font-size: .85rem;
    color: #216dc1;
}
#content.nimble-mfg-unified .mfg-home-action-value {
    display: block;
    margin: 5px 0 3px;
    color: #0d2d53;
    font-size: 1.46rem;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
#content.nimble-mfg-unified .mfg-home-action p {
    margin: 3px 0 8px;
    color: #536e8e;
    font-size: .72rem;
    line-height: 1.37;
}
#content.nimble-mfg-unified .mfg-home-action .btn {
    margin-top: auto;
    padding: 5px 12px;
    min-height: 31px;
    color: #0868ca;
    border-radius: 8px;
    border: 1px solid #d9e9fa;
    background: #eaf4ff;
    font-size: .72rem;
}

/* Six data-backed metrics, without invented trend points. */
#content.nimble-mfg-unified .mfg-home-metrics-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 10px;
}
#content.nimble-mfg-unified .mfg-home-metric {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 76px;
    padding: 10px 11px;
    border: 1px solid var(--home-border);
    border-left: 3px solid var(--home-accent);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--home-shadow);
}
#content.nimble-mfg-unified .mfg-home-metric-icon {
    width: 38px;
    height: 38px;
    font-size: 1.08rem;
}
#content.nimble-mfg-unified .mfg-home-metric-body {
    min-width: 0;
    flex: 1;
}
#content.nimble-mfg-unified .mfg-home-metric h3 {
    margin: 0 0 4px;
    color: #274765;
    font-size: .66rem;
    font-weight: 700;
    line-height: 1.3;
}
#content.nimble-mfg-unified .mfg-home-metric strong {
    display: block;
    color: #0b2d56;
    font-size: 1.27rem;
    line-height: 1.05;
    font-variant-numeric: tabular-nums;
}
#content.nimble-mfg-unified .mfg-home-metric p {
    margin: 4px 0 0;
    color: #526f8f;
    font-size: .61rem;
    line-height: 1.32;
}
#content.nimble-mfg-unified .mfg-home-metric .mfg-workload-sparkline {
    --mfg-accent: var(--home-accent);
    color: var(--home-accent);
    margin: auto 0 auto auto;
    width: 58px;
    min-width: 37px;
    max-width: 72px;
    height: 35px;
}
#content.nimble-mfg-unified .mfg-home-no-trend {
    margin-left: auto;
    color: #98acc5;
    font-size: 1.1rem;
}

/* Four live business analytics columns; existing best-seller and reconciliation
 * bars are reused so invoice/payment arithmetic cannot drift from the API. */
#content.nimble-mfg-unified .mfg-home-business-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
}
#content.nimble-mfg-unified .mfg-home-business-card {
    min-width: 0;
    min-height: 203px;
    border: 1px solid var(--home-border);
    border-left: 3px solid var(--home-accent);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--home-shadow);
    padding: 13px 12px 11px;
}
#content.nimble-mfg-unified .mfg-home-business-head {
    display: flex;
    align-items: center;
    gap: 10px;
}
#content.nimble-mfg-unified .mfg-home-business-icon {
    width: 37px;
    height: 37px;
    font-size: 1.15rem;
}
#content.nimble-mfg-unified .mfg-home-business-head > div {
    min-width: 0;
}
#content.nimble-mfg-unified .mfg-home-business-head span:not(.mfg-home-business-icon) {
    display: block;
    margin-bottom: 3px;
    color: #547090;
    font-size: .64rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-weight: 700;
}
#content.nimble-mfg-unified .mfg-home-business-head strong {
    display: block;
    color: #133359;
    font-size: 1.1rem;
    font-weight: 765;
    line-height: 1.18;
    overflow-wrap: anywhere;
}
#content.nimble-mfg-unified .mfg-home-business-card > p {
    min-height: 27px;
    margin: 7px 0 6px;
    color: #597492;
    font-size: .69rem;
    line-height: 1.33;
}
#content.nimble-mfg-unified .mfg-home-sales-plot {
    min-width: 0;
    margin-top: 8px;
}
#content.nimble-mfg-unified .mfg-home-sales-plot svg {
    display: block;
    width: 100%;
    max-height: 112px;
    overflow: visible;
}
#content.nimble-mfg-unified .mfg-home-chart-axis {
    stroke: #ccddec;
    stroke-width: 1;
}
#content.nimble-mfg-unified .mfg-home-chart-gridline {
    stroke: #e1ebf8;
    stroke-width: 1;
    stroke-dasharray: 3 5;
}
#content.nimble-mfg-unified .mfg-home-chart-fill {
    fill: rgba(28,139,255,.11);
}
#content.nimble-mfg-unified .mfg-home-chart-line {
    fill: none;
    stroke: #1684fa;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
#content.nimble-mfg-unified .mfg-home-sales-plot circle {
    fill: #1385fa;
    stroke: #fff;
    stroke-width: 1.5;
}
#content.nimble-mfg-unified .mfg-home-chart-labels {
    display: flex;
    justify-content: space-between;
    color: #6d85a0;
    font-size: .61rem;
}
#content.nimble-mfg-unified .mfg-home-chart-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 106px;
    border: 1px dashed #d5e5f7;
    border-radius: 9px;
    padding: 10px;
    background: #f8fbff;
    color: #7088a3;
    text-align: center;
    font-size: .73rem;
}
#content.nimble-mfg-unified .mfg-home-business-card .mfg-ranking-bars {
    gap: 7px;
}
#content.nimble-mfg-unified .mfg-home-business-card .mfg-ranking-label {
    font-size: .66rem;
}
#content.nimble-mfg-unified .mfg-home-business-card .mfg-ranking-track {
    height: 6px;
}
#content.nimble-mfg-unified .mfg-home-business-card .mfg-ranking-revenue {
    font-size: .62rem;
}
#content.nimble-mfg-unified .mfg-home-business-card .mfg-balance-bars {
    gap: 9px;
    margin-top: 8px;
}
#content.nimble-mfg-unified .mfg-home-business-card .mfg-balance-row {
    min-width: 0;
}
#content.nimble-mfg-unified .mfg-home-business-card .mfg-balance-row > div:first-child {
    font-size: .69rem;
}
#content.nimble-mfg-unified .mfg-home-business-card .mfg-pending-invoice,
#content.nimble-mfg-unified .mfg-home-business-card .mfg-outstanding {
    font-size: .67rem;
}
#content.nimble-mfg-unified .mfg-home-fulfillment-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    margin-top: 9px;
}
#content.nimble-mfg-unified .mfg-home-donut {
    width: 108px;
    height: 108px;
    flex: 0 0 108px;
    display: grid;
    place-items: center;
    border-radius: 50%;
}
#content.nimble-mfg-unified .mfg-home-donut > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 77px;
    height: 77px;
    border-radius: 50%;
    background: #fff;
    color: #15365f;
    text-align: center;
}
#content.nimble-mfg-unified .mfg-home-donut strong {
    font-size: 1.3rem;
    line-height: 1.1;
}
#content.nimble-mfg-unified .mfg-home-donut span {
    font-size: .63rem;
}
#content.nimble-mfg-unified .mfg-home-fulfillment-legend {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#content.nimble-mfg-unified .mfg-home-fulfillment-legend > div {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 5px 7px;
    font-size: .64rem;
    line-height: 1.3;
    color: #526d8e;
}
#content.nimble-mfg-unified .mfg-home-legend-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
#content.nimble-mfg-unified .mfg-home-legend-label i {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}
#content.nimble-mfg-unified .mfg-home-fulfillment-legend strong {
    color: #173d67;
    white-space: nowrap;
}

/* Fully navigable, role-filtered real queues (no mockup sample rows). */
#content.nimble-mfg-unified .mfg-home-recent-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
    margin-top: 13px;
}
#content.nimble-mfg-unified .mfg-home-recent-card {
    min-width: 0;
    padding: 11px 13px 12px;
    border: 1px solid var(--home-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--home-shadow);
}
#content.nimble-mfg-unified .mfg-home-recent-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}
#content.nimble-mfg-unified .mfg-home-recent-card > header > div {
    display: flex;
    gap: 8px;
    align-items: center;
}
#content.nimble-mfg-unified .mfg-home-recent-card header .bi {
    color: #1682f0;
}
#content.nimble-mfg-unified .mfg-home-recent-card h3 {
    margin: 0;
    color: #173b63;
    font-size: .8rem;
    font-weight: 740;
}
#content.nimble-mfg-unified .mfg-home-recent-card header a {
    color: #0874e9;
    font-weight: 630;
    font-size: .68rem;
    white-space: nowrap;
}
#content.nimble-mfg-unified .mfg-home-table-scroll {
    width: 100%;
    max-height: 180px;
    overflow: auto;
    border: 1px solid #dbe7f7;
    border-radius: 8px;
}
#content.nimble-mfg-unified .mfg-home-recent-card .table {
    width: 100%;
    min-width: 540px;
    margin: 0;
    font-size: .66rem;
    color: #2e4c69;
    border-color: #e4edf8;
}
#content.nimble-mfg-unified .mfg-home-recent-card .table th {
    background: #ebf4ff;
    --bs-table-bg: #ebf4ff;
    color: #315579;
    padding: 6px 9px;
    font-size: .6rem;
    font-weight: 760;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
}
#content.nimble-mfg-unified .mfg-home-recent-card .table td {
    padding: 5px 9px;
    border-color: #edf3f9;
    vertical-align: middle;
    white-space: nowrap;
}
#content.nimble-mfg-unified .mfg-home-recent-card .btn-sm {
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 7px;
    font-size: .64rem;
    color: #096ccc;
    background: #e8f3ff;
    border-color: #c8def8;
}
#content.nimble-mfg-unified .mfg-home-recent-empty {
    padding: 21px 12px !important;
    background: #f9fbff;
    color: #637c98;
    text-align: center;
    font-size: .72rem;
}
#content.nimble-mfg-unified .mfg-home-status {
    display: inline-flex;
    align-items: center;
    padding: 3px 7px;
    border-radius: 40px;
    background: #e6f2ff;
    color: #075fc3;
    font-size: .61rem;
    font-weight: 680;
}
#content.nimble-mfg-unified :is(.mfg-home-status-submitted,.mfg-home-status-pending) {
    background: #fff2df;
    color: #af6300;
}
#content.nimble-mfg-unified .mfg-home-status-needs_more_information {
    background: #e6f0ff;
    color: #095ec1;
}
#content.nimble-mfg-unified :is(.mfg-home-status-approved,.mfg-home-status-invoiced) {
    background: #f1eaff;
    color: #6a2fc2;
}

/* One compact footer with only authorized portal destinations. */
#content.nimble-mfg-unified .mfg-home-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 13px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--home-border);
    border-radius: 11px;
    box-shadow: var(--home-shadow);
}
#content.nimble-mfg-unified .mfg-home-tools-intro {
    display: flex;
    align-items: center;
    gap: 10px;
}
#content.nimble-mfg-unified .mfg-home-tools-intro > span {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #e8f3ff;
    color: #0b7be8;
    font-size: 1.02rem;
}
#content.nimble-mfg-unified .mfg-home-tools h2 {
    margin: 0;
    color: #13375f;
    font-size: .84rem;
    font-weight: 760;
}
#content.nimble-mfg-unified .mfg-home-tools p {
    margin: 2px 0 0;
    color: #607b96;
    font-size: .69rem;
    line-height: 1.36;
}
#content.nimble-mfg-unified .mfg-home-tools nav {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
#content.nimble-mfg-unified .mfg-home-tools .btn {
    min-height: 31px;
    padding: 6px 10px;
    color: #0869cc;
    background: #f0f7ff;
    border: 1px solid #d4e7fc;
    font-size: .68rem;
    font-weight: 660;
}
#content.nimble-mfg-unified .mfg-home-notifications {
    margin-top: 12px;
    border: 1px solid #d8e7f8;
    border-radius: 10px;
    padding: 11px 13px;
    background: #fff;
    font-size: .74rem;
}
#content.nimble-mfg-unified .mfg-home-notifications summary {
    color: #244c79;
    font-weight: 660;
    cursor: pointer;
}
#content.nimble-mfg-unified .mfg-home-notifications summary .bi {
    margin-right: 8px;
    color: #0d70d8;
}
#content.nimble-mfg-unified .mfg-home-notifications > div {
    display: flex;
    flex-direction: column;
    margin-top: 8px;
    gap: 6px;
}
#content.nimble-mfg-unified .mfg-home-notifications a {
    display: flex;
    gap: 9px;
    justify-content: space-between;
    padding: 6px 9px;
    border: 1px solid #e2ebf7;
    border-radius: 7px;
    text-decoration: none;
    color: #1e518b;
}
#content.nimble-mfg-unified .mfg-home-scope-info {
    margin-top: 12px;
    border: 1px solid #d4e7fa;
    border-radius: 10px;
    padding: 12px 14px;
    background: #f3f8ff;
    color: #355e86;
    font-size: .78rem;
}

/* The same Clinic two-column login card and full Nimble 2.0 logo asset.
 * No auth handlers, credentials, endpoints or form data are changed. */
.portal-auth .auth-shell {
    background: #edf4fe;
}
.portal-auth .auth-card {
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid #d9e6f5;
    background: #fff;
    box-shadow: 0 18px 50px rgba(8, 39, 86, .12);
}
.portal-auth .auth-brand {
    color: #fff;
    background-color: #082445;
    background-image:
        linear-gradient(110deg,rgba(2,20,48,.42),rgba(2,20,48,.18)),
        url("/assets/nimble-login-background.avif");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.portal-auth .auth-brand .auth-logo {
    display: flex;
    justify-content: flex-start;
    max-width: 340px;
    margin: 0 0 24px;
}
.portal-auth .auth-brand .auth-logo img {
    display: block;
    width: 100%;
    max-width: 340px;
    height: auto;
    object-fit: contain;
    object-position: left;
    filter: drop-shadow(0 3px 7px rgba(0,0,0,.1));
}
.portal-auth .auth-brand > div > h1 {
    color: #fff;
    font-size: clamp(1.55rem, 2.4vw, 2.2rem);
    font-weight: 745;
    line-height: 1.26;
    letter-spacing: -.025em;
}
.portal-auth .auth-brand > div > p {
    color: #e2edff;
    font-size: .88rem;
    line-height: 1.64;
}
.portal-auth .auth-brand .badge {
    color: #d8efff;
    background: rgba(227, 241, 255, .13) !important;
    border: 1px solid rgba(217, 236, 255, .27);
    font-size: .69rem;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.portal-auth .auth-feature {
    color: #e7f0ff;
    padding: 14px;
    border: 1px solid rgba(220,236,255,.22);
    border-radius: 13px;
    background: rgba(230,241,255,.07);
}
.portal-auth .auth-feature .bi {
    font-size: 1.15rem;
    color: #57c8f5;
}
.portal-auth .auth-feature small {
    font-size: .74rem;
    line-height: 1.5;
    color: #d8e8fc;
}
.portal-auth .auth-form-wrap h2 {
    color: #0c315f;
    font-size: 1.4rem;
    font-weight: 750;
}
.portal-auth .auth-form-wrap .form-label {
    color: #2b4a6b;
    font-size: .8rem;
    font-weight: 660;
}
.portal-auth .auth-form-wrap .form-control {
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 9px;
    border: 1px solid #c6daf0;
    font-size: .85rem;
}
.portal-auth .auth-form-wrap .form-control:focus {
    outline: none;
    border-color: #1180e7;
    box-shadow: 0 0 0 3px rgba(9,118,231,.13);
}
.portal-auth .auth-form-wrap .btn-primary {
    min-height: 43px;
    border: 1px solid #0e73de;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(110deg,#1082ef,#075dc9);
}
.portal-auth .auth-form-wrap .btn-outline-primary {
    border: 1px solid #c6dcf3;
    background: #f1f7ff;
    color: #0864c2;
    border-radius: 9px;
}
.portal-auth .auth-form-wrap .auth-utility-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
}
.portal-auth .auth-form-wrap :is(.btn,.form-control):focus-visible {
    outline: 2px solid #0b76db;
    outline-offset: 2px;
}

@media (max-width: 1500px) {
    #content.nimble-mfg-unified .mfg-home-metrics-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    #content.nimble-mfg-unified .mfg-home-business-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media (max-width: 1199.98px) {
    #content.nimble-mfg-unified .mfg-home-quick-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    #content.nimble-mfg-unified .mfg-home-recent-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 799.98px) {
    #content.nimble-mfg-unified .mfg-home-hero {
        align-items: flex-start;
        padding: 20px;
    }
    #content.nimble-mfg-unified .mfg-home-promise {
        display: none;
    }
    #content.nimble-mfg-unified .mfg-home-hero-copy {
        max-width: 100%;
    }
    #content.nimble-mfg-unified .mfg-home-hero-mark {
        right: -60px;
    }
    #content.nimble-mfg-unified .mfg-home-hero-dots {
        right: 0;
    }
    #content.nimble-mfg-unified .mfg-home-metrics-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media (max-width: 575.98px) {
    #content.nimble-mfg-unified .mfg-home-hero {
        min-height: 171px;
        padding: 18px;
    }
    #content.nimble-mfg-unified .mfg-home-quick-grid,
    #content.nimble-mfg-unified .mfg-home-business-grid {
        grid-template-columns: 1fr;
    }
    #content.nimble-mfg-unified .mfg-home-metrics-grid {
        grid-template-columns: 1fr;
    }
    #content.nimble-mfg-unified .mfg-home-section-heading .mfg-home-period {
        margin-left: 0;
        width: 100%;
    }
    #content.nimble-mfg-unified .mfg-home-fulfillment-body {
        justify-content: flex-start;
    }
    #content.nimble-mfg-unified .mfg-home-donut {
        width: 104px;
        height: 104px;
        flex-basis: 104px;
    }
    .portal-auth .auth-form-wrap .auth-utility-actions {
        grid-template-columns: 1fr;
    }
}
@media (prefers-reduced-motion: reduce) {
    #content.nimble-mfg-unified .mfg-home-action,
    #content.nimble-mfg-unified .mfg-home-metric {
        transition: none;
    }
}
