/* ═══════════════════════════════════════════════════════════
   LamaID Design System
   Fonts: "Outfit" (UI) + "JetBrains Mono" (IDs/codes)
   Theme: Weiß + Hellblau/Türkis — klar & modern
   ═══════════════════════════════════════════════════════════ */

/* ─── RESET & TOKENS ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    /* Brand – helles Theme */
    --bg:           #f0f4f8;
    --surface:      #ffffff;
    --surface-2:    #f7fafc;
    --border:       #dde5ee;
    --border-dark:  #c4d1e0;

    --text:         #1a2b3c;
    --text-mid:     #4a6074;
    --text-muted:   #4a6a82;

    --accent:       #0680a1;
    --accent-dark:  #0886a8;
    --accent-light: #e0f5fb;
    --accent-mid:   #9ad8ef;

    /* Semantic */
    --success-bg:  #ecfdf5;  --success-fg: #16a34a; --success-bdr: #a7f3d0;
    --warning-bg:  #fffbeb;  --warning-fg: #d97706; --warning-bdr: #fde68a;
    --error-bg:    #fef2f2;  --error-fg:   #dc2626; --error-bdr:   #fecaca;
    --info-bg:     #eff6ff;  --info-fg:    #2563eb; --info-bdr:    #bfdbfe;

    /* Type */
    --font-ui:   'Outfit', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

    /* Radien */
    --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 22px;

    --ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ─── BASE ─── */
html { font-size: 16px; scroll-behavior: smooth; }

body {
    font-family: var(--font-ui);
    background-color: var(--bg);
    color: var(--text);
    min-height: 100vh;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    letter-spacing: 0;   /* globales Reset – verhindert auseinandergezogene Texte */
}

.hidden { display: none !important; }

/* ─── LOADER ─── */
.lid-loader {
    /* position:absolute statt fixed – WCAG 1.4.10 Reflow */
    /* body muss position:relative haben (siehe unten) */
    position: absolute; inset: 0; z-index: 9999;
    min-height: 100%;
    background: rgba(240, 244, 248, 0.88);
    backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
}

.lid-loader__box {
    display: flex; flex-direction: column; align-items: center; gap: 16px;
    padding: 38px 48px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    box-shadow: 0 20px 60px rgba(14,165,201,0.1), 0 4px 16px rgba(0,0,0,0.07);
    min-width: 220px;
}

.lid-loader__spinner {
    width: 32px; height: 32px;
    color: var(--accent);
    animation: lid-spin 1.2s linear infinite;
}

@keyframes lid-spin { to { transform: rotate(360deg); } }

.lid-loader__track {
    width: 160px; height: 3px;
    background: var(--border);
    border-radius: 99px; overflow: hidden;
}

.lid-loader__bar {
    height: 100%; width: 0%;
    background: linear-gradient(90deg, var(--accent-dark), var(--accent));
    border-radius: 99px;
    transition: width 0.4s var(--ease);
}

.lid-loader__label {
    font-size: 0.85rem;
    color: var(--text-mid);
    letter-spacing: 0;
}

/* ─── HEADER ─── */
.lid-header {
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    padding: 0 24px; height: 60px;
    position: sticky; top: 0; z-index: 100;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}

.lid-header__inner {
    max-width: 900px; margin: 0 auto; height: 100%;
    display: flex; align-items: center; justify-content: space-between;
}

.lid-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.lid-logo__img { height: 32px; width: auto; display: block; }

.lid-logo__mark {
    font-family: var(--font-mono);
    font-size: 0.72rem; font-weight: 700;
    letter-spacing: 0.1em;
    background: var(--accent); color: #fff;
    padding: 5px 9px; border-radius: var(--r-sm); line-height: 1;
}

.lid-logo__name {
    font-weight: 700; font-size: 1.1rem;
    color: var(--text); letter-spacing: -0.01em;
}

.lid-user-chip {
    display: flex; align-items: center; gap: 8px;
    font-size: 0.85rem; color: var(--text-mid); letter-spacing: 0;
    background: var(--accent-light); border: 1px solid var(--accent-mid);
    padding: 5px 12px; border-radius: 99px;
}

.lid-user-chip__dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--success-fg);
    box-shadow: 0 0 5px rgba(22,163,74,0.4);
    flex-shrink: 0;
}

/* ─── MAIN LAYOUT ─── */
.lid-main {
    display: flex; align-items: flex-start; justify-content: center;
    min-height: calc(100vh - 60px - 52px);
    padding: 40px 16px 60px;
}
.lid-main--center { align-items: center; }

/* ─── CARD ─── */
.lid-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: 40px; width: 100%; max-width: 460px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
}
.lid-card--wide     { max-width: 640px; }
.lid-card--centered { text-align: center; display: flex; flex-direction: column; align-items: center; }

.lid-card__eyebrow {
    font-family: var(--font-mono);
    font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--accent); margin-bottom: 8px;
}

.lid-card__title {
    font-size: 1.7rem; font-weight: 700;
    color: var(--text); line-height: 1.2;
    margin-bottom: 10px; letter-spacing: -0.02em;
}

