/* /Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-o7eod7c72x] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

.app-topbar[b-o7eod7c72x] {
    flex: none;
    height: 44px;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 16px;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
}

.app-brand[b-o7eod7c72x] {
    font-weight: 700;
    color: var(--accent);
    letter-spacing: .3px;
}

.app-nav[b-o7eod7c72x] {
    display: flex;
    gap: 8px;
}

/* NavLink renders its own <a>, so it doesn't inherit this component's scoped-CSS
   attribute — reach it through ::deep from the scoped .app-nav wrapper. */
.app-nav[b-o7eod7c72x]  .app-navlink {
    display: inline-flex;
    align-items: center;
    padding: 6px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
    color: var(--muted);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    /* Note: do NOT transition `background`. When Blazor swaps the .active class on
       client-side nav, a background transition leaves the fill painted stale until a
       reflow. Transitioning only color/border keeps the active button repaint instant. */
    transition: color .15s, border-color .15s;
}

.app-nav[b-o7eod7c72x]  .app-navlink:hover {
    color: var(--accent);
    border-color: var(--accent);
    background: rgba(137,180,250,.08);
}

.app-nav[b-o7eod7c72x]  .app-navlink.active {
    color: #1e1e2e;
    background: var(--accent);
    border-color: var(--accent);
}

.app-nav[b-o7eod7c72x]  .app-navlink.active:hover {
    filter: brightness(1.08);
}

.app-body[b-o7eod7c72x] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
