/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* --- Page Shell --- */
.page[b-bydd36wfrx] {
    display: flex;
    min-height: 100vh;
    background: var(--background-gradient, var(--background));
}

/* --- Sidebar --- */
.sidebar[b-bydd36wfrx] {
    width: var(--sidebar-width, 260px);
    background-color: var(--sidebar-bg, #002219);
    flex-shrink: 0;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 100;
    overflow-y: auto;
    overflow-x: hidden;
    transition: transform 200ms ease;
}

/* --- Main Content --- */
.main-content[b-bydd36wfrx] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin-left: var(--sidebar-width, 260px);
}

/* --- Top Bar — Translucent --- */
.top-bar[b-bydd36wfrx] {
    height: 3.5rem;
    border-bottom: 1px solid rgba(219, 216, 201, 0.7);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 1.5rem;
    background: rgba(249, 247, 238, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: sticky;
    top: 0;
    z-index: 50;
}

.mobile-menu-toggle[b-bydd36wfrx] {
    display: none;
    background: none;
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    color: var(--foreground, #1d2530);
    border-radius: 9999px;
    margin-right: auto;
}
.mobile-menu-toggle:hover[b-bydd36wfrx] {
    background: var(--muted, #f3f5f7);
}

/* --- Top Bar User Info --- */
.top-bar-user[b-bydd36wfrx] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-right: 1.25rem;
}
.top-bar-avatar[b-bydd36wfrx] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #029e72, #0a3a2c);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8125rem;
    font-weight: 700;
    flex-shrink: 0;
}
.top-bar-greeting[b-bydd36wfrx] {
    font-size: 0.875rem;
    color: var(--foreground, #1d2530);
}

/* --- Page Content --- */
.page-content[b-bydd36wfrx] {
    flex: 1;
    padding: 2rem 2.25rem;
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
}

/* --- Sidebar Overlay (mobile) --- */
.sidebar-overlay[b-bydd36wfrx] {
    display: none;
}

/* --- Error UI --- */
#blazor-error-ui[b-bydd36wfrx] {
    color-scheme: light only;
    background: #fffbeb;
    border-top: 2px solid var(--warning, #f59e0b);
    bottom: 0;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.75rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    font-size: 0.875rem;
}

#blazor-error-ui .dismiss[b-bydd36wfrx] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .sidebar[b-bydd36wfrx] {
        transform: translateX(-100%);
        z-index: 200;
        box-shadow: none;
    }

    .page.sidebar-open > .sidebar[b-bydd36wfrx] {
        transform: translateX(0);
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
    }

    .main-content[b-bydd36wfrx] {
        margin-left: 0;
    }

    .mobile-menu-toggle[b-bydd36wfrx] {
        display: flex;
    }

    .top-bar[b-bydd36wfrx] {
        padding: 0 1rem;
    }

    .page-content[b-bydd36wfrx] {
        padding: 1rem;
    }

    .sidebar-overlay[b-bydd36wfrx] {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.3);
        z-index: 150;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* --- Brand --- */
.nav-brand[b-57sf4xgsbk] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    margin-bottom: 0.5rem;
}

.brand-icon[b-57sf4xgsbk] {
    color: #ffffff;
    flex-shrink: 0;
}

.brand-text[b-57sf4xgsbk] {
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-weight: 700;
    font-size: 1.125rem;
    color: #ffffff;
    letter-spacing: -0.01em;
}

/* --- Navigation --- */
.sidebar-nav[b-57sf4xgsbk] {
    padding: 0 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Section Labels */
.nav-section[b-57sf4xgsbk] {
    padding: 0.75rem 0.5rem 0.375rem;
}

.nav-section-label[b-57sf4xgsbk] {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--sidebar-section-color, rgba(255,255,255,0.45));
}

