/* ===========================================================================
   oberflaeche.css — das Glas, und zwar NUR für die Oberflächen.

   Simon am 08.08.2026: *„wie sieht es mit den anderen designs aus die wir noch für
   die oberflächen der kunden haben, die website bitte im alten design lassen"*.

   Also zwei Aussehen mit Absicht, und die Trennlinie ist nicht Geschmack:

   WEBSITE (index, betriebe, zeit, botschafter, Rechtsseiten, 404): flach, schwarz,
   Haarlinien. Sie wird einmal gelesen und soll sich nicht in den Vordergrund
   spielen. Wer verkauft, darf nicht mit der eigenen Oberfläche konkurrieren.

   OBERFLÄCHE (buchen, kalender, anmelden, einloggen, passwort, bestaetigt): Glas.
   Das sind die Seiten, auf denen jemand ARBEITET oder einen Termin bucht, teils
   täglich. Hier lohnt der Aufwand: Durchscheinende Flächen zeigen, was vorn und was
   hinten liegt, und genau das braucht eine Oberfläche mit Ebenen.

   SO WIRD SIE EINGEBUNDEN, immer NACH stil.css:
     <link rel="stylesheet" href="stil.css">
     <link rel="stylesheet" href="oberflaeche.css">
     <script src="ton.js"></script>

   Diese Datei setzt nur Werte um, die stil.css schon benutzt. Sie definiert keine
   neuen Klassen: Eine Oberfläche, die eigene Bausteine mitbringt, ist ein zweites
   Designsystem, und dann pflegt man zwei.

   VIER REGELN DES GLASES:
   1. Unschärfe stark, Deckung schwach. Ein Glas, das kaum verwischt und dafür halb
      deckt, sieht aus wie grauer Kunststoff.
   2. Licht kommt von oben: helle Kante oben, weicher Schatten unten. Das ist der
      ganze Trick; ohne die Kante schwimmen die Karten.
   3. Nichts bewegt sich. Ein bewegter Hintergrund zieht den Blick von der Uhrzeit
      weg, und die Uhrzeit ist hier der Zweck.
   4. Mehr Luft zur Kante als im Flachen (32/30 statt 25/23 px), weil Glas die Kante
      unscharf macht und Text zu nah daran halb daneben zu liegen scheint.

   Die Töne stehen ebenfalls hier: `<html data-ton="messing">`, gesetzt von ton.js.
   Sie färben nur Oberflächen. Die Website bleibt bei Platin.
   =========================================================================== */

:root{
  /* Wie in `stil.css`: Was der Browser selbst zeichnet, muss zur Fläche passen. Diese Datei
     kann beides, deshalb steht die helle Angabe unten bei `[data-flaeche="hell"]`. */
  color-scheme:dark;
  --grund:#08090B;
  --flaeche:rgba(255,255,255,.055);
  --erhoben:rgba(255,255,255,.10);
  --linie:rgba(255,255,255,.10);
  --linieStark:rgba(255,255,255,.20);
  --kante:rgba(255,255,255,.22);

  --tinte:#FBFAF9;
  --leise:rgba(255,255,255,.58);
  --sehrLeise:rgba(255,255,255,.38);
  --metallLeise:rgba(255,255,255,.50);
  --aufMetall:#0A0A0B;

  --schein1:rgba(120,150,200,.30);
  --schein2:rgba(200,170,130,.22);
  --schein3:rgba(140,120,190,.16);

  --gut:#8FBC9C;
  --warn:#D9BC7E;
  --schlecht:#E39A8C;

  --r-klein:10px; --r:18px; --r-gross:26px;

  /* Der Glasgriff an einer Stelle, damit „etwas weniger Glas" eine Änderung ist. */
  --milch:blur(26px) saturate(150%);
}

/* ---- Töne ---------------------------------------------------------------
   Akzent und Lichtfarben wechseln gemeinsam: Ein warmer Knopf über kaltem Licht
   sieht aufgeklebt aus. Es bleibt bei EINEM Akzent je Seite. */
[data-ton="messing"]{--metall:#D9B87C;--aufMetall:#1A1408;
  --schein1:rgba(215,180,120,.30);--schein2:rgba(180,140,90,.22);--schein3:rgba(150,120,80,.16)}
