    .lohnrechner-app { color-scheme: light; --bg:#f6f7f9; --panel:#fff; --text:#17202a; --muted:#5f6b7a; --line:#d9dee7; --accent:#0f6b57; --accent-strong:#0a4f40; --danger:#9d1c1c; --danger-bg:#fff0f0; --focus:#1d70b8; --shadow:0 1px 2px rgba(23,32,42,.08); }
    .lohnrechner-app * { box-sizing: border-box; }
    .lohnrechner-app { display:block; background:var(--bg); color:var(--text); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.5; padding:1px; }
    .lohnrechner-app a { color:var(--accent-strong); }
    .lohnrechner-app a:focus-visible, .lohnrechner-app button:focus-visible, .lohnrechner-app input:focus-visible, .lohnrechner-app select:focus-visible, .lohnrechner-app textarea:focus-visible, .lohnrechner-app summary:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
    .lohnrechner-app .skip-link { left:1rem; position:absolute; top:-4rem; z-index:10; }
    .lohnrechner-app .skip-link:focus { background:var(--panel); border:2px solid var(--focus); padding:.5rem .75rem; top:1rem; }
    .lohnrechner-app header { background:var(--panel); border-bottom:1px solid var(--line); }
    .lohnrechner-app .wrap { margin:0 auto; max-width:1180px; padding:1rem; width:100%; }
    .lohnrechner-app header .wrap { align-items:center; display:flex; gap:1rem; justify-content:space-between; }
    .lohnrechner-app h1, .lohnrechner-app h2, .lohnrechner-app h3 { line-height:1.2; margin:0; }
    .lohnrechner-app h1 { font-size:1.7rem; }
    .lohnrechner-app h2 { font-size:1.15rem; }
    .lohnrechner-app main { padding-bottom:2rem; }
    .lohnrechner-app .layout { display:grid; gap:1rem; grid-template-columns:minmax(0,1fr); }
    @media (min-width:980px) { .lohnrechner-app .layout { align-items:start; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); } }
    .lohnrechner-app .panel { background:var(--panel); border:1px solid var(--line); border-radius:8px; box-shadow:var(--shadow); padding:1rem; }
    .lohnrechner-app .muted { color:var(--muted); }
    .lohnrechner-app form { display:grid; gap:1rem; }
    .lohnrechner-app fieldset { border:1px solid var(--line); border-radius:8px; margin:0; padding:1rem; }
    .lohnrechner-app legend { color:var(--accent-strong); font-weight:700; padding:0 .35rem; }
    .lohnrechner-app .grid { display:grid; gap:.85rem; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }
    .lohnrechner-app label { display:block; font-weight:650; margin-bottom:.25rem; }
    .lohnrechner-app .hint { color:var(--muted); display:block; font-size:.9rem; margin-top:.2rem; }
    .lohnrechner-app input, .lohnrechner-app select, .lohnrechner-app textarea { background:#fff; border:1px solid #aeb7c4; border-radius:6px; color:var(--text); font:inherit; min-height:2.75rem; padding:.55rem .65rem; width:100%; }
    .lohnrechner-app input[type="checkbox"] { height:1.25rem; min-height:0; width:1.25rem; }
    .lohnrechner-app .check { align-items:center; align-self:start; display:flex; gap:.6rem; min-height:2.75rem; padding-top:1.65rem; }
    .lohnrechner-app .check label { margin:0; }
    .lohnrechner-app .radio-caption { display:block; font-weight:650; margin-bottom:.25rem; }
    .lohnrechner-app .radios { align-items:center; display:flex; gap:1.25rem; min-height:2.75rem; }
    .lohnrechner-app .radios .radio { align-items:center; display:flex; gap:.45rem; margin:0; }
    .lohnrechner-app input[type="radio"] { height:1.25rem; min-height:0; width:1.25rem; }
    .lohnrechner-app .actions { align-items:center; display:flex; flex-wrap:wrap; gap:.75rem; }
    .lohnrechner-app button { align-items:center; background:var(--accent); border:0; border-radius:6px; color:#fff; cursor:pointer; display:inline-flex; font:inherit; font-weight:700; gap:.4rem; justify-content:center; min-height:2.75rem; padding:.65rem 1rem; }
    .lohnrechner-app button:hover { background:var(--accent-strong); }
    .lohnrechner-app button:disabled { background:#82918e; cursor:wait; }
    .lohnrechner-app .secondary { background:#e8ecef; color:var(--text); }
    .lohnrechner-app .secondary:hover { background:#d7dde3; }
    .lohnrechner-app .status { border-left:4px solid var(--accent); margin-bottom:1rem; padding:.75rem 1rem; }
    .lohnrechner-app .status.error { background:var(--danger-bg); border-color:var(--danger); color:var(--danger); white-space:pre-wrap; }
    .lohnrechner-app .cards { display:grid; gap:.75rem; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
    .lohnrechner-app .metric { border:1px solid var(--line); border-left-width:4px; border-radius:8px; padding:.85rem; }
    .lohnrechner-app .metric span { color:var(--muted); display:block; font-size:.9rem; }
    .lohnrechner-app .metric strong { display:block; font-size:1.35rem; margin-top:.2rem; overflow-wrap:anywhere; }
    .lohnrechner-app .metric-hinweis { color:var(--muted); display:block; font-size:.78rem; margin-top:.3rem; }
    .lohnrechner-app .metric.blau { background:#eef5fb; border-color:#b4d2ea; border-left-color:#1d70b8; }
    .lohnrechner-app .metric.blau strong { color:#144e80; }
    .lohnrechner-app .metric.gruen { background:#ecf7ee; border-color:#b7dfc1; border-left-color:#1a7f37; }
    .lohnrechner-app .metric.gruen strong { color:#14632b; }
    .lohnrechner-app .metric.petrol { background:#e9f4f1; border-color:#b3d8cf; border-left-color:#0f6b57; }
    .lohnrechner-app .metric.petrol strong { color:#0a4f40; }
    .lohnrechner-app .metric.orange { background:#fdf3e7; border-color:#ecd0ab; border-left-color:#b45309; }
    .lohnrechner-app .metric.orange strong { color:#8a3e06; }
    .lohnrechner-app table { border-collapse:collapse; margin-top:1rem; width:100%; }
    .lohnrechner-app caption { font-weight:700; padding:0 0 .5rem; text-align:left; }
    .lohnrechner-app th, .lohnrechner-app td { border-bottom:1px solid var(--line); padding:.55rem 0; text-align:left; vertical-align:top; }
    .lohnrechner-app .aufklappen { align-items:center; background:none; border:0; color:inherit; cursor:pointer; display:inline-flex; font:inherit; font-weight:700; gap:.4rem; min-height:0; padding:0; text-align:left; }
    .lohnrechner-app .aufklappen:hover { background:none; color:var(--accent-strong); }
    .lohnrechner-app .aufklappen .pfeil { color:var(--accent-strong); display:inline-block; transition:transform .15s ease; }
    .lohnrechner-app .aufklappen[aria-expanded="true"] .pfeil { transform:rotate(90deg); }
    .lohnrechner-app tr.unterzeile th { color:var(--muted); font-weight:450; padding-left:1.6rem; }
    .lohnrechner-app td:last-child, .lohnrechner-app th:last-child { text-align:right; }
    .lohnrechner-app details { margin-top:1rem; }
    .lohnrechner-app summary { cursor:pointer; font-weight:700; }
    .lohnrechner-app pre { background:#111827; border-radius:8px; color:#eef2ff; overflow:auto; padding:1rem; white-space:pre-wrap; }
    .lohnrechner-app .visually-hidden { clip:rect(0 0 0 0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
    .lohnrechner-app .info { background:var(--muted); border:0; border-radius:50%; color:#fff; cursor:help; display:inline-flex; align-items:center; justify-content:center; font-size:.72rem; font-style:italic; font-weight:700; font-family:Georgia,serif; height:1.05rem; line-height:1; margin-left:.3rem; min-height:0; padding:0; vertical-align:text-top; width:1.05rem; }
    .lohnrechner-app .info:hover { background:var(--accent); }
    .lohnrechner-app .tooltip { background:#17202a; border-radius:8px; box-shadow:0 4px 16px rgba(23,32,42,.35); color:#eef2ff; font-size:.85rem; font-weight:400; line-height:1.45; max-width:24rem; padding:.7rem .8rem; position:absolute; z-index:20; }
    .lohnrechner-app .tooltip a { color:#9fd3ff; }
    .lohnrechner-app .tooltip h4 { font-size:.85rem; margin:0; }
    .lohnrechner-app .tooltip .kategorie { color:#aeb7c4; font-weight:400; }
    .lohnrechner-app .tooltip p { margin:.15rem 0 .55rem; }
    .lohnrechner-app .tooltip p:last-child { margin-bottom:0; }
    .lohnrechner-app .tooltip[hidden] { display:none; }