.lid-card__sub {
    font-size: 0.9rem; color: var(--text-mid);
    margin-bottom: 28px; line-height: 1.65; letter-spacing: 0;
}

/* ─── ANIMATION ─── */
@keyframes lid-slide-up {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}
.lid-animate-in { animation: lid-slide-up 0.35s var(--ease) both; }

/* ─── FORM ─── */
.lid-form  { display: flex; flex-direction: column; gap: 18px; }
.lid-field { display: flex; flex-direction: column; gap: 6px; }

.lid-label {
    font-size: 0.78rem; font-weight: 600;
    letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--text-mid);
}
.lid-label--sm { font-size: 0.74rem; margin-bottom: 6px; display: block; letter-spacing: 0.05em; }

.lid-input {
    background: var(--surface-2);
    border: 1px solid var(--border);
    color: var(--text);
    border-radius: var(--r-md);
    padding: 11px 14px;
    font-family: var(--font-ui);
    font-size: 0.95rem; letter-spacing: 0;
    width: 100%;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    outline: none; -webkit-appearance: none; appearance: none;
}
.lid-input:focus {
    background: var(--surface);
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(14,165,201,0.15);
}
.lid-input--sm       { padding: 8px 12px; font-size: 0.85rem; border-radius: var(--r-sm); }
.lid-input--textarea { resize: vertical; min-height: 70px; font-family: var(--font-ui); letter-spacing: 0; }

/* ─── GLOBALE FOCUS-STYLES (Barrierefreiheit) ─── */
:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 3px;
    border-radius: 4px;
}
/* Input hat eigenen Focus-Style */
.lid-input:focus-visible { outline: none; }

/* ─── BUTTONS ─── */
.lid-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 22px; border-radius: var(--r-md);
    font-family: var(--font-ui); font-size: 0.9rem; font-weight: 600;
    letter-spacing: 0; cursor: pointer; border: none;
    transition: all 0.18s var(--ease);
    text-decoration: none; white-space: nowrap;
}

.lid-btn--primary { background: var(--accent); color: #fff; }
.lid-btn--primary:hover {
    background: var(--accent-dark); transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(14,165,201,0.3);
}
.lid-btn--primary:active { transform: translateY(0); box-shadow: none; }

.lid-btn--ghost {
    background: transparent; color: var(--text-muted);
    border: 1px solid var(--border);
}
.lid-btn--ghost:hover { background: var(--surface-2); color: var(--text-mid); border-color: var(--border-dark); }

.lid-btn--outline {
    background: transparent; color: var(--text-mid);
    border: 1px solid var(--border);
}
.lid-btn--outline:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-light); }

.lid-btn--sm { padding: 7px 14px; font-size: 0.82rem; border-radius: var(--r-sm); }

.lid-btn--icon {
    flex-direction: column; gap: 3px; padding: 9px 13px;
    background: var(--surface-2); border: 1px solid var(--border);
    color: var(--text-mid); border-radius: var(--r-sm);
    font-size: 0.68rem; letter-spacing: 0;
}
.lid-btn--icon svg { width: 17px; height: 17px; }
.lid-btn--icon:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-light); }