[data-ton="salbei"]{--metall:#9DC4A9;--aufMetall:#0C1710;
  --schein1:rgba(140,190,160,.28);--schein2:rgba(120,160,180,.20);--schein3:rgba(110,150,120,.16)}
[data-ton="ton"]{--metall:#DDA08D;--aufMetall:#1A0E09;
  --schein1:rgba(220,160,140,.28);--schein2:rgba(190,140,150,.20);--schein3:rgba(160,110,100,.16)}
[data-ton="nacht"]{--metall:#A9BEDD;--aufMetall:#080D18;
  --schein1:rgba(120,150,220,.32);--schein2:rgba(90,120,190,.22);--schein3:rgba(140,130,210,.18)}

body{background:var(--grund);overflow-x:hidden}

/* Die drei Lichtflecken. Fest im Bild, nicht mitscrollend: Sie sind der Raum, in dem
   die Oberfläche liegt, und nicht Teil des Inhalts. */
body::after{
  content:"";position:fixed;inset:-20%;z-index:0;pointer-events:none;
  background:
    radial-gradient(38% 34% at 18% 12%,var(--schein1),transparent 70%),
    radial-gradient(34% 30% at 86% 78%,var(--schein2),transparent 70%),
    radial-gradient(30% 40% at 60% 40%,var(--schein3),transparent 70%);
  filter:blur(30px);
}
body::before{z-index:1;opacity:.022}
body>*{position:relative;z-index:2}

h1,h2,h3{color:var(--tinte)}
strong{color:var(--tinte)}
a:hover{color:var(--tinte)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible{outline-offset:3px}

/* ---- Kopf und Fuß: Innenkante statt gezeichneter Linie ------------------- */
.kopfleiste{background:rgba(255,255,255,.04);border-bottom:0;
  box-shadow:inset 0 -1px 0 var(--linie);
  -webkit-backdrop-filter:var(--milch);backdrop-filter:var(--milch)}
.marke{color:var(--tinte)}
.fussleiste{border-top:0;box-shadow:inset 0 1px 0 var(--linie)}

/* ---- Flächen ------------------------------------------------------------- */
.kasten{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--r-gross);
  padding:32px 30px;box-shadow:inset 0 1px 0 var(--kante),0 12px 34px rgba(0,0,0,.34);
  -webkit-backdrop-filter:var(--milch);backdrop-filter:var(--milch)}
.kasten.stark{background:rgba(255,255,255,.085);border-color:var(--linieStark)}
@media(max-width:520px){.kasten{padding:24px 22px}}

.wahl{border-radius:var(--r-gross);padding:30px 28px;background:var(--flaeche);
  box-shadow:inset 0 1px 0 var(--kante),0 10px 28px rgba(0,0,0,.28);
  -webkit-backdrop-filter:var(--milch);backdrop-filter:var(--milch)}
.wahl .preis{color:var(--tinte)}

.gepraegt{background:var(--flaeche);padding:20px 22px;box-shadow:inset 0 1px 0 var(--kante);
  color:var(--tinte);-webkit-backdrop-filter:var(--milch);backdrop-filter:var(--milch)}

.schritte li::before{background:var(--erhoben);border-color:var(--linie);
  box-shadow:inset 0 1px 0 var(--kante)}

/* ---- Knöpfe -------------------------------------------------------------- */
.knopf{min-height:50px;padding:13px 30px;color:var(--aufMetall);
  box-shadow:0 10px 26px rgba(0,0,0,.32);transition:filter .16s ease,transform .12s ease,
  border-color .16s ease,background .16s}
.knopf:hover:not(:disabled){background:var(--metall);filter:brightness(1.08)}
.knopf:disabled{box-shadow:none}
.knopf.klar{background:rgba(255,255,255,.07);color:var(--tinte);border-color:var(--linie);
  box-shadow:inset 0 1px 0 var(--kante);
  -webkit-backdrop-filter:var(--milch);backdrop-filter:var(--milch)}
.knopf.klar:hover:not(:disabled){background:var(--erhoben);border-color:var(--linieStark);filter:none}

/* ---- Formulare ---------------------------------------------------------- */
input,select,textarea{background:rgba(255,255,255,.05);color:var(--tinte);
  border:1px solid var(--linie);border-radius:var(--r);padding:15px 17px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  -webkit-backdrop-filter:var(--milch);backdrop-filter:var(--milch)}
