    :root{
        --bg:#f5f7fb;
        --text:#1f2937;
        --card:#ffffff;
        --border:#e5e7eb;
        --border-strong:#d1d5db;
        --muted:#667085;
        --link:#0b57d0;
        --button:#0b57d0;
        --button-text:#ffffff;
        --button-danger:#b42318;
        --button-secondary:#475467;
        --flash-success-bg:#e8f5e9;
        --flash-success-text:#1b5e20;
        --flash-error-bg:#ffebee;
        --flash-error-text:#b71c1c;
        --badge-bg:#eef2ff;
        --badge-text:#3730a3;
        --code-bg:#f3f4f6;
        --shadow:0 6px 20px rgba(0,0,0,.06);
		--link:#0b57d0;
		--link-visited:#6b21a8; /* leicht violett, aber kontrolliert */
    }

    body.theme-dark{
        --bg:#0f172a;
        --text:#e5e7eb;
        --card:#111827;
        --border:#374151;
        --border-strong:#4b5563;
        --muted:#9ca3af;
        --link:#93c5fd;
        --button:#2563eb;
        --button-text:#ffffff;
        --button-danger:#dc2626;
        --button-secondary:#334155;
        --flash-success-bg:#16351f;
        --flash-success-text:#b7f7c7;
        --flash-error-bg:#3b1212;
        --flash-error-text:#fecaca;
        --badge-bg:#1e293b;
        --badge-text:#cbd5e1;
        --code-bg:rgba(255,255,255,.08);
        --shadow:0 6px 20px rgba(0,0,0,.35);
		--link:#93c5fd;
		--link-visited:#c084fc; /* helleres violett für dark */
    }

    body{
        font-family:Arial,sans-serif;
        max-width:1150px;
        margin:40px auto;
        padding:0 20px;
        background:var(--bg);
        color:var(--text);
    }

    .nav{
        display:flex;
        gap:14px;
        flex-wrap:wrap;
        margin-bottom:18px;
        align-items:center;
    }

    .nav a{
        text-decoration:none;
        color:var(--link);
    }
	
	a:visited {
		color: var(--link-visited);
	}

	a:hover {
		text-decoration: underline;
	}

    .card{
        background:var(--card);
        border-radius:14px;
        padding:22px;
        margin-bottom:20px;
        box-shadow:var(--shadow);
        border:1px solid var(--border);
    }

    .flash{
        padding:12px 14px;
        border-radius:10px;
        margin-bottom:16px;
        border:1px solid var(--border);
    }

    .flash.success{
        background:var(--flash-success-bg);
        color:var(--flash-success-text);
    }

    .flash.error{
        background:var(--flash-error-bg);
        color:var(--flash-error-text);
    }

    input,select,button,textarea{
        padding:11px;
        border-radius:8px;
        border:1px solid var(--border-strong);
        box-sizing:border-box;
        background:var(--card);
        color:var(--text);
    }

    input,select,textarea{
        width:100%;
    }

    button{
        background:var(--button);
        color:var(--button-text);
        border:none;
        cursor:pointer;
    }

    button.danger{
        background:var(--button-danger);
    }

    button.secondary{
        background:var(--button-secondary);
    }

    table{
        width:100%;
        border-collapse:collapse;
    }

    th,td{
        padding:10px;
        border-bottom:1px solid var(--border);
        text-align:left;
        vertical-align:top;
    }

    form.stack{
        display:grid;
        gap:12px;
    }

    .inline{
        display:inline-block;
        margin-right:8px;
    }

    .muted{
        color:var(--muted);
        font-size:.92rem;
    }

    .badge{
        display:inline-block;
        padding:3px 8px;
        border-radius:999px;
        background:var(--badge-bg);
        color:var(--badge-text);
        font-size:12px;
    }

    code{
        background:var(--code-bg);
        padding:2px 5px;
        border-radius:5px;
    }

    .pager{
        display:flex;
        gap:8px;
        align-items:center;
    }

    .qr svg{
        max-width:220px;
        height:auto;
    }

    .qr img{
        max-width:220px;
        height:auto;
        display:block;
    }

    .grid-2{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:16px;
    }

    @media (max-width: 900px){
        .grid-2{
            grid-template-columns:1fr;
        }
    }