.lid-btn--approve {
    background: var(--success-bg); color: var(--success-fg);
    border: 1px solid var(--success-bdr);
    padding: 10px 20px; border-radius: var(--r-md);
    font-family: var(--font-ui); font-size: 0.88rem; font-weight: 600; letter-spacing: 0;
    cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: all 0.18s;
}
.lid-btn--approve:hover { background: #d1fae5; box-shadow: 0 2px 10px rgba(22,163,74,0.15); }

.lid-btn--reject {
    background: var(--error-bg); color: var(--error-fg);
    border: 1px solid var(--error-bdr);
    padding: 10px 20px; border-radius: var(--r-md);
    font-family: var(--font-ui); font-size: 0.88rem; font-weight: 600; letter-spacing: 0;
    cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
    transition: all 0.18s; width: 100%; justify-content: center;
}
.lid-btn--reject:hover { background: #fee2e2; }

.lid-btn--danger {
    background: var(--error-bg); color: var(--error-fg);
    border: 1px solid var(--error-bdr);
    padding: 7px 14px; border-radius: var(--r-sm);
    font-family: var(--font-ui); font-size: 0.82rem; font-weight: 600; letter-spacing: 0;
    cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: all 0.18s;
}
.lid-btn--danger:hover { background: #fee2e2; }

/* ─── ALERTS ─── */
.lid-alert {
    padding: 11px 15px; border-radius: var(--r-md);
    font-size: 0.875rem; line-height: 1.5; letter-spacing: 0;
    margin-bottom: 16px; border: 1px solid transparent;
}
.lid-alert--error   { background: var(--error-bg);   color: var(--error-fg);   border-color: var(--error-bdr); }
.lid-alert--warning { background: var(--warning-bg); color: var(--warning-fg); border-color: var(--warning-bdr); }
.lid-alert--success { background: var(--success-bg); color: var(--success-fg); border-color: var(--success-bdr); }
.lid-alert--info    { background: var(--info-bg);    color: var(--info-fg);    border-color: var(--info-bdr); }

/* ─── FILE INPUT ─── */
.lid-file-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 18px;
    background: var(--surface-2); border: 1.5px dashed var(--border-dark);
    border-radius: var(--r-md);
    color: var(--text-mid); font-family: var(--font-ui);
    font-size: 0.88rem; font-weight: 500; letter-spacing: 0;
    cursor: pointer; margin-bottom: 20px;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.lid-file-btn:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-light); }

.lid-file-hidden { position: absolute; width: 1px; height: 1px; clip: rect(0,0,0,0); overflow: hidden; }

/* ─── CROP AREA ─── */
.lid-crop-wrap {
    background: var(--surface-2); border: 1px solid var(--border);
    border-radius: var(--r-lg); overflow: hidden;
    min-height: 320px; display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px; position: relative;
}

.lid-crop-placeholder {
    display: flex; flex-direction: column; align-items: center; gap: 12px;
    color: var(--text-muted); font-size: 0.88rem; letter-spacing: 0;
}

.lid-crop-controls  { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.lid-upload-actions { display: flex; flex-direction: column; gap: 10px; }

/* ─── CROPPER OVERRIDES ─── */
.cropper-view-box, .cropper-face { border-radius: 4px; }
.cropper-line  { background-color: var(--accent); }
.cropper-point { background-color: var(--accent); }

/* ─── SUCCESS RING ─── */
.lid-success-ring {
    width: 76px; height: 76px; border-radius: 50%;
    background: var(--success-bg); border: 2px solid var(--success-bdr);
    display: flex; align-items: center; justify-content: center;
    color: var(--success-fg); margin-bottom: 24px;
    animation: lid-pop 0.4s var(--ease) both;
}
.lid-success-ring svg { width: 34px; height: 34px; }

@keyframes lid-pop {
    0%  { transform: scale(0.6); opacity: 0; }
    70% { transform: scale(1.1); }
    100%{ transform: scale(1);   opacity: 1; }
}

/* ─── STATUS BADGE ─── */
.lid-status-badge {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 5px 14px; border-radius: 99px;
    font-size: 0.82rem; font-weight: 600; letter-spacing: 0;
    margin-bottom: 24px; border: 1px solid transparent;
}
.lid-status-badge--open    { background: var(--info-bg);    color: var(--info-fg);    border-color: var(--info-bdr); }
.lid-status-badge--pending { background: var(--warning-bg); color: var(--warning-fg); border-color: var(--warning-bdr); }
.lid-status-badge--ok      { background: var(--success-bg); color: var(--success-fg); border-color: var(--success-bdr); }
.lid-status-badge--reject  { background: var(--error-bg);   color: var(--error-fg);   border-color: var(--error-bdr); }

/* ─── PORTAL PHOTO ─── */
.lid-portal-photo-wrap { margin-bottom: 24px; }
.lid-portal-photo {
    width: 140px; height: 186px; object-fit: cover;
    border-radius: var(--r-md); border: 2px solid var(--border);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* ─── INFO LIST ─── */
.lid-info-list {
    display: grid; grid-template-columns: auto 1fr;
    gap: 8px 16px; margin-bottom: 28px; width: 100%;
}
.lid-info-list dt {
    font-size: 0.76rem; font-weight: 600;
    letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--text-muted); display: flex; align-items: center;
}
.lid-info-list dd {
    font-size: 0.9rem; color: var(--text);
    font-family: var(--font-mono); letter-spacing: 0;
}
.lid-info-list--sm dt { font-size: 0.72rem; }
.lid-info-list--sm dd { font-size: 0.84rem; }

/* ─── FOOTER ─── */
.lid-footer {
    height: 52px; display: flex; align-items: center; justify-content: center;
    gap: 12px; font-size: 0.78rem; color: var(--text-muted); letter-spacing: 0;
    border-top: 1px solid var(--border);
}
.lid-footer__sep { opacity: 0.35; }

.lid-footer__link {
    background: none; border: none; cursor: pointer;
    font-family: var(--font-ui); font-size: 0.78rem;
    color: var(--text-muted); padding: 0;
    text-decoration: underline; text-decoration-color: transparent;
    text-underline-offset: 2px;
    transition: color 0.15s, text-decoration-color 0.15s;
}
.lid-footer__link:hover {
    color: var(--accent);
    text-decoration-color: var(--accent-mid);
}

/* ─── LEGAL MODAL ─── */
.lid-modal--legal { max-width: 680px; }

.lid-modal__body--legal {
    padding: 24px 26px 28px;
    display: flex;
    flex-direction: column;
    gap: 0;
    color: var(--text-mid);
    font-size: 0.9rem;
    line-height: 1.7;
}

.lid-modal__body--legal h3 {
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text);
    margin-top: 22px;
    margin-bottom: 6px;
}
.lid-modal__body--legal h3:first-child { margin-top: 0; }

.lid-modal__body--legal p { margin-bottom: 6px; }

.lid-modal__body--legal ul {
    padding-left: 20px;
    margin-bottom: 6px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.lid-legal__placeholder-note {
    margin-top: 24px !important;
    padding: 10px 14px;
    background: var(--warning-bg);
    border: 1px solid var(--warning-bdr);
    border-radius: var(--r-md);
    color: var(--warning-fg) !important;
    font-size: 0.8rem !important;
}

/* ════════════════════════════════════════════
   ADMIN SHELL
   ════════════════════════════════════════════ */
.lid-body--admin { overflow: hidden; }

.admin-shell {
    display: grid; grid-template-columns: 240px 1fr;
    height: 100vh; overflow: hidden;
}

/* ─── SIDEBAR ─── */
.admin-sidebar {
    background: var(--surface); border-right: 1px solid var(--border);
    display: flex; flex-direction: column;
    height: 100vh; overflow-y: auto;
    padding: 0 0 16px;
    transition: transform 0.3s var(--ease);
}

.admin-sidebar__logo {
    display: flex; align-items: center; gap: 10px;
    padding: 18px 20px; border-bottom: 1px solid var(--border); margin-bottom: 12px;
}

.admin-nav { display: flex; flex-direction: column; gap: 2px; padding: 0 10px; flex: 1; }

.admin-nav__item {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px;
    border-radius: var(--r-md); font-size: 0.88rem; font-weight: 500; letter-spacing: 0;
    color: var(--text-mid); text-decoration: none; cursor: pointer;
    border: none; background: none; width: 100%; text-align: left;
    transition: background 0.15s, color 0.15s;
}
.admin-nav__item svg { width: 18px; height: 18px; flex-shrink: 0; }
.admin-nav__item:hover { background: var(--accent-light); color: var(--accent-dark); }
.admin-nav__item--active { background: var(--accent-light); color: var(--accent); font-weight: 600; }
.admin-nav__item--logout { color: var(--text-muted); }
.admin-nav__item--logout:hover { color: var(--error-fg); background: var(--error-bg); }

.admin-nav__badge {
    margin-left: auto; background: var(--accent); color: #fff;
    font-size: 0.68rem; font-weight: 700; padding: 2px 7px;
    border-radius: 99px; min-width: 20px; text-align: center;
    font-family: var(--font-mono); letter-spacing: 0;
}

.admin-sidebar__footer {
    padding: 12px 10px 0; margin-top: 8px; border-top: 1px solid var(--border);
}

/* ─── ADMIN CONTENT ─── */
.admin-content {
    display: flex; flex-direction: column;
    height: 100vh; overflow: hidden; background: var(--bg);
}

.admin-topbar {
    height: 58px; border-bottom: 1px solid var(--border);
    display: flex; align-items: center; gap: 16px; padding: 0 24px;
    background: var(--surface); flex-shrink: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.admin-topbar__burger {
    display: none; background: none; border: none;
    color: var(--text-mid); cursor: pointer; padding: 4px;
}
.admin-topbar__burger svg { width: 22px; height: 22px; }

.admin-topbar__title { font-size: 1rem; font-weight: 600; letter-spacing: 0; color: var(--text); flex: 1; }
.admin-topbar__user  { font-size: 0.8rem; color: var(--text-muted); font-family: var(--font-mono); letter-spacing: 0; }

.admin-content__alert { margin: 16px 24px 0; }
.admin-page { flex: 1; overflow-y: auto; padding: 24px; }

/* ─── STATS ─── */
.admin-stats {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 12px; margin-bottom: 20px;
}

.admin-stat {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--r-lg); padding: 16px 20px;
    display: flex; flex-direction: column; gap: 4px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.admin-stat__val {
    font-family: var(--font-mono); font-size: 1.8rem; font-weight: 700;
    color: var(--text); line-height: 1; letter-spacing: -0.02em;
}
.admin-stat__val--yellow { color: var(--warning-fg); }
.admin-stat__val--green  { color: var(--success-fg); }
.admin-stat__val--red    { color: var(--error-fg); }

.admin-stat__label {
    font-size: 0.73rem; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 0.05em;
}

/* ─── TOOLBAR ─── */
.admin-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; margin-bottom: 20px; flex-wrap: wrap;
}
.admin-toolbar__filters { display: flex; gap: 10px; flex-wrap: wrap; }

/* ─── PHOTO GRID ─── */
.admin-photo-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)); gap: 14px;
}