/* Collapsible Section Toggle */
.nav-section-toggle[b-57sf4xgsbk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    border-radius: 6px;
    margin-top: 0.25rem;
    padding: 0.625rem 0.5rem 0.375rem;
    transition: background 150ms ease;
}
.nav-section-toggle:hover[b-57sf4xgsbk] {
    background: rgba(255,255,255,0.04);
}
.nav-section-chevron[b-57sf4xgsbk] {
    color: rgba(255,255,255,0.65);
    flex-shrink: 0;
    transition: transform 200ms ease, color 150ms ease;
}
.nav-section-toggle:hover .nav-section-chevron[b-57sf4xgsbk] {
    color: #ffffff;
}
.nav-section-chevron.expanded[b-57sf4xgsbk] {
    transform: rotate(180deg);
}

/* Nav Links */
[b-57sf4xgsbk] .nav-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0.85rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--sidebar-foreground, rgba(255,255,255,0.78));
    border-radius: 10px;
    transition: background 150ms ease, color 150ms ease;
    text-decoration: none;
    line-height: 1.4;
    border: none;
    background: none;
    width: 100%;
    position: relative;
}

[b-57sf4xgsbk] .nav-link:hover {
    background-color: var(--sidebar-hover-bg, rgba(255,255,255,0.05));
    color: #ffffff;
    text-decoration: none;
}

[b-57sf4xgsbk] .nav-link.active {
    background-color: var(--sidebar-active-bg, rgba(255,255,255,0.08));
    color: var(--sidebar-active-text, #ffffff);
    font-weight: 600;
}

[b-57sf4xgsbk] .nav-link.active::before {
    content: '';
    position: absolute;
    left: -0.75rem;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--lime, #c9f967);
}

/* Nav Icons */
.nav-icon[b-57sf4xgsbk] {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    opacity: 0.85;
}

[b-57sf4xgsbk] .nav-link:hover .nav-icon {
    opacity: 1;
}

[b-57sf4xgsbk] .nav-link.active .nav-icon {
    opacity: 1;
    color: var(--sidebar-active-text, #ffffff);
}

/* --- Footer --- */
.nav-footer[b-57sf4xgsbk] {
    margin-top: auto;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 0.75rem;
}

.nav-footer-info[b-57sf4xgsbk] {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    color: rgba(255,255,255,0.45);
}

.nav-footer-info strong[b-57sf4xgsbk] {
    color: rgba(255,255,255,0.7);
}
/* /Components/Pages/Auth/Login.razor.rz.scp.css */
/* ===================================================================
   Login — marketing split-screen (SafePrep brand)
   Layout/brand elements are scoped here; the form itself uses the
   global .form-control / .btn-primary styling from app.css.
   =================================================================== */

.login-split[b-l74i16npo7] {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    min-height: 100vh;
}

/* ---------- Left brand panel ---------- */
.login-brand[b-l74i16npo7] {
    position: relative;
    background: var(--sidebar-bg);
    color: #fff;
    overflow: hidden;
    padding: 48px 56px;
    display: flex;
    flex-direction: column;
}
.login-brand[b-l74i16npo7]::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(201,249,103,0.18), transparent 60%);
    top: -160px;
    right: -160px;
}
.login-brand[b-l74i16npo7]::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%, rgba(2,158,114,0.30), transparent 65%);
    bottom: -160px;
    left: -120px;
}
.login-brand > *[b-l74i16npo7] { position: relative; z-index: 1; }

.login-logo[b-l74i16npo7] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.2rem;
    letter-spacing: -0.01em;
}
.login-logo-mark[b-l74i16npo7] {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--lime);
    color: var(--sidebar-bg);
    display: grid;
    place-items: center;
}
.login-logo-mark.sm[b-l74i16npo7] {
    width: 36px;
    height: 36px;
    border-radius: 11px;
    background: var(--primary);
    color: #fff;
}

.login-eyebrow[b-l74i16npo7] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    margin-top: 64px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #dfe9e2;
}
.login-eyebrow .dot[b-l74i16npo7] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lime);
}

