@import '_content/Kodys.Diagram/Kodys.Diagram.d0d2kks5f7.bundle.scp.css';
@import '_content/Z.Blazor.Diagrams/Z.Blazor.Diagrams.ezdqu7jd9f.bundle.scp.css';

/* /Components/AiChat/AiChatMessage.razor.rz.scp.css */
.acm-message[b-67leihksyr] {
    display: flex;
    margin-bottom: 0.5rem;
}

.acm-message.user[b-67leihksyr] {
    justify-content: flex-end;
}

.acm-message.assistant[b-67leihksyr],
.acm-message.error[b-67leihksyr] {
    justify-content: flex-start;
}

.acm-bubble[b-67leihksyr] {
    max-width: 80%;
    padding: 0.5rem 0.875rem;
    border-radius: 12px;
    font-size: 0.875rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

.acm-message.user .acm-bubble[b-67leihksyr] {
    background: var(--kc-brand-blue);
    color: var(--kc-text-inverse);
    border-bottom-right-radius: 4px;
}

.acm-message.assistant .acm-bubble[b-67leihksyr] {
    background: var(--kc-surface-raised);
    color: var(--kc-text-primary);
    border: 1px solid var(--kc-border-subtle);
    border-bottom-left-radius: 4px;
    white-space: normal;
}

.acm-message.error .acm-bubble[b-67leihksyr] {
    background: var(--kc-danger-light);
    color: var(--kc-danger);
    border: 1px solid var(--kc-danger);
    border-bottom-left-radius: 4px;
}

.acm-text[b-67leihksyr] {
    display: inline;
}

.acm-markdown[b-67leihksyr] {
    display: block;
}

/* Plain text během streamingu — zachovat zalomení (bublina asistenta má white-space: normal). */
.acm-streaming[b-67leihksyr] {
    white-space: pre-wrap;
}

.acm-markdown[b-67leihksyr]  p {
    margin: 0 0 0.5em;
}

.acm-markdown[b-67leihksyr]  p:last-child {
    margin-bottom: 0;
}

.acm-markdown[b-67leihksyr]  ul,
.acm-markdown[b-67leihksyr]  ol {
    padding-left: 1.5em;
    margin: 0.25em 0 0.5em;
}

.acm-markdown[b-67leihksyr]  li {
    margin-bottom: 0.125em;
}

.acm-markdown[b-67leihksyr]  code {
    font-family: var(--kc-font-mono);
    font-size: 0.8125em;
    background: var(--kc-surface-sunken);
    border: 1px solid var(--kc-border-subtle);
    border-radius: var(--kc-radius-sm);
    padding: 0.1em 0.3em;
}

.acm-markdown[b-67leihksyr]  pre {
    font-family: var(--kc-font-mono);
    font-size: 0.8125em;
    background: var(--kc-surface-sunken);
    border: 1px solid var(--kc-border-subtle);
    border-radius: var(--kc-radius-md);
    padding: 0.625em 0.875em;
    overflow-x: auto;
    margin: 0.5em 0;
}

.acm-markdown[b-67leihksyr]  pre code {
    background: none;
    border: none;
    padding: 0;
    font-size: 1em;
}

.acm-markdown[b-67leihksyr]  a {
    color: var(--kc-brand-blue);
    text-decoration: underline;
}

.acm-markdown[b-67leihksyr]  a:hover {
    color: var(--kc-brand-blue-light);
}

.acm-markdown[b-67leihksyr]  table {
    border-collapse: collapse;
    width: 100%;
    margin: 0.5em 0;
    font-size: 0.875em;
}

.acm-markdown[b-67leihksyr]  th,
.acm-markdown[b-67leihksyr]  td {
    border: 1px solid var(--kc-border-medium);
    padding: 0.375em 0.625em;
    text-align: left;
}

.acm-markdown[b-67leihksyr]  th {
    background: var(--kc-surface-sunken);
    font-weight: var(--kc-font-semibold);
}

.acm-markdown[b-67leihksyr]  strong {
    font-weight: var(--kc-font-semibold);
}

.acm-markdown[b-67leihksyr]  em {
    font-style: italic;
}

.acm-cursor[b-67leihksyr] {
    display: inline-block;
    width: 2px;
    height: 1em;
    background: currentColor;
    margin-left: 2px;
    vertical-align: text-bottom;
    animation: acm-blink-b-67leihksyr 1s step-end infinite;
}

@keyframes acm-blink-b-67leihksyr {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}
/* /Components/AiChat/AiChatPanel.razor.rz.scp.css */
.acp-host[b-2mr8jcvd1t] {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.75rem;
    /* Když se otevře pravý panel diagramu, app.css přepíše `right` o šířku panelu doleva.
       Časování stejné jako .diagram-right-panel v Kodys.Diagram (diagram.css). */
    transition: right 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── FAB ──────────────────────────────────────────────── */
.acp-fab[b-2mr8jcvd1t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    background: var(--kc-brand-blue);
    color: #fff;
    cursor: pointer;
    box-shadow: var(--kc-shadow-float);
    transition: transform 200ms var(--kc-ease-out), box-shadow 200ms var(--kc-ease-out), background 120ms;
}

.acp-fab:hover[b-2mr8jcvd1t] {
    background: var(--kc-brand-blue-hover, #003d75);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 46, 88, 0.3);
}

.acp-fab:focus-visible[b-2mr8jcvd1t] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.acp-fab.open[b-2mr8jcvd1t] {
    background: var(--kc-text-secondary);
}

.acp-fab[b-2mr8jcvd1t]  .rzi,
.acp-fab[b-2mr8jcvd1t]  .notranslate {
    font-size: 24px;
    line-height: 1;
}

/* Logo téměř vyplňuje FAB — okraj cca 6px ze 52px. */
.acp-fab[b-2mr8jcvd1t]  .acp-clippy {
    width: 40px;
    height: 40px;
    transition: transform 220ms var(--kc-ease-out, ease-out);
}

/* Vektorizovaný hand-drawn tvar nejde rozdělit na samostatné oko/úsměv,
   takže místo winku dáme jemný "pokývnutí" celé ikony na hover FAB:
   krátký náklon doleva a zpět, lehké zvětšení. */
.acp-fab:hover[b-2mr8jcvd1t]  .acp-clippy {
    animation: acp-clippy-nod-b-2mr8jcvd1t 0.7s ease-in-out;
}

@keyframes acp-clippy-nod-b-2mr8jcvd1t {
    0%   { transform: rotate(0deg)  scale(1); }
    25%  { transform: rotate(-8deg) scale(1.05); }
    55%  { transform: rotate(6deg)  scale(1.05); }
    100% { transform: rotate(0deg)  scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .acp-fab:hover[b-2mr8jcvd1t]  .acp-clippy {
        animation: none;
    }
}

/* ── Floating panel ───────────────────────────────────── */
.acp-panel[b-2mr8jcvd1t] {
    position: fixed;
    bottom: 5rem;
    right: 1.5rem;
    width: 380px;
    max-width: calc(100vw - 2rem);
    height: 520px;
    max-height: calc(100vh - 7rem);
    display: flex;
    flex-direction: column;
    background: var(--kc-surface-raised);
    /* Shift při otevřeném pravém panelu — viz app.css. transform-origin už nastavený níže. */
    border: 1px solid var(--kc-border-subtle);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
    transform: scale(0.92) translateY(12px);
    transform-origin: bottom right;
    opacity: 0;
    pointer-events: none;
    transition: transform 200ms var(--kc-ease-out),
                opacity 200ms var(--kc-ease-out),
                right 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.acp-panel.open[b-2mr8jcvd1t] {
    transform: scale(1) translateY(0);
    opacity: 1;
    pointer-events: auto;
}

/* ── Header ───────────────────────────────────────────── */
.acp-header[b-2mr8jcvd1t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--kc-border-subtle);
    flex-shrink: 0;
}

.acp-title[b-2mr8jcvd1t] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--kc-text-primary);
}

.acp-title[b-2mr8jcvd1t]  .rzi,
.acp-title[b-2mr8jcvd1t]  .notranslate {
    font-size: 18px;
    color: var(--kc-brand-blue);
}

.acp-title[b-2mr8jcvd1t]  .acp-clippy {
    width: 20px;
    height: 20px;
    color: var(--kc-brand-blue);
}

.acp-header-actions[b-2mr8jcvd1t] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.acp-icon-btn[b-2mr8jcvd1t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    transition: background 120ms, color 120ms;
}

.acp-icon-btn:hover[b-2mr8jcvd1t] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.acp-icon-btn:focus-visible[b-2mr8jcvd1t] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.acp-icon-btn[b-2mr8jcvd1t]  .rzi,
.acp-icon-btn[b-2mr8jcvd1t]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Debug overlay ─────────────────────────────────────── */
.acp-debug-overlay[b-2mr8jcvd1t] {
    position: absolute;
    inset: 0;
    background: var(--kc-surface-raised);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    z-index: 2;
}

.acp-debug-header[b-2mr8jcvd1t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--kc-border-subtle);
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--kc-text-primary);
    flex-shrink: 0;
}

.acp-debug-body[b-2mr8jcvd1t] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0.75rem 1rem;
}

.acp-debug-pre[b-2mr8jcvd1t] {
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.75rem;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--kc-text-primary);
}

.acp-debug-loading[b-2mr8jcvd1t],
.acp-debug-error[b-2mr8jcvd1t] {
    color: var(--kc-text-secondary);
    font-size: 0.875rem;
}

/* ── Message list ─────────────────────────────────────── */
.acp-messages[b-2mr8jcvd1t] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
}

.acp-empty[b-2mr8jcvd1t] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--kc-text-tertiary);
    text-align: center;
    padding: 2rem;
}

.acp-empty[b-2mr8jcvd1t]  .rzi,
.acp-empty[b-2mr8jcvd1t]  .notranslate {
    font-size: 40px;
    opacity: 0.4;
}

.acp-empty[b-2mr8jcvd1t]  .acp-clippy {
    width: 56px;
    height: 56px;
    opacity: 0.35;
}

.acp-empty p[b-2mr8jcvd1t] {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
}

/* ── Usage strip ──────────────────────────────────────── */
/* 12 sloupců: label | spacer (1fr) | in_num | "vstup" | / | out_num | "výstup" | · | "cache" | cache_R | / | cache_W
   Řádky jsou display: contents — jejich potomci se hrají v hlavním gridu, takže sloupce se napříč
   řádky zarovnají. Čísla jsou right-justified, jednotky/labely left-justified. */
.acp-usage[b-2mr8jcvd1t] {
    display: grid;
    grid-template-columns: auto 1fr auto auto auto auto auto auto auto auto auto auto;
    column-gap: 0.3rem;
    row-gap: 0.15rem;
    align-items: baseline;
    padding: 0.4rem 0.85rem;
    font-size: 0.72rem;
    color: var(--kc-text-secondary, #666);
    border-top: 1px solid var(--kc-border, rgba(0, 0, 0, 0.08));
    background: var(--kc-surface-muted, rgba(0, 0, 0, 0.02));
    cursor: help;
    white-space: nowrap;
}

.acp-usage-row[b-2mr8jcvd1t] {
    display: contents;
}

.acp-usage-label[b-2mr8jcvd1t] {
    text-transform: lowercase;
    opacity: 0.7;
    font-variant: small-caps;
    letter-spacing: 0.02em;
}

.acp-usage-spacer[b-2mr8jcvd1t] {
    /* prázdná buňka — pouze drží 1fr sloupec, který odsune čísla doprava */
}

.acp-usage-num[b-2mr8jcvd1t] {
    color: var(--kc-text-primary, #222);
    font-weight: 600;
    justify-self: end;
}

.acp-usage-unit[b-2mr8jcvd1t] {
    justify-self: start;
}

.acp-usage-sep[b-2mr8jcvd1t] {
    opacity: 0.4;
    user-select: none;
    justify-self: center;
}

/* ── Input area ───────────────────────────────────────── */
.acp-input-area[b-2mr8jcvd1t] {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--kc-border-subtle);
    flex-shrink: 0;
}

.acp-textarea[b-2mr8jcvd1t] {
    flex: 1 1 auto;
    min-height: 60px;
    max-height: 120px;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 10px;
    background: var(--kc-surface);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    line-height: 1.5;
    resize: none;
    transition: border-color 120ms, box-shadow 120ms;
}

.acp-textarea:focus[b-2mr8jcvd1t] {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.acp-textarea:disabled[b-2mr8jcvd1t] {
    opacity: 0.6;
    cursor: not-allowed;
}

.acp-send-btn[b-2mr8jcvd1t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border: none;
    border-radius: 50%;
    background: var(--kc-brand-blue);
    color: #fff;
    cursor: pointer;
    transition: background 120ms, transform 120ms, box-shadow 120ms;
    box-shadow: var(--kc-shadow-xs);
}

.acp-send-btn:hover:not(:disabled)[b-2mr8jcvd1t] {
    background: var(--kc-brand-blue-hover, #003d75);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.acp-send-btn:focus-visible[b-2mr8jcvd1t] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.acp-send-btn:disabled[b-2mr8jcvd1t] {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.acp-send-btn[b-2mr8jcvd1t]  .rzi,
.acp-send-btn[b-2mr8jcvd1t]  .notranslate {
    font-size: 20px;
    line-height: 1;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 480px) {
    .acp-host[b-2mr8jcvd1t] {
        bottom: 1rem;
        right: 1rem;
    }

    .acp-panel[b-2mr8jcvd1t] {
        right: 0;
        bottom: 4.5rem;
        width: 100vw;
        max-width: 100vw;
        border-radius: 16px 16px 0 0;
        height: 70vh;
        max-height: 70vh;
    }
}
/* /Components/AiChat/AiChatToolCallIndicator.razor.rz.scp.css */
.actci-indicator[b-5no6pnk2vs] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.75rem;
    margin-bottom: 0.5rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 9999px;
    font-size: 0.8125rem;
    color: var(--kc-text-secondary);
}

.actci-spinner[b-5no6pnk2vs] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid var(--kc-border-medium);
    border-top-color: var(--kc-brand-blue);
    border-radius: 50%;
    animation: actci-spin-b-5no6pnk2vs 0.8s linear infinite;
    flex-shrink: 0;
}

@keyframes actci-spin-b-5no6pnk2vs {
    to { transform: rotate(360deg); }
}
/* /Components/CultureSelector.razor.rz.scp.css */
/* CultureSelector — floating flag+name button per DESIGN.md §4.3.
 * Tokens inlined (same convention as NavMenu.razor.css). */

.culture-dropdown[b-38r0mxtt7e] {
    --cs-border: #E4E7EC;
    --cs-surface: #FFFFFF;
    --cs-surface-hover: #F0F2F5;
    --cs-text-primary: #1B2332;
    --cs-text-secondary: #5D6B82;
    --cs-brand-blue: #002E58;
    --cs-shadow-float: 0 8px 24px rgba(27, 35, 50, 0.12);
    --cs-shadow-glow: 0 0 0 3px rgba(255, 191, 72, 0.25);
    --cs-ease-out: cubic-bezier(0.16, 1, 0.3, 1);

    position: relative;
    display: inline-flex;
}

.culture-trigger[b-38r0mxtt7e] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 36px;
    padding: 0 0.5rem 0 0.375rem;
    border: 1px solid var(--cs-border);
    border-radius: 9999px;
    background: var(--cs-surface);
    font-family: inherit;
    cursor: pointer;
    transition: background 120ms var(--cs-ease-out);
}

.culture-trigger:hover[b-38r0mxtt7e] {
    background: var(--cs-surface-hover);
}

.culture-trigger:focus-visible[b-38r0mxtt7e] {
    outline: none;
    box-shadow: var(--cs-shadow-glow);
}

.culture-flag[b-38r0mxtt7e] {
    width: 20px;
    height: auto;
    display: block;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(27, 35, 50, 0.08);
    flex-shrink: 0;
}

.culture-label[b-38r0mxtt7e] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--cs-text-primary);
    line-height: 1;
}

