/* Swiss Digital Tax – Farben (hell/dunkel), Design-Schalter, «Nach oben», Fortschrittsbalken */
:root{
  --c-flaeche:#FFFFFF;--c-flaeche-blau:#EEF3FC;--c-flaeche-hell:#F5F8FE;--c-flaeche-grau:#F2F4F8;--c-dunkel:#0B1F3A;--c-akzent-zart:#DCE6FB;
  --c-text:#0B1F3A;--c-text-2:#4A5878;--c-akzent:#1F4FD1;
  --c-rand:#D6DFEE;--c-rand-stark:#B7C5DE;--c-rand-zart:#E3EAF6;
  --c-hinweis:#FFF4E5;--c-hinweis-text:#7A4100;--c-hinweis-rand:#E7C38F;
  --c-ok:#12703A;--c-ok-zart:#EAF7EF;--c-fehler:#B42318;--c-fehler-zart:#FEF3F2;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --c-flaeche:#121D31;--c-flaeche-blau:#0D1729;--c-flaeche-hell:#17243B;--c-flaeche-grau:#1B2841;--c-dunkel:#070F1D;--c-akzent-zart:#1D2F55;
  --c-text:#E7EDF8;--c-text-2:#A9B6CF;--c-akzent:#8EABFF;
  --c-rand:#2A3A57;--c-rand-stark:#3B4D70;--c-rand-zart:#223150;
  --c-hinweis:#3A2A12;--c-hinweis-text:#F3C98E;--c-hinweis-rand:#6B4E22;
  --c-ok:#72D69C;--c-ok-zart:#123021;--c-fehler:#FF9C8F;--c-fehler-zart:#3A1818;
}
html[data-theme="dark"] body{background:var(--c-flaeche-blau)}
html[data-theme="dark"] svg[stroke="#1F4FD1"]{stroke:var(--c-akzent)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{color:var(--c-text)}
html[data-theme="dark"] ::placeholder{color:#7F8DA8}
html[data-theme="dark"] img:not([src$=".svg"]){filter:brightness(.92)}

/* Design-Schalter */
.sdt-design{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border-radius:999px;border:1px solid var(--c-rand);background:var(--c-flaeche);color:var(--c-text);cursor:pointer;flex:none}
.sdt-design:hover{border-color:var(--c-akzent);color:var(--c-akzent)}
.sdt-design svg{width:20px;height:20px}
.sdt-design .sonne{display:none}
html[data-theme="dark"] .sdt-design .mond{display:none}
html[data-theme="dark"] .sdt-design .sonne{display:block}

/* Nach oben */
.sdt-nach-oben{position:fixed;left:20px;bottom:20px;z-index:898;width:48px;height:48px;border-radius:999px;border:1px solid var(--c-rand);background:var(--c-flaeche);color:var(--c-akzent);box-shadow:0 10px 26px rgba(11,31,58,.22);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}
.sdt-nach-oben.sichtbar{opacity:1;transform:none;pointer-events:auto}
.sdt-nach-oben:hover{border-color:var(--c-akzent)}
.sdt-nach-oben svg{width:22px;height:22px}

/* Fortschrittsbalken (Lesefortschritt) */
.sdt-fortschritt{position:fixed;top:0;left:0;right:0;height:4px;z-index:1001;pointer-events:none;background:transparent}
.sdt-fortschritt span{display:block;height:100%;width:100%;background:var(--c-akzent);transform:scaleX(0);transform-origin:0 50%}

@media (max-width:520px){.sdt-nach-oben{left:14px;bottom:14px;width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.sdt-nach-oben{transition:none}}
@media print{.sdt-design,.sdt-nach-oben,.sdt-fortschritt{display:none!important}}
/* Platz für die schwebenden Knöpfe (Nach oben / Chat) am Seitenende */
footer{padding-bottom:max(84px, var(--sdt-fuss-unten, 0px))!important}
footer.fuss{padding-bottom:64px!important}
