/* /Components/Layout/AccountMenu.razor.rz.scp.css */
.notai-account[b-omjhzfub8b] {
    position: relative;
}

/* --- toggle (summary) --- */
.notai-account__toggle[b-omjhzfub8b] {
    display: flex;
    align-items: center;
    gap: var(--notai-space-2);
    height: var(--notai-control-h-md);
    padding: 0 var(--notai-space-2);
    border-radius: var(--notai-radius-md);
    cursor: pointer;
    list-style: none;
    user-select: none;
    color: var(--notai-text);
}

.notai-account__toggle[b-omjhzfub8b]::-webkit-details-marker { display: none; }
.notai-account__toggle:hover[b-omjhzfub8b] { background: var(--notai-surface-sunken); }

.notai-account__avatar[b-omjhzfub8b] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: var(--notai-primary);
    color: var(--notai-text-on-accent);
    font-size: var(--notai-font-caption);
    font-weight: var(--notai-weight-semibold);
    flex-shrink: 0;
}

.notai-account__name[b-omjhzfub8b] {
    font-size: var(--notai-font-secondary);
    font-weight: var(--notai-weight-medium);
    max-width: 16ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notai-account__chevron[b-omjhzfub8b] {
    font-size: 18px;
    color: var(--notai-text-muted);
    transition: transform var(--notai-motion-fast) var(--notai-ease);
}

.notai-account[open] .notai-account__chevron[b-omjhzfub8b] { transform: rotate(180deg); }

/* --- panel --- */
.notai-account__panel[b-omjhzfub8b] {
    position: absolute;
    right: 0;
    top: calc(100% + var(--notai-space-1));
    z-index: 20;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    padding: var(--notai-space-1);
    background: var(--notai-surface-raised);
    border: 1px solid var(--notai-border-color);
    border-radius: var(--notai-radius-md);
    box-shadow: var(--notai-shadow-2);
}

.notai-account__logout[b-omjhzfub8b] { margin: 0; }
.notai-account__logout button[b-omjhzfub8b] {
    width: 100%;
    background: none;
    border: none;
    font: inherit;
    cursor: pointer;
}

.notai-account__item[b-omjhzfub8b] {
    display: flex;
    align-items: center;
    gap: var(--notai-space-2);
    padding: var(--notai-space-2) var(--notai-space-3);
    border-radius: var(--notai-radius-sm);
    font-size: var(--notai-font-secondary);
    color: var(--notai-text);
    text-decoration: none;
    text-align: left;
}

.notai-account__item .material-symbols-outlined[b-omjhzfub8b] { font-size: 18px; color: var(--notai-text-muted); }
.notai-account__item:hover[b-omjhzfub8b] { background: var(--notai-surface-sunken); }

.notai-account__item--danger[b-omjhzfub8b] { color: var(--notai-danger); }
.notai-account__item--danger .material-symbols-outlined[b-omjhzfub8b] { color: var(--notai-danger); }

/* --- guest state --- */
.notai-account__guest[b-omjhzfub8b] {
    display: flex;
    align-items: center;
    gap: var(--notai-space-2);
}

.notai-account__btn[b-omjhzfub8b] {
    display: inline-flex;
    align-items: center;
    height: var(--notai-control-h-sm);
    padding: 0 var(--notai-space-3);
    border-radius: var(--notai-radius-md);
    border: 1px solid var(--notai-border-color);
    font-size: var(--notai-font-secondary);
    font-weight: var(--notai-weight-medium);
    color: var(--notai-text);
    text-decoration: none;
    white-space: nowrap;
}

.notai-account__btn:hover[b-omjhzfub8b] { background: var(--notai-surface-sunken); }

.notai-account__btn--primary[b-omjhzfub8b] {
    background: var(--notai-primary);
    border-color: var(--notai-primary);
    color: var(--notai-text-on-accent);
}

.notai-account__btn--primary:hover[b-omjhzfub8b] {
    background: var(--notai-primary-hover);
    color: var(--notai-text-on-accent);
}

@media (max-width: 480px) {
    .notai-account__name[b-omjhzfub8b] { display: none; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ============================================================================
   Portal shell — app-bar, sidebar and navigation. (Phase 2)

   The shell chrome is rendered by Radzen components (RadzenHeader / RadzenSidebar
   / RadzenPanelMenu), whose root elements do not carry this component's scope
   attribute. `.notai-shell` is a `display:contents` wrapper that DOES carry the
   scope, so `::deep` can reach the Radzen chrome from here. Nothing global.
   ========================================================================== */

.notai-shell[b-0uzqgv6qyj] {
    display: contents;
}

/* ---------- App bar --------------------------------------------------------- */

.notai-shell[b-0uzqgv6qyj]  .rz-header {
    height: var(--notai-header-h);
    min-height: var(--notai-header-h);
    padding: 0 var(--notai-space-4);
    background: var(--notai-surface);
    color: var(--notai-text);
    border-bottom: 1px solid var(--notai-border-color);
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--notai-space-3);
}

/* Header links inherit neutral text, not Radzen's on-primary white — but the
   account menu owns its own link colours (incl. a filled primary "Sign in"
   button that needs white text), so exclude it. */
.notai-shell[b-0uzqgv6qyj]  .rz-header a:not([class*="notai-account"]) {
    color: var(--notai-text);
}

/* The sidebar toggle defaults to on-primary (white) for Radzen's coloured
   header — force neutral so it is visible on the neutral app bar. */
.notai-shell[b-0uzqgv6qyj]  .rz-sidebar-toggle {
    color: var(--notai-text);
    background: transparent;
    border: none;
    border-radius: var(--notai-radius-sm);
}

.notai-shell[b-0uzqgv6qyj]  .rz-sidebar-toggle:hover,
.notai-shell[b-0uzqgv6qyj]  .rz-sidebar-toggle:focus-visible {
    color: var(--notai-text);
    background: var(--notai-surface-sunken);
}

.notai-appbar__left[b-0uzqgv6qyj],
.notai-appbar__right[b-0uzqgv6qyj] {
    display: flex;
    align-items: center;
    gap: var(--notai-space-2);
    min-width: 0;
}

.notai-appbar__left[b-0uzqgv6qyj] { flex: 1 1 auto; }
.notai-appbar__right[b-0uzqgv6qyj] { flex: 0 0 auto; }

/* Brand mark in the header: hidden on desktop (brand lives in the sidebar),
   shown only when the sidebar is collapsed / off-canvas. */
.notai-appbar__mark[b-0uzqgv6qyj] {
    display: none;
    align-items: center;
    line-height: 0;
}

.notai-appbar__mark img[b-0uzqgv6qyj] { width: 28px; height: 28px; }

/* Projected page title (fills the SectionOutlet) */
.notai-shell[b-0uzqgv6qyj]  .notai-shell-page-title {
    font-size: var(--notai-font-secondary);
    font-weight: var(--notai-weight-semibold);
    color: var(--notai-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: var(--notai-space-2);
    border-left: 1px solid var(--notai-border-color);
    margin-left: var(--notai-space-1);
}

/* ---------- Sidebar ------------------------------------------------------- */

.notai-shell[b-0uzqgv6qyj]  .rz-sidebar {
    background: var(--notai-surface);
    border-inline-end: 1px solid var(--notai-border-color);
}

/* Non-interactive, non-focusable structural section labels inside the menu. */
.notai-shell[b-0uzqgv6qyj]  .notai-nav-section {
    list-style: none;
    margin: var(--notai-space-4) 0 var(--notai-space-1);
    padding: 0 var(--notai-space-4);
    font-size: var(--notai-font-caption);
    font-weight: var(--notai-weight-semibold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--notai-text-muted);
    pointer-events: none;
}

.notai-shell[b-0uzqgv6qyj]  .rz-panel-menu .rz-navigation-item-link {
    border-radius: var(--notai-radius-sm);
}

.notai-shell[b-0uzqgv6qyj]  .rz-panel-menu .rz-navigation-item-link:hover {
    background: var(--notai-surface-sunken);
}

/* Active item: clear left accent + subtle fill. Radzen 11.2.5 puts `.active`
   on the link and `.rz-navigation-item-wrapper-active` on its wrapper, and sets
   aria-current="page". */
.notai-shell[b-0uzqgv6qyj]  .rz-panel-menu .rz-navigation-item-link.active,
.notai-shell[b-0uzqgv6qyj]  .rz-panel-menu .rz-navigation-item-wrapper-active > .rz-navigation-item-link {
    background: var(--notai-primary-subtle);
    box-shadow: inset 3px 0 0 var(--notai-primary);
    font-weight: var(--notai-weight-semibold);
    color: var(--notai-text);
}

/* Suppress the accent on a group header whose expanded child route is active —
   the child already carries the indicator, so the parent would double-highlight.
   (Supersedes the former global <style> block.) */
.notai-shell[b-0uzqgv6qyj]  .rz-panel-menu-item:has(> ul) > .rz-navigation-item-wrapper-active > .rz-navigation-item-link,
.notai-shell[b-0uzqgv6qyj]  .rz-panel-menu-item:has(> ul) > .rz-navigation-item-active,
.notai-shell[b-0uzqgv6qyj]  .rz-panel-menu-item:has(> ul) > .rz-navigation-item-wrapper-active {
    background: transparent;
    box-shadow: none;
}

/* ---------- Responsive -------------------------------------------------- */

@media (max-width: 768px) {
    .notai-appbar__mark[b-0uzqgv6qyj] { display: inline-flex; }

    .notai-shell[b-0uzqgv6qyj]  .notai-shell-page-title {
        display: none;
    }
}
/* /Components/Pages/DevShowcase.razor.rz.scp.css */
.showcase-stack[b-jytuicr1rt] {
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-3);
}

.showcase-row[b-jytuicr1rt] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--notai-space-2);
    align-items: center;
}
/* /Components/Pages/Index.razor.rz.scp.css */
/* Home (marketing pilot). Shared spacing / type / surface / border / radius /
   shadow / motion come from --notai-* tokens. The only literals are the
   per-brand card gradients, the hero image cap, and the marketing lead size —
   all page-specific, none shared. */

