/*
 * TravTools · © MUNLabs
 * buttons.css — zentrale, massgebliche Button-Optik.
 *
 * Ziel: ALLE Buttons exakt gleich gross & auf einer Linie (einheitliche Geometrie),
 *       Farbe nach BEDEUTUNG (Gold = Aktion/Speichern, Glas = Sekundaer, Rot = Loeschen,
 *       Blau = Info/Link-Aktion, Gruen = Bestaetigen).
 * Hover: Licht statt Bewegung — Verlauf wandert, Glow blueht auf, Lichtstreifen zieht durch.
 *        Kein Versatz, keine Skalierung. Textfarbe ist in jedem Zustand explizit gesetzt.
 *
 * Technik: laedt spaet im Stack; Basis nutzt :where() zum Ausschluss von Layout-Containern
 * OHNE Spezifitaet zu erhoehen -> die semantischen Einzelklassen gewinnen per Reihenfolge.
 * Nicht erfasst: generisches <button> (Sidebar/Chrome), Schliessen-X, Burger, Glocke.
 * Tokens: shared.css (--btn-h, --btn-r, --gold-*, --neu-*, --dan-*).
 */

/* ============ 1) GEOMETRIE (einheitlich) + Default-Gold ============ */
.tt-btn,
[class*="tt-btn-"]:not(:where(.tt-btn-row,.tt-btn-row-compact,.tt-btns-right,.tt-btn-group,.tt-btn-icon,.tt-btn-mini,.tt-page-btn,.tt-btn-inline,.tt-btn-head)),
.tt-cta-btn, .tt-su-btn, .tt-send-btn, .tt-act-btn, .tt-action,
.tt-save-btn, .tt-download-btn, .tt-danger-btn, .tt-test-btn, .tt-search-btn,
.tt-update-btn, .tt-del-btn, .wiz-btn, .btn-submit, .btn-copy-huge,
.tt-btn-login, .wartung-submit, .wartung-admin-btn,
input[type="submit"], input[type="button"]{
  box-sizing:border-box !important;
  min-height:var(--btn-h) !important;
  height:var(--btn-h) !important;
  padding:0 18px !important;
  border-radius:var(--btn-r) !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.01em;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  vertical-align:middle !important;
  text-decoration:none !important;
  cursor:pointer !important;
  transform:none !important;
  white-space:nowrap;
  position:relative; overflow:hidden; isolation:isolate;
  transition:box-shadow var(--tt-med) var(--tt-ease), background-position var(--tt-slow) var(--tt-ease), background-color var(--tt-med) var(--tt-ease), border-color var(--tt-med) var(--tt-ease), color var(--tt-med) var(--tt-ease), filter var(--tt-med) var(--tt-ease) !important;
  /* Default = Gold: Bevel-Schicht + wandernder Goldverlauf */
  background-image:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0) 55%, rgba(0,0,0,.10)), var(--tt-grad-gold-pan) !important;
  background-size:100% 100%, 240% 100% !important;
  background-position:0 0, 0 0 !important;
  background-color:var(--tt-gold) !important;
  color:var(--gold-fg) !important;
  border:1px solid var(--gold-bd) !important;
  box-shadow:var(--gold-glow), inset 0 1px 0 rgba(255,255,255,.45) !important;
  text-shadow:0 1px 0 rgba(255,255,255,.25);
}
/* Icons/Text in Gold-Buttons dunkel */
.tt-btn > i, [class*="tt-btn-"] > i, .tt-cta-btn > i, .tt-su-btn > i{ color:inherit; }

/* Lichtstreifen beim Hover (nur mit Bewegung) */
@media (prefers-reduced-motion: no-preference){
  .tt-btn::after, [class*="tt-btn-"]:not(.tt-btn-icon):not(.tt-icon-btn):not(.tt-btn-row):not(.tt-btn-row-compact):not(.tt-btns-right):not(.tt-btn-group)::after,
  .tt-cta-btn::after, .tt-su-btn::after, .tt-send-btn::after, .tt-act-btn::after, .wiz-btn::after, .tt-save-btn::after{
    content:""; position:absolute; top:0; left:0; width:60%; height:100%; z-index:1; pointer-events:none;
    background:linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
    transform:translateX(-210%) skewX(-18deg); transition:transform .6s var(--tt-ease);
  }
  .tt-btn:hover::after, [class*="tt-btn-"]:not(.tt-btn-icon):not(.tt-icon-btn):hover::after,
  .tt-cta-btn:hover::after, .tt-su-btn:hover::after, .tt-send-btn:hover::after, .tt-act-btn:hover::after, .wiz-btn:hover::after, .tt-save-btn:hover::after{ transform:translateX(240%) skewX(-18deg); }
}

