/*
 * TravTools · © MUNLabs
 * premium.css — Design-System (Komponenten-Ebene)
 * Wird als vorletzte Datei geladen (danach nur motion.css) und ist damit die
 * massgebliche Optik-Ebene fuer ALLE Seiten: Karten, Modale, Tabellen, Formulare,
 * Badges, Alerts, Chat, Dashboard, Deffcalls, Module, oeffentliche Seiten, Auth.
 *
 * Grundsaetze:
 *  - Nur Optik. Keine Layout-/Funktionsaenderung, kein Markup noetig.
 *  - Ausschliesslich Tokens aus _shared/shared.css.
 *  - Glas-Oberflaechen, Royalblau als Tiefe, Gold als Akzent, Weiss als Text.
 *  - Hover = Licht (Glow, Lichtkante, Verlauf), nie Versatz.
 */

/* =========================================================
   0) KURZ-TOKENS DIESER DATEI
   ========================================================= */
:root{
  --pr-card-fill:linear-gradient(180deg, rgba(18,34,80,.80) 0%, rgba(8,16,44,.86) 100%);
  --pr-card-fill-hover:linear-gradient(180deg, rgba(26,46,104,.84) 0%, rgba(10,20,54,.88) 100%);
  /* Goldene Haarlinie oben liegt als erste Hintergrund-Ebene direkt auf der Karte (kein Pseudo-Element noetig) */
  --pr-card:linear-gradient(90deg, transparent 0%, transparent 14%, rgba(242,193,74,.55) 50%, transparent 86%, transparent 100%) 50% 0 / 100% 1px no-repeat, var(--pr-card-fill);
  --pr-card-hover:linear-gradient(90deg, transparent 0%, transparent 4%, rgba(242,193,74,.9) 50%, transparent 96%, transparent 100%) 50% 0 / 100% 1px no-repeat, var(--pr-card-fill-hover);
  --pr-hairline:linear-gradient(90deg, transparent 0%, rgba(242,193,74,.85) 50%, transparent 100%);
  --pr-modal:linear-gradient(180deg, rgba(24,35,64,.97) 0%, rgba(8,12,24,.99) 100%);
  --pr-overlay:rgba(3,6,12,.70);
}

/* =========================================================
   1) KARTEN / PANELS — Glas, Tiefe, Lichtring beim Hover
   ========================================================= */
.tt-card, .tt-module-card, .tt-placeholder-card, .tt-widget, .settings-card,
.tt-section-card, .tt-log-card, .tt-table-card, .tt-content-card, .tt-panel, .tt-box,
.tt-dc-card, .tt-world-card, .tt-mini-world, .tt-profile-card, .tt-stat-card,
.tt-adm-card, .tt-role-card, .tt-goal-card, .tt-founder-card, .tt-feat-card, .tt-mini-card,
.tt-patch-card, .tt-badge-card, .tt-about-card, .tt-villages-card, .tt-slot-card, .tt-restore-card,
.tt-note-card, .tt-news-card, .tt-edit-card, .tt-create-card, .tt-req-card, .tt-ac-card,
.tt-hero-card, .tt-cta-card, .tt-theme-card, .tt-details-box, .tt-settings-box, .tt-status-box,
.tt-test-box, .tt-log-box, .tt-info-block, .tt-edit-panel, .tt-rm-list-panel, .tt-rm-editor-panel,
.card-backup, .card-reset, .wiz-card, .rank-card, .sg-card, .tt-imp-card, .tt-imp2-card, .tt-privacy-card,
.tt-guest-card, .tt-donate-card, .tt-login-card, .tt-auth-card, .tt-reg-card, .tt-change-card, .tt-delete-card,
.tt-reset-card, .tt-form-box, .tt-standalone-card, .settings-main-card, .settings-side-card, .tt-chat-wrap,
.tt-online-wrap, .tt-adm-wrap, .tt-stat-wrap, .tt-wrap, .tt-k-card, .tt-feed-item, .tt-log-item, .tt-req-item,
.tt-mini-item, .tt-info-item, .tt-hist-item, .tt-sync-item, .goal-item, .tt-notes-grid > *{
  background:var(--pr-card) !important;
  border:1px solid var(--tt-line) !important;
  box-shadow:var(--tt-shadow-2), var(--tt-hi), 0 0 0 1px rgba(242,193,74,.04) !important;
  border-radius:16px !important;
  position:relative;
  transition:border-color var(--tt-fast) var(--tt-ease), box-shadow var(--tt-fast) var(--tt-ease);
}
/* Kleinere Elemente: kompakter Radius/Schatten */
.tt-feed-item, .tt-log-item, .tt-req-item, .tt-mini-item, .tt-info-item, .tt-hist-item, .tt-sync-item, .goal-item, .tt-slot-card, .tt-mini-card, .tt-note-card{
  border-radius:14px !important; box-shadow:var(--tt-shadow-1), var(--tt-hi) !important;
}
/* Lichtring: goldene Haarlinie oben (dauerhaft) + umlaufender Lichtstrahl beim Hover.
   Beides liegt auf ::after; eine Maske laesst nur den 1px-Rand sichtbar. */
.tt-card::after, .tt-widget::after, .tt-section-card::after, .tt-log-card::after, .tt-table-card::after, .tt-content-card::after,
.tt-panel::after, .tt-box::after, .tt-dc-card::after, .tt-profile-card::after, .tt-stat-card::after, .tt-adm-card::after,
.tt-login-card::after, .tt-auth-card::after, .tt-reg-card::after, .tt-change-card::after, .tt-delete-card::after, .tt-reset-card::after,
.settings-card::after, .tt-world-card::after, .tt-mini-world::after, .tt-goal-card::after, .tt-note-card::after, .tt-news-card::after,
.tt-edit-card::after, .tt-create-card::after, .tt-req-card::after, .tt-ac-card::after, .tt-theme-card::after, .rank-card::after, .sg-card::after,
.card-backup::after, .card-reset::after, .wiz-card::after, .tt-restore-card::after, .tt-villages-card::after, .tt-hero-card::after, .tt-cta-card::after,
.tt-standalone-card::after, .tt-form-box::after, .tt-chat-wrap::after, .tt-online-wrap::after, .tt-adm-wrap::after, .tt-stat-wrap::after,
.tt-module-card::after, .tt-feat-card::after, .tt-role-card::after, .tt-patch-card::after, .tt-founder-card::after, .tt-donate-card::after, .tt-imp-card::after, .tt-imp2-card::after, .tt-privacy-card::after, .tt-about-card::after{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none; z-index:3;
  --tt-beam:1; --tt-angle:0deg;
  background:var(--tt-grad-beam) 0 0 / 100% 100% no-repeat;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0;
  transition:opacity var(--tt-med) var(--tt-ease);
}
/* Der bisherige linke Gold-Balken (ui_global) wird zum weichen Leuchtstreifen */
.tt-card::before,.tt-box::before,.tt-panel::before,.tt-chat-wrap::before,.tt-wrap::before,.tt-table-card::before,.tt-content-card::before{
  width:3px !important; top:16px !important; bottom:16px !important; opacity:.85;
  box-shadow:0 0 16px rgba(242,193,74,.35) !important;
  transition:opacity var(--tt-med) var(--tt-ease), box-shadow var(--tt-med) var(--tt-ease);
}
.tt-card:hover::before,.tt-box:hover::before,.tt-panel:hover::before,.tt-table-card:hover::before,.tt-content-card:hover::before{
  opacity:1; box-shadow:0 0 22px rgba(242,193,74,.7), 0 0 40px rgba(242,193,74,.3) !important;
}
.tt-card:hover, .tt-module-card:hover, .tt-widget:hover, .tt-section-card:hover, .tt-dc-card:hover, .tt-stat-card:hover,
.tt-world-card:hover, .tt-mini-world:hover, .tt-goal-card:hover, .tt-note-card:hover, .tt-req-card:hover, .tt-ac-card:hover,
.tt-feat-card:hover, .tt-role-card:hover, .tt-patch-card:hover, .rank-card:hover, .sg-card:hover, .tt-feed-item:hover, .tt-log-item:hover,
.tt-adm-card:hover, .tt-profile-card:hover, .tt-log-card:hover, .tt-table-card:hover, .tt-content-card:hover, .tt-panel:hover, .tt-box:hover,
.tt-founder-card:hover, .tt-donate-card:hover, .tt-imp-card:hover, .tt-imp2-card:hover, .tt-privacy-card:hover, .tt-about-card:hover{
  border-color:rgba(242,193,74,.30) !important;
  box-shadow:var(--tt-shadow-2), var(--tt-hi), 0 0 0 1px rgba(242,193,74,.12), 0 0 30px rgba(242,193,74,.14) !important;
  background:var(--pr-card-hover) !important;
}
.tt-card:hover::after, .tt-widget:hover::after, .tt-section-card:hover::after, .tt-dc-card:hover::after, .tt-stat-card:hover::after,
.tt-world-card:hover::after, .tt-mini-world:hover::after, .tt-goal-card:hover::after, .tt-profile-card:hover::after, .tt-panel:hover::after, .tt-box:hover::after,
.tt-note-card:hover::after, .tt-req-card:hover::after, .tt-ac-card:hover::after, .rank-card:hover::after, .sg-card:hover::after, .tt-adm-card:hover::after,
.tt-log-card:hover::after, .tt-table-card:hover::after, .tt-content-card:hover::after, .settings-card:hover::after, .tt-module-card:hover::after,
.tt-feat-card:hover::after, .tt-role-card:hover::after, .tt-patch-card:hover::after, .tt-founder-card:hover::after, .tt-donate-card:hover::after,
.tt-imp-card:hover::after, .tt-imp2-card:hover::after, .tt-privacy-card:hover::after, .tt-about-card:hover::after, .tt-login-card:hover::after, .tt-auth-card:hover::after{
  opacity:1;
  /* Ein Umlauf beim Aufsetzen des Zeigers, danach steht der Lichtring still */
  animation:tt-angle 1.4s var(--tt-ease-out) 1;
}
/* Sanfter Einflug beim Laden (gestaffelt) */
@media (prefers-reduced-motion: no-preference){
  .tt-page > * > .tt-card, .tt-page > .tt-card, .tt-widget, .tt-module-card, .tt-module-tile, .tt-stat-card, .tt-world-card, .tt-mini-world,
  .tt-goal-card, .tt-note-card, .tt-dc-card, .tt-req-card, .tt-ac-card, .tt-feat-card, .tt-role-card, .rank-card, .sg-card, .tt-section-card,
  .tt-login-card, .tt-auth-card, .tt-reg-card, .tt-change-card, .tt-delete-card, .tt-reset-card, .tt-profile-card, .settings-card{
    animation:tt-rise-in .6s var(--tt-ease-out) backwards;
  }
  .tt-page > * > .tt-card:nth-child(2), .tt-widget:nth-child(2), .tt-stat-card:nth-child(2), .tt-world-card:nth-child(2), .tt-mini-world:nth-child(2), .tt-goal-card:nth-child(2), .tt-note-card:nth-child(2), .tt-dc-card:nth-child(2), .tt-module-tile:nth-child(2), .tt-feat-card:nth-child(2), .tt-role-card:nth-child(2){animation-delay:.06s}
  .tt-page > * > .tt-card:nth-child(3), .tt-widget:nth-child(3), .tt-stat-card:nth-child(3), .tt-world-card:nth-child(3), .tt-mini-world:nth-child(3), .tt-goal-card:nth-child(3), .tt-note-card:nth-child(3), .tt-dc-card:nth-child(3), .tt-module-tile:nth-child(3), .tt-feat-card:nth-child(3), .tt-role-card:nth-child(3){animation-delay:.12s}
  .tt-page > * > .tt-card:nth-child(4), .tt-widget:nth-child(4), .tt-stat-card:nth-child(4), .tt-world-card:nth-child(4), .tt-mini-world:nth-child(4), .tt-goal-card:nth-child(4), .tt-note-card:nth-child(4), .tt-dc-card:nth-child(4), .tt-module-tile:nth-child(4), .tt-feat-card:nth-child(4), .tt-role-card:nth-child(4){animation-delay:.18s}
  .tt-page > * > .tt-card:nth-child(5), .tt-widget:nth-child(5), .tt-stat-card:nth-child(5), .tt-world-card:nth-child(5), .tt-mini-world:nth-child(5), .tt-goal-card:nth-child(5), .tt-note-card:nth-child(5), .tt-dc-card:nth-child(5), .tt-module-tile:nth-child(5), .tt-feat-card:nth-child(5){animation-delay:.24s}
  .tt-widget:nth-child(6), .tt-stat-card:nth-child(6), .tt-world-card:nth-child(6), .tt-mini-world:nth-child(6), .tt-module-tile:nth-child(6), .tt-feat-card:nth-child(6){animation-delay:.30s}
  .tt-widget:nth-child(7), .tt-widget:nth-child(8), .tt-widget:nth-child(9), .tt-widget:nth-child(10), .tt-module-tile:nth-child(n+7){animation-delay:.36s}
}

/* Karten-Koepfe */
.tt-card-header, .tt-card-head, .tt-w-head, .settings-card-head, .tt-chat-sb-header, .tt-msg-header, .dc-head, .rc-head, .nc-head, .gc-head, .tt-req-head, .rm-list-head, .dc-list-head, .tt-backup-hero, .tt-menu-trash-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  border-bottom:1px solid var(--tt-line) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.035), transparent) !important;
}
.tt-card-title, .tt-w-title, .tt-sb-title, .rc-head, .dc-title-block, .tt-card-header h2, .tt-card-header h3, .tt-card-head h2, .tt-card-head h3{
  color:#fff !important; font-weight:800 !important; letter-spacing:.01em;
}
.tt-w-title{
  font-size:11.5px !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:var(--tt-muted) !important;
  display:flex; align-items:center; gap:8px;
}
.tt-w-icon{
  color:var(--tt-gold) !important; filter:drop-shadow(0 0 8px rgba(242,193,74,.55));
  width:26px; height:26px; display:inline-grid; place-items:center; border-radius:8px;
  background:rgba(242,193,74,.10); border:1px solid rgba(242,193,74,.26);
}
.tt-w-icon.danger, .tt-w-icon[style*="f44336"], .tt-w-icon[style*="ff5c5c"]{color:var(--tt-red) !important; background:rgba(255,92,92,.10); border-color:rgba(255,92,92,.3); filter:drop-shadow(0 0 8px rgba(255,92,92,.55))}
.tt-card-body{padding:18px 20px;}

/* =========================================================
   2) UEBERSCHRIFTEN — Gold-Verlauf + Schein
   ========================================================= */
.tt-top-title, .tt-header-standalone h1, .tt-header-row h1, .tt-head h1,
.tt-page > h1:first-child, .tt-log-head h1, .tt-stat-header h1, .tt-modal-title, .tt-popup-title{
  text-shadow:none !important;
}
.tt-page > h1:first-child, .tt-page > h2:first-child{
  background:var(--tt-grad-text); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent; filter:drop-shadow(0 0 18px rgba(242,193,74,.22));
}
/* Inline gefaerbte Ueberschriften (z.B. rote Warn-Titel) behalten ihre Farbe */
h1[style*="color"], .tt-title[style*="color"], .tt-head h1[style*="color"]{
  background:none !important; -webkit-text-fill-color:currentColor !important; filter:none !important;
}
.tt-header-standalone h1, .tt-header-row h1, .tt-head h1, .tt-log-head h1, .tt-stat-header h1, .tt-dash-header h1, .page-title, .tt-page-title, .tt-title{text-transform:none !important; letter-spacing:-.01em !important;}
h2, h3, h4{color:var(--tt-text);}
h2 i, h3 i{color:var(--tt-gold); margin-right:6px; filter:drop-shadow(0 0 8px rgba(242,193,74,.4));}
.tt-page a:not([class]){color:var(--tt-blue-3); border-bottom:1px solid transparent; transition:all var(--tt-fast) var(--tt-ease);}
.tt-page a:not([class]):hover{color:var(--tt-gold-3); border-bottom-color:rgba(242,193,74,.5);}

/* =========================================================
   3) MODALE — projektweit einheitlich
   ========================================================= */
.tt-modal-overlay, [data-tt-bell-popup], [data-tt-world-popup], .tt-loading-overlay, .tt-blocked-overlay, .tt-locked-overlay, .wartung-modal-backdrop{
  background:var(--pr-overlay) !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}
.tt-modal-overlay{
  position:fixed !important; inset:0 !important;
  display:none;
  align-items:center !important; justify-content:center !important;
  overflow:auto !important;
  padding:28px 18px !important;
  z-index:9000 !important;
  animation:tt-fade-in .2s var(--tt-ease);
}
.tt-modal-overlay.active, .tt-modal-overlay.is-open, .tt-modal-overlay.show, .tt-modal-overlay.open{display:flex;}
.tt-modal-overlay[hidden]{display:none !important;}
/* .tt-modal-wrap ist auf der Ziele-Seite ein normaler Formular-Wrapper — NICHT als Overlay behandeln */
.tt-modal-wrap{margin-bottom:15px;}