.culture-caret[b-38r0mxtt7e]  .rzi {
    font-size: 16px;
    color: var(--cs-text-secondary);
    transition: transform 150ms var(--cs-ease-out);
}

.culture-panel[b-38r0mxtt7e] {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 180px;
    margin-top: 4px;
    padding: 0.375rem;
    background: var(--cs-surface);
    border: 1px solid var(--cs-border);
    border-radius: 12px;
    box-shadow: var(--cs-shadow-float);
    opacity: 0;
    transform: translateY(-4px);
    pointer-events: none;
    transition: opacity 150ms ease-out, transform 150ms ease-out;
    z-index: 20;
}

/* Neviditelný most přes 4px gap mezi trigger tlačítkem a panelem —
 * drží hover aktivní i když kurzor pomalu sklouzne přes mezeru. */
.culture-panel[b-38r0mxtt7e]::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
}

.culture-dropdown:hover > .culture-panel[b-38r0mxtt7e],
.culture-dropdown:focus-within > .culture-panel[b-38r0mxtt7e] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.culture-dropdown:hover > .culture-trigger .culture-caret[b-38r0mxtt7e]  .rzi,
.culture-dropdown:focus-within > .culture-trigger .culture-caret[b-38r0mxtt7e]  .rzi {
    transform: rotate(180deg);
}

.culture-item[b-38r0mxtt7e] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--cs-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    transition: background 120ms var(--cs-ease-out);
}

.culture-item:hover[b-38r0mxtt7e] {
    background: var(--cs-surface-hover);
}

.culture-item.active[b-38r0mxtt7e] {
    color: var(--cs-brand-blue);
    font-weight: 600;
}

.culture-panel-flag[b-38r0mxtt7e] {
    width: 20px;
    height: auto;
    display: block;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(27, 35, 50, 0.08);
    flex-shrink: 0;
}

.culture-check[b-38r0mxtt7e]  .rzi {
    margin-left: auto;
    color: var(--cs-brand-blue);
    font-size: 18px;
}
/* /Components/DataExplorer.razor.rz.scp.css */
/* DataExplorer — "Refined Clarity" per notes/ux/DESIGN.md §4.5
 * Tokens inlined until wwwroot/css/design-tokens.css lands. */

.de-shell[b-rg9n20k060] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    background: var(--kc-surface);
}

/* ── Header ──────────────────────────────────────────── */
.de-header[b-rg9n20k060] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 1.5rem;
    padding: 0.75rem 1.5rem;
    background: var(--kc-surface-raised);
    border-bottom: 1px solid var(--kc-border-subtle);
    box-shadow: var(--kc-shadow-xs);
    z-index: 2;
}

/* ── Breadcrumb ───────────────────────────────────────── */
.de-breadcrumb[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}

.de-crumb[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.35rem 0.75rem;
    border: none;
    border-radius: 9999px;
    background: var(--kc-surface-sunken);
    color: var(--kc-text-secondary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.de-crumb:hover:not(:disabled):not(.active)[b-rg9n20k060] {
    background: var(--kc-surface-sunken);
    color: var(--kc-brand-blue);
}

.de-crumb:focus-visible[b-rg9n20k060] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.de-crumb.root[b-rg9n20k060] {
    padding: 0.35rem 0.5rem;
}

.de-crumb.nested[b-rg9n20k060] {
    background: var(--kc-secondary-light);
}

.de-crumb.active[b-rg9n20k060] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
    cursor: default;
    font-weight: 600;
}

.de-crumb[b-rg9n20k060]  .rzi,
.de-crumb[b-rg9n20k060]  .notranslate {
    font-size: 16px;
    line-height: 1;
}

.de-crumb-separator[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    color: var(--kc-text-tertiary);
    font-size: 14px;
    user-select: none;
}

.de-crumb-separator[b-rg9n20k060]  .rzi,
.de-crumb-separator[b-rg9n20k060]  .notranslate {
    font-size: 14px;
    line-height: 1;
}

.de-crumb-menu-btn[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: var(--kc-surface-sunken);
    color: var(--kc-text-secondary);
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.de-crumb-menu-btn:hover[b-rg9n20k060] {
    background: var(--kc-surface-sunken);
    color: var(--kc-brand-blue);
}

.de-crumb-menu-btn:focus-visible[b-rg9n20k060] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.de-crumb-menu-btn[b-rg9n20k060]  .rzi,
.de-crumb-menu-btn[b-rg9n20k060]  .notranslate {
    font-size: 16px;
    line-height: 1;
}

/* ── Toolbar ──────────────────────────────────────────── */
.de-toolbar[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 9999px;
    box-shadow: var(--kc-shadow-float);
    justify-self: end;
}

/* ── Text + icon button ───────────────────────────────── */
.de-btn[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 36px;
    padding: 0 0.875rem;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.de-btn.primary[b-rg9n20k060] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}

.de-btn.primary:hover:not(:disabled)[b-rg9n20k060] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.de-btn:disabled[b-rg9n20k060] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.de-btn[b-rg9n20k060]  .rzi,
.de-btn[b-rg9n20k060]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Icon button ──────────────────────────────────────── */
.de-icon-btn[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
    border-radius: 9999px;
}

.de-icon-btn:hover:not(:disabled)[b-rg9n20k060] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.de-icon-btn:focus-visible[b-rg9n20k060] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.de-icon-btn:disabled[b-rg9n20k060] {
    opacity: 0.4;
    cursor: not-allowed;
}

.de-icon-btn.active[b-rg9n20k060] {
    background: var(--kc-brand-gold-light);
    color: var(--kc-text-primary);
}

.de-icon-btn[b-rg9n20k060]  .rzi,
.de-icon-btn[b-rg9n20k060]  .notranslate {
    font-size: 20px;
    line-height: 1;
}

/* ── Subheader ────────────────────────────────────────── */
.de-subheader[b-rg9n20k060] {
    padding: 0.75rem 1.5rem;
    color: var(--kc-text-secondary);
    font-size: 0.875rem;
}

.de-subheader b[b-rg9n20k060] {
    color: var(--kc-text-primary);
    font-weight: 600;
}

/* ── Drill-choice card (root state) ──────────────────── */
.de-drill-choice[b-rg9n20k060] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 640px;
    margin: 2rem auto;
    padding: 2rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 16px;
    box-shadow: var(--kc-shadow-sm);
}

.de-drill-choice-title[b-rg9n20k060] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--kc-text-primary);
}

.de-drill-choice-list[b-rg9n20k060] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.de-drill-choice-btn[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    height: 40px;
    padding: 0 1rem;
    border: none;
    border-radius: 9999px;
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: var(--kc-shadow-xs);
    transition: all 120ms var(--kc-ease-out);
}

.de-drill-choice-btn:hover[b-rg9n20k060] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.de-drill-choice-btn:focus-visible[b-rg9n20k060] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.de-drill-choice-btn[b-rg9n20k060]  .rzi,
.de-drill-choice-btn[b-rg9n20k060]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Grid container ───────────────────────────────────── */
.de-grid-container[b-rg9n20k060] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 0 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
}

/* ── Row action buttons (edit/delete in frozen column) ── */
.de-row-action[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    opacity: 0.35;
    transition: opacity 120ms var(--kc-ease-out), background 120ms var(--kc-ease-out), color 120ms var(--kc-ease-out);
}

.de-row-action:hover:not(:disabled)[b-rg9n20k060] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
    opacity: 1;
}

.de-row-action:disabled[b-rg9n20k060] {
    opacity: 0.2;
    cursor: not-allowed;
}

.de-row-action.danger:hover:not(:disabled)[b-rg9n20k060] {
    background: var(--kc-danger-light);
    color: var(--kc-danger);
}

.de-row-action[b-rg9n20k060]  .rzi,
.de-row-action[b-rg9n20k060]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Cell buttons (inside data cells — always visible) ── */
.de-cell-btn[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    height: 28px;
    padding: 0 0.625rem;
    border: 1px solid var(--kc-border-subtle);
    border-radius: 9999px;
    background: var(--kc-surface-raised);
    color: var(--kc-text-secondary);
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: all 120ms var(--kc-ease-out);
}

.de-cell-btn:hover:not(:disabled)[b-rg9n20k060] {
    background: var(--kc-secondary-light);
    border-color: var(--kc-brand-blue);
    color: var(--kc-brand-blue);
}

.de-cell-btn:focus-visible[b-rg9n20k060] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.de-cell-btn:disabled[b-rg9n20k060] {
    opacity: 0.45;
    cursor: not-allowed;
}

.de-cell-btn[b-rg9n20k060]  .rzi,
.de-cell-btn[b-rg9n20k060]  .notranslate {
    font-size: 16px;
    line-height: 1;
}

.de-cell-icon-btn[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--kc-border-subtle);
    border-radius: 8px;
    background: var(--kc-surface-raised);
    color: var(--kc-text-secondary);
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.de-cell-icon-btn:hover:not(:disabled)[b-rg9n20k060] {
    background: var(--kc-secondary-light);
    border-color: var(--kc-brand-blue);
    color: var(--kc-brand-blue);
}

.de-cell-icon-btn:focus-visible[b-rg9n20k060] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.de-cell-icon-btn[b-rg9n20k060]  .rzi,
.de-cell-icon-btn[b-rg9n20k060]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Radzen grid overrides — global rules live in app.css ─────────────────── */
/* Row-action opacity: specific to DataExplorer's .de-row-action class. */
[b-rg9n20k060] .rz-data-grid tbody tr.rz-data-row:hover .de-row-action {
    opacity: 1;
}

[b-rg9n20k060] tr.rz-data-row-edit .de-row-action {
    opacity: 1;
}

/* Column resize fix:
 * Radzen RadzenDataGrid resize má dva související bugy s display:block tabulkou
 * (Radzen ji takhle vynucuje na body kvůli virtualizaci):
 *
 *  BUG A — skok při kliknutí + zmenšování pomalejší než pohyb myši: u default
 *    width: 100% a table-layout: auto se sloupce proporčně roztahují, aby vyplnily
 *    container. cell.getBoundingClientRect().width pak vrátí roztaženou hodnotu,
 *    Radzen JS ji použije jako startWidth, a pohyb myši se nepromítne 1:1.
 *  BUG B — po prvním resize sloupec lze zvětšit, ale nelze zmenšit: thead i tbody
 *    jsou block elementy, každý generuje vlastní anonymous-table přes display:table-row
 *    na rows. Šířka block tabulky = max(thead max-content, tbody max-content). Radzen JS
 *    při dragu aktualizuje pouze header TH a col element — body TDs nikoli. Když je
 *    sloupec zvětšen, body TDs mají větší style.width než header chce při shrinku, takže
 *    tbody max-content přebije header → cell.getBoundingClientRect.width = stará (větší)
 *    hodnota → na mouseUp se do C# pošle stará hodnota → SetWidth nic nezmění.
 *
 * Řešení:
 *  - width: max-content na rz-grid-table odstraňuje proporční roztahování (řeší BUG A).
 *  - JS handler v kcSyncBodyCellsOnResize (blazor-interop.js) za běhu kopíruje
 *    col.style.width na všechny body TD cells daného sloupce přes :nth-child během
 *    dragu, takže thead a tbody zůstávají synchronizované a tbody nemůže přebít header
 *    (řeší BUG B). */
[b-rg9n20k060] .rz-data-grid .rz-grid-table {
    width: max-content;
}

/* Reorder UX: grab kurzor přes celou hlavičku reorderable sloupců (drag-and-drop chytí
 * uživatel kdekoli — viz mousedown handler v blazor-interop.js). Detekujeme reorderable
 * přes :has(.rz-column-drag) — Radzen ten span renderuje jen pro Reorderable=true sloupce.
 * Resizer si zachovává col-resize díky vyšší specificity vlastního pravidla na něm. */
[b-rg9n20k060] .rz-grid-table thead th:has(.rz-column-drag) {
    cursor: grab;
}

[b-rg9n20k060] .rz-grid-table thead th:has(.rz-column-drag) .rz-column-resizer {
    cursor: col-resize;
}

/* ── Filtry sloupců — ikona v hlavičce, popup, chipy ─── */

/* Ikona filtru v hlavičce sloupce: nenápadná (poloprůhledná), zviditelní se na hover
   hlavičky; při aktivním filtru je trvale zvýrazněná barvou. */
.de-col-filter-btn[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    margin-left: 0.25rem;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    opacity: 0.35;
    vertical-align: middle;
    transition: opacity 120ms var(--kc-ease-out), background 120ms var(--kc-ease-out), color 120ms var(--kc-ease-out);
}

[b-rg9n20k060] .rz-grid-table thead th:hover .de-col-filter-btn {
    opacity: 1;
}