.login-hero[b-l74i16npo7] {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 4.4rem;
    line-height: 0.92;
    letter-spacing: -0.03em;
    margin: 22px 0 0;
    color: #fff;
}
.login-hero .accent[b-l74i16npo7] { color: var(--lime); }

.login-sub[b-l74i16npo7] {
    margin-top: 20px;
    max-width: 30ch;
    color: #bdcabf;
    font-size: 1.02rem;
    line-height: 1.55;
}

/* mini diary card echoing the marketing hero */
.login-diary[b-l74i16npo7] {
    margin-top: auto;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 22px;
    padding: 18px;
    max-width: 340px;
    box-shadow: 0 24px 60px -20px rgba(0,0,0,0.6);
}
.login-diary-title[b-l74i16npo7] {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 1.15rem;
    margin: 2px 2px 14px;
    letter-spacing: -0.01em;
    color: #fff;
}
.login-diary-row[b-l74i16npo7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 999px;
    padding: 10px 16px;
    margin-bottom: 9px;
    font-size: 0.9rem;
}
.login-diary-row.signed[b-l74i16npo7] {
    background: rgba(201,249,103,0.06);
    border-color: rgba(201,249,103,0.18);
}
.login-pill[b-l74i16npo7] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(201,249,103,0.14);
    color: var(--lime);
    font-weight: 600;
    font-size: 0.78rem;
    padding: 4px 11px;
    border-radius: 999px;
}
.login-pill .d[b-l74i16npo7] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--lime);
}
.signed-label[b-l74i16npo7] {
    color: #aebcb0;
    font-size: 0.74rem;
    letter-spacing: 0.04em;
}
.signed-name[b-l74i16npo7] { font-weight: 700; }

/* ---------- Right form panel ---------- */
.login-form-wrap[b-l74i16npo7] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px;
    background: var(--page-bg);
}
.login-card[b-l74i16npo7] {
    width: 100%;
    max-width: 400px;
}
.login-mini-logo[b-l74i16npo7] { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 880px) {
    .login-split[b-l74i16npo7] { grid-template-columns: 1fr; }
    .login-brand[b-l74i16npo7] { display: none; }
    .login-form-wrap[b-l74i16npo7] { padding: 32px 20px; }
    .login-mini-logo[b-l74i16npo7] {
        display: flex;
        align-items: center;
        gap: 10px;
        font-family: var(--font-heading);
        font-weight: 700;
        font-size: 1.15rem;
        margin-bottom: 28px;
    }
}
/* /Components/Pages/Auth/Register.razor.rz.scp.css */
/* Wider card for address step */
.register-card[b-k20ujbj9jg] {
    max-width: 500px;
}

/* Review summary on step 4 */
.review-summary[b-k20ujbj9jg] {
    background: var(--muted);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}

.review-section[b-k20ujbj9jg] {
    margin-bottom: 1rem;
}

.review-section:last-child[b-k20ujbj9jg] {
    margin-bottom: 0;
}

.review-section h6[b-k20ujbj9jg] {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    color: var(--muted-foreground);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 0.35rem;
}

.review-section p[b-k20ujbj9jg] {
    margin: 0;
    color: var(--foreground);
    font-size: 0.9rem;
    line-height: 1.5;
}

