/*
 * TravTools · © MUNLabs
 * Admin-Bereich
 * Admin-Tools, Verwaltung, Einladungen, Warnungen, Ziele und ähnliche Ansichten.
 */


/* ===== MIGRIERT AUS admin_admin_uebersicht.css ===== */

/* * TravTools - Admin Dashboard (V1) */

.tt-dash-wrap { 
    width: 100%; 
    padding: 25px 10px 10px 10px; 
    box-sizing: border-box; 
    font-family: "Inter", sans-serif; 
    color: var(--tt-text-soft); 
}

/* GRID LAYOUT */
.tt-dash-grid { 
    display: grid; 
    grid-template-columns: repeat(10, 1fr); 
    gap: 15px; 
}

/* WIDGET BASE */
.tt-widget { 
    background: var(--tt-surface-solid); 
    border: 1px solid var(--tt-line-solid); 
    border-radius: 8px; 
    padding: 15px; 
    display: flex; flex-direction: column; 
    position: relative; overflow: hidden; 
    transition: transform 0.2s; 
    min-height: 200px; /* Etwas höher für Listen */
}
.tt-widget:hover { border-color: rgba(255,255,255,0.15); }

/* WIDGET HEADER */
.tt-w-head { 
    display: flex; align-items: center; justify-content: space-between; 
    margin-bottom: 12px; padding-bottom: 8px; 
    border-bottom: 1px solid rgba(255,255,255,0.05); 
    min-height: 28px; 
}
.tt-w-title { 
    font-size: 11px; font-weight: 800; color: var(--tt-muted); text-transform: uppercase; 
    display: flex; align-items: center; gap: 6px; 
}
.tt-w-icon { color: var(--brandGold, #f2c14a); }
/* Rote Icons für Admin-Warnbereiche */
.tt-w-icon.danger { color: var(--tt-red); } 

.tt-w-actions { display: flex; align-items: center; gap: 10px; }

/* BUTTONS */
.tt-btn-head { 
    background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2)); 
    color: var(--tt-bg-0); border: none; font-weight: 800; 
    padding: 4px 10px; border-radius: 4px; 
    cursor: pointer; text-transform: uppercase; font-size: 9px; 
    text-decoration: none; transition: 0.2s; 
    display: inline-flex; align-items: center; gap: 4px; 
}
.tt-btn-head:hover { filter: brightness(1.1); transform:none; }

/* GRID SPANS */
/* Warnungen oben: Volle Breite */
.w-alerts { grid-column: span 10; min-height: auto; }

/* Die 4 Haupt-Listen: Je Halbe Breite */
.w-tq, .w-deff, .w-push, .w-warn { grid-column: span 5; }


/* --- LIST STYLES --- */
.tt-list-rows { display: flex; flex-direction: column; gap: 6px; overflow-y: auto; max-height: 250px; }

.tt-row-item { 
    background: rgba(255,255,255,0.03); 
    border: 1px solid rgba(255,255,255,0.05); 
    padding: 10px; 
    border-radius: 4px; 
    display: flex; align-items: center; justify-content: space-between;
    transition: 0.2s; 
}
.tt-row-item:hover { background: rgba(255,255,255,0.06); }

/* Linke Seite: Avatar/Name */
.tt-ri-left { display: flex; align-items: center; gap: 10px; flex: 1; }
.tt-ri-avatar { width: 30px; height: 30px; background: var(--tt-bg-2); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--tt-faint); border: 1px solid var(--tt-line-solid); }
.tt-ri-info { display: flex; flex-direction: column; }
.tt-ri-name { font-size: 13px; font-weight: 700; color: var(--tt-text); }
.tt-ri-sub { font-size: 10px; color: var(--tt-muted); }

