@import '_content/Blazored.Toast/Blazored.Toast.bundle.scp.css';

/* /Views/Bases/CardBase.razor.rz.scp.css */
/* =========================================
   Card system (Palette B – blue + neutrals)
   ========================================= */

/* Base shell – shared by CardBase + pages using .form-card */
.card[b-uidv1g7pah],
.form-card[b-uidv1g7pah] {
    width: 100%;
    margin: 0;
    padding: var(--card-pad);
    background: var(--card-bg-token);
    border: var(--card-border-token);
    border-radius: var(--radius);
    color: var(--card-fg-token);
    box-sizing: border-box;
    box-shadow: var(--card-shadow-token);
    position: relative;
}

/* Optional inner padding wrapper (you already use .card-inner) */
.card-inner[b-uidv1g7pah] {
    padding-inline: var(--card-pad-x);
    padding-block: var(--card-pad-y);
}

/* Accent bar at top (Palette B primary) */
.card-accent-bar[b-uidv1g7pah] {
    position: absolute;
    inset-inline: 0;
    inset-block-start: 0;
    height: 4px;
    background: linear-gradient(90deg, #1d4ed8, #2563eb, #1d4ed8);
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
}

/* -----------------------------
   Header – Palette B styling
------------------------------ */

.card-header[b-uidv1g7pah] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: .75rem;
    margin: 0;
    padding-block: var(--card-pad-y);
    padding-inline: var(--card-pad-x);
    /* Soft blue-tinted background (Palette B) */
    background: linear-gradient( 135deg, rgba(37, 99, 235, 0.06), rgba(15, 23, 42, 0.02) );
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

/* Optional sticky modifier */
.card-header-sticky[b-uidv1g7pah] {
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
    backdrop-filter: saturate(180%) blur(8px);
}

/* Left / right rails */

.card-header-left[b-uidv1g7pah] {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 2.25rem;
}

.card-header-right[b-uidv1g7pah] {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

/* Titles block (centered) */
.card-titles[b-uidv1g7pah] {
    justify-self: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Title chip with border + subtle background */
.card-title[b-uidv1g7pah] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
}

.card-title-chip[b-uidv1g7pah] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .25rem .9rem;
    border-radius: 999px;
    border: 1px solid rgba(37, 99, 235, 0.45); /* blue border */
    background: rgba(37, 99, 235, 0.06); /* very light blue fill */
    color: #0f172a;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.02);
}

/* Subtitle: aligned to layout direction, not centered */
.card-subtitle[b-uidv1g7pah] {
    margin: .25rem 0 0;
    font-size: .85rem;
    font-weight: 500;
    color: var(--muted);
    /* align to start under the chip */
    align-self: flex-start;
    text-align: start;
    max-width: 100%;
}

/* RTL: keep title centered, but subtitle aligned to the right */
[dir="rtl"] .card-titles[b-uidv1g7pah] {
    text-align: center;
}

[dir="rtl"] .card-subtitle[b-uidv1g7pah] {
    align-self: flex-end;
    text-align: end;
}

/* Icon & header actions */
.card-icon[b-uidv1g7pah] {
    font-size: 1.1rem;
    opacity: .9;
    color: #1d4ed8;
}

.card-header-actions[b-uidv1g7pah] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

/* Collapse toggle */
.card-toggle[b-uidv1g7pah] {
    border: 1px solid rgba(148, 163, 184, 0.7);
    background: #f9fafb;
    padding: .25rem .6rem;
    border-radius: 999px;
    cursor: pointer;
    font-size: .75rem;
    color: #374151;
}

    .card-toggle:hover[b-uidv1g7pah] {
        background: #e5f0ff;
        border-color: rgba(37, 99, 235, 0.65);
        color: #1d4ed8;
    }

    .card-toggle:focus-visible[b-uidv1g7pah] {
        outline: 2px solid transparent;
        outline-offset: 2px;
        box-shadow: var(--focus-ring);
    }

/* Slightly tighter padding when only title is present */
.card-header:has(.card-title):not(:has(.card-subtitle))[b-uidv1g7pah] {
    padding-block-start: calc(var(--card-pad-y) + .05rem);
    padding-block-end: calc(var(--card-pad-y) - .05rem);
}

/* -----------------------------
   Body
------------------------------ */

.card-body[b-uidv1g7pah] {
    background: transparent;
    padding-inline: var(--card-pad-x);
    padding-block: var(--card-pad-y);
}

/* -----------------------------
   Footer
------------------------------ */

.card-footer[b-uidv1g7pah] {
    background: linear-gradient( 180deg, rgba(148, 163, 184, 0.08), rgba(15, 23, 42, 0.01) );
    border-top: 1px solid rgba(148, 163, 184, 0.45);
    margin: 0;
    padding-block: var(--card-pad-y);
    padding-inline: var(--card-pad-x);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .5rem;
}

    /* Error list inside footer */
    .card-footer .footer-errors[b-uidv1g7pah] {
        width: 100%;
        margin: 0 0 .25rem;
        padding: 0;
        font-size: .85rem;
    }

        .card-footer .footer-errors ul[b-uidv1g7pah] {
            margin: 0;
            padding-left: 1.25rem;
        }

        .card-footer .footer-errors li[b-uidv1g7pah] {
            list-style: disc;
            margin: 0 0 .2rem;
        }

/* Footer buttons */
.card-footer-actions[b-uidv1g7pah] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

/* Optional sticky footer variant */
.card-footer--sticky[b-uidv1g7pah] {
    position: sticky;
    bottom: 0;
    z-index: var(--z-sticky);
    backdrop-filter: saturate(180%) blur(8px);
}

/* -----------------------------
   Skeleton (loading)
------------------------------ */

.card-skeleton[b-uidv1g7pah] {
    display: grid;
    gap: .6rem;
}

.skeleton-line[b-uidv1g7pah] {
    height: .85rem;
    border-radius: 6px;
    background: linear-gradient( 90deg, var(--card-skeleton-1), var(--card-skeleton-2), var(--card-skeleton-1) );
    animation: card-pulse-b-uidv1g7pah 1.2s infinite ease-in-out;
}

    .skeleton-line.w-60[b-uidv1g7pah] {
        width: 60%;
    }

    .skeleton-line.w-80[b-uidv1g7pah] {
        width: 80%;
    }

    .skeleton-line.w-90[b-uidv1g7pah] {
        width: 90%;
    }

@keyframes card-pulse-b-uidv1g7pah {
    0% {
        opacity: .6;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: .6;
    }
}

/* -----------------------------
   Responsive tweaks
------------------------------ */

@media (max-width: 640px) {
    .card-header[b-uidv1g7pah] {
        grid-template-columns: auto 1fr auto;
        column-gap: .5rem;
    }

    .card-titles[b-uidv1g7pah] {
        max-width: 100%;
    }

    .card-title-chip[b-uidv1g7pah] {
        max-width: 100%;
        padding-inline: .7rem;
    }

    .card-subtitle[b-uidv1g7pah] {
        font-size: .8rem;
    }
}
/* /Views/Bases/LabelBase.razor.rz.scp.css */
.label-base[b-63ccx9y2lh] {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}
/* /Views/Bases/SpinnerBase.razor.rz.scp.css */
/* /Views/Bases/ValidationSummaryBase.razor.rz.scp.css */
/* /Views/Components/LoginComponents/LoginForm.razor.rz.scp.css */
/* keep the text from going under the button */
.password-field[b-duse779yzj] {
  position: relative;
}

/* LoginForm.razor.css */
.password-field[b-duse779yzj] {
    position: relative;
}

    .password-field .pw-toggle[b-duse779yzj] {
        position: absolute;
        inset-inline-end: .5rem;
        inset-block-start: 50%;
        transform: translateY(-50%);
        border: 0;
        background: transparent;
        padding: .25rem;
        cursor: pointer;
        display: grid;
        place-items: center;
        line-height: 1;
        border-radius: 6px;
    }

        .password-field .pw-toggle:focus-visible[b-duse779yzj] {
            outline: 2px solid transparent;
            box-shadow: 0 0 0 3px rgba(59,130,246,.35);
        }

    .password-field .material-icons[b-duse779yzj] {
        font-size: 20px;
    }
/* /Views/Layout/MainLayout.razor.rz.scp.css */
/* Component-scoped helpers (safe in .razor.css).
   Do NOT put global backgrounds or container rules here. */

@media (min-width: 641px) {
    .top-row[b-8jjxztzc2c] {
        position: sticky;
        top: 0;
        z-index: 10;
    }

    .sidebar[b-8jjxztzc2c] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }
}
/* /Views/Layout/NavMenu.razor.rz.scp.css */
/* ================================
   Nav Menu � Ultra-Compact (LTR/RTL)
   ================================= */