/* ---------- Hero ---------------------------------------------------------- */

.home-hero[b-t60b3g8pz2] {
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-4);
}

.home-hero__img[b-t60b3g8pz2] {
    display: block;
    width: 100%;
    max-width: 1024px;
    height: auto;
}

.home-lead[b-t60b3g8pz2] {
    margin: 0;
    max-width: 42rem;
    font-size: 1.0625rem;      /* marketing lead — deliberately above body */
    line-height: 1.7;
    color: var(--notai-text-secondary);
}

/* ---------- Primary actions ------------------------------------------------ */

.home-cta[b-t60b3g8pz2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--notai-space-2);
    min-height: var(--notai-control-h-lg);
    padding: 0 var(--notai-space-5);
    border: 1px solid transparent;
    border-radius: var(--notai-radius-md);
    font-size: var(--notai-font-body);
    font-weight: var(--notai-weight-medium);
    text-decoration: none;
    transition: background-color var(--notai-motion-fast) var(--notai-ease),
                border-color var(--notai-motion-fast) var(--notai-ease);
}

.home-cta .material-symbols-outlined[b-t60b3g8pz2] { font-size: 20px; }

.home-cta--primary[b-t60b3g8pz2] {
    background: var(--notai-primary);
    color: var(--notai-text-on-accent);
}

