/* /Layout/LoginLayout.razor.rz.scp.css */
/* Hero Section - Shared for all Auth Pages */
.login-hero[b-8cx4kuv9gw] {
    position: relative;
    background-color: var(--el-primary);
    overflow: hidden;
    min-height: 250px; /* Mobile */
    padding-bottom: 2rem;
}

@media (min-width: 992px) {
    .login-hero[b-8cx4kuv9gw] {
        min-height: 100vh;
        padding-bottom: 0;
    }
}

.hero-bg-image[b-8cx4kuv9gw] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.2;
    mix-blend-mode: overlay;
}

.hero-overlay[b-8cx4kuv9gw] {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--el-primary), #0f4bbd, #0a3587);
    opacity: 0.9;
    mix-blend-mode: multiply;
}

.hero-decoration-1[b-8cx4kuv9gw] {
    position: absolute;
    top: -5rem;
    right: -5rem;
    width: 24rem;
    height: 24rem;
    border-radius: 50%;
    background-color: white;
    opacity: 0.05;
    filter: blur(64px);
}

.hero-decoration-2[b-8cx4kuv9gw] {
    position: absolute;
    bottom: 0;
    left: -5rem;
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    background-color: #93c5fd; /* blue-300 */
    opacity: 0.1;
    filter: blur(64px);
}

.hero-content[b-8cx4kuv9gw] {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2rem 1.5rem;
}

@media (min-width: 992px) {
    .hero-content[b-8cx4kuv9gw] {
        padding: 3rem;
        justify-content: space-between;
    }
}

.brand-icon[b-8cx4kuv9gw] {
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.75rem;
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.hero-title[b-8cx4kuv9gw] {
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.2;
    color: white;
    margin-bottom: 0.5rem;
}

@media (min-width: 992px) {
    .hero-title[b-8cx4kuv9gw] {
        font-size: 3rem;
        margin-bottom: 1.5rem;
    }
}

.hero-subtext[b-8cx4kuv9gw] {
    max-width: 28rem;
    font-size: 1rem;
    font-weight: 300;
    color: rgba(219, 234, 254, 0.9);
    line-height: 1.5;
}

@media (min-width: 992px) {
    .hero-subtext[b-8cx4kuv9gw] {
        font-size: 1.125rem;
        line-height: 1.625;
    }
}

/* Layout Containers */
.login-panel[b-8cx4kuv9gw] {
    background-color: var(--el-bg-light);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem;
}

@media (min-width: 992px) {
    .login-panel[b-8cx4kuv9gw] {
        padding: 2.5rem;
        justify-content: center;
    }
}

:global(body.dark) .login-panel[b-8cx4kuv9gw] {
    background-color: var(--el-bg-dark);
}

/* Shared Card Styles - Use ::deep to apply to child components */
[b-8cx4kuv9gw] .login-card {
    width: 100%;
    max-width: 480px;
}

[b-8cx4kuv9gw] .login-card-inner {
    background-color: white;
    border-radius: 1rem;
    padding: 1.5rem;
    /* shadow-xl shadow-slate-200/50 */
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04), 0 0 0 1px #e2e8f0; 
    border: 1px solid #f1f5f9;
}

:global(body.dark)[b-8cx4kuv9gw]  .login-card-inner {
    background-color: #151c2b;
    border-color: #1e293b;
    box-shadow: none;
}

/* Shared Form Styles */
[b-8cx4kuv9gw] .form-label {
    color: #111318; /* Matched from design */
    font-weight: 500;
    font-size: 1rem;
    margin-bottom: 0.5rem;
    display: block;
}

:global(body.dark)[b-8cx4kuv9gw]  .form-label {
    color: #e2e8f0;
}

[b-8cx4kuv9gw] .form-control-custom {
    display: block;
    width: 100%;
    /* h-14 = 3.5rem */
    /* h-12 = 3rem */
    height: 3rem; 
    /* pl-12 = 3rem, pr-4 = 1rem, py-[10x] */
    padding: 0.625rem 1rem 0.625rem 3rem !important; 
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #111318;
    background-color: white;
    background-clip: padding-box;
    border: 1px solid #dbdfe6;
    border-radius: 0.5rem; /* rounded-lg */
    transition: all 0.2s duration-200;
}