.de-col-filter-btn:hover[b-rg9n20k060] {
    opacity: 1;
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.de-col-filter-btn.active[b-rg9n20k060] {
    opacity: 1;
    background: var(--kc-secondary-light);
    color: var(--kc-brand-blue);
}

.de-col-filter-btn[b-rg9n20k060]  .rzi,
.de-col-filter-btn[b-rg9n20k060]  .notranslate {
    font-size: 16px;
    line-height: 1;
}

/* Backdrop popupu — transparentní vrstva přes celé okno, klik mimo popup ho zavře. */
.de-filter-popup-backdrop[b-rg9n20k060] {
    position: fixed;
    inset: 0;
    z-index: 1090;
    background: transparent;
}

/* Popup filtru sloupce — fixní pozice u kotvy (počítá C# z bounding rectu přes JS interop).
   width musí odpovídat konstantě FilterPopupWidth v DataExplorer.razor (clamp na okraj okna). */
.de-filter-popup[b-rg9n20k060] {
    position: fixed;
    z-index: 1100;
    width: 300px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 12px;
    box-shadow: var(--kc-shadow-float);
}

.de-filter-popup-head[b-rg9n20k060] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--kc-text-primary);
}

.de-filter-popup-head .de-icon-btn[b-rg9n20k060] {
    width: 28px;
    height: 28px;
}

.de-filter-popup-body[b-rg9n20k060] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.de-filter-popup-input[b-rg9n20k060] {
    width: 100%;
}

.de-filter-popup-foot[b-rg9n20k060] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

.de-filter-popup-foot .de-btn[b-rg9n20k060] {
    height: 32px;
}

/* Chipy aktivních filtrů nad tabulkou — trvale viditelný souhrn filtrace. */
.de-filter-chips[b-rg9n20k060] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
    padding: 0 1.5rem 0.5rem;
}

.de-filter-chip[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    background: var(--kc-secondary-light);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 9999px;
    overflow: hidden;
}

.de-filter-chip-label[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    height: 28px;
    padding: 0 0.25rem 0 0.625rem;
    border: none;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

.de-filter-chip-label:hover[b-rg9n20k060] {
    color: var(--kc-brand-blue);
}

.de-filter-chip-label[b-rg9n20k060]  .rzi,
.de-filter-chip-label[b-rg9n20k060]  .notranslate {
    font-size: 14px;
    line-height: 1;
}

.de-filter-chip-remove[b-rg9n20k060] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 28px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
}

.de-filter-chip-remove:hover[b-rg9n20k060] {
    color: var(--kc-danger);
}

.de-filter-chip-remove[b-rg9n20k060]  .rzi,
.de-filter-chip-remove[b-rg9n20k060]  .notranslate {
    font-size: 14px;
    line-height: 1;
}

.de-filter-clear-all[b-rg9n20k060] {
    border: none;
    background: transparent;
    color: var(--kc-text-secondary);
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
}

.de-filter-clear-all:hover[b-rg9n20k060] {
    color: var(--kc-danger);
    background: var(--kc-surface-sunken);
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1280px) {
    .de-header[b-rg9n20k060] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "breadcrumb"
            "toolbar";
        row-gap: 0.5rem;
    }

    .de-breadcrumb[b-rg9n20k060] { grid-area: breadcrumb; }
    .de-toolbar[b-rg9n20k060] { grid-area: toolbar; justify-self: start; }
}

@media (max-width: 768px) {
    .de-header[b-rg9n20k060] {
        padding: 0.75rem 1rem;
    }

    .de-toolbar[b-rg9n20k060] {
        overflow-x: auto;
        max-width: 100%;
    }

    .de-grid-container[b-rg9n20k060] {
        padding: 0 1rem 1rem;
    }

    .de-drill-choice[b-rg9n20k060] {
        margin: 1rem;
    }
}
/* /Components/FolderCard.razor.rz.scp.css */
/* FolderCard — vizuálně blízká ProcessCard, ale se zlatou ikonou složky */

.fc-card[b-aub0y7ezni] {
    position: relative;
    display: flex;
    flex-direction: row;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 12px;
    box-shadow: var(--kc-shadow-sm);
    overflow: hidden;
    cursor: pointer;
    animation: fc-enter-b-aub0y7ezni 280ms var(--kc-ease-out) both;
    animation-delay: calc(var(--fc-index, 0) * 40ms);
    transition:
        box-shadow 200ms var(--kc-ease-out),
        transform  200ms var(--kc-ease-out),
        border-color 200ms var(--kc-ease-out);
}

@keyframes fc-enter-b-aub0y7ezni {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.fc-card:hover[b-aub0y7ezni],
.fc-card:focus-visible[b-aub0y7ezni] {
    box-shadow: var(--kc-shadow-lg);
    transform: translateY(-3px);
    border-color: var(--kc-brand-blue);
    outline: none;
}

/* Barevný levý pruh — použit zlatý tón odlišující složku od procesu */
.fc-stripe[b-aub0y7ezni] {
    width: 4px;
    flex-shrink: 0;
    background: var(--kc-brand-gold);
    transition: background 200ms var(--kc-ease-out);
}

.fc-card:hover .fc-stripe[b-aub0y7ezni],
.fc-card:focus-visible .fc-stripe[b-aub0y7ezni] {
    background: var(--kc-brand-gold-hover);
}

/* ── Tělo karty ───────────────────────────────────────── */
.fc-body[b-aub0y7ezni] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 0.375rem;
    padding: 1rem 1.25rem;
    min-width: 0;
}

/* ── Ikona složky ─────────────────────────────────────── */
.fc-icon-wrap[b-aub0y7ezni] {
    display: flex;
    align-items: center;
    color: var(--kc-brand-gold);
    margin-bottom: 0.25rem;
}

.fc-icon-wrap[b-aub0y7ezni]  .rzi,
.fc-icon-wrap[b-aub0y7ezni]  .notranslate {
    font-size: 28px;
    line-height: 1;
}

/* ── Název složky ─────────────────────────────────────── */
.fc-name[b-aub0y7ezni] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--kc-text-primary);
    letter-spacing: -0.01em;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Nápověda ─────────────────────────────────────────── */
.fc-hint[b-aub0y7ezni] {
    font-size: 0.75rem;
    color: var(--kc-text-tertiary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Admin akce (přejmenovat / přesunout / smazat) ────── */
.fc-admin-actions[b-aub0y7ezni] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.125rem;
    padding: 0.375rem 0.5rem;
    border-left: 1px solid var(--kc-border-subtle);
    opacity: 0;
    transition: opacity 150ms var(--kc-ease-out);
}

.fc-card:hover .fc-admin-actions[b-aub0y7ezni],
.fc-card:focus-within .fc-admin-actions[b-aub0y7ezni] {
    opacity: 1;
}

.fc-action-btn[b-aub0y7ezni] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    transition: background 120ms var(--kc-ease-out), color 120ms var(--kc-ease-out);
}

.fc-action-btn:hover[b-aub0y7ezni] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.fc-action-btn-danger:hover[b-aub0y7ezni] {
    background: rgba(var(--kc-danger-rgb, 220, 38, 38), 0.1);
    color: var(--kc-danger);
}

.fc-action-btn[b-aub0y7ezni]  .rzi,
.fc-action-btn[b-aub0y7ezni]  .notranslate {
    font-size: 16px;
    line-height: 1;
}
/* /Components/ImagePicker.razor.rz.scp.css */
.img-picker[b-6r0xb4c3ts] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}

.img-picker-preview[b-6r0xb4c3ts] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 120px;
    max-height: 240px;
    overflow: hidden;
    background: var(--kc-surface-sunken);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 8px;
}

.img-picker-preview img[b-6r0xb4c3ts] {
    max-width: 100%;
    max-height: 240px;
    object-fit: contain;
    display: block;
}

.img-picker-empty[b-6r0xb4c3ts] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 1.25rem;
    color: var(--kc-text-tertiary);
    font-size: 0.75rem;
}

.img-picker-empty[b-6r0xb4c3ts]  .rzi,
.img-picker-empty[b-6r0xb4c3ts]  .notranslate {
    font-size: 28px;
}

.img-picker-clear[b-6r0xb4c3ts] {
    position: absolute;
    top: 0.375rem;
    right: 0.375rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 9999px;
    background: rgba(27, 35, 50, 0.6);
    color: #FFFFFF;
    cursor: pointer;
    transition: background 120ms var(--kc-ease-out);
}

.img-picker-clear:hover[b-6r0xb4c3ts] {
    background: var(--kc-danger);
}

.img-picker-clear:focus-visible[b-6r0xb4c3ts] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.img-picker-clear:disabled[b-6r0xb4c3ts] {
    opacity: 0.5;
    cursor: not-allowed;
}

.img-picker-clear[b-6r0xb4c3ts]  .rzi,
.img-picker-clear[b-6r0xb4c3ts]  .notranslate {
    font-size: 16px;
}

/* Label acts as the styled "pick file" button. The real InputFile is hidden
 * inside it; clicking the label triggers the native file dialog. */
.img-picker-btn[b-6r0xb4c3ts] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    height: 36px;
    padding: 0 0.875rem;
    border: 1px solid var(--kc-border-subtle);
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-secondary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
    align-self: flex-start;
}

.img-picker-btn:hover[b-6r0xb4c3ts] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.img-picker-btn.disabled[b-6r0xb4c3ts] {
    cursor: not-allowed;
    opacity: 0.6;
}

.img-picker-btn[b-6r0xb4c3ts]  .rzi,
.img-picker-btn[b-6r0xb4c3ts]  .notranslate {
    font-size: 18px;
}

.img-picker-btn[b-6r0xb4c3ts]  input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.img-picker-error[b-6r0xb4c3ts] {
    font-size: 0.75rem;
    color: var(--kc-danger);
}
/* /Components/NavMenuFolderItem.razor.rz.scp.css */
/* NavMenuFolderItem — klikací akordeon pro složku procesů */

.kc-nav-folder-item[b-glv45td06b] {
    display: flex;
    flex-direction: column;
}

/* Celá oblast složky — klik přepíná rozbalení/sbalení.
   Záměrně NEMÁ třídu kc-nav-panel-item, protože blazor-interop.js na tu třídu
   reaguje zavřením celého panelu — to bychom nechtěli při toggleování složky. */
.kc-nav-folder-trigger[b-glv45td06b] {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    width: 100%;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background 120ms var(--kc-ease-out), color 120ms var(--kc-ease-out);
    white-space: nowrap;
}

.kc-nav-folder-trigger:hover[b-glv45td06b] {
    background: var(--kc-surface-sunken);
}

.kc-nav-folder-trigger:focus-visible[b-glv45td06b] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.kc-nav-folder-trigger[b-glv45td06b]  .rzi,
.kc-nav-folder-trigger[b-glv45td06b]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* Text složky jako odkaz — klik naviguje, pokrývá pouze text (ne celou šířku) */
.kc-nav-folder-name[b-glv45td06b] {
    color: inherit;
    text-decoration: none;
}

.kc-nav-folder-name:hover[b-glv45td06b] {
    text-decoration: underline;
}

.kc-nav-folder-caret[b-glv45td06b] {
    margin-left: auto;
}

.kc-nav-folder-caret[b-glv45td06b]  .rzi,
.kc-nav-folder-caret[b-glv45td06b]  .notranslate {
    font-size: 16px;
    line-height: 1;
    color: var(--kc-text-tertiary);
    transition: transform 150ms var(--kc-ease-out);
}

/* Rozbalený obsah složky — odsazen pro vizuální hierarchii */
.kc-nav-folder-children[b-glv45td06b] {
    display: flex;
    flex-direction: column;
    padding-left: 1rem;
    border-left: 2px solid var(--kc-border-subtle);
    margin-left: 0.875rem;
    margin-bottom: 0.25rem;
}

.kc-nav-folder-process[b-glv45td06b] {
    font-size: 0.8125rem;
}
/* /Components/ProcessCard.razor.rz.scp.css */
/* ProcessCard — "Refined Clarity" per notes/ux/DESIGN.md §4.4 */

.pc-card[b-niu0ab756r] {
    position: relative;
    display: flex;
    flex-direction: row;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 12px;
    box-shadow: var(--kc-shadow-sm);
    overflow: hidden;
    cursor: default;
    /* staggered entrance — driven by --pc-index from parent */
    animation: pc-enter-b-niu0ab756r 280ms var(--kc-ease-out) both;
    animation-delay: calc(var(--pc-index, 0) * 40ms);
    /* view-transition name per card for browser-native reorder */
    view-transition-name: var(--pc-vt-name, none);
    transition:
        box-shadow 200ms var(--kc-ease-out),
        transform  200ms var(--kc-ease-out),
        border-color 200ms var(--kc-ease-out);
}

@keyframes pc-enter-b-niu0ab756r {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.pc-card:hover[b-niu0ab756r] {
    box-shadow: var(--kc-shadow-lg);
    transform: translateY(-3px);
    border-color: var(--kc-border-medium);
}

/* ── Colored left stripe ──────────────────────────────────── */
.pc-stripe[b-niu0ab756r] {
    width: 4px;
    flex-shrink: 0;
    background: var(--kc-brand-blue);
    border-radius: 0;
    transition: background 200ms var(--kc-ease-out);
}

.pc-card:hover .pc-stripe[b-niu0ab756r] {
    background: var(--kc-brand-blue-light);
}

/* ── Card body ────────────────────────────────────────────── */
.pc-body[b-niu0ab756r] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 0.875rem;
    padding: 1.125rem 1.25rem 1rem;
    min-width: 0;
}

/* ── Process name ─────────────────────────────────────────── */
.pc-name[b-niu0ab756r] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--kc-text-primary);
    letter-spacing: -0.01em;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Action row ───────────────────────────────────────────── */
.pc-actions[b-niu0ab756r] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

/* ── Shared button base ───────────────────────────────────── */
.pc-btn[b-niu0ab756r] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    height: 32px;
    padding: 0 0.75rem;
    border: 1px solid transparent;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition:
        background  120ms var(--kc-ease-out),
        box-shadow  120ms var(--kc-ease-out),
        transform   120ms var(--kc-ease-spring),
        border-color 120ms var(--kc-ease-out);
}

.pc-btn:focus-visible[b-niu0ab756r] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

/* Primary — gold */
.pc-btn-primary[b-niu0ab756r] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
}

.pc-btn-primary:hover[b-niu0ab756r] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(255, 191, 72, 0.4);
}

.pc-btn-primary:active[b-niu0ab756r] {
    transform: translateY(0);
    box-shadow: none;
}

/* Ghost — outline */
.pc-btn-ghost[b-niu0ab756r] {
    background: transparent;
    color: var(--kc-text-secondary);
    border-color: var(--kc-border-medium);
}

.pc-btn-ghost:hover[b-niu0ab756r] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
    border-color: var(--kc-brand-blue);
}

.pc-btn-ghost:active[b-niu0ab756r] {
    background: var(--kc-brand-gold-light);
}

