/*
 ====================================================================
  Acompio-Theme fuer EspoCRM  -  Stylesheet
  Basis: Standard-Theme "Espo" aus EspoCRM 10.0.3

  ROLLE DIESES THEMES (Stand 20.08.2026)

  Das Theme bringt bewusst KEINE eigene Farbgebung mehr mit. Es erbt
  die komplette Palette vom Standard-Theme "Espo" und dient nur noch
  als Traeger fuer eigene CSS-Regeln (Logo, Stream-Bubbles). Grund:
  EspoCRM bietet ausserhalb eines Themes keinen Ort fuer eigenes CSS
  - weder Settings noch Portal haben ein Custom-CSS-Feld, und
  app.client in der Metadata ist leer. Wer eigene Regeln braucht,
  braucht ein Theme.

  Wichtig fuer spaetere Aenderungen: Farbwerte gehoeren hier NICHT
  hinein. Die frueheren :root-Overrides (Navy-Navigation) sind am
  20.08.2026 ersatzlos entfernt worden, nicht durch die Espo-Hexwerte
  ersetzt. Ein Nachbau der Palette waere eine zweite Quelle der
  Wahrheit, die bei jedem EspoCRM-Update auseinanderlaufen kann.
  Durch das Erben bleibt das Theme automatisch synchron.

  Historie:
  11.08.2026  Navy-Palette fuer Navigation und Buttons eingefuehrt.
  12.08.2026  Abschnitt "Chat-Optik im Ticket-Stream" ergaenzt.
  20.08.2026  Farbgebung entfernt, Theme erbt wieder von "Espo".
              Ebenfalls entfernt: die .sticked-bar-Korrektur. Sie war
              reine Kompensation fuer das navy --navbar-bg und ist
              ohne die Overrides gegenstandslos.
  20.08.2026  Logo: weisse Karte verworfen, durch mix-blend-mode
              ersetzt (siehe Begruendung unten).
  20.08.2026  Abschnitt "Footer" ergaenzt. Gehoert zu
              client/custom/src/acompio-footer.js - beide zusammen
              hochladen.
 ====================================================================
*/

/* Basis-Stylesheet des Standard-Themes.
   Pfad ist relativ zu DIESER Datei (client/custom/css/acompio/main.css):
   drei Ebenen hoch nach client/, dann css/espo/espo.css.
   Absolute Alternative, falls Espo je in ein Unterverzeichnis wandert:
   @import url("/client/css/espo/espo.css"); */
@import url("../../../css/espo/espo.css");


/* ====================================================================
   Logo - weissen Hintergrund wegrechnen

   Die Logodatei (874x250 px) ist vollflaechig deckend, 0 transparente
   Pixel, ~80 Prozent davon reines Weiss. Der weisse Kasten steckt in
   der Grafik selbst. mix-blend-mode:multiply multipliziert jeden Pixel
   mit dem Hintergrund; Weiss (Faktor 1,0) ergibt exakt den Hintergrund
   und verschwindet dadurch, ohne dass die Bilddatei angefasst werden
   muss.

   Warum nicht die frueher geplante weisse Karte: Sie verlangte Padding
   am .navbar-logo-container, was das Logo um 12 px nach unten geschoben
   hat, und auf Espos Hellgrau (#f1f3f5) war der Weiss-auf-Hellgrau-
   Kontrast so gering, dass die Karte nach Freistellungsfehler aussah
   statt nach Absicht. Multiply laesst die Originalposition unberuehrt.

   GRENZE DIESER LOESUNG - vor Farbaenderungen lesen:
   Multiply funktioniert nur auf hellem Hintergrund. Bekaeme die
   Navigation je einen dunklen Hintergrund (die alte Navy-Idee), wuerde
   das Logo mit abgedunkelt und praktisch unsichtbar. In dem Fall diese
   Regel entfernen und stattdessen ein freigestelltes PNG/SVG in das
   Portal-Feld "Logo" laden.

   Nebenwirkung auf hellem Grund: Helle Logobestandteile dunkeln
   minimal nach. Bei #f1f3f5 liegt der Faktor bei ~0,95, im direkten
   Vergleich nicht wahrnehmbar. Am 20.08.2026 live gegen
   helpdesk.acompio.net geprueft.

   Dauerhaft sauber bleibt ein freigestelltes PNG oder SVG im
   Portal-Feld "Logo"; dann kann dieser Block ersatzlos entfallen.
   ==================================================================== */