[b-8cx4kuv9gw] .form-control-custom::placeholder {
    color: #616f89;
    opacity: 1;
}

:global(body.dark)[b-8cx4kuv9gw]  .form-control-custom {
    background-color: #1a202c; /* dark:bg-[#1a202c] */
    border-color: #475569; /* dark:border-slate-600 - Approx */
    color: white;
}

[b-8cx4kuv9gw] .form-control-custom:focus {
    color: #111318;
    background-color: white;
    border-color: var(--el-primary);
    outline: 0;
    /* ring-2 ring-primary/20 */
    box-shadow: 0 0 0 2px rgba(19, 91, 236, 0.2); 
}

:global(body.dark)[b-8cx4kuv9gw]  .form-control-custom:focus {
    background-color: #1a202c;
    color: white;
}

/* Icons */
[b-8cx4kuv9gw] .input-icon {
    position: absolute;
    left: 1rem; /* left-4 */
    top: 50%;
    transform: translateY(-50%);
    color: #616f89; /* text-[#616f89] */
    pointer-events: none;
    user-select: none;
    z-index: 5;
}

/* Password Toggle */
[b-8cx4kuv9gw] .password-toggle {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    padding-right: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #616f89;
    cursor: pointer;
    transition: color 0.15s;
    z-index: 5;
}

[b-8cx4kuv9gw] .password-toggle:hover {
    color: var(--el-primary);
}

/* Buttons */
[b-8cx4kuv9gw] .btn-primary-custom {
    width: 100%;
    height: 3rem; /* h-12 */
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--el-primary);
    color: white;
    font-weight: 700;
    font-size: 1rem;
    border-radius: 0.5rem; /* rounded-lg */
    border: none;
    box-shadow: 0 10px 15px -3px rgba(19, 91, 236, 0.3); /* shadow-lg shadow-primary/30 */
    transition: all 0.15s;
    cursor: pointer;
}

[b-8cx4kuv9gw] .btn-primary-custom:hover {
    background-color: var(--el-primary-hover);
}

[b-8cx4kuv9gw] .btn-primary-custom:active {
    transform: scale(0.99);
}

/* Links */
[b-8cx4kuv9gw] .forgot-link {
    color: var(--el-primary);
    text-decoration: underline;
    text-decoration-color: transparent; /* decoration-transparent */
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}

[b-8cx4kuv9gw] .forgot-link:hover {
    text-decoration-color: currentColor; /* hover:decoration-current */
}

/* Text Colors */
[b-8cx4kuv9gw] .text-secondary-custom {
    color: #616f89; /* text-[#616f89] */
}

:global(body.dark)[b-8cx4kuv9gw]  .text-secondary-custom {
    color: #94a3b8; /* dark:text-slate-400 */
}

[b-8cx4kuv9gw] .text-heading {
    color: #111318;
}

:global(body.dark)[b-8cx4kuv9gw]  .text-heading {
    color: white;
}

