/* /Layout/AuthLayout.razor.rz.scp.css */
/* ── Auth shell ── */
.auth-shell[b-9pf5gq6cxz] {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 100dvh;
}
@media (min-width: 768px)  { .auth-shell[b-9pf5gq6cxz] { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1200px) { .auth-shell[b-9pf5gq6cxz] { grid-template-columns: 58fr 42fr; } }

/* ── Hero side ── */
.auth-shell__hero[b-9pf5gq6cxz] {
    display: none;
    position: relative;
    overflow: hidden;
}
@media (min-width: 768px) {
    .auth-shell__hero[b-9pf5gq6cxz] { display: flex; align-items: center; justify-content: center; }
}

.auth-hero__bg[b-9pf5gq6cxz] {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #1d6ef9 0%, #7c3aed 60%, #ec4899 100%);
    background-size: 300% 300%;
    animation: gradientShift 8s ease-in-out infinite;
    z-index: 0;
}
.auth-hero__bg[b-9pf5gq6cxz]::before {
    content: ""; position: absolute;
    width: 520px; height: 520px; border-radius: 50%;
    background: radial-gradient(circle, rgba(124,58,237,0.55) 0%, transparent 70%);
    filter: blur(60px);
    top: -120px; right: -100px;
    animation: floatSlow 9s ease-in-out infinite;
}
.auth-hero__bg[b-9pf5gq6cxz]::after {
    content: ""; position: absolute;
    width: 380px; height: 380px; border-radius: 50%;
    background: radial-gradient(circle, rgba(14,165,233,0.50) 0%, transparent 70%);
    filter: blur(50px);
    bottom: -80px; left: -60px;
    animation: floatSlow 11s ease-in-out infinite;
    animation-delay: -4s;
}
/* Grid overlay */
.auth-shell__hero[b-9pf5gq6cxz]::before {
    content: "";
    position: absolute; inset: 0; z-index: 1;
    background-image:
        linear-gradient(rgba(255,255,255,0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.055) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 40%, transparent 100%);
}

.auth-hero__content[b-9pf5gq6cxz] {
    position: relative; z-index: 2;
    padding: 3rem; max-width: 480px; color: #fff;
}

.auth-hero__brand[b-9pf5gq6cxz] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 60px; height: 60px;
    border-radius: var(--pos-radius-xl);
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(16px) saturate(1.5);
    -webkit-backdrop-filter: blur(16px) saturate(1.5);
    border: 1px solid rgba(255,255,255,0.25);
    margin-bottom: 1.75rem; text-decoration: none;
    box-shadow: 0 4px 20px rgba(0,0,0,0.18);
    transition:
        transform    var(--pos-duration-base) var(--pos-ease-spring),
        box-shadow   var(--pos-duration-base) var(--pos-ease-out);
}
.auth-hero__brand:hover[b-9pf5gq6cxz] { transform: scale(1.07); box-shadow: 0 8px 32px rgba(0,0,0,0.25); }

.auth-hero__icon[b-9pf5gq6cxz] { font-size: 1.875rem; color: #fff; }
.auth-hero__title[b-9pf5gq6cxz] { font-size: 2.625rem; font-weight: 900; letter-spacing: -0.045em; line-height: 1.05; color: #fff; margin-bottom: 0.875rem; }
.auth-hero__tagline[b-9pf5gq6cxz] { font-size: 1.0625rem; color: rgba(255,255,255,0.78); margin-bottom: 2.25rem; line-height: 1.65; }
.auth-hero__features[b-9pf5gq6cxz] { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.auth-hero__features li[b-9pf5gq6cxz] {
    display: flex; align-items: center; gap: 0.75rem;
    font-size: 0.9375rem; color: rgba(255,255,255,0.90);
    animation: staggerFadeIn var(--pos-duration-slow) var(--pos-ease-decelerate) both;
}
.auth-hero__features li:nth-child(1)[b-9pf5gq6cxz] { animation-delay: 120ms; }
.auth-hero__features li:nth-child(2)[b-9pf5gq6cxz] { animation-delay: 230ms; }
.auth-hero__features li:nth-child(3)[b-9pf5gq6cxz] { animation-delay: 340ms; }
.auth-hero__features li:nth-child(4)[b-9pf5gq6cxz] { animation-delay: 450ms; }
.auth-hero__features li:nth-child(5)[b-9pf5gq6cxz] { animation-delay: 560ms; }
.auth-hero__features li .bi[b-9pf5gq6cxz] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px;
    border-radius: var(--pos-radius-sm);
    background: rgba(255,255,255,0.16);
    color: rgba(14,202,240,0.95);
    font-size: 0.875rem; flex-shrink: 0;
}

/* ── Form side ── */
.auth-shell__form[b-9pf5gq6cxz] {
    display: flex; align-items: center; justify-content: center;
    background: var(--pos-body-bg); padding: 2.5rem 1.5rem;
    position: relative;
}
.auth-shell__form[b-9pf5gq6cxz]::before {
    content: "";
    position: absolute; inset: 0; z-index: 0;
    background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(29,110,249,0.04) 0%, transparent 100%);
    pointer-events: none;
}

.auth-form-wrap[b-9pf5gq6cxz] {
    width: 100%; max-width: 410px;
    position: relative; z-index: 1;
    animation: slideInRight var(--pos-duration-slow) var(--pos-ease-decelerate) both;
}

.auth-logo-mobile[b-9pf5gq6cxz] {
    display: flex; align-items: center;
    margin-bottom: 2rem; text-decoration: none;
}
.auth-logo-mobile a[b-9pf5gq6cxz] { display: flex; align-items: center; text-decoration: none; color: var(--pos-ink); }
@media (min-width: 768px) { .auth-logo-mobile[b-9pf5gq6cxz] { display: none; } }

@media (prefers-reduced-motion: reduce) {
    .auth-hero__bg[b-9pf5gq6cxz], .auth-hero__bg[b-9pf5gq6cxz]::before, .auth-hero__bg[b-9pf5gq6cxz]::after { animation: none; }
    .auth-hero__features li[b-9pf5gq6cxz] { animation: none; }
    .auth-form-wrap[b-9pf5gq6cxz] { animation: none; }
}
/* /Pages/Auth/Login.razor.rz.scp.css */
/* Login card — liquid glass */
.login-card[b-502hf5qft1] {
    width: 100%;
    padding: 2.25rem 2rem;
    border-radius: var(--pos-radius-2xl);
    background: var(--pos-glass-bg-heavy);
    backdrop-filter: blur(32px) saturate(1.8);
    -webkit-backdrop-filter: blur(32px) saturate(1.8);
    border: 1px solid var(--pos-glass-border);
    box-shadow: var(--pos-liquid-shadow);
}

.login-card__title[b-502hf5qft1] {
    font-size: 1.75rem;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: var(--pos-ink);
    margin-bottom: 4px;
    line-height: 1.1;
}

.login-card__sub[b-502hf5qft1] {
    font-size: 0.9rem;
    color: var(--pos-muted);
    margin-bottom: 1.875rem;
    line-height: 1.5;
}

.login-card__forgot[b-502hf5qft1] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1.25rem;
}
.login-card__forgot a[b-502hf5qft1] {
    font-size: 0.8125rem;
    color: var(--pos-primary);
    font-weight: 500;
    text-decoration: none;
    transition: color var(--pos-duration-fast) var(--pos-ease-out);
}
.login-card__forgot a:hover[b-502hf5qft1] { color: var(--pos-primary-dark); text-decoration: underline; }

