@import '_content/Egov.FOD.UIComponents/Egov.FOD.UIComponents.dyvbef9q5h.bundle.scp.css';

/* /Components/Layout/FooterBar.razor.rz.scp.css */
.oda-footer[b-qhbv84ywws] {
    background: #f8f9fa;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.oda-footer__partners[b-qhbv84ywws] {
    max-width: 1280px;
    margin: 0 auto;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.oda-footer__gov-logo[b-qhbv84ywws] {
    height: 36px;
    width: auto;
}

.oda-footer__digital-logo[b-qhbv84ywws] {
    height: 28px;
    width: auto;
}

.oda-footer__legal[b-qhbv84ywws] {
    background: #1f2937;
    color: #d1d5db;
    font-size: 13px;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

/* Allow the long copyright span to shrink and wrap inside the flex row */
.oda-footer__legal > span[b-qhbv84ywws] {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.oda-footer__link[b-qhbv84ywws] {
    color: #d1d5db;
    text-decoration: none;
}

.oda-footer__link:hover[b-qhbv84ywws] {
    color: #fff;
    text-decoration: underline;
}

@media (max-width: 600px) {
    .oda-footer__partners[b-qhbv84ywws],
    .oda-footer__legal[b-qhbv84ywws] {
        padding-left: 16px;
        padding-right: 16px;
    }
}
/* /Components/Layout/HeaderBar.razor.rz.scp.css */
/* HeaderBar wraps FodHeader. Almost all chrome (pre-header, language switcher,
   profile dropdown, mobile drawer, navigation links) is styled by FodHeader.
   Only the bits we project into FodHeader's slots need styling here.

   NOTE: brand-image styling lives in `wwwroot/app.css` (`.oda-brand__logo`)
   because elements inside `<LogoTemplate>` are rendered into FodHeader's
   internal DOM where scoped CSS does not always reach them. */

/* Generic header icon button — used for the profile shortcut next to the bell.
   Same dimensions as `.oda-bell-wrapper` so the action row stays visually aligned. */
.oda-action-icon[b-33tpwcz84y] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #4b5563;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.oda-action-icon:hover[b-33tpwcz84y] {
    background: #f3f4f6;
    color: #1f2937;
}

[b-33tpwcz84y] .oda-action-icon svg {
    width: 20px;
    height: 20px;
}

/* NotificationBell slot — circular icon button inside FodHeader's ActionsContent.
   The bell component renders with `.exp-sidebar__nav-item` (legacy class name);
   flatten those styles when used in this header context. */
.oda-bell-wrapper[b-33tpwcz84y] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #4b5563;
    transition: background 0.15s, color 0.15s;
    position: relative;
}

.oda-bell-wrapper:hover[b-33tpwcz84y] {
    background: #f3f4f6;
    color: #1f2937;
}

[b-33tpwcz84y] .oda-bell-wrapper .exp-sidebar__nav-item,
[b-33tpwcz84y] .oda-bell-wrapper a {
    padding: 0;
    background: none;
    color: inherit;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

[b-33tpwcz84y] .oda-bell-wrapper .exp-sidebar__nav-item:hover {
    background: none;
}

[b-33tpwcz84y] .oda-bell-wrapper .notification-bell {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

[b-33tpwcz84y] .oda-bell-wrapper .notification-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: #dc2626;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ── Shell ── */
.oda-shell[b-8c3f1v5hjl] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: #f8f9fa;
    /* Defensive: clip horizontal overflow without creating a scroll context
       (so `position: sticky` on the header still works). */
    overflow-x: clip;
    max-width: 100vw;
}

/* ── Main content area ── */
.oda-main[b-8c3f1v5hjl] {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #fff;
}

[b-8c3f1v5hjl] .oda-content-header {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 24px 24px 16px;
    border-bottom: 1px solid #e5e7eb;
}

[b-8c3f1v5hjl] .oda-content-header__title {
    font-size: 22px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
    line-height: 1.4;
    outline: none;
}

[b-8c3f1v5hjl] .oda-content-body {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 32px 24px;
    flex: 1;
}

@media (max-width: 900px) {
    [b-8c3f1v5hjl] .oda-content-header,
    [b-8c3f1v5hjl] .oda-content-body {
        padding-left: 16px;
        padding-right: 16px;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-7v6kp4vl3v],
.components-reconnect-repeated-attempt-visible[b-7v6kp4vl3v],
.components-reconnect-failed-visible[b-7v6kp4vl3v],
.components-pause-visible[b-7v6kp4vl3v],
.components-resume-failed-visible[b-7v6kp4vl3v],
.components-rejoining-animation[b-7v6kp4vl3v] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-7v6kp4vl3v],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-7v6kp4vl3v],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-7v6kp4vl3v],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-7v6kp4vl3v],
#components-reconnect-modal.components-reconnect-retrying[b-7v6kp4vl3v],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-7v6kp4vl3v],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-7v6kp4vl3v],
#components-reconnect-modal.components-reconnect-failed[b-7v6kp4vl3v],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-7v6kp4vl3v] {
    display: block;
}


#components-reconnect-modal[b-7v6kp4vl3v] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-7v6kp4vl3v 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-7v6kp4vl3v 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-7v6kp4vl3v 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-7v6kp4vl3v]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-7v6kp4vl3v 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-7v6kp4vl3v {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-7v6kp4vl3v {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-7v6kp4vl3v {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-7v6kp4vl3v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-7v6kp4vl3v] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-7v6kp4vl3v] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-7v6kp4vl3v] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-7v6kp4vl3v] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-7v6kp4vl3v] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-7v6kp4vl3v] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-7v6kp4vl3v 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-7v6kp4vl3v] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-7v6kp4vl3v {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Aplicatii.razor.rz.scp.css */
/* Filters */
.aplicatii__filters[b-iy2j542mmk] { display: flex; gap: 12px; margin-bottom: 20px; }
.aplicatii__filter[b-iy2j542mmk] {
    padding: 8px 12px; border: 1px solid #d0d5dd; border-radius: 6px;
    font-size: 13px; background: #fff; min-width: 180px;
}