.nav-menu[b-kouzgi8mth] {
    /* Tune spacing here */
    --start: .22rem; /* leading padding (start side) */
    --end: .28rem; /* trailing padding (end side) */
    --y: .26rem; /* top/bottom padding */
    --indent: .22rem; /* extra indent per submenu level */
    --icon-gap: .14rem; /* gap between icon and text */
    --chev-gap: .14rem; /* gap between chevron and edge */
    --chev-size: .8rem;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: .95rem;
    padding-inline: 0 !important; /* kill container padding */
}

    /* Reset list indentation & spacing */
    .nav-menu ul[b-kouzgi8mth],
    .nav-menu .nav[b-kouzgi8mth],
    .nav-menu .navbar-nav[b-kouzgi8mth] {
        list-style: none;
        padding-inline-start: 0 !important;
        margin: 0 !important;
        gap: 0 !important;
    }

        /* Main links � ultra tight */
        .nav-menu .nav-link[b-kouzgi8mth],
        .nav-menu .navbar-nav .nav-link[b-kouzgi8mth] {
            display: block;
            padding-block: var(--y) !important;
            padding-inline-start: var(--start) !important;
            padding-inline-end: var(--end) !important;
            line-height: 1.1;
            border-radius: 4px;
            min-height: 0;
        }

        /* Submenu indentation (level 1, 2, 3�) */
        .nav-menu .nav .nav-link[b-kouzgi8mth] {
            padding-inline-start: calc(var(--start) + var(--indent)) !important;
        }

        .nav-menu .nav .nav .nav-link[b-kouzgi8mth] {
            padding-inline-start: calc(var(--start) + var(--indent) * 2) !important;
        }

        .nav-menu .nav .nav .nav .nav-link[b-kouzgi8mth] {
            padding-inline-start: calc(var(--start) + var(--indent) * 3) !important;
        }

    /* Icons � direction-aware, minimal gap */
    .nav-menu.ltr .nav-icon[b-kouzgi8mth] {
        margin-inline: 0 var(--icon-gap) !important;
    }

    .nav-menu.rtl .nav-icon[b-kouzgi8mth] {
        margin-inline: var(--icon-gap) 0 !important;
    }

    /* Chevrons � small and tight to the edge */
    .nav-menu .nav-link .bi-chevron-up[b-kouzgi8mth],
    .nav-menu .nav-link .bi-chevron-down[b-kouzgi8mth] {
        font-size: var(--chev-size);
    }

    .nav-menu.ltr .nav-link .bi-chevron-up[b-kouzgi8mth],
    .nav-menu.ltr .nav-link .bi-chevron-down[b-kouzgi8mth] {
        float: right;
        margin-right: var(--chev-gap);
        margin-left: 0;
    }

    .nav-menu.rtl .nav-link .bi-chevron-up[b-kouzgi8mth],
    .nav-menu.rtl .nav-link .bi-chevron-down[b-kouzgi8mth] {
        float: left;
        margin-left: var(--chev-gap);
        margin-right: 0;
    }

    /* Active + hover (subtle) */
    .nav-menu .nav-link:hover[b-kouzgi8mth] {
        background-color: #f0f0f0;
    }

    .nav-menu .nav-link.active[b-kouzgi8mth] {
        font-weight: 600;
        background-color: #f5f5f5;
    }