.navbar .navbar-brand img {
  mix-blend-mode: multiply;
}


/* ====================================================================
   Footer - zusaetzlicher Acompio-Link

   Gegenstueck zu client/custom/src/acompio-footer.js. Das Skript baut
   nur die Struktur (<p id="acompio-footer-link"> mit <a>), die gesamte
   Positionierung steht hier. Beide Dateien gehoeren zusammen.

   Ziel: Acompio-Link mittig, auf GLEICHER HOEHE wie der links stehende
   EspoCRM-Credit. Ein zweites <p> im normalen Fluss wuerde darunter
   rutschen, deshalb absolute Positionierung ueber die volle Footer-
   Breite. Nur so ist der Link echt zentriert - eine Flexbox wuerde ihn
   im verbleibenden Platz RECHTS neben dem Credit zentrieren, also
   sichtbar aus der Mitte versetzt.

   footer{position:relative} setzt bereits espo.css. Wir setzen es
   trotzdem, damit die absolute Positionierung nicht davon abhaengt:
   Fiele der Wert in einer kuenftigen Version weg, wuerde sich der Link
   am naechsten positionierten Vorfahren ausrichten und irgendwo auf der
   Seite landen.

   pointer-events: Das absolute <p> liegt als unsichtbare Flaeche ueber
   der GESAMTEN Footer-Breite und damit ueber dem EspoCRM-Link. Ohne
   pointer-events:none waere dieser nicht mehr anklickbar. Das <a> holt
   sich die Klickbarkeit per pointer-events:auto zurueck. Am 20.08.2026
   per elementFromPoint geprueft: beide Links treffen ihr eigenes
   Element.

   Der Umbruch bei 640px ist gemessen, nicht geschaetzt: Der Credit
   endet 144px hinter der Footer-Kante, der Acompio-Link ist 110px
   breit. Unterhalb von rund 400px Footer-Breite ueberlappen beide.
   640px Viewport-Breite liegt in beiden Layout-Faellen sicher darueber
   - mit ausgeklappter Seitenleiste (Footer = Viewport minus 232px)
   ebenso wie im mobilen Layout ohne Seitenleiste.
   ==================================================================== */

footer {
  position: relative;
}

#acompio-footer-link {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: 0;
  text-align: center;
  pointer-events: none;
}

#acompio-footer-link a {
  pointer-events: auto;
}

/* Schmale Fenster: zurueck in den normalen Fluss, Link rutscht unter
   den Credit statt ihn zu ueberlagern. */
@media (max-width: 640px) {
  #acompio-footer-link {
    position: static;
    margin-top: 2px;
  }
}


/* ====================================================================
   Chat-Optik im Ticket-Stream (nur Portal)

   Die Klassen setzt client/custom/src/stream-bubble.js, und zwar nur
   fuer Portal-User und nur am Case-Stream. Systemzeilen (Update,
   Create, Assign) bekommen bewusst keine Klasse und bleiben neutral -
   sonst wird die Spalte unruhig.

   !important ist bei background-color noetig: .list-group-item setzt
   bereits Weiss und gewinnt sonst ueber Spezifitaet. Am 12.08.2026
   im laufenden Portal gemessen.
   ==================================================================== */

.list-row.acompio-bubble-support,
.list-row.acompio-bubble-customer {
  max-width: 78%;
  padding: 12px 16px !important;
  border-bottom: none !important;
}

/* Support: links, hellblau, Ecke unten links angeschnitten */
.list-row.acompio-bubble-support {
  background-color: #EAF2FB !important;
  border-radius: 10px 10px 10px 2px !important;
  margin: 0 auto 10px 0 !important;
}

/* Kunde: rechts, grau, Ecke unten rechts angeschnitten */
.list-row.acompio-bubble-customer {
  background-color: #F1F3F5 !important;
  border-radius: 10px 10px 2px 10px !important;
  margin: 0 0 10px auto !important;
}