/* Step navigation buttons */
.step-nav[b-k20ujbj9jg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.5rem;
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* ===================================================================
   Landing Page — Unauthenticated View
   =================================================================== */

/* --- Animations --- */
@keyframes fadeInUp-b-18brhsakrg {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn-b-18brhsakrg {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* --- Landing Layout --- */
.landing[b-18brhsakrg] {
    display: flex;
    min-height: 100vh;
}

/* --- Hero (left side) --- */
.landing-hero[b-18brhsakrg] {
    flex: 1;
    background: linear-gradient(160deg, #002219 0%, #013528 58%, #04130d 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    position: relative;
    overflow: hidden;
}

/* Subtle background pattern — lime + emerald organic glow */
.landing-hero[b-18brhsakrg]::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 82%, rgba(201,249,103,0.16) 0%, transparent 55%),
        radial-gradient(circle at 82% 18%, rgba(2,158,114,0.30) 0%, transparent 55%);
    pointer-events: none;
}

.hero-content[b-18brhsakrg] {
    position: relative;
    max-width: 520px;
    color: #ffffff;
}

/* Brand */
.hero-brand[b-18brhsakrg] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 2.5rem;
    animation: fadeInUp-b-18brhsakrg 0.6s ease-out both;
}

.hero-brand-text[b-18brhsakrg] {
    font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* Title */
.hero-title[b-18brhsakrg] {
    font-family: 'Archivo Black', 'Plus Jakarta Sans', system-ui, sans-serif;
    font-size: 3.25rem;
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.03em;
    margin: 0 0 1.25rem;
    animation: fadeInUp-b-18brhsakrg 0.6s ease-out 0.1s both;
}

.hero-title .accent[b-18brhsakrg] {
    color: #c9f967;
}

.hero-subtitle[b-18brhsakrg] {
    font-size: 1.1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
    margin: 0 0 2.5rem;
    animation: fadeInUp-b-18brhsakrg 0.6s ease-out 0.2s both;
}

/* Feature list */
.hero-features[b-18brhsakrg] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    animation: fadeInUp-b-18brhsakrg 0.6s ease-out 0.3s both;
}

.hero-feature[b-18brhsakrg] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.85);
}

.hero-feature svg[b-18brhsakrg] {
    flex-shrink: 0;
    opacity: 0.7;
}

/* --- Auth Panel (right side) --- */
.landing-auth[b-18brhsakrg] {
    width: 480px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: var(--page-bg);
    animation: fadeIn-b-18brhsakrg 0.5s ease-out 0.2s both;
}

.landing-auth-card[b-18brhsakrg] {
    width: 100%;
    max-width: 400px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 2rem;
}

/* Tabs */
.auth-tabs[b-18brhsakrg] {
    display: flex;
    gap: 0;
    margin-bottom: 1.75rem;
    border-bottom: 2px solid var(--border);
}

.auth-tab[b-18brhsakrg] {
    flex: 1;
    padding: 0.75rem 0;
    border: none;
    background: none;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--muted-foreground);
    cursor: pointer;
    position: relative;
    transition: color 200ms ease;
}

.auth-tab[b-18brhsakrg]::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background: transparent;
    transition: background-color 200ms ease;
}

.auth-tab.active[b-18brhsakrg] {
    color: var(--primary);
    font-weight: 600;
}

.auth-tab.active[b-18brhsakrg]::after {
    background: var(--primary);
}

.auth-tab:hover:not(.active)[b-18brhsakrg] {
    color: var(--foreground);
}

/* --- Responsive --- */
@media (max-width: 900px) {
    .landing[b-18brhsakrg] {
        flex-direction: column;
    }

    .landing-hero[b-18brhsakrg] {
        padding: 3rem 2rem 2.5rem;
        min-height: auto;
    }

    .hero-title[b-18brhsakrg] {
        font-size: 2rem;
    }

    .hero-subtitle[b-18brhsakrg] {
        margin-bottom: 1.5rem;
    }

    .hero-features[b-18brhsakrg] {
        display: none;
    }

    .landing-auth[b-18brhsakrg] {
        width: 100%;
        padding: 2rem 1.5rem 3rem;
    }
}

