/* Shell layout & design tokens (sw-* utilities live in utilities.css) */
:root {
    /* scroll bar */
    --sw-scroll-bar-negative-width: -1rem;
    --sw-scroll-bar-width: 1rem;
    --border: 1px solid var(--sw-gray-200);
    --border-300: 1px solid var(--sw-gray-300);
    /* navigation */
    --sw-navigation-links-gap: .375rem;
    --sw-navigation-links-collapsed-gap: .375rem;
    --sw-navigation-links-collapsed-max-width: calc(4.525rem);
    --sw-top-header-height: 4.5rem;
    --sw-navigation-mobile-icon-font-size: 1.25rem;
    --sw-left-sidebar-width: 16rem;
    /* modal */
    --sw-modal-padding: 1.5rem;
    /* shadows */
    --sw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
    --sw-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px 0 rgba(0, 0, 0, 0.05);
    /* type faces — Cabin for titles (css/cabin/cabin.css), Inter for everything else */
    --sw-font-ui: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --sw-font-title: 'Cabin', 'Inter', Arial, sans-serif;
    /* pre-auth chrome (Figma Login) */
    --sw-auth-page-gradient-end: #EBEBEB;
    --sw-auth-page-gradient: linear-gradient(153.67deg, #FFFFFF 12.74%, var(--sw-auth-page-gradient-end) 77.9%);
    --sw-auth-card-width: 585px;
    --sw-auth-card-radius: 6px;
    --sw-auth-card-padding-x: 56px;
    --sw-auth-card-padding-y: 64px;
    --sw-auth-button-radius: 8px;
    --sw-auth-section-gap: 3rem;
    --sw-auth-card-footer-gap: 2rem;
    --sw-auth-secondary-gap: 0.5rem;
} 

/* colors */
:root {
    --sw-background: #F5F5F5;
    --sw-black: #000000;
    --sw-blue-50: #EBF5FF;
    --sw-blue-100: #E1EFFE;
    --sw-blue-200: #C3DDFD;
    --sw-blue-300: #A4CAFE;
    --sw-blue-400: #76A9FA;
    --sw-blue-500: #3F83F8;
    --sw-blue-600: #1C64F2;
    --sw-blue-700: #1A56DB;
    --sw-blue-800: #1E429F;
    --sw-blue-900: #233876;
    --sw-gray-50: #F9FAFB;
    --sw-gray-100: #F3F4F6;
    --sw-gray-200: #E5E7EB;
    --sw-gray-300: #D1D5DB;
    --sw-gray-400: #9CA3AF;
    --sw-gray-500: #6B7280;
    --sw-gray-600: #4B5563;
    --sw-gray-700: #374151;
    --sw-gray-800: #1F2A37;
    --sw-gray-900: #111928;
    --sw-green-50: #F3FAF7;
    --sw-green-100: #DEF7EC;
    --sw-green-200: #BCF0DA;
    --sw-green-300: #84E1BC;
    --sw-green-400: #31C48D;
    --sw-green-500: #0E9F6E;
    --sw-green-600: #057A55;
    --sw-green-700: #046C4E;
    --sw-green-800: #03543F;
    --sw-green-900: #014737;
    --sw-indigo-50: #F0F5FF;
    --sw-indigo-100: #E5EDFF;
    --sw-indigo-200: #CDDBFE;
    --sw-indigo-300: #B4C6FC;
    --sw-indigo-400: #8DA2FB;
    --sw-indigo-500: #6875F5;
    --sw-indigo-600: #5850EC;
    --sw-indigo-700: #5145CD;
    --sw-indigo-800: #42389D;
    --sw-indigo-900: #362F78;
    --sw-orange-50: #FFF8F1;
    --sw-orange-100: #FEECDC;
    --sw-orange-200: #FCD9BD;
    --sw-orange-300: #FDBA8C;
    --sw-orange-400: #FF8A4C;
    --sw-orange-500: #FF5A1F;
    --sw-orange-600: #D03801;
    --sw-orange-700: #B43403;
    --sw-orange-800: #8A2C0D;
    --sw-orange-900: #771D1D;
    --sw-pink-50: #FDF2F8;
    --sw-pink-100: #FCE8F3;
    --sw-pink-200: #FAD1E8;
    --sw-pink-300: #F8B4D9;
    --sw-pink-400: #F17EB8;
    --sw-pink-500: #E74694;
    --sw-pink-600: #D61F69;
    --sw-pink-700: #BF125D;
    --sw-pink-800: #99154B;
    --sw-pink-900: #751A3D;
    --sw-primary-50: #EBF5FF;
    --sw-primary-100: #E1EFFE;
    --sw-primary-200: #C3DDFD;
    --sw-primary-300: #A4CAFE;
    --sw-primary-400: #76A9FA;
    --sw-primary-500: #3F83F8;
    --sw-primary-600: #1C64F2;
    --sw-primary-700: #1A56DB;
    --sw-primary-800: #1E429F;
    --sw-primary-900: #233876;
    --sw-purple-50: #F6F5FF;
    --sw-purple-100: #EDEBFE;
    --sw-purple-200: #DCD7FE;
    --sw-purple-300: #CABFFD;
    --sw-purple-400: #AC94FA;
    --sw-purple-500: #9061F9;
    --sw-purple-600: #7E3AF2;
    --sw-purple-700: #6C2BD9;
    --sw-purple-800: #5521B5;
    --sw-purple-900: #4A1D96;
    --sw-red-50: #FDF2F2;
    --sw-red-100: #FDE8E8;
    --sw-red-200: #FBD5D5;
    --sw-red-300: #F8B4B4;
    --sw-red-400: #F98080;
    --sw-red-500: #F05252;
    --sw-red-600: #E02424;
    --sw-red-700: #C81E1E;
    --sw-red-800: #9B1C1C;
    --sw-red-900: #771D1D;
    --sw-social-dribbble: #EA4C89;
    --sw-social-facebook: #35518D;
    --sw-social-github: #1B1F23;
    --sw-social-google: #4284F4;
    --sw-social-twitter: #1DA1F2;
    --sw-teal-50: #EDFAFA;
    --sw-teal-100: #D5F5F6;
    --sw-teal-200: #AFECEF;
    --sw-teal-300: #7EDCE2;
    --sw-teal-400: #16BDCA;
    --sw-teal-500: #0694A2;
    --sw-teal-600: #047481;
    --sw-teal-700: #036672;
    --sw-teal-800: #05505C;
    --sw-teal-900: #014451;
    --sw-white: #FFFFFF;
    --sw-yellow-50: #FDFDEA;
    --sw-yellow-100: #FDF6B2;
    --sw-yellow-200: #FCE96A;
    --sw-yellow-300: #FACA15;
    --sw-yellow-400: #E3A008;
    --sw-yellow-500: #C27803;
    --sw-yellow-600: #9F580A;
    --sw-yellow-700: #8E4B10;
    --sw-yellow-800: #723B13;
    --sw-yellow-900: #633112;
    --sw-border-subtle: #DEE2E6;
    --sw-surface-muted: #F8F9FA;
    --sw-text: var(--sw-gray-600);
}

/* fonts */
html, body {
    min-height: 100vh;
    font-family: var(--sw-font-ui);
    color: var(--sw-gray-600);
    font-style: normal;
    line-height: 150%;
    background: var(--sw-background);
}

.sw-f-11-5 {
    font-size: 11px;
    font-weight: 500;
    line-height: 150%;
}

.sw-f-11-4 {
    font-size: 11px;
    font-weight: 400;
    line-height: 150%;
}

.sw-f-xs, .sw-f-12-4 {
    font-size: 12px;
    font-weight: 400;
    line-height: 125%;
}

.sw-f-12-5 {
    font-size: 12px;
    font-weight: 500;
    line-height: 125%;
}

.sw-f-12-4-150 {
    font-size: 12px;
    font-weight: 400;
    line-height: 150%;
}

.sw-f-xs-m {
    font-size: 12px;
    font-weight: 500;
    line-height: 150%;
}

.sw-f-xs-sb, .sw-f-12-6 {
    font-size: 12px;
    font-weight: 600;
    line-height: 150%;
}

.sw-f-sm {
    font-size: 14px;
    font-weight: 300;
    line-height: 150%;
}

.sw-f-14-4 {
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
}

.sw-f-sm-m, .sw-f-14-5 {
    font-size: 14px;
    font-weight: 500;
    line-height: 150%;
}

.sw-f-32-5 {
    font-size: 32px;
    font-weight: 500;
    line-height: 120%;
}

.sw-f-sm-sb, .sw-f-14-6 {
    font-size: 14px;
    font-weight: 600;
    line-height: 150%;
}

.sw-f-sm-b, .sw-f-14-7 {
    font-size: 14px;
    font-weight: 700;
    line-height: 150%;
}

.sw-f-16-4 {
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
}

.sw-f-md-m, .sw-f-16-5 {
    font-size: 16px;
    font-weight: 500;
    line-height: 150%;
}

.sw-f-m-b {
    font-size: 14px;
    font-weight: 600;
    line-height: 150%;
}

.sw-f-md-b, .sw-f-16-7 {
    font-size: 16px;
    font-weight: 700;
    line-height: 150%;
}

.sw-f-md-sb, .sw-f-16-6 {
    font-size: 16px;
    font-weight: 600;
    line-height: 150%;
}

.sw-f-lg-sb {
    font-size: 18px;
    font-weight: 600;
    line-height: 150%;
}

.sw-f-lg-b, .sw-f-18-7 {
    font-size: 18px;
    font-weight: 700;
    line-height: 130%;
}

.sw-f-18-6 {
    font-size: 18px;
    font-weight: 600;
    line-height: 130%;
}

.sw-f-xl-b {
    font-size: 20px;
    font-weight: 700;
    line-height: 150%;
}

/* Muted caption (helper / secondary line); use instead of Bootstrap .small.text-muted / .form-text */
.sw-f-xs-muted {
    font-size: 12px;
    font-weight: 400;
    line-height: 150%;
    color: var(--sw-gray-500);
}

/* Transition Helpers */
.opacity-transition-displayed {
    transition-property: margin-left, opacity;
    transition-duration: 0s, 0.4s;
    opacity: 100;
}

.opacity-transition-hidden {
    transition-property: opacity, margin-left;
    transition-delay: 0s, 0.4s;
    transition-duration: 0.4s, 0s;
    opacity: 0;
    margin-left: -600px;
}

/* Auto-Generated */
#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* Blazored toast — above modal chrome (~1060) */
.blazored-toast-container,
.blazored-toast {
    z-index: 1061 !important;
}

/* Reboot underlines <a>; app chrome uses no underline */
a {
    text-decoration: none;
}

/*_grid.scss overrides*/
.row {
    margin-right: 0;
}

* {
    scrollbar-width: thin;
}

component {
    display: none;
}

shell {
    display: contents;
}

/* Tighter type stack than bootstrap-reboot (reboot keeps margin on headings/p) */
h1, h2, h3, h4, h5, h6, p {
    margin: 0;
}

h6 {
    font-size: 12px;
    font-weight: 600;
    line-height: 125%;
    padding-bottom: 0;
    text-transform: uppercase;
}

@keyframes shimmer {
    0% {
        background-position: 100% 0;
    }

    100% {
        background-position: -100% 0;
    }
}

@keyframes fade-in {
    from {
        opacity: 0;
        transform: translateY(.5rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width : 667px) {
    :root {
        --sw-modal-padding: 1rem;
    }
}