.home-cta--primary:hover[b-t60b3g8pz2] {
    background: var(--notai-primary-hover);
    color: var(--notai-text-on-accent);
}

.home-cta--secondary[b-t60b3g8pz2] {
    background: transparent;
    border-color: var(--notai-border-color);
    color: var(--notai-text);
}

.home-cta--secondary:hover[b-t60b3g8pz2] {
    background: var(--notai-surface-sunken);
    color: var(--notai-text);
}

/* ---------- Project showcase -------------------------------------------- */

.home-projects[b-t60b3g8pz2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr));
    gap: var(--notai-space-4);
}

.home-project[b-t60b3g8pz2] {
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-2);
    padding: var(--notai-space-5);
    border-radius: var(--notai-radius-lg);
    color: #fff;
    text-decoration: none;
    box-shadow: var(--notai-shadow-1);
    transition: transform var(--notai-motion-fast) var(--notai-ease),
                box-shadow var(--notai-motion-fast) var(--notai-ease);
}

.home-project:hover[b-t60b3g8pz2] {
    transform: translateY(-3px);
    box-shadow: var(--notai-shadow-2);
}

.home-project__icon[b-t60b3g8pz2]  { font-size: 2rem; line-height: 1; }
.home-project__name[b-t60b3g8pz2]  { margin: 0; font-size: 1.05rem; font-weight: 700; }
.home-project__pitch[b-t60b3g8pz2] { margin: 0; font-size: 0.85rem; line-height: 1.5; opacity: 0.9; }
.home-project__link[b-t60b3g8pz2]  { margin-top: auto; padding-top: var(--notai-space-3); font-size: 0.8rem; opacity: 0.75; }