@media (max-width: 480px) {
    .landing-hero[b-18brhsakrg] {
        padding: 2rem 1.5rem;
    }

    .hero-title[b-18brhsakrg] {
        font-size: 1.625rem;
    }

    .hero-subtitle[b-18brhsakrg] {
        font-size: 0.95rem;
    }

    .landing-auth-card[b-18brhsakrg] {
        padding: 1.5rem;
        border-radius: 12px;
    }
}
/* /Components/Pages/SafeMethods/SafeMethodDetail.razor.rz.scp.css */
/* Intro paragraph above the form */
.sm-intro[b-z7sbi3mqd0] {
    background: var(--primary-light);
    border-left: 3px solid var(--primary);
    padding: 0.875rem 1.125rem;
    margin-bottom: 1.5rem;
    border-radius: 0 6px 6px 0;
    color: var(--foreground);
    font-size: 0.95rem;
    line-height: 1.55;
}

.sm-intro :deep(p)[b-z7sbi3mqd0] {
    margin: 0;
}

.sm-intro :deep(p + p)[b-z7sbi3mqd0] {
    margin-top: 0.5rem;
}

/* A grouped Safety Point card */
.sm-group[b-z7sbi3mqd0] {
    border: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: 1rem;
    background: #fff;
    overflow: hidden;
}

.sm-group-header[b-z7sbi3mqd0] {
    background: var(--muted);
    padding: 0.875rem 1rem 0.75rem;
    border-bottom: 1px solid var(--border);
}

.sm-safety-point[b-z7sbi3mqd0] {
    display: flex;
    gap: 0.625rem;
    align-items: flex-start;
    color: var(--foreground);
    font-weight: 500;
    line-height: 1.5;
}

.sm-shield-icon[b-z7sbi3mqd0] {
    color: var(--primary);
    flex-shrink: 0;
    margin-top: 2px;
}

.sm-safety-text[b-z7sbi3mqd0] {
    flex: 1;
}

.sm-safety-text :deep(p)[b-z7sbi3mqd0] {
    margin: 0;
}

.sm-safety-text :deep(p + p)[b-z7sbi3mqd0] {
    margin-top: 0.5rem;
}

.sm-safety-text :deep(strong)[b-z7sbi3mqd0] {
    color: var(--foreground);
}

/* Disclosure: Why / Guidance */
.sm-why[b-z7sbi3mqd0],
.sm-guidance[b-z7sbi3mqd0] {
    margin-top: 0.625rem;
    margin-left: 1.625rem;
}

.sm-why summary[b-z7sbi3mqd0],
.sm-guidance summary[b-z7sbi3mqd0] {
    list-style: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--primary);
    font-size: 0.8125rem;
    font-weight: 500;
    padding: 0.25rem 0;
    user-select: none;
}

.sm-why summary[b-z7sbi3mqd0]::-webkit-details-marker,
.sm-guidance summary[b-z7sbi3mqd0]::-webkit-details-marker {
    display: none;
}

.sm-why summary[b-z7sbi3mqd0]::after,
.sm-guidance summary[b-z7sbi3mqd0]::after {
    content: "▾";
    font-size: 0.7rem;
    transition: transform 0.15s;
}

.sm-why[open] summary[b-z7sbi3mqd0]::after,
.sm-guidance[open] summary[b-z7sbi3mqd0]::after {
    transform: rotate(180deg);
}

.sm-why summary:hover[b-z7sbi3mqd0],
.sm-guidance summary:hover[b-z7sbi3mqd0] {
    color: var(--primary-hover);
}

.sm-why-body[b-z7sbi3mqd0] {
    padding: 0.5rem 0 0.25rem;
    color: var(--muted-foreground);
    font-size: 0.875rem;
    line-height: 1.55;
}

.sm-why-body :deep(p)[b-z7sbi3mqd0] {
    margin: 0;
}

.sm-why-body :deep(p + p)[b-z7sbi3mqd0] {
    margin-top: 0.5rem;
}

.sm-why-body :deep(ul)[b-z7sbi3mqd0] {
    margin: 0.25rem 0;
    padding-left: 1.25rem;
}

/* Form fields inside a group */
.sm-group-fields[b-z7sbi3mqd0] {
    padding: 1rem;
}

.sm-field + .sm-field[b-z7sbi3mqd0] {
    margin-top: 1rem;
}