[b-8cx4kuv9gw] .card-heading {
    font-size: 1.5rem;
    line-height: 1.25;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.sidebar-wrapper[b-lbn1z8nwd2] {
    z-index: 20;
    box-shadow: 1px 0 0 rgba(0,0,0,0.05); /* Border handled by border-end utility, but this adds depth if needed */
    transition: width 0.3s ease;
}

.main-content[b-lbn1z8nwd2] {
    background-color: var(--el-bg-light);
}

/* Nav Link Styling */
[b-lbn1z8nwd2] .nav-link {
    color: var(--el-sidebar-text);
    transition: all 0.2s;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    font-weight: 500;
}

[b-lbn1z8nwd2] .nav-link:hover {
    background-color: var(--el-sidebar-hover-bg);
    color: var(--el-sidebar-hover-text);
}

[b-lbn1z8nwd2] .nav-link.active {
    background-color: var(--el-sidebar-active-bg);
    color: var(--el-sidebar-active-text);
}
/* /Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-bj2dtt4lnw],
.components-reconnect-repeated-attempt-visible[b-bj2dtt4lnw],
.components-reconnect-failed-visible[b-bj2dtt4lnw],
.components-pause-visible[b-bj2dtt4lnw],
.components-resume-failed-visible[b-bj2dtt4lnw],
.components-rejoining-animation[b-bj2dtt4lnw] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-bj2dtt4lnw],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-bj2dtt4lnw],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-bj2dtt4lnw],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-bj2dtt4lnw],
#components-reconnect-modal.components-reconnect-retrying[b-bj2dtt4lnw],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-bj2dtt4lnw],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-bj2dtt4lnw],
#components-reconnect-modal.components-reconnect-failed[b-bj2dtt4lnw],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-bj2dtt4lnw] {
    display: block;
}


#components-reconnect-modal[b-bj2dtt4lnw] {
    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-bj2dtt4lnw 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-bj2dtt4lnw 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-bj2dtt4lnw 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-bj2dtt4lnw]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-bj2dtt4lnw 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-bj2dtt4lnw {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-bj2dtt4lnw {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-bj2dtt4lnw {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-bj2dtt4lnw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-bj2dtt4lnw] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-bj2dtt4lnw] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-bj2dtt4lnw] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-bj2dtt4lnw] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-bj2dtt4lnw] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-bj2dtt4lnw] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-bj2dtt4lnw 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-bj2dtt4lnw] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-bj2dtt4lnw {
    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;
    }
}
/* /Pages/Dashboard.razor.rz.scp.css */
.action-card[b-ecu2axycrd] {
    cursor: pointer;
    transition: all 0.3s ease;
}

.action-card:hover[b-ecu2axycrd] {
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}

.action-card-bg[b-ecu2axycrd] {
    transition: transform 0.5s ease;
}

.action-card:hover .action-card-bg[b-ecu2axycrd] {
    transform: scale(1.05);
}

.hover-border-primary[b-ecu2axycrd] {
    transition: border-color 0.2s;
}

.hover-border-primary:hover[b-ecu2axycrd] {
    border-color: var(--el-primary) !important;
}
/* /Pages/Landing.razor.rz.scp.css */
.landing-page-container[b-6u21r6h9aj] {
  font-family: "Noto Sans", sans-serif;
  font-size: 0.875rem;
}

.landing-page-container .display-3[b-6u21r6h9aj] {
  font-size: 3.5rem;
  line-height: 1.1;
}

.landing-page-container .h1[b-6u21r6h9aj],
.landing-page-container h1[b-6u21r6h9aj] {
  font-size: 2rem;
}
.landing-page-container .h2[b-6u21r6h9aj],
.landing-page-container h2[b-6u21r6h9aj] {
  font-size: 1.75rem;
}
.landing-page-container .h3[b-6u21r6h9aj],
.landing-page-container h3[b-6u21r6h9aj] {
  font-size: 1.4rem;
}
.landing-page-container .h4[b-6u21r6h9aj],
.landing-page-container h4[b-6u21r6h9aj] {
  font-size: 1.2rem;
}
.landing-page-container .h5[b-6u21r6h9aj],
.landing-page-container h5[b-6u21r6h9aj] {
  font-size: 0.95rem;
}

.landing-header[b-6u21r6h9aj] {
  backdrop-filter: blur(10px);
  z-index: 1030;
}

.landing-header-logo-container[b-6u21r6h9aj] {
  width: 32px;
}

.landing-header-logo-svg[b-6u21r6h9aj] {
  fill: currentColor;
}

.landing-header-logo-img[b-6u21r6h9aj] {
  width: 100%;
  height: auto;
  display: block;
}

.landing-gradient-bg[b-6u21r6h9aj] {
  background: linear-gradient(
    180deg,
    rgba(240, 247, 255, 0.8) 20%,
    #ffffff 100%
  );
}

.landing-hero-title[b-6u21r6h9aj] {
    font-family: "Lexend", sans-serif;
    letter-spacing: -2px;
    font-size: 3.5rem !important;
    font-weight: 900;
}

.landing-subtitle[b-6u21r6h9aj] {
  max-width: 800px;
  font-size: 1rem;
  line-height: 1.6;
}

.landing-portal-card-wrapper[b-6u21r6h9aj] {
  max-width: 340px;
  height: auto;
}

.landing-portal-card[b-6u21r6h9aj] {
  min-height: auto !important;
}

.landing-mockup-scroll-container[b-6u21r6h9aj] {
  overflow-y: auto;
}

.landing-mockup-subject-math[b-6u21r6h9aj] {
  border-left-color: var(--el-primary);
}

.landing-mockup-subject-english[b-6u21r6h9aj] {
  border-left-color: #0ea5e9;
}

.landing-mockup-subject-science[b-6u21r6h9aj] {
  border-left-color: #6366f1;
}

.landing-mockup-progress-bar-math[b-6u21r6h9aj] {
  width: 75%;
  background-color: var(--el-primary);
}

.landing-mockup-progress-bar-english[b-6u21r6h9aj] {
  width: 45%;
}

.landing-mockup-progress-bar-science[b-6u21r6h9aj] {
  width: 90%;
}

.landing-mockup-footer-nav-icon[b-6u21r6h9aj] {
  font-size: 1.1rem;
}

.landing-benefit-icon-box[b-6u21r6h9aj] {
  width: 48px;
  height: 48px;
}

.landing-steps-section[b-6u21r6h9aj] {
  background-color: #f0f7ff;
}

.landing-academic-structure-info-box[b-6u21r6h9aj] {
  background-color: #f0f7ff;
  border: 1px solid #dbeafe;
}

.landing-academic-structure-info-icon[b-6u21r6h9aj] {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.landing-academic-jss-card[b-6u21r6h9aj] {
  transition: all 0.3s ease-in-out;
}

.landing-academic-jss-divider[b-6u21r6h9aj] {
  width: 32px;
  height: 3px;
}

.landing-academic-sss-card[b-6u21r6h9aj] {
  box-shadow: 0 20px 40px rgba(19, 91, 236, 0.2);
  transition: all 0.3s ease-in-out;
}

.landing-academic-sss-divider[b-6u21r6h9aj] {
  width: 32px;
  height: 3px;
}

.landing-footer-email-icon-box[b-6u21r6h9aj] {
  width: 28px;
  height: 28px;
}

.soft-shadow-hover:hover[b-6u21r6h9aj] {
  box-shadow: 0 20px 50px -10px rgba(19, 91, 236, 0.15) !important;
  transform: translateY(-5px);
}

.btn-primary-custom[b-6u21r6h9aj] {
  background-color: var(--el-primary);
  border-color: var(--el-primary);
  color: white;
  font-weight: 700;
  border-radius: 0.6rem;
  padding: 0.6rem 1.2rem;
  transition: all 0.3s ease;
  font-size: 0.9rem;
}

.btn-primary-custom:hover[b-6u21r6h9aj] {
  background-color: var(--el-primary-hover);
  border-color: var(--el-primary-hover);
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(19, 91, 236, 0.3);
  color: white;
}

.step-number-custom[b-6u21r6h9aj] {
  width: 56px;
  height: 56px;
  background: var(--el-primary);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.25rem;
  box-shadow: 0 6px 12px -2px rgba(19, 91, 236, 0.2);
  z-index: 1;
}

.step-line-custom[b-6u21r6h9aj] {
  position: absolute;
  top: 28px; /* Half of circle height (56px) */
  left: 12.5%; /* Center of first column (100% / 4 / 2) */
  right: 12.5%; /* Center of last column */
  height: 2px;
  background: rgba(0, 0, 0, 0.05);
  z-index: 0;
}

.max-w-800[b-6u21r6h9aj] {
  max-width: 900px;
}

.header-site-title[b-6u21r6h9aj] {
  font-family: "Lexend", sans-serif;
  font-weight: 700;
  color: #111827;
}

.mockup-term-indicator[b-6u21r6h9aj] {
  font-size: 10px;
  letter-spacing: 1px;
}

.mockup-avatar[b-6u21r6h9aj] {
  width: 32px;
  height: 32px;
}

.mockup-subject-topic[b-6u21r6h9aj] {
  font-size: 11px;
}

.mockup-progress-height[b-6u21r6h9aj] {
  height: 6px;
}

.mockup-stats-row[b-6u21r6h9aj] {
  font-size: 10px;
}
/* /Pages/Notifications.razor.rz.scp.css */
.max-w-800[b-gq0gctouh0] {
  max-width: 800px;
}

.avatar-circle[b-gq0gctouh0] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Custom Hover Effects to mimic Tailwind 'group' and specific hovers */
.item-hover[b-gq0gctouh0] {
  transition: background-color 0.2s ease;
}

.item-hover:hover[b-gq0gctouh0] {
  background-color: #f9fafb; /* gray-50 equivalent */
}

/* Specific Unread Styling */
.notification-unread[b-gq0gctouh0] {
  background-color: #f0f7ff; /* Very light blue for unread */
}
.notification-unread:hover[b-gq0gctouh0] {
  background-color: #e5efff; /* Slightly darker on hover */
}

.item-hover:hover .group-hover-text-primary[b-gq0gctouh0] {
  color: var(--bs-primary) !important;
}

.item-hover .group-hover-opacity-100[b-gq0gctouh0] {
  opacity: 0;
  transition: opacity 0.2s ease;
}

.item-hover:hover .group-hover-opacity-100[b-gq0gctouh0] {
  opacity: 1;
}

.hover-text-danger:hover[b-gq0gctouh0] {
  color: var(--bs-danger) !important;
}

.hover-bg-light:hover[b-gq0gctouh0] {
  background-color: var(--bs-gray-100);
}

.cursor-pointer[b-gq0gctouh0] {
  cursor: pointer;
}

/* Targeted Left Border Colors without affecting other borders */
.border-l-primary[b-gq0gctouh0] {
  border-left-color: var(--bs-primary) !important;
}

.border-l-success[b-gq0gctouh0] {
  border-left-color: var(--bs-success) !important;
}

.border-l-warning[b-gq0gctouh0] {
  border-left-color: var(--bs-warning) !important;
}

/* Transparent left border helper if needed to maintain structure without color */
/* Bootstrap doesn't have a specific transparent border util that overrides color only */
.border-l-transparent[b-gq0gctouh0] {
  border-left-color: transparent !important;
}
/* /Pages/ParentDetails.razor.rz.scp.css */
/* Parent Details Custom CSS */
.font-display[b-asbnulitvk] {
  font-family: "Lexend", sans-serif;
}

.font-body[b-asbnulitvk] {
  font-family: "Noto Sans", sans-serif;
}

.text-slate-900[b-asbnulitvk] {
  color: #0f172a;
}

.text-slate-500[b-asbnulitvk] {
  color: #64748b;
}

.bg-background-light[b-asbnulitvk] {
  background-color: #f5f7f8;
}

/* Profile Card Gradients and Layout */
.profile-gradient-bg[b-asbnulitvk] {
  height: 128px;
  background: linear-gradient(
    to right,
    #eff6ff,
    #eef2ff
  ); /* blue-50 to indigo-50 */
  position: relative;
  overflow: hidden;
}

.grid-overlay[b-asbnulitvk] {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(0, 0, 0, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 1px, transparent 1px);
  background-size: 20px 20px;
  mask-image: linear-gradient(0deg, white, rgba(255, 255, 255, 0.6));
  -webkit-mask-image: linear-gradient(0deg, white, rgba(255, 255, 255, 0.6));
}

.profile-avatar-container[b-asbnulitvk] {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  border: 4px solid white;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  background-color: white;
  flex-shrink: 0;
}

.profile-avatar-img[b-asbnulitvk] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Badges */
.badge-active-guardian[b-asbnulitvk] {
  background-color: #dcfce7; /* green-100 */
  color: #166534; /* green-800 */
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.125rem 0.625rem;
  border-radius: 9999px;
}

/* Contact Info Icons */
.icon-circle[b-asbnulitvk] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #f1f5f9; /* slate-100 */
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b; /* slate-500 */
  flex-shrink: 0;
}

.icon-circle .material-symbols-outlined[b-asbnulitvk] {
  font-size: 18px;
}

/* Student Cards */
.student-card[b-asbnulitvk] {
  background-color: white;
  border: 1px solid #e2e8f0; /* slate-200 */
  border-radius: 0.75rem;
  padding: 1rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.student-avatar[b-asbnulitvk] {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #f1f5f9;
  overflow: hidden;
  flex-shrink: 0;
}

.student-tag[b-asbnulitvk] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.tag-emerald[b-asbnulitvk] {
  background-color: #ecfdf5; /* emerald-50 */
  color: #047857; /* emerald-700 */
  border: 1px solid #d1fae5; /* emerald-100 */
}

.tag-blue[b-asbnulitvk] {
  background-color: #eff6ff; /* blue-50 */
  color: #1d4ed8; /* blue-700 */
  border: 1px solid #dbeafe; /* blue-100 */
}

.tag-purple[b-asbnulitvk] {
  background-color: #faf5ff; /* purple-50 */
  color: #7e22ce; /* purple-700 */
  border: 1px solid #f3e8ff; /* purple-100 */
}

.tag-amber[b-asbnulitvk] {
  background-color: #fffbeb; /* amber-50 */
  color: #b45309; /* amber-700 */
  border: 1px solid #fef3c7; /* amber-100 */
}

/* Transaction Table Styles */
.table-rounded-container[b-asbnulitvk] {
  background-color: white;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.custom-table[b-asbnulitvk] {
  width: 100%;
  font-size: 0.875rem;
  text-align: left;
}

.custom-table thead[b-asbnulitvk] {
  background-color: #f8fafc; /* slate-50 */
  color: #64748b; /* slate-500 */
  text-transform: uppercase;
  font-size: 0.75rem;
}

.custom-table th[b-asbnulitvk] {
  padding: 0.75rem 1.5rem;
  font-weight: 600;
}

.custom-table td[b-asbnulitvk] {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}

.custom-table tr:last-child td[b-asbnulitvk] {
  border-bottom: none;
}

.custom-table tr:hover td[b-asbnulitvk] {
  background-color: #f8fafc;
}

.badge-paid[b-asbnulitvk] {
  background-color: #dcfce7;
  color: #15803d;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.badge-pending[b-asbnulitvk] {
  background-color: #ffedd5;
  color: #c2410c;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
}

/* Buttons */
.btn-light-custom[b-asbnulitvk] {
  background-color: white;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-weight: 500;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.btn-light-custom:hover[b-asbnulitvk] {
  background-color: #f8fafc;
  color: #0f172a;
}

/* Custom Input Group Styles for cohesive focus state */
.custom-input-group[b-asbnulitvk] {
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}

.custom-input-group:focus-within[b-asbnulitvk] {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.custom-input-group .input-group-text[b-asbnulitvk] {
  border: none;
  background-color: white;
}

.custom-input-group .form-control[b-asbnulitvk] {
  border: none;
  box-shadow: none !important; /* Remove default focus glow from input to avoid double shadow */
}

.custom-input-group:hover[b-asbnulitvk] {
  border-color: #c1c9d0;
}
/* /Pages/Parents.razor.rz.scp.css */
/* Parents Page Specific Styles */

/* Table Styles - Parent Info */
.parent-id[b-bymub27ubw] {
  font-size: 0.75rem;
  color: #64748b; /* text-slate-500 */
}

.parent-name[b-bymub27ubw] {
  font-weight: 500;
  color: #0f172a; /* text-slate-900 */
}

/* Avatar */
.avatar-cover[b-bymub27ubw] {
  object-fit: cover;
  border-radius: 50%;
}

/* Linked Students Pills */
.student-pill[b-bymub27ubw] {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #eff6ff; /* bg-blue-50 */
  color: #1d4ed8; /* text-blue-700 */
  border: 1px solid #dbeafe; /* border-blue-100 */
  margin-right: 0.5rem;
  margin-bottom: 0.25rem;
}

.student-pill-more[b-bymub27ubw] {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #f1f5f9; /* bg-slate-100 */
  color: #475569; /* text-slate-600 */
}

/* Relationship Badges */
.badge-relationship-father[b-bymub27ubw],
.badge-relationship-mother[b-bymub27ubw],
.badge-relationship-guardian[b-bymub27ubw] {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.625rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.badge-relationship-father[b-bymub27ubw] {
  background-color: #f1f5f9; /* bg-slate-100 */
  color: #1e293b; /* text-slate-800 */
}

.badge-relationship-mother[b-bymub27ubw] {
  background-color: #fdf2f8; /* bg-pink-50 */
  color: #be185d; /* text-pink-700 */
}

.badge-relationship-guardian[b-bymub27ubw] {
  background-color: #fff7ed; /* bg-orange-50 */
  color: #c2410c; /* text-orange-700 */
}

/* Contact Info */
.contact-info-item[b-bymub27ubw] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.contact-icon[b-bymub27ubw] {
  font-size: 16px;
  color: #94a3b8; /* text-slate-400 */
}

.contact-text-primary[b-bymub27ubw] {
  font-size: 0.875rem;
  color: #0f172a; /* text-slate-900 */
}

.contact-text-secondary[b-bymub27ubw] {
  font-size: 0.75rem;
  color: #64748b; /* text-slate-500 */
}

/* Action Buttons */
.action-btn-group[b-bymub27ubw] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

tr:hover .action-btn-group[b-bymub27ubw] {
  opacity: 1;
}

.action-btn[b-bymub27ubw] {
  padding: 0.375rem;
  border-radius: 0.375rem;
  color: #94a3b8; /* text-slate-400 */
  background: transparent;
  border: none;
  transition: all 0.2s;
}

.action-btn:hover[b-bymub27ubw] {
  background-color: #eff6ff; /* hover:bg-blue-50 */
}

.action-btn.view:hover[b-bymub27ubw] {
  color: var(--el-primary);
}
.action-btn.edit:hover[b-bymub27ubw] {
  color: #2563eb; /* text-blue-600 */
}
.action-btn.delete:hover[b-bymub27ubw] {
  color: #dc2626; /* text-red-600 */
  background-color: #fef2f2; /* hover:bg-red-50 */
}

/* Initials Avatar fallback */
.avatar-initials[b-bymub27ubw] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 0.875rem;
}
/* /Pages/Settings.razor.rz.scp.css */
.max-w-800[b-o0s5tj2i2x] {
  max-width: 896px; /* max-w-4xl from tailwind approx */
}

.avatar-lg[b-o0s5tj2i2x] {
  width: 80px;
  height: 80px;
}

.indicator-status[b-o0s5tj2i2x] {
  width: 20px;
  height: 20px;
  /* Adjust positioning to match ring effect */
  margin-right: -2px;
  margin-bottom: -2px;
}

.hover-bg-light:hover[b-o0s5tj2i2x] {
  background-color: var(--bs-gray-100);
}

.hover-text-dark:hover[b-o0s5tj2i2x] {
  color: var(--bs-dark) !important;
}

.hover-text-danger-dark:hover[b-o0s5tj2i2x] {
  color: #b02a37 !important; /* darker red */
}

/* Custom switch styling if needed, but Bootstrap default is usually fine.
   Bootstrap form-check-input:checked uses primary color by default. */

.cursor-not-allowed[b-o0s5tj2i2x] {
  cursor: not-allowed;
}

.btn-white[b-o0s5tj2i2x] {
  background-color: #fff;
}

/* Nav Link customizations to match the bottom border tab style */
.nav-link[b-o0s5tj2i2x] {
  border-radius: 0;
}
.nav-link:hover[b-o0s5tj2i2x] {
  isolation: isolate;
}
/* /Pages/Transactions.razor.rz.scp.css */
/* Transactions Page Specific Styles */

/* Summary Cards */
.summary-card[b-obd9yyml22] {
  transition:
    transform 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out;
}

.summary-card:hover[b-obd9yyml22] {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08) !important;
}

.icon-box-lg[b-obd9yyml22] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}

/* Status Badges */
.badge-soft-success[b-obd9yyml22] {
  background-color: #d1fae5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.badge-soft-warning[b-obd9yyml22] {
  background-color: #fef3c7;
  color: #92400e;
  border: 1px solid #fde68a;
}

.badge-soft-danger[b-obd9yyml22] {
  background-color: #fee2e2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}

/* Table Styles */
.transaction-id[b-obd9yyml22] {
  color: var(--el-primary);
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
}

.transaction-id:hover[b-obd9yyml22] {
  text-decoration: underline;
}

.user-avatar-sm[b-obd9yyml22] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
}

.user-type-badge[b-obd9yyml22] {
  font-size: 0.75rem;
  padding: 2px 8px;
  border-radius: 12px;
  background-color: #f3f4f6;
  color: #6b7280;
  font-weight: 600;
}

/* Custom colors matching the design */
.text-slate-500[b-obd9yyml22] {
  color: #64748b;
}
.text-slate-900[b-obd9yyml22] {
  color: #0f172a;
}

/* Dark mode adjustments (if applicable globally, otherwise scoped here) */
@media (prefers-color-scheme: dark) {
  /* Add dark mode styles if the app supports it via media query or class */
}