.admin-photo-card {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--r-lg); overflow: hidden; cursor: pointer;
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
.admin-photo-card:hover {
    border-color: var(--accent); transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(14,165,201,0.15);
}

.admin-photo-card__img {
    width: 100%; aspect-ratio: 3/4; object-fit: cover;
    display: block; background: var(--surface-2);
}
.admin-photo-card__img--placeholder {
    display: flex; align-items: center; justify-content: center; color: var(--text-muted);
}
.admin-photo-card__body { padding: 10px 12px; }
.admin-photo-card__name {
    font-size: 0.85rem; font-weight: 600; letter-spacing: 0;
    color: var(--text); margin-bottom: 2px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.admin-photo-card__id { font-size: 0.72rem; color: var(--text-muted); font-family: var(--font-mono); letter-spacing: 0; }
.admin-photo-card__status {
    display: inline-block; font-size: 0.69rem; font-weight: 600;
    padding: 2px 8px; border-radius: 99px; margin-top: 6px;
    letter-spacing: 0; border: 1px solid transparent;
}

.status--pending  { background: var(--warning-bg); color: var(--warning-fg); border-color: var(--warning-bdr); }
.status--approved { background: var(--success-bg); color: var(--success-fg); border-color: var(--success-bdr); }
.status--rejected { background: var(--error-bg);   color: var(--error-fg);   border-color: var(--error-bdr);   }
.status--open     { background: var(--info-bg);    color: var(--info-fg);    border-color: var(--info-bdr);    }

.admin-empty {
    grid-column: 1/-1; text-align: center; padding: 60px 20px;
    color: var(--text-muted); font-size: 0.9rem; letter-spacing: 0;
}

/* ─── TABLE ─── */
.admin-table-wrap {
    overflow-x: auto; border: 1px solid var(--border);
    border-radius: var(--r-lg); background: var(--surface);
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.admin-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; letter-spacing: 0; }

.admin-table thead th {
    background: var(--surface-2); color: var(--text-muted);
    font-size: 0.71rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
    padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--border); white-space: nowrap;
}
.admin-table tbody tr { border-bottom: 1px solid var(--border); transition: background 0.12s; }
.admin-table tbody tr:hover    { background: var(--surface-2); }
.admin-table tbody tr:last-child { border-bottom: none; }
.admin-table td { padding: 12px 16px; color: var(--text); vertical-align: middle; letter-spacing: 0; }
.admin-table td:first-child { font-family: var(--font-mono); font-size: 0.8rem; color: var(--text-muted); }
.admin-table__empty { text-align: center; padding: 40px; color: var(--text-muted); letter-spacing: 0; }