/* Modal = saubere Flex-Spalte: fixer Kopf, scrollender Body, fixer Fuss */
.tt-modal, .tt-modal-lg, .tt-popup-card, .tt-modal-card, .tt-dialog, .warn-modal, .zwischendeff-modal, .wartung-modal-card, .tt-modal.wide{
  position:relative;
  background:var(--pr-modal) !important;
  border:1px solid rgba(242,193,74,.24) !important;
  border-radius:20px !important;
  box-shadow:0 40px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.04) inset, 0 0 60px rgba(242,193,74,.08) !important;
  display:flex !important;
  flex-direction:column !important;
  max-height:calc(100vh - 56px) !important;
  overflow:hidden !important;
  margin:auto;
  animation:tt-scale-in .26s var(--tt-ease-out);
  color:var(--tt-text);
}
.tt-modal::before, .tt-modal-lg::before, .tt-popup-card::before, .tt-modal-card::before, .tt-dialog::before, .warn-modal::before, .zwischendeff-modal::before{
  content:""; position:absolute; left:0; right:0; top:0; height:2px; z-index:5; pointer-events:none;
  background:var(--pr-hairline); background-size:200% 100%; animation:tt-shimmer 6s linear infinite;
}
/* Breiten: Standard / gross / breit */
.tt-modal{width:min(560px, calc(100vw - 36px)) !important; max-width:calc(100vw - 36px) !important;}
.tt-modal.wide, .tt-modal-lg, .tt-modal.large, .tt-modal.medium{width:min(860px, calc(100vw - 36px)) !important;}
.tt-modal.large, .tt-modal-lg.wide{width:min(1100px, calc(100vw - 36px)) !important;}
.tt-modal-header, .tt-modal-head, .tt-popup-head, .wartung-modal-head, .warn-modal .warn-head{
  flex:0 0 auto !important;
  padding:18px 22px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent) !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important;
}
/* der frueher blaue Akzent -> Gold-Leuchtlinie (nur als eigenes Linien-Element;
   Modale mit der Klasse .modal-accent bekommen die Gold-Haarlinie ueber ::before) */
.modal-accent:not(.tt-modal):not(.tt-modal-lg):not(.tt-modal-card), .tt-modal-accent:not(.tt-modal):not(.tt-modal-lg):not(.tt-modal-card){
  height:2px !important; border:none !important;
  background:linear-gradient(90deg, transparent, var(--tt-gold), transparent) !important;
  box-shadow:0 0 14px rgba(242,193,74,.5) !important;
}
.tt-modal.modal-accent, .tt-modal-lg.modal-accent{border-top:1px solid rgba(242,193,74,.24) !important;}
.tt-modal-title, .tt-popup-title, .tt-modal-head h2, .tt-modal-head h3, .tt-modal-header h2, .tt-modal-header h3, .tt-modal-lg > h3:first-child, .warn-modal h3{
  color:#fff !important; font-weight:900 !important; letter-spacing:.2px !important; text-transform:none !important; font-size:18px !important; margin:0 !important;
  display:flex; align-items:center; gap:10px;
}
.tt-modal-title i, .tt-modal-head h3 i, .tt-modal-header h3 i{color:var(--tt-gold) !important; filter:drop-shadow(0 0 8px rgba(242,193,74,.5));}
/* Alte Titel-Unterstreichung (.tt-modal h3 aus individual/chat/superuser.css) im Modal-Kopf abschalten */
.tt-modal-header h2, .tt-modal-header h3, .tt-modal-head h2, .tt-modal-head h3{border-bottom:0 !important; padding-bottom:0 !important;}
.tt-modal-close, .close-btn, .wartung-modal-close{
  width:36px !important; height:36px !important; padding:0 !important; border-radius:11px !important;
  display:inline-grid !important; place-items:center !important; font-size:16px !important; line-height:1 !important;
  color:#fff !important; cursor:pointer !important;
  transition:all var(--tt-fast) var(--tt-ease) !important;
}
.tt-modal-close:hover, .close-btn:hover, .wartung-modal-close:hover{
  background:rgba(255,92,92,.16) !important; border-color:rgba(255,92,92,.45) !important; box-shadow:var(--tt-glow-red) !important; transform:rotate(90deg);
}
.tt-modal-body, .tt-popup-body, .wartung-login-form{flex:1 1 auto !important; overflow-y:auto !important; padding:22px !important; min-height:0; max-height:none !important; height:auto !important;}
/* Formular als direktes Kind des Modals: dieselbe Flex-Spalte, damit der Body scrollt und der Fuss sichtbar bleibt */
.tt-modal > form, .tt-modal-lg > form, .tt-modal-card > form, .tt-dialog > form{
  display:flex !important; flex-direction:column !important; flex:1 1 auto !important; min-height:0 !important; overflow:auto !important; margin:0 !important; max-height:100%;
}
.tt-modal.wide-xl{width:min(1040px, calc(100vw - 36px)) !important;}
.tt-modal-lg{padding:0 !important;}
.tt-modal-lg > *:not(.tt-modal-actions):not(.tt-modal-foot):not(.tt-modal-head):not(.tt-modal-header){margin-left:22px; margin-right:22px;}
.tt-modal-lg > h3:first-child{padding:18px 0 14px; border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:12px !important;}
.tt-modal-lg > .tt-time-cols{margin-bottom:10px; flex:1 1 auto; overflow:auto;}
.tt-modal-foot, .modal-foot, .tt-modal-actions, .modal-footer, .tm-modal-foot, .warn-actions, .dc-foot{
  flex:0 0 auto !important;
  padding:16px 22px !important; border-top:1px solid rgba(255,255,255,.07) !important;
  background:rgba(0,0,0,.14) !important;
  display:flex !important; gap:10px !important; align-items:center !important; justify-content:flex-end !important; flex-wrap:wrap !important;
  margin:0 !important;
}
/* Fuss-Buttons: gleiche Hoehe, NICHT gedehnt, nicht versetzt */
.tt-modal-foot .tt-btn, .tt-modal-foot [class*="tt-btn-"], .tt-modal-foot button, .tt-modal-foot input[type="submit"],
.tt-modal-actions .tt-btn, .tt-modal-actions [class*="tt-btn-"], .tt-modal-actions button,
.modal-foot .tt-btn, .modal-foot [class*="tt-btn-"], .modal-foot button, .modal-footer button, .tm-modal-foot button, .warn-actions button{
  flex:0 0 auto !important; width:auto !important; min-width:0 !important; height:42px !important; min-height:42px !important; margin:0 !important;
}
/* Eingaben in Modalen */
.tt-modal input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .tt-modal select, .tt-modal textarea,
.tt-popup-card input:not([type="checkbox"]):not([type="radio"]), .tt-modal-body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .tt-modal-body select, .tt-modal-body textarea,
.tt-modal-lg input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .tt-modal-lg select, .tt-modal-lg textarea{
  background:rgba(0,0,0,.30) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:12px !important;
  color:var(--tt-text) !important;
}
.tt-modal p, .tt-modal-lg p{color:var(--tt-text-soft);}
.tt-modal-lg > p{color:var(--tt-muted) !important; font-size:13px !important;}
@media (max-width:640px){
  .tt-modal-overlay{padding:10px !important; align-items:flex-end !important;}
  .tt-modal, .tt-modal-lg, .tt-popup-card, .tt-modal-card, .tt-dialog, .tt-modal.wide{width:100% !important; max-width:100% !important; max-height:calc(100vh - 20px) !important; border-radius:18px !important;}
  .tt-modal-header, .tt-modal-head, .tt-popup-head{padding:14px 16px !important;}
  .tt-modal-body, .tt-popup-body{padding:16px !important;}
  .tt-modal-foot, .modal-foot, .tt-modal-actions, .modal-footer{padding:12px 16px !important;}
}

/* Lade-Overlay + Spinner */
.tt-loading-overlay{display:none; position:fixed; inset:0; z-index:9500; align-items:center; justify-content:center; flex-direction:column; gap:14px; color:#fff; font-weight:800;}
.tt-spinner, .fa-spinner.fa-spin, .fa-circle-notch.fa-spin{color:var(--tt-gold); filter:drop-shadow(0 0 12px rgba(242,193,74,.6));}
.tt-spinner{width:46px; height:46px; border-radius:50%; border:3px solid rgba(242,193,74,.18); border-top-color:var(--tt-gold); animation:tt-spin .8s linear infinite;}

/* =========================================================
   4) BUTTON-REIHEN — sauber ausgerichtet (Ergaenzung zu buttons.css)
   ========================================================= */
.tt-adm-tools, .tt-mw-footer, .tt-wc-footer, .tt-btn-row, .tt-btn-row-compact,
.act-btns, .tt-btns-right, .tt-ally-section, .tt-modal-foot, .tt-modal-actions, .modal-foot{align-items:center !important;}
.tt-adm-tools > form, .tt-mw-footer > form, .tt-wc-footer > form, .tt-btn-row > form,
.act-btns > form, .tt-btns-right > form, .tt-ally-section > form,
.tt-modal-foot > form, .tt-modal-actions > form, .modal-foot > form{margin:0 !important; display:inline-flex !important; align-items:center !important;}
.tt-adm-tools > button, .tt-adm-tools > a, .tt-adm-tools > [class*="tt-btn"], .tt-adm-tools > input[type="submit"],
.tt-mw-footer > button, .tt-mw-footer > a, .tt-mw-footer > [class*="tt-btn"], .tt-mw-footer > input[type="submit"],
.tt-wc-footer > button, .tt-wc-footer > a, .tt-wc-footer > [class*="tt-btn"], .tt-wc-footer > input[type="submit"],
.tt-btn-row > button, .tt-btn-row > a, .tt-btn-row > [class*="tt-btn"], .tt-btn-row > input[type="submit"],
.tt-btn-row-compact > button, .tt-btn-row-compact > a, .tt-btn-row-compact > [class*="tt-btn"],
.act-btns > button, .act-btns > a, .act-btns > [class*="tt-btn"], .act-btns > input[type="submit"],
.tt-btns-right > button, .tt-btns-right > a, .tt-btns-right > [class*="tt-btn"], .tt-btns-right > input[type="submit"],
.tt-ally-section > button, .tt-ally-section > a, .tt-ally-section > [class*="tt-btn"],
.tt-modal-foot > button, .tt-modal-foot > a, .tt-modal-foot > [class*="tt-btn"], .tt-modal-foot > input[type="submit"],
.tt-modal-actions > button, .tt-modal-actions > a, .tt-modal-actions > [class*="tt-btn"], .tt-modal-actions > input[type="submit"],
.modal-foot > button, .modal-foot > a, .modal-foot > [class*="tt-btn"], .modal-foot > input[type="submit"]{margin:0 !important; align-self:center !important;}

/* =========================================================
   5) TOPBAR / SIDEBAR — Feinschliff (Geruest in sidebar.css)
   ========================================================= */
.tt-top{border-bottom:1px solid rgba(255,255,255,.06) !important;}
.tt-bell{overflow:visible !important;}  /* der Zaehler ragt bewusst ueber den Knopf hinaus */
.tt-bell.has-unread .tt-bell-badge{box-shadow:0 0 12px rgba(255,92,92,.75) !important;}

.tt-brand-mark img, .tt-mark-glow{filter:drop-shadow(0 0 12px rgba(242,193,74,.4)) !important;}

/* =========================================================
   6) BADGES / PILLEN / STATUS — einheitlich + Zustands-Glow
   ========================================================= */
.tt-status-pill, .tt-level-badge, .tt-mw-badge, .tt-wc-badge, .tt-mw-rank, .status-badge, .tt-status-badge, .tt-ri-badge, .dc-badge,
.tt-badge-pill, .tt-pill, .tt-pill2, .tt-tag-ok, .tt-tag-no, .tt-ally-tag, .ally-tag, .att-tag, .tm-tag, .cluster-tag, .cluster-badge,
.gc-badge, .nc-badge, .ts-badge, .st-badge, .type-badge, .vtype-badge, .coords-badge, .tt-world-badge, .tt-req-badge, .rm-var,
.tt-hero-badge, .badge-role, .badge-type, .wartung-badge, .tt-imp-code, .tt-imp2-code, .tt-res-box, .tt-lvl-badge, .tt-chip-danger, .tt-pn-hidden-tag, .tt-status, .tt-role-hc, .tt-chat-role, .tt-prio, .tt-meta-badges > span,
.tt-status-active, .tt-status-pending, .st-gray, .b-good, .b-bad, .b-warn, .b-info, .b-neutral, .bg-admin, .bg-user, .tt-bp-admin, .tt-bp-user, .tt-tag-ok, .tt-tag-no{
  box-sizing:border-box !important; min-height:26px !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:6px !important;
  padding:4px 11px !important;
  border-radius:999px !important; font-weight:800 !important; letter-spacing:.04em !important; line-height:1 !important;
  font-size:11.5px !important;
  border:1px solid var(--tt-line-strong);
  background:var(--tt-surface-glass-2);
  color:var(--tt-text-soft);
  white-space:nowrap;
}
/* Gold-Tags */
.tt-mw-badge, .tt-wc-badge, .tt-world-badge, .tt-lvl-badge, .tt-level-badge, .tt-hero-badge, .tt-imp-code, .tt-imp2-code, .rm-var, .coords-badge, .tt-req-badge, .badge-role, .tt-role-hc{
  color:var(--tt-gold-3) !important; background:rgba(242,193,74,.10) !important; border-color:rgba(242,193,74,.32) !important;
  box-shadow:0 0 14px rgba(242,193,74,.14) !important;
}
/* Semantische Farben */
.tt-status-pill.st-active, .tt-status-active, .status-badge.active, .status-badge.ok, .tt-tag-ok, .st-green, .b-good, .tt-ri-badge.bg-green, .badge.ok, .badge.success, .status-badge.st-done, .st-done, .tt-status-badge, .tt-req-badge.ok, .tt-val-ok, .is-ok{
  color:#c8ffe0 !important; background:rgba(61,220,132,.12) !important; border-color:rgba(61,220,132,.42) !important; box-shadow:0 0 14px rgba(61,220,132,.18) !important;
}
.tt-status-pill.st-locked, .status-badge.locked, .status-badge.banned, .st-banned, .st-red, .b-bad, .tt-tag-no, .tt-ri-badge.bg-red, .badge.danger, .badge.error, .tt-chip-danger, .st-banned-txt, .tt-val-err, .is-err{
  color:#ffc2c2 !important; background:rgba(255,92,92,.12) !important; border-color:rgba(255,92,92,.45) !important; box-shadow:0 0 14px rgba(255,92,92,.2) !important;
}
.tt-status-pending, .status-badge.pending, .st-yellow, .b-warn, .badge.warn, .badge.warning, .st-pending-txt, .tt-status-pill.st-pending{
  color:#ffe0a3 !important; background:rgba(255,181,69,.12) !important; border-color:rgba(255,181,69,.45) !important; box-shadow:0 0 14px rgba(255,181,69,.18) !important;
}
.tt-ri-badge.bg-blue, .badge.info, .badge.blue, .bg-type, .type-badge, .vtype-badge, .b-info, .badge-type{
  color:#dbe8ff !important; background:rgba(59,130,246,.14) !important; border-color:rgba(59,130,246,.45) !important; box-shadow:0 0 14px rgba(59,130,246,.18) !important;
}
.st-gray, .b-neutral, .badge.neutral, .tt-pn-hidden-tag{color:var(--tt-muted) !important; background:rgba(255,255,255,.05) !important; border-color:var(--tt-line-strong) !important;}
.bg-admin, .badge-role.admin, .tt-bp-admin{color:var(--tt-gold-3) !important; background:rgba(242,193,74,.12) !important; border-color:rgba(242,193,74,.4) !important;}
.bg-user, .tt-bp-user{color:#dbe8ff !important; background:rgba(59,130,246,.12) !important; border-color:rgba(59,130,246,.35) !important;}

/* Status-Punkte */
.status-dot, .tt-st-dot, .tt-dot{display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--tt-faint); box-shadow:0 0 0 0 transparent; vertical-align:middle;}
.status-dot.on, .status-dot.online, .status-dot.st-green, .tt-st-dot.on, .tt-dot.on, .tt-dot.online, .status-dot.status-1{background:var(--tt-green); box-shadow:0 0 10px var(--tt-green); animation:tt-glow-breathe 2.4s ease-in-out infinite;}
.status-dot.off, .status-dot.st-red, .tt-dot.off, .status-dot.status-3{background:var(--tt-red); box-shadow:0 0 10px rgba(255,92,92,.7);}
.status-dot.st-yellow, .status-dot.away, .status-dot.status-2{background:var(--tt-orange); box-shadow:0 0 10px rgba(255,181,69,.7);}

/* Avatare */
.tt-ac-avatar, .tt-avatar-circle, .tt-u-avatar, .tt-ri-avatar, .tt-user-avatar{
  box-shadow:0 0 18px rgba(242,193,74,.20), inset 0 1px 0 rgba(255,255,255,.12) !important;
  border-color:rgba(242,193,74,.45) !important;
}

/* =========================================================
   7) EINGABEN (global) — edler Fokus-Glow, Labels
   ========================================================= */
.tt-input:focus, .tt-search-input:focus, .tt-inp-field:focus, .dc-inp:focus, .tt-inp:focus,
.tt-select:focus, .tt-input:focus-visible, .tt-search-inp:focus, .settings-input:focus, .wiz-input:focus, .rm-inp:focus, .mt-inp:focus,
.tt-page input:focus, .tt-page select:focus, .tt-page textarea:focus{
  outline:none !important;
  border-color:rgba(242,193,74,.55) !important;
  box-shadow:var(--tt-focus-ring) !important;
}
.tt-page input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]), .tt-page select, .tt-page textarea{
  background:var(--tt-surface-input) !important;
  border:1px solid var(--tt-line-strong) !important;
  color:var(--tt-text) !important;
}
.tt-page input[type="color"]{width:46px; height:46px; padding:4px; border-radius:12px; background:var(--tt-surface-input); border:1px solid var(--tt-line-strong); cursor:pointer;}
.tt-page input[type="file"]{padding:10px; background:var(--tt-surface-input); border:1px dashed var(--tt-line-gold-soft); border-radius:12px; color:var(--tt-muted); width:100%;}
.tt-page input[type="file"]::file-selector-button{
  margin-right:12px; padding:8px 14px; border-radius:10px; border:1px solid var(--gold-bd); background:var(--gold-grad); color:var(--gold-fg); font-weight:800; cursor:pointer;
}
.tt-page label:not(.tt-chk-label):not(.tt-su-btn):not(.tt-btn):not(.tt-su-check):not(.tt-su-switch):not(.tt-check-label):not(.tt-switch):not(.bnd-chip):not(.tt-theme-opt):not(.type-opt):not(.legend-opt):not(.vil-box):not(.settings-toggle):not(.tt-toggle-label):not(.tt-form-check){
  color:var(--tt-muted);
}