/* ============ 2) NEUTRAL (Sekundaer / Sperren / Zurueck / Abbrechen) — Glas ============ */
.tt-btn-secondary, .tt-btn-cancel, .tt-btn-back, .tt-btn-ghost, .tt-btn-lock,
.tt-btn-leave, .tt-btn-leave-text, .tt-btn-archive, .tt-btn-unblur, .tt-btn-sub,
.tt-btn-reset, .btn-back, .tt-btn.secondary, .tt-view-btn, .tt-btn-small.secondary,
.wiz-btn-sec, .tm-btn-cancel, .btn.secondary, .button.secondary{
  background-image:linear-gradient(90deg, rgba(242,193,74,.16), rgba(242,193,74,.04) 50%, rgba(170,192,255,.05)) !important;
  background-size:240% 100% !important; background-position:100% 0 !important;
  background-color:rgba(170,192,255,.06) !important;
  color:var(--neu-fg) !important;
  border:1px solid var(--neu-bd) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
  text-shadow:none;
}
/* Aktive Zustaende neutraler Buttons -> Gold */
.tt-view-btn.active, .tt-btn-secondary.active{
  background-image:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0) 55%, rgba(0,0,0,.10)), var(--tt-grad-gold-pan) !important;
  background-color:var(--tt-gold) !important; background-size:100% 100%, 240% 100% !important;
  color:var(--gold-fg) !important; border-color:var(--gold-bd) !important;
  box-shadow:var(--gold-glow) !important;
}

/* ============ 3) DANGER (Loeschen / Entfernen / Sperren-Nuke / Ablehnen) ============ */
.tt-btn-danger, .tt-btn-del, .tt-btn-delete, .tt-btn-remove, .tt-btn-nuke, .tt-btn-deny, .tt-btn-block,
.tt-danger-btn, .tt-del-btn, .tt-btn.danger, .btn-del, .tt-admin-del, .tt-btn-danger-link{
  background-image:linear-gradient(90deg, rgba(255,92,92,.34), rgba(255,92,92,.10) 50%, rgba(255,92,92,.10)) !important;
  background-size:240% 100% !important; background-position:100% 0 !important;
  background-color:rgba(255,92,92,.10) !important;
  color:var(--dan-fg) !important;
  border:1px solid var(--dan-bd) !important;
  box-shadow:0 0 16px rgba(255,92,92,.12), inset 0 1px 0 rgba(255,255,255,.04) !important;
  text-shadow:none;
}

/* ============ 3b) INFO / BLAU (Link-Aktionen, Sync, Anzeigen) ============ */
.tt-btn-info, .tt-btn-blue, .tt-btn.info, .tt-btn-link, .btn-send-link, .tt-btn-invite, .tt-btn-join, .tt-btn-play, .tt-btn-dashboard{
  background-image:linear-gradient(90deg, rgba(123,157,255,.55), rgba(61,108,245,.30) 50%, rgba(61,108,245,.30)) !important;
  background-size:240% 100% !important; background-position:100% 0 !important;
  background-color:rgba(61,108,245,.26) !important;
  color:#e6eeff !important;
  border:1px solid rgba(123,157,255,.55) !important;
  box-shadow:0 0 16px rgba(61,108,245,.20), inset 0 1px 0 rgba(255,255,255,.10) !important;
  text-shadow:none;
}
.tt-btn-info:hover, .tt-btn-blue:hover, .tt-btn.info:hover, .tt-btn-link:hover, .btn-send-link:hover, .tt-btn-invite:hover, .tt-btn-join:hover, .tt-btn-play:hover, .tt-btn-dashboard:hover{
  filter:none !important; background-image:linear-gradient(90deg, rgba(123,157,255,.55), rgba(61,108,245,.30) 50%, rgba(61,108,245,.30)) !important; background-size:240% 100% !important;
  background-position:0 0 !important; background-color:rgba(61,108,245,.40) !important;
  border-color:rgba(160,186,255,.85) !important; box-shadow:0 0 26px rgba(61,108,245,.42), 0 0 0 1px rgba(123,157,255,.3) inset !important; color:#fff !important;
}