/* ── Radzen icon sizing ───────────────────────────────────── */
.pc-btn[b-niu0ab756r]  .rzi,
.pc-btn[b-niu0ab756r]  .notranslate {
    font-size: 15px;
    line-height: 1;
}
/* /Components/Unauthorized.razor.rz.scp.css */
.kc-unauth[b-zkki5thuc9] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: var(--kc-error-light);
    border: 1px solid rgba(220, 38, 38, 0.2);
    border-radius: var(--kc-radius-md);
    color: var(--kc-error);
    font-size: var(--kc-text-sm);
    font-weight: 500;
}

.kc-unauth-icon[b-zkki5thuc9]  .rzi,
.kc-unauth-icon[b-zkki5thuc9]  .notranslate {
    font-size: 16px;
    line-height: 1;
}

.kc-unauth-text[b-zkki5thuc9] {
    line-height: 1.4;
}
/* /Components/UnauthShell.razor.rz.scp.css */
/* UnauthShell — shared wrapper for unauthenticated pages per DESIGN.md §4.3.
 * Tokens inlined (same convention as MainLayout.razor.css / NavMenu.razor.css). */

.kc-unauth-shell[b-8czqqq8aww] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    background: var(--kc-surface);
    padding: 2rem 1rem;
}

.kc-unauth-card[b-8czqqq8aww] {
    max-width: 440px;
    width: 100%;
    margin: auto;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: var(--kc-radius-2xl);
    box-shadow: var(--kc-shadow-lg);
    padding: 2.5rem 2rem;
    position: relative;
}

.kc-unauth-header img[b-8czqqq8aww] {
    max-width: 200px;
    display: block;
    margin: 0 auto 1.5rem;
}

.kc-unauth-footer[b-8czqqq8aww] {
    text-align: center;
    font-size: var(--kc-text-xs);
    color: var(--kc-text-tertiary);
    margin-top: 2rem;
}

.kc-unauth-footer a[b-8czqqq8aww] {
    color: inherit;
    text-decoration: none;
}

.kc-unauth-footer a:hover[b-8czqqq8aww] {
    text-decoration: underline;
    color: var(--kc-text-secondary);
}

.kc-unauth-footer-sep[b-8czqqq8aww] {
    margin: 0 0.5rem;
    color: var(--kc-border-medium);
}
/* /Dialogs/AddDataRecordDialog.razor.rz.scp.css */
.adr-dialog[b-n55xw05y2z] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 0.25rem 0 0.5rem;
}

.adr-form[b-n55xw05y2z] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
}

.adr-field[b-n55xw05y2z] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.adr-label[b-n55xw05y2z] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--kc-text-secondary);
    letter-spacing: 0.02em;
}

.adr-actions[b-n55xw05y2z] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.25rem;
    border-top: 1px solid var(--kc-border-subtle);
}

.adr-btn[b-n55xw05y2z] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 36px;
    padding: 0 1rem;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.adr-btn.primary[b-n55xw05y2z] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}

.adr-btn.primary:hover[b-n55xw05y2z] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.adr-btn.primary:focus-visible[b-n55xw05y2z] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.adr-btn.ghost[b-n55xw05y2z] {
    background: transparent;
    color: var(--kc-text-secondary);
    border: 1px solid var(--kc-border-subtle);
}

.adr-btn.ghost:hover[b-n55xw05y2z] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.adr-btn.ghost:focus-visible[b-n55xw05y2z] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

@media (max-width: 640px) {
    .adr-form[b-n55xw05y2z] {
        grid-template-columns: 1fr;
    }
}
/* /Dialogs/AddUserDialog.razor.rz.scp.css */
.au-dialog[b-g4zoa88va7] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0.25rem 0.25rem 0;
}

.au-field[b-g4zoa88va7] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.au-label[b-g4zoa88va7] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rz-text-secondary-color, #555);
}

.au-actions[b-g4zoa88va7] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.au-btn[b-g4zoa88va7] {
    padding: 0.5rem 1.25rem;
    border-radius: 6px;
    border: 1px solid transparent;
    cursor: pointer;
    font-weight: 600;
}

.au-btn.ghost[b-g4zoa88va7] {
    background: transparent;
    border-color: var(--rz-border-color, #ccc);
    color: var(--rz-text-color, #333);
}

.au-btn.primary[b-g4zoa88va7] {
    background: var(--rz-primary, #2c6ecb);
    color: #fff;
}

.au-btn.primary:hover[b-g4zoa88va7] {
    filter: brightness(0.95);
}
/* /Dialogs/FeedbackDialog.razor.rz.scp.css */
.fb-dialog[b-khfhvusohn] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 420px;
    max-width: 520px;
}

.fb-field[b-khfhvusohn] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.fb-label[b-khfhvusohn] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--kc-text-secondary);
    letter-spacing: 0.02em;
}

.fb-field[b-khfhvusohn]  .rz-textbox,
.fb-field[b-khfhvusohn]  .rz-textarea {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 8px;
    background: var(--kc-surface-raised);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    transition: border-color 120ms var(--kc-ease-out), box-shadow 120ms var(--kc-ease-out);
}

.fb-field[b-khfhvusohn]  .rz-textbox {
    height: 40px;
    padding: 0 0.75rem;
}

.fb-field[b-khfhvusohn]  .rz-textarea {
    min-height: 120px;
    resize: vertical;
}

.fb-field[b-khfhvusohn]  .rz-textbox:focus,
.fb-field[b-khfhvusohn]  .rz-textarea:focus {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.fb-rating[b-khfhvusohn] {
    display: flex;
    justify-content: center;
    padding: 0.5rem 0;
}

.fb-rating[b-khfhvusohn]  .rz-rating {
    --rz-rating-selected-color: var(--kc-brand-gold);
    font-size: 1.5rem;
    gap: 0.125rem;
}

.fb-actions[b-khfhvusohn] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--kc-border-subtle);
}

.fb-btn[b-khfhvusohn] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 1.25rem;
    border: none;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.fb-btn.primary[b-khfhvusohn] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}
.fb-btn.primary:hover:not(:disabled)[b-khfhvusohn] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}
.fb-btn.primary:focus-visible[b-khfhvusohn] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}
.fb-btn:disabled[b-khfhvusohn] {
    opacity: 0.5;
    cursor: not-allowed;
}

.fb-btn-spinner[b-khfhvusohn] {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 0.5rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: fb-spin-b-khfhvusohn 0.7s linear infinite;
    vertical-align: -2px;
}

@keyframes fb-spin-b-khfhvusohn {
    to { transform: rotate(360deg); }
}
/* /Dialogs/ImageDialog.razor.rz.scp.css */
.img-dialog[b-v8h8pnjmew] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 320px;
    min-height: 320px;
    padding: 0.25rem;
}

.img-dialog-image[b-v8h8pnjmew] {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(27, 35, 50, 0.06), 0 1px 2px rgba(27, 35, 50, 0.04);
    display: block;
}
/* /Dialogs/ImportCsvDialog.razor.rz.scp.css */
.ic-dialog[b-b7zbg3jpx3] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 600px;
    max-width: 90vw;
    max-height: 80vh;
}

/* ---- Phase: SelectFile ---- */
.ic-pick[b-b7zbg3jpx3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
}

.ic-pick-icon[b-b7zbg3jpx3] {
    font-size: 3rem;
    color: var(--rz-primary, #3f51b5);
    opacity: 0.7;
}

.ic-pick-title[b-b7zbg3jpx3] {
    font-size: 1.1rem;
    font-weight: 600;
}

.ic-pick-description[b-b7zbg3jpx3] {
    color: rgba(0, 0, 0, 0.6);
    text-align: center;
    max-width: 420px;
    line-height: 1.4;
}

.ic-pick-button[b-b7zbg3jpx3] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--rz-primary, #3f51b5);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    user-select: none;
}

.ic-pick-button:hover[b-b7zbg3jpx3] {
    filter: brightness(0.95);
}

.ic-pick-checkbox[b-b7zbg3jpx3] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    user-select: none;
    font-size: 0.9rem;
    color: rgba(0, 0, 0, 0.75);
}

.ic-pick-checkbox-tooltip[b-b7zbg3jpx3] {
    color: rgba(0, 0, 0, 0.45);
    cursor: help;
}

.ic-pick-hint[b-b7zbg3jpx3] {
    max-width: 480px;
    text-align: center;
    font-size: 0.82rem;
    color: rgba(0, 0, 0, 0.55);
    line-height: 1.4;
    margin-top: -0.25rem;
}

/* ---- Phase: Parsing / Importing ---- */
.ic-busy[b-b7zbg3jpx3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 2rem;
}

/* ---- Phase: Preview ---- */
.ic-preview[b-b7zbg3jpx3] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1 1 auto;
    min-height: 0;
}

.ic-summary[b-b7zbg3jpx3] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ic-summary-pill[b-b7zbg3jpx3] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.04);
    font-size: 0.9rem;
}

.ic-summary-pill strong[b-b7zbg3jpx3] {
    font-size: 1rem;
}

.ic-summary-pill.insert[b-b7zbg3jpx3] {
    background: rgba(76, 175, 80, 0.15);
    color: rgb(46, 125, 50);
}

.ic-summary-pill.update[b-b7zbg3jpx3] {
    background: rgba(255, 193, 7, 0.15);
    color: rgb(155, 119, 0);
}

.ic-summary-pill.error[b-b7zbg3jpx3] {
    background: rgba(244, 67, 54, 0.15);
    color: rgb(183, 28, 28);
}

.ic-warnings[b-b7zbg3jpx3] {
    background: rgba(255, 193, 7, 0.10);
    border-left: 3px solid rgb(255, 193, 7);
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    font-size: 0.9rem;
}

.ic-warnings-header[b-b7zbg3jpx3] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: rgb(155, 119, 0);
    margin-bottom: 0.25rem;
}

.ic-warnings ul[b-b7zbg3jpx3] {
    margin: 0;
    padding-left: 1.25rem;
}

.ic-table-wrap[b-b7zbg3jpx3] {
    overflow: auto;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    flex: 1 1 auto;
    min-height: 0;
}

.ic-table[b-b7zbg3jpx3] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.ic-table thead th[b-b7zbg3jpx3] {
    background: rgba(0, 0, 0, 0.04);
    text-align: left;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    position: sticky;
    top: 0;
    z-index: 1;
}

.ic-table tbody td[b-b7zbg3jpx3] {
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    vertical-align: top;
}

.ic-row.error[b-b7zbg3jpx3] {
    background: rgba(244, 67, 54, 0.06);
}

.ic-row.update[b-b7zbg3jpx3] {
    background: rgba(255, 193, 7, 0.06);
}

.ic-action[b-b7zbg3jpx3] {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
}

.ic-action.insert[b-b7zbg3jpx3] {
    background: rgba(76, 175, 80, 0.2);
    color: rgb(46, 125, 50);
}

.ic-action.update[b-b7zbg3jpx3] {
    background: rgba(255, 193, 7, 0.2);
    color: rgb(155, 119, 0);
}

.ic-action.error[b-b7zbg3jpx3] {
    background: rgba(244, 67, 54, 0.2);
    color: rgb(183, 28, 28);
}

.ic-id[b-b7zbg3jpx3] {
    font-family: ui-monospace, "SFMono-Regular", monospace;
    font-size: 0.78rem;
    color: rgba(0, 0, 0, 0.6);
    word-break: break-all;
}

.ic-error-text[b-b7zbg3jpx3] {
    color: rgb(183, 28, 28);
}

.ic-preview-text[b-b7zbg3jpx3] {
    color: rgba(0, 0, 0, 0.75);
}

.ic-truncated[b-b7zbg3jpx3] {
    padding: 0.5rem 0.75rem;
    text-align: center;
    color: rgba(0, 0, 0, 0.55);
    font-size: 0.85rem;
    border-top: 1px dashed rgba(0, 0, 0, 0.1);
}

.ic-empty[b-b7zbg3jpx3] {
    padding: 2rem;
    text-align: center;
    color: rgba(0, 0, 0, 0.5);
}

/* ---- Phase: Done ---- */
.ic-done[b-b7zbg3jpx3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
}

.ic-done-icon[b-b7zbg3jpx3] {
    font-size: 3rem;
    color: rgb(46, 125, 50);
}

.ic-done-title[b-b7zbg3jpx3] {
    font-size: 1.1rem;
    font-weight: 600;
}

.ic-done-stats[b-b7zbg3jpx3] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1.5rem;
}

.ic-done-stats li strong[b-b7zbg3jpx3] {
    font-size: 1.25rem;
    display: block;
}

/* ---- Actions ---- */
.ic-actions[b-b7zbg3jpx3] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    padding-top: 0.75rem;
}

.ic-btn[b-b7zbg3jpx3] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    border: 1px solid transparent;
    cursor: pointer;
    font-weight: 600;
}

.ic-btn.primary[b-b7zbg3jpx3] {
    background: var(--rz-primary, #3f51b5);
    color: white;
}

.ic-btn.primary:hover:not(:disabled)[b-b7zbg3jpx3] {
    filter: brightness(0.95);
}

.ic-btn.primary:disabled[b-b7zbg3jpx3] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ic-btn.ghost[b-b7zbg3jpx3] {
    background: transparent;
    border-color: rgba(0, 0, 0, 0.15);
    color: rgba(0, 0, 0, 0.7);
}

.ic-btn.ghost:hover[b-b7zbg3jpx3] {
    background: rgba(0, 0, 0, 0.04);
}
/* /Dialogs/MoveDialog.razor.rz.scp.css */
.mvd-dialog[b-stf5v4fto6] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 360px;
}

.mvd-field[b-stf5v4fto6] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.mvd-label[b-stf5v4fto6] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--kc-text-secondary);
    letter-spacing: 0.02em;
}

.mvd-select[b-stf5v4fto6] {
    width: 100%;
    height: 40px;
    padding: 0 0.75rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 8px;
    background: var(--kc-surface-raised);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    box-sizing: border-box;
    cursor: pointer;
    appearance: auto;
}

.mvd-select:focus[b-stf5v4fto6] {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.mvd-actions[b-stf5v4fto6] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--kc-border-subtle);
}

.mvd-btn[b-stf5v4fto6] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 1rem;
    border: none;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.mvd-btn.primary[b-stf5v4fto6] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}

.mvd-btn.primary:hover[b-stf5v4fto6] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.mvd-btn.ghost[b-stf5v4fto6] {
    background: transparent;
    color: var(--kc-text-secondary);
    border: 1px solid var(--kc-border-subtle);
}

.mvd-btn.ghost:hover[b-stf5v4fto6] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}
/* /Dialogs/NewFolderDialog.razor.rz.scp.css */
.nfd-dialog[b-v2zlqlikha] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 360px;
}