.login-card__resend[b-502hf5qft1] {
    margin-top: 1rem; padding: 1rem;
    border-radius: var(--pos-radius-lg);
    background: rgba(255, 193, 7, 0.08);
    border: 1px solid rgba(255, 193, 7, 0.20);
}

.login-card__divider[b-502hf5qft1] {
    display: flex; align-items: center;
    gap: 0.75rem; color: var(--pos-muted);
    font-size: 0.8125rem; margin: 1.375rem 0;
}
.login-card__divider[b-502hf5qft1]::before,
.login-card__divider[b-502hf5qft1]::after { content: ""; flex: 1; height: 1px; background: var(--pos-border); }

.login-card__google[b-502hf5qft1] {
    display: flex; align-items: center; justify-content: center;
    gap: 10px; width: 100%; padding: 11px 16px;
    border: 1.5px solid var(--pos-glass-border);
    border-radius: var(--pos-radius-full);
    background: var(--pos-glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: var(--pos-ink); font-size: 0.9rem; font-weight: 600;
    text-decoration: none;
    box-shadow: var(--pos-shadow-xs);
    transition:
        border-color var(--pos-duration-fast) var(--pos-ease-out),
        box-shadow   var(--pos-duration-base) var(--pos-ease-out),
        transform    var(--pos-duration-fast) var(--pos-ease-spring);
}
.login-card__google:hover[b-502hf5qft1] {
    border-color: rgba(29, 110, 249, 0.35);
    box-shadow: var(--pos-shadow-sm), var(--pos-glow-sm);
    transform: translateY(-2px);
}

.login-card__footer[b-502hf5qft1] {
    text-align: center; margin-top: 1.625rem; margin-bottom: 0;
    font-size: 0.875rem; color: var(--pos-muted);
}
.login-card__footer a[b-502hf5qft1] { color: var(--pos-primary); font-weight: 700; text-decoration: none; }
.login-card__footer a:hover[b-502hf5qft1] { text-decoration: underline; }
/* /Pages/Landlord/Dashboard.razor.rz.scp.css */
/* ── KPI / stat card grids ── */
.dashboard-kpi-grid[b-yvgvic8dm6] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--pos-space-4);
}

@media (min-width: 992px) {
    .dashboard-kpi-grid[b-yvgvic8dm6] {
        grid-template-columns: repeat(4, 1fr);
    }
}

.dashboard-kpi-wide[b-yvgvic8dm6] {
    grid-column: 1 / -1;
}

@media (min-width: 992px) {
    .dashboard-kpi-wide[b-yvgvic8dm6] {
        grid-column: 3 / 5;
    }
}

/* ── 2-col panel grid ── */
.dashboard-panel-grid[b-yvgvic8dm6] {
    display: grid;
    gap: var(--pos-space-4);
}

@media (min-width: 992px) {
    .dashboard-panel-grid[b-yvgvic8dm6] {
        grid-template-columns: 1fr 1fr;
    }
}

/* ── Sparkline ── */
.dash-sparkline[b-yvgvic8dm6] {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 60px;
    padding-top: var(--pos-space-2);
}

.dash-sparkline__col[b-yvgvic8dm6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
    height: 100%;
    justify-content: flex-end;
}

