/* APX Support — Theme-Overrides auf dem Lumo-Base */

html {
    /* Primärfarbe: ruhiges, modernes Blau */
    --lumo-primary-color:        hsl(214, 90%, 52%);
    --lumo-primary-text-color:   hsl(214, 90%, 44%);
    --lumo-primary-color-50pct:  hsla(214, 90%, 52%, 0.5);
    --lumo-primary-color-10pct:  hsla(214, 90%, 52%, 0.1);

    /* Weichere Radien, mehr Luft */
    --lumo-border-radius-s:      6px;
    --lumo-border-radius-m:      10px;
    --lumo-border-radius-l:      14px;
    --lumo-size-m:               2.5rem;

    /* Systemfont-Stack für klares, modernes Schriftbild */
    --lumo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter",
                         "Helvetica Neue", Arial, sans-serif;
}

/* ---- App-Shell ---------------------------------------------------------- */

vaadin-app-layout::part(navbar) {
    box-shadow: var(--lumo-box-shadow-xs);
    background: var(--lumo-base-color);
    padding-inline: var(--lumo-space-m);
}

vaadin-app-layout::part(drawer) {
    background: var(--lumo-contrast-5pct);
}

.app-logo {
    height: 2rem;
    width: auto;
    display: block;
}

.app-title {
    font-size: var(--lumo-font-size-l);
    font-weight: 600;
    margin: 0;
    line-height: 1;
    letter-spacing: -0.01em;
}

/* Logo + Titel im Drawer-Header */
.app-drawer-brand {
    padding: var(--lumo-space-m) var(--lumo-space-m) var(--lumo-space-s);
    border-bottom: 1px solid var(--lumo-contrast-10pct);
    margin-bottom: var(--lumo-space-s);
    width: 100%;
}

.app-nav-right {
    gap: var(--lumo-space-s);
    align-items: center;
}

.app-nav-right .app-user-name {
    /* Auf schmalen Screens den Namen ausblenden, Button bleibt */
    display: inline;
}
@media (max-width: 480px) {
    .app-nav-right .app-user-name { display: none; }
}

.app-user-name {
    color: var(--lumo-secondary-text-color);
    font-size: var(--lumo-font-size-s);
}

/* ---- Login-Karte -------------------------------------------------------- */

.auth-screen {
    background: linear-gradient(135deg,
                                var(--lumo-primary-color-10pct),
                                var(--lumo-contrast-5pct));
    min-height: 100vh;
}

.auth-card {
    background: var(--lumo-base-color);
    border-radius: var(--lumo-border-radius-l);
    padding: 2.5rem;
    box-shadow: 0 10px 40px -10px hsla(214, 50%, 20%, 0.15);
    width: min(26rem, 92vw);
}

.auth-card .app-logo {
    height: 3rem;
    margin: 0 auto 1.25rem;
}

.auth-card h1 {
    font-size: var(--lumo-font-size-xl);
    margin: 0 0 0.25rem;
    text-align: center;
}

.auth-card p {
    color: var(--lumo-secondary-text-color);
    text-align: center;
    margin: 0 0 1.5rem;
}

/* ---- Content-Wrapper ---------------------------------------------------- */

.view-content {
    padding: var(--lumo-space-l);
    max-width: 72rem;
    margin: 0 auto;
    width: 100%;
}

/* Full-width variant for dense table views (test plan, agent queue). */
.view-content-wide {
    padding: var(--lumo-space-l);
    width: 100%;
    box-sizing: border-box;
}

/* ---- Grid: SLA-Hervorhebung in der Agent-Queue -------------------------- */

vaadin-grid[part~="sla-breached"],
vaadin-grid::part(sla-breached) {
    background: hsla(0, 80%, 50%, 0.08);
}
vaadin-grid::part(sla-urgent) {
    background: hsla(30, 100%, 50%, 0.10);
}
vaadin-grid::part(sla-warning) {
    background: hsla(50, 100%, 50%, 0.08);
}