.nfd-field[b-v2zlqlikha] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.nfd-label[b-v2zlqlikha] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--kc-text-secondary);
    letter-spacing: 0.02em;
}

.nfd-input[b-v2zlqlikha] {
    width: 100%;
    height: 40px;
    padding: 0 0.75rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 8px;
    background: var(--kc-surface-raised);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    box-sizing: border-box;
    transition: border-color 120ms var(--kc-ease-out), box-shadow 120ms var(--kc-ease-out);
}

.nfd-input:focus[b-v2zlqlikha] {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.nfd-select[b-v2zlqlikha] {
    width: 100%;
    height: 40px;
    padding: 0 0.75rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 8px;
    background: var(--kc-surface-raised);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    box-sizing: border-box;
    cursor: pointer;
    appearance: auto;
}

.nfd-select:focus[b-v2zlqlikha] {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.nfd-error[b-v2zlqlikha] {
    font-size: 0.75rem;
    color: var(--kc-danger);
    margin-top: 0.125rem;
}

.nfd-actions[b-v2zlqlikha] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--kc-border-subtle);
}

.nfd-btn[b-v2zlqlikha] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 1rem;
    border: none;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.nfd-btn.primary[b-v2zlqlikha] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}

.nfd-btn.primary:hover[b-v2zlqlikha] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.nfd-btn.ghost[b-v2zlqlikha] {
    background: transparent;
    color: var(--kc-text-secondary);
    border: 1px solid var(--kc-border-subtle);
}

.nfd-btn.ghost:hover[b-v2zlqlikha] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}
/* /Dialogs/NewProcessDialog.razor.rz.scp.css */
.np-dialog[b-revf93gdc6] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 360px;
}

.np-field[b-revf93gdc6] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.np-label[b-revf93gdc6] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--kc-text-secondary);
    letter-spacing: 0.02em;
}

/* RadzenTextBox renders .rz-textbox — tighten to match design */
.np-field[b-revf93gdc6]  .rz-textbox {
    width: 100%;
    height: 40px;
    padding: 0 0.75rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 8px;
    background: var(--kc-surface-raised);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    transition: border-color 120ms var(--kc-ease-out), box-shadow 120ms var(--kc-ease-out);
}

.np-field[b-revf93gdc6]  .rz-textbox:focus {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.np-field[b-revf93gdc6]  .rz-message {
    color: var(--kc-danger);
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.np-select[b-revf93gdc6] {
    width: 100%;
    height: 40px;
    padding: 0 0.75rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 8px;
    background: var(--kc-surface-raised);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    box-sizing: border-box;
    cursor: pointer;
    appearance: auto;
}

.np-select:focus[b-revf93gdc6] {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.np-actions[b-revf93gdc6] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--kc-border-subtle);
}

.np-btn[b-revf93gdc6] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 1rem;
    border: none;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.np-btn.primary[b-revf93gdc6] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}
.np-btn.primary:hover[b-revf93gdc6] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}
.np-btn.primary:focus-visible[b-revf93gdc6] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.np-btn.ghost[b-revf93gdc6] {
    background: transparent;
    color: var(--kc-text-secondary);
    border: 1px solid var(--kc-border-subtle);
}
.np-btn.ghost:hover[b-revf93gdc6] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}
.np-btn.ghost:focus-visible[b-revf93gdc6] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}
/* /Dialogs/ReAuthDialog.razor.rz.scp.css */
.reauth-overlay[b-2kbic61u5d] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.reauth-card[b-2kbic61u5d] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
    padding: 24px 28px;
    width: 100%;
    max-width: 420px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.reauth-title[b-2kbic61u5d] {
    margin: 0 0 4px 0;
    font-size: 1.25rem;
    font-weight: 600;
}

.reauth-message[b-2kbic61u5d] {
    margin: 0;
    color: #555;
    line-height: 1.4;
}

.reauth-field[b-2kbic61u5d] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.reauth-label[b-2kbic61u5d] {
    font-weight: 500;
    font-size: 0.9rem;
}

.reauth-input[b-2kbic61u5d]  .rz-textbox,
.reauth-input[b-2kbic61u5d]  input {
    width: 100%;
    box-sizing: border-box;
}

.reauth-error[b-2kbic61u5d] {
    color: #d32f2f;
    font-size: 0.9rem;
}

.reauth-actions[b-2kbic61u5d] {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 8px;
}
/* /Dialogs/RenameFolderDialog.razor.rz.scp.css */
.rfd-dialog[b-x6ij3e12ya] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 360px;
}

.rfd-field[b-x6ij3e12ya] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.rfd-label[b-x6ij3e12ya] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--kc-text-secondary);
    letter-spacing: 0.02em;
}

.rfd-input[b-x6ij3e12ya] {
    width: 100%;
    height: 40px;
    padding: 0 0.75rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 8px;
    background: var(--kc-surface-raised);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    box-sizing: border-box;
    transition: border-color 120ms var(--kc-ease-out), box-shadow 120ms var(--kc-ease-out);
}

.rfd-input:focus[b-x6ij3e12ya] {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.rfd-error[b-x6ij3e12ya] {
    font-size: 0.75rem;
    color: var(--kc-danger);
    margin-top: 0.125rem;
}

.rfd-actions[b-x6ij3e12ya] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--kc-border-subtle);
}

.rfd-btn[b-x6ij3e12ya] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 1rem;
    border: none;
    border-radius: 9999px;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.rfd-btn.primary[b-x6ij3e12ya] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}

.rfd-btn.primary:hover[b-x6ij3e12ya] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.rfd-btn.ghost[b-x6ij3e12ya] {
    background: transparent;
    color: var(--kc-text-secondary);
    border: 1px solid var(--kc-border-subtle);
}

.rfd-btn.ghost:hover[b-x6ij3e12ya] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}
/* /Dialogs/TenantAccessDeniedDialog.razor.rz.scp.css */
.kc-tenant-access-dialog[b-v4lw0k9o7a] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 360px;
    max-width: 520px;
}

.kc-tenant-access-dialog p[b-v4lw0k9o7a] {
    margin: 0;
    line-height: 1.4;
}

.kc-tenant-access-dialog a[b-v4lw0k9o7a] {
    color: var(--rz-primary, #1976d2);
    text-decoration: none;
}

.kc-tenant-access-dialog a:hover[b-v4lw0k9o7a] {
    text-decoration: underline;
}

.kc-tenant-access-dialog__actions[b-v4lw0k9o7a] {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.5rem;
}
/* /Pages/DeleteMe.razor.rz.scp.css */
.dm-page[b-fj0ndrwb11] {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 3rem 1.5rem;
    min-height: calc(100vh - 56px);
    background: var(--kc-surface);
}

.dm-card[b-fj0ndrwb11] {
    width: 100%;
    max-width: 560px;
    padding: 2rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: var(--kc-radius-lg);
    box-shadow: var(--kc-shadow-sm);
}

.dm-title[b-fj0ndrwb11] {
    margin: 0 0 1rem;
    font-size: var(--kc-text-2xl);
    font-weight: 700;
    color: var(--kc-text-primary);
    line-height: 1.25;
}

.dm-body[b-fj0ndrwb11] {
    margin: 0;
    font-size: var(--kc-text-base);
    color: var(--kc-text-secondary);
    line-height: 1.6;
}

.dm-link[b-fj0ndrwb11] {
    color: var(--kc-brand-blue);
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid var(--kc-brand-blue);
    transition: color 120ms var(--kc-ease-out), border-color 120ms var(--kc-ease-out);
}

.dm-link:hover[b-fj0ndrwb11] {
    color: var(--kc-brand-blue-light);
    border-color: var(--kc-brand-blue-light);
}
/* /Pages/GlobalDataPage.razor.rz.scp.css */
/* GlobalDataPage — "Refined Clarity" per notes/ux/DESIGN.md §4.5
 * Mirrors ProcessPage.razor.css; tokens inlined until design-tokens.css lands. */

.gd-shell[b-1o07h8u8pf] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    background: var(--kc-surface);
}

.gd-header[b-1o07h8u8pf] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.5rem;
    min-height: 56px;
    padding: 0 1.5rem;
    background: var(--kc-surface-raised);
    border-bottom: 1px solid var(--kc-border-subtle);
    box-shadow: var(--kc-shadow-xs);
    z-index: 2;
}

/* ── Tabs — pill group ────────────────────────────────── */
.gd-tabs[b-1o07h8u8pf] {
    display: inline-flex;
    gap: 0.25rem;
    padding: 0.25rem;
    background: var(--kc-surface-sunken);
    border-radius: 9999px;
}

.gd-tab[b-1o07h8u8pf] {
    appearance: none;
    padding: 0.45rem 1rem;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-secondary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
    white-space: nowrap;
}

.gd-tab:hover[b-1o07h8u8pf] {
    color: var(--kc-text-primary);
}

.gd-tab.active[b-1o07h8u8pf] {
    background: var(--kc-brand-blue);
    color: var(--kc-text-inverse);
    box-shadow: var(--kc-shadow-sm);
}

.gd-tab:focus-visible[b-1o07h8u8pf] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

/* ── Title ────────────────────────────────────────────── */
.gd-title[b-1o07h8u8pf] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    justify-self: center;
}

.gd-title-text[b-1o07h8u8pf] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--kc-text-primary);
    letter-spacing: -0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Floating toolbar ─────────────────────────────────── */
.gd-toolbar[b-1o07h8u8pf] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 9999px;
    box-shadow: var(--kc-shadow-float);
    justify-self: end;
}

/* ── Icon button ──────────────────────────────────────── */
.gd-icon-btn[b-1o07h8u8pf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.gd-icon-btn:hover:not(:disabled)[b-1o07h8u8pf] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.gd-icon-btn:focus-visible[b-1o07h8u8pf] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.gd-icon-btn:disabled[b-1o07h8u8pf] {
    opacity: 0.4;
    cursor: not-allowed;
}

.gd-icon-btn.danger[b-1o07h8u8pf] {
    color: var(--kc-danger);
}

.gd-icon-btn.danger:hover:not(:disabled)[b-1o07h8u8pf] {
    background: var(--kc-danger-light);
    color: var(--kc-danger);
}

.gd-icon-btn[b-1o07h8u8pf]  .rzi,
.gd-icon-btn[b-1o07h8u8pf]  .notranslate {
    font-size: 20px;
    line-height: 1;
}

/* ── Text + icon button (primary save) ────────────────── */
.gd-btn[b-1o07h8u8pf] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 36px;
    padding: 0 0.875rem;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.gd-btn.primary[b-1o07h8u8pf] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}

.gd-btn.primary:hover:not(:disabled)[b-1o07h8u8pf] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.gd-btn:disabled[b-1o07h8u8pf] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.gd-btn[b-1o07h8u8pf]  .rzi,
.gd-btn[b-1o07h8u8pf]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Content ──────────────────────────────────────────── */
.gd-content[b-1o07h8u8pf] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1280px) {
    .gd-header[b-1o07h8u8pf] {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "tabs toolbar"
            "title title";
        row-gap: 0.5rem;
        padding: 0.5rem 1.5rem;
    }

    .gd-tabs[b-1o07h8u8pf] { grid-area: tabs; }
    .gd-toolbar[b-1o07h8u8pf] { grid-area: toolbar; }
    .gd-title[b-1o07h8u8pf] { grid-area: title; justify-self: start; }
}

@media (max-width: 768px) {
    .gd-header[b-1o07h8u8pf] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "tabs"
            "toolbar";
        padding: 0.75rem 1rem;
    }

    .gd-toolbar[b-1o07h8u8pf] {
        overflow-x: auto;
        max-width: 100%;
    }
}
/* /Pages/LanguagePage.razor.rz.scp.css */
/* LanguagePage — "Refined Clarity" per notes/ux/DESIGN.md §4.5
 * Tokens inlined until wwwroot/css/design-tokens.css lands. */

.lp-shell[b-mhkwvaz16u] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    background: var(--kc-surface);
}

/* ── Header ──────────────────────────────────────────── */
.lp-header[b-mhkwvaz16u] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 1.5rem;
    min-height: 56px;
    padding: 0 1.5rem;
    background: var(--kc-surface-raised);
    border-bottom: 1px solid var(--kc-border-subtle);
    box-shadow: var(--kc-shadow-xs);
    z-index: 2;
}

/* ── Title ───────────────────────────────────────────── */
.lp-title[b-mhkwvaz16u] {
    display: flex;
    align-items: center;
}

.lp-title-text[b-mhkwvaz16u] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--kc-text-primary);
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Toolbar ──────────────────────────────────────────── */
.lp-toolbar[b-mhkwvaz16u] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 9999px;
    box-shadow: var(--kc-shadow-float);
    justify-self: end;
}

/* ── Text + icon button ───────────────────────────────── */
.lp-btn[b-mhkwvaz16u] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 36px;
    padding: 0 0.875rem;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.lp-btn.primary[b-mhkwvaz16u] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}

.lp-btn.primary:hover:not(:disabled)[b-mhkwvaz16u] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.lp-btn:disabled[b-mhkwvaz16u] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.lp-btn[b-mhkwvaz16u]  .rzi,
.lp-btn[b-mhkwvaz16u]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Icon button ──────────────────────────────────────── */
.lp-icon-btn[b-mhkwvaz16u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.lp-icon-btn:hover:not(:disabled)[b-mhkwvaz16u] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.lp-icon-btn:focus-visible[b-mhkwvaz16u] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.lp-icon-btn:disabled[b-mhkwvaz16u] {
    opacity: 0.4;
    cursor: not-allowed;
}

.lp-icon-btn[b-mhkwvaz16u]  .rzi,
.lp-icon-btn[b-mhkwvaz16u]  .notranslate {
    font-size: 20px;
    line-height: 1;
}

/* ── Content area ─────────────────────────────────────── */
.lp-content[b-mhkwvaz16u] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
}

/* ── Row action buttons (edit/delete in frozen column) ── */
.lp-row-action[b-mhkwvaz16u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    opacity: 0.35;
    transition: opacity 120ms var(--kc-ease-out), background 120ms var(--kc-ease-out), color 120ms var(--kc-ease-out);
}

.lp-row-action:hover:not(:disabled)[b-mhkwvaz16u] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
    opacity: 1;
}

.lp-row-action:disabled[b-mhkwvaz16u] {
    opacity: 0.2;
    cursor: not-allowed;
}

.lp-row-action.danger:hover:not(:disabled)[b-mhkwvaz16u] {
    background: var(--kc-danger-light);
    color: var(--kc-danger);
}