/* Per-brand marketing gradients (theme-independent by design). */
.home-project--et[b-t60b3g8pz2]        { background: linear-gradient(135deg, #3d1c6e 0%, #7c3aed 100%); }
.home-project--shoofy[b-t60b3g8pz2]    { background: linear-gradient(135deg, #1a1a2e 0%, #4a90d9 100%); }
.home-project--blueprint[b-t60b3g8pz2] { background: linear-gradient(135deg, #140735 0%, #1e0d4a 100%); }
.home-project--fuelowl[b-t60b3g8pz2]   { background: linear-gradient(135deg, #0f172a 0%, #92400e 100%); }

/* ---------- Authenticated news --------------------------------------------- */

.home-news[b-t60b3g8pz2] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-2);
}

.home-news__item[b-t60b3g8pz2] {
    display: flex;
    gap: var(--notai-space-4);
    align-items: flex-start;
    padding: var(--notai-space-3) var(--notai-space-4);
    background: var(--notai-surface-raised);
    border: 1px solid var(--notai-border-color);
    border-radius: var(--notai-radius-md);
}

.home-news__date[b-t60b3g8pz2] {
    min-width: 72px;
    padding-top: 2px;
    font-size: var(--notai-font-caption);
    font-weight: var(--notai-weight-semibold);
    color: var(--notai-text-muted);
    white-space: nowrap;
}

.home-news__body[b-t60b3g8pz2] { min-width: 0; }

.home-news__title[b-t60b3g8pz2] {
    margin: 0 0 2px;
    font-size: 0.9rem;
    font-weight: var(--notai-weight-semibold);
    color: var(--notai-text);
}

.home-news__notes[b-t60b3g8pz2] {
    margin: 0;
    font-size: var(--notai-font-secondary);
    line-height: 1.5;
    color: var(--notai-text-secondary);
}

.home-news__more[b-t60b3g8pz2] {
    margin: var(--notai-space-2) 0 0;
    font-size: var(--notai-font-secondary);
    font-style: italic;
    color: var(--notai-text-muted);
}

/* ---------- Responsive + reduced motion --------------------------------- */

@media (max-width: 480px) {
    .home-cta[b-t60b3g8pz2] { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .home-project[b-t60b3g8pz2] { transition: none; }
    .home-project:hover[b-t60b3g8pz2] { transform: none; }
}
/* /Components/Pages/SimStore/ControlTower/ControlTowerAgentChat.razor.rz.scp.css */
/* Control Tower agent conversation — top of the page. Chat-style, scrollable. */

.ct-agent[b-hlbayb5s29] {
    display: flex;
    flex-direction: column;
    background: var(--ss-surface);
    border: 1px solid var(--ss-border);
    border-radius: 14px;
    overflow: hidden;
}

.ct-agent__head[b-hlbayb5s29] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.9rem;
    border-bottom: 1px solid var(--ss-border);
}

.ct-agent__title[b-hlbayb5s29] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--ss-text);
}

.ct-agent__status[b-hlbayb5s29] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.8rem;
    color: var(--ss-muted);
    margin-left: auto;
}

.ct-agent__dot[b-hlbayb5s29] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ss-muted);
    flex: none;
}
.ct-agent--connecting .ct-agent__dot[b-hlbayb5s29],
.ct-agent--thinking .ct-agent__dot[b-hlbayb5s29]     { background: #d9a441; }
.ct-agent--listening .ct-agent__dot[b-hlbayb5s29],
.ct-agent--agent_speaking .ct-agent__dot[b-hlbayb5s29] { background: var(--ss-accent); }
.ct-agent--user_speaking .ct-agent__dot[b-hlbayb5s29],
.ct-agent--interrupted .ct-agent__dot[b-hlbayb5s29]  { background: #4a9ff5; }
.ct-agent--error .ct-agent__dot[b-hlbayb5s29]        { background: #e0736a; }

@media (prefers-reduced-motion: no-preference) {
    .ct-agent--listening .ct-agent__dot[b-hlbayb5s29],
    .ct-agent--user_speaking .ct-agent__dot[b-hlbayb5s29],
    .ct-agent--agent_speaking .ct-agent__dot[b-hlbayb5s29],
    .ct-agent--connecting .ct-agent__dot[b-hlbayb5s29] {
        animation: ct-agent-pulse-b-hlbayb5s29 1.4s ease-in-out infinite;
    }
}
@keyframes ct-agent-pulse-b-hlbayb5s29 {
    0%, 100% { transform: scale(1);   opacity: 1;   }
    50%      { transform: scale(1.6); opacity: 0.5; }
}

.ct-agent__voicebtn[b-hlbayb5s29] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    border: 1px solid var(--ss-border);
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
    background: var(--ss-surface);
    color: var(--ss-text);
}
.ct-agent__voicebtn:disabled[b-hlbayb5s29] { opacity: 0.55; cursor: default; }
.ct-agent__voicebtn--start[b-hlbayb5s29] { background: var(--ss-accent); border-color: transparent; color: #05130f; }

.ct-agent__transcript[b-hlbayb5s29] {
    padding: 0.9rem;
    overflow-y: auto;
    min-height: 8rem;
    max-height: 38vh;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    scroll-behavior: smooth;
}

.ct-agent__empty[b-hlbayb5s29] {
    color: var(--ss-muted);
    font-size: 0.85rem;
    line-height: 1.5;
    padding: 1rem 0.5rem;
}

.ct-agent__transcript[b-hlbayb5s29]  .ct-turn {
    max-width: 82%;
    padding: 0.5rem 0.75rem;
    border-radius: 12px;
    font-size: 0.88rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-wrap: break-word;
}
.ct-agent__transcript[b-hlbayb5s29]  .ct-turn--user {
    align-self: flex-end;
    background: var(--ss-accent);
    color: #05130f;
}
.ct-agent__transcript[b-hlbayb5s29]  .ct-turn--ai {
    align-self: flex-start;
    background: var(--ss-dark);
    border: 1px solid var(--ss-border);
    color: var(--ss-text);
}
.ct-agent__transcript[b-hlbayb5s29]  .ct-turn--system {
    align-self: center;
    background: transparent;
    color: var(--ss-muted);
    font-size: 0.8rem;
    font-style: italic;
    max-width: 100%;
}
.ct-agent__transcript[b-hlbayb5s29]  .ct-turn--live { opacity: 0.7; }

.ct-agent__transcript[b-hlbayb5s29]  .ct-proposal {
    align-self: flex-start;
    max-width: 82%;
    background: var(--ss-dark);
    border: 1px solid var(--ss-accent);
    border-radius: 12px;
    padding: 0.6rem 0.75rem;
    font-size: 0.83rem;
}
.ct-agent__transcript[b-hlbayb5s29]  .ct-proposal__label { color: var(--ss-muted); margin-bottom: 0.4rem; }
.ct-agent__transcript[b-hlbayb5s29]  .ct-proposal__label strong { color: var(--ss-text); }
.ct-agent__transcript[b-hlbayb5s29]  .ct-proposal__actions { display: flex; gap: 0.4rem; }
.ct-agent__transcript[b-hlbayb5s29]  .ct-proposal__ro { color: var(--ss-muted); font-size: 0.78rem; }

.ct-agent__chips[b-hlbayb5s29] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0 0.9rem 0.6rem;
}
.ct-agent__chip[b-hlbayb5s29] {
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    border: 1px solid var(--ss-border);
    background: var(--ss-dark);
    color: var(--ss-text);
    font-size: 0.78rem;
    cursor: pointer;
}
.ct-agent__chip:hover:not(:disabled)[b-hlbayb5s29] { border-color: var(--ss-accent); }
.ct-agent__chip:disabled[b-hlbayb5s29] { opacity: 0.5; cursor: default; }

.ct-agent__bar[b-hlbayb5s29] {
    display: flex;
    gap: 0.5rem;
    padding: 0.6rem 0.9rem 0.9rem;
    border-top: 1px solid var(--ss-border);
}
.ct-agent__input[b-hlbayb5s29] {
    flex: 1;
    padding: 0.5rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--ss-border);
    background: var(--ss-dark);
    color: var(--ss-text);
    font-size: 0.86rem;
}
.ct-agent__input:disabled[b-hlbayb5s29] { opacity: 0.6; }
.ct-agent__send[b-hlbayb5s29] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    border-radius: 50%;
    border: none;
    background: var(--ss-accent);
    color: #05130f;
    cursor: pointer;
}
.ct-agent__send:disabled[b-hlbayb5s29] { opacity: 0.4; cursor: default; }

.ct-agent__err[b-hlbayb5s29] {
    padding: 0 0.9rem 0.8rem;
    font-size: 0.8rem;
    color: #e0736a;
}
/* /Components/Pages/UsersManagment.razor.rz.scp.css */
/* Users Management — dialog forms + confirm dialogs. The page chrome (container,
   sections, grid surface, toolbars) is all shared components; this file only
   styles the DialogService render-fragment bodies. Those elements are authored
   in UsersManagment.razor so they carry this component's scope id even though
   the dialog is portalled — hence plain scoped selectors work, and ::deep
   reaches the Radzen validator / input internals. */

.um-dialog[b-8p9c0ur1uj] {
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-4);
    width: min(460px, 88vw);
}