/* ─── MODAL ─── */
.lid-modal-overlay {
    position: fixed; inset: 0; z-index: 1000;
    background: rgba(0,0,0,0.3); backdrop-filter: blur(4px);
    display: flex; align-items: center; justify-content: center; padding: 20px;
    animation: lid-fade-in 0.2s var(--ease);
}
@keyframes lid-fade-in { from { opacity: 0; } to { opacity: 1; } }

.lid-modal {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--r-xl); width: 100%; max-width: 820px;
    max-height: 90vh; overflow-y: auto;
    box-shadow: 0 24px 80px rgba(0,0,0,0.16);
    animation: lid-modal-in 0.25s var(--ease);
}
@keyframes lid-modal-in {
    from { transform: scale(0.96) translateY(10px); opacity: 0; }
    to   { transform: scale(1) translateY(0); opacity: 1; }
}

.lid-modal__header {
    display: flex; align-items: flex-start; justify-content: space-between;
    padding: 22px 26px 18px; border-bottom: 1px solid var(--border);
}
.lid-modal__eyebrow { font-family: var(--font-mono); font-size: 0.7rem; color: var(--accent); letter-spacing: 0.08em; margin-bottom: 4px; }
.lid-modal__title   { font-size: 1.2rem; font-weight: 700; color: var(--text); letter-spacing: 0; }

.lid-modal__close {
    background: none; border: 1px solid var(--border); color: var(--text-muted);
    cursor: pointer; border-radius: var(--r-sm); width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.88rem; flex-shrink: 0; transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.lid-modal__close:hover { color: var(--text); background: var(--surface-2); border-color: var(--border-dark); }

.lid-modal__body { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 22px 26px; }
.lid-modal__photo-col { display: flex; flex-direction: column; gap: 12px; }

.lid-modal__crop-wrap {
    background: var(--surface-2); border: 1px solid var(--border);
    border-radius: var(--r-md); overflow: hidden;
    max-height: 380px; display: flex; align-items: center; justify-content: center;
}
.lid-modal__crop-wrap img { max-width: 100%; display: block; }
.lid-modal__crop-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.lid-modal__crop-hint { font-size: 0.75rem; color: var(--text-muted); font-style: italic; letter-spacing: 0; }

.lid-modal__info-col  { display: flex; flex-direction: column; gap: 20px; }
.lid-modal__decision  { display: flex; flex-direction: column; gap: 10px; margin-top: auto; }
.lid-decision-btns    { display: flex; gap: 10px; }

.lid-reject-panel {
    display: flex; flex-direction: column; gap: 10px;
    background: var(--surface-2); border: 1px solid var(--border);
    border-radius: var(--r-md); padding: 16px; margin-top: 4px;
    animation: lid-slide-up 0.2s var(--ease);
}
.lid-reject-reasons { display: flex; flex-direction: column; gap: 6px; }
.lid-reason {
    display: flex; align-items: center; gap: 8px;
    font-size: 0.85rem; letter-spacing: 0; color: var(--text-mid);
    cursor: pointer; padding: 6px 8px; border-radius: var(--r-sm);
    transition: background 0.12s;
}
.lid-reason:hover { background: var(--accent-light); }
.lid-reason input[type="radio"] { accent-color: var(--accent); }

/* ─── ADMIN BADGE ─── */
.lid-admin-badge {
    font-family: var(--font-mono); font-size: 0.68rem;
    letter-spacing: 0.1em; text-transform: uppercase;
    background: var(--accent-light); color: var(--accent-dark);
    border: 1px solid var(--accent-mid); padding: 4px 10px; border-radius: 99px;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
    .admin-shell { grid-template-columns: 1fr; }
    .admin-sidebar {
        position: fixed; left: 0; top: 0; bottom: 0; z-index: 500;
        transform: translateX(-100%); width: 260px;
        box-shadow: 4px 0 20px rgba(0,0,0,0.1);
    }
    .admin-sidebar--open { transform: translateX(0); }
    .admin-topbar__burger { display: flex; }
    .admin-stats     { grid-template-columns: repeat(2, 1fr); }
    .lid-modal__body { grid-template-columns: 1fr; }
    .lid-card        { padding: 26px 18px; }
}

@media (max-width: 480px) {
    .admin-stats       { grid-template-columns: repeat(2, 1fr); }
    .admin-photo-grid  { grid-template-columns: repeat(2, 1fr); }
    .lid-decision-btns { flex-direction: column; }
}

/* ════════════════════════════════════════════
   DRUCKBEREICH
   ════════════════════════════════════════════ */

/* ─── PROJEKT-GRID ─── */
.druck-projekt-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 16px;
}