/* ============ 3c) SUCCESS / GRUEN (Bestaetigen, Annehmen) ============ */
.tt-btn-success, .tt-btn-ok, .tt-btn.ok{
  background-image:linear-gradient(90deg, rgba(61,220,132,.42), rgba(22,163,74,.22) 50%, rgba(22,163,74,.22)) !important;
  background-size:240% 100% !important; background-position:100% 0 !important;
  background-color:rgba(22,163,74,.18) !important;
  color:#d4ffe6 !important;
  border:1px solid rgba(61,220,132,.5) !important;
  box-shadow:0 0 16px rgba(61,220,132,.16), inset 0 1px 0 rgba(255,255,255,.06) !important;
  text-shadow:none;
}
.tt-btn-success:hover, .tt-btn-ok:hover, .tt-btn.ok:hover{
  filter:none !important; background-image:linear-gradient(90deg, rgba(61,220,132,.42), rgba(22,163,74,.22) 50%, rgba(22,163,74,.22)) !important; background-size:240% 100% !important;
  background-position:0 0 !important; background-color:rgba(22,163,74,.30) !important;
  border-color:rgba(61,220,132,.85) !important; box-shadow:0 0 26px rgba(61,220,132,.36) !important; color:#fff !important;
}

/* ============ 4) HOVER — Licht statt Bewegung ============ */
.tt-btn:not(:where(.secondary,.danger,.info,.ok)):hover,
[class*="tt-btn-"]:not(:where(.tt-btn-row,.tt-btn-row-compact,.tt-btns-right,.tt-btn-group,
  .tt-btn-secondary,.tt-btn-cancel,.tt-btn-back,.tt-btn-ghost,.tt-btn-lock,.tt-btn-leave,.tt-btn-leave-text,.tt-btn-archive,.tt-btn-unblur,.tt-btn-sub,.tt-btn-reset,
  .tt-btn-danger,.tt-btn-del,.tt-btn-delete,.tt-btn-remove,.tt-btn-nuke,.tt-btn-deny,.tt-btn-block,.tt-btn-danger-link,
  .tt-btn-info,.tt-btn-blue,.tt-btn-link,.tt-btn-invite,.tt-btn-join,.tt-btn-play,.tt-btn-dashboard,.tt-btn-success,.tt-btn-ok,
  .tt-btn-icon,.tt-btn-mini,.tt-btn-head,.tt-btn-inline,.tt-btn-small,.tt-btn-add,.tt-btn-sync,.tt-btn-check,.tt-btn-approve)):hover,
.tt-cta-btn:hover, .tt-su-btn:hover, .tt-send-btn:hover, .tt-act-btn:hover, .tt-action:hover, .wiz-btn:hover, .tt-save-btn:hover,
.tt-download-btn:hover, .tt-test-btn:hover, .tt-search-btn:hover, .tt-update-btn:hover, .btn-submit:hover, .btn-copy-huge:hover, .tt-btn-login:hover, .wartung-submit:hover, .wartung-admin-btn:hover,
input[type="submit"]:hover, input[type="button"]:hover{
  filter:none !important;
  transform:none !important;
  /* Gold bleibt Gold: Alt-CSS tauscht beim Hover sonst den Hintergrund (dunkle Schrift auf dunklem Grund) */
  background-image:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0) 55%, rgba(0,0,0,.10)), var(--tt-grad-gold-pan) !important;
  background-color:var(--tt-gold) !important;
  background-size:100% 100%, 240% 100% !important;
  background-position:0 0, 100% 0 !important;
  color:var(--gold-fg) !important;
  border-color:rgba(255,226,140,.9) !important;
  box-shadow:0 12px 30px rgba(1,4,18,.34), 0 0 28px rgba(242,193,74,.5), 0 0 0 1px rgba(255,236,170,.35) inset, inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.tt-btn:active, [class*="tt-btn-"]:active, .tt-cta-btn:active, .tt-su-btn:active, .wiz-btn:active{ transform:none !important; filter:brightness(.96) !important; }