.dash-sparkline__bar[b-yvgvic8dm6] {
    width: 100%;
    background: var(--pos-primary);
    border-radius: var(--pos-radius-sm) var(--pos-radius-sm) 0 0;
    opacity: 0.75;
    transition: opacity var(--pos-duration-fast) var(--pos-ease-out), height var(--pos-duration-slow) var(--pos-ease-decelerate);
    min-height: 4px;
}

.dash-sparkline__col:hover .dash-sparkline__bar[b-yvgvic8dm6] { opacity: 1; }

.dash-sparkline__label[b-yvgvic8dm6] {
    font-size: 0.625rem;
    color: var(--pos-muted);
    white-space: nowrap;
}

/* ── List rows ── */
.dash-list[b-yvgvic8dm6] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.dash-list__item[b-yvgvic8dm6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pos-space-3);
    padding: 10px 0;
    border-bottom: 1px solid var(--pos-border);
}
.dash-list__item:last-child[b-yvgvic8dm6] { border-bottom: none; }

.dash-list__label[b-yvgvic8dm6] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.875rem;
    color: var(--pos-ink);
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-list__link[b-yvgvic8dm6] {
    color: var(--pos-ink);
    text-decoration: none;
    transition: color var(--pos-duration-fast) var(--pos-ease-out);
}
.dash-list__link:hover[b-yvgvic8dm6] { color: var(--pos-primary); }

.dash-list__meta[b-yvgvic8dm6] {
    display: flex;
    align-items: center;
    gap: var(--pos-space-2);
    flex-shrink: 0;
}
/* /Pages/Landlord/Properties/PropertiesList.razor.rz.scp.css */
.properties-filters[b-ldr783sbtc] {
    display: flex;
    gap: var(--pos-space-3);
    flex-wrap: wrap;
}

.properties-filters__search[b-ldr783sbtc] {
    flex: 1;
    min-width: 200px;
}

.properties-filters__status[b-ldr783sbtc] {
    min-width: 160px;
}
/* /Shared/Components/AppBadge.razor.rz.scp.css */
.app-badge[b-hy6cy80agb] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: var(--pos-radius-sm);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.01em;
    white-space: nowrap;
    vertical-align: middle;
}

.app-badge--pill[b-hy6cy80agb] { border-radius: var(--pos-radius-full); }

/* ── Sizes ── */
.app-badge--sm[b-hy6cy80agb] { font-size: 0.6875rem; padding: 2px 6px; }
.app-badge--lg[b-hy6cy80agb] { font-size: 0.875rem;  padding: 5px 12px; }