.druck-projekt-card {
    background: #ffffff;
    border: 1.5px solid var(--border);
    border-radius: var(--r-lg);
    padding: 28px 24px 20px;
    cursor: pointer;
    transition: border-color 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08), 0 0 0 0 rgba(14,165,201,0);
    position: relative;
    overflow: hidden;
}

/* Farbige Linie oben als visueller Anker */
.druck-projekt-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--accent-dark), var(--accent));
    border-radius: var(--r-lg) var(--r-lg) 0 0;
}

.druck-projekt-card:hover {
    border-color: var(--accent);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(14,165,201,0.18), 0 2px 8px rgba(0,0,0,0.06);
}

.druck-projekt-card:active {
    transform: translateY(-1px);
}

.druck-projekt-card__prefix {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--accent);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.druck-projekt-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 20px;
    line-height: 1.3;
}

/* Trennlinie vor den Stats */
.druck-projekt-card__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-bottom: 18px;
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    overflow: hidden;
}

.druck-projekt-card__stat {
    text-align: center;
    padding: 10px 6px;
    background: var(--surface-2);
}

.druck-projekt-card__stat + .druck-projekt-card__stat {
    border-left: 1px solid var(--border);
}

.druck-projekt-card__stat-val {
    font-family: var(--font-mono);
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--text);
    line-height: 1;
    display: block;
    margin-bottom: 3px;
}

.druck-projekt-card__stat-val--green  { color: #16a34a; }
.druck-projekt-card__stat-val--yellow { color: #d97706; }

.druck-projekt-card__stat-label {
    font-size: 0.65rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Fortschrittsbalken auf der Projektkarte */
.druck-progress {
    height: 8px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 99px;
    overflow: hidden;
}

.druck-progress__bar {
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--accent-dark), var(--accent));
    transition: width 0.7s var(--ease);
    min-width: 4px;
}

.druck-progress__bar--done {
    background: linear-gradient(90deg, #15803d, #22c55e);
}

.druck-progress__label {
    font-size: 0.72rem;
    color: var(--text-muted);
    margin-top: 6px;
    display: flex;
    justify-content: space-between;
    font-family: var(--font-mono);
}

.druck-progress__label span:last-child {
    font-weight: 700;
    color: var(--accent);
}

/* ─── KLASSEN-LISTE ─── */
.druck-klassen-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 8px;
}

.druck-klasse-row {
    background: #ffffff;
    border: 1.5px solid var(--border);
    border-radius: var(--r-lg);
    padding: 16px 20px 14px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}

.druck-klasse-row__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.druck-klasse-row__name {
    font-family: var(--font-mono);
    font-size: 1rem;
    font-weight: 800;
    color: var(--text);
    min-width: 54px;
    background: var(--accent-light);
    color: var(--accent-dark);
    padding: 4px 10px;
    border-radius: var(--r-sm);
    border: 1px solid var(--accent-mid);
    text-align: center;
    flex-shrink: 0;
}

.druck-klasse-row__chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    flex: 1;
}

.druck-chip {
    font-size: 0.71rem;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 99px;
    border: 1px solid transparent;
    white-space: nowrap;
    line-height: 1.4;
}