input:focus,select:focus,textarea:focus{border-color:var(--linieStark);
  background:rgba(255,255,255,.08)}
.zustimmung input{padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
label{margin-bottom:8px}

td.zahl{color:var(--tinte)}
th,td{padding:13px 10px}
.platzhalter{background:rgba(217,188,126,.06);border-radius:0 var(--r) var(--r) 0;
             padding:18px 22px}
.inhalt{border:0;box-shadow:inset 0 1px 0 var(--linie),inset 0 -1px 0 var(--linie);padding:18px 0}

/* ---- Hover: eine Regel, nicht zehn --------------------------------------
   Simon am 08.08.2026: *„je nachdem was man hovert werden manche kästchen leicht
   verfärbt aber nur bei manchen, dadurch wirkt es wie ein bug"*. Er hat recht, und
   die Ursache war, dass jede Fläche ihren eigenen Hover mitgebracht hatte.

   Ab hier gilt: WAS ANKLICKBAR IST, HELLT SICH UM DENSELBEN BETRAG AUF. Was nicht
   anklickbar ist, reagiert überhaupt nicht. Eine Fläche, die auf den Zeiger reagiert
   und dann nichts tut, ist ein Versprechen, das gebrochen wird — und genau das liest
   sich als Fehler.

   Der Betrag steht in --hover, damit „etwas deutlicher" eine Änderung ist. */
:root{--hover:rgba(255,255,255,.11);--hoverStark:rgba(255,255,255,.15)}

/* Die Regel hängt an den Flächen, die WIRKLICH eine Fläche sind, nicht an <button>:
   Ein Textknopf ohne Rahmen und ohne Innenabstand bekäme sonst ein scharfkantiges
   Rechteck, das an den Buchstaben klebt — und das ist derselbe Fehleindruck, der hier
   behoben werden sollte, nur eine Ebene tiefer. */
.knopf:hover,.wahl:hover,.tagknopf:hover,
.zeitknopf:not(.belegt):not(:disabled):hover,
.leistungen button:hover,.zeilen button:hover,.pfeil:hover,
.kopf .reiter a:hover,.wahlliste button:hover{
  background:var(--hover);border-color:var(--linieStark);transition:background .12s ease,border-color .12s ease}

/* Textknöpfe („Ändern", „Sperren"): dieselbe Aufhellung, aber mit Innenabstand und
   Rundung, damit sie eine Fläche haben, die aufgehellt werden KANN. */
.weg,.aendern{border-radius:100px;padding:6px 12px;margin:0 -12px;
              transition:background .12s ease,color .12s ease}
.weg:hover,.aendern:hover{background:var(--hover)}
.wahl.gewaehlt:hover,.zeitknopf.gewaehlt:hover{border-color:var(--metall)}
.knopf:hover:not(:disabled){background:var(--metall);border-color:var(--metall)}
.knopf.klar:hover:not(:disabled){background:var(--hoverStark)}
/* Nicht anklickbar, also kein Hover: die Zusammenfassung, Kästen, Tabellenzeilen. */
.kasten:hover,.zusammenfassung:hover,.linkzeile:hover,.zahlen div:hover,
table tr:hover{background:inherit}
/* Was aus ist, bleibt aus. */
.zeitknopf.belegt:hover,button:disabled:hover{background:transparent;border-color:var(--linie)}

/* ---- Darstellung: der Kunde darf wählen ---------------------------------
   Simons Frage vom 08.08.2026: *„kann der privatkunde nicht auch selber wählen
   welche oberfläche er möchte und der betrieb hat ein anderes damit es besser
   funktioniert"*. Genau so ist es jetzt geregelt, und die Trennung ist begründet:

   DER KUNDE WÄHLT (data-flaeche auf <html>): Er ist selten hier, meist einmal für
   einen Termin, oft im Freien und auf einem Telefon. Glas ist schön und kostet
   Kontrast; auf einem sonnenbeschienenen Bildschirm ist „ruhig" oder „hell" besser
   lesbar. Wer draußen steht, soll die Uhrzeit sehen können.

   DER BETRIEB WÄHLT NICHT: Der Kalender bleibt Glas. Er ist eine Arbeitsfläche mit
   Ebenen, täglich, an einem Ort mit gleichbleibendem Licht. Eine Arbeitsfläche, deren
   Aussehen jeder Mitarbeiter anders einstellt, kostet bei jeder Einweisung Zeit.

   glas   = Vorgabe, wie oben definiert
   ruhig  = dieselbe schwarze Fläche ohne Unschärfe und ohne Lichtflecken
   hell   = Papier statt Schwarz, Graphit als Akzent */
[data-flaeche="ruhig"] body::after{display:none}
[data-flaeche="ruhig"]{
  --flaeche:#121315;--erhoben:#191B1E;--linie:#282B30;--linieStark:#3A3E45;
  --kante:transparent;--milch:none;
  --leise:#8B8F96;--sehrLeise:#5F646B;--metallLeise:#9AA0A8;
  --hover:#1F2226;--hoverStark:#262A2F;
}
[data-flaeche="ruhig"] .kasten,[data-flaeche="ruhig"] .wahl,[data-flaeche="ruhig"] .gepraegt,
[data-flaeche="ruhig"] input,[data-flaeche="ruhig"] select,[data-flaeche="ruhig"] textarea,
[data-flaeche="ruhig"] .knopf.klar,[data-flaeche="ruhig"] .kopfleiste,
[data-flaeche="ruhig"] .tagknopf,[data-flaeche="ruhig"] .zeitknopf,
[data-flaeche="ruhig"] .leistungen,[data-flaeche="ruhig"] .zusammenfassung,
[data-flaeche="ruhig"] .betriebkopf{
  -webkit-backdrop-filter:none !important;backdrop-filter:none !important;
  box-shadow:none !important}
[data-flaeche="ruhig"] .kasten,[data-flaeche="ruhig"] .tagknopf,
[data-flaeche="ruhig"] .zeitknopf,[data-flaeche="ruhig"] .leistungen{background:var(--flaeche)}
[data-flaeche="ruhig"] .zusammenfassung{background:var(--erhoben)}
[data-flaeche="ruhig"] .kopfleiste,[data-flaeche="ruhig"] .betriebkopf{
  background:var(--grund);border-bottom:1px solid var(--linie)}
[data-flaeche="ruhig"] input,[data-flaeche="ruhig"] select,[data-flaeche="ruhig"] textarea{
  background:var(--flaeche)}
[data-flaeche="ruhig"] .knopf{box-shadow:none}
[data-flaeche="ruhig"] .knopf.klar{background:transparent;border-color:var(--linieStark)}

/* Hell: das Papier aus Entwurf E. Der Akzent muss dunkel sein, Platin auf Papier ist
   unsichtbar. Also Graphit als Fläche, Papier als Schrift darauf: derselbe Umschlag
   wie im Dunklen, nur andersherum. */
[data-flaeche="hell"] body::after{display:none}
[data-flaeche="hell"] body::before{display:none}
[data-flaeche="hell"]{
  color-scheme:light;
  --grund:#FAF8F5;--flaeche:#F3F0EB;--erhoben:#EDE9E2;
  --linie:#DFDAD2;--linieStark:#C7C0B5;--kante:transparent;--milch:none;
  --tinte:#1A1C20;--text:#2C2E33;--leise:#6B6F78;--sehrLeise:#8E939C;
  --metall:#2C2E33;--metallLeise:#7A7F88;--aufMetall:#FAF8F5;
  --gut:#3F6B4F;--warn:#8A6A28;--schlecht:#9C3B2C;
  --hover:#FFFFFF;--hoverStark:#EDE9E2;
}
[data-flaeche="hell"] body{background:var(--grund);color:var(--text)}
[data-flaeche="hell"] .kasten,[data-flaeche="hell"] .wahl,[data-flaeche="hell"] .gepraegt,
[data-flaeche="hell"] input,[data-flaeche="hell"] select,[data-flaeche="hell"] textarea,
[data-flaeche="hell"] .knopf.klar,[data-flaeche="hell"] .kopfleiste,
[data-flaeche="hell"] .tagknopf,[data-flaeche="hell"] .zeitknopf,
[data-flaeche="hell"] .leistungen,[data-flaeche="hell"] .zusammenfassung,
[data-flaeche="hell"] .betriebkopf{
  -webkit-backdrop-filter:none !important;backdrop-filter:none !important}
[data-flaeche="hell"] .kasten,[data-flaeche="hell"] .wahl,[data-flaeche="hell"] .leistungen,
[data-flaeche="hell"] .zusammenfassung,[data-flaeche="hell"] .tagknopf,
[data-flaeche="hell"] .zeitknopf,[data-flaeche="hell"] input,[data-flaeche="hell"] select,
[data-flaeche="hell"] textarea{background:#fff;box-shadow:none}
[data-flaeche="hell"] .kasten{box-shadow:0 2px 14px rgba(40,35,25,.05)}
[data-flaeche="hell"] .kasten.stark{background:var(--flaeche)}
[data-flaeche="hell"] .kopfleiste,[data-flaeche="hell"] .betriebkopf{
  background:#fff;border-bottom:1px solid var(--linie);box-shadow:none}
[data-flaeche="hell"] .knopf{color:#fff;box-shadow:none}
[data-flaeche="hell"] .knopf.klar{background:#fff;color:var(--tinte);border-color:var(--linieStark)}
[data-flaeche="hell"] .zeitknopf.gewaehlt,[data-flaeche="hell"] .tagknopf.gewaehlt{
  background:var(--metall);color:#fff;border-color:var(--metall)}
[data-flaeche="hell"] .zeitknopf.gewaehlt *,[data-flaeche="hell"] .tagknopf.gewaehlt *{color:#fff}
[data-flaeche="hell"] .zeitknopf.belegt{background:transparent;color:var(--sehrLeise)}
[data-flaeche="hell"] .fussleiste{border-top:1px solid var(--linie);box-shadow:none}

/* Die Töne im Hellen. Dieselben fünf Farben, nur so weit abgedunkelt, dass Schrift in
   Papierweiß darauf lesbar bleibt: Messing als Papierfarbe wäre ein gelber Knopf mit
   weißer Schrift, also unlesbar. Reihenfolge zählt — diese Regeln stehen NACH dem
   hell-Block, sonst gewinnt dessen Graphit. */
[data-flaeche="hell"][data-ton="messing"]{--metall:#7A5A1E;--metallLeise:#8A7A5E}
[data-flaeche="hell"][data-ton="salbei"]{--metall:#2F5B3E;--metallLeise:#5E7A66}
[data-flaeche="hell"][data-ton="ton"]{--metall:#8A3A26;--metallLeise:#8A6A60}
[data-flaeche="hell"][data-ton="nacht"]{--metall:#26406E;--metallLeise:#5E6A82}
[data-flaeche="hell"][data-ton] .knopf{color:#fff}

/* Im „ruhig" gilt derselbe Ton wie im Glas: Dort ist der Grund schwarz, die hellen
   Metallfarben stimmen also weiterhin. Nur der Hover ist flach statt durchscheinend,
   und das steht schon oben. */

/* Der kleine Schalter im Fuß. Klein, weil er eine Vorliebe ist und keine Aufgabe. */
.darstellung{display:flex;gap:8px;align-items:center;font-family:var(--mono);
             font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
             color:var(--sehrLeise)}
.darstellung button{background:none;border:0;font:inherit;color:var(--leise);cursor:pointer;
                    padding:4px 8px;border-radius:100px}
.darstellung button:hover{color:var(--tinte);background:var(--hover)}
.darstellung button[aria-pressed="true"]{color:var(--tinte);
  box-shadow:inset 0 0 0 1px var(--linieStark)}
.farbwahl{gap:6px}
.punktwahl{width:20px;height:20px;border-radius:50%;padding:0;border:0;cursor:pointer;
           box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.punktwahl:hover{transform:scale(1.12);background:inherit}
.punktwahl[aria-pressed="true"]{box-shadow:0 0 0 2px var(--grund),0 0 0 3px var(--tinte)}

/* Ohne backdrop-filter bleiben die Flächen einfach etwas heller. Kein Zusammenbruch,
   nur weniger Wirkung. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .kasten,.wahl,.gepraegt,input,select,textarea,.knopf.klar{background:rgba(28,30,34,.92)}
  .kopfleiste{background:rgba(16,18,21,.96)}
}