.lp-row-action[b-mhkwvaz16u]  .rzi,
.lp-row-action[b-mhkwvaz16u]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

[b-mhkwvaz16u] .rz-data-grid tbody tr.rz-data-row:hover .lp-row-action {
    opacity: 1;
}

[b-mhkwvaz16u] tr.rz-data-row-edit .lp-row-action {
    opacity: 1;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 768px) {
    .lp-header[b-mhkwvaz16u] {
        padding: 0.75rem 1rem;
    }

    .lp-content[b-mhkwvaz16u] {
        padding: 0 1rem 1rem;
    }
}
/* /Pages/LoginPage.razor.rz.scp.css */
/* LoginPage — per DESIGN.md §4.3.
 * Tokens inlined (same convention as MainLayout.razor.css / NavMenu.razor.css). */

.login-culture[b-b4hb81qa1c] {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.login-title[b-b4hb81qa1c] {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #1B2332;
    margin: 0 0 0.375rem;
    text-align: center;
}

.login-subtitle[b-b4hb81qa1c] {
    font-size: 0.75rem;
    color: #5D6B82;
    margin: 0 0 2rem;
    text-align: center;
}

.login-field[b-b4hb81qa1c] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    margin-bottom: 1rem;
}

.login-field label[b-b4hb81qa1c] {
    font-size: 0.75rem;
    font-weight: 500;
    color: #5D6B82;
}

.login-input[b-b4hb81qa1c] {
    height: 44px;
    width: 100%;
    padding: 0 0.875rem;
    border: 1px solid #CDD5DF;
    border-radius: 8px;
    background: #FFFFFF;
    font-family: inherit;
    font-size: 0.875rem;
    color: #1B2332;
    transition: border-color 120ms cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 120ms cubic-bezier(0.16, 1, 0.3, 1);
    box-sizing: border-box;
}

.login-input:focus[b-b4hb81qa1c] {
    outline: none;
    border-color: #002E58;
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.login-error[b-b4hb81qa1c] {
    font-size: 0.75rem;
    color: #DC2626;
    background: #FEE2E2;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    margin-bottom: 1rem;
}

.login-error-contact[b-b4hb81qa1c] {
    margin-top: 0.35rem;
}

.login-error-contact a[b-b4hb81qa1c] {
    color: #DC2626;
    font-weight: 600;
    text-decoration: underline;
}

.login-submit[b-b4hb81qa1c]  .rz-button {
    width: 100% !important;
    height: 44px !important;
    border-radius: 9999px !important;
    background: #FFBF48 !important;
    color: #1B2332 !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    border: none !important;
    box-shadow: 0 1px 2px rgba(27, 35, 50, 0.04) !important;
    transition: all 120ms cubic-bezier(0.16, 1, 0.3, 1);
    gap: 0.5rem;
}

.login-submit[b-b4hb81qa1c]  .rz-button:hover {
    background: #F0B030 !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(255, 191, 72, 0.4) !important;
}

.login-submit[b-b4hb81qa1c]  .rz-button:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(27, 35, 50, 0.04) !important;
}

.login-submit[b-b4hb81qa1c]  .rz-button:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 191, 72, 0.25) !important;
}

.login-forgot-wrap[b-b4hb81qa1c] {
    margin-top: 1rem;
    text-align: center;
}

.login-forgot[b-b4hb81qa1c] {
    display: inline-block;
    font-size: 0.75rem;
    color: #5D6B82;
    text-decoration: none;
    transition: color 120ms cubic-bezier(0.16, 1, 0.3, 1);
}

.login-forgot:hover[b-b4hb81qa1c] {
    color: #002E58;
    text-decoration: underline;
}

.login-forgot.disabled[b-b4hb81qa1c] {
    color: #98A2B3;
    cursor: not-allowed;
}

.login-forgot.disabled:hover[b-b4hb81qa1c] {
    color: #98A2B3;
    text-decoration: none;
}

.login-forgot-hint[b-b4hb81qa1c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    margin-top: 0.375rem;
    margin-left: 0.5rem;
    font-size: 0.6875rem;
    color: #98A2B3;
    line-height: 1.2;
}

.login-forgot-hint[b-b4hb81qa1c]  .rzi,
.login-forgot-hint[b-b4hb81qa1c]  .notranslate {
    font-size: 14px;
    color: #98A2B3;
}

/* /Pages/MainPage.razor.rz.scp.css */
/* MainPage — "Refined Clarity" per notes/ux/DESIGN.md §4.4 */

.mp-shell[b-xmhymg6ela] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    background: var(--kc-surface);
    overflow-y: auto;
}

/* ── Page header ──────────────────────────────────────────── */
.mp-header[b-xmhymg6ela] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.5rem 1.75rem 0.75rem;
    flex-wrap: wrap;
}

.mp-heading[b-xmhymg6ela] {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--kc-text-primary);
    letter-spacing: -0.02em;
    line-height: 1.2;
    flex-shrink: 0;
}

/* ── Search / filter ──────────────────────────────────────── */
.mp-search-wrap[b-xmhymg6ela] {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 1 320px;
    min-width: 180px;
}

.mp-search-icon[b-xmhymg6ela] {
    position: absolute;
    left: 0.75rem;
    color: var(--kc-text-tertiary);
    pointer-events: none;
    font-size: 17px;
    line-height: 1;
}

.mp-search-icon[b-xmhymg6ela]  .rzi,
.mp-search-icon[b-xmhymg6ela]  .notranslate {
    font-size: 17px;
    line-height: 1;
}

.mp-search[b-xmhymg6ela] {
    width: 100%;
    height: 38px;
    padding: 0 2.25rem 0 2.5rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 9999px;
    background: var(--kc-surface-raised);
    font-family: inherit;
    font-size: 0.8125rem;
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
    transition:
        border-color 150ms var(--kc-ease-out),
        box-shadow   150ms var(--kc-ease-out);
    /* remove browser default search clear button */
    -webkit-appearance: none;
}

.mp-search[b-xmhymg6ela]::placeholder {
    color: var(--kc-text-tertiary);
}

.mp-search:focus[b-xmhymg6ela] {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.10);
}

/* Remove native clear button in Chrome */
.mp-search[b-xmhymg6ela]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.mp-search-clear[b-xmhymg6ela] {
    position: absolute;
    right: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--kc-surface-sunken);
    color: var(--kc-text-tertiary);
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.mp-search-clear:hover[b-xmhymg6ela] {
    background: var(--kc-border-subtle);
    color: var(--kc-text-primary);
}

.mp-search-clear[b-xmhymg6ela]  .rzi,
.mp-search-clear[b-xmhymg6ela]  .notranslate {
    font-size: 14px;
    line-height: 1;
}

/* ── Content area ─────────────────────────────────────────── */
.mp-content[b-xmhymg6ela] {
    flex: 1 1 auto;
    padding: 1rem 1.75rem 2rem;
}

/* ── Process grid ─────────────────────────────────────────── */
.mp-grid[b-xmhymg6ela] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

/* ── Loading skeleton ─────────────────────────────────────── */
.mp-grid-skeleton[b-xmhymg6ela] {
    pointer-events: none;
}

.mp-skeleton-card[b-xmhymg6ela] {
    display: flex;
    flex-direction: row;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--kc-shadow-xs);
    animation: mp-skeleton-fade-b-xmhymg6ela 1.4s ease-in-out infinite;
}

/* stagger the skeleton pulse per card */
.mp-skeleton-card:nth-child(2)[b-xmhymg6ela] { animation-delay: 0.12s; }
.mp-skeleton-card:nth-child(3)[b-xmhymg6ela] { animation-delay: 0.24s; }
.mp-skeleton-card:nth-child(4)[b-xmhymg6ela] { animation-delay: 0.10s; }
.mp-skeleton-card:nth-child(5)[b-xmhymg6ela] { animation-delay: 0.22s; }
.mp-skeleton-card:nth-child(6)[b-xmhymg6ela] { animation-delay: 0.16s; }

@keyframes mp-skeleton-fade-b-xmhymg6ela {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.55; }
}

.mp-skeleton-stripe[b-xmhymg6ela] {
    width: 4px;
    flex-shrink: 0;
    background: var(--kc-border-subtle);
}

.mp-skeleton-body[b-xmhymg6ela] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.125rem 1.25rem 1rem;
    flex: 1;
}

.mp-skeleton-line[b-xmhymg6ela] {
    border-radius: 6px;
    background: var(--kc-surface-sunken);
}

.mp-skeleton-name[b-xmhymg6ela] {
    height: 16px;
    width: 65%;
}

.mp-skeleton-actions[b-xmhymg6ela] {
    display: flex;
    gap: 0.5rem;
}

.mp-skeleton-btn[b-xmhymg6ela] {
    height: 28px;
    width: 88px;
    border-radius: 9999px;
}

/* ── Empty / no-results state ─────────────────────────────── */
.mp-empty[b-xmhymg6ela] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 4rem 2rem;
    text-align: center;
    animation: mp-empty-enter-b-xmhymg6ela 300ms var(--kc-ease-out) both;
}

@keyframes mp-empty-enter-b-xmhymg6ela {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.mp-empty-icon[b-xmhymg6ela] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--kc-surface-sunken);
    color: var(--kc-text-tertiary);
    margin-bottom: 0.5rem;
}

.mp-empty-icon[b-xmhymg6ela]  .rzi,
.mp-empty-icon[b-xmhymg6ela]  .notranslate {
    font-size: 32px;
    line-height: 1;
}

.mp-empty-title[b-xmhymg6ela] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--kc-text-primary);
}

.mp-empty-hint[b-xmhymg6ela] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--kc-text-secondary);
    max-width: 28rem;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 640px) {
    .mp-header[b-xmhymg6ela] {
        padding: 1rem 1rem 0.5rem;
    }

    .mp-content[b-xmhymg6ela] {
        padding: 0.75rem 1rem 1.5rem;
    }

    .mp-search-wrap[b-xmhymg6ela] {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .mp-grid[b-xmhymg6ela] {
        grid-template-columns: 1fr;
    }
}

/* ── View Transitions — smooth card reorder ───────────────── */
@supports (view-transition-name: none) {
    [b-xmhymg6ela]::view-transition-old(root),
    [b-xmhymg6ela]::view-transition-new(root) {
        animation-duration: 200ms;
        animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    }
}
/* /Pages/ProcessFoldersPage.razor.rz.scp.css */
/* ProcessFoldersPage — file-explorer pro hierarchii složek procesů */

.pfp-shell[b-ewfuijq54v] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    background: var(--kc-surface);
    overflow-y: auto;
}

/* ── Hlavička (breadcrumb + search) ────────────────────── */
.pfp-header[b-ewfuijq54v] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem 1.75rem 0.75rem;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--kc-border-subtle);
}

/* ── Breadcrumb ─────────────────────────────────────────── */
.pfp-breadcrumb[b-ewfuijq54v] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: wrap;
}

.pfp-crumb[b-ewfuijq54v] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    height: 32px;
    padding: 0 0.625rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--kc-text-secondary);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 120ms var(--kc-ease-out), background 120ms var(--kc-ease-out);
    white-space: nowrap;
}

.pfp-crumb:hover[b-ewfuijq54v] {
    color: var(--kc-text-primary);
    background: var(--kc-surface-sunken);
}

.pfp-crumb:focus-visible[b-ewfuijq54v] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.pfp-crumb-root[b-ewfuijq54v] {
    color: var(--kc-brand-blue);
    font-weight: 600;
}

.pfp-crumb-current[b-ewfuijq54v] {
    color: var(--kc-text-primary);
    font-weight: 600;
    pointer-events: none;
}

.pfp-crumb-icon[b-ewfuijq54v]  .rzi,
.pfp-crumb-icon[b-ewfuijq54v]  .notranslate {
    font-size: 16px;
    line-height: 1;
}

.pfp-crumb-sep[b-ewfuijq54v] {
    color: var(--kc-text-tertiary);
    flex-shrink: 0;
}

.pfp-crumb-sep[b-ewfuijq54v]  .rzi,
.pfp-crumb-sep[b-ewfuijq54v]  .notranslate {
    font-size: 16px;
    line-height: 1;
}

/* ── Toolbar (search + nová složka) ─────────────────────── */
.pfp-toolbar[b-ewfuijq54v] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.pfp-new-folder-btn[b-ewfuijq54v] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    height: 38px;
    padding: 0 1rem;
    border: none;
    border-radius: 9999px;
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: var(--kc-shadow-xs);
    transition: all 120ms var(--kc-ease-out);
}

.pfp-new-folder-btn:hover[b-ewfuijq54v] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.pfp-new-folder-btn[b-ewfuijq54v]  .rzi,
.pfp-new-folder-btn[b-ewfuijq54v]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

.pfp-new-process-btn[b-ewfuijq54v] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    height: 38px;
    padding: 0 1rem;
    border: none;
    border-radius: 9999px;
    background: var(--kc-brand-blue);
    color: #ffffff;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: var(--kc-shadow-xs);
    transition: all 120ms var(--kc-ease-out);
}

.pfp-new-process-btn:hover[b-ewfuijq54v] {
    background: var(--kc-brand-blue-light);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.pfp-new-process-btn[b-ewfuijq54v]  .rzi,
.pfp-new-process-btn[b-ewfuijq54v]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Search ─────────────────────────────────────────────── */
.pfp-search-wrap[b-ewfuijq54v] {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 1 320px;
    min-width: 180px;
}

.pfp-search-icon[b-ewfuijq54v] {
    position: absolute;
    left: 0.75rem;
    color: var(--kc-text-tertiary);
    pointer-events: none;
    font-size: 17px;
    line-height: 1;
}

.pfp-search-icon[b-ewfuijq54v]  .rzi,
.pfp-search-icon[b-ewfuijq54v]  .notranslate {
    font-size: 17px;
    line-height: 1;
}

.pfp-search[b-ewfuijq54v] {
    width: 100%;
    height: 38px;
    padding: 0 2.25rem 0 2.5rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 9999px;
    background: var(--kc-surface-raised);
    font-family: inherit;
    font-size: 0.8125rem;
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
    transition:
        border-color 150ms var(--kc-ease-out),
        box-shadow   150ms var(--kc-ease-out);
    -webkit-appearance: none;
}

.pfp-search[b-ewfuijq54v]::placeholder { color: var(--kc-text-tertiary); }

.pfp-search:focus[b-ewfuijq54v] {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.10);
}

.pfp-search[b-ewfuijq54v]::-webkit-search-cancel-button { -webkit-appearance: none; }

