/* /Components/Account/Pages/Login.razor.rz.scp.css */
.auth-card[b-9tihn5apxv] {
    background: color-mix(in srgb, var(--surface) 94%, var(--background));
    border: 1px solid var(--border);
    border-radius: .8rem;
    box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 18%);
    padding: 1.75rem;
    width: 100%;
}

.auth-heading[b-9tihn5apxv] {
    margin-bottom: 1.5rem;
}

.auth-heading h1[b-9tihn5apxv] {
    font-size: 1.35rem;
    letter-spacing: -.025em;
    line-height: 1.2;
    margin-bottom: .4rem;
}

.auth-heading > p:last-child[b-9tihn5apxv] {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.5;
    margin-bottom: 0;
}

.auth-eyebrow[b-9tihn5apxv] {
    color: #7188f4;
    font-size: .68rem;
    font-weight: 760;
    letter-spacing: .14em;
    margin-bottom: .55rem;
    text-transform: uppercase;
}

.auth-card[b-9tihn5apxv]  .auth-form {
    display: grid;
    gap: 1rem;
}

.auth-field[b-9tihn5apxv] {
    display: grid;
    gap: .45rem;
}

.auth-field label[b-9tihn5apxv] {
    font-size: .82rem;
    font-weight: 600;
}

.auth-field[b-9tihn5apxv]  input {
    background: color-mix(in srgb, var(--background) 72%, var(--surface));
    border: 1px solid var(--border);
    border-radius: .55rem;
    color: var(--text);
    font: inherit;
    height: 2.8rem;
    outline: none;
    padding: 0 .85rem;
    transition: border-color 120ms ease, box-shadow 120ms ease;
    width: 100%;
}

.auth-field[b-9tihn5apxv]  input::placeholder {
    color: color-mix(in srgb, var(--muted) 70%, transparent);
}

.auth-field[b-9tihn5apxv]  input:focus {
    border-color: #7188f4;
    box-shadow: 0 0 0 .2rem rgb(113 136 244 / 16%);
}

.auth-card[b-9tihn5apxv]  .auth-submit {
    align-items: center;
    background: #596fe8;
    border: 1px solid #6f83ec;
    border-radius: .55rem;
    color: #fff;
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: .9rem;
    font-weight: 680;
    gap: .55rem;
    height: 2.85rem;
    justify-content: center;
    margin-top: .15rem;
    transition: background 120ms ease, border-color 120ms ease, transform 120ms ease;
    width: 100%;
}

.auth-card[b-9tihn5apxv]  .auth-submit:hover {
    background: #687ced;
    border-color: #8192f1;
}

.auth-card[b-9tihn5apxv]  .auth-submit:active {
    transform: translateY(1px);
}

.auth-card[b-9tihn5apxv]  .auth-submit:focus-visible {
    outline: .2rem solid rgb(113 136 244 / 35%);
    outline-offset: .15rem;
}

.auth-card[b-9tihn5apxv]  .auth-validation,
.auth-card[b-9tihn5apxv]  .validation-message {
    color: var(--bad);
    font-size: .78rem;
}

.auth-card[b-9tihn5apxv]  .auth-validation:empty {
    display: none;
}

.auth-card[b-9tihn5apxv]  .alert {
    border-radius: .55rem;
    font-size: .84rem;
    margin-bottom: 1rem;
    padding: .75rem .85rem;
}

.auth-note[b-9tihn5apxv] {
    border-top: 1px solid var(--border);
    color: var(--muted);
    font-size: .76rem;
    margin: 1.4rem 0 0;
    padding-top: 1.1rem;
    text-align: center;
}

@media (max-width: 520px) {
    .auth-card[b-9tihn5apxv] {
        padding: 1.35rem;
    }
}
/* /Components/Layout/LoginLayout.razor.rz.scp.css */
.login-shell[b-0rc5fcmirf] {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100svh;
    padding: 2rem 1rem;
}

.login-content[b-0rc5fcmirf] {
    width: min(100%, 32rem);
}

.login-brand[b-0rc5fcmirf] {
    align-items: center;
    color: var(--text);
    display: flex;
    gap: .7rem;
    justify-content: center;
    margin: 0 auto 1.4rem;
    width: fit-content;
}

.login-brand__mark[b-0rc5fcmirf] {
    align-items: center;
    background: var(--accent);
    border-radius: .65rem;
    color: #fff;
    display: inline-flex;
    font-size: 1.1rem;
    font-weight: 800;
    height: 2.35rem;
    justify-content: center;
    width: 2.35rem;
}

.login-brand__name strong[b-0rc5fcmirf],
.login-brand__name small[b-0rc5fcmirf] {
    display: block;
    line-height: 1.05;
}