/* ── Colors ── */
.app-badge--primary[b-hy6cy80agb]  { background: rgba(13, 110, 253, 0.12);  color: var(--pos-primary); }
.app-badge--success[b-hy6cy80agb]  { background: rgba(25, 135, 84, 0.12);   color: #198754; }
.app-badge--danger[b-hy6cy80agb]   { background: rgba(220, 53, 69, 0.12);   color: #dc3545; }
.app-badge--warning[b-hy6cy80agb]  { background: rgba(255, 193, 7, 0.15);   color: #997404; }
.app-badge--info[b-hy6cy80agb]     { background: rgba(13, 202, 240, 0.12);  color: #0dcaf0; }
.app-badge--muted[b-hy6cy80agb]    { background: var(--pos-surface);        color: var(--pos-muted); border: 1px solid var(--pos-border); }
.app-badge--accent[b-hy6cy80agb]   { background: rgba(102, 16, 242, 0.10);  color: var(--pos-accent); }

[data-bs-theme="dark"] .app-badge--warning[b-hy6cy80agb] { color: #ffc107; }
[data-bs-theme="dark"] .app-badge--info[b-hy6cy80agb]    { color: #84d8e8; }

/* ── Dismiss ── */
.app-badge__dismiss[b-hy6cy80agb] {
    background: none;
    border: none;
    color: inherit;
    padding: 0;
    margin: 0;
    cursor: pointer;
    opacity: 0.7;
    display: inline-flex;
    align-items: center;
    font-size: 0.85em;
    line-height: 1;
    transition: opacity var(--pos-duration-fast) var(--pos-ease-out);
}
.app-badge__dismiss:hover[b-hy6cy80agb] { opacity: 1; }
/* /Shared/Components/AppButton.razor.rz.scp.css */
a.app-btn[b-ea8u439rx6] { text-decoration: none; color: inherit; }
a.app-btn:visited[b-ea8u439rx6] { color: inherit; }

.app-btn[b-ea8u439rx6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: var(--pos-radius-full);
    border: none;
    font-family: var(--pos-font-sans);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.25;
    cursor: pointer;
    white-space: nowrap;
    min-height: 38px;
    position: relative;
    overflow: hidden;
    user-select: none;
    transition:
        background      var(--pos-duration-fast) var(--pos-ease-out),
        box-shadow      var(--pos-duration-base) var(--pos-ease-out),
        transform       var(--pos-duration-fast) var(--pos-ease-spring),
        border-color    var(--pos-duration-fast) var(--pos-ease-out),
        opacity         var(--pos-duration-fast) var(--pos-ease-out);
}
/* Liquid shine sweep on hover */
.app-btn[b-ea8u439rx6]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        108deg,
        transparent 20%,
        rgba(255, 255, 255, 0.28) 50%,
        transparent 80%
    );
    transform: translateX(-130%);
    pointer-events: none;
    border-radius: inherit;
    transition: transform 0.50s var(--pos-ease-out);
}
.app-btn:hover:not(:disabled)[b-ea8u439rx6]::after { transform: translateX(150%); }

.app-btn:active[b-ea8u439rx6] { transform: scale(0.96); }

.app-btn:focus-visible[b-ea8u439rx6] {
    outline: 2px solid var(--pos-primary);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px var(--pos-focus-ring);
}

/* ── Variants ── */
.app-btn--primary[b-ea8u439rx6] {
    background: var(--pos-gradient-primary);
    background-size: 200% 200%;
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.22),
        0 2px 8px rgba(29, 110, 253, 0.40),
        0 0 20px rgba(29,110,253,0.18);
    animation: gradientShift 3.5s ease-in-out infinite;
}
.app-btn--primary:hover:not(:disabled)[b-ea8u439rx6] {
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.25),
        var(--pos-shadow-md),
        var(--pos-glow-lg),
        0 0 32px rgba(124,58,237,0.22);
    transform: translateY(-2px) scale(1.02);
}

.app-btn--secondary[b-ea8u439rx6] {
    background: var(--pos-glass-bg);
    backdrop-filter: blur(16px) saturate(1.8);
    -webkit-backdrop-filter: blur(16px) saturate(1.8);
    color: var(--pos-ink);
    border: 1px solid var(--pos-glass-border);
    box-shadow: var(--pos-specular), var(--pos-shadow-xs);
}
.app-btn--secondary:hover:not(:disabled)[b-ea8u439rx6] {
    border-color: rgba(29, 110, 253, 0.40);
    box-shadow: var(--pos-specular), var(--pos-shadow-sm), var(--pos-glow-xs);
    transform: translateY(-2px);
    backdrop-filter: blur(24px) saturate(2.2);
    -webkit-backdrop-filter: blur(24px) saturate(2.2);
}

.app-btn--outline[b-ea8u439rx6] {
    background: transparent;
    color: var(--pos-primary);
    border: 1.5px solid rgba(29,110,253,0.55);
    box-shadow: 0 0 0 0 rgba(29,110,253,0);
    backdrop-filter: blur(12px) saturate(1.6);
    -webkit-backdrop-filter: blur(12px) saturate(1.6);
}
.app-btn--outline:hover:not(:disabled)[b-ea8u439rx6] {
    background: rgba(29,110,253,0.08);
    border-color: var(--pos-primary);
    box-shadow: var(--pos-glow-sm);
    transform: translateY(-2px);
}

.app-btn--danger-outline[b-ea8u439rx6] {
    background: transparent;
    color: #dc2626;
    border: 1.5px solid rgba(220,38,38,0.50);
    backdrop-filter: blur(12px) saturate(1.6);
    -webkit-backdrop-filter: blur(12px) saturate(1.6);
}
.app-btn--danger-outline:hover:not(:disabled)[b-ea8u439rx6] {
    background: rgba(220, 38, 38, 0.07);
    border-color: #dc2626;
    box-shadow: var(--pos-glow-danger);
    transform: translateY(-2px);
}

.app-btn--danger[b-ea8u439rx6] {
    background: var(--pos-gradient-danger);
    background-size: 200% 200%;
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.18),
        0 2px 8px rgba(220, 38, 38, 0.40),
        0 0 16px rgba(220,38,38,0.16);
    animation: gradientShift 3.5s ease-in-out infinite;
}
.app-btn--danger:hover:not(:disabled)[b-ea8u439rx6] {
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.22),
        var(--pos-shadow-md),
        var(--pos-glow-danger);
    transform: translateY(-2px) scale(1.02);
}

.app-btn--success[b-ea8u439rx6] {
    background: var(--pos-gradient-success);
    background-size: 200% 200%;
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.18),
        0 2px 8px rgba(5, 150, 105, 0.38),
        0 0 16px rgba(5,150,105,0.16);
    animation: gradientShift 3.5s ease-in-out infinite;
}
.app-btn--success:hover:not(:disabled)[b-ea8u439rx6] {
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.22),
        var(--pos-shadow-md),
        var(--pos-glow-success);
    transform: translateY(-2px) scale(1.02);
}

.app-btn--ghost[b-ea8u439rx6] {
    background: transparent;
    color: var(--pos-ink);
    border: 1px solid transparent;
}
.app-btn--ghost:hover:not(:disabled)[b-ea8u439rx6] {
    background: var(--pos-glass-bg);
    backdrop-filter: blur(16px) saturate(1.8);
    -webkit-backdrop-filter: blur(16px) saturate(1.8);
    border-color: var(--pos-glass-border);
    box-shadow: var(--pos-glass-shadow);
}

.app-btn--link[b-ea8u439rx6] {
    background: transparent;
    color: var(--pos-primary);
    padding-left: 0;
    padding-right: 0;
    min-height: auto;
    border-radius: 0;
    font-weight: 500;
    overflow: visible;
}
.app-btn--link[b-ea8u439rx6]::after { display: none; }
.app-btn--link:hover:not(:disabled)[b-ea8u439rx6] {
    color: var(--pos-primary-dark);
    text-decoration: underline;
}

/* ── Sizes ── */
.app-btn--sm[b-ea8u439rx6] {
    font-size: 0.8125rem;
    padding: 5px 12px;
    min-height: 30px;
    gap: 4px;
}

.app-btn--lg[b-ea8u439rx6] {
    font-size: 1rem;
    padding: 11px 24px;
    min-height: 46px;
    gap: 8px;
}