.druck-chip--total    { background: var(--surface-2); color: var(--text-mid);   border-color: var(--border); }
.druck-chip--uploaded { background: #eff6ff;           color: #1d4ed8;           border-color: #bfdbfe; }
.druck-chip--approved { background: #f0fdf4;           color: #15803d;           border-color: #bbf7d0; }
.druck-chip--printed  { background: #1a2b3c;           color: #ffffff;           border-color: #1a2b3c; }
.druck-chip--rejected { background: #fef2f2;           color: #b91c1c;           border-color: #fecaca; }

.druck-klasse-row__pct {
    font-family: var(--font-mono);
    font-size: 0.85rem;
    font-weight: 800;
    color: var(--accent);
    min-width: 46px;
    text-align: right;
    flex-shrink: 0;
}

/* ─── FORTSCHRITTSBALKEN IN KLASSENZEILE ─── */
.druck-klasse-row__progress {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
}

.druck-klasse-row__bar-track {
    position: relative;
    height: 10px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 99px;
    overflow: hidden;
}

/* Segmentierter Balken: drei überlagerte Ebenen */
.druck-klasse-row__bar-seg {
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    border-radius: 99px;
    transition: width 0.7s var(--ease);
}

.druck-klasse-row__bar-seg--hochgeladen {
    background: #93c5fd; /* blau */
    z-index: 1;
}

.druck-klasse-row__bar-seg--freigegeben {
    background: #86efac; /* grün */
    z-index: 2;
}

.druck-klasse-row__bar-seg--gedruckt {
    background: #1a2b3c; /* dunkel */
    z-index: 3;
}

.druck-klasse-row__bar-legend {
    display: flex;
    gap: 10px;
    margin-top: 7px;
    flex-wrap: wrap;
}

.druck-legend-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.67rem;
    color: var(--text-muted);
}

.druck-legend-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.druck-legend-dot--hochgeladen { background: #93c5fd; }
.druck-legend-dot--freigegeben { background: #86efac; }
.druck-legend-dot--gedruckt    { background: #1a2b3c; }
.druck-legend-dot--offen       { background: var(--border); border: 1px solid var(--border-dark); }

/* ─── RESPONSIVE ─── */
@media (max-width: 600px) {
    .druck-projekt-grid        { grid-template-columns: 1fr; }
    .druck-klasse-row__header  { flex-wrap: wrap; }
    .druck-klasse-row__name    { min-width: auto; }
}

/* ════════════════════════════════════════════
   PROJEKT VERWALTEN
   ════════════════════════════════════════════ */

.vw-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
}

.vw-card {
    background: #ffffff;
    border: 1.5px solid var(--border);
    border-radius: var(--r-lg);
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.vw-card--wide {
    grid-column: 1 / -1;
}

.vw-card__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 16px;
}

.vw-card__title svg {
    color: var(--accent);
    flex-shrink: 0;
}

/* ─── Listen ─── */
.vw-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 220px;
    overflow-y: auto;
    margin-bottom: 8px;
}

.vw-list-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    font-size: 0.875rem;
}

.vw-list-item__mono {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    color: var(--accent-dark);
    background: var(--accent-light);
    border: 1px solid var(--accent-mid);
    padding: 2px 7px;
    border-radius: 4px;
    white-space: nowrap;
    flex-shrink: 0;
}

.vw-list-item__name {
    font-weight: 600;
    color: var(--text);
    flex: 1;
}

.vw-list-item__info {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: 1;
}

.vw-list-item__meta {
    font-size: 0.72rem;
    color: var(--text-muted);
}

/* ─── Trennlinie ─── */
.vw-divider {
    border: none;
    border-top: 1px solid var(--border);
    margin: 16px 0;
}

/* ─── Formulare ─── */
.vw-form__label {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    margin-bottom: 12px;
}

.vw-form__row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    margin-bottom: 12px;
    align-items: end;
}

.vw-form__row--import {
    grid-template-columns: 1fr 1fr;
}

.lid-field--sm { min-width: 120px; max-width: 160px; }

.lid-input--mono { font-family: var(--font-mono); letter-spacing: 0.05em; }

/* ─── Import Info ─── */
.vw-import-info {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    padding: 14px 16px;
    margin-bottom: 16px;
    font-size: 0.82rem;
    color: var(--text-mid);
    line-height: 1.6;
}

.vw-code-block {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.78rem;
    background: var(--text);
    color: #e2e8f0;
    padding: 10px 14px;
    border-radius: var(--r-sm);
    margin: 8px 0;
    line-height: 1.7;
}

.vw-import-info__note {
    margin-top: 6px;
    font-size: 0.78rem;
    color: var(--text-muted);
}

/* ─── Vorschau ─── */
.vw-preview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.vw-preview-count {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--accent);
    font-family: var(--font-mono);
}

.vw-preview-table-wrap {
    max-height: 320px;
    overflow-y: auto;
}

.vw-mono {
    font-family: var(--font-mono);
    font-size: 0.8rem;
}

/* ─── Success Alert ─── */
.lid-alert--success {
    background: var(--success-bg);
    color: var(--success-fg);
    border: 1px solid var(--success-bdr);
    border-radius: var(--r-md);
    padding: 10px 14px;
    font-size: 0.875rem;
    margin-bottom: 12px;
}

/* ─── Responsive ─── */
@media (max-width: 900px) {
    .vw-grid { grid-template-columns: 1fr; }
    .vw-card--wide { grid-column: auto; }
    .vw-form__row { grid-template-columns: 1fr; }
    .lid-field--sm { max-width: 100%; }
}

/* ─── SCHÜLER-EDIT MODAL ─── */
.lid-modal--sm { max-width: 520px; }
.lid-modal__body--form { padding: 20px 24px 24px; }
.lid-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

/* ─── EMAIL-SCHRITT ─── */
.lid-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.875rem;
    color: var(--text-mid);
    line-height: 1.5;
    cursor: pointer;
    margin-bottom: 4px;
}

.lid-checkbox {
    margin-top: 3px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    accent-color: var(--accent);
    cursor: pointer;
}