.tt-btn-secondary:hover, .tt-btn-cancel:hover, .tt-btn-back:hover, .tt-btn-ghost:hover, .tt-btn-lock:hover,
.tt-btn-leave:hover, .tt-btn-leave-text:hover, .tt-btn-archive:hover, .tt-btn-unblur:hover, .tt-btn-sub:hover,
.tt-btn-reset:hover, .btn-back:hover, .tt-btn.secondary:hover, .tt-view-btn:hover, .wiz-btn-sec:hover, .tm-btn-cancel:hover{
  filter:none !important;
  background-image:linear-gradient(90deg, rgba(242,193,74,.16), rgba(242,193,74,.04) 50%, rgba(170,192,255,.05)) !important;
  background-size:240% 100% !important;
  background-position:0 0 !important;
  background-color:rgba(170,192,255,.10) !important;
  border-color:rgba(242,193,74,.5) !important;
  color:#fff !important;
  box-shadow:0 0 22px rgba(242,193,74,.16), 0 0 0 1px rgba(242,193,74,.14) inset, inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.tt-btn-danger:hover, .tt-btn-del:hover, .tt-btn-delete:hover, .tt-btn-remove:hover, .tt-btn-nuke:hover, .tt-btn-deny:hover, .tt-btn-block:hover,
.tt-danger-btn:hover, .tt-del-btn:hover, .tt-btn.danger:hover, .btn-del:hover, .tt-admin-del:hover, .tt-btn-danger-link:hover{
  filter:none !important;
  background-image:linear-gradient(90deg, rgba(255,92,92,.34), rgba(255,92,92,.10) 50%, rgba(255,92,92,.10)) !important;
  background-size:240% 100% !important;
  background-position:0 0 !important;
  background-color:rgba(255,92,92,.24) !important;
  border-color:rgba(255,120,120,.85) !important;
  color:#fff !important;
  box-shadow:0 0 26px rgba(255,92,92,.38), 0 0 0 1px rgba(255,92,92,.25) inset !important;
}

/* Fokus sichtbar */
.tt-btn:focus-visible, [class*="tt-btn-"]:focus-visible, input[type="submit"]:focus-visible, .wiz-btn:focus-visible{
  outline:2px solid rgba(242,193,74,.65) !important; outline-offset:2px !important;
}

/* ============ 5) DEAKTIVIERT ============ */
.tt-btn[disabled], [class*="tt-btn-"][disabled], button[disabled], input[disabled],
.tt-btn:disabled, [class*="tt-btn-"]:disabled, .wiz-btn:disabled{
  opacity:.5 !important; cursor:not-allowed !important; filter:none !important; box-shadow:none !important; transform:none !important;
}

/* ============ 6) GROESSEN-SONDERFAELLE (bleiben funktional) ============ */
/* Kleine Chip-/Header-Buttons */
.tt-btn-mini, .tt-btn-head, .tt-btn-inline, .tt-mini-btn, .tt-btn-small, .tt-p-btn, .tt-bulk-btn, .mt-btn-save-mini, .btn-mini, .tm-btn-icon, .tt-btn-add{
  box-sizing:border-box !important;
  height:32px !important; min-height:32px !important;
  padding:0 12px !important; font-size:12px !important; font-weight:800 !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:6px !important;
  border-radius:10px !important; vertical-align:middle !important; cursor:pointer !important; text-decoration:none !important;
  background-image:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 55%, rgba(0,0,0,.08)), var(--tt-grad-gold-pan) !important;
  background-size:100% 100%, 240% 100% !important; background-position:0 0, 0 0 !important;
  background-color:var(--tt-gold) !important;
  color:var(--gold-fg) !important; border:1px solid var(--gold-bd) !important;
  box-shadow:0 0 12px rgba(242,193,74,.18), inset 0 1px 0 rgba(255,255,255,.4) !important;
  transition:box-shadow var(--tt-med) var(--tt-ease), background-position var(--tt-slow) var(--tt-ease), background-color var(--tt-med) var(--tt-ease), border-color var(--tt-med) var(--tt-ease), color var(--tt-med) var(--tt-ease) !important;
  white-space:nowrap; position:relative; overflow:hidden;
}
.tt-btn-mini:not(.secondary):not([data-tt-archive-toggle]):hover, .tt-btn-head:not(.secondary):hover, .tt-btn-inline:not(.secondary):hover, .tt-mini-btn:hover, .tt-btn-small:not(.secondary):hover, .tt-p-btn:hover, .tt-bulk-btn:hover, .mt-btn-save-mini:hover, .btn-mini:hover, .tt-btn-add:hover{
  filter:none !important;
  background-image:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 55%, rgba(0,0,0,.08)), var(--tt-grad-gold-pan) !important;
  background-color:var(--tt-gold) !important; background-size:100% 100%, 240% 100% !important;
  background-position:0 0, 100% 0 !important; color:var(--gold-fg) !important; border-color:rgba(255,226,140,.9) !important;
  box-shadow:0 0 22px rgba(242,193,74,.42), inset 0 1px 0 rgba(255,255,255,.5) !important; transform:none !important;
}
/* Sekundaere Mini-Buttons als Glas */
.tt-btn-mini.secondary, .tt-btn-inline.secondary, .tt-btn-small.secondary, .tt-btn-head.secondary, .tm-btn-icon, .tt-btn-mini[data-tt-archive-toggle]{
  background-image:linear-gradient(90deg, rgba(242,193,74,.16), rgba(242,193,74,.04) 50%, rgba(170,192,255,.05)) !important;
  background-size:240% 100% !important; background-position:100% 0 !important;
  background-color:rgba(170,192,255,.06) !important; color:var(--neu-fg) !important; border:1px solid var(--neu-bd) !important; box-shadow:none !important;
}
.tt-btn-mini.secondary:hover, .tt-btn-inline.secondary:hover, .tt-btn-small.secondary:hover, .tt-btn-head.secondary:hover, .tm-btn-icon:hover, .tt-btn-mini[data-tt-archive-toggle]:hover{
  background-image:linear-gradient(90deg, rgba(242,193,74,.16), rgba(242,193,74,.04) 50%, rgba(170,192,255,.05)) !important; background-size:240% 100% !important;
  background-position:0 0 !important; background-color:rgba(170,192,255,.10) !important; color:#fff !important;
  border-color:rgba(242,193,74,.5) !important; box-shadow:0 0 18px rgba(242,193,74,.16) !important; filter:none !important;
}