/* ── Modifiers ── */
.app-btn--full[b-ea8u439rx6] { width: 100%; }

.app-btn--icon-only[b-ea8u439rx6] {
    padding: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
}
.app-btn--sm.app-btn--icon-only[b-ea8u439rx6] { width: 30px; height: 30px; }
.app-btn--lg.app-btn--icon-only[b-ea8u439rx6] { width: 46px; height: 46px; }

.app-btn:disabled[b-ea8u439rx6],
.app-btn--loading[b-ea8u439rx6] {
    opacity: 0.52;
    cursor: not-allowed;
    pointer-events: none;
}

/* ── Spinner ── */
.app-btn__spinner[b-ea8u439rx6] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    flex-shrink: 0;
}
.app-btn--sm .app-btn__spinner[b-ea8u439rx6] { width: 11px; height: 11px; }
.app-btn--lg .app-btn__spinner[b-ea8u439rx6] { width: 17px; height: 17px; }
/* /Shared/Components/AppCard.razor.rz.scp.css */
.app-card[b-c68nylfsqh] {
    background: var(--pos-card-bg);
    border: 1px solid var(--pos-border);
    border-radius: var(--pos-radius-lg);
    box-shadow: var(--pos-shadow-xs);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition:
        box-shadow  var(--pos-duration-base) var(--pos-ease-out),
        transform   var(--pos-duration-base) var(--pos-ease-out),
        border-color var(--pos-duration-base) var(--pos-ease-out);
}

.app-card--clickable[b-c68nylfsqh] {
    cursor: pointer;
}
@media (hover: hover) {
    .app-card--clickable:hover[b-c68nylfsqh] {
        box-shadow: var(--pos-shadow-lg);
        border-color: rgba(13, 110, 253, 0.20);
        transform: translateY(-2px);
    }
}
.app-card--clickable:active[b-c68nylfsqh] {
    transform: translateY(0);
    box-shadow: var(--pos-shadow-xs);
}

.app-card--clickable:focus-visible[b-c68nylfsqh] {
    outline: 2px solid var(--pos-primary);
    outline-offset: 2px;
}

.app-card--glass[b-c68nylfsqh] {
    background: var(--pos-glass-bg);
    backdrop-filter: var(--pos-blur-md);
    -webkit-backdrop-filter: var(--pos-blur-md);
    border-color: var(--pos-glass-border);
    box-shadow: var(--pos-glass-shadow);
}

.app-card--flush > .app-card__body[b-c68nylfsqh] {
    padding: 0;
}

/* ── Sections ── */
.app-card__header[b-c68nylfsqh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pos-space-4);
    padding: var(--pos-space-5) var(--pos-space-6);
    border-bottom: 1px solid var(--pos-border);
}

.app-card__title[b-c68nylfsqh] {
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--pos-ink);
    margin: 0;
    line-height: 1.3;
}

.app-card__header-slot[b-c68nylfsqh] {
    display: flex;
    align-items: center;
    gap: var(--pos-space-2);
    flex-shrink: 0;
}

.app-card__body[b-c68nylfsqh] {
    padding: var(--pos-space-6);
    flex: 1;
}

.app-card__footer[b-c68nylfsqh] {
    padding: var(--pos-space-4) var(--pos-space-6);
    border-top: 1px solid var(--pos-border);
    background: var(--pos-surface);
    border-radius: 0 0 var(--pos-radius-lg) var(--pos-radius-lg);
}
/* /Shared/Components/AppCheckbox.razor.rz.scp.css */
.app-checkbox[b-hwjl0jfxos] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    user-select: none;
}
.app-checkbox--disabled[b-hwjl0jfxos] { opacity: 0.5; cursor: not-allowed; }

.app-checkbox__input[b-hwjl0jfxos] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
}

.app-checkbox__box[b-hwjl0jfxos] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 2px solid var(--pos-border);
    border-radius: 5px;
    flex-shrink: 0;
    background: var(--pos-card-bg);
    transition:
        border-color var(--pos-duration-fast) var(--pos-ease-out),
        background   var(--pos-duration-fast) var(--pos-ease-out),
        box-shadow   var(--pos-duration-fast) var(--pos-ease-out);
}

.app-checkbox:hover .app-checkbox__box[b-hwjl0jfxos] {
    border-color: var(--pos-primary);
}

.app-checkbox__input:checked + .app-checkbox__box[b-hwjl0jfxos] {
    background: var(--pos-primary);
    border-color: var(--pos-primary);
    box-shadow: 0 0 0 3px var(--pos-focus-ring);
}

.app-checkbox__input:focus-visible + .app-checkbox__box[b-hwjl0jfxos] {
    box-shadow: 0 0 0 3px var(--pos-focus-ring);
    border-color: var(--pos-primary);
}

.app-checkbox__tick[b-hwjl0jfxos] {
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.app-checkbox__label[b-hwjl0jfxos] {
    font-size: 0.9rem;
    color: var(--pos-ink);
    line-height: 1.4;
}
/* /Shared/Components/AppChip.razor.rz.scp.css */
.app-chip[b-ofr4fwg8xu] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: var(--pos-radius-full);
    border: 1px solid var(--pos-border);
    background: var(--pos-surface);
    color: var(--pos-ink);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.25;
    white-space: nowrap;
    cursor: default;
    user-select: none;
    transition:
        background  var(--pos-duration-fast) var(--pos-ease-out),
        border-color var(--pos-duration-fast) var(--pos-ease-out),
        color var(--pos-duration-fast) var(--pos-ease-out),
        box-shadow  var(--pos-duration-fast) var(--pos-ease-out),
        transform   var(--pos-duration-fast) var(--pos-ease-spring);
}