.login-brand__name strong[b-0rc5fcmirf] {
    font-size: 1rem;
}

.login-brand__name small[b-0rc5fcmirf] {
    color: var(--muted);
    font-size: .65rem;
    letter-spacing: .14em;
    margin-top: .25rem;
    text-transform: uppercase;
}

.login-main[b-0rc5fcmirf] {
    padding: 0;
}

footer[b-0rc5fcmirf] {
    color: color-mix(in srgb, var(--muted) 70%, transparent);
    font-size: .7rem;
    margin-top: 1.4rem;
    text-align: center;
}

#blazor-error-ui[b-0rc5fcmirf] {
    background: #8f2d2d;
    bottom: 0;
    color: white;
    display: none;
    left: 0;
    padding: .8rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui a[b-0rc5fcmirf] {
    color: white;
    margin-left: .6rem;
}

#blazor-error-ui .dismiss[b-0rc5fcmirf] {
    cursor: pointer;
    position: absolute;
    right: 1rem;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-lkiu4rff8n] {
    display: grid;
    grid-template-columns: 16.5rem minmax(0, 1fr);
    min-height: 100vh;
}

.sidebar[b-lkiu4rff8n] {
    background: var(--sidebar);
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    height: 100vh;
    left: 0;
    padding: 1.25rem 1rem 1rem;
    position: sticky;
    top: 0;
}

.brand[b-lkiu4rff8n] {
    align-items: center;
    color: var(--text);
    display: flex;
    gap: .72rem;
    padding: .25rem .45rem 1.4rem;
    text-decoration: none;
}

.brand-mark[b-lkiu4rff8n] {
    align-items: center;
    background: var(--accent);
    border-radius: .68rem;
    box-shadow: 0 8px 24px color-mix(in srgb, var(--accent) 26%, transparent);
    color: white;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 800;
    height: 2.35rem;
    justify-content: center;
    width: 2.35rem;
}

.brand-mark svg[b-lkiu4rff8n] {
    fill: currentColor;
    height: 1.35rem;
    width: 1.35rem;
}

.brand-type strong[b-lkiu4rff8n],
.brand-type small[b-lkiu4rff8n] {
    display: block;
    line-height: 1.05;
}

.brand-type strong[b-lkiu4rff8n] {
    font-size: .98rem;
    letter-spacing: -.02em;
}

.brand-type small[b-lkiu4rff8n] {
    color: var(--muted);
    font-size: .63rem;
    font-weight: 720;
    letter-spacing: .12em;
    margin-top: .28rem;
    text-transform: uppercase;
}

.primary-nav[b-lkiu4rff8n] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 1.15rem;
    overflow-y: auto;
}

.nav-group[b-lkiu4rff8n] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.nav-label[b-lkiu4rff8n] {
    color: var(--muted-subtle);
    font-size: .61rem;
    font-weight: 760;
    letter-spacing: .13em;
    padding: 0 .72rem .35rem;
    text-transform: uppercase;
}

.primary-nav[b-lkiu4rff8n]  a {
    align-items: center;
    border-radius: .6rem;
    color: var(--muted);
    display: flex;
    font-size: .84rem;
    font-weight: 620;
    gap: .7rem;
    min-height: 2.45rem;
    padding: .5rem .7rem;
    position: relative;
    text-decoration: none;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}

.primary-nav[b-lkiu4rff8n]  a:hover {
    background: var(--surface-hover);
    color: var(--text);
    transform: translateX(2px);
}

.primary-nav[b-lkiu4rff8n]  a.active {
    background: var(--accent-soft);
    color: var(--accent-strong);
}

.primary-nav[b-lkiu4rff8n]  a.active::before {
    background: var(--accent);
    border-radius: 0 3px 3px 0;
    content: "";
    height: 1.25rem;
    left: -1rem;
    position: absolute;
    width: 3px;
}

.nav-icon[b-lkiu4rff8n] {
    align-items: center;
    display: inline-flex;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .95rem;
    font-weight: 700;
    height: 1.2rem;
    justify-content: center;
    width: 1.2rem;
}

.sidebar-footer[b-lkiu4rff8n] {
    border-top: 1px solid var(--border);
    margin-top: 1rem;
    padding-top: .85rem;
}

.theme-switcher[b-lkiu4rff8n] {
    background: var(--surface-raised);
    border: 1px solid var(--border);
    border-radius: .55rem;
    display: grid;
    gap: .2rem;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 .25rem .75rem;
    padding: .2rem;
}

.theme-switcher button[b-lkiu4rff8n] {
    background: transparent;
    border: 0;
    border-radius: .38rem;
    color: var(--muted);
    cursor: pointer;
    font: inherit;
    min-height: 1.8rem;
}

