/* _content/BandHub.Web/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-gkccbzjn22] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main[b-gkccbzjn22] {
    flex: 1;
    display: flex;
    flex-direction: column;     /* so the footer sits at the bottom of short pages */
}

.content[b-gkccbzjn22] {
    flex: 1;
    padding-left: 1rem;
    padding-right: 1rem;
}

#blazor-error-ui[b-gkccbzjn22] {
    background: #fff3cd;
    color: #664d03;
    bottom: 0;
    box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 2000;
}

    #blazor-error-ui .dismiss[b-gkccbzjn22] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.6rem;
    }
/* _content/BandHub.Web/Components/Layout/NavMenu.razor.rz.scp.css */
/* Navigation styles live in wwwroot/app.css (.site-header, .site-nav ...) so they apply to nested components such as NavLink. */
/* _content/BandHub.Web/Components/Shared/ToastHost.razor.rz.scp.css */
/* Pops in from the top right, stays a few seconds (ToastService decides how long), and is gone on the next redraw. */
.toast-stack[b-tcciuw95tt] {
    position: fixed;
    top: 4rem;
    right: 1rem;
    z-index: 2000;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: min(24rem, calc(100vw - 2rem));
    pointer-events: none;            /* the stack itself never blocks clicks; only the messages do */
}

.toast-item[b-tcciuw95tt] {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 1rem;
    border-radius: 0.5rem;
    color: #fff;
    font-size: 0.95rem;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    animation: toast-in-b-tcciuw95tt 0.25s ease-out, toast-out-b-tcciuw95tt 0.4s ease-in forwards;
    /* set per toast by ToastHost: the fade begins just before the toast is removed, so it fades instead of vanishing */
    animation-delay: 0s, var(--toast-fade-delay, 3.1s);
}

.toast-success[b-tcciuw95tt] { background: #198754; }
.toast-info[b-tcciuw95tt]    { background: #0b6dbf; }
.toast-error[b-tcciuw95tt]   { background: #b02a37; }

.toast-item .bi[b-tcciuw95tt] { font-size: 1.15rem; line-height: 1; }

@keyframes toast-in-b-tcciuw95tt  { from { opacity: 0; transform: translateY(-0.75rem); } to { opacity: 1; transform: none; } }
@keyframes toast-out-b-tcciuw95tt { from { opacity: 1; } to { opacity: 0; } }

@media (max-width: 640px) {
    .toast-stack[b-tcciuw95tt] { left: 1rem; right: 1rem; max-width: none; top: 3.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .toast-item[b-tcciuw95tt] { animation: none; }
}

.toast-item .toast-link[b-tcciuw95tt] { margin-left: .75rem; color: inherit; font-weight: 700; text-decoration: underline; white-space: nowrap; }