.pfp-search-clear[b-ewfuijq54v] {
    position: absolute;
    right: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--kc-surface-sunken);
    color: var(--kc-text-tertiary);
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.pfp-search-clear:hover[b-ewfuijq54v] {
    background: var(--kc-border-subtle);
    color: var(--kc-text-primary);
}

.pfp-search-clear[b-ewfuijq54v]  .rzi,
.pfp-search-clear[b-ewfuijq54v]  .notranslate {
    font-size: 14px;
    line-height: 1;
}

/* ── Obsah (grid) ───────────────────────────────────────── */
.pfp-content[b-ewfuijq54v] {
    flex: 1 1 auto;
    padding: 1rem 1.75rem 2rem;
}

.pfp-grid[b-ewfuijq54v] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

/* ── Loading skeleton ───────────────────────────────────── */
.pfp-grid-skeleton[b-ewfuijq54v] {
    pointer-events: none;
}

.pfp-skeleton-card[b-ewfuijq54v] {
    display: flex;
    flex-direction: row;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--kc-shadow-xs);
    animation: pfp-skeleton-fade-b-ewfuijq54v 1.4s ease-in-out infinite;
}

.pfp-skeleton-card:nth-child(2)[b-ewfuijq54v] { animation-delay: 0.12s; }
.pfp-skeleton-card:nth-child(3)[b-ewfuijq54v] { animation-delay: 0.24s; }

@keyframes pfp-skeleton-fade-b-ewfuijq54v {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.55; }
}

.pfp-skeleton-stripe[b-ewfuijq54v] {
    width: 4px;
    flex-shrink: 0;
    background: var(--kc-border-subtle);
}

.pfp-skeleton-body[b-ewfuijq54v] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    flex: 1;
}

.pfp-skeleton-icon[b-ewfuijq54v] {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: var(--kc-surface-sunken);
}

.pfp-skeleton-line[b-ewfuijq54v] {
    border-radius: 6px;
    background: var(--kc-surface-sunken);
}

.pfp-skeleton-name[b-ewfuijq54v] {
    height: 16px;
    width: 60%;
}

/* ── Empty state ────────────────────────────────────────── */
.pfp-empty[b-ewfuijq54v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 4rem 2rem;
    text-align: center;
    animation: pfp-empty-enter-b-ewfuijq54v 300ms var(--kc-ease-out) both;
}

@keyframes pfp-empty-enter-b-ewfuijq54v {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.pfp-empty-icon[b-ewfuijq54v] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--kc-surface-sunken);
    color: var(--kc-text-tertiary);
    margin-bottom: 0.5rem;
}

.pfp-empty-icon[b-ewfuijq54v]  .rzi,
.pfp-empty-icon[b-ewfuijq54v]  .notranslate {
    font-size: 32px;
    line-height: 1;
}

.pfp-empty-title[b-ewfuijq54v] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--kc-text-primary);
}

.pfp-empty-hint[b-ewfuijq54v] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--kc-text-secondary);
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 640px) {
    .pfp-header[b-ewfuijq54v] {
        padding: 1rem 1rem 0.5rem;
        gap: 0.75rem;
    }

    .pfp-content[b-ewfuijq54v] {
        padding: 0.75rem 1rem 1.5rem;
    }

    .pfp-search-wrap[b-ewfuijq54v] {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .pfp-grid[b-ewfuijq54v] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/ProcessPage.razor.rz.scp.css */
/* ProcessPage — "Refined Clarity" per notes/ux/DESIGN.md §4.5
 * Tokens inlined until wwwroot/css/design-tokens.css lands. */

.pp-shell[b-tuo6s932ej] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    background: var(--kc-surface);
}

.pp-header[b-tuo6s932ej] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.5rem;
    min-height: 56px;
    padding: 0 1.5rem;
    background: var(--kc-surface-raised);
    border-bottom: 1px solid var(--kc-border-subtle);
    box-shadow: var(--kc-shadow-xs);
    z-index: 2;
}

/* ── Tabs — pill group ────────────────────────────────── */
.pp-tabs[b-tuo6s932ej] {
    display: inline-flex;
    gap: 0.25rem;
    padding: 0.25rem;
    background: var(--kc-surface-sunken);
    border-radius: 9999px;
}

.pp-tab[b-tuo6s932ej] {
    appearance: none;
    padding: 0.45rem 1rem;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-secondary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0;
    text-decoration: none;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
    white-space: nowrap;
}

.pp-tab:hover[b-tuo6s932ej] {
    color: var(--kc-text-primary);
}

.pp-tab.active[b-tuo6s932ej] {
    background: var(--kc-brand-blue);
    color: var(--kc-text-inverse);
    box-shadow: var(--kc-shadow-sm);
}

.pp-tab:focus-visible[b-tuo6s932ej] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

/* ── Title / inline edit ──────────────────────────────── */
.pp-title[b-tuo6s932ej] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    justify-self: center;
}

.pp-title-text[b-tuo6s932ej] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--kc-text-primary);
    letter-spacing: -0.01em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pp-title-input[b-tuo6s932ej]  input {
    height: 36px;
    min-width: 18rem;
    padding: 0.25rem 0.75rem;
    border: 1px solid var(--kc-border-medium);
    border-radius: 8px;
    background: var(--kc-surface-raised);
    font-size: 1rem;
    font-weight: 500;
    color: var(--kc-text-primary);
    transition: border-color 120ms, box-shadow 120ms;
}

.pp-title-input[b-tuo6s932ej]  input:focus {
    outline: none;
    border-color: var(--kc-brand-blue);
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

/* ── Floating toolbar ─────────────────────────────────── */
.pp-toolbar[b-tuo6s932ej] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 9999px;
    box-shadow: var(--kc-shadow-float);
    justify-self: end;
}

.pp-toolbar-divider[b-tuo6s932ej] {
    width: 1px;
    height: 20px;
    background: var(--kc-border-subtle);
    margin: 0 0.25rem;
}

/* ── Icon button ──────────────────────────────────────── */
.pp-icon-btn[b-tuo6s932ej] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.pp-icon-btn:hover:not(:disabled)[b-tuo6s932ej] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.pp-icon-btn:focus-visible[b-tuo6s932ej] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.pp-icon-btn:disabled[b-tuo6s932ej] {
    opacity: 0.4;
    cursor: not-allowed;
}

.pp-icon-btn.primary[b-tuo6s932ej] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
}

.pp-icon-btn.primary:hover:not(:disabled)[b-tuo6s932ej] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.pp-icon-btn.danger[b-tuo6s932ej] {
    color: var(--kc-danger);
}

.pp-icon-btn.danger:hover:not(:disabled)[b-tuo6s932ej] {
    background: var(--kc-danger-light);
    color: var(--kc-danger);
}

.pp-icon-btn[b-tuo6s932ej]  .rzi,
.pp-icon-btn[b-tuo6s932ej]  .notranslate {
    font-size: 20px;
    line-height: 1;
}

/* ── Text + icon button (primary publish) ─────────────── */
.pp-btn[b-tuo6s932ej] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 36px;
    padding: 0 0.875rem;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.pp-btn.primary[b-tuo6s932ej] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}

.pp-btn.primary:hover:not(:disabled)[b-tuo6s932ej] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.pp-btn:disabled[b-tuo6s932ej] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.pp-btn[b-tuo6s932ej]  .rzi,
.pp-btn[b-tuo6s932ej]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Version badge ───────────────────────────────────── */
.pp-version-badge[b-tuo6s932ej] {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 0.625rem;
    margin: 0 0.25rem 0 0.25rem;
    border-radius: 9999px;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
}

.pp-version-badge.wip[b-tuo6s932ej] {
    background: var(--kc-warning-light);
    color: #92400E;
}

.pp-version-badge.published[b-tuo6s932ej] {
    background: var(--kc-success-light);
    color: #14532D;
}

/* ── Content ──────────────────────────────────────────── */
.pp-content[b-tuo6s932ej] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.pp-unauthorized[b-tuo6s932ej] {
    padding: 1.5rem;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1280px) {
    .pp-header[b-tuo6s932ej] {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "tabs toolbar"
            "title title";
        row-gap: 0.5rem;
        padding: 0.5rem 1.5rem;
    }

    .pp-tabs[b-tuo6s932ej] { grid-area: tabs; }
    .pp-toolbar[b-tuo6s932ej] { grid-area: toolbar; }
    .pp-title[b-tuo6s932ej] { grid-area: title; justify-self: start; }
}

@media (max-width: 768px) {
    .pp-header[b-tuo6s932ej] {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "tabs"
            "toolbar";
        padding: 0.75rem 1rem;
    }

    .pp-toolbar[b-tuo6s932ej] {
        overflow-x: auto;
        max-width: 100%;
    }
}
/* /Pages/RequestResetPasswordPage.razor.rz.scp.css */
/* RequestResetPasswordPage — per DESIGN.md §4.3.
 * Tokens inlined (same convention as MainLayout.razor.css). */

.status-title[b-36jpqnmg39] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1B2332;
    text-align: center;
    margin: 0 0 0.75rem;
}

.status-title--error[b-36jpqnmg39] {
    color: #DC2626;
}

.status-body[b-36jpqnmg39] {
    font-size: 0.875rem;
    color: #5D6B82;
    text-align: center;
    margin: 0 0 2rem;
    line-height: 1.5;
}

.status-link[b-36jpqnmg39] {
    display: block;
    text-align: center;
    font-size: 0.875rem;
    font-weight: 500;
    color: #002E58;
    text-decoration: none;
}

.status-link:hover[b-36jpqnmg39] {
    text-decoration: underline;
}
/* /Pages/ResetPasswordPage.razor.rz.scp.css */
/* ResetPasswordPage — per DESIGN.md §4.3.
 * Tokens inlined (same convention as MainLayout.razor.css). */

.reset-title[b-g1qlgvm1xt] {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #1B2332;
    margin: 0 0 0.375rem;
    text-align: center;
}

.reset-hint[b-g1qlgvm1xt] {
    font-size: 0.75rem;
    color: #5D6B82;
    margin: 0 0 2rem;
    text-align: center;
}

.reset-form[b-g1qlgvm1xt] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.reset-field[b-g1qlgvm1xt] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    position: relative;
}

.reset-field[b-g1qlgvm1xt]  label,
.reset-field[b-g1qlgvm1xt]  .rz-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: #5D6B82;
}

.reset-field[b-g1qlgvm1xt]  .rz-textbox,
.reset-field[b-g1qlgvm1xt]  input {
    height: 44px;
    border: 1px solid #CDD5DF;
    border-radius: 8px;
    font-size: 0.875rem;
    padding: 0 0.875rem;
    width: 100%;
    background: #FFFFFF;
    box-sizing: border-box;
}

.reset-field[b-g1qlgvm1xt]  .rz-textbox:focus,
.reset-field[b-g1qlgvm1xt]  input:focus {
    outline: none;
    border-color: #002E58;
    box-shadow: 0 0 0 3px rgba(0, 46, 88, 0.1);
}

.reset-field[b-g1qlgvm1xt]  .rz-message {
    font-size: 0.6875rem;
    color: #DC2626;
    margin-top: 4px;
    position: static;
}

.reset-submit[b-g1qlgvm1xt]  .rz-button {
    width: 100% !important;
    height: 44px !important;
    border-radius: 9999px !important;
    background: #FFBF48 !important;
    color: #1B2332 !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    border: none !important;
    box-shadow: 0 1px 2px rgba(27, 35, 50, 0.04) !important;
    transition: all 120ms cubic-bezier(0.16, 1, 0.3, 1);
    gap: 0.5rem;
}

.reset-submit[b-g1qlgvm1xt]  .rz-button:hover {
    background: #F0B030 !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(255, 191, 72, 0.4) !important;
}

.reset-submit[b-g1qlgvm1xt]  .rz-button:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(27, 35, 50, 0.04) !important;
}

.reset-submit[b-g1qlgvm1xt]  .rz-button:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 191, 72, 0.25) !important;
}
/* /Pages/UserPage.razor.rz.scp.css */
/* UserPage — "Refined Clarity" per notes/ux/DESIGN.md §4.5
 * Tokens inlined until wwwroot/css/design-tokens.css lands. */

.up-shell[b-4ju5qprabt] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    background: var(--kc-surface);
}

/* ── Header ──────────────────────────────────────────── */
.up-header[b-4ju5qprabt] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 1.5rem;
    min-height: 56px;
    padding: 0 1.5rem;
    background: var(--kc-surface-raised);
    border-bottom: 1px solid var(--kc-border-subtle);
    box-shadow: var(--kc-shadow-xs);
    z-index: 2;
}

/* ── Title ───────────────────────────────────────────── */
.up-title[b-4ju5qprabt] {
    display: flex;
    align-items: center;
}

.up-title-text[b-4ju5qprabt] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--kc-text-primary);
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Toolbar ──────────────────────────────────────────── */
.up-toolbar[b-4ju5qprabt] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 9999px;
    box-shadow: var(--kc-shadow-float);
    justify-self: end;
}

/* ── Text + icon button ───────────────────────────────── */
.up-btn[b-4ju5qprabt] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 36px;
    padding: 0 0.875rem;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.up-btn.primary[b-4ju5qprabt] {
    background: var(--kc-brand-gold);
    color: var(--kc-text-primary);
    box-shadow: var(--kc-shadow-xs);
}

.up-btn.primary:hover:not(:disabled)[b-4ju5qprabt] {
    background: var(--kc-brand-gold-hover);
    transform: translateY(-1px);
    box-shadow: var(--kc-shadow-sm);
}

.up-btn:disabled[b-4ju5qprabt] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.up-btn[b-4ju5qprabt]  .rzi,
.up-btn[b-4ju5qprabt]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* ── Icon button ──────────────────────────────────────── */
.up-icon-btn[b-4ju5qprabt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    transition: all 120ms var(--kc-ease-out);
}

.up-icon-btn:hover:not(:disabled)[b-4ju5qprabt] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
}

.up-icon-btn:focus-visible[b-4ju5qprabt] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.up-icon-btn:disabled[b-4ju5qprabt] {
    opacity: 0.4;
    cursor: not-allowed;
}

.up-icon-btn[b-4ju5qprabt]  .rzi,
.up-icon-btn[b-4ju5qprabt]  .notranslate {
    font-size: 20px;
    line-height: 1;
}

/* ── Content area ─────────────────────────────────────── */
.up-content[b-4ju5qprabt] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 0 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
}

/* Users grid fills the available space; the pending-invitations section sits below it. */
.up-grid[b-4ju5qprabt] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* ── Pending invitations ──────────────────────────────── */
.up-invitations[b-4ju5qprabt] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 40%;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--kc-border-subtle);
    overflow: auto;
}