.theme-switcher button:hover[b-lkiu4rff8n],
.theme-switcher button[aria-pressed="true"][b-lkiu4rff8n] {
    background: var(--surface);
    box-shadow: var(--shadow-xs);
    color: var(--text);
}

.account-card[b-lkiu4rff8n] {
    align-items: center;
    border-radius: .65rem;
    color: var(--text);
    display: grid;
    gap: .65rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: .55rem;
    text-decoration: none;
}

.account-card:hover[b-lkiu4rff8n] {
    background: var(--surface-hover);
}

.avatar[b-lkiu4rff8n] {
    align-items: center;
    background: var(--surface-raised);
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--accent-strong);
    display: inline-flex;
    font-size: .72rem;
    font-weight: 780;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.account-card strong[b-lkiu4rff8n],
.account-card small[b-lkiu4rff8n] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-card strong[b-lkiu4rff8n] {
    font-size: .74rem;
}

.account-card small[b-lkiu4rff8n] {
    color: var(--muted);
    font-size: .64rem;
    margin-top: .2rem;
}

.account-arrow[b-lkiu4rff8n] {
    color: var(--muted-subtle);
    font-size: 1.2rem;
}

.sign-out[b-lkiu4rff8n] {
    margin: .25rem .55rem 0 3.2rem;
}

.sign-out button[b-lkiu4rff8n] {
    background: transparent;
    border: 0;
    color: var(--muted-subtle);
    cursor: pointer;
    font: inherit;
    font-size: .65rem;
    padding: 0;
}

.sign-out button:hover[b-lkiu4rff8n] {
    color: var(--text);
}

.app-content[b-lkiu4rff8n] {
    min-width: 0;
    padding: 2.25rem clamp(1.25rem, 3vw, 3.5rem) 5rem;
}

.app-content[b-lkiu4rff8n]  > * {
    margin-left: auto;
    margin-right: auto;
    max-width: 1480px;
}

.mobile-bar[b-lkiu4rff8n] {
    display: none;
}

.mobile-tools[b-lkiu4rff8n] {
    align-items: center;
    display: flex;
    gap: .65rem;
}

#blazor-error-ui[b-lkiu4rff8n] {
    background: #9d2d32;
    bottom: 0;
    color: white;
    display: none;
    left: 0;
    padding: .8rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui a[b-lkiu4rff8n] {
    color: white;
    margin-left: .6rem;
}

#blazor-error-ui .dismiss[b-lkiu4rff8n] {
    cursor: pointer;
    position: absolute;
    right: 1rem;
}

@media (max-width: 980px) {
    .app-shell[b-lkiu4rff8n] {
        display: flex;
        flex-direction: column;
    }

    .sidebar[b-lkiu4rff8n] {
        border-bottom: 1px solid var(--border);
        border-right: 0;
        height: auto;
        padding: .4rem .7rem;
        position: sticky;
        order: -1;
        z-index: 20;
    }

    .sidebar > .brand[b-lkiu4rff8n],
    .sidebar-footer[b-lkiu4rff8n],
    .nav-label[b-lkiu4rff8n] {
        display: none;
    }

    .primary-nav[b-lkiu4rff8n] {
        flex-direction: row;
        gap: .2rem;
        overflow-x: auto;
    }

    .nav-group[b-lkiu4rff8n] {
        display: contents;
    }

    .primary-nav[b-lkiu4rff8n]  a {
        flex: 0 0 auto;
        gap: .4rem;
        min-height: 2.4rem;
    }

    .primary-nav[b-lkiu4rff8n]  a.active::before {
        bottom: -.4rem;
        height: 3px;
        left: .7rem;
        right: .7rem;
        top: auto;
        width: auto;
    }

    .mobile-bar[b-lkiu4rff8n] {
        align-items: center;
        background: var(--sidebar);
        display: flex;
        justify-content: space-between;
        min-height: 3.5rem;
        order: -2;
        padding: .55rem 1rem 0;
    }

    .mobile-bar .brand[b-lkiu4rff8n] {
        padding: 0;
    }

    .mobile-bar .brand-mark[b-lkiu4rff8n] {
        height: 1.9rem;
        width: 1.9rem;
    }

    .mobile-account[b-lkiu4rff8n] {
        color: var(--accent);
        text-decoration: none;
    }

    .mobile-bar .theme-switcher[b-lkiu4rff8n] {
        margin: 0;
        width: 6.5rem;
    }

    .app-content[b-lkiu4rff8n] {
        padding: 1.75rem 1rem 4rem;
    }
}

@media (max-width: 620px) {
    .nav-icon[b-lkiu4rff8n] {
        display: none;
    }
}