/* Solo groups (no SafetyPoint) — render fields without the heading chrome */
.sm-group:has(> .sm-group-fields:only-child)[b-z7sbi3mqd0] {
    border: none;
    background: transparent;
    margin-bottom: 0.75rem;
}

.sm-group:has(> .sm-group-fields:only-child) > .sm-group-fields[b-z7sbi3mqd0] {
    padding: 0;
}

/* Reference & Guidance accordions */
.sm-ref[b-z7sbi3mqd0] {
    border-top: 1px solid var(--border);
    padding: 0.625rem 0;
}

.sm-ref:first-of-type[b-z7sbi3mqd0] {
    border-top: none;
    padding-top: 0.25rem;
}

.sm-ref summary[b-z7sbi3mqd0] {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    user-select: none;
    padding: 0.25rem 0;
}

.sm-ref summary[b-z7sbi3mqd0]::-webkit-details-marker {
    display: none;
}

.sm-ref summary[b-z7sbi3mqd0]::after {
    content: "▾";
    font-size: 0.75rem;
    color: #8a9d94;
    margin-left: auto;
    transition: transform 0.15s;
}

.sm-ref[open] summary[b-z7sbi3mqd0]::after {
    transform: rotate(180deg);
}

.sm-ref-label[b-z7sbi3mqd0] {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.2rem 0.625rem;
    border-radius: 4px;
    letter-spacing: 0.01em;
}