/* ---- form field: label / control / validation message stacked ---------- */
.um-field[b-8p9c0ur1uj] {
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-1);
}

.um-field[b-8p9c0ur1uj]  .rz-textbox,
.um-field[b-8p9c0ur1uj]  .rz-dropdown,
.um-field[b-8p9c0ur1uj]  .rz-listbox,
.um-field[b-8p9c0ur1uj]  .rz-multiselect {
    display: block;
    width: 100%;
}

/* Inline validation message (Popup=false) — replaces the old absolute-positioned
   popup. Sits directly under its field in reading + tab order. */
.um-dialog[b-8p9c0ur1uj]  .rz-message {
    display: block;
    margin-top: var(--notai-space-1);
    color: var(--notai-danger);
    font-size: var(--notai-font-caption);
    line-height: 1.4;
}

/* ---- confirm-dialog copy --------------------------------------------------- */
.um-note[b-8p9c0ur1uj] {
    margin: 0;
    font-style: italic;
    color: var(--notai-text-secondary);
    font-size: var(--notai-font-secondary);
}

.um-confirm[b-8p9c0ur1uj] {
    margin: 0;
    color: var(--notai-text);
    font-weight: var(--notai-weight-semibold);
    font-size: var(--notai-font-body);
}
/* /Components/Shared/ActionBar.razor.rz.scp.css */
.notai-action-bar[b-9dyofojs58] {
    display: flex;
    align-items: center;
    gap: var(--notai-space-2);
    flex-wrap: wrap;
}