[role="checkbox"].app-chip[b-ofr4fwg8xu] { cursor: pointer; }
[role="checkbox"].app-chip:hover[b-ofr4fwg8xu] { border-color: var(--pos-primary); color: var(--pos-primary); }
[role="checkbox"].app-chip:active[b-ofr4fwg8xu] { transform: scale(0.96); }
[role="checkbox"].app-chip:focus-visible[b-ofr4fwg8xu] {
    outline: 2px solid var(--pos-primary);
    outline-offset: 2px;
}

.app-chip--selected[b-ofr4fwg8xu] {
    background: var(--pos-primary-subtle);
    border-color: rgba(13, 110, 253, 0.30);
    color: var(--pos-primary);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.12);
}

.app-chip--disabled[b-ofr4fwg8xu] {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.app-chip__dismiss[b-ofr4fwg8xu] {
    background: none;
    border: none;
    color: inherit;
    padding: 0;
    margin: 0;
    cursor: pointer;
    opacity: 0.6;
    display: inline-flex;
    align-items: center;
    font-size: 0.9em;
    line-height: 1;
    transition: opacity var(--pos-duration-fast) var(--pos-ease-out);
}
.app-chip__dismiss:hover[b-ofr4fwg8xu] { opacity: 1; }
/* /Shared/Components/AppEmptyState.razor.rz.scp.css */
.app-empty-state[b-new656y80n] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--pos-space-16) var(--pos-space-8);
    gap: var(--pos-space-3);
}

.app-empty-state__icon-wrap[b-new656y80n] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: var(--pos-radius-2xl);
    background: var(--pos-surface);
    border: 1px solid var(--pos-border);
    margin-bottom: var(--pos-space-2);
    animation: float 4s ease-in-out infinite;
}

.app-empty-state__icon[b-new656y80n] {
    font-size: 2rem;
    color: var(--pos-muted);
    opacity: 0.7;
}

.app-empty-state__title[b-new656y80n] {
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--pos-ink);
    margin: 0;
}

.app-empty-state__desc[b-new656y80n] {
    font-size: 0.9rem;
    color: var(--pos-muted);
    margin: 0;
    max-width: 340px;
    line-height: 1.6;
}

.app-empty-state__action[b-new656y80n] {
    margin-top: var(--pos-space-2);
}
/* /Shared/Components/AppInput.razor.rz.scp.css */
.app-input-wrap[b-6m9klbutr2] { display: flex; flex-direction: column; gap: 5px; }