/* Empty state */
.aplicatii-empty[b-iy2j542mmk] { text-align: center; padding: 48px; color: #9ca3af; }
.aplicatii-empty h3[b-iy2j542mmk] { margin: 12px 0 4px; color: #374151; font-size: 1.25rem; }
.aplicatii-empty p[b-iy2j542mmk] { color: #6b7280; margin: 0 0 24px; font-size: 14px; }

/* Card grid */
.aplicatii__grid[b-iy2j542mmk] { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 16px; }

.aplicatii__card[b-iy2j542mmk] {
    border: 1px solid #e5e7eb; border-radius: 10px;
    padding: 16px; background: #fff;
    transition: box-shadow 0.15s; border-left: 4px solid #e5e7eb;
}
.aplicatii__card:hover[b-iy2j542mmk] { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.aplicatii__card--success[b-iy2j542mmk] { border-left-color: #16a34a; }
.aplicatii__card--info[b-iy2j542mmk]    { border-left-color: #2563eb; }
.aplicatii__card--warning[b-iy2j542mmk] { border-left-color: #f59e0b; }
.aplicatii__card--danger[b-iy2j542mmk]  { border-left-color: #dc2626; }
.aplicatii__card--neutral[b-iy2j542mmk] { border-left-color: #9ca3af; }

.aplicatii__card-header[b-iy2j542mmk] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }

.aplicatii__reg[b-iy2j542mmk] { font-size: 12px; font-family: 'Consolas', monospace; color: #6b7280; }

.aplicatii__card-title[b-iy2j542mmk] { font-size: 15px; font-weight: 600; color: #1d2939; margin: 0 0 4px; }
.aplicatii__card-objective[b-iy2j542mmk] { font-size: 12px; color: #6b7280; margin: 0 0 8px; }

.aplicatii__card-meta[b-iy2j542mmk] { display: flex; gap: 12px; font-size: 12px; color: #6b7280; margin-bottom: 12px; flex-wrap: wrap; }
.aplicatii__deadline[b-iy2j542mmk] { font-weight: 500; }
.aplicatii__deadline--urgent[b-iy2j542mmk] { color: #dc2626; font-weight: 600; }

/* Pipeline */
.aplicatii__pipeline[b-iy2j542mmk] { display: flex; gap: 4px; margin-bottom: 8px; }
.aplicatii__stage[b-iy2j542mmk] { display: flex; flex-direction: column; align-items: center; flex: 1; }
.aplicatii__stage-dot[b-iy2j542mmk] {
    width: 12px; height: 12px; border-radius: 50%;
    margin-bottom: 4px; background: #e5e7eb;
}
.aplicatii__stage span[b-iy2j542mmk] { font-size: 10px; color: #9ca3af; text-align: center; }
.aplicatii__stage--done .aplicatii__stage-dot[b-iy2j542mmk] { background: #16a34a; }
.aplicatii__stage--done span[b-iy2j542mmk] { color: #16a34a; }
.aplicatii__stage--active .aplicatii__stage-dot[b-iy2j542mmk] { background: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.2); }
.aplicatii__stage--active span[b-iy2j542mmk] { color: #2563eb; font-weight: 600; }

.aplicatii__estimate[b-iy2j542mmk] { font-size: 11px; color: #6b7280; font-style: italic; margin: 0 0 8px; }

/* Draft progress */
.aplicatii__draft-bar-wrap[b-iy2j542mmk] { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.aplicatii__draft-bar[b-iy2j542mmk] { flex: 1; height: 6px; background: #e5e7eb; border-radius: 3px; overflow: hidden; }
.aplicatii__draft-fill[b-iy2j542mmk] { height: 100%; background: #2563eb; border-radius: 3px; }
.aplicatii__draft-bar-wrap span[b-iy2j542mmk] { font-size: 12px; color: #6b7280; }

/* Actions */
.aplicatii__card-actions[b-iy2j542mmk] { display: flex; gap: 8px; margin-top: 4px; }
/* /Components/Pages/ApplicationDecision.razor.rz.scp.css */
.decision-page[b-59sxywiclp] { max-width: 700px; margin: 0 auto; }
.decision-page__pending[b-59sxywiclp] { text-align: center; padding: 48px; }

.decision-page__header[b-59sxywiclp] { text-align: center; padding: 32px; border-radius: 12px; margin-bottom: 24px; }
.decision-page__header--approved[b-59sxywiclp] { background: #f0fdf4; }
.decision-page__header--conditional[b-59sxywiclp] { background: #fffbeb; }
.decision-page__header--rejected[b-59sxywiclp] { background: #fef2f2; }
.decision-page__header h1[b-59sxywiclp] { font-size: 20px; margin: 12px 0 8px; color: #1d2939; }
.decision-page__amount[b-59sxywiclp] {
    font-size: 32px; font-weight: 800; color: #1d2939;
    font-family: 'Consolas', monospace; margin-top: 8px;
}

/* `.card.card--muted` provides background/border/radius. */
.decision-page__next-steps[b-59sxywiclp], .decision-page__conditions[b-59sxywiclp], .decision-page__reason[b-59sxywiclp], .decision-page__alternatives[b-59sxywiclp] {
    margin-bottom: 16px;
}
.decision-page__next-steps h3[b-59sxywiclp], .decision-page__conditions h3[b-59sxywiclp], .decision-page__reason h3[b-59sxywiclp], .decision-page__alternatives h3[b-59sxywiclp] {
    font-size: 15px; margin: 0 0 8px; color: #1d2939;
}
.decision-page__next-steps ol[b-59sxywiclp], .decision-page__alternatives ul[b-59sxywiclp] { padding-left: 20px; margin: 0; }
.decision-page__next-steps li[b-59sxywiclp], .decision-page__alternatives li[b-59sxywiclp] {
    font-size: 14px; color: #374151; padding: 4px 0; line-height: 1.5;
}
.decision-page__conditions-text[b-59sxywiclp] { font-size: 14px; color: #374151; line-height: 1.5; white-space: pre-wrap; }
.decision-page__reason p[b-59sxywiclp] { font-size: 14px; color: #374151; line-height: 1.5; margin: 0; }

.decision-page__meta[b-59sxywiclp] {
    display: flex; gap: 24px; font-size: 13px; color: #6b7280;
    padding: 12px 0; border-top: 1px solid #e5e7eb; margin-bottom: 16px;
}

.decision-page__stats[b-59sxywiclp] {
    margin-bottom: 16px;
}
.decision-page__stats h3[b-59sxywiclp] { font-size: 14px; margin: 0 0 12px; color: #6b7280; }
.decision-page__stats-grid[b-59sxywiclp] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; text-align: center; }
.decision-page__stat-value[b-59sxywiclp] { display: block; font-size: 24px; font-weight: 700; color: #1d2939; }
.decision-page__stat-label[b-59sxywiclp] { font-size: 12px; color: #6b7280; }

.decision-page__actions[b-59sxywiclp] {
    display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px;
}
.decision-page__messages[b-59sxywiclp] { margin-top: 24px; }
.decision-page__messages h3[b-59sxywiclp] { font-size: 15px; margin: 0 0 12px; color: #1d2939; }
/* /Components/Pages/ApplicationDetails.razor.rz.scp.css */
/* ── Empty state ── */
.appdet-empty[b-rsc5d5coi6] {
    text-align: center;
    padding: 64px 24px;
    color: #6b7280;
}
.appdet-empty h3[b-rsc5d5coi6] { color: #374151; margin: 0 0 8px; }
.appdet-empty p[b-rsc5d5coi6] { margin: 0 0 16px; font-size: 14px; }

/* ── Container ── */
.appdet[b-rsc5d5coi6] { display: flex; flex-direction: column; gap: 20px; }

/* ── Back link ── */
.appdet__back a[b-rsc5d5coi6] {
    font-size: 13px;
    color: #2563eb;
    text-decoration: none;
    cursor: pointer;
}
.appdet__back a:hover[b-rsc5d5coi6] { text-decoration: underline; }

/* ── Header ── */
.appdet__header[b-rsc5d5coi6] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    padding: 20px 24px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #9ca3af;
}
.appdet__header--neutral[b-rsc5d5coi6] { border-left-color: #9ca3af; }
.appdet__header--info[b-rsc5d5coi6]    { border-left-color: #2563eb; }
.appdet__header--warning[b-rsc5d5coi6] { border-left-color: #f59e0b; }
.appdet__header--success[b-rsc5d5coi6] { border-left-color: #16a34a; }
.appdet__header--danger[b-rsc5d5coi6]  { border-left-color: #dc2626; }

.appdet__header-main[b-rsc5d5coi6] { flex: 1; min-width: 0; }
.appdet__header-top[b-rsc5d5coi6] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.appdet__reg[b-rsc5d5coi6] {
    font-family: 'Consolas', monospace;
    font-size: 13px;
    color: #6b7280;
}
.appdet__title[b-rsc5d5coi6] {
    margin: 0 0 4px;
    font-size: 22px;
    font-weight: 600;
    color: #1d2939;
    line-height: 1.3;
}
.appdet__objective[b-rsc5d5coi6] {
    margin: 0 0 4px;
    font-size: 14px;
    color: #4b5563;
    font-weight: 500;
}
.appdet__applicant[b-rsc5d5coi6] {
    margin: 0;
    font-size: 14px;
    color: #6b7280;
}
.appdet__header-actions[b-rsc5d5coi6] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: flex-start;
    justify-content: flex-end;
}
.appdet__export-btn[b-rsc5d5coi6] {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: #fff;
    border: 1px solid #16a34a;
    border-radius: 6px;
    color: #16a34a;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.15s, color 0.15s;
}
.appdet__export-btn:hover[b-rsc5d5coi6] {
    background: #16a34a;
    color: #fff;
}

/* ── Pipeline ── */
.appdet__pipeline[b-rsc5d5coi6] {
    display: flex;
    justify-content: space-between;
    padding: 16px 24px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    gap: 8px;
    position: relative;
}
.appdet__stage[b-rsc5d5coi6] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    position: relative;
}
.appdet__stage:not(:last-child)[b-rsc5d5coi6]::after {
    content: '';
    position: absolute;
    top: 14px;
    left: calc(50% + 18px);
    right: calc(-50% + 18px);
    height: 2px;
    background: #e5e7eb;
    z-index: 0;
}
.appdet__stage--done:not(:last-child)[b-rsc5d5coi6]::after { background: #16a34a; }
.appdet__stage-dot[b-rsc5d5coi6] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #e5e7eb;
    color: #9ca3af;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 12px;
    z-index: 1;
    position: relative;
}
.appdet__stage--done .appdet__stage-dot[b-rsc5d5coi6] { background: #16a34a; color: #fff; }
.appdet__stage--active .appdet__stage-dot[b-rsc5d5coi6] {
    background: #2563eb;
    color: #fff;
    box-shadow: 0 0 0 4px #dbeafe;
}
.appdet__stage span[b-rsc5d5coi6] {
    color: #6b7280;
    font-weight: 500;
}
.appdet__stage--done span[b-rsc5d5coi6] { color: #166534; }
.appdet__stage--active span[b-rsc5d5coi6] { color: #1d4ed8; font-weight: 600; }

/* ── Tabs ── */
.appdet__tabs[b-rsc5d5coi6] {
    display: flex;
    gap: 2px;
    border-bottom: 1px solid #e5e7eb;
    overflow-x: auto;
}
.appdet__tab[b-rsc5d5coi6] {
    padding: 10px 18px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-size: 14px;
    color: #6b7280;
    font-weight: 500;
    white-space: nowrap;
    transition: all 0.15s;
}
.appdet__tab:hover[b-rsc5d5coi6] { color: #374151; background: #f9fafb; }
.appdet__tab--active[b-rsc5d5coi6] {
    color: #2563eb;
    border-bottom-color: #2563eb;
    font-weight: 600;
}

/* ── Content ── */
.appdet__content[b-rsc5d5coi6] { padding: 4px 0; }
.appdet__empty[b-rsc5d5coi6] {
    text-align: center;
    padding: 48px 24px;
    color: #9ca3af;
    font-style: italic;
}

/* ── KPI grid ── */
.appdet__kpi-grid[b-rsc5d5coi6] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}
.appdet__kpi[b-rsc5d5coi6] {
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.appdet__kpi--urgent[b-rsc5d5coi6] { border-color: #fecaca; background: #fef2f2; }
.appdet__kpi-label[b-rsc5d5coi6] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #9ca3af;
    font-weight: 500;
}
.appdet__kpi-value[b-rsc5d5coi6] {
    font-size: 15px;
    font-weight: 600;
    color: #1d2939;
}
.appdet__kpi-value--neutral[b-rsc5d5coi6] { color: #6b7280; }
.appdet__kpi-value--info[b-rsc5d5coi6]    { color: #1d4ed8; }
.appdet__kpi-value--warning[b-rsc5d5coi6] { color: #b45309; }
.appdet__kpi-value--success[b-rsc5d5coi6] { color: #166534; }
.appdet__kpi-value--danger[b-rsc5d5coi6]  { color: #991b1b; }

/* ── Sections ── */
.appdet__section[b-rsc5d5coi6] {
    margin-top: 20px;
    padding: 16px 20px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
}
.appdet__section h3[b-rsc5d5coi6] {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 600;
    color: #1d2939;
}
/* Container pentru HTML-ul Quill (CallDescription). FrontOffice nu încarcă
   foaia de stiluri Quill, așa că reproducem aici minimul: spacing pentru
   titluri/listă/paragraf și fallback-uri pentru ql-align-* (singurele clase
   Quill folosite în descrieri). */
.appdet__description[b-rsc5d5coi6] {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #374151;
}

.appdet__description h1[b-rsc5d5coi6],
.appdet__description h2[b-rsc5d5coi6],
.appdet__description h3[b-rsc5d5coi6],
.appdet__description h4[b-rsc5d5coi6] {
    color: #0f172a;
    font-weight: 600;
    line-height: 1.3;
    margin: 16px 0 8px;
}

.appdet__description h1[b-rsc5d5coi6] { font-size: 1.25rem; }
.appdet__description h2[b-rsc5d5coi6] { font-size: 1.15rem; }
.appdet__description h3[b-rsc5d5coi6] { font-size: 1.05rem; }
.appdet__description h4[b-rsc5d5coi6] { font-size: 1rem; }

.appdet__description h1:first-child[b-rsc5d5coi6],
.appdet__description h2:first-child[b-rsc5d5coi6],
.appdet__description h3:first-child[b-rsc5d5coi6],
.appdet__description h4:first-child[b-rsc5d5coi6] {
    margin-top: 0;
}

.appdet__description p[b-rsc5d5coi6] {
    margin: 0 0 8px;
}

.appdet__description ol[b-rsc5d5coi6],
.appdet__description ul[b-rsc5d5coi6] {
    margin: 4px 0 12px;
    padding-left: 24px;
}

.appdet__description li[b-rsc5d5coi6] {
    margin-bottom: 4px;
}

.appdet__description strong[b-rsc5d5coi6] {
    color: #1d2939;
    font-weight: 600;
}

/* Fallback pentru clasele de aliniere ale Quill — fără Quill CSS, span-urile
   ql-align-center sunt invizibile semantic dar pe block-uri (h1/p/li) trebuie
   să respecte alinierea dorită. */
.appdet__description .ql-align-center[b-rsc5d5coi6] { text-align: center; }
.appdet__description .ql-align-right[b-rsc5d5coi6]  { text-align: right; }
.appdet__description .ql-align-justify[b-rsc5d5coi6] { text-align: justify; }

/* Span-urile ql-ui sunt markeri interni Quill (gol în output) — îi facem
   inline ca să nu producă layout shift. */
.appdet__description .ql-ui[b-rsc5d5coi6] {
    display: inline;
}

/* ── Alert ── */
.appdet__alert[b-rsc5d5coi6] {
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 14px;
    margin-top: 16px;
}
.appdet__alert--warning[b-rsc5d5coi6] {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
}
.appdet__alert p[b-rsc5d5coi6] { margin: 6px 0 0; }

/* ── Quality tab ── */
.appdet__quality[b-rsc5d5coi6] { display: flex; flex-direction: column; gap: 16px; }
.appdet__quality-overall[b-rsc5d5coi6] {
    padding: 24px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    border-left: 6px solid #9ca3af;
    display: flex;
    align-items: center;
    gap: 24px;
}
.appdet__quality-overall--good[b-rsc5d5coi6] { border-left-color: #16a34a; background: #f0fdf4; }
.appdet__quality-overall--ok[b-rsc5d5coi6] { border-left-color: #2563eb; background: #eff6ff; }
.appdet__quality-overall--warn[b-rsc5d5coi6] { border-left-color: #f59e0b; background: #fffbeb; }
.appdet__quality-overall--missing[b-rsc5d5coi6] { border-left-color: #dc2626; background: #fef2f2; }
.appdet__quality-score[b-rsc5d5coi6] {
    font-size: 42px;
    font-weight: 700;
    color: #1d2939;
    line-height: 1;
}
.appdet__quality-score span[b-rsc5d5coi6] { font-size: 22px; color: #6b7280; margin-left: 4px; }
.appdet__quality-overall-label[b-rsc5d5coi6] {
    font-size: 14px;
    color: #374151;
    font-weight: 500;
}

.appdet__quality-grid[b-rsc5d5coi6] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
}
.appdet__quality-card[b-rsc5d5coi6] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 14px 16px;
    border-top: 3px solid #9ca3af;
}
.appdet__quality-card--good[b-rsc5d5coi6] { border-top-color: #16a34a; }
.appdet__quality-card--ok[b-rsc5d5coi6] { border-top-color: #2563eb; }
.appdet__quality-card--warn[b-rsc5d5coi6] { border-top-color: #f59e0b; }
.appdet__quality-card--missing[b-rsc5d5coi6] { border-top-color: #dc2626; }
.appdet__quality-card--na[b-rsc5d5coi6] { border-top-color: #d1d5db; opacity: 0.7; }

.appdet__quality-head[b-rsc5d5coi6] {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-bottom: 8px;
}
.appdet__quality-head strong[b-rsc5d5coi6] {
    font-size: 13px; color: #1d2939; font-weight: 600;
}
.appdet__quality-card-score[b-rsc5d5coi6] {
    font-size: 14px; font-weight: 700; color: #1f2937;
}
.appdet__quality-bar[b-rsc5d5coi6] {
    height: 6px; background: #f3f4f6; border-radius: 3px; overflow: hidden;
    margin-bottom: 8px;
}
.appdet__quality-bar-fill[b-rsc5d5coi6] {
    height: 100%;
    background: #9ca3af;
    transition: width 0.3s;
}
.appdet__quality-card--good .appdet__quality-bar-fill[b-rsc5d5coi6] { background: #16a34a; }
.appdet__quality-card--ok .appdet__quality-bar-fill[b-rsc5d5coi6] { background: #2563eb; }
.appdet__quality-card--warn .appdet__quality-bar-fill[b-rsc5d5coi6] { background: #f59e0b; }
.appdet__quality-card--missing .appdet__quality-bar-fill[b-rsc5d5coi6] { background: #dc2626; }
.appdet__quality-details[b-rsc5d5coi6] {
    margin: 0;
    font-size: 12px;
    color: #6b7280;
    line-height: 1.4;
}

.appdet__quality-suggestions[b-rsc5d5coi6] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 16px 20px;
}
.appdet__quality-suggestions h4[b-rsc5d5coi6] {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 600;
    color: #1d2939;
}
.appdet__quality-suggestions ul[b-rsc5d5coi6] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.appdet__quality-suggestion[b-rsc5d5coi6] {
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.45;
    border-left: 3px solid #9ca3af;
    background: #f9fafb;
    color: #374151;
}
.appdet__quality-suggestion--info[b-rsc5d5coi6] { border-left-color: #2563eb; background: #eff6ff; color: #1e3a8a; }
.appdet__quality-suggestion--warning[b-rsc5d5coi6] { border-left-color: #f59e0b; background: #fffbeb; color: #92400e; }
.appdet__quality-suggestion--danger[b-rsc5d5coi6] { border-left-color: #dc2626; background: #fef2f2; color: #991b1b; }

.appdet__quality-no-suggestions[b-rsc5d5coi6] {
    text-align: center;
    color: #166534;
    background: #f0fdf4;
    padding: 12px;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    font-size: 13px;
    margin: 0;
}

/* ── Comparison widget ── */
.appdet__comparison[b-rsc5d5coi6] {
    margin-top: 20px;
    padding: 18px 22px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    border-left: 4px solid #9ca3af;
}
.appdet__comparison--early[b-rsc5d5coi6]    { border-left-color: #16a34a; background: #f0fdf4; }
.appdet__comparison--ontrack[b-rsc5d5coi6]  { border-left-color: #2563eb; background: #eff6ff; }
.appdet__comparison--late[b-rsc5d5coi6]     { border-left-color: #f59e0b; background: #fffbeb; }
.appdet__comparison h3[b-rsc5d5coi6] { margin: 0 0 8px; font-size: 15px; font-weight: 600; color: #1d2939; }
.appdet__comparison-text[b-rsc5d5coi6] { margin: 0 0 14px; font-size: 14px; color: #374151; line-height: 1.5; }
.appdet__comparison-bars[b-rsc5d5coi6] { margin: 12px 0; }
.appdet__comparison-bar-track[b-rsc5d5coi6] {
    position: relative;
    height: 8px;
    background: #e5e7eb;
    border-radius: 4px;
    margin-bottom: 12px;
}
.appdet__comparison-mark[b-rsc5d5coi6] {
    position: absolute;
    top: -4px;
    width: 4px;
    height: 16px;
    border-radius: 2px;
    transform: translateX(-50%);
}
.appdet__comparison-mark--avg[b-rsc5d5coi6]    { background: #6b7280; }
.appdet__comparison-mark--median[b-rsc5d5coi6] { background: #2563eb; }
.appdet__comparison-mark--you[b-rsc5d5coi6]    { background: #f59e0b; height: 20px; top: -6px; width: 6px; }
.appdet__comparison-legend[b-rsc5d5coi6] {
    display: flex; flex-wrap: wrap; gap: 14px;
    font-size: 12px; color: #4b5563;
}
.appdet__comparison-legend-item[b-rsc5d5coi6] { display: inline-flex; align-items: center; gap: 6px; }
.appdet__comparison-dot[b-rsc5d5coi6] {
    display: inline-block;
    width: 10px; height: 10px; border-radius: 2px;
}
.appdet__comparison-dot--avg[b-rsc5d5coi6]    { background: #6b7280; }
.appdet__comparison-dot--median[b-rsc5d5coi6] { background: #2563eb; }
.appdet__comparison-dot--you[b-rsc5d5coi6]    { background: #f59e0b; }
.appdet__comparison-meta[b-rsc5d5coi6] {
    margin: 8px 0 0;
    font-size: 11px;
    color: #9ca3af;
    font-style: italic;
}

/* ── Form preview ── */
.appdet__form-section[b-rsc5d5coi6] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 16px;
}
.appdet__form-section:last-child[b-rsc5d5coi6] { margin-bottom: 0; }
.appdet__form-section-title[b-rsc5d5coi6] {
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 16px;
}
.appdet__form-grid[b-rsc5d5coi6] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.appdet__form-item[b-rsc5d5coi6] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.appdet__form-item:has(.appdet__form-value--budget)[b-rsc5d5coi6] {
    grid-column: 1 / -1;
}
.appdet__form-label[b-rsc5d5coi6] {
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
}
.appdet__form-value[b-rsc5d5coi6] {
    font-size: 14px;
    color: #1d2939;
    word-break: break-word;
    /* `pre-line` păstrează break-urile (\n) puse de FormatTrainingsValue când lista
       de training-uri are mai multe rânduri, fără să rupă wrap-ul natural pe rândul individual. */
    white-space: pre-line;
}
.appdet__form-value--budget[b-rsc5d5coi6] {
    width: 100%;
}

/* ── Tabel read-only în detaliile aplicației ── */
.appdet__form-item--full[b-rsc5d5coi6] {
    grid-column: 1 / -1;
}

.appdet__form-value--table[b-rsc5d5coi6] {
    width: 100%;
    overflow-x: auto;
}

.appdet__table[b-rsc5d5coi6] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.appdet__table th[b-rsc5d5coi6],
.appdet__table td[b-rsc5d5coi6] {
    padding: 8px 10px;
    border: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: top;
}

.appdet__table thead th[b-rsc5d5coi6] {
    background: #f9fafb;
    font-weight: 600;
    color: #1d2939;
}

.appdet__table-index[b-rsc5d5coi6] {
    background: #f9fafb;
    color: #6b7280;
    text-align: center;
    width: 40px;
}

.appdet__table-section-header > td[b-rsc5d5coi6] {
    background: #e0e7ff;
    color: #1e3a8a;
    font-weight: 600;
}
.appdet__form-actions[b-rsc5d5coi6] {
    margin-top: 16px;
    display: flex;
    justify-content: flex-end;
}

/* ── Documents ── */
.appdet__docs[b-rsc5d5coi6] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.appdet__doc[b-rsc5d5coi6] {
    display: flex;
    gap: 14px;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    align-items: center;
}
.appdet__doc-icon[b-rsc5d5coi6] {
    width: 40px;
    height: 40px;
    background: #eff6ff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.appdet__doc-info[b-rsc5d5coi6] { flex: 1; min-width: 0; }
.appdet__doc-name[b-rsc5d5coi6] {
    display: block;
    font-size: 14px;
    color: #1d2939;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.appdet__doc-meta[b-rsc5d5coi6] {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: #9ca3af;
}
.appdet__doc-field[b-rsc5d5coi6] {
    background: #f3f4f6;
    padding: 1px 6px;
    border-radius: 4px;
    font-family: 'Consolas', monospace;
    font-size: 11px;
    color: #6b7280;
}
.appdet__doc-actions[b-rsc5d5coi6] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}
.appdet__doc-btn[b-rsc5d5coi6] {
    font-size: 12px;
    color: #2563eb;
    text-decoration: none;
    padding: 4px 10px;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
}
.appdet__doc-btn:hover[b-rsc5d5coi6] { background: #f3f4f6; }

/* ── Decision ── */
.appdet__decision[b-rsc5d5coi6] {
    padding: 20px 24px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #9ca3af;
}
.appdet__decision--green[b-rsc5d5coi6] { border-left-color: #16a34a; background: #f0fdf4; }
.appdet__decision--red[b-rsc5d5coi6] { border-left-color: #dc2626; background: #fef2f2; }
.appdet__decision--yellow[b-rsc5d5coi6] { border-left-color: #f59e0b; background: #fffbeb; }

.appdet__decision-header[b-rsc5d5coi6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.appdet__decision-header h3[b-rsc5d5coi6] { margin: 0; font-size: 18px; color: #1d2939; }
.appdet__decision-date[b-rsc5d5coi6] { font-size: 13px; color: #6b7280; }

.appdet__decision-amount[b-rsc5d5coi6] {
    padding: 12px 16px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.appdet__decision-amount strong[b-rsc5d5coi6] {
    font-size: 20px;
    color: #166534;
}
.appdet__decision-amount-label[b-rsc5d5coi6] {
    font-size: 13px;
    color: #6b7280;
}

.appdet__decision-section[b-rsc5d5coi6] {
    margin-bottom: 12px;
    font-size: 14px;
}
.appdet__decision-section strong[b-rsc5d5coi6] {
    display: block;
    color: #374151;
    margin-bottom: 4px;
    font-size: 13px;
}
.appdet__decision-section p[b-rsc5d5coi6] {
    margin: 0;
    color: #4b5563;
    line-height: 1.5;
    white-space: pre-wrap;
}
.appdet__decision-meta[b-rsc5d5coi6] {
    font-size: 12px;
    color: #6b7280;
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
}
.appdet__decision-actions[b-rsc5d5coi6] {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
}

/* ── Messages ── */
.appdet__messages[b-rsc5d5coi6] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 16px 20px;
}

/* ── Timeline ── */
.appdet__timeline[b-rsc5d5coi6] {
    list-style: none;
    margin: 0;
    padding: 4px 0 4px 28px;
    position: relative;
}
.appdet__timeline[b-rsc5d5coi6]::before {
    content: '';
    position: absolute;
    left: 9px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: #e5e7eb;
}
.appdet__timeline-item[b-rsc5d5coi6] {
    position: relative;
    margin-bottom: 16px;
}
.appdet__timeline-item:last-child[b-rsc5d5coi6] { margin-bottom: 0; }
.appdet__timeline-marker[b-rsc5d5coi6] {
    position: absolute;
    left: -28px;
    top: 14px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #9ca3af;
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px #e5e7eb;
}
.appdet__timeline-item--success .appdet__timeline-marker[b-rsc5d5coi6] { background: #16a34a; box-shadow: 0 0 0 2px #bbf7d0; }
.appdet__timeline-item--info .appdet__timeline-marker[b-rsc5d5coi6] { background: #2563eb; box-shadow: 0 0 0 2px #bfdbfe; }
.appdet__timeline-item--warning .appdet__timeline-marker[b-rsc5d5coi6] { background: #f59e0b; box-shadow: 0 0 0 2px #fde68a; }
.appdet__timeline-item--danger .appdet__timeline-marker[b-rsc5d5coi6] { background: #dc2626; box-shadow: 0 0 0 2px #fecaca; }
.appdet__timeline-item--neutral .appdet__timeline-marker[b-rsc5d5coi6] { background: #9ca3af; box-shadow: 0 0 0 2px #e5e7eb; }

.appdet__timeline-card[b-rsc5d5coi6] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 16px;
}
.appdet__timeline-item--success .appdet__timeline-card[b-rsc5d5coi6] { border-left: 3px solid #16a34a; }
.appdet__timeline-item--info .appdet__timeline-card[b-rsc5d5coi6] { border-left: 3px solid #2563eb; }
.appdet__timeline-item--warning .appdet__timeline-card[b-rsc5d5coi6] { border-left: 3px solid #f59e0b; }
.appdet__timeline-item--danger .appdet__timeline-card[b-rsc5d5coi6] { border-left: 3px solid #dc2626; }

.appdet__timeline-head[b-rsc5d5coi6] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}
.appdet__timeline-title[b-rsc5d5coi6] {
    font-size: 14px;
    color: #1d2939;
}
.appdet__timeline-time[b-rsc5d5coi6] {
    font-size: 12px;
    color: #9ca3af;
    white-space: nowrap;
}
.appdet__timeline-desc[b-rsc5d5coi6] {
    margin: 6px 0 0;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.45;
    white-space: pre-wrap;
}
.appdet__timeline-foot[b-rsc5d5coi6] {
    margin-top: 8px;
    display: flex;
    gap: 10px;
    font-size: 11px;
    color: #6b7280;
    align-items: center;
}
.appdet__timeline-cat[b-rsc5d5coi6] {
    background: #f3f4f6;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    font-weight: 500;
}
.appdet__timeline-actor[b-rsc5d5coi6]::before { content: '· '; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .appdet__header[b-rsc5d5coi6] { flex-direction: column; }
    .appdet__header-actions[b-rsc5d5coi6] { width: 100%; justify-content: flex-start; }
    .appdet__form-grid[b-rsc5d5coi6] { grid-template-columns: 1fr; }
    .appdet__form-item:has(.appdet__form-value--budget)[b-rsc5d5coi6] { grid-column: 1 / -1; }
    .appdet__doc[b-rsc5d5coi6] { flex-wrap: wrap; }
    .appdet__doc-actions[b-rsc5d5coi6] { width: 100%; justify-content: flex-start; }
}
/* /Components/Pages/ApplicationForm.razor.rz.scp.css */
.appform[b-oqw4unil3y] {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 24px;
}

/* Inline notice for field types we don't render in schema-preview mode
   (file, budget, table, trainings) — keeps the form structure visible
   while making it obvious that the actual editor is missing. */
.appform__field-unavailable[b-oqw4unil3y] {
    margin: 6px 0 0;
    padding: 10px 12px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    border-radius: 6px;
    color: #6b7280;
    font-size: 13px;
}

.appform__field-unavailable code[b-oqw4unil3y] {
    background: #e5e7eb;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 12px;
}

/* ── Company field (IDNO + Denumire) ──
   Două coloane egale pe desktop; pe ecrane înguste se duc una sub alta. */
.appform__company[b-oqw4unil3y] {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 2fr;
    gap: 16px;
    align-items: start;
}

@media (max-width: 640px) {
    .appform__company[b-oqw4unil3y] {
        grid-template-columns: 1fr;
    }
}

.appform__company-status[b-oqw4unil3y] {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.4;
}

.appform__company-status--loading[b-oqw4unil3y] {
    color: #6b7280;
    font-style: italic;
}

.appform__company-status--error[b-oqw4unil3y] {
    color: #dc2626;
}

/* ── Page placeholder (temporarily disabled state) ── */
.appform-placeholder[b-oqw4unil3y] {
    max-width: 640px;
    margin: 48px auto;
    text-align: center;
    padding: 48px 32px;
}

.appform-placeholder__title[b-oqw4unil3y] {
    font-size: 22px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 12px;
}

.appform-placeholder__text[b-oqw4unil3y] {
    font-size: 15px;
    color: #6b7280;
    line-height: 1.6;
    margin: 0 0 24px;
}

.appform-placeholder__actions[b-oqw4unil3y] {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Page header — sits between Breadcrumbs and the two-column layout */
.appform-header[b-oqw4unil3y] {
    margin: 8px 0 24px;
}

.appform-header__title[b-oqw4unil3y] {
    font-size: 28px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
    margin: 0 0 6px;
}

.appform-header__meta[b-oqw4unil3y] {
    color: #6b7280;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

/* Two-column layout — vertical wizard on the left, form content on the right.
   Progress bar + auto-save indicator now live inside `.wizard-sidebar`, so we
   no longer ship `.appform__progress*` CSS. */
.appform--two-col[b-oqw4unil3y] {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    padding: 0;
}

@media (max-width: 900px) {
    .appform--two-col[b-oqw4unil3y] {
        grid-template-columns: 1fr;
    }
}

.appform__main[b-oqw4unil3y] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Section header (Pasul X din N + title) — uses the shared `.card` utility */
.appform__section-header[b-oqw4unil3y] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

.appform__section-title[b-oqw4unil3y] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
}

/* Optional helper text under the section title — explains what the user is
   filling in this step. Pulled from the schema's `description` per section. */
.appform__section-description[b-oqw4unil3y] {
    font-size: 0.95rem;
    color: var(--gray-500, #6b7280);
    margin: 0;
    line-height: 1.5;
}

/* Footer info card inside the sidebar */
[b-oqw4unil3y] .appform__autosave-card {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 12px;
    color: #075985;
    line-height: 1.4;
}

[b-oqw4unil3y] .appform__autosave-card svg {
    width: 16px;
    height: 16px;
    color: #0284c7;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Section */
.appform__section[b-oqw4unil3y] {
    margin-bottom: 0;
}

/* ── Validation feedback ──
   Banner shown above the section grid when the user tries to advance with
   empty required fields. The per-field message is rendered directly under
   the field (see .appform__field-error) and the wrapper gets the --invalid
   modifier so the input border can pick up a red tint via ::deep. */
.appform__error-banner[b-oqw4unil3y] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #991b1b;
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 20px;
}

[b-oqw4unil3y] .appform__error-banner svg {
    width: 18px;
    height: 18px;
    color: #dc2626;
    flex-shrink: 0;
}

.appform__field-error[b-oqw4unil3y] {
    color: #dc2626;
    font-size: 12px;
    margin: 0;
    line-height: 1.4;
}

/* Subtle red tint on inputs inside an invalid wrapper. Using ::deep so the
   selector pierces the FOD components' encapsulation; we cover the common
   primitives the form relies on (text, textarea, select, radio group label). */
.appform__field--invalid[b-oqw4unil3y]  input:not([type="checkbox"]):not([type="radio"]),
.appform__field--invalid[b-oqw4unil3y]  textarea,
.appform__field--invalid[b-oqw4unil3y]  select,
.appform__field--invalid[b-oqw4unil3y]  .fod-input-control,
.appform__field--invalid[b-oqw4unil3y]  .fod-select__control {
    border-color: #dc2626;
}

/* Each field is a label-on-top-of-input stack. Without explicit flex-column the
   label and input render inline which causes visual collision with the next field. */
.appform__field[b-oqw4unil3y] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0; /* allow inputs to shrink in narrow grid columns instead of overflowing */
}

.appform__field label[b-oqw4unil3y] {
    font-size: 13px;
    font-weight: 500;
    color: var(--gray-700, #374151);
    line-height: 1.4;
    margin: 0;
}

/* Inputs inside a field — defensive baseline so heights match across native
   inputs and FOD components. Without min-height the date picker, FodTextField,
   and bare <input> can render slightly different which makes a 2-column row
   look misaligned. */
.appform__field[b-oqw4unil3y]  input,
.appform__field[b-oqw4unil3y]  textarea,
.appform__field[b-oqw4unil3y]  select {
    box-sizing: border-box;
}

/* Override the global .form-grid gap with more generous vertical spacing so the
   bottom of one input never visually merges with the next row's label, even at
   small font sizes. Horizontal gap kept moderate so the two columns read as a
   single form, not two unrelated lists. */
.appform__section[b-oqw4unil3y]  .form-grid {
    row-gap: 28px;
    column-gap: 32px;
}

.appform__field--prepopulated[b-oqw4unil3y] {
    position: relative;
}

.appform__prepopulate-badge[b-oqw4unil3y] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 500;
    color: #16a34a;
    background: #dcfce7;
    padding: 1px 8px;
    border-radius: 10px;
    position: absolute;
    top: 0;
    right: 0;
}

/* Labels */
.appform__label[b-oqw4unil3y] {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    margin-bottom: 4px;
}

.appform__required[b-oqw4unil3y] {
    color: #dc2626;
}

/* Textarea */
.appform__textarea[b-oqw4unil3y] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    font-family: inherit;
    resize: vertical;
    min-height: 80px;
}

.appform__textarea:focus[b-oqw4unil3y] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

/* Select */
.appform__select[b-oqw4unil3y] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    background: #fff;
}

/* Input */
.appform__input[b-oqw4unil3y] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
}

/* Checkbox */
.appform__checkbox[b-oqw4unil3y] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
}

.appform__checkbox input[type="checkbox"][b-oqw4unil3y] {
    width: 18px;
    height: 18px;
    accent-color: #2563eb;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Radio group */
.appform__radio-group[b-oqw4unil3y] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 4px 0;
}
.appform__radio[b-oqw4unil3y] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    padding: 4px 0;
}
.appform__radio input[type="radio"][b-oqw4unil3y] {
    width: 18px;
    height: 18px;
    accent-color: #2563eb;
    flex-shrink: 0;
}

/* ── Subsection (grupare vizuală în interiorul unui pas de wizard) ── */
.appform__subsection[b-oqw4unil3y] {
    margin-top: 24px;
    padding: 16px 0 16px 16px;
    border-left: 3px solid #e0e7ff;
    /* Padding stânga + bordură subtilă albastră ca să se diferențieze vizual de câmpurile
       top-level ale secțiunii. Nu folosim background ca să nu pară card complet izolat —
       e doar un grup logic, în continuarea aceluiași pas. */
}

.appform__subsection-header[b-oqw4unil3y] {
    margin-bottom: 16px;
}

.appform__subsection-title[b-oqw4unil3y] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1d2939;
    margin: 0 0 4px;
    line-height: 1.3;
}

.appform__subsection-description[b-oqw4unil3y] {
    font-size: 0.9rem;
    color: #6b7280;
    margin: 0;
    line-height: 1.5;
}

.appform__review-subsection[b-oqw4unil3y] {
    margin-top: 12px;
    padding: 10px 0 10px 14px;
    border-left: 2px solid #e0e7ff;
}

.appform__review-subsection-title[b-oqw4unil3y] {
    font-size: 13px;
    font-weight: 600;
    color: #4338ca;
    margin: 0 0 8px;
}

/* Multi-select checkbox group — vizual aproape identic cu .appform__radio-group, dar stocăm
   selecțiile multiple ca string comma-separated în _formValues. <fieldset> e folosit
   semantic ca să grupeze checkbox-urile sub un singur <legend> (label-ul câmpului). */
.appform__multiselect[b-oqw4unil3y] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 4px 0;
    border: none;
    margin: 0;
}
.appform__multiselect legend.appform__label[b-oqw4unil3y] {
    padding: 0;
    margin-bottom: 4px;
}
.appform__multiselect-item[b-oqw4unil3y] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    padding: 4px 0;
}
.appform__multiselect-item input[type="checkbox"][b-oqw4unil3y] {
    width: 18px;
    height: 18px;
    accent-color: #2563eb;
    flex-shrink: 0;
}
.appform__multiselect-empty[b-oqw4unil3y] {
    margin: 4px 0 0;
    color: #9ca3af;
    font-size: 13px;
    font-style: italic;
}

/* Completion score */
.appform__completion-score[b-oqw4unil3y] {
    padding: 12px 16px; border-radius: 8px;
    background: #fffbeb; border: 1px solid #fbbf24;
    margin-bottom: 12px;
}
.appform__completion-score--full[b-oqw4unil3y] {
    background: #dcfce7; border-color: #16a34a;
}
.appform__completion-bar[b-oqw4unil3y] {
    height: 6px; background: #e5e7eb; border-radius: 3px;
    overflow: hidden; margin-bottom: 8px;
}
.appform__completion-fill[b-oqw4unil3y] {
    height: 100%; background: #2563eb; border-radius: 3px;
    transition: width 0.3s;
}
.appform__completion-score--full .appform__completion-fill[b-oqw4unil3y] { background: #16a34a; }
.appform__completion-text[b-oqw4unil3y] { font-size: 13px; color: #374151; }

/* Star rating */
.appform__rating[b-oqw4unil3y] {
    display: flex; align-items: center; gap: 2px;
    margin-bottom: 12px;
}
.appform__star[b-oqw4unil3y] {
    font-size: 20px; color: #d0d5dd;
}
.appform__star--filled[b-oqw4unil3y] { color: #f59e0b; }
.appform__rating-text[b-oqw4unil3y] {
    margin-left: 8px; font-size: 13px; color: #6b7280;
}

.appform__declaration[b-oqw4unil3y] {
    margin-top: 16px;
    padding: 16px;
    background: #fffbeb;
    border: 1px solid #fbbf24;
    border-radius: 8px;
}

.appform__checkbox--declaration span[b-oqw4unil3y] {
    line-height: 1.5;
}

/* File hint */
.appform__file-hint[b-oqw4unil3y] {
    color: #9ca3af;
    font-style: italic;
    font-size: 13px;
}

/* File uploaded state */
.appform__file-uploaded[b-oqw4unil3y] {
    margin-bottom: 8px;
}

.appform__file-info[b-oqw4unil3y] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 6px;
    font-size: 14px;
    color: #166534;
}

.appform__file-size[b-oqw4unil3y] {
    color: #6b7280;
    font-size: 12px;
}

.appform__file-error[b-oqw4unil3y] {
    color: #dc2626;
    font-size: 12px;
    margin-top: 4px;
}

/* Errors */
.appform__errors[b-oqw4unil3y] {
    margin-top: 16px;
    padding: 12px 16px;
    background: #fef2f2;
    border-radius: 8px;
    border: 1px solid #fecaca;
}

.appform__errors p[b-oqw4unil3y] {
    color: #dc2626;
    font-size: 13px;
    margin: 4px 0;
}

/* Review */
.appform__review[b-oqw4unil3y] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}

.appform__review-section[b-oqw4unil3y] {
    background: #f9fafb;
    border-radius: 8px;
    padding: 16px;
}

.appform__review-section-header[b-oqw4unil3y] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.appform__review-section-header h3[b-oqw4unil3y] {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    margin: 0;
}

.appform__review-edit-btn[b-oqw4unil3y] {
    border: none;
    background: none;
    color: #2563eb;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
}

.appform__review-edit-btn:hover[b-oqw4unil3y] {
    background: #dbeafe;
}

.appform__review-row[b-oqw4unil3y] {
    display: flex;
    gap: 8px;
    font-size: 13px;
    padding: 3px 0;
}

.appform__review-label[b-oqw4unil3y] {
    color: #6b7280;
    min-width: 140px;
    flex-shrink: 0;
}

.appform__review-value[b-oqw4unil3y] {
    color: #1f2937;
}

.appform__review-value--ok[b-oqw4unil3y] {
    color: #166534;
}

.appform__review-value--missing[b-oqw4unil3y] {
    color: #dc2626;
    font-weight: 500;
}

.appform__review-value--empty[b-oqw4unil3y] {
    color: #9ca3af;
    font-style: italic;
}

/* Inline error shown above the "Trimite spre semnare" button when InitiateSigningAsync
   throws (registration period closed, validation failed server-side, etc.). */
.appform__sign-error[b-oqw4unil3y] {
    margin-top: 16px;
    padding: 12px 16px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    color: #b91c1c;
    font-size: 14px;
}

/* Submitted */
.appform-submitted[b-oqw4unil3y] {
    text-align: center;
    padding: 64px 32px;
    max-width: 500px;
    margin: 0 auto;
}

.appform-submitted h2[b-oqw4unil3y] {
    font-size: 1.5rem;
    color: #16a34a;
    margin: 16px 0 8px;
}

.appform-submitted p[b-oqw4unil3y] {
    color: #6b7280;
    margin: 0 0 24px;
}

.appform-submitted__actions[b-oqw4unil3y] {
    display: flex;
    justify-content: center;
    gap: 12px;
}

/* Nav reuse from wizard — no top border so the buttons sit visually
   adjacent to the form, matching the borderless flow of the page. */
.wizard-nav[b-oqw4unil3y] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
}

.wizard-nav__left[b-oqw4unil3y],
.wizard-nav__right[b-oqw4unil3y] {
    display: flex;
    gap: 8px;
}

/* ── Trainings field ── */
.appform__trainings[b-oqw4unil3y] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.appform__trainings-empty[b-oqw4unil3y] {
    margin: 0;
    padding: 24px;
    text-align: center;
    color: #6b7280;
    font-size: 14px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    border-radius: 8px;
}

.appform__training[b-oqw4unil3y] {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 14px 16px;
    background: #fff;
    transition: border-color 0.15s, background 0.15s;
}

.appform__training:hover[b-oqw4unil3y] {
    border-color: #cbd5e1;
}

.appform__training--selected[b-oqw4unil3y] {
    border-color: #2563eb;
    background: #f5f9ff;
}

.appform__training-head[b-oqw4unil3y] {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}

.appform__training-head input[type="checkbox"][b-oqw4unil3y] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #2563eb;
}

.appform__training-name[b-oqw4unil3y] {
    flex: 1;
    font-weight: 600;
    color: #1d2939;
    font-size: 15px;
    line-height: 1.3;
}

.appform__training-meta[b-oqw4unil3y] {
    font-size: 12px;
    color: #6b7280;
}

.appform__training-desc[b-oqw4unil3y] {
    margin-top: 8px;
    margin-left: 28px;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.5;
}

.appform__training-sessions[b-oqw4unil3y] {
    margin-top: 12px;
    margin-left: 28px;
    padding: 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ── Câmpuri suplimentare per training (apar la selectare) ── */
.appform__training-addfields[b-oqw4unil3y] {
    margin-top: 12px;
    margin-left: 28px;
    padding: 14px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.appform__training-addfield[b-oqw4unil3y] {
    /* Fiecare câmp în interiorul cardului de training se așază pe linia lui — fără
       grid de două coloane ca la formularul principal, ca să fie întotdeauna legibil
       indiferent de tipul (textarea, select etc.). */
    width: 100%;
}

.appform__training-sessions-label[b-oqw4unil3y] {
    font-size: 12px;
    font-weight: 500;
    color: #4b5563;
    margin-bottom: 4px;
}

.appform__session[b-oqw4unil3y] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.appform__session:hover[b-oqw4unil3y] {
    background: #f9fafb;
}

.appform__session input[type="radio"][b-oqw4unil3y] {
    cursor: pointer;
    accent-color: #2563eb;
}

.appform__session-dates[b-oqw4unil3y] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #1d2939;
    font-size: 13px;
}

.appform__session-arrow[b-oqw4unil3y] {
    color: #9ca3af;
}

.appform__session-name[b-oqw4unil3y] {
    color: #6b7280;
    font-size: 12px;
    font-style: italic;
}

.appform__session-badge[b-oqw4unil3y] {
    margin-left: auto;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 500;
}

.appform__session-badge--physical[b-oqw4unil3y] {
    background: #ecfdf5;
    color: #059669;
}

.appform__session-badge--online[b-oqw4unil3y] {
    background: #eff6ff;
    color: #2563eb;
}

.appform__session-badge--hybrid[b-oqw4unil3y] {
    background: #faf5ff;
    color: #7c3aed;
}

/* ── Table field ── */
/* Wrapper extern pentru fiecare câmp tabel — combină toolbar-ul (cu butonul
   de fullscreen) și containerul de tabel într-o unitate care poate intra în
   modul fullscreen ca un întreg. */
.appform__table-block[b-oqw4unil3y] {
    display: flex;
    flex-direction: column;
}

.appform__table-toolbar[b-oqw4unil3y] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 0 0 8px;
}

.appform__table-toolbar-title[b-oqw4unil3y] {
    flex: 1;
    font-size: 16px;
    font-weight: 600;
    color: #1d2939;
    margin: 0;
}

.appform__table-fullscreen-btn[b-oqw4unil3y] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #fff;
    border: 1px solid #d0d5dd;
    color: #344054;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.appform__table-fullscreen-btn:hover[b-oqw4unil3y] {
    background: #f3f4f6;
    border-color: #98a2b3;
}

.appform__table-fullscreen-btn svg[b-oqw4unil3y] {
    width: 16px;
    height: 16px;
}

/* Modal-like overlay: scoate blocul din flux și îl întinde peste tot
   viewport-ul. Toolbar-ul rămâne în flux normal sus, wrapper-ul de tabel
   primește restul înălțimii cu scroll intern (orizontal + vertical). */
.appform__table-block--fullscreen[b-oqw4unil3y] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #fff;
    padding: 16px 24px;
    box-sizing: border-box;
    overflow: hidden;
    /* Display flex moștenit din `.appform__table-block` (declared above) — children
       stack vertical: toolbar sus, table-wrap flex:1 (scrollabil), actions jos. */
}

.appform__table-block--fullscreen .appform__table-toolbar[b-oqw4unil3y] {
    padding: 4px 4px 12px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 12px;
}

.appform__table-block--fullscreen .appform__table-wrap[b-oqw4unil3y] {
    flex: 1;
    overflow: auto;
    min-height: 0;
}

/* În fullscreen relaxăm min-width-ul forțat al tabelului ca el să poată
   ocupa lățimea viewport-ului fără scroll inutil; rămâne min-content ca
   coloanele să-și păstreze lățimea minimă lizibilă. */
.appform__table-block--fullscreen .appform__table[b-oqw4unil3y] {
    min-width: max-content;
    width: 100%;
}

.appform__table-empty[b-oqw4unil3y] {
    margin: 0;
    padding: 16px;
    text-align: center;
    color: #6b7280;
    font-size: 13px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    border-radius: 8px;
}

.appform__table-wrap[b-oqw4unil3y] {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    /* Scroll orizontal când tabelul are mai multe coloane decât încap pe ecran. */
    overflow-x: auto;
    overflow-y: visible;
    /* Indicator vizual la marginea dreaptă că poți derula. */
    scrollbar-gutter: stable;
}

/* Scrollbar mai subțire și discret pe Webkit. */
.appform__table-wrap[b-oqw4unil3y]::-webkit-scrollbar {
    height: 10px;
}
.appform__table-wrap[b-oqw4unil3y]::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 5px;
}
.appform__table-wrap[b-oqw4unil3y]::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
.appform__table-wrap[b-oqw4unil3y]::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 5px;
}

.appform__table[b-oqw4unil3y] {
    width: 100%;
    /* Lățime minimă ca tabelele complexe să-și păstreze coloanele lizibile;
       când conținutul e prea lat, wrap-ul scroll-uiește. */
    min-width: 1100px;
    border-collapse: collapse;
    font-size: 13px;
}

.appform__table thead th[b-oqw4unil3y] {
    text-align: left;
    padding: 10px 12px;
    background: #f9fafb;
    color: #4b5563;
    font-weight: 500;
    font-size: 12px;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.appform__table-required[b-oqw4unil3y] {
    color: #dc2626;
    margin-left: 2px;
    font-weight: 600;
}

.appform__table tbody td[b-oqw4unil3y] {
    padding: 6px 8px;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

.appform__table tbody tr:last-child td[b-oqw4unil3y] {
    border-bottom: none;
}

.appform__table-input[b-oqw4unil3y] {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    font-size: 13px;
    color: #1d2939;
    box-sizing: border-box;
    transition: border-color 0.15s;
}

.appform__table-input:focus[b-oqw4unil3y] {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.appform__table-input[type="checkbox"][b-oqw4unil3y] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #2563eb;
}

.appform__table-rm[b-oqw4unil3y] {
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    color: #6b7280;
    cursor: pointer;
    border-radius: 6px;
    font-size: 18px;
    line-height: 1;
    transition: background 0.15s, color 0.15s;
}

.appform__table-rm:hover:not(:disabled)[b-oqw4unil3y] {
    background: #fef2f2;
    color: #dc2626;
}

.appform__table-rm:disabled[b-oqw4unil3y] {
    opacity: 0.4;
    cursor: not-allowed;
}

.appform__table-actions[b-oqw4unil3y] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
}

.appform__table-add[b-oqw4unil3y] {
    padding: 6px 14px;
    border: 1px solid #2563eb;
    background: #fff;
    color: #2563eb;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.appform__table-add:hover:not(:disabled)[b-oqw4unil3y] {
    background: #2563eb;
    color: #fff;
}

.appform__table-add:disabled[b-oqw4unil3y] {
    opacity: 0.5;
    cursor: not-allowed;
}

.appform__table-meta[b-oqw4unil3y] {
    color: #6b7280;
    font-size: 12px;
}

/* Group header rendat ca rând superior din thead când există coloane cu groupHeader. */
.appform__table-group-header[b-oqw4unil3y] {
    text-align: center !important;
    background: #f3f4f6 !important;
    color: #1f2937 !important;
    font-weight: 600 !important;
    border-right: 1px solid #e5e7eb;
}

/* Coloana de auto-index (d/o) — îngustă, centrată, ușor coloratățel mai discret. */
.appform__table-index-header[b-oqw4unil3y],
.appform__table-index[b-oqw4unil3y] {
    width: 48px;
    text-align: center;
    color: #6b7280;
    font-size: 12px;
}

.appform__table-index[b-oqw4unil3y] {
    background: #f9fafb;
}

/* Celulele cu Formula sunt doar afișaj — fundal foarte subtil ca să se distingă. */
.appform__table-cell--computed[b-oqw4unil3y] {
    background: #f9fafb;
}

.appform__table-cell--computed .appform__table-input[b-oqw4unil3y] {
    background: transparent;
    border-color: transparent;
    color: #4b5563;
    font-weight: 500;
}

/* Celulele cu valoare pre-definită din schemă — text static, fără input.
   Fundal alb-gălbui foarte subtil ca să distingă vizual de inputurile aplicantului. */
.appform__table-cell--fixed[b-oqw4unil3y] {
    background: #fefce8;
}

.appform__table-cell-fixed-value[b-oqw4unil3y] {
    display: block;
    padding: 4px 6px;
    color: #1d2939;
    font-size: 13px;
    line-height: 1.4;
    white-space: pre-wrap;
}

/* Rând întreg pre-definit din schemă — păstrează același fundal subtil pe celulele
   neacoperite (cele cu input editabil pentru aplicant) ca rândul să arate omogen. */
.appform__table-row--fixed > td[b-oqw4unil3y] {
    background: #fefce8;
}

.appform__table-row--fixed .appform__table-input[b-oqw4unil3y] {
    background: #fff;
}

/* Rând antet de secțiune — un singur cell cu colspan, fundal mai pronunțat,
   bold, fără padding agresiv. Folosit pentru grupări gen „1. Prestatorul..." */
.appform__table-section-header > td[b-oqw4unil3y] {
    background: #e0e7ff;
    color: #1e3a8a;
    font-weight: 600;
    padding: 10px 12px;
    border-top: 1px solid #c7d2fe;
    border-bottom: 1px solid #c7d2fe;
}

/* Rândul de TOTAL — bandă mai clară, label aliniat la dreapta, valori bold. */
.appform__table-total td[b-oqw4unil3y] {
    background: #f9fafb;
    border-top: 2px solid #e5e7eb;
    padding: 10px 12px;
    font-weight: 600;
}

.appform__table-total-label[b-oqw4unil3y] {
    text-align: right;
    color: #4b5563;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.4px;
}

.appform__table-total-value[b-oqw4unil3y] {
    color: #0f172a;
    font-size: 13px;
}
/* ── Tabel în mod read-only (review/finalizare) ── */
.appform__review-table[b-oqw4unil3y] {
    margin: 12px 0;
}

.appform__review-label--block[b-oqw4unil3y] {
    display: block;
    font-weight: 600;
    color: #1d2939;
    margin-bottom: 8px;
}

.appform__review-empty[b-oqw4unil3y] {
    margin: 0;
    padding: 16px;
    color: #6b7280;
    font-size: 13px;
    font-style: italic;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    border-radius: 8px;
    text-align: center;
}

.appform__table-wrap--view[b-oqw4unil3y] {
    background: #fcfcfd;
}

.appform__table--view tbody td[b-oqw4unil3y] {
    padding: 8px 12px;
    color: #1d2939;
}

.appform__table--view tbody tr:hover td[b-oqw4unil3y] {
    background: #f9fafb;
}

/* Rândul de review pentru un câmp tabel — title pe linie proprie deasupra,
   tabelul ocupă toată lățimea dedesubt (în loc de aliniere label/value pe rânduri). */
.appform__review-row--block[b-oqw4unil3y] {
    display: block;
    margin: 12px 0 16px;
}

.appform__review-row--block .appform__review-label--block[b-oqw4unil3y] {
    display: block;
    font-weight: 600;
    color: #1d2939;
    margin-bottom: 8px;
}

/* ── Excel upload modal (Încarcă Excel) ──
   Aceleași clase folosite în BackOffice (.confirm-overlay / .confirm-popup), dar
   acolo trăiesc în scoped CSS al fiecărei pagini. FrontOffice nu avea o copie
   a regulilor, așa că dialogul cădea în flow-ul normal al paginii sub butonul
   „Continuă". Le redefinim aici ca să funcționeze ca modal real (overlay fix
   peste tot viewport-ul + popup centrat). */
.confirm-overlay[b-oqw4unil3y] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1000;
}

.confirm-popup[b-oqw4unil3y] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    min-width: 380px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    z-index: 1001;
}

/* Bootstrap-style alert pentru mesajele de eroare/avertisment din modal —
   FrontOffice nu încarcă Bootstrap, deci avem nevoie de stilurile minime
   ca alertele din dialog să arate ca alerte, nu ca div-uri plain. */
.alert[b-oqw4unil3y] {
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 6px;
    line-height: 1.4;
}

.alert-danger[b-oqw4unil3y] {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.alert-warning[b-oqw4unil3y] {
    background: #fffbeb;
    border-color: #fde68a;
    color: #92400e;
}

/* /Components/Pages/CallDetail.razor.rz.scp.css */
.call-detail[b-9ip3cmhicr] {
    max-width: 900px;
}

.call-detail__image[b-9ip3cmhicr] {
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 24px;
    max-height: 300px;
}

.call-detail__image img[b-9ip3cmhicr] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.call-detail__header[b-9ip3cmhicr] {
    margin-bottom: 16px;
}

.call-detail__chips[b-9ip3cmhicr] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.call-detail__title[b-9ip3cmhicr] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 4px;
}

.call-detail__subtitle[b-9ip3cmhicr] {
    font-size: 15px;
    color: #6b7280;
    margin: 0;
}

/* Tags */
.call-detail__tags[b-9ip3cmhicr] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 24px;
}

/* Description */
.call-detail__description[b-9ip3cmhicr] {
    margin-bottom: 24px;
}

.call-detail__description h2[b-9ip3cmhicr] {
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 8px;
}

.call-detail__description-body[b-9ip3cmhicr] {
    font-size: 14px;
    color: #374151;
    line-height: 1.6;
}

.call-detail__description-body p[b-9ip3cmhicr] {
    margin: 0 0 8px;
}

/* Section title */
.call-detail__section-title[b-9ip3cmhicr] {
    font-size: 18px;
    font-weight: 600;
    color: #1d2939;
    margin: 32px 0 12px;
}

/* Empty */
.call-detail__empty[b-9ip3cmhicr] {
    padding: 24px;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    border-radius: 10px;
    color: #6b7280;
    text-align: center;
}

/* ── Iterations ── */
.call-detail__iterations[b-9ip3cmhicr] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}

.iteration-section[b-9ip3cmhicr] {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.iteration-section--closed[b-9ip3cmhicr],
.iteration-section--archived[b-9ip3cmhicr] {
    background: #fafafa;
    opacity: 0.85;
}

.iteration-section__header[b-9ip3cmhicr] {
    padding: 14px 18px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.iteration-section__title-row[b-9ip3cmhicr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.iteration-section__title[b-9ip3cmhicr] {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}

.iteration-section__year[b-9ip3cmhicr] {
    font-size: 13px;
    color: #6b7280;
    font-weight: 500;
}

.iteration-section__dates[b-9ip3cmhicr] {
    margin-top: 4px;
    font-size: 13px;
    color: #6b7280;
}

.iteration-section__empty[b-9ip3cmhicr] {
    padding: 14px 18px;
    color: #9ca3af;
    font-style: italic;
    margin: 0;
    font-size: 14px;
}

.iteration-section__objectives[b-9ip3cmhicr] {
    display: flex;
    flex-direction: column;
}

/* ── Objective card ── */
.objective-card[b-9ip3cmhicr] {
    padding: 16px 18px;
    border-top: 1px solid #f3f4f6;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.objective-card:first-child[b-9ip3cmhicr] {
    border-top: none;
}

.objective-card--closed[b-9ip3cmhicr] {
    opacity: 0.75;
}

.objective-card__header[b-9ip3cmhicr] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.objective-card__title[b-9ip3cmhicr] {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
}

.objective-card__subtitle[b-9ip3cmhicr] {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
}

.objective-card__stats[b-9ip3cmhicr] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 10px 18px;
}

.objective-card__stat[b-9ip3cmhicr] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.objective-card__stat-label[b-9ip3cmhicr] {
    font-size: 11px;
    color: #6b7280;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.objective-card__stat-value[b-9ip3cmhicr] {
    font-size: 14px;
    color: #1f2937;
    font-weight: 600;
}

.objective-card__stat-value--urgent[b-9ip3cmhicr] {
    color: #dc2626;
}

.objective-card__countdown[b-9ip3cmhicr] {
    margin-left: 4px;
    font-weight: 500;
}

.objective-card__actions[b-9ip3cmhicr] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.objective-card__closed-reason[b-9ip3cmhicr] {
    font-size: 12px;
    color: #6b7280;
    font-style: italic;
}

/* ── Actions ── */
.call-detail__actions[b-9ip3cmhicr] {
    display: flex;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
    margin-top: 24px;
}

/* ── Resources & FAQ ── */
.call-detail__resources[b-9ip3cmhicr], .call-detail__faqs[b-9ip3cmhicr] {
    margin: 24px 0;
}

.resources__group[b-9ip3cmhicr] { margin-bottom: 18px; }
.resources__group-title[b-9ip3cmhicr] {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    margin: 0 0 8px;
    font-weight: 500;
}
.resources__list[b-9ip3cmhicr] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}
.resources__item[b-9ip3cmhicr] {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.resources__item:hover[b-9ip3cmhicr] { border-color: #2563eb; box-shadow: 0 1px 4px rgba(37,99,235,0.1); }
.resources__thumb[b-9ip3cmhicr] {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}
.resources__body[b-9ip3cmhicr] { flex: 1; min-width: 0; }
.resources__name[b-9ip3cmhicr] { font-size: 14px; color: #1d2939; display: block; margin-bottom: 4px; }
.resources__desc[b-9ip3cmhicr] { font-size: 12px; color: #6b7280; margin: 0 0 8px; line-height: 1.4; }
.resources__link[b-9ip3cmhicr] {
    font-size: 13px;
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
}
.resources__link:hover[b-9ip3cmhicr] { text-decoration: underline; }

.faqs__list[b-9ip3cmhicr] { display: flex; flex-direction: column; gap: 8px; }
.faqs__item[b-9ip3cmhicr] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 16px;
}
.faqs__question[b-9ip3cmhicr] {
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: #1d2939;
    list-style: none;
    padding-right: 24px;
    position: relative;
}
.faqs__question[b-9ip3cmhicr]::after {
    content: '+';
    position: absolute;
    right: 0;
    top: 0;
    font-size: 18px;
    color: #6b7280;
}
.faqs__item[open] .faqs__question[b-9ip3cmhicr]::after { content: '−'; }
.faqs__answer[b-9ip3cmhicr] {
    margin: 10px 0 0;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.5;
    white-space: pre-wrap;
}

@media (max-width: 640px) {
    .objective-card__stats[b-9ip3cmhicr] {
        grid-template-columns: 1fr 1fr;
    }
    .iteration-section__title-row[b-9ip3cmhicr] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Pages/Calls.razor.rz.scp.css */
/* ── Filters bar ── */
.calls-filters[b-5zjy22d1yp] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.calls-filters__search[b-5zjy22d1yp] {
    flex: 1;
    min-width: 200px;
}

.calls-filters__selects[b-5zjy22d1yp] {
    display: flex;
    gap: 8px;
}

.calls-filters__toggle[b-5zjy22d1yp] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    padding: 8px 0;
}

.calls-filters__toggle input[b-5zjy22d1yp] {
    width: 16px;
    height: 16px;
    accent-color: #2563eb;
}

/* ── Grid ── */
.calls-grid[b-5zjy22d1yp] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

/* ── Card ── */
.call-card[b-5zjy22d1yp] {
    display: flex;
    flex-direction: column;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.call-card:hover[b-5zjy22d1yp] {
    border-color: #2563eb;
    box-shadow: 0 2px 12px rgba(37, 99, 235, 0.08);
}

/* Image */
.call-card__image[b-5zjy22d1yp] {
    position: relative;
    height: 160px;
    background: #f9fafb;
    overflow: hidden;
}

.call-card__image img[b-5zjy22d1yp] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.call-card__image-placeholder[b-5zjy22d1yp] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d1d5db;
}

.call-card__image-placeholder svg[b-5zjy22d1yp] {
    width: 48px;
    height: 48px;
}

/* Position-only wrapper — colors come from `.badge` utility.
   Pinned to the top-left corner of the card image so it doesn't share a column
   with the type icon (top-right). */
.call-card__badge[b-5zjy22d1yp] {
    position: absolute;
    top: 8px;
    left: 8px;
}

/* Type indicator — circular icon pinned to the top-right corner of the card
   image. The Activ/Inactiv badge now lives on the opposite side, so this can
   sit flush at the top instead of being stacked below another element.
   Color tints by call type. */
.call-card__type[b-5zjy22d1yp] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

[b-5zjy22d1yp] .call-card__type svg {
    width: 16px;
    height: 16px;
}

.call-card__type--training[b-5zjy22d1yp]  { color: #1d4ed8; }   /* blue — learning */
.call-card__type--grant[b-5zjy22d1yp]     { color: #b45309; }   /* amber — coins */
.call-card__type--funding[b-5zjy22d1yp]   { color: #15803d; }   /* green — percent / yield */

/* Body */
.call-card__body[b-5zjy22d1yp] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.call-card__parent[b-5zjy22d1yp] {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.call-card__title[b-5zjy22d1yp] {
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
    line-height: 1.4;
}

.call-card__subtitle[b-5zjy22d1yp] {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.call-card__meta[b-5zjy22d1yp] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    color: #374151;
    margin-top: auto;
    padding-top: 8px;
}

.call-card__urgent[b-5zjy22d1yp] {
    color: #dc2626;
    font-weight: 600;
}

.call-card__count[b-5zjy22d1yp] {
    font-weight: 500;
}

.call-card__count--active[b-5zjy22d1yp] {
    color: #166534;
}

.call-card__count--empty[b-5zjy22d1yp] {
    color: #9ca3af;
    font-style: italic;
}

.call-card__region[b-5zjy22d1yp] {
    color: #6b7280;
    font-size: 12px;
}

/* ── Empty ── */
.calls-empty[b-5zjy22d1yp] {
    padding: 60px 20px;
    text-align: center;
    color: #6b7280;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    border-radius: 12px;
}

.calls-empty p[b-5zjy22d1yp] {
    margin: 0;
    font-size: 14px;
}
/* /Components/Pages/Contracte.razor.rz.scp.css */
.contracte-empty[b-m3shdao8w3] { text-align: center; padding: 48px; color: #9ca3af; }
.contracte-empty h3[b-m3shdao8w3] { margin: 12px 0 4px; color: #374151; }
.contracte-empty p[b-m3shdao8w3] { color: #6b7280; font-size: 14px; }

.contracte-grid[b-m3shdao8w3] { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 16px; }

.contracte-card[b-m3shdao8w3] {
    border: 1px solid #e5e7eb; border-radius: 10px; padding: 16px;
    background: #fff; cursor: pointer; border-left: 4px solid #e5e7eb;
    transition: box-shadow 0.15s;
}
.contracte-card:hover[b-m3shdao8w3] { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.contracte-card--success[b-m3shdao8w3] { border-left-color: #16a34a; }
.contracte-card--info[b-m3shdao8w3]    { border-left-color: #2563eb; }
.contracte-card--warning[b-m3shdao8w3] { border-left-color: #f59e0b; }
.contracte-card--danger[b-m3shdao8w3]  { border-left-color: #dc2626; }
.contracte-card--neutral[b-m3shdao8w3] { border-left-color: #9ca3af; }

.contracte-card__header[b-m3shdao8w3] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.contracte-card__number[b-m3shdao8w3] { font-size: 13px; font-family: 'Consolas', monospace; color: #6b7280; }

.contracte-card__title[b-m3shdao8w3] { font-size: 15px; font-weight: 600; color: #1d2939; margin: 0 0 12px; }

.contracte-card__kpis[b-m3shdao8w3] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; }
.contracte-card__kpi[b-m3shdao8w3] { text-align: center; }
.contracte-card__kpi-val[b-m3shdao8w3] { display: block; font-size: 16px; font-weight: 700; color: #1d2939; }
.contracte-card__kpi-lbl[b-m3shdao8w3] { font-size: 10px; color: #6b7280; }

.contracte-card__progress[b-m3shdao8w3] { }
.contracte-card__bar[b-m3shdao8w3] { height: 6px; background: #e5e7eb; border-radius: 3px; overflow: hidden; }
.contracte-card__fill[b-m3shdao8w3] { height: 100%; background: #2563eb; border-radius: 3px; }
/* /Components/Pages/Granturi.razor.rz.scp.css */
.grants-toolbar[b-d38skfoari] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 0 20px;
    flex-wrap: wrap;
}
.grants-toolbar__filters[b-d38skfoari] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    flex: 1;
    min-width: 0;
}
.grants-toolbar__filters > *[b-d38skfoari] {
    flex: 0 1 200px;
    min-width: 140px;
}
.grants-toolbar__toggle[b-d38skfoari] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #0369a1;
    cursor: pointer;
    flex-shrink: 0;
}
.grants-toolbar__toggle input[b-d38skfoari] { accent-color: #0369a1; }
.grants-toolbar__toggle:hover[b-d38skfoari] { background: #e0f2fe; }

/* Eligibility badge on card */
.grant-card__elig[b-d38skfoari] {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(4px);
}
.grant-card__elig--eligible[b-d38skfoari] {
    background: rgba(220, 252, 231, 0.95);
    color: #166534;
}
.grant-card__elig--verifydetails[b-d38skfoari] {
    background: rgba(254, 243, 199, 0.95);
    color: #92400e;
}
.grant-card__elig--noteligible[b-d38skfoari] {
    background: rgba(254, 226, 226, 0.95);
    color: #991b1b;
}
.grant-card__elig-score[b-d38skfoari] {
    background: rgba(0, 0, 0, 0.1);
    padding: 1px 6px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 10px;
}

/* Make image container relative for badge positioning */
.grant-card__image[b-d38skfoari] {
    position: relative;
}

/* Type indicator — circular icon pinned to the top-right corner of the image
   (eligibility badge sits top-left). Color tints by call type. */
.grant-card__type[b-d38skfoari] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

[b-d38skfoari] .grant-card__type svg {
    width: 16px;
    height: 16px;
}

.grant-card__type--training[b-d38skfoari] { color: #1d4ed8; }   /* blue — learning */
.grant-card__type--grant[b-d38skfoari]    { color: #b45309; }   /* amber — coins */
.grant-card__type--funding[b-d38skfoari]  { color: #15803d; }   /* green — percent / yield */

.grants-empty[b-d38skfoari] {
    padding: 60px 20px;
    text-align: center;
    color: #6b7280;
    background: #f9fafb;
    border: 1px dashed #d1d5db;
    border-radius: 12px;
}

.grants-grid[b-d38skfoari] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

.grant-card[b-d38skfoari] {
    display: flex;
    flex-direction: column;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.grant-card:hover[b-d38skfoari] {
    border-color: #2563eb;
    box-shadow: 0 2px 12px rgba(37, 99, 235, 0.08);
}

.grant-card__image[b-d38skfoari] {
    height: 160px;
    background: #f9fafb;
    overflow: hidden;
}
.grant-card__image img[b-d38skfoari] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.grant-card__image-placeholder[b-d38skfoari] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d1d5db;
}
.grant-card__image-placeholder svg[b-d38skfoari] {
    width: 48px;
    height: 48px;
}

.grant-card__body[b-d38skfoari] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.grant-card__program[b-d38skfoari] {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 2px;
}

.grant-card__title[b-d38skfoari] {
    font-size: 16px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
    line-height: 1.4;
}

.grant-card__subtitle[b-d38skfoari] {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.grant-card__meta[b-d38skfoari] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #f3f4f6;
    font-size: 13px;
    color: #374151;
}

.grant-card__row[b-d38skfoari] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: baseline;
}

.grant-card__label[b-d38skfoari] {
    color: #6b7280;
    font-size: 12px;
    flex-shrink: 0;
}

.grant-card__row strong[b-d38skfoari] {
    font-weight: 700;
    color: #0c4a6e;
}

.grant-card__urgent[b-d38skfoari] {
    color: #dc2626;
    font-weight: 500;
}

.grant-card__full[b-d38skfoari] {
    color: #dc2626;
    font-weight: 600;
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* ── Debug dump (temporary) ── */
.debug-dump[b-6d6qqv3pfg] {
    background: #fef3c7;
    border: 1px solid #f59e0b;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 16px;
    font-size: 12px;
}

.debug-dump summary[b-6d6qqv3pfg] {
    cursor: pointer;
    font-weight: 600;
    color: #78350f;
    user-select: none;
}

.debug-dump pre[b-6d6qqv3pfg] {
    margin: 8px 0 0;
    padding: 12px;
    background: #1f2937;
    color: #e5e7eb;
    border-radius: 6px;
    overflow: auto;
    max-height: 480px;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 12px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ── Onboarding banner ── */
.onboarding-banner[b-6d6qqv3pfg] {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 32px;
    text-align: center;
    margin-bottom: 24px;
}

.onboarding-banner__icon[b-6d6qqv3pfg] {
    color: #2563eb;
    margin-bottom: 12px;
}

.onboarding-banner__title[b-6d6qqv3pfg] {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e40af;
    margin: 0 0 8px;
}

.onboarding-banner__text[b-6d6qqv3pfg] {
    color: #3b82f6;
    font-size: 14px;
    margin: 0 0 20px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

/* ── Dashboard welcome ── */
.dashboard-welcome[b-6d6qqv3pfg] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 32px;
}

.dashboard-welcome__text[b-6d6qqv3pfg] {
    flex: 1 1 320px;
    min-width: 0;
}

.dashboard-welcome__greeting[b-6d6qqv3pfg] {
    display: block;
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 4px;
}

.dashboard-welcome__name[b-6d6qqv3pfg] {
    font-size: 28px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
    margin: 0 0 8px;
    word-break: break-word;
}

.dashboard-welcome__subtitle[b-6d6qqv3pfg] {
    color: #6b7280;
    font-size: 15px;
    margin: 0;
}

/* ── Dashboard cards grid ── */
.dashboard-cards[b-6d6qqv3pfg] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}

/* ── KPI cards row ── */
.dashboard-kpis[b-6d6qqv3pfg] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.kpi-card[b-6d6qqv3pfg] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px 20px;
}

.kpi-card__head[b-6d6qqv3pfg] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.kpi-card__label[b-6d6qqv3pfg] {
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

[b-6d6qqv3pfg] .kpi-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    flex-shrink: 0;
}

[b-6d6qqv3pfg] .kpi-card__icon svg {
    width: 18px;
    height: 18px;
}

[b-6d6qqv3pfg] .kpi-card__icon--info    { background: #dbeafe; color: #1d4ed8; }
[b-6d6qqv3pfg] .kpi-card__icon--success { background: #dcfce7; color: #166534; }
[b-6d6qqv3pfg] .kpi-card__icon--warning { background: #fef3c7; color: #92400e; }
[b-6d6qqv3pfg] .kpi-card__icon--danger  { background: #fee2e2; color: #991b1b; }

.kpi-card__value[b-6d6qqv3pfg] {
    font-size: 28px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.1;
    margin-top: 4px;
}

.kpi-card__hint[b-6d6qqv3pfg] {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.4;
}

.kpi-card__hint--accent[b-6d6qqv3pfg] {
    color: #16a34a;
    font-weight: 500;
}

.kpi-card__hint--danger[b-6d6qqv3pfg] {
    color: #dc2626;
    font-weight: 500;
}

/* ── Split layout: featured applications (2/3) + deadlines (1/3) ── */
.dashboard-split[b-6d6qqv3pfg] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 24px;
}

.dashboard-split__main[b-6d6qqv3pfg],
.dashboard-split__side[b-6d6qqv3pfg] {
    min-width: 0;
}

/* When deadlines lives inside the split sidebar, drop its standalone top margin
   — the parent grid handles spacing from the KPI row above. */
.dashboard-split__side .dashboard-deadlines[b-6d6qqv3pfg] {
    margin-top: 0;
}

@media (max-width: 1024px) {
    .dashboard-split[b-6d6qqv3pfg] {
        grid-template-columns: 1fr;
    }
}

/* ── Featured applications stack ── */
.featured-app-list[b-6d6qqv3pfg] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.featured-app-list__footer[b-6d6qqv3pfg] {
    font-size: 13px;
    padding: 4px 4px 0;
}

.featured-app-list__footer a[b-6d6qqv3pfg] {
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
}

.featured-app-list__footer a:hover[b-6d6qqv3pfg] {
    text-decoration: underline;
}

/* ── Featured application card ── */
.featured-app[b-6d6qqv3pfg] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.featured-app__head[b-6d6qqv3pfg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    border-bottom: 1px solid #f3f4f6;
    padding-bottom: 12px;
    margin-bottom: 2px;
}

.featured-app__head-title[b-6d6qqv3pfg] {
    font-size: 16px;
    font-weight: 600;
    color: #1d2939;
    margin: 0;
}

.featured-app__reg[b-6d6qqv3pfg] {
    font-size: 13px;
    color: #6b7280;
    font-family: 'Consolas', monospace;
}

.featured-app__title[b-6d6qqv3pfg] {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
}

.featured-app__hint[b-6d6qqv3pfg] {
    font-size: 14px;
    color: #6b7280;
    margin: 0;
    line-height: 1.5;
}

.featured-app__meta[b-6d6qqv3pfg] {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    color: #4b5563;
    font-size: 13px;
}

.featured-app__meta-item[b-6d6qqv3pfg] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

[b-6d6qqv3pfg] .featured-app__meta-item svg {
    width: 14px;
    height: 14px;
    color: #6b7280;
}

/* Progress bar — Draft only */
.featured-app__progress[b-6d6qqv3pfg] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.featured-app__progress-meta[b-6d6qqv3pfg] {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #6b7280;
}

.featured-app__progress-pct[b-6d6qqv3pfg] {
    font-weight: 600;
    color: #1f2937;
}

.featured-app__progress-bar[b-6d6qqv3pfg] {
    height: 6px;
    background: #f3f4f6;
    border-radius: 3px;
    overflow: hidden;
}

.featured-app__progress-fill[b-6d6qqv3pfg] {
    height: 100%;
    background: #2563eb;
    transition: width 0.2s ease;
}

/* Pipeline stepper */
.featured-app__steps[b-6d6qqv3pfg] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 0;
    counter-reset: step;
}

.featured-app__step[b-6d6qqv3pfg] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    position: relative;
    padding: 0 4px;
}

/* Connector line between steps — drawn from the marker's center to the next */
.featured-app__step:not(:last-child)[b-6d6qqv3pfg]::after {
    content: '';
    position: absolute;
    top: 14px;
    left: calc(50% + 18px);
    right: calc(-50% + 18px);
    height: 2px;
    background: #e5e7eb;
    z-index: 0;
}

.featured-app__step--done:not(:last-child)[b-6d6qqv3pfg]::after {
    background: #16a34a;
}

[b-6d6qqv3pfg] .featured-app__step-marker {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    color: #9ca3af;
    font-size: 12px;
    font-weight: 600;
    border: 2px solid #e5e7eb;
    flex-shrink: 0;
    z-index: 1;
}

[b-6d6qqv3pfg] .featured-app__step-marker svg {
    width: 14px;
    height: 14px;
}

.featured-app__step--done[b-6d6qqv3pfg]  .featured-app__step-marker {
    background: #16a34a;
    color: #fff;
    border-color: #16a34a;
}

.featured-app__step--active[b-6d6qqv3pfg]  .featured-app__step-marker {
    background: #2563eb;
    color: #fff;
    border-color: #dbeafe;
    box-shadow: 0 0 0 4px #dbeafe;
}

.featured-app__step-label[b-6d6qqv3pfg] {
    font-size: 12px;
    color: #6b7280;
    text-align: center;
    line-height: 1.3;
}

.featured-app__step--active .featured-app__step-label[b-6d6qqv3pfg],
.featured-app__step--done .featured-app__step-label[b-6d6qqv3pfg] {
    color: #1f2937;
    font-weight: 500;
}

/* Actions */
.featured-app__actions[b-6d6qqv3pfg] {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.featured-app__action-link[b-6d6qqv3pfg] {
    color: #2563eb;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

.featured-app__action-link:hover[b-6d6qqv3pfg] {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .featured-app__step-label[b-6d6qqv3pfg] {
        font-size: 11px;
    }
}

/* ── Dashboard deadlines widget — `.card` provides base styling. ── */
.dashboard-deadlines[b-6d6qqv3pfg] {
    margin-top: 24px;
}
.dashboard-deadlines__head[b-6d6qqv3pfg] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.dashboard-deadlines__head h3[b-6d6qqv3pfg] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1d2939;
}
.dashboard-deadlines__count[b-6d6qqv3pfg] {
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
}
.dashboard-deadlines__loading[b-6d6qqv3pfg] {
    color: #9ca3af;
    font-size: 13px;
    margin: 0;
}

.dashboard-deadlines__export[b-6d6qqv3pfg] {
    margin-left: auto;
    font-size: 12px;
    color: var(--color-accent, #2563eb);
    text-decoration: none;
    padding: 4px 10px;
    border: 1px solid var(--color-accent, #2563eb);
    border-radius: 6px;
    background: transparent;
    transition: background 0.15s, color 0.15s;
}
.dashboard-deadlines__export:hover[b-6d6qqv3pfg] {
    background: var(--color-accent, #2563eb);
    color: #fff;
}

/* ── Trainings the applicant has registered for ── */
.dashboard-trainings[b-6d6qqv3pfg] {
    margin-top: 24px;
    padding: 20px;
}

.dashboard-trainings__head[b-6d6qqv3pfg] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.dashboard-trainings__head h3[b-6d6qqv3pfg] {
    margin: 0;
    font-size: 1.05rem;
    color: #111827;
}

.dashboard-trainings__count[b-6d6qqv3pfg] {
    background: #ecfdf5;
    color: #047857;
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    min-width: 22px;
    text-align: center;
}

.dashboard-trainings__list[b-6d6qqv3pfg] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dashboard-trainings__item[b-6d6qqv3pfg] {
    display: flex;
    align-items: stretch;
    gap: 16px;
    padding: 14px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    transition: background 0.15s, border-color 0.15s;
}

.dashboard-trainings__item:hover[b-6d6qqv3pfg] {
    background: #f3f4f6;
    border-color: #d1d5db;
}

.dashboard-trainings__date[b-6d6qqv3pfg] {
    flex: 0 0 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    padding: 8px 4px;
    text-align: center;
    color: #fff;
    background: #6b7280;
}

.dashboard-trainings__date--today[b-6d6qqv3pfg] {
    background: #dc2626;
}

.dashboard-trainings__date--soon[b-6d6qqv3pfg] {
    background: #f59e0b;
}

.dashboard-trainings__date--later[b-6d6qqv3pfg] {
    background: #2563eb;
}

.dashboard-trainings__date--in-progress[b-6d6qqv3pfg] {
    background: #16a34a;
}

.dashboard-trainings__date-day[b-6d6qqv3pfg] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
}

.dashboard-trainings__date-month[b-6d6qqv3pfg] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.dashboard-trainings__body[b-6d6qqv3pfg] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.dashboard-trainings__title[b-6d6qqv3pfg] {
    font-weight: 600;
    color: #111827;
    font-size: 14px;
    line-height: 1.35;
}

.dashboard-trainings__meta[b-6d6qqv3pfg] {
    font-size: 12px;
    color: #6b7280;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.dashboard-trainings__sep[b-6d6qqv3pfg] {
    color: #d1d5db;
}

.dashboard-trainings__attendance[b-6d6qqv3pfg] {
    color: #4b5563;
}

.dashboard-trainings__hint[b-6d6qqv3pfg] {
    margin-top: 4px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.dashboard-trainings__badge[b-6d6qqv3pfg] {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    background: #e5e7eb;
    color: #374151;
}

.dashboard-trainings__badge--today[b-6d6qqv3pfg] {
    background: #fee2e2;
    color: #b91c1c;
}

.dashboard-trainings__badge--soon[b-6d6qqv3pfg] {
    background: #fef3c7;
    color: #b45309;
}

.dashboard-trainings__badge--later[b-6d6qqv3pfg] {
    background: #dbeafe;
    color: #1d4ed8;
}

.dashboard-trainings__badge--in-progress[b-6d6qqv3pfg] {
    background: #dcfce7;
    color: #15803d;
}

.dashboard-trainings__link[b-6d6qqv3pfg] {
    font-size: 12px;
    color: var(--color-accent, #2563eb);
    text-decoration: none;
}

.dashboard-trainings__link:hover[b-6d6qqv3pfg] {
    text-decoration: underline;
}

@media (max-width: 640px) {
    .dashboard-trainings__item[b-6d6qqv3pfg] {
        gap: 12px;
        padding: 12px;
    }
    .dashboard-trainings__date[b-6d6qqv3pfg] {
        flex: 0 0 56px;
    }
    .dashboard-trainings__date-day[b-6d6qqv3pfg] {
        font-size: 1.25rem;
    }
}
/* /Components/Pages/Mesaje.razor.rz.scp.css */
/* ── Empty state ── */
.mesaje-empty[b-q6rig8dx7d] {
    text-align: center;
    padding: 48px;
    color: #9ca3af;
}
.mesaje-empty h3[b-q6rig8dx7d] { margin: 12px 0 4px; color: #374151; }
.mesaje-empty p[b-q6rig8dx7d] { color: #6b7280; font-size: 14px; }

/* ── Layout: inbox + detail ── */
.mesaje-layout[b-q6rig8dx7d] {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 16px;
    height: calc(100vh - 180px);
    min-height: 500px;
}

@media (max-width: 900px) {
    .mesaje-layout[b-q6rig8dx7d] { grid-template-columns: 1fr; }
}

/* ── Left side: conversation list ── */
.mesaje-list[b-q6rig8dx7d] {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.mesaje-list__header[b-q6rig8dx7d] {
    padding: 14px 16px;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    color: #1d2939;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f9fafb;
    position: sticky;
    top: 0;
    z-index: 1;
}

.mesaje-list__badge[b-q6rig8dx7d] {
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
}

.mesaje-list__item[b-q6rig8dx7d] {
    padding: 12px 16px;
    border-bottom: 1px solid #f3f4f6;
    cursor: pointer;
    transition: background 0.15s;
}
.mesaje-list__item:hover[b-q6rig8dx7d] { background: #f9fafb; }
.mesaje-list__item--active[b-q6rig8dx7d] { background: #eff6ff; border-left: 3px solid #2563eb; padding-left: 13px; }
.mesaje-list__item--unread[b-q6rig8dx7d] { background: #fefce8; }
.mesaje-list__item--unread.mesaje-list__item--active[b-q6rig8dx7d] { background: #eff6ff; }

.mesaje-list__item-head[b-q6rig8dx7d] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 2px;
}
.mesaje-list__item-title[b-q6rig8dx7d] {
    font-size: 14px;
    color: #1d2939;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}
.mesaje-list__item-count[b-q6rig8dx7d] {
    background: #2563eb;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 10px;
    flex-shrink: 0;
}
.mesaje-list__item-reg[b-q6rig8dx7d] {
    font-size: 11px;
    font-family: 'Consolas', monospace;
    color: #6b7280;
    margin-bottom: 4px;
}
.mesaje-list__item-preview[b-q6rig8dx7d] {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.4;
    margin-bottom: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.mesaje-list__item-sender[b-q6rig8dx7d] {
    font-weight: 600;
    color: #374151;
}
.mesaje-list__item-meta[b-q6rig8dx7d] {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #9ca3af;
    margin-top: 4px;
}
.mesaje-list__deadline[b-q6rig8dx7d] {
    font-weight: 600;
    color: #92400e;
}
.mesaje-list__deadline--urgent[b-q6rig8dx7d] {
    color: #991b1b;
}

/* ── Right side: conversation detail ── */
.mesaje-detail[b-q6rig8dx7d] {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.mesaje-detail__placeholder[b-q6rig8dx7d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    color: #9ca3af;
    gap: 12px;
}
.mesaje-detail__placeholder p[b-q6rig8dx7d] { margin: 0; font-size: 14px; }

.mesaje-detail__header[b-q6rig8dx7d] {
    padding: 14px 20px;
    border-bottom: 1px solid #e5e7eb;
    background: #f9fafb;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.mesaje-detail__header h2[b-q6rig8dx7d] {
    margin: 0 0 2px;
    font-size: 16px;
    font-weight: 600;
    color: #1d2939;
}
.mesaje-detail__reg[b-q6rig8dx7d] {
    margin: 0;
    font-size: 12px;
    font-family: 'Consolas', monospace;
    color: #6b7280;
}

.mesaje-detail__thread[b-q6rig8dx7d] {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
}
/* /Components/Pages/MyContract.razor.rz.scp.css */
.contract-page[b-1e6r9gt8bt] { max-width: 900px; }

.contract-page__header[b-1e6r9gt8bt] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.contract-page__number[b-1e6r9gt8bt] { font-size: 22px; font-weight: 700; margin: 0; }
.contract-page__program[b-1e6r9gt8bt] { font-size: 14px; color: #6b7280; margin: 4px 0 0; }

.contract-page__kpis[b-1e6r9gt8bt] {
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 24px;
}
.contract-page__kpi[b-1e6r9gt8bt] {
    text-align: center; padding: 16px; background: #f8fafc;
    border: 1px solid #e2e8f0; border-radius: 10px;
}
.contract-page__kpi-value[b-1e6r9gt8bt] { display: block; font-size: 20px; font-weight: 700; color: #1d2939; }
.contract-page__kpi-label[b-1e6r9gt8bt] { font-size: 11px; color: #6b7280; }

.contract-page__specialist[b-1e6r9gt8bt] {
    padding: 16px; background: #eff6ff; border-radius: 8px; margin-bottom: 24px;
}
.contract-page__specialist h3[b-1e6r9gt8bt] { font-size: 13px; color: #6b7280; margin: 0 0 8px; }
.contract-page__specialist p[b-1e6r9gt8bt] { font-size: 14px; margin: 2px 0; color: #1d2939; }

.contract-page__section[b-1e6r9gt8bt] { margin-bottom: 24px; }
.contract-page__section h3[b-1e6r9gt8bt] { font-size: 15px; font-weight: 600; margin: 0 0 12px; }
.contract-page__section-header[b-1e6r9gt8bt] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.contract-page__section-header h3[b-1e6r9gt8bt] { margin: 0; }
.contract-page__empty[b-1e6r9gt8bt] { color: #9ca3af; font-style: italic; font-size: 13px; }

.contract-page__milestone[b-1e6r9gt8bt] { display: flex; gap: 12px; padding: 8px 0; align-items: flex-start; }
.contract-page__milestone-dot[b-1e6r9gt8bt] { width: 12px; height: 12px; border-radius: 50%; background: #e5e7eb; margin-top: 4px; flex-shrink: 0; }
.contract-page__milestone--done .contract-page__milestone-dot[b-1e6r9gt8bt] { background: #16a34a; }
.contract-page__milestone--overdue .contract-page__milestone-dot[b-1e6r9gt8bt] { background: #dc2626; }
.contract-page__milestone--soon .contract-page__milestone-dot[b-1e6r9gt8bt] { background: #f59e0b; }
.contract-page__milestone strong[b-1e6r9gt8bt] { font-size: 14px; display: block; }
.contract-page__milestone span[b-1e6r9gt8bt] { font-size: 12px; color: #6b7280; }

.contract-page__table[b-1e6r9gt8bt] { width: 100%; border-collapse: collapse; font-size: 13px; }
.contract-page__table th[b-1e6r9gt8bt] { text-align: left; padding: 8px; font-weight: 600; color: #344054; border-bottom: 2px solid #e5e7eb; }
.contract-page__table td[b-1e6r9gt8bt] { padding: 8px; border-bottom: 1px solid #f3f4f6; }

.contract-page__addendum[b-1e6r9gt8bt] { padding: 12px; background: #f9fafb; border-radius: 6px; margin-bottom: 8px; }
.contract-page__addendum strong[b-1e6r9gt8bt] { font-size: 14px; }
.contract-page__addendum span[b-1e6r9gt8bt] { font-size: 12px; color: #6b7280; margin-left: 8px; }
.contract-page__addendum p[b-1e6r9gt8bt] { font-size: 13px; color: #374151; margin: 4px 0 0; }
/* /Components/Pages/Notificari.razor.rz.scp.css */
.notif-toolbar[b-x8atqy4sg5] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 16px;
}

.notif-empty[b-x8atqy4sg5] {
    color: #6b7280;
    font-size: 14px;
    padding: 48px 0;
    text-align: center;
}

.notif-unread[b-x8atqy4sg5] {
    font-weight: 600;
}

/* ── Type badges ── */
.notif-type[b-x8atqy4sg5] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
}

.notif-type--info[b-x8atqy4sg5] {
    background: #dbeafe;
    color: #1d4ed8;
}

.notif-type--statuschange[b-x8atqy4sg5] {
    background: #fef3c7;
    color: #92400e;
}

.notif-type--actionrequired[b-x8atqy4sg5] {
    background: #fef2f2;
    color: #dc2626;
}

.notif-type--system[b-x8atqy4sg5] {
    background: #f3f4f6;
    color: #374151;
}

/* ── Status badges ── */
.notif-status[b-x8atqy4sg5] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}

.notif-status--unread[b-x8atqy4sg5] {
    background: #dbeafe;
    color: #1d4ed8;
}

.notif-status--read[b-x8atqy4sg5] {
    background: #f3f4f6;
    color: #6b7280;
}
/* /Components/Pages/ObjectiveDetail.razor.rz.scp.css */
.objective-detail[b-hhjovq386y] {
    max-width: 900px;
}

.objective-detail__header[b-hhjovq386y] {
    margin-bottom: 16px;
}

.objective-detail__chips[b-hhjovq386y] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.objective-detail__iteration[b-hhjovq386y] {
    font-size: 13px;
    color: #6b7280;
    font-weight: 500;
}

.objective-detail__program[b-hhjovq386y] {
    display: inline-block;
    font-size: 13px;
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
    margin: 4px 0 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.objective-detail__program:hover[b-hhjovq386y] {
    text-decoration: underline;
}

.objective-detail__title[b-hhjovq386y] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 4px;
}

.objective-detail__subtitle[b-hhjovq386y] {
    font-size: 15px;
    color: #6b7280;
    margin: 0;
}

.objective-detail__image[b-hhjovq386y] {
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 24px;
    max-height: 280px;
}

.objective-detail__image img[b-hhjovq386y] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Stats grid */
.objective-detail__grid[b-hhjovq386y] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
    padding: 20px;
    background: #f9fafb;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
}

.objective-detail__stat[b-hhjovq386y] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.objective-detail__stat-label[b-hhjovq386y] {
    font-size: 12px;
    color: #6b7280;
    font-weight: 500;
}

.objective-detail__stat-value[b-hhjovq386y] {
    font-size: 15px;
    color: #1f2937;
    font-weight: 600;
}

.objective-detail__stat-value--urgent[b-hhjovq386y] {
    color: #dc2626;
}

/* Description */
.objective-detail__description[b-hhjovq386y] {
    margin-bottom: 24px;
}

.objective-detail__description h2[b-hhjovq386y] {
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 8px;
}

.objective-detail__description-body[b-hhjovq386y] {
    font-size: 14px;
    color: #374151;
    line-height: 1.6;
}

.objective-detail__description-body p[b-hhjovq386y] {
    margin: 0 0 8px;
}

/* ── Eligibility ── */
.eligibility[b-hhjovq386y] {
    margin-bottom: 24px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
}

.eligibility__header[b-hhjovq386y] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.eligibility__header h2[b-hhjovq386y] {
    font-size: 15px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
}

.eligibility__list[b-hhjovq386y] {
    display: flex;
    flex-direction: column;
}

.eligibility__item[b-hhjovq386y] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 20px;
    border-bottom: 1px solid #f3f4f6;
}

.eligibility__item:last-child[b-hhjovq386y] {
    border-bottom: none;
}

.eligibility__item--pass[b-hhjovq386y] {
    background: #fff;
}

.eligibility__item--fail[b-hhjovq386y] {
    background: #fef2f2;
}

.eligibility__item--warn[b-hhjovq386y] {
    background: #fffbeb;
}

.eligibility__icon[b-hhjovq386y] {
    flex-shrink: 0;
    font-size: 16px;
    margin-top: 2px;
}

.eligibility__item input[type="checkbox"][b-hhjovq386y] {
    width: 18px;
    height: 18px;
    accent-color: #2563eb;
    margin-top: 2px;
    flex-shrink: 0;
}

.eligibility__info[b-hhjovq386y] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.eligibility__name[b-hhjovq386y] {
    font-size: 14px;
    color: #1f2937;
    font-weight: 500;
}

/* Actions */
.objective-detail__actions[b-hhjovq386y] {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
    margin-top: 24px;
}

.objective-detail__closed-reason[b-hhjovq386y] {
    font-size: 13px;
    color: #92400e;
    font-style: italic;
}

/* /Components/Pages/PreEvaluation.razor.rz.scp.css */
/* ── Pre-evaluation questionnaire ── */

.preevaluation-desc[b-kie706geie] {
    color: #6b7280;
    margin-bottom: 24px;
}

.preevaluation-questions[b-kie706geie] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}

.preevaluation-question[b-kie706geie] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.preevaluation-question__label[b-kie706geie] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.preevaluation-question__name[b-kie706geie] {
    font-size: 14px;
    font-weight: 500;
    color: #1f2937;
}

.preevaluation-question__desc[b-kie706geie] {
    font-size: 13px;
    color: #6b7280;
}

.preevaluation-question__required[b-kie706geie] {
    font-size: 11px;
    color: #dc2626;
    text-transform: uppercase;
    font-weight: 600;
}

.preevaluation-question__answer[b-kie706geie] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.preevaluation-auto[b-kie706geie] {
    font-size: 14px;
    font-weight: 500;
}

.preevaluation-auto--pass[b-kie706geie] {
    color: #16a34a;
}

.preevaluation-auto--fail[b-kie706geie] {
    color: #dc2626;
}

.preevaluation-auto--missing[b-kie706geie] {
    color: #9ca3af;
    font-style: italic;
    font-weight: 400;
}

.preevaluation-auto__expected[b-kie706geie] {
    color: #9ca3af;
    font-weight: 400;
    font-size: 12px;
}

.preevaluation-radio[b-kie706geie] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    cursor: pointer;
}

.preevaluation-radio input[type="radio"][b-kie706geie] {
    accent-color: #2563eb;
}

.preevaluation-error[b-kie706geie] {
    padding: 8px 12px;
    background: #fef2f2;
    color: #dc2626;
    border-radius: 6px;
    font-size: 13px;
    margin-bottom: 16px;
}

.preevaluation-actions[b-kie706geie] {
    display: flex;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
}

/* ── Result card ── */
.preevaluation-result[b-kie706geie] {
    text-align: center;
    padding: 48px 32px;
    max-width: 600px;
    margin: 0 auto;
}

.preevaluation-result__icon[b-kie706geie] {
    margin-bottom: 16px;
}

.preevaluation-result--eligible .preevaluation-result__icon[b-kie706geie] { color: #16a34a; }
.preevaluation-result--potentiallyeligible .preevaluation-result__icon[b-kie706geie] { color: #d97706; }
.preevaluation-result--noteligible .preevaluation-result__icon[b-kie706geie] { color: #dc2626; }

.preevaluation-result__title[b-kie706geie] {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 8px;
}

.preevaluation-result--eligible .preevaluation-result__title[b-kie706geie] { color: #16a34a; }
.preevaluation-result--potentiallyeligible .preevaluation-result__title[b-kie706geie] { color: #d97706; }
.preevaluation-result--noteligible .preevaluation-result__title[b-kie706geie] { color: #dc2626; }

.preevaluation-result__score[b-kie706geie] {
    font-size: 14px;
    color: #6b7280;
    margin: 0 0 12px;
}

.preevaluation-result__message[b-kie706geie] {
    font-size: 15px;
    color: #374151;
    line-height: 1.6;
    margin: 0 0 24px;
}

.preevaluation-result__failed[b-kie706geie] {
    text-align: left;
    background: #fef2f2;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
}

.preevaluation-result__failed h3[b-kie706geie] {
    font-size: 14px;
    font-weight: 600;
    color: #dc2626;
    margin: 0 0 8px;
}

.preevaluation-result__failed ul[b-kie706geie] {
    margin: 0;
    padding-left: 20px;
}

.preevaluation-result__failed li[b-kie706geie] {
    font-size: 14px;
    color: #991b1b;
    padding: 2px 0;
}

.preevaluation-result__actions[b-kie706geie] {
    display: flex;
    justify-content: center;
    gap: 12px;
}
/* /Components/Pages/Privacy.razor.rz.scp.css */
.privacy-page[b-da5382fvks] {
    max-width: 820px;
    margin: 0 auto;
    padding: 32px 24px;
    line-height: 1.6;
    color: #1d2939;
}
.privacy-page h1[b-da5382fvks] {
    font-size: 28px;
    font-weight: 600;
    margin: 0 0 16px;
    color: #1d2939;
}
.privacy-page h2[b-da5382fvks] {
    font-size: 18px;
    font-weight: 600;
    color: #1d2939;
    margin: 28px 0 12px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
}
.privacy-page__intro[b-da5382fvks] {
    font-size: 14px;
    color: #4b5563;
    background: #f9fafb;
    padding: 14px 16px;
    border-left: 3px solid #2563eb;
    border-radius: 6px;
    margin-bottom: 20px;
}
.privacy-page p[b-da5382fvks] { margin: 8px 0; font-size: 14px; color: #374151; }
.privacy-page ul[b-da5382fvks] {
    margin: 8px 0 16px 24px;
    padding: 0;
    font-size: 14px;
    color: #374151;
}
.privacy-page li[b-da5382fvks] { margin-bottom: 4px; }
.privacy-page a[b-da5382fvks] { color: #2563eb; text-decoration: none; }
.privacy-page a:hover[b-da5382fvks] { text-decoration: underline; }
/* /Components/Pages/Profile.razor.rz.scp.css */
.profile-page[b-j1wcwsvfws] {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-bottom: 48px;
}

.profile-section[b-j1wcwsvfws] {
    max-width: 800px;
}

.profile-section--wide[b-j1wcwsvfws] {
    max-width: none;
}

.profile-actions[b-j1wcwsvfws] {
    max-width: 800px;
}

.profile-section[b-j1wcwsvfws] {
    background: #fff;
    border: 1px solid var(--gray-200, #e5e7eb);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 16px;
}

.profile-section:last-child[b-j1wcwsvfws] {
    margin-bottom: 0;
}

.profile-section__title[b-j1wcwsvfws] {
    font-size: 18px;
    font-weight: 600;
    color: var(--gray-900, #111827);
    margin: 0 0 4px;
}

.profile-section__description[b-j1wcwsvfws] {
    font-size: 14px;
    color: var(--gray-500, #6b7280);
    margin: 0 0 20px;
    line-height: 1.5;
}

/* Profile form layout — auto-responsive grid that fits as many columns as the
   container allows (1 column < 600px, 2 columns up to ~900px, 3+ on wide screens).
   `minmax(260px, 1fr)` lets each field grow but never shrink below 260px so labels
   and values stay readable. */
.profile-form[b-j1wcwsvfws] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px 24px;
}

.profile-field[b-j1wcwsvfws] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0; /* allow ellipsis on long values inside the grid track */
}

.profile-label[b-j1wcwsvfws] {
    font-size: 13px;
    font-weight: 500;
    color: var(--gray-600, #4b5563);
}

.profile-value[b-j1wcwsvfws] {
    font-size: 15px;
    color: var(--gray-900, #111827);
    padding: 8px 0;
}

.profile-input[b-j1wcwsvfws] {
    padding: 10px 12px;
    border: 1px solid var(--gray-300, #d1d5db);
    border-radius: 8px;
    font-size: 14px;
    color: var(--gray-900, #111827);
    background: #fff;
    transition: border-color 0.15s;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.profile-input:focus[b-j1wcwsvfws] {
    border-color: var(--blue-500, #3b82f6);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.profile-actions[b-j1wcwsvfws] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-top: 8px;
}

.profile-btn[b-j1wcwsvfws] {
    padding: 10px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color 0.15s;
}

.profile-btn--primary[b-j1wcwsvfws] {
    background: var(--blue-600, #2563eb);
    color: #fff;
}

.profile-btn--primary:hover:not(:disabled)[b-j1wcwsvfws] {
    background: var(--blue-700, #1d4ed8);
}

.profile-btn:disabled[b-j1wcwsvfws] {
    opacity: 0.6;
    cursor: not-allowed;
}

.profile-success[b-j1wcwsvfws] {
    font-size: 14px;
    color: var(--green-600, #16a34a);
    font-weight: 500;
}


/* ── Documents tab ── */
.doc-header[b-j1wcwsvfws] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.doc-header .profile-section__title[b-j1wcwsvfws] {
    margin: 0;
}

.doc-empty[b-j1wcwsvfws] {
    color: #6b7280;
    font-size: 14px;
    padding: 24px 0;
    text-align: center;
}

.doc-table[b-j1wcwsvfws] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.doc-table th[b-j1wcwsvfws] {
    text-align: left;
    padding: 10px 12px;
    font-weight: 600;
    color: #374151;
    border-bottom: 2px solid #e5e7eb;
    white-space: nowrap;
}

.doc-table td[b-j1wcwsvfws] {
    padding: 10px 12px;
    border-bottom: 1px solid #f3f4f6;
    color: #1f2937;
}

.doc-table tbody tr:hover[b-j1wcwsvfws] {
    background: #f9fafb;
}

.doc-actions[b-j1wcwsvfws] {
    display: flex;
    gap: 4px;
}

.doc-action-btn[b-j1wcwsvfws] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    border-radius: 6px;
    color: #6b7280;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.doc-action-btn:hover[b-j1wcwsvfws] {
    background: #eff6ff;
    color: #2563eb;
}

.doc-action-btn--danger:hover[b-j1wcwsvfws] {
    background: #fef2f2;
    color: #dc2626;
}

/* ── Document dialogs ── */
.doc-overlay[b-j1wcwsvfws] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.doc-dialog[b-j1wcwsvfws] {
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    width: 500px;
    max-width: 90vw;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.doc-dialog__title[b-j1wcwsvfws] {
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
}

.doc-dialog__actions[b-j1wcwsvfws] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}

.doc-error[b-j1wcwsvfws] {
    padding: 8px 12px;
    background: #fef2f2;
    color: #dc2626;
    border-radius: 6px;
    font-size: 13px;
}

.profile-btn--danger[b-j1wcwsvfws] {
    background: #dc2626;
    color: #fff;
    border: none;
    padding: 8px 20px;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s;
}

.profile-btn--danger:hover[b-j1wcwsvfws] {
    background: #b91c1c;
}

/* ── Delegations tab ── */
.deleg-badge[b-j1wcwsvfws] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}

.deleg-badge--active[b-j1wcwsvfws] {
    background: #dcfce7;
    color: #166534;
}

.deleg-badge--inactive[b-j1wcwsvfws] {
    background: #f3f4f6;
    color: #6b7280;
}

.deleg-source[b-j1wcwsvfws] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 500;
    color: #2563eb;
}

.deleg-source--manual[b-j1wcwsvfws] {
    color: #6b7280;
}

/* ── History tab ── */
.history-badge[b-j1wcwsvfws] {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
}

.history-badge--contactupdated[b-j1wcwsvfws] {
    background: #dbeafe;
    color: #1d4ed8;
}

.history-badge--onboardingcompleted[b-j1wcwsvfws] {
    background: #dcfce7;
    color: #166534;
}

.history-badge--documentuploaded[b-j1wcwsvfws] {
    background: #fef3c7;
    color: #92400e;
}

.history-badge--documentdeleted[b-j1wcwsvfws] {
    background: #fef2f2;
    color: #dc2626;
}

.history-badge--namesynced[b-j1wcwsvfws] {
    background: #f3e8ff;
    color: #7c3aed;
}

/* Notification preferences */
.notif-prefs[b-j1wcwsvfws] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
    margin-top: 16px;
}
.notif-prefs__group[b-j1wcwsvfws] { display: flex; flex-direction: column; gap: 6px; }
.notif-prefs__group h3[b-j1wcwsvfws] {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #6b7280;
    margin: 0 0 6px;
    font-weight: 600;
}
.notif-prefs__item[b-j1wcwsvfws] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    color: #1d2939;
}
.notif-prefs__item:hover[b-j1wcwsvfws] { border-color: #2563eb; }
.notif-prefs__item input[type="checkbox"][b-j1wcwsvfws] { accent-color: #2563eb; }

/* GDPR cards */
.gdpr-card[b-j1wcwsvfws] {
    margin-top: 18px;
    padding: 18px 22px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
}
.gdpr-card--danger[b-j1wcwsvfws] {
    border-color: #fca5a5;
    background: #fef2f2;
}
.gdpr-card h3[b-j1wcwsvfws] {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 600;
    color: #1d2939;
}
.gdpr-card--danger h3[b-j1wcwsvfws] { color: #991b1b; }
.gdpr-card p[b-j1wcwsvfws] {
    margin: 0 0 12px;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.5;
}
.gdpr-card__status[b-j1wcwsvfws] { font-style: italic; color: #9ca3af; }
.gdpr-card__blockers[b-j1wcwsvfws] {
    padding: 10px 14px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 13px;
}
.gdpr-card__blockers ul[b-j1wcwsvfws] { margin: 6px 0 0 18px; }
.gdpr-card__confirm[b-j1wcwsvfws] {
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #fca5a5;
    border-radius: 6px;
}
.gdpr-card__confirm-actions[b-j1wcwsvfws] {
    display: flex; gap: 8px; margin-top: 10px;
}
.gdpr-card__error[b-j1wcwsvfws] {
    margin-top: 10px;
    padding: 8px 12px;
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 6px;
    color: #991b1b;
    font-size: 13px;
}
.profile-btn--danger[b-j1wcwsvfws] {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
}
.profile-btn--danger:hover[b-j1wcwsvfws] { background: #991b1b; border-color: #991b1b; }

/* Achievements / badges */
.badges-summary[b-j1wcwsvfws] {
    font-size: 13px;
    color: var(--color-accent, #2563eb);
    font-weight: 500;
    margin: 8px 0 16px;
}
.badges-grid[b-j1wcwsvfws] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
}
.badge-card[b-j1wcwsvfws] {
    padding: 16px 18px;
    background: var(--color-bg-raised, #fff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 10px;
    text-align: center;
    transition: transform 0.15s, box-shadow 0.15s;
}
.badge-card:hover[b-j1wcwsvfws] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37,99,235,0.1);
}
.badge-card--locked[b-j1wcwsvfws] {
    opacity: 0.45;
    background: var(--color-bg-muted, #f9fafb);
}
.badge-card__icon[b-j1wcwsvfws] {
    font-size: 32px;
    line-height: 1;
    color: var(--color-accent, #2563eb);
    margin-bottom: 8px;
}
.badge-card--locked .badge-card__icon[b-j1wcwsvfws] { color: var(--color-text-subtle, #9ca3af); }
.badge-card__title[b-j1wcwsvfws] {
    margin: 4px 0 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text, #1d2939);
}
.badge-card__desc[b-j1wcwsvfws] {
    margin: 0 0 8px;
    font-size: 12px;
    color: var(--color-text-muted, #6b7280);
    line-height: 1.4;
}
.badge-card__date[b-j1wcwsvfws] {
    font-size: 11px;
    color: var(--color-success, #16a34a);
    font-weight: 500;
}
.badge-card__locked[b-j1wcwsvfws] {
    font-size: 11px;
    color: var(--color-text-subtle, #9ca3af);
    font-style: italic;
}
/* /Components/Pages/Settings.razor.rz.scp.css */
.settings-page[b-lfognfo4z2] {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-bottom: 48px;
    max-width: 800px;
}

/* `.card` provides background/border/radius/padding; this keeps page-specific stacking. */
.settings-section[b-lfognfo4z2] {
    margin-bottom: 16px;
}

.settings-section:last-child[b-lfognfo4z2] {
    margin-bottom: 0;
}

.settings-section--muted[b-lfognfo4z2] {
    background: var(--gray-50, #f9fafb);
}

.settings-section__title[b-lfognfo4z2] {
    font-size: 18px;
    font-weight: 600;
    color: var(--gray-900, #111827);
    margin: 0 0 4px;
}

.settings-section__description[b-lfognfo4z2] {
    font-size: 14px;
    color: var(--gray-500, #6b7280);
    margin: 0 0 20px;
    line-height: 1.5;
}

.settings-form[b-lfognfo4z2] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.settings-field[b-lfognfo4z2] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.settings-label[b-lfognfo4z2] {
    font-size: 13px;
    font-weight: 500;
    color: var(--gray-600, #4b5563);
}

.settings-value[b-lfognfo4z2] {
    font-size: 15px;
    color: var(--gray-900, #111827);
    padding: 8px 0;
}

.settings-input[b-lfognfo4z2],
.settings-select[b-lfognfo4z2] {
    padding: 10px 12px;
    border: 1px solid var(--gray-300, #d1d5db);
    border-radius: 8px;
    font-size: 14px;
    color: var(--gray-900, #111827);
    background: #fff;
    transition: border-color 0.15s;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}

.settings-input:focus[b-lfognfo4z2],
.settings-select:focus[b-lfognfo4z2] {
    border-color: var(--blue-500, #3b82f6);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.settings-subsection[b-lfognfo4z2] {
    margin-top: 8px;
}

.settings-subsection__title[b-lfognfo4z2] {
    font-size: 14px;
    font-weight: 600;
    color: var(--gray-700, #374151);
    margin: 0 0 12px;
}

.settings-toggle-list[b-lfognfo4z2] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.settings-toggle[b-lfognfo4z2] {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    color: var(--gray-700, #374151);
}

.settings-toggle input[type="checkbox"][b-lfognfo4z2] {
    width: 18px;
    height: 18px;
    accent-color: var(--blue-600, #2563eb);
    cursor: pointer;
}

.settings-actions[b-lfognfo4z2] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--gray-100, #f3f4f6);
}

.settings-btn[b-lfognfo4z2] {
    padding: 10px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color 0.15s;
}

.settings-btn--primary[b-lfognfo4z2] {
    background: var(--blue-600, #2563eb);
    color: #fff;
}

.settings-btn--primary:hover:not(:disabled)[b-lfognfo4z2] {
    background: var(--blue-700, #1d4ed8);
}

.settings-btn:disabled[b-lfognfo4z2] {
    opacity: 0.6;
    cursor: not-allowed;
}

.settings-success[b-lfognfo4z2] {
    font-size: 14px;
    color: var(--green-600, #16a34a);
    font-weight: 500;
}

.settings-badge[b-lfognfo4z2] {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.settings-badge--active[b-lfognfo4z2] {
    background: var(--green-100, #dcfce7);
    color: var(--green-700, #15803d);
}

.settings-badge--suspended[b-lfognfo4z2] {
    background: var(--yellow-100, #fef9c3);
    color: var(--yellow-700, #a16207);
}

.settings-badge--deactivated[b-lfognfo4z2] {
    background: var(--gray-100, #f3f4f6);
    color: var(--gray-600, #4b5563);
}

.settings-badge--deleted[b-lfognfo4z2] {
    background: var(--red-100, #fee2e2);
    color: var(--red-700, #b91c1c);
}
/* /Components/Pages/SignCallback.razor.rz.scp.css */
.sign-callback[b-2ohl9jf4dt] {
    display: flex; align-items: center; justify-content: center;
    min-height: 60vh; padding: 32px;
}
.sign-callback__loading[b-2ohl9jf4dt] { text-align: center; color: #6b7280; }
.sign-callback__spinner[b-2ohl9jf4dt] { animation: spin-b-2ohl9jf4dt 1s linear infinite; }
@keyframes spin-b-2ohl9jf4dt { to { transform: rotate(360deg); } }

.sign-callback__confirmation[b-2ohl9jf4dt] { max-width: 700px; width: 100%; }

.sign-callback__header[b-2ohl9jf4dt] { text-align: center; margin-bottom: 24px; }
.sign-callback__title[b-2ohl9jf4dt] {
    font-size: 22px; font-weight: 700; color: #16a34a; margin: 12px 0 8px;
}
.sign-callback__reg-number[b-2ohl9jf4dt] {
    font-size: 28px; font-weight: 800; color: #1d2939;
    background: #f0fdf4; border: 2px solid #16a34a;
    padding: 12px 24px; border-radius: 10px;
    display: inline-block; letter-spacing: 2px;
    font-family: 'Consolas', monospace;
}

/* Key facts (`.card.card--muted` provides background/border/radius) */
.sign-callback__facts[b-2ohl9jf4dt] {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 12px; margin-bottom: 24px;
}
.sign-callback__fact-label[b-2ohl9jf4dt] {
    font-size: 12px; color: #6b7280; display: block;
}
.sign-callback__fact-value[b-2ohl9jf4dt] {
    font-size: 14px; font-weight: 600; color: #1d2939;
}

/* Steps timeline (`.card` provides background/border/radius) */
.sign-callback__steps[b-2ohl9jf4dt] {
    margin-bottom: 24px;
}
.sign-callback__steps h3[b-2ohl9jf4dt] {
    font-size: 15px; font-weight: 600; color: #1d2939; margin: 0 0 16px;
}
.sign-callback__step[b-2ohl9jf4dt] {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 8px 0; position: relative;
}
.sign-callback__step:not(:last-child)[b-2ohl9jf4dt]::after {
    content: ''; position: absolute;
    left: 7px; top: 24px; bottom: -8px;
    width: 2px; background: #e2e8f0;
}
.sign-callback__step-dot[b-2ohl9jf4dt] {
    width: 16px; height: 16px; border-radius: 50%;
    background: #e2e8f0; flex-shrink: 0; margin-top: 2px;
}
.sign-callback__step--active .sign-callback__step-dot[b-2ohl9jf4dt] {
    background: #2563eb;
}
.sign-callback__step strong[b-2ohl9jf4dt] { display: block; font-size: 14px; color: #1d2939; }
.sign-callback__step span[b-2ohl9jf4dt] { font-size: 12px; color: #6b7280; }

/* Info */
.sign-callback__info[b-2ohl9jf4dt] {
    padding: 16px; background: #eff6ff; border-radius: 8px;
    margin-bottom: 24px; font-size: 13px; color: #374151; line-height: 1.5;
}
.sign-callback__info p[b-2ohl9jf4dt] { margin: 4px 0; }

/* Actions */
.sign-callback__actions[b-2ohl9jf4dt] {
    display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
}
.sign-callback__btn[b-2ohl9jf4dt] {
    padding: 10px 20px; border-radius: 8px; font-size: 14px;
    font-weight: 500; text-decoration: none; cursor: pointer;
    display: inline-flex; align-items: center;
}
.sign-callback__btn--outline[b-2ohl9jf4dt] {
    border: 1px solid #d0d5dd; background: #fff; color: #344054;
}
.sign-callback__btn--outline:hover[b-2ohl9jf4dt] { background: #f3f4f6; }

/* Error */
.sign-callback__error[b-2ohl9jf4dt] { text-align: center; max-width: 500px; }
.sign-callback__error h2[b-2ohl9jf4dt] { color: #dc2626; margin: 16px 0 8px; }
.sign-callback__error p[b-2ohl9jf4dt] { color: #6b7280; margin-bottom: 24px; }
/* /Components/Shared/AddCommentDialog.razor.rz.scp.css */
.add-comment-dialog__field[b-53ezjaebpe] {
    margin-bottom: 16px;
}
.add-comment-dialog__field label[b-53ezjaebpe] {
    display: block; font-size: 13px; font-weight: 500;
    color: #344054; margin-bottom: 6px;
}
.add-comment-dialog__field textarea[b-53ezjaebpe] {
    width: 100%; padding: 8px 12px; border: 1px solid #d0d5dd;
    border-radius: 6px; font-size: 13px; font-family: inherit;
    resize: vertical; box-sizing: border-box;
}
.add-comment-dialog__actions[b-53ezjaebpe] {
    display: flex; justify-content: flex-end; gap: 8px;
}
/* /Components/Shared/AddendumRequestDialog.razor.rz.scp.css */
.addendum-dialog__field[b-w7oj3uk7i2] { margin-bottom: 12px; }
.addendum-dialog__field label[b-w7oj3uk7i2] { display: block; font-size: 13px; font-weight: 500; color: #344054; margin-bottom: 4px; }
.addendum-dialog__field input[b-w7oj3uk7i2], .addendum-dialog__field textarea[b-w7oj3uk7i2], .addendum-dialog__field select[b-w7oj3uk7i2] {
    width: 100%; padding: 8px 12px; border: 1px solid #d0d5dd;
    border-radius: 6px; font-size: 13px; font-family: inherit;
    box-sizing: border-box; resize: vertical;
}
.addendum-dialog__actions[b-w7oj3uk7i2] { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
/* /Components/Shared/Breadcrumbs.razor.rz.scp.css */
.breadcrumbs[b-dk8dql8veu] {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: var(--gray-700, #616161);
}

.breadcrumbs__list[b-dk8dql8veu] {
    display: flex;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumbs__item[b-dk8dql8veu] {
    display: flex;
    align-items: center;
    position: relative;
    gap: 2px;
}

.breadcrumbs__item[b-dk8dql8veu]::after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg width='5' height='9' viewBox='0 0 5 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.21967 7.94696C-0.0732233 7.65406 -0.0732233 7.17919 0.21967 6.8863L2.96375 4.14222C2.99629 4.10967 2.99629 4.05691 2.96375 4.02437L0.21967 1.28029C-0.0732233 0.987396 -0.0732233 0.512523 0.21967 0.219629C0.512563 -0.0732632 0.987437 -0.0732632 1.28033 0.219629L4.02441 2.96371C4.64274 3.58204 4.64274 4.58455 4.02441 5.20288L1.28033 7.94696C0.987437 8.23985 0.512563 8.23985 0.21967 7.94696Z' fill='%23757575'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: center;
    height: 10px;
    width: 10px;
    color: var(--gray-400, #bdbdbd);
    margin-left: 4px;
}

.breadcrumbs__item:last-child[b-dk8dql8veu]::after {
    content: none;
}

.breadcrumbs__item.is-selected[b-dk8dql8veu]::after {
    content: none;
}

.breadcrumbs__link[b-dk8dql8veu] {
    color: var(--gray-700, #616161);
    display: flex;
    align-items: center;
    position: relative;
    gap: 4px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.breadcrumbs__link:hover[b-dk8dql8veu] {
    color: var(--brand-600, #1565c0);
    text-decoration: underline;
}

.breadcrumbs__link:focus-visible[b-dk8dql8veu] {
    outline: 2px solid var(--blue-sky-500, #2196f3);
    outline-offset: 2px;
}

.breadcrumbs__link:visited[b-dk8dql8veu] {
    color: var(--magenta-600, #7b1fa2);
}

.breadcrumbs__current[b-dk8dql8veu] {
    font-weight: 600;
    color: var(--gray-900, #212121);
}
/* /Components/Shared/BudgetTable.razor.rz.scp.css */
.budget-table[b-qynvk4k85g] { margin-top: 16px; }
.budget-table__empty[b-qynvk4k85g] { color: #9ca3af; font-style: italic; }

.budget-table__alert[b-qynvk4k85g] {
    padding: 8px 12px; border-radius: 6px; font-size: 13px;
    margin-bottom: 8px;
}
.budget-table__alert--warning[b-qynvk4k85g] { background: #fef3c7; color: #92400e; }
.budget-table__alert--error[b-qynvk4k85g] { background: #fee2e2; color: #991b1b; }

.budget-table__scroll[b-qynvk4k85g] { overflow-x: auto; }

.budget-table__grid[b-qynvk4k85g] {
    width: 100%; border-collapse: collapse;
    font-size: 13px; min-width: 800px;
}

.budget-table__th[b-qynvk4k85g] {
    text-align: left; padding: 8px 6px;
    font-weight: 600; color: #344054; font-size: 12px;
    border-bottom: 2px solid #e5e7eb; white-space: nowrap;
}
.budget-table__th--num[b-qynvk4k85g] { text-align: right; width: 90px; }

/* Column sizing: subcategory grows, numerics are compact */
.budget-table__grid col.col-subcat[b-qynvk4k85g] { width: auto; min-width: 200px; }
.budget-table__grid col.col-unit[b-qynvk4k85g] { width: 70px; }
.budget-table__grid col.col-qty[b-qynvk4k85g] { width: 80px; }
.budget-table__grid col.col-unit-cost[b-qynvk4k85g] { width: 100px; }
.budget-table__grid col.col-total[b-qynvk4k85g] { width: 100px; }
.budget-table__grid col.col-oda[b-qynvk4k85g] { width: 100px; }
.budget-table__grid col.col-cofin[b-qynvk4k85g] { width: 100px; }
.budget-table__grid col.col-actions[b-qynvk4k85g] { width: 36px; }
.budget-table__grid col.col-toggle[b-qynvk4k85g] { width: 32px; }

.budget-table__cat-row[b-qynvk4k85g] {
    background: #f0f5ff;
}
.budget-table__cat-row--over[b-qynvk4k85g] { background: #fef3c7; }
.budget-table__cat-name[b-qynvk4k85g] {
    padding: 8px 6px; font-size: 13px;
}
.budget-table__tooltip[b-qynvk4k85g] {
    cursor: help; margin-left: 4px; color: #2563eb; font-size: 14px;
}

.budget-table__row td[b-qynvk4k85g] { padding: 4px 6px; border-bottom: 1px solid #f3f4f6; }
.budget-table__row--main td[b-qynvk4k85g] { border-bottom: none; }

/* FOD inputs compact sizing inside table cells */
.budget-table__td--fod[b-qynvk4k85g] { vertical-align: middle; padding: 2px 4px; }

.budget-table__td--fod[b-qynvk4k85g]  .mud-input,
.budget-table__td--fod[b-qynvk4k85g]  .mud-input-control,
.budget-table__td--fod[b-qynvk4k85g]  .mud-select {
    font-size: 13px;
    min-height: 30px;
    margin: 0;
}
.budget-table__td--fod[b-qynvk4k85g]  .mud-input-slot,
.budget-table__td--fod[b-qynvk4k85g]  .mud-input-root {
    min-height: 30px; padding: 0 4px;
}
.budget-table__td--fod[b-qynvk4k85g]  input,
.budget-table__td--fod[b-qynvk4k85g]  .mud-select-input {
    padding: 4px 4px !important;
    font-size: 13px;
    text-align: inherit;
    min-height: 26px;
}
.budget-table__td--num.budget-table__td--fod[b-qynvk4k85g]  input {
    text-align: right;
}
.budget-table__td--fod[b-qynvk4k85g]  .mud-input-helper-text,
.budget-table__td--fod[b-qynvk4k85g]  .mud-form-helper-text,
.budget-table__td--fod[b-qynvk4k85g]  .mud-input-label {
    display: none;
}

/* Hide FodNumericField spin buttons (+/-) to save space */
.budget-table__td--fod[b-qynvk4k85g]  .mud-input-numeric-adornment,
.budget-table__td--fod[b-qynvk4k85g]  .mud-input-adornment-end button,
.budget-table__td--fod[b-qynvk4k85g]  button[aria-label="Increment"],
.budget-table__td--fod[b-qynvk4k85g]  button[aria-label="Decrement"] {
    display: none !important;
}
.budget-table__td--fod[b-qynvk4k85g]  input[type="number"]::-webkit-outer-spin-button,
.budget-table__td--fod[b-qynvk4k85g]  input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none; margin: 0;
}
.budget-table__td--fod[b-qynvk4k85g]  input[type="number"] {
    -moz-appearance: textfield;
}

.budget-table__row--desc td[b-qynvk4k85g] {
    padding: 2px 6px 10px 6px;
    border-bottom: 1px solid #e5e7eb;
    background: #fafbfc;
}
.budget-table__desc-cell[b-qynvk4k85g] { width: 100%; }
.budget-table__desc-wrap[b-qynvk4k85g] {
    display: flex; align-items: flex-start; gap: 10px;
    width: 100%;
}
.budget-table__desc-input-wrap[b-qynvk4k85g] {
    flex: 1;
    max-width: 600px;
}
.budget-table__desc-label[b-qynvk4k85g] {
    font-size: 11px; font-weight: 500;
    color: #6b7280; text-transform: uppercase;
    letter-spacing: 0.4px; flex-shrink: 0;
    padding-top: 8px;
}
.budget-table__desc-input[b-qynvk4k85g] {
    flex: 1; width: 100%;
    padding: 6px 10px;
    border: 1px solid #d0d5dd; border-radius: 4px;
    font-size: 13px; box-sizing: border-box;
    background: #fff;
}
.budget-table__desc-input:focus[b-qynvk4k85g] {
    outline: none; border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.budget-table__desc-input:disabled[b-qynvk4k85g] {
    background: #f3f4f6; color: #6b7280;
}
.budget-table__td input[b-qynvk4k85g], .budget-table__td select[b-qynvk4k85g] {
    width: 100%; padding: 4px 6px; border: 1px solid #d0d5dd;
    border-radius: 4px; font-size: 13px; box-sizing: border-box;
}
.budget-table__td--num[b-qynvk4k85g] { text-align: right; }
.budget-table__td--num input[b-qynvk4k85g] { text-align: right; width: 90px; }
.budget-table__td--computed[b-qynvk4k85g] { color: #6b7280; font-weight: 500; padding: 4px 6px; }
.budget-table__td--pct[b-qynvk4k85g] { text-align: center; font-size: 12px; color: #6b7280; padding: 4px 6px; }

.budget-table__remove-row[b-qynvk4k85g] {
    border: none; background: none; cursor: pointer;
    color: #dc2626; font-size: 18px; padding: 2px 6px;
}

.budget-table__actions-cell[b-qynvk4k85g] {
    white-space: nowrap;
    text-align: right;
}

.budget-table__th--toggle[b-qynvk4k85g], .budget-table__toggle-cell[b-qynvk4k85g], .budget-table__desc-spacer[b-qynvk4k85g] {
    width: 32px; padding: 4px 2px;
}
.budget-table__toggle-cell[b-qynvk4k85g] { vertical-align: middle; text-align: center; }

.budget-table__desc-toggle[b-qynvk4k85g] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; padding: 0;
    border: 1px solid #d0d5dd; background: #fff; cursor: pointer;
    color: #6b7280; border-radius: 4px;
    vertical-align: middle;
    transition: all 0.15s;
}
.budget-table__desc-toggle:hover[b-qynvk4k85g] {
    background: #f3f4f6; color: #1d2939; border-color: #9ca3af;
}
.budget-table__desc-toggle--open[b-qynvk4k85g] {
    background: #eff6ff; border-color: #2563eb; color: #2563eb;
}
.budget-table__desc-toggle--has-value[b-qynvk4k85g]::after {
    content: ''; position: absolute;
    width: 6px; height: 6px; background: #16a34a;
    border-radius: 50%;
    margin-left: 14px; margin-top: -14px;
    border: 1.5px solid #fff;
}
.budget-table__desc-toggle[b-qynvk4k85g] { position: relative; }

.budget-table__add-row td[b-qynvk4k85g] { padding: 4px 6px; }
.budget-table__add-btn[b-qynvk4k85g] {
    border: none; background: none; cursor: pointer;
    color: #2563eb; font-size: 12px; font-weight: 500;
}
.budget-table__add-btn:hover[b-qynvk4k85g] { text-decoration: underline; }

.budget-table__total-row[b-qynvk4k85g] {
    background: #f9fafb; border-top: 2px solid #e5e7eb;
}
.budget-table__total-row td[b-qynvk4k85g] { padding: 10px 6px; }

.budget-table__summary[b-qynvk4k85g] {
    margin-top: 16px; padding: 16px;
    background: #f8fafc; border: 1px solid #e2e8f0;
    border-radius: 8px;
}
.budget-table__summary-row[b-qynvk4k85g] {
    display: flex; justify-content: space-between;
    padding: 4px 0; font-size: 14px;
}
/* /Components/Shared/ChatbotWidget.razor.rz.scp.css */
.chatbot-fab[b-n9owgvbfzf] {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--color-accent, #2563eb);
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 22px;
    font-weight: 700;
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.35);
    z-index: 998;
    transition: transform 0.15s, background 0.15s;
}
.chatbot-fab:hover[b-n9owgvbfzf] { transform: scale(1.06); background: var(--color-accent-hover, #1d4ed8); }
.chatbot-fab--open[b-n9owgvbfzf] { background: var(--color-text-muted, #6b7280); box-shadow: none; }

.chatbot-panel[b-n9owgvbfzf] {
    position: fixed;
    bottom: 90px;
    right: 20px;
    width: 360px;
    max-width: calc(100vw - 32px);
    height: 520px;
    max-height: calc(100vh - 120px);
    background: var(--color-bg-raised, #fff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    z-index: 997;
    overflow: hidden;
}
.chatbot-panel__head[b-n9owgvbfzf] {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-border, #e5e7eb);
    background: var(--color-bg-muted, #f9fafb);
    color: var(--color-text, #1d2939);
}
.chatbot-panel__close[b-n9owgvbfzf] {
    border: none; background: transparent; cursor: pointer; font-size: 22px;
    color: var(--color-text-muted, #6b7280); line-height: 1;
}

.chatbot-panel__body[b-n9owgvbfzf] {
    flex: 1;
    overflow-y: auto;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: var(--color-bg, #ffffff);
}
.chatbot-msg[b-n9owgvbfzf] {
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.4;
    max-width: 85%;
    white-space: pre-wrap;
}
.chatbot-msg--user[b-n9owgvbfzf] {
    background: var(--color-accent, #2563eb);
    color: #fff;
    align-self: flex-end;
}
.chatbot-msg--assistant[b-n9owgvbfzf] {
    background: var(--color-bg-muted, #f3f4f6);
    color: var(--color-text, #1d2939);
    align-self: flex-start;
}
.chatbot-msg--typing[b-n9owgvbfzf] { font-style: italic; opacity: 0.7; }
.chatbot-error[b-n9owgvbfzf] {
    background: var(--color-danger-soft, #fef2f2);
    color: var(--color-danger, #991b1b);
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 12px;
}

.chatbot-panel__input[b-n9owgvbfzf] {
    display: flex;
    border-top: 1px solid var(--color-border, #e5e7eb);
    padding: 8px;
    gap: 6px;
    background: var(--color-bg-raised, #fff);
}
.chatbot-panel__input input[b-n9owgvbfzf] {
    flex: 1;
    padding: 8px 10px;
    border: 1px solid var(--color-border-strong, #d1d5db);
    border-radius: 6px;
    font-size: 13px;
    background: var(--color-bg, #fff);
    color: var(--color-text, #1d2939);
}
.chatbot-panel__input button[b-n9owgvbfzf] {
    padding: 0 14px;
    background: var(--color-accent, #2563eb);
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
}
.chatbot-panel__input button:disabled[b-n9owgvbfzf] {
    background: var(--color-border-strong, #d1d5db);
    cursor: not-allowed;
}

.chatbot-panel__foot[b-n9owgvbfzf] {
    padding: 6px 14px 10px;
    border-top: 1px dashed var(--color-border, #e5e7eb);
    background: var(--color-bg-raised, #fff);
}
.chatbot-link[b-n9owgvbfzf] {
    background: transparent; border: none;
    color: var(--color-accent, #2563eb);
    font-size: 11px;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
}
.chatbot-link:disabled[b-n9owgvbfzf] { color: var(--color-text-subtle, #9ca3af); cursor: not-allowed; text-decoration: none; }
/* /Components/Shared/ConfirmDialog.razor.rz.scp.css */
.confirm-dialog__message[b-nr6lncstrg] {
    font-size: 14px;
    color: #374151;
    margin: 0 0 20px;
    line-height: 1.5;
}

.confirm-dialog__actions[b-nr6lncstrg] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
/* /Components/Shared/CookieConsentBanner.razor.rz.scp.css */
.cookie-consent[b-efvp6ldztg] {
    position: fixed;
    bottom: 16px;
    left: 16px;
    right: 16px;
    max-width: 720px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 18px 22px;
    font-family: inherit;
}
.cookie-consent__title[b-efvp6ldztg] {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 600;
    color: #1d2939;
}
.cookie-consent__text[b-efvp6ldztg] {
    margin: 0 0 8px;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.5;
}
.cookie-consent__options[b-efvp6ldztg] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid #f3f4f6;
    padding-top: 10px;
}
.cookie-consent__option[b-efvp6ldztg] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: #374151;
    cursor: pointer;
}
.cookie-consent__option--locked[b-efvp6ldztg] { opacity: 0.7; cursor: not-allowed; }
.cookie-consent__option input[b-efvp6ldztg] { margin-top: 3px; accent-color: #2563eb; }
.cookie-consent__option strong[b-efvp6ldztg] { color: #1d2939; }

.cookie-consent__actions[b-efvp6ldztg] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    border-top: 1px solid #f3f4f6;
    padding-top: 10px;
}
/* Primary CTA — use a custom rule since we don't have a generic primary utility yet. */
.cookie-consent__btn--primary[b-efvp6ldztg] {
    padding: 7px 14px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    background: #2563eb;
    color: #fff;
}
.cookie-consent__btn--primary:hover[b-efvp6ldztg] { background: #1d4ed8; }
/* /Components/Shared/DeadlineList.razor.rz.scp.css */
.deadlines[b-3j6w25vi4g] { display: flex; flex-direction: column; }

.deadlines__empty[b-3j6w25vi4g] {
    color: #6b7280;
    font-size: 14px;
    font-style: italic;
    margin: 0;
    padding: 16px 0;
    text-align: center;
}

.deadlines__list[b-3j6w25vi4g] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.deadlines__item[b-3j6w25vi4g] {
    display: flex;
    align-items: stretch;
    gap: 14px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.deadlines__item:hover[b-3j6w25vi4g] {
    border-color: #2563eb;
    box-shadow: 0 1px 4px rgba(37, 99, 235, 0.1);
}

.deadlines__item--overdue[b-3j6w25vi4g] { border-left: 4px solid #dc2626; background: #fef2f2; }
.deadlines__item--urgent[b-3j6w25vi4g]  { border-left: 4px solid #f59e0b; background: #fffbeb; }
.deadlines__item--soon[b-3j6w25vi4g]    { border-left: 4px solid #2563eb; }
.deadlines__item--neutral[b-3j6w25vi4g] { border-left: 4px solid #9ca3af; }

.deadlines__date[b-3j6w25vi4g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 4px 8px;
    border-radius: 8px;
    background: #f3f4f6;
    font-family: 'Inter', system-ui, sans-serif;
}
.deadlines__item--overdue .deadlines__date[b-3j6w25vi4g] { background: #fee2e2; color: #991b1b; }
.deadlines__item--urgent .deadlines__date[b-3j6w25vi4g]  { background: #fef3c7; color: #92400e; }

.deadlines__day[b-3j6w25vi4g] {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}
.deadlines__month[b-3j6w25vi4g] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin-top: 2px;
}

.deadlines__body[b-3j6w25vi4g] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.deadlines__head[b-3j6w25vi4g] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}

.deadlines__title[b-3j6w25vi4g] {
    font-size: 14px;
    color: #1d2939;
    line-height: 1.3;
}

.deadlines__desc[b-3j6w25vi4g] {
    margin: 0;
    font-size: 13px;
    color: #4b5563;
    line-height: 1.4;
}

.deadlines__ref[b-3j6w25vi4g] {
    font-size: 11px;
    color: #9ca3af;
    font-family: 'Consolas', monospace;
}
/* /Components/Shared/DocumentPreview.razor.rz.scp.css */
.doc-preview[b-9a7x7b7ybu] {
    display: flex;
    flex-direction: column;
    height: 75vh;
    min-width: 700px;
}

.doc-preview__toolbar[b-9a7x7b7ybu] {
    display: flex;
    gap: 8px;
    padding: 8px 0;
    justify-content: flex-end;
}

.doc-preview__body[b-9a7x7b7ybu] {
    flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f4f6;
    border-radius: 8px;
}

.doc-preview__iframe[b-9a7x7b7ybu] {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 8px;
}

.doc-preview__image[b-9a7x7b7ybu] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.doc-preview__unsupported[b-9a7x7b7ybu] {
    text-align: center;
    padding: 48px;
    color: #6b7280;
}

.doc-preview__unsupported p[b-9a7x7b7ybu] {
    margin: 12px 0;
    font-size: 14px;
}

.doc-preview__download-link[b-9a7x7b7ybu] {
    display: inline-block;
    margin-top: 8px;
    padding: 8px 16px;
    background: #2563eb;
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.doc-preview__download-link:hover[b-9a7x7b7ybu] {
    background: #1d4ed8;
}
/* /Components/Shared/McabinetLink.razor.rz.scp.css */
.mcabinet-link[b-l0qkzs4f0a] {
    text-decoration: none;
    transition: opacity 0.15s;
}
.mcabinet-link:hover[b-l0qkzs4f0a] { opacity: 0.85; }

/* Indicator (footer) */
.mcabinet-link--indicator[b-l0qkzs4f0a] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6b7280;
    padding: 4px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}
.mcabinet-link__dot[b-l0qkzs4f0a] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #16a34a;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18);
}

/* Button (page header) */
.mcabinet-link--button[b-l0qkzs4f0a] {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border: 1px solid #2563eb;
    border-radius: 6px;
    color: #2563eb;
    font-size: 13px;
    font-weight: 500;
    background: #fff;
}
.mcabinet-link--button:hover[b-l0qkzs4f0a] { background: #2563eb; color: #fff; }
/* /Components/Shared/MessageThread.razor.rz.scp.css */
.msg-thread[b-n183dsiqg3] { max-width: 700px; }
.msg-thread__empty[b-n183dsiqg3] { color: #9ca3af; font-style: italic; padding: 16px; }

.msg-thread__list[b-n183dsiqg3] { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }

.msg-thread__bubble[b-n183dsiqg3] {
    padding: 12px 16px; border-radius: 12px; max-width: 85%;
}
.msg-thread__bubble--oda[b-n183dsiqg3] {
    background: #eff6ff; border: 1px solid #bfdbfe; align-self: flex-start;
}
.msg-thread__bubble--applicant[b-n183dsiqg3] {
    background: #f0fdf4; border: 1px solid #bbf7d0; align-self: flex-end;
}
.msg-thread__bubble-header[b-n183dsiqg3] {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 4px;
}
.msg-thread__sender[b-n183dsiqg3] { display: flex; flex-direction: column; gap: 1px; }
.msg-thread__bubble-header strong[b-n183dsiqg3] { font-size: 13px; color: #1d2939; }
.msg-thread__sender-user[b-n183dsiqg3] { font-size: 11px; color: #9ca3af; }
.msg-thread__time[b-n183dsiqg3] { font-size: 11px; color: #9ca3af; }
.msg-thread__text[b-n183dsiqg3] { font-size: 14px; color: #374151; margin: 0; line-height: 1.5; white-space: pre-wrap; }

.msg-thread__deadline[b-n183dsiqg3] {
    margin-top: 8px; padding: 6px 10px; border-radius: 6px;
    font-size: 12px; font-weight: 500; background: #fef3c7; color: #92400e;
}
.msg-thread__deadline--urgent[b-n183dsiqg3] { background: #fee2e2; color: #991b1b; }

.msg-thread__attachments[b-n183dsiqg3] { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.msg-thread__attachment[b-n183dsiqg3] {
    font-size: 12px; color: #2563eb; text-decoration: none;
    background: #fff; padding: 4px 8px; border: 1px solid #d0d5dd; border-radius: 6px;
}
.msg-thread__attachment:hover[b-n183dsiqg3] { background: #f3f4f6; }

/* System messages */
.msg-thread__system[b-n183dsiqg3] {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 16px; justify-content: center;
}
.msg-thread__system-icon[b-n183dsiqg3] { font-size: 16px; }
.msg-thread__system-text[b-n183dsiqg3] {
    font-size: 12px; color: #6b7280; font-style: italic;
}
.msg-thread__system .msg-thread__time[b-n183dsiqg3] { font-size: 10px; color: #9ca3af; }

.msg-thread__reply[b-n183dsiqg3] { border-top: 1px solid #e5e7eb; padding-top: 12px; }
.msg-thread__input[b-n183dsiqg3] {
    width: 100%; padding: 10px 12px; border: 1px solid #d0d5dd;
    border-radius: 8px; font-size: 14px; font-family: inherit;
    resize: vertical; box-sizing: border-box;
}
.msg-thread__reply-actions[b-n183dsiqg3] { display: flex; justify-content: flex-end; margin-top: 8px; }
/* /Components/Shared/NotificationBell.razor.rz.scp.css */
.notification-bell[b-um2pr1ehn8] {
    position: relative;
    display: inline-flex;
}

.notification-badge[b-um2pr1ehn8] {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: #dc2626;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
    pointer-events: none;
}
/* /Components/Shared/OnboardingApplicantDialog.razor.rz.scp.css */
.onboarding-form[b-962c70l30j] {
    width: 100%;
    max-width: 992px;
    margin: 0 auto;
    padding: 32px 40px;
}

.onboarding-form__wizard-title[b-962c70l30j] {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.25rem;
    color: #1f2937;
}

.onboarding-form__step-title[b-962c70l30j] {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0 0 0.25rem;
    color: #1f2937;
}

.onboarding-form__title[b-962c70l30j] {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
    color: #1f2937;
}

.onboarding-form__description[b-962c70l30j] {
    color: #64748b;
    margin: 0 0 1.5rem;
    font-size: 14px;
}

.onboarding-form__error[b-962c70l30j] {
    color: #dc2626;
    font-size: 0.875rem;
    margin-top: 1rem;
    padding: 8px 12px;
    background: #fef2f2;
    border-radius: 6px;
}

/* ── Wizard navigation bar ── */
.wizard-nav[b-962c70l30j] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e5e7eb;
}

.wizard-nav__left[b-962c70l30j],
.wizard-nav__right[b-962c70l30j] {
    display: flex;
    gap: 8px;
}

.wizard-skip[b-962c70l30j] {
    border: none;
    background: none;
    color: #6b7280;
    font-size: 14px;
    cursor: pointer;
    padding: 8px 0;
    text-decoration: underline;
    transition: color 0.15s;
}

.wizard-skip:hover[b-962c70l30j] {
    color: #374151;
}

/* ── Sync state ── */
.onboarding-sync[b-962c70l30j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 32px 0;
    gap: 16px;
    color: #6b7280;
}


.onboarding-sync__success[b-962c70l30j] {
    color: #16a34a;
    font-weight: 500;
    margin-bottom: 12px;
}

.onboarding-sync__error[b-962c70l30j] {
    color: #dc2626;
    font-weight: 500;
}

/* ── Labels for synced data ── */
.onboarding-label[b-962c70l30j] {
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
    margin-bottom: 2px;
}

.onboarding-value[b-962c70l30j] {
    font-size: 14px;
    color: #1f2937;
}


/* ── Sync list (Step 2) ── */
.sync-list[b-962c70l30j] {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sync-list__item[b-962c70l30j] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #374151;
}

.sync-list__text.pending[b-962c70l30j] {
    color: #9ca3af;
}

.sync-list__text.loading[b-962c70l30j] {
    color: #374151;
}

.sync-list__check[b-962c70l30j] {
    color: #16a34a;
    flex-shrink: 0;
}

.sync-list__error[b-962c70l30j] {
    color: #dc2626;
    flex-shrink: 0;
}

.sync-list__pending[b-962c70l30j] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.sync-list__ok[b-962c70l30j] {
    color: #16a34a;
    font-weight: 500;
}

.sync-list__err[b-962c70l30j] {
    color: #dc2626;
    font-weight: 500;
}

/* ── Sync results grid ── */
.sync-results[b-962c70l30j] {
    margin-top: 16px;
    padding: 16px;
    background: #f9fafb;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
}

.sync-results__title[b-962c70l30j] {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin: 0 0 12px;
}

.sync-results__item[b-962c70l30j] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sync-results__label[b-962c70l30j] {
    font-size: 12px;
    color: #6b7280;
}

.sync-results__item > span:last-child[b-962c70l30j] {
    font-size: 14px;
    color: #1f2937;
}

/* ── Summary (Step 3) ── */
.onboarding-summary[b-962c70l30j] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px;
}

.onboarding-summary__section[b-962c70l30j] {
    background: #f9fafb;
    border-radius: 8px;
    padding: 16px;
}

.onboarding-summary__section h3[b-962c70l30j] {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin: 0 0 8px;
}

.onboarding-summary__row[b-962c70l30j] {
    display: flex;
    gap: 8px;
    font-size: 14px;
    padding: 3px 0;
}

.onboarding-summary__row span[b-962c70l30j] {
    color: #6b7280;
    min-width: 100px;
}

/* ── Confirm checkbox ── */
.onboarding-confirm[b-962c70l30j] {
    margin: 16px 0;
}

.onboarding-confirm label[b-962c70l30j] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
}

.onboarding-confirm input[type="checkbox"][b-962c70l30j] {
    width: 16px;
    height: 16px;
    accent-color: #2563eb;
}
/* /Components/Shared/OnboardingDialog.razor.rz.scp.css */
.onboarding-form[b-xckdwpr2gl] {
    max-width: 480px;
    margin: 3rem auto;
    padding: 2rem;
}

.onboarding-form__title[b-xckdwpr2gl] {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
}

.onboarding-form__description[b-xckdwpr2gl] {
    color: var(--fod-color-text-secondary, #64748b);
    margin: 0 0 2rem;
}

.onboarding-form__fields[b-xckdwpr2gl] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.onboarding-form__error[b-xckdwpr2gl] {
    color: var(--fod-color-error, #dc2626);
    font-size: 0.875rem;
    margin-top: 1rem;
}

.onboarding-form__actions[b-xckdwpr2gl] {
    margin-top: 2rem;
}
/* /Components/Shared/SessionWarning.razor.rz.scp.css */
/* ── Overlay ── */
.session-overlay[b-m3uimclk5l] {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(16, 24, 40, 0.6);
    backdrop-filter: blur(4px);
    animation: fadeIn-b-m3uimclk5l 0.2s ease;
}

@keyframes fadeIn-b-m3uimclk5l {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ── Dialog ── */
.session-dialog[b-m3uimclk5l] {
    background: #fff;
    border-radius: 12px;
    padding: 32px;
    max-width: 440px;
    width: 90vw;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    text-align: center;
    animation: slideUp-b-m3uimclk5l 0.25s ease;
}

@keyframes slideUp-b-m3uimclk5l {
    from { transform: translateY(16px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.session-dialog__icon[b-m3uimclk5l] {
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    color: #f79009;
    background: #fffaeb;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.session-dialog__icon svg[b-m3uimclk5l] {
    width: 100%;
    height: 100%;
}

.session-dialog__title[b-m3uimclk5l] {
    font-size: 18px;
    font-weight: 600;
    color: #101828;
    margin: 0 0 8px 0;
}

.session-dialog__text[b-m3uimclk5l] {
    font-size: 14px;
    color: #667085;
    line-height: 1.5;
    margin: 0 0 24px 0;
}

.session-dialog__text strong[b-m3uimclk5l] {
    color: #101828;
    font-variant-numeric: tabular-nums;
}

.session-dialog__note[b-m3uimclk5l] {
    font-size: 12px;
    color: #d92d20;
    font-style: italic;
}

.session-dialog__actions[b-m3uimclk5l] {
    display: flex;
    justify-content: center;
    gap: 12px;
}
/* /Components/Shared/Spinner.razor.rz.scp.css */
/* Spinner — ported from MUD _spinner.scss */

.spinner[b-g6eko4s8dv] {
    display: inline-block;
    border-radius: 50%;
    border-style: solid;
    border-top-color: transparent !important;
    animation: spinner-rotate-b-g6eko4s8dv 0.8s linear infinite;
}

/* Sizes */
.spinner--extra-small[b-g6eko4s8dv] {
    width: 12px;
    height: 12px;
    border-width: 2px;
}

.spinner--small[b-g6eko4s8dv] {
    width: 16px;
    height: 16px;
    border-width: 2px;
}

.spinner--medium[b-g6eko4s8dv] {
    width: 26px;
    height: 26px;
    border-width: 3px;
}

.spinner--large[b-g6eko4s8dv] {
    width: 34px;
    height: 34px;
    border-width: 3px;
}

/* Styles */
.spinner--brand[b-g6eko4s8dv] {
    border-color: var(--blue-sky-600, #0058D2);
}

.spinner--dark[b-g6eko4s8dv] {
    border-color: var(--black, #121212);
}

@keyframes spinner-rotate-b-g6eko4s8dv {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* /Components/Shared/Tabs.razor.rz.scp.css */
/* MUD-based tab styles */
[b-bn5omg90v7] .tabs .tab-buttons {
    display: flex;
    gap: var(--spacing-8, 8px);
    border-bottom: 1px solid var(--gray-300, #d1d5db);
    width: fit-content;
}

[b-bn5omg90v7] .tabs .tab-button {
    background: transparent;
    border: none;
    padding: var(--spacing-12, 12px) var(--spacing-16, 16px);
    font-size: 16px;
    font-family: "Onest", sans-serif;
    line-height: 1.375;
    cursor: pointer;
    color: var(--gray-700, #374151);
    border-bottom: 2px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: var(--spacing-8, 8px);
    white-space: nowrap;
    transition: all 0.2s ease;
}

[b-bn5omg90v7] .tabs .tab-button:hover {
    color: var(--gray-900, #111827);
}

[b-bn5omg90v7] .tabs .tab-button.active {
    color: var(--blue-sky-600, #0058D2);
    border-color: var(--blue-sky-600, #0058D2);
    font-weight: 600;
}

[b-bn5omg90v7] .tabs .tab-button:focus {
    outline: none;
}

[b-bn5omg90v7] .tabs .tab-button:focus-visible {
    outline: 3px solid var(--blue-sky-600, #0058D2);
    outline-offset: 2px;
}

[b-bn5omg90v7] .tabs .tab-button .icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

[b-bn5omg90v7] .tabs .tab-button .badge {
    background-color: var(--gray-100, #f1f1f1);
    border-radius: 9999px;
    color: var(--black, #121212);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    height: 24px;
    width: 24px;
}

[b-bn5omg90v7] .tabs .tab-button .badge--sm {
    height: 20px;
    width: 20px;
    font-size: 12px;
    line-height: 16px;
}

[b-bn5omg90v7] .tabs .tab-panels {
    margin-top: var(--spacing-16, 16px);
}

/* Small variant */
[b-bn5omg90v7] .tabs--sm .tab-button {
    padding: var(--spacing-8, 8px) var(--spacing-12, 12px);
    font-size: 14px;
    line-height: 1.25;
}

@media (max-width: 576px) {
    [b-bn5omg90v7] .tabs .tab-button {
        font-size: 14px;
    }
}
/* /Components/Shared/ThemeToggle.razor.rz.scp.css */
.theme-toggle[b-3i2y7l4mu2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 8px;
    background: var(--color-bg-raised, #fff);
    color: var(--color-text-muted, #6b7280);
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.theme-toggle:hover[b-3i2y7l4mu2] {
    background: var(--color-bg-muted, #f9fafb);
    color: var(--color-text, #1d2939);
    border-color: var(--color-border-strong, #d1d5db);
}
.theme-toggle:focus-visible[b-3i2y7l4mu2] {
    outline: 3px solid var(--color-accent, #2563eb);
    outline-offset: 2px;
}
/* /Components/Shared/TrancheRequestDialog.razor.rz.scp.css */
.tranche-dialog__field[b-oqduvj7c8h] { margin-bottom: 12px; }
.tranche-dialog__field label[b-oqduvj7c8h] { display: block; font-size: 13px; font-weight: 500; color: #344054; margin-bottom: 4px; }
.tranche-dialog__field input[b-oqduvj7c8h], .tranche-dialog__field textarea[b-oqduvj7c8h] {
    width: 100%; padding: 8px 12px; border: 1px solid #d0d5dd;
    border-radius: 6px; font-size: 13px; font-family: inherit;
    box-sizing: border-box; resize: vertical;
}
.tranche-dialog__check[b-oqduvj7c8h] { margin-bottom: 16px; }
.tranche-dialog__check label[b-oqduvj7c8h] { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #374151; cursor: pointer; line-height: 1.5; }
.tranche-dialog__check input[type="checkbox"][b-oqduvj7c8h] { margin-top: 3px; accent-color: #2563eb; }
.tranche-dialog__actions[b-oqduvj7c8h] { display: flex; justify-content: flex-end; gap: 8px; }
/* /Components/Shared/WelcomeTour.razor.rz.scp.css */
.tour-overlay[b-u8mvic8en7] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 999;
    backdrop-filter: blur(2px);
}

.tour-card[b-u8mvic8en7] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 32px);
    max-width: 480px;
    background: var(--color-bg-raised, #fff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
    padding: 24px 26px;
    z-index: 1000;
    color: var(--color-text, #1d2939);
}

.tour-card__progress[b-u8mvic8en7] {
    font-size: 12px;
    color: var(--color-text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 500;
    margin-bottom: 12px;
}
.tour-card__progress-bar[b-u8mvic8en7] {
    margin-top: 6px;
    height: 4px;
    background: var(--color-border, #e5e7eb);
    border-radius: 2px;
    overflow: hidden;
}
.tour-card__progress-fill[b-u8mvic8en7] {
    height: 100%;
    background: var(--color-accent, #2563eb);
    transition: width 0.25s;
}

.tour-card__title[b-u8mvic8en7] {
    margin: 10px 0 8px;
    font-size: 18px;
    font-weight: 600;
    color: var(--color-text, #1d2939);
}
.tour-card__text[b-u8mvic8en7] {
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--color-text-muted, #4b5563);
}

.tour-card__actions[b-u8mvic8en7] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}
.tour-card__btn[b-u8mvic8en7] {
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
}
.tour-card__btn--ghost[b-u8mvic8en7] {
    background: transparent;
    color: var(--color-text-muted, #6b7280);
    border-color: var(--color-border, #d1d5db);
}
.tour-card__btn--ghost:hover[b-u8mvic8en7] {
    background: var(--color-bg-muted, #f9fafb);
    color: var(--color-text, #374151);
}
.tour-card__btn--primary[b-u8mvic8en7] {
    background: var(--color-accent, #2563eb);
    color: #fff;
    border-color: var(--color-accent, #2563eb);
}
.tour-card__btn--primary:hover[b-u8mvic8en7] { background: var(--color-accent-hover, #1d4ed8); }
/* /Components/Shared/WithdrawDialog.razor.rz.scp.css */
.withdraw-dialog__message[b-ujl61okjex] { font-size: 14px; color: #374151; margin: 0 0 12px; }
.withdraw-dialog__field[b-ujl61okjex] { margin-bottom: 16px; }
.withdraw-dialog__field label[b-ujl61okjex] { display: block; font-size: 13px; font-weight: 500; color: #344054; margin-bottom: 6px; }
.withdraw-dialog__field textarea[b-ujl61okjex] {
    width: 100%; padding: 8px 12px; border: 1px solid #d0d5dd;
    border-radius: 6px; font-size: 13px; font-family: inherit;
    resize: vertical; box-sizing: border-box;
}
.withdraw-dialog__actions[b-ujl61okjex] { display: flex; justify-content: flex-end; gap: 8px; }
/* /Components/Shared/WizardSidebar.razor.rz.scp.css */
.wizard-sidebar[b-pal58ygqa2] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: sticky;
    top: 16px;
    align-self: flex-start;
}

.wizard-sidebar__title[b-pal58ygqa2] {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin: 0;
}

/* ── Steps ── */
.wizard-sidebar__steps[b-pal58ygqa2] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    /* Generous vertical breathing room between steps so the connector line is
       clearly visible and labels never crowd each other. Increased to 24px so
       the connector line can sit centered between markers with ~8px clean gap
       on each side, without touching the bullets. */
    gap: 24px;
}

.wizard-sidebar__step[b-pal58ygqa2] {
    position: relative;
}

/* Vertical connector line between steps. Centered on the 28px-wide marker
   (14px center − 1px half-width = 13px left). Starts 8px below the current
   marker and ends 8px above the next marker so the line never visually
   touches the bullets, leaving a clean breathing gap on both ends.
   Math: marker bottom = y32 (4px button padding + 28px marker), next marker
   top = y32 + 4 + 24 (gap) + 4 = y64; line top: 40, bottom: -20 yields y56. */
.wizard-sidebar__step:not(:last-child)[b-pal58ygqa2]::after {
    content: '';
    position: absolute;
    left: 15px;
    top: 40px;
    bottom: -20px;
    width: 2px;
    background: #e5e7eb;
}

.wizard-sidebar__step--done:not(:last-child)[b-pal58ygqa2]::after,
.wizard-sidebar__step--active:not(:last-child)[b-pal58ygqa2]::after {
    background: #2563eb;
}

.wizard-sidebar__step-btn[b-pal58ygqa2] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 4px 0;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    color: inherit;
}

.wizard-sidebar__step-btn:disabled[b-pal58ygqa2] {
    cursor: default;
}

[b-pal58ygqa2] .wizard-sidebar__step-marker {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 50%;
    background: #fff;
    color: #9ca3af;
    border: 2px solid #e5e7eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
    z-index: 1;
    position: relative;
}

[b-pal58ygqa2] .wizard-sidebar__step-marker svg {
    width: 14px;
    height: 14px;
}

/* completed — solid blue circle with white check icon */
.wizard-sidebar__step--done[b-pal58ygqa2]  .wizard-sidebar__step-marker {
    background: #2563eb;
    color: #fff;
    border-color: #2563eb;
}

/* current — white circle with blue ring + blue number (NOT filled).
   This visually distinguishes the in-progress step from completed ones,
   per the MUD reference. Slightly thicker border for emphasis. */
.wizard-sidebar__step--active[b-pal58ygqa2]  .wizard-sidebar__step-marker {
    background: #fff;
    color: #2563eb;
    border-color: #2563eb;
    border-width: 2px;
}

.wizard-sidebar__step-text[b-pal58ygqa2] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.wizard-sidebar__step-label[b-pal58ygqa2] {
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    line-height: 1.3;
}

.wizard-sidebar__step--active .wizard-sidebar__step-label[b-pal58ygqa2] {
    color: #1e3a8a;
    font-weight: 600;
}

.wizard-sidebar__step--done .wizard-sidebar__step-label[b-pal58ygqa2] {
    color: #1f2937;
}

/* ── Progress ── */
.wizard-sidebar__progress[b-pal58ygqa2] {
    border-top: 1px solid #f3f4f6;
    padding-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wizard-sidebar__progress-meta[b-pal58ygqa2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: #4b5563;
}

.wizard-sidebar__progress-pct[b-pal58ygqa2] {
    font-weight: 600;
    color: #1f2937;
}

.wizard-sidebar__progress-bar[b-pal58ygqa2] {
    height: 6px;
    background: #f3f4f6;
    border-radius: 3px;
    overflow: hidden;
}

.wizard-sidebar__progress-fill[b-pal58ygqa2] {
    height: 100%;
    background: #2563eb;
    transition: width 0.2s ease;
}

.wizard-sidebar__autosave[b-pal58ygqa2] {
    font-size: 12px;
    color: #9ca3af;
    margin-top: 2px;
}

/* ── Footer slot (info card etc.) ── */
.wizard-sidebar__footer[b-pal58ygqa2] {
    border-top: 1px solid #f3f4f6;
    padding-top: 14px;
}

@media (max-width: 900px) {
    .wizard-sidebar[b-pal58ygqa2] {
        position: static;
    }
}
/* /Components/Shared/WizardStepIndicator.razor.rz.scp.css */
/* Progress tracker — MUD design system style */

.progress-tracker[b-wgp4t3o8zc] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    padding: 1rem 0;
    margin-bottom: 2rem;
    border-bottom: 1px solid #e5e7eb;
}

/* ── Connector lines ── */
[b-wgp4t3o8zc] .progress-tracker__line {
    flex: 1;
    height: 1.5px;
    background-color: var(--gray-200, #e5e5e5);
    /* margin-top calibrat la centrul cercului (11px = 22/2) ca linia să rămână
       aliniată chiar dacă etichetele se înfășoară pe mai multe rânduri. */
    margin: 11px 8px 0;
    flex-shrink: 0;
    align-self: flex-start;
}

[b-wgp4t3o8zc] .progress-tracker__line--active {
    background-color: var(--blue-sky-600, #0058D2);
}

/* ── Step — fixed width so layout is identical regardless of state ── */
[b-wgp4t3o8zc] .progress-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 0 0 120px !important;
    width: 120px !important;
    min-width: 120px !important;
    position: relative;
}

/* Kill any inherited ::after lines from FOD global CSS */
[b-wgp4t3o8zc] .progress-step::after {
    display: none !important;
}

[b-wgp4t3o8zc] .progress-cell {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

/* ── Circle ── */
[b-wgp4t3o8zc] .progress-step__circle {
    width: 22px !important;
    height: 22px !important;
    border-radius: 9999px;
    border: 1.5px solid var(--gray-300, #e0e0e0);
    background-color: #fff;
    color: var(--gray-300, #b2b2b2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    line-height: 1;
    font-weight: 500;
    transition: all 0.2s ease;
}

/* ── Label — same style for all states ── */
[b-wgp4t3o8zc] .progress-step__label {
    font-size: 0.8125rem !important;
    color: var(--gray-700, #525252) !important;
    text-align: center;
    user-select: none;
    /* Permitem înfășurarea pe mai multe rânduri ca etichetele lungi
       (ex. „Selectează training (prezență fizică)") să nu se suprapună
       cu vecinii. Fiecare etichetă rămâne în lățimea pasului ei (120px). */
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.3 !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    max-width: 100%;
}

/* ── Completed — only circle changes ── */
[b-wgp4t3o8zc] .progress-step--completed .progress-step__circle {
    background-color: var(--blue-sky-600, #0058D2);
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='10' viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11.3268 0.19795C11.6593 0.488895 11.693 0.994305 11.4021 1.32681L4.40206 9.32681C4.25626 9.49345 4.04792 9.5922 3.82662 9.59957C3.60533 9.60694 3.39088 9.52226 3.23431 9.3657L0.234315 6.3657C-0.0781049 6.05328-0.0781049 5.54675 0.234315 5.23433C0.546734 4.92191 1.05327 4.92191 1.36569 5.23433L3.76103 7.62967L10.1979 0.273207C10.4889-0.059302 10.9943-0.092996 11.3268 0.19795Z' fill='white'/%3E%3C/svg%3E%0A");
    background-position: center;
    background-repeat: no-repeat;
    border-color: var(--blue-sky-600, #0058D2);
    color: #fff;
    text-indent: -99999px;
}