.notai-action-bar--start[b-9dyofojs58]   { justify-content: flex-start; }
.notai-action-bar--end[b-9dyofojs58]     { justify-content: flex-end; }
.notai-action-bar--between[b-9dyofojs58]  { justify-content: space-between; }

.notai-action-bar--sticky[b-9dyofojs58] {
    position: sticky;
    bottom: 0;
    z-index: 1;
    padding: var(--notai-space-3) 0;
    background: var(--notai-surface);
    border-top: 1px solid var(--notai-border-color);
}
/* /Components/Shared/AppPage.razor.rz.scp.css */
/* Container box model lives in notai-foundation.css (.notai-page*). This file
   only owns the vertical rhythm between the page's top-level blocks, which are
   supplied via ChildContent — hence ::deep. */

.notai-page[b-q4glbfg69n]  > * + * {
    margin-top: var(--notai-space-6);
}
/* /Components/Shared/DataGridSurface.razor.rz.scp.css */
.notai-grid-surface[b-aw7xj6zkzt] {
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-3);
    min-width: 0;
}

.notai-grid-surface__toolbar[b-aw7xj6zkzt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--notai-space-2);
    flex-wrap: wrap;
}

/* Grid can exceed the viewport on narrow screens — scroll it, not the page. */
.notai-grid-surface__scroll[b-aw7xj6zkzt] {
    overflow-x: auto;
    min-width: 0;
}

/* Minimal polish reaching the Radzen grid rendered inside ChildContent.
   ChildContent is a descendant of the surface root, so ::deep applies.
   Kept deliberately light in Phase 1 — heavier grid theming waits for the
   pilot migration. */
.notai-grid-surface__scroll[b-aw7xj6zkzt]  .rz-data-grid {
    border-radius: var(--notai-radius-md);
}
/* /Components/Shared/EmptyState.razor.rz.scp.css */
.notai-empty[b-r3tgwykhs4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--notai-space-2);
    padding: var(--notai-space-7) var(--notai-space-5);
    text-align: center;
    background: var(--notai-surface-sunken);
    border: 1px solid var(--notai-border-color);
    border-radius: var(--notai-radius-lg);
}