/* Checkbox-/Radio-Labels: immer Fliesstext, nie Grossbuchstaben-Caption (auch bei Alt-Regeln) */
.tt-check-label, .tt-chk-label, .tt-form-check, .tt-donate-check, .tt-toggle-label, .bnd-chip, .legend-opt, .eg-check,
.tt-page label:has(> input[type="checkbox"]), .tt-page label:has(> input[type="radio"]), .tt-modal label:has(> input[type="checkbox"]), .tt-modal label:has(> input[type="radio"]){
  display:flex !important; align-items:center !important; gap:10px !important;
  text-transform:none !important; letter-spacing:0 !important; font-size:14px !important; font-weight:600 !important;
  color:var(--tt-text) !important; margin:0 !important; cursor:pointer; line-height:1.3;
}
.tt-check-label, .tt-chk-label, .tt-form-check, .tt-donate-check{
  min-height:44px; padding:10px 12px !important; border-radius:12px !important;
  border:1px solid var(--tt-line) !important; background:var(--tt-surface-glass) !important;
  transition:all var(--tt-fast) var(--tt-ease);
}
.tt-check-label:hover, .tt-chk-label:hover, .tt-form-check:hover, .tt-donate-check:hover{border-color:var(--tt-line-gold) !important; background:rgba(242,193,74,.06) !important;}
.tt-check-label:has(input:checked), .tt-chk-label:has(input:checked), .tt-form-check:has(input:checked), .tt-donate-check:has(input:checked){border-color:rgba(242,193,74,.4) !important; box-shadow:var(--tt-glow-gold-soft);}
.tt-check-label span, .tt-chk-label span, .tt-form-check span{color:var(--tt-text) !important; font-size:14px !important;}
/* Feld-Captions einheitlich (auch bare <label> in Alt-Seiten) */
.tt-page label:not(:has(input)):not(.tt-su-btn):not(.tt-btn):not(.tt-check-label):not(.tt-chk-label):not(.tt-form-check):not(.tt-switch):not(.bnd-chip):not(.tt-theme-opt):not(.type-opt):not(.legend-opt):not(.vil-box):not(.settings-toggle):not(.tt-toggle-label):not(.tt-donate-check):not(.tt-cp-label):not(.tt-slot-label){
  font-size:11px !important; font-weight:800 !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:var(--tt-muted) !important;
}

/* Textareas: Alt-Regeln einzelner Seiten (z.B. 400px/520px) nicht global — nur der Mail-Editor bleibt hoch */
textarea.tt-textarea, .tt-page textarea{height:auto !important; min-height:130px !important; resize:vertical;}
.tt-page .tt-chat-textarea{min-height:46px !important;}
.tt-editor-area .tt-textarea, .tt-editor-area textarea{height:520px !important; min-height:520px !important; font-family:var(--tt-font-mono); font-size:13px !important;}
.tt-page .settings-textarea, .tt-page .rm-textarea{min-height:180px !important;}

/* Tabellenzeilen-Hover */
.tt-acc-row:hover, .tt-user-row:hover, .tt-log-row:hover, .tt-table tbody tr:hover, .hover-row:hover, .js-hover-table tbody tr:hover td{background:rgba(242,193,74,.05) !important;}
/* Tabellen in Karten: kein doppelter Rahmen */
.tt-card .tt-table-responsive, .tt-card .tt-table-wrap{border-radius:12px;}

/* =========================================================
   8) ALERTS / HINWEISE — Farbe = Bedeutung, Glas-Basis
   ========================================================= */