/* Rechte Seite: Stats & Balken */
.tt-ri-right { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; width: 120px; }
.tt-ri-val { font-size: 12px; font-weight: 800; color: #fff; }
.tt-ri-val.bad { color: var(--tt-red); }
.tt-ri-val.warn { color: #f2c14a; }

/* Progress Bar Mini */
.tt-progress-mini { width: 100%; height: 4px; background: var(--tt-line-solid); border-radius: 2px; overflow: hidden; }
.tt-pg-bar { height: 100%; border-radius: 2px; }
.tt-pg-bar.red { background: var(--tt-red); }
.tt-pg-bar.orange { background: #fb8c00; }

/* ALERTS WIDGET (Top) */
.w-alerts { background: rgba(255,92,92,0.1); border-color: rgba(255,92,92,0.3); }
.tt-alert-row { display: flex; align-items: center; gap: 10px; color: var(--tt-red); font-size: 13px; font-weight: 600; padding: 5px 0; }
.tt-alert-row i { font-size: 16px; }

/* RESPONSIVE */
@media (max-width: 900px) {
    .tt-dash-grid { grid-template-columns: 1fr; }
    /* Alles untereinander auf Mobil/Tablet */
    .w-alerts, .w-tq, .w-deff, .w-push, .w-warn { grid-column: span 1; }
}


/* ===== MIGRIERT AUS admin_allianzeinstellungen.css ===== */

/* * TravTools - Alliance Settings (Cluster Simple V1) */

:root {
    --brandGold: #f2c14a;
    --bg-dark: var(--tt-bg-2);
    --bg-panel: var(--tt-surface-solid);
    --border: var(--tt-line-solid);
    --text-main: var(--tt-text);
    --text-muted: var(--tt-muted);
    --success: #238636;
    --danger: var(--tt-red);
}

.tt-adm-wrap { max-width: 1200px; margin: 0 auto; padding: 30px 20px; font-family: "Inter", sans-serif; color: var(--text-main); }

/* HEADER */
.tt-adm-header { margin-bottom: 30px; border-bottom: 1px solid var(--border); padding-bottom: 15px; }
.tt-adm-header h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; text-transform: uppercase; }
.tt-adm-header p { margin: 0; font-size: 14px; color: var(--text-muted); }

/* GRID LAYOUT */
.tt-adm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
@media (max-width: 900px) { .tt-adm-grid { grid-template-columns: 1fr; } }

/* CARDS */
.tt-adm-card { background: var(--bg-panel); border: 1px solid var(--border); border-radius: 12px; padding: 20px; display: flex; flex-direction: column; }
.tt-adm-card h2 { font-size: 18px; color: #fff; margin-top: 0; padding-bottom: 10px; border-bottom: 1px solid var(--border); }

/* ALERTS */
.tt-adm-msg { padding: 15px; border-radius: 8px; margin-bottom: 20px; font-weight: 700; }
.tt-adm-msg.success { background: rgba(61,220,132,0.1); color: var(--tt-green); border: 1px solid var(--tt-green); }
.tt-adm-msg.error { background: rgba(255,92,92,0.1); color: var(--tt-red); border: 1px solid var(--tt-red); }

/* LOGO BOX */
.tt-logo-preview-area { width: 100%; height: 200px; background: var(--bg-dark); border: 2px dashed var(--border); border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; overflow: hidden; }
.tt-ally-logo { max-height: 100%; max-width: 100%; object-fit: contain; }
.tt-no-logo { color: var(--tt-faint-2); font-weight: 700; text-transform: uppercase; }
.tt-upload-form { display: flex; gap: 10px; }
.tt-file-inp { flex: 1; color: var(--tt-text-soft); font-size: 12px; }
.tt-btn-upload { background: var(--brandGold); color: #000; border: none; padding: 8px 15px; border-radius: 6px; font-weight: 800; cursor: pointer; transition: 0.2s; }
.tt-btn-upload:hover { opacity: 0.9; transform:none; }

/* CLUSTER SECTION */
.tt-small-desc { font-size: 12px; color: var(--text-muted); margin-bottom: 20px; line-height: 1.5; }

/* Simple Add Form */
.tt-add-form { display: flex; gap: 10px; margin-bottom: 25px; }
.tt-inp-text { flex: 1; background: var(--bg-dark); border: 1px solid var(--border); color: #fff; padding: 10px 12px; border-radius: 8px; outline: none; }
.tt-inp-text:focus { border-color: var(--brandGold); }
.tt-btn-add { background: var(--success); color: #fff; border: none; padding: 0 20px; border-radius: 8px; cursor: pointer; font-size: 16px; transition: 0.2s; display: flex; align-items: center; justify-content: center; }
.tt-btn-add:hover { background: var(--tt-green); }

/* LISTS */
.tt-sec-title { font-size: 11px; text-transform: uppercase; color: var(--text-muted); margin-top: 15px; margin-bottom: 8px; border-bottom: 1px solid var(--border); display: block; padding-bottom: 4px; letter-spacing: 1px; }
.tt-sec-title.pending { color: var(--brandGold); border-color: var(--brandGold); }

.tt-link-list { list-style: none; padding: 0; margin: 0; }
.tt-link-list li { background: var(--bg-dark); border: 1px solid var(--border); margin-bottom: 8px; padding: 12px; border-radius: 8px; display: flex; align-items: center; justify-content: space-between; }
.tt-link-list li.active-item { border-left: 3px solid var(--tt-green); }
.tt-link-list li.pending-item { border-left: 3px solid var(--brandGold); }
.tt-link-list li.outgoing { opacity: 0.7; }

.ally-name { font-weight: 700; font-size: 14px; color: #fff; display: flex; align-items: center; gap: 8px; }
.status-badge { font-size: 10px; padding: 2px 6px; border-radius: 4px; font-weight: 700; background: var(--tt-surface-hover-solid); color: var(--tt-muted); margin-left: 10px; }
.status-badge.active { background: rgba(61,220,132,0.1); color: var(--tt-green); }

/* Buttons & Actions */
.btn-icon { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 14px; padding: 5px; transition: color 0.2s; }
.btn-icon:hover { color: #fff; }
.btn-icon.delete:hover { color: var(--danger); }

.info-col { display: flex; flex-direction: column; }
.meta-info { font-size: 10px; color: var(--tt-muted); margin-top: 2px; }

.act-btns { display: flex; gap: 8px; }
.btn-mini { border: none; padding: 6px 12px; border-radius: 6px; font-size: 11px; font-weight: 800; cursor: pointer; }
.btn-mini.accept { background: var(--success); color: #fff; }
.btn-mini.accept:hover { background: var(--tt-green); }
.btn-mini.reject { background: var(--tt-line-solid); color: var(--tt-muted); border: 1px solid var(--tt-faint-2); }
.btn-mini.reject:hover { background: var(--danger); color: #fff; border-color: var(--danger); }

.tt-empty-list { color: var(--tt-faint-2); font-style: italic; font-size: 12px; text-align: center; padding: 20px; }


/* ===== MIGRIERT AUS admin_deffcall_archiv.css ===== */

/* * TravTools - Admin Deffcall Archiv (Royal Focus Style) */

.tt-admin-wrap { 
    width: 100%; 
    box-sizing: border-box; 
    font-family: "Inter", sans-serif; 
    color: var(--tt-text-soft); 
    padding-right: 0;
}

/* HEADER */
.tt-header-row { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 25px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 15px; }
.tt-header-standalone h1 { font-size: 24px; font-weight: 900; color: #fff; margin: 0 0 5px 0; text-transform: uppercase; }
.tt-subtitle { color: var(--tt-muted); font-size: 12px; }

/* ALERT BOX */
.tt-alert-box {
    background: rgba(61,220,132,0.1); color: var(--tt-green); padding:10px; border:1px solid var(--tt-green); border-radius:8px; margin-bottom:20px;
}

/* TABLE CARD */
.tt-card { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 10px; overflow: hidden; margin-bottom: 25px; width: 100%; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.tt-table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }

/* Header */
.tt-table th { background: rgba(255,255,255,0.03); color: var(--tt-muted); padding: 10px 10px; text-align: left; border-bottom: 1px solid var(--tt-line-solid); font-size: 10px; font-weight: 700; text-transform: uppercase; }

/* Main Rows */
.tt-table td { padding: 4px 8px; border-bottom: 1px solid rgba(255,255,255,0.05); vertical-align: middle; color: var(--tt-text-soft); }
.tt-table tr { height: 42px; } /* Etwas höher für Icons */

/* PADDING FIX FOR TEXT COLUMNS */
.col-txt-pad { padding-top: 4px !important; }

/* HOVER EFFECT & OPEN STATE */
.tt-row-main { 
    cursor: pointer; 
    transition: background-color 0.2s ease; 
    background: var(--tt-surface-solid); 
}
.tt-row-main:hover td { 
    background-color: rgba(20, 60, 140, 0.3) !important; 
    box-shadow: inset 0 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; 
    color: #fff !important;
}
.tt-row-main:hover td:first-child { box-shadow: inset 1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; }
.tt-row-main:hover td:last-child { box-shadow: inset -1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; }
.tt-row-main.is-open { background: rgba(255,255,255,0.04); }

/* VILLAGE / PLAYER COLUMN */
.col-village { display: flex; align-items: center; gap: 10px; }
.col-icon { width: 32px; height: 32px; background: rgba(255,255,255,0.05); border: 1px solid var(--tt-faint-2); border-radius: 6px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.village-info-wrap { display: flex; flex-direction: column; justify-content: center; line-height: 1.2; }
.village-name-row { display: flex; align-items: center; gap: 6px; } 
.village-name { font-weight: 800; color: #fff; font-size: 13px; }
.coords-badge { background: rgba(255,255,255,0.1); padding: 1px 4px; border-radius: 3px; font-size: 10px; font-family: monospace; color: var(--tt-text-soft); }
.village-meta { font-size: 10px; color: var(--tt-muted); display: flex; align-items: center; gap: 5px; font-weight: 500; }

/* REQ / STATS */
.val-req { font-weight: 700; color: #fff; display: block; font-family: monospace; font-size: 13px; }
.lbl-small { font-size: 9px; color: var(--tt-faint); text-transform: uppercase; }

/* PROGRESS BAR */
.stat-progress { width: 100%; max-width: 120px; }
.stat-text { display: flex; justify-content: space-between; font-size: 11px; font-family: monospace; font-weight: 700; margin-bottom: 2px; }
.progress-bar-bg { width: 100%; height: 4px; background: rgba(255,255,255,0.1); border-radius: 2px; overflow: hidden; }
.progress-bar-fill { height: 100%; border-radius: 2px; }

/* DATE COL */
.date-col { display: flex; flex-direction: column; font-size: 10px; color: var(--tt-muted); gap: 2px; }

/* STATUS BADGE */
.status-badge { padding: 2px 6px; border-radius: 4px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.st-done { background: rgba(61,220,132,0.1); color: var(--tt-green); border: 1px solid var(--tt-green); }

/* TOGGLE BTN */
.tt-toggle-btn { 
    width: 32px !important; height: 32px !important; padding: 0 !important;
    border-radius: 6px; border: 1px solid #f2c14a; 
    background: rgba(242, 193, 74, 0.1); color: #f2c14a; 
    display: flex; align-items: center; justify-content: center; 
    transition: 0.3s; cursor: pointer; box-sizing: border-box;
}
.tt-row-main.is-open .tt-toggle-btn { transform: rotate(180deg); background: #f2c14a; color: #000; }
.tt-toggle-btn:hover { background: #f2c14a; color: #000; }

/* DETAILS (ACCORDION) */
.tt-details-row { display: none; }
.tt-details-row.is-open { display: table-row; }
.tt-details-content { 
    padding: 15px 15px 15px 45px; /* Links eingerückt passend zum Text darüber */
    background: var(--tt-bg-2); 
    border-bottom: 1px solid var(--tt-line-solid); 
    box-shadow: inset 0 5px 20px rgba(0,0,0,0.5);
    border-left: 2px solid #f2c14a; /* Visueller Anchor */
}

/* SUBTABLE HEADER */
.details-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.details-header h4 { margin: 0; color: #f2c14a; font-size: 12px; text-transform: uppercase; font-weight: 800; }
.details-stats { font-size: 11px; color: var(--tt-muted); }

/* SUBTABLE (Supporters) */
.tt-subtable-wrap { max-height: 250px; overflow-y: auto; margin-bottom: 15px; }
.tt-subtable { width: 100%; border-collapse: collapse; font-size: 12px; }
.tt-subtable th { text-align: left; color: var(--tt-faint); font-size: 10px; padding: 4px 0; text-transform: uppercase; }
.tt-subtable td { padding: 4px 0; border-bottom: 1px solid rgba(255,255,255,0.02); color: var(--tt-text-soft); }
.sub-player { color: #fff; font-weight: 600; }
.sub-amount { font-family: monospace; color: var(--tt-green); }
.sub-time { color: var(--tt-faint); font-size: 10px; }

/* ACTIONS */
.tt-details-actions { display: flex; justify-content: flex-end; padding-top: 10px; border-top: 1px solid rgba(255,255,255,0.05); }
.tt-btn { padding: 6px 12px; border-radius: 6px; font-weight: 800; font-size: 11px; border: none; cursor: pointer; text-transform: uppercase; display: flex; align-items: center; gap: 6px; height: 32px; }
.btn-delete { background: transparent; border: 1px solid var(--tt-red); color: var(--tt-red); } 
.btn-delete:hover { background: var(--tt-red); color: #fff; }


/* ===== MIGRIERT AUS admin_discord_webhook.css ===== */

/* Discord Webhook */


/* ===== MIGRIERT AUS admin_mail_templates.css ===== */

/* ===============================
   Mail-Templates – Bigger Layout Override
   Ziel: HTML/Text-Editor + Vorschau deutlich breiter & höher
   (nur CSS – keine Logikänderungen)
   =============================== */

/* mehr Content-Breite */
.page-wrap, .content-wrap, .container, .wrap, .tt-wrap, .tt-container {
  max-width: 1600px !important;
}

/* Grid (Editor links / Vorschau rechts) breiter */
.mailtpl-grid, .mailtplGrid, .mailtpl__grid {
  display: grid !important;
  grid-template-columns: minmax(560px, 1fr) minmax(760px, 1.25fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

/* auf kleineren Screens sauber untereinander */
@media (max-width: 1100px) {
  .mailtpl-grid, .mailtplGrid, .mailtpl__grid {
    grid-template-columns: 1fr !important;
  }
}

/* Karten mehr Luft */
.mailtpl-card, .mailtplCard, .card.mailtpl, .mailtpl-editor, .mailtpl-preview-wrap, .mailtplPreviewWrap {
  padding: 18px !important;
}

/* Betreff + Controls größer */
.mailtpl-editor input[type="text"],
.mailtpl-editor input[type="email"],
.mailtpl-editor select,
.mailtplCard input[type="text"],
.mailtplCard select {
  padding: 12px 14px !important;
  font-size: 15px !important;
}

/* Editor deutlich höher */
.mailtpl-editor textarea,
.mailtpl-editor .codearea,
.mailtplCard textarea {
  min-height: 560px !important;
  height: 560px !important;
  resize: vertical;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Vorschau-Box deutlich größer */
.mailtpl-preview,
.mailtplPreview,
.previewBox,
.mailtpl-preview-wrap .mailtpl-preview {
  width: 100% !important;
  min-height: 560px !important;
  height: 560px !important;
  overflow: auto !important;
  border-radius: 16px !important;
}

/* iFrame in Vorschau full size */
.mailtpl-preview iframe,
.mailtplPreview iframe,
.previewBox iframe {
  width: 100% !important;
  min-height: 520px !important;
  height: 520px !important;
  border: 0 !important;
}

/* Vorschau-Header/Badge nicht im Weg */
.mailtpl-preview .liveBadge,
.mailtplPreview .liveBadge,
.mailtpl-preview .badgeLive {
  position: absolute !important;
  right: 14px !important;
  top: 14px !important;
}

/* Tabs etwas größer */
.mailtpl-tabs button,
.mailtplTabs button,
.mailtplCard .tabs button {
  padding: 9px 12px !important;
  font-size: 13px !important;
}

/* Buttons immer weiße Schrift (TravTools Standard) */
button, .btn, .button {
  color: #fff !important;
}


/* ===== MIGRIERT AUS admin_nachrichten.css ===== */

/* admin_nachrichten.css (Fixed Badges) */

:root {
    --royalBlue: var(--tt-blue-2);
    --darkPanel: var(--tt-surface-solid);
    --darkBg: var(--tt-bg-2);
    --lineColor: var(--tt-line-solid);
    --brandGold: #f2c14a;
    --textMuted: var(--tt-muted);
}

/* --- BADGES ORIGINAL DESIGN (FIXED) --- */
.tt-badge {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    position: relative;
    margin-left: 2px; /* Minimaler Abstand */
    vertical-align: -1px; /* Ausrichtung zum Text */
    flex-shrink: 0;
}

/* Der Haken (Checkmark) */
.tt-badge::after {
    content: '';
    position: absolute;
    top: 45%; left: 50%;
    width: 3px; height: 5px;
    border-right: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
    transform: translate(-50%, -60%) rotate(45deg);
}

/* Farben */
.tt-badge.is-gold { background: var(--tt-gold); box-shadow: 0 0 5px rgba(242, 193, 78, 0.4); }
.tt-badge.is-alpha, .tt-badge.is-silver { background: linear-gradient(135deg, #e0e0e0, var(--tt-muted)); border: 1px solid var(--tt-faint); }
.tt-badge.is-premium, .tt-badge.is-blue { background: var(--tt-blue); border: 1px solid var(--tt-gold); } /* Blau mit Goldrand */
.tt-badge.is-premium::after { border-color: #fff; } /* Weißer Haken bei Blau */
.tt-badge.is-elite { background: #fff; box-shadow: 0 0 8px rgba(255,255,255,0.8); }

/* --- HAUPT LAYOUT --- */
.tt-chat-wrap { display: flex; height: calc(100vh - 180px); min-height: 600px; width: 100%; margin: 0; background: var(--darkBg); border: 1px solid var(--lineColor); border-radius: 12px; overflow: hidden; font-family: "Inter", sans-serif; color: var(--tt-text-soft); box-shadow: 0 10px 40px rgba(0,0,0,0.5); }
.tt-chat-sidebar { width: 320px; background: var(--darkPanel); border-right: 1px solid var(--lineColor); display: flex; flex-direction: column; flex-shrink: 0; }
.tt-chat-sb-header { padding: 15px 20px; border-bottom: 1px solid var(--lineColor); background: rgba(255,255,255,0.02); }
.tt-sb-title { font-size: 11px; font-weight: 800; color: var(--brandGold); text-transform: uppercase; letter-spacing: 1px; }
.tt-friend-list { flex: 1; overflow-y: auto; padding: 5px; display: flex; flex-direction: column; gap: 2px; }

/* LIST ITEM */
.tt-u-item { display: block; padding: 12px 15px; border-radius: 6px; cursor: pointer; transition: 0.2s; border-left: 3px solid transparent; }
.tt-u-item:hover { background: rgba(255, 255, 255, 0.04); }
.tt-u-item.active { background: rgba(37, 99, 235, 0.08); border-left-color: var(--royalBlue); }
.tt-u-name { font-weight: 700; color: var(--tt-text); font-size: 13px; display: flex; justify-content: space-between; align-items: center; }
.tt-u-msg { font-size: 12px; color: var(--textMuted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.tt-cnt-badge { background: var(--tt-red); color: #fff; font-size: 10px; padding: 1px 6px; border-radius: 10px; font-weight: 700; }

/* MAIN CHAT */
.tt-chat-main { flex: 1; display: flex; flex-direction: column; background: var(--darkBg); position: relative; }
.tt-msg-header { height: 50px; padding: 0 20px; border-bottom: 1px solid var(--lineColor); display: flex; align-items: center; background: var(--darkPanel); }
.tt-active-user { font-size: 15px; font-weight: 700; color: #fff; display: flex; align-items: center; gap: 5px; }
.tt-active-sub { font-size: 12px; color: var(--textMuted); font-weight: 400; }

/* STATS BAR */
.tt-stats-bar { height: 45px; background: var(--tt-bg-2); border-bottom: 1px solid var(--lineColor); display: flex; align-items: center; padding: 0 20px; gap: 20px; font-size: 12px; color: var(--tt-text-soft); }
.stat-item { display: flex; align-items: center; gap: 6px; }
.stat-item i { color: var(--textMuted); }
.stat-item span { font-weight: 700; color: #fff; }
.stat-sep { width: 1px; height: 18px; background: var(--lineColor); margin: 0 5px; }
.stat-btn { display: flex; align-items: center; gap: 6px; cursor: pointer; padding: 4px 10px; border-radius: 4px; transition: 0.2s; background: rgba(255,255,255,0.03); border: 1px solid transparent; }
.stat-btn:hover { background: rgba(255,255,255,0.08); border-color: var(--lineColor); }
.stat-btn i { color: var(--brandGold); }
.stat-btn.warn i { color: var(--tt-red); }
.badge-cnt { background: var(--lineColor); color: #fff; padding: 1px 6px; border-radius: 4px; font-weight: 700; font-size: 10px; }

/* CHAT AREA */
.tt-msg-area { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 6px; background-color: var(--tt-bg-1); background-image: radial-gradient(var(--tt-surface-hover-solid) 1px, transparent 1px); background-size: 20px 20px; }
.tt-msg { display: flex; flex-direction: column; max-width: 80%; margin-bottom: 4px; }
.tt-msg.own { align-self: flex-end; align-items: flex-end; }
.tt-msg.other { align-self: flex-start; align-items: flex-start; }

.tt-msg-bubble { padding: 8px 14px; font-size: 14px; line-height: 1.5; position: relative; word-wrap: break-word; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.tt-msg.own .tt-msg-bubble { background: var(--royalBlue); color: #fff; border-radius: 8px 8px 0 8px; }
.tt-msg.other .tt-msg-bubble { background: #1f242c; border: 1px solid var(--lineColor); color: var(--tt-text); border-radius: 8px 8px 8px 0; border-left: 2px solid var(--brandGold); }

.tt-msg-meta { font-size: 10px; color: var(--textMuted); margin-top: 2px; display: flex; align-items: center; gap: 4px; padding: 0 2px; }
.tt-chat-role { background: var(--lineColor); color: var(--tt-text-soft); padding: 1px 4px; border-radius: 3px; font-size: 9px; text-transform: uppercase; font-weight: 700; }

/* INPUT */
.tt-input-wrapper { background: var(--darkPanel); border-top: 1px solid var(--lineColor); padding: 15px 20px; }
.tt-input-row { display: flex; gap: 10px; align-items: flex-end; }
.tt-chat-textarea { flex: 1; background: var(--darkBg); border: 1px solid var(--lineColor); border-radius: 6px; padding: 12px; color: #fff; height: 45px; resize: none; font-family: inherit; transition: 0.2s; }
.tt-chat-textarea:focus { border-color: var(--royalBlue); outline: none; }
.tt-send-btn { height: 45px; padding: 0 20px; background: var(--royalBlue); color: #fff; border: none; border-radius: 6px; font-weight: 800; cursor: pointer; font-size: 12px; text-transform: uppercase; }
.tt-send-btn:hover { background: #1d4ed8; }

/* MODALS */
.tt-modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.85); z-index: 9999; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
.tt-modal-overlay.active { display: flex; }
.tt-modal { background: var(--tt-surface-solid); width: 600px; max-width: 90%; border-radius: 8px; border: 1px solid #f2c14a; box-shadow: 0 25px 50px rgba(0,0,0,0.5); overflow: hidden; }
.tt-modal-header { padding: 15px 20px; background: rgba(242,193,74,0.1); border-bottom: 1px solid #f2c14a; display: flex; justify-content: space-between; align-items: center; }
.tt-modal-title { margin: 0; color: #fff; font-size: 14px; font-weight: 700; text-transform: uppercase; }
.tt-modal-close { background: none; border: none; color: #f2c14a; font-size: 20px; cursor: pointer; }
.tt-modal-body { padding: 0; max-height: 400px; overflow-y: auto; }
.tt-info-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.tt-info-table th { text-align: left; color: var(--tt-muted); padding: 10px 15px; border-bottom: 1px solid var(--lineColor); background: rgba(0,0,0,0.2); font-weight: 600; font-size: 11px; text-transform: uppercase; }
.tt-info-table td { padding: 12px 15px; border-bottom: 1px solid var(--lineColor); color: var(--tt-text-soft); vertical-align: top; }
.tt-prio { padding: 2px 6px; border-radius: 4px; font-weight: 700; font-size: 10px; text-transform: uppercase; }
.tt-prio.high { background: var(--tt-red); color: #fff; } .tt-prio.medium { background: #f2c14a; color: #000; } .tt-prio.low { background: var(--tt-line-solid); color: var(--tt-text-soft); }
.tt-empty { text-align: center; color: var(--tt-faint); padding: 30px; font-style: italic; }
@media (max-width: 900px) { .tt-chat-wrap { flex-direction: column; height: auto; } .tt-chat-sidebar { width: 100%; height: auto; border-right: none; border-bottom: 1px solid var(--lineColor); } .tt-chat-main { height: 600px; } .tt-stats-bar { overflow-x: auto; white-space: nowrap; } }

/* Voll klickbare Listen-Kacheln */
.tt-friend-list .tt-u-item {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    touch-action: manipulation;
}
.tt-friend-list .tt-u-item > * {
    pointer-events: none;
}
.tt-friend-list .tt-u-item .tt-mute-btn,
.tt-friend-list .tt-u-item .tt-part-btn,
.tt-friend-list .tt-u-item button,
.tt-friend-list .tt-u-item a,
.tt-friend-list .tt-u-item [role="button"] {
    pointer-events: auto;
}
.tt-friend-list .tt-u-details,
.tt-friend-list .tt-u-content {
    flex: 1 1 auto;
    min-width: 0;
}
.tt-friend-list .tt-u-name,
.tt-friend-list .tt-u-msg {
    min-width: 0;
}


/* Block 3 – Kommunikationslisten vereinheitlicht */
.tt-friend-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.tt-friend-list .tt-u-item,
.tt-list-click {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    touch-action: manipulation;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.tt-friend-list .tt-u-item > * {
    pointer-events: none;
}
.tt-friend-list .tt-u-item .tt-mute-btn,
.tt-friend-list .tt-u-item .tt-part-btn,
.tt-friend-list .tt-u-item .tt-act-btn,
.tt-friend-list .tt-u-item button,
.tt-friend-list .tt-u-item a,
.tt-friend-list .tt-u-item [role="button"] {
    pointer-events: auto;
}
.tt-friend-list .tt-u-item .tt-u-avatar,
.tt-friend-list .tt-u-item .tt-u-details,
.tt-friend-list .tt-u-item .tt-u-content {
    flex: 1 1 auto;
    min-width: 0;
}
.tt-friend-list .tt-u-name,
.tt-friend-list .tt-u-msg {
    min-width: 0;
}
.tt-friend-list .tt-u-item .tt-u-name span,
.tt-friend-list .tt-u-item .tt-u-msg {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tt-friend-list .tt-u-item.active {
    box-shadow: inset 3px 0 0 var(--brandGold, #f2c14a);
}
.tt-friend-list .tt-u-item:hover {
    transform: none;
}


/* Block 6 UI final follow-up */
.tt-chat-wrap,.tt-msg-layout{grid-template-columns:minmax(240px,280px) minmax(0,1fr)!important;}
.tt-chat-sidebar,.tt-msg-sidebar{width:280px!important;min-width:280px!important;}
.tt-friend-list .tt-u-item .tt-u-msg,.tt-user-list .tt-u-item .tt-u-msg{display:none!important;}
.tt-friend-list .tt-u-item .tt-u-name,.tt-user-list .tt-u-item .tt-u-name{display:flex;align-items:center;gap:0!important;font-size:13px!important;}
.tt-msg-meta .tt-badge,.tt-sender-name .tt-badge{width:10px!important;height:10px!important;min-width:10px!important;margin-left:2px!important;box-shadow:none!important;}
.tt-msg-meta .tt-badge::after,.tt-sender-name .tt-badge::after{width:2px!important;height:4px!important;border-width:0 1.2px 1.2px 0!important;}


/* ===== MIGRIERT AUS admin_pushcall_archiv.css ===== */

/* Pushcall Archiv */


/* ===== MIGRIERT AUS admin_rm_templates.css ===== */

/* admin_rm_templates.css (V51) */

:root {
    --bg-dark: #05070a; --bg-card: #0b1016; --bg-header: var(--tt-surface-solid); --bg-input: var(--tt-bg-0);
    --border: var(--tt-line-solid); --accent: var(--tt-gold); --blue: var(--tt-blue-3); --green: var(--tt-green); --red: var(--tt-red);
    --text-main: var(--tt-text-soft); 
}

.tt-rm-wrap { width: 100%; box-sizing: border-box; font-family: "Inter", sans-serif; color: var(--text-main); }

.tt-rm-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; border-bottom: 1px solid var(--border); padding-bottom: 20px; }
.tt-rm-head h1 { margin: 0; font-size: 24px; color: #fff; text-transform: uppercase; }

.tt-rm-grid { display: grid; grid-template-columns: 350px 1fr; gap: 30px; height: calc(100vh - 150px); }
.tt-rm-list-panel { background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; height: 100%; }
.tt-rm-editor-panel { background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; padding: 20px; display: flex; flex-direction: column; gap: 15px; height: 100%; overflow-y: auto; }

/* LIST */
.rm-list-head { padding: 15px; background: var(--bg-header); border-bottom: 1px solid var(--border); font-weight: 700; color: var(--tt-muted); text-transform: uppercase; font-size: 11px; display: flex; justify-content: space-between; align-items: center; }
.rm-list-body { flex: 1; overflow-y: auto; }
.rm-item { padding: 12px 15px; border-bottom: 1px solid rgba(255,255,255,0.05); cursor: pointer; transition: 0.2s; display: flex; justify-content: space-between; align-items: center; }
.rm-item:hover { background: rgba(255,255,255,0.03); }
.rm-item.active { background: rgba(88, 166, 255, 0.1); border-left: 3px solid var(--blue); }
.rm-item-name { font-weight: 700; color: #fff; font-size: 13px; }
.rm-item-lang { font-size: 10px; color: #000; background: var(--accent); padding: 2px 6px; border-radius: 3px; font-weight: 800; }

/* EDITOR */
.rm-form-row { display: flex; flex-direction: column; gap: 5px; }
.rm-label { font-size: 11px; font-weight: 700; color: var(--tt-muted); text-transform: uppercase; }
.rm-inp { background: var(--bg-input); border: 1px solid var(--border); color: #fff; padding: 10px; border-radius: 4px; font-family: monospace; font-size: 13px; }
.rm-inp:focus { border-color: var(--blue); outline: none; }
.rm-textarea { flex: 1; resize: none; line-height: 1.5; min-height: 200px; }

.rm-vars-box { background: rgba(255,255,255,0.03); padding: 10px; border-radius: 4px; font-size: 11px; color: var(--tt-muted); border: 1px solid var(--border); display: flex; flex-wrap: wrap; gap: 8px; }
.rm-var { color: var(--accent); font-family: monospace; cursor: pointer; font-weight: 700; background: rgba(242, 193, 78, 0.1); padding: 2px 5px; border-radius: 3px; }
.rm-var:hover { background: var(--accent); color: #000; }

.rm-actions { display: flex; gap: 10px; margin-top: auto; border-top: 1px solid var(--border); padding-top: 20px; }
.rm-btn { flex: 1; padding: 10px; border-radius: 6px; font-weight: 800; text-transform: uppercase; cursor: pointer; border: none; font-size: 12px; text-decoration: none; text-align: center; }
.rm-btn-save { background: var(--blue); color: #fff; }
.rm-btn-save:hover { filter: brightness(1.1); }
.rm-btn-del { background: transparent; border: 1px solid var(--red); color: var(--red); }
.rm-btn-del:hover { background: rgba(218, 81, 73, 0.1); }
.rm-btn-new { background: var(--green); color: #000; border: none; padding: 4px 10px; border-radius: 4px; font-size: 10px; font-weight: 800; cursor: pointer; }

@media (max-width: 900px) { .tt-rm-grid { grid-template-columns: 1fr; height: auto; } .tt-rm-list-panel { height: 200px; } .tt-rm-editor-panel { height: auto; } }


/* ===== MIGRIERT AUS admin_spieler_einladen.css ===== */

/* * TravTools - Admin Spieler Einladen (V36 - Big Buttons) */

.tt-admin-wrap { 
    width: 100%; box-sizing: border-box; font-family: "Inter", sans-serif; color: var(--tt-text-soft); padding-right: 0; 
}

/* HEADER */
.tt-header-row { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 25px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 15px; }
.header-left-group h1 { font-size: 24px; font-weight: 900; color: #fff; margin: 0 0 5px 0; text-transform: uppercase; }
.tt-subtitle { color: var(--tt-muted); font-size: 12px; margin-top: 5px; }

/* MESSAGES */
.tt-msg { padding: 12px 15px; border-radius: 8px; margin-bottom: 20px; font-weight: 700; font-size: 12px; }
.tt-msg.success { background: rgba(61,220,132,0.1); color: var(--tt-green); border: 1px solid rgba(61,220,132,0.2); }
.tt-msg.error { background: rgba(255,92,92,0.1); color: var(--tt-red); border: 1px solid rgba(255,92,92,0.2); }

/* CARDS */
.tt-card { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.3); width: 100%; }
.mb-30 { margin-bottom: 30px; }
.tt-card-header { background: rgba(255,255,255,0.03); padding: 10px 15px; border-bottom: 1px solid var(--tt-line-solid); font-size: 11px; font-weight: 700; color: var(--tt-muted); text-transform: uppercase; }
.tt-card-body { padding: 20px; }

/* FORM */
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; align-items: end; }
.f-group { display: flex; flex-direction: column; gap: 5px; }
.f-group label { font-size: 10px; font-weight: 800; color: var(--tt-muted); text-transform: uppercase; }
.tt-input { background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff; padding: 8px 12px; border-radius: 6px; font-size: 12px; width: 100%; box-sizing: border-box; height: 36px; }
.tt-input:focus { border-color: #f2c14a; outline: none; }
.tt-btn-create { background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2)); color: #000; border: none; padding: 0 20px; height: 36px; border-radius: 6px; font-weight: 800; text-transform: uppercase; cursor: pointer; font-size: 12px; transition: filter 0.2s; width: 100%; }
.tt-btn-create:hover { filter: brightness(1.1); }

/* TABLE */
.tt-table { width: 100%; border-collapse: collapse; font-size: 10px; white-space: nowrap; table-layout: fixed; }
.tt-table th { background: var(--tt-surface-solid); padding: 4px 6px; text-align: center; color: var(--tt-muted); border-bottom: 1px solid var(--tt-line-solid); font-weight: 700; height: 34px; line-height: 1.1; vertical-align: middle; }
.tt-table tr { height: 40px; } /* Etwas höher für den großen Button */
.tt-table td { padding: 5px 8px; text-align: center; border: 1px solid transparent; border-bottom-color: var(--tt-surface-hover-solid); color: var(--tt-text-soft); vertical-align: middle; transition: background-color 0.2s ease; }

/* HOVER */
.tt-table tbody tr:hover td { background-color: rgba(20, 60, 140, 0.3) !important; color: #fff !important; border-top: 1px solid #f2c14a !important; border-bottom: 1px solid #f2c14a !important; border-left-color: transparent; border-right-color: transparent; }
.hover-col { background-color: rgba(20, 60, 140, 0.25) !important; border-left: 1px solid #f2c14a !important; border-right: 1px solid #f2c14a !important; z-index: 10; position: relative; }

/* CONTENT STYLES */
.th-left, .td-left { text-align: left !important; padding-left: 15px !important; }
.text-bold { font-weight: 700; } .text-white { color: #fff; }

.badge-type { padding: 4px 10px; border-radius: 4px; font-weight: 800; font-size: 10px; cursor: pointer; transition: 0.2s; display: inline-block; }
.badge-type:hover { transform:none; filter: brightness(1.2); }
.type-link { background: rgba(59,130,246,0.1); color: var(--tt-blue); border: 1px solid rgba(59,130,246,0.2); }
.type-pass { background: rgba(242,193,74,0.1); color: #f2c14a; border: 1px solid rgba(242,193,74,0.2); }

/* COPY FIELD - HUGE BUTTON */
.code-wrap { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; }
.code-text { 
    font-family: "Courier New", monospace; color: #f2c14a; font-size: 11px; 
    white-space: normal; word-break: break-all; text-align: left; line-height: 1.2;
}
.btn-copy-huge { 
    background: var(--tt-green); border: none; color: #000; 
    padding: 5px 15px; border-radius: 6px; cursor: pointer; 
    display: flex; align-items: center; justify-content: center; gap: 5px;
    font-size: 12px; font-weight: 900; box-shadow: 0 4px 10px rgba(61,220,132,0.3);
    transition: transform 0.1s; min-width: 100px;
}
.btn-copy-huge:hover { transform:none; background: #22c55e; }
.btn-copy-huge:active { transform: scale(0.95); }

.stat-val { font-family: monospace; font-weight: 700; color: var(--tt-text); }
.stat-date { color: var(--tt-muted); font-size: 9px; }
.btn-del { background: transparent; border: none; color: var(--tt-faint-2); cursor: pointer; font-size: 14px; }
.btn-del:hover { color: var(--tt-red); }
.empty-row { padding: 20px !important; color: var(--tt-faint); font-style: italic; }


/* ===== MIGRIERT AUS admin_spielerverwaltung.css ===== */

/* * TravTools - Admin Spielerverwaltung (Royal Focus Style) */

.tt-admin-wrap { 
    width: 100%; 
    box-sizing: border-box; 
    font-family: "Inter", sans-serif; 
    color: var(--tt-text-soft); 
    padding-right: 0; /* Randlos wie gewünscht */
}

/* HEADER & SYNC BUTTON */
.tt-header-row { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 25px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 15px; }
.tt-header-standalone h1 { font-size: 24px; font-weight: 900; color: #fff; margin: 0 0 5px 0; text-transform: uppercase; }
.tt-subtitle { color: var(--tt-muted); font-size: 12px; }

.tt-btn-sync {
    background: rgba(255,255,255,0.05); 
    border: 1px solid var(--tt-line-solid); 
    color: #fff;
    padding: 6px 12px; 
    border-radius: 6px; 
    font-weight: 700; 
    cursor: pointer;
    text-transform: uppercase; 
    font-size: 11px; 
    display: flex; 
    gap: 8px; 
    align-items: center;
    transition: 0.2s; 
    height: 32px;
}
.tt-btn-sync:hover { background: rgba(242,193,74,0.1); border-color: #f2c14a; color: #f2c14a; }

/* TABS */
.tt-tabs-container { display: flex; gap: 5px; margin-bottom: 20px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 1px; overflow-x: auto; }
.tt-tab { 
    background: transparent; 
    border: none; 
    color: var(--tt-muted); 
    padding: 8px 15px; 
    font-weight: 700; 
    font-size: 12px; 
    cursor: pointer; 
    border-bottom: 3px solid transparent; 
    transition: 0.2s; 
    white-space: nowrap; 
    text-transform: uppercase; 
}
.tt-tab:hover { color: #fff; } 
.tt-tab.active { color: #f2c14a; border-bottom-color: #f2c14a; color: #000; background: #f2c14a; border-radius: 6px 6px 0 0; border-bottom: none; }

.tt-tab-count { background: rgba(255,255,255,0.1); padding: 1px 5px; border-radius: 4px; font-size: 10px; margin-left: 5px; vertical-align: middle; }
.tt-tab.active .tt-tab-count { background: rgba(0,0,0,0.2); color: #fff; }

/* TABLE CARD */
.tt-card { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 10px; overflow: hidden; margin-bottom: 25px; width: 100%; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.tt-table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }

/* Header */
.tt-table th { background: rgba(255,255,255,0.03); color: var(--tt-muted); padding: 10px 10px; text-align: left; border-bottom: 1px solid var(--tt-line-solid); font-size: 10px; font-weight: 700; text-transform: uppercase; }

/* Main Rows */
.tt-table td { padding: 4px 8px; border-bottom: 1px solid rgba(255,255,255,0.05); vertical-align: middle; color: var(--tt-text-soft); }
.tt-table tr { height: 32px; }

/* === MAIN ROWS HOVER FIX (Royal Blue + Gold Box-Shadow) === */
.tt-row-main { 
    cursor: pointer; 
    transition: background-color 0.2s ease; 
    background: var(--tt-surface-solid); 
}

/* Hover Effect: Blue Background + Gold Lines Top/Bottom */
.tt-row-main:hover td { 
    background-color: rgba(20, 60, 140, 0.3) !important; /* Royal Blue */
    box-shadow: inset 0 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; /* Gold Lines */
    color: #fff !important;
}
.tt-row-main:hover td:first-child { box-shadow: inset 1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; }
.tt-row-main:hover td:last-child { box-shadow: inset -1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; }

/* OPEN STATE (Active Row) */
.tt-row-main.is-open { background: rgba(255,255,255,0.04); }

/* FOCUS MODE: Hide other rows if JS sets 'focus-active' on tbody */
tbody.focus-active .tt-row-main:not(.is-open) { display: none; }

/* PENDING / BANNED HIGHLIGHTS (Subtle styles, overridden by hover) */
.tt-row-main.row-pending td { background: rgba(255,92,92, 0.05); border-left: 2px solid var(--tt-red); }
.tt-row-main.row-banned td { background: rgba(0,0,0,0.3); opacity: 0.6; border-left: 2px solid var(--tt-faint-2); }
/* Ensure Hover shines through */
.tt-row-main.row-pending:hover td, .tt-row-main.row-banned:hover td { opacity: 1; border-left-color: #f2c14a; }

/* ARROW RIGHT FIX */
.tt-row-main td:last-child { 
    text-align: right !important; 
    padding-right: 15px; 
    display: flex; 
    justify-content: flex-end; 
    align-items: center; 
    height: 100%; 
}

/* PLAYER COLUMN */
.col-player { display: flex; align-items: center; gap: 10px; }
.col-avatar { width: 28px; height: 28px; background: rgba(255,255,255,0.05); border: 1px solid var(--tt-faint-2); border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-weight: 900; color: #fff; font-size: 11px; position: relative; }
.status-dot { position: absolute; bottom: -2px; right: -2px; width: 8px; height: 8px; border-radius: 50%; border: 2px solid var(--tt-surface-solid); }

.player-info-wrap { display: flex; flex-direction: column; justify-content: center; line-height: 1.2; }
.player-name-row { display: flex; align-items: center; gap: 4px; } 
.player-name { font-weight: 800; color: #fff; font-size: 13px; }
.account-meta { font-size: 10px; color: var(--tt-muted); display: flex; align-items: center; gap: 5px; font-weight: 500; }

/* BADGE FIX */
.tt-badge { margin-left: 0 !important; vertical-align: middle; }

/* ROLES */
.badge-role { padding: 2px 6px; border-radius: 4px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.role-off { background: rgba(255,92,92,0.1); color: var(--tt-red); }
.role-deff { background: rgba(61,220,132,0.1); color: var(--tt-green); }
.role-hybrid { background: rgba(59,130,246,0.1); color: var(--tt-blue); }
.role-none { background: rgba(255,255,255,0.05); color: var(--tt-faint); }

/* STATS */
.stat-row { display: flex; justify-content: space-between; font-size: 11px; color: var(--tt-text-soft); width: 120px; }
.stat-val { font-weight: 700; font-family: monospace; color: #f2c14a; }

/* TOGGLE BTN - STRICT SQUARE */
.tt-toggle-btn { 
    width: 32px !important; 
    height: 32px !important; 
    padding: 0 !important;
    border-radius: 6px; 
    border: 1px solid #f2c14a; 
    background: rgba(242, 193, 74, 0.1); 
    color: #f2c14a; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    transition: 0.3s; 
    cursor: pointer; 
    box-sizing: border-box;
}
.tt-row-main.is-open .tt-toggle-btn { transform: rotate(180deg); background: #f2c14a; color: #000; }
.tt-toggle-btn:hover { background: #f2c14a; color: #000; }

/* DETAILS (ACCORDION) */
.tt-details-row { display: none; }
.tt-details-row.is-open { display: table-row; }
.tt-details-content { 
    padding: 15px; /* Compact padding */
    background: var(--tt-bg-2); /* Deep Dark Background */
    border-bottom: 1px solid var(--tt-line-solid); 
    box-shadow: inset 0 5px 20px rgba(0,0,0,0.5);
}

.tt-details-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-bottom: 15px; }
.tt-inp-group { display: flex; flex-direction: column; gap: 4px; }
.tt-inp-label { font-size: 10px; font-weight: 800; text-transform: uppercase; color: var(--tt-muted); }
.tt-inp { 
    background: var(--tt-surface-solid); 
    border: 1px solid var(--tt-line-solid); 
    padding: 8px 10px; 
    border-radius: 6px; 
    color: #fff; 
    font-size: 12px; 
    width: 100%; 
    box-sizing: border-box; 
}
.tt-inp:focus { border-color: #f2c14a; outline: none; box-shadow: 0 0 5px rgba(242, 193, 74, 0.2); }
.tt-inp-readonly { background: rgba(255,255,255,0.03); color: var(--tt-muted); border-color: transparent; }

/* ACTIONS */
.tt-details-actions { display: flex; gap: 10px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,0.05); justify-content: flex-end; align-items: center; }
.tt-btn { padding: 6px 12px; border-radius: 6px; font-weight: 800; font-size: 11px; border: none; cursor: pointer; text-transform: uppercase; display: flex; align-items: center; gap: 6px; height: 32px; }
.btn-save { background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2)); color: var(--tt-bg-0); }
.btn-approve { background: rgba(61,220,132,0.1); border: 1px solid var(--tt-green); color: var(--tt-green); }
.btn-approve:hover { background: var(--tt-green); color: #000; }
.btn-block { background: rgba(255,92,92,0.1); border: 1px solid var(--tt-red); color: var(--tt-red); }
.btn-block:hover { background: var(--tt-red); color: #000; }
.btn-delete { background: transparent; border: 1px solid var(--tt-faint); color: var(--tt-faint); } 
.btn-delete:hover { border-color: var(--tt-red); color: var(--tt-red); }

/* RANK COLORS & TEXTS */
.rank-text { font-size: 11px; font-weight: 800; text-transform: uppercase; }
.rank-color-6 { color: var(--tt-red); text-shadow: 0 0 8px rgba(255,92,92, 0.3); } 
.rank-color-5 { color: #facc15; } 
.rank-color-4 { color: var(--tt-green); } 
.rank-color-3 { color: var(--tt-muted); } 
.st-pending-txt { color: #f2c14a; }
.st-banned-txt { color: var(--tt-red); text-decoration: line-through; }

/* MODAL SYNC STYLES */
.tt-modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); backdrop-filter: blur(4px); z-index: 1000; align-items: center; justify-content: center; }
.tt-modal-overlay.active { display: flex; }
.tt-modal { background: var(--tt-surface-solid); border: 1px solid #f2c14a; box-shadow: 0 20px 50px rgba(0,0,0,0.5); width: 90%; max-width: 500px; border-radius: 12px; overflow: hidden; }
.tt-modal-header { background: rgba(255,255,255,0.03); padding: 15px 20px; border-bottom: 1px solid var(--tt-line-solid); display: flex; justify-content: space-between; align-items: center; }
.tt-modal-title { margin: 0; font-size: 16px; font-weight: 800; color: #fff; }
.tt-modal-close { background: none; border: none; color: var(--tt-muted); cursor: pointer; font-size: 18px; }
.tt-modal-body { padding: 20px; max-height: 500px; overflow-y: auto; }

.tt-sync-list { display: flex; flex-direction: column; gap: 4px; }
.tt-sync-item { display: flex; justify-content: space-between; align-items: center; background: rgba(255,255,255,0.03); padding: 8px 12px; border-radius: 6px; border: 1px solid transparent; }
.tt-sync-item:hover { border-color: #f2c14a; background: rgba(242,193,74,0.05); }
.tt-sync-name { font-weight: 700; color: #fff; font-size: 13px; }
.tt-sync-status { font-size: 10px; font-weight: 800; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; }
.st-green { background: rgba(61,220,132, 0.1); color: var(--tt-green); }
.st-yellow { background: rgba(242, 193, 74, 0.1); color: #f2c14a; }
.st-red { background: rgba(255,92,92, 0.1); color: var(--tt-red); }
.st-gray { background: rgba(255,255,255,0.05); color: var(--tt-muted); }


/* ===== MIGRIERT AUS admin_truppenquote.css ===== */

/* Truppenquote Check */


/* ===== MIGRIERT AUS admin_truppentool.css ===== */

/* * TravTools - Admin Truppen V41 (Restore: Box-Shadow Hover & Logic) */
.tt-admin-wrap { 
    width: 100%; 
    box-sizing: border-box; 
    font-family: "Inter", sans-serif; 
    color: var(--tt-text-soft); 
    padding-right: 0; 
}

/* HEADER */
.tt-header-row { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 25px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 15px; }
.header-left-group h1 { font-size: 24px; font-weight: 900; color: #fff; margin: 0 0 10px 0; text-transform: uppercase; }
.tt-subtitle { color: var(--tt-muted); font-size: 12px; margin-top: 5px; }
.cluster-tag { background: rgba(242,193,74,0.1); color: #f2c14a; padding: 2px 6px; border-radius: 4px; font-weight: 700; border: 1px solid rgba(242,193,74,0.2); margin-left: 5px; }

/* TABS */
.tt-sub-nav { display: flex; gap: 5px; margin-top: 10px; }
.tt-sub-nav a { padding: 8px 15px; font-size: 12px; font-weight: 700; color: var(--tt-muted); text-decoration: none; border-radius: 6px; background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); transition: 0.2s; }
.tt-sub-nav a:hover { color: #fff; border-color: var(--tt-muted); }
.tt-sub-nav a.active { background: #f2c14a; color: #000; border-color: #f2c14a; }

.tt-ally-select { background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff; padding: 6px 12px; border-radius: 6px; font-size: 12px; cursor: pointer; }

/* MAIN TABLE */
.tt-card { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.3); width: 100%; }
.tt-table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }

/* Header */
.tt-table th { background: rgba(255,255,255,0.03); color: var(--tt-muted); padding: 10px 10px; text-align: left; border-bottom: 1px solid var(--tt-line-solid); font-size: 10px; font-weight: 700; text-transform: uppercase; }

/* Main Rows Standard */
.tt-table td { padding: 4px 8px; border-bottom: 1px solid rgba(255,255,255,0.05); vertical-align: middle; }
.tt-table tr { height: 32px; }

/* === MAIN ROWS HOVER (Box-Shadow Method) === */
.tt-row-main { 
    transition: background-color 0.2s ease; 
    background: var(--tt-surface-solid); 
}

/* Use Box-Shadow for seamless borders without layout shifts */
.tt-row-main:hover td { 
    background-color: rgba(20, 60, 140, 0.3) !important; /* Royal Blue */
    box-shadow: inset 0 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; /* Top & Bottom Gold Line */
    color: #fff !important;
}

/* Add Left Line to first cell */
.tt-row-main:hover td:first-child {
    box-shadow: inset 1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; 
}

/* Add Right Line to last cell */
.tt-row-main:hover td:last-child {
    box-shadow: inset -1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; 
}

.tt-row-main.row-missing { opacity: 0.6; }

/* ARROW RIGHT FIX */
.tt-row-main td:last-child { 
    text-align: right !important; 
    padding-right: 15px; 
    display: flex; 
    justify-content: flex-end; 
    align-items: center; 
    height: 100%; 
}

.col-player { display: flex; flex-direction: column; }
.p-name-row { display: flex; align-items: center; gap: 2px; }
.p-name { font-weight: 700; color: #fff; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1;}
.tt-badge { margin-left: 0 !important; vertical-align: middle; }

/* FOCUS MODE */
tbody.focus-active .tt-row-main:not(.row-active) { display: none; }

.badge-role { padding: 2px 6px; border-radius: 4px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.role-off { background: rgba(255,92,92,0.1); color: var(--tt-red); }
.role-deff { background: rgba(61,220,132,0.1); color: var(--tt-green); }
.role-hybrid { background: rgba(59,130,246,0.1); color: var(--tt-blue); }
.role-none { color: var(--tt-faint-2); }
.ally-tag { font-size: 10px; color: var(--tt-muted); background: rgba(255,255,255,0.05); padding: 2px 5px; border-radius: 4px; }
.stat-val { font-family: monospace; font-size: 12px; color: var(--tt-text); }
.val-good { color: var(--tt-green); } .val-warn { color: var(--tt-gold-2); } .val-bad { color: var(--tt-red); }
.log-ok { color: var(--tt-text-soft); } .log-warn { color: var(--tt-gold-2); font-weight:800; } .log-crit { color: var(--tt-red); font-weight: 800; }
.st-badge { font-size: 9px; font-weight: 800; padding: 2px 6px; border-radius: 4px; }
.st-green { background: rgba(61,220,132,0.1); color: var(--tt-green); } .st-red { background: rgba(255,92,92,0.1); color: var(--tt-red); }

.tt-toggle-btn { width: 32px !important; height: 32px !important; padding: 0 !important; border-radius: 6px; border: 1px solid #f2c14a; background: rgba(242, 193, 74, 0.1); color: #f2c14a; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: 0.3s; font-size: 12px; box-sizing: border-box; }
.tt-toggle-btn:hover { background: #f2c14a; color: #000; }
.tt-toggle-btn.rot { background: #f2c14a; color: #000; transform: rotate(180deg); }

/* DETAILS (ACCORDION) */
.tt-row-details { display: none; width: 100%; }
.tt-row-details.active { display: table-row; }
.detail-cell { padding: 0 !important; border-bottom: 1px solid var(--tt-line-solid); display: table-cell !important; width: 100%; box-sizing: border-box; }
.detail-wrap { background: var(--tt-bg-2); padding: 8px; box-shadow: inset 0 5px 20px rgba(0,0,0,0.5); width: 100%; box-sizing: border-box; display: block; }

/* HEADER COMPACT */
.detail-header-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,0.05); padding-bottom: 5px; width: 100%; }
.dhr-left { display: flex; align-items: center; gap: 10px; flex: 1; }
.dhr-name { font-size: 14px; font-weight: 900; color: #fff; display: flex; align-items: center; gap: 2px; }
.dhr-title { font-size: 11px; color: var(--tt-muted); text-transform: uppercase; letter-spacing: 1px; white-space: nowrap; }
.dhr-actions { display: flex; gap: 5px; margin-left: 15px; align-items: center; }
.dhr-sep { border-left: 1px solid var(--tt-faint-2); height: 16px; margin: 0 15px; }

.dhr-meta { display: flex; gap: 10px; font-size: 10px; color: var(--tt-faint); margin-left: auto; white-space: nowrap; }
.dhr-meta i { color: #f2c14a; margin-right: 3px; }

.tt-btn-small { padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 700; border: 1px solid var(--tt-line-solid); background: var(--tt-surface-solid); color: var(--tt-text-soft); cursor: pointer; display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.tt-btn-small.btn-gold { background: rgba(242,193,74,0.1); border-color: #f2c14a; color: #f2c14a; }
.tt-btn-small.btn-red { background: rgba(255,92,92,0.1); border-color: var(--tt-red); color: var(--tt-red); }
.tt-btn-small.btn-red:hover { background: var(--tt-red); color: #000; }

.detail-content-grid { margin-bottom: 8px; width: 100%; }
.stats-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-bottom: 5px; width: 100%; }
.sg-card { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); padding: 5px; border-radius: 6px; text-align: center; width: 100%; box-sizing: border-box; }
.sg-val { font-size: 16px; font-weight: 900; color: #fff; }
.sg-lbl { font-size: 8px; text-transform: uppercase; color: var(--tt-muted); margin-top: 1px; font-weight: 700; }
.c-crop .sg-val { color: var(--tt-gold-2); } .c-gold .sg-val { color: #f2c14a; } .c-off .sg-val { color: var(--tt-red); } .c-deff .sg-val { color: var(--tt-green); }

/* INNER TABLE - 22PX HEIGHT */
.troops-scroll { overflow-x: auto; border: 1px solid var(--tt-line-solid); border-radius: 6px; width: 100%; box-sizing: border-box; }
.inner-table { width: 100% !important; border-collapse: collapse; font-size: 10px; white-space: nowrap; table-layout: auto; }

/* Kopfzeile */
.inner-table th { 
    background: var(--tt-surface-solid); 
    padding: 2px 6px; 
    text-align: center; 
    color: var(--tt-muted); 
    border-bottom: 1px solid var(--tt-line-solid); 
    font-weight: 700; 
    height: 24px; 
    line-height: 1.1;
}

/* STATIC VILLAGE COLORS */
.row-type-off td { background-color: rgba(255,92,92, 0.15) !important; }
.row-type-deff td { background-color: rgba(76, 175, 80, 0.15) !important; }
.row-type-spy td { background-color: rgba(255, 152, 0, 0.15) !important; }
.row-type-ww td { background-color: rgba(255,92,92, 0.4) !important; }

/* Datenzeilen - STATIC STATE */
.inner-table tr { height: 22px !important; }
.inner-table td { 
    padding: 0px 4px !important; 
    text-align: center; 
    border: 1px solid transparent; 
    border-bottom-color: var(--tt-surface-hover-solid); 
    color: var(--tt-text-soft); 
    vertical-align: middle; 
    height: 22px !important; 
    line-height: 22px !important; 
    overflow: hidden; 
    white-space: nowrap;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.1s ease;
}

/* === INNER TABLE HOVER (Double Border) === */
.inner-table tbody tr:hover td { 
    background-color: rgba(20, 60, 140, 0.3) !important; 
    color: #fff !important;
    border-top: 1px solid #f2c14a !important; 
    border-bottom: 1px solid #f2c14a !important; 
}

/* Column Hover */
.hover-col { 
    background-color: rgba(20, 60, 140, 0.25) !important; 
    border-left: 1px solid #f2c14a !important;
    border-right: 1px solid #f2c14a !important;
}

/* Column adjustments */
.th-left, .td-left { text-align: left !important; } .col-vil { width: 120px; } .col-xs { width: 40px; }
.text-bold { font-weight: 700; } .text-white { color: #fff; }
.coord { color: var(--tt-green); text-decoration: none; font-family: monospace; }
.type-badge { font-size: 8px; background: var(--tt-surface-hover-solid); padding: 0px 3px; border-radius: 3px; color: var(--tt-muted); border: 1px solid var(--tt-line-solid); display: inline-block; line-height: 14px; vertical-align: middle; }
.dash { display: inline-block; width: 6px; height: 1px; background: var(--tt-line-solid); margin: auto; }
.has-t { color: #fff; font-weight: 700; }
.diff-pos { display: inline-block; font-size: 8px; color: var(--tt-green); margin-left: 2px; } 
.diff-neg { display: inline-block; font-size: 8px; color: var(--tt-red); margin-left: 2px; }
.th-unit { width: 60px; vertical-align: bottom; }
.u-text { display: block; font-size: 9px; line-height: 1; white-space: normal; word-wrap: break-word; hyphens: auto; max-width: 60px; margin: 0 auto; color: var(--tt-text-soft); }
.t-cell { height: 22px; line-height: 22px; display: block; overflow: hidden; margin: 0; padding: 0; }

/* RANKING TAB */
.ranking-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.rank-card { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 10px; overflow: hidden; height: 400px; display: flex; flex-direction: column; }
.rc-head { padding: 10px 15px; background: rgba(255,255,255,0.03); border-bottom: 1px solid var(--tt-line-solid); font-weight: 800; color: #fff; text-align: center; }
.rc-body { flex: 1; overflow-y: auto; padding: 5px; }
.scroll-hide { -ms-overflow-style: none; scrollbar-width: none; }
.scroll-hide::-webkit-scrollbar { display: none; }

.rank-row { display: flex; align-items: center; padding: 6px 10px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.rr-pos { width: 30px; font-family: monospace; color: var(--tt-muted); font-weight: 700; }
.rr-name { flex: 1; color: #fff; font-weight: 700; font-size: 13px; }
.rr-val { font-family: monospace; font-weight: 700; font-size: 13px; }
.gold { color: #f2c14a; } .off { color: var(--tt-red); } .deff { color: var(--tt-green); }

.stat-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 30px; }
.stat-col { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 8px; overflow: hidden; }
.sc-head { padding: 10px 15px; background: rgba(255,255,255,0.03); border-bottom: 1px solid var(--tt-line-solid); font-weight: 800; font-size: 12px; color: var(--tt-text-soft); display: flex; justify-content: space-between; }
.sc-more { background: none; border: none; color: #f2c14a; font-size: 11px; font-weight: 700; cursor: pointer; text-transform: uppercase; }
.sc-list { padding: 5px; }
.sc-row { display: flex; align-items: center; padding: 5px 8px; border-bottom: 1px solid rgba(255,255,255,0.03); }
.sc-rank { width: 30px; color: var(--tt-muted); font-family: monospace; font-size: 11px; }
.sc-info { flex: 1; }
.sc-p { font-size: 12px; color: #fff; font-weight: 700; }
.sc-ally { font-size: 10px; color: var(--tt-faint); margin-left: 5px; }
.sc-v { font-size: 11px; color: var(--tt-muted); margin-top: 1px; }
.sc-val { font-family: monospace; font-weight: 700; font-size: 13px; }
.off { color: var(--tt-red); } .deff { color: var(--tt-green); }

.goal-item { background: var(--tt-bg-2); padding: 8px; border-radius: 6px; border: 1px solid var(--tt-line-solid); margin-bottom: 8px; position: relative; }
.gi-head { display: flex; justify-content: space-between; margin-bottom: 3px; color: #fff; }
.gi-desc { font-size: 11px; color: var(--tt-muted); white-space: pre-wrap; }
.gi-time { font-size: 9px; color: #f2c14a; margin-top: 3px; }
.gi-footer { position: absolute; bottom: 8px; right: 8px; display: flex; gap: 5px; }
.gi-btn { background: none; border: 1px solid var(--tt-line-solid); color: var(--tt-faint); font-size: 10px; padding: 1px 5px; border-radius: 4px; cursor: pointer; }
.gi-btn:hover { color: #fff; border-color: var(--tt-faint); }
.empty-state { text-align: center; color: var(--tt-faint); padding: 20px; font-style: italic; }

.tt-modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); backdrop-filter: blur(4px); z-index: 2000; align-items: center; justify-content: center; }
.tt-modal-overlay.active { display: flex; }
.tt-modal { background: var(--tt-surface-solid); border: 1px solid #f2c14a; width: 400px; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,0.5); }
.tt-modal.wide { width: 600px; }
.tt-modal-head { padding: 15px 20px; background: rgba(255,255,255,0.05); border-bottom: 1px solid var(--tt-line-solid); display: flex; justify-content: space-between; align-items: center; }
.tt-modal-head h3 { margin: 0; font-size: 16px; font-weight: 800; color: #fff; }
.tt-modal-head button { background: none; border: none; color: var(--tt-muted); font-size: 24px; cursor: pointer; line-height: 1; }
.tt-modal-body { padding: 20px; }
.form-group { margin-bottom: 15px; }
.form-group label { display: block; font-size: 11px; font-weight: 700; color: var(--tt-muted); margin-bottom: 5px; text-transform: uppercase; }
.form-group input, .form-group textarea, .form-group select { width: 100%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff; padding: 8px; border-radius: 6px; box-sizing: border-box; }
.btn-submit { width: 100%; padding: 12px; background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2)); border: none; border-radius: 8px; font-weight: 800; cursor: pointer; color: #000; font-size: 14px; }


/* ===== MIGRIERT AUS admin_warnungen.css ===== */

/* admin_warnungen.css (Traffic Light System) */

.tt-admin-wrap { 
    width: 100%; 
    box-sizing: border-box; 
    font-family: "Inter", sans-serif; 
    color: var(--tt-text-soft); 
    padding-right: 0; 
}

/* HEADER & FILTER */
.tt-header-row { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 25px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 15px; }
.tt-header-standalone h1 { font-size: 24px; font-weight: 900; color: #fff; margin: 0 0 5px 0; text-transform: uppercase; }
.tt-subtitle { color: var(--tt-muted); font-size: 12px; }

.cluster-tag { background: rgba(242,193,74,0.1); color: #f2c14a; padding: 2px 6px; border-radius: 4px; font-weight: 700; border: 1px solid rgba(242,193,74,0.2); margin-left: 5px; font-size: 10px; }

.header-actions { display: flex; align-items: center; }
.tt-ally-select {
    background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff;
    padding: 6px 12px; border-radius: 6px; font-size: 12px; font-weight: 700;
    cursor: pointer; outline: none; height: 32px;
}
.tt-ally-select:focus { border-color: #f2c14a; }

/* ALERTS */
.tt-alert { padding: 12px 15px; border-radius: 8px; font-weight: 700; margin-bottom: 20px; font-size: 12px; display: flex; align-items: center; gap: 10px; }
.tt-alert.success { background: rgba(61,220,132, 0.1); color: var(--tt-green); border: 1px solid rgba(61,220,132, 0.2); }
.tt-alert.error { background: rgba(255,92,92, 0.1); color: var(--tt-red); border: 1px solid rgba(255,92,92, 0.2); }

/* TABLE CARD */
.tt-card { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 10px; overflow: hidden; margin-bottom: 25px; width: 100%; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.tt-table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }

/* Header */
.tt-table th { background: rgba(255,255,255,0.03); color: var(--tt-muted); padding: 10px 10px; text-align: left; border-bottom: 1px solid var(--tt-line-solid); font-size: 10px; font-weight: 700; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Main Rows */
.tt-table td { padding: 4px 8px; border-bottom: 1px solid rgba(255,255,255,0.05); vertical-align: middle; color: var(--tt-text-soft); }
.tt-table tr { height: 32px; }

/* ROW HOVER */
.tt-row-main { transition: background-color 0.2s ease; background: var(--tt-surface-solid); position: relative; z-index: 2; }
.tt-row-main:hover td { background-color: rgba(20, 60, 140, 0.3) !important; box-shadow: inset 0 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; color: #fff !important; }
.tt-row-main:hover td:first-child { box-shadow: inset 1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; }
.tt-row-main:hover td:last-child { box-shadow: inset -1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; }

/* RIGHT ALIGN FIX */
.tt-row-main td:last-child { text-align: right !important; padding-right: 15px; display: flex; justify-content: flex-end; align-items: center; height: 100%; }

/* PLAYER & META */
.col-player { display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.player-name-row { display: flex; align-items: center; gap: 2px; }
.player-name { font-weight: 700; color: #fff; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-badge { margin-left: 0 !important; vertical-align: middle; }
.account-meta.missing-alert { color: var(--tt-red); font-size: 10px; margin-top: 2px; display: flex; align-items: center; gap: 4px; }

/* ROLES */
.badge-role { padding: 2px 6px; border-radius: 4px; font-size: 9px; font-weight: 800; text-transform: uppercase; display: inline-block; }
.role-off { background: rgba(255,92,92,0.1); color: var(--tt-red); }
.role-deff { background: rgba(61,220,132,0.1); color: var(--tt-green); }
.role-hybrid { background: rgba(59,130,246,0.1); color: var(--tt-blue); }
.role-none { color: var(--tt-faint-2); }

/* ALLY TAG */
.ally-tag { font-size: 10px; text-transform: uppercase; font-weight: 700; color: var(--tt-muted); background: rgba(255,255,255,0.05); padding: 2px 5px; border-radius: 4px; }

/* STATS */
.stat-val { font-family: monospace; font-size: 12px; color: var(--tt-text); }
.troops-ok { color: var(--tt-green); font-weight: 700; }
.troops-low { color: var(--tt-gold-2); font-weight: 700; }
.log-ok { color: var(--tt-text-soft); } 
.log-warn { color: var(--tt-gold-2); font-weight: 800; }
.log-crit { color: var(--tt-red); font-weight: 800; }

/* STATUS BADGES (TRAFFIC LIGHT) */
.col-status-cell { text-align: left; }
.status-badge { font-size: 9px; font-weight: 800; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; display: inline-block; letter-spacing: 0.5px; white-space: nowrap; }
.st-green { background: rgba(61,220,132, 0.1); color: var(--tt-green); }
.st-yellow { background: rgba(227, 179, 65, 0.1); color: var(--tt-gold-2); }
.st-red { background: rgba(255,92,92, 0.1); color: var(--tt-red); }

/* ACTIONS */
.tt-btn-action { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.1); color: var(--tt-text-soft); width: 32px; height: 32px; border-radius: 6px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: 0.2s; }
.tt-btn-action:hover { background: #f2c14a; border-color: #f2c14a; color: #000; }

.tt-toggle-btn { width: 32px !important; height: 32px !important; padding: 0 !important; border-radius: 6px; border: 1px solid #f2c14a; background: rgba(242, 193, 74, 0.1); color: #f2c14a; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; box-sizing: border-box; }
.tt-toggle-btn:hover { background: #f2c14a; color: #000; }
.tt-toggle-btn.is-active { background: #f2c14a; color: #000; transform: rotate(180deg); }

/* DETAILS */
.tt-row-details { display: none; width: 100%; }
.tt-row-details.is-open { display: table-row; }
.tt-details-wrap { padding: 15px; border-top: 1px solid var(--tt-line-solid); background: var(--tt-bg-2); box-shadow: inset 0 5px 15px rgba(0,0,0,0.3); }
.tt-no-goals-msg { font-size: 13px; color: var(--tt-faint); font-style: italic; padding: 10px 0; text-align: center; }
.tt-goals-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 15px; }

/* WARNING CARD */
.tt-goal-card { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 8px; padding: 15px; display: flex; flex-direction: column; position: relative; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
.tt-goal-card:hover { border-color: var(--tt-red); }

.tt-goal-card.type-hint { border-left: 3px solid var(--tt-gold-2); } 
.tt-goal-card.type-warn { border-left: 3px solid #f97316; } 
.tt-goal-card.type-final { border-left: 3px solid var(--tt-red); } 

.gc-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; gap: 10px; }
.gc-badge { font-size: 9px; font-weight: 800; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; white-space: nowrap; }
.bg-hint { background: rgba(227, 179, 65, 0.1); color: var(--tt-gold-2); border: 1px solid rgba(227, 179, 65, 0.3); }
.bg-warn { background: rgba(249, 115, 22, 0.1); color: #f97316; border: 1px solid rgba(249, 115, 22, 0.3); }
.bg-final { background: rgba(255,92,92, 0.1); color: var(--tt-red); border: 1px solid rgba(255,92,92, 0.3); }

.gc-desc { font-size: 13px; color: var(--tt-text); margin-bottom: 12px; white-space: pre-wrap; line-height: 1.4; font-weight: 500; }
.gc-footer { margin-top: auto; padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.05); }

.gc-btn { width: 26px; height: 26px; border-radius: 6px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.05); color: var(--tt-muted); border: none; cursor: pointer; transition: 0.2s; font-size: 11px; }
.gc-btn:hover { background: rgba(255,255,255,0.1); color: #fff; }
.gc-btn-del:hover { background: rgba(255,92,92, 0.2); color: var(--tt-red); }

/* MODAL & FORM */
.tt-modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); backdrop-filter: blur(4px); z-index: 1000; align-items: center; justify-content: center; }
.tt-modal-overlay.active { display: flex; }
.tt-modal { background: var(--tt-surface-solid); border: 1px solid var(--tt-red); box-shadow: 0 0 40px rgba(255,92,92, 0.2); width: 90%; max-width: 500px; border-radius: 12px; overflow: hidden; }
.tt-modal-header { background: rgba(255,255,255,0.03); padding: 15px 20px; border-bottom: 1px solid var(--tt-line-solid); display: flex; justify-content: space-between; align-items: center; }
.tt-modal-title { margin: 0; font-size: 16px; font-weight: 800; color: #fff; }
.tt-modal-close { background: none; border: none; color: var(--tt-muted); cursor: pointer; font-size: 18px; }
.tt-modal-body { padding: 20px; }

.tt-form-row { margin-bottom: 15px; }
.tt-lbl { display: block; font-size: 11px; font-weight: 700; color: var(--tt-muted); text-transform: uppercase; margin-bottom: 6px; }
.tt-inp { width: 100%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff; padding: 10px; border-radius: 6px; box-sizing: border-box; font-family: inherit; font-size: 13px; }
.tt-inp:focus { border-color: var(--tt-red); outline: none; }
.tt-btn-save { width: 100%; background: linear-gradient(135deg, var(--tt-red), #b91c1c); color: #fff; border: none; padding: 12px; border-radius: 8px; font-weight: 800; text-transform: uppercase; cursor: pointer; margin-top: 10px; }
.tt-btn-save:hover { filter: brightness(1.1); }


/* ===== MIGRIERT AUS admin_ziele_spieler.css ===== */

/* * TravTools - Admin Ziele Spieler (Royal Focus Style) */

.tt-admin-wrap { 
    width: 100%; 
    box-sizing: border-box; 
    font-family: "Inter", sans-serif; 
    color: var(--tt-text-soft); 
    padding-right: 0; 
}

/* HEADER & FILTER */
.tt-header-row { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 25px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 15px; }
.tt-header-standalone h1 { font-size: 24px; font-weight: 900; color: #fff; margin: 0 0 5px 0; text-transform: uppercase; }
.tt-subtitle { color: var(--tt-muted); font-size: 12px; }

.cluster-tag { background: rgba(242,193,74,0.1); color: #f2c14a; padding: 2px 6px; border-radius: 4px; font-weight: 700; border: 1px solid rgba(242,193,74,0.2); margin-left: 5px; font-size: 10px; }

.header-actions { display: flex; align-items: center; }
.tt-ally-select {
    background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff;
    padding: 6px 12px; border-radius: 6px; font-size: 12px; font-weight: 700;
    cursor: pointer; outline: none; height: 32px;
}
.tt-ally-select:focus { border-color: #f2c14a; }

/* ALERTS */
.tt-alert { padding: 12px 15px; border-radius: 8px; font-weight: 700; margin-bottom: 20px; font-size: 12px; display: flex; align-items: center; gap: 10px; }
.tt-alert.success { background: rgba(61,220,132, 0.1); color: var(--tt-green); border: 1px solid rgba(61,220,132, 0.2); }
.tt-alert.error { background: rgba(255,92,92, 0.1); color: var(--tt-red); border: 1px solid rgba(255,92,92, 0.2); }

/* TABLE CARD */
.tt-card { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 10px; overflow: hidden; margin-bottom: 25px; width: 100%; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.tt-table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }

/* Header */
.tt-table th { background: rgba(255,255,255,0.03); color: var(--tt-muted); padding: 10px 10px; text-align: left; border-bottom: 1px solid var(--tt-line-solid); font-size: 10px; font-weight: 700; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Main Rows */
.tt-table td { padding: 4px 8px; border-bottom: 1px solid rgba(255,255,255,0.05); vertical-align: middle; color: var(--tt-text-soft); }
.tt-table tr { height: 32px; }

/* === MAIN ROWS HOVER FIX (Royal Blue + Gold Box-Shadow) === */
.tt-row-main { 
    transition: background-color 0.2s ease; 
    background: var(--tt-surface-solid); 
    position: relative; 
    z-index: 2;
}

/* Hover Effect: Blue Background + Gold Lines Top/Bottom */
.tt-row-main:hover td { 
    background-color: rgba(20, 60, 140, 0.3) !important; /* Royal Blue */
    box-shadow: inset 0 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; /* Gold Lines */
    color: #fff !important;
}
.tt-row-main:hover td:first-child { box-shadow: inset 1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; }
.tt-row-main:hover td:last-child { box-shadow: inset -1px 1px 0 #f2c14a, inset 0 -1px 0 #f2c14a; }

/* FOCUS MODE: Hide other rows */
tbody.focus-active .tt-row-main:not(.row-active) { display: none; }

/* ARROW RIGHT FIX */
.tt-row-main td:last-child { 
    text-align: right !important; 
    padding-right: 15px; 
    display: flex; 
    justify-content: flex-end; 
    align-items: center; 
    height: 100%; 
}

/* PLAYER NAME */
.col-player { display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.player-name-row { display: flex; align-items: center; gap: 2px; }
.player-name { font-weight: 700; color: #fff; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-badge { margin-left: 0 !important; vertical-align: middle; }

.account-meta.missing-alert { color: var(--tt-red); font-size: 10px; margin-top: 2px; display: flex; align-items: center; gap: 4px; }

/* ROLES */
.badge-role { padding: 2px 6px; border-radius: 4px; font-size: 9px; font-weight: 800; text-transform: uppercase; display: inline-block; }
.role-off { background: rgba(255,92,92,0.1); color: var(--tt-red); }
.role-deff { background: rgba(61,220,132,0.1); color: var(--tt-green); }
.role-hybrid { background: rgba(59,130,246,0.1); color: var(--tt-blue); }
.role-none { color: var(--tt-faint-2); }

/* ALLY TAG */
.ally-tag { font-size: 10px; text-transform: uppercase; font-weight: 700; color: var(--tt-muted); background: rgba(255,255,255,0.05); padding: 2px 5px; border-radius: 4px; }

/* STATS STYLES */
.stat-val { font-family: monospace; font-size: 12px; color: var(--tt-text); }
.troops-ok { color: var(--tt-green); font-weight: 700; }
.troops-low { color: var(--tt-gold-2); font-weight: 700; }

/* LOGIN COLORS */
.log-ok { color: var(--tt-text-soft); } 
.log-warn { color: var(--tt-gold-2); font-weight: 800; }
.log-crit { color: var(--tt-red); font-weight: 800; }

/* STATUS BADGES */
.col-status-cell { text-align: left; }
.status-badge { 
    font-size: 9px; font-weight: 800; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; 
    display: inline-block; letter-spacing: 0.5px; white-space: nowrap; 
}
.st-green { background: rgba(61,220,132, 0.1); color: var(--tt-green); }
.st-red { background: rgba(255,92,92, 0.1); color: var(--tt-red); }

/* ACTIONS & TOGGLE */
.tt-btn-action {
    background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.1); color: var(--tt-text-soft);
    width: 32px; height: 32px; border-radius: 6px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
    transition: 0.2s;
}
.tt-btn-action:hover { background: #f2c14a; border-color: #f2c14a; color: #000; }

.tt-toggle-btn {
    width: 32px !important; height: 32px !important; padding: 0 !important;
    border-radius: 6px; border: 1px solid #f2c14a; 
    background: rgba(242, 193, 74, 0.1); color: #f2c14a; cursor: pointer; 
    display: flex; align-items: center; justify-content: center; 
    transition: all 0.3s ease; box-sizing: border-box;
}
.tt-toggle-btn:hover { background: #f2c14a; color: #000; }
.tt-toggle-btn.is-active { background: #f2c14a; color: #000; transform: rotate(180deg); }

/* --- ACCORDION DETAILS --- */
.tt-row-details { display: none; width: 100%; }
.tt-row-details.is-open { display: table-row; }

.tt-details-wrap { padding: 15px; border-top: 1px solid var(--tt-line-solid); background: var(--tt-bg-2); box-shadow: inset 0 5px 15px rgba(0,0,0,0.3); }
.tt-no-goals-msg { font-size: 13px; color: var(--tt-faint); font-style: italic; padding: 10px 0; text-align: center; }

/* Grid for Cards inside Accordion */
.tt-goals-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 15px; }

/* GOAL CARD */
.tt-goal-card {
    background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 8px; padding: 15px;
    display: flex; flex-direction: column; position: relative;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.tt-goal-card:hover { border-color: #f2c14a; }
.tt-goal-card.is-done { opacity: 0.6; filter: grayscale(0.5); }
.tt-goal-card.type-admin { border-left: 3px solid var(--tt-purple); } 
.tt-goal-card.type-personal { border-left: 3px solid var(--tt-line-solid); } 

.gc-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; gap: 10px; }
.gc-title { font-size: 14px; font-weight: 700; color: #fff; line-height: 1.3; }
.gc-badge { font-size: 9px; font-weight: 800; padding: 2px 6px; border-radius: 4px; text-transform: uppercase; white-space: nowrap; }
.bg-admin { background: rgba(192, 132, 252, 0.2); color: var(--tt-purple); border: 1px solid rgba(192, 132, 252, 0.3); }
.bg-user { background: rgba(255,255,255,0.1); color: var(--tt-muted); }

.gc-desc { font-size: 12px; color: var(--tt-muted); margin-bottom: 12px; white-space: pre-wrap; line-height: 1.4; }

.gc-subs { background: rgba(0,0,0,0.2); padding: 8px; border-radius: 6px; margin-bottom: 12px; border: 1px solid rgba(255,255,255,0.03); }
.gc-sub-item { display: flex; gap: 8px; font-size: 12px; color: var(--tt-text-soft); margin-bottom: 4px; align-items: flex-start; }
.gc-sub-item.done { text-decoration: line-through; color: var(--tt-faint); }
.gc-chk { accent-color: #f2c14a; cursor: pointer; margin-top: 2px; }

.gc-controls { display: flex; gap: 5px; margin-top: auto; padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.05); justify-content: flex-end; }
.gc-btn {
    width: 26px; height: 26px; border-radius: 6px; display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,0.05); color: var(--tt-muted); border: none; cursor: pointer; transition: 0.2s; font-size: 11px;
}
.gc-btn:hover { background: rgba(255,255,255,0.1); color: #fff; }
.gc-btn-del:hover { background: rgba(255,92,92, 0.2); color: var(--tt-red); }

/* MODAL & FORM */
.tt-modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); backdrop-filter: blur(4px); z-index: 1000; align-items: center; justify-content: center; }
.tt-modal-overlay.active { display: flex; }
.tt-modal { background: var(--tt-surface-solid); border: 1px solid #f2c14a; box-shadow: 0 0 40px rgba(0,0,0,0.5); width: 90%; max-width: 500px; border-radius: 12px; overflow: hidden; }
.tt-modal-header { background: rgba(255,255,255,0.03); padding: 15px 20px; border-bottom: 1px solid var(--tt-line-solid); display: flex; justify-content: space-between; align-items: center; }
.tt-modal-title { margin: 0; font-size: 16px; font-weight: 800; color: #fff; }
.tt-modal-close { background: none; border: none; color: var(--tt-muted); cursor: pointer; font-size: 18px; }
.tt-modal-body { padding: 20px; }

.tt-form-row { margin-bottom: 15px; }
.tt-lbl { display: block; font-size: 11px; font-weight: 700; color: var(--tt-muted); text-transform: uppercase; margin-bottom: 6px; }
.tt-inp { width: 100%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff; padding: 10px; border-radius: 6px; box-sizing: border-box; font-family: inherit; font-size: 13px; }
.tt-inp:focus { border-color: #f2c14a; outline: none; }
.tt-btn-save { width: 100%; background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2)); color: var(--tt-bg-0); border: none; padding: 12px; border-radius: 8px; font-weight: 800; text-transform: uppercase; cursor: pointer; margin-top: 10px; }
.tt-btn-save:hover { filter: brightness(1.1); }


/* ===== Final Pass · Block 4 · Admin Tabellen/Seiten ===== */
.tt-admin-wrap .tt-card,
.tt-admin-wrap .tt-panel,
.tt-admin-wrap .tt-section-card{
  background:linear-gradient(180deg, rgba(20,29,52,.88), rgba(8,12,20,.92));
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  box-shadow:0 16px 38px rgba(0,0,0,.24);
}