.notai-empty__icon[b-r3tgwykhs4] {
    font-size: 40px;
    line-height: 1;
    color: var(--notai-text-muted);
    margin-bottom: var(--notai-space-1);
}

.notai-empty__title[b-r3tgwykhs4] {
    margin: 0;
    font-size: var(--notai-font-section);
    font-weight: var(--notai-weight-semibold);
    color: var(--notai-text);
}

.notai-empty__description[b-r3tgwykhs4] {
    margin: 0;
    max-width: 42ch;
    font-size: var(--notai-font-secondary);
    color: var(--notai-text-secondary);
}

.notai-empty__action[b-r3tgwykhs4] {
    margin-top: var(--notai-space-3);
}
/* /Components/Shared/LoadingState.razor.rz.scp.css */
.notai-loading[b-tkujlj5wqk] {
    display: flex;
    align-items: center;
    gap: var(--notai-space-2);
    color: var(--notai-text-muted);
}

.notai-loading__text[b-tkujlj5wqk] {
    font-size: var(--notai-font-secondary);
    font-weight: var(--notai-weight-medium);
}

.notai-loading--block[b-tkujlj5wqk] {
    flex-direction: column;
    justify-content: center;
    padding: var(--notai-space-7) var(--notai-space-4);
    text-align: center;
}

.notai-loading--inline[b-tkujlj5wqk] {
    display: inline-flex;
}
/* /Components/Shared/PageHeader.razor.rz.scp.css */
.notai-page-header[b-3ov8iengag] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--notai-space-4);
    flex-wrap: wrap;
}

.notai-page-header__main[b-3ov8iengag] {
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-2);
    min-width: 0;
}

.notai-page-header__description[b-3ov8iengag] {
    margin: 0;
    max-width: var(--notai-content-narrow);
}

.notai-page-header__actions[b-3ov8iengag] {
    display: flex;
    align-items: center;
    gap: var(--notai-space-2);
    flex-wrap: wrap;
    flex-shrink: 0;
}

/* On narrow viewports the actions drop to their own line and may wrap. */
@media (max-width: 600px) {
    .notai-page-header__actions[b-3ov8iengag] {
        flex-basis: 100%;
    }
}

.notai-page-header__extra[b-3ov8iengag] {
    margin-top: var(--notai-space-4);
}
/* /Components/Shared/PageSection.razor.rz.scp.css */
.notai-section[b-p15v4gio0k] {
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-4);
}

/* Plain sections lean on whitespace + a hairline rather than a box. The first
   section in a page suppresses its own border via :first-child. */
.notai-section:not(.notai-section--card)[b-p15v4gio0k] {
    padding-top: var(--notai-space-5);
    border-top: 1px solid var(--notai-border-color);
}

.notai-section:not(.notai-section--card):first-child[b-p15v4gio0k] {
    padding-top: 0;
    border-top: none;
}

.notai-section--card[b-p15v4gio0k] {
    padding: var(--notai-space-5);
    background: var(--notai-surface-raised);
    border: 1px solid var(--notai-border-color);
    border-radius: var(--notai-radius-lg);
    box-shadow: var(--notai-shadow-1);
}

.notai-section__header[b-p15v4gio0k] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--notai-space-4);
    flex-wrap: wrap;
}

.notai-section__heading[b-p15v4gio0k] {
    display: flex;
    flex-direction: column;
    gap: var(--notai-space-1);
    min-width: 0;
}

.notai-section__description[b-p15v4gio0k] {
    margin: 0;
}

.notai-section__actions[b-p15v4gio0k] {
    display: flex;
    align-items: center;
    gap: var(--notai-space-2);
    flex-shrink: 0;
}

.notai-section__body[b-p15v4gio0k] {
    min-width: 0;
}
/* /Components/Shared/StatusBadge.razor.rz.scp.css */
/* The .notai-badge* visual tokens are defined once in notai-foundation.css so
   the same pill styling can be reused outside this component if ever needed.
   This file exists to keep the component's presentation ownership explicit and
   to hold any future badge-only tweaks. */

.notai-badge[b-vfiq8osbfv] {
    vertical-align: middle;
}