.tt-alert, .tt-alert-box, .tt-dual-alert, .note-box, .tt-status-alert, .missing-alert, .tt-closed-notice, .tt-alert-row, .tt-adm-msg, .tt-imp-note, .tt-imp2-note, .tt-note-muted, .tt-dual-help, .tt-warning-text{
  position:relative; overflow:hidden;
  padding:14px 16px 14px 18px !important; border-radius:14px !important; margin-bottom:18px;
  border:1px solid var(--tt-line-strong) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
  color:var(--tt-text-soft) !important; font-size:13.5px; line-height:1.5;
  display:flex; align-items:center; justify-content:flex-start; gap:12px; text-align:left !important; font-weight:600;
  box-shadow:var(--tt-hi);
}
.tt-alert::before, .tt-alert-box::before, .tt-dual-alert::before, .note-box::before, .tt-status-alert::before, .missing-alert::before, .tt-closed-notice::before, .tt-adm-msg::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--tt-blue); box-shadow:0 0 14px rgba(59,130,246,.6);
}
.tt-alert > i, .tt-alert-box > i, .tt-dual-alert > i, .note-box > i, .tt-adm-msg > i{font-size:17px; flex:0 0 auto; color:var(--tt-info); filter:drop-shadow(0 0 8px rgba(94,179,255,.5));}
/* Fehler */
.tt-alert.err, .tt-alert.error, .tt-alert.danger, .tt-alert-error, .tt-alert.bad, .tt-dual-alert--danger, .tt-alert-box.err, .tt-alert-box.danger, .tt-status-alert.err, .missing-alert, .tt-adm-msg.err, .tt-adm-msg.error, .tt-alert.alert-error, .tt-warning-text{
  border-color:rgba(255,92,92,.45) !important; background:linear-gradient(180deg, rgba(255,92,92,.14), rgba(255,92,92,.05)) !important; color:#ffd0d0 !important;
  box-shadow:0 0 22px rgba(255,92,92,.12), var(--tt-hi);
}
.tt-alert.err::before, .tt-alert.error::before, .tt-alert.danger::before, .tt-alert-error::before, .tt-alert.bad::before, .tt-dual-alert--danger::before, .tt-alert-box.err::before, .tt-alert-box.danger::before, .missing-alert::before, .tt-adm-msg.err::before, .tt-adm-msg.error::before{background:var(--tt-red); box-shadow:0 0 14px rgba(255,92,92,.7);}
.tt-alert.err > i, .tt-alert.error > i, .tt-alert.danger > i, .tt-alert-box.err > i, .tt-dual-alert--danger > i, .tt-adm-msg.err > i{color:var(--tt-red); filter:drop-shadow(0 0 8px rgba(255,92,92,.6));}
/* Erfolg */
.tt-alert.ok, .tt-alert.success, .tt-alert.good, .tt-dual-alert--success, .tt-alert-box.ok, .tt-alert-box.success, .tt-status-alert.ok, .tt-adm-msg.ok, .tt-adm-msg.success, .tt-alert.alert-success{
  border-color:rgba(61,220,132,.45) !important; background:linear-gradient(180deg, rgba(61,220,132,.14), rgba(61,220,132,.05)) !important; color:#d2ffe6 !important;
  box-shadow:0 0 22px rgba(61,220,132,.12), var(--tt-hi);
}
.tt-alert.ok::before, .tt-alert.success::before, .tt-alert.good::before, .tt-dual-alert--success::before, .tt-alert-box.ok::before, .tt-alert-box.success::before, .tt-adm-msg.ok::before, .tt-adm-msg.success::before{background:var(--tt-green); box-shadow:0 0 14px rgba(61,220,132,.7);}
.tt-alert.ok > i, .tt-alert.success > i, .tt-alert-box.ok > i, .tt-dual-alert--success > i, .tt-adm-msg.ok > i{color:var(--tt-green); filter:drop-shadow(0 0 8px rgba(61,220,132,.6));}
/* Warnung */
.tt-alert.warn, .tt-alert.warning, .note-warn, .note-box.warn, .tt-alert-box.warn, .tt-closed-notice, .tt-alert.alert-limit, .alert-limit, .tt-alert.alert-warning{
  border-color:rgba(255,181,69,.45) !important; background:linear-gradient(180deg, rgba(255,181,69,.14), rgba(255,181,69,.05)) !important; color:#ffe6bd !important;
  box-shadow:0 0 22px rgba(255,181,69,.12), var(--tt-hi);
}
.tt-alert.warn::before, .tt-alert.warning::before, .note-warn::before, .note-box.warn::before, .tt-alert-box.warn::before, .tt-closed-notice::before{background:var(--tt-orange); box-shadow:0 0 14px rgba(255,181,69,.7);}
.tt-alert.warn > i, .tt-alert.warning > i, .note-warn > i, .tt-alert-box.warn > i{color:var(--tt-orange); filter:drop-shadow(0 0 8px rgba(255,181,69,.6));}
/* Gold-Hinweis */
.tt-alert.gold, .tt-imp-note, .tt-imp2-note, .tt-module-note, .bnd-prop-notice{
  border-color:rgba(242,193,74,.32) !important; background:linear-gradient(180deg, rgba(242,193,74,.12), rgba(242,193,74,.04)) !important; color:#ffe6b3 !important;
  box-shadow:0 0 20px rgba(242,193,74,.10), var(--tt-hi);
}
.tt-alert.gold::before, .tt-imp-note::before, .tt-imp2-note::before{background:var(--tt-gold); box-shadow:0 0 14px rgba(242,193,74,.7);}
.tt-alert strong, .note-box strong{color:#fff;}

/* =========================================================
   9) DASHBOARD-WIDGETS & LISTEN
   ========================================================= */
.tt-dash-wrap{padding:0 !important; color:var(--tt-text) !important;}
.tt-dash-grid{gap:16px !important;}
.tt-widget{padding:18px !important; min-height:200px;}
.tt-w-head{margin-bottom:14px !important; padding-bottom:12px !important; border-bottom:1px solid var(--tt-line) !important; background:none !important;}
.tt-list-rows{gap:8px !important; padding-right:2px;}
.tt-row-item{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)) !important;
  border:1px solid var(--tt-line) !important; border-radius:12px !important; padding:11px 12px !important;
  transition:all var(--tt-fast) var(--tt-ease) !important; position:relative; overflow:hidden;
}
.tt-row-item::before{content:""; position:absolute; left:0; top:8px; bottom:8px; width:3px; border-radius:3px; background:var(--tt-gold); opacity:0; box-shadow:0 0 12px rgba(242,193,74,.7); transition:opacity var(--tt-fast) var(--tt-ease);}
.tt-row-item:hover{background:rgba(242,193,74,.06) !important; border-color:rgba(242,193,74,.3) !important; box-shadow:0 0 18px rgba(242,193,74,.10), inset 0 0 0 1px rgba(242,193,74,.10);}
.tt-row-item:hover::before{opacity:1;}
.tt-ri-main, .tt-ri-name{color:#fff !important; font-weight:700 !important;}
.tt-ri-sub{color:var(--tt-muted) !important;}
.tt-ri-val{color:#fff !important;}
.tt-ri-val.bad, .tt-ri-val.warn{color:var(--tt-red) !important; text-shadow:0 0 10px rgba(255,92,92,.5);}
.tt-ri-avatar{background:var(--tt-bg-2) !important; border:1px solid var(--tt-line-strong) !important; color:var(--tt-muted) !important;}
.tt-progress-mini, .tt-mini-track, .tt-progress-track, .dc-prog-track, .progress-bar-bg, .stat-bar, .tt-pg-bar{
  background:rgba(255,255,255,.08) !important; border-radius:999px !important; overflow:hidden !important; box-shadow:inset 0 1px 2px rgba(0,0,0,.4);
}
.tt-progress-mini > div, .tt-mini-fill, .tt-progress-fill, .dc-prog-fill, .progress-bar-fill, .sb-fill{
  border-radius:999px !important; position:relative;
  background:linear-gradient(90deg, var(--tt-gold-2), var(--tt-gold-3)) !important;
  box-shadow:0 0 12px rgba(242,193,74,.55) !important;
  transition:width .6s var(--tt-ease);
}
.tt-progress-fill.bad, .dc-prog-fill.bad, .progress-bar-fill.bad, .sb-fill.bad, .tt-mini-fill.bad, .tt-mini-fill[style*="f44336"], .progress-bar-fill[style*="f44336"], .tt-mini-fill[style*="ff5c5c"], .progress-bar-fill[style*="ff5c5c"]{background:linear-gradient(90deg,#d92b2b,#ff6b6b) !important; box-shadow:0 0 12px rgba(255,92,92,.55) !important;}
.tt-progress-fill.ok, .dc-prog-fill.ok, .progress-bar-fill.ok, .sb-fill.ok, .tt-mini-fill.ok, .tt-mini-fill[style*="4ade80"], .progress-bar-fill[style*="4ade80"], .tt-mini-fill[style*="3ddc84"], .progress-bar-fill[style*="3ddc84"]{background:linear-gradient(90deg,#16a34a,#3ddc84) !important; box-shadow:0 0 12px rgba(61,220,132,.55) !important;}
.tt-progress-fill.blue, .dc-prog-fill.blue, .sb-fill.blue{background:linear-gradient(90deg,#2563eb,#6ea3ff) !important; box-shadow:0 0 12px rgba(59,130,246,.55) !important;}
.tt-off-count, .stat-val, .tt-stat-val, .sg-val, .tt-glob-val, .tt-donut-val, .snipe-val{
  font-weight:900 !important; letter-spacing:-.02em; font-variant-numeric:tabular-nums;
  background:var(--tt-grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 0 14px rgba(242,193,74,.25));
}
.stat-val.bad, .tt-stat-val.bad, .stat-val.red{background:linear-gradient(90deg,#fff,#ffb4b4,#ff5c5c); -webkit-background-clip:text; background-clip:text;}
.stat-val.ok, .tt-stat-val.ok, .stat-val.green{background:linear-gradient(90deg,#fff,#c8ffe0,#3ddc84); -webkit-background-clip:text; background-clip:text;}
.tt-off-sub, .stat-sub, .stat-title{color:var(--tt-muted) !important;}
.tt-off-item{border-bottom:1px solid var(--tt-line-soft) !important; padding:8px 0 !important;}
.tt-quota-stat{color:var(--tt-red) !important; font-weight:800; text-shadow:0 0 12px rgba(255,92,92,.45);}
.tt-pie{filter:drop-shadow(0 0 18px rgba(242,193,74,.25));}
.tt-bonus-text{color:var(--tt-gold-3) !important; font-weight:900 !important; font-size:22px !important; text-shadow:0 0 18px rgba(242,193,74,.35);}
.tt-supporter-text{color:var(--tt-text-soft) !important;}
.tt-ally-logo{filter:drop-shadow(0 12px 30px rgba(0,0,0,.5)) drop-shadow(0 0 20px rgba(242,193,74,.25));}
.tt-res-box{font-family:var(--tt-font-mono); color:var(--tt-gold-3) !important; background:rgba(242,193,74,.10) !important; border:1px solid rgba(242,193,74,.3) !important;}

/* Wochenplaner */
.tt-week-grid{gap:8px !important;}
.tt-day-col{background:var(--tt-surface-glass) !important; border:1px solid var(--tt-line) !important; border-radius:12px !important; transition:all var(--tt-fast) var(--tt-ease) !important; cursor:pointer;}
.tt-day-col:hover{border-color:rgba(242,193,74,.35) !important; background:rgba(242,193,74,.06) !important; box-shadow:var(--tt-glow-gold-soft);}
.tt-day-head{color:#fff !important; font-weight:800 !important;}
.tt-day-date{color:var(--tt-muted) !important;}
.tt-time-bar{background:rgba(255,255,255,.06) !important; border-radius:6px !important; overflow:hidden;}
.tt-tb-seg{background:rgba(255,255,255,.06);}
.tt-tb-seg[style*="4ade80"], .tt-tb-seg[style*="3ddc84"]{background:var(--tt-green) !important; box-shadow:0 0 8px rgba(61,220,132,.6);}
.tt-time-cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px;}
.tt-time-block{background:var(--tt-surface-glass) !important; border:1px solid var(--tt-line) !important; border-radius:12px !important; padding:10px !important;}
.tt-tb-title{color:var(--tt-gold-3) !important; font-weight:800 !important; font-size:12px !important; letter-spacing:.06em; text-transform:uppercase; margin-bottom:8px;}
.tt-time-slot{
  border-radius:8px !important; border:1px solid var(--tt-line) !important; background:rgba(255,255,255,.03) !important; color:var(--tt-muted) !important;
  padding:6px 8px !important; font-size:12px !important; margin-bottom:4px; cursor:pointer; user-select:none; transition:all var(--tt-fast) var(--tt-ease);
}
.tt-time-slot:hover{border-color:rgba(242,193,74,.35) !important; color:#fff !important;}
.tt-time-slot.selected{background:linear-gradient(90deg, rgba(61,220,132,.28), rgba(61,220,132,.12)) !important; border-color:rgba(61,220,132,.6) !important; color:#fff !important; box-shadow:0 0 12px rgba(61,220,132,.3);}
/* Onlinezeiten-Seite */
.tt-slot{border-radius:6px !important; transition:all var(--tt-fast) var(--tt-ease);}
.tt-slot.status-1, .tt-slot[class*="status-1"]{background:rgba(61,220,132,.35) !important; box-shadow:inset 0 0 0 1px rgba(61,220,132,.5);}
.tt-slot.status-2, .tt-slot[class*="status-2"]{background:rgba(255,181,69,.35) !important; box-shadow:inset 0 0 0 1px rgba(255,181,69,.5);}
.tt-slot.status-3, .tt-slot[class*="status-3"]{background:rgba(255,92,92,.35) !important; box-shadow:inset 0 0 0 1px rgba(255,92,92,.5);}
.tt-legend-bar{display:flex; gap:10px; flex-wrap:wrap;}
.legend-opt{display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:999px; border:1px solid var(--tt-line-strong); background:var(--tt-surface-glass); cursor:pointer; font-size:12.5px; font-weight:700; transition:all var(--tt-fast) var(--tt-ease);}
.legend-opt:hover, .legend-opt.active{border-color:var(--tt-line-gold); box-shadow:var(--tt-glow-gold-soft);}

/* Stat-Kacheln */
.tt-stats-grid, .stats-grid-4, .tt-stat-row, .stats-overview, .tt-stats-bar{gap:14px !important;}
.tt-stat-card, .sg-card, .stat-item, .stat-col, .tt-ib-item, .tt-info-item{
  padding:16px 18px !important; position:relative; overflow:hidden;
}
.tt-stat-card::before, .sg-card::before{
  content:""; position:absolute; right:-30px; top:-30px; width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(242,193,74,.16), transparent 70%); pointer-events:none;
}
.stat-icon, .tt-restore-icon, .tt-backup-icon, .icon-backup, .icon-danger, .tt-hero-icon, .tt-badge-preview-icon, .tt-blocked-icon, .tt-lock-icon, .warn-icon, .wiz-icon, .tt-guest-icon, .tt-module-hero__icon, .tt-placeholder-hero__icon, .tt-role-icon, .tt-upload-icon, .tt-empty-ic, .tt-dual-icon-accent{
  display:inline-grid !important; place-items:center !important;
  width:52px; height:52px; min-width:52px; border-radius:15px;
  background:radial-gradient(circle at 35% 30%, rgba(242,193,74,.32), rgba(242,193,74,.06)) !important;
  border:1px solid rgba(242,193,74,.4) !important;
  color:var(--tt-gold-3) !important; font-size:22px !important;
  box-shadow:0 0 24px rgba(242,193,74,.22), inset 0 0 16px rgba(242,193,74,.10) !important;
}
.icon-danger, .warn-icon, .tt-lock-icon, .tt-blocked-icon{
  background:radial-gradient(circle at 35% 30%, rgba(255,92,92,.3), rgba(255,92,92,.06)) !important; border-color:rgba(255,92,92,.45) !important; color:#ffb4b4 !important;
  box-shadow:0 0 24px rgba(255,92,92,.22) !important;
}
.stat-icon.i-push, .stat-icon.i-get{color:var(--tt-green) !important; background:radial-gradient(circle at 35% 30%, rgba(61,220,132,.28), rgba(61,220,132,.05)) !important; border-color:rgba(61,220,132,.4) !important; box-shadow:0 0 20px rgba(61,220,132,.2) !important;}
.stat-icon.i-deff, .stat-icon.i-inc, .stat-icon.i-rep{color:#dbe8ff !important; background:radial-gradient(circle at 35% 30%, rgba(59,130,246,.3), rgba(59,130,246,.05)) !important; border-color:rgba(59,130,246,.45) !important; box-shadow:0 0 20px rgba(59,130,246,.2) !important;}
.stat-icon.i-off, .stat-icon.i-warn{color:#ffb4b4 !important; background:radial-gradient(circle at 35% 30%, rgba(255,92,92,.28), rgba(255,92,92,.05)) !important; border-color:rgba(255,92,92,.45) !important; box-shadow:0 0 20px rgba(255,92,92,.2) !important;}

/* Rangliste */
.rank-row, .sc-row{border-bottom:1px solid var(--tt-line-soft) !important; transition:background var(--tt-fast) var(--tt-ease);}
.rank-row:hover, .sc-row:hover{background:rgba(242,193,74,.05) !important;}
.rr-pos, .sc-rank{color:var(--tt-gold-3) !important; font-weight:900 !important; font-variant-numeric:tabular-nums;}
.rank-row:nth-child(1) .rr-pos{text-shadow:0 0 12px rgba(242,193,74,.8);}
.rr-val, .sc-v, .sc-val{font-variant-numeric:tabular-nums; color:#fff !important; font-weight:800;}

/* Ziele / Notizen */
.tt-donut{filter:drop-shadow(0 0 14px rgba(242,193,74,.3));}
.tt-sub-item, .gc-sub-item{border-radius:10px !important; border:1px solid var(--tt-line-soft) !important; background:rgba(255,255,255,.02) !important; transition:all var(--tt-fast) var(--tt-ease);}
.tt-sub-item:hover, .gc-sub-item:hover{background:rgba(242,193,74,.05) !important; border-color:rgba(242,193,74,.25) !important;}
.tt-deadline, .gi-time, .nc-date, .tt-feed-date, .tt-log-date, .tt-req-date, .tt-hist-date, .tt-mi-date{color:var(--tt-muted) !important; font-variant-numeric:tabular-nums;}
.nc-vil-tag, .cluster-tag{font-family:var(--tt-font-mono);}
.type-opt, .tt-theme-opt, .vil-box, .tt-part-row, .bnd-chip{
  border-radius:12px !important; border:1px solid var(--tt-line-strong) !important; background:var(--tt-surface-glass) !important;
  transition:all var(--tt-fast) var(--tt-ease) !important; cursor:pointer;
}
.type-opt:hover, .tt-theme-opt:hover, .vil-box:hover, .tt-part-row:hover, .bnd-chip:hover{border-color:var(--tt-line-gold) !important; background:rgba(242,193,74,.06) !important;}
.type-opt.active, .type-opt.selected, .tt-theme-opt.active, .tt-theme-opt.is-active, .vil-box.selected, .vil-box.active, .tt-part-row.active{
  border-color:var(--tt-gold) !important; background:rgba(242,193,74,.12) !important; box-shadow:var(--tt-glow-gold) !important;
}

/* =========================================================
   10) CHAT / TICKETS / FREUNDE
   ========================================================= */
.tt-chat-wrap{padding:0 !important; overflow:hidden !important;}
.tt-chat-wrap::before{display:none !important;}
.tt-chat-sidebar{
  background:linear-gradient(180deg, rgba(10,16,32,.7), rgba(6,10,22,.8)) !important;
  border-right:1px solid var(--tt-line) !important;
}
.tt-chat-sb-header, .tt-msg-header{
  padding:14px 16px !important; min-height:64px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent) !important;
  border-bottom:1px solid var(--tt-line) !important;
}
.tt-sb-title{font-size:12px !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:var(--tt-gold-3) !important; font-weight:900 !important;}
.tt-u-item, .tt-user-item, .tt-ticket-item, .tt-chat-item{
  border-radius:14px !important; border:1px solid var(--tt-line) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)) !important;
  transition:all var(--tt-fast) var(--tt-ease) !important; position:relative; overflow:hidden;
}
.tt-u-item:hover, .tt-user-item:hover, .tt-ticket-item:hover, .tt-chat-item:hover{background:rgba(242,193,74,.06) !important; border-color:rgba(242,193,74,.3) !important;}
.tt-u-item.active, .tt-ticket-item.active, .tt-chat-item.active, .tt-user-item.active{
  background:linear-gradient(90deg, rgba(242,193,74,.2), rgba(242,193,74,.04)) !important;
  border-color:rgba(242,193,74,.45) !important;
  box-shadow:inset 3px 0 0 var(--tt-gold), 0 0 20px rgba(242,193,74,.12) !important;
}
.tt-u-name, .tt-active-name, .tt-part-name, .tt-user-name{color:#fff !important; font-weight:800 !important;}
.tt-u-msg, .tt-active-sub, .tt-part-role, .tt-user-mail, .tt-u-email, .tt-u-details, .tt-user-sub{color:var(--tt-muted) !important;}
.tt-msg-area{
  background:
    radial-gradient(700px 300px at 20% 0%, rgba(37,99,235,.10), transparent 60%),
    radial-gradient(600px 300px at 100% 100%, rgba(242,193,74,.06), transparent 60%) !important;
}
.tt-msg-bubble{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  border:1px solid var(--tt-line) !important; border-radius:16px 16px 16px 4px !important;
  color:var(--tt-text) !important; box-shadow:var(--tt-shadow-1) !important;
}
.tt-msg.own .tt-msg-bubble, .tt-msg.me .tt-msg-bubble, .tt-msg.mine .tt-msg-bubble, .tt-msg.is-own .tt-msg-bubble, .tt-msg.self .tt-msg-bubble, .tt-msg.right .tt-msg-bubble{
  background:linear-gradient(135deg, rgba(242,193,74,.26), rgba(214,164,57,.14)) !important;
  border-color:rgba(242,193,74,.4) !important; border-radius:16px 16px 4px 16px !important;
  box-shadow:0 0 22px rgba(242,193,74,.12), var(--tt-shadow-1) !important;
}
.tt-msg-meta{color:var(--tt-muted) !important; font-size:11.5px !important;}
.tt-sender-name{color:var(--tt-gold-3) !important; font-weight:800 !important;}
.tt-input-wrapper{
  padding:12px 14px !important; border-top:1px solid var(--tt-line) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.14)) !important;
  display:flex; gap:10px; align-items:flex-end;
}
.tt-chat-textarea{min-height:46px !important; border-radius:14px !important;}
.tt-send-btn{height:46px !important; min-width:46px; border-radius:14px !important; padding:0 16px !important;}
.tt-input-row{display:flex; gap:10px; align-items:flex-end;}
.tt-full-msg, .tt-msg-text{color:var(--tt-text-soft) !important; line-height:1.55;}

/* =========================================================
   11) AUTH-SEITEN (Login / Register / Reset / Verify)
   ========================================================= */
.tt-login-card, .tt-auth-card, .tt-reg-card, .tt-change-card, .tt-delete-card, .tt-reset-card, .tt-guest-card{
  padding:32px 34px !important; border-radius:22px !important;
  border:1px solid rgba(242,193,74,.18) !important;
  box-shadow:0 34px 80px rgba(0,0,0,.55), var(--tt-hi), 0 0 60px rgba(242,193,74,.08) !important;
}
.tt-login-card .tt-head h1, .tt-auth-card .tt-head h1, .tt-reg-card .tt-head h1, .tt-change-card .tt-head h1, .tt-delete-card .tt-head h1, .tt-reset-card .tt-head h1, .tt-reg-card .tt-title, .tt-auth-card .tt-title{
  font-size:clamp(22px,2.6vw,28px) !important;
}
.tt-link-row{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:16px;}
.tt-link-row .tt-link, .tt-link, .tt-links a, .tt-back-link, .tt-coord-link, .coord-link{
  color:var(--tt-muted) !important; font-size:13px; font-weight:600; text-decoration:none !important;
  border-bottom:1px solid transparent; transition:all var(--tt-fast) var(--tt-ease);
}
.tt-link-row .tt-link:hover, .tt-link:hover, .tt-links a:hover, .tt-back-link:hover, .tt-coord-link:hover, .coord-link:hover{color:var(--tt-gold-3) !important; border-bottom-color:rgba(242,193,74,.5);}
.tt-login-card .tt-btn, .tt-auth-card .tt-btn, .tt-reg-card .tt-btn, .tt-change-card .tt-btn, .tt-delete-card .tt-btn, .tt-reset-card .tt-btn{width:100% !important; height:46px !important; font-size:14px !important;}
.tt-verify-email{
  display:flex; flex-direction:column; align-items:center; gap:8px; padding:22px; margin:6px 0 18px;
  border-radius:16px; border:1px dashed rgba(242,193,74,.4); background:rgba(242,193,74,.06);
  text-align:center; color:var(--tt-muted);
}
.tt-verify-addr{font-weight:900; font-size:18px; color:#fff; letter-spacing:.01em; word-break:break-all;}
.tt-success-state{text-align:center; padding:26px 12px;}
.tt-success-state > i{font-size:56px; color:var(--tt-green); filter:drop-shadow(0 0 22px rgba(61,220,132,.6)); margin-bottom:12px; display:block; animation:tt-float 4s ease-in-out infinite;}
.tt-logout-icon{font-size:52px; color:var(--tt-gold); filter:drop-shadow(0 0 18px rgba(242,193,74,.5));}
.tt-auto-redir{color:var(--tt-muted); font-size:13px;}
.tt-checkbox-row{display:flex; flex-direction:column; gap:10px; margin:14px 0;}
.tt-checkbox-row .tt-chk-label span{color:var(--tt-text-soft) !important;}

/* =========================================================
   12) ACCOUNT / MEINE WELTEN / PROFIL
   ========================================================= */
.tt-profile-card{padding:22px !important;}
.tt-ac-avatar{
  width:64px !important; height:64px !important; font-size:24px !important;
  background:radial-gradient(circle at 35% 30%, rgba(242,193,74,.32), rgba(10,16,32,.9)) !important;
  border:1.5px solid rgba(242,193,74,.55) !important; color:var(--tt-gold-3) !important;
}
.tt-user-header h2{color:#fff !important;}
.tt-detail-item label{color:var(--tt-faint) !important;}
.tt-detail-item span{color:#fff !important;}
.tt-detail-item .tt-lvl-badge, .tt-detail-item .tt-donor-val{color:var(--tt-gold-3) !important;}
.tt-menu-btn{
  border-radius:14px !important; border:1px solid var(--tt-line) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
  box-shadow:var(--tt-hi) !important; color:var(--tt-text) !important; text-decoration:none !important;
  transition:all var(--tt-fast) var(--tt-ease) !important;
}
.tt-menu-btn:hover{border-color:rgba(242,193,74,.45) !important; background:rgba(242,193,74,.10) !important; box-shadow:0 0 22px rgba(242,193,74,.16), inset 0 0 0 1px rgba(242,193,74,.14), var(--tt-hi) !important; transform:none !important;}
.tt-menu-btn > i{
  width:36px !important; height:36px !important; border-radius:11px !important; display:inline-grid !important; place-items:center !important;
  background:rgba(242,193,74,.10) !important; border:1px solid rgba(242,193,74,.28); color:var(--tt-gold-3) !important; flex:0 0 auto;
  box-shadow:0 0 12px rgba(242,193,74,.12);
}
.tt-menu-btn.btn-gold{background:var(--tt-grad-gold) !important; color:var(--tt-gold-ink) !important; border:1px solid var(--gold-bd) !important; box-shadow:var(--gold-glow) !important;}
.tt-menu-btn.btn-gold > i{background:rgba(19,23,34,.16) !important; color:var(--tt-gold-ink) !important; border-color:transparent;}
.tt-menu-btn.btn-danger{background:rgba(255,92,92,.06) !important; border:1px solid rgba(255,92,92,.3) !important; color:#ffb4b4 !important;}
.tt-menu-btn.btn-danger > i{background:rgba(255,92,92,.12) !important; color:#ffb4b4 !important; border-color:rgba(255,92,92,.3);}
.tt-menu-btn.btn-danger:hover{background:rgba(255,92,92,.14) !important; border-color:rgba(255,92,92,.55) !important; box-shadow:var(--tt-glow-red) !important;}
.tt-mb-label{color:var(--tt-muted) !important; font-size:11px !important; letter-spacing:.1em; text-transform:uppercase;}
.tt-mb-title{color:#fff !important; font-weight:800 !important;}
/* Gold-Kachel: dunkle Schrift auf Gold, auch beim Hover */
.tt-menu-btn.btn-gold .tt-mb-label{color:rgba(23,28,51,.72) !important;}
.tt-menu-btn.btn-gold .tt-mb-title, .tt-menu-btn.btn-gold:hover .tt-mb-title{color:var(--tt-gold-ink) !important;}
.tt-menu-btn.btn-gold:hover{background:var(--tt-grad-gold-h) !important; border-color:rgba(255,226,140,.9) !important; box-shadow:0 0 26px rgba(242,193,74,.5), var(--tt-hi) !important;}
.tt-menu-btn.btn-gold:hover > i{color:var(--tt-gold-ink) !important; filter:none !important;}
.tt-world-card.is-joined, .tt-mini-world.is-active{border-color:rgba(242,193,74,.4) !important; box-shadow:var(--tt-shadow-2), var(--tt-hi), inset 3px 0 0 var(--tt-gold), 0 0 26px rgba(242,193,74,.10) !important;}
.tt-wc-name, .tt-mw-name{color:#fff !important;}
.tt-wc-speed{color:var(--tt-gold-3) !important; text-shadow:0 0 12px rgba(242,193,74,.35);}
.tt-wc-meta, .tt-wc-player-info, .tt-mw-meta{color:var(--tt-text-soft) !important;}
.tt-hl-user, .tt-hl-ally{color:var(--tt-gold-3) !important; font-weight:800;}
.tt-mw-logo{border-radius:12px; border:1px solid var(--tt-line-strong); box-shadow:var(--tt-shadow-1);}
.tt-theme-switch, .tt-theme-card{}
.tt-theme-h{color:#fff !important;}
.tt-theme-sub{color:var(--tt-muted) !important;}

/* =========================================================
   13) DEFFCALLS / VERTEIDIGUNG (.dc-*, .cl-*, .mt-*, .att-*)
   ========================================================= */
.tt-dc-card{padding:0 !important; overflow:hidden !important;}
.dc-head{padding:16px 18px !important;}
.dc-h-player{color:#fff !important; font-weight:900 !important;}
.dc-village{color:var(--tt-muted) !important;}
.dc-body{padding:16px 18px !important;}
.dc-att-box{
  border-radius:12px !important; border:1px solid rgba(255,92,92,.28) !important;
  background:linear-gradient(180deg, rgba(255,92,92,.10), rgba(255,92,92,.03)) !important;
}
.dc-att-link{color:#ffc2c2 !important;}
.dc-data-row{border-bottom:1px solid var(--tt-line-soft) !important;}
.dc-val{color:#fff !important; font-weight:800 !important; font-variant-numeric:tabular-nums;}
.dc-list-wrap, .att-list-wrap, .tt-res-list, .tt-results-list, .dc-res-list, .tt-sync-list, .tt-history-list, .tt-info-list, .tt-mini-list, .tt-link-list, .tt-req-list, .tt-menu-list, .tt-menu-trash{
  border-radius:14px !important; border:1px solid var(--tt-line) !important; background:rgba(0,0,0,.16) !important; overflow:hidden;
}
.dc-list-head, .rm-list-head{background:rgba(255,255,255,.03) !important; color:var(--tt-muted) !important; font-size:11px !important; letter-spacing:.12em; text-transform:uppercase; font-weight:800 !important; padding:10px 14px !important;}
.dc-list-row, .dc-res-item, .tt-res-item, .tt-player-item, .rm-item, .tt-menu-row, .tt-mini-item, .tt-hist-item, .tt-info-item, .tt-sync-item{
  border-bottom:1px solid var(--tt-line-soft) !important; transition:background var(--tt-fast) var(--tt-ease);
}
.dc-list-row:hover, .dc-res-item:hover, .tt-res-item:hover, .tt-player-item:hover, .rm-item:hover, .tt-menu-row:hover{background:rgba(242,193,74,.06) !important;}
.rm-item.active, .tt-menu-row.active, .tt-player-item.active{background:rgba(242,193,74,.12) !important; box-shadow:inset 3px 0 0 var(--tt-gold);}
.cl-pname, .p-name, .player-name, .village-name, .v-name, .tt-v-name{color:#fff !important; font-weight:800 !important;}
.cl-units, .cl-count, .unit-name, .u-text{color:var(--tt-text-soft) !important; font-variant-numeric:tabular-nums;}
.cl-crop, .mt-sum-crop, .c-crop{color:var(--tt-orange) !important;}
.c-gold{color:var(--tt-gold-3) !important;}
.c-off{color:var(--tt-red) !important;}
.c-deff{color:var(--tt-info) !important;}
.dc-prog-head{color:var(--tt-muted) !important; font-size:11.5px !important; letter-spacing:.06em; text-transform:uppercase;}
.mt-table-wrap{border-radius:14px !important;}
.mt-table th{background:rgba(255,255,255,.03) !important; color:var(--tt-muted) !important;}
.mt-inp, .tt-inp-mini, .tt-sel-mini{min-height:34px !important; height:34px !important; padding:0 10px !important; border-radius:9px !important; font-size:13px !important; text-align:center;}
.mt-cell-row{border-bottom:1px solid var(--tt-line-soft);}
.mt-top-counter{display:flex !important; flex-direction:row !important; align-items:center !important; gap:10px !important; flex-wrap:wrap; border:0 !important; background:none !important; padding:0 !important;}
.mt-sum-wrap{display:inline-flex !important; align-items:center !important; gap:8px !important; min-height:34px; padding:0 12px !important; border-radius:11px !important; border:1px solid var(--tt-line-gold-soft) !important; background:rgba(242,193,74,.08) !important; color:var(--tt-gold-3) !important; font-size:12px !important; font-weight:900 !important; font-variant-numeric:tabular-nums;}
.mt-sum-wrap > span{font-size:13px;}
.mt-sum-unit{font-variant-numeric:tabular-nums; color:#fff; border-radius:8px !important; padding:3px 8px !important; background:rgba(170,192,255,.08) !important; border:1px solid var(--tt-line) !important; font-size:11px;}
.att-tags{display:flex; flex-wrap:wrap; gap:6px;}
.att-tag{background:rgba(255,92,92,.10) !important; border-color:rgba(255,92,92,.35) !important; color:#ffc2c2 !important;}
.att-rem{cursor:pointer; opacity:.7;}
.att-rem:hover{opacity:1; color:#fff;}
.snipe-row{border-bottom:1px solid var(--tt-line-soft); padding:8px 0;}
.snipe-time-list{display:flex; flex-wrap:wrap; gap:6px;}
.hover-col:hover, .mt-col-hover{background:rgba(242,193,74,.06) !important;}
.has-val{background:rgba(61,220,132,.08) !important;}
.highlight-anim{animation:tt-pulse-gold 1.2s ease-in-out 2;}
.tt-inp-group, .tt-input-group, .tm-input-group{display:flex; gap:8px; align-items:stretch;}
.tt-inp-group > *, .tt-input-group > *{min-width:0;}

/* ---------- Deffcall-Karten: Kopf, Kennzahlen, Fortschritt, Liste, Fuss ---------- */
.tt-top-section{display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:16px !important; margin-bottom:18px !important; flex-wrap:wrap;}
.tt-mini-grid{display:flex !important; flex-wrap:wrap !important; gap:10px !important; flex:1 1 auto; min-width:0;}
.tt-mini-card{
  display:flex !important; flex-direction:column !important; gap:7px !important;
  min-width:190px; padding:10px 12px 9px !important; border-radius:13px !important;
  border:1px solid var(--tt-line) !important; border-left:3px solid var(--tt-green) !important;
  background:linear-gradient(180deg, rgba(170,192,255,.07), rgba(170,192,255,.025)) !important;
  box-shadow:var(--tt-shadow-1), var(--tt-hi) !important; color:inherit !important; text-decoration:none !important;
  transition:border-color var(--tt-fast) var(--tt-ease), box-shadow var(--tt-fast) var(--tt-ease), background var(--tt-fast) var(--tt-ease);
}
.tt-mini-card:hover{border-color:rgba(242,193,74,.45) !important; border-left-color:var(--tt-gold) !important; background:rgba(242,193,74,.08) !important; box-shadow:0 0 20px rgba(242,193,74,.14), var(--tt-hi) !important;}
.tt-mini-name{font-size:12.5px !important; font-weight:800 !important; color:#fff !important; text-transform:none !important;}
.tt-mini-track{height:5px !important;}
.tt-mini-vals{font-size:10.5px !important; font-weight:800 !important; letter-spacing:.06em; color:var(--tt-muted) !important;}
.tt-actions-right{display:flex !important; gap:8px !important; align-items:center !important; flex-wrap:wrap; justify-content:flex-end;}

.tt-dc-grid{display:grid !important; grid-template-columns:repeat(auto-fill, minmax(440px, 1fr)) !important; gap:18px !important; align-items:stretch !important;}
.tt-dc-card{
  display:flex !important; flex-direction:column !important; min-height:0 !important;
  border-radius:18px !important; padding:0 !important; overflow:hidden !important;
  border:1px solid var(--tt-line) !important;
}
.tt-dc-card.is-full{border-color:rgba(61,220,132,.45) !important; box-shadow:var(--tt-shadow-2), var(--tt-hi), 0 0 0 1px rgba(61,220,132,.10), 0 0 28px rgba(61,220,132,.10) !important;}
.tt-dc-card.is-emergency{border-color:rgba(255,92,92,.6) !important; animation:tt-dc-emergency 2.4s ease-in-out infinite;}
@keyframes tt-dc-emergency{0%,100%{box-shadow:var(--tt-shadow-2), var(--tt-hi), 0 0 0 1px rgba(255,92,92,.10)}50%{box-shadow:var(--tt-shadow-2), var(--tt-hi), 0 0 0 1px rgba(255,92,92,.30), 0 0 30px rgba(255,92,92,.22)}}
.tt-dc-card.highlight-anim{animation:tt-pulse-gold 1.2s ease-in-out 2 !important;}

/* Kopf */
.dc-head{
  display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:12px !important;
  padding:16px 18px 14px !important; border-bottom:1px solid var(--tt-line) !important;
  background:linear-gradient(180deg, rgba(170,192,255,.06), transparent) !important;
}
.dc-title-block{display:flex !important; flex-direction:column !important; gap:6px !important; min-width:0;}
.dc-h-player{display:flex !important; align-items:center !important; gap:0 !important; font-size:17px !important; font-weight:900 !important; color:#fff !important; text-transform:none !important; letter-spacing:-.01em; line-height:1.15;}
.dc-village{
  display:inline-flex !important; align-items:center !important; gap:6px !important; width:max-content; max-width:100%;
  padding:3px 9px 3px 8px !important; border-radius:999px !important; font-family:var(--tt-font-mono) !important; font-size:11.5px !important; font-weight:700 !important;
  color:var(--tt-blue-3) !important; background:rgba(61,108,245,.10) !important; border:1px solid rgba(123,157,255,.28) !important; text-decoration:none !important;
  transition:color var(--tt-fast) var(--tt-ease), border-color var(--tt-fast) var(--tt-ease), background var(--tt-fast) var(--tt-ease), box-shadow var(--tt-fast) var(--tt-ease);
}
.dc-village::before{content:"\25CE"; font-family:var(--tt-font); font-size:11px; color:var(--tt-gold-3);}
.dc-village:hover{color:#fff !important; border-color:rgba(242,193,74,.5) !important; background:rgba(242,193,74,.10) !important; box-shadow:0 0 14px rgba(242,193,74,.16); text-decoration:none !important;}
.dc-badges{display:flex !important; flex-direction:column !important; align-items:flex-end !important; gap:5px !important; flex:0 0 auto;}
.dc-badge{
  display:inline-flex !important; align-items:center !important; gap:6px !important; height:22px !important; padding:0 9px !important;
  border-radius:999px !important; font-size:10px !important; font-weight:900 !important; letter-spacing:.1em; text-transform:uppercase; line-height:1;
  border:1px solid transparent !important; text-shadow:none !important; box-shadow:none !important;
}
.dc-badge.bg-type{color:var(--tt-gold-3) !important; background:rgba(242,193,74,.10) !important; border-color:rgba(242,193,74,.34) !important;}
.dc-badge.bg-open{color:var(--tt-green) !important; background:rgba(61,220,132,.08) !important; border-color:rgba(61,220,132,.38) !important;}
.dc-badge.bg-open::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--tt-green); box-shadow:0 0 8px var(--tt-green);}
.dc-badge.bg-full{color:#062a16 !important; background:linear-gradient(180deg, #5ef0a0, #22c55e) !important; border-color:rgba(61,220,132,.7) !important; box-shadow:0 0 14px rgba(61,220,132,.3) !important;}
.dc-badge.bg-emer{color:#fff !important; background:linear-gradient(180deg, #ff7676, #d92b2b) !important; border-color:rgba(255,120,120,.75) !important; box-shadow:0 0 14px rgba(255,92,92,.4) !important;}

/* Rumpf */
.dc-body{display:flex !important; flex-direction:column !important; gap:12px !important; padding:14px 18px 16px !important;}
.tt-dc-card.is-really-full .dc-body{filter:blur(5px) grayscale(.4) !important; opacity:.35 !important;}
.tt-dc-card.is-really-full.force-visible .dc-body{filter:none !important; opacity:1 !important;}
.dc-att-box{
  display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:6px !important; margin:0 !important; padding:8px 10px !important;
  border-radius:12px !important; border:1px solid rgba(255,92,92,.28) !important;
  background:linear-gradient(180deg, rgba(255,92,92,.10), rgba(255,92,92,.03)) !important;
}
.dc-att-box > i{color:var(--tt-red) !important; margin-right:2px;}
.dc-att-link{
  display:inline-flex !important; align-items:center !important; gap:5px !important; padding:3px 8px !important; border-radius:999px !important;
  font-size:11px !important; font-weight:700 !important; color:#ffc2c2 !important; background:rgba(255,92,92,.10) !important; border:1px solid rgba(255,92,92,.28) !important; text-decoration:none !important;
  transition:background var(--tt-fast) var(--tt-ease), color var(--tt-fast) var(--tt-ease), border-color var(--tt-fast) var(--tt-ease);
}
.dc-att-link:hover{color:#fff !important; background:rgba(255,92,92,.28) !important; border-color:rgba(255,120,120,.7) !important;}

/* Kennzahlen als Kacheln */
.dc-data-grid{display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)) !important; gap:8px !important; font-size:12px !important;}
.dc-data-row{
  display:flex !important; flex-direction:column !important; justify-content:center !important; gap:3px !important;
  padding:8px 10px !important; border-radius:11px !important; border:1px solid var(--tt-line-soft) !important;
  background:rgba(170,192,255,.045) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.dc-lbl{color:var(--tt-muted) !important; font-size:9.5px !important; font-weight:800 !important; letter-spacing:.12em; text-transform:uppercase; padding:0 !important;}
.dc-val{color:#fff !important; font-size:13.5px !important; font-weight:800 !important; text-align:left !important; font-variant-numeric:tabular-nums; white-space:nowrap;}
.dc-val.green{color:var(--tt-green) !important;}
.dc-val.red{color:var(--tt-red) !important;}

/* Fortschritt */
.dc-bars{display:flex !important; flex-direction:column !important; gap:9px !important; padding:10px 0 0 !important; border-top:1px solid var(--tt-line-soft) !important;}
.dc-prog-head{display:flex !important; justify-content:space-between !important; align-items:center !important; margin-bottom:5px !important; font-size:10.5px !important; font-weight:800 !important; letter-spacing:.1em; text-transform:uppercase; color:var(--tt-muted) !important;}
.dc-prog-head span:last-child{color:#fff !important; font-variant-numeric:tabular-nums; font-size:11.5px !important;}
.dc-prog-track{height:9px !important; border:0 !important; background:rgba(3,9,30,.6) !important; box-shadow:inset 0 1px 2px rgba(0,0,0,.5), inset 0 0 0 1px rgba(170,192,255,.08) !important;}
.dc-prog-fill{background:linear-gradient(90deg, var(--tt-gold-2), var(--tt-gold-3)) !important; box-shadow:0 0 12px rgba(242,193,74,.55) !important;}
.dc-prog-fill.full{background:linear-gradient(90deg, #22c55e, #6ff0a8) !important; box-shadow:0 0 12px rgba(61,220,132,.6) !important;}
.dc-prog-fill.scout{background:linear-gradient(90deg, var(--tt-blue-2), var(--tt-blue-3)) !important; box-shadow:0 0 12px rgba(61,108,245,.6) !important;}

/* Liste der gesendeten Truppen */
.dc-list-wrap{margin:0 !important; border-radius:13px !important; border:1px solid var(--tt-line) !important; background:rgba(3,9,30,.35) !important; overflow:hidden !important;}
.dc-list-head{display:grid !important; grid-template-columns:2fr 1.6fr 1fr 1fr 40px !important; gap:8px; padding:8px 12px !important; font-size:9.5px !important; letter-spacing:.12em; background:rgba(170,192,255,.05) !important; color:var(--tt-muted) !important; border-bottom:1px solid var(--tt-line) !important;}
.dc-list-body{max-height:150px !important; overflow-y:auto !important; -webkit-mask-image:linear-gradient(180deg, #000 calc(100% - 22px), transparent); mask-image:linear-gradient(180deg, #000 calc(100% - 22px), transparent);}
.dc-list-body:empty{display:none;}
.dc-list-row{display:grid !important; grid-template-columns:2fr 1.6fr 1fr 1fr 40px !important; gap:8px; align-items:center !important; padding:7px 12px !important; font-size:12px !important; border-bottom:1px solid var(--tt-line-soft) !important;}
.dc-list-row:last-child{border-bottom:0 !important;}
.dc-list-row:hover{background:rgba(242,193,74,.06) !important;}
.cl-pname{display:flex !important; align-items:center !important; gap:0 !important; font-weight:800 !important; font-size:12.5px !important;}
.cl-units{font-family:var(--tt-font-mono) !important; font-size:11px !important; opacity:.9;}
.cl-count{color:#fff !important; text-align:right !important; font-weight:800 !important; font-variant-numeric:tabular-nums;}
.cl-crop{color:var(--tt-orange) !important; text-align:right !important; font-variant-numeric:tabular-nums;}
.cl-action{display:flex !important; justify-content:flex-end !important;}
.btn-act{width:24px !important; height:24px !important; padding:0 !important; border-radius:8px !important; font-size:10px !important; opacity:1 !important; background:rgba(170,192,255,.07) !important; border:1px solid var(--tt-line-strong) !important; color:var(--tt-muted) !important;}
.btn-act:hover{color:#fff !important; border-color:rgba(242,193,74,.5) !important; background:rgba(242,193,74,.12) !important; box-shadow:0 0 12px rgba(242,193,74,.2);}

/* Fuss */
.dc-foot{display:flex !important; flex-wrap:wrap !important; gap:8px !important; align-items:center !important; padding:12px 18px 14px !important; border-top:1px solid var(--tt-line) !important; background:rgba(3,9,30,.28) !important; margin-top:auto;}
.dc-foot .dc-btn{flex:1 1 auto !important; min-width:max-content !important; height:34px !important; border-radius:10px !important; padding:0 12px !important; font-size:11px !important;}
.dc-foot .dc-btn.text{flex:1 1 auto !important;}
/* Leere Truppenliste: Kopfzeile ohne Eintraege ausblenden */
.dc-list-wrap:not(:has(.dc-list-row)){display:none !important;}

/* Leerzustand ohne Karten */
.tt-dc-grid:not(:has(.tt-dc-card))::before{
  content:"Aktuell keine Deffcalls."; display:block; grid-column:1 / -1; padding:36px 20px; text-align:center;
  color:var(--tt-muted); font-weight:700; border:1px dashed var(--tt-line-strong); border-radius:16px; background:rgba(170,192,255,.03);
}

/* Voll-Hinweis */
.tt-full-msg{
  display:none; z-index:10; padding:18px 26px !important; border-radius:16px !important; text-align:center;
  background:linear-gradient(180deg, rgba(18,34,80,.96), rgba(6,12,34,.98)) !important;
  border:1px solid rgba(61,220,132,.55) !important; box-shadow:0 20px 50px rgba(1,4,18,.6), 0 0 30px rgba(61,220,132,.2) !important;
}
.tt-msg-text{font-size:22px !important; font-weight:900 !important; letter-spacing:.06em; color:var(--tt-green) !important; text-shadow:0 0 18px rgba(61,220,132,.45) !important; margin-bottom:10px !important;}
@media (max-width:1100px){.tt-dc-grid{grid-template-columns:1fr !important;}}
@media (max-width:560px){.dc-data-grid{grid-template-columns:repeat(2, minmax(0,1fr)) !important;} .dc-head{flex-direction:column !important;} .dc-badges{flex-direction:row !important; align-items:center !important;}}

/* Accordions (Angriffe melden / Ziele) */
.acc-lvl1, .acc-lvl2, .tt-details-row, .tt-row-details, .detail-wrap, .tt-details-wrap{
  border-radius:14px !important; border:1px solid var(--tt-line) !important; background:var(--tt-surface-glass) !important; overflow:hidden;
}
.acc-lvl1-head, .acc-lvl2-head, .details-header, .detail-header-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px !important; cursor:pointer;
  background:linear-gradient(180deg, rgba(255,255,255,.035), transparent) !important; border-bottom:1px solid var(--tt-line-soft) !important;
  transition:background var(--tt-fast) var(--tt-ease);
}
.acc-lvl1-head:hover, .acc-lvl2-head:hover{background:rgba(242,193,74,.06) !important;}
.acc-lvl1-body, .acc-lvl2-body, .tt-details-content, .detail-content-grid{padding:12px 14px;}
.lvl1-title, .lvl2-source, .dhr-name{color:#fff !important; font-weight:800 !important;}
.lvl1-meta, .lvl2-meta, .lvl1-count, .lvl2-waves, .dhr-title{color:var(--tt-muted) !important;}
.wave-table td.cell-time, .wave-table td.cell-date{font-variant-numeric:tabular-nums; color:var(--tt-gold-3) !important;}

/* =========================================================
   14) MODULE / PLATZHALTER-SEITEN (.tt-module-*, .tt-placeholder-*)
   ========================================================= */
.tt-module-page, .tt-module-placeholder, .tt-placeholder-page{display:flex !important; flex-direction:column !important; gap:20px !important;}
.tt-module-hero, .tt-module-card.tt-module-intro, .tt-placeholder-hero{
  position:relative !important; overflow:hidden !important;
  background:linear-gradient(125deg, rgba(37,60,110,.55), rgba(12,18,32,.72)) !important;
  border:1px solid rgba(242,193,74,.22) !important;
  border-radius:20px !important;
  box-shadow:0 26px 64px rgba(0,0,0,.42), 0 0 48px rgba(242,193,74,.08), var(--tt-hi) !important;
  padding:26px 28px !important;
  animation:ttmg-fade-up .5s ease backwards !important;
}
.tt-module-hero::before, .tt-module-card.tt-module-intro::before, .tt-placeholder-hero::before{
  content:""; position:absolute; inset:0 0 auto 0; height:2px;
  background:var(--pr-hairline); background-size:200% 100%; animation:ttmg-shimmer 6s linear infinite;
}
.tt-module-hero::after, .tt-placeholder-hero::after{
  content:""; position:absolute; right:-60px; top:-60px; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(242,193,74,.18), transparent 68%); pointer-events:none;
}
.tt-module-hero, .tt-placeholder-hero{display:flex !important; align-items:center !important; gap:20px !important;}
.tt-module-hero__icon, .tt-placeholder-hero__icon{width:64px !important; height:64px !important; min-width:64px !important; border-radius:16px !important; font-size:26px !important;}
.tt-module-hero h2, .tt-module-page h2, .tt-placeholder-hero h1, .tt-placeholder-hero h2, .tt-placeholder-hero__copy h1{
  margin:0 0 6px !important; font-size:clamp(22px,3vw,30px) !important; font-weight:900 !important;
  background:var(--tt-grad-text) !important; -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
  filter:drop-shadow(0 0 22px rgba(242,193,74,.2));
}
.tt-module-hero p, .tt-module-page > .tt-module-hero p, .tt-placeholder-hero__copy p{margin:0 !important; color:var(--tt-ink-soft) !important; line-height:1.6 !important;}
.tt-module-kicker, .tt-placeholder-eyebrow, .settings-eyebrow, .ttg-kicker{
  display:inline-flex !important; align-items:center; gap:8px;
  color:var(--tt-gold-3) !important; letter-spacing:.2em !important; text-transform:uppercase !important;
  font-weight:800 !important; font-size:11.5px !important;
  text-shadow:0 0 16px rgba(242,193,74,.25) !important; margin-bottom:8px;
}
.tt-module-kicker::before, .tt-placeholder-eyebrow::before, .settings-eyebrow::before{content:""; width:18px; height:2px; border-radius:2px; background:var(--tt-grad-gold-h); box-shadow:0 0 10px rgba(242,193,74,.5);}
.tt-module-copy{color:var(--tt-ink-soft) !important; line-height:1.7 !important;}
.tt-module-grid, .tt-placeholder-grid{display:grid !important; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)) !important; gap:16px !important;}
.tt-module-card{padding:22px 24px !important; animation:ttmg-fade-up .5s ease backwards !important;}
.tt-module-card:hover{transform:none !important;}
.tt-module-card h3{margin:0 0 8px !important; color:#fff !important; font-size:17px !important; font-weight:800 !important;}
.tt-module-card > p{color:var(--tt-ink-soft) !important; line-height:1.6 !important; margin:0 !important;}
.tt-module-tile, .tt-placeholder-card{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
  border:1px solid var(--tt-line) !important; border-radius:15px !important;
  padding:18px 18px 16px !important; min-height:112px !important;
  transition:background var(--tt-med) var(--tt-ease), border-color var(--tt-med) var(--tt-ease), box-shadow var(--tt-med) var(--tt-ease) !important;
  animation:ttmg-fade-up .5s ease backwards !important;
}
.tt-module-tile::before, .tt-placeholder-card::before{content:""; position:absolute; inset:0 0 auto 0; height:2px; background:var(--pr-hairline); opacity:0; transition:opacity var(--tt-med) var(--tt-ease);}
.tt-module-tile:hover, .tt-placeholder-card:hover{
  transform:none !important;
  background:linear-gradient(180deg, rgba(47,91,230,.28), rgba(170,192,255,.03)) !important;
  border-color:rgba(242,193,74,.38) !important;
  box-shadow:0 20px 40px rgba(1,4,18,.34), 0 0 28px rgba(242,193,74,.16), inset 0 0 0 1px rgba(242,193,74,.10) !important;
}
.tt-module-tile:hover::before, .tt-placeholder-card:hover::before{opacity:1;}
.tt-module-tile strong, .tt-placeholder-card strong, .tt-placeholder-card h3{display:block; margin-bottom:8px !important; color:#fff !important; font-size:14.5px !important; font-weight:800 !important;}
.tt-module-tile p, .tt-placeholder-card p{margin:0 !important; color:var(--tt-ink-soft) !important; line-height:1.55 !important; font-size:13px !important;}
.tt-placeholder-card__step{
  display:inline-grid; place-items:center; width:30px; height:30px; border-radius:10px; margin-bottom:10px;
  font-size:12px; font-weight:900; color:var(--tt-gold-ink); background:var(--tt-grad-gold); box-shadow:0 0 14px rgba(242,193,74,.4);
}
.tt-module-note{
  display:inline-flex !important; align-items:center !important; gap:10px !important;
  padding:12px 16px !important; border-radius:12px !important; font-size:13px !important; line-height:1.5 !important; margin-top:12px;
}
.tt-module-grid > *:nth-child(2), .tt-placeholder-grid > *:nth-child(2){animation-delay:.06s !important;}
.tt-module-grid > *:nth-child(3), .tt-placeholder-grid > *:nth-child(3){animation-delay:.12s !important;}
.tt-module-grid > *:nth-child(4), .tt-placeholder-grid > *:nth-child(4){animation-delay:.18s !important;}
.tt-module-grid > *:nth-child(5), .tt-placeholder-grid > *:nth-child(5){animation-delay:.24s !important;}
.tt-module-grid > *:nth-child(6), .tt-placeholder-grid > *:nth-child(6){animation-delay:.30s !important;}
@media (max-width:780px){
  .tt-module-hero, .tt-placeholder-hero{flex-direction:column !important; text-align:center !important;}
  .tt-module-grid, .tt-placeholder-grid{grid-template-columns:1fr !important;}
}

/* =========================================================
   15) OEFFENTLICHE SEITEN (Gruender / Spenden / Impressum / Datenschutz / Kontakt / Patchnotes / Was ist)
   ========================================================= */
.tt-founder-wrap, .tt-donate-wrap, .tt-impressum-wrap, .tt-privacy-wrap, .tt-imp-wrap, .tt-imp2-wrap, .tt-about-wrap, .tt-patch-wrap, .ttg-wrap{
  max-width:none !important; width:100% !important; margin:0 !important;
}
.tt-founder-wrap .tt-founder-card, .tt-donate-wrap .tt-donate-card, .tt-impressum-wrap .tt-imp-card, .tt-privacy-wrap .tt-privacy-card, .tt-imp2-card, .tt-patch-card, .tt-about-card, .ttg-card, .ttg-block{
  position:relative !important; overflow:hidden !important;
  border-radius:22px !important;
  padding:30px 32px !important;
  animation:ttpg-fade-up .5s ease backwards !important;
}
.tt-founder-wrap .tt-founder-card::before, .tt-donate-wrap .tt-donate-card::before, .tt-impressum-wrap .tt-imp-card::before, .tt-privacy-wrap .tt-privacy-card::before, .tt-imp2-card::before, .tt-patch-card::before{
  content:""; display:block !important; position:absolute; inset:0 0 auto 0; height:2px; width:auto; bottom:auto; left:0; right:0; top:0; border-radius:0;
  background:var(--pr-hairline); background-size:200% 100%; animation:ttpg-shimmer 7s linear infinite; box-shadow:none; opacity:1;
}
.tt-founder-head h1, .tt-donate-head h1, .tt-pn-hero h1, .tt-about-hero h1, .ttg-hero h1, .tt-imp-hero h1, .tt-imp2-hero h1, .tt-imp-head h1{
  margin:0 0 8px !important; font-size:clamp(26px,3.4vw,40px) !important; font-weight:950 !important;
  background:var(--tt-grad-text) !important; -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
  filter:drop-shadow(0 0 26px rgba(242,193,74,.22));
}
.tt-founder-head p, .tt-donate-head p, .tt-pn-hero p, .ttg-hero p, .tt-imp-hero p, .tt-imp2-hero p{margin:0 !important; color:var(--tt-ink-soft) !important; font-size:15px !important;}
.tt-founder-head, .tt-donate-head{margin-bottom:22px !important; padding-bottom:18px !important; border-bottom:1px solid var(--tt-line) !important;}
.tt-pn-hero, .ttg-hero, .tt-about-hero, .tt-imp-hero, .tt-imp2-hero, .tt-hero-card{
  position:relative; overflow:hidden;
  background:linear-gradient(125deg, rgba(37,60,110,.55), rgba(12,18,32,.72)) !important;
  border:1px solid rgba(242,193,74,.22) !important; border-radius:22px !important;
  box-shadow:0 26px 64px rgba(0,0,0,.42), 0 0 48px rgba(242,193,74,.08), var(--tt-hi) !important;
  padding:28px 30px !important; margin-bottom:20px;
}
.tt-pn-hero::after, .ttg-hero::after, .tt-about-hero::after, .tt-hero-card::after{
  content:""; position:absolute; right:-80px; top:-80px; width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle, rgba(242,193,74,.18), transparent 68%); pointer-events:none;
}
.tt-founder-wrap .tt-founder-h3, .tt-donate-wrap .tt-donate-h3, .tt-impressum-wrap .tt-imp-h3, .tt-imp-h3{
  display:block !important; position:relative !important;
  margin:24px 0 10px !important; padding-left:14px !important;
  font-size:17px !important; font-weight:850 !important; color:#fff !important;
}
.tt-founder-wrap .tt-founder-h3::before, .tt-donate-wrap .tt-donate-h3::before, .tt-impressum-wrap .tt-imp-h3::before, .tt-imp-h3::before{
  content:""; position:absolute; left:0; top:2px; bottom:2px; width:3px; border-radius:3px;
  background:var(--tt-grad-gold); box-shadow:0 0 12px rgba(242,193,74,.5);
}
.tt-founder-wrap .tt-founder-h3.first, .tt-donate-wrap .tt-donate-h3.first, .tt-imp-h3-first{margin-top:4px !important;}
.tt-founder-wrap .tt-founder-txt, .tt-donate-wrap .tt-donate-txt, .tt-privacy-wrap .tt-privacy-card, .tt-impressum-wrap .tt-imp-value, .tt-impressum-wrap .tt-imp-block, .ttg-rich, .tt-feed-txt, .tt-hero-text, .tt-desc{
  color:var(--tt-ink-soft) !important; line-height:1.7 !important;
}
.ttg-rich strong, .tt-rich strong, .tt-imp-value strong, .tt-founder-txt strong, .tt-donate-txt strong{color:var(--tt-gold-3) !important;}
.tt-impressum-wrap .tt-imp-label, .tt-imp-label{
  color:var(--tt-gold-3) !important; letter-spacing:.14em !important; text-transform:uppercase !important;
  font-weight:800 !important; font-size:11.5px !important; text-shadow:0 0 14px rgba(242,193,74,.22) !important;
}
.tt-impressum-wrap .tt-imp-section, .tt-impressum-wrap .tt-imp-disclaimer, .tt-imp-section, .tt-imp-disclaimer{
  background:var(--tt-surface-glass) !important; border:1px solid var(--tt-line) !important;
  border-radius:14px !important; padding:16px 18px !important;
}
.tt-impressum-wrap .tt-imp-grid{display:grid !important; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important; gap:16px !important;}
.tt-impressum-wrap .tt-imp-copyright, .tt-imp-copyright{margin-top:18px !important; color:var(--tt-muted) !important; font-size:12.5px !important; text-align:center !important;}
/* Hinweis auf den Vorrang der deutschen Fassung (nur in uebersetzten Sprachen) */
.tt-imp-legalnote{margin:22px 0 0 !important; padding:10px 14px !important; border-radius:12px !important; border:1px solid rgba(214,177,90,.28) !important; background:rgba(214,177,90,.10) !important; color:var(--tt-muted) !important; font-size:13px !important; line-height:1.6 !important;}
.tt-imp-legalnote i{color:var(--tt-gold, #d6b15a) !important; margin-right:6px !important;}
.tt-imp-tbl, .tt-imp2-tbl{width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--tt-line); border-radius:14px; overflow:hidden;}
.tt-imp-tbl td, .tt-imp2-tbl td{padding:10px 14px; border-bottom:1px solid var(--tt-line-soft);}
.tt-founder-wrap .tt-link, .tt-donate-wrap .tt-link, .tt-impressum-wrap .tt-link, .tt-privacy-wrap .tt-link{
  color:var(--tt-gold-3) !important; text-decoration:none !important; border-bottom:1px solid rgba(242,193,74,.35);
  transition:color var(--tt-fast) var(--tt-ease), border-color var(--tt-fast) var(--tt-ease);
}
.tt-founder-wrap .tt-link:hover, .tt-donate-wrap .tt-link:hover, .tt-impressum-wrap .tt-link:hover, .tt-privacy-wrap .tt-link:hover{color:#fff !important; border-color:rgba(242,193,74,.8);}
.tt-founder-wrap .tt-founder-img, .ttg-photo img, .tt-feed-img, .tt-logo-img{
  border-radius:16px !important; border:1px solid rgba(242,193,74,.2) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.4), 0 0 30px rgba(242,193,74,.1) !important;
}
.tt-founder-wrap .tt-project-link, .ttg-plink, .tt-link-card{
  display:flex !important; align-items:center !important; gap:12px !important;
  padding:12px 14px !important; border-radius:12px !important;
  background:var(--tt-surface-glass) !important; border:1px solid var(--tt-line) !important;
  color:var(--tt-text) !important; text-decoration:none !important;
  transition:border-color var(--tt-med) var(--tt-ease), box-shadow var(--tt-med) var(--tt-ease), background var(--tt-med) var(--tt-ease) !important;
}
.tt-founder-wrap .tt-project-link:hover, .ttg-plink:hover, .tt-link-card:hover{
  transform:none !important; background:rgba(47,91,230,.22) !important;
  border-color:rgba(242,193,74,.4) !important; box-shadow:0 0 24px rgba(242,193,74,.16), inset 0 0 0 1px rgba(242,193,74,.12) !important;
}
.tt-founder-wrap .tt-project-link span i, .ttg-plink i, .ttg-ic{color:var(--tt-gold-3) !important; font-size:20px !important;}
.tt-founder-wrap .tt-sig, .ttg-sig{margin-top:18px !important; font-family:"Brush Script MT", "Segoe Script", cursive; font-size:24px !important; color:var(--tt-gold-3) !important; text-shadow:0 0 18px rgba(242,193,74,.3);}
.tt-founder-wrap .tt-img-caption{color:var(--tt-muted) !important; font-size:11.5px !important; text-align:center !important; margin-top:6px !important;}

/* Spenden */
.tt-donate-wrap .tt-badge-showcase, .tt-badge-showcase{
  display:grid !important; gap:10px !important; margin:12px 0 8px !important;
  padding:16px !important; border-radius:14px !important;
  background:rgba(0,0,0,.22) !important; border:1px solid var(--tt-line) !important;
}
.tt-donate-wrap .tt-badge-row{display:flex !important; align-items:center !important; gap:12px !important;}
.tt-donate-wrap .tt-donate-form, .tt-donate-form{
  margin-top:14px !important; padding:18px !important; border-radius:16px !important;
  background:linear-gradient(180deg, rgba(37,60,110,.22), rgba(0,0,0,.28)) !important;
  border:1px solid rgba(242,193,74,.18) !important;
}
.tt-donate-wrap .tt-donate-label{display:block !important; margin-bottom:6px !important; color:var(--tt-gold-3) !important; font-weight:800 !important; font-size:12px !important; text-transform:uppercase !important; letter-spacing:.08em !important;}
.tt-donate-wrap .tt-top-item, .tt-top-item{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  padding:10px 14px !important; margin-top:8px !important; border-radius:12px !important;
  background:var(--tt-surface-glass) !important; border:1px solid var(--tt-line) !important;
  transition:border-color var(--tt-fast) var(--tt-ease), background var(--tt-fast) var(--tt-ease) !important;
}
.tt-donate-wrap .tt-top-item:hover, .tt-top-item:hover{background:rgba(242,193,74,.06) !important; border-color:rgba(242,193,74,.26) !important;}
.tt-donate-wrap .tt-top-rank, .tt-top-rank{color:var(--tt-gold-3) !important; font-weight:900 !important; margin-right:12px !important;}
.tt-top-list .tt-top-item:first-child .tt-top-rank{text-shadow:0 0 12px rgba(242,193,74,.8);}

/* Kontakt: Gast-Gate */
.tt-guest-wrap{max-width:560px !important; margin:6vh auto 0 !important;}
.tt-guest-wrap .tt-guest-card{
  text-align:center !important; padding:38px 32px !important;
  background:linear-gradient(160deg, rgba(37,60,110,.5), rgba(10,14,24,.72)) !important;
  border:1px solid rgba(242,193,74,.22) !important;
}
.tt-guest-wrap .tt-guest-icon{width:72px !important; height:72px !important; margin:0 auto 16px !important; border-radius:20px !important; font-size:30px !important;}
.tt-guest-wrap .tt-guest-actions{display:flex !important; gap:12px !important; justify-content:center !important; flex-wrap:wrap !important; margin-top:20px !important;}

/* Patchnotes-Feed */
.tt-pn-feed, .tt-feed-list{display:flex; flex-direction:column; gap:14px;}
.tt-feed-item{padding:18px !important;}
.tt-feed-title{color:#fff !important; font-weight:900 !important; font-size:17px !important;}
.tt-feed-meta{display:flex; gap:10px; align-items:center; flex-wrap:wrap; color:var(--tt-muted) !important; font-size:12.5px;}
.tt-feed-fallback{display:grid; place-items:center; color:var(--tt-gold); font-size:32px; background:rgba(242,193,74,.08); border-radius:14px; border:1px dashed rgba(242,193,74,.3); min-height:120px;}

/* Was ist TravTools: Feature-Karten + CTA */
.tt-feat-card{padding:22px !important;}
.tt-feat-head{display:flex; align-items:center; gap:12px; color:#fff; font-weight:900; margin-bottom:12px;}
.tt-feat-head i{color:var(--tt-gold); filter:drop-shadow(0 0 10px rgba(242,193,74,.5)); font-size:20px;}
.tt-feat-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; color:var(--tt-ink-soft);}
.tt-feat-list li{position:relative; padding-left:20px;}
.tt-feat-list li::before{content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; background:var(--tt-gold); box-shadow:0 0 10px rgba(242,193,74,.6);}
.tt-cta-card{
  text-align:center; padding:34px !important;
  background:linear-gradient(135deg, rgba(242,193,74,.16), rgba(37,60,110,.4)) !important;
  border:1px solid rgba(242,193,74,.34) !important; box-shadow:0 30px 70px rgba(0,0,0,.45), 0 0 60px rgba(242,193,74,.14) !important;
}
.tt-cta-btn{height:50px !important; padding:0 28px !important; font-size:15px !important; border-radius:14px !important; animation:tt-pulse-gold 2.6s ease-in-out 3;}
.tt-hero-quote{color:var(--tt-gold-3); font-style:italic; font-size:16px; border-left:3px solid var(--tt-gold); padding-left:14px; margin:12px 0 0;}

/* =========================================================
   16) SETTINGS · JOIN-WIZARD · BND
   ========================================================= */
.settings-shell{display:flex; flex-direction:column; gap:18px;}
.settings-grid{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr); gap:18px; align-items:start;}
.settings-card{padding:22px !important;}
.settings-main-card{box-shadow:0 22px 54px rgba(0,0,0,.36), 0 0 30px rgba(242,193,74,.07), var(--tt-hi) !important;}
.settings-card-head{border-bottom:1px solid var(--tt-line) !important; padding-bottom:14px; margin-bottom:16px;}
.settings-preview-badge{
  display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:999px; font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid var(--tt-line-strong); background:var(--tt-surface-glass); color:var(--tt-muted);
}
.settings-preview-badge.is-live{color:#c8ffe0; border-color:rgba(61,220,132,.5); background:rgba(61,220,132,.12); box-shadow:0 0 20px rgba(61,220,132,.25) !important;}
.settings-preview-block{padding:12px 14px; border-radius:12px; background:rgba(0,0,0,.2); border:1px solid var(--tt-line); margin-bottom:10px;}
.settings-preview-value{color:#fff; font-weight:700;}
.settings-toggle{display:flex; align-items:center; gap:14px; padding:14px; border-radius:14px; border:1px solid var(--tt-line); background:var(--tt-surface-glass); cursor:pointer;}
.settings-toggle-copy{color:var(--tt-ink-soft);}
.settings-toggle-copy strong{color:#fff;}
.settings-actions{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; margin-top:16px;}
@media (max-width:980px){.settings-grid{grid-template-columns:1fr;}}

.wiz-card{max-width:760px; margin:0 auto; padding:0 !important; overflow:hidden;}
.wiz-head{padding:22px 26px; border-bottom:1px solid var(--tt-line); display:flex; align-items:center; justify-content:space-between; gap:12px; background:linear-gradient(180deg, rgba(255,255,255,.04), transparent);}
.wiz-title{color:#fff; font-weight:900; font-size:20px; display:flex; align-items:center; gap:10px;}
.wiz-title i, .wiz-icon{color:var(--tt-gold);}
.wiz-body{padding:24px 26px;}
.wiz-step{display:none;}
.wiz-step.active{display:block; animation:tt-fade-up .35s var(--tt-ease-out);}
.wiz-h2{color:#fff; font-weight:900; margin:0 0 6px;}
.wiz-p, .wiz-intro{color:var(--tt-ink-soft);}
.step{
  display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:10px; font-weight:900; font-size:13px;
  background:var(--tt-surface-glass); border:1px solid var(--tt-line-strong); color:var(--tt-muted); transition:all var(--tt-fast) var(--tt-ease);
}
.step.active{background:var(--tt-grad-gold); color:var(--tt-gold-ink); border-color:var(--tt-gold); box-shadow:0 0 0 1px rgba(242,193,74,.4), 0 0 18px rgba(242,193,74,.3) !important;}
.step.done{background:rgba(61,220,132,.15); color:var(--tt-green); border-color:rgba(61,220,132,.5);}
.note-box{border-radius:12px !important;}

.bnd-share-row, .bnd-share-form{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  width:100%; margin-top:10px;
  padding:10px 12px; border-radius:12px;
  background:rgba(0,0,0,.22); border:1px solid var(--tt-line);
}
.bnd-share-lbl{font-size:11px; letter-spacing:.6px; text-transform:uppercase; color:var(--tt-muted); font-weight:800;}
.bnd-chip{display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:999px !important; font-size:12.5px; font-weight:700; color:var(--tt-text); user-select:none;}
.bnd-chip input{width:15px; height:15px;}
.bnd-prop-notice{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:9px 12px !important; border-radius:11px !important; font-size:12.5px;}
.bnd-prop-notice.muted{background:var(--tt-surface-glass) !important; border-color:var(--tt-line-strong) !important; color:var(--tt-muted) !important; box-shadow:none;}

/* =========================================================
   17) TABS · CHIPS · TOOLTIPS · SONSTIGES
   ========================================================= */
.tt-tabs, .tt-tab-row, .tt-tabs-container, .tt-sub-nav, .tt-tpl-nav, .type-selector{
  display:flex; gap:6px; flex-wrap:wrap; padding:5px; border-radius:14px;
  background:rgba(0,0,0,.22); border:1px solid var(--tt-line); width:fit-content; max-width:100%;
}
.tt-tabs .tt-tab, .tt-tab-row .tt-tab, .tt-tabs-container .tt-tab, .tt-sub-nav a, .tt-sub-nav button, .tt-tpl-nav button{
  border:0 !important; background:transparent !important; color:var(--tt-muted) !important; border-radius:10px !important; padding:8px 14px !important; font-weight:700 !important; cursor:pointer;
  transition:all var(--tt-fast) var(--tt-ease) !important; text-decoration:none !important;
}
.tt-tabs .tt-tab:hover, .tt-tab-row .tt-tab:hover, .tt-sub-nav a:hover, .tt-sub-nav button:hover, .tt-tpl-nav button:hover{color:#fff !important; background:rgba(255,255,255,.06) !important;}
.tt-tabs .tt-tab.active, .tt-tab-row .tt-tab.active, .tt-tabs-container .tt-tab.active, .tt-sub-nav a.active, .tt-sub-nav button.active, .tt-tpl-nav button.active, .tt-tab.is-active{
  background:var(--tt-grad-gold) !important; color:var(--tt-gold-ink) !important; box-shadow:0 0 16px rgba(242,193,74,.35) !important;
}
[data-tt-tip]{position:relative;}
/* Keine Hover-Tooltips mehr (Wunsch): .tt-tip ist nur noch normaler Text. */
.tt-tip{position:relative; cursor:default; border-bottom:0;}
.tt-tip:hover::after{content:none;}
.tt-gap-12{height:12px;}
.tt-loading-center, .tt-cell-loading{color:var(--tt-muted);}
code, .tt-val-mono, .code-text, .tt-mono{font-family:var(--tt-font-mono); font-size:.92em; color:var(--tt-gold-3); background:rgba(242,193,74,.08); border:1px solid rgba(242,193,74,.2); padding:2px 6px; border-radius:6px;}
.code-wrap{display:flex; gap:10px; align-items:center; padding:12px 14px; border-radius:12px; background:rgba(0,0,0,.28); border:1px dashed rgba(242,193,74,.35);}
pre{background:rgba(0,0,0,.3); border:1px solid var(--tt-line); border-radius:12px; padding:14px; overflow:auto; color:var(--tt-text-soft);}
.tt-transparency-grid{background-image:linear-gradient(45deg, rgba(255,255,255,.06) 25%, transparent 25%), linear-gradient(-45deg, rgba(255,255,255,.06) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(255,255,255,.06) 75%), linear-gradient(-45deg, transparent 75%, rgba(255,255,255,.06) 75%); background-size:20px 20px; background-position:0 0,0 10px,10px -10px,-10px 0; border-radius:14px; border:1px solid var(--tt-line);}
.tt-browser-mockup{border-radius:14px !important; border:1px solid var(--tt-line-strong) !important; box-shadow:var(--tt-shadow-2) !important; overflow:hidden; background:#fff;}
.tt-live-indicator{display:inline-flex; align-items:center; gap:8px; color:var(--tt-green); font-weight:800; font-size:12px;}
.tt-live-indicator::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--tt-green); box-shadow:0 0 10px var(--tt-green); animation:tt-glow-breathe 1.6s ease-in-out infinite;}
.tt-locked-overlay, .tt-blocked-overlay{border-radius:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; color:#fff; font-weight:800;}
.tt-loading-overlay .tt-spinner{margin:0 auto;}
.tm-icon-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(44px,1fr)); gap:6px;}
.tm-icon-box{display:grid; place-items:center; height:44px; border-radius:10px; border:1px solid var(--tt-line); background:var(--tt-surface-glass); cursor:pointer; font-size:20px; transition:all var(--tt-fast) var(--tt-ease);}
.tm-icon-box:hover{border-color:var(--tt-line-gold); background:rgba(242,193,74,.12); box-shadow:0 0 16px rgba(242,193,74,.3);}
.tm-drag-handle{cursor:grab; color:var(--tt-faint);}
.tt-menu-row.tm-over{outline:2px dashed rgba(242,193,74,.5); outline-offset:-2px;}
.tt-menu-row.tm-dragging{opacity:.5;}
.tt-menu-row.is-hidden{opacity:.55;}
.tm-icon{font-size:18px;}

/* =========================================================
   18) EFFEKTE (Ripple beim Klick)
   ========================================================= */
.tt-fx-ripple{position:absolute; border-radius:50%; transform:scale(0); pointer-events:none;
  background:radial-gradient(circle, rgba(255,255,255,.55), rgba(255,255,255,0) 60%); animation:ttfx-ripple .6s ease-out forwards; z-index:2;}
@keyframes ttfx-ripple{to{transform:scale(2.6); opacity:0;}}
.tt-btn,[class*="tt-btn-"],button:not(.tt-bell),.tt-donate-btn{position:relative; overflow:hidden;}
/* Sidebar-Buttons ohne Overflow-Clipping fuer Tooltips */
.tt-sb button{overflow:visible;}
.tt-sb .tt-fx-ripple{display:none;}

/* =========================================================
   19) DRUCK
   ========================================================= */
@media print{
  .tt-sb, .tt-top, .tt-ambient, .tt-mobile-overlay, .tt-toast-host, .tt-progress-top{display:none !important;}
  .tt-main{margin:0 !important; width:100% !important;}
  body{background:#fff !important; color:#000 !important;}
  .tt-card, .tt-widget, .tt-panel, .tt-box{background:#fff !important; border:1px solid #ccc !important; box-shadow:none !important; color:#000 !important;}
}

/* =========================================================
   21) STANDALONE-SHELL (Diagnose/Setup) + FEHLER/WARTUNG
   ========================================================= */
.tt-standalone-body{min-height:100vh; display:grid; place-items:center; padding:24px;}
.tt-standalone-shell{width:min(860px, 100%);}
.tt-standalone-card{padding:30px 32px !important; border-radius:22px !important; border:1px solid rgba(242,193,74,.2) !important;}
.tt-standalone-brand{display:flex; align-items:center; gap:16px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--tt-line);}
.tt-standalone-brand img{width:64px; height:64px; object-fit:contain; filter:drop-shadow(0 0 16px rgba(242,193,74,.4));}
.tt-standalone-title{font-weight:900; font-size:20px; background:var(--tt-grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.tt-standalone-sub{color:var(--tt-muted); font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:800; margin-top:4px;}
.tt-standalone-card h1, .tt-standalone-card h2{color:#fff;}
.tt-standalone-card pre{margin-top:12px;}

/* =========================================================
   22) FEINSCHLIFF nach Render-Test (Header-Raster, Widgets, Auth, Heroes)
   ========================================================= */
/* Seitenkopf: h1 + Untertitel + Status/Aktionen sauber angeordnet, auch ohne Wrapper-DIVs */
.tt-header-standalone{
  display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; column-gap:18px !important; row-gap:4px !important;
  align-items:center !important;
}
.tt-header-standalone > h1{grid-column:1; grid-row:1;}
.tt-header-standalone > .tt-subtitle, .tt-header-standalone > p{grid-column:1; grid-row:2; margin:0 !important;}
.tt-header-standalone > .tt-status-badge, .tt-header-standalone > .tt-header-actions, .tt-header-standalone > .tt-head-actions, .tt-header-standalone > .header-actions, .tt-header-standalone > .tt-header-right, .tt-header-standalone > .tt-btn, .tt-header-standalone > [class*="tt-btn-"], .tt-header-standalone > form, .tt-header-standalone > .tt-btns-right, .tt-header-standalone > .tt-pn-actions, .tt-header-standalone > .tt-imp-actions{
  grid-column:2; grid-row:1 / span 2; align-self:center; justify-self:end; position:static !important;
}
.tt-header-standalone > .tt-header-left, .tt-header-standalone > .header-left, .tt-header-standalone > .tt-header-left-group, .tt-header-standalone > .header-left-group, .tt-header-standalone > .tt-head-main{grid-column:1; grid-row:1 / span 2;}
.tt-header-standalone .tt-status-badge{margin:0 !important;}
.tt-header-row > .tt-subtitle, .tt-header-row > p.tt-subtitle{flex-basis:100% !important; margin-top:-6px !important;}
.tt-header-standalone::after, .tt-header-row::after{grid-column:1 / -1;}

/* Dashboard-Widgets: Kopfzeile darf umbrechen, Kopf-Buttons kompakt */
.tt-w-head{flex-wrap:wrap !important; gap:8px 10px !important;}
.tt-w-title{min-width:0; flex:1 1 auto;}
.tt-w-actions{margin-left:auto; flex-wrap:wrap; gap:8px !important;}
.tt-widget .tt-btn-head, .tt-widget .tt-btn-inline{height:30px !important; min-height:30px !important; padding:0 10px !important; font-size:11px !important; border-radius:9px !important;}
.tt-widget .tt-ri-badge{min-height:24px !important; padding:3px 9px !important; font-size:10.5px !important;}

/* Account: Aktions-Kacheln linksbuendig, Icon rechts als Chip */
.tt-menu-btn .tt-mb-left{flex:1 1 auto; min-width:0; display:flex; flex-direction:column; align-items:flex-start !important; text-align:left !important; gap:3px;}
.tt-menu-btn > i{margin-left:auto !important;}

/* Auth-Karten: kein dicker Balken links, die Haarlinie reicht */
.tt-login-card, .tt-auth-card, .tt-reg-card, .tt-change-card, .tt-reset-card, .tt-delete-card{border-left:1px solid rgba(242,193,74,.18) !important;}
.tt-delete-card{border-color:rgba(255,92,92,.3) !important;}
.tt-delete-card::after{background:linear-gradient(90deg, transparent, rgba(255,92,92,.8), transparent) !important;}
.tt-link-row, .tt-links{display:flex !important; justify-content:space-between !important; flex-wrap:wrap !important; gap:10px 14px !important;}

/* Zentrierte Heroes: h1/h2 (flex durch fullwidth_fix) mittig halten */
.ttg-hero h1, .ttg-hero h2, .tt-hero-card h1, .tt-hero-card h2, .tt-hero-content h1, .tt-hero-content h2, .tt-guest-card h1, .tt-guest-card h2, .tt-cta-card h1, .tt-cta-card h2, .tt-success-state h1, .tt-success-state h2, .wartung-copy h1{
  justify-content:center !important; text-align:center !important;
}
.ttg-hero p, .tt-hero-card p, .tt-cta-card p, .tt-guest-card p{text-align:center;}
@media (max-width:780px){
  .tt-module-hero h2, .tt-placeholder-hero h1, .tt-placeholder-hero h2{justify-content:center !important; text-align:center !important;}
  .tt-header-standalone{grid-template-columns:1fr !important;}
  .tt-header-standalone > .tt-status-badge, .tt-header-standalone > .tt-header-actions, .tt-header-standalone > .tt-head-actions, .tt-header-standalone > .header-actions, .tt-header-standalone > .tt-header-right, .tt-header-standalone > .tt-btn, .tt-header-standalone > [class*="tt-btn-"], .tt-header-standalone > form, .tt-header-standalone > .tt-btns-right, .tt-header-standalone > .tt-pn-actions, .tt-header-standalone > .tt-imp-actions{grid-column:1; grid-row:auto; justify-self:start;}
}
/* Auth-Karten: Breite & Rand gegen Alt-Regeln (body.tt-app ...) durchsetzen */
.tt-app .tt-login-card, .tt-app .tt-auth-card, .tt-app .tt-reg-card, .tt-app .tt-change-card, .tt-app .tt-reset-card, .tt-app .tt-delete-card,
.tt-main .tt-login-card, .tt-main .tt-auth-card, .tt-main .tt-reg-card, .tt-main .tt-change-card, .tt-main .tt-reset-card, .tt-main .tt-delete-card{
  max-width:540px !important; width:100% !important; padding:32px 34px !important;
  border:1px solid rgba(242,193,74,.18) !important; border-left:1px solid rgba(242,193,74,.18) !important; border-radius:22px !important;
  background:var(--pr-card) !important;
  box-shadow:0 34px 80px rgba(0,0,0,.55), var(--tt-hi), 0 0 60px rgba(242,193,74,.08) !important;
}
.tt-app .tt-delete-card, .tt-main .tt-delete-card{border-color:rgba(255,92,92,.3) !important; border-left-color:rgba(255,92,92,.3) !important;}
.tt-app .tt-reg-card, .tt-main .tt-reg-card{max-width:640px !important;}
.tt-app .tt-link-row, .tt-app .tt-links{font-size:13px !important;}
.tt-app .tt-link, .tt-app .tt-back-link{color:var(--tt-muted) !important; text-decoration:none !important;}
.tt-app .tt-link:hover, .tt-app .tt-back-link:hover{color:var(--tt-gold-3) !important; text-decoration:none !important;}
.tt-app .tt-alert{padding:14px 16px 14px 18px !important; border-radius:14px !important; font-size:13.5px !important;}
/* Settings: Kopfzeile umbrechen, Toggle (Seite nutzt ::after als Knopf) */
.settings-card-head{display:flex !important; flex-wrap:wrap !important; gap:12px 18px !important; align-items:center !important; justify-content:space-between !important;}
.settings-card-head > div{min-width:0; flex:1 1 320px;}
.settings-toggle-track::before{display:none !important;}
.settings-toggle-track{width:62px !important; height:34px !important;}
.settings-toggle input:checked + .settings-toggle-track, .settings-toggle input:checked ~ .settings-toggle-track{background:var(--tt-grad-gold) !important; border-color:var(--tt-gold) !important; box-shadow:0 0 16px rgba(242,193,74,.45) !important;}
.settings-toggle input:checked + .settings-toggle-track::after{background:var(--tt-gold-ink) !important;}

/* =========================================================
   23) WARTUNGSSEITE — Feinschliff
   ========================================================= */
body.wartung-page{background-color:var(--tt-bg-1);}
.wartung-badge{width:max-content !important; max-width:100%; align-self:flex-start; justify-self:start; margin-bottom:16px;
  color:var(--tt-gold-3) !important; background:rgba(242,193,74,.10) !important; border:1px solid rgba(242,193,74,.32) !important; box-shadow:0 0 16px rgba(242,193,74,.16) !important;
  animation:tt-pulse-gold 3s ease-in-out 3;}
.wartung-copy h1{
  background:var(--tt-grad-text) !important; -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important; filter:drop-shadow(0 0 26px rgba(242,193,74,.22));
  justify-content:flex-start !important; text-align:left !important;
}
.wartung-subtitle{color:var(--tt-text-soft) !important;}
.wartung-text{color:var(--tt-muted) !important;}
.wartung-meta-card{
  background:var(--pr-card) !important; border:1px solid var(--tt-line) !important; border-radius:16px !important;
  box-shadow:var(--tt-shadow-1), var(--tt-hi) !important; position:relative; overflow:hidden;
}
.wartung-meta-card::after{content:""; position:absolute; left:8%; right:8%; top:0; height:1px; background:var(--pr-hairline); opacity:.55;}
.wartung-meta-label{color:var(--tt-gold-3) !important; letter-spacing:.16em !important; text-transform:uppercase !important; font-size:11px !important; font-weight:800 !important;}
.wartung-meta-card strong{color:#fff !important;}
.wartung-meta-card small{color:var(--tt-muted) !important;}
.wartung-admin-btn{width:auto !important; min-width:240px; height:48px !important; font-size:14px !important; border-radius:14px !important;}
.wartung-logo-hero img{filter:drop-shadow(0 24px 60px rgba(0,0,0,.55)) drop-shadow(0 0 46px rgba(242,193,74,.26)) !important; animation:tt-float 7s ease-in-out infinite;}
.wartung-footer-inline{color:var(--tt-muted) !important;}
.wartung-footer-inline a{color:var(--tt-gold-3) !important;}
.wartung-modal-backdrop{background:var(--pr-overlay) !important; backdrop-filter:blur(10px) !important;}
.wartung-modal-card{padding:0 !important;}
.wartung-modal-head{padding:22px 24px 16px !important;}
.wartung-modal-head h2{color:#fff !important; font-size:20px !important; margin:0 0 6px !important;}
.wartung-modal-head p{color:var(--tt-muted) !important; margin:0 !important; font-size:13.5px !important;}
.wartung-modal-icon{width:52px; height:52px; min-width:52px; border-radius:15px; display:inline-grid; place-items:center; font-size:22px; color:var(--tt-gold-3);
  background:radial-gradient(circle at 35% 30%, rgba(242,193,74,.32), rgba(242,193,74,.06)); border:1px solid rgba(242,193,74,.4); box-shadow:0 0 24px rgba(242,193,74,.22);}
.wartung-modal-close{position:absolute; right:14px; top:14px; z-index:5;}
.wartung-login-form{padding:0 24px 24px !important; display:flex; flex-direction:column; gap:14px;}
.wartung-modal-note{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; font-size:12.5px; color:#ffe6b3;
  background:rgba(242,193,74,.10); border:1px solid rgba(242,193,74,.28);}
.wartung-submit{width:100% !important; height:46px !important;}
/* Kompakte Spezial-Buttons: Schriftgroesse gegen globales button{15px} absichern, nie abschneiden */
.dc-btn, .btn-act, .gi-btn, .gc-btn, .tm-btn, .stat-btn, .rm-btn, .tt-tab, .tt-tab-btn, .nav-btn, .tt-part-btn, .tt-detail-btn, .tt-mute-btn, .tt-res-btn, .tt-req-btn-ok, .tt-req-btn-no, .mt-btn-save-mini, .btn-mini, .tt-mini-btn, .tt-btn-small, .tt-btn-inline, .tt-btn-head, .tt-btn-mini, .tt-page-btn, .tt-p-btn, .tt-bulk-btn, .tm-btn-icon, .tt-btn-add{
  font-size:11.5px !important; white-space:nowrap; overflow:hidden; text-overflow:clip; flex-shrink:0;
}
/* kompakte Buttons: kein Shine-Sweep (wuerde bei overflow:visible ausserhalb sichtbar) */
.tt-btn-mini::after, .tt-btn-head::after, .tt-btn-inline::after, .tt-mini-btn::after, .tt-btn-small::after, .tt-page-btn::after, .tt-p-btn::after, .tt-bulk-btn::after, .tm-btn-icon::after, .tt-btn-add::after, .tt-btn-icon::after, .tt-icon-btn::after{display:none !important;}
.dc-foot{flex-wrap:wrap !important; gap:8px !important; justify-content:flex-start !important; padding:12px 14px !important;}
.dc-foot .dc-btn{flex:1 1 auto !important; min-width:max-content !important; height:34px !important; padding:0 12px !important; border-radius:10px !important; letter-spacing:.04em !important;}
.dc-foot .dc-btn.text{flex:0 0 auto !important;}
.dc-btn.primary{background:var(--gold-grad) !important; color:var(--gold-fg) !important; border:1px solid var(--gold-bd) !important; box-shadow:0 0 12px rgba(242,193,74,.2), inset 0 1px 0 rgba(255,255,255,.4) !important;}
.dc-btn.secondary, .dc-btn.text{background:var(--neu-bg) !important; color:var(--neu-fg) !important; border:1px solid var(--neu-bd) !important;}
.dc-btn.secondary:hover, .dc-btn.text:hover{border-color:rgba(242,193,74,.42) !important; color:#fff !important; box-shadow:0 0 14px rgba(242,193,74,.12) !important;}
.dc-btn.del, .dc-btn.danger{background:var(--dan-bg) !important; color:var(--dan-fg) !important; border:1px solid var(--dan-bd) !important;}
/* Mini-Karten (Deffcall-Uebersicht oben) */
.tt-mini-card{padding:12px 14px !important; min-width:180px;}
.tt-mini-name{color:#fff !important; font-weight:800 !important;}
.tt-mini-vals{color:var(--tt-muted) !important; font-size:11px !important;}
.tt-mini-track{height:5px !important;}
.tt-mini-fill.scout{background:linear-gradient(90deg,#2563eb,#6ea3ff) !important; box-shadow:0 0 12px rgba(59,130,246,.55) !important;}
/* Status-Punkte in Deffcalls (live/hidden/closed) */
.status-dot.st-live{background:var(--tt-green) !important; box-shadow:0 0 10px var(--tt-green) !important; animation:tt-glow-breathe 2.4s ease-in-out infinite;}
.status-dot.st-hidden{background:var(--tt-orange) !important; box-shadow:0 0 10px rgba(255,181,69,.7) !important;}
.status-dot.st-closed{background:var(--tt-red) !important; box-shadow:0 0 10px rgba(255,92,92,.7) !important;}
.dc-btn .status-dot{position:static !important; margin:0 !important; width:8px; height:8px; flex:0 0 auto; order:-1;}
/* Buttons in Reihen/Toolbars: nie 100% breit (Alt-Regeln einzelner Seiten wie .tt-btn-danger{width:100%}) */
.tt-btn-danger, .tt-btn-secondary, .tt-btn-primary, .tt-btn{width:auto;}
.tt-btn-row > *, .tt-btn-row-compact > *, .tt-btns-right > *, .tt-header-actions > *, .tt-head-actions > *, .header-actions > *, .tt-actions > *, .tt-form-actions > *, .act-btns > *, .tt-modal-foot > *, .tt-modal-actions > *, .modal-foot > *, .tt-adm-tools > *, .tt-header-standalone > .tt-btn, .tt-header-standalone > [class*="tt-btn-"], .tt-header-row > .tt-btn, .tt-header-row > [class*="tt-btn-"], .tt-w-actions > *, .tt-wc-footer > *, .tt-mw-footer > *{
  width:auto !important; max-width:100%; flex:0 0 auto;
}
.tt-btn-row > form, .tt-actions > form, .tt-form-actions > form, .tt-header-actions > form{display:inline-flex;}
/* Auth-Karten: Hauptaktion bleibt volle Breite */
.tt-login-card .tt-form-grid > div > .tt-btn, .tt-auth-card .tt-btn, .tt-reg-card .tt-btn, .tt-change-card .tt-btn, .tt-delete-card .tt-btn, .tt-delete-card .tt-btn-danger, .tt-reset-card .tt-btn{width:100% !important;}
/* Schriftbild-System: grosse Buttons in Normalschrift, kompakte Buttons in Kapitaelchen */
.tt-btn, [class*="tt-btn-"]:not(.tt-btn-mini):not(.tt-btn-head):not(.tt-btn-inline):not(.tt-btn-small):not(.tt-page-btn):not(.tt-btn-row):not(.tt-btn-row-compact):not(.tt-btns-right):not(.tt-btn-group), .tt-cta-btn, .tt-su-btn, .tt-send-btn, .tt-act-btn, .wiz-btn, .tt-save-btn, .tt-danger-btn, .tt-download-btn, input[type="submit"], input[type="button"], .wartung-admin-btn, .wartung-submit{
  text-transform:none !important; letter-spacing:.01em !important; font-size:13.5px !important;
}
.tt-btn-mini, .tt-btn-head, .tt-btn-inline, .tt-btn-small, .tt-mini-btn, .btn-mini, .tt-tab, .tt-tab-btn, .dc-btn, .btn-act, .gi-btn, .gc-btn, .tm-btn, .stat-btn, .rm-btn, .tt-p-btn, .tt-bulk-btn, .mt-btn-save-mini{
  text-transform:uppercase !important; letter-spacing:.06em !important;
}