.app-input-label[b-6m9klbutr2] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--pos-ink);
    letter-spacing: 0.01em;
}
.app-input-required[b-6m9klbutr2] { color: #dc3545; margin-left: 2px; }

.app-input-field[b-6m9klbutr2] { position: relative; }

.app-input[b-6m9klbutr2] {
    display: block;
    width: 100%;
    padding: 9px 13px;
    border: 1.5px solid var(--pos-border);
    border-radius: var(--pos-radius-md);
    background: var(--pos-card-bg);
    color: var(--pos-ink);
    font-family: var(--pos-font-sans);
    font-size: 0.9rem;
    line-height: 1.5;
    transition:
        border-color var(--pos-duration-fast) var(--pos-ease-out),
        box-shadow   var(--pos-duration-fast) var(--pos-ease-out);
    outline: none;
}
.app-input[b-6m9klbutr2]::placeholder { color: var(--pos-muted); opacity: 1; }
.app-input:focus[b-6m9klbutr2] {
    border-color: var(--pos-primary);
    box-shadow: 0 0 0 3px var(--pos-focus-ring);
}
.app-input:disabled[b-6m9klbutr2] {
    background: var(--pos-surface);
    color: var(--pos-muted);
    cursor: not-allowed;
    opacity: 0.7;
}
.app-input--error[b-6m9klbutr2] { border-color: #dc3545 !important; }
.app-input--error:focus[b-6m9klbutr2] { box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.20); }
.app-input-wrap--error .app-input-label[b-6m9klbutr2] { color: #dc3545; }

/* ── Icon slots ── */
.app-input-icon[b-6m9klbutr2] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: var(--pos-muted);
    pointer-events: none;
    font-size: 1rem;
}
.app-input-icon--lead[b-6m9klbutr2]  { left: 12px; }
.app-input-icon--trail[b-6m9klbutr2] { right: 12px; }
.app-input-field--lead-icon .app-input[b-6m9klbutr2]  { padding-left: 38px; }
.app-input-field--trail-icon .app-input[b-6m9klbutr2] { padding-right: 38px; }

/* ── Help text ── */
.app-input-help[b-6m9klbutr2] {
    font-size: 0.78rem;
    color: var(--pos-muted);
    margin: 0;
    line-height: 1.4;
}
.app-input-help--error[b-6m9klbutr2] { color: #dc3545; }
/* /Shared/Components/AppModal.razor.rz.scp.css */
.app-modal[b-5wxjk1a9lg] {
    position: relative;
    background: var(--pos-glass-bg-heavy);
    backdrop-filter: blur(var(--pos-blur-xl));
    -webkit-backdrop-filter: blur(var(--pos-blur-xl));
    border: 1px solid var(--pos-glass-border);
    border-radius: var(--pos-radius-2xl);
    box-shadow: var(--pos-shadow-2xl), var(--pos-shadow-glow);
    width: 100%;
    max-width: 540px;
    max-height: 90dvh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ── Bottom sheet on mobile ── */
.app-modal--sheet[b-5wxjk1a9lg] {
    border-radius: var(--pos-radius-2xl) var(--pos-radius-2xl) 0 0;
    max-width: 100%;
    max-height: 85dvh;
    align-self: flex-end;
    width: 100%;
    animation: bottomSheetSlideIn var(--pos-duration-slow) var(--pos-ease-decelerate) both;
}

.app-modal__header[b-5wxjk1a9lg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--pos-border);
    flex-shrink: 0;
}

.app-modal__title[b-5wxjk1a9lg] {
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--pos-ink);
    margin: 0;
}

.app-modal__close[b-5wxjk1a9lg] {
    background: none;
    border: none;
    color: var(--pos-muted);
    padding: 6px;
    border-radius: var(--pos-radius-md);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: color var(--pos-duration-fast) var(--pos-ease-out), background var(--pos-duration-fast) var(--pos-ease-out);
    font-size: 0.9375rem;
}
.app-modal__close:hover[b-5wxjk1a9lg] { color: var(--pos-ink); background: var(--pos-surface); }
.app-modal__close:focus-visible[b-5wxjk1a9lg] { outline: 2px solid var(--pos-primary); outline-offset: 2px; }

.app-modal__body[b-5wxjk1a9lg] {
    padding: 20px 24px;
    overflow-y: auto;
    flex: 1;
}

.app-modal__footer[b-5wxjk1a9lg] {
    padding: 14px 24px 20px;
    border-top: 1px solid var(--pos-border);
    display: flex;
    gap: var(--pos-space-3);
    justify-content: flex-end;
    flex-shrink: 0;
}
/* /Shared/Components/AppPagination.razor.rz.scp.css */
.app-pagination[b-voxl0v3d8w] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.app-pagination__btn[b-voxl0v3d8w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1.5px solid var(--pos-border);
    border-radius: var(--pos-radius-md);
    background: var(--pos-card-bg);
    color: var(--pos-ink);
    font-family: var(--pos-font-sans);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition:
        background  var(--pos-duration-fast) var(--pos-ease-out),
        border-color var(--pos-duration-fast) var(--pos-ease-out),
        color var(--pos-duration-fast) var(--pos-ease-out),
        transform var(--pos-duration-fast) var(--pos-ease-spring);
}
.app-pagination__btn:hover[b-voxl0v3d8w] {
    border-color: var(--pos-primary);
    color: var(--pos-primary);
}
.app-pagination__btn:active[b-voxl0v3d8w] { transform: scale(0.94); }
.app-pagination__btn:disabled[b-voxl0v3d8w] {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}
.app-pagination__btn:focus-visible[b-voxl0v3d8w] {
    outline: 2px solid var(--pos-primary);
    outline-offset: 2px;
}

.app-pagination__btn--active[b-voxl0v3d8w] {
    background: var(--pos-primary);
    border-color: var(--pos-primary);
    color: #fff;
    font-weight: 700;
}
.app-pagination__btn--active:hover[b-voxl0v3d8w] { color: #fff; }

.app-pagination__ellipsis[b-voxl0v3d8w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    color: var(--pos-muted);
    font-size: 0.875rem;
    cursor: default;
}
/* /Shared/Components/AppSelect.razor.rz.scp.css */
.app-select-wrap[b-dxjgepiw70] { display: flex; flex-direction: column; gap: 5px; }

.app-select-label[b-dxjgepiw70] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--pos-ink);
    letter-spacing: 0.01em;
}
.app-select-required[b-dxjgepiw70] { color: #dc3545; margin-left: 2px; }

.app-select-field[b-dxjgepiw70] { position: relative; }

.app-select[b-dxjgepiw70] {
    display: block;
    width: 100%;
    padding: 9px 36px 9px 14px;
    border: 1.5px solid var(--pos-border);
    border-radius: var(--pos-radius-lg);
    background: var(--pos-glass-bg);
    backdrop-filter: blur(24px) saturate(2.0) brightness(1.02);
    -webkit-backdrop-filter: blur(24px) saturate(2.0) brightness(1.02);
    color: var(--pos-ink);
    font-family: var(--pos-font-sans);
    font-size: 0.9rem;
    line-height: 1.5;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    outline: none;
    transition:
        border-color    var(--pos-duration-fast) var(--pos-ease-out),
        box-shadow      var(--pos-duration-base) var(--pos-ease-out),
        backdrop-filter var(--pos-duration-base) var(--pos-ease-out),
        transform       var(--pos-duration-fast) var(--pos-ease-out);
}
.app-select:hover:not(:disabled):not(:focus)[b-dxjgepiw70] {
    border-color: rgba(29,110,249,0.35);
    box-shadow: var(--pos-glow-xs);
}
.app-select:focus[b-dxjgepiw70] {
    border-color: var(--pos-primary);
    background: var(--pos-glass-bg-heavy);
    box-shadow: 0 0 0 3px var(--pos-focus-ring), var(--pos-glow-md);
    transform: translateY(-1px);
}
.app-select:disabled[b-dxjgepiw70] {
    background: var(--pos-surface);
    color: var(--pos-muted);
    cursor: not-allowed;
    opacity: 0.7;
}
.app-select--error[b-dxjgepiw70] { border-color: #dc3545 !important; }

.app-select-caret[b-dxjgepiw70] {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--pos-muted);
    pointer-events: none;
    font-size: 0.85rem;
    transition: color var(--pos-duration-fast) var(--pos-ease-out),
                transform var(--pos-duration-base) var(--pos-ease-spring);
}
.app-select:focus ~ .app-select-caret[b-dxjgepiw70] { color: var(--pos-primary); transform: translateY(-50%) rotate(180deg); }

.app-select-help[b-dxjgepiw70] { font-size: 0.78rem; color: var(--pos-muted); margin: 0; line-height: 1.4; }
.app-select-help--error[b-dxjgepiw70] { color: #dc3545; }
/* /Shared/Components/AppSkeleton.razor.rz.scp.css */
.app-skeleton[b-u9u253w72k] {
    display: block;
    border-radius: var(--pos-radius-sm);
}
/* /Shared/Components/AppStatCard.razor.rz.scp.css */
.app-stat-card[b-abzjf60rmj] {
    background: var(--pos-card-bg);
    border: 1px solid var(--pos-border);
    border-radius: var(--pos-radius-lg);
    padding: var(--pos-space-5) var(--pos-space-6);
    box-shadow: var(--pos-shadow-xs);
    display: flex;
    flex-direction: column;
    gap: var(--pos-space-2);
    transition:
        box-shadow  var(--pos-duration-base) var(--pos-ease-out),
        transform   var(--pos-duration-base) var(--pos-ease-out),
        border-color var(--pos-duration-base) var(--pos-ease-out);
}

.app-stat-card--clickable[b-abzjf60rmj] { cursor: pointer; }
@media (hover: hover) {
    .app-stat-card--clickable:hover[b-abzjf60rmj] {
        box-shadow: var(--pos-shadow-md);
        border-color: rgba(13, 110, 253, 0.20);
        transform: translateY(-2px);
    }
}

.app-stat-card__header[b-abzjf60rmj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pos-space-3);
}

.app-stat-card__label[b-abzjf60rmj] {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--pos-muted);
}

