/* Agat Portal — gemeinsame UI-Basis für alle Seiten: Schriften, Icon-Schrift, leichte Animationen.
   Eingebunden per <link rel="stylesheet" href="/agat-ui.css"> — VOR dem seiteneigenen <style>.
   Icons: alle Emoji-Zeichen des Portals kommen aus /fonts/icons-subset.woff2 (Twemoji-Teilmenge),
   damit sie auf jedem Gerät gleich aussehen (auch Windows 7 ohne Farb-Emoji). Neue Emoji im UI →
   Zeichen in die Teilmenge aufnehmen und die unicode-range unten ergänzen (in BEIDEN Icon-Faces). */

/* ── Schriften ───────────────────────────────────────────────────────────── */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/dm-sans.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/dm-serif-display.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/dm-serif-display-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── Icon-Schrift (Emoji) — gilt für Fließtext UND Überschriften ──────────── */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/icons-subset.woff2') format('woff2');unicode-range:U+2194,U+21A9,U+23F0,U+23F1,U+2600,U+2615,U+2699,U+26A0,U+26A1,U+2705,U+270D,U+270F,U+2B05,U+2B06,U+2B07,U+2B50,U+FE0F,U+1F319,U+1F321,U+1F324,U+1F36C,U+1F382,U+1F389,U+1F3B0,U+1F3D6,U+1F3E2,U+1F3EA,U+1F441,U+1F464,U+1F465,U+1F477,U+1F4A1,U+1F4AC,U+1F4B6,U+1F4BE,U+1F4C1,U+1F4C2,U+1F4C4,U+1F4C5,U+1F4C7,U+1F4C8,U+1F4CA,U+1F4CB,U+1F4CD,U+1F4CE,U+1F4DD,U+1F4DE,U+1F4E4,U+1F4E5,U+1F4E6,U+1F4E8,U+1F4ED,U+1F4F8,U+1F4FA,U+1F50C,U+1F50D,U+1F511,U+1F512,U+1F527,U+1F553,U+1F5A8,U+1F5BC,U+1F5C4,U+1F5D1,U+1F648,U+1F6A8,U+1F6AA,U+1F6AB,U+1F6B8,U+1F6BD,U+1F6D2,U+1F6E0,U+1F6E1,U+1F7E2,U+1F912,U+1F916,U+1F9E4,U+1F9FB,U+1F9FD,U+1F9FE,U+1FA91,U+FE0F}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/icons-subset.woff2') format('woff2');unicode-range:U+2194,U+21A9,U+23F0,U+23F1,U+2600,U+2615,U+2699,U+26A0,U+26A1,U+2705,U+270D,U+270F,U+2B05,U+2B06,U+2B07,U+2B50,U+FE0F,U+1F319,U+1F321,U+1F324,U+1F36C,U+1F382,U+1F389,U+1F3B0,U+1F3D6,U+1F3E2,U+1F3EA,U+1F441,U+1F464,U+1F465,U+1F477,U+1F4A1,U+1F4AC,U+1F4B6,U+1F4BE,U+1F4C1,U+1F4C2,U+1F4C4,U+1F4C5,U+1F4C7,U+1F4C8,U+1F4CA,U+1F4CB,U+1F4CD,U+1F4CE,U+1F4DD,U+1F4DE,U+1F4E4,U+1F4E5,U+1F4E6,U+1F4E8,U+1F4ED,U+1F4F8,U+1F4FA,U+1F50C,U+1F50D,U+1F511,U+1F512,U+1F527,U+1F553,U+1F5A8,U+1F5BC,U+1F5C4,U+1F5D1,U+1F648,U+1F6A8,U+1F6AA,U+1F6AB,U+1F6B8,U+1F6BD,U+1F6D2,U+1F6E0,U+1F6E1,U+1F7E2,U+1F912,U+1F916,U+1F9E4,U+1F9FB,U+1F9FD,U+1F9FE,U+1FA91,U+FE0F}

/* ── Leichte Animationen ─────────────────────────────────────────────────── */
@keyframes agat-fade-in{from{opacity:0}to{opacity:1}}
@keyframes agat-rise-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes agat-pop-in{from{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}

/* Seite blendet weich ein */
body{animation:agat-fade-in .25s ease-out}

/* Inhaltsblöcke steigen kurz auf (nur statische Container — Listen/Kalender werden häufig neu gerendert) */
.section-card,.card{animation:agat-rise-in .3s ease-out both}

/* Dialoge: Overlay blendet ein, Box springt leicht auf */
.modal-overlay:not(.hidden){animation:agat-fade-in .18s ease-out}
.modal-overlay:not(.hidden) .modal{animation:agat-pop-in .22s cubic-bezier(.2,.8,.2,1)}
.agat-pop{animation:agat-pop-in .22s cubic-bezier(.2,.8,.2,1)}

/* Toasts */
.toast{animation:agat-fade-in .2s ease-out}

/* Listenzeilen heben sich beim Überfahren minimal */
.emp-item,.doc-item{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.emp-item:hover,.doc-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06)}

/* Tasten: kurzes Drücken spürbar, Fokus sichtbar (Tastatur) */
.btn{transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease}
.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}
.btn:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #2563eb;outline-offset:2px}

/* Nutzer, die weniger Bewegung wünschen (System-Einstellung) */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ── Gemeinsame Korrekturen aus dem UI-Review (10/2026) ── */
/* Sichtbarer Tastatur-Fokus auch für Eingabefelder: die Seiten setzen input:focus{outline:none},
   "html input:focus-visible" gewinnt per höherer Spezifität. */
html input:focus-visible,html select:focus-visible,html textarea:focus-visible{outline:2px solid #2563eb;outline-offset:1px}
/* Seiten-eigenes .btn{transition:all} → nur diese Eigenschaften animieren */
html .btn{transition-property:background-color,border-color,color,box-shadow,transform,opacity}
/* Keine Doppeltipp-Zoom-Verzögerung auf Touch-Geräten */
html button,html a,html .btn,html [onclick],html label,html select{touch-action:manipulation}
/* iOS/Android zoomen bei Eingabefeldern unter 16px automatisch hinein */
@media (pointer:coarse){html input:not([type=checkbox]):not([type=radio]):not([type=range]),html select,html textarea{font-size:16px}}
/* Lange Namen/Texte brechen um statt das Layout zu sprengen */
html .emp-name,html .doc-name,html .ticket-name,html .rep-dup-name,html .automat-name,html .branch-name,html .ticket-note{overflow-wrap:anywhere}
/* Toast-Stapel (agat-ui.js): mehrere Meldungen untereinander statt übereinander */
.agat-toasts{position:fixed;right:16px;bottom:16px;z-index:10000;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:calc(100vw - 32px);pointer-events:none}
.agat-toasts>.toast{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;max-width:100%;white-space:normal!important;pointer-events:auto}
@media (max-width:600px){.agat-toasts{left:16px;right:16px;align-items:stretch}}
/* Gesperrter Button während einer Anfrage */
button[data-busy="1"]{cursor:progress;opacity:.7}