/* Pointer helper & item margins */
.cursor-pointer[b-kouzgi8mth] {
    cursor: pointer;
}

.nav-menu .nav-item[b-kouzgi8mth] {
    margin: 0 !important;
}

/* Dropdown menus/items � compact too */
.nav-menu .dropdown-menu[b-kouzgi8mth] {
    padding-block: .18rem !important;
    padding-inline: 0 !important;
    margin: 0 !important;
}

.nav-menu .dropdown-item[b-kouzgi8mth] {
    padding-block: var(--y) !important;
    padding-inline: calc(var(--start) + var(--indent)) var(--end) !important;
    line-height: 1.1;
}

/* Optional razor-thin variant: <nav class="nav-menu xxs"> */
.nav-menu.xxs[b-kouzgi8mth] {
    --start: .18rem;
    --end: .24rem;
    --y: .22rem;
    --indent: .18rem;
    --icon-gap: .12rem;
    --chev-gap: .12rem;
    --chev-size: .78rem;
    font-size: .92rem;
}
/* /Views/Pages/Home.razor.rz.scp.css */
/* ===========================
   Home Page – Card Styles
   =========================== */

.home-card[b-x5v58alcf6] {
    width: 100%;
    margin: 0;
    padding: var(--card-pad, 1.25rem);
    background: var(--card-bg-token, var(--bg-card, #ffffff));
    border: var(--card-border-token, 1px solid var(--border-color, rgba(0,0,0,.08)));
    border-radius: var(--radius, 12px);
    color: var(--card-fg-token, var(--text, #111827));
    box-sizing: border-box;
    box-shadow: var(--card-shadow-token, 0 1px 2px rgba(0,0,0,.06));
    position: relative;
}

.home-card-inner[b-x5v58alcf6] {
    padding-inline: var(--card-pad-x, 1.1rem);
    padding-block: var(--card-pad-y, .9rem);
}

/* ===========================
   Home Page – Hero Section
   =========================== */

.home-card-hero[b-x5v58alcf6] {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    padding-block: .5rem;
}

.home-card-logo[b-x5v58alcf6] {
    width: 160px;
    max-width: 90%;
    height: auto;
    display: block;
}

.home-card-title[b-x5v58alcf6] {
    margin: .25rem 0 .5rem;
    font-size: 1.15rem;
    font-weight: 700;
}

/* ===========================
   Home Page – Guest Section
   =========================== */

.home-card-guest[b-x5v58alcf6] {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding-block: .5rem;
}
/* /Views/Pages/LoginPage.razor.rz.scp.css */
/* Login.razor.css — scoped */
.login-page[b-uj56u3ygmq] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: var(--bg-page);
    padding: 24px clamp(16px, 4vw, 32px);
    box-sizing: border-box;
}

.login-container[b-uj56u3ygmq] {
    width: min(100%, var(--auth-max));
    margin-inline: auto;
}

.login-card[b-uj56u3ygmq] {
    background: var(--bg-card);
    border: var(--border);
    border-radius: var(--radius);
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    padding: var(--card-pad);
}

.login-header[b-uj56u3ygmq] {
    text-align: center;
    margin-bottom: .75rem;
}

.login-logo[b-uj56u3ygmq] {
    display: inline-block;
    padding: 10px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0,0,0,.12);
}

    .login-logo img[b-uj56u3ygmq] {
        width: 140px;
        max-width: 90%;
        height: auto;
        display: block;
    }

.login-title[b-uj56u3ygmq] {
    margin: .5rem 0 .25rem;
    font-size: 1.25rem;
    font-weight: 700;
}

.login-subtitle[b-uj56u3ygmq] {
    color: var(--muted);
    margin: 0;
    font-size: .95rem;
}

.login-form[b-uj56u3ygmq] {
    margin-top: .75rem;
}

.login-footer[b-uj56u3ygmq] {
    margin-top: .5rem;
    text-align: end;
}

.login-link[b-uj56u3ygmq] {
    color: var(--accent);
    text-decoration: none;
    font-size: .9rem;
}

    .login-link:hover[b-uj56u3ygmq] {
        text-decoration: underline;
    }

@media (max-width:640px) {
    .login-card[b-uj56u3ygmq] {
        padding: 16px;
    }

    .login-logo img[b-uj56u3ygmq] {
        width: 120px;
    }
}