.sm-ref-check[b-z7sbi3mqd0] { background: #ecfdf5; color: #047857; }
.sm-ref-prove[b-z7sbi3mqd0] { background: #eff6ff; color: #1d4ed8; }
.sm-ref-think[b-z7sbi3mqd0] { background: #fef3c7; color: #92400e; }
.sm-ref-wrong[b-z7sbi3mqd0] { background: #fee2e2; color: #b91c1c; }
.sm-ref-stop[b-z7sbi3mqd0]  { background: #f3e8ff; color: #6b21a8; }
.sm-ref-manage[b-z7sbi3mqd0] { background: #f1efe6; color: #3d5d54; }

.sm-ref-body[b-z7sbi3mqd0] {
    padding: 0.625rem 0 0.25rem;
    color: var(--foreground);
    font-size: 0.9rem;
    line-height: 1.6;
}

.sm-ref-body :deep(p)[b-z7sbi3mqd0] {
    margin: 0 0 0.625rem;
}

.sm-ref-body :deep(p:last-child)[b-z7sbi3mqd0] {
    margin-bottom: 0;
}

.sm-ref-body :deep(ul)[b-z7sbi3mqd0] {
    margin: 0.375rem 0;
    padding-left: 1.5rem;
}

.sm-ref-body :deep(ul li + li)[b-z7sbi3mqd0] {
    margin-top: 0.25rem;
}

.sm-ref-body :deep(strong)[b-z7sbi3mqd0] {
    color: var(--foreground);
}

/* Markdown defaults */
.markdown-content :deep(p:first-child)[b-z7sbi3mqd0] { margin-top: 0; }
.markdown-content :deep(p:last-child)[b-z7sbi3mqd0] { margin-bottom: 0; }
/* /Components/Shared/BusinessSwitcher.razor.rz.scp.css */
.business-switcher[b-eve4bn3ttv] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    background: var(--background, #ffffff);
    border: 1px solid var(--border, #d4dae2);
    border-radius: 10px;
    padding: 0.625rem 1rem;
    margin-left: auto;
    position: relative;
    cursor: pointer;
    transition: all 150ms ease;
    user-select: none;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    min-height: 40px;
}

.business-switcher:hover[b-eve4bn3ttv] {
    background: var(--background, #ffffff);
    border-color: var(--primary, #029e72);
    box-shadow: 0 0 0 3px rgba(2, 158, 114, 0.15);
}

.business-switcher-icon[b-eve4bn3ttv] {
    color: var(--primary, #029e72);
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

.business-switcher-name[b-eve4bn3ttv] {
    font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--foreground, #1d2530);
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: -0.005em;
}

.business-switcher-chevron[b-eve4bn3ttv] {
    color: var(--foreground, #1d2530);
    flex-shrink: 0;
    transition: transform 200ms ease;
    opacity: 0.85;
}

.business-switcher:hover .business-switcher-chevron[b-eve4bn3ttv] {
    color: var(--primary, #029e72);
    opacity: 1;
}

.business-switcher-chevron.open[b-eve4bn3ttv] {
    transform: rotate(180deg);
}

/* Dropdown */
.business-switcher-dropdown[b-eve4bn3ttv] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 100%;
    background: var(--background, #ffffff);
    border: 1px solid var(--border, #dbd8c9);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
    padding: 0.375rem;
    z-index: 200;
    animation: dropdownFade-b-eve4bn3ttv 150ms ease;
}

@keyframes dropdownFade-b-eve4bn3ttv {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.business-switcher-option[b-eve4bn3ttv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--foreground, #1d2530);
    border-radius: 8px;
    cursor: pointer;
    transition: background 150ms ease;
    white-space: nowrap;
}

.business-switcher-option:hover[b-eve4bn3ttv] {
    background: var(--muted, #f3f5f7);
}

.business-switcher-option.active[b-eve4bn3ttv] {
    color: var(--primary, #029e72);
    font-weight: 600;
}

.business-switcher-option.active svg[b-eve4bn3ttv] {
    color: var(--primary, #029e72);
}

/* Single business - no dropdown */
.business-switcher-single[b-eve4bn3ttv] {
    cursor: default;
}
.business-switcher-single:hover[b-eve4bn3ttv] {
    background: var(--muted, #f3f5f7);
    border-color: var(--border, #dbd8c9);
    box-shadow: none;
}

@media (max-width: 768px) {
    .business-switcher[b-eve4bn3ttv] {
        padding: 0.5rem 0.75rem;
        min-height: 36px;
    }

    .business-switcher-name[b-eve4bn3ttv] {
        max-width: 140px;
        font-size: 0.8125rem;
    }
}
/* /Components/Shared/OnboardingStepIndicator.razor.rz.scp.css */
.step-indicator[b-1hsysnd23x] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    gap: 0;
}

.step-item[b-1hsysnd23x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    position: relative;
}

.step-circle[b-1hsysnd23x] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    font-family: 'Plus Jakarta Sans', sans-serif;
    transition: all 200ms ease;
}

.step-label[b-1hsysnd23x] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--muted-foreground);
    font-family: 'Inter', system-ui, sans-serif;
    white-space: nowrap;
}

.step-line[b-1hsysnd23x] {
    width: 48px;
    height: 2px;
    background: var(--border);
    margin: 0 0.25rem;
    margin-bottom: 1.5rem;
    transition: background 200ms ease;
}

.step-line-active[b-1hsysnd23x] {
    background: var(--primary);
}

/* States */
.step-completed .step-circle[b-1hsysnd23x] {
    background: var(--primary);
    color: #ffffff;
}

.step-completed .step-label[b-1hsysnd23x] {
    color: var(--primary);
}

.step-active .step-circle[b-1hsysnd23x] {
    background: var(--primary);
    color: #ffffff;
    box-shadow: 0 0 0 4px rgba(2, 158, 114, 0.18);
}

.step-active .step-label[b-1hsysnd23x] {
    color: var(--foreground);
    font-weight: 600;
}

.step-pending .step-circle[b-1hsysnd23x] {
    background: var(--muted);
    color: var(--muted-foreground);
    border: 2px solid var(--border);
}

@media (max-width: 480px) {
    .step-line[b-1hsysnd23x] {
        width: 24px;
    }

    .step-label[b-1hsysnd23x] {
        font-size: 0.65rem;
    }

    .step-circle[b-1hsysnd23x] {
        width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }
}