.app-stat-card__icon[b-abzjf60rmj] {
    width: 36px;
    height: 36px;
    border-radius: var(--pos-radius-md);
    font-size: 1rem;
}

.app-stat-card__value[b-abzjf60rmj] {
    font-size: 1.875rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--pos-ink);
    line-height: 1.1;
}

.app-stat-card__trend[b-abzjf60rmj] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.78rem;
    font-weight: 600;
    border-radius: var(--pos-radius-full);
    padding: 2px 8px;
    width: fit-content;
}
.app-stat-card__trend--up[b-abzjf60rmj]   { color: #198754; background: rgba(25, 135, 84, 0.10); }
.app-stat-card__trend--down[b-abzjf60rmj] { color: #dc3545; background: rgba(220, 53, 69, 0.10); }

.app-stat-card__sub[b-abzjf60rmj] { font-size: 0.8125rem; color: var(--pos-muted); }
/* /Shared/Components/AppTabs.razor.rz.scp.css */
.app-tabs[b-hnhi6hwml5] { display: flex; flex-direction: column; gap: 0; }

.app-tabs__nav[b-hnhi6hwml5] {
    display: flex;
    gap: 2px;
    border-bottom: 1.5px solid var(--pos-border);
    padding: 0 2px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.app-tabs__nav[b-hnhi6hwml5]::-webkit-scrollbar { display: none; }

.app-tabs__tab[b-hnhi6hwml5] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    background: none;
    border: none;
    border-bottom: 2.5px solid transparent;
    margin-bottom: -1.5px;
    color: var(--pos-muted);
    font-family: var(--pos-font-sans);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition:
        color        var(--pos-duration-fast) var(--pos-ease-out),
        border-color var(--pos-duration-fast) var(--pos-ease-out);
}
.app-tabs__tab:hover[b-hnhi6hwml5] { color: var(--pos-ink); }
.app-tabs__tab:focus-visible[b-hnhi6hwml5] { outline: 2px solid var(--pos-primary); outline-offset: -2px; border-radius: 4px 4px 0 0; }

.app-tabs__tab--active[b-hnhi6hwml5] {
    color: var(--pos-primary);
    border-bottom-color: var(--pos-primary);
    font-weight: 600;
}

.app-tabs__content[b-hnhi6hwml5] { padding-top: var(--pos-space-5); }
.app-tab__panel[b-hnhi6hwml5] { animation: fadeIn var(--pos-duration-base) var(--pos-ease-out) both; }
/* /Shared/Layouts/ResponsiveLayout.razor.rz.scp.css */
/* ResponsiveLayout — desktop chrome */
.rl-brand-logo[b-48pr8iaskw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--pos-radius-md);
    background: var(--pos-primary);
    color: #fff;
    font-size: 1rem;
    flex-shrink: 0;
    text-decoration: none;
    transition: transform var(--pos-duration-fast) var(--pos-ease-spring);
}
.rl-brand-logo:hover[b-48pr8iaskw] { transform: scale(1.08); }

.rl-mobile-actions[b-48pr8iaskw] {
    display: flex;
    align-items: center;
    gap: var(--pos-space-2);
    flex-shrink: 0;
}