/* Quadratische Icon-Buttons (z.B. Edit-Chevron) */
.tt-btn-icon, .tt-icon-btn, .btn-icon{
  box-sizing:border-box !important;
  width:38px !important; height:38px !important; min-width:38px !important; padding:0 !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  border-radius:11px !important; vertical-align:middle !important; cursor:pointer !important;
  background:var(--neu-bg) !important; color:var(--neu-fg) !important; border:1px solid var(--neu-bd) !important;
  transition:box-shadow var(--tt-med) var(--tt-ease), border-color var(--tt-med) var(--tt-ease), background var(--tt-med) var(--tt-ease), color var(--tt-med) var(--tt-ease) !important;
}
.tt-btn-icon:hover, .tt-icon-btn:hover, .btn-icon:hover{ background:rgba(242,193,74,.12) !important; border-color:rgba(242,193,74,.5) !important; box-shadow:0 0 18px rgba(242,193,74,.22) !important; color:#fff !important; transform:none !important; }
.tt-btn-icon.active, .tt-icon-btn.active{
  background:var(--gold-grad) !important; color:var(--gold-fg) !important; border-color:var(--gold-bd) !important;
  box-shadow:0 0 16px rgba(242,193,74,.3) !important;
}
.btn-icon.delete, .tt-icon-btn.danger, .tt-btn-icon.danger{ color:var(--dan-fg) !important; border-color:var(--dan-bd) !important; background:var(--dan-bg) !important; }
.btn-icon.delete:hover, .tt-icon-btn.danger:hover, .tt-btn-icon.danger:hover{ color:#fff !important; background:rgba(255,92,92,.24) !important; border-color:rgba(255,120,120,.85) !important; box-shadow:0 0 22px rgba(255,92,92,.36) !important; }

/* Pagination */
.tt-page-btn{
  box-sizing:border-box !important;
  min-width:32px !important; height:32px !important; padding:0 9px !important; font-size:12px !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  border-radius:9px !important; cursor:pointer !important;
  background:var(--neu-bg) !important; color:var(--neu-fg) !important; border:1px solid var(--neu-bd) !important;
  transition:all var(--tt-med) var(--tt-ease);
}
.tt-page-btn:hover{ border-color:rgba(242,193,74,.5) !important; box-shadow:0 0 16px rgba(242,193,74,.18) !important; color:#fff !important; background:rgba(242,193,74,.10) !important; }
.tt-page-btn.active{ background:var(--gold-grad) !important; color:var(--gold-fg) !important; border-color:var(--gold-bd) !important; box-shadow:0 0 14px rgba(242,193,74,.3) !important; }

/* ============ 7) Chrome-Buttons (Schliessen/Zurueck) ============ */
.tt-popup-close, .tt-modal-close, .close-btn, .wartung-modal-close{
  background:rgba(170,192,255,.07) !important; color:#f8fafc !important; border:1px solid rgba(170,192,255,.16) !important; box-shadow:none !important;
}

/* ============ 8) Button-Gruppen: sauber ausgerichtet ============ */
.tt-btn-row, .tt-btn-row-compact, .tt-btns-right, .tt-btn-group, .tt-form-actions, .tt-actions, .wiz-actions, .tt-modal-actions, .tt-modal-foot, .modal-foot, .tt-header-actions, .act-btns{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
}
.tt-btns-right, .tt-header-actions{ justify-content:flex-end; }

/* ============ 9) KLEINE SPEZIAL-BUTTONS: nur Farbe/Glow, Groesse bleibt (dichte Layouts) ============ */
.dc-btn, .rm-btn, .gi-btn, .gc-btn, .tm-btn, .stat-btn, .btn-act, .tt-tab, .tt-toggle-btn, .nav-btn, .tt-tab-btn,
.tt-part-btn, .tt-detail-btn, .tt-mute-btn, .tt-res-btn, .tt-req-btn-ok, .tt-req-btn-no, .btn-approve, .btn-save, .btn-fix, .btn-ignore, .btn-red, .btn-block, .btn-delete,
.tt-btn-backup, .tt-btn-upload, .tt-btn-parse, .tt-btn-new, .tt-btn-create, .tt-btn-sync, .tt-btn-check, .tt-btn-submit, .tt-btn-send, .tt-btn-invite, .tt-btn-approve,
.rm-btn-new, .rm-btn-save, .tm-btn-save, .dc-btn-save, .mt-btn-save-mini{
  border-radius:9px; cursor:pointer; text-decoration:none;
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  font-weight:800; letter-spacing:.01em; white-space:nowrap;
  transition:box-shadow var(--tt-med) var(--tt-ease), background var(--tt-med) var(--tt-ease), border-color var(--tt-med) var(--tt-ease), color var(--tt-med) var(--tt-ease), filter var(--tt-med) var(--tt-ease);
}
/* Gold-Skin fuer Speichern/Erstellen/Senden/Primaer */
.dc-btn-save, .rm-btn-save, .tm-btn-save, .rm-btn-new, .mt-btn-save-mini, .btn-save, .btn-fix, .btn-act.primary, .dc-btn.primary, .tt-btn-parse, .tt-btn-new, .tt-btn-create, .tt-btn-submit, .tt-btn-send, .tt-btn-backup, .tt-btn-upload{
  background:var(--gold-grad); color:var(--gold-fg); border:1px solid var(--gold-bd);
  box-shadow:0 0 12px rgba(242,193,74,.18), inset 0 1px 0 rgba(255,255,255,.4);
}
.dc-btn-save:hover, .rm-btn-save:hover, .tm-btn-save:hover, .rm-btn-new:hover, .mt-btn-save-mini:hover, .btn-save:hover, .btn-fix:hover, .btn-act.primary:hover, .dc-btn.primary:hover, .tt-btn-parse:hover, .tt-btn-new:hover, .tt-btn-create:hover, .tt-btn-submit:hover, .tt-btn-send:hover, .tt-btn-backup:hover, .tt-btn-upload:hover{
  filter:none; background:var(--tt-grad-gold-h); color:var(--gold-fg); border-color:rgba(255,226,140,.9);
  box-shadow:0 0 22px rgba(242,193,74,.45), inset 0 1px 0 rgba(255,255,255,.5); transform:none;
}
/* Glas-Skin fuer neutrale kleine Buttons */
.dc-btn:not(.primary):not(.dc-btn-save):not(.dc-btn-del), .rm-btn:not(.rm-btn-save):not(.rm-btn-new):not(.rm-btn-del), .gi-btn, .gc-btn:not(.gc-btn-del), .tm-btn:not(.tm-btn-save):not(.tm-btn-cancel), .stat-btn, .btn-act:not(.primary), .tt-tab, .tt-toggle-btn, .nav-btn, .tt-tab-btn, .tt-part-btn, .tt-detail-btn, .tt-mute-btn, .tt-res-btn, .tt-req-btn-no, .btn-ignore, .tt-btn-sync{
  background:var(--neu-bg); color:var(--neu-fg); border:1px solid var(--neu-bd);
}
.dc-btn:not(.primary):not(.dc-btn-save):not(.dc-btn-del):hover, .rm-btn:not(.rm-btn-save):not(.rm-btn-new):not(.rm-btn-del):hover, .gi-btn:hover, .gc-btn:not(.gc-btn-del):hover, .tm-btn:not(.tm-btn-save):not(.tm-btn-cancel):hover, .stat-btn:hover, .btn-act:not(.primary):hover, .tt-tab:hover, .tt-toggle-btn:hover, .nav-btn:hover, .tt-tab-btn:hover, .tt-part-btn:hover, .tt-detail-btn:hover, .tt-mute-btn:hover, .tt-res-btn:hover, .tt-req-btn-no:hover, .btn-ignore:hover, .tt-btn-sync:hover{
  background:rgba(170,192,255,.11); border-color:rgba(242,193,74,.5); color:#fff; box-shadow:0 0 18px rgba(242,193,74,.16), 0 0 0 1px rgba(242,193,74,.12) inset;
}
/* Aktiv-Zustand kleiner Tabs/Toggles -> Gold */
.tt-tab.active, .tt-toggle-btn.active, .nav-btn.active, .tt-tab-btn.active, .tt-tab.is-active, .tt-toggle-btn.is-active{
  background:var(--gold-grad) !important; color:var(--gold-fg) !important; border-color:var(--gold-bd) !important; box-shadow:0 0 14px rgba(242,193,74,.3) !important;
}
/* Gruen fuer Annehmen/Bestaetigen */
.btn-approve, .tt-btn-approve, .tt-req-btn-ok, .tt-btn-check, .accept{
  background:linear-gradient(180deg, rgba(61,220,132,.24), rgba(22,163,74,.18)); color:#d4ffe6; border:1px solid rgba(61,220,132,.5);
  box-shadow:0 0 14px rgba(61,220,132,.16);
}
.btn-approve:hover, .tt-btn-approve:hover, .tt-req-btn-ok:hover, .tt-btn-check:hover, .accept:hover{
  background:linear-gradient(180deg, rgba(61,220,132,.38), rgba(22,163,74,.28)); color:#fff; border-color:rgba(61,220,132,.85); box-shadow:0 0 22px rgba(61,220,132,.34);
}
/* Rot fuer Loeschen/Blockieren */
.btn-red, .btn-block, .btn-delete, .dc-btn-del, .rm-btn-del, .gc-btn-del, .btn-act.del, .btn-act.danger, .dc-btn.del, .reject{
  background:var(--dan-bg); color:var(--dan-fg); border:1px solid var(--dan-bd); box-shadow:0 0 14px rgba(255,92,92,.12);
}
.btn-red:hover, .btn-block:hover, .btn-delete:hover, .dc-btn-del:hover, .rm-btn-del:hover, .gc-btn-del:hover, .btn-act.del:hover, .btn-act.danger:hover, .dc-btn.del:hover, .reject:hover{
  background:rgba(255,92,92,.24); border-color:rgba(255,120,120,.85); color:#fff; box-shadow:0 0 22px rgba(255,92,92,.34);
}