.lid-link {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-color: var(--accent-mid);
    text-underline-offset: 2px;
}

.lid-link:hover { text-decoration-color: var(--accent); }

/* subtle variant for modal info list (smaller font, same color) */
.lid-link--subtle {
    font-size: inherit;
    color: var(--accent);
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb, var(--accent) 40%, transparent);
    text-underline-offset: 2px;
    word-break: break-all;
}
.lid-link--subtle:hover { text-decoration-color: var(--accent); }

.lid-label--optional {
    font-weight: 400;
    color: var(--text-muted);
    font-size: 0.8em;
}

.lid-email-actions {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

/* ─── BARRIEREFREIHEIT ─── */

/* Skip-Link: nur sichtbar bei Fokus (Keyboard-Navigation) */
.lid-skip-link {
    position: absolute;
    top: -100px;
    left: 16px;
    padding: 10px 18px;
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    border-radius: 0 0 var(--r-sm) var(--r-sm);
    text-decoration: none;
    z-index: 9999;
    transition: top 0.15s;
}
.lid-skip-link:focus { top: 0; }

/* Reduzierte Bewegung respektieren */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* ════════════════════════════════════════════
   ZAHLUNGS-SECTION (Portal)
   ════════════════════════════════════════════ */

/* Trennlinie über dem Zahlungsbereich */
.lid-payment-divider {
    border: none;
    border-top: 1px solid var(--border);
    margin: 20px 0 22px;
}

.lid-payment-title {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-mid);
    margin-bottom: 4px;
}

.lid-payment-sub {
    font-size: 0.875rem;
    color: var(--text-mid);
    margin-bottom: 16px;
    line-height: 1.5;
}

/* ─── Produktkarten ─── */
.lid-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.lid-product-card {
    border: 2px solid var(--border);
    border-radius: var(--r-md);
    padding: 16px 14px;
    cursor: pointer;
    transition: border-color 0.18s, box-shadow 0.18s, background 0.18s;
    background: var(--surface-2);
    user-select: none;
}

.lid-product-card:hover {
    border-color: var(--accent);
    background: var(--accent-light);
}

.lid-product-card:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 2px;
}

.lid-product-card--selected {
    border-color: var(--accent);
    background: var(--accent-light);
    box-shadow: 0 0 0 3px rgba(6, 128, 161, 0.15);
}

.lid-product-card__name {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 8px;
    line-height: 1.3;
}

.lid-product-card__preis {
    font-family: var(--font-mono);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--accent);
    letter-spacing: -0.01em;
}

/* ─── Bezahlen-Button (volle Breite) ─── */
.lid-btn--pay {
    width: 100%;
    justify-content: center;
    margin-top: 4px;
}

/* ─── Status-Boxen (Paid / Processing / Rechnung) ─── */
.lid-status-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    border-radius: var(--r-md);
    font-size: 0.875rem;
    font-weight: 600;
    border: 1px solid transparent;
    line-height: 1.4;
}

.lid-status-box svg { flex-shrink: 0; }

.lid-status-box--success {
    background: var(--success-bg);
    color: var(--success-fg);
    border-color: var(--success-bdr);
}

.lid-status-box--warning {
    background: var(--warning-bg);
    color: var(--warning-fg);
    border-color: var(--warning-bdr);
}

.lid-status-box--info {
    background: var(--info-bg);
    color: var(--info-fg);
    border-color: var(--info-bdr);
}

/* ─── Logout-Button Abstand ─── */
.lid-portal-logout {
    margin-top: 24px;
}

/* ════════════════════════════════════════════
   SCHULE BEARBEITEN MODAL
   ════════════════════════════════════════════ */
.lid-modal--schule { max-width: 680px; }

.schule-edit-body {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px 24px 24px;
}

.schule-edit-section { display: flex; flex-direction: column; gap: 8px; }

/* Layouts: zwei Spalten nebeneinander */
.schule-layouts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* PDF-Vorschau */
.layout-preview {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    height: 190px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.layout-preview__hint {
    font-size: 0.78rem;
    color: var(--text-muted);
    text-align: center;
    padding: 8px;
}

.layout-upload-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.layout-status { font-size: 0.78rem; color: var(--text-muted); }
.layout-status.ok  { color: #16a34a; }
.layout-status.err { color: #dc2626; }

/* Wappen: Vorschau links, Upload-Button rechts */
.schule-wappen-row {
    display: flex;
    align-items: center;
    gap: 16px;
}

.wappen-preview {
    width: 88px;
    height: 88px;
    flex-shrink: 0;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.schule-upload-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

/* Barcode-Toggle */
.schule-toggle-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    cursor: pointer;
}

.schule-toggle-check {
    width: 17px;
    height: 17px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--brand);
    cursor: pointer;
}

.schule-toggle-label {
    display: block;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text);
    line-height: 1.3;
}

.schule-toggle-sub {
    display: block;
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-top: 2px;
    line-height: 1.4;
}

/* Zweispaltig bleibt bis sehr kleine Screens */
@media (max-width: 400px) {
    .schule-layouts-grid { grid-template-columns: 1fr; }
}