.up-subtitle[b-4ju5qprabt] {
    margin: 0 0 0.625rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--kc-text-secondary);
    letter-spacing: -0.01em;
}

/* ── Row action buttons (edit/delete in frozen column) ── */
.up-row-action[b-4ju5qprabt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--kc-text-secondary);
    cursor: pointer;
    opacity: 0.35;
    transition: opacity 120ms var(--kc-ease-out), background 120ms var(--kc-ease-out), color 120ms var(--kc-ease-out);
}

.up-row-action:hover:not(:disabled)[b-4ju5qprabt] {
    background: var(--kc-surface-sunken);
    color: var(--kc-text-primary);
    opacity: 1;
}

.up-row-action:disabled[b-4ju5qprabt] {
    opacity: 0.2;
    cursor: not-allowed;
}

.up-row-action.danger:hover:not(:disabled)[b-4ju5qprabt] {
    background: var(--kc-danger-light);
    color: var(--kc-danger);
}

.up-row-action[b-4ju5qprabt]  .rzi,
.up-row-action[b-4ju5qprabt]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

[b-4ju5qprabt] .rz-data-grid tbody tr.rz-data-row:hover .up-row-action {
    opacity: 1;
}

[b-4ju5qprabt] tr.rz-data-row-edit .up-row-action {
    opacity: 1;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 768px) {
    .up-header[b-4ju5qprabt] {
        padding: 0.75rem 1rem;
    }

    .up-content[b-4ju5qprabt] {
        padding: 0 1rem 1rem;
    }
}
/* /Shared/MainLayout.razor.rz.scp.css */
/* MainLayout — "Refined Clarity" shell per notes/ux/DESIGN.md §4.1
 * Top-nav layout: NavMenu renders a 56px top bar, main content fills below. */

.kc-shell[b-nx2ysm7i85] {
    --kc-surface: #F7F8FA;
    --kc-surface-raised: #FFFFFF;
    --kc-border-subtle: #E4E7EC;
    --kc-shadow-xs: 0 1px 2px rgba(27, 35, 50, 0.04);

    display: flex;
    flex-direction: column;
    /* `height: 100vh` (not min-height) gives descendants a definite height
     * so children with `height: 100%` — e.g. the Diagram canvas — resolve.
     * The topbar is 56px and .kc-content takes the remaining flex space;
     * inner panels handle their own scrolling via overflow: auto. */
    height: 100vh;
    background: var(--kc-surface);
}

.kc-content[b-nx2ysm7i85] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    /* Prevent DataGrid pre-init overflow from reaching <body> and triggering
     * a 17px viewport-width scrollbar that shifts the topbar layout. */
    overflow: hidden;
}
/* /Shared/NavMenu.razor.rz.scp.css */
/* NavMenu — horizontal top-bar per notes/ux/DESIGN.md §4.1-4.2
 * Logo + primary nav (left) + chrome (right). Tokens inlined until design-tokens.css lands. */

.kc-topbar[b-sjxvk1eohn] {
    position: sticky;
    top: 0;
    z-index: 10;

    display: flex;
    align-items: center;
    gap: 1.25rem;
    height: 56px;
    flex-shrink: 0;
    padding: 0 1.25rem;
    background: var(--kc-surface-raised);
    border-bottom: 1px solid var(--kc-border-subtle);
    box-shadow: var(--kc-shadow-xs);
}

/* ── Logo ─────────────────────────────────────────────── */
.kc-logo[b-sjxvk1eohn] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 0.25rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background 120ms var(--kc-ease-out);
}

.kc-logo:hover[b-sjxvk1eohn] { background: var(--kc-surface-sunken); }
.kc-logo:focus-visible[b-sjxvk1eohn] { outline: none; box-shadow: var(--kc-shadow-glow); }

.kc-logo > img[b-sjxvk1eohn] {
    height: 28px;
    width: auto;
    display: block;
}

/* ── Primary nav ──────────────────────────────────────── */
.kc-nav[b-sjxvk1eohn] {
    display: flex;
    align-items: center;
    gap: 0.125rem;
    flex: 1 1 auto;
    min-width: 0;
}

.kc-nav-link[b-sjxvk1eohn] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 40px;
    padding: 0 0.75rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--kc-text-secondary);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: color 120ms var(--kc-ease-out), background 120ms var(--kc-ease-out);
    white-space: nowrap;
}

.kc-nav-link[b-sjxvk1eohn]::before {
    content: "";
    position: absolute;
    left: 0.75rem;
    right: 0.75rem;
    bottom: -9px;
    height: 2px;
    border-radius: 2px 2px 0 0;
    background: var(--kc-brand-blue);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 200ms var(--kc-ease-out);
}

.kc-nav-link:hover[b-sjxvk1eohn] {
    color: var(--kc-text-primary);
    background: var(--kc-surface-sunken);
}

.kc-nav-link:hover[b-sjxvk1eohn]::before {
    transform: scaleX(1);
}

.kc-nav-link.active[b-sjxvk1eohn] {
    color: var(--kc-brand-blue);
    font-weight: 600;
}

.kc-nav-link.active[b-sjxvk1eohn]::before {
    transform: scaleX(1);
}

.kc-nav-link:focus-visible[b-sjxvk1eohn] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.kc-nav-link[b-sjxvk1eohn]  .rzi,
.kc-nav-link[b-sjxvk1eohn]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

/* The second (caret) icon in a dropdown trigger — RadzenIcon's custom class
 * is not forwarded, so target by position among direct child icons. */
.kc-nav-trigger[b-sjxvk1eohn]  > .rzi ~ .rzi,
.kc-nav-trigger[b-sjxvk1eohn]  > .notranslate ~ .notranslate {
    font-size: 16px;
    opacity: 0.7;
    transition: transform 150ms var(--kc-ease-out);
}

/* ── Dropdown ─────────────────────────────────────────── */
.kc-nav-dropdown[b-sjxvk1eohn] {
    position: relative;
}

.kc-nav-dropdown.active > .kc-nav-trigger[b-sjxvk1eohn] {
    color: var(--kc-brand-blue);
    font-weight: 600;
}

.kc-nav-dropdown > .kc-nav-trigger[b-sjxvk1eohn]::before {
    content: "";
    position: absolute;
    left: 0.75rem;
    right: 0.75rem;
    bottom: -9px;
    height: 2px;
    border-radius: 2px 2px 0 0;
    background: var(--kc-brand-blue);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 200ms var(--kc-ease-out);
}

.kc-nav-dropdown:hover > .kc-nav-trigger[b-sjxvk1eohn]::before {
    transform: scaleX(1);
}

.kc-nav-dropdown.active > .kc-nav-trigger[b-sjxvk1eohn]::before {
    transform: scaleX(1);
}

.kc-nav-panel[b-sjxvk1eohn] {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    max-height: calc(100vh - 80px);
    overflow-y: auto;

    display: flex;
    flex-direction: column;
    padding: 0.375rem;
    background: var(--kc-surface-raised);
    border: 1px solid var(--kc-border-subtle);
    border-radius: 12px;
    box-shadow: var(--kc-shadow-float);

    opacity: 0;
    transform: translateY(-4px);
    pointer-events: none;
    transition: opacity 150ms var(--kc-ease-out), transform 150ms var(--kc-ease-out);
    z-index: 20;
}

/* Scrollbar — match the diagram node/parts panel for visual consistency. */
.kc-nav-panel[b-sjxvk1eohn]::-webkit-scrollbar {
    width: 4px;
}

.kc-nav-panel[b-sjxvk1eohn]::-webkit-scrollbar-track {
    background: transparent;
}

.kc-nav-panel[b-sjxvk1eohn]::-webkit-scrollbar-thumb {
    background: #CDD5DF;
    border-radius: 9999px;
}

.kc-nav-panel-right[b-sjxvk1eohn] {
    left: auto;
    right: 0;
}

.kc-nav-dropdown:hover > .kc-nav-panel[b-sjxvk1eohn],
.kc-nav-dropdown:focus-within > .kc-nav-panel[b-sjxvk1eohn],
.kc-nav-dropdown:hover > .kc-nav-trigger + .kc-nav-panel[b-sjxvk1eohn],
.kc-nav-dropdown:hover > .kc-profile-trigger + .kc-nav-panel[b-sjxvk1eohn] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Skryje panel při programatickém zavření (klik na trigger) — přepíše :hover. */
.kc-nav-dropdown--closed > .kc-nav-panel[b-sjxvk1eohn] {
    opacity: 0 !important;
    transform: translateY(-4px) !important;
    pointer-events: none !important;
}

.kc-nav-dropdown:hover > .kc-nav-trigger[b-sjxvk1eohn]  > .rzi ~ .rzi,
.kc-nav-dropdown:focus-within > .kc-nav-trigger[b-sjxvk1eohn]  > .rzi ~ .rzi,
.kc-nav-dropdown:hover > .kc-nav-trigger[b-sjxvk1eohn]  > .notranslate ~ .notranslate,
.kc-nav-dropdown:focus-within > .kc-nav-trigger[b-sjxvk1eohn]  > .notranslate ~ .notranslate,
.kc-nav-dropdown:hover > .kc-profile-trigger[b-sjxvk1eohn]  > .rzi ~ .rzi,
.kc-nav-dropdown:hover > .kc-profile-trigger[b-sjxvk1eohn]  > .notranslate ~ .notranslate {
    transform: rotate(180deg);
}

/* Close-on-click is handled by blazor-interop.js via inline styles on the
 * panel — no CSS class hook is needed. See that file for rationale. */

.kc-nav-panel-item[b-sjxvk1eohn] {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background 120ms var(--kc-ease-out), color 120ms var(--kc-ease-out);
    white-space: nowrap;
}

.kc-nav-panel-item:hover[b-sjxvk1eohn] {
    background: var(--kc-surface-sunken);
}

.kc-nav-panel-item:focus-visible[b-sjxvk1eohn] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.kc-nav-panel-item.create[b-sjxvk1eohn] {
    color: var(--kc-brand-blue);
    font-weight: 600;
}

.kc-nav-panel-item[b-sjxvk1eohn]  .rzi,
.kc-nav-panel-item[b-sjxvk1eohn]  .notranslate {
    font-size: 18px;
    line-height: 1;
}

.kc-nav-panel-separator[b-sjxvk1eohn] {
    height: 1px;
    margin: 0.25rem 0.5rem;
    background: var(--kc-border-subtle);
}

.kc-nav-panel-footer[b-sjxvk1eohn] {
    display: flex;
    flex-direction: column;
    padding: 0.375rem 0.75rem 0.5rem;
    font-size: 0.6875rem;
    color: var(--kc-text-secondary);
    user-select: none;
}

/* ── Right-side actions (SignalR / Culture / Profile) ── */
.kc-topbar-actions[b-sjxvk1eohn] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
}

/* ── Profile dropdown ─────────────────────────────────── */
.kc-profile-trigger[b-sjxvk1eohn] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    height: 40px;
    padding: 0 0.5rem 0 0.375rem;
    border: none;
    border-radius: 9999px;
    background: transparent;
    color: var(--kc-text-primary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 120ms var(--kc-ease-out);
    white-space: nowrap;
}

.kc-profile-trigger:hover[b-sjxvk1eohn] {
    background: var(--kc-surface-sunken);
}

.kc-profile-trigger:focus-visible[b-sjxvk1eohn] {
    outline: none;
    box-shadow: var(--kc-shadow-glow);
}

.kc-profile-trigger[b-sjxvk1eohn]  .rzi,
.kc-profile-trigger[b-sjxvk1eohn]  .notranslate {
    line-height: 1;
    color: var(--kc-text-secondary);
}

.kc-profile-trigger[b-sjxvk1eohn]  > .rzi:first-of-type,
.kc-profile-trigger[b-sjxvk1eohn]  > .notranslate:first-of-type {
    font-size: 28px;
}

.kc-profile-trigger[b-sjxvk1eohn]  > .rzi:last-of-type,
.kc-profile-trigger[b-sjxvk1eohn]  > .notranslate:last-of-type {
    font-size: 16px;
    opacity: 0.8;
    transition: transform 150ms var(--kc-ease-out);
}

.kc-profile-text[b-sjxvk1eohn] {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    text-align: left;
}

.kc-profile-name[b-sjxvk1eohn] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--kc-text-primary);
}

.kc-profile-tenant[b-sjxvk1eohn] {
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--kc-text-secondary);
}

/* ── Flag in profile trigger + culture items in profile panel ── */
.kc-profile-flag[b-sjxvk1eohn] {
    width: 18px;
    height: auto;
    display: block;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(27, 35, 50, 0.08);
    flex-shrink: 0;
}

.kc-nav-panel-item-culture[b-sjxvk1eohn] {
    justify-content: flex-start;
}

.kc-nav-panel-item-culture.active[b-sjxvk1eohn] {
    color: var(--kc-brand-blue);
    font-weight: 600;
}

.kc-panel-flag[b-sjxvk1eohn] {
    width: 20px;
    height: auto;
    display: block;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(27, 35, 50, 0.08);
    flex-shrink: 0;
}

/* The check icon is the only .rzi inside a culture item (flag is an <img>),
 * so a bare descendant selector hits it without a custom class. */
.kc-nav-panel-item-culture[b-sjxvk1eohn]  .rzi,
.kc-nav-panel-item-culture[b-sjxvk1eohn]  .notranslate {
    margin-left: auto;
    color: var(--kc-brand-blue);
    font-size: 18px;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1280px) {
    .kc-profile-tenant[b-sjxvk1eohn] { display: none; }
}

@media (max-width: 1024px) {
    .kc-nav-link span[b-sjxvk1eohn] {
        /* keep icons only, hide labels to save space */
        display: none;
    }
    .kc-nav-link[b-sjxvk1eohn] {
        padding: 0 0.5rem;
    }
    .kc-nav-trigger[b-sjxvk1eohn]  > .rzi ~ .rzi,
    .kc-nav-trigger[b-sjxvk1eohn]  > .notranslate ~ .notranslate {
        display: none;
    }
    .kc-profile-text[b-sjxvk1eohn] { display: none; }
    .kc-profile-trigger[b-sjxvk1eohn]  > .rzi ~ .rzi,
    .kc-profile-trigger[b-sjxvk1eohn]  > .notranslate ~ .notranslate {
        display: none;
    }
}

@media (max-width: 768px) {
    .kc-topbar[b-sjxvk1eohn] {
        gap: 0.5rem;
        padding: 0 0.75rem;
    }
}
