/*
 * TravTools · © MUNLabs
 * Sonderfälle
 * Restliche oder bewusst separat gehaltene Einzelstyles.
 */

/* Extrahiert aus fehler.php */
.tt-error-page{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--tt-bg-0);color:#f6f8ff;font-family:Inter,Outfit,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.tt-error-box{width:min(720px,calc(100vw - 32px));padding:28px;border-radius:22px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.03));box-shadow:0 18px 40px rgba(0,0,0,.35)}
.tt-error-box h1{margin:0 0 10px;font-size:32px}
.tt-error-muted{color:rgba(255,255,255,.72)}
.tt-error-link{display:inline-flex;margin-top:16px;padding:12px 16px;border-radius:14px;background:#f2c14a;color:var(--tt-bg-1);text-decoration:none;font-weight:800}

/* Extrahiert aus check_rechte.php */
.tt-rights-check{ background: var(--tt-bg-1); color: var(--tt-text-soft); font-family: monospace; padding: 20px; font-size: 14px; }
.tt-rights-check .box { background: var(--tt-surface-hover-solid); border: 1px solid var(--tt-faint-2); padding: 15px; margin-bottom: 20px; border-radius: 5px; }
.tt-rights-check h2 { color: #f2c14a; border-bottom: 1px solid var(--tt-faint-2); padding-bottom: 5px; margin-top: 0; }
.tt-rights-check .val { color: #fff; font-weight: bold; }
.tt-rights-check .good { color: var(--tt-green); }
.tt-rights-check .bad { color: var(--tt-red); }
.tt-rights-check .info { color: var(--tt-blue-3); }


/* =========================================================
   Phase 6 · Standalone / Diagnose-Seiten
   ========================================================= */
.tt-standalone-body{min-height:100vh;margin:0;background:radial-gradient(circle at top,#0d1734 0%,#07101f 45%,#04070d 100%);background-attachment:fixed;color:#f6f8ff;font-family:Outfit,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;}
.tt-standalone-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 18px;}
.tt-standalone-card{width:min(920px,100%);border:1px solid rgba(242,193,74,.18);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));box-shadow:0 24px 60px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.04) inset;border-radius:18px;padding:26px;}
.tt-standalone-card h1{margin:0 0 12px;font-size:30px;line-height:1.15;color:#f2c14a;}
.tt-standalone-card h2,.tt-standalone-card h3{color:#fff;margin:18px 0 10px;}
.tt-standalone-card code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;padding:.12rem .42rem;border-radius:10px;background:rgba(8,16,34,.7);border:1px solid rgba(255,255,255,.08);}
.tt-standalone-muted{color:rgba(255,255,255,.76);margin-bottom:18px;}
.tt-error-view,.tt-tool-log,.tt-rights-check{display:block;}
.tt-tool-box{margin-top:18px;padding:18px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);}
.tt-tool-success{border-color:rgba(91,214,141,.45);background:rgba(18,102,61,.18);color:#ddffe8;}
.tt-tool-info{border-color:rgba(96,165,250,.35);background:rgba(37,99,235,.14);color:#dbeafe;}
.tt-tool-error{border-color:rgba(248,113,113,.45);background:rgba(127,29,29,.18);color:#fee2e2;}
.tt-inline-good{color:var(--tt-green-2);}
.tt-inline-bad{color:var(--tt-red-2);}
.tt-rights-check .box{margin:14px 0;padding:18px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);}
.tt-rights-check .val{color:#f2c14a;font-weight:700;}
.tt-rights-check .good{color:var(--tt-green-2);font-weight:700;}
.tt-rights-check .bad{color:var(--tt-red-2);font-weight:700;}
.tt-rights-check .info{color:#93c5fd;font-weight:700;}


/* =========================================================
   Phase 7 · Weitere Standalone-/Installer-Seiten
   ========================================================= */
.tt-standalone-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.tt-standalone-grid{display:grid;gap:14px}
.tt-standalone-pre{margin:14px 0 0;padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(5,10,18,.72);color:#dbeafe;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:13px;line-height:1.55;overflow:auto;white-space:pre-wrap;word-break:break-word}
.tt-db-struct-box{margin:14px 0;padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
.tt-db-struct-title{display:block;margin-bottom:8px;color:#f2c14a;font-size:18px;font-weight:800}
.tt-inline-type{color:rgba(255,255,255,.56)}


/* =========================================================
   Phase 8 · Utility-Klassen / Restliche Einzelstellen
   ========================================================= */
.tt-inline-center-note{ text-align:center; padding:30px; color:var(--tt-faint); border:1px dashed var(--tt-line-solid); border-radius:12px; }
.tt-inline-upper-label{ font-size:10px; opacity:.6; text-transform:uppercase; font-weight:800; }
.tt-delete-title-danger{ color:var(--tt-red); }
.tt-inline-center-actions{ text-align:center; margin-top:20px; }
.tt-inline-ghost-link{ display:inline-flex; align-items:center; justify-content:center; min-width:180px; padding:12px 20px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:#fff; text-decoration:none; font-size:14px; font-weight:800; }
.tt-inline-meta-right{ text-align:right; font-size:12px; color:var(--muted); }
.tt-inline-code-gold{ font-family:monospace; color:var(--brandGold); }
.tt-inline-empty-icon{ font-size:40px; margin-bottom:15px; display:block; }
.tt-verify-meta-label{ font-size:12px; text-transform:uppercase; opacity:.6; }
.tt-verify-actions{ display:flex; gap:10px; }
.tt-verify-actions > *{ flex:1; }
.tt-verify-link-btn{ text-align:center; text-decoration:none; display:flex; align-items:center; justify-content:center; }
.tt-verify-waiting{ margin-top:20px; text-align:center; font-size:12px; color:var(--brandGold); }
.tt-verify-success-title{ color:#fff; margin-bottom:10px; }
.tt-verify-success-copy{ color:var(--muted); }
.tt-help-copy-muted{ color:var(--tt-faint); line-height:1.4; display:block; }
.tt-card-stack-gap{ margin-bottom:20px; }
.tt-path-meta{ margin-top:10px; font-size:12px; color:var(--tt-faint); }
.tt-icon-muted{ margin-right:8px; opacity:.5; }
.tt-empty-muted-note{ opacity:.5; font-size:12px; padding:10px; }
.tt-smtp-empty-cell{ text-align:center; padding:40px; font-style:italic; }
.tt-smtp-error-inline{ color:var(--tt-red); margin-bottom:10px; font-weight:bold; }
.tt-page-btn[disabled]{ opacity:.3; }
.tt-pagination-ellipsis{ color:var(--tt-faint); padding:8px; }

.tt-inline-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;margin:0 0 14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:rgba(255,255,255,.88)}
.tt-inline-alert i{margin-top:2px}
.tt-inline-alert--ok{border-color:rgba(61,220,132,.28);background:rgba(61,220,132,.10);color:#d1fae5}
.tt-inline-alert--warn{border-color:rgba(242,193,78,.30);background:rgba(242,193,78,.10);color:#fde7a7}


/* Block 14 · debug db */
.tt-dbdebug-title{margin:0 0 18px;font-size:24px;font-weight:900;color:#fff}
.tt-dbdebug-list{display:grid;gap:14px}
.tt-dbdebug-card{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:14px;padding:16px 18px}
.tt-dbdebug-table{display:block;color:var(--brandGold,var(--tt-gold));font-size:1.1rem;margin-bottom:10px}
.tt-dbdebug-cols{display:flex;flex-wrap:wrap;gap:8px 10px}
.tt-dbdebug-chip{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:#d0d7de;font-size:.92rem}
.tt-dbdebug-type{color:#7d8590}

/* ===== Merged legacy/page CSS removed from per-page links ===== */

/* --- merged from account_account_loeschen.css --- */
/* travtools/css/account_account_loeschen.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - Kompakt & Danger) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--tt-red); /* Roter Warn-Balken */
  border-radius: 16px;
  
  width: 100%;
  max-width: 450px; 
  padding: 30px;
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 10px;
}
.tt-title i { color: var(--tt-red); font-size: 22px; } /* Rotes Icon */
.tt-subtitle { color: var(--tt-red-2); font-size: 13px; font-weight: 600; margin: 0; }

/* FORM & INPUTS */
.tt-form { display: flex; flex-direction: column; gap: 20px; }

.tt-field label {
  display: block; font-size: 11px; font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}

.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 13px; z-index: 2; pointer-events: none;
}

.tt-input {
  width: 100%; padding: 10px 14px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 36px; }
.tt-input:focus {
  border-color: var(--tt-red); /* Roter Fokus */
  background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(255,92,92, 0.15);
}

/* DANGER BUTTON */
.tt-btn-danger {
  margin-top: 10px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--tt-red), #b91c1c); /* Rotverlauf */
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s; width: 100%; 
}
.tt-btn-danger:hover { 
  filter: brightness(1.1); 
  transform:none; 
  box-shadow: 0 4px 15px rgba(255,92,92, 0.3); 
}

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert-err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}
/* === Block 8 targeted repair: auth/form consistency === */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
  width:100%;
  max-width:1180px;
  margin:0;
  align-items:center;
  align-content:start;
  min-height:0;
}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,
.tt-card-auth,.tt-card-form{
  max-width:480px !important;
  width:100%;
  margin:0;
  min-height:0 !important;
  box-sizing:border-box;
  border-radius:18px;
}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{
  width:min(340px, 72%) !important;
  max-width:340px !important;
  transform:none !important;
  transition:opacity .2s ease, filter .2s ease !important;
}
.tt-big-logo img:hover,.tt-auth-logo img:hover,.tt-side-logo img:hover{transform:none !important;}
.tt-head,.tt-auth-head{margin-bottom:18px !important;padding-bottom:14px !important;}
.tt-head h1,.tt-auth-head h1{gap:10px !important; font-size:26px !important;}
.tt-sub,.tt-auth-sub{font-size:13px !important;line-height:1.35;}
.tt-form-grid,.tt-auth-form{gap:16px !important;}
.tt-input,.tt-select,.tt-textarea,.tt-search-input{
  min-height:46px;
  border-radius:12px !important;
}
.tt-btn,.tt-btn-dashboard,.tt-send-btn,.btn,.button{
  min-height:44px;
  border-radius:12px !important;
  transform:none !important;
}
.tt-btn:hover,.tt-btn-dashboard:hover,.tt-send-btn:hover,.btn:hover,.button:hover{
  transform:none !important;
}
@media (max-width: 900px){
  .tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,.tt-card-auth,.tt-card-form{
    max-width:none !important;
  }
}

/* Final rest pass */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{align-items:center!important;min-height:0!important;}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{background:transparent!important;border:none!important;box-shadow:none!important;min-height:0!important;}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{width:min(340px,72%)!important;max-width:340px!important;height:auto!important;}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card{min-height:0!important;max-width:480px!important;}


/* --- merged from account_email_aendern.css --- */
/* travtools/css/account_email_aendern.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - Kompakt) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold);
  border-radius: 16px;
  
  width: 100%;
  max-width: 450px; 
  padding: 30px;
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 10px;
}
.tt-title i { color: var(--brandGold); font-size: 20px; }
.tt-subtitle { color: var(--muted); font-size: 13px; font-weight: 500; margin: 0; }

/* FORM & INPUTS */
.tt-form { display: flex; flex-direction: column; gap: 20px; }

.tt-field label {
  display: block; font-size: 11px; font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}

.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 13px; z-index: 2; pointer-events: none;
}

.tt-input {
  width: 100%; padding: 10px 14px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 36px; }
.tt-input:focus {
  border-color: var(--brandGold); background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.15);
}

/* BUTTON */
.tt-btn {
  margin-top: 10px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s; width: 100%; 
}
.tt-btn:hover { filter: brightness(1.1); transform:none; box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert-err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert-ok { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}
/* === Block 8 targeted repair: auth/form consistency === */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
  width:100%;
  max-width:1180px;
  margin:0;
  align-items:center;
  align-content:start;
  min-height:0;
}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,
.tt-card-auth,.tt-card-form{
  max-width:480px !important;
  width:100%;
  margin:0;
  min-height:0 !important;
  box-sizing:border-box;
  border-radius:18px;
}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{
  width:min(340px, 72%) !important;
  max-width:340px !important;
  transform:none !important;
  transition:opacity .2s ease, filter .2s ease !important;
}
.tt-big-logo img:hover,.tt-auth-logo img:hover,.tt-side-logo img:hover{transform:none !important;}
.tt-head,.tt-auth-head{margin-bottom:18px !important;padding-bottom:14px !important;}
.tt-head h1,.tt-auth-head h1{gap:10px !important; font-size:26px !important;}
.tt-sub,.tt-auth-sub{font-size:13px !important;line-height:1.35;}
.tt-form-grid,.tt-auth-form{gap:16px !important;}
.tt-input,.tt-select,.tt-textarea,.tt-search-input{
  min-height:46px;
  border-radius:12px !important;
}
.tt-btn,.tt-btn-dashboard,.tt-send-btn,.btn,.button{
  min-height:44px;
  border-radius:12px !important;
  transform:none !important;
}
.tt-btn:hover,.tt-btn-dashboard:hover,.tt-send-btn:hover,.btn:hover,.button:hover{
  transform:none !important;
}
@media (max-width: 900px){
  .tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,.tt-card-auth,.tt-card-form{
    max-width:none !important;
  }
}

/* Final rest pass */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{align-items:center!important;min-height:0!important;}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{background:transparent!important;border:none!important;box-shadow:none!important;min-height:0!important;}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{width:min(340px,72%)!important;max-width:340px!important;height:auto!important;}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card{min-height:0!important;max-width:480px!important;}


/* --- merged from account_ereignis_log.css --- */
/* * TravTools - Account Log (Royal Focus Style) */

.tt-log-wrap {
  width: 100%;
  max-width: 1100px;
  margin: 0; 
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
  color: var(--tt-text-soft);
}

/* HEADER */
.tt-log-head {
  display: flex;
  justify-content: space-between;
  align-items: center; 
  margin-bottom: 25px; 
  padding-bottom: 0;
  border-bottom: none; 
}

.tt-log-head h1 {
  font-size: 24px; /* Angepasst an V41 Header */
  margin: 0;
  font-weight: 900;
  color: #fff;
  text-transform: uppercase;
  display: flex; 
  align-items: center; 
  gap: 12px;
}

.tt-log-head h1 i { 
  color: #f2c14a; /* Gold */
  font-size: 24px; 
  width: 30px; 
  text-align: center;
}

.tt-log-sub { 
  font-size: 12px; 
  color: var(--tt-muted); 
  margin-top: 5px;
  margin-left: 42px; /* Einzug beibehalten */
}

/* KARTE (Container) */
.tt-log-card {
  background: var(--tt-surface-solid); /* Dark Mode Background */
  border: 1px solid var(--tt-line-solid);
  border-radius: 10px;
  padding: 0; /* Padding auf 0, damit die Liste wie eine Tabelle wirkt */
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  overflow: hidden;
  min-height: 400px;
}

/* LISTE */
.tt-log-list {
  display: flex;
  flex-direction: column;
  gap: 0; /* Kein Gap, damit Linien sauber abschließen */
}

/* DAS ITEM (Die Zeile) */
.tt-log-item {
  display: grid;
  grid-template-columns: 140px 1fr 150px; 
  align-items: center; /* Mittig wie in der Tabelle */
  gap: 20px;
  padding: 8px 15px; /* Kompaktes Padding (ca 32px Höhe) */
  background: var(--tt-surface-solid);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: background-color 0.2s ease;
  color: var(--tt-text-soft);
}

/* === ROYAL FOCUS HOVER (Full Box) === */
.tt-log-item:hover {
  background-color: rgba(20, 60, 140, 0.3) !important; /* Royal Blue */
  color: #fff !important;
  /* Box-Shadow für den goldenen Rahmen (Oben, Unten, Links, Rechts) */
  box-shadow: 
    inset 0 1px 0 #f2c14a,  /* Oben */
    inset 0 -1px 0 #f2c14a, /* Unten */
    inset 1px 0 0 #f2c14a,  /* Links */
    inset -1px 0 0 #f2c14a; /* Rechts */
  z-index: 10;
}

/* DATUM */
.tt-log-date {
  font-family: monospace;
  color: #f2c14a; /* Gold */
  font-size: 12px;
  line-height: 1;
}

/* INHALT */
.tt-log-content {
  display: flex;
  flex-direction: column;
  gap: 2px; /* Enger */
}

.tt-log-type {
  font-weight: 800;
  color: #fff;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex; 
  align-items: center; 
  line-height: 1.2;
}

.log-icon { 
  margin-right: 8px; 
  width: 20px; 
  text-align: center; 
  display: inline-block;
  flex-shrink: 0;
  color: #f2c14a; /* Icons auch Gold */
}

.tt-log-details {
  font-size: 12px;
  color: var(--tt-muted); /* Muted Text */
  line-height: 1.2;
  padding-left: 28px; 
}

/* IP */
.tt-log-ip {
  font-family: monospace;
  font-size: 12px;
  color: var(--tt-faint);
  text-align: right;
}

/* EMPTY STATE */
.tt-log-empty {
  text-align: center;
  padding: 40px;
  color: var(--tt-faint);
  font-style: italic;
  font-size: 12px;
}

/* Mobile Anpassung */
@media(max-width: 700px) {
  .tt-log-item { grid-template-columns: 1fr; gap: 8px; padding: 10px; height: auto; }
  .tt-log-ip { text-align: left; opacity: 0.5; font-size: 11px; }
  .tt-log-date { margin-bottom: 2px; }
}

/* === BLOCK 6: unified admin/table polish === */
.tt-table-wrap,
.tt-table-card,
.tt-admin-card,
.tt-log-card,
.tt-panel,
.tt-box{
  background:var(--tt-surface-solid);
  border:1px solid var(--tt-line-solid);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
}
.tt-table-tools,
.tt-toolbar,
.tt-filter-row,
.tt-search-row,
.tt-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.tt-table,
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
}
.tt-table thead th,
thead th{
  position:sticky;
  top:0;
  background:#11161e;
  color:#f2c14a;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-bottom:1px solid var(--tt-line-solid);
}
.tt-table th,
.tt-table td,
th,td{
  padding:12px 14px;
  vertical-align:middle;
}
.tt-table tbody tr,
tbody tr{
  background:rgba(255,255,255,.015);
  transition:background-color .18s ease, box-shadow .18s ease;
}
.tt-table tbody tr:nth-child(even),
tbody tr:nth-child(even){
  background:rgba(255,255,255,.03);
}
.tt-table tbody tr:hover,
tbody tr:hover{
  background:rgba(37,99,235,.08);
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
}
.tt-table td,
td{
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#d7dce7;
}
.tt-table tbody tr:last-child td,
tbody tr:last-child td{border-bottom:0;}
.tt-pagination,
.pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  margin-top:16px;
}

/* === Block 8 targeted repair: account/world polish === */
.tt-profile-wrap,.tt-worlds-wrap,.tt-account-wrap,.tt-requests-wrap{width:100%;max-width:none;margin:0;}
.tt-profile-grid,.tt-worlds-grid,.tt-req-grid,.tt-invites-grid{align-items:start !important;}
.tt-welcome-card,.tt-menu-shell,.tt-actions-shell{background:transparent !important;border:none !important;box-shadow:none !important;}
.tt-menu-grid{display:grid !important;grid-template-columns:1fr;gap:10px !important;align-items:start;}
.tt-menu-btn,.tt-action-btn,.tt-world-card,.tt-mini-world,.tt-request-card,.tt-invite-card{
  border-radius:16px !important;
  min-height:0 !important;
}
.tt-menu-btn{padding:15px 18px !important; background:rgba(255,255,255,.02) !important;}
.tt-menu-btn:hover,.tt-action-btn:hover,.tt-world-card:hover,.tt-mini-world:hover{
  transform:none !important;
}
.tt-wc-footer,.tt-mw-footer,.tt-req-actions,.wiz-actions{gap:8px;flex-wrap:wrap;}
.tt-wc-footer > *, .tt-mw-footer > *, .tt-req-actions > *, .wiz-actions > *{flex:0 1 auto;}


/* Block 5 · Account event log polish */
.tt-log-wrap{width:100%;max-width:none!important;}
.tt-log-card{border-radius:18px!important;min-height:auto!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;}
.tt-log-head{gap:14px!important;flex-wrap:wrap!important;align-items:flex-end!important;}
.tt-log-list{padding:0!important;}
.tt-log-item,.tt-log-row,.tt-log-entry{border-radius:0!important;}
.tt-log-search,.tt-log-filter,.tt-log-btn,.tt-page-btn{min-height:42px!important;border-radius:12px!important;}
@media (max-width:900px){.tt-log-head{margin-bottom:18px!important;}.tt-log-sub{margin-left:0!important;}}


/* --- merged from account_freunde.css --- */
/* account_freunde.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;
}

/* --- BADGES ORIGINAL DESIGN (FIXED) --- */
.tt-badge {
    display: inline-block; width: 12px; height: 12px; border-radius: 50%; position: relative; margin-left: 2px; vertical-align: -1px; flex-shrink: 0;
}
.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);
}
.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); }
.tt-badge.is-premium::after { border-color: #fff; }
.tt-badge.is-elite { background: #fff; box-shadow: 0 0 8px rgba(255,255,255,0.8); }

.tt-chat-wrap { display: grid; grid-template-columns:minmax(250px,290px) minmax(0,1fr); height: calc(100vh - 180px); min-height: 600px; background: var(--darkBg); border: 1px solid var(--lineColor); border-radius: 12px; overflow: hidden; margin:0; }
.tt-chat-sidebar { width: 290px; min-width:290px; background: var(--darkPanel); border-right: 1px solid var(--lineColor); display: flex; flex-direction: column; }
.tt-chat-sb-header { padding: 15px; border-bottom: 1px solid var(--lineColor); background: rgba(255,255,255,0.02); }
.tt-sb-title { display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 800; color: var(--brandGold); text-transform: uppercase; }
.tt-sb-actions { display: flex; gap: 5px; }
.tt-icon-btn { background: transparent; border: 1px solid var(--lineColor); color: var(--tt-muted); width: 28px; height: 28px; border-radius: 4px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.tt-icon-btn:hover { color: #fff; border-color: #fff; }
.tt-friend-list { flex: 1; overflow-y: auto; padding: 5px; display: flex; flex-direction: column; gap: 2px; }

.tt-u-item { display: block; padding: 10px 15px; border-radius: 6px; cursor: pointer; transition: 0.2s; border: 1px solid transparent; position: relative; }
.tt-u-item:hover { background: rgba(255,255,255,0.04); }
.tt-u-item.active { background: rgba(37, 99, 235, 0.1); border-color: rgba(37, 99, 235, 0.3); }
.tt-u-name { font-weight: 700; color: #fff; font-size: 13px; display: flex; align-items: center; gap: 4px; margin-bottom: 2px; }
.tt-u-msg { font-size: 11px; color: var(--tt-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-st-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; }
.tt-st-dot.online { background: var(--tt-green); box-shadow: 0 0 5px rgba(61,220,132, 0.5); }
.tt-st-dot.offline { background: var(--tt-faint); }
.tt-st-dot.st-group { background: var(--brandGold); }
.tt-mute-btn { position: absolute; right: 10px; top: 12px; background: transparent; border: none; color: var(--tt-faint-2); cursor: pointer; }
.tt-mute-btn:hover { color: var(--tt-text-soft); }
.tt-mute-btn.muted { color: var(--tt-red); }

.tt-chat-main { flex: 1; display: flex; flex-direction: column; background: var(--darkBg); }
.tt-msg-header { height: 50px; padding: 0 20px; border-bottom: 1px solid var(--lineColor); display: flex; align-items: center; justify-content: space-between; background: var(--darkPanel); }
.tt-active-user { display: flex; align-items: center; }
.tt-header-actions { display: flex; gap: 10px; }
.tt-act-btn { background: transparent; border: 1px solid var(--lineColor); color: var(--tt-muted); padding: 4px 8px; border-radius: 4px; cursor: pointer; font-size: 12px; }
.tt-act-btn:hover { color: #fff; border-color: #fff; }
.tt-act-btn.add:hover { color: var(--brandGold); border-color: var(--brandGold); }
.tt-act-btn.del:hover { color: var(--tt-red); border-color: var(--tt-red); }

.tt-msg-area { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 8px; 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%; }
.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; border-radius: 8px; color: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.tt-msg.own .tt-msg-bubble { background: var(--royalBlue); border-bottom-right-radius: 2px; }
.tt-msg.other .tt-msg-bubble { background: #1f242c; border: 1px solid var(--lineColor); border-bottom-left-radius: 2px; border-left: 2px solid var(--brandGold); }
.tt-msg-meta { font-size: 10px; color: var(--tt-faint); margin-top: 2px; display: flex; align-items: center; gap: 4px; }
.tt-sender-name { font-weight: 700; color: var(--tt-muted); }

.tt-input-wrapper { background: var(--darkPanel); border-top: 1px solid var(--lineColor); padding: 15px; }
.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: 10px; color: #fff; height: 45px; resize: none; font-family: inherit; }
.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; text-transform: uppercase; font-size: 12px; }
.tt-send-btn:hover { filter: brightness(1.1); }

.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: 400px; max-width: 90%; border-radius: 8px; border: 1px solid var(--royalBlue); padding: 20px; box-shadow: 0 25px 50px rgba(0,0,0,0.5); }
.tt-modal h3 { margin-top: 0; color: #fff; font-size: 16px; border-bottom: 1px solid var(--lineColor); padding-bottom: 10px; }
.tt-search-inp { width: 100%; padding: 10px; background: var(--darkBg); border: 1px solid var(--lineColor); color: #fff; border-radius: 4px; margin-bottom: 10px; box-sizing: border-box; }
.tt-res-list { max-height: 200px; overflow-y: auto; }
.tt-res-item { padding: 8px; background: rgba(255,255,255,0.05); border-radius: 4px; margin-bottom: 4px; display: flex; justify-content: space-between; align-items: center; }
.tt-res-btn { background: var(--brandGold); border: none; color: #000; padding: 2px 8px; border-radius: 3px; cursor: pointer; font-weight: 700; font-size: 10px; }
.tt-modal-foot { margin-top: 15px; text-align: right; }
.tt-modal-foot button { background: transparent; border: none; color: var(--tt-muted); cursor: pointer; text-decoration: underline; }
@media (max-width: 980px) { .tt-chat-wrap { grid-template-columns:1fr; height:auto; } .tt-chat-sidebar { width:100%; min-width:0; height:auto; border-right:none; border-bottom: 1px solid var(--lineColor); } .tt-chat-main { height: 600px; } }

/* 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;
}


/* Follow-up: schönere Chatlisten */
.tt-friend-list{padding:10px;gap:8px;}
.tt-friend-list .tt-u-item{min-height:72px;padding:14px 16px!important;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.tt-friend-list .tt-u-item::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:4px;background:linear-gradient(180deg, rgba(255,215,122,.95), rgba(242,193,74,.35));opacity:0;transition:opacity .18s ease, box-shadow .18s ease;}
.tt-friend-list .tt-u-item.active::before,.tt-friend-list .tt-u-item:hover::before{opacity:1;box-shadow:0 0 12px rgba(242,193,74,.25);}
.tt-friend-list .tt-u-item.active{background:linear-gradient(135deg, rgba(20,76,200,.22), rgba(242,193,74,.06));border-color:rgba(242,193,74,.18);box-shadow:0 0 0 1px rgba(242,193,74,.08) inset;}
.tt-u-name{font-size:14px;font-weight:800;display:flex;align-items:center;gap:6px;}


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


/* fix5 rebuild */
.tt-friend-list .tt-u-msg{display:none!important;}
.tt-friend-list .tt-u-item{align-items:center!important;}
.tt-friend-list .tt-u-name{display:inline-flex!important;align-items:center!important;gap:2px!important;flex-wrap:nowrap!important;}
.tt-friend-list .tt-u-name .tt-badge,.tt-friend-list .tt-u-name [class*="badge"]{width:12px!important;height:12px!important;min-width:12px!important;min-height:12px!important;border-radius:999px!important;display:inline-flex!important;vertical-align:middle!important;transform:none!important;}
.tt-msg-meta .tt-badge,.tt-msg-meta [class*="badge"],.tt-sender-name .tt-badge,.tt-sender-name [class*="badge"]{width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;border-radius:999px!important;display:inline-flex!important;vertical-align:middle!important;transform:none!important;}
.tt-msg-meta .tt-badge::after,.tt-msg-meta [class*="badge"]::after,.tt-sender-name .tt-badge::after,.tt-sender-name [class*="badge"]::after{width:2px!important;height:4px!important;border-right-width:1px!important;border-bottom-width:1px!important;}


/* fix6 friends/chat sizing */
.tt-chat-wrap{grid-template-columns:minmax(240px,270px) minmax(0,1fr)!important;height:calc(100vh - 145px)!important;min-height:680px!important;}
.tt-chat-sidebar{width:auto!important;min-width:240px!important;}
.tt-friend-list .tt-u-item{min-height:60px!important;padding:10px 12px!important;border-radius:16px!important;}


/* === BLOCK 6: unified chat shell polish === */
.tt-chat-wrap{
  width:100%;
  min-width:0;
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  align-items:stretch;
  height:calc(100vh - 180px);
  min-height:620px;
  max-height:none;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  max-width:none;
  display:flex;
  flex-direction:column;
}
.tt-chat-sb-header{
  padding:14px 16px;
  min-height:58px;
}
.tt-sb-title{
  gap:10px;
  min-width:0;
}
.tt-friend-list{
  padding:8px;
  gap:6px;
}
.tt-u-item{
  min-width:0;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid transparent !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tt-u-item:hover{
  background:rgba(37,99,235,.10) !important;
  border-color:rgba(242,193,74,.18) !important;
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
  transform:none !important;
}
.tt-u-item.active{
  background:rgba(37,99,235,.16) !important;
  border-color:rgba(37,99,235,.34) !important;
  box-shadow:inset 4px 0 0 rgba(242,193,74,.96), 0 0 0 1px rgba(37,99,235,.14);
}
.tt-u-name,
.tt-sender-name{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  line-height:1.25;
}
.tt-u-name{font-size:13px !important; font-weight:800;}
.tt-u-msg,
.tt-u-preview,
.tt-last-msg,
.tt-last-message,
.tt-u-sub,
.tt-u-meta{
  font-size:11px;
  color:#8b95a7;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tt-badge{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  margin-left:2px !important;
  vertical-align:middle !important;
  flex:0 0 12px;
}
.tt-msg-meta .tt-badge,
.tt-msg-header .tt-badge,
.tt-chat-badge .tt-badge,
.tt-sender-name .tt-badge{
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
  flex-basis:10px;
}
.tt-msg-header,
.tt-input-wrapper{
  padding-left:16px;
  padding-right:16px;
}
.tt-msg-area{
  min-height:0;
  padding:18px 16px;
}
.tt-msg{max-width:min(78%,780px);}
.tt-msg-bubble{
  border-radius:12px !important;
  line-height:1.5;
}
.tt-chat-textarea{
  min-height:46px;
  max-height:160px;
  border-radius:10px;
}
.tt-send-btn,
.tt-act-btn,
.tt-icon-btn,
.tt-view-btn{
  min-height:38px;
  border-radius:10px !important;
}
@media (max-width: 980px){
  .tt-chat-wrap{
    grid-template-columns:1fr !important;
    height:auto;
    min-height:0;
  }
  .tt-chat-sidebar{
    border-right:none !important;
    border-bottom:1px solid var(--lineColor,var(--tt-line-solid));
  }
  .tt-chat-main{
    min-height:520px;
  }
}

/* === Block 8 targeted repair: chat shell consistency === */
.tt-chat-wrap{
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr) !important;
  width:100%;
  height:calc(100vh - 190px) !important;
  min-height:620px !important;
  max-height:none;
  align-items:stretch;
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  height:100%;
}
.tt-chat-main{min-width:0;height:100%;}
.tt-friend-list,.tt-chat-list,.tt-ticket-list{padding:6px !important;gap:6px !important;}
.tt-friend-list .tt-u-item,.tt-list-click,.tt-ticket-item,.tt-chat-user,.tt-chat-item{
  padding:10px 12px !important;
  border-radius:12px !important;
  min-height:0 !important;
  transform:none !important;
}
.tt-friend-list .tt-u-item:hover,.tt-list-click:hover,.tt-ticket-item:hover,.tt-chat-user:hover,.tt-chat-item:hover{
  transform:none !important;
}
.tt-friend-list .tt-u-item .tt-u-msg,.tt-ticket-preview,.tt-chat-preview{display:none !important;}
.tt-friend-list .tt-u-item .tt-u-name,.tt-ticket-title,.tt-chat-title{font-size:13px !important;line-height:1.3;}
.tt-msg-area{padding:16px !important;gap:10px !important;}
.tt-msg-bubble{border-radius:14px !important;}
.tt-input-wrapper{padding:12px !important;}
.tt-chat-textarea{min-height:46px !important;height:46px !important;border-radius:12px !important;}
.tt-send-btn{min-width:120px;}
.tt-msg-meta .tt-badge,.tt-sender-name .tt-badge,.tt-u-name .tt-badge{
  width:10px !important;height:10px !important;min-width:10px !important;margin-left:2px !important;vertical-align:middle !important;
}
.tt-msg-meta .tt-badge::after,.tt-sender-name .tt-badge::after,.tt-u-name .tt-badge::after{
  width:2px !important;height:4px !important;border-width:0 1.2px 1.2px 0 !important;
}
@media (max-width: 900px){
  .tt-chat-wrap{grid-template-columns:1fr !important;height:auto !important;min-height:0 !important;}
  .tt-chat-sidebar{height:300px;}
  .tt-chat-main{min-height:520px;}
}


/* Block 6 · Friends/chat polish */
.tt-chat-wrap{border-radius:16px;box-shadow:0 18px 46px rgba(0,0,0,.28);height:calc(100vh - 165px)!important;min-height:640px!important;}
.tt-chat-sidebar{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));}
.tt-chat-sb-header,.tt-msg-header,.tt-input-wrapper{padding-inline:16px;}
.tt-friend-list{padding:8px;gap:6px;}
.tt-friend-list .tt-u-item{min-height:58px!important;padding:12px 14px!important;border-radius:14px!important;}
.tt-msg-area{padding:18px;gap:10px;}
.tt-msg-bubble{border-radius:14px;}
.tt-chat-textarea,.tt-send-btn{min-height:44px;border-radius:12px;}
.tt-send-btn:hover,.tt-act-btn:hover,.tt-icon-btn:hover{transform:none;}
@media (max-width: 980px){
  .tt-chat-wrap{height:auto!important;min-height:unset!important;}
  .tt-chat-main{min-height:520px;}
}


/* --- merged from account_meine_welten.css --- */
/* * TravTools - Account Meine Welten (V37 - Left Align & Search Fix) */

.tt-mw-wrap { 
    width: 100%; 
    box-sizing: border-box; 
    padding: 30px 20px; 
    font-family: "Inter", sans-serif; 
    color: var(--tt-text-soft); 
    /* WICHTIG: Kein margin: 0 auto mehr, damit es links bleibt */
}

/* HEADER LEFT ALIGNED */
.tt-header-row { 
    border-bottom: 1px solid var(--tt-line-solid); 
    padding-bottom: 20px; 
    margin-bottom: 30px; 
    text-align: left; /* Explizit links */
}
.tt-header-row h1 { 
    font-size: 28px; 
    font-weight: 900; 
    color: #fff; 
    margin: 0 0 5px 0; 
    text-transform: uppercase; 
}
.tt-subtitle { 
    color: var(--tt-muted); 
    font-size: 13px; 
    margin: 0; 
}

/* INVITES SECTION */
.tt-invites-section { margin-bottom: 40px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 30px; }
.tt-invites-section h3 { font-size: 16px; color: #f2c14a; text-transform: uppercase; margin-bottom: 20px; font-weight: 800; }
.tt-invites-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }

/* GRID LAYOUT */
.tt-worlds-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 25px; }

/* WORLD CARD */
.tt-world-card { 
    background: var(--tt-surface-solid); 
    border: 1px solid var(--tt-line-solid); 
    border-radius: 12px; 
    overflow: hidden; 
    display: flex; 
    flex-direction: column; 
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
    position: relative;
}
.tt-world-card::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:4px;background:linear-gradient(180deg,rgba(255,215,122,.95),rgba(242,193,74,.32));box-shadow:0 0 18px rgba(242,193,74,.22);}
.tt-world-card:hover{border-color:#f2c14a;}

.tt-world-card:hover { transform:none; box-shadow: 0 10px 30px rgba(0,0,0,0.3); border-color: var(--tt-faint-2); }
.tt-world-card.is-joined { border-top: 4px solid #f2c14a; }
.tt-world-card.is-invite { border-top: 4px solid var(--tt-blue); }

/* CARD HEADER */
.tt-wc-header { padding: 15px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255,255,255,0.05); }
.tt-wc-badge { background: rgba(255,255,255,0.1); color: #fff; padding: 4px 8px; border-radius: 6px; font-weight: 800; font-size: 12px; }
.tt-wc-speed { font-size: 11px; color: var(--tt-muted); text-transform: uppercase; font-weight: 700; }
.tt-wc-rank { font-size: 10px; font-weight: 800; padding: 3px 6px; border-radius: 4px; background: var(--tt-line-solid); color: var(--tt-muted); }
.rank-admin { background: rgba(242,193,74,0.1); color: #f2c14a; }
.rank-dual { background: rgba(59,130,246,0.1); color: var(--tt-blue); }
.rank-invite { background: var(--tt-blue); color: #000; }

/* CARD BODY */
.tt-wc-body { padding: 20px; flex: 1; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.tt-wc-name { font-size: 18px; font-weight: 900; color: #fff; margin-bottom: 5px; }
.tt-wc-meta { font-size: 12px; color: var(--tt-muted); margin-bottom: 15px; }

/* PLAYER INFO IN CARD */
.tt-wc-player-info { background: rgba(0,0,0,0.2); border-radius: 8px; padding: 10px; text-align: left; margin-top: auto; }
.tt-info-row { display: flex; align-items: center; gap: 8px; font-size: 12px; margin-bottom: 4px; }
.tt-info-row:last-child { margin-bottom: 0; }
.tt-info-row i { width: 16px; text-align: center; opacity: 0.5; }
.tt-hl-user { color: #fff; font-weight: 700; }
.tt-hl-ally { color: #f2c14a; font-weight: 700; }

/* CARD FOOTER */
.tt-wc-footer { padding: 15px; background: rgba(0,0,0,0.2); border-top: 1px solid rgba(255,255,255,0.05); display: flex; gap: 10px; justify-content: center; }
.invite-footer { flex-direction: column; gap: 10px; }

/* BUTTONS */
button { cursor: pointer; font-family: "Inter", sans-serif; transition: 0.2s; }
.tt-btn-join { width: 100%; background: var(--tt-surface-hover-solid); border: 1px solid var(--tt-line-solid); color: var(--tt-text-soft); padding: 10px; border-radius: 6px; font-weight: 700; font-size: 12px; }
.tt-btn-join:hover { background: var(--tt-line-solid); color: #fff; border-color: var(--tt-muted); }

.tt-btn-play { width: 100%; background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2)); border: none; color: #000; padding: 10px; border-radius: 6px; font-weight: 800; font-size: 12px; text-transform: uppercase; }
.tt-btn-play:hover { filter: brightness(1.1); transform:none; }

.tt-btn-ally { flex: 1; background: rgba(242,193,74,0.1); border: 1px solid rgba(242,193,74,0.3); color: #f2c14a; padding: 8px; border-radius: 6px; font-weight: 700; font-size: 11px; }
.tt-btn-ally:hover { background: rgba(242,193,74,0.2); color: #fff; border-color: #f2c14a; }

.tt-btn-leave { width: 100%; background: transparent; border: 1px solid var(--tt-line-solid); color: var(--tt-faint); padding: 8px; border-radius: 6px; font-size: 11px; margin-top: 5px; }
.tt-btn-leave:hover { border-color: var(--tt-red); color: var(--tt-red); }

/* MODAL / WIZARD 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(5px); z-index: 1000; align-items: center; justify-content: center; }
.tt-modal-overlay.active { display: flex; }

.tt-modal { 
    background: var(--tt-surface-solid); width: 90%; max-width: 480px; 
    border-radius: 12px; border: 1px solid var(--tt-line-solid); 
    box-shadow: 0 20px 60px rgba(0,0,0,0.6); 
    overflow: hidden; border-top: 4px solid #f2c14a; 
}

.tt-modal-header { padding: 20px; border-bottom: 1px solid var(--tt-line-solid); display: flex; justify-content: space-between; align-items: center; background: rgba(255,255,255,0.02); }
.tt-modal-title { margin: 0; font-size: 16px; font-weight: 900; color: #fff; text-transform: uppercase; }
.tt-modal-close { background: none; border: none; color: var(--tt-faint); font-size: 24px; line-height: 1; transition: 0.2s; }
.tt-modal-close:hover { color: #fff; }

.tt-modal-body { padding: 30px 25px; }

/* WIZARD */
.wiz-step { display: none; }
.wiz-step.active { display: block; animation: fadeIn 0.3s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.wiz-intro { text-align: center; margin-bottom: 25px; }
.wiz-intro i { font-size: 30px; color: #f2c14a; margin-bottom: 10px; display: block; }
.wiz-intro h4 { margin: 0 0 5px 0; color: #fff; font-size: 18px; }
.wiz-intro p { margin: 0; color: var(--tt-muted); font-size: 13px; }

.tt-input-label { display: block; font-size: 11px; font-weight: 700; color: var(--tt-muted); margin-bottom: 6px; text-transform: uppercase; }
.tt-search-input { width: 100%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff; padding: 12px; border-radius: 8px; font-size: 14px; box-sizing: border-box; }
.tt-search-input:focus { border-color: #f2c14a; outline: none; }

.note-box { background: rgba(242, 193, 74, 0.05); border: 1px solid rgba(242, 193, 74, 0.2); color: var(--tt-text-soft); padding: 12px; border-radius: 8px; font-size: 12px; margin-bottom: 20px; display: flex; gap: 10px; line-height: 1.4; }
.note-box i { color: #f2c14a; margin-top: 2px; }
.note-warn { background: rgba(255,92,92,0.1); border-color: var(--tt-red); color: var(--tt-red); }

.wiz-actions { margin-top: 25px; display: flex; gap: 10px; }
.btn-back { background: transparent; border: 1px solid var(--tt-line-solid); color: var(--tt-muted); width: 30%; border-radius: 6px; font-weight: 700; }
.btn-back:hover { color: #fff; border-color: var(--tt-faint); }

/* SEARCH LIST */
.tt-results-list { max-height: 200px; overflow-y: auto; margin-top: 10px; border: 1px solid var(--tt-line-solid); border-radius: 6px; display: none; }
.tt-results-list:not(:empty) { display: block; }
.tt-player-item { padding: 10px; border-bottom: 1px solid var(--tt-line-solid); cursor: pointer; display: flex; justify-content: space-between; align-items: center; background: var(--tt-bg-2); }
.tt-player-item:hover { background: var(--tt-surface-hover-solid); color: #f2c14a; }
.tt-player-item:last-child { border-bottom: none; }

.tt-no-results { padding: 15px; text-align: center; color: var(--tt-red); font-size: 12px; background: rgba(255,92,92,0.05); border: 1px solid rgba(255,92,92,0.2); border-radius: 6px; margin-top: 10px; }

/* Block 6 UI final follow-up */
.tt-mw-wrap{width:100%!important;max-width:none!important;margin:0!important;padding:24px 0 0!important;}
.tt-worlds-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;width:100%!important;}
.tt-world-card,.tt-btn-play,.tt-btn-join,.tt-btn-ally,.tt-btn-leave{transform:none!important;}
.tt-world-card:hover,.tt-btn-play:hover,.tt-btn-join:hover,.tt-btn-ally:hover,.tt-btn-leave:hover{transform:none!important;}


/* fix5 rebuild */
.tt-welcome-card,.tt-welcome-card::before{background:transparent!important;border:none!important;box-shadow:none!important;}
.tt-menu-btn,.tt-mini-world,.tt-btn-dashboard,.tt-btn-ally,.tt-btn-leave-text{transform:none!important;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease!important;}
.tt-menu-btn:hover,.tt-mini-world:hover,.tt-btn-dashboard:hover,.tt-btn-ally:hover,.tt-btn-leave-text:hover{transform:none!important;background:rgba(37,99,235,.16)!important;border-color:rgba(242,193,74,.22)!important;box-shadow:0 0 0 1px rgba(37,99,235,.20) inset,0 0 18px rgba(37,99,235,.20)!important;}
.tt-mini-world:hover .tt-mw-name,.tt-menu-btn:hover .tt-mb-title{color:#fff!important;}


/* fix6 worlds equalization */
.tt-mw-wrap{padding:0!important;}
.tt-worlds-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;gap:20px!important;}
.tt-world-card,.tt-mini-world{border-radius:18px!important;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03))!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:0 16px 34px rgba(0,0,0,.28)!important;}
.tt-world-card:hover,.tt-mini-world:hover{background:rgba(37,99,235,.16)!important;border-color:rgba(242,193,74,.24)!important;box-shadow:0 0 0 1px rgba(37,99,235,.20) inset, 0 0 18px rgba(37,99,235,.22)!important;}
.tt-world-card:hover::before,.tt-mini-world:hover::before{opacity:1!important;}


/* === BLOCK 6: account/world panel polish === */
.tt-profile-grid,
.tt-worlds-grid,
.tt-invites-grid,
.tt-req-grid{
  align-items:start;
}
.tt-card,
.tt-world-card,
.tt-mini-world,
.tt-request-card,
.tt-invite-card{
  border-radius:16px;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.tt-world-card:hover,
.tt-mini-world:hover{
  transform:none !important;
  box-shadow:0 14px 34px rgba(0,0,0,.26), inset 3px 0 0 rgba(242,193,74,.9);
  border-color:rgba(242,193,74,.34) !important;
}
.tt-mw-footer,
.tt-wc-footer,
.wiz-actions,
.tt-req-actions{
  flex-wrap:wrap;
}
.tt-btn-ally,
.tt-btn-play,
.tt-btn-leave,
.btn-back,
.tt-btn-join{
  min-height:40px;
  border-radius:10px;
}

/* === Block 8 targeted repair: account/world polish === */
.tt-profile-wrap,.tt-worlds-wrap,.tt-account-wrap,.tt-requests-wrap{width:100%;max-width:none;margin:0;}
.tt-profile-grid,.tt-worlds-grid,.tt-req-grid,.tt-invites-grid{align-items:start !important;}
.tt-welcome-card,.tt-menu-shell,.tt-actions-shell{background:transparent !important;border:none !important;box-shadow:none !important;}
.tt-menu-grid{display:grid !important;grid-template-columns:1fr;gap:10px !important;align-items:start;}
.tt-menu-btn,.tt-action-btn,.tt-world-card,.tt-mini-world,.tt-request-card,.tt-invite-card{
  border-radius:16px !important;
  min-height:0 !important;
}
.tt-menu-btn{padding:15px 18px !important; background:rgba(255,255,255,.02) !important;}
.tt-menu-btn:hover,.tt-action-btn:hover,.tt-world-card:hover,.tt-mini-world:hover{
  transform:none !important;
}
.tt-wc-footer,.tt-mw-footer,.tt-req-actions,.wiz-actions{gap:8px;flex-wrap:wrap;}
.tt-wc-footer > *, .tt-mw-footer > *, .tt-req-actions > *, .wiz-actions > *{flex:0 1 auto;}

/* Final rest pass */
.tt-worlds-grid,.tt-req-grid,.tt-invites-grid{align-items:start!important;}
.tt-world-card,.tt-mini-world,.tt-request-card,.tt-invite-card{min-height:0!important;height:auto!important;border-radius:16px!important;}
.tt-wc-footer,.tt-mw-footer,.tt-req-actions,.wiz-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}


/* --- merged from account_meine_welten_join.css --- */
/* Join Wizard shared styles */
body.tt-app-body{
  background: var(--tt-bg-0);
}
.wiz-card{
  background:var(--tt-surface-solid);
  border:1px solid var(--tt-line-solid);
  border-top:4px solid #f2c14a;
  border-radius:14px;
  width:100%;
  max-width:560px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.45);
  margin: 8px auto 24px;
}
.wiz-head{
  background:rgba(255,255,255,.03);
  padding:16px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--tt-line-solid);
}
.wiz-title{font-weight:900;color:#fff;text-transform:uppercase;font-size:14px;letter-spacing:.04em}
.wiz-lang{font-size:11px;color:var(--tt-muted);cursor:pointer}
.wiz-body{padding:28px 26px;text-align:center}
.step{display:none;animation:wizFade .25s ease}
.step.active{display:block}
@keyframes wizFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.wiz-icon{font-size:42px;color:#f2c14a;margin-bottom:14px}
.wiz-h2{color:#fff;font-size:22px;font-weight:800;margin:0 0 10px}
.wiz-p{color:#97a3b6;font-size:13px;line-height:1.55;margin:0 0 24px}
.wiz-input,.wiz-select{width:100%;background:var(--tt-bg-2);border:1px solid var(--tt-line-solid);color:#fff;padding:12px 14px;border-radius:10px;box-sizing:border-box;margin-bottom:14px;font-size:14px}
.wiz-input:focus,.wiz-select:focus{border-color:#f2c14a;outline:none;box-shadow:0 0 0 3px rgba(242,193,74,.12)}
.wiz-btn{background:linear-gradient(135deg,#f2c14a,var(--tt-gold-2));border:none;width:100%;padding:12px 16px;border-radius:10px;color:#000;font-weight:800;text-transform:uppercase;cursor:pointer;font-size:14px;margin-top:10px}
.wiz-btn:hover{filter:brightness(1.06)}
.wiz-btn-sec{background:transparent;border:1px solid var(--tt-line-solid);color:#b3bcc9}
.wiz-btn-sec:hover{border-color:var(--tt-faint);color:#fff}
.note-box{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.22);color:#7fc1ff;padding:12px;border-radius:10px;font-size:12px;margin-bottom:20px;text-align:left;display:flex;gap:10px;align-items:flex-start}
.note-warn{background:rgba(255,92,92,.1);border-color:var(--tt-red);color:#ff9a95}
@media (max-width: 700px){.wiz-card{max-width:100%}.wiz-body{padding:22px 18px}.wiz-h2{font-size:20px}}


/* --- merged from account_meiner.css --- */
/* * TravTools - Mein Account (V Final - Clean & Badges) */

.tt-profile-wrap {
    max-width: none;
    width: 100%;
    margin: 0;
    color: var(--tt-text-soft);
    font-family: "Inter", sans-serif;
}

/* HEADER */
.tt-header-standalone { margin-bottom: 30px; padding-left: 0; position: relative; }
.tt-header-standalone h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; text-transform: uppercase; letter-spacing: 1px; }
.tt-subtitle { color: var(--muted, var(--tt-muted)); font-size: 14px; }

.tt-status-badge {
    position: absolute; right: 0; top: 0;
    background: rgba(61,220,132, 0.1); color: var(--tt-green);
    border: 1px solid rgba(61,220,132, 0.2);
    padding: 6px 12px; border-radius: 20px;
    font-size: 11px; font-weight: 800; text-transform: uppercase;
    display: flex; align-items: center; gap: 8px;
    box-shadow: 0 0 15px rgba(61,220,132, 0.1);
}
.tt-dot { width: 8px; height: 8px; background: var(--tt-green); border-radius: 50%; box-shadow: 0 0 8px var(--tt-green); }

/* LAYOUT GRID */
.tt-profile-grid {
    display: grid;
    grid-template-columns: minmax(340px,420px) minmax(320px,560px);
    gap: 32px;
    align-items: start;
}
@media (max-width: 900px) { .tt-profile-grid { grid-template-columns: 1fr; } }

/* CARDS */
.tt-card {
    background: var(--tt-surface-solid);
    border: 1px solid var(--tt-line-solid);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 25px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

/* LEFT: PROFILE CARD */
.tt-profile-card { padding: 34px; position: relative; }

.tt-user-header { margin-bottom: 25px; }
.tt-user-header h2 { 
    margin: 0; font-size: 24px; font-weight: 900; color: #fff; 
    display: flex; align-items: center; gap: 8px; 
}
.tt-user-header h2 .tt-badge { transform: scale(1.1); margin-left: 0; }
.tt-user-header p { margin: 4px 0 0 0; font-size: 13px; color: var(--tt-muted); font-family: monospace; }

.tt-detail-list { 
    display: flex; flex-direction: column; gap: 15px; 
    border-top: 1px solid var(--tt-line-solid); padding-top: 20px; 
}
.tt-detail-item { display: flex; justify-content: space-between; align-items: center; }
.tt-detail-item label { font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--tt-faint); letter-spacing: 0.5px; }

/* Einheitlicher Look für Werte */
.tt-val-mono, .tt-lvl-badge { 
    font-family: monospace; font-size: 13px; color: var(--tt-text); font-weight: 400;
    background: rgba(255,255,255,0.05); padding: 4px 10px; border-radius: 6px; 
    border: 1px solid rgba(255,255,255,0.05);
}

/* Spender Level Badge Container */
.tt-donor-val {
    display: flex; align-items: center; gap: 8px;
    font-family: monospace; font-size: 13px; color: var(--tt-text);
    background: rgba(255,255,255,0.05); padding: 4px 10px; border-radius: 6px;
    border: 1px solid rgba(255,255,255,0.05);
}
.tt-donor-val .tt-badge { margin: 0 !important; }

/* === WORLD CARDS === */
.tt-worlds-label { font-size: 12px; font-weight: 800; color: var(--tt-muted); text-transform: uppercase; margin-bottom: 15px; display: block; letter-spacing: 1px; }

.tt-mini-world {
    background: var(--tt-surface-solid);
    border: 1px solid var(--tt-line-solid);
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 15px;
    display: flex; flex-direction: column; gap: 12px;
    transition: all 0.2s; position: relative; overflow: hidden;
}
.tt-mini-world:hover { border-color: rgba(255,255,255,0.2); transform:none; box-shadow: 0 5px 15px rgba(0,0,0,0.2); }
.tt-mini-world.is-active { border-left: 3px solid #f2c14a; }

/* Header */
.tt-mw-header { display: flex; justify-content: space-between; align-items: center; }
.tt-mw-badge {
    background: rgba(242, 193, 74, 0.1); color: #f2c14a; border: 1px solid rgba(242, 193, 74, 0.2);
    font-weight: 800; font-size: 10px; padding: 2px 8px; border-radius: 4px; text-transform: uppercase;
}
.tt-mw-rank {
    font-size: 10px; font-weight: 800; text-transform: uppercase;
    padding: 2px 6px; border-radius: 4px; background: rgba(255,255,255,0.05); color: var(--tt-muted);
}
.rank-admin { background: rgba(192, 132, 252, 0.1); color: var(--tt-purple); border: 1px solid rgba(192, 132, 252, 0.2); }

/* Body */
.tt-mw-body { display: flex; gap: 15px; align-items: center; }
.tt-mw-logo img { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--tt-line-solid); object-fit: cover; }
.tt-mw-info { flex: 1; min-width: 0; }
.tt-mw-name { font-size: 14px; font-weight: 800; color: #fff; margin-bottom: 2px; }
.tt-mw-meta { font-size: 11px; color: var(--tt-muted); display: flex; flex-direction: column; gap: 2px; }
.tt-hl-ally { color: var(--tt-purple); font-weight: 700; }

/* Footer Buttons */
.tt-mw-footer { display: flex; gap: 8px; margin-top: 5px; }

.tt-btn-ally {
    flex: 1; background: rgba(255,255,255,0.03); color: var(--tt-text-soft);
    border: 1px solid var(--tt-line-solid);
    font-weight: 700; padding: 8px; border-radius: 6px;
    cursor: pointer; font-size: 10px; text-transform: uppercase;
    transition: 0.2s; white-space: nowrap; text-align: center;
}
.tt-btn-ally:hover { background: rgba(255,255,255,0.1); color: #fff; }

.tt-btn-dashboard {
    width: 100%;
    background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2));
    color: var(--tt-bg-0); border: none; font-weight: 800; padding: 10px;
    border-radius: 8px; cursor: pointer; transition: 0.2s;
    text-transform: uppercase; font-size: 11px;
    display: flex; align-items: center; justify-content: center; gap: 6px;
    box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2);
}
.tt-btn-dashboard:hover { transform:none; box-shadow: 0 6px 20px rgba(242, 193, 74, 0.3); }

.tt-btn-leave-text {
    background: transparent; border: none; color: var(--tt-red); font-size: 10px; 
    font-weight: 700; text-transform: uppercase; cursor: pointer; opacity: 0.6;
    margin-top: 5px; width: 100%; text-align: center; transition: 0.2s;
}
.tt-btn-leave-text:hover { opacity: 1; text-decoration: underline; }


/* RIGHT: MENU ACTIONS */
.tt-welcome-card { background: transparent; border: none; box-shadow: none; padding: 0; overflow: visible; }
.tt-menu-grid { display: flex; flex-direction: column; gap: 12px; }

.tt-menu-btn {
    display: flex; align-items: center; justify-content: space-between;
    background: var(--tt-surface-solid); 
    border: 1px solid var(--tt-line-solid);
    padding: 18px 22px; 
    border-radius: 18px; 
    text-decoration: none; 
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    position: relative; overflow: hidden;
}
.tt-menu-btn::before {
    content: ''; position: absolute; left: 0; top: 7px; width: 4px; height: calc(100% - 14px);
    border-radius: 4px; background: #f2c14a; box-shadow: 0 0 16px rgba(242, 193, 74, 0.18); transition: 0.2s;
}
.tt-menu-btn:hover { 
    background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.2); 
    transform:none; box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.tt-menu-btn:hover::before { background: #fff; }

.tt-mb-left { display: flex; flex-direction: column; text-align: left; }
.tt-mb-label { font-size: 10px; font-weight: 800; text-transform: uppercase; color: var(--tt-faint); margin-bottom: 4px; letter-spacing: 1px; }
.tt-mb-title { font-size: 13px; font-weight: 700; color: #fff; line-height: 1.2; }
.tt-menu-btn i { font-size: 17px; color: var(--tt-faint-2); transition: color 0.2s; }
.tt-menu-btn:hover i { color: #fff; }

.btn-gold { border: 1px solid rgba(242, 193, 74, 0.3); }
.btn-gold::before { background: #f2c14a; }
.btn-gold:hover { border-color: #f2c14a; box-shadow: 0 10px 30px rgba(242, 193, 74, 0.15); }
.btn-gold .tt-mb-title, .btn-gold i { color: #f2c14a; }

.btn-danger:hover { border-color: rgba(255,92,92, 0.5); }
.btn-danger:hover::before { background: var(--tt-red); }
.btn-danger:hover .tt-mb-title, .btn-danger:hover i { color: var(--tt-red); }

/* MODALS */
.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 50px rgba(0,0,0,0.7); width: 90%; max-width: 450px; border-radius: 18px; overflow: hidden; animation: slideIn 0.25s ease-out; }
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.tt-modal-header { background: rgba(255,255,255,0.03); padding: 15px 25px; 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; text-transform: uppercase; }
.tt-modal-close { background: none; border: none; color: var(--tt-muted); cursor: pointer; font-size: 20px; }
.tt-modal-close:hover { color: #fff; }
.tt-modal-body { padding: 25px; text-align: left; }
.tt-search-wrap { margin-bottom: 15px; position: relative; }
.tt-search-input { width: 100%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); padding: 12px 15px 12px 40px; border-radius: 10px; color: #fff; font-size: 14px; outline: none; box-sizing: border-box; transition: 0.2s; }
.tt-search-input:focus { border-color: #f2c14a; box-shadow: 0 0 0 2px rgba(242, 193, 74, 0.1); }
.tt-search-icon { position: absolute; left: 14px; top: 14px; color: var(--tt-faint); font-size: 14px; }
.tt-results-list { max-height: 250px; overflow-y: auto; display: flex; flex-direction: column; gap: 5px; text-align: left; }
.tt-player-item { padding: 10px 15px; background: rgba(255,255,255,0.03); border-radius: 8px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; border: 1px solid transparent; transition: 0.2s; }
.tt-player-item:hover { background: rgba(242, 193, 74, 0.1); border-color: rgba(242, 193, 74, 0.3); }
.tt-pi-name { font-weight: 700; color: #fff; font-size: 14px; }
.tt-pi-select { font-size: 10px; text-transform: uppercase; color: #f2c14a; font-weight: 800; }
.tt-loading, .tt-no-results { text-align: left; padding: 10px; font-size: 12px; color: var(--tt-faint); }
.tt-no-results { color: var(--tt-red); }

/* Follow-up: rechte Account-Aktionen ohne Fremdbox, links optisch größer */
.tt-left-col{min-width:0;}
.tt-profile-card{border-radius:22px;box-shadow:0 22px 44px rgba(0,0,0,.26);}
.tt-user-header h2{font-size:26px;}
.tt-user-header p{font-size:12px;opacity:.86;}
.tt-detail-item{gap:12px;}
.tt-detail-item label{font-size:10px;letter-spacing:.12em;}
.tt-welcome-card::before{display:none!important;}
.tt-menu-grid{gap:14px;padding-top:2px;}
.tt-menu-btn{background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));box-shadow:0 10px 28px rgba(0,0,0,.16);}
.tt-menu-btn::before{left:0;top:10px;bottom:10px;height:auto;}
.tt-mb-left{padding-right:12px;}


/* Block 6 UI final follow-up */
.tt-profile-grid{grid-template-columns:minmax(380px,520px) minmax(0,1fr)!important;}
.tt-profile-wrap{max-width:none!important;width:100%!important;margin:0!important;}
.tt-profile-card{padding:38px!important;}
.tt-welcome-card,.tt-welcome-card::before{background:transparent!important;border:none!important;box-shadow:none!important;display:block!important;}
.tt-menu-grid{gap:12px!important;padding-top:0!important;}
.tt-menu-btn{background:transparent!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:none!important;padding:16px 20px!important;}
.tt-menu-btn:hover{transform:none!important;background:rgba(37,99,235,.16)!important;box-shadow:0 0 0 1px rgba(37,99,235,.20) inset,0 0 18px rgba(37,99,235,.20)!important;}
.tt-mb-label{font-size:9px!important;letter-spacing:.12em!important;}
.tt-mb-title{font-size:12px!important;}
.tt-menu-btn i{font-size:15px!important;}
.tt-mini-world:hover,.tt-btn-dashboard:hover,.tt-btn-ally:hover,.tt-btn-play:hover{transform:none!important;}

/* fix5 rebuild */
.tt-welcome-card,.tt-welcome-card::before{background:transparent!important;border:none!important;box-shadow:none!important;}


/* === BLOCK 6: account/world panel polish === */
.tt-profile-grid,
.tt-worlds-grid,
.tt-invites-grid,
.tt-req-grid{
  align-items:start;
}
.tt-card,
.tt-world-card,
.tt-mini-world,
.tt-request-card,
.tt-invite-card{
  border-radius:16px;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.tt-world-card:hover,
.tt-mini-world:hover{
  transform:none !important;
  box-shadow:0 14px 34px rgba(0,0,0,.26), inset 3px 0 0 rgba(242,193,74,.9);
  border-color:rgba(242,193,74,.34) !important;
}
.tt-mw-footer,
.tt-wc-footer,
.wiz-actions,
.tt-req-actions{
  flex-wrap:wrap;
}
.tt-btn-ally,
.tt-btn-play,
.tt-btn-leave,
.btn-back,
.tt-btn-join{
  min-height:40px;
  border-radius:10px;
}

/* === Block 8 targeted repair: account/world polish === */
.tt-profile-wrap,.tt-worlds-wrap,.tt-account-wrap,.tt-requests-wrap{width:100%;max-width:none;margin:0;}
.tt-profile-grid,.tt-worlds-grid,.tt-req-grid,.tt-invites-grid{align-items:start !important;}
.tt-welcome-card,.tt-menu-shell,.tt-actions-shell{background:transparent !important;border:none !important;box-shadow:none !important;}
.tt-menu-grid{display:grid !important;grid-template-columns:1fr;gap:10px !important;align-items:start;}
.tt-menu-btn,.tt-action-btn,.tt-world-card,.tt-mini-world,.tt-request-card,.tt-invite-card{
  border-radius:16px !important;
  min-height:0 !important;
}
.tt-menu-btn{padding:15px 18px !important; background:rgba(255,255,255,.02) !important;}
.tt-menu-btn:hover,.tt-action-btn:hover,.tt-world-card:hover,.tt-mini-world:hover{
  transform:none !important;
}
.tt-wc-footer,.tt-mw-footer,.tt-req-actions,.wiz-actions{gap:8px;flex-wrap:wrap;}
.tt-wc-footer > *, .tt-mw-footer > *, .tt-req-actions > *, .wiz-actions > *{flex:0 1 auto;}

/* Final rest pass */
.tt-menu-shell,.tt-actions-shell,.tt-welcome-card{background:transparent!important;border:none!important;box-shadow:none!important;}
.tt-menu-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:start!important;}
.tt-menu-btn,.tt-action-btn{padding:14px 16px!important;min-height:0!important;border-radius:14px!important;}
.tt-profile-grid{grid-template-columns:minmax(340px,460px) minmax(0,1fr)!important;align-items:start!important;}
@media (max-width: 980px){.tt-profile-grid{grid-template-columns:1fr!important;}}


/* --- merged from account_passwort_aendern.css --- */
/* travtools/css/account_passwort_aendern.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px; /* Kompakt & scharf */
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - Kompakt) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold); /* Goldener Anker */
  border-radius: 16px;
  
  width: 100%;
  max-width: 450px; /* Begrenzte Breite für edlen Look */
  padding: 30px;
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 0px;
}
.tt-title i { color: var(--brandGold); font-size: 20px; }
.tt-subtitle { color: var(--muted); font-size: 13px; font-weight: 500; margin: 0; }

/* FORM & INPUTS */
.tt-form { display: flex; flex-direction: column; gap: 20px; }

/* GRID für Inputs (z.B. neu/wiederholen) */
.tt-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.tt-field label {
  display: block; font-size: 11px; font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}

.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 13px; z-index: 2; pointer-events: none;
}

.tt-input {
  width: 100%; padding: 10px 14px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 36px; }
.tt-input:focus {
  border-color: var(--brandGold); background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.15);
}

/* BUTTON */
.tt-btn {
  margin-top: 10px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s; width: 100%; 
}
.tt-btn:hover { filter: brightness(1.1); transform:none; box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert-err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert-ok { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}
/* === Block 8 targeted repair: auth/form consistency === */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
  width:100%;
  max-width:1180px;
  margin:0;
  align-items:center;
  align-content:start;
  min-height:0;
}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,
.tt-card-auth,.tt-card-form{
  max-width:480px !important;
  width:100%;
  margin:0;
  min-height:0 !important;
  box-sizing:border-box;
  border-radius:18px;
}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{
  width:min(340px, 72%) !important;
  max-width:340px !important;
  transform:none !important;
  transition:opacity .2s ease, filter .2s ease !important;
}
.tt-big-logo img:hover,.tt-auth-logo img:hover,.tt-side-logo img:hover{transform:none !important;}
.tt-head,.tt-auth-head{margin-bottom:18px !important;padding-bottom:14px !important;}
.tt-head h1,.tt-auth-head h1{gap:10px !important; font-size:26px !important;}
.tt-sub,.tt-auth-sub{font-size:13px !important;line-height:1.35;}
.tt-form-grid,.tt-auth-form{gap:16px !important;}
.tt-input,.tt-select,.tt-textarea,.tt-search-input{
  min-height:46px;
  border-radius:12px !important;
}
.tt-btn,.tt-btn-dashboard,.tt-send-btn,.btn,.button{
  min-height:44px;
  border-radius:12px !important;
  transform:none !important;
}
.tt-btn:hover,.tt-btn-dashboard:hover,.tt-send-btn:hover,.btn:hover,.button:hover{
  transform:none !important;
}
@media (max-width: 900px){
  .tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,.tt-card-auth,.tt-card-form{
    max-width:none !important;
  }
}

/* Final rest pass */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{align-items:center!important;min-height:0!important;}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{background:transparent!important;border:none!important;box-shadow:none!important;min-height:0!important;}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{width:min(340px,72%)!important;max-width:340px!important;height:auto!important;}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card{min-height:0!important;max-width:480px!important;}


/* --- merged from account_welt_anfordern.css --- */
/* * TravTools - Welt anfordern */

.tt-request-wrap {
    max-width: none;
    margin: 0;
    font-family: "Inter", sans-serif;
    color: var(--tt-text-soft);
}

/* HEADER */
.tt-header-standalone { margin-bottom: 30px; padding-left: 0; }
.tt-header-standalone h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; }
.tt-subtitle { color: var(--tt-muted); font-size: 14px; }

/* LAYOUT GRID */
.tt-req-grid {
    display: grid;
    grid-template-columns: minmax(320px,1fr) minmax(360px,1fr);
    gap: 30px;
    align-items:start;
}

/* FORM CARD */
.tt-card {
    background: var(--tt-surface-solid);
    border: 1px solid var(--tt-line-solid);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

.tt-form-title {
    font-size: 16px; font-weight: 800; color: #fff; 
    margin-bottom: 20px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 15px;
}

.tt-inp-group { margin-bottom: 20px; }
.tt-inp-label { 
    display: block; font-size: 11px; font-weight: 800; 
    text-transform: uppercase; color: var(--tt-muted); margin-bottom: 6px; 
}
.tt-inp {
    width: 100%; box-sizing: border-box;
    background: rgba(0,0,0,0.3); border: 1px solid var(--tt-line-solid);
    padding: 12px; border-radius: 8px; color: #fff; font-size: 14px;
    outline: none; transition: border-color 0.2s;
}
.tt-inp:focus { border-color: #f2c14a; }

.tt-btn-submit {
    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; font-size: 13px;
    text-transform: uppercase; cursor: pointer;
    transition: filter 0.2s;
}
.tt-btn-submit:hover { filter: brightness(1.1); }
.tt-btn-submit:disabled { background: var(--tt-line-solid); color: var(--tt-faint); cursor: not-allowed; filter: none; }

/* REQUEST LIST */
.tt-req-list { display: flex; flex-direction: column; gap: 15px; }

.tt-req-item {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--tt-line-solid);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tt-req-info h3 { margin: 0 0 5px 0; font-size: 16px; color: #fff; }
.tt-req-url { font-size: 12px; color: var(--tt-muted); font-family: monospace; }

.tt-req-status {
    display: flex; align-items: center; gap: 15px;
}

.status-badge {
    padding: 6px 12px; border-radius: 6px;
    font-size: 11px; font-weight: 800; text-transform: uppercase;
    background: rgba(242, 193, 74, 0.1); color: #f2c14a;
    border: 1px solid rgba(242, 193, 74, 0.2);
}

.btn-delete {
    background: transparent; border: 1px solid var(--tt-red);
    color: var(--tt-red); padding: 8px 14px; border-radius: 6px;
    cursor: pointer; font-size: 11px; font-weight: 700;
    text-transform: uppercase; transition: 0.2s;
}
.btn-delete:hover { background: var(--tt-red); color: #fff; }

/* ALERTS */
.tt-alert { padding: 15px; border-radius: 8px; font-size: 13px; margin-bottom: 20px; border: 1px solid transparent; }
.alert-success { background: rgba(61,220,132, 0.1); border-color: var(--tt-green); color: var(--tt-green); }
.alert-error { background: rgba(255,92,92, 0.1); border-color: var(--tt-red); color: var(--tt-red); }
.alert-limit { background: rgba(59, 130, 246, 0.1); border-color: var(--tt-blue); color: var(--tt-blue); text-align: center; }
.tt-req-owner{margin-top:8px;font-size:12px;color:#9ca3af;}
.btn-delete.is-disabled{opacity:.55;cursor:default;border-color:var(--tt-line-solid);color:#9ca3af;background:transparent;}
@media(max-width:980px){.tt-req-grid{grid-template-columns:1fr;}}


/* === BLOCK 6: account/world panel polish === */
.tt-profile-grid,
.tt-worlds-grid,
.tt-invites-grid,
.tt-req-grid{
  align-items:start;
}
.tt-card,
.tt-world-card,
.tt-mini-world,
.tt-request-card,
.tt-invite-card{
  border-radius:16px;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.tt-world-card:hover,
.tt-mini-world:hover{
  transform:none !important;
  box-shadow:0 14px 34px rgba(0,0,0,.26), inset 3px 0 0 rgba(242,193,74,.9);
  border-color:rgba(242,193,74,.34) !important;
}
.tt-mw-footer,
.tt-wc-footer,
.wiz-actions,
.tt-req-actions{
  flex-wrap:wrap;
}
.tt-btn-ally,
.tt-btn-play,
.tt-btn-leave,
.btn-back,
.tt-btn-join{
  min-height:40px;
  border-radius:10px;
}

/* === Block 8 targeted repair: account/world polish === */
.tt-profile-wrap,.tt-worlds-wrap,.tt-account-wrap,.tt-requests-wrap{width:100%;max-width:none;margin:0;}
.tt-profile-grid,.tt-worlds-grid,.tt-req-grid,.tt-invites-grid{align-items:start !important;}
.tt-welcome-card,.tt-menu-shell,.tt-actions-shell{background:transparent !important;border:none !important;box-shadow:none !important;}
.tt-menu-grid{display:grid !important;grid-template-columns:1fr;gap:10px !important;align-items:start;}
.tt-menu-btn,.tt-action-btn,.tt-world-card,.tt-mini-world,.tt-request-card,.tt-invite-card{
  border-radius:16px !important;
  min-height:0 !important;
}
.tt-menu-btn{padding:15px 18px !important; background:rgba(255,255,255,.02) !important;}
.tt-menu-btn:hover,.tt-action-btn:hover,.tt-world-card:hover,.tt-mini-world:hover{
  transform:none !important;
}
.tt-wc-footer,.tt-mw-footer,.tt-req-actions,.wiz-actions{gap:8px;flex-wrap:wrap;}
.tt-wc-footer > *, .tt-mw-footer > *, .tt-req-actions > *, .wiz-actions > *{flex:0 1 auto;}


/* --- merged from 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; }
}
/* Block 4 · server pass */
.tt-dash-wrap{padding:18px 10px 6px;}
.tt-dash-grid{gap:14px;align-items:start;}
.tt-widget{border-radius:16px;min-height:0;box-shadow:0 12px 28px rgba(0,0,0,.2);}
.tt-widget:hover{transform:none;border-color:rgba(242,193,74,.32);box-shadow:0 0 0 1px rgba(242,193,74,.15),0 14px 28px rgba(37,99,235,.12);}
.tt-btn-head{min-height:34px;border-radius:10px;}
.tt-btn-head:hover{transform:none;filter:none;box-shadow:0 0 0 1px rgba(242,193,74,.28),0 10px 22px rgba(37,99,235,.12);}


/* --- merged from 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; }

/* Block 5 · Alliance settings polish */
.tt-adm-wrap{width:100%;max-width:none!important;padding:0!important;}
.tt-adm-grid{grid-template-columns:minmax(340px,420px) minmax(420px,1fr)!important;gap:22px!important;align-items:start!important;}
.tt-adm-card{border-radius:18px!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;}
.tt-upload-form,.tt-add-form{gap:10px!important;flex-wrap:wrap!important;}
.tt-inp-text,.tt-file-inp,.tt-btn-upload,.tt-btn-add,.btn-mini{min-height:42px!important;border-radius:12px!important;}
.tt-btn-upload:hover,.tt-btn-add:hover,.btn-mini:hover{transform:none!important;box-shadow:0 0 0 1px rgba(242,193,74,.18),0 10px 24px rgba(21,33,56,.2)!important;}
.tt-link-list li{border-radius:12px!important;}
@media (max-width:980px){.tt-adm-grid{grid-template-columns:1fr!important;}}


/* --- merged from 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; }

/* Block 6 · Deffcall archiv polish */
.tt-admin-wrap{width:100%;max-width:none;}
.tt-header-row{gap:14px;flex-wrap:wrap;align-items:flex-start;}
.tt-card{border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.28);}
.tt-table{table-layout:auto;}
.tt-table th,.tt-table td{white-space:nowrap;}
.tt-table .col-village{min-width:260px;}
.tt-table .col-icon{min-width:56px;}
.tt-row-main:hover td{transform:none;}
@media (max-width: 1100px){
  .tt-card{overflow:auto;}
  .tt-table{min-width:1080px;}
}


/* --- merged from admin_discord_webhook.css --- */
/* Discord Webhook */
.tt-placeholder-page--admin_discord_webhook {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--admin_discord_webhook .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--admin_discord_webhook .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--admin_discord_webhook .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--admin_discord_webhook h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--admin_discord_webhook .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--admin_discord_webhook .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--admin_discord_webhook .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--admin_discord_webhook .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--admin_discord_webhook h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--admin_discord_webhook .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--admin_discord_webhook .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--admin_discord_webhook .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--admin_discord_webhook .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from 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;
}


/* --- merged from 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;}


/* === BLOCK 6: unified chat shell polish === */
.tt-chat-wrap{
  width:100%;
  min-width:0;
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  align-items:stretch;
  height:calc(100vh - 180px);
  min-height:620px;
  max-height:none;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  max-width:none;
  display:flex;
  flex-direction:column;
}
.tt-chat-sb-header{
  padding:14px 16px;
  min-height:58px;
}
.tt-sb-title{
  gap:10px;
  min-width:0;
}
.tt-friend-list{
  padding:8px;
  gap:6px;
}
.tt-u-item{
  min-width:0;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid transparent !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tt-u-item:hover{
  background:rgba(37,99,235,.10) !important;
  border-color:rgba(242,193,74,.18) !important;
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
  transform:none !important;
}
.tt-u-item.active{
  background:rgba(37,99,235,.16) !important;
  border-color:rgba(37,99,235,.34) !important;
  box-shadow:inset 4px 0 0 rgba(242,193,74,.96), 0 0 0 1px rgba(37,99,235,.14);
}
.tt-u-name,
.tt-sender-name{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  line-height:1.25;
}
.tt-u-name{font-size:13px !important; font-weight:800;}
.tt-u-msg,
.tt-u-preview,
.tt-last-msg,
.tt-last-message,
.tt-u-sub,
.tt-u-meta{
  font-size:11px;
  color:#8b95a7;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tt-badge{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  margin-left:2px !important;
  vertical-align:middle !important;
  flex:0 0 12px;
}
.tt-msg-meta .tt-badge,
.tt-msg-header .tt-badge,
.tt-chat-badge .tt-badge,
.tt-sender-name .tt-badge{
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
  flex-basis:10px;
}
.tt-msg-header,
.tt-input-wrapper{
  padding-left:16px;
  padding-right:16px;
}
.tt-msg-area{
  min-height:0;
  padding:18px 16px;
}
.tt-msg{max-width:min(78%,780px);}
.tt-msg-bubble{
  border-radius:12px !important;
  line-height:1.5;
}
.tt-chat-textarea{
  min-height:46px;
  max-height:160px;
  border-radius:10px;
}
.tt-send-btn,
.tt-act-btn,
.tt-icon-btn,
.tt-view-btn{
  min-height:38px;
  border-radius:10px !important;
}
@media (max-width: 980px){
  .tt-chat-wrap{
    grid-template-columns:1fr !important;
    height:auto;
    min-height:0;
  }
  .tt-chat-sidebar{
    border-right:none !important;
    border-bottom:1px solid var(--lineColor,var(--tt-line-solid));
  }
  .tt-chat-main{
    min-height:520px;
  }
}

/* === Block 8 targeted repair: chat shell consistency === */
.tt-chat-wrap{
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr) !important;
  width:100%;
  height:calc(100vh - 190px) !important;
  min-height:620px !important;
  max-height:none;
  align-items:stretch;
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  height:100%;
}
.tt-chat-main{min-width:0;height:100%;}
.tt-friend-list,.tt-chat-list,.tt-ticket-list{padding:6px !important;gap:6px !important;}
.tt-friend-list .tt-u-item,.tt-list-click,.tt-ticket-item,.tt-chat-user,.tt-chat-item{
  padding:10px 12px !important;
  border-radius:12px !important;
  min-height:0 !important;
  transform:none !important;
}
.tt-friend-list .tt-u-item:hover,.tt-list-click:hover,.tt-ticket-item:hover,.tt-chat-user:hover,.tt-chat-item:hover{
  transform:none !important;
}
.tt-friend-list .tt-u-item .tt-u-msg,.tt-ticket-preview,.tt-chat-preview{display:none !important;}
.tt-friend-list .tt-u-item .tt-u-name,.tt-ticket-title,.tt-chat-title{font-size:13px !important;line-height:1.3;}
.tt-msg-area{padding:16px !important;gap:10px !important;}
.tt-msg-bubble{border-radius:14px !important;}
.tt-input-wrapper{padding:12px !important;}
.tt-chat-textarea{min-height:46px !important;height:46px !important;border-radius:12px !important;}
.tt-send-btn{min-width:120px;}
.tt-msg-meta .tt-badge,.tt-sender-name .tt-badge,.tt-u-name .tt-badge{
  width:10px !important;height:10px !important;min-width:10px !important;margin-left:2px !important;vertical-align:middle !important;
}
.tt-msg-meta .tt-badge::after,.tt-sender-name .tt-badge::after,.tt-u-name .tt-badge::after{
  width:2px !important;height:4px !important;border-width:0 1.2px 1.2px 0 !important;
}
@media (max-width: 900px){
  .tt-chat-wrap{grid-template-columns:1fr !important;height:auto !important;min-height:0 !important;}
  .tt-chat-sidebar{height:300px;}
  .tt-chat-main{min-height:520px;}
}


/* --- merged from admin_pushcall_archiv.css --- */
/* Pushcall-Archiv */
.tt-placeholder-page--admin_pushcall_archiv {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--admin_pushcall_archiv h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--admin_pushcall_archiv h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--admin_pushcall_archiv .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from 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; } }

/* Block 6 · RM templates polish */
.tt-rm-wrap{max-width:none;width:100%;}
.tt-rm-head{gap:14px;flex-wrap:wrap;align-items:flex-start;}
.tt-rm-grid{height:auto;min-height:calc(100vh - 210px);align-items:start;}
.tt-rm-list-panel,.tt-rm-editor-panel{border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.26);}
.rm-item{min-height:58px;}
.rm-item:hover{background:rgba(37,99,235,.12);}
.rm-inp{border-radius:12px;min-height:44px;}
.rm-textarea{min-height:260px;}
.rm-actions{position:sticky;bottom:0;background:linear-gradient(180deg, rgba(11,16,22,0), rgba(11,16,22,.96) 26%);padding-top:16px;}
.rm-btn{min-height:42px;border-radius:12px;}
@media (max-width: 900px){
  .tt-rm-grid{min-height:unset;}
}


/* --- merged from 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; }

/* Block 6 · Invite players polish */
.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;}
.tt-card{border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.26);}
.tt-card-body{padding:18px;}
.tt-input{min-height:42px;border-radius:12px;padding:10px 12px;}
.tt-btn-create,.btn-copy-huge{min-height:42px;border-radius:12px;font-size:12px;}
.tt-btn-create:hover,.btn-copy-huge:hover{transform:none;filter:brightness(1.05);}
.code-wrap{align-items:flex-start;}
@media (max-width: 980px){
  .tt-table{min-width:900px;}
  .tt-card{overflow:auto;}
}


/* --- merged from 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); }
/* Block 5 · Admin table polish */
.tt-admin-wrap{width:100%;max-width:none;}
.tt-card{border-radius:18px;overflow:hidden;}
.tt-header-row{gap:16px;flex-wrap:wrap;}
.tt-btn-sync,.tt-toggle-btn,.tt-btn{border-radius:12px;min-height:38px;}
.tt-table th{padding:12px 10px;}
.tt-table td{padding:7px 8px;}
.tt-details-content{padding:18px;}
.tt-details-actions{flex-wrap:wrap;}
@media (max-width: 900px){
  .tt-header-row{align-items:flex-start;}
  .tt-details-grid{grid-template-columns:1fr;}
}


/* === BLOCK 6: unified admin/table polish === */
.tt-table-wrap,
.tt-table-card,
.tt-admin-card,
.tt-log-card,
.tt-panel,
.tt-box{
  background:var(--tt-surface-solid);
  border:1px solid var(--tt-line-solid);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
}
.tt-table-tools,
.tt-toolbar,
.tt-filter-row,
.tt-search-row,
.tt-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.tt-table,
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
}
.tt-table thead th,
thead th{
  position:sticky;
  top:0;
  background:#11161e;
  color:#f2c14a;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-bottom:1px solid var(--tt-line-solid);
}
.tt-table th,
.tt-table td,
th,td{
  padding:12px 14px;
  vertical-align:middle;
}
.tt-table tbody tr,
tbody tr{
  background:rgba(255,255,255,.015);
  transition:background-color .18s ease, box-shadow .18s ease;
}
.tt-table tbody tr:nth-child(even),
tbody tr:nth-child(even){
  background:rgba(255,255,255,.03);
}
.tt-table tbody tr:hover,
tbody tr:hover{
  background:rgba(37,99,235,.08);
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
}
.tt-table td,
td{
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#d7dce7;
}
.tt-table tbody tr:last-child td,
tbody tr:last-child td{border-bottom:0;}
.tt-pagination,
.pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  margin-top:16px;
}

/* Block 4 · server pass */
.tt-admin-wrap{padding-right:0;}
.tt-header-row{margin-bottom:18px;padding-bottom:12px;gap:14px;flex-wrap:wrap;align-items:center;}
.tt-header-standalone h1{font-size:22px;line-height:1.1;}
.tt-btn-sync{min-height:38px;border-radius:10px;}
.tt-btn-sync:hover{transform:none;box-shadow:0 0 0 1px rgba(242,193,74,.24),0 10px 22px rgba(37,99,235,.12);}
.tt-card{border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,.2);}
.tt-tabs-container{gap:8px;padding-bottom:8px;}
.tt-tab{border-radius:10px;padding:9px 14px;}
.tt-tab.active{box-shadow:none;color:var(--tt-bg-2);background:var(--brandGold,#f2c14a);}
.tt-table th,.tt-table td{vertical-align:middle;}


/* --- merged from admin_truppenquote.css --- */
/* Truppenquote Check */
.tt-placeholder-page--admin_truppenquote {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--admin_truppenquote .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--admin_truppenquote .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--admin_truppenquote .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--admin_truppenquote h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--admin_truppenquote .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--admin_truppenquote .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--admin_truppenquote .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--admin_truppenquote .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--admin_truppenquote h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--admin_truppenquote .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--admin_truppenquote .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--admin_truppenquote .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--admin_truppenquote .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from 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 .tt-menu-wrap 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; }

/* Block 6 · Truppentool polish */
.tt-admin-wrap{max-width:none;width:100%;}
.tt-header-row{gap:14px;flex-wrap:wrap;align-items:flex-start;}
.tt-card{border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.28);overflow:auto;}
.tt-table{min-width:1120px;table-layout:auto;}
.tt-sub-nav{flex-wrap:wrap;}
.tt-sub-nav a,.tt-ally-select,.tt-toggle-btn,.tt-btn-small{min-height:34px;border-radius:10px;}
.tt-sub-nav a:hover,.tt-btn-small:hover,.tt-toggle-btn:hover{transform:none;}
.detail-wrap{padding:12px;}
.stats-grid-4{gap:8px;}
.sg-card{border-radius:10px;}
@media (max-width: 980px){
  .detail-header-row{flex-direction:column;align-items:flex-start;gap:10px;}
  .dhr-actions,.dhr-meta{margin-left:0;flex-wrap:wrap;}
}


/* --- merged from 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); }

/* Block 5 · Admin warnings polish */
.tt-admin-wrap{width:100%;max-width:none!important;}
.tt-header-row{gap:14px!important;flex-wrap:wrap!important;align-items:flex-end!important;}
.tt-card{border-radius:18px!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;}
.tt-table{table-layout:auto!important;}
.tt-row-main td:last-child{padding-right:12px!important;}
.tt-btn-action,.tt-toggle-btn,.gc-btn{border-radius:10px!important;transform:none!important;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;}
.tt-btn-action:hover,.tt-toggle-btn:hover,.gc-btn:hover{transform:none!important;box-shadow:0 0 0 1px rgba(242,193,74,.18),0 8px 20px rgba(21,33,56,.2)!important;}
.tt-details-wrap,.tt-goal-card{border-radius:14px!important;}
@media (max-width:900px){.tt-header-row{margin-bottom:18px!important;padding-bottom:12px!important;}.tt-table th,.tt-table td{padding-left:10px!important;padding-right:10px!important;}}


/* --- merged from 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); }

/* Block 6 · Ziele polish */
.tt-admin-wrap{max-width:none;width:100%;}
.tt-header-row{gap:14px;flex-wrap:wrap;align-items:flex-start;}
.tt-card{border-radius:16px;box-shadow:0 18px 42px rgba(0,0,0,.28);overflow:auto;}
.tt-table{min-width:1080px;table-layout:auto;}
.tt-ally-select,.tt-btn-action,.tt-toggle-btn,.gc-btn{min-height:34px;border-radius:10px;}
.tt-goals-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;}
.tt-goal-card{border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.22);}
.tt-modal{border-radius:18px;}
.tt-inp{min-height:42px;border-radius:12px;}
@media (max-width: 980px){
  .tt-details-wrap{padding:12px;}
}


/* --- merged from artefakte_admin_artedoerfer.css --- */
/* travtools/css/artefakte_admin_artedoerfer.css */

.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from artefakte_admin_artefakt_rotation.css --- */
/* travtools/css/artefakte_admin_artefakt_rotation.css */

.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from artefakte_admin_artefaktlauf.css --- */
/* travtools/css/artefakte_admin_artefaktlauf.css */

.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from artefakte_artefakt_rotation.css --- */
/* travtools/css/artefakte_artefakt_rotation.css */

.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from artefakte_meine_artedoerfer.css --- */
/* Meine Artedörfer */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from artefakte_meine_artefaktlaeufe.css --- */
/* TravTools · © MUNLabs */
.tt-module-placeholder { display:grid; gap:18px; }
.tt-module-card { background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96)); border:1px solid rgba(242,193,78,.16); border-radius:16px; box-shadow:0 18px 36px rgba(0,0,0,.24); padding:22px; }
.tt-module-intro { display:grid; gap:10px; }
.tt-module-kicker { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,193,78,.82); font-weight:700; }
.tt-module-copy { margin:0; color:rgba(255,255,255,.82); max-width:900px; line-height:1.6; }
.tt-module-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.tt-module-tile { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:16px 18px; min-height:110px; transition:background .22s ease, border-color .22s ease, box-shadow .22s ease; }
.tt-module-tile:hover { background:rgba(40,77,150,.18); border-color:rgba(242,193,78,.24); box-shadow:0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32); }
.tt-module-tile strong { display:block; margin-bottom:8px; color:#fff; font-size:14px; }
.tt-module-tile p { margin:0; color:rgba(255,255,255,.7); line-height:1.55; font-size:13px; }
.tt-module-note { display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:rgba(242,193,78,.08); border:1px solid rgba(242,193,78,.18); color:rgba(255,255,255,.82); font-size:13px; }
@media (max-width:780px){ .tt-module-card{padding:18px;border-radius:14px;} .tt-module-grid{grid-template-columns:1fr;} }


/* --- merged from berichte_alle_berichte.css --- */
/* Module placeholder pages */
.tt-module-page{width:100%;display:flex;flex-direction:column;gap:22px}
.tt-module-hero{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.tt-module-hero__icon{width:72px;height:72px;border-radius:16px;background:rgba(242,193,74,.10);border:1px solid rgba(242,193,74,.22);display:flex;align-items:center;justify-content:center;color:var(--brandGold);font-size:30px}
.tt-module-hero h2{margin:0 0 8px;color:#fff;font-size:26px;line-height:1.08;font-weight:900}
.tt-module-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.tt-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tt-module-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.tt-module-card h3{margin:0 0 10px;color:#fff;font-size:16px;font-weight:800}
.tt-module-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
@media (max-width: 980px){.tt-module-grid{grid-template-columns:1fr}.tt-module-hero{grid-template-columns:1fr}.tt-module-hero__icon{width:60px;height:60px;border-radius:14px}}


/* --- merged from berichte_feindentwicklung.css --- */
/* Feindentwicklung */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from berichte_meine_berichte.css --- */
/* TravTools · © MUNLabs */
.tt-module-placeholder { display:grid; gap:18px; }
.tt-module-card { background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96)); border:1px solid rgba(242,193,78,.16); border-radius:16px; box-shadow:0 18px 36px rgba(0,0,0,.24); padding:22px; }
.tt-module-intro { display:grid; gap:10px; }
.tt-module-kicker { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,193,78,.82); font-weight:700; }
.tt-module-copy { margin:0; color:rgba(255,255,255,.82); max-width:900px; line-height:1.6; }
.tt-module-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.tt-module-tile { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:16px 18px; min-height:110px; transition:background .22s ease, border-color .22s ease, box-shadow .22s ease; }
.tt-module-tile:hover { background:rgba(40,77,150,.18); border-color:rgba(242,193,78,.24); box-shadow:0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32); }
.tt-module-tile strong { display:block; margin-bottom:8px; color:#fff; font-size:14px; }
.tt-module-tile p { margin:0; color:rgba(255,255,255,.7); line-height:1.55; font-size:13px; }
.tt-module-note { display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:rgba(242,193,78,.08); border:1px solid rgba(242,193,78,.18); color:rgba(255,255,255,.82); font-size:13px; }
@media (max-width:780px){ .tt-module-card{padding:18px;border-radius:14px;} .tt-module-grid{grid-template-columns:1fr;} }


/* --- merged from dashboard_admin_uebersicht.css --- */
/* * TravTools - Admin Dashboard (V2 - No Header, Red Alerts) */

.tt-dash-wrap { 
    width: 100%; 
    padding: 10px; /* Header ist weg, Padding reduziert */
    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; 
}
.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); }
.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 */
.w-alerts { grid-column: span 10; min-height: auto; }
.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); }
/* JETZT ROT STATT GELB */
.tt-ri-val.warn { color: var(--tt-red); } 

/* 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); }
/* JETZT ROT STATT ORANGE */
.tt-pg-bar.orange { background: var(--tt-red); } 

/* 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; }
    .w-alerts, .w-tq, .w-deff, .w-push, .w-warn { grid-column: span 1; }
}
/* Block 4 · server pass */
.tt-dash-wrap{padding:10px 10px 6px;}
.tt-dash-grid{gap:14px;align-items:start;}
.tt-widget{border-radius:16px;min-height:0;box-shadow:0 12px 28px rgba(0,0,0,.2);}
.tt-widget:hover{transform:none;border-color:rgba(242,193,74,.32);box-shadow:0 0 0 1px rgba(242,193,74,.15),0 14px 28px rgba(37,99,235,.12);}
.tt-btn-head{min-height:34px;border-radius:10px;}
.tt-btn-head:hover{transform:none;filter:none;box-shadow:0 0 0 1px rgba(242,193,74,.28),0 10px 22px rgba(37,99,235,.12);}


/* --- merged from dashboard_allianzmitteilungen.css --- */
/* dashboard_allianzmitteilungen.css (V4 - Tabs & Multi-Lang) */

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

/* HEADER */
.tt-news-head-simple {
  display: flex; justify-content: space-between; align-items: flex-end;
  border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 10px; margin-bottom: 20px;
}
.tt-nh-left h1 { font-size: 20px; font-weight: 900; color: #fff; margin: 0; text-transform: uppercase; letter-spacing: 1px; }
.tt-nh-sub { font-size: 12px; color: var(--brandGold); font-weight: 700; margin-top: 4px; display: block; }

.tt-btn-small {
  background: rgba(255,255,255,0.05); border: 1px solid var(--tt-line-solid);
  color: var(--tt-text-soft); padding: 4px 10px; border-radius: 4px; font-size: 11px; font-weight: 700;
  cursor: pointer; transition: 0.2s;
}
.tt-btn-small:hover { border-color: var(--brandGold); color: #fff; }

/* EDIT CARD */
.tt-news-card {
  background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 8px;
  padding: 15px; margin-bottom: 20px;
  border-left: 3px solid var(--brandGold);
}
.tt-edit-card.hidden { display: none; }

.tt-label-mini { 
    font-size: 10px; font-weight: 800; color: var(--tt-muted); text-transform: uppercase; 
    display: block; margin-bottom: 10px; 
}

/* TABS STYLES (NEU) */
.tt-tab-row {
    display: flex; gap: 5px; margin-bottom: 15px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 5px;
}
.tt-tab-btn {
    background: transparent; border: none; color: var(--tt-faint); font-weight: 800; font-size: 11px;
    padding: 6px 12px; cursor: pointer; border-radius: 4px; text-transform: uppercase;
    transition: 0.2s;
}
.tt-tab-btn:hover { color: var(--tt-text-soft); }
.tt-tab-btn.active { background: rgba(242,193,74,0.1); color: var(--brandGold); }

/* Language Sections */
.tt-lang-section { display: none; }
.tt-lang-section.active { display: block; animation: fadeIn 0.3s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }


.tt-form-row { display: flex; gap: 10px; margin-bottom: 8px; }

.tt-input-compact {
  width: 100%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid);
  color: var(--tt-text-soft); padding: 8px; border-radius: 4px; font-size: 13px; font-family: inherit;
  box-sizing: border-box; outline: none;
}
.tt-input-compact:focus { border-color: var(--brandGold); }
.tt-input-compact.bold { font-weight: 700; color: #fff; }

.tt-btn-row-compact { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.tt-btn-save { 
    background: var(--brandGold); color: #000; border: none; padding: 6px 12px; 
    border-radius: 4px; font-weight: 800; font-size: 11px; cursor: pointer; 
}
.tt-btn-cancel { 
    background: transparent; border: 1px solid var(--tt-line-solid); color: var(--tt-muted); padding: 6px 12px; 
    border-radius: 4px; font-size: 11px; text-decoration: none; display: inline-block;
}

/* FEED ITEMS */
.tt-feed-list { display: flex; flex-direction: column; gap: 10px; }

.tt-feed-item {
  background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 6px;
  padding: 12px; position: relative;
  transition: transform 0.1s;
}
.tt-feed-item:hover { border-color: rgba(255,255,255,0.1); }

.tt-feed-top {
  display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
  font-size: 11px; color: var(--tt-faint);
}

.tt-status-badge {
  padding: 2px 6px; border-radius: 3px; font-weight: 800; font-size: 10px; text-transform: uppercase;
}
.st-impt { background: rgba(255,92,92, 0.2); color: var(--tt-red-2); }
.st-war  { background: rgba(245, 158, 11, 0.2); color: #fbbf24; }
.st-info { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
.st-nap  { background: rgba(61,220,132, 0.2); color: var(--tt-green-2); }
.st-fun  { background: rgba(168, 85, 247, 0.2); color: #d8b4fe; }

.tt-feed-date { font-family: monospace; color: var(--tt-muted); }
.tt-feed-author { color: var(--tt-faint-2); font-style: italic; }

.tt-feed-actions { margin-left: auto; display: flex; gap: 8px; opacity: 0.5; }
.tt-feed-actions:hover { opacity: 1; }
.tt-feed-actions a, .tt-feed-actions button { 
    background: none; border: none; cursor: pointer; font-size: 12px; padding: 0; color: inherit; 
}

.tt-feed-title { font-size: 14px; font-weight: 700; color: var(--tt-text); margin-bottom: 4px; }
.tt-feed-text { font-size: 13px; color: var(--tt-muted); line-height: 1.4; white-space: pre-wrap; }

.tt-empty { text-align: center; padding: 40px; border: 1px dashed var(--tt-line-solid); border-radius: 8px; }
/* Block 4 · server pass */
.tt-news-wrap{padding:18px 10px 10px;max-width:none;}
.tt-news-head-simple{margin-bottom:18px;padding-bottom:12px;gap:14px;flex-wrap:wrap;align-items:center;}
.tt-nh-left h1{font-size:22px;line-height:1.1;}
.tt-news-card,.tt-post-card,.tt-card{border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.22);}
.tt-btn-small{min-height:36px;padding:7px 12px;border-radius:10px;}
.tt-btn-small:hover{transform:none;background:rgba(37,99,235,.14);border-color:rgba(242,193,74,.35);}
.tt-tab-btn{border-radius:10px;}
.tt-tab-btn.active{box-shadow:inset 0 0 0 1px rgba(242,193,74,.18);}


/* --- merged from dashboard_dual_link.css --- */
/* * TravTools - Dual Link Dashboard */

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

/* Header */
.tt-dual-head {
    margin-bottom: 30px;
    border-bottom: 1px solid var(--tt-line-solid);
    padding-bottom: 15px;
    display: flex; justify-content: space-between; align-items: flex-end;
}
.tt-dh-left h1 {
    font-size: 24px; font-weight: 900; color: #fff; margin: 0 0 5px 0;
    text-transform: uppercase; letter-spacing: 1px;
}
.tt-dh-left p { margin: 0; font-size: 13px; color: var(--tt-muted); }

/* Settings Toggle (Block Invites) */
.tt-settings-box {
    background: rgba(255,255,255,0.03);
    padding: 10px 15px; border-radius: 6px; border: 1px solid var(--tt-line-solid);
    display: flex; align-items: center; gap: 10px;
}
.tt-toggle-label { font-size: 12px; font-weight: 700; color: var(--tt-muted); text-transform: uppercase; }

/* Switch CSS */
.tt-switch { position: relative; display: inline-block; width: 40px; height: 20px; }
.tt-switch input { opacity: 0; width: 0; height: 0; }
.tt-slider {
    position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--tt-line-solid); transition: .4s; border-radius: 20px;
}
.tt-slider:before {
    position: absolute; content: ""; height: 14px; width: 14px; left: 3px; bottom: 3px;
    background-color: white; transition: .4s; border-radius: 50%;
}
input:checked + .tt-slider { background-color: var(--brandGold, #f2c14a); }
input:checked + .tt-slider:before { transform: translateX(20px); }

/* Grid */
.tt-dual-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    position: relative; /* Wichtig für Overlay */
    min-height: 400px;
}

/* BLOCK OVERLAY (NEU) */
.tt-blocked-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(13, 17, 23, 0.9);
    backdrop-filter: blur(5px);
    z-index: 50;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid var(--tt-line-solid);
}
.tt-blocked-icon {
    font-size: 80px;
    color: var(--tt-red);
    margin-bottom: 20px;
    text-shadow: 0 0 20px rgba(255,92,92, 0.4);
}
.tt-blocked-text {
    font-size: 22px;
    font-weight: 900;
    color: var(--tt-red);
    text-transform: uppercase;
    text-align: center;
}

/* Cards */
.tt-card {
    background: var(--tt-surface-solid);
    border: 1px solid var(--tt-line-solid);
    border-radius: 8px;
    padding: 20px;
    display: flex; flex-direction: column; gap: 15px;
}
.tt-card-title {
    font-size: 14px; font-weight: 800; color: #fff; text-transform: uppercase;
    border-bottom: 1px solid rgba(255,255,255,0.05); padding-bottom: 10px; margin-bottom: 5px;
    display: flex; justify-content: space-between; align-items: center;
}

/* Forms */
.tt-form-group label {
    display: block; font-size: 11px; font-weight: 700; color: var(--tt-muted); margin-bottom: 5px; text-transform: uppercase;
}
.tt-inp {
    width: 100%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff;
    padding: 10px; border-radius: 6px; font-size: 14px; box-sizing: border-box;
}
.tt-inp:focus { border-color: var(--brandGold, #f2c14a); outline: none; }

.tt-btn-invite {
    background: linear-gradient(135deg, var(--brandGold, #f2c14a), var(--tt-gold-2));
    color: var(--tt-bg-0); border: none; padding: 10px 20px; border-radius: 6px;
    font-weight: 800; text-transform: uppercase; cursor: pointer; width: 100%; margin-top: 10px;
}
.tt-btn-invite:hover { filter: brightness(1.1); }

/* User List */
.tt-user-list { display: flex; flex-direction: column; gap: 10px; }
.tt-user-item {
    background: rgba(255,255,255,0.03);
    padding: 10px 15px; border-radius: 6px; border: 1px solid transparent;
    display: flex; justify-content: space-between; align-items: center;
}
.tt-user-item:hover { border-color: var(--tt-line-solid); background: rgba(255,255,255,0.05); }

.tt-u-info { display: flex; flex-direction: column; }
.tt-u-name { font-weight: 700; color: #fff; font-size: 14px; }
.tt-u-email { font-size: 11px; color: var(--tt-faint); }

.tt-btn-remove {
    background: rgba(255,92,92, 0.1); color: var(--tt-red); border: 1px solid rgba(255,92,92, 0.2);
    padding: 5px 10px; border-radius: 4px; font-size: 11px; font-weight: 700; cursor: pointer;
    transition: 0.2s;
}
.tt-btn-remove:hover { background: var(--tt-red); color: #fff; }

@media (max-width: 800px) {
    .tt-dual-grid { grid-template-columns: 1fr; }
    .tt-dual-head { flex-direction: column; align-items: flex-start; gap: 15px; }
}

/* Block 14 · dual link cleanup */
.tt-dual-empty-state{padding:50px 24px;text-align:center;color:var(--tt-muted);border:1px dashed rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.02)}
.tt-dual-alert{margin-bottom:20px;padding:12px 14px;border-radius:10px;font-weight:700;border:1px solid transparent}
.tt-dual-alert--success{background:rgba(61,220,132,.10);border-color:var(--tt-green);color:var(--tt-green)}
.tt-dual-alert--danger{background:rgba(255,92,92,.10);border-color:var(--tt-red);color:var(--tt-red)}
.tt-dual-icon-accent{color:var(--brandGold)}
.tt-dual-icon-muted{color:var(--tt-muted)}
.tt-dual-icon-success{color:var(--tt-green)}
.tt-dual-icon-prefix{margin-right:5px}
.tt-dual-help{font-size:12px;color:var(--tt-muted);margin-bottom:10px}
.tt-card--spaced{margin-top:20px}
.tt-card--fill{height:100%;box-sizing:border-box}
.tt-dual-unknown-user{font-style:italic;opacity:.5}
.tt-dual-inline-actions{display:flex;gap:5px;margin-top:2px;align-items:center}
.tt-inline-form{margin:0}
.tt-dual-empty-list{text-align:center;padding:30px;color:var(--tt-faint);font-size:13px}
.tt-dual-card-foot{margin-top:auto;padding-top:20px;font-size:11px;color:var(--tt-faint-2);border-top:1px solid rgba(255,255,255,.05)}


/* --- merged from dashboard_mein_spieler.css --- */
/* * TravTools - Player Dashboard (V8 - Final Clean) */

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

/* HEADER */
.tt-player-header {
    background: linear-gradient(135deg, var(--tt-surface-solid), var(--tt-bg-2));
    border: 1px solid var(--tt-line-solid);
    border-left: 4px solid var(--brandGold, #f2c14a);
    border-radius: 8px;
    padding: 20px 25px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

.tt-ph-info { display: flex; flex-direction: column; gap: 5px; }

.tt-ph-name { 
    font-size: 32px; font-weight: 900; color: #fff; margin: 0; line-height: 1; 
    display: flex; align-items: center; gap: 0.3em;
}
.tt-ph-name .tt-badge { transform: scale(1.8); margin-left: 0 !important; }

.tt-ph-meta { display: flex; gap: 20px; font-size: 13px; color: var(--tt-muted); font-weight: 600; }
.tt-ph-meta span { display: flex; align-items: center; gap: 6px; }
.tt-ph-meta i { color: var(--brandGold); }

/* GRID LAYOUT (3 Spalten nebeneinander) */
.tt-player-grid {
    display: grid;
    /* Details | Chart 1 | Chart 2 */
    grid-template-columns: 280px 1fr 1fr; 
    gap: 20px;
}

/* CARDS */
.tt-card {
    background: var(--tt-surface-solid);
    border: 1px solid var(--tt-line-solid);
    border-radius: 8px;
    padding: 20px;
    display: flex; flex-direction: column;
}
.tt-card-head {
    font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--tt-faint);
    margin-bottom: 15px; letter-spacing: 1px;
    display: flex; justify-content: space-between;
}

/* STATS ROW */
.tt-stat-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.03);
}
.tt-stat-row:last-child { border-bottom: none; }
.tt-stat-lbl { font-size: 13px; color: var(--tt-muted); font-weight: 500; }
.tt-stat-val { font-size: 14px; color: #fff; font-weight: 700; }

.tt-diff-pos { color: var(--tt-green); font-size: 11px; margin-left: 5px; background: rgba(61,220,132,0.1); padding: 1px 4px; border-radius: 3px; }
.tt-diff-neg { color: var(--tt-red); font-size: 11px; margin-left: 5px; background: rgba(255,92,92,0.1); padding: 1px 4px; border-radius: 3px; }

/* CHARTS */
.tt-chart-wrap { position: relative; height: 200px; width: 100%; flex: 1; }

/* VILLAGES TABLE (Volle Breite) */
.tt-villages-card { grid-column: 1 / -1; }

.tt-table { width: 100%; border-collapse: collapse; margin-top: 5px; }
.tt-table th { 
    text-align: left; color: var(--tt-faint-2); font-size: 10px; text-transform: uppercase; font-weight: 800; 
    padding: 8px 10px; border-bottom: 1px solid var(--tt-line-solid); 
}
.tt-table td { 
    padding: 10px 10px; font-size: 13px; color: var(--tt-text-soft); border-bottom: 1px solid rgba(255,255,255,0.02); 
}
.tt-table tr:hover td { background: rgba(255,255,255,0.02); color: #fff; }

.tt-coord { 
    font-family: monospace; color: var(--brandGold); font-weight: 700; 
    background: rgba(242,193,74,0.1); padding: 2px 6px; border-radius: 4px; font-size: 12px;
}
.tt-v-name { font-weight: 600; color: #fff; display: flex; align-items: center; gap: 8px; }
.tt-v-cap { color: var(--tt-red); font-size: 9px; border: 1px solid var(--tt-red); padding: 1px 3px; border-radius: 2px; text-transform: uppercase; font-weight: 800; }
.tt-v-city { color: var(--tt-blue-3); font-size: 9px; border: 1px solid var(--tt-blue-3); padding: 1px 3px; border-radius: 2px; text-transform: uppercase; font-weight: 800; }

@media (max-width: 1100px) {
    .tt-player-grid { grid-template-columns: 1fr 1fr; }
    .tt-villages-card { grid-column: span 2; }
    /* Details links oben, Rest passt sich an */
}
@media (max-width: 700px) {
    .tt-player-grid { grid-template-columns: 1fr; }
    .tt-villages-card { grid-column: span 1; }
}

/* --- merged from dashboard_meine_aufgaben.css --- */
/* Meine Aufgaben */


/* --- merged from dashboard_meine_entwicklung.css --- */
/* Meine Entwicklung */


/* --- merged from dashboard_meine_notizen.css --- */
/* * TravTools - User Notes (Visual Cards) */

.tt-notes-wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 20px;
    box-sizing: border-box;
    font-family: "Inter", sans-serif;
    color: var(--tt-text-soft);
}

/* HEADER */
.tt-notes-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--tt-line-solid);
}
.header-text h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; text-transform: uppercase; }
.header-text p { margin: 0; font-size: 14px; color: var(--tt-muted); }

.tt-btn-new {
    background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2));
    color: var(--tt-bg-0); border: none; padding: 10px 20px;
    border-radius: 8px; font-weight: 800; text-transform: uppercase;
    cursor: pointer; transition: 0.2s; display: flex; align-items: center; gap: 8px;
    font-size: 14px;
}
.tt-btn-new:hover { transform:none; box-shadow: 0 4px 15px rgba(242,193,74,0.2); }

/* GRID */
.tt-notes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

/* NOTE CARD */
.tt-note-card {
    background: var(--tt-surface-solid);
    border: 1px solid var(--tt-line-solid);
    border-radius: 12px;
    padding: 20px;
    display: flex; flex-direction: column;
    transition: 0.2s;
    position: relative;
    min-height: 200px;
}
.tt-note-card:hover { border-color: rgba(255,255,255,0.15); transform:none; }

/* Card Colors */
.tt-note-card.type-dual { border-top: 3px solid var(--tt-blue-3); }
.tt-note-card.type-build { border-top: 3px solid var(--tt-green); }
.tt-note-card.type-village { border-top: 3px solid #f2c14a; }
.tt-note-card.type-misc { border-top: 3px solid #a855f7; }
.tt-note-card.type-general { border-top: 3px solid var(--tt-muted); }

/* Card Header */
.nc-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.nc-badge {
    font-size: 10px; font-weight: 800; text-transform: uppercase;
    padding: 4px 8px; border-radius: 4px; border: 1px solid transparent;
    display: flex; align-items: center; gap: 5px;
}
.nc-actions { display: flex; gap: 5px; opacity: 0; transition: 0.2s; }
.tt-note-card:hover .nc-actions { opacity: 1; }
.nc-actions button {
    background: rgba(255,255,255,0.05); border: none; color: var(--tt-muted);
    width: 24px; height: 24px; border-radius: 4px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.nc-actions button:hover { background: #fff; color: #000; }
.nc-actions button.del:hover { background: var(--tt-red); color: #fff; }

/* Content */
.nc-title { font-size: 16px; font-weight: 700; color: #fff; margin: 0 0 10px 0; }
.nc-body { font-size: 13px; color: var(--tt-text-soft); line-height: 1.5; flex: 1; white-space: pre-wrap; margin-bottom: 15px; }

/* Footer (Villages) */
.nc-footer {
    display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,0.05);
}
.nc-vil-tag {
    background: rgba(242, 193, 74, 0.1); color: #f2c14a;
    font-size: 11px; padding: 4px 8px; border-radius: 4px;
    text-decoration: none; font-weight: 600; border: 1px solid rgba(242, 193, 74, 0.2);
    transition: 0.2s;
}
.nc-vil-tag:hover { background: #f2c14a; color: #000; }
.nc-vil-tag .coords { font-weight: 400; opacity: 0.8; margin-left: 3px; font-size: 10px; }

.nc-date { font-size: 10px; color: var(--tt-faint-2); margin-top: 10px; text-align: right; }

/* EMPTY STATE */
.tt-empty-state {
    grid-column: 1 / -1;
    text-align: center; padding: 60px 20px;
    border: 2px dashed var(--tt-line-solid); border-radius: 12px; color: var(--tt-faint);
}
.tt-empty-state i { font-size: 40px; margin-bottom: 15px; opacity: 0.5; }

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

/* FORM */
.tt-form-label { font-size: 11px; font-weight: 800; color: var(--tt-muted); text-transform: uppercase; margin-bottom: 8px; display: block; }
.tt-input-group { margin-bottom: 20px; }
.tt-input-group label { display: block; font-size: 12px; color: var(--tt-text-soft); margin-bottom: 5px; font-weight: 600; }
.tt-inp { width: 100%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); padding: 10px; border-radius: 6px; color: #fff; font-family: inherit; box-sizing: border-box; }
.tt-inp:focus { border-color: #f2c14a; outline: none; }

/* TYPE CARDS */
.type-selector { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 20px; }
.type-opt input { display: none; }
.type-box {
    background: rgba(255,255,255,0.03); border: 1px solid var(--tt-line-solid);
    padding: 10px 5px; border-radius: 6px; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; gap: 5px;
    text-align: center; color: var(--tt-muted); transition: 0.2s;
}
.type-box i { font-size: 16px; color: var(--c); opacity: 0.5; }
.type-box span { font-size: 10px; font-weight: 700; }

.type-opt input:checked + .type-box {
    background: rgba(255,255,255,0.08);
    border-color: var(--c);
    color: #fff;
    box-shadow: 0 0 10px var(--c);
}
.type-opt input:checked + .type-box i { opacity: 1; }

/* VILLAGE GRID */
.village-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px;
    background: var(--tt-bg-2); padding: 15px; border-radius: 8px; border: 1px solid var(--tt-line-solid);
    max-height: 200px; overflow-y: auto;
}
.vil-check input { display: none; }
.vil-box {
    display: flex; justify-content: space-between; align-items: center;
    background: var(--tt-surface-solid); padding: 8px 10px; border-radius: 4px;
    border: 1px solid var(--tt-line-solid); cursor: pointer; transition: 0.2s;
}
.v-name { font-size: 12px; color: var(--tt-text-soft); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v-coord { font-size: 10px; color: var(--tt-faint); font-family: monospace; }

.vil-check input:checked + .vil-box { border-color: #f2c14a; background: rgba(242,193,74,0.1); }
.vil-check input:checked + .vil-box .v-name { color: #f2c14a; }

.modal-footer { margin-top: 20px; display: flex; justify-content: flex-end; }
.tt-btn-save { background: #f2c14a; color: #000; border: none; padding: 10px 30px; font-weight: 800; border-radius: 6px; cursor: pointer; }

@media (max-width: 600px) {
    .type-selector { grid-template-columns: repeat(3, 1fr); }
    .village-grid { grid-template-columns: 1fr; }
}
/* Block 4 · server pass */
.tt-notes-wrap{max-width:none;padding:18px 10px 10px;}
.tt-notes-header{margin-bottom:18px;padding-bottom:12px;gap:14px;flex-wrap:wrap;align-items:center;}
.header-text h1,.tt-notes-header h1{font-size:22px;line-height:1.1;}
.tt-btn-new{min-height:42px;border-radius:12px;box-shadow:none;}
.tt-btn-new:hover{transform:none;box-shadow:0 0 0 1px rgba(242,193,74,.35),0 10px 24px rgba(37,99,235,.16);}
.tt-notes-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start;}
.tt-note-card{min-height:0;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.22);}
.tt-note-card:hover{transform:none;border-color:rgba(242,193,74,.35);box-shadow:0 0 0 1px rgba(242,193,74,.18),0 14px 30px rgba(37,99,235,.14);}
@media (max-width: 820px){.tt-notes-wrap{padding:14px 0 6px}.tt-notes-header{align-items:flex-start}}


/* --- merged from dashboard_meine_statistik.css --- */
/* * TravTools - User Stats (Perfect Alignment) */

.tt-stat-wrap {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 30px 20px;
    box-sizing: border-box;
    font-family: "Inter", sans-serif;
    color: var(--tt-text);
}

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

/* CARD & TABLE */
.tt-card {
    background: var(--tt-surface-solid);
    border: 1px solid var(--tt-line-solid);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}

.tt-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.tt-table th {
    background: rgba(255,255,255,0.03);
    color: var(--tt-muted);
    font-weight: 800;
    text-transform: uppercase;
    padding: 15px 20px;
    text-align: left;
    border-bottom: 1px solid var(--tt-line-solid);
    font-size: 11px;
    letter-spacing: 0.5px;
    vertical-align: middle; /* Wichtig für Header */
}

/* ROWS & CELLS */
.tt-row {
    transition: background 0.2s;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.tt-row:last-child { border-bottom: none; }
.tt-row:hover { background: rgba(255,255,255,0.03); }

.tt-table td {
    padding: 18px 20px; /* Mehr Padding oben/unten für Zentrierung */
    vertical-align: middle; /* ZENTRALE FUNKTION FÜR AUSRICHTUNG */
    height: 50px; /* Fixe Mindesthöhe für Gleichmäßigkeit */
}

/* ICONS */
.icon-cell { width: 60px; text-align: center; padding-right: 0; }
.stat-icon {
    width: 40px; height: 40px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
    color: #fff;
    margin: 0 auto; /* Zentriert das Icon in der Zelle */
}
/* Farben */
.i-push { background: rgba(242, 193, 74, 0.15); color: #f2c14a; }
.i-get  { background: rgba(59, 130, 246, 0.15); color: var(--tt-blue-3); }
.i-deff { background: rgba(61,220,132, 0.15); color: var(--tt-green); }
.i-off  { background: rgba(255,92,92, 0.15); color: var(--tt-red); }
.i-crop { background: rgba(251, 146, 60, 0.15); color: #fb923c; }
.i-rep  { background: rgba(255, 255, 255, 0.1); color: var(--tt-text-soft); }
.i-inc  { background: rgba(168, 85, 247, 0.15); color: var(--tt-purple); }
.i-warn { background: rgba(255,92,92, 0.1); color: var(--tt-red); border: 1px solid rgba(255,92,92, 0.3); }

/* TEXT CONTENT */
.stat-title { font-weight: 700; color: #fff; font-size: 14px; margin-bottom: 3px; line-height: 1.2; }
.stat-sub { font-size: 12px; color: var(--tt-muted); line-height: 1.2; }

/* VALUES */
.val-cell { font-family: monospace; font-size: 15px; font-weight: 700; color: var(--tt-text); }
.val-wrapper { display: flex; flex-direction: column; justify-content: center; } /* Hilft bei Progress Bars */
.unit { font-size: 11px; color: var(--tt-faint); font-weight: 400; font-family: "Inter", sans-serif; margin-left: 4px; }

/* PROGRESS BAR */
.stat-bar {
    width: 100%; height: 4px; background: rgba(255,255,255,0.1);
    border-radius: 2px; margin-top: 8px; overflow: hidden;
    max-width: 120px;
}
.sb-fill { height: 100%; background: var(--tt-green); border-radius: 2px; }

/* BADGES (RATE CELL) */
.rate-cell { text-align: right; }
.badge {
    font-size: 10px; font-weight: 800; text-transform: uppercase;
    padding: 6px 10px; border-radius: 6px; display: inline-block;
    min-width: 80px; text-align: center;
    vertical-align: middle; /* Sicherheitsnetz */
}
/* Badge Colors */
.b-good { background: rgba(61,220,132, 0.1); color: var(--tt-green); border: 1px solid rgba(61,220,132, 0.2); }
.b-warn { background: rgba(250, 204, 21, 0.1); color: #facc15; border: 1px solid rgba(250, 204, 21, 0.2); }
.b-bad  { background: rgba(255,92,92, 0.1); color: var(--tt-red); border: 1px solid rgba(255,92,92, 0.2); }
.b-neutral { background: rgba(255, 255, 255, 0.05); color: var(--tt-muted); border: 1px solid rgba(255, 255, 255, 0.1); }
.b-info { background: rgba(59, 130, 246, 0.1); color: var(--tt-blue-3); border: 1px solid rgba(59, 130, 246, 0.2); }

/* MOBILE */
@media (max-width: 600px) {
    .tt-table th, .tt-table td { padding: 12px 10px; }
    .stat-bar { max-width: 80px; }
    .icon-cell { width: 40px; }
    .stat-icon { width: 32px; height: 32px; font-size: 14px; }
    .rate-cell { text-align: right; }
}

/* --- merged from dashboard_meine_truppen.css --- */
/* * TravTools - Truppen Dashboard (V35 - Visual Match Header & WW Options) */

.tt-troops-wrap { 
    width: 100%; 
    padding: 30px 20px; 
    box-sizing: border-box; 
    font-family: "Inter", sans-serif; 
    color: var(--tt-text-soft); 
    max-width: 1600px; 
    margin: 0; 
}

/* HEADER GLOBAL */
.tt-troops-head { 
    margin-bottom: 30px; 
    display: flex; 
    justify-content: space-between; 
    align-items: flex-end; 
    border-bottom: 1px solid var(--tt-line-solid); 
    padding-bottom: 20px; 
}
.tt-th-left h1 { 
    font-size: 24px; 
    font-weight: 900; 
    color: #fff; 
    margin: 0 0 5px 0; 
    text-transform: uppercase; 
}
.tt-th-left p { margin: 0; font-size: 12px; color: var(--tt-muted); }

/* 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); }

/* STATS GRID */
.tt-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 30px; }
.tt-stat-card { 
    background: var(--tt-surface-solid); 
    border: 1px solid var(--tt-line-solid); 
    border-radius: 10px; 
    padding: 15px; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.2); 
    transition: transform 0.2s, border-color 0.2s; 
}
.tt-stat-card:hover { transform:none; border-color: #f2c14a; }
.tt-stat-val { font-size: 20px; font-weight: 900; color: #fff; margin-bottom: 5px; font-family: monospace; }
.tt-stat-lbl { font-size: 10px; text-transform: uppercase; color: var(--tt-muted); font-weight: 700; letter-spacing: 0.5px; }

.c-crop { color: var(--tt-gold-2); }
.c-gold { color: #f2c14a; }
.c-off { color: var(--tt-red); }
.c-deff { color: var(--tt-green); }

/* PARSER AREA */
.tt-parser-wrap { background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); border-radius: 10px; overflow: hidden; margin-bottom: 30px; }
.tt-parser-head { 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; display: flex; align-items: center; gap: 10px; }
.tt-parser-area { width: 100%; height: 100px; background: transparent; border: none; color: var(--tt-text-soft); padding: 15px; font-family: monospace; font-size: 12px; resize: vertical; outline: none; }
.tt-parser-area:focus { background: rgba(255,255,255,0.02); }
.tt-parser-foot { padding: 10px 15px; border-top: 1px solid var(--tt-line-solid); background: rgba(255,255,255,0.01); display: flex; justify-content: space-between; align-items: center; }

.tt-tribe-select { 
    background: var(--tt-surface-solid); 
    color: #fff; 
    border: 1px solid var(--tt-line-solid); 
    padding: 6px 12px; 
    border-radius: 6px; 
    font-size: 11px; 
    cursor: pointer; 
}
.tt-btn-parse { 
    background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2)); 
    color: #000; 
    border: none; 
    padding: 6px 16px; 
    border-radius: 6px; 
    font-weight: 800; 
    text-transform: uppercase; 
    cursor: pointer; 
    font-size: 11px; 
    transition: filter 0.2s; 
}
.tt-btn-parse:hover { filter: brightness(1.1); }

/* === MAIN TABLE CONTAINER === */
.tt-table-container { 
    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); 
    margin-top: 20px; 
}

/* === TABLE STRUCTURE === */
.tt-table { 
    width: 100% !important; 
    border-collapse: collapse; 
    font-size: 10px; 
    white-space: nowrap; 
    table-layout: auto; 
}

/* === HEADER ROW (VISUAL FIX) === */
.tt-table th { 
    background: var(--tt-surface-solid); 
    padding: 4px 6px; /* Mehr Padding */
    text-align: center; 
    color: var(--tt-muted); 
    border-bottom: 1px solid var(--tt-line-solid); 
    font-weight: 700; 
    height: 34px; /* Höher, wie im Screenshot */
    line-height: 1.1;
    vertical-align: middle; /* Mittig zentriert */
}

/* === 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; }

/* === DATA ROWS === */
.tt-table tr { height: 22px !important; }

.tt-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;
}

/* === HOVER EFFECTS === */

/* 1. Horizontal (Row) - Royal Blue + Gold Lines Top/Bottom */
.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; 
}

/* 2. Vertical (Column) - Royal Blue + Gold Lines Left/Right */
.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;
}

/* === COLUMN WIDTHS & ALIGNMENT === */
.td-left { text-align: left !important; }
.th-left { text-align: left !important; }

.col-village { width: 120px; }
.col-meta { width: 40px; }

/* UNIT COLUMNS */
.col-unit { 
    width: 60px; 
    vertical-align: middle; 
}
.unit-name {
    display: block; 
    font-size: 9px; 
    line-height: 1.1; 
    white-space: normal; 
    word-wrap: break-word; 
    hyphens: auto; 
    max-width: 60px; 
    margin: 0 auto; 
    color: var(--tt-text-soft); 
}

/* INPUTS Styling */
.tt-inp-num { 
    background: transparent; 
    border: none; 
    color: inherit; 
    width: 100%; 
    text-align: center; 
    font-family: monospace; 
    font-size: 10px; 
    padding: 0; 
    height: 20px; 
    line-height: 20px;
}
.tt-inp-num.has-val { color: #fff; font-weight: 700; }
.tt-inp-num:focus { border-bottom: 1px solid #f2c14a; background: rgba(0,0,0,0.5); color: #fff; outline: none; }
.tt-inp-num:hover { background: rgba(255,255,255,0.05); }

/* SELECT Styling */
.tt-sel-mini { 
    background: transparent; 
    border: none; 
    color: var(--tt-muted); 
    font-size: 9px; 
    padding: 0; 
    border-radius: 2px; 
    text-transform: uppercase; 
    cursor: pointer; 
    width: 100%; 
    text-align: center; 
    appearance: none; 
    height: 20px; 
    line-height: 20px;
}
.tt-sel-mini:hover { color: #fff; }
.tt-sel-mini:focus { color: #f2c14a; background: var(--tt-bg-2); outline: none; }
.tt-sel-mini option { background-color: var(--tt-surface-solid); color: #fff; padding: 5px; }

/* LINKS */
.coord-link { 
    color: var(--tt-green); text-decoration: none; font-family: monospace; 
}
.coord-link:hover { text-decoration: underline; color: #fff; }

/* HERO IMAGE */
.u-icon-hero {
    background-image: url('hero.png'); 
    background-repeat: no-repeat; 
    width: 16px; 
    height: 16px;
    display: inline-block; 
    vertical-align: middle; 
    background-size: contain; 
    background-position: center; 
}

/* TOTAL ROW */
.tr-total td { 
    border-top: 1px solid var(--tt-line-solid); 
    color: #f2c14a !important; 
    font-weight: 900; 
}

@media (max-width: 1100px) { .tt-table-container { overflow-x: auto; } }
/* Block 4 · server pass */
.tt-troops-wrap{max-width:none;padding:18px 10px 10px;}
.tt-troops-head{margin-bottom:18px;padding-bottom:12px;gap:14px;flex-wrap:wrap;align-items:center;}
.tt-th-left h1{font-size:22px;line-height:1.1;}
.tt-stats-grid{gap:14px;align-items:start;}
.tt-stat-card,.tt-parser-wrap,.tt-card,.tt-card-panel{border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.2);}
.tt-stat-card:hover{transform:none;border-color:rgba(242,193,74,.35);box-shadow:0 0 0 1px rgba(242,193,74,.18),0 14px 30px rgba(37,99,235,.12);}
.tt-msg{border-radius:12px;}
@media (max-width: 900px){.tt-troops-wrap{padding:14px 0 6px}}


/* --- merged from dashboard_meine_ziele.css --- */
/* * TravTools - High-End Goals Dashboard (Final Fix) */

.tt-goals-wrap {
    width: 100%;
    padding: 30px 20px; /* Etwas mehr Padding links/rechts */
    box-sizing: border-box;
    font-family: "Inter", system-ui, sans-serif;
    color: var(--tt-text);
    max-width: 1600px; /* Breiter für High-End Screens */
    margin: 0; /* WICHTIG: Linksbündig, nicht zentriert */
}

/* --- HEADER & CONTROLS --- */
.tt-goals-head {
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.tt-gh-left h1 {
    font-size: 28px;
    font-weight: 900;
    color: #fff;
    margin: 0 0 5px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: linear-gradient(90deg, #fff, var(--tt-muted));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.tt-gh-left p { margin: 0; font-size: 14px; color: var(--tt-muted); }

.tt-btn-add {
    background: linear-gradient(135deg, var(--brandGold, #f2c14a), #d4a72c);
    color: var(--tt-bg-2);
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 20px rgba(242, 193, 74, 0.25);
    transition: all 0.2s ease;
}
.tt-btn-add:hover {
    transform:none;
    box-shadow: 0 6px 25px rgba(242, 193, 74, 0.4);
    filter: brightness(1.1);
}

/* --- GLOBAL STATS --- */
.tt-stats-bar {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 15px;
    align-items: center;
    margin-bottom: 40px;
    background: rgba(22, 27, 34, 0.5);
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.05);
}
.tt-glob-label { font-size: 12px; font-weight: 700; color: var(--tt-muted); text-transform: uppercase; letter-spacing: 1px; }
.tt-glob-val { font-size: 14px; font-weight: 900; color: #fff; }
.tt-progress-track {
    background: rgba(255,255,255,0.05);
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
    width: 100%;
    position: relative;
}
.tt-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--tt-green), #22c55e); 
    box-shadow: 0 0 10px rgba(61,220,132, 0.5);
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- GRID LAYOUT --- */
.tt-goals-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 25px;
    align-items: start; /* Verhindert Stretching */
}

/* --- GOAL CARD --- */
.tt-goal-card {
    background: var(--tt-surface-solid);
    border: 1px solid var(--tt-line-solid);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    overflow: hidden;
}
.tt-goal-card:hover {
    border-color: rgba(255,255,255,0.2);
    transform:none;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

/* Completed State */
.tt-goal-card.is-completed { opacity: 0.7; border-color: #238636; }
.tt-goal-card.is-completed::after {
    content: "DONE";
    position: absolute;
    top: 15px;
    right: -25px;
    background: #238636;
    color: #fff; 
    font-size: 10px;
    font-weight: 900;
    padding: 5px 30px;
    transform: rotate(45deg);
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    pointer-events: none;
}

/* Priority Styles */
.tt-prio-high { border-left: 4px solid var(--tt-red); }
.tt-prio-high:hover { box-shadow: -5px 5px 30px rgba(255,92,92, 0.15); }
.tt-prio-medium { border-left: 4px solid #d29922; }
.tt-prio-low { border-left: 4px solid #3fb950; }

/* CARD HEADER */
.tt-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    gap: 15px;
}
.tt-head-main { flex: 1; }

/* Badges & Creator */
.tt-meta-badges { display: flex; gap: 8px; margin-bottom: 8px; align-items: center; flex-wrap: wrap; }
.tt-badge-pill {
    font-size: 10px; font-weight: 800; text-transform: uppercase; padding: 3px 8px; border-radius: 4px;
    letter-spacing: 0.5px; display: inline-flex; align-items: center; gap: 4px;
}
.tt-bp-admin { background: rgba(163, 113, 247, 0.15); color: #d2a8ff; border: 1px solid rgba(163, 113, 247, 0.3); }
.tt-bp-user { background: rgba(255,255,255,0.05); color: var(--tt-muted); border: 1px solid rgba(255,255,255,0.1); }

.tt-card-title { font-size: 18px; font-weight: 700; color: #fff; line-height: 1.3; margin-bottom: 5px; word-break: break-word; }
.tt-card-creator { font-size: 11px; color: var(--tt-muted); display: flex; align-items: center; gap: 4px; }
.tt-creator-name { color: var(--tt-text-soft); font-weight: 600; display: inline-flex; align-items: center; }

/* DONUT CHART */
.tt-donut {
    width: 50px; height: 50px; position: relative; border-radius: 50%;
    background: conic-gradient(var(--chart-color) var(--chart-deg), rgba(255,255,255,0.05) 0deg);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 0 15px rgba(0,0,0,0.3); flex-shrink: 0;
}
.tt-donut::after {
    content: ""; position: absolute; inset: 6px; background: var(--tt-surface-solid); border-radius: 50%;
}
.tt-donut-val {
    position: relative; z-index: 1; font-size: 11px; font-weight: 900; color: #fff;
}
.tt-donut.is-100 .tt-donut-val { color: var(--tt-green); }

/* CARD BODY */
.tt-card-desc { font-size: 13px; color: var(--tt-muted); line-height: 1.6; margin-bottom: 20px; white-space: pre-wrap; }

/* SUB GOALS LIST */
.tt-sub-wrap {
    background: rgba(0,0,0,0.2); border-radius: 8px; padding: 15px; margin-bottom: 20px;
    border: 1px solid rgba(255,255,255,0.03);
}
.tt-sub-label { font-size: 10px; font-weight: 800; color: #444c56; text-transform: uppercase; margin-bottom: 10px; display: block; }

.tt-sub-item {
    display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.03);
    transition: 0.2s;
}
.tt-sub-item:last-child { border-bottom: none; }
.tt-sub-item.is-done .tt-sub-text { text-decoration: line-through; color: #444c56; }

/* Custom Checkbox */
.tt-chk-wrap { position: relative; width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; }
.tt-chk-input { 
    opacity: 0; position: absolute; width: 100%; height: 100%; cursor: pointer; z-index: 2; margin: 0; 
}
.tt-chk-box {
    width: 100%; height: 100%; border: 2px solid var(--tt-line-solid); border-radius: 5px; background: rgba(0,0,0,0.3);
    display: flex; align-items: center; justify-content: center; transition: 0.2s;
}
.tt-chk-input:checked + .tt-chk-box { background: var(--brandGold); border-color: var(--brandGold); }
.tt-chk-box::after {
    content: "✔"; font-size: 12px; color: #000; font-weight: 900; display: none;
}
.tt-chk-input:checked + .tt-chk-box::after { display: block; }
.tt-chk-input:hover + .tt-chk-box { border-color: var(--tt-muted); }

.tt-sub-text { flex: 1; font-size: 13px; line-height: 1.4; color: var(--tt-text-soft); word-break: break-word; }
.tt-sub-del { background: none; border: none; color: #444c56; cursor: pointer; font-size: 14px; transition: 0.2s; padding: 0 5px; }
.tt-sub-del:hover { color: var(--tt-red); }

/* Add Sub Input */
.tt-add-sub { display: flex; gap: 8px; margin-top: 10px; }
.tt-inp-sub {
    flex: 1; background: transparent; border: 1px solid var(--tt-line-solid); border-radius: 6px; padding: 6px 10px;
    font-size: 12px; color: #fff; transition: 0.2s;
}
.tt-inp-sub:focus { border-color: var(--brandGold); outline: none; }
.tt-btn-sub {
    background: var(--tt-surface-hover-solid); border: 1px solid var(--tt-line-solid); color: var(--tt-text-soft); width: 30px; border-radius: 6px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.tt-btn-sub:hover { background: var(--tt-line-solid); color: #fff; }

/* CARD FOOTER */
.tt-card-foot {
    margin-top: auto; padding-top: 15px; border-top: 1px solid rgba(255,255,255,0.05);
    display: flex; justify-content: space-between; align-items: center;
}
.tt-deadline { font-size: 11px; font-weight: 600; color: var(--tt-muted); display: flex; align-items: center; gap: 6px; }
.tt-deadline.is-late { color: var(--tt-red); }

.tt-actions { display: flex; gap: 8px; }
.tt-act-btn {
    width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center;
    border: 1px solid transparent; background: rgba(255,255,255,0.03); color: var(--tt-muted); cursor: pointer; transition: 0.2s;
}
.tt-act-btn:hover { background: rgba(255,255,255,0.1); color: #fff; transform:none; }
.tt-act-del:hover { background: rgba(255,92,92, 0.15); color: var(--tt-red); border-color: rgba(255,92,92, 0.3); }
.tt-act-lock { cursor: not-allowed; opacity: 0.5; }

/* --- MODAL --- */
.tt-modal-wrap { 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: 12px; border-radius: 8px;
    box-sizing: border-box; font-family: inherit; font-size: 14px;
}
.tt-inp:focus { border-color: var(--brandGold); outline: none; box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.1); }

@media (max-width: 800px) {
    .tt-goals-head { flex-direction: column; align-items: flex-start; gap: 15px; }
    .tt-stats-bar { grid-template-columns: 1fr; }
}
/* Block 4 · server pass */
.tt-goals-wrap{max-width:none;padding:18px 10px 10px;}
.tt-goals-head{margin-bottom:18px;padding-bottom:12px;gap:14px;flex-wrap:wrap;align-items:center;}
.tt-gh-left h1{font-size:22px;line-height:1.1;}
.tt-btn-add{min-height:42px;border-radius:12px;box-shadow:none;}
.tt-btn-add:hover{transform:none;box-shadow:0 0 0 1px rgba(242,193,74,.35),0 10px 24px rgba(37,99,235,.16);filter:none;}
.tt-stats-bar,.tt-goals-grid,.tt-goal-grid{align-items:start;gap:14px;}
.tt-goal-card,.tt-card,.tt-stat-card{border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.2);}


/* --- merged from dashboard_onlinezeiten.css --- */
/* * TravTools - Onlinezeiten Planer (V12 - Final Layout) */

.tt-online-wrap {
    width: 100%; max-width: 1200px; margin: 0 auto; padding: 20px; box-sizing: border-box; font-family: "Inter", sans-serif; color: var(--tt-text-soft);
}

/* HEADER */
.tt-online-header {
    margin-bottom: 15px; border-bottom: 1px solid var(--tt-line-solid); padding-bottom: 15px;
    display: flex; justify-content: space-between; align-items: center;
    gap: 20px; flex-wrap: wrap;
}

/* Left */
.header-left h1 {
    font-size: 24px; font-weight: 900; color: #fff; margin: 0; text-transform: uppercase; line-height: 1;
}
.tt-msg-mini { font-size: 11px; color: var(--tt-green); font-weight: 700; margin-left: 10px; }

/* Right */
.header-right { display: flex; align-items: center; gap: 20px; }

/* CP Toggle */
.tt-cp-toggle-wrap {
    display: flex; align-items: center; gap: 10px;
    background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); padding: 5px 12px; border-radius: 6px;
    height: 40px; box-sizing: border-box;
}
.tt-cp-label { font-size: 10px; font-weight: 700; color: #fff; text-transform: uppercase; }

.tt-switch { position: relative; display: inline-block; width: 34px; height: 18px; }
.tt-switch input { opacity: 0; width: 0; height: 0; }
.slider {
    position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0;
    background-color: var(--tt-line-solid); transition: .4s; border-radius: 20px;
}
.slider:before {
    position: absolute; content: ""; height: 12px; width: 12px; left: 3px; bottom: 3px;
    background-color: white; transition: .4s; border-radius: 50%;
}
input:checked + .slider { background-color: #f2c14a; }
input:checked + .slider:before { transform: translateX(16px); }

/* Nav */
.tt-week-nav {
    display: flex; align-items: center; gap: 10px;
    background: var(--tt-surface-solid); padding: 5px 15px; border-radius: 8px; border: 1px solid var(--tt-line-solid);
    height: 40px; box-sizing: border-box;
}
.nav-btn {
    color: #f2c14a; font-size: 16px; cursor: pointer; transition: 0.2s;
    display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%;
}
.nav-btn:hover { background: rgba(242,193,74,0.1); }
.nav-btn.disabled { color: var(--tt-faint-2); cursor: default; pointer-events: none; }
.nav-info { display: flex; flex-direction: column; align-items: center; min-width: 110px; }
.nav-kw { font-size: 13px; font-weight: 800; color: #fff; }
.nav-range { font-size: 10px; color: var(--tt-muted); }


/* GRID */
.tt-week-container {
    display: flex; background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); border-radius: 12px; overflow: hidden; padding: 20px; gap: 2px; overflow-x: auto; align-items: flex-start;
}

/* --- FIX: TIME SCALE (Links) --- */
.tt-time-scale {
    display: flex; flex-direction: column; min-width: 50px; margin-right: 5px; 
    /* WICHTIG: 1px Padding um den Border rechts auszugleichen */
    padding-top: 1px; 
}

/* Header Höhe exakt gleich wie rechts */
.tt-scale-head {
    height: 50px; min-height: 50px; 
    margin-bottom: 5px; display: block;
}

/* Slot Box Model Identisch zu Rechts */
.tt-scale-slot {
    display:flex; align-items:center; justify-content:center;
    height: 30px; 
    margin-bottom: -1px; 
    border-bottom: 1px solid transparent; 
    box-sizing: border-box;
    position: relative; /* Für absolute Positionierung des Textes */
    font-size: 11px; color: var(--tt-faint);
}

.tt-scale-slot span {
    position: static;
    transform: none;
    z-index: 5;
    background: transparent;
    padding: 0;
}
.tt-scale-slot.hover-row-text span { color: #f2c14a; font-weight: 700; }

/* --- FIX: DAY COLUMNS (Rechts) --- */
.tt-day-column { flex: 1; min-width: 80px; display: flex; flex-direction: column; }

.tt-day-head {
    height: 50px; min-height: 50px; max-height: 50px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: rgba(255,255,255,0.05); border-radius: 4px; margin-bottom: 5px; line-height: 1.2;
}
.dh-name { font-weight: 800; font-size: 11px; text-transform: uppercase; color: #fff; }
.dh-date { font-size: 10px; color: var(--tt-muted); font-weight: 400; }

.tt-day-slots { display: flex; flex-direction: column; border: 1px solid var(--tt-line-solid); background: var(--tt-bg-2); position: relative; }

.tt-slot {
    display:flex; align-items:center; justify-content:center;
    height: 30px; 
    border: 1px solid var(--tt-line-solid); 
    background: var(--tt-bg-2); cursor: pointer;
    transition: background 0.1s ease; margin-bottom: -1px; position: relative; box-sizing: border-box;
}
/* Colors */
.tt-slot.status-1 { background: var(--tt-green); border-color: #38bdf8; z-index: 1; }
.tt-slot.status-2 { background: #facc15; border-color: #fde047; z-index: 1; }
.tt-slot.status-3 { background: var(--tt-red); border-color: var(--tt-red-2); z-index: 1; }
/* Hover */
.tt-slot.hover-row { border-top: 2px solid #f2c14a; border-bottom: 2px solid #f2c14a; z-index: 10; }
.tt-day-column:not(:last-child) .tt-slot.hover-row { border-right: none; }
.tt-day-column:not(:first-child) .tt-slot.hover-row { border-left: none; }

/* FOOTER */
.tt-actions {
    margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--tt-line-solid);
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px;
}
.tt-legend-bar { display: flex; gap: 10px; flex-wrap: wrap; }
.legend-opt {
    display: flex; align-items: center; gap: 8px; padding: 8px 15px; border-radius: 6px;
    background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); cursor: pointer; transition: 0.2s;
    font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--tt-muted); white-space: nowrap;
}
.legend-opt input { display: none; }
.legend-opt:hover { filter: brightness(1.2); }
.legend-opt input:checked + span { color: #fff; }

.legend-opt.status-1:has(input:checked) { background: rgba(61,220,132, 0.2); border-color: var(--tt-green); color: var(--tt-green); }
.legend-opt.status-2:has(input:checked) { background: rgba(250, 204, 21, 0.2); border-color: #facc15; color: #facc15; }
.legend-opt.status-3:has(input:checked) { background: rgba(255,92,92, 0.2); border-color: var(--tt-red); color: var(--tt-red); }

.tt-btns-right { display: flex; gap: 15px; }
.tt-btn-save {
    background: linear-gradient(135deg, #f2c14a, var(--tt-gold-2)); color: var(--tt-bg-0); border: none;
    padding: 12px 30px; border-radius: 8px; font-weight: 800; font-size: 14px;
    text-transform: uppercase; cursor: pointer; box-shadow: 0 4px 15px rgba(242,193,74,0.2); transition: 0.2s;
    display: flex; align-items: center; gap: 8px;
}
.tt-btn-save:hover { transform:none; filter: brightness(1.1); }
.tt-btn-reset {
    background: transparent; border: 1px solid var(--tt-line-solid); color: var(--tt-muted);
    padding: 12px 20px; border-radius: 8px; font-weight: 700; cursor: pointer; transition: 0.2s;
}
.tt-btn-reset:hover { border-color: var(--tt-red); color: var(--tt-red); }

/* MOBILE */
@media (max-width: 900px) {
    .tt-online-header { flex-direction: column; align-items: flex-start; }
    .header-right { width: 100%; flex-direction: column-reverse; align-items: stretch; }
    .tt-cp-toggle-wrap, .tt-week-nav { width: 100%; justify-content: space-between; }
    .tt-day-column { min-width: 60px; }
    .tt-actions { flex-direction: column; align-items: stretch; }
    .tt-btns-right { justify-content: space-between; }
}

/* Block 5 · Online times polish */
.tt-wrap{width:100%;max-width:none!important;}
.tt-topbar{gap:14px!important;flex-wrap:wrap!important;align-items:center!important;}
.tt-week-nav{border-radius:12px!important;height:auto!important;min-height:44px!important;padding:8px 16px!important;}
.tt-week-container{border-radius:18px!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;}
.tt-day-head{border-radius:8px!important;}
.tt-slot,.legend-opt,.tt-btn-save,.tt-btn-reset{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;transform:none!important;}
.tt-btn-save,.tt-btn-reset{min-height:42px!important;border-radius:12px!important;}
.tt-btn-save:hover,.tt-btn-reset:hover{transform:none!important;box-shadow:0 0 0 1px rgba(242,193,74,.2),0 10px 24px rgba(21,33,56,.22)!important;}


/* --- merged from dashboard_sitterkonten.css --- */
/* * TravTools - Sitter Dashboard (Left Aligned & Mobile Optimized) */

.tt-sitter-wrap {
    width: 100%;
    padding: 25px 10px;
    box-sizing: border-box;
    font-family: "Inter", system-ui, -apple-system, sans-serif;
    color: var(--tt-text-soft);
    max-width: 1000px; /* Begrenzt die Breite */
    margin: 0; /* Links bündig */
}

/* Header */
.tt-sitter-head {
    margin-bottom: 30px;
    border-bottom: 1px solid var(--tt-line-solid);
    padding-bottom: 15px;
}
.tt-sitter-head h1 {
    font-size: 24px; font-weight: 900; color: #fff; margin: 0 0 5px 0;
    text-transform: uppercase; letter-spacing: 1px;
}
.tt-sitter-head p { margin: 0; font-size: 13px; color: var(--tt-muted); }

/* Cluster Badge (NEU) */
.cluster-badge {
    display: inline-block;
    margin-top: 8px;
    font-size: 11px;
    font-weight: 700;
    color: #f2c14a;
    background: rgba(242, 193, 74, 0.1);
    border: 1px solid rgba(242, 193, 74, 0.2);
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}

/* Form Grid */
.tt-sitter-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Standard: 2 Spalten */
    gap: 20px;
}

/* Single Slot Card */
.tt-slot-card {
    background: var(--tt-surface-solid);
    border: 1px solid var(--tt-line-solid);
    border-radius: 8px;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: border-color 0.2s;
}
.tt-slot-card:focus-within {
    border-color: var(--brandGold, #f2c14a);
    box-shadow: 0 0 10px rgba(242, 193, 74, 0.1);
}

/* Slot Number Badge */
.tt-slot-num {
    background: rgba(255,255,255,0.05);
    color: var(--tt-faint);
    font-size: 14px; font-weight: 800;
    width: 30px; height: 30px;
    border-radius: 50%;
    flex-shrink: 0; /* Verhindert Schrumpfen auf Handy */
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--tt-line-solid);
}

/* Input Area */
.tt-slot-input-wrap {
    flex: 1;
    position: relative;
    min-width: 0; /* Wichtig für Grid/Flex Overflow */
}
.tt-slot-label {
    display: block; font-size: 10px; text-transform: uppercase; 
    font-weight: 700; color: var(--tt-muted); margin-bottom: 4px;
}
.tt-sitter-input {
    width: 100%;
    background: var(--tt-bg-2);
    border: 1px solid var(--tt-line-solid);
    color: #fff;
    padding: 10px 12px; /* Etwas größeres Padding für Touch */
    border-radius: 6px;
    font-size: 15px; /* Lesbare Schriftgröße Mobile */
    font-weight: 600;
    box-sizing: border-box;
    outline: none;
    transition: 0.2s;
}
.tt-sitter-input:focus { border-color: var(--brandGold, #f2c14a); }

/* Validation Icon */
.tt-val-icon {
    position: absolute; right: 10px; top: 32px;
    font-size: 14px;
    pointer-events: none;
}
.tt-val-ok { color: var(--tt-green); } /* Grün */
.tt-val-err { color: var(--tt-red); } /* Rot */

/* Footer Actions */
.tt-sitter-actions {
    margin-top: 30px;
    display: flex; justify-content: flex-start;
    padding-top: 20px; border-top: 1px solid var(--tt-line-solid);
}
.tt-btn-save {
    background: linear-gradient(135deg, var(--brandGold, #f2c14a), var(--tt-gold-2));
    color: var(--tt-bg-0); border: none;
    padding: 12px 30px; /* Großzügige Klickfläche */
    border-radius: 6px;
    font-weight: 800; font-size: 14px; text-transform: uppercase;
    cursor: pointer; transition: transform 0.1s;
}
.tt-btn-save:hover { transform:none; filter: brightness(1.1); }

/* MOBILE OPTIMIZATION */
@media (max-width: 800px) {
    .tt-sitter-grid { 
        grid-template-columns: 1fr; /* Untereinander stapeln */
        gap: 15px;
    }
    .tt-sitter-wrap {
        padding: 15px;
    }
    .tt-btn-save {
        width: 100%; /* Button volle Breite auf Handy */
        text-align: center;
    }
}
/* Block 4 · server pass */
.tt-sitter-wrap{max-width:none;padding:18px 10px 10px;}
.tt-sitter-head{margin-bottom:18px;padding-bottom:12px;}
.tt-sitter-head h1{font-size:22px;line-height:1.1;}
.tt-sitter-grid{gap:16px;align-items:start;}
.tt-slot-card{border-radius:16px;min-height:0;box-shadow:0 12px 30px rgba(0,0,0,.2);}
.tt-slot-card:hover{border-color:rgba(242,193,74,.35);box-shadow:0 0 0 1px rgba(242,193,74,.18),0 14px 30px rgba(37,99,235,.12);}
@media (max-width: 900px){.tt-sitter-wrap{padding:14px 0 6px}.tt-sitter-grid{grid-template-columns:1fr;}}


/* --- merged from dashboard_uebersicht.css --- */
/* * TravTools - Dashboard (V11 - Fix Alignment Supporter) */

.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: 160px; 
}
.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); }
.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; }

.tt-btn-inline { 
    background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); 
    color: var(--tt-text-soft); font-size: 9px; padding: 2px 8px; border-radius: 4px; 
    cursor: pointer; text-transform: uppercase; font-weight: 700; 
    transition: 0.2s; margin-left: 10px; white-space: nowrap; 
}
.tt-btn-inline:hover { background: #fff; color: #000; }

/* --- GRID SPANS --- */
.w-supporter, .w-ally-info, .w-quota, .w-bonus, .w-off { grid-column: span 2; }
.w-list-box { grid-column: span 5; }
.w-online { grid-column: span 10; min-height: auto; }


/* --- WIDGET STYLES --- */

/* ALLY INFO */
.w-ally-info { display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg, var(--tt-surface-solid), var(--tt-bg-2)); padding: 20px; }
.tt-ally-logo { width: 140px; height: auto; filter: drop-shadow(0 0 15px rgba(242,193,74,0.2)); }

/* QUOTA */
.tt-quota-chart { flex: 1; display: flex; align-items: center; justify-content: center; position: relative; margin: 5px 0; }
.tt-pie { width: 80px; height: 80px; border-radius: 50%; background: conic-gradient(var(--col) var(--pct), #2a303c 0); display: flex; align-items: center; justify-content: center; }
.tt-pie::after { content: attr(data-val); position: absolute; width: 64px; height: 64px; background: var(--tt-surface-solid); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; color: #fff; }
.tt-quota-stat { text-align: center; font-size: 12px; font-weight: 700; color: var(--tt-red); margin-bottom: 5px; }

/* BONUS */
.w-bonus { display: flex; flex-direction: column; }
.tt-bonus-text { font-size: 16px; font-weight: 700; color: #fff; text-align: center; margin: auto 0; font-style: italic; }

/* OFF */
.tt-off-count { font-size: 24px; font-weight: 900; color: #fff; }
.tt-off-sub { font-size: 11px; color: var(--tt-muted); }
.tt-off-list { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
.tt-off-item { font-size: 10px; background: rgba(255,255,255,0.05); padding: 3px 6px; border-radius: 3px; display: flex; justify-content: space-between; }

/* SUPPORTER (GEFIXT) */
.w-supporter { 
    /* grid-column: span 2; übernommen von oben */
    /* Keine speziellen Alignments hier, damit Header oben bleibt */
}
/* Neuer Container für den Inhalt */
.tt-supporter-inner {
    flex: 1; /* Füllt den Rest der Höhe */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.tt-badge-xl { transform: scale(3.5); margin: 20px 0; transform-origin: center; }
.tt-supporter-text { font-size: 14px; font-weight: 800; color: #fff; text-transform: uppercase; letter-spacing: 1px; margin-top: 10px; text-align: center; }
.tt-badge.is-none { background: var(--tt-line-solid); border: 1px solid rgba(255,255,255,0.1); box-shadow: none; }
.tt-badge.is-none::after { display: none; }

/* LISTS */
.tt-list-rows { display: flex; flex-direction: column; gap: 6px; overflow-y: auto; max-height: 140px; }
.tt-row-item { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.05); padding: 8px; border-radius: 4px; display: flex; justify-content: space-between; align-items: center; transition: 0.2s; }
.tt-row-item:hover { background: rgba(255,255,255,0.06); }
.tt-ri-main { font-size: 12px; font-weight: 600; color: var(--tt-text); }
.tt-ri-sub { font-size: 10px; color: var(--tt-muted); margin-top: 1px; }
.tt-ri-badge { font-size: 9px; font-weight: 800; padding: 2px 5px; border-radius: 3px; text-transform: uppercase; white-space: nowrap; }
.tt-res-box { font-family: monospace; font-size: 10px; background: rgba(0,0,0,0.3); border: 1px solid var(--tt-line-solid); padding: 2px 5px; border-radius: 3px; color: var(--tt-text-soft); }
.bg-red { background: rgba(255,92,92,0.15); color: var(--tt-red); border: 1px solid rgba(255,92,92,0.2); }
.bg-green { background: rgba(61,220,132,0.15); color: var(--tt-green); border: 1px solid rgba(61,220,132,0.2); }
.bg-blue { background: rgba(59,130,246,0.15); color: var(--tt-blue-3); border: 1px solid rgba(59,130,246,0.2); }

/* ONLINE PLANER */
.tt-week-grid { display: flex; gap: 8px; margin-top: 5px; }
.tt-day-col { flex: 1; background: rgba(255,255,255,0.02); border: 1px solid var(--tt-line-solid); border-radius: 6px; padding: 8px; cursor: pointer; transition: 0.2s; display: flex; flex-direction: column; gap: 4px; min-height: 80px; }
.tt-day-col:hover { background: rgba(255,255,255,0.05); border-color: #f2c14a; }
.tt-day-head { font-weight: 800; font-size: 11px; color: #fff; text-align: center; }
.tt-day-date { font-size: 9px; color: var(--tt-faint); text-align: center; display: block; }
.tt-time-bar { height: 4px; background: #2a303c; border-radius: 2px; overflow: hidden; display: flex; margin-top: auto; }
.tt-tb-seg { flex: 1; border-right: 1px solid var(--tt-surface-solid); }
.tt-tb-seg.active { background: var(--tt-green); }

/* MODAL */
.tt-modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.85); z-index: 2000; backdrop-filter: blur(5px); align-items: center; justify-content: center; }
.tt-modal-overlay.active { display: flex; }
.tt-modal-lg { width: 95%; max-width: 900px; background: var(--tt-surface-solid); border: 1px solid #f2c14a; border-radius: 10px; padding: 25px; box-shadow: 0 0 50px rgba(0,0,0,0.8); max-height: 90vh; overflow-y: auto; }

.tt-time-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin: 20px 0; }
.tt-time-block { background: rgba(255,255,255,0.02); border: 1px solid var(--tt-line-solid); border-radius: 8px; padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.tt-tb-title { font-size: 12px; font-weight: 800; color: #f2c14a; text-transform: uppercase; text-align: center; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 8px; margin-bottom: 5px; }
.tt-time-slot { background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); border-radius: 4px; padding: 8px 0; text-align: center; font-size: 12px; color: var(--tt-muted); cursor: pointer; user-select: none; transition: 0.1s; }
.tt-time-slot:hover { border-color: var(--tt-muted); color: #fff; }
.tt-time-slot.selected { background: var(--tt-green); color: #000; font-weight: 800; border-color: var(--tt-green); box-shadow: 0 0 10px rgba(61,220,132,0.2); }

.tt-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.tt-btn-save { background: #f2c14a; color: #000; border: none; padding: 8px 25px; font-weight: 800; border-radius: 6px; cursor: pointer; }
.tt-btn-cancel { background: transparent; border: 1px solid var(--tt-line-solid); color: var(--tt-text-soft); padding: 8px 25px; border-radius: 6px; cursor: pointer; }

/* RESPONSIVE */
@media (max-width: 1400px) {
    .tt-dash-grid { grid-template-columns: repeat(6, 1fr); }
    .w-ally-info, .w-quota, .w-bonus { grid-column: span 2; }
    .w-off, .w-supporter { grid-column: span 3; }
    .w-list-box { grid-column: span 3; }
    .w-online { grid-column: span 6; }
}

@media (max-width: 900px) {
    .tt-dash-grid { grid-template-columns: repeat(2, 1fr); }
    .w-ally-info, .w-quota, .w-bonus, .w-off, .w-supporter { grid-column: span 1; }
    .w-list-box { grid-column: span 2; }
    .w-online { grid-column: span 2; }
    .tt-time-cols { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .tt-dash-grid { grid-template-columns: 1fr; }
    .w-ally-info, .w-quota, .w-bonus, .w-off, .w-supporter, .w-list-box, .w-online { grid-column: span 1; }
    .tt-time-cols { grid-template-columns: 1fr; }
}

/* --- merged from join.css --- */
/* Join Wizard shared styles */
body.tt-app-body{
  background: var(--tt-bg-0);
}
.wiz-card{
  background:var(--tt-surface-solid);
  border:1px solid var(--tt-line-solid);
  border-top:4px solid #f2c14a;
  border-radius:14px;
  width:100%;
  max-width:560px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.45);
  margin: 8px auto 24px;
}
.wiz-head{
  background:rgba(255,255,255,.03);
  padding:16px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--tt-line-solid);
}
.wiz-title{font-weight:900;color:#fff;text-transform:uppercase;font-size:14px;letter-spacing:.04em}
.wiz-lang{font-size:11px;color:var(--tt-muted);cursor:pointer}
.wiz-body{padding:28px 26px;text-align:center}
.step{display:none;animation:wizFade .25s ease}
.step.active{display:block}
@keyframes wizFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.wiz-icon{font-size:42px;color:#f2c14a;margin-bottom:14px}
.wiz-h2{color:#fff;font-size:22px;font-weight:800;margin:0 0 10px}
.wiz-p{color:#97a3b6;font-size:13px;line-height:1.55;margin:0 0 24px}
.wiz-input,.wiz-select{width:100%;background:var(--tt-bg-2);border:1px solid var(--tt-line-solid);color:#fff;padding:12px 14px;border-radius:10px;box-sizing:border-box;margin-bottom:14px;font-size:14px}
.wiz-input:focus,.wiz-select:focus{border-color:#f2c14a;outline:none;box-shadow:0 0 0 3px rgba(242,193,74,.12)}
.wiz-btn{background:linear-gradient(135deg,#f2c14a,var(--tt-gold-2));border:none;width:100%;padding:12px 16px;border-radius:10px;color:#000;font-weight:800;text-transform:uppercase;cursor:pointer;font-size:14px;margin-top:10px}
.wiz-btn:hover{filter:brightness(1.06)}
.wiz-btn-sec{background:transparent;border:1px solid var(--tt-line-solid);color:#b3bcc9}
.wiz-btn-sec:hover{border-color:var(--tt-faint);color:#fff}
.note-box{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.22);color:#7fc1ff;padding:12px;border-radius:10px;font-size:12px;margin-bottom:20px;text-align:left;display:flex;gap:10px;align-items:flex-start}
.note-warn{background:rgba(255,92,92,.1);border-color:var(--tt-red);color:#ff9a95}
@media (max-width: 700px){.wiz-card{max-width:100%}.wiz-body{padding:22px 18px}.wiz-h2{font-size:20px}}


/* --- merged from kommunikation_discord.css --- */
/* travtools/css/kommunikation_discord.css */

.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from kommunikation_gruppenchat.css --- */
/* kommunikation_gruppenchat.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;
}

/* --- BADGES ORIGINAL DESIGN (FIXED) --- */
.tt-badge {
    display: inline-block; width: 12px; height: 12px; border-radius: 50%; position: relative; margin-left: 2px; vertical-align: -1px; flex-shrink: 0;
}
.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);
}
.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); }
.tt-badge.is-premium::after { border-color: #fff; }
.tt-badge.is-elite { background: #fff; box-shadow: 0 0 8px rgba(255,255,255,0.8); }

/* LAYOUT */
.tt-chat-wrap { display: flex; height: calc(100vh - 180px); min-height: 600px; background: var(--darkBg); border: 1px solid var(--lineColor); border-radius: 12px; overflow: hidden; margin:0; }
.tt-chat-sidebar { width: 290px; background: var(--darkPanel); border-right: 1px solid var(--lineColor); display: flex; flex-direction: column; }
.tt-chat-sb-header { padding: 15px; 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: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-radius: 6px; cursor: pointer; transition: 0.2s; border: 1px solid transparent; }
.tt-u-item:hover { background: rgba(255,255,255,0.04); }
.tt-u-item.active { background: rgba(37, 99, 235, 0.1); border-color: rgba(37, 99, 235, 0.3); }
.tt-u-content { flex: 1; display: flex; align-items: center; overflow: hidden; }
.tt-u-name { font-weight: 700; color: #fff; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-part-btn { background: transparent; border: none; color: var(--tt-faint-2); padding: 4px 8px; border-radius: 4px; cursor: pointer; transition: 0.2s; margin-left: 5px; }
.tt-part-btn:hover { background: rgba(255,255,255,0.1); color: var(--tt-text-soft); }
.tt-u-item.active .tt-part-btn { color: var(--royalBlue); }

/* MAIN */
.tt-chat-main { flex: 1; display: flex; flex-direction: column; background: var(--darkBg); }
.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; }

.tt-msg-area { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 8px; background-color: var(--tt-bg-1); background-image: radial-gradient(var(--tt-surface-hover-solid) 1px, transparent 1px); background-size: 20px 20px; }
.tt-msg-area::-webkit-scrollbar { width: 6px; }
.tt-msg-area::-webkit-scrollbar-thumb { background: var(--lineColor); border-radius: 3px; }

.tt-msg { display: flex; flex-direction: column; max-width: 80%; }
.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; border-radius: 8px; color: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.tt-msg.own .tt-msg-bubble { background: var(--royalBlue); border-bottom-right-radius: 2px; }
.tt-msg.other .tt-msg-bubble { background: #1f242c; border: 1px solid var(--lineColor); border-bottom-left-radius: 2px; border-left: 2px solid var(--brandGold); }
.tt-msg-meta { font-size: 10px; color: var(--tt-faint); margin-top: 2px; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.tt-sender-name { font-weight: 700; color: var(--tt-muted); }

.tt-role-label { background: var(--tt-line-solid); color: var(--tt-text-soft); padding: 1px 4px; border-radius: 3px; font-size: 9px; text-transform: uppercase; font-weight: 700; }
.tt-role-hc { background: rgba(242, 193, 74, 0.15); color: var(--brandGold); border: 1px solid rgba(242, 193, 74, 0.3); }
.tt-ally-tag { color: var(--tt-blue-3); font-weight: 600; }

.tt-input-wrapper { background: var(--darkPanel); border-top: 1px solid var(--lineColor); padding: 15px; }
.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: 10px; color: #fff; height: 45px; resize: none; font-family: inherit; }
.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; text-transform: uppercase; font-size: 12px; }
.tt-send-btn:hover { filter: brightness(1.1); }

.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: 500px; max-width: 90%; border-radius: 8px; border: 1px solid var(--royalBlue); box-shadow: 0 25px 50px rgba(0,0,0,0.5); overflow: hidden; }
.tt-modal-header { padding: 12px 20px; background: rgba(37, 99, 235, 0.1); border-bottom: 1px solid var(--royalBlue); 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: #fff; font-size: 20px; cursor: pointer; }
.tt-modal-body { padding: 0; max-height: 400px; overflow-y: auto; }
.tt-part-row { display: flex; justify-content: space-between; padding: 8px 15px; border-bottom: 1px solid var(--lineColor); align-items: center; }
.tt-part-row:last-child { border-bottom: none; }
.tt-part-name { font-weight: 700; font-size: 13px; color: var(--tt-text-soft); }
.tt-part-role { font-size: 11px; color: var(--tt-muted); }
@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; } }

/* 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;
}


/* Follow-up: schönere Chatlisten */
.tt-friend-list{padding:10px;gap:8px;}
.tt-friend-list .tt-u-item{min-height:72px;padding:14px 16px!important;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.tt-friend-list .tt-u-item::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:4px;background:linear-gradient(180deg, rgba(255,215,122,.95), rgba(242,193,74,.35));opacity:0;transition:opacity .18s ease, box-shadow .18s ease;}
.tt-friend-list .tt-u-item.active::before,.tt-friend-list .tt-u-item:hover::before{opacity:1;box-shadow:0 0 12px rgba(242,193,74,.25);}
.tt-friend-list .tt-u-item.active{background:linear-gradient(135deg, rgba(20,76,200,.22), rgba(242,193,74,.06));border-color:rgba(242,193,74,.18);box-shadow:0 0 0 1px rgba(242,193,74,.08) inset;}
.tt-u-name{font-size:14px;font-weight:800;display:flex;align-items:center;gap:6px;}


/* Block 6 UI final follow-up */
.tt-chat-wrap{grid-template-columns:minmax(240px,280px) minmax(0,1fr)!important;}
.tt-chat-sidebar{width:280px!important;min-width:280px!important;}
.tt-friend-list .tt-u-item .tt-u-msg{display:none!important;}
.tt-friend-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;}


/* fix6 gruppenchat consistency */
.tt-chat-wrap{grid-template-columns:minmax(240px,270px) minmax(0,1fr)!important;height:calc(100vh - 145px)!important;min-height:680px!important;}
.tt-chat-sidebar{width:auto!important;min-width:240px!important;}
.tt-user-list .tt-u-item,.tt-friend-list .tt-u-item,.tt-ticket-item{min-height:60px!important;padding:10px 12px!important;border-radius:16px!important;}


/* === BLOCK 6: unified chat shell polish === */
.tt-chat-wrap{
  width:100%;
  min-width:0;
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  align-items:stretch;
  height:calc(100vh - 180px);
  min-height:620px;
  max-height:none;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  max-width:none;
  display:flex;
  flex-direction:column;
}
.tt-chat-sb-header{
  padding:14px 16px;
  min-height:58px;
}
.tt-sb-title{
  gap:10px;
  min-width:0;
}
.tt-friend-list{
  padding:8px;
  gap:6px;
}
.tt-u-item{
  min-width:0;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid transparent !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tt-u-item:hover{
  background:rgba(37,99,235,.10) !important;
  border-color:rgba(242,193,74,.18) !important;
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
  transform:none !important;
}
.tt-u-item.active{
  background:rgba(37,99,235,.16) !important;
  border-color:rgba(37,99,235,.34) !important;
  box-shadow:inset 4px 0 0 rgba(242,193,74,.96), 0 0 0 1px rgba(37,99,235,.14);
}
.tt-u-name,
.tt-sender-name{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  line-height:1.25;
}
.tt-u-name{font-size:13px !important; font-weight:800;}
.tt-u-msg,
.tt-u-preview,
.tt-last-msg,
.tt-last-message,
.tt-u-sub,
.tt-u-meta{
  font-size:11px;
  color:#8b95a7;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tt-badge{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  margin-left:2px !important;
  vertical-align:middle !important;
  flex:0 0 12px;
}
.tt-msg-meta .tt-badge,
.tt-msg-header .tt-badge,
.tt-chat-badge .tt-badge,
.tt-sender-name .tt-badge{
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
  flex-basis:10px;
}
.tt-msg-header,
.tt-input-wrapper{
  padding-left:16px;
  padding-right:16px;
}
.tt-msg-area{
  min-height:0;
  padding:18px 16px;
}
.tt-msg{max-width:min(78%,780px);}
.tt-msg-bubble{
  border-radius:12px !important;
  line-height:1.5;
}
.tt-chat-textarea{
  min-height:46px;
  max-height:160px;
  border-radius:10px;
}
.tt-send-btn,
.tt-act-btn,
.tt-icon-btn,
.tt-view-btn{
  min-height:38px;
  border-radius:10px !important;
}
@media (max-width: 980px){
  .tt-chat-wrap{
    grid-template-columns:1fr !important;
    height:auto;
    min-height:0;
  }
  .tt-chat-sidebar{
    border-right:none !important;
    border-bottom:1px solid var(--lineColor,var(--tt-line-solid));
  }
  .tt-chat-main{
    min-height:520px;
  }
}

/* === Block 8 targeted repair: chat shell consistency === */
.tt-chat-wrap{
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr) !important;
  width:100%;
  height:calc(100vh - 190px) !important;
  min-height:620px !important;
  max-height:none;
  align-items:stretch;
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  height:100%;
}
.tt-chat-main{min-width:0;height:100%;}
.tt-friend-list,.tt-chat-list,.tt-ticket-list{padding:6px !important;gap:6px !important;}
.tt-friend-list .tt-u-item,.tt-list-click,.tt-ticket-item,.tt-chat-user,.tt-chat-item{
  padding:10px 12px !important;
  border-radius:12px !important;
  min-height:0 !important;
  transform:none !important;
}
.tt-friend-list .tt-u-item:hover,.tt-list-click:hover,.tt-ticket-item:hover,.tt-chat-user:hover,.tt-chat-item:hover{
  transform:none !important;
}
.tt-friend-list .tt-u-item .tt-u-msg,.tt-ticket-preview,.tt-chat-preview{display:none !important;}
.tt-friend-list .tt-u-item .tt-u-name,.tt-ticket-title,.tt-chat-title{font-size:13px !important;line-height:1.3;}
.tt-msg-area{padding:16px !important;gap:10px !important;}
.tt-msg-bubble{border-radius:14px !important;}
.tt-input-wrapper{padding:12px !important;}
.tt-chat-textarea{min-height:46px !important;height:46px !important;border-radius:12px !important;}
.tt-send-btn{min-width:120px;}
.tt-msg-meta .tt-badge,.tt-sender-name .tt-badge,.tt-u-name .tt-badge{
  width:10px !important;height:10px !important;min-width:10px !important;margin-left:2px !important;vertical-align:middle !important;
}
.tt-msg-meta .tt-badge::after,.tt-sender-name .tt-badge::after,.tt-u-name .tt-badge::after{
  width:2px !important;height:4px !important;border-width:0 1.2px 1.2px 0 !important;
}
@media (max-width: 900px){
  .tt-chat-wrap{grid-template-columns:1fr !important;height:auto !important;min-height:0 !important;}
  .tt-chat-sidebar{height:300px;}
  .tt-chat-main{min-height:520px;}
}


/* --- merged from kommunikation_nachricht_hcs.css --- */
/* MASTER CHAT DESIGN (Royal Blue & Grid Background) */

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

/* HAUPT CONTAINER */
.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);
}

/* SIDEBAR (Links) */
.tt-chat-sidebar {
    width: 300px;
    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: 10px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* LIST ITEM */
.tt-u-item {
    display: block;
    padding: 12px 15px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    border: 1px solid transparent;
}

.tt-u-item:hover {
    background: rgba(255, 255, 255, 0.04);
}

.tt-u-item.active {
    background: rgba(37, 99, 235, 0.1);
    border-color: rgba(37, 99, 235, 0.3);
}

.tt-u-name {
    font-weight: 700;
    color: #fff;
    font-size: 13px;
    margin-bottom: 3px;
    display: flex;
    justify-content: space-between;
}

.tt-u-msg {
    font-size: 11px;
    color: var(--tt-faint);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* MAIN CHAT BEREICH (Rechts) */
.tt-chat-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: var(--darkBg);
    position: relative;
}

/* HEADER */
.tt-msg-header {
    height: 55px;
    padding: 0 25px;
    border-bottom: 1px solid var(--lineColor);
    display: flex;
    align-items: center;
    background: var(--darkPanel);
    z-index: 10;
}

.tt-active-user {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* CHAT AREA MIT GRID HINTERGRUND */
.tt-msg-area {
    flex: 1;
    overflow-y: auto;
    padding: 25px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    
    /* DAS GRID MUSTER */
    background-color: var(--tt-bg-1);
    background-image: radial-gradient(#252a33 1px, transparent 1px);
    background-size: 20px 20px;
}

.tt-msg-area::-webkit-scrollbar { width: 8px; }
.tt-msg-area::-webkit-scrollbar-thumb { background: var(--lineColor); border-radius: 4px; }

/* NACHRICHTEN BUBBLES */
.tt-msg {
    display: flex;
    flex-direction: column;
    max-width: 75%;
    margin-bottom: 5px;
    animation: fadeIn 0.15s ease-out;
}

@keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

/* EIGENE NACHRICHTEN (RECHTS) */
.tt-msg.own {
    align-self: flex-end;
    align-items: flex-end;
}

.tt-msg.own .tt-msg-bubble {
    background: var(--royalBlue);
    color: #fff;
    border-radius: 12px 12px 2px 12px; /* Zipfel unten rechts */
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2);
}

/* ANDERE NACHRICHTEN (LINKS) */
.tt-msg.other {
    align-self: flex-start;
    align-items: flex-start;
}

.tt-msg.other .tt-msg-bubble {
    background: #1f242c;
    color: #e0e0e0;
    border: 1px solid var(--lineColor);
    border-radius: 12px 12px 12px 2px; /* Zipfel unten links */
    /* Optional: Goldene Kante links für "Wichtig" Look */
    border-left: 3px solid var(--brandGold); 
}

.tt-msg-bubble {
    padding: 10px 16px;
    font-size: 14px;
    line-height: 1.5;
    position: relative;
    word-wrap: break-word;
}

/* META INFOS (Name, Zeit, Rolle) */
.tt-msg-meta {
    font-size: 10px;
    color: var(--tt-faint);
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 2px;
}

.tt-msg.own .tt-msg-meta { justify-content: flex-end; }

/* BADGES & LABELS */
.tt-sender-name { font-weight: 700; color: var(--tt-muted); }
.tt-chat-badge { transform: scale(0.8); }

.tt-role-label {
    background: var(--tt-line-solid);
    color: var(--tt-text-soft);
    padding: 1px 4px;
    border-radius: 3px;
    font-size: 9px;
    text-transform: uppercase;
    font-weight: 700;
}

.tt-role-hc {
    background: rgba(242, 193, 74, 0.15);
    color: var(--brandGold);
    border: 1px solid rgba(242, 193, 74, 0.3);
}

.tt-ally-tag {
    color: var(--tt-blue-3);
    font-weight: 600;
}

/* INPUT BEREICH */
.tt-input-wrapper {
    background: var(--darkPanel);
    border-top: 1px solid var(--lineColor);
    padding: 20px;
}

.tt-input-row {
    display: flex;
    gap: 15px;
    align-items: flex-end;
}

.tt-chat-textarea {
    flex: 1;
    background: var(--darkBg);
    border: 1px solid var(--lineColor);
    border-radius: 8px;
    padding: 12px;
    color: #fff;
    height: 50px;
    resize: none;
    font-family: inherit;
    transition: border-color 0.2s;
}

.tt-chat-textarea:focus {
    border-color: var(--royalBlue);
    outline: none;
}

.tt-send-btn {
    height: 50px;
    padding: 0 25px;
    background: var(--royalBlue);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 800;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 12px;
    transition: filter 0.2s;
}

.tt-send-btn:hover {
    filter: brightness(1.1);
}

@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; }
}

/* 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 – Kommunikationsbereich */
.tt-chat-main { min-width: 0; }
.tt-msg-area { min-height: 320px; }
.tt-input-row { width: 100%; }


/* Follow-up: schönere Chatlisten */
.tt-friend-list{padding:10px;gap:8px;}
.tt-friend-list .tt-u-item{min-height:72px;padding:14px 16px!important;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.tt-friend-list .tt-u-item::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:4px;background:linear-gradient(180deg, rgba(255,215,122,.95), rgba(242,193,74,.35));opacity:0;transition:opacity .18s ease, box-shadow .18s ease;}
.tt-friend-list .tt-u-item.active::before,.tt-friend-list .tt-u-item:hover::before{opacity:1;box-shadow:0 0 12px rgba(242,193,74,.25);}
.tt-friend-list .tt-u-item.active{background:linear-gradient(135deg, rgba(20,76,200,.22), rgba(242,193,74,.06));border-color:rgba(242,193,74,.18);box-shadow:0 0 0 1px rgba(242,193,74,.08) inset;}
.tt-u-name{font-size:14px;font-weight:800;display:flex;align-items:center;gap:6px;}


/* Block 6 UI final follow-up */
.tt-chat-wrap{grid-template-columns:minmax(240px,280px) minmax(0,1fr)!important;}
.tt-chat-sidebar{width:280px!important;min-width:280px!important;}
.tt-friend-list .tt-u-item .tt-u-msg{display:none!important;}
.tt-friend-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;}


/* fix6 hcs consistency */
.tt-chat-wrap{grid-template-columns:minmax(240px,270px) minmax(0,1fr)!important;height:calc(100vh - 145px)!important;min-height:680px!important;}


/* === BLOCK 6: unified chat shell polish === */
.tt-chat-wrap{
  width:100%;
  min-width:0;
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  align-items:stretch;
  height:calc(100vh - 180px);
  min-height:620px;
  max-height:none;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  max-width:none;
  display:flex;
  flex-direction:column;
}
.tt-chat-sb-header{
  padding:14px 16px;
  min-height:58px;
}
.tt-sb-title{
  gap:10px;
  min-width:0;
}
.tt-friend-list{
  padding:8px;
  gap:6px;
}
.tt-u-item{
  min-width:0;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid transparent !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tt-u-item:hover{
  background:rgba(37,99,235,.10) !important;
  border-color:rgba(242,193,74,.18) !important;
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
  transform:none !important;
}
.tt-u-item.active{
  background:rgba(37,99,235,.16) !important;
  border-color:rgba(37,99,235,.34) !important;
  box-shadow:inset 4px 0 0 rgba(242,193,74,.96), 0 0 0 1px rgba(37,99,235,.14);
}
.tt-u-name,
.tt-sender-name{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  line-height:1.25;
}
.tt-u-name{font-size:13px !important; font-weight:800;}
.tt-u-msg,
.tt-u-preview,
.tt-last-msg,
.tt-last-message,
.tt-u-sub,
.tt-u-meta{
  font-size:11px;
  color:#8b95a7;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tt-badge{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  margin-left:2px !important;
  vertical-align:middle !important;
  flex:0 0 12px;
}
.tt-msg-meta .tt-badge,
.tt-msg-header .tt-badge,
.tt-chat-badge .tt-badge,
.tt-sender-name .tt-badge{
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
  flex-basis:10px;
}
.tt-msg-header,
.tt-input-wrapper{
  padding-left:16px;
  padding-right:16px;
}
.tt-msg-area{
  min-height:0;
  padding:18px 16px;
}
.tt-msg{max-width:min(78%,780px);}
.tt-msg-bubble{
  border-radius:12px !important;
  line-height:1.5;
}
.tt-chat-textarea{
  min-height:46px;
  max-height:160px;
  border-radius:10px;
}
.tt-send-btn,
.tt-act-btn,
.tt-icon-btn,
.tt-view-btn{
  min-height:38px;
  border-radius:10px !important;
}
@media (max-width: 980px){
  .tt-chat-wrap{
    grid-template-columns:1fr !important;
    height:auto;
    min-height:0;
  }
  .tt-chat-sidebar{
    border-right:none !important;
    border-bottom:1px solid var(--lineColor,var(--tt-line-solid));
  }
  .tt-chat-main{
    min-height:520px;
  }
}

/* === Block 8 targeted repair: chat shell consistency === */
.tt-chat-wrap{
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr) !important;
  width:100%;
  height:calc(100vh - 190px) !important;
  min-height:620px !important;
  max-height:none;
  align-items:stretch;
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  height:100%;
}
.tt-chat-main{min-width:0;height:100%;}
.tt-friend-list,.tt-chat-list,.tt-ticket-list{padding:6px !important;gap:6px !important;}
.tt-friend-list .tt-u-item,.tt-list-click,.tt-ticket-item,.tt-chat-user,.tt-chat-item{
  padding:10px 12px !important;
  border-radius:12px !important;
  min-height:0 !important;
  transform:none !important;
}
.tt-friend-list .tt-u-item:hover,.tt-list-click:hover,.tt-ticket-item:hover,.tt-chat-user:hover,.tt-chat-item:hover{
  transform:none !important;
}
.tt-friend-list .tt-u-item .tt-u-msg,.tt-ticket-preview,.tt-chat-preview{display:none !important;}
.tt-friend-list .tt-u-item .tt-u-name,.tt-ticket-title,.tt-chat-title{font-size:13px !important;line-height:1.3;}
.tt-msg-area{padding:16px !important;gap:10px !important;}
.tt-msg-bubble{border-radius:14px !important;}
.tt-input-wrapper{padding:12px !important;}
.tt-chat-textarea{min-height:46px !important;height:46px !important;border-radius:12px !important;}
.tt-send-btn{min-width:120px;}
.tt-msg-meta .tt-badge,.tt-sender-name .tt-badge,.tt-u-name .tt-badge{
  width:10px !important;height:10px !important;min-width:10px !important;margin-left:2px !important;vertical-align:middle !important;
}
.tt-msg-meta .tt-badge::after,.tt-sender-name .tt-badge::after,.tt-u-name .tt-badge::after{
  width:2px !important;height:4px !important;border-width:0 1.2px 1.2px 0 !important;
}
@media (max-width: 900px){
  .tt-chat-wrap{grid-template-columns:1fr !important;height:auto !important;min-height:0 !important;}
  .tt-chat-sidebar{height:300px;}
  .tt-chat-main{min-height:520px;}
}


/* --- merged from kommunikation_vip_chat.css --- */
/* kommunikation_gruppenchat.css (MASTER ROYAL DESIGN + PARTICIPANTS) */

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

.tt-chat-wrap { display: flex; height: calc(100vh - 180px); min-height: 600px; background: var(--darkBg); border: 1px solid var(--lineColor); border-radius: 12px; overflow: hidden; margin:0; }
.tt-chat-sidebar { width: 290px; background: var(--darkPanel); border-right: 1px solid var(--lineColor); display: flex; flex-direction: column; }
.tt-chat-sb-header { padding: 15px; 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 (Raum) - Flexbox für Button rechts */
.tt-u-item { 
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 12px; border-radius: 6px; cursor: pointer; transition: 0.2s; border: 1px solid transparent; 
}
.tt-u-item:hover { background: rgba(255,255,255,0.04); }
.tt-u-item.active { background: rgba(37, 99, 235, 0.1); border-color: rgba(37, 99, 235, 0.3); }

/* Klickbereich für Raumwechsel */
.tt-u-content { flex: 1; display: flex; align-items: center; overflow: hidden; }
.tt-u-name { font-weight: 700; color: #fff; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* NEU: Teilnehmer Button */
.tt-part-btn {
    background: transparent; border: none; color: var(--tt-faint-2); padding: 4px 8px; 
    border-radius: 4px; cursor: pointer; transition: 0.2s; margin-left: 5px;
}
.tt-part-btn:hover { background: rgba(255,255,255,0.1); color: var(--tt-text-soft); }
.tt-u-item.active .tt-part-btn { color: var(--royalBlue); }
.tt-u-item.active .tt-part-btn:hover { color: #fff; background: var(--royalBlue); }

/* MAIN AREA */
.tt-chat-main { flex: 1; display: flex; flex-direction: column; background: var(--darkBg); }
.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; }

/* CHAT AREA WITH GRID */
.tt-msg-area { 
    flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 8px; 
    background-color: var(--tt-bg-1); background-image: radial-gradient(var(--tt-surface-hover-solid) 1px, transparent 1px); background-size: 20px 20px;
}
.tt-msg-area::-webkit-scrollbar { width: 6px; }
.tt-msg-area::-webkit-scrollbar-thumb { background: var(--lineColor); border-radius: 3px; }

/* BUBBLES */
.tt-msg { display: flex; flex-direction: column; max-width: 80%; }
.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; border-radius: 8px; color: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.tt-msg.own .tt-msg-bubble { background: var(--royalBlue); border-bottom-right-radius: 2px; }
.tt-msg.other .tt-msg-bubble { background: #1f242c; border: 1px solid var(--lineColor); border-bottom-left-radius: 2px; border-left: 2px solid var(--brandGold); }

.tt-msg-meta { font-size: 10px; color: var(--tt-faint); margin-top: 2px; display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.tt-sender-name { font-weight: 700; color: var(--tt-muted); }
.tt-chat-badge { transform: scale(0.8); }

/* BADGES */
.tt-role-label { background: var(--tt-line-solid); color: var(--tt-text-soft); padding: 1px 4px; border-radius: 3px; font-size: 9px; text-transform: uppercase; font-weight: 700; }
.tt-role-hc { background: rgba(242, 193, 74, 0.15); color: var(--brandGold); border: 1px solid rgba(242, 193, 74, 0.3); }
.tt-ally-tag { color: var(--tt-blue-3); font-weight: 600; }

/* INPUT */
.tt-input-wrapper { background: var(--darkPanel); border-top: 1px solid var(--lineColor); padding: 15px; }
.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: 10px; color: #fff; height: 45px; resize: none; font-family: inherit; }
.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; text-transform: uppercase; font-size: 12px; }
.tt-send-btn:hover { filter: brightness(1.1); }

/* 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: 500px; max-width: 90%; border-radius: 8px; border: 1px solid var(--royalBlue); box-shadow: 0 25px 50px rgba(0,0,0,0.5); overflow: hidden; }
.tt-modal-header { padding: 12px 20px; background: rgba(37, 99, 235, 0.1); border-bottom: 1px solid var(--royalBlue); 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: #fff; font-size: 20px; cursor: pointer; }
.tt-modal-body { padding: 0; max-height: 400px; overflow-y: auto; }

/* PARTICIPANT LIST IN MODAL */
.tt-part-row { display: flex; justify-content: space-between; padding: 8px 15px; border-bottom: 1px solid var(--lineColor); align-items: center; }
.tt-part-row:last-child { border-bottom: none; }
.tt-part-name { font-weight: 700; font-size: 13px; color: var(--tt-text-soft); }
.tt-part-role { font-size: 11px; color: var(--tt-muted); }

@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; }
}

/* 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;
}


/* Follow-up: schönere Chatlisten */
.tt-friend-list{padding:10px;gap:8px;}
.tt-friend-list .tt-u-item{min-height:72px;padding:14px 16px!important;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.tt-friend-list .tt-u-item::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:4px;background:linear-gradient(180deg, rgba(255,215,122,.95), rgba(242,193,74,.35));opacity:0;transition:opacity .18s ease, box-shadow .18s ease;}
.tt-friend-list .tt-u-item.active::before,.tt-friend-list .tt-u-item:hover::before{opacity:1;box-shadow:0 0 12px rgba(242,193,74,.25);}
.tt-friend-list .tt-u-item.active{background:linear-gradient(135deg, rgba(20,76,200,.22), rgba(242,193,74,.06));border-color:rgba(242,193,74,.18);box-shadow:0 0 0 1px rgba(242,193,74,.08) inset;}
.tt-u-name{font-size:14px;font-weight:800;display:flex;align-items:center;gap:6px;}


/* Block 6 UI final follow-up */
.tt-chat-wrap{grid-template-columns:minmax(240px,280px) minmax(0,1fr)!important;}
.tt-chat-sidebar{width:280px!important;min-width:280px!important;}
.tt-friend-list .tt-u-item{min-height:68px!important;}
.tt-friend-list .tt-u-item .tt-u-name{display:flex;align-items:center;gap:0!important;font-size:13px!important;}
.tt-friend-list .tt-u-item .tt-u-msg{display:none!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;}


/* fix6 vip chat consistency */
.tt-chat-wrap{grid-template-columns:minmax(240px,270px) minmax(0,1fr)!important;height:calc(100vh - 145px)!important;min-height:680px!important;}
.tt-chat-sidebar{width:auto!important;min-width:240px!important;}
.tt-user-list .tt-u-item,.tt-friend-list .tt-u-item,.tt-ticket-item{min-height:60px!important;padding:10px 12px!important;border-radius:16px!important;}


/* === BLOCK 6: unified chat shell polish === */
.tt-chat-wrap{
  width:100%;
  min-width:0;
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  align-items:stretch;
  height:calc(100vh - 180px);
  min-height:620px;
  max-height:none;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  max-width:none;
  display:flex;
  flex-direction:column;
}
.tt-chat-sb-header{
  padding:14px 16px;
  min-height:58px;
}
.tt-sb-title{
  gap:10px;
  min-width:0;
}
.tt-friend-list{
  padding:8px;
  gap:6px;
}
.tt-u-item{
  min-width:0;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid transparent !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tt-u-item:hover{
  background:rgba(37,99,235,.10) !important;
  border-color:rgba(242,193,74,.18) !important;
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
  transform:none !important;
}
.tt-u-item.active{
  background:rgba(37,99,235,.16) !important;
  border-color:rgba(37,99,235,.34) !important;
  box-shadow:inset 4px 0 0 rgba(242,193,74,.96), 0 0 0 1px rgba(37,99,235,.14);
}
.tt-u-name,
.tt-sender-name{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  line-height:1.25;
}
.tt-u-name{font-size:13px !important; font-weight:800;}
.tt-u-msg,
.tt-u-preview,
.tt-last-msg,
.tt-last-message,
.tt-u-sub,
.tt-u-meta{
  font-size:11px;
  color:#8b95a7;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tt-badge{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  margin-left:2px !important;
  vertical-align:middle !important;
  flex:0 0 12px;
}
.tt-msg-meta .tt-badge,
.tt-msg-header .tt-badge,
.tt-chat-badge .tt-badge,
.tt-sender-name .tt-badge{
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
  flex-basis:10px;
}
.tt-msg-header,
.tt-input-wrapper{
  padding-left:16px;
  padding-right:16px;
}
.tt-msg-area{
  min-height:0;
  padding:18px 16px;
}
.tt-msg{max-width:min(78%,780px);}
.tt-msg-bubble{
  border-radius:12px !important;
  line-height:1.5;
}
.tt-chat-textarea{
  min-height:46px;
  max-height:160px;
  border-radius:10px;
}
.tt-send-btn,
.tt-act-btn,
.tt-icon-btn,
.tt-view-btn{
  min-height:38px;
  border-radius:10px !important;
}
@media (max-width: 980px){
  .tt-chat-wrap{
    grid-template-columns:1fr !important;
    height:auto;
    min-height:0;
  }
  .tt-chat-sidebar{
    border-right:none !important;
    border-bottom:1px solid var(--lineColor,var(--tt-line-solid));
  }
  .tt-chat-main{
    min-height:520px;
  }
}

/* === Block 8 targeted repair: chat shell consistency === */
.tt-chat-wrap{
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr) !important;
  width:100%;
  height:calc(100vh - 190px) !important;
  min-height:620px !important;
  max-height:none;
  align-items:stretch;
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  height:100%;
}
.tt-chat-main{min-width:0;height:100%;}
.tt-friend-list,.tt-chat-list,.tt-ticket-list{padding:6px !important;gap:6px !important;}
.tt-friend-list .tt-u-item,.tt-list-click,.tt-ticket-item,.tt-chat-user,.tt-chat-item{
  padding:10px 12px !important;
  border-radius:12px !important;
  min-height:0 !important;
  transform:none !important;
}
.tt-friend-list .tt-u-item:hover,.tt-list-click:hover,.tt-ticket-item:hover,.tt-chat-user:hover,.tt-chat-item:hover{
  transform:none !important;
}
.tt-friend-list .tt-u-item .tt-u-msg,.tt-ticket-preview,.tt-chat-preview{display:none !important;}
.tt-friend-list .tt-u-item .tt-u-name,.tt-ticket-title,.tt-chat-title{font-size:13px !important;line-height:1.3;}
.tt-msg-area{padding:16px !important;gap:10px !important;}
.tt-msg-bubble{border-radius:14px !important;}
.tt-input-wrapper{padding:12px !important;}
.tt-chat-textarea{min-height:46px !important;height:46px !important;border-radius:12px !important;}
.tt-send-btn{min-width:120px;}
.tt-msg-meta .tt-badge,.tt-sender-name .tt-badge,.tt-u-name .tt-badge{
  width:10px !important;height:10px !important;min-width:10px !important;margin-left:2px !important;vertical-align:middle !important;
}
.tt-msg-meta .tt-badge::after,.tt-sender-name .tt-badge::after,.tt-u-name .tt-badge::after{
  width:2px !important;height:4px !important;border-width:0 1.2px 1.2px 0 !important;
}
@media (max-width: 900px){
  .tt-chat-wrap{grid-template-columns:1fr !important;height:auto !important;min-height:0 !important;}
  .tt-chat-sidebar{height:300px;}
  .tt-chat-main{min-height:520px;}
}


/* --- merged from kommunikation_whatsapp.css --- */
/* travtools/css/kommunikation_whatsapp.css */

.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from login_change.css --- */
/* travtools/css/login_change.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout: Logo links, Karte rechts */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px; /* Schön kompakt wie beim Login */
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - DIÄT MODUS) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold);
  border-radius: 16px;
  
  /* Begrenzte Breite für edlen Look */
  width: 100%;
  max-width: 450px; 
  padding: 30px;
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 10px;
}
.tt-title i { color: var(--brandGold); font-size: 20px; }
.tt-subtitle { color: var(--muted); font-size: 13px; font-weight: 500; margin: 0; }

/* FORM & INPUTS */
.tt-form { display: flex; flex-direction: column; gap: 20px; }

.tt-field label {
  display: block; font-size: 11px; font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}

.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 13px; z-index: 2; pointer-events: none;
}

.tt-input {
  width: 100%; padding: 10px 14px; /* Kompakt */
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 36px; }
.tt-input:focus {
  border-color: var(--brandGold); background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.15);
}

/* GRID (Optional für New/Repeat PW nebeneinander) */
.tt-grid-2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: 15px;
}

/* BUTTON */
.tt-btn {
  margin-top: 10px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s; width: 100%; 
}
.tt-btn:hover { filter: brightness(1.1); transform:none; box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert-err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert-ok { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}
/* === Block 8 targeted repair: auth/form consistency === */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
  width:100%;
  max-width:1180px;
  margin:0;
  align-items:center;
  align-content:start;
  min-height:0;
}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,
.tt-card-auth,.tt-card-form{
  max-width:480px !important;
  width:100%;
  margin:0;
  min-height:0 !important;
  box-sizing:border-box;
  border-radius:18px;
}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{
  width:min(340px, 72%) !important;
  max-width:340px !important;
  transform:none !important;
  transition:opacity .2s ease, filter .2s ease !important;
}
.tt-big-logo img:hover,.tt-auth-logo img:hover,.tt-side-logo img:hover{transform:none !important;}
.tt-head,.tt-auth-head{margin-bottom:18px !important;padding-bottom:14px !important;}
.tt-head h1,.tt-auth-head h1{gap:10px !important; font-size:26px !important;}
.tt-sub,.tt-auth-sub{font-size:13px !important;line-height:1.35;}
.tt-form-grid,.tt-auth-form{gap:16px !important;}
.tt-input,.tt-select,.tt-textarea,.tt-search-input{
  min-height:46px;
  border-radius:12px !important;
}
.tt-btn,.tt-btn-dashboard,.tt-send-btn,.btn,.button{
  min-height:44px;
  border-radius:12px !important;
  transform:none !important;
}
.tt-btn:hover,.tt-btn-dashboard:hover,.tt-send-btn:hover,.btn:hover,.button:hover{
  transform:none !important;
}
@media (max-width: 900px){
  .tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,.tt-card-auth,.tt-card-form{
    max-width:none !important;
  }
}


/* --- merged from login_delete.css --- */
/* travtools/css/login_delete.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - Kompakt) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--tt-red); /* Roter Anker für "Löschen" */
  border-radius: 16px;
  
  width: 100%;
  max-width: 450px; 
  padding: 30px;
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 10px;
}
.tt-title i { color: var(--tt-red); font-size: 22px; } /* Rotes Icon */
.tt-subtitle { color: var(--muted); font-size: 13px; font-weight: 500; margin: 0; }

/* FORM & INPUTS */
.tt-form { display: flex; flex-direction: column; gap: 20px; }

.tt-field label {
  display: block; font-size: 11px; font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}

.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 13px; z-index: 2; pointer-events: none;
}

.tt-input {
  width: 100%; padding: 10px 14px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 36px; }
.tt-input:focus {
  border-color: var(--tt-red); /* Roter Fokus */
  background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(255,92,92, 0.15);
}

/* DANGER BUTTON */
.tt-btn-danger {
  margin-top: 10px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  /* Roter Verlauf */
  background: linear-gradient(135deg, var(--tt-red), #b91c1c); 
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s, box-shadow 0.2s; width: 100%; 
}
.tt-btn-danger:hover { 
  filter: brightness(1.1); 
  transform:none; 
  box-shadow: 0 4px 15px rgba(255,92,92, 0.3); 
}

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert-err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert-ok { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}

/* --- merged from login_email.css --- */
/* travtools/css/login_email.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px; /* Kompakt & scharf */
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - DIÄT MODUS) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold); /* Goldener Anker */
  border-radius: 16px;
  
  width: 100%;
  max-width: 450px; 
  padding: 30px;
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 10px;
}
.tt-title i { color: var(--brandGold); font-size: 20px; }
.tt-subtitle { color: var(--muted); font-size: 13px; font-weight: 500; margin: 0; }

/* FORM & INPUTS */
.tt-form { display: flex; flex-direction: column; gap: 20px; }

.tt-field label {
  display: block; font-size: 11px; font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}

.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 13px; z-index: 2; pointer-events: none;
}

.tt-input {
  width: 100%; padding: 10px 14px; /* Kompakt */
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 36px; }
.tt-input:focus {
  border-color: var(--brandGold); background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.15);
}

/* BUTTON */
.tt-btn {
  margin-top: 10px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s; width: 100%; 
}
.tt-btn:hover { filter: brightness(1.1);  box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert-err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert-ok { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}

.tt-auth-wrap{padding-inline:8px;}
.tt-auth-card{justify-self:start;}
@media(max-width:900px){.tt-auth-logo{order:2}.tt-auth-card{order:1}}


/* --- merged from login_forgot.css --- */
/* travtools/css/login_forgot.css */

/* Haupt-Container (Split Layout) — IDENTISCH zur Vorlage */
.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts) */
.tt-auth-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold);
  border-radius: 16px;

  width: 100%;
  max-width: 450px;
  padding: 30px;

  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER (Innerhalb der Karte) */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0px;
}
.tt-title i { color: var(--brandGold); font-size: 20px; }
.tt-subtitle { color: var(--muted); font-size: 13px; font-weight: 500; margin: 0; }

/* FORM & INPUTS */
.tt-form { display: flex; flex-direction: column; gap: 20px; }

.tt-field label {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: var(--tt-text-soft);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding-left: 2px;
}

.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
  font-size: 13px;
  z-index: 2;
  pointer-events: none;
}

.tt-input {
  width: 100%;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--line);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  outline: none;
  transition: all 0.2s;
  box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 36px; }
.tt-input:focus {
  border-color: var(--brandGold);
  background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.15);
}

/* BUTTON — 1:1 wie account_email_aendern.css */
.tt-btn {
  margin-top: 10px;
  padding: 12px 20px;
  border-radius: 10px;
  border: 0;

  cursor: pointer;
  font-weight: 800;
  font-size: 15px;

  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold));
  color: var(--tt-bg-0);

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  transition: transform 0.1s, filter 0.2s;
  width: 100%;
}
.tt-btn:hover {
  filter: brightness(1.1);
  transform:none;
  box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2);
}

/* ALERTS */
.tt-alert {
  padding: 10px 14px;
  border-radius: 10px;
  margin-bottom: 20px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 10px;
}
.tt-alert-err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert-ok  { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* Zurück Link */
.tt-back-link {
  display: block;
  text-align: center;
  margin-top: 15px;
  color: var(--muted);
  text-decoration: none;
  font-size: 13px;
  transition: color 0.2s;
}
.tt-back-link:hover { color: #fff; text-decoration: underline; }

/* Mobil-Optimierung — IDENTISCH zur Vorlage */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}


/* --- merged from login_login.css --- */
/* travtools/css/login_login.css */

.tt-login-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr; /* Platzaufteilung bleibt */
  gap: 40px;
  align-items: center; /* Vertikal mittig */
  margin-top: 40px;
}

/* LOGO (Links) */
.tt-big-logo {
  display: flex;
  justify-content: center; /* Zentriert in der linken Spalte */
  align-items: center;
}
.tt-big-logo img {
  width: 320px; /* KLEINER (war 420px) */
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 25px rgba(242, 193, 74, 0.2)); 
  transition: transform 0.3s;
}
.tt-big-logo img:hover { transform:none; }

/* CARD (Rechts) */
.tt-login-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold);
  border-radius: 16px; /* Etwas weniger rund */
  
  /* WICHTIG: DIÄT-MASSNAHMEN */
  padding: 30px; /* Weniger Padding (war 40px) */
  width: 100%; 
  max-width: 420px; /* Begrenzte Breite! Streckt sich nicht mehr endlos */
  margin-left: 0; /* Links bündig zur gedachten Mittellinie oder 'auto' für zentriert in Spalte */
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 24px; /* Weniger Abstand */
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
}
.tt-head h1 {
  font-size: 26px; /* Kleiner (war 32px) */
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 0px;
}
.tt-head h1 i { color: var(--brandGold); font-size: 22px; }
.tt-sub { color: var(--muted); font-size: 14px; font-weight: 500; }

/* FORM */
.tt-form-grid { display: flex; flex-direction: column; gap: 20px; } /* Engerer Abstand */

/* INPUTS */
.tt-label {
  display: block; font-size: 12px; font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}
.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 14px; z-index: 2; pointer-events: none;
}
.tt-input {
  width: 100%; padding: 12px 14px; /* Kompakter */
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 38px; }
.tt-input:focus {
  border-color: var(--brandGold); background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.15);
}

/* BUTTON */
.tt-btn {
  margin-top: 8px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s, box-shadow 0.2s; width: 100%; 
}
.tt-btn:hover { filter: brightness(1.1); transform:none; box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }

/* ALERTS */
.tt-alert { padding: 12px 16px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert.err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }

/* LINKS */
.tt-link-row { display: flex; justify-content: space-between; margin-top: 16px; font-size: 13px; }
.tt-link { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.tt-link:hover { color: #fff; text-decoration: underline; }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-login-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-big-logo img { width: 220px; }
  .tt-login-card { max-width: 100%; } /* Auf Handy volle Breite */
}
/* === Block 8 targeted repair: auth/form consistency === */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
  width:100%;
  max-width:1180px;
  margin:0;
  align-items:center;
  align-content:start;
  min-height:0;
}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,
.tt-card-auth,.tt-card-form{
  max-width:480px !important;
  width:100%;
  margin:0;
  min-height:0 !important;
  box-sizing:border-box;
  border-radius:18px;
}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{
  width:min(340px, 72%) !important;
  max-width:340px !important;
  transform:none !important;
  transition:opacity .2s ease, filter .2s ease !important;
}
.tt-big-logo img:hover,.tt-auth-logo img:hover,.tt-side-logo img:hover{transform:none !important;}
.tt-head,.tt-auth-head{margin-bottom:18px !important;padding-bottom:14px !important;}
.tt-head h1,.tt-auth-head h1{gap:10px !important; font-size:26px !important;}
.tt-sub,.tt-auth-sub{font-size:13px !important;line-height:1.35;}
.tt-form-grid,.tt-auth-form{gap:16px !important;}
.tt-input,.tt-select,.tt-textarea,.tt-search-input{
  min-height:46px;
  border-radius:12px !important;
}
.tt-btn,.tt-btn-dashboard,.tt-send-btn,.btn,.button{
  min-height:44px;
  border-radius:12px !important;
  transform:none !important;
}
.tt-btn:hover,.tt-btn-dashboard:hover,.tt-send-btn:hover,.btn:hover,.button:hover{
  transform:none !important;
}
@media (max-width: 900px){
  .tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,.tt-card-auth,.tt-card-form{
    max-width:none !important;
  }
}

/* Final rest pass */
.tt-login-wrap{align-items:center!important;min-height:0!important;}
.tt-big-logo{background:transparent!important;border:none!important;box-shadow:none!important;min-height:0!important;}
.tt-big-logo img{width:min(340px,72%)!important;max-width:340px!important;height:auto!important;}
.tt-login-card{min-height:0!important;max-width:480px!important;}


/* --- merged from login_logout.css --- */
/* travtools/css/login_logout.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - Kompakt) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold);
  border-radius: 16px;
  
  width: 100%;
  max-width: 450px; 
  padding: 35px 30px;
  text-align: center; /* Zentrierter Text für Logout */
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 20px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 26px;
  margin: 0 0 8px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; justify-content: center; gap: 10px;
}
.tt-title i { color: var(--brandGold); font-size: 22px; }
.tt-subtitle { color: var(--muted); font-size: 14px; font-weight: 500; margin: 0; }

/* SUCCESS ICON */
.tt-logout-icon {
  font-size: 48px;
  color: var(--brandGold);
  margin-bottom: 20px;
  opacity: 0.8;
  animation: tt-pop 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes tt-pop {
  0% { transform: scale(0); opacity: 0; }
  100% { transform: scale(1); opacity: 0.8; }
}

/* ACTIONS */
.tt-actions { margin-top: 25px; }

.tt-btn {
  padding: 12px 24px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  text-decoration: none;
  transition: transform 0.1s, filter 0.2s; width: 100%; 
}
.tt-btn:hover { filter: brightness(1.1); transform:none; box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }

.tt-auto-redir {
  margin-top: 15px; font-size: 12px; color: var(--muted); opacity: 0.7;
}

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}

/* --- merged from login_register.css --- */
/* travtools/css/login_register.css */

.tt-reg-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px; /* Etwas weniger Abstand nach oben */
}

/* LOGO (Exakt wie Login) */
.tt-big-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-big-logo img {
  width: 320px; /* Reduziert von 380px auf Login-Größe */
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 25px rgba(242, 193, 74, 0.2));
  transition: transform 0.3s;
}
.tt-big-logo img:hover { transform:none; }

/* CARD */
.tt-reg-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold);
  border-radius: 16px; /* Etwas eckiger, passt besser zu kompakt */
  
  /* DIÄT: Noch schmaler & kompakter */
  width: 100%;
  max-width: 450px; /* War 500px -> Jetzt deutlich schlanker */
  padding: 30px;    /* War 35px -> Innen enger */
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 20px; /* Reduziert */
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-head h1 {
  font-size: 24px; /* Etwas kleiner für die Balance */
  margin: 0 0 4px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 0px;
}
.tt-head h1 i { color: var(--brandGold); font-size: 20px; }
.tt-sub { color: var(--muted); font-size: 13px; font-weight: 500; }

/* FORM: Engere Abstände */
.tt-form-grid { display: flex; flex-direction: column; gap: 16px; }

/* GRID 2 (Spalten) */
.tt-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px; /* Enger zusammen */
}

/* INPUTS */
.tt-label {
  display: block; font-size: 11px; /* Dezent kleiner */
  font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}
.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 13px; z-index: 2; pointer-events: none;
}
.tt-input, .tt-select {
  width: 100%; padding: 10px 14px; /* Etwas flacher */
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box; appearance: none;
}
.tt-input.has-icon, .tt-select.has-icon { padding-left: 36px; }
.tt-input:focus, .tt-select:focus {
  border-color: var(--brandGold); background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.15);
}
.tt-select {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23cccccc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat; background-position: right 12px center; background-size: 10px;
}
.tt-select option { background-color: var(--tt-surface-solid); color: #fff; }

/* CHECKBOX */
.tt-chk-label {
  display: flex; align-items: flex-start; gap: 8px; cursor: pointer;
  padding: 6px 0; /* Weniger Padding */
  transition: opacity 0.2s; color: var(--tt-text-soft); font-size: 12px; line-height: 1.4;
}
.tt-chk-label:hover { opacity: 0.8; }
.tt-chk-label input { margin-top: 2px; accent-color: var(--brandGold); width: 14px; height: 14px; }

/* BUTTONS */
.tt-btn {
  margin-top: 10px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s; width: 100%; 
}
.tt-btn:hover { filter: brightness(1.1); transform:none; box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }
.tt-btn.secondary { background: transparent; border: 1px solid var(--line); color: #fff; font-size: 13px; }
.tt-btn.secondary:hover { background: rgba(255,255,255,0.05); color: var(--brandGold); border-color: var(--brandGold); }

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert.err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert.ok { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-reg-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-big-logo img { width: 220px; }
  .tt-reg-card { max-width: 100%; }
}
/* === Block 8 targeted repair: auth/form consistency === */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
  width:100%;
  max-width:1180px;
  margin:0;
  align-items:center;
  align-content:start;
  min-height:0;
}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,
.tt-card-auth,.tt-card-form{
  max-width:480px !important;
  width:100%;
  margin:0;
  min-height:0 !important;
  box-sizing:border-box;
  border-radius:18px;
}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{
  width:min(340px, 72%) !important;
  max-width:340px !important;
  transform:none !important;
  transition:opacity .2s ease, filter .2s ease !important;
}
.tt-big-logo img:hover,.tt-auth-logo img:hover,.tt-side-logo img:hover{transform:none !important;}
.tt-head,.tt-auth-head{margin-bottom:18px !important;padding-bottom:14px !important;}
.tt-head h1,.tt-auth-head h1{gap:10px !important; font-size:26px !important;}
.tt-sub,.tt-auth-sub{font-size:13px !important;line-height:1.35;}
.tt-form-grid,.tt-auth-form{gap:16px !important;}
.tt-input,.tt-select,.tt-textarea,.tt-search-input{
  min-height:46px;
  border-radius:12px !important;
}
.tt-btn,.tt-btn-dashboard,.tt-send-btn,.btn,.button{
  min-height:44px;
  border-radius:12px !important;
  transform:none !important;
}
.tt-btn:hover,.tt-btn-dashboard:hover,.tt-send-btn:hover,.btn:hover,.button:hover{
  transform:none !important;
}
@media (max-width: 900px){
  .tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,.tt-card-auth,.tt-card-form{
    max-width:none !important;
  }
}

/* Final rest pass */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{align-items:center!important;min-height:0!important;}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{background:transparent!important;border:none!important;box-shadow:none!important;min-height:0!important;}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{width:min(340px,72%)!important;max-width:340px!important;height:auto!important;}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card{min-height:0!important;max-width:480px!important;}


/* --- merged from login_reset.css --- */
/* travtools/css/login_reset.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px; /* Kompakt & scharf */
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - DIÄT MODUS) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold); /* Goldener Anker */
  border-radius: 16px;
  
  width: 100%;
  max-width: 450px; 
  padding: 30px;
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 10px;
}
.tt-title i { color: var(--brandGold); font-size: 20px; }
.tt-subtitle { color: var(--muted); font-size: 13px; font-weight: 500; margin: 0; }

/* FORM & INPUTS */
.tt-form { display: flex; flex-direction: column; gap: 20px; }

.tt-field label {
  display: block; font-size: 11px; font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}

.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 13px; z-index: 2; pointer-events: none;
}

.tt-input {
  width: 100%; padding: 10px 14px; /* Kompakt */
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 36px; }
.tt-input:focus {
  border-color: var(--brandGold); background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.15);
}

/* BUTTON */
.tt-btn {
  margin-top: 10px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s; width: 100%; 
}
.tt-btn:hover { filter: brightness(1.1); transform:none; box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert.err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert.ok { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* LINKS */
.tt-links { display: flex; justify-content: space-between; margin-top: 15px; font-size: 13px; }
.tt-link { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.tt-link:hover { color: #fff; text-decoration: underline; }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}
/* === Block 8 targeted repair: auth/form consistency === */
.tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
  width:100%;
  max-width:1180px;
  margin:0;
  align-items:center;
  align-content:start;
  min-height:0;
}
.tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,
.tt-card-auth,.tt-card-form{
  max-width:480px !important;
  width:100%;
  margin:0;
  min-height:0 !important;
  box-sizing:border-box;
  border-radius:18px;
}
.tt-big-logo,.tt-auth-logo,.tt-side-logo{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
}
.tt-big-logo img,.tt-auth-logo img,.tt-side-logo img{
  width:min(340px, 72%) !important;
  max-width:340px !important;
  transform:none !important;
  transition:opacity .2s ease, filter .2s ease !important;
}
.tt-big-logo img:hover,.tt-auth-logo img:hover,.tt-side-logo img:hover{transform:none !important;}
.tt-head,.tt-auth-head{margin-bottom:18px !important;padding-bottom:14px !important;}
.tt-head h1,.tt-auth-head h1{gap:10px !important; font-size:26px !important;}
.tt-sub,.tt-auth-sub{font-size:13px !important;line-height:1.35;}
.tt-form-grid,.tt-auth-form{gap:16px !important;}
.tt-input,.tt-select,.tt-textarea,.tt-search-input{
  min-height:46px;
  border-radius:12px !important;
}
.tt-btn,.tt-btn-dashboard,.tt-send-btn,.btn,.button{
  min-height:44px;
  border-radius:12px !important;
  transform:none !important;
}
.tt-btn:hover,.tt-btn-dashboard:hover,.tt-send-btn:hover,.btn:hover,.button:hover{
  transform:none !important;
}
@media (max-width: 900px){
  .tt-login-wrap,.tt-reg-wrap,.tt-auth-wrap,.tt-change-wrap,.tt-delete-wrap,.tt-reset-wrap{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .tt-login-card,.tt-reg-card,.tt-auth-card,.tt-change-card,.tt-delete-card,.tt-reset-card,.tt-card-auth,.tt-card-form{
    max-width:none !important;
  }
}


/* --- merged from login_verify.css --- */
/* travtools/css/login_verify.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - Kompakt) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold);
  border-radius: 16px;
  
  width: 100%;
  max-width: 450px; 
  padding: 30px;
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 10px;
}
.tt-title i { color: var(--brandGold); font-size: 20px; }
.tt-subtitle { color: var(--muted); font-size: 13px; font-weight: 500; margin: 0; }

/* INFO BOX (für E-Mail Anzeige) */
.tt-info-box {
  background: rgba(255,255,255,0.03);
  border: 1px dashed var(--line);
  border-radius: 12px;
  padding: 15px;
  margin-bottom: 20px;
  text-align: center;
}
.tt-info-label { font-size: 11px; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
.tt-info-val { font-family: monospace; font-size: 16px; color: var(--brandGold); font-weight: 700; }

/* ACTIONS */
.tt-actions {
  display: flex;
  gap: 15px;
  margin-top: 20px;
}

/* BUTTONS */
.tt-btn {
  flex: 1;
  padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 14px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  text-decoration: none;
  transition: transform 0.1s, filter 0.2s; 
}
.tt-btn:hover { filter: brightness(1.1); transform:none; box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }

.tt-btn.secondary {
  background: transparent; border: 1px solid var(--line); color: #fff;
}
.tt-btn.secondary:hover {
  background: rgba(255,255,255,0.05); color: var(--brandGold); border-color: var(--brandGold); box-shadow: none;
}

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert-err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert-ok { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* HINT TEXT */
.tt-hint {
  margin-top: 15px; font-size: 12px; color: var(--muted); line-height: 1.4; text-align: center;
}

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
  .tt-actions { flex-direction: column; }
}

/* --- merged from login_verify_resend.css --- */
/* travtools/css/login_verify_resend.css */

.tt-auth-wrap {
  max-width: 1100px;
  margin: 0;
  /* Split Layout */
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-top: 30px;
}

/* LOGO (Links) */
.tt-auth-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tt-auth-logo img {
  width: 320px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 30px rgba(242, 193, 74, 0.25));
  transition: transform 0.3s;
}
.tt-auth-logo img:hover { transform:none; }

/* CARD (Rechts - Kompakt) */
.tt-auth-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-left: 4px solid var(--brandGold);
  border-radius: 16px;
  
  width: 100%;
  max-width: 450px; 
  padding: 30px;
  
  box-shadow: 0 4px 30px rgba(0,0,0,0.3);
  color: var(--text);
}

/* HEADER */
.tt-head {
  margin-bottom: 25px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}
.tt-title {
  font-size: 24px;
  margin: 0 0 6px 0;
  font-weight: 900;
  color: #fff;
  display: flex; align-items: center; gap: 10px;
}
.tt-title i { color: var(--brandGold); font-size: 20px; }
.tt-subtitle { color: var(--muted); font-size: 13px; font-weight: 500; margin: 0; }

/* FORM & INPUTS */
.tt-form { display: flex; flex-direction: column; gap: 20px; }

.tt-field label {
  display: block; font-size: 11px; font-weight: 800; color: var(--tt-text-soft);
  margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; padding-left: 2px;
}

.input-icon-wrap { position: relative; width: 100%; }
.input-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--muted); font-size: 13px; z-index: 2; pointer-events: none;
}

.tt-input {
  width: 100%; padding: 10px 14px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid var(--line); color: #fff;
  font-family: inherit; font-size: 14px; outline: none; transition: all 0.2s; box-sizing: border-box;
}
.tt-input.has-icon { padding-left: 36px; }
.tt-input:focus {
  border-color: var(--brandGold); background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 3px rgba(242, 193, 74, 0.15);
}

/* BUTTON */
.tt-btn {
  margin-top: 10px; padding: 12px 20px; border-radius: 10px; border: 0;
  cursor: pointer; font-weight: 800; font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold)); color: var(--tt-bg-0);
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.1s, filter 0.2s; width: 100%; 
}
.tt-btn:hover { filter: brightness(1.1);  box-shadow: 0 4px 15px rgba(242, 193, 74, 0.2); }

/* ALERTS */
.tt-alert { padding: 10px 14px; border-radius: 10px; margin-bottom: 20px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.tt-alert-err { background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.3); color: var(--tt-red-2); }
.tt-alert-ok { background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.3); color: var(--tt-green-2); }

/* LINKS */
.tt-links { display: flex; justify-content: center; margin-top: 20px; }
.tt-link { color: var(--muted); text-decoration: none; font-size: 13px; transition: color 0.2s; }
.tt-link:hover { color: #fff; text-decoration: underline; }

/* Mobil-Optimierung */
@media(max-width: 900px) {
  .tt-auth-wrap { grid-template-columns: 1fr; gap: 30px; margin-top: 0; }
  .tt-auth-logo img { width: 220px; }
  .tt-auth-card { max-width: 100%; }
}

.tt-auth-wrap{padding-inline:8px;}
.tt-auth-card{justify-self:start;}
@media(max-width:900px){.tt-auth-logo{order:2}.tt-auth-card{order:1}}


/* --- merged from ressourcen_admin_getreideverwaltung.css --- */
/* Admin Getreideverwaltung */
.tt-placeholder-page--ressourcen_admin_getreideverwaltung {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--ressourcen_admin_getreideverwaltung .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from ressourcen_admin_pushcalls.css --- */
/* Admin Pushcalls */
.tt-placeholder-page--ressourcen_admin_pushcalls {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--ressourcen_admin_pushcalls h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--ressourcen_admin_pushcalls h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--ressourcen_admin_pushcalls .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from ressourcen_getreideverwaltung.css --- */
/* Getreideverwaltung */
.tt-placeholder-page--ressourcen_getreideverwaltung {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--ressourcen_getreideverwaltung h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--ressourcen_getreideverwaltung h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--ressourcen_getreideverwaltung .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from ressourcen_pushcalls.css --- */
/* Pushcalls */
.tt-placeholder-page--ressourcen_pushcalls {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--ressourcen_pushcalls h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--ressourcen_pushcalls h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--ressourcen_pushcalls .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from settings.css --- */
/* TravTools Einstellungen */
.settings-shell { width:100%; }
.settings-grid { display:grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap:24px; align-items:start; }
.settings-card { border:1px solid rgba(255,255,255,.08); background:linear-gradient(180deg, rgba(12,22,47,.92), rgba(10,19,41,.82)); border-radius:22px; box-shadow:0 20px 44px rgba(0,0,0,.22); padding:24px; }
.settings-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.settings-card-head h2, .settings-side-card h3 { margin:0 0 8px; color:#fff; }
.settings-card-head p { margin:0; color:rgba(255,255,255,.72); max-width:720px; }
.settings-eyebrow { font-size:.78rem; text-transform:uppercase; letter-spacing:.16em; color:var(--tt-gold); margin-bottom:10px; }
.settings-form { display:grid; gap:18px; }
.settings-form-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
.settings-toggle { display:grid; grid-template-columns: auto 1fr; gap:14px; align-items:center; padding:18px; border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.03); }
.settings-toggle input { position:absolute; opacity:0; pointer-events:none; }
.settings-toggle-track { width:62px; height:34px; border-radius:999px; background:rgba(255,255,255,.1); position:relative; transition:background .2s ease; }
.settings-toggle-track::after { content:""; position:absolute; width:26px; height:26px; border-radius:999px; background:#fff; top:4px; left:4px; transition: transform .2s ease; box-shadow:0 8px 20px rgba(0,0,0,.25); }
.settings-toggle input:checked + .settings-toggle-track { background:rgba(43,100,223,.5); }
.settings-toggle input:checked + .settings-toggle-track::after { transform:translateX(28px); }
.settings-toggle-copy strong { display:block; color:#fff; margin-bottom:6px; }
.settings-toggle-copy small { color:rgba(255,255,255,.72); }
.settings-textarea { min-height: 180px; resize: vertical; }
.settings-actions { display:flex; justify-content:flex-start; gap:12px; }
.settings-side-card { position:sticky; top:24px; }
.settings-preview-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.07); color:rgba(255,255,255,.78); margin:4px 0 18px; }
.settings-preview-badge.is-live { background:rgba(242,193,78,.14); color:var(--tt-gold); }
.settings-preview-block { padding:14px 0; border-top:1px solid rgba(255,255,255,.08); }
.settings-preview-label { color:rgba(255,255,255,.58); font-size:.8rem; text-transform:uppercase; letter-spacing:.14em; margin-bottom:8px; }
.settings-preview-value { color:#fff; word-break:break-word; }
.settings-preview-note { margin-top:16px; padding:16px 18px; border-radius:16px; background:rgba(255,255,255,.03); color:rgba(255,255,255,.72); line-height:1.65; }
@media (max-width: 980px) { .settings-grid { grid-template-columns: 1fr; } .settings-side-card { position: static; } }
@media (max-width: 640px) { .settings-card-head { flex-direction:column; } .settings-form-grid { grid-template-columns: 1fr; } }


/* --- merged from spielwelt_allianzen.css --- */
/* travtools/css/spielwelt_allianzen.css */

.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from spielwelt_ranking.css --- */
/* Ranking */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from spielwelt_spieler.css --- */
/* Spieler */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from superuser_accountverwaltung.css --- */
/* * TravTools - Superuser Accountverwaltung (V11 Fixed) */

.tt-ac-wrap { 
    max-width: 1200px; 
    margin: 0; 
    color: var(--text, var(--tt-text-soft)); 
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* HEADER */
.tt-header-standalone { margin-bottom: 30px; padding-left: 5px; }
.tt-header-standalone h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; }
.tt-subtitle { color: var(--muted, var(--tt-muted)); font-size: 14px; }

/* CARD & SEARCH */
.tt-card {
    background: var(--panel, var(--tt-surface-solid));
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
}

.tt-log-controls {
    padding: 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(255,255,255,0.02);
}
.tt-log-stats { font-size: 13px; color: var(--tt-muted); font-weight: 600; }
.tt-highlight { color: var(--brandGold, #f2c14a); }

/* SEARCH INPUT */
.tt-search-wrapper { position: relative; display: flex; align-items: center; gap: 10px; }
.tt-search-input {
    background: rgba(0,0,0,0.3);
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 8px;
    padding: 8px 12px 8px 35px;
    color: #fff;
    font-size: 13px;
    width: 250px;
    outline: none;
    transition: 0.3s;
}
.tt-search-input:focus { border-color: var(--brandGold, #f2c14a); }
.tt-search-icon { position: absolute; left: 12px; color: var(--tt-faint); font-size: 14px; }

/* TABLE STYLING */
.tt-table-responsive { width: 100%; overflow-x: auto; }
.tt-log-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }

.tt-log-table th {
    background: rgba(0,0,0,0.2);
    color: var(--tt-muted);
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    padding: 15px 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
    white-space: nowrap;
}

.tt-log-table td {
    padding: 12px 20px; /* Etwas weniger Padding für kompaktere Höhe */
    border-bottom: 1px solid rgba(255,255,255,0.05);
    color: var(--tt-text-soft);
    vertical-align: middle;
}
.tt-log-table tr:hover td { background: rgba(255,255,255,0.02); }

/* SPALTEN DEFINITION (Angepasst für neue Spalte) */
.col-avatar { width: 60px; text-align: center; }
.col-user { width: 220px; font-weight: 700; color: #fff; }
.col-badge { width: 100px; text-align: center; } /* NEU */
.col-level { width: 120px; text-align: center; }
.col-status { width: 100px; text-align: center; }
.col-date { width: 150px; font-family: monospace; color: var(--tt-muted); text-align: right; }
.col-action { width: 60px; text-align: right; }

/* USER INFO */
.tt-user-wrap { display: flex; flex-direction: column; line-height: 1.3; }
.tt-user-sub { font-size: 11px; color: var(--tt-faint-2); font-weight: 400; }

/* AVATAR (Clean, ohne Badge) */
.tt-avatar-circle {
    width: 36px; height: 36px;
    background: rgba(255,255,255,0.05);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 950;
    color: var(--brandGold, #f2c14a);
    border: 1px solid var(--line, var(--tt-line-solid));
}

/* BADGES & LABELS FIX */
.tt-badge-display {
    display: flex; justify-content: center; align-items: center;
    min-height: 24px;
}

.tt-level-badge {
    display: inline-block; 
    padding: 4px 10px; 
    border-radius: 6px;
    font-size: 10px; 
    font-weight: 800; 
    text-transform: uppercase;
    border: 1px solid transparent; 
    min-width: 80px; 
    text-align: center;
}
/* Spezifische Farben für Ränge */
.lvl-guest { background: rgba(255,255,255,0.05); color: var(--tt-muted); border-color: rgba(255,255,255,0.1); }
.lvl-reg { background: rgba(33, 150, 243, 0.1); color: #2196f3; border-color: rgba(33, 150, 243, 0.2); }
.lvl-vip { background: rgba(156, 39, 176, 0.1); color: var(--tt-purple); border-color: rgba(156, 39, 176, 0.2); }
.lvl-admin { background: rgba(212,175,55,0.15); color: var(--brandGold, #f2c14a); border-color: rgba(212,175,55,0.2); }

/* STATUS PILLS */
.tt-status-pill {
    display: inline-block; padding: 4px 8px; border-radius: 4px;
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;
}
.st-active { color: var(--tt-green); background: rgba(61,220,132, 0.1); border: 1px solid rgba(61,220,132, 0.2); }
.st-locked { color: var(--tt-red); background: rgba(255,92,92, 0.1); border: 1px solid rgba(255,92,92, 0.2); }

/* DETAILS AREA */
.tt-details-row { display: none; background: rgba(0,0,0,0.2) !important; }
.tt-details-row.is-open { display: table-row; }
.tt-details-content { padding: 25px !important; border-bottom: 1px solid rgba(255,255,255,0.05); }

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

.tt-form-section { display: flex; flex-direction: column; gap: 15px; }
.tt-form-group { display: flex; flex-direction: column; gap: 6px; }
.tt-form-group label { font-size: 11px; font-weight: 800; color: var(--tt-muted); text-transform: uppercase; }

.tt-inp-field {
    width: 100%; background: rgba(0,0,0,0.25); border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 8px; padding: 10px 12px; color: #fff; font-size: 13px; outline: none; transition: 0.2s;
}
.tt-inp-field:focus { border-color: var(--brandGold, #f2c14a); }

/* LOGS SECTION */
.tt-logs-section { display: flex; flex-direction: column; gap: 20px; }
.tt-log-box { flex: 1; }
.tt-box-title { font-size: 11px; font-weight: 800; color: var(--brandGold, #f2c14a); text-transform: uppercase; margin-bottom: 8px; display: block; border-bottom: 1px solid rgba(255,255,255,0.05); padding-bottom: 5px; }

.tt-mini-list { display: flex; flex-direction: column; gap: 4px; }
.tt-mini-item { 
    background: rgba(0,0,0,0.2); padding: 6px 10px; border-radius: 4px; 
    font-size: 11px; display: flex; justify-content: space-between; 
    border-left: 2px solid var(--line, var(--tt-line-solid)); 
}
.tt-mi-date { color: var(--tt-faint); font-family: monospace; }
.tt-mi-text { color: var(--tt-text-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }
.tt-mini-empty { font-style: italic; color: var(--tt-faint-2); font-size: 11px; padding: 5px; }

/* FOOTER ACTIONS */
.tt-form-footer { 
    display: flex; gap: 10px; margin-top: 20px; 
    padding-top: 15px; border-top: 1px solid rgba(255,255,255,0.05); 
}
.tt-btn-save { flex: 2; background: linear-gradient(135deg, var(--brandGold, #f2c14a), var(--tt-gold-2)); color: var(--tt-bg-0); border: none; border-radius: 8px; font-weight: 800; height: 38px; cursor: pointer; text-transform: uppercase; }
.tt-btn-lock { flex: 1; background: rgba(0,0,0,0.25); border: 1px solid var(--line, var(--tt-line-solid)); color: #fff; border-radius: 8px; font-weight: 800; cursor: pointer; }
.tt-btn-del  { flex: 1; background: rgba(255,92,92, 0.1); color: var(--tt-red); border: 1px solid var(--tt-red); border-radius: 8px; font-weight: 800; cursor: pointer; }

/* TOGGLE BTN */
.tt-btn-icon {
    background: transparent; border: 1px solid var(--line, var(--tt-line-solid));
    color: var(--tt-muted); width: 28px; height: 28px; border-radius: 6px;
    cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
    transition: 0.2s;
}
.tt-btn-icon:hover { background: rgba(255,255,255,0.05); color: #fff; }
.tt-btn-icon.active { background: var(--brandGold, #f2c14a); color: var(--tt-bg-0); border-color: var(--brandGold, #f2c14a); transform: rotate(180deg); }

/* PAGINATION */
.tt-pagination { display: flex; justify-content: center; gap: 5px; padding: 20px; border-top: 1px solid var(--line, var(--tt-line-solid)); }
.tt-page-btn { min-width: 32px; height: 32px; border-radius: 6px; background: rgba(255,255,255,0.03); border: 1px solid var(--line, var(--tt-line-solid)); color: var(--tt-muted); cursor: pointer; font-weight: 700; font-size: 12px; }
.tt-page-btn.active { background: var(--brandGold, #f2c14a); color: var(--tt-bg-0); border-color: var(--brandGold, #f2c14a); }

/* ALERTS */
.tt-status-alert { background: rgba(61,220,132, 0.1); color: var(--tt-green); padding: 15px; border-radius: 12px; margin-bottom: 25px; border: 1px solid rgba(61,220,132, 0.2); font-size: 14px; font-weight: 600; text-align: center; }

/* fix6 targeted rescue */
.tt-ac-wrap{width:100%!important;max-width:none!important;padding:0!important;}
.tt-card{width:100%!important;}
.tt-log-controls{display:grid!important;grid-template-columns:auto minmax(280px,1fr)!important;gap:16px!important;align-items:center!important;padding:16px 18px!important;}
.tt-search-wrapper{width:100%!important;min-width:0!important;}
.tt-search-input{width:100%!important;padding-left:36px!important;}
.tt-table-responsive{width:100%!important;overflow-x:auto!important;}
.tt-log-table{table-layout:fixed!important;}
.tt-log-table .col-user{width:34%!important;}
.tt-log-table .col-badge{width:9%!important;}
.tt-log-table .col-level{width:12%!important;}
.tt-log-table .col-status{width:10%!important;}
.tt-log-table .col-date{width:13%!important;}
.tt-log-table .col-action{width:54px!important;}
.tt-badge-display,.tt-level-badge,.tt-status-pill{justify-content:center!important;}
.tt-btn-icon{width:32px!important;height:32px!important;}

/* Block 5 · Accountverwaltung polish */
.tt-ac-wrap{width:100%;max-width:none;margin:0;}
.tt-card{border-radius:18px;overflow:hidden;}
.tt-log-controls{display:grid;grid-template-columns:minmax(180px,auto) minmax(260px,1fr);gap:16px;align-items:center;}
.tt-log-table th{padding:13px 16px;}
.tt-log-table td{padding:11px 16px;}
.tt-search-input,.tt-inp-field,.tt-btn-save,.tt-btn-lock,.tt-btn-del,.tt-btn-icon,.tt-page-btn{min-height:40px;}
.tt-btn-save,.tt-btn-lock,.tt-btn-del{border-radius:12px;}
.tt-details-content{padding:20px!important;}
.tt-edit-grid{gap:24px;}
.tt-form-footer{flex-wrap:wrap;}
@media (max-width: 960px){
  .tt-log-controls{grid-template-columns:1fr;}
  .tt-log-table{table-layout:auto!important;}
  .tt-details-grid{grid-template-columns:1fr;}
}


/* === BLOCK 6: unified admin/table polish === */
.tt-table-wrap,
.tt-table-card,
.tt-admin-card,
.tt-log-card,
.tt-panel,
.tt-box{
  background:var(--tt-surface-solid);
  border:1px solid var(--tt-line-solid);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
}
.tt-table-tools,
.tt-toolbar,
.tt-filter-row,
.tt-search-row,
.tt-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.tt-table,
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
}
.tt-table thead th,
thead th{
  position:sticky;
  top:0;
  background:#11161e;
  color:#f2c14a;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-bottom:1px solid var(--tt-line-solid);
}
.tt-table th,
.tt-table td,
th,td{
  padding:12px 14px;
  vertical-align:middle;
}
.tt-table tbody tr,
tbody tr{
  background:rgba(255,255,255,.015);
  transition:background-color .18s ease, box-shadow .18s ease;
}
.tt-table tbody tr:nth-child(even),
tbody tr:nth-child(even){
  background:rgba(255,255,255,.03);
}
.tt-table tbody tr:hover,
tbody tr:hover{
  background:rgba(37,99,235,.08);
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
}
.tt-table td,
td{
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#d7dce7;
}
.tt-table tbody tr:last-child td,
tbody tr:last-child td{border-bottom:0;}
.tt-pagination,
.pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  margin-top:16px;
}

/* Block 4 · server pass */
.tt-ac-wrap{max-width:none;}
.tt-header-standalone{margin-bottom:18px;padding-left:0;}
.tt-header-standalone h1{font-size:22px;line-height:1.1;}
.tt-card{border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,.2);}
.tt-log-controls{padding:16px 18px;gap:12px;flex-wrap:wrap;align-items:center;}
.tt-search-input{min-height:40px;width:min(280px,100%);}
.tt-log-table th,.tt-log-table td{vertical-align:middle;}
.tt-log-table tbody tr:hover{background:rgba(37,99,235,.08);}


/* --- merged from superuser_backend.css --- */
/* Backend */
.tt-placeholder-page--superuser_backend {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--superuser_backend .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--superuser_backend .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--superuser_backend .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--superuser_backend h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--superuser_backend .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--superuser_backend .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--superuser_backend .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--superuser_backend .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--superuser_backend h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--superuser_backend .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--superuser_backend .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--superuser_backend .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--superuser_backend .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from superuser_backup.css --- */
/* * TravTools - Superuser Backup & Restore V6 */

.tt-ac-wrap { 
    max-width: 1100px; 
    margin: 0; 
    color: var(--tt-text-soft); 
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* HEADER */
.tt-header-standalone { margin-bottom: 30px; padding-left: 5px; }
.tt-header-standalone h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; }
.tt-subtitle { color: var(--muted, var(--tt-muted)); font-size: 14px; }

/* GRID */
.tt-admin-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: start;
    margin-top: 20px;
}
@media (max-width: 900px) { .tt-admin-grid { grid-template-columns: 1fr; } }

/* CARDS */
.tt-card {
    background: var(--panel, var(--tt-surface-solid));
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.tt-card-header {
    background: rgba(255,255,255,0.03);
    padding: 15px 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
}
.tt-card-header h3 {
    margin: 0; font-size: 16px; color: var(--brandGold, #f2c14a);
    display: flex; align-items: center; gap: 10px; font-weight: 800; text-transform: uppercase;
}
.tt-card-body { padding: 25px; flex: 1; display: flex; flex-direction: column; }

/* ACTION AREA */
.tt-backup-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
    text-align: center;
    flex: 1;
}

.tt-backup-icon {
    font-size: 50px;
    color: var(--brandGold, #f2c14a);
    margin-bottom: 15px;
    opacity: 0.8;
}

.tt-backup-desc {
    color: var(--tt-muted);
    margin-bottom: 25px;
    line-height: 1.5;
    font-size: 13px;
    min-height: 40px;
}

/* BUTTONS */
.tt-download-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    background: linear-gradient(135deg, var(--brandGold, #f2c14a), var(--tt-gold-2));
    color: var(--tt-bg-0); border: none; border-radius: 10px; padding: 12px 20px;
    font-size: 14px; font-weight: 800; text-transform: uppercase; cursor: pointer;
    width: 100%; transition: transform 0.2s;
}
.tt-download-btn:hover { transform:none; box-shadow: 0 5px 15px rgba(242, 193, 74, 0.15); }

/* RESTORE / DANGER ZONE */
.tt-restore-card { border-color: rgba(255,92,92, 0.3); }
.tt-restore-card .tt-card-header h3 { color: var(--tt-red); }
.tt-restore-icon { color: var(--tt-red); }

.tt-danger-btn {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    background: rgba(255,92,92, 0.1); color: var(--tt-red); border: 1px solid rgba(255,92,92, 0.4);
    border-radius: 10px; padding: 12px 20px; font-size: 14px; font-weight: 800; 
    text-transform: uppercase; cursor: pointer; width: 100%; transition: 0.2s;
    margin-top: 15px;
}
.tt-danger-btn:hover { background: rgba(255,92,92, 0.2); border-color: var(--tt-red); }

/* FILE INPUT */
.tt-file-input-wrapper {
    position: relative; width: 100%; height: 80px;
    border: 2px dashed var(--line, var(--tt-line-solid)); border-radius: 10px;
    display: flex; align-items: center; justify-content: center; flex-direction: column;
    color: var(--tt-faint); transition: 0.3s; background: rgba(0,0,0,0.2); cursor: pointer;
    margin-bottom: 15px;
}
.tt-file-input-wrapper:hover { border-color: var(--tt-red); color: var(--tt-red); background: rgba(255,92,92, 0.05); }
.tt-file-input-wrapper input[type="file"] { position: absolute; width: 100%; height: 100%; opacity: 0; cursor: pointer; }

/* PASSWORD INPUT (NEU) */
.tt-pass-input {
    width: 100%;
    background: rgba(0,0,0,0.3);
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 10px;
    padding: 12px 15px;
    color: #fff;
    font-size: 14px;
    outline: none;
    text-align: center;
    transition: 0.3s;
    margin-bottom: 10px;
}
.tt-pass-input:focus {
    border-color: var(--tt-red);
    box-shadow: 0 0 10px rgba(255,92,92, 0.2);
}
.tt-pass-input::placeholder { color: var(--tt-faint); font-style: italic; }

/* INFO LIST */
.tt-info-list { margin-top: 20px; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 20px; width: 100%; }
.tt-info-item { display: flex; justify-content: space-between; padding-bottom: 8px; font-size: 12px; }
.tt-lbl { color: var(--tt-faint); }
.tt-val { color: var(--tt-text-soft); font-family: monospace; }
.gold { color: var(--brandGold, #f2c14a); }

/* ALERTS */
.tt-alert { padding: 15px; border-radius: 12px; margin-bottom: 25px; font-weight: 600; text-align: center; border: 1px solid transparent; }
.tt-alert-success { background: rgba(61,220,132, 0.1); border-color: rgba(61,220,132, 0.2); color: var(--tt-green); }
.tt-alert-error { background: rgba(255,92,92, 0.15); border-color: var(--tt-red); color: var(--tt-red); }

/* Block 5 · Backup polish */
.tt-ac-wrap{width:100%;max-width:none!important;}
.tt-admin-grid{grid-template-columns:minmax(340px,1fr) minmax(420px,1fr)!important;gap:22px!important;align-items:start!important;}
.tt-card{border-radius:18px!important;box-shadow:0 12px 34px rgba(0,0,0,.28)!important;}
.tt-card-body{padding:22px!important;}
.tt-download-btn,.tt-danger-btn{min-height:46px!important;border-radius:12px!important;font-weight:800!important;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;transform:none!important;}
.tt-download-btn:hover,.tt-danger-btn:hover{transform:none!important;box-shadow:0 0 0 1px rgba(242,193,74,.28),0 10px 28px rgba(21,33,56,.26)!important;}
.tt-file-input-wrapper,.tt-pass-input{border-radius:12px!important;}
@media (max-width:980px){.tt-admin-grid{grid-template-columns:1fr!important;}}


/* --- merged from superuser_ereignis_log.css --- */
/* * TravTools - Superuser Ereignis Log (V5) */

.tt-ac-wrap { 
    max-width: 1100px; 
    margin: 0; 
    color: var(--tt-text-soft); 
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* HEADER */
.tt-header-standalone { margin-bottom: 30px; padding-left: 5px; }
.tt-header-standalone h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; }
.tt-subtitle { color: var(--muted, var(--tt-muted)); font-size: 14px; }

/* TABLE CARD */
.tt-card {
    background: var(--panel, var(--tt-surface-solid));
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
}

/* HEADER FILTER AREA */
.tt-log-controls {
    padding: 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(255,255,255,0.02);
}
.tt-log-stats {
    font-size: 13px;
    color: var(--tt-muted);
    font-weight: 600;
}
.tt-highlight { color: var(--brandGold, #f2c14a); }

/* DATA TABLE STYLE */
.tt-table-responsive {
    width: 100%;
    overflow-x: auto;
}

.tt-log-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    text-align: left;
}

.tt-log-table th {
    background: rgba(0,0,0,0.2);
    color: var(--tt-muted);
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    padding: 15px 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
    white-space: nowrap;
}

.tt-log-table td {
    padding: 15px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    color: var(--tt-text-soft);
    vertical-align: top;
}

.tt-log-table tr:last-child td { border-bottom: none; }
.tt-log-table tr:hover td { background: rgba(255,255,255,0.02); }

/* SPALTEN STYLES */
.col-ts { width: 150px; font-family: monospace; color: var(--tt-faint); }
.col-user { width: 200px; font-weight: 700; color: #fff; }
.col-ip { width: 120px; font-family: monospace; color: var(--tt-faint); font-size: 12px; }
.col-type { width: 120px; }
.col-details { color: var(--tt-muted); line-height: 1.4; }

/* BADGES FÜR TYPEN */
.tt-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    border: 1px solid transparent;
}
.badge-login { background: rgba(76, 175, 80, 0.15); color: #4caf50; border-color: rgba(76, 175, 80, 0.2); }
.badge-error { background: rgba(255,92,92, 0.15); color: var(--tt-red); border-color: rgba(255,92,92, 0.2); }
.badge-warning { background: rgba(255, 152, 0, 0.15); color: #ff9800; border-color: rgba(255, 152, 0, 0.2); }
.badge-info { background: rgba(33, 150, 243, 0.15); color: #2196f3; border-color: rgba(33, 150, 243, 0.2); }
.badge-admin { background: rgba(242, 193, 74, 0.15); color: var(--brandGold, #f2c14a); border-color: rgba(242, 193, 74, 0.2); }

/* USER LINK */
.tt-user-link {
    text-decoration: none;
    color: #fff;
    display: flex;
    flex-direction: column;
}
.tt-user-sub { font-size: 11px; color: var(--tt-faint-2); font-weight: 400; margin-top: 2px; }

/* PAGINATION */
.tt-pagination {
    display: flex;
    justify-content: center;
    gap: 5px;
    padding: 20px;
    border-top: 1px solid var(--line, var(--tt-line-solid));
}

.tt-page-btn {
    min-width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--line, var(--tt-line-solid));
    color: var(--tt-muted);
    text-decoration: none;
    border-radius: 8px;
    font-weight: 700;
    font-size: 13px;
    transition: 0.2s;
}
.tt-page-btn:hover { background: rgba(255,255,255,0.08); color: #fff; }
.tt-page-btn.active {
    background: var(--brandGold, #f2c14a);
    color: var(--tt-bg-0);
    border-color: var(--brandGold, #f2c14a);
}
.tt-page-btn.disabled { opacity: 0.3; cursor: default; pointer-events: none; }

/* SEARCH BAR */
.tt-search-form { display: flex; gap: 10px; }
.tt-search-input {
    background: rgba(0,0,0,0.3);
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 8px;
    padding: 8px 12px;
    color: #fff;
    font-size: 13px;
    width: 250px;
    outline: none;
}
.tt-search-input:focus { border-color: var(--brandGold, #f2c14a); }
.tt-search-btn {
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--line, var(--tt-line-solid));
    color: var(--tt-text-soft);
    border-radius: 8px;
    padding: 0 15px;
    cursor: pointer;
    font-weight: 700;
}
.tt-search-btn:hover { background: rgba(255,255,255,0.1); }

/* EMPTY STATE */
.tt-empty-state { text-align: center; padding: 50px; color: var(--tt-faint); font-style: italic; }

/* fix6 ereignis log alignment */
.tt-log-container,.tt-wrap,.tt-card{width:100%!important;max-width:none!important;}
.tt-log-controls{display:grid!important;grid-template-columns:auto minmax(260px,1fr) auto!important;gap:14px!important;align-items:center!important;}
.tt-search-wrapper,.tt-search-input{width:100%!important;}
.tt-log-table{table-layout:fixed!important;}


/* === BLOCK 6: unified admin/table polish === */
.tt-table-wrap,
.tt-table-card,
.tt-admin-card,
.tt-log-card,
.tt-panel,
.tt-box{
  background:var(--tt-surface-solid);
  border:1px solid var(--tt-line-solid);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
}
.tt-table-tools,
.tt-toolbar,
.tt-filter-row,
.tt-search-row,
.tt-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.tt-table,
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
}
.tt-table thead th,
thead th{
  position:sticky;
  top:0;
  background:#11161e;
  color:#f2c14a;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-bottom:1px solid var(--tt-line-solid);
}
.tt-table th,
.tt-table td,
th,td{
  padding:12px 14px;
  vertical-align:middle;
}
.tt-table tbody tr,
tbody tr{
  background:rgba(255,255,255,.015);
  transition:background-color .18s ease, box-shadow .18s ease;
}
.tt-table tbody tr:nth-child(even),
tbody tr:nth-child(even){
  background:rgba(255,255,255,.03);
}
.tt-table tbody tr:hover,
tbody tr:hover{
  background:rgba(37,99,235,.08);
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
}
.tt-table td,
td{
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#d7dce7;
}
.tt-table tbody tr:last-child td,
tbody tr:last-child td{border-bottom:0;}
.tt-pagination,
.pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  margin-top:16px;
}


/* Block 5 · Superuser event log polish */
.tt-ac-wrap{width:100%;max-width:none!important;}
.tt-card{border-radius:18px!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;}
.tt-log-controls{gap:14px!important;flex-wrap:wrap!important;align-items:center!important;}
.tt-search-form{gap:10px!important;flex-wrap:wrap!important;}
.tt-search-input{min-height:42px!important;border-radius:12px!important;width:min(320px,100%)!important;}
.tt-search-btn,.tt-page-btn{min-height:42px!important;border-radius:12px!important;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;}
.tt-search-btn:hover,.tt-page-btn:hover{box-shadow:0 0 0 1px rgba(242,193,74,.22),0 8px 22px rgba(21,33,56,.2)!important;transform:none!important;}
.tt-log-table th{font-size:10px!important;letter-spacing:.08em!important;}
.tt-log-table td{padding:14px 18px!important;}
@media (max-width:900px){.tt-log-controls{padding:16px!important;}.tt-log-table td,.tt-log-table th{padding:12px 14px!important;}}


/* --- merged from superuser_ki.css --- */
/* travtools/css/superuser_ki.css */

.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from superuser_klicker_lizenzen.css --- */
/* Klicker-Lizenzen */
.tt-placeholder-page--superuser_klicker_lizenzen {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--superuser_klicker_lizenzen h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--superuser_klicker_lizenzen h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--superuser_klicker_lizenzen .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from superuser_logo.css --- */
/* * TravTools - Superuser Logo Verwaltung 
 * Style: Dark/Gold (Final V5)
 */

.tt-ac-wrap { 
    max-width: 1100px; 
    margin: 0; 
    color: var(--tt-text-soft); 
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* HEADER */
.tt-header-standalone { margin-bottom: 30px; padding-left: 5px; }
.tt-header-standalone h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; }
.tt-subtitle { color: var(--muted, var(--tt-muted)); font-size: 14px; }

/* GRID LAYOUT */
.tt-admin-grid {
    display: grid;
    grid-template-columns: 400px 1fr; /* Links Upload, Rechts Preview */
    gap: 30px;
    align-items: start;
    margin-top: 20px;
}
@media (max-width: 900px) { .tt-admin-grid { grid-template-columns: 1fr; } }

/* CARDS */
.tt-card {
    background: var(--panel, var(--tt-surface-solid));
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 16px;
    overflow: hidden;
}

.tt-card-header {
    background: rgba(255,255,255,0.03);
    padding: 15px 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
}
.tt-card-header h3 {
    margin: 0; font-size: 16px; color: var(--brandGold, #f2c14a);
    display: flex; align-items: center; gap: 10px; font-weight: 800; text-transform: uppercase;
}
.tt-card-body { padding: 20px; }

/* INPUTS & FORM */
.tt-form-group { margin-bottom: 20px; }
.tt-form-group label {
    display: block; font-size: 11px; text-transform: uppercase; font-weight: 800; color: var(--muted, var(--tt-muted)); margin-bottom: 8px;
}

/* Custom File Input Styling */
.tt-file-input-wrapper {
    position: relative;
    width: 100%;
    height: 120px;
    border: 2px dashed var(--line, var(--tt-line-solid));
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: var(--tt-muted);
    transition: 0.3s;
    background: rgba(0,0,0,0.2);
    cursor: pointer;
}
.tt-file-input-wrapper:hover {
    border-color: var(--brandGold, #f2c14a);
    color: var(--brandGold, #f2c14a);
    background: rgba(242, 193, 74, 0.05);
}
.tt-file-input-wrapper input[type="file"] {
    position: absolute;
    width: 100%; height: 100%;
    opacity: 0;
    cursor: pointer;
}
.tt-upload-icon { font-size: 24px; margin-bottom: 10px; }
.tt-upload-text { font-size: 13px; font-weight: 600; }

/* BUTTONS */
.tt-save-btn {
    width: 100%; background: linear-gradient(135deg, var(--brandGold, #f2c14a), var(--tt-gold-2));
    color: var(--tt-bg-0); border: none; border-radius: 10px; font-weight: 800; height: 45px; cursor: pointer; text-transform: uppercase;
    font-size: 14px; margin-top: 10px;
}
.tt-save-btn:active { transform: scale(0.98); }

/* PREVIEW AREA (Rechts) */
.tt-logo-container {
    text-align: center;
    padding: 20px;
    background: var(--tt-bg-2); /* Dunkler Hintergrund für Kontrast */
    border-radius: 10px;
    border: 1px solid var(--line, var(--tt-line-solid));
}

/* Schachbrett-Muster für Transparenz-Check */
.tt-transparency-grid {
    display: inline-block;
    background-color: var(--tt-text);
    background-image: linear-gradient(45deg, var(--tt-text-soft) 25%, transparent 25%, transparent 75%, var(--tt-text-soft) 75%, var(--tt-text-soft)), 
                      linear-gradient(45deg, var(--tt-text-soft) 25%, transparent 25%, transparent 75%, var(--tt-text-soft) 75%, var(--tt-text-soft));
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #fff;
    max-width: 100%;
}

.tt-logo-img {
    max-width: 100%;
    height: auto;
    display: block;
    max-height: 200px; /* Begrenzung der Höhe */
}

/* History Liste */
.tt-history-list {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.tt-hist-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255,255,255,0.03);
    padding: 10px 15px;
    border-radius: 8px;
    border: 1px solid var(--line, var(--tt-line-solid));
    font-size: 13px;
}
.tt-hist-name { font-family: monospace; color: var(--brandGold, #f2c14a); }
.tt-hist-date { color: var(--tt-faint); font-size: 11px; }

/* MESSAGES */
.tt-alert { padding: 15px; border-radius: 12px; margin-bottom: 25px; font-weight: 600; text-align: center; border: 1px solid transparent; }
.tt-alert-success { background: rgba(61,220,132, 0.1); border-color: rgba(61,220,132, 0.2); color: var(--tt-green); }
.tt-alert-error { background: rgba(255,92,92, 0.15); border-color: var(--tt-red); color: var(--tt-red); }

/* Block 5 · Logo manager polish */
.tt-ac-wrap{width:100%;max-width:none!important;}
.tt-admin-grid{grid-template-columns:minmax(360px,420px) minmax(420px,1fr)!important;gap:22px!important;}
.tt-card{border-radius:18px!important;box-shadow:0 12px 30px rgba(0,0,0,.28)!important;}
.tt-card-body{padding:22px!important;}
.tt-file-input-wrapper,.tt-logo-container,.tt-transparency-grid{border-radius:14px!important;}
.tt-save-btn{min-height:46px!important;border-radius:12px!important;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;}
.tt-save-btn:hover{box-shadow:0 0 0 1px rgba(242,193,74,.26),0 10px 26px rgba(21,33,56,.25)!important;transform:none!important;}
.tt-hist-item{border-radius:12px!important;}
@media (max-width:980px){.tt-admin-grid{grid-template-columns:1fr!important;}}


/* --- merged from superuser_mail_templates.css --- */
/* travtools/css/superuser_mail_templates.css */
.tt-log-container { max-width: 1500px; margin: 0; }
.tt-grid-main { display: grid; grid-template-columns: 1fr 1.2fr; gap: 20px; align-items: start; }

.tt-section-card { background: var(--panel); border: 1px solid var(--line); border-radius: 20px; padding: 25px; margin-bottom: 20px; box-shadow: 0 4px 20px rgba(0,0,0,0.2); }
.tt-section-card.compact { padding: 12px 20px; }

/* FIX: Dropdowns - Dunkler Hintergrund, Goldene Schrift */
.tt-select { flex: 1; background: #0b1220; border: 1px solid var(--line); color: var(--brandGold); padding: 10px; border-radius: 12px; font-weight: 700; outline: none; cursor: pointer; }
.tt-select option { background: #0b1220; color: #fff; padding: 10px; }

.tt-tpl-nav { display: flex; gap: 10px; }
.tt-box-label { display: block; font-size: 11px; text-transform: uppercase; font-weight: 800; color: var(--brandGold); margin-bottom: 12px; }
.tt-flex-row { display: flex; gap: 10px; margin-bottom: 15px; }
.tt-input { flex: 1; background: rgba(0,0,0,0.2); border: 1px solid var(--line); border-radius: 12px; padding: 12px; color: #fff; outline: none; }
.tt-save-btn { background: var(--brandGold); color: #000; font-weight: 900; border: none; padding: 0 25px; border-radius: 12px; cursor: pointer; transition: 0.2s; }
.tt-save-btn:hover { filter: brightness(1.1); }

.tt-tabs { display: flex; gap: 5px; margin-bottom: 10px; }
.tt-tab { background: var(--panel2); border: 1px solid var(--line); color: var(--muted); padding: 8px 15px; border-radius: 8px; font-weight: 700; cursor: pointer; border: 0; }
.tt-tab.active { background: var(--brandGold); color: #000; }

.tt-textarea { width: 100%; height: 400px; background: #04060b; border: 1px solid var(--line); border-radius: 14px; padding: 15px; color: #94a3b8; font-family: monospace; outline: none; line-height: 1.5; }

/* Empfängerliste - Exakte Ausrichtung */
.tt-list-header { display: flex; justify-content: space-between; margin-bottom: 15px; align-items: center; }
.tt-input-small { background: rgba(0,0,0,0.2); border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; color: #fff; font-size: 12px; width: 220px; outline: none; }
.tt-mini-btn { background: var(--panel2); border: 1px solid var(--line); color: #fff; padding: 6px 12px; border-radius: 6px; font-size: 10px; cursor: pointer; font-weight: 800; }

.tt-table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
.tt-table th { background: rgba(0,0,0,0.3); color: var(--brandGold); padding: 12px; text-align: left; font-size: 10px; text-transform: uppercase; border-bottom: 1px solid var(--line); }
.tt-table td { padding: 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.tt-table tr:last-child td { border-bottom: none; }

.center { text-align: center !important; }

.tt-user-info { display: flex; flex-direction: column; gap: 2px; }
.tt-user-name { color: #fff; font-weight: 700; }
.tt-user-mail { color: var(--muted); font-size: 11px; }

.tt-tag-ok { color: #22c55e; font-weight: 900; font-size: 10px; letter-spacing: 0.5px; }
.tt-tag-no { color: var(--tt-red); font-weight: 900; font-size: 10px; letter-spacing: 0.5px; }

/* Checkbox Styling */
.u-chk { width: 18px; height: 18px; cursor: pointer; accent-color: var(--brandGold); }

.tt-pagination-small { display: flex; gap: 4px; margin: 15px 0; }
.tt-p-btn { background: var(--panel2); border: 1px solid var(--line); color: #fff; padding: 5px 12px; border-radius: 8px; cursor: pointer; font-weight: 800; font-size: 11px; }
.tt-p-btn.active { background: var(--brandGold); color: #000; border-color: var(--brandGold); }

.tt-bulk-btn { width: 100%; background: #22c55e; color: #fff; font-weight: 900; border: none; padding: 14px; border-radius: 12px; cursor: pointer; font-size: 14px; transition: 0.2s; margin-top: 10px; }
.tt-bulk-btn:hover { background: #16a34a; transform:none; }

/* Browser Mockup */
.tt-browser-mockup { background: #fff; border-radius: 15px; height: 750px; overflow: hidden; border: 8px solid var(--panel2); box-shadow: 0 10px 40px rgba(0,0,0,0.5); }
#previewFrame { width: 100%; height: 100%; border: none; }

.tt-var-info { margin-top: 15px; font-size: 11px; color: var(--muted); background: rgba(0,0,0,0.2); padding: 10px; border-radius: 10px; }
.tt-var-info code { color: var(--brandGold); background: rgba(255,255,255,0.05); padding: 2px 5px; border-radius: 4px; margin: 0 2px; }

.tt-alert { padding: 15px; border-radius: 15px; margin-bottom: 20px; font-weight: 700; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); }
.tt-alert.is-ok { background: rgba(61,220,132, 0.1); color: var(--tt-green); border-color: rgba(61,220,132, 0.2); }
.tt-alert.is-err { background: rgba(255,92,92, 0.1); color: var(--tt-red-2); border-color: rgba(255,92,92, 0.2); }

/* fix6 mail templates redesign rescue */
.tt-log-container{width:100%!important;max-width:none!important;}
.tt-section-card{border-radius:20px!important;padding:18px!important;}
.tt-flex-row{align-items:center!important;flex-wrap:wrap!important;}
.tt-tabs{flex-wrap:wrap!important;}
.tt-input,.tt-select,.tt-input-small{min-height:44px!important;}
.tt-editor-area .tt-textarea{height:520px!important;line-height:1.55!important;color:#d7dfeb!important;}
.tt-list-header{gap:12px!important;flex-wrap:wrap!important;}
.tt-table{table-layout:fixed!important;}

/* Block 5 · Superuser mail templates polish */
.tt-log-container{width:100%;max-width:none;}
.tt-grid-main{grid-template-columns:minmax(360px,1fr) minmax(420px,1.18fr);gap:22px;}
.tt-section-card{border-radius:18px;padding:20px;}
.tt-section-card.compact{padding:14px 18px;}
.tt-tpl-nav,.tt-flex-row,.tt-tabs,.tt-list-header{flex-wrap:wrap;}
.tt-save-btn,.tt-mini-btn,.tt-p-btn,.tt-bulk-btn{border-radius:12px;min-height:40px;font-weight:800;}
.tt-table th,.tt-table td{word-break:break-word;}
.tt-browser-mockup{border-radius:20px;height:720px;}
.tt-alert{border-radius:16px;}
@media (max-width: 1100px){
  .tt-grid-main{grid-template-columns:1fr;}
  .tt-browser-mockup{height:580px;}
}
@media (max-width: 700px){
  .tt-section-card{padding:16px;}
  .tt-textarea{height:360px!important;}
}


/* === BLOCK 6: mail template layout polish === */
.tt-mail-wrap,
.tt-mail-grid,
.tt-template-grid{
  display:grid;
  grid-template-columns:minmax(300px, 380px) minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.tt-template-list,
.tt-mail-sidebar,
.tt-browser-mockup,
.tt-preview-card,
.tt-editor-card{
  background:var(--tt-surface-solid);
  border:1px solid var(--tt-line-solid);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
}
.tt-template-item,
.tt-mail-item{
  border-radius:12px;
  transition:background-color .18s ease, border-color .18s ease;
}
.tt-template-item:hover,
.tt-template-item.active,
.tt-mail-item:hover,
.tt-mail-item.active{
  background:rgba(37,99,235,.1);
  box-shadow:inset 3px 0 0 rgba(242,193,74,.95);
}
.tt-mail-editor textarea,
.tt-mail-editor input,
.tt-mail-editor select{
  min-height:42px;
  border-radius:10px;
}
@media (max-width: 1100px){
  .tt-mail-wrap,
  .tt-mail-grid,
  .tt-template-grid{grid-template-columns:1fr;}
}


/* Block 5 · Mail templates final polish */
.tt-log-container{width:100%;max-width:none!important;}
.tt-grid-main{grid-template-columns:minmax(360px,1fr) minmax(480px,1.18fr)!important;gap:24px!important;align-items:start!important;}
.tt-section-card{border-radius:18px!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;}
.tt-section-card.compact{padding:14px 18px!important;}
.tt-tabs,.tt-flex-row,.tt-list-header,.tt-tpl-nav{gap:10px!important;align-items:center!important;}
.tt-save-btn,.tt-mini-btn,.tt-p-btn,.tt-bulk-btn{min-height:42px!important;border-radius:12px!important;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;transform:none!important;}
.tt-save-btn:hover,.tt-mini-btn:hover,.tt-p-btn:hover,.tt-bulk-btn:hover{transform:none!important;box-shadow:0 0 0 1px rgba(242,193,74,.22),0 10px 24px rgba(21,33,56,.24)!important;}
.tt-input,.tt-select,.tt-input-small,.tt-textarea{border-radius:14px!important;}
.tt-browser-mockup{height:760px!important;border-radius:22px!important;}
@media (max-width:1180px){.tt-grid-main{grid-template-columns:1fr!important;}.tt-browser-mockup{height:620px!important;}}


/* --- merged from superuser_menu.css --- */
/* superuser_menu.css */

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

.tt-menu-wrap {
    width: 100%; /* Full Width */
    background: var(--darkPanel); border: 1px solid var(--lineColor);
    border-radius: 12px; overflow: hidden; padding: 25px;
    box-sizing: border-box;
}

.tt-menu-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; border-bottom: 1px solid var(--lineColor); padding-bottom: 15px; }
.tt-menu-header h1 { margin: 0; color: #fff; font-size: 24px; text-transform: uppercase; letter-spacing: 1px; }

.tt-head-actions { display: flex; gap: 15px; }

.tt-btn-add { background: var(--lineColor); color: #fff; border: none; padding: 10px 20px; border-radius: 6px; font-weight: 700; cursor: pointer; }
.tt-btn-save { background: var(--royalBlue); color: #fff; border: none; padding: 10px 25px; border-radius: 6px; font-weight: 800; cursor: pointer; transition: 0.3s; }

/* LISTE */
.tt-menu-list { display: flex; flex-direction: column; gap: 4px; min-height: 200px; }

.tt-menu-row {
    display: flex; align-items: center; padding: 12px; border-radius: 6px;
    background: rgba(255,255,255,0.03); border: 1px solid transparent;
    transition: 0.2s;
}
.tt-menu-row:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.1); }
.tt-menu-row.is-hidden { opacity: 0.5; }
.tt-menu-row.tm-dragging { opacity: 0.4; border: 2px dashed var(--brandGold); }

.tm-drag-handle { width: 30px; cursor: move; color: var(--tt-faint); font-size: 18px; user-select: none; }
.tm-icon { width: 40px; text-align: center; font-size: 18px; }
.tm-title { flex: 1; font-weight: 700; color: var(--tt-text); font-size: 14px; }
.tm-meta { width: 200px; display: flex; gap: 5px; justify-content: flex-end; }
.tm-tag { background: var(--tt-bg-2); border: 1px solid var(--lineColor); color: var(--brandGold); font-size: 10px; padding: 2px 6px; border-radius: 4px; }

.tm-actions { width: 140px; text-align: right; display: flex; gap: 5px; justify-content: flex-end; }
.tm-btn { background: transparent; border: 1px solid var(--lineColor); color: var(--tt-text-soft); border-radius: 4px; padding: 5px 10px; cursor: pointer; }
.tm-btn:hover { background: #fff; color: #000; }
.tm-btn.del:hover { background: var(--tt-red); border-color: var(--tt-red); color: #fff; }
.tm-btn.view.off { color: var(--tt-faint); }

/* TRASH */
.tt-menu-trash-head { margin-top: 40px; border-bottom: 1px solid var(--lineColor); padding-bottom: 5px; color: var(--tt-muted); font-weight: 700; text-transform: uppercase; font-size: 12px; }
.tt-menu-trash { margin-top: 10px; opacity: 0.7; }

/* MODAL */
.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(4px); }
.tt-modal-overlay.active { display: flex; }
.tt-modal { background: var(--tt-surface-solid); width: 600px; padding: 30px; border-radius: 12px; border: 1px solid var(--royalBlue); box-shadow: 0 25px 80px rgba(0,0,0,0.7); overflow-y: auto; max-height: 90vh; }
.tt-modal h3 { margin-top: 0; color: #fff; border-bottom: 1px solid var(--lineColor); padding-bottom: 15px; }

.tm-form-row { margin-bottom: 15px; }
.tm-form-grid { display: flex; gap: 15px; margin-bottom: 15px; }
.tm-input-group { display: flex; gap: 5px; }

.tt-menu-wrap label { display: block; font-size: 11px; font-weight: 700; color: var(--tt-muted); margin-bottom: 5px; text-transform: uppercase; }
input[type="text"], input[type="number"], select {
    width: 100%; box-sizing: border-box; padding: 12px; background: var(--tt-bg-2); border: 1px solid var(--lineColor); color: #fff; border-radius: 6px; outline: none; font-family: inherit;
}
input:focus, select:focus { border-color: var(--royalBlue); }

.tm-icon-picker-btn { width: 100%; height: 42px; background: var(--tt-bg-2); border: 1px solid var(--lineColor); border-radius: 6px; cursor: pointer; font-size: 20px; }
.tm-btn-icon { width: 42px; background: var(--darkPanel); border: 1px solid var(--lineColor); border-radius: 6px; cursor: pointer; }

.tm-section-title { font-size: 12px; color: var(--brandGold); font-weight: 700; margin-top: 25px; margin-bottom: 10px; border-bottom: 1px solid var(--lineColor); padding-bottom: 5px; }
.tm-checks { display: flex; gap: 20px; margin-top: 15px; }
.tm-checks label { display: flex; align-items: center; gap: 8px; color: #fff; cursor: pointer; }

.tm-modal-foot { margin-top: 30px; text-align: right; display: flex; gap: 10px; justify-content: flex-end; }
.tm-btn-save { background: var(--royalBlue); color: #fff; border: none; padding: 10px 25px; border-radius: 6px; font-weight: 700; cursor: pointer; }
.tm-btn-cancel { background: transparent; border: 1px solid var(--lineColor); color: var(--tt-text-soft); padding: 10px 20px; border-radius: 6px; cursor: pointer; }

/* Icon Grid */
.tm-icon-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); gap: 5px; max-height: 400px; overflow-y: auto; padding: 10px; background: var(--tt-bg-2); border-radius: 8px; }
.tm-icon-box { display: flex; align-items: center; justify-content: center; height: 40px; font-size: 20px; cursor: pointer; border-radius: 4px; }
.tm-icon-box:hover { background: rgba(255,255,255,0.1); }

.tm-lang-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

/* --- NEU: DRAG & DROP VISUALISIERUNG --- */
.tt-menu-row.tm-will-nest {
    background: rgba(242, 193, 74, 0.15) !important; /* Goldener Hint */
    border: 2px solid var(--brandGold) !important;
    padding-left: 30px !important; /* Rückt optisch ein */
    transition: 0.1s;
}

.tt-menu-row.tm-will-swap {
    border-top: 2px solid var(--royalBlue) !important;
    border-bottom: 2px solid var(--royalBlue) !important;
}

/* Block 6 · Menu polish */
.tt-menu-wrap{border-radius:16px;padding:20px 20px 18px;box-shadow:0 18px 44px rgba(0,0,0,.28);}
.tt-menu-header{gap:14px;flex-wrap:wrap;align-items:flex-start;}
.tt-head-actions{flex-wrap:wrap;}
.tt-btn-add,.tt-btn-save,.tm-btn-save,.tm-btn-cancel{min-height:42px;border-radius:12px;font-weight:800;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease;}
.tt-btn-add{background:rgba(255,255,255,.05);border:1px solid var(--lineColor);}
.tt-btn-add:hover,.tm-btn-cancel:hover{background:rgba(37,99,235,.18);border-color:rgba(37,99,235,.35);color:#fff;box-shadow:0 0 0 1px rgba(37,99,235,.16) inset;}
.tt-btn-save:hover,.tm-btn-save:hover{box-shadow:0 14px 28px rgba(37,99,235,.18);filter:brightness(1.04);}
.tt-menu-list{gap:8px;}
.tt-menu-row{min-height:62px;border-radius:14px;padding:12px 14px;}
.tt-menu-row:hover{background:rgba(37,99,235,.12);border-color:rgba(242,193,74,.24);}
.tm-meta,.tm-actions{flex-wrap:wrap;row-gap:6px;}
.tm-btn{min-height:34px;border-radius:10px;font-weight:700;}
.tm-btn:hover{background:rgba(37,99,235,.16);border-color:rgba(242,193,74,.28);color:#fff;}
.tt-modal{border-radius:20px;padding:28px 26px;}
.tm-form-grid,.tm-lang-grid{align-items:start;}
@media (max-width: 900px){
  .tt-menu-wrap{padding:16px;}
  .tm-meta,.tm-actions{width:100%;justify-content:flex-start;}
  .tt-menu-row{flex-wrap:wrap;align-items:flex-start;}
  .tt-modal{width:min(94vw,680px);padding:22px 18px;}
}


/* --- merged from superuser_notifications_debug.css --- */
/* uses shared styles */


/* --- merged from superuser_rundmail.css --- */
/* Rundmail */
.tt-placeholder-page--superuser_rundmail {
  display: grid;
  gap: 22px;
}

.tt-placeholder-page--superuser_rundmail .tt-placeholder-hero {
  display: grid;
  grid-template-columns: minmax(72px, 96px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid rgba(242, 193, 78, 0.18);
  background: linear-gradient(135deg, rgba(17, 29, 58, 0.92), rgba(13, 22, 41, 0.86));
  box-shadow: 0 18px 48px rgba(3, 10, 26, 0.24);
}

.tt-placeholder-page--superuser_rundmail .tt-placeholder-hero__icon {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--brandGold, var(--tt-gold));
  font-size: 2rem;
  background: radial-gradient(circle at top, rgba(242, 193, 78, 0.2), rgba(242, 193, 78, 0.06));
  border: 1px solid rgba(242, 193, 78, 0.28);
}

.tt-placeholder-page--superuser_rundmail .tt-placeholder-eyebrow {
  margin: 0 0 6px;
  font-size: 0.76rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.tt-placeholder-page--superuser_rundmail h2 {
  margin: 0;
  color: var(--brandGold, var(--tt-gold));
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.tt-placeholder-page--superuser_rundmail .tt-placeholder-hero__copy > p:last-child {
  margin: 10px 0 0;
  color: rgba(255,255,255,0.84);
  max-width: 74ch;
}

.tt-placeholder-page--superuser_rundmail .tt-placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tt-placeholder-page--superuser_rundmail .tt-placeholder-card {
  position: relative;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(17, 29, 58, 0.9), rgba(10, 18, 34, 0.9));
  box-shadow: 0 14px 34px rgba(3, 10, 26, 0.2);
}

.tt-placeholder-page--superuser_rundmail .tt-placeholder-card__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0e1628;
  background: var(--brandGold, var(--tt-gold));
}

.tt-placeholder-page--superuser_rundmail h3 {
  margin: 14px 0 8px;
  font-size: 1.04rem;
  color: #fff;
}

.tt-placeholder-page--superuser_rundmail .tt-placeholder-card p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

@media (max-width: 980px) {
  .tt-placeholder-page--superuser_rundmail .tt-placeholder-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .tt-placeholder-page--superuser_rundmail .tt-placeholder-hero {
    grid-template-columns: 1fr;
    justify-items: start;
    padding: 20px;
  }

  .tt-placeholder-page--superuser_rundmail .tt-placeholder-hero__icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }
}


/* --- merged from superuser_smtp.css --- */
/* travtools/css/superuser_smtp.css */

.tt-log-container { max-width: 1200px; margin: 0; color: var(--text); }

/* Header wie Smtp-Log */
.tt-log-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }
.tt-title { font-size: 28px; font-weight: 950; margin: 0; color: #fff; display: flex; align-items: center; gap: 0px; }
.tt-title i { color: var(--brandGold); }
.tt-subtitle { color: var(--muted); font-size: 14px; margin-top: 4px; }

/* Status Pill */
.tt-status-pill { background: rgba(255, 255, 255, 0.05); color: var(--muted); padding: 6px 12px; border-radius: 99px; font-size: 11px; font-weight: 800; border: 1px solid var(--line); display: flex; align-items: center; gap: 8px; }
.tt-status-pill.is-active { background: rgba(61,220,132, 0.1); color: var(--tt-green); border-color: rgba(61,220,132, 0.2); }
.tt-dot { width: 6px; height: 6px; background: #94a3b8; border-radius: 50%; }
.tt-status-pill.is-active .tt-dot { background: #22c55e; box-shadow: 0 0 8px #22c55e; }

/* Alerts */
.tt-alert { padding: 15px 20px; border-radius: 15px; margin-bottom: 25px; border: 1px solid var(--line); font-weight: 600; display: flex; align-items: center; gap: 12px; }
.tt-alert.is-ok { background: rgba(61,220,132, 0.1); color: var(--tt-green); border-color: rgba(61,220,132, 0.2); }
.tt-alert.is-err { background: rgba(255,92,92, 0.1); color: var(--tt-red-2); border-color: rgba(255,92,92, 0.2); }

/* Section Cards */
.tt-section-card { background: var(--panel); border: 1px solid var(--line); border-radius: 20px; padding: 25px; margin-bottom: 20px; box-shadow: 0 4px 20px rgba(0,0,0,0.2); }
.tt-box-label { display: block; font-size: 11px; text-transform: uppercase; font-weight: 800; color: var(--brandGold); margin-bottom: 20px; letter-spacing: 0.5px; }

/* Form Grid */
.tt-grid-config { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; }
.tt-field-box { display: flex; flex-direction: column; gap: 8px; }
.tt-field-box.full-width { grid-column: span 3; border-bottom: 1px solid var(--line); padding-bottom: 15px; margin-bottom: 10px; }

.tt-field-box label { font-size: 13px; font-weight: 700; color: #fff; }
.tt-field-box input, .tt-field-box select { background: rgba(0,0,0,0.2); border: 1px solid var(--line); border-radius: 12px; padding: 12px; color: #fff; font-size: 14px; outline: none; transition: 0.3s; }
.tt-field-box input:focus, .tt-field-box select:focus { border-color: var(--brandGold); }

/* Checkbox Styling */
.tt-check-label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.tt-check-label input { width: 18px; height: 18px; accent-color: var(--brandGold); }

/* Footer Actions */
.tt-footer-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 30px; gap: 20px; flex-wrap: wrap; }
.tt-save-btn { background: var(--brandGold); color: #000; font-weight: 900; border: none; padding: 15px 30px; border-radius: 15px; cursor: pointer; font-size: 15px; transition: 0.3s; }
.tt-save-btn:hover { transform:none; box-shadow: 0 5px 15px rgba(242, 193, 74, 0.3); }

.tt-test-box { display: flex; gap: 10px; background: var(--panel2); padding: 10px; border-radius: 18px; border: 1px solid var(--line); flex: 1; max-width: 500px; }
.tt-test-box input { flex: 1; background: transparent; border: none; color: #fff; padding: 0 10px; outline: none; }
.tt-test-btn { background: rgba(255,255,255,0.05); color: #fff; border: 1px solid var(--line); padding: 10px 20px; border-radius: 12px; font-weight: 700; cursor: pointer; transition: 0.3s; }
.tt-test-btn:hover { background: #fff; color: #000; }

@media (max-width: 900px) {
  .tt-grid-config { grid-template-columns: 1fr 1fr; }
  .tt-field-box.full-width { grid-column: span 2; }
}
@media (max-width: 600px) {
  .tt-grid-config { grid-template-columns: 1fr; }
  .tt-field-box.full-width { grid-column: span 1; }
  .tt-footer-actions { flex-direction: column; align-items: stretch; }
}

/* Block 6 · SMTP polish */
.tt-log-container{width:100%;max-width:none;}
.tt-log-header{gap:16px;flex-wrap:wrap;align-items:flex-start;}
.tt-title{font-size:30px;line-height:1.1;gap:10px;}
.tt-status-pill{min-height:36px;padding:8px 14px;border-radius:999px;}
.tt-section-card{border-radius:18px;padding:22px 22px 20px;}
.tt-grid-config{align-items:start;}
.tt-field-box input,.tt-field-box select{min-height:44px;border-radius:12px;}
.tt-check-label{min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.02);}
.tt-footer-actions{align-items:stretch;}
.tt-save-btn,.tt-test-btn{min-height:44px;border-radius:12px;transition:background .18s ease,box-shadow .18s ease,filter .18s ease;}
.tt-save-btn:hover,.tt-test-btn:hover{transform:none;}
.tt-test-box{min-height:46px;border-radius:14px;align-items:center;}
@media (max-width: 900px){
  .tt-log-header{flex-direction:column;}
}


/* Block 14 · smtp finishing */
.tt-log-container{padding-right:4px}
.tt-section-card{backdrop-filter:blur(6px)}
.tt-section-card:hover{border-color:rgba(242,193,74,.25);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.tt-field-box input,.tt-field-box select{background:rgba(0,0,0,.24)}
.tt-field-box input::placeholder{color:#7f8a98}
.tt-save-btn,.tt-test-btn{box-shadow:none}
.tt-save-btn:hover,.tt-test-btn:hover{filter:brightness(1.04);box-shadow:0 10px 24px rgba(0,0,0,.18)}


/* --- merged from superuser_smtp_log.css --- */
/* * TravTools - Superuser SMTP Log (V5 Design) */

.tt-ac-wrap { 
    max-width: 1200px; 
    margin: 0; 
    color: var(--tt-text-soft); 
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* HEADER */
.tt-header-standalone { margin-bottom: 30px; padding-left: 5px; }
.tt-header-standalone h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; }
.tt-subtitle { color: var(--muted, var(--tt-muted)); font-size: 14px; }

/* CARD & FILTER */
.tt-card {
    background: var(--panel, var(--tt-surface-solid));
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
}

.tt-log-controls {
    padding: 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(255,255,255,0.02);
}
.tt-log-stats { font-size: 13px; color: var(--tt-muted); font-weight: 600; }
.tt-highlight { color: var(--brandGold, #f2c14a); }

/* SEARCH INPUT */
.tt-search-wrapper { position: relative; display: flex; align-items: center; }
.tt-search-input {
    background: rgba(0,0,0,0.3);
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 8px;
    padding: 8px 12px 8px 35px;
    color: #fff;
    font-size: 13px;
    width: 280px;
    outline: none;
    transition: 0.3s;
}
.tt-search-input:focus { border-color: var(--brandGold, #f2c14a); }
.tt-search-icon { position: absolute; left: 12px; color: var(--tt-faint); font-size: 14px; }

/* DATA TABLE */
.tt-table-responsive { width: 100%; overflow-x: auto; }
.tt-log-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }

.tt-log-table th {
    background: rgba(0,0,0,0.2);
    color: var(--tt-muted);
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 800;
    padding: 15px 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
    white-space: nowrap;
}

.tt-log-table td {
    padding: 15px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    color: var(--tt-text-soft);
    vertical-align: top;
}
.tt-log-table tr:hover td { background: rgba(255,255,255,0.02); }

/* SPALTEN */
.col-status { width: 80px; text-align: center; }
.col-ts { width: 160px; font-family: monospace; color: var(--tt-faint); }
.col-to { width: 250px; font-weight: 700; color: #fff; }
.col-subject { color: var(--tt-text-soft); }
.col-action { width: 80px; text-align: right; }

/* BADGES */
.tt-badge {
    display: inline-block; padding: 4px 8px; border-radius: 6px;
    font-size: 10px; font-weight: 800; text-transform: uppercase;
    border: 1px solid transparent; min-width: 50px; text-align: center;
}
.badge-ok { background: rgba(76, 175, 80, 0.15); color: #4caf50; border-color: rgba(76, 175, 80, 0.2); }
.badge-fail { background: rgba(255,92,92, 0.15); color: var(--tt-red); border-color: rgba(255,92,92, 0.2); }

/* DETAILS ROW (Hidden by default) */
.tt-details-row { display: none; background: rgba(0,0,0,0.2) !important; }
.tt-details-row.is-open { display: table-row; }
.tt-details-content { padding: 20px !important; }

/* PRE LOG (SMTP Dialog) */
.tt-smtp-log {
    background: var(--tt-bg-2);
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 8px;
    padding: 15px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: var(--tt-muted);
    white-space: pre-wrap;
    max-height: 300px;
    overflow-y: auto;
    margin-top: 10px;
}
.tt-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 15px; }
.tt-lbl { font-size: 10px; text-transform: uppercase; color: var(--brandGold, #f2c14a); font-weight: 800; display: block; margin-bottom: 4px; }
.tt-val { font-size: 13px; color: #fff; font-weight: 600; }

/* BUTTONS */
.tt-btn-icon {
    background: transparent; border: 1px solid var(--line, var(--tt-line-solid));
    color: var(--tt-muted); width: 32px; height: 32px; border-radius: 8px;
    cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
    transition: 0.2s;
}
.tt-btn-icon:hover { background: rgba(255,255,255,0.05); color: #fff; }
.tt-btn-icon.active { background: var(--brandGold, #f2c14a); color: var(--tt-bg-0); border-color: var(--brandGold, #f2c14a); transform: rotate(180deg); }

/* PAGINATION */
.tt-pagination {
    display: flex; justify-content: center; gap: 5px; padding: 20px;
    border-top: 1px solid var(--line, var(--tt-line-solid));
}
.tt-page-btn {
    min-width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,0.03); border: 1px solid var(--line, var(--tt-line-solid));
    color: var(--tt-muted); text-decoration: none; border-radius: 8px; font-weight: 700; font-size: 13px;
    cursor: pointer; transition: 0.2s;
}
.tt-page-btn:hover { background: rgba(255,255,255,0.08); color: #fff; }
.tt-page-btn.active { background: var(--brandGold, #f2c14a); color: var(--tt-bg-0); border-color: var(--brandGold, #f2c14a); }

/* fix6 smtp log table alignment */
.tt-log-container,.tt-wrap,.tt-card{width:100%!important;max-width:none!important;}
.tt-log-controls{display:grid!important;grid-template-columns:auto minmax(260px,1fr) auto!important;gap:14px!important;align-items:center!important;}
.tt-search-wrapper,.tt-search-input{width:100%!important;}
.tt-log-table{table-layout:fixed!important;}

/* Block 5 · SMTP log polish */
.tt-ac-wrap{width:100%;max-width:none;margin:0;}
.tt-card{border-radius:18px;overflow:hidden;}
.tt-log-controls{display:grid;grid-template-columns:minmax(180px,auto) minmax(220px,1fr) auto;gap:14px;align-items:center;}
.tt-search-input,.tt-btn-icon,.tt-page-btn{min-height:40px;}
.tt-log-table th{padding:13px 16px;}
.tt-log-table td{padding:12px 16px;word-break:break-word;}
.tt-detail-grid{grid-template-columns:1fr 1fr;gap:16px;}
.tt-smtp-log{border-radius:12px;}
@media (max-width: 960px){
  .tt-log-controls{grid-template-columns:1fr;}
  .tt-log-table{table-layout:auto!important;}
}
@media (max-width: 700px){
  .tt-detail-grid{grid-template-columns:1fr;}
}


/* === BLOCK 6: unified admin/table polish === */
.tt-table-wrap,
.tt-table-card,
.tt-admin-card,
.tt-log-card,
.tt-panel,
.tt-box{
  background:var(--tt-surface-solid);
  border:1px solid var(--tt-line-solid);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.24);
}
.tt-table-tools,
.tt-toolbar,
.tt-filter-row,
.tt-search-row,
.tt-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.tt-table,
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
}
.tt-table thead th,
thead th{
  position:sticky;
  top:0;
  background:#11161e;
  color:#f2c14a;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  border-bottom:1px solid var(--tt-line-solid);
}
.tt-table th,
.tt-table td,
th,td{
  padding:12px 14px;
  vertical-align:middle;
}
.tt-table tbody tr,
tbody tr{
  background:rgba(255,255,255,.015);
  transition:background-color .18s ease, box-shadow .18s ease;
}
.tt-table tbody tr:nth-child(even),
tbody tr:nth-child(even){
  background:rgba(255,255,255,.03);
}
.tt-table tbody tr:hover,
tbody tr:hover{
  background:rgba(37,99,235,.08);
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
}
.tt-table td,
td{
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#d7dce7;
}
.tt-table tbody tr:last-child td,
tbody tr:last-child td{border-bottom:0;}
.tt-pagination,
.pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  margin-top:16px;
}

/* Block 4 · server pass */
.tt-ac-wrap{max-width:none;}
.tt-header-standalone{margin-bottom:18px;padding-left:0;}
.tt-header-standalone h1{font-size:22px;line-height:1.1;}
.tt-card{border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,.2);}
.tt-log-controls{padding:16px 18px;gap:12px;flex-wrap:wrap;align-items:center;}
.tt-search-input{min-height:40px;width:min(300px,100%);}
.tt-log-table th,.tt-log-table td{vertical-align:middle;}
.tt-log-table tbody tr:hover{background:rgba(37,99,235,.08);}


/* --- merged from superuser_ticket.css --- */
/* superuser_ticket.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;
}

/* --- BADGES ORIGINAL DESIGN (FIXED) --- */
.tt-badge {
    display: inline-block; width: 12px; height: 12px; border-radius: 50%; position: relative; margin-left: 2px; vertical-align: -1px; flex-shrink: 0;
}
.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);
}
.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); }
.tt-badge.is-premium::after { border-color: #fff; }
.tt-badge.is-elite { background: #fff; box-shadow: 0 0 8px rgba(255,255,255,0.8); }

.tt-chat-wrap { display: flex; height: calc(100vh - 180px); min-height: 600px; background: var(--darkBg); border: 1px solid var(--lineColor); border-radius: 12px; overflow: hidden; margin:0; }
.tt-chat-sidebar { width: 320px; background: var(--darkPanel); border-right: 1px solid var(--lineColor); display: flex; flex-direction: column; }
.tt-chat-sb-header { padding: 15px; border-bottom: 1px solid var(--lineColor); background: rgba(255,255,255,0.02); }
.tt-sb-title { display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 800; color: var(--brandGold); text-transform: uppercase; }
.tt-sb-actions { display: flex; gap: 5px; background: var(--tt-bg-2); padding: 2px; border-radius: 4px; border: 1px solid var(--lineColor); }
.tt-view-btn { background: transparent; border: none; color: var(--tt-faint); font-size: 10px; font-weight: 700; padding: 4px 8px; cursor: pointer; border-radius: 3px; }
.tt-view-btn.active { background: var(--royalBlue); color: #fff; }
.tt-friend-list { flex: 1; overflow-y: auto; padding: 5px; display: flex; flex-direction: column; gap: 2px; }

.tt-u-item { display: block; padding: 12px 15px; border-radius: 6px; cursor: pointer; transition: 0.2s; border: 1px solid transparent; 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: #fff; font-size: 13px; display: flex; justify-content: space-between; }
.tt-u-msg { font-size: 11px; color: var(--tt-faint); 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; float: right; margin-top: 5px; }

.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-act-btn { background: transparent; border: 1px solid var(--lineColor); color: var(--tt-muted); padding: 4px 10px; border-radius: 4px; cursor: pointer; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.tt-act-btn:hover { color: #fff; border-color: #fff; }
.tt-act-btn.del:hover { color: var(--tt-red); border-color: var(--tt-red); }

.tt-msg-area { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 8px; 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%; }
.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: 10px 15px; font-size: 14px; line-height: 1.5; border-radius: 8px; color: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.tt-msg.own .tt-msg-bubble { background: var(--royalBlue); border-bottom-right-radius: 2px; }
.tt-msg.other .tt-msg-bubble { background: #1f242c; border: 1px solid var(--lineColor); border-bottom-left-radius: 2px; border-left: 2px solid var(--brandGold); }
.tt-msg-meta { font-size: 10px; color: var(--tt-faint); margin-top: 4px; display: flex; gap: 5px; align-items: center; }
.tt-sender-name { font-weight: 700; color: var(--tt-muted); }
.tt-role-hc { background: rgba(242,193,74,0.15); color: var(--brandGold); border: 1px solid rgba(242,193,74,0.3); padding: 1px 4px; border-radius: 3px; font-size: 9px; font-weight: 700; }

.tt-input-wrapper { background: var(--darkPanel); border-top: 1px solid var(--lineColor); padding: 15px; }
.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: 10px; color: #fff; height: 45px; resize: none; font-family: inherit; }
.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; text-transform: uppercase; font-size: 12px; }
.tt-send-btn:hover { filter: brightness(1.1); }
.tt-closed-notice { background: var(--tt-line-solid); color: #fff; padding: 15px; text-align: center; border-top: 1px solid var(--lineColor); font-weight: 700; }
@media (max-width: 900px) { .tt-chat-wrap { flex-direction: column; height: auto; } .tt-chat-sidebar { width: 100%; height: 300px; border-right: none; border-bottom: 1px solid var(--lineColor); } .tt-chat-main { height: 600px; } }

/* 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{display:grid!important;grid-template-columns:minmax(240px,280px) minmax(0,1fr)!important;}
.tt-chat-sidebar{width:280px!important;min-width:280px!important;}
.tt-friend-list .tt-u-item .tt-u-msg{display:none!important;}
.tt-friend-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;}


/* === BLOCK 6: unified chat shell polish === */
.tt-chat-wrap{
  width:100%;
  min-width:0;
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  align-items:stretch;
  height:calc(100vh - 180px);
  min-height:620px;
  max-height:none;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  max-width:none;
  display:flex;
  flex-direction:column;
}
.tt-chat-sb-header{
  padding:14px 16px;
  min-height:58px;
}
.tt-sb-title{
  gap:10px;
  min-width:0;
}
.tt-friend-list{
  padding:8px;
  gap:6px;
}
.tt-u-item{
  min-width:0;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid transparent !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tt-u-item:hover{
  background:rgba(37,99,235,.10) !important;
  border-color:rgba(242,193,74,.18) !important;
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
  transform:none !important;
}
.tt-u-item.active{
  background:rgba(37,99,235,.16) !important;
  border-color:rgba(37,99,235,.34) !important;
  box-shadow:inset 4px 0 0 rgba(242,193,74,.96), 0 0 0 1px rgba(37,99,235,.14);
}
.tt-u-name,
.tt-sender-name{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  line-height:1.25;
}
.tt-u-name{font-size:13px !important; font-weight:800;}
.tt-u-msg,
.tt-u-preview,
.tt-last-msg,
.tt-last-message,
.tt-u-sub,
.tt-u-meta{
  font-size:11px;
  color:#8b95a7;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tt-badge{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  margin-left:2px !important;
  vertical-align:middle !important;
  flex:0 0 12px;
}
.tt-msg-meta .tt-badge,
.tt-msg-header .tt-badge,
.tt-chat-badge .tt-badge,
.tt-sender-name .tt-badge{
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
  flex-basis:10px;
}
.tt-msg-header,
.tt-input-wrapper{
  padding-left:16px;
  padding-right:16px;
}
.tt-msg-area{
  min-height:0;
  padding:18px 16px;
}
.tt-msg{max-width:min(78%,780px);}
.tt-msg-bubble{
  border-radius:12px !important;
  line-height:1.5;
}
.tt-chat-textarea{
  min-height:46px;
  max-height:160px;
  border-radius:10px;
}
.tt-send-btn,
.tt-act-btn,
.tt-icon-btn,
.tt-view-btn{
  min-height:38px;
  border-radius:10px !important;
}
@media (max-width: 980px){
  .tt-chat-wrap{
    grid-template-columns:1fr !important;
    height:auto;
    min-height:0;
  }
  .tt-chat-sidebar{
    border-right:none !important;
    border-bottom:1px solid var(--lineColor,var(--tt-line-solid));
  }
  .tt-chat-main{
    min-height:520px;
  }
}

/* === Block 8 targeted repair: chat shell consistency === */
.tt-chat-wrap{
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr) !important;
  width:100%;
  height:calc(100vh - 190px) !important;
  min-height:620px !important;
  max-height:none;
  align-items:stretch;
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  height:100%;
}
.tt-chat-main{min-width:0;height:100%;}
.tt-friend-list,.tt-chat-list,.tt-ticket-list{padding:6px !important;gap:6px !important;}
.tt-friend-list .tt-u-item,.tt-list-click,.tt-ticket-item,.tt-chat-user,.tt-chat-item{
  padding:10px 12px !important;
  border-radius:12px !important;
  min-height:0 !important;
  transform:none !important;
}
.tt-friend-list .tt-u-item:hover,.tt-list-click:hover,.tt-ticket-item:hover,.tt-chat-user:hover,.tt-chat-item:hover{
  transform:none !important;
}
.tt-friend-list .tt-u-item .tt-u-msg,.tt-ticket-preview,.tt-chat-preview{display:none !important;}
.tt-friend-list .tt-u-item .tt-u-name,.tt-ticket-title,.tt-chat-title{font-size:13px !important;line-height:1.3;}
.tt-msg-area{padding:16px !important;gap:10px !important;}
.tt-msg-bubble{border-radius:14px !important;}
.tt-input-wrapper{padding:12px !important;}
.tt-chat-textarea{min-height:46px !important;height:46px !important;border-radius:12px !important;}
.tt-send-btn{min-width:120px;}
.tt-msg-meta .tt-badge,.tt-sender-name .tt-badge,.tt-u-name .tt-badge{
  width:10px !important;height:10px !important;min-width:10px !important;margin-left:2px !important;vertical-align:middle !important;
}
.tt-msg-meta .tt-badge::after,.tt-sender-name .tt-badge::after,.tt-u-name .tt-badge::after{
  width:2px !important;height:4px !important;border-width:0 1.2px 1.2px 0 !important;
}
@media (max-width: 900px){
  .tt-chat-wrap{grid-template-columns:1fr !important;height:auto !important;min-height:0 !important;}
  .tt-chat-sidebar{height:300px;}
  .tt-chat-main{min-height:520px;}
}


/* --- merged from superuser_weltenverwaltung.css --- */
/* * TravTools - Superuser Weltenverwaltung (V Final + Prettier Requests) */

.tt-ac-wrap { 
    max-width: 1100px; 
    margin: 0; 
    color: var(--tt-text-soft); 
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* HEADER */
.tt-header-standalone { margin-bottom: 30px; padding-left: 5px; }
.tt-header-standalone h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; }
.tt-subtitle { color: var(--muted, var(--tt-muted)); font-size: 14px; }

/* === NEU: REQUESTS STYLE (SCHÖNER) === */
.tt-requests-section {
    margin-bottom: 40px;
}
.tt-req-headline {
    margin: 0 0 15px 0; font-size: 13px; font-weight: 800; color: #f2c14a; text-transform: uppercase; letter-spacing: 0.5px;
    display: flex; align-items: center; gap: 8px;
}
.tt-req-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; }

/* Die Request Karte */
.tt-req-card {
    background: var(--tt-surface-solid); 
    border: 1px solid #f2c14a; /* Gold Border */
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(242, 193, 74, 0.1);
    display: flex; flex-direction: column;
}

/* Header (User Info) */
.tt-req-head {
    background: rgba(242, 193, 74, 0.15);
    padding: 12px 15px;
    display: flex; justify-content: space-between; align-items: center;
    border-bottom: 1px solid rgba(242, 193, 74, 0.2);
}
.tt-req-meta {
    font-size: 12px; color: #f2c14a; display: flex; gap: 10px; align-items: center; font-weight: 700;
}
.tt-req-user i { margin-right: 4px; }
.tt-req-date { font-weight: 400; color: var(--tt-text-soft); font-size: 11px; opacity: 0.8; }
.tt-req-badge {
    background: #f2c14a; color: #000; font-size: 10px; font-weight: 900; padding: 2px 6px; border-radius: 4px;
}

/* Body (Welt Info) */
.tt-req-body { padding: 15px; flex: 1; }
.tt-req-wname { margin: 0 0 5px 0; font-size: 16px; color: #fff; font-weight: 800; }
.tt-req-url-wrap { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-req-link { font-family: monospace; font-size: 12px; color: var(--tt-muted); text-decoration: none; }
.tt-req-link:hover { color: #fff; text-decoration: underline; }

/* Footer (Controls) */
.tt-req-footer {
    padding: 12px 15px;
    background: rgba(0,0,0,0.2);
    border-top: 1px solid var(--tt-line-solid);
    display: flex; gap: 10px; align-items: center; justify-content: space-between;
}
.tt-req-form { display: flex; gap: 8px; flex: 1; }
.tt-req-inputs { display: flex; gap: 8px; flex: 1; }

.tt-inp-mini {
    background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); color: #fff;
    padding: 8px 10px; border-radius: 6px; font-size: 12px; outline: none; width: 100%;
}
.tt-inp-mini:focus { border-color: #f2c14a; }
/* ID Input etwas breiter */
.tt-req-inputs input { flex: 2; }
.tt-req-inputs select { flex: 1; }

.tt-btn-approve {
    background: var(--tt-green); color: #000; border: none; padding: 0 14px;
    border-radius: 6px; font-weight: 800; font-size: 11px; cursor: pointer; text-transform: uppercase;
    display: flex; align-items: center; gap: 5px; height: 34px;
}
.tt-btn-approve:hover { filter: brightness(1.1); box-shadow: 0 2px 8px rgba(61,220,132, 0.2); }

.tt-btn-deny {
    background: transparent; border: 1px solid var(--tt-red); color: var(--tt-red);
    padding: 0 10px; border-radius: 6px; cursor: pointer; height: 34px;
    display: flex; align-items: center; justify-content: center;
}
.tt-btn-deny:hover { background: var(--tt-red); color: #fff; }


/* GRID LAYOUT (Existing) */
.tt-admin-grid {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 30px;
    align-items: start;
    margin-top: 20px;
}
@media (max-width: 900px) { .tt-admin-grid { grid-template-columns: 1fr; } }

/* CARDS */
.tt-ac-card {
    background: var(--panel, var(--tt-surface-solid));
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.2s ease;
    margin-bottom: 15px;
}
.tt-ac-card:hover { border-color: rgba(255,255,255,0.2); }

/* CREATE CARD (Links) */
.tt-create-card {
    background: var(--panel, var(--tt-surface-solid));
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 16px;
    position: sticky;
    top: 20px;
    overflow: hidden;
}
.tt-card-header {
    background: rgba(255,255,255,0.03);
    padding: 15px 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
}
.tt-card-header h3 {
    margin: 0; font-size: 16px; color: var(--brandGold, #f2c14a);
    display: flex; align-items: center; gap: 10px; font-weight: 800; text-transform: uppercase;
}
.tt-card-body { padding: 20px; }

/* INPUTS */
.tt-form-group { margin-bottom: 15px; }
.tt-form-group label {
    display: block; font-size: 11px; text-transform: uppercase; font-weight: 800; color: var(--muted, var(--tt-muted)); margin-bottom: 6px;
}
.tt-inp-field {
    width: 100%; background: rgba(0,0,0,0.25); border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 10px; padding: 12px 15px; color: #fff; font-size: 14px; outline: none; box-sizing: border-box; transition: 0.3s;
}
.tt-inp-field:focus { border-color: var(--brandGold, #f2c14a); box-shadow: 0 0 10px rgba(242,193,74,0.1); }

/* BUTTONS */
.tt-save-btn {
    width: 100%; background: linear-gradient(135deg, var(--brandGold, #f2c14a), var(--tt-gold-2));
    color: var(--tt-bg-0); border: none; border-radius: 10px; font-weight: 800; height: 42px; cursor: pointer; text-transform: uppercase;
}
.tt-save-btn:active { transform: scale(0.98); }

/* AKKORDEON STATUS */
.tt-ac-card.is-open { border-color: var(--brandGold, #f2c14a); border-left: 4px solid var(--brandGold, #f2c14a); background: #131316; }

.tt-ac-main { padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.tt-ac-info { display: flex; align-items: center; gap: 15px; }

.tt-world-badge {
    padding: 6px 10px; background: rgba(212,175,55,0.15); color: var(--brandGold, #f2c14a);
    border: 1px solid rgba(212,175,55,0.2); border-radius: 8px; font-size: 12px; font-weight: 800; text-transform: uppercase; min-width: 45px; text-align: center;
}
.tt-ac-name { font-size: 16px; font-weight: 700; color: #fff; margin: 0; }
.tt-ac-sub { font-size: 12px; color: var(--muted, var(--tt-muted)); }

.tt-detail-btn {
    width: 32px; height: 32px; background: rgba(255,255,255,0.05); border-radius: 8px;
    display: flex; align-items: center; justify-content: center; color: #fff; transition: all 0.3s; border: 1px solid var(--line, var(--tt-line-solid));
}
.tt-ac-card.is-open .tt-detail-btn { transform: rotate(180deg); background: var(--brandGold, #f2c14a); color: #000; border-color: var(--brandGold, #f2c14a); }

/* DETAILS BEREICH */
.tt-ac-details { display: none; padding: 25px 30px; border-top: 1px solid var(--line, var(--tt-line-solid)); background: rgba(0,0,0,0.2); }
.tt-ac-card.is-open .tt-ac-details { display: block; }

/* INFO-BOX (Read Only) */
.tt-info-block {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    background: rgba(255,255,255,0.03); 
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 10px; 
    padding: 20px; 
    margin-bottom: 20px;
}

.tt-ib-item { display: flex; flexDirection: column; gap: 6px; min-width: 0; }
.tt-ib-label { font-size: 10px; text-transform: uppercase; color: var(--muted, var(--tt-muted)); font-weight: 800; }
.tt-ib-val { font-size: 13px; font-weight: 600; color: #fff; font-family: monospace; word-break: break-all; }

.green { color: var(--tt-green); }
.red { color: var(--tt-red-2); }
.gold { color: var(--brandGold, #f2c14a); }

/* EDIT PANEL (DB Editor) */
.tt-edit-panel {
    border-top: 1px dashed var(--line, var(--tt-line-solid));
    padding-top: 20px;
    margin-top: 20px;
}
.tt-edit-title {
    font-size: 12px; font-weight: 800; color: #fff; text-transform: uppercase; margin-bottom: 15px; display: block;
    display: flex; align-items: center; gap: 8px;
}
.tt-edit-grid {
    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px;
}
@media (max-width: 700px) { .tt-edit-grid { grid-template-columns: 1fr; } }

/* FOOTER BUTTONS */
.tt-form-footer { display: flex; gap: 15px; padding-top: 20px; margin-top: 20px; border-top: 1px solid rgba(255,255,255,0.05); }

.tt-action-btn {
    flex: 2; display: flex; align-items: center; justify-content: center; gap: 8px; height: 42px; border-radius: 10px; font-weight: 800; text-decoration: none; font-size: 13px; cursor: pointer;
    border: 1px solid rgba(242, 193, 74, 0.3); background: rgba(242, 193, 74, 0.15); color: var(--brandGold, #f2c14a); white-space: nowrap;
}
.tt-action-btn:hover { background: rgba(242, 193, 74, 0.25); }

.tt-update-btn {
    flex: 2; display: flex; align-items: center; justify-content: center; gap: 8px; height: 42px; border-radius: 10px; font-weight: 800; cursor: pointer;
    border: 1px solid rgba(61,220,132, 0.3); background: rgba(61,220,132, 0.15); color: var(--tt-green);
}
.tt-update-btn:hover { background: rgba(61,220,132, 0.25); }

.delete-form-wrapper { flex: 1; display: flex; }
.tt-del-btn {
    width: 100%; min-width: 100px; background: rgba(255,92,92, 0.1); color: var(--tt-red); border: 1px solid rgba(255,92,92, 0.3);
    border-radius: 10px; font-weight: 800; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 5px; height: 42px;
}
.tt-del-btn:hover { background: rgba(255,92,92, 0.25); border-color: var(--tt-red); }

/* ALERTS */
.tt-alert { padding: 15px; border-radius: 12px; margin-bottom: 25px; font-weight: 600; text-align: center; border: 1px solid transparent; }
.tt-alert-success { background: rgba(61,220,132, 0.1); border-color: rgba(61,220,132, 0.2); color: var(--tt-green); }
.tt-alert-error { background: rgba(255,92,92, 0.15); border-color: var(--tt-red); color: var(--tt-red); }

.tt-empty-state { text-align: center; padding: 50px; color: var(--muted, var(--tt-faint)); background: rgba(255,255,255,0.02); border-radius: 16px; font-style: italic; }

/* fix6 weltenverwaltung buttons */
.tt-btn-save,.tt-btn-import,.tt-btn-delete,.tt-btn-del,.tt-btn{min-width:140px!important;height:42px!important;padding:0 16px!important;border-radius:12px!important;font-size:12px!important;font-weight:800!important;}


/* Block 5 · Worlds management polish */
.tt-ac-wrap,.tt-world-admin-wrap{width:100%;max-width:none!important;}
.tt-world-grid,.tt-admin-grid{grid-template-columns:minmax(340px,420px) minmax(460px,1fr)!important;gap:22px!important;align-items:start!important;}
.tt-card,.tt-world-card,.tt-panel{border-radius:18px!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;}
.tt-btn,.tt-btn-save,.tt-btn-import,.tt-btn-delete,.tt-action-btn{min-height:42px!important;border-radius:12px!important;transform:none!important;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;}
.tt-btn:hover,.tt-btn-save:hover,.tt-btn-import:hover,.tt-btn-delete:hover,.tt-action-btn:hover{transform:none!important;box-shadow:0 0 0 1px rgba(242,193,74,.2),0 10px 24px rgba(21,33,56,.22)!important;}
.tt-input,.tt-select,.tt-textarea{border-radius:12px!important;}
@media (max-width:1024px){.tt-world-grid,.tt-admin-grid{grid-template-columns:1fr!important;}}


/* --- merged from superuser_zuruecksetzen.css --- */
/* * TravTools - Superuser System Reset (Danger Zone) */

.tt-ac-wrap { 
    max-width: 1100px; 
    margin: 0; 
    color: var(--tt-text-soft); 
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* HEADER */
.tt-header-standalone { margin-bottom: 30px; padding-left: 5px; }
.tt-header-standalone h1 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 5px 0; }
.tt-subtitle { color: var(--muted, var(--tt-muted)); font-size: 14px; }

/* GRID */
.tt-admin-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: start;
    margin-top: 20px;
}

/* CARD STYLES */
.tt-card {
    background: var(--panel, var(--tt-surface-solid));
    border: 1px solid var(--line, var(--tt-line-solid));
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.tt-card-header {
    padding: 20px;
    border-bottom: 1px solid var(--line, var(--tt-line-solid));
    display: flex; align-items: center; gap: 10px;
}
.tt-card-header h3 {
    margin: 0; font-size: 18px; font-weight: 800; text-transform: uppercase;
}
.tt-card-body { padding: 30px; text-align: center; }

/* STEP 1: BACKUP (Blau/Gold) */
.card-backup { border-left: 4px solid var(--brandGold, #f2c14a); }
.card-backup h3 { color: var(--brandGold, #f2c14a); }

/* STEP 2: RESET (Rot/Gefahr) */
.card-reset { 
    border: 1px solid rgba(255,92,92, 0.3); 
    border-left: 4px solid var(--tt-red);
    background: rgba(255,92,92, 0.05);
}
.card-reset h3 { color: var(--tt-red); }

/* HERO ICONS */
.tt-hero-icon {
    font-size: 60px;
    margin-bottom: 20px;
    display: block;
}
.icon-backup { color: var(--brandGold, #f2c14a); opacity: 0.8; }
.icon-danger { color: var(--tt-red); animation: pulse 2s infinite; }

@keyframes pulse {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.1); opacity: 0.8; }
    100% { transform: scale(1); opacity: 1; }
}

/* TEXTS */
.tt-desc {
    font-size: 14px;
    color: var(--tt-text-soft);
    margin-bottom: 25px;
    line-height: 1.6;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.tt-warning-text {
    color: var(--tt-red);
    font-weight: 700;
    background: rgba(0,0,0,0.3);
    padding: 15px;
    border-radius: 8px;
    border: 1px dashed var(--tt-red);
    margin-bottom: 25px;
    display: inline-block;
}

/* BUTTONS */
.tt-btn-backup {
    background: linear-gradient(135deg, var(--brandGold, #f2c14a), var(--tt-gold-2));
    color: var(--tt-bg-0);
    border: none; padding: 15px 40px; border-radius: 10px;
    font-weight: 900; text-transform: uppercase; cursor: pointer;
    font-size: 16px; display: inline-flex; align-items: center; gap: 10px;
    transition: 0.2s; text-decoration: none;
}
.tt-btn-backup:hover { transform:none; box-shadow: 0 5px 20px rgba(242, 193, 74, 0.2); }

.tt-btn-nuke {
    background: #d32f2f;
    color: #fff;
    border: 1px solid #b71c1c; padding: 15px 40px; border-radius: 10px;
    font-weight: 900; text-transform: uppercase; cursor: pointer;
    font-size: 16px; display: inline-flex; align-items: center; gap: 10px;
    transition: 0.2s;
}
.tt-btn-nuke:hover { background: var(--tt-red); box-shadow: 0 0 20px rgba(255,92,92, 0.4); }
.tt-btn-nuke:disabled { background: var(--tt-faint-2); border-color: var(--tt-faint-2); color: var(--tt-muted); cursor: not-allowed; box-shadow: none; }

/* PASSWORD INPUT */
.tt-pass-input {
    background: #000;
    border: 2px solid var(--tt-red);
    color: var(--tt-red);
    padding: 15px;
    border-radius: 8px;
    font-size: 16px;
    text-align: center;
    width: 100%;
    max-width: 300px;
    margin-bottom: 20px;
    font-weight: bold;
    outline: none;
    letter-spacing: 2px;
}
.tt-pass-input::placeholder { color: #552222; letter-spacing: normal; }
.tt-pass-input:focus { box-shadow: 0 0 15px rgba(255,92,92, 0.3); }

/* OVERLAY (LOCK) */
.tt-locked-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(22, 27, 34, 0.8);
    backdrop-filter: blur(4px);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    z-index: 10;
}
.tt-lock-icon { font-size: 40px; color: var(--tt-muted); margin-bottom: 10px; }
.tt-lock-msg { font-size: 16px; font-weight: 700; color: #fff; }

/* MESSAGES */
.tt-alert { padding: 15px; border-radius: 12px; margin-bottom: 25px; font-weight: 600; text-align: center; border: 1px solid transparent; }
.tt-alert-success { background: rgba(61,220,132, 0.1); border-color: rgba(61,220,132, 0.2); color: var(--tt-green); }
.tt-alert-error { background: rgba(255,92,92, 0.15); border-color: var(--tt-red); color: var(--tt-red); }

/* Block 6 · Reset page polish */
.tt-ac-wrap{max-width:none;width:100%;}
.tt-admin-grid{align-items:start;}
.tt-card{min-height:unset!important;height:auto!important;border-radius:18px;box-shadow:0 18px 44px rgba(0,0,0,.28);}
.tt-card-body{display:flex;flex-direction:column;gap:16px;}
.tt-btn-backup,.tt-btn-nuke{min-height:44px;border-radius:12px;font-size:13px;letter-spacing:.02em;}
.tt-pass-input{min-height:44px;border-radius:12px;}
.tt-locked-overlay{border-radius:18px;}
@media (max-width: 980px){
  .tt-admin-grid{grid-template-columns:1fr!important;}
}


/* --- merged from tools_abfang.css --- */
/* Abfang-Rechner */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from tools_forschung.css --- */
/* Forschungs-Rechner */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from tools_inaktivensuche.css --- */
/* Inaktivensuche */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from tools_kp.css --- */
/* travtools/css/tools_kp.css */

.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from tools_npc.css --- */
/* NPC-Rechner */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from tools_truppen_saven.css --- */
/* Truppen saven */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from tools_weg.css --- */
/* Wegerechner */
.tt-module-placeholder {
  display: grid;
  gap: 18px;
}
.tt-module-card {
  background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96));
  border: 1px solid rgba(242,193,78,.16);
  border-radius: 16px;
  box-shadow: 0 18px 36px rgba(0,0,0,.24);
  padding: 22px;
}
.tt-module-intro {
  display: grid;
  gap: 10px;
}
.tt-module-kicker {
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(242,193,78,.82);
  font-weight: 700;
}
.tt-module-copy {
  margin: 0;
  color: rgba(255,255,255,.82);
  max-width: 900px;
  line-height: 1.6;
}
.tt-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.tt-module-tile {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 18px;
  min-height: 110px;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tt-module-tile:hover {
  background: rgba(40,77,150,.18);
  border-color: rgba(242,193,78,.24);
  box-shadow: 0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32);
}
.tt-module-tile strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
}
.tt-module-tile p {
  margin: 0;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
  font-size: 13px;
}
.tt-module-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(242,193,78,.08);
  border: 1px solid rgba(242,193,78,.18);
  color: rgba(255,255,255,.82);
  font-size: 13px;
}
@media (max-width: 780px) {
  .tt-module-card { padding: 18px; border-radius: 14px; }
  .tt-module-grid { grid-template-columns: 1fr; }
}


/* --- merged from travtools_datenschutz.css --- */
/* travtools/css/travtools_datenschutz.css */

.tt-privacy-wrap {
  max-width: 1100px; /* Standard 1100 */
  margin: 0; 
}

.tt-privacy-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  color: var(--text);
  line-height: 1.6;
  font-size: 15px;
}

/* H1 */
.tt-privacy-card h1 {
  font-size: 32px; margin: 0 0 30px 0; font-weight: 900;
  letter-spacing: -0.5px; border-bottom: 1px solid var(--line);
  padding-bottom: 20px; color: var(--brandGold);
}

/* H2: Kapitel */
.tt-privacy-card h2 {
  font-size: 22px; 
  margin: 48px 0 24px 0;
  color: #fff; font-weight: 800;
  border-left: 4px solid var(--brandGold);
  padding-left: 16px;
  line-height: 1.3;
}

/* H3: Sektionen */
.tt-privacy-card h3 {
  font-size: 13px;
  margin: 32px 0 14px 0;
  color: #ffffff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-left: 4px solid var(--brandGold);
  padding-left: 12px;
  line-height: 1.2;
}

.tt-privacy-card h4 {
  font-size: 14px; margin: 20px 0 8px 0;
  color: #fff; font-weight: 800; opacity: 0.95;
}

.tt-privacy-card p { margin-bottom: 16px; opacity: 0.92; text-align: justify; }
.tt-privacy-card ul { margin-bottom: 16px; padding-left: 20px; opacity: 0.92; }
.tt-privacy-card li { margin-bottom: 8px; }

a { color: var(--brandGold); text-decoration: none; border-bottom: 1px solid transparent; transition: all 0.2s; }
.tt-privacy-card a { color: var(--brandGold); }
.tt-privacy-card a:hover { color: #fff; border-color: var(--brandGold); }
.tt-privacy-card a[target="_blank"]::after { content: " ↗"; font-size: 0.8em; opacity: 0.7; }

@media (max-width: 600px) {
  .tt-privacy-card { padding: 20px; }
  .tt-privacy-card h1 { font-size: 26px; }
  .tt-privacy-card h2 { font-size: 18px; }
}

.tt-privacy-wrap{display:block;width:100%;}
.tt-privacy-card{max-width:none;}


/* --- merged from travtools_gruender.css --- */
/* travtools/css/travtools_gruender.css */

.tt-founder-wrap {
  /* Schmal für bessere Lesbarkeit */
  max-width: 1100px;
  width: 100%;
  margin: 0;
}

.tt-founder-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  color: var(--text);
  font-size: 14px; 
  line-height: 1.6;
}

/* HEADER */
.tt-founder-head { 
  border-bottom: 1px solid var(--line); 
  padding-bottom: 15px; 
  margin-bottom: 24px; 
}
.tt-founder-head h1 {
  font-size: 32px; 
  margin: 0 0 4px 0; 
  font-weight: 900;
  letter-spacing: -0.5px; 
  color: var(--brandGold);
}
.tt-founder-head p { margin: 0; font-size: 13px; color: var(--muted); }

/* GRID */
.tt-founder-grid {
  display: grid;
  /* Rechte Spalte fix auf 240px */
  grid-template-columns: minmax(0,1fr) 260px;
  gap: 25px;
}

@media(max-width: 700px) {
  .tt-founder-grid { grid-template-columns: 1fr; }
  .tt-founder-img-col { order: -1; align-items: center; }
}

/* BILD SPALTE (Rechts) */
.tt-founder-img-col {
  display: flex; 
  flex-direction: column; 
  gap: 15px; /* Etwas mehr Abstand zu den Links */
  align-items: center; 
}

/* Wrapper für Bild + Unterschrift */
.tt-img-wrapper {
  width: 100%;
  max-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tt-founder-img {
  width: 100%;
  aspect-ratio: 3/4; 
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--line);
  box-shadow: 0 8px 25px rgba(0,0,0,0.3);
  background: var(--panel2);
}

/* NEU: Bildunterschrift */
.tt-img-caption {
  font-size: 10px;
  color: var(--muted);
  text-align: center;
  font-style: italic;
  opacity: 0.7;
}

/* TEXT SPALTE (Links) */
.tt-founder-text-col {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* H3 */
.tt-founder-h3 {
  font-size: 12px;
  font-weight: 800;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-left: 3px solid var(--brandGold);
  padding-left: 10px;
  line-height: 1;
  margin-top: 15px;
  display: block;
}
.tt-founder-h3.first { margin-top: 0; }

.tt-founder-txt {
  opacity: 0.9;
  text-align: justify;
}

/* LINKS */
.tt-project-list {
  display: flex; 
  flex-direction: column; 
  gap: 6px; 
  width: 100%;
  max-width: 220px; 
}

.tt-project-link {
  display: flex; align-items: center; gap: 10px;
  background: var(--panel2);
  border: 1px solid var(--line);
  padding: 8px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--text);
  font-weight: 600;
  transition: all 0.2s;
  font-size: 13px;
  text-align: left;
}
.tt-project-link:hover {
  border-color: var(--brandGold);
  background: rgba(242, 193, 74, 0.05);
}
.tt-project-link span { color: var(--brandGold); font-size: 1.1em; }

.tt-sig {
  margin-top: 20px;
  font-family: 'Handwriting', cursive, sans-serif; 
  font-size: 20px;
  color: var(--brandGold);
  opacity: 0.8;
}

/* Block 6 UI final follow-up */
.tt-founder-wrap{max-width:none!important;width:100%!important;margin:0!important;}

/* Block 5 · Gründer polish */
.tt-founder-wrap{width:100%;max-width:none;margin:0;}
.tt-founder-card{border-radius:20px;padding:26px 28px;}
.tt-founder-head{display:none;}
.tt-founder-grid{align-items:start;grid-template-columns:minmax(0,1fr) 250px;}
.tt-founder-text-col{min-width:0;}
.tt-project-list{gap:10px;max-width:240px;}
.tt-project-link{border-radius:12px;padding:10px 12px;min-height:44px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;}
.tt-project-link:hover{background:rgba(37,99,235,.14)!important;border-color:rgba(242,193,74,.30)!important;box-shadow:0 0 0 1px rgba(37,99,235,.18) inset,0 0 16px rgba(37,99,235,.18)!important;}
@media(max-width: 720px){
  .tt-founder-card{padding:20px 18px;}
  .tt-founder-grid{grid-template-columns:1fr;}
}


/* === BLOCK 6: travtools info page polish === */
.tt-about-wrap,
.tt-founder-wrap,
.tt-donate-wrap,
.tt-pn-wrap,
.tt-patchnotes-wrap{
  width:100%;
  max-width:none;
}
.tt-about-card,
.tt-founder-card,
.tt-donate-card,
.tt-pn-card,
.tt-patch-card,
.tt-role-card,
.tt-feature-card{
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.tt-role-card:hover,
.tt-feature-card:hover,
.tt-about-card:hover,
.tt-patch-card:hover{
  transform:none !important;
  box-shadow:0 14px 34px rgba(0,0,0,.26), inset 3px 0 0 rgba(242,193,74,.9);
}

/* === Block 8 targeted repair: info pages consistency === */
.tt-page-shell,.tt-content-wrap,.tt-info-wrap,.tt-patch-wrap{width:100%;max-width:none;margin:0;}
.tt-cards-grid,.tt-info-grid,.tt-feed-grid,.tt-donate-grid,.tt-founder-grid{align-items:start;}
.tt-card,.tt-info-card,.tt-patch-card,.tt-donate-card,.tt-founder-card,.tt-feature-card{
  border-radius:18px !important;
  min-height:0 !important;
}
.tt-card:hover,.tt-info-card:hover,.tt-patch-card:hover,.tt-donate-card:hover,.tt-founder-card:hover,.tt-feature-card:hover{
  transform:none !important;
}
.tt-top-actions,.tt-feed-header,.tt-page-actions{gap:10px;flex-wrap:wrap;}
.tt-upload-zone,.tt-dropzone,.tt-form-box{border-radius:16px !important;}


/* Block 5 · Gründer polish */
.tt-gruender-wrap,.tt-page-wrap,.tt-ac-wrap{width:100%;max-width:none!important;}
.tt-founder-grid,.tt-hero-grid,.tt-content-grid{align-items:start!important;gap:22px!important;}
.tt-founder-card,.tt-member-card,.tt-link-card,.tt-hero-card,.tt-card{border-radius:18px!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;}
.tt-founder-card:hover,.tt-member-card:hover,.tt-link-card:hover,.tt-hero-card:hover{transform:none!important;box-shadow:0 0 0 1px rgba(242,193,74,.18),0 14px 30px rgba(21,33,56,.22)!important;}


/* --- merged from travtools_impressum.css --- */
/* travtools/css/travtools_impressum.css */

.tt-impressum-wrap {
  max-width: 1100px; /* Standard 1100 */
  margin: 0;
}

.tt-imp-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  color: var(--text);
  line-height: 1.6;
  font-size: 15px; 
}

/* H1 */
.tt-imp-head { border-bottom: 1px solid var(--line); padding-bottom: 20px; margin-bottom: 24px; }
.tt-imp-head h1 {
  font-size: 32px; margin: 0 0 6px 0; font-weight: 900;
  letter-spacing: -0.5px; color: var(--brandGold);
}
.tt-imp-head p { margin: 0; font-size: 14px; color: var(--muted); }

/* LABEL */
.tt-imp-label {
  display: block;
  font-size: 13px; 
  text-transform: uppercase;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 10px;
  letter-spacing: 0.5px;
  border-left: 4px solid var(--brandGold);
  padding-left: 12px;
  line-height: 1.2;
}

.tt-imp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 30px; }
@media(max-width: 700px) { .tt-imp-grid { grid-template-columns: 1fr; gap: 20px; } }

.tt-imp-section { margin-bottom: 24px; }
.tt-imp-value {
  font-size: 15px; line-height: 1.6; color: var(--text);
  opacity: 0.95; padding-left: 16px;
}
.tt-imp-value strong { color: #fff; font-weight: 700; }

/* Sub-Headings */
.tt-imp-h3 {
  font-size: 13px; 
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 6px;
  display: block;
  margin-top: 20px;
  text-transform: uppercase; 
  letter-spacing: 0.5px;
}

.tt-imp-block { font-size: 14px; line-height: 1.6; opacity: 0.9; margin-bottom: 16px; text-align: justify; }

.tt-imp-copyright { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line); text-align: center; font-size: 13px; color: var(--muted); }

a.tt-link { color: var(--brandGold); text-decoration: none; border-bottom: 1px solid transparent; transition: all 0.2s; }
a.tt-link:hover { color: #fff; border-color: var(--brandGold); }
.tt-imp-muted { opacity: .7; }
.tt-imp-disclaimer { margin-top: 40px; }
.tt-imp-disclaimer-body { padding-left: 16px; }
.tt-imp-h3-first { margin-top: 0; }
.tt-imp-section-spaced { margin-top: 40px; }


/* --- merged from travtools_kontakt.css --- */
/* travtools_kontakt.css (Final - Left Aligned Form) */

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

/* --- GAST VIEW --- */
.tt-guest-wrap { display: flex; justify-content: center; align-items: center; height: 70vh; }
.tt-guest-card { background: var(--darkPanel); border: 1px solid var(--lineColor); border-radius: 16px; padding: 40px; text-align: center; max-width: 500px; box-shadow: 0 10px 40px rgba(0,0,0,0.5); }
.tt-guest-icon { font-size: 50px; color: var(--brandGold); margin-bottom: 20px; }
.tt-guest-card h1 { color: #fff; margin: 0 0 10px 0; }
.tt-guest-card p { color: var(--tt-muted); line-height: 1.6; margin-bottom: 30px; }
.tt-guest-actions { display: flex; gap: 15px; justify-content: center; }
.tt-btn-login { padding: 12px 25px; border-radius: 8px; font-weight: 800; text-decoration: none; background: var(--royalBlue); color: #fff; }

/* --- MAIN LAYOUT --- */
.tt-chat-wrap { display: grid; grid-template-columns: minmax(250px,290px) minmax(0,1fr); height: calc(100vh - 180px); min-height: 600px; background: var(--darkBg); border: 1px solid var(--lineColor); border-radius: 12px; overflow: hidden; margin:0; }
.tt-chat-sidebar { width: 290px; min-width:290px; background: var(--darkPanel); border-right: 1px solid var(--lineColor); display: flex; flex-direction: column; }
.tt-chat-sb-header { padding: 15px; 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; display: flex; justify-content: space-between; align-items: center; }
.tt-icon-btn { background: transparent; border: 1px solid var(--lineColor); color: #fff; width: 24px; height: 24px; border-radius: 4px; cursor: pointer; }
.tt-icon-btn:hover { background: var(--royalBlue); border-color: var(--royalBlue); }

.tt-friend-list { flex: 1; overflow-y: auto; padding: 5px; display: flex; flex-direction: column; gap: 2px; }

/* ITEMS */
.tt-u-item { padding: 12px; border-radius: 6px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; 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: #fff; font-size: 13px; }
.tt-st-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin-left: 5px; }
.st-online { background: var(--tt-green); } 
.st-offline { background: var(--tt-faint); }
.tt-cnt-badge { background: var(--tt-red); color: #fff; padding: 1px 6px; border-radius: 10px; font-size: 10px; font-weight: 700; }

/* MAIN AREA */
.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); }

/* --- CREATE FORM (LINKSBÜNDIG) --- */
.tt-form-container { padding: 40px; overflow-y: auto; height: 100%; color: #fff; }
.tt-form-container h2 { color: var(--brandGold); border-bottom: 1px solid var(--lineColor); padding-bottom: 15px; margin-top: 0; text-align: left; }
/* HIER: margin 0 statt margin auto */
.tt-form-box { max-width: 600px; margin: 0; } 
.tt-form-group { margin-bottom: 15px; }
.tt-form-group label { display: block; font-size: 12px; font-weight: 700; color: var(--tt-muted); margin-bottom: 5px; text-transform: uppercase; }
.tt-inp { width: 100%; padding: 12px; background: var(--tt-bg-1); border: 1px solid var(--lineColor); color: #fff; border-radius: 6px; box-sizing: border-box; font-family: inherit; }
.tt-inp.readonly { background: rgba(255,255,255,0.02); color: var(--tt-muted); cursor: not-allowed; }
.tt-inp:focus { border-color: var(--royalBlue); outline: none; }
.tt-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.tt-form-check { margin: 20px 0; display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--tt-text-soft); }
.tt-form-actions { text-align: left; } /* Buttons links */

/* BUTTONS */
.tt-send-btn { height: 45px; padding: 0 20px; background: var(--royalBlue); color: #fff; border: none; border-radius: 6px; font-weight: 800; cursor: pointer; text-transform: uppercase; font-size: 12px; }
.tt-send-btn:hover { filter: brightness(1.1); }
.tt-act-btn { background: transparent; border: 1px solid var(--lineColor); color: var(--tt-muted); padding: 4px 10px; border-radius: 4px; cursor: pointer; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.tt-act-btn:hover { color: #fff; border-color: #fff; }

/* CHAT BUBBLES */
.tt-msg-area { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 8px; 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%; }
.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: 10px 15px; font-size: 14px; line-height: 1.5; border-radius: 8px; color: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.tt-msg.own .tt-msg-bubble { background: var(--royalBlue); border-bottom-right-radius: 2px; }
.tt-msg.other .tt-msg-bubble { background: #1f242c; border: 1px solid var(--lineColor); border-bottom-left-radius: 2px; border-left: 2px solid var(--brandGold); }
.tt-msg-meta { font-size: 10px; color: var(--tt-faint); margin-top: 4px; display: flex; gap: 5px; align-items: center; }
.tt-sender-name { font-weight: 700; color: var(--tt-muted); }
.tt-role-hc { background: rgba(242,193,74,0.15); color: var(--brandGold); border: 1px solid rgba(242,193,74,0.3); padding: 1px 4px; border-radius: 3px; font-size: 9px; font-weight: 700; }
.tt-chat-badge { transform: scale(0.8); }

/* INPUT */
.tt-input-wrapper { background: var(--darkPanel); border-top: 1px solid var(--lineColor); padding: 15px; }
.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: 10px; color: #fff; height: 45px; resize: none; font-family: inherit; }
.tt-chat-textarea:focus { border-color: var(--royalBlue); outline: none; }

.tt-closed-notice { background: var(--tt-line-solid); color: #fff; padding: 15px; text-align: center; border-top: 1px solid var(--lineColor); font-weight: 700; }

@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; }
}

/* 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;
}


/* Follow-up: schönere Ticketliste + mehr Platz für Chat */
.tt-friend-list{padding:10px;gap:8px;}
.tt-friend-list .tt-u-item{min-height:72px;padding:14px 16px!important;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.tt-friend-list .tt-u-item::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:4px;background:linear-gradient(180deg, rgba(255,215,122,.95), rgba(242,193,74,.35));opacity:.0;transition:opacity .18s ease, box-shadow .18s ease;}
.tt-friend-list .tt-u-item.active::before,.tt-friend-list .tt-u-item:hover::before{opacity:1;box-shadow:0 0 12px rgba(242,193,74,.25);}
.tt-friend-list .tt-u-item.active{background:linear-gradient(135deg, rgba(20,76,200,.22), rgba(242,193,74,.06));border-color:rgba(242,193,74,.18);box-shadow:0 0 0 1px rgba(242,193,74,.08) inset;}
.tt-u-name{font-size:14px;font-weight:800;display:flex;align-items:center;gap:6px;}
.tt-msg-header{justify-content:space-between;}


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


/* fix5 rebuild */
.tt-chat-wrap{grid-template-columns:minmax(240px,280px) minmax(0,1fr)!important;}
.tt-chat-sidebar{width:auto!important;min-width:240px!important;}
.tt-friend-list .tt-u-msg,.tt-ticket-preview,.tt-last-msg{display:none!important;}
.tt-friend-list .tt-u-item,.tt-ticket-item{min-height:70px!important;border-radius:18px!important;}


/* fix6 contact/chat sizing */
.tt-chat-wrap{grid-template-columns:minmax(240px,270px) minmax(0,1fr)!important;height:calc(100vh - 145px)!important;min-height:680px!important;}
.tt-chat-sidebar{width:auto!important;min-width:240px!important;}
.tt-chat-main{min-width:0!important;}
.tt-friend-list .tt-u-item,.tt-ticket-item{min-height:60px!important;padding:10px 12px!important;border-radius:16px!important;}
.tt-msg-area{padding:18px!important;}
.tt-input-wrapper{padding:14px!important;}


/* === BLOCK 6: unified chat shell polish === */
.tt-chat-wrap{
  width:100%;
  min-width:0;
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  align-items:stretch;
  height:calc(100vh - 180px);
  min-height:620px;
  max-height:none;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.32);
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  max-width:none;
  display:flex;
  flex-direction:column;
}
.tt-chat-sb-header{
  padding:14px 16px;
  min-height:58px;
}
.tt-sb-title{
  gap:10px;
  min-width:0;
}
.tt-friend-list{
  padding:8px;
  gap:6px;
}
.tt-u-item{
  min-width:0;
  padding:10px 12px !important;
  border-radius:10px !important;
  border:1px solid transparent !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.tt-u-item:hover{
  background:rgba(37,99,235,.10) !important;
  border-color:rgba(242,193,74,.18) !important;
  box-shadow:inset 3px 0 0 rgba(242,193,74,.92);
  transform:none !important;
}
.tt-u-item.active{
  background:rgba(37,99,235,.16) !important;
  border-color:rgba(37,99,235,.34) !important;
  box-shadow:inset 4px 0 0 rgba(242,193,74,.96), 0 0 0 1px rgba(37,99,235,.14);
}
.tt-u-name,
.tt-sender-name{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  line-height:1.25;
}
.tt-u-name{font-size:13px !important; font-weight:800;}
.tt-u-msg,
.tt-u-preview,
.tt-last-msg,
.tt-last-message,
.tt-u-sub,
.tt-u-meta{
  font-size:11px;
  color:#8b95a7;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tt-badge{
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  margin-left:2px !important;
  vertical-align:middle !important;
  flex:0 0 12px;
}
.tt-msg-meta .tt-badge,
.tt-msg-header .tt-badge,
.tt-chat-badge .tt-badge,
.tt-sender-name .tt-badge{
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
  flex-basis:10px;
}
.tt-msg-header,
.tt-input-wrapper{
  padding-left:16px;
  padding-right:16px;
}
.tt-msg-area{
  min-height:0;
  padding:18px 16px;
}
.tt-msg{max-width:min(78%,780px);}
.tt-msg-bubble{
  border-radius:12px !important;
  line-height:1.5;
}
.tt-chat-textarea{
  min-height:46px;
  max-height:160px;
  border-radius:10px;
}
.tt-send-btn,
.tt-act-btn,
.tt-icon-btn,
.tt-view-btn{
  min-height:38px;
  border-radius:10px !important;
}
@media (max-width: 980px){
  .tt-chat-wrap{
    grid-template-columns:1fr !important;
    height:auto;
    min-height:0;
  }
  .tt-chat-sidebar{
    border-right:none !important;
    border-bottom:1px solid var(--lineColor,var(--tt-line-solid));
  }
  .tt-chat-main{
    min-height:520px;
  }
}

/* === Block 8 targeted repair: chat shell consistency === */
.tt-chat-wrap{
  display:grid !important;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr) !important;
  width:100%;
  height:calc(100vh - 190px) !important;
  min-height:620px !important;
  max-height:none;
  align-items:stretch;
}
.tt-chat-sidebar{
  width:auto !important;
  min-width:0 !important;
  height:100%;
}
.tt-chat-main{min-width:0;height:100%;}
.tt-friend-list,.tt-chat-list,.tt-ticket-list{padding:6px !important;gap:6px !important;}
.tt-friend-list .tt-u-item,.tt-list-click,.tt-ticket-item,.tt-chat-user,.tt-chat-item{
  padding:10px 12px !important;
  border-radius:12px !important;
  min-height:0 !important;
  transform:none !important;
}
.tt-friend-list .tt-u-item:hover,.tt-list-click:hover,.tt-ticket-item:hover,.tt-chat-user:hover,.tt-chat-item:hover{
  transform:none !important;
}
.tt-friend-list .tt-u-item .tt-u-msg,.tt-ticket-preview,.tt-chat-preview{display:none !important;}
.tt-friend-list .tt-u-item .tt-u-name,.tt-ticket-title,.tt-chat-title{font-size:13px !important;line-height:1.3;}
.tt-msg-area{padding:16px !important;gap:10px !important;}
.tt-msg-bubble{border-radius:14px !important;}
.tt-input-wrapper{padding:12px !important;}
.tt-chat-textarea{min-height:46px !important;height:46px !important;border-radius:12px !important;}
.tt-send-btn{min-width:120px;}
.tt-msg-meta .tt-badge,.tt-sender-name .tt-badge,.tt-u-name .tt-badge{
  width:10px !important;height:10px !important;min-width:10px !important;margin-left:2px !important;vertical-align:middle !important;
}
.tt-msg-meta .tt-badge::after,.tt-sender-name .tt-badge::after,.tt-u-name .tt-badge::after{
  width:2px !important;height:4px !important;border-width:0 1.2px 1.2px 0 !important;
}
@media (max-width: 900px){
  .tt-chat-wrap{grid-template-columns:1fr !important;height:auto !important;min-height:0 !important;}
  .tt-chat-sidebar{height:300px;}
  .tt-chat-main{min-height:520px;}
}


/* --- merged from travtools_patchnotes.css --- */
/* travtools/css/travtools_patchnotes.css */

.tt-patch-wrap {
  max-width: none; width:100%; /* Standard 1100 */
  margin: 0; 
}

/* === BASIS CARD STYLE === */
.tt-patch-card {
  background: var(--panel); 
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 30px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  color: var(--text);
  font-size: 15px;
  margin-bottom: 40px;
}

/* HEADER */
.tt-patch-head {
  border-bottom: 1px solid var(--line);
  padding-bottom: 20px;
  margin-bottom: 24px;
}
.tt-patch-head h1 {
  font-size: 32px;
  margin: 0 0 6px 0;
  font-weight: 900;
  letter-spacing: -0.5px;
  color: var(--brandGold);
}
.tt-patch-head p {
  margin: 0;
  font-size: 14px;
  color: var(--muted);
}

/* LABELS */
.tt-label {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-left: 3px solid var(--brandGold);
  padding-left: 10px;
  line-height: 1.2;
}

/* Header Row für Titel + Button */
.tt-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

/* Button für "Neuer Eintrag" */
.tt-btn-small {
  padding: 6px 14px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tt-btn-small:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--brandGold);
  color: var(--brandGold);
}

/* MODERNE INPUTS */
.tt-input, .tt-select, .tt-textarea {
  width: 100%;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--line);
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  outline: none;
  transition: all 0.2s;
  box-sizing: border-box;
}

.tt-input:focus, .tt-select:focus, .tt-textarea:focus {
  border-color: var(--brandGold);
  background: rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0 4px rgba(242, 193, 74, 0.1);
}

.tt-textarea {
  min-height: 150px;
  resize: vertical;
  line-height: 1.6;
}

/* FILE UPLOAD */
.tt-upload-wrap {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
.tt-file-input {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  opacity: 0;
  z-index: 5;
  cursor: pointer;
}
.tt-upload-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px;
  background: rgba(255,255,255,0.03);
  border: 2px dashed var(--line);
  border-radius: 12px;
  transition: all 0.2s;
  text-align: center;
  min-height: 120px;
}
.tt-file-input:hover + .tt-upload-zone,
.tt-file-input:focus + .tt-upload-zone {
  border-color: var(--brandGold);
  background: rgba(242, 193, 74, 0.05);
}

.tt-up-icon { font-size: 28px; margin-bottom: 10px; opacity: 0.8; }
.tt-up-text { font-size: 14px; color: var(--muted); font-weight: 600; }
.tt-up-preview { 
  margin-top: 15px; 
  max-height: 150px; 
  border-radius: 8px; 
  border: 1px solid var(--line); 
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

/* ADMIN FORM LAYOUT */
.tt-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 20px;
}
.tt-full { grid-column: 1 / -1; }

.tt-btn-row { margin-top: 24px; display: flex; gap: 12px; }
.tt-btn {
  padding: 12px 24px;
  border-radius: 12px;
  border: 0;
  cursor: pointer;
  font-weight: 800;
  font-size: 15px;
  background: linear-gradient(135deg, var(--brandGold), var(--tt-gold));
  color: var(--tt-bg-0);
  display: inline-flex; align-items: center; gap: 8px;
  transition: transform 0.1s;
}
.tt-btn:hover { filter: brightness(1.1); transform:none; }

.tt-check-label {
  display: flex; align-items: center; gap: 10px;
  background: rgba(0,0,0,0.2); padding: 12px; border-radius: 12px; border: 1px solid var(--line);
  cursor: pointer;
}
.tt-check-input { width: 18px; height: 18px; accent-color: var(--brandGold); }

/* FEED ITEMS */
.tt-feed-item {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 0;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 30px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

.tt-feed-img-col {
  background: #000;
  display: flex; align-items: center; justify-content: center;
  border-right: 1px solid var(--line);
  min-height: 250px;
  overflow: hidden;
}
.tt-feed-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.tt-feed-item:hover .tt-feed-img { transform:none; }
.tt-feed-fallback { width: 60%; opacity: 0.5; filter: grayscale(100%); }

.tt-feed-content { padding: 30px; display: flex; flex-direction: column; }

.tt-feed-meta {
  display: flex; align-items: center; gap: 12px; margin-bottom: 16px; font-size: 13px;
}
.tt-feed-date { color: var(--muted); font-family: monospace; font-size: 14px; }
.tt-status {
  padding: 4px 10px; border-radius: 6px; font-weight: 800; font-size: 11px; text-transform: uppercase;
}
.st-done { background: rgba(61,220,132, 0.15); color: var(--tt-green); }
.st-dev  { background: rgba(59, 130, 246, 0.15); color: var(--tt-blue-3); }
.st-plan { background: rgba(168, 85, 247, 0.15); color: var(--tt-purple); }
.st-prob { background: rgba(255,92,92, 0.15); color: var(--tt-red-2); }
.st-new  { background: rgba(242, 193, 74, 0.15); color: var(--brandGold); }

.tt-feed-title { margin: 0 0 16px 0; font-size: 26px; font-weight: 800; color: #fff; line-height: 1.2; }
.tt-feed-txt { font-size: 15px; line-height: 1.6; color: var(--text); opacity: 0.95; white-space: pre-wrap; }

/* Admin Tools */
.tt-adm-tools {
  margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line);
  display: flex; justify-content: flex-end; gap: 10px;
}

/* EMPTY STATE */
.tt-empty {
  text-align: center;
  padding: 60px 20px;
  background: var(--panel);
  border: 1px dashed var(--line);
  border-radius: 18px;
  color: var(--muted);
  font-size: 16px;
}

/* Google Translate */
.tt-trans-wrap {
  margin-bottom: 30px;
  display: flex; justify-content: flex-end; 
}
.tt-trans-btn {
  background: rgba(255,255,255,0.05); border: 1px solid var(--line);
  padding: 8px 16px; border-radius: 8px; color: var(--text); 
  text-decoration: none; font-size: 13px; display: inline-flex; align-items: center; gap: 8px;
}
.tt-trans-btn:hover { background: rgba(255,255,255,0.1); color: #fff; }

@media(max-width:800px) {
  .tt-feed-item { grid-template-columns: 1fr; }
  .tt-feed-img-col { height: 200px; border-right: 0; border-bottom: 1px solid var(--line); }
  .tt-form-grid { grid-template-columns: 1fr; }
  .tt-header-row { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* Block 6 UI final follow-up */
.tt-patch-wrap{max-width:none!important;width:100%!important;margin:0!important;}
.tt-btn-small,.tt-feed-item,.tt-upload-zone,.tt-btn{position:relative;overflow:hidden;}
.tt-btn-small::before,.tt-feed-item::before,.tt-upload-zone::before,.tt-btn::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:8px;background:#f2c14a;opacity:0;transition:opacity .18s ease,box-shadow .18s ease;}
.tt-btn-small:hover,.tt-feed-item:hover,.tt-upload-zone:hover,.tt-btn:hover{transform:none!important;background:rgba(37,99,235,.16)!important;border-color:rgba(242,193,74,.22)!important;box-shadow:0 0 0 1px rgba(37,99,235,.20) inset,0 0 18px rgba(37,99,235,.20)!important;}
.tt-btn-small:hover::before,.tt-feed-item:hover::before,.tt-upload-zone:hover::before,.tt-btn:hover::before{opacity:1;box-shadow:0 0 14px rgba(242,193,74,.38)!important;}
.tt-feed-item:hover .tt-feed-img{transform:none!important;}

.tt-patch-card:hover{transform:none!important;background:rgba(37,99,235,.10)!important;border-color:rgba(242,193,74,.22)!important;box-shadow:0 0 0 1px rgba(37,99,235,.20) inset,0 0 18px rgba(37,99,235,.18)!important;}

/* Block 5 · TravTools pages polish */
.tt-patch-wrap{width:100%;max-width:none;margin:0;}
.tt-patch-card,.tt-feed-item{width:100%;max-width:none;}
.tt-patch-card{border-radius:20px;padding:26px 28px;}
.tt-patch-head{display:none;}
.tt-header-row{gap:14px;flex-wrap:wrap;align-items:center;}
.tt-btn-small,.tt-btn{border-radius:12px;font-weight:800;min-height:42px;}
.tt-btn-small{padding:10px 14px;background:rgba(255,255,255,.04);}
.tt-feed-item{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:stretch;}
.tt-feed-content{padding:24px 26px;min-width:0;}
.tt-feed-meta{flex-wrap:wrap;row-gap:8px;}
.tt-feed-title,.tt-feed-content h2,.tt-feed-content h3{margin:0 0 10px 0;line-height:1.25;}
.tt-feed-content p{margin:0 0 14px 0;}
.tt-form-grid{align-items:start;}
@media (max-width: 920px){
  .tt-feed-item{grid-template-columns:1fr;}
  .tt-feed-img-col{min-height:210px;border-right:0;border-bottom:1px solid var(--line);}
}
@media (max-width: 700px){
  .tt-patch-card{padding:20px 18px;}
  .tt-form-grid{grid-template-columns:1fr;gap:18px;}
  .tt-feed-content{padding:18px;}
}


/* === BLOCK 6: travtools info page polish === */
.tt-about-wrap,
.tt-founder-wrap,
.tt-donate-wrap,
.tt-pn-wrap,
.tt-patchnotes-wrap{
  width:100%;
  max-width:none;
}
.tt-about-card,
.tt-founder-card,
.tt-donate-card,
.tt-pn-card,
.tt-patch-card,
.tt-role-card,
.tt-feature-card{
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.tt-role-card:hover,
.tt-feature-card:hover,
.tt-about-card:hover,
.tt-patch-card:hover{
  transform:none !important;
  box-shadow:0 14px 34px rgba(0,0,0,.26), inset 3px 0 0 rgba(242,193,74,.9);
}

/* === Block 8 targeted repair: info pages consistency === */
.tt-page-shell,.tt-content-wrap,.tt-info-wrap,.tt-patch-wrap{width:100%;max-width:none;margin:0;}
.tt-cards-grid,.tt-info-grid,.tt-feed-grid,.tt-donate-grid,.tt-founder-grid{align-items:start;}
.tt-card,.tt-info-card,.tt-patch-card,.tt-donate-card,.tt-founder-card,.tt-feature-card{
  border-radius:18px !important;
  min-height:0 !important;
}
.tt-card:hover,.tt-info-card:hover,.tt-patch-card:hover,.tt-donate-card:hover,.tt-founder-card:hover,.tt-feature-card:hover{
  transform:none !important;
}
.tt-top-actions,.tt-feed-header,.tt-page-actions{gap:10px;flex-wrap:wrap;}
.tt-upload-zone,.tt-dropzone,.tt-form-box{border-radius:16px !important;}


/* --- merged from travtools_spenden.css --- */
/* travtools/css/travtools_spenden.css */

.tt-donate-wrap { 
  max-width: 1100px;
  width: 100%;
  margin: 0; 
}

.tt-donate-card {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 18px; padding: 30px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  color: var(--text); font-size: 15px; line-height: 1.6;
}

/* H1 */
.tt-donate-head { border-bottom: 1px solid var(--line); padding-bottom: 20px; margin-bottom: 24px; }
.tt-donate-head h1 {
  font-size: 32px; margin: 0 0 6px 0; font-weight: 900;
  letter-spacing: -0.5px; color: var(--brandGold);
}
.tt-donate-head p { margin: 0; font-size: 14px; color: var(--muted); }

/* H3 */
.tt-donate-h3 {
  font-size: 13px; font-weight: 800; color: #ffffff;
  margin-bottom: 14px; display: block; margin-top: 30px;
  text-transform: uppercase; letter-spacing: 0.5px;
  border-left: 4px solid var(--brandGold); padding-left: 12px; line-height: 1.2;
}
.tt-donate-h3.first { margin-top: 0; }

.tt-donate-txt { margin-bottom: 16px; opacity: 0.95; text-align: justify; }

/* BADGES & LISTS (wie gehabt) */
.tt-badge-showcase {
  display: flex; flex-direction: column; gap: 12px;
  background: rgba(0,0,0,0.2); border: 1px solid var(--line);
  border-radius: 16px; padding: 20px; margin: 20px 0;
}
.tt-badge-row { display: flex; align-items: center; justify-content:flex-start; gap: 14px; }
.tt-user-preview { font-weight: 700; font-size: 15px; color: #fff; display: flex; align-items: center; justify-content:flex-start; gap: 0; }
.tt-badge-desc { font-size: 13px; opacity: 0.7; }

/* BADGE STYLES */
.tt-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border-radius: 50%; position: relative;
  flex-shrink: 0;
}
.tt-badge::after {
  content: ''; width: 3px; height: 7px;
  border: solid; border-width: 0 2px 2px 0;
  transform: rotate(45deg); margin-bottom: 2px;
}
.tt-badge.is-alpha { background: linear-gradient(135deg, #e5e7eb, #9ca3af); border: 1px solid rgba(255,255,255,0.2); box-shadow: 0 0 5px rgba(255,255,255,0.1); }
.tt-badge.is-alpha::after { border-color: #374151; }
.tt-badge.is-gold { background: var(--brandGold); border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 0 8px rgba(242, 193, 74, 0.3); }
.tt-badge.is-gold::after { border-color: var(--tt-bg-0); }
.tt-badge.is-premium { background: #1e40af; border: 2px solid var(--brandGold); box-shadow: 0 0 8px rgba(30, 64, 175, 0.4); }
.tt-badge.is-premium::after { border-color: #fff; }
.tt-badge.is-elite { background: linear-gradient(135deg, #e2e8f0, #ffffff, #cffafe); border: 1px solid rgba(255,255,255,0.8); box-shadow: 0 0 10px rgba(255, 255, 255, 0.4), 0 0 4px rgba(6, 182, 212, 0.2); animation: tt-shimmer 4s infinite ease-in-out; }
.tt-badge.is-elite::after { border-color: #0f172a; }
@keyframes tt-shimmer {
  0% { box-shadow: 0 0 6px rgba(255, 255, 255, 0.3); }
  50% { box-shadow: 0 0 12px rgba(255, 255, 255, 0.6), 0 0 6px rgba(6, 182, 212, 0.3); }
  100% { box-shadow: 0 0 6px rgba(255, 255, 255, 0.3); }
}

/* FORMULAR */
.tt-donate-form {
  background: var(--panel2); border: 1px solid var(--line);
  padding: 20px; border-radius: 16px; margin-top: 20px;
}
.tt-donate-label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 8px; color: #fff; }
.tt-donate-input {
  width: 100%; padding: 10px 12px; border-radius: 10px;
  background: #000; border: 1px solid var(--line); color: #fff; outline: none;
}
.tt-donate-input:focus { border-color: var(--brandGold); }
.tt-donate-check { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 14px; opacity: 0.9; cursor: pointer; }
.tt-donate-check input { width: 16px; height: 16px; accent-color: var(--brandGold); }
.tt-donate-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: #ffc439; color: #000; font-weight: 800; font-size: 16px;
  padding: 12px 24px; border-radius: 99px; border: 0; cursor: pointer;
  text-decoration: none; transition: transform 0.1s;
}
.tt-donate-btn:hover { filter: brightness(1.05); transform:none; }

/* LISTE */
.tt-top-list { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.tt-top-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 16px; background: rgba(255,255,255,0.03);
  border-bottom: 1px solid var(--line); border-radius: 8px;
}
.tt-top-item:last-child { border-bottom: 0; }
.tt-top-rank { font-weight: 800; color: var(--muted); margin-right: 10px; width: 24px; }
.tt-top-name { font-weight: 700; color: #fff; display: flex; align-items: center; gap: 6px; }

/* SUPERUSER */
.tt-suold-area { margin-top: 50px; padding-top: 20px; border-top: 2px dashed var(--line); }
.tt-suold-head { color: var(--brandBlue2); font-weight: 900; margin-bottom: 10px; }
.tt-suold-form { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr auto; gap: 10px; align-items: end; background: var(--panel2); padding: 14px; border-radius: 12px; }
.tt-suold-input { width: 100%; padding: 8px; background: #000; border: 1px solid var(--line); color: #fff; border-radius: 6px; }
.tt-su-btn { padding: 8px 12px; cursor: pointer; background: var(--brandGold); border: 0; border-radius: 6px; font-weight: 700; }

/* Follow-up: linksbündige Badges + konsistente Inhaltskante */
.tt-badge-showcase{align-items:flex-start;text-align:left;}
.tt-badge-row{width:100%;justify-content:flex-start;align-items:center;}
.tt-user-preview,.tt-top-name{justify-content:flex-start;text-align:left;}
.tt-top-item{gap:14px;}
.tt-top-item > div:first-child{display:flex;align-items:center;gap:10px;min-width:0;}


/* Block 6 UI final follow-up */
.tt-badge-showcase,.tt-top-list,.tt-donate-wrap{max-width:none;width:100%;margin-left:0;margin-right:0;}
.tt-badge-row,.tt-top-item{justify-content:flex-start!important;}
.tt-badge{width:18px!important;height:18px!important;min-width:18px!important;}
.tt-badge::after{width:4px!important;height:8px!important;border-width:0 2px 2px 0!important;margin-bottom:2px!important;}
.tt-top-name .tt-badge,.tt-user-preview .tt-badge{margin-left:0!important;vertical-align:middle!important;}

/* Block 5 · Spenden polish */
.tt-donate-wrap{width:100%;max-width:none;margin:0;}
.tt-donate-card{border-radius:20px;padding:26px 28px;}
.tt-donate-head{display:none;}
.tt-badge-showcase,.tt-donate-form,.tt-suold-form{width:100%;box-sizing:border-box;}
.tt-badge-showcase{border-radius:18px;padding:18px;align-items:flex-start;}
.tt-badge-row{justify-content:flex-start;gap:12px;flex-wrap:wrap;}
.tt-user-preview,.tt-top-name{gap:0;min-width:0;line-height:1.25;}
.tt-donate-btn,.tt-su-btn{border-radius:12px;min-height:42px;font-weight:800;}
.tt-donate-btn{padding:12px 22px;}
.tt-top-item{border-radius:12px;padding:12px 14px;gap:12px;}
.tt-suold-form{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(110px,1fr)) auto;gap:12px;border-radius:16px;}
@media (max-width: 900px){
  .tt-suold-form{grid-template-columns:1fr 1fr;}
}
@media (max-width: 640px){
  .tt-donate-card{padding:20px 18px;}
  .tt-suold-form{grid-template-columns:1fr;}
  .tt-top-item{flex-wrap:wrap;justify-content:flex-start;}
}


/* === BLOCK 6: travtools info page polish === */
.tt-about-wrap,
.tt-founder-wrap,
.tt-donate-wrap,
.tt-pn-wrap,
.tt-patchnotes-wrap{
  width:100%;
  max-width:none;
}
.tt-about-card,
.tt-founder-card,
.tt-donate-card,
.tt-pn-card,
.tt-patch-card,
.tt-role-card,
.tt-feature-card{
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.tt-role-card:hover,
.tt-feature-card:hover,
.tt-about-card:hover,
.tt-patch-card:hover{
  transform:none !important;
  box-shadow:0 14px 34px rgba(0,0,0,.26), inset 3px 0 0 rgba(242,193,74,.9);
}

/* === Block 8 targeted repair: info pages consistency === */
.tt-page-shell,.tt-content-wrap,.tt-info-wrap,.tt-patch-wrap{width:100%;max-width:none;margin:0;}
.tt-cards-grid,.tt-info-grid,.tt-feed-grid,.tt-donate-grid,.tt-founder-grid{align-items:start;}
.tt-card,.tt-info-card,.tt-patch-card,.tt-donate-card,.tt-founder-card,.tt-feature-card{
  border-radius:18px !important;
  min-height:0 !important;
}
.tt-card:hover,.tt-info-card:hover,.tt-patch-card:hover,.tt-donate-card:hover,.tt-founder-card:hover,.tt-feature-card:hover{
  transform:none !important;
}
.tt-top-actions,.tt-feed-header,.tt-page-actions{gap:10px;flex-wrap:wrap;}
.tt-upload-zone,.tt-dropzone,.tt-form-box{border-radius:16px !important;}


/* --- merged from travtools_was_ist.css --- */
/* travtools/css/travtools_was_ist.css */

.tt-about-wrap {
  max-width: 1100px; /* Standard 1100 */
  margin: 0; 
}

/* CARD */
.tt-about-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 40px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  margin-bottom: 30px;
}

/* HERO SECTION */
.tt-hero-card {
  text-align: center; 
  padding: 60px 40px;
  background: linear-gradient(180deg, var(--panel) 0%, rgba(242, 193, 74, 0.05) 100%);
  border-bottom: 3px solid var(--brandGold);
}

.tt-hero-badge {
  display: inline-block;
  background: rgba(242, 193, 74, 0.15);
  color: var(--brandGold);
  font-size: 12px;
  font-weight: 800;
  padding: 6px 12px;
  border-radius: 20px;
  margin-bottom: 20px;
  letter-spacing: 1px;
}

.tt-hero-content h1 {
  font-size: 38px;
  font-weight: 900;
  color: #fff;
  margin: 0 0 20px 0;
  line-height: 1.2;
  display:block !important;
  text-align:center;
}

.tt-hero-text {
  font-size: 18px;
  color: var(--text);
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto 30px auto; 
}

.tt-hero-quote {
  font-family: serif; 
  font-style: italic;
  color: var(--muted);
  font-size: 16px;
  border-top: 1px solid var(--line);
  display: inline-block;
  padding-top: 20px;
}

/* GRIDS */
.tt-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}

.tt-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  margin-bottom: 40px;
}

/* ROLE CARDS */
.tt-role-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 25px;
  text-align: center;
  transition: transform 0.2s, border-color 0.2s;
}

.tt-role-card:hover {
  transform:none;
  border-color: var(--brandGold);
}

.tt-role-icon {
  font-size: 40px;
  margin-bottom: 15px;
}

.tt-role-card h3 {
  color: #fff;
  font-size: 18px;
  margin-bottom: 10px;
  font-weight: 800;
}

.tt-role-card p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

/* FEATURE SECTION */
.tt-section-title {
  text-align: center; 
  margin-bottom: 30px;
}
.tt-section-title h2 { font-size: 28px; color: #fff; margin-bottom: 5px; }
.tt-section-title p { color: var(--muted); font-size: 16px; }

/* FEATURE CARDS */
.tt-feat-card {
  background: rgba(0,0,0,0.2);
  border: 1px solid var(--line);
  border-left: 3px solid var(--line);
  border-radius: 12px;
  padding: 25px;
  transition: all 0.2s;
  text-align: left;
}

.tt-feat-card:hover {
  border-left-color: var(--brandGold);
  background: rgba(255,255,255,0.02);
}

.tt-feat-head {
  display: flex;
  align-items: center;
  gap: 0px;
  margin-bottom: 15px;
}

.tt-feat-head i { font-size: 20px; color: var(--brandGold); }
.tt-feat-head h3 { margin: 0; font-size: 18px; color: #fff; font-weight: 700; }

.tt-feat-card p {
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 15px;
}

.tt-feat-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--line);
  padding-top: 15px;
}

.tt-feat-list li {
  position: relative;
  padding-left: 20px;
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 6px;
}
.tt-feat-list li::before {
  content: "•";
  color: var(--brandGold);
  position: absolute;
  left: 0;
  font-weight: bold;
}

/* CTA Card */
.tt-cta-card {
    text-align: center !important; 
}

.tt-cta-btn {
  display: inline-block;
  background: var(--brandGold);
  color: #000;
  font-weight: 800;
  padding: 12px 30px;
  border-radius: 30px;
  text-decoration: none;
  transition: transform 0.2s;
}
.tt-cta-btn:hover {
  transform:none;
  box-shadow: 0 0 15px rgba(242, 193, 74, 0.4);
}

@media(max-width: 800px) {
  .tt-grid-3, .tt-grid-2 { grid-template-columns: 1fr; }
  .tt-hero-content h1 { font-size: 28px; }
}
.tt-feat-head{display:flex;align-items:center;gap:8px!important;}
.tt-feat-head h3{margin:0!important;}


/* fix6 hover sync for was-ist cards */
.tt-link-card:hover,.tt-feature-card:hover,.tt-card-link:hover,.tt-project-link:hover{background:rgba(37,99,235,.16)!important;border-color:rgba(242,193,74,.24)!important;box-shadow:0 0 0 1px rgba(37,99,235,.20) inset, 0 0 18px rgba(37,99,235,.22)!important;transform:none!important;filter:none!important;}

/* Block 5 · Was-ist polish */
.tt-about-wrap{width:100%;max-width:none;margin:0;}
.tt-about-card{border-radius:20px;padding:28px;}
.tt-hero-card{padding:56px 30px;border-bottom-width:2px;}
.tt-grid-3,.tt-grid-2{align-items:stretch;}
.tt-role-card,.tt-feat-card,.tt-link-card,.tt-feature-card,.tt-project-link{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;transform:none!important;}
.tt-role-card:hover,.tt-feat-card:hover,.tt-link-card:hover,.tt-feature-card:hover,.tt-project-link:hover{background:rgba(37,99,235,.14)!important;border-color:rgba(242,193,74,.30)!important;box-shadow:0 0 0 1px rgba(37,99,235,.18) inset,0 0 16px rgba(37,99,235,.18)!important;transform:none!important;}
.tt-feat-head{gap:8px!important;}
.tt-feat-head i{flex-shrink:0;}
.tt-feat-head h3{line-height:1.2;}
@media(max-width: 700px){
  .tt-about-card{padding:20px 18px;}
  .tt-hero-card{padding:42px 18px;}
}


/* === BLOCK 6: travtools info page polish === */
.tt-about-wrap,
.tt-founder-wrap,
.tt-donate-wrap,
.tt-pn-wrap,
.tt-patchnotes-wrap{
  width:100%;
  max-width:none;
}
.tt-about-card,
.tt-founder-card,
.tt-donate-card,
.tt-pn-card,
.tt-patch-card,
.tt-role-card,
.tt-feature-card{
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.tt-role-card:hover,
.tt-feature-card:hover,
.tt-about-card:hover,
.tt-patch-card:hover{
  transform:none !important;
  box-shadow:0 14px 34px rgba(0,0,0,.26), inset 3px 0 0 rgba(242,193,74,.9);
}

/* === Block 8 targeted repair: info pages consistency === */
.tt-page-shell,.tt-content-wrap,.tt-info-wrap,.tt-patch-wrap{width:100%;max-width:none;margin:0;}
.tt-cards-grid,.tt-info-grid,.tt-feed-grid,.tt-donate-grid,.tt-founder-grid{align-items:start;}
.tt-card,.tt-info-card,.tt-patch-card,.tt-donate-card,.tt-founder-card,.tt-feature-card{
  border-radius:18px !important;
  min-height:0 !important;
}
.tt-card:hover,.tt-info-card:hover,.tt-patch-card:hover,.tt-donate-card:hover,.tt-founder-card:hover,.tt-feature-card:hover{
  transform:none !important;
}
.tt-top-actions,.tt-feed-header,.tt-page-actions{gap:10px;flex-wrap:wrap;}
.tt-upload-zone,.tt-dropzone,.tt-form-box{border-radius:16px !important;}


/* --- merged from verteidigung_admin_angriffe.css --- */
/* Module placeholder pages */
.tt-module-page{width:100%;display:flex;flex-direction:column;gap:22px}
.tt-module-hero{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.tt-module-hero__icon{width:72px;height:72px;border-radius:16px;background:rgba(242,193,74,.10);border:1px solid rgba(242,193,74,.22);display:flex;align-items:center;justify-content:center;color:var(--brandGold);font-size:30px}
.tt-module-hero h2{margin:0 0 8px;color:#fff;font-size:26px;line-height:1.08;font-weight:900}
.tt-module-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.tt-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tt-module-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.tt-module-card h3{margin:0 0 10px;color:#fff;font-size:16px;font-weight:800}
.tt-module-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
@media (max-width: 980px){.tt-module-grid{grid-template-columns:1fr}.tt-module-hero{grid-template-columns:1fr}.tt-module-hero__icon{width:60px;height:60px;border-radius:14px}}


/* --- merged from verteidigung_admin_deffcalls.css --- */
/* Module placeholder pages */
.tt-module-page{width:100%;display:flex;flex-direction:column;gap:22px}
.tt-module-hero{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.tt-module-hero__icon{width:72px;height:72px;border-radius:16px;background:rgba(242,193,74,.10);border:1px solid rgba(242,193,74,.22);display:flex;align-items:center;justify-content:center;color:var(--brandGold);font-size:30px}
.tt-module-hero h2{margin:0 0 8px;color:#fff;font-size:26px;line-height:1.08;font-weight:900}
.tt-module-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.tt-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tt-module-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.tt-module-card h3{margin:0 0 10px;color:#fff;font-size:16px;font-weight:800}
.tt-module-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
@media (max-width: 980px){.tt-module-grid{grid-template-columns:1fr}.tt-module-hero{grid-template-columns:1fr}.tt-module-hero__icon{width:60px;height:60px;border-radius:14px}}


/* --- merged from verteidigung_admin_eingehender_ep.css --- */
/* TravTools · © MUNLabs */
.tt-module-placeholder { display:grid; gap:18px; }
.tt-module-card { background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96)); border:1px solid rgba(242,193,78,.16); border-radius:16px; box-shadow:0 18px 36px rgba(0,0,0,.24); padding:22px; }
.tt-module-intro { display:grid; gap:10px; }
.tt-module-kicker { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,193,78,.82); font-weight:700; }
.tt-module-copy { margin:0; color:rgba(255,255,255,.82); max-width:900px; line-height:1.6; }
.tt-module-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.tt-module-tile { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:16px 18px; min-height:110px; transition:background .22s ease, border-color .22s ease, box-shadow .22s ease; }
.tt-module-tile:hover { background:rgba(40,77,150,.18); border-color:rgba(242,193,78,.24); box-shadow:0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32); }
.tt-module-tile strong { display:block; margin-bottom:8px; color:#fff; font-size:14px; }
.tt-module-tile p { margin:0; color:rgba(255,255,255,.7); line-height:1.55; font-size:13px; }
.tt-module-note { display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:rgba(242,193,78,.08); border:1px solid rgba(242,193,78,.18); color:rgba(255,255,255,.82); font-size:13px; }
@media (max-width:780px){ .tt-module-card{padding:18px;border-radius:14px;} .tt-module-grid{grid-template-columns:1fr;} }


/* --- merged from verteidigung_admin_einsatzplan.css --- */
/* Module placeholder pages */
.tt-module-page{width:100%;display:flex;flex-direction:column;gap:22px}
.tt-module-hero{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.tt-module-hero__icon{width:72px;height:72px;border-radius:16px;background:rgba(242,193,74,.10);border:1px solid rgba(242,193,74,.22);display:flex;align-items:center;justify-content:center;color:var(--brandGold);font-size:30px}
.tt-module-hero h2{margin:0 0 8px;color:#fff;font-size:26px;line-height:1.08;font-weight:900}
.tt-module-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.tt-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tt-module-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.tt-module-card h3{margin:0 0 10px;color:#fff;font-size:16px;font-weight:800}
.tt-module-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
@media (max-width: 980px){.tt-module-grid{grid-template-columns:1fr}.tt-module-hero{grid-template-columns:1fr}.tt-module-hero__icon{width:60px;height:60px;border-radius:14px}}


/* --- merged from verteidigung_angriff.css --- */
/* TravTools · © MUNLabs */
.tt-module-placeholder { display:grid; gap:18px; }
.tt-module-card { background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96)); border:1px solid rgba(242,193,78,.16); border-radius:16px; box-shadow:0 18px 36px rgba(0,0,0,.24); padding:22px; }
.tt-module-intro { display:grid; gap:10px; }
.tt-module-kicker { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,193,78,.82); font-weight:700; }
.tt-module-copy { margin:0; color:rgba(255,255,255,.82); max-width:900px; line-height:1.6; }
.tt-module-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.tt-module-tile { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:16px 18px; min-height:110px; transition:background .22s ease, border-color .22s ease, box-shadow .22s ease; }
.tt-module-tile:hover { background:rgba(40,77,150,.18); border-color:rgba(242,193,78,.24); box-shadow:0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32); }
.tt-module-tile strong { display:block; margin-bottom:8px; color:#fff; font-size:14px; }
.tt-module-tile p { margin:0; color:rgba(255,255,255,.7); line-height:1.55; font-size:13px; }
.tt-module-note { display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:rgba(242,193,78,.08); border:1px solid rgba(242,193,78,.18); color:rgba(255,255,255,.82); font-size:13px; }
@media (max-width:780px){ .tt-module-card{padding:18px;border-radius:14px;} .tt-module-grid{grid-template-columns:1fr;} }


/* --- merged from verteidigung_angriffe_melden.css --- */
/* verteidigung_angriffe_melden.css (V32) */

:root { --bg-dark:var(--tt-bg-2); --bg-card:var(--tt-surface-solid); --border:var(--tt-line-solid); --accent:var(--tt-gold); --blue:var(--tt-blue-3); --red:var(--tt-red); --text:var(--tt-text-soft); }
.tt-wrap { width:100%; font-family:"Inter",sans-serif; color:var(--text); }

/* Header & Buttons */
.tt-header-row { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:25px; border-bottom:1px solid var(--border); padding-bottom:15px; }
.tt-header-standalone h1 { margin:0; color:#fff; font-size:24px; text-transform:uppercase; }
.tt-subtitle { margin:5px 0 0 0; color:var(--tt-muted); font-size:12px; }
.tt-btn-create { background:#238636; color:#fff; border:1px solid rgba(255,255,255,0.1); padding:8px 16px; border-radius:6px; cursor:pointer; font-weight:700; display:flex; gap:8px; align-items:center; }
.tt-btn-create:hover { background:var(--tt-green); }

/* List */
.att-list-wrap { display:flex; flex-direction:column; gap:15px; }
.empty-state { text-align:center; padding:40px; border:1px dashed var(--tt-faint-2); border-radius:8px; color:var(--tt-faint); }

/* Accordion */
.acc-lvl1 { background:var(--bg-card); border:1px solid var(--border); border-radius:8px; overflow:hidden; transition:0.2s; }
.acc-lvl1-head { padding:15px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; background:rgba(255,255,255,0.02); }
.acc-lvl1.is-open { border-color:var(--blue); }
.acc-lvl1.is-open .acc-lvl1-head { background:rgba(30,64,175,0.2); border-bottom:1px solid var(--border); }
.lvl1-title { font-weight:800; color:#fff; display:flex; gap:10px; align-items:center; }
.lvl1-count { background:var(--red); color:#fff; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:700; }
.acc-lvl1-body { display:none; padding:15px; background:#05070a; }
.acc-lvl1.is-open .acc-lvl1-body { display:block; }
.vtype-badge { background:var(--tt-faint-2); color:var(--tt-text-soft); font-size:10px; padding:2px 6px; border-radius:4px; margin-left:10px; text-transform:uppercase; border:1px solid var(--tt-faint-2); }

.acc-lvl2 { background:rgba(255,255,255,0.03); border:1px solid var(--border); border-radius:6px; margin-bottom:10px; overflow:hidden; }
.acc-lvl2-head { padding:10px 15px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.acc-lvl2-head:hover { background:rgba(255,255,255,0.05); }
.acc-lvl2.is-open .acc-lvl2-head { background:rgba(255,255,255,0.06); border-bottom:1px solid var(--border); }
.lvl2-source { font-weight:700; color:var(--tt-text); display:flex; gap:10px; align-items:center; }
.lvl2-coords-link { color:var(--accent); font-weight:400; font-size:12px; text-decoration:none; padding:2px 6px; background:rgba(242, 193, 78, 0.1); border-radius:4px; }
.lvl2-waves { color:var(--accent); font-weight:700; }
.acc-lvl2-body { display:none; }
.acc-lvl2.is-open .acc-lvl2-body { display:block; }

/* Table */
.wave-table { width:100%; border-collapse:collapse; font-size:12px; }
.wave-table th { text-align:left; padding:8px 15px; color:var(--tt-muted); text-transform:uppercase; font-size:10px; background:rgba(0,0,0,0.2); }
.wave-table td { padding:8px 15px; border-bottom:1px solid rgba(255,255,255,0.05); color:var(--tt-text-soft); }
.cell-time { font-family:monospace; font-weight:700; color:#fff; }
.cell-date { color:var(--tt-muted); width: 60px; }
.cell-unit { color:var(--accent); font-weight:700; }
.ts-badge { background:#238636; color:#fff; font-size:9px; padding:2px 5px; border-radius:4px; margin-left:8px; font-weight:bold; letter-spacing:0.5px; }
.u-unknown { color:var(--tt-faint); font-style:italic; }
.u-hero { color:#a855f7; font-weight:bold; }
.btn-del { background:none; border:none; color:var(--tt-faint); cursor:pointer; }
.btn-del:hover { color:var(--red); }
.chev { transition:0.3s; font-size:12px; color:var(--tt-faint); }
.is-open .chev { transform:rotate(180deg); color:#fff; }

/* Modals */
.tt-modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.85); backdrop-filter:blur(4px); z-index:2000; align-items:center; justify-content:center; }
.tt-modal-overlay.active { display:flex; }
.tt-modal { background:var(--bg-card); border:1px solid var(--border); border-radius:12px; width:500px; max-width:95%; display:flex; flex-direction:column; box-shadow:0 20px 50px rgba(0,0,0,0.5); }
.tt-modal.large { width:600px; }
.tt-modal-head { padding:15px 20px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.tt-modal-head h3 { margin:0; color:#fff; font-size:16px; text-transform:uppercase; }
.close-btn { background:none; border:none; color:var(--tt-muted); font-size:24px; cursor:pointer; }
.tt-modal-body { padding:20px; }

/* Custom Warning Modal */
.warn-modal { text-align:center; padding-bottom:30px; border:1px solid var(--tt-gold); }
.warn-icon { font-size:40px; color:var(--tt-gold); margin:20px 0 10px 0; }
.warn-sub { color:var(--tt-muted); font-size:13px; margin-bottom:25px; }
.warn-actions { display:flex; justify-content:center; gap:15px; }
.btn-fix { background:var(--tt-faint-2); color:#fff; border:none; padding:10px 20px; border-radius:6px; cursor:pointer; font-weight:bold; }
.btn-ignore { background:var(--tt-red); color:#fff; border:none; padding:10px 20px; border-radius:6px; cursor:pointer; font-weight:bold; }

/* Form Elements */
.enrich-grid { display:grid; grid-template-columns: 1fr 1fr; gap:15px; margin-bottom:15px; }
.eg-item label { display:block; font-size:11px; font-weight:700; color:var(--tt-muted); margin-bottom:5px; text-transform:uppercase; }
.eg-check { display:flex; align-items:center; gap:10px; margin-bottom:15px; color:var(--tt-text-soft); font-size:13px; }
.tt-input-div { width:100%; height:200px; max-height:250px; background:#fff; color:#000; border:1px solid var(--border); border-radius:6px; padding:10px; overflow-y:auto; cursor:text; font-size:12px; font-family:sans-serif; }
.dc-inp { width:100%; background:#05070a; border:1px solid var(--border); color:#fff; padding:8px; border-radius:6px; box-sizing:border-box; }
.tt-btn-send { width:100%; padding:12px; background:var(--accent); color:#000; border:none; border-radius:6px; font-weight:800; cursor:pointer; text-transform:uppercase; }

/* Toast */
.tt-toast { visibility:hidden; min-width:250px; background-color:var(--tt-line-solid); color:#fff; text-align:center; border-radius:8px; padding:16px; position:fixed; z-index:3500; left:50%; bottom:30px; transform:translateX(-50%); font-size:14px; box-shadow:0 5px 15px rgba(0,0,0,0.5); border:1px solid var(--tt-faint-2); }
.tt-toast.show { visibility:visible; animation:fadein 0.5s, fadeout 0.5s 3.5s; }
.tt-toast.success { border-left:5px solid var(--tt-green); }
.tt-toast.error { border-left:5px solid var(--tt-red); }
@keyframes fadein { from {bottom:0; opacity:0;} to {bottom:30px; opacity:1;} }
@keyframes fadeout { from {bottom:30px; opacity:1;} to {bottom:0; opacity:0;} }

/* fix6 angriffe melden header/buttons */
.tt-wrap{padding-top:0!important;}
.tt-header-row{align-items:flex-start!important;margin-bottom:18px!important;}
.tt-header-standalone h1{font-size:var(--tt-font-h1)!important;line-height:1.05!important;}
.tt-btn-create{height:42px!important;padding:0 18px!important;border-radius:12px!important;font-size:13px!important;font-weight:800!important;}
.empty-state{min-height:320px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:14px!important;}


/* Block 14 · angriffe melden polish */
.tt-wrap{max-width:none}
.tt-header-row{gap:14px;flex-wrap:wrap}
.tt-actions-right,.tt-btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tt-header-row .btn,.tt-header-row .dc-btn,.tt-btn-row .btn,.tt-btn-row .dc-btn{min-height:40px;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:800}
.tt-modal-overlay{backdrop-filter:blur(6px)}
.btn-del{min-width:36px;min-height:36px;border-radius:10px}
#previewStats{margin:15px 0;padding:12px 14px;background:rgba(255,255,255,.05);border-radius:10px;border:1px solid rgba(255,255,255,.06)}
#inpCustomType{margin-top:5px}


/* --- merged from verteidigung_anmeldung_einsatzplan.css --- */
/* TravTools · © MUNLabs */
.tt-module-placeholder { display:grid; gap:18px; }
.tt-module-card { background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96)); border:1px solid rgba(242,193,78,.16); border-radius:16px; box-shadow:0 18px 36px rgba(0,0,0,.24); padding:22px; }
.tt-module-intro { display:grid; gap:10px; }
.tt-module-kicker { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,193,78,.82); font-weight:700; }
.tt-module-copy { margin:0; color:rgba(255,255,255,.82); max-width:900px; line-height:1.6; }
.tt-module-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.tt-module-tile { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:16px 18px; min-height:110px; transition:background .22s ease, border-color .22s ease, box-shadow .22s ease; }
.tt-module-tile:hover { background:rgba(40,77,150,.18); border-color:rgba(242,193,78,.24); box-shadow:0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32); }
.tt-module-tile strong { display:block; margin-bottom:8px; color:#fff; font-size:14px; }
.tt-module-tile p { margin:0; color:rgba(255,255,255,.7); line-height:1.55; font-size:13px; }
.tt-module-note { display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:rgba(242,193,78,.08); border:1px solid rgba(242,193,78,.18); color:rgba(255,255,255,.82); font-size:13px; }
@media (max-width:780px){ .tt-module-card{padding:18px;border-radius:14px;} .tt-module-grid{grid-template-columns:1fr;} }


/* --- merged from verteidigung_deffcalls.css --- */
/* verteidigung_deffcalls.css (V60 - FULL ORIGINAL + ADDONS) */

: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); 
    --royal: #1e40af;
    --green: var(--tt-green); 
    --red: var(--tt-red);
    --text-main: var(--tt-text-soft); 
    --text-muted: var(--tt-muted);
}

.tt-dc-wrap { 
    width: 100%; 
    box-sizing: border-box; 
    font-family: "Inter", sans-serif; 
    color: var(--text-main); 
    position: relative; 
    scroll-behavior: smooth; 
}

/* --- TOP SECTION (Mini Cards + Buttons) --- */
.tt-top-section { 
    display: flex; 
    gap: 15px; 
    align-items: flex-start; 
    justify-content: space-between; 
    margin-bottom: 20px; 
    border-bottom: 1px solid var(--border); 
    padding-bottom: 20px;
    flex-wrap: wrap; 
}

/* MINI CARDS GRID */
.tt-mini-grid { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 10px; 
    flex: 1; 
    min-width: 300px;
}

.tt-mini-card { 
    flex: 1 1 160px; 
    max-width: 250px;
    background: var(--tt-surface-solid); 
    border: 1px solid var(--border); 
    border-radius: 6px; 
    padding: 8px; 
    display: flex; 
    flex-direction: column; 
    gap: 4px; 
    text-decoration: none; 
    color: inherit; 
    transition: 0.2s;
    border-left: 3px solid var(--green); 
    cursor: pointer;
}
.tt-mini-card:hover { 
    transform:none; 
    border-color: var(--accent); 
    background: var(--tt-surface-hover-solid); 
}

.tt-mini-name { 
    font-weight: 800; 
    font-size: 11px; 
    color: #fff; 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}

.tt-mini-bar-wrap { display: flex; flex-direction: column; gap: 2px; }
.tt-mini-track { height: 3px; background: #000; border-radius: 2px; width: 100%; overflow: hidden; }
/* FARBEN FIX */
.tt-mini-fill { height: 100%; background: var(--red); }
.tt-mini-fill.scout { background: var(--accent); }

.tt-mini-vals { display: flex; justify-content: space-between; font-size: 9px; color: var(--tt-muted); }

/* ACTION BUTTONS */
.tt-actions-right { 
    display: flex; 
    gap: 8px; 
    flex-shrink: 0; 
    align-items: center; 
    flex-wrap: wrap; 
    justify-content: flex-end;
}

.tt-btn-create { 
    background: linear-gradient(180deg, #1f6feb, #1158c7); 
    border: 1px solid rgba(255,255,255,0.1); 
    color: #fff; 
    padding: 6px 14px; 
    border-radius: 4px; 
    font-weight: 800; 
    font-size: 11px; 
    text-transform: uppercase; 
    cursor: pointer; 
    display: flex; 
    align-items: center; 
    gap: 6px; 
    text-decoration: none; 
    white-space: nowrap;
}
.tt-btn-create:hover { background: #1f6feb; transform:none; }

.tt-btn-archive { 
    background: transparent; 
    border: 1px solid var(--tt-line-solid); 
    color: var(--tt-muted); 
    padding: 6px 12px; 
    border-radius: 4px; 
    font-size: 11px; 
    font-weight: 700; 
    text-transform: uppercase; 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 6px; 
    transition: 0.2s; 
    white-space: nowrap; 
}
.tt-btn-archive:hover { border-color: #fff; color: #fff; }

/* --- MAIN DEFFCALL GRID --- */
.tt-dc-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(450px, 1fr)); 
    gap: 20px; 
}

/* CARD & ANIMATIONS */
@keyframes flashHighlight { 
    0% { box-shadow: 0 0 0 0 rgba(255,255,255,0); border-color: var(--border); }
    30% { box-shadow: 0 0 30px 5px rgba(255,255,255,0.3); border-color: #fff; background: #1c2128; }
    100% { box-shadow: 0 4px 10px rgba(0,0,0,0.3); border-color: var(--border); background: var(--bg-card); }
}

.tt-dc-card { 
    background: var(--bg-card); 
    border: 1px solid var(--border); 
    border-radius: 8px; 
    overflow: hidden; 
    display: flex; 
    flex-direction: column; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.3); 
    transition: border-color 0.2s;
    min-height: 380px; 
    position: relative;
}
.tt-dc-card.highlight-anim { animation: flashHighlight 1.5s ease-out; }
.tt-dc-card:hover { border-color: var(--accent); }
.tt-dc-card.is-full { border: 2px solid var(--green); }
.tt-dc-card.is-emergency { border: 2px solid var(--red); animation: pulse 2s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(218, 54, 51, 0.4); } 70% { box-shadow: 0 0 0 8px rgba(218, 54, 51, 0); } 100% { box-shadow: 0 0 0 0 rgba(218, 54, 51, 0); } }

/* FULL STATE BLUR */
.dc-body { 
    padding: 15px; 
    flex: 1; 
    display: flex; 
    flex-direction: column; 
    gap: 10px; 
    position: relative; 
    transition: 0.3s; 
}
.tt-dc-card.is-really-full .dc-body { filter: blur(5px) grayscale(0.5); opacity: 0.4; pointer-events: none; }
.tt-dc-card.is-really-full.force-visible .dc-body { filter: none; opacity: 1; pointer-events: auto; }

/* OVERLAY MSG */
.tt-full-msg { 
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); 
    z-index: 10; display: none; background: rgba(0,0,0,0.9); padding: 20px 30px; border-radius: 8px; 
    border: 2px solid var(--green); text-align: center; box-shadow: 0 0 20px #000;
}
.tt-dc-card.is-really-full .tt-full-msg { display: block; }
.tt-dc-card.is-really-full.force-visible .tt-full-msg { display: none; }

.tt-msg-text { font-size: 24px; font-weight: 900; color: #fff; text-shadow: 0 0 10px #000; margin-bottom: 10px; white-space: nowrap; }
.tt-btn-unblur { 
    background: transparent; border: 1px solid #fff; color: #fff; font-size: 11px; font-weight: 700; 
    text-transform: uppercase; padding: 6px 12px; border-radius: 4px; cursor: pointer; transition: 0.2s; 
}
.tt-btn-unblur:hover { background: #fff; color: #000; }

/* HEAD */
.dc-head { padding: 10px 15px; background: linear-gradient(180deg, rgba(255,255,255,0.03), transparent); border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: flex-start; }
.dc-title-block { display: flex; flex-direction: column; gap: 2px; }

/* BADGE FIX: GAP 0 */
.dc-h-player { font-size: 16px; font-weight: 900; color: #fff; text-transform: uppercase; display: flex; align-items: center; gap: 0px !important; }

.dc-village { font-size: 12px; color: var(--blue); text-decoration: none; display: flex; align-items: center; gap: 4px; font-weight: 600; font-family: monospace; }
.dc-village:hover { text-decoration: underline; color: #fff; }
.dc-badges { display: flex; gap: 3px; flex-wrap: wrap; justify-content: flex-end; }
.dc-badge { font-size: 9px; padding: 2px 5px; border-radius: 3px; font-weight: 800; border: 1px solid; text-transform: uppercase; }

/* Village Types */
.bg-type { color: #fff; border-color: var(--red); background: rgba(218, 54, 51, 0.4); text-shadow: 0 1px 2px #000; box-shadow: 0 0 5px rgba(218, 54, 51, 0.3); } 
.bg-open { color: var(--green); border-color: var(--green); }
.bg-full { background: var(--green); color: #000; border-color: var(--green); }
.bg-emer { background: var(--red); color: #fff; border-color: var(--red); }

/* ATTACKER */
.dc-att-box { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 5px; background: rgba(218, 81, 73, 0.1); padding: 5px; border-radius: 4px; border: 1px solid rgba(218, 81, 73, 0.2); }
.dc-att-link { color: #ffadad; text-decoration: none; font-size: 11px; display: flex; align-items: center; gap: 4px; font-weight: 600; padding: 2px 6px; background: rgba(0,0,0,0.3); border-radius: 3px; }
.dc-att-link:hover { color: #fff; background: rgba(255,92,92, 0.4); }

/* DATA GRID */
.dc-data-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 15px; font-size: 11px; }
.dc-data-row { display: flex; justify-content: space-between; padding-bottom: 2px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.dc-lbl { color: var(--text-muted); font-weight: 700; text-transform: uppercase; font-size: 9px; padding-top: 1px; }
.dc-val { color: #fff; font-weight: 700; text-align: right; }
.dc-val.green { color: var(--green); }
.dc-val.red { color: var(--red); }

/* BARS - FARBEN FIX */
.dc-bars { display: flex; flex-direction: column; gap: 5px; border-top: 1px solid var(--tt-line-solid); padding-top: 8px; }
.dc-prog-wrap { position: relative; }
.dc-prog-head { display: flex; justify-content: space-between; font-size: 9px; color: var(--tt-muted); margin-bottom: 2px; font-weight: 700; }
.dc-prog-track { height: 6px; background: var(--tt-bg-0); border-radius: 3px; overflow: hidden; border: 1px solid var(--tt-line-solid); }
.dc-prog-fill { height: 100%; background: var(--red); }
.dc-prog-fill.full { background: var(--green); }
.dc-prog-fill.scout { background: var(--accent); }

/* LIST TABLE (In Card) */
.dc-list-wrap { border: 1px solid var(--border); border-radius: 4px; background: var(--tt-bg-0); margin-top: 5px; overflow: hidden; }
.dc-list-head { 
    display: grid; grid-template-columns: 2fr 2fr 1fr 1fr 40px; padding: 4px 8px; 
    background: var(--tt-surface-solid); font-size: 9px; font-weight: 800; color: var(--tt-muted); 
    text-transform: uppercase; border-bottom: 1px solid var(--border); 
}

/* --- SCROLL AREA FIX --- */
.dc-list-body { 
    max-height: 100px; /* Shows 3 full rows, cuts the 4th */
    overflow-y: auto; 
    scrollbar-width: none; /* Firefox Hidden Scroll */
    -ms-overflow-style: none; /* IE Hidden Scroll */
}
.dc-list-body::-webkit-scrollbar { 
    width: 0; 
    background: transparent; /* Webkit Hidden Scroll */
}

.dc-list-row { display: grid; grid-template-columns: 2fr 2fr 1fr 1fr 40px; padding: 4px 8px; border-bottom: 1px solid rgba(255,255,255,0.03); font-size: 11px; align-items: center; }
.dc-list-row:hover { background-color: rgba(88, 166, 255, 0.1); }

/* BADGE FIX: GAP 0 */
.cl-pname { color: #fff; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 0px !important; }

.cl-units { color: var(--accent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: monospace; font-size: 10px; }
.cl-count { color: var(--blue); text-align: right; font-weight: 700; }
.cl-crop { color: var(--red); text-align: right; }
.cl-action { text-align: right; display: flex; gap: 2px; justify-content: flex-end; }
.btn-act { background: rgba(255,255,255,0.05); border: 1px solid var(--tt-line-solid); cursor: pointer; padding: 2px; opacity: 0.8; font-size: 9px; color: var(--tt-muted); border-radius: 3px; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; }
.btn-act:hover { opacity: 1; color: #fff; border-color: #fff; }

/* FOOTER - SMALLER */
.dc-foot { padding: 8px 12px; background: rgba(0,0,0,0.3); border-top: 1px solid var(--border); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.dc-btn { flex: 1; height: 26px; border-radius: 4px; font-size: 10px; font-weight: 800; text-transform: uppercase; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid transparent; text-decoration: none; padding: 0 8px; }
.dc-btn.primary { background: linear-gradient(135deg, var(--tt-gold), #d4a737); color: #05070a; border: none; }
.dc-btn.primary:hover { filter: brightness(1.1); transform:none; }
.dc-btn.secondary { background: transparent; border: 1px solid var(--tt-line-solid); color: var(--tt-muted); }
.dc-btn.secondary:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,0.05); }
.dc-btn.text { flex: 0 0 auto; background: transparent; border: 1px solid var(--tt-line-solid); color: var(--tt-muted); padding: 0 10px; }
.dc-btn.text:hover { color: #fff; border-color: #fff; }

/* MODALS */
.tt-modal-overlay { position: fixed !important; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.9); z-index: 200000; display: none; align-items: center; justify-content: center; backdrop-filter: blur(5px); }
.tt-modal-overlay.active { display: flex !important; }
.tt-modal.medium { width: 600px; max-width: 95%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); border-radius: 12px; box-shadow: 0 0 80px rgba(0,0,0,1); display: flex; flex-direction: column; max-height: 90vh; border-top: 4px solid var(--blue); }
.tt-modal.wide { width: 98%; max-width: 1800px; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); border-radius: 12px; box-shadow: 0 0 80px rgba(0,0,0,1); display: flex; flex-direction: column; max-height: 95vh; border-top: 4px solid var(--blue); }
.tt-modal.large { width: 900px; max-width: 95%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); border-radius: 12px; box-shadow: 0 0 80px rgba(0,0,0,1); display: flex; flex-direction: column; max-height: 90vh; border-top: 4px solid var(--accent); }


/* Accent stripe for Create/Edit modals (do NOT apply to Send modal) */
.tt-modal.modal-accent{border-top:4px solid var(--accent) !important;}
.tt-modal-head { padding: 15px 25px; border-bottom: 1px solid var(--tt-line-solid); background: var(--tt-surface-solid); display: flex; justify-content: space-between; align-items: center; }
.tt-modal-title { margin: 0; color: #fff; font-size: 16px; font-weight: 800; text-transform: uppercase; }
.tt-modal-close { background: none; border: none; color: var(--tt-muted); font-size: 24px; cursor: pointer; }
.tt-modal-body { padding: 20px; overflow-y: auto; overflow-x: auto; position: relative; }

/* STATUS DOTS */
.status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin-right: 5px; }
.st-live { background: var(--tt-green); box-shadow: 0 0 5px var(--tt-green); }
.st-hidden { background: var(--tt-gold); box-shadow: 0 0 5px var(--tt-gold); }
.st-closed { background: var(--tt-red); box-shadow: 0 0 5px var(--tt-red); }

/* SUM HEADER */
.mt-top-counter { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mt-sum-wrap { display: flex; gap: 8px; font-size: 10px; font-weight: 700; color: var(--tt-text-soft); flex-wrap: wrap; }
.mt-sum-unit { background: var(--tt-surface-hover-solid); padding: 4px 8px; border-radius: 4px; border: 1px solid var(--tt-line-solid); }
.mt-sum-crop { background: rgba(242, 193, 78, 0.1); color: var(--accent); padding: 4px 8px; border-radius: 4px; border: 1px solid var(--accent); }
.mt-btn-save-mini { background: var(--accent); color: #000; border: none; padding: 4px 12px; border-radius: 4px; font-weight: 800; font-size: 10px; text-transform: uppercase; cursor: pointer; }

/* SEND TABLE */
.mt-table-wrap { width: 100%; border: 1px solid var(--tt-line-solid); border-radius: 8px; overflow: hidden; background: var(--tt-bg-0); }
.mt-table { width: 100%; border-collapse: collapse; font-size: 11px; white-space: nowrap; table-layout: fixed; }
.mt-table th { background: var(--tt-surface-solid); padding: 8px; text-align: center; color: var(--tt-muted); border-bottom: 1px solid var(--tt-line-solid); font-weight: 700; vertical-align: middle; }
.mt-table th.th-left { text-align: left; width: 150px; }
.mt-table th.col-ts { width: 40px; }
.mt-table th.col-dist { width: 50px; }
.mt-table td { padding: 4px; border: 1px solid transparent; border-bottom-color: var(--tt-surface-hover-solid); color: var(--tt-text-soft); vertical-align: middle; text-align: center; }
.mt-table td.td-left { text-align: left; overflow: hidden; text-overflow: ellipsis; }

/* ROYAL BLUE HOVER */
.mt-table tbody tr:hover td { background-color: rgba(30, 64, 175, 0.3) !important; color: #fff !important; border-top: 1px solid var(--accent); border-bottom: 1px solid var(--accent); }
.mt-col-hover { background-color: rgba(30, 64, 175, 0.2) !important; border-left: 1px solid var(--accent); border-right: 1px solid var(--accent) !important; }

/* CELL LAYOUT (Side-by-Side) */
.mt-cell-row { display: flex; align-items: center; justify-content: center; gap: 6px; }
.mt-inp { width: 60px; height: 26px; background: rgba(255,255,255,0.05); border: 1px solid var(--tt-line-solid); color: #fff; text-align: center; font-family: monospace; font-size: 13px; padding: 0; border-radius: 4px; -moz-appearance: textfield; font-weight: 700; }
.mt-inp:focus { border-color: var(--accent); background: rgba(242, 193, 78, 0.1); outline: none; color: var(--accent); }
.mt-inp.has-val { color: var(--accent); border-color: var(--accent); background: rgba(242, 193, 78, 0.05); }
.mt-info-col { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 45px; }
.mt-avail { color: #fff; font-weight: 800; font-size: 11px; opacity: 0.9; }
.mt-time { font-size: 10px; font-family: monospace; white-space: nowrap; font-weight: 600; }
.mt-time.ok { color: var(--green); }
.mt-time.late { color: var(--red); }
.btn-send-link { display: inline-flex; align-items: center; justify-content: center; background: var(--tt-surface-hover-solid); border: 1px solid var(--tt-line-solid); color: var(--accent); width: 20px; height: 20px; border-radius: 3px; cursor: pointer; text-decoration: none; font-size: 10px; margin-left: 5px; flex-shrink: 0; }
.btn-send-link:hover { background: var(--accent); color: #000; border-color: var(--accent); }

/* FORMS */
.dc-form-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px; margin-bottom: 15px; }
.dc-form-row { margin-bottom: 15px; position: relative; }
.dc-lbl { display: block; font-size: 10px; font-weight: 700; color: var(--tt-muted); margin-bottom: 5px; text-transform: uppercase; }
.dc-inp { width: 100%; background: var(--tt-bg-0); border: 1px solid var(--tt-line-solid); color: #fff; padding: 10px; border-radius: 4px; box-sizing: border-box; font-size: 13px; font-weight: 600; }
.dc-inp:focus { border-color: var(--blue); outline: none; box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.2); }
.dc-btn-save { width: 100%; padding: 12px; background: linear-gradient(135deg, var(--blue), #1f6feb); color: #fff; border: none; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; border-radius: 4px; cursor: pointer; margin-top: 10px; }
.dc-btn-del { width: 100%; padding: 12px; background: transparent; color: var(--red); border: 1px solid var(--red); font-weight: 800; text-transform: uppercase; letter-spacing: 1px; border-radius: 4px; cursor: pointer; margin-top: 10px; }
.dc-btn-del:hover { background: rgba(218, 54, 51, 0.1); }
.dc-search-wrap { position: relative; z-index: 50; }
.dc-res-list { position: fixed; width: 300px; max-height: 200px; overflow-y: auto; background: var(--tt-surface-solid); border: 1px solid var(--blue); z-index: 200000; display: none; box-shadow: 0 10px 50px rgba(0,0,0,0.9); border-radius: 6px; }
.dc-res-item { padding: 10px 15px; cursor: pointer; font-size: 12px; border-bottom: 1px solid var(--tt-line-solid); color: var(--tt-text-soft); }
.dc-res-item:hover { background: var(--blue); color: #fff; }
.att-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.att-tag { background: rgba(218, 54, 51, 0.15); color: #ffadad; padding: 4px 10px; border-radius: 20px; font-size: 11px; display: flex; align-items: center; gap: 6px; border: 1px solid rgba(218, 54, 51, 0.3); font-weight: 600; }
.att-rem { cursor: pointer; font-weight: 900; }

/* LOADING OVERLAY */
.tt-loading-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(13, 17, 23, 0.9); z-index: 100; display: flex; flex-direction: column; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
.tt-spinner { width: 40px; height: 40px; border: 4px solid rgba(255,255,255,0.1); border-top: 4px solid var(--accent); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 10px; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* --- NEUE ADDONS (UNVERÄNDERTER BASIS-CODE OBEN) --- */
.snipe-time-list { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.snipe-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: rgba(255,255,255,0.03); padding: 6px 10px; border-radius: 4px; border-left: 2px solid var(--accent); }
.snipe-lbl { font-size: 10px; text-transform: uppercase; color: var(--tt-muted); font-weight: 700; width: 50px; }
.snipe-val { font-family: monospace; font-size: 13px; color: #fff; font-weight: 700; }
.red-bold { color: var(--red); font-weight: 900; }
.tt-alert-box { background:rgba(255,92,92, 0.15); border:1px solid var(--tt-red); color:var(--tt-red); padding:10px; margin-bottom:15px; border-radius:6px; font-size:12px; display:flex; align-items:center; gap:10px; }

/* --- MOBILE OPTIMIZATION (< 900px) --- */
@media screen and (max-width: 900px) {
    .tt-dc-grid { grid-template-columns: 1fr; }
    .tt-top-section { flex-direction: column; gap: 10px; }
    .tt-mini-grid { width: 100%; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
    .tt-actions-right { width: 100%; justify-content: space-between; flex-wrap: wrap; }
    .tt-btn-create, .tt-btn-archive { flex: 1; justify-content: center; }
    
    .tt-modal.wide, .tt-modal.medium, .tt-modal.large { width: 100%; max-width: 100%; height: 100%; max-height: 100%; border-radius: 0; border: none; top: 0; left: 0; }
    .tt-modal-body { padding: 10px; height: calc(100vh - 60px); overflow-y: scroll; }
    
    /* MOBILE LIST HEIGHT */
    .dc-list-body { max-height: 150px; }
    
    /* Mobile Send Table (Card View) */
    .mt-table-wrap { background: transparent; border: none; overflow: visible; }
    .mt-table, .mt-table tbody, .mt-table tr, .mt-table td { display: block; width: 100%; }
    .mt-table thead { display: none; }
    .mt-table tr { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); margin-bottom: 15px; border-radius: 8px; padding: 0; position: relative; }
    
    /* Village Header (Clickable) */
    .mt-table td.td-left { background: var(--tt-bg-2); padding: 12px; font-weight: 800; border-bottom: 1px solid var(--tt-line-solid); display: flex; justify-content: space-between; align-items: center; color: #fff; cursor: pointer; }
    .mt-table td.td-left::after { content: "▼"; font-size: 10px; color: var(--tt-muted); transition: transform 0.2s; }
    .mt-table tr.is-expanded td.td-left::after { transform: rotate(180deg); color: var(--accent); }
    
    /* Hidden Content */
    .mt-table td:not(.td-left) { display: none; padding: 10px; border-bottom: 1px solid rgba(255,255,255,0.05); }
    
    /* Expanded State */
    .mt-table tr.is-expanded td { display: flex; flex-direction: row; justify-content: space-between; align-items: center; }
    .mt-table td:not(.td-left)::before { content: attr(data-label); font-size: 11px; font-weight: 700; color: var(--tt-muted); width: 80px; }
    
    .mt-inp { width: 80px; height: 34px; font-size: 14px; }
    .mt-cell-row { gap: 15px; width: 100%; justify-content: flex-end; }
    .mt-info-col { align-items: flex-end; }
}
/* Zwischendeff – leicht breiter als medium */
.tt-modal.zwischendeff-modal {
    width: 750px;
    max-width: 96%;
}

/* fix6 deffcalls buttons */
.tt-btn,.tt-btn-primary,.tt-btn-secondary,.tt-action-btn,.tt-btn-head,.tt-btn-create{height:40px!important;padding:0 16px!important;border-radius:12px!important;font-size:12px!important;font-weight:800!important;transform:none!important;}


/* Block 14 · deffcall final pass */
.tt-top-section{row-gap:12px}
.tt-mini-card,.tt-dc-card{transition:border-color .18s ease, box-shadow .18s ease, background .18s ease}
.tt-mini-card:hover,.tt-dc-card:hover{transform:none;box-shadow:0 10px 24px rgba(0,0,0,.22)}
.tt-btn-create,.tt-btn-archive,.tt-btn-unblur{min-height:40px;border-radius:10px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
.tt-btn-create:hover,.tt-btn-archive:hover,.tt-btn-unblur:hover{transform:none;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.tt-dc-grid{align-items:start}
.tt-dc-card{min-height:0}
.dc-badges{align-items:center}
.dc-badge{border-radius:999px;padding:3px 7px}


/* --- merged from verteidigung_deffcalls1.css --- */
/* verteidigung_deffcalls.css (V60 - FULL ORIGINAL + ADDONS) */

: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); 
    --royal: #1e40af;
    --green: var(--tt-green); 
    --red: var(--tt-red);
    --text-main: var(--tt-text-soft); 
    --text-muted: var(--tt-muted);
}

.tt-dc-wrap { 
    width: 100%; 
    box-sizing: border-box; 
    font-family: "Inter", sans-serif; 
    color: var(--text-main); 
    position: relative; 
    scroll-behavior: smooth; 
}

/* --- TOP SECTION (Mini Cards + Buttons) --- */
.tt-top-section { 
    display: flex; 
    gap: 15px; 
    align-items: flex-start; 
    justify-content: space-between; 
    margin-bottom: 20px; 
    border-bottom: 1px solid var(--border); 
    padding-bottom: 20px;
    flex-wrap: wrap; 
}

/* MINI CARDS GRID */
.tt-mini-grid { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 10px; 
    flex: 1; 
    min-width: 300px;
}

.tt-mini-card { 
    flex: 1 1 160px; 
    max-width: 250px;
    background: var(--tt-surface-solid); 
    border: 1px solid var(--border); 
    border-radius: 6px; 
    padding: 8px; 
    display: flex; 
    flex-direction: column; 
    gap: 4px; 
    text-decoration: none; 
    color: inherit; 
    transition: 0.2s;
    border-left: 3px solid var(--green); 
    cursor: pointer;
}
.tt-mini-card:hover { 
    transform:none; 
    border-color: var(--accent); 
    background: var(--tt-surface-hover-solid); 
}

.tt-mini-name { 
    font-weight: 800; 
    font-size: 11px; 
    color: #fff; 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}

.tt-mini-bar-wrap { display: flex; flex-direction: column; gap: 2px; }
.tt-mini-track { height: 3px; background: #000; border-radius: 2px; width: 100%; overflow: hidden; }
/* FARBEN FIX */
.tt-mini-fill { height: 100%; background: var(--red); }
.tt-mini-fill.scout { background: var(--accent); }

.tt-mini-vals { display: flex; justify-content: space-between; font-size: 9px; color: var(--tt-muted); }

/* ACTION BUTTONS */
.tt-actions-right { 
    display: flex; 
    gap: 8px; 
    flex-shrink: 0; 
    align-items: center; 
    flex-wrap: wrap; 
    justify-content: flex-end;
}

.tt-btn-create { 
    background: linear-gradient(180deg, #1f6feb, #1158c7); 
    border: 1px solid rgba(255,255,255,0.1); 
    color: #fff; 
    padding: 6px 14px; 
    border-radius: 4px; 
    font-weight: 800; 
    font-size: 11px; 
    text-transform: uppercase; 
    cursor: pointer; 
    display: flex; 
    align-items: center; 
    gap: 6px; 
    text-decoration: none; 
    white-space: nowrap;
}
.tt-btn-create:hover { background: #1f6feb; transform:none; }

.tt-btn-archive { 
    background: transparent; 
    border: 1px solid var(--tt-line-solid); 
    color: var(--tt-muted); 
    padding: 6px 12px; 
    border-radius: 4px; 
    font-size: 11px; 
    font-weight: 700; 
    text-transform: uppercase; 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 6px; 
    transition: 0.2s; 
    white-space: nowrap; 
}
.tt-btn-archive:hover { border-color: #fff; color: #fff; }

/* --- MAIN DEFFCALL GRID --- */
.tt-dc-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(450px, 1fr)); 
    gap: 20px; 
}

/* CARD & ANIMATIONS */
@keyframes flashHighlight { 
    0% { box-shadow: 0 0 0 0 rgba(255,255,255,0); border-color: var(--border); }
    30% { box-shadow: 0 0 30px 5px rgba(255,255,255,0.3); border-color: #fff; background: #1c2128; }
    100% { box-shadow: 0 4px 10px rgba(0,0,0,0.3); border-color: var(--border); background: var(--bg-card); }
}

.tt-dc-card { 
    background: var(--bg-card); 
    border: 1px solid var(--border); 
    border-radius: 8px; 
    overflow: hidden; 
    display: flex; 
    flex-direction: column; 
    box-shadow: 0 4px 10px rgba(0,0,0,0.3); 
    transition: border-color 0.2s;
    min-height: 380px; 
    position: relative;
}
.tt-dc-card.highlight-anim { animation: flashHighlight 1.5s ease-out; }
.tt-dc-card:hover { border-color: var(--accent); }
.tt-dc-card.is-full { border: 2px solid var(--green); }
.tt-dc-card.is-emergency { border: 2px solid var(--red); animation: pulse 2s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(218, 54, 51, 0.4); } 70% { box-shadow: 0 0 0 8px rgba(218, 54, 51, 0); } 100% { box-shadow: 0 0 0 0 rgba(218, 54, 51, 0); } }

/* FULL STATE BLUR */
.dc-body { 
    padding: 15px; 
    flex: 1; 
    display: flex; 
    flex-direction: column; 
    gap: 10px; 
    position: relative; 
    transition: 0.3s; 
}
.tt-dc-card.is-really-full .dc-body { filter: blur(5px) grayscale(0.5); opacity: 0.4; pointer-events: none; }
.tt-dc-card.is-really-full.force-visible .dc-body { filter: none; opacity: 1; pointer-events: auto; }

/* OVERLAY MSG */
.tt-full-msg { 
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); 
    z-index: 10; display: none; background: rgba(0,0,0,0.9); padding: 20px 30px; border-radius: 8px; 
    border: 2px solid var(--green); text-align: center; box-shadow: 0 0 20px #000;
}
.tt-dc-card.is-really-full .tt-full-msg { display: block; }
.tt-dc-card.is-really-full.force-visible .tt-full-msg { display: none; }

.tt-msg-text { font-size: 24px; font-weight: 900; color: #fff; text-shadow: 0 0 10px #000; margin-bottom: 10px; white-space: nowrap; }
.tt-btn-unblur { 
    background: transparent; border: 1px solid #fff; color: #fff; font-size: 11px; font-weight: 700; 
    text-transform: uppercase; padding: 6px 12px; border-radius: 4px; cursor: pointer; transition: 0.2s; 
}
.tt-btn-unblur:hover { background: #fff; color: #000; }

/* HEAD */
.dc-head { padding: 10px 15px; background: linear-gradient(180deg, rgba(255,255,255,0.03), transparent); border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: flex-start; }
.dc-title-block { display: flex; flex-direction: column; gap: 2px; }

/* BADGE FIX: GAP 0 */
.dc-h-player { font-size: 16px; font-weight: 900; color: #fff; text-transform: uppercase; display: flex; align-items: center; gap: 0px !important; }

.dc-village { font-size: 12px; color: var(--blue); text-decoration: none; display: flex; align-items: center; gap: 4px; font-weight: 600; font-family: monospace; }
.dc-village:hover { text-decoration: underline; color: #fff; }
.dc-badges { display: flex; gap: 3px; flex-wrap: wrap; justify-content: flex-end; }
.dc-badge { font-size: 9px; padding: 2px 5px; border-radius: 3px; font-weight: 800; border: 1px solid; text-transform: uppercase; }

/* Village Types */
.bg-type { color: #fff; border-color: var(--red); background: rgba(218, 54, 51, 0.4); text-shadow: 0 1px 2px #000; box-shadow: 0 0 5px rgba(218, 54, 51, 0.3); } 
.bg-open { color: var(--green); border-color: var(--green); }
.bg-full { background: var(--green); color: #000; border-color: var(--green); }
.bg-emer { background: var(--red); color: #fff; border-color: var(--red); }

/* ATTACKER */
.dc-att-box { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 5px; background: rgba(218, 81, 73, 0.1); padding: 5px; border-radius: 4px; border: 1px solid rgba(218, 81, 73, 0.2); }
.dc-att-link { color: #ffadad; text-decoration: none; font-size: 11px; display: flex; align-items: center; gap: 4px; font-weight: 600; padding: 2px 6px; background: rgba(0,0,0,0.3); border-radius: 3px; }
.dc-att-link:hover { color: #fff; background: rgba(255,92,92, 0.4); }

/* DATA GRID */
.dc-data-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 15px; font-size: 11px; }
.dc-data-row { display: flex; justify-content: space-between; padding-bottom: 2px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.dc-lbl { color: var(--text-muted); font-weight: 700; text-transform: uppercase; font-size: 9px; padding-top: 1px; }
.dc-val { color: #fff; font-weight: 700; text-align: right; }
.dc-val.green { color: var(--green); }
.dc-val.red { color: var(--red); }

/* BARS - FARBEN FIX */
.dc-bars { display: flex; flex-direction: column; gap: 5px; border-top: 1px solid var(--tt-line-solid); padding-top: 8px; }
.dc-prog-wrap { position: relative; }
.dc-prog-head { display: flex; justify-content: space-between; font-size: 9px; color: var(--tt-muted); margin-bottom: 2px; font-weight: 700; }
.dc-prog-track { height: 6px; background: var(--tt-bg-0); border-radius: 3px; overflow: hidden; border: 1px solid var(--tt-line-solid); }
.dc-prog-fill { height: 100%; background: var(--red); }
.dc-prog-fill.full { background: var(--green); }
.dc-prog-fill.scout { background: var(--accent); }

/* LIST TABLE (In Card) */
.dc-list-wrap { border: 1px solid var(--border); border-radius: 4px; background: var(--tt-bg-0); margin-top: 5px; overflow: hidden; }
.dc-list-head { 
    display: grid; grid-template-columns: 2fr 2fr 1fr 1fr 40px; padding: 4px 8px; 
    background: var(--tt-surface-solid); font-size: 9px; font-weight: 800; color: var(--tt-muted); 
    text-transform: uppercase; border-bottom: 1px solid var(--border); 
}

/* --- SCROLL AREA FIX --- */
.dc-list-body { 
    max-height: 100px; /* Shows 3 full rows, cuts the 4th */
    overflow-y: auto; 
    scrollbar-width: none; /* Firefox Hidden Scroll */
    -ms-overflow-style: none; /* IE Hidden Scroll */
}
.dc-list-body::-webkit-scrollbar { 
    width: 0; 
    background: transparent; /* Webkit Hidden Scroll */
}

.dc-list-row { display: grid; grid-template-columns: 2fr 2fr 1fr 1fr 40px; padding: 4px 8px; border-bottom: 1px solid rgba(255,255,255,0.03); font-size: 11px; align-items: center; }
.dc-list-row:hover { background-color: rgba(88, 166, 255, 0.1); }

/* BADGE FIX: GAP 0 */
.cl-pname { color: #fff; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 0px !important; }

.cl-units { color: var(--accent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: monospace; font-size: 10px; }
.cl-count { color: var(--blue); text-align: right; font-weight: 700; }
.cl-crop { color: var(--red); text-align: right; }
.cl-action { text-align: right; display: flex; gap: 2px; justify-content: flex-end; }
.btn-act { background: rgba(255,255,255,0.05); border: 1px solid var(--tt-line-solid); cursor: pointer; padding: 2px; opacity: 0.8; font-size: 9px; color: var(--tt-muted); border-radius: 3px; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; }
.btn-act:hover { opacity: 1; color: #fff; border-color: #fff; }

/* FOOTER - SMALLER */
.dc-foot { padding: 8px 12px; background: rgba(0,0,0,0.3); border-top: 1px solid var(--border); display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.dc-btn { flex: 1; height: 26px; border-radius: 4px; font-size: 10px; font-weight: 800; text-transform: uppercase; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid transparent; text-decoration: none; padding: 0 8px; }
.dc-btn.primary { background: linear-gradient(135deg, var(--tt-gold), #d4a737); color: #05070a; border: none; }
.dc-btn.primary:hover { filter: brightness(1.1); transform:none; }
.dc-btn.secondary { background: transparent; border: 1px solid var(--tt-line-solid); color: var(--tt-muted); }
.dc-btn.secondary:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,0.05); }
.dc-btn.text { flex: 0 0 auto; background: transparent; border: 1px solid var(--tt-line-solid); color: var(--tt-muted); padding: 0 10px; }
.dc-btn.text:hover { color: #fff; border-color: #fff; }

/* MODALS */
.tt-modal-overlay { position: fixed !important; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.9); z-index: 200000; display: none; align-items: center; justify-content: center; backdrop-filter: blur(5px); }
.tt-modal-overlay.active { display: flex !important; }
.tt-modal.medium { width: 600px; max-width: 95%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); border-radius: 12px; box-shadow: 0 0 80px rgba(0,0,0,1); display: flex; flex-direction: column; max-height: 90vh; border-top: 4px solid var(--blue); }
.tt-modal.wide { width: 98%; max-width: 1800px; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); border-radius: 12px; box-shadow: 0 0 80px rgba(0,0,0,1); display: flex; flex-direction: column; max-height: 95vh; border-top: 4px solid var(--blue); }
.tt-modal.large { width: 900px; max-width: 95%; background: var(--tt-bg-2); border: 1px solid var(--tt-line-solid); border-radius: 12px; box-shadow: 0 0 80px rgba(0,0,0,1); display: flex; flex-direction: column; max-height: 90vh; border-top: 4px solid var(--accent); }

.tt-modal-head { padding: 15px 25px; border-bottom: 1px solid var(--tt-line-solid); background: var(--tt-surface-solid); display: flex; justify-content: space-between; align-items: center; }
.tt-modal-title { margin: 0; color: #fff; font-size: 16px; font-weight: 800; text-transform: uppercase; }
.tt-modal-close { background: none; border: none; color: var(--tt-muted); font-size: 24px; cursor: pointer; }
.tt-modal-body { padding: 20px; overflow-y: auto; overflow-x: auto; position: relative; }

/* STATUS DOTS */
.status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin-right: 5px; }
.st-live { background: var(--tt-green); box-shadow: 0 0 5px var(--tt-green); }
.st-hidden { background: var(--tt-gold); box-shadow: 0 0 5px var(--tt-gold); }
.st-closed { background: var(--tt-red); box-shadow: 0 0 5px var(--tt-red); }

/* SUM HEADER */
.mt-top-counter { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mt-sum-wrap { display: flex; gap: 8px; font-size: 10px; font-weight: 700; color: var(--tt-text-soft); flex-wrap: wrap; }
.mt-sum-unit { background: var(--tt-surface-hover-solid); padding: 4px 8px; border-radius: 4px; border: 1px solid var(--tt-line-solid); }
.mt-sum-crop { background: rgba(242, 193, 78, 0.1); color: var(--accent); padding: 4px 8px; border-radius: 4px; border: 1px solid var(--accent); }
.mt-btn-save-mini { background: var(--accent); color: #000; border: none; padding: 4px 12px; border-radius: 4px; font-weight: 800; font-size: 10px; text-transform: uppercase; cursor: pointer; }

/* SEND TABLE */
.mt-table-wrap { width: 100%; border: 1px solid var(--tt-line-solid); border-radius: 8px; overflow: hidden; background: var(--tt-bg-0); }
.mt-table { width: 100%; border-collapse: collapse; font-size: 11px; white-space: nowrap; table-layout: fixed; }
.mt-table th { background: var(--tt-surface-solid); padding: 8px; text-align: center; color: var(--tt-muted); border-bottom: 1px solid var(--tt-line-solid); font-weight: 700; vertical-align: middle; }
.mt-table th.th-left { text-align: left; width: 150px; }
.mt-table th.col-ts { width: 40px; }
.mt-table th.col-dist { width: 50px; }
.mt-table td { padding: 4px; border: 1px solid transparent; border-bottom-color: var(--tt-surface-hover-solid); color: var(--tt-text-soft); vertical-align: middle; text-align: center; }
.mt-table td.td-left { text-align: left; overflow: hidden; text-overflow: ellipsis; }

/* ROYAL BLUE HOVER */
.mt-table tbody tr:hover td { background-color: rgba(30, 64, 175, 0.3) !important; color: #fff !important; border-top: 1px solid var(--accent); border-bottom: 1px solid var(--accent); }
.mt-col-hover { background-color: rgba(30, 64, 175, 0.2) !important; border-left: 1px solid var(--accent); border-right: 1px solid var(--accent) !important; }

/* CELL LAYOUT (Side-by-Side) */
.mt-cell-row { display: flex; align-items: center; justify-content: center; gap: 6px; }
.mt-inp { width: 60px; height: 26px; background: rgba(255,255,255,0.05); border: 1px solid var(--tt-line-solid); color: #fff; text-align: center; font-family: monospace; font-size: 13px; padding: 0; border-radius: 4px; -moz-appearance: textfield; font-weight: 700; }
.mt-inp:focus { border-color: var(--accent); background: rgba(242, 193, 78, 0.1); outline: none; color: var(--accent); }
.mt-inp.has-val { color: var(--accent); border-color: var(--accent); background: rgba(242, 193, 78, 0.05); }
.mt-info-col { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 45px; }
.mt-avail { color: #fff; font-weight: 800; font-size: 11px; opacity: 0.9; }
.mt-time { font-size: 10px; font-family: monospace; white-space: nowrap; font-weight: 600; }
.mt-time.ok { color: var(--green); }
.mt-time.late { color: var(--red); }
.btn-send-link { display: inline-flex; align-items: center; justify-content: center; background: var(--tt-surface-hover-solid); border: 1px solid var(--tt-line-solid); color: var(--accent); width: 20px; height: 20px; border-radius: 3px; cursor: pointer; text-decoration: none; font-size: 10px; margin-left: 5px; flex-shrink: 0; }
.btn-send-link:hover { background: var(--accent); color: #000; border-color: var(--accent); }

/* FORMS */
.dc-form-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px; margin-bottom: 15px; }
.dc-form-row { margin-bottom: 15px; position: relative; }
.dc-lbl { display: block; font-size: 10px; font-weight: 700; color: var(--tt-muted); margin-bottom: 5px; text-transform: uppercase; }
.dc-inp { width: 100%; background: var(--tt-bg-0); border: 1px solid var(--tt-line-solid); color: #fff; padding: 10px; border-radius: 4px; box-sizing: border-box; font-size: 13px; font-weight: 600; }
.dc-inp:focus { border-color: var(--blue); outline: none; box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.2); }
.dc-btn-save { width: 100%; padding: 12px; background: linear-gradient(135deg, var(--blue), #1f6feb); color: #fff; border: none; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; border-radius: 4px; cursor: pointer; margin-top: 10px; }
.dc-btn-del { width: 100%; padding: 12px; background: transparent; color: var(--red); border: 1px solid var(--red); font-weight: 800; text-transform: uppercase; letter-spacing: 1px; border-radius: 4px; cursor: pointer; margin-top: 10px; }
.dc-btn-del:hover { background: rgba(218, 54, 51, 0.1); }
.dc-search-wrap { position: relative; z-index: 50; }
.dc-res-list { position: fixed; width: 300px; max-height: 200px; overflow-y: auto; background: var(--tt-surface-solid); border: 1px solid var(--blue); z-index: 200000; display: none; box-shadow: 0 10px 50px rgba(0,0,0,0.9); border-radius: 6px; }
.dc-res-item { padding: 10px 15px; cursor: pointer; font-size: 12px; border-bottom: 1px solid var(--tt-line-solid); color: var(--tt-text-soft); }
.dc-res-item:hover { background: var(--blue); color: #fff; }
.att-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.att-tag { background: rgba(218, 54, 51, 0.15); color: #ffadad; padding: 4px 10px; border-radius: 20px; font-size: 11px; display: flex; align-items: center; gap: 6px; border: 1px solid rgba(218, 54, 51, 0.3); font-weight: 600; }
.att-rem { cursor: pointer; font-weight: 900; }

/* LOADING OVERLAY */
.tt-loading-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(13, 17, 23, 0.9); z-index: 100; display: flex; flex-direction: column; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
.tt-spinner { width: 40px; height: 40px; border: 4px solid rgba(255,255,255,0.1); border-top: 4px solid var(--accent); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 10px; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* --- NEUE ADDONS (UNVERÄNDERTER BASIS-CODE OBEN) --- */
.snipe-time-list { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.snipe-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: rgba(255,255,255,0.03); padding: 6px 10px; border-radius: 4px; border-left: 2px solid var(--accent); }
.snipe-lbl { font-size: 10px; text-transform: uppercase; color: var(--tt-muted); font-weight: 700; width: 50px; }
.snipe-val { font-family: monospace; font-size: 13px; color: #fff; font-weight: 700; }
.red-bold { color: var(--red); font-weight: 900; }
.tt-alert-box { background:rgba(255,92,92, 0.15); border:1px solid var(--tt-red); color:var(--tt-red); padding:10px; margin-bottom:15px; border-radius:6px; font-size:12px; display:flex; align-items:center; gap:10px; }

/* --- MOBILE OPTIMIZATION (< 900px) --- */
@media screen and (max-width: 900px) {
    .tt-dc-grid { grid-template-columns: 1fr; }
    .tt-top-section { flex-direction: column; gap: 10px; }
    .tt-mini-grid { width: 100%; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
    .tt-actions-right { width: 100%; justify-content: space-between; flex-wrap: wrap; }
    .tt-btn-create, .tt-btn-archive { flex: 1; justify-content: center; }
    
    .tt-modal.wide, .tt-modal.medium, .tt-modal.large { width: 100%; max-width: 100%; height: 100%; max-height: 100%; border-radius: 0; border: none; top: 0; left: 0; }
    .tt-modal-body { padding: 10px; height: calc(100vh - 60px); overflow-y: scroll; }
    
    /* MOBILE LIST HEIGHT */
    .dc-list-body { max-height: 150px; }
    
    /* Mobile Send Table (Card View) */
    .mt-table-wrap { background: transparent; border: none; overflow: visible; }
    .mt-table, .mt-table tbody, .mt-table tr, .mt-table td { display: block; width: 100%; }
    .mt-table thead { display: none; }
    .mt-table tr { background: var(--tt-surface-solid); border: 1px solid var(--tt-line-solid); margin-bottom: 15px; border-radius: 8px; padding: 0; position: relative; }
    
    /* Village Header (Clickable) */
    .mt-table td.td-left { background: var(--tt-bg-2); padding: 12px; font-weight: 800; border-bottom: 1px solid var(--tt-line-solid); display: flex; justify-content: space-between; align-items: center; color: #fff; cursor: pointer; }
    .mt-table td.td-left::after { content: "▼"; font-size: 10px; color: var(--tt-muted); transition: transform 0.2s; }
    .mt-table tr.is-expanded td.td-left::after { transform: rotate(180deg); color: var(--accent); }
    
    /* Hidden Content */
    .mt-table td:not(.td-left) { display: none; padding: 10px; border-bottom: 1px solid rgba(255,255,255,0.05); }
    
    /* Expanded State */
    .mt-table tr.is-expanded td { display: flex; flex-direction: row; justify-content: space-between; align-items: center; }
    .mt-table td:not(.td-left)::before { content: attr(data-label); font-size: 11px; font-weight: 700; color: var(--tt-muted); width: 80px; }
    
    .mt-inp { width: 80px; height: 34px; font-size: 14px; }
    .mt-cell-row { gap: 15px; width: 100%; justify-content: flex-end; }
    .mt-info-col { align-items: flex-end; }
}

/* fix6 deffcalls buttons alt */
.tt-btn,.tt-btn-primary,.tt-btn-secondary,.tt-action-btn,.tt-btn-head,.tt-btn-create{height:40px!important;padding:0 16px!important;border-radius:12px!important;font-size:12px!important;font-weight:800!important;transform:none!important;}


/* Block 14 · deffcall final pass */
.tt-top-section{row-gap:12px}
.tt-mini-card,.tt-dc-card{transition:border-color .18s ease, box-shadow .18s ease, background .18s ease}
.tt-mini-card:hover,.tt-dc-card:hover{transform:none;box-shadow:0 10px 24px rgba(0,0,0,.22)}
.tt-btn-create,.tt-btn-archive,.tt-btn-unblur{min-height:40px;border-radius:10px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
.tt-btn-create:hover,.tt-btn-archive:hover,.tt-btn-unblur:hover{transform:none;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.tt-dc-grid{align-items:start}
.tt-dc-card{min-height:0}
.dc-badges{align-items:center}
.dc-badge{border-radius:999px;padding:3px 7px}


/* --- merged from verteidigung_mein_einsatzplan.css --- */
/* TravTools · © MUNLabs */
.tt-module-placeholder { display:grid; gap:18px; }
.tt-module-card { background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96)); border:1px solid rgba(242,193,78,.16); border-radius:16px; box-shadow:0 18px 36px rgba(0,0,0,.24); padding:22px; }
.tt-module-intro { display:grid; gap:10px; }
.tt-module-kicker { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,193,78,.82); font-weight:700; }
.tt-module-copy { margin:0; color:rgba(255,255,255,.82); max-width:900px; line-height:1.6; }
.tt-module-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.tt-module-tile { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:16px 18px; min-height:110px; transition:background .22s ease, border-color .22s ease, box-shadow .22s ease; }
.tt-module-tile:hover { background:rgba(40,77,150,.18); border-color:rgba(242,193,78,.24); box-shadow:0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32); }
.tt-module-tile strong { display:block; margin-bottom:8px; color:#fff; font-size:14px; }
.tt-module-tile p { margin:0; color:rgba(255,255,255,.7); line-height:1.55; font-size:13px; }
.tt-module-note { display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:rgba(242,193,78,.08); border:1px solid rgba(242,193,78,.18); color:rgba(255,255,255,.82); font-size:13px; }
@media (max-width:780px){ .tt-module-card{padding:18px;border-radius:14px;} .tt-module-grid{grid-template-columns:1fr;} }


/* --- merged from verteidigung_privater_einsatzplan.css --- */
/* TravTools · © MUNLabs */
.tt-module-placeholder { display:grid; gap:18px; }
.tt-module-card { background: linear-gradient(180deg, rgba(17,26,46,.94), rgba(10,16,29,.96)); border:1px solid rgba(242,193,78,.16); border-radius:16px; box-shadow:0 18px 36px rgba(0,0,0,.24); padding:22px; }
.tt-module-intro { display:grid; gap:10px; }
.tt-module-kicker { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,193,78,.82); font-weight:700; }
.tt-module-copy { margin:0; color:rgba(255,255,255,.82); max-width:900px; line-height:1.6; }
.tt-module-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:14px; }
.tt-module-tile { background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:16px 18px; min-height:110px; transition:background .22s ease, border-color .22s ease, box-shadow .22s ease; }
.tt-module-tile:hover { background:rgba(40,77,150,.18); border-color:rgba(242,193,78,.24); box-shadow:0 0 0 1px rgba(40,77,150,.18), 0 16px 30px rgba(7,18,39,.32); }
.tt-module-tile strong { display:block; margin-bottom:8px; color:#fff; font-size:14px; }
.tt-module-tile p { margin:0; color:rgba(255,255,255,.7); line-height:1.55; font-size:13px; }
.tt-module-note { display:inline-flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:rgba(242,193,78,.08); border:1px solid rgba(242,193,78,.18); color:rgba(255,255,255,.82); font-size:13px; }
@media (max-width:780px){ .tt-module-card{padding:18px;border-radius:14px;} .tt-module-grid{grid-template-columns:1fr;} }


/* --- merged from wartung.css --- */
/* TravTools Wartungsseite */
html, body { min-height: 100%; }
body.wartung-page {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 18% 18%, rgba(242,193,78,.22), transparent 28%),
    radial-gradient(circle at 82% 24%, rgba(56,105,224,.22), transparent 30%),
    linear-gradient(135deg, #08101f 0%, #0b1730 45%, #09111f 100%);
  color: #fff;
  overflow-x: hidden;
}
body.wartung-lock { overflow: hidden; }
.wartung-shell {
  position: relative;
  min-height: 100vh;
  padding: clamp(24px, 4vw, 48px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.wartung-backdrop,
.wartung-noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.wartung-backdrop {
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
.wartung-noise {
  opacity: .2;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle at center, #000 45%, transparent 92%);
}
.wartung-stage {
  position: relative;
  z-index: 2;
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  align-items: center;
  gap: clamp(24px, 3vw, 44px);
}
.wartung-copy { max-width: 760px; align-self: center; }
.wartung-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(10,19,44,.55);
  border: 1px solid rgba(242,193,78,.2);
  color: var(--tt-gold);
  font-weight: 700;
  box-shadow: 0 14px 34px rgba(0,0,0,.2);
  margin-bottom: 18px;
  backdrop-filter: blur(12px);
}
.wartung-copy h1 {
  margin: 0 0 14px;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: 1.02;
  color: #f9fbff;
}
.wartung-subtitle {
  margin: 0 0 16px;
  font-size: clamp(1.08rem, 1.8vw, 1.35rem);
  line-height: 1.5;
  color: rgba(255,255,255,.9);
  max-width: 720px;
}
.wartung-text {
  margin: 0;
  color: rgba(236,242,255,.76);
  line-height: 1.8;
  font-size: 1rem;
  max-width: 700px;
}
.wartung-meta-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0 26px;
}
.wartung-meta-card,
.wartung-visual-card,
.wartung-modal-card {
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(9,16,32,.36);
  backdrop-filter: blur(18px);
  box-shadow: 0 24px 50px rgba(0,0,0,.22);
}
.wartung-meta-card {
  padding: 18px 18px 16px;
}
.wartung-meta-card strong,
.wartung-meta-card small {
  display: block;
}
.wartung-meta-label {
  display: block;
  margin-bottom: 8px;
  color: rgba(242,193,78,.8);
  font-size: .78rem;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.wartung-meta-card strong {
  color: #fff;
  font-size: 1rem;
  margin-bottom: 6px;
}
.wartung-meta-card small {
  color: rgba(255,255,255,.68);
  line-height: 1.55;
}
.wartung-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.wartung-admin-btn {
  min-width: 230px;
  justify-content: center;
  box-shadow: 0 16px 36px rgba(43,100,223,.2);
}
.wartung-visual {
  position: relative;
  min-height: 540px;
  display: grid;
  place-items: center;
  align-self: center;
}
.wartung-orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(18px);
  opacity: .75;
}
.wartung-orb-a {
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(242,193,78,.5) 0%, rgba(242,193,78,0) 70%);
  top: 18px;
  right: 32px;
  animation: wartungFloat 8s ease-in-out infinite;
}
.wartung-orb-b {
  width: 430px;
  height: 430px;
  background: radial-gradient(circle, rgba(56,105,224,.42) 0%, rgba(56,105,224,0) 72%);
  bottom: 8px;
  left: 18px;
  animation: wartungFloat 10s ease-in-out infinite reverse;
}
.wartung-logo-hero {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
}
.wartung-logo-hero img {
  width: min(440px, 82%);
  filter: drop-shadow(0 0 34px rgba(242,193,78,.16));
  animation: wartungPulse 4.8s ease-in-out infinite;
}
.wartung-visual-card {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  color: #fff;
  font-weight: 700;
}
.wartung-visual-card i {
  color: var(--tt-gold);
  font-size: 1.05rem;
}
.visual-card-one { top: 44px; left: 22px; }
.visual-card-two { top: 140px; right: 18px; }
.visual-card-three { bottom: 54px; left: 58px; }
.wartung-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(4,8,20,.22);
  backdrop-filter: blur(14px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
  z-index: 1200;
}
.wartung-modal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
  z-index: 1210;
}
.wartung-modal.is-open,
.wartung-modal-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}
.wartung-modal-card {
  position: relative;
  width: min(560px, 100%);
  padding: 28px;
  background: linear-gradient(180deg, rgba(10,19,44,.52), rgba(10,19,44,.34));
}
.wartung-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  color: #fff;
  cursor: pointer;
}
.wartung-modal-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 20px;
}
.wartung-modal-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(242,193,78,.1);
  color: var(--tt-gold);
  font-size: 1.35rem;
}
.wartung-modal-head h2 {
  margin: 0 0 6px;
  color: #fff;
}
.wartung-modal-head p {
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
}
.wartung-login-form { display: grid; gap: 16px; }
.wartung-modal-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.7);
  line-height: 1.55;
}
.wartung-modal-note i { color: var(--tt-gold); margin-top: 2px; }
.wartung-submit {
  width: 100%;
  justify-content: center;
}
@keyframes wartungFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-18px); }
}
@keyframes wartungPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}
@media (max-width: 980px) {
  .wartung-stage { grid-template-columns: 1fr; }
  .wartung-visual { order: -1; min-height: 360px; }
  .wartung-meta-row { grid-template-columns: 1fr; }
  .visual-card-two { right: 4px; }
}
@media (max-width: 680px) {
  .wartung-shell { padding: 18px; }
  .wartung-copy h1 { font-size: 2.35rem; }
  .wartung-visual { min-height: 300px; }
  .wartung-logo-hero img { width: min(300px, 78%); }
  .wartung-visual-card {
    position: static;
    margin-top: 12px;
    width: 100%;
    justify-content: flex-start;
  }
  .wartung-actions { display: grid; }
  .wartung-admin-btn { width: 100%; }
}


.tt-hover-card {
  position: relative;
  overflow: hidden;
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease, transform .22s ease;
}
.tt-hover-card::before {
  content: "";
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(242,193,78,.98), rgba(242,193,78,.32));
  box-shadow: 0 0 12px rgba(242,193,78,.35);
  opacity: 0;
  transform: scaleY(.6);
  transform-origin: center;
  transition: opacity .22s ease, transform .22s ease;
}
.tt-hover-card:hover {
  background: linear-gradient(180deg, rgba(25,47,96,.58), rgba(12,22,47,.46));
  border-color: rgba(76,123,242,.35);
  box-shadow: 0 24px 54px rgba(0,0,0,.24), 0 0 0 1px rgba(76,123,242,.14), 0 0 22px rgba(76,123,242,.16);
  transform:none;
}
.tt-hover-card:hover::before {
  opacity: 1;
  transform: scaleY(1);
}
.wartung-footer {
  position: relative;
  z-index: 3;
  text-align: center;
  margin-top: 12px;
  padding-top: 8px;
  color: rgba(255,255,255,.62);
  font-size: .92rem;
  line-height: 1.4;
}
.wartung-footer a {
  color: var(--tt-gold);
  text-decoration: none;
}
.wartung-footer a:hover {
  text-decoration: underline;
}


@media (max-height: 860px) {
  .wartung-shell { padding: 18px 24px 14px; }
  .wartung-stage { gap: 18px; }
  .wartung-copy h1 { font-size: clamp(2.35rem, 4.4vw, 4.25rem); }
  .wartung-subtitle { margin-bottom: 12px; }
  .wartung-text { line-height: 1.65; }
  .wartung-meta-row { margin: 20px 0 18px; }
  .wartung-visual { min-height: 420px; }
  .wartung-logo-hero img { width: min(360px, 72%); }
  .visual-card-one { top: 26px; left: 18px; }
  .visual-card-two { top: 112px; right: 18px; }
  .visual-card-three { bottom: 34px; left: 50px; }
}


/* fix5 cleanup */
body.wartung-page { overflow: hidden; }
.wartung-shell {
  min-height: 100vh;
  height: 100vh;
  padding: clamp(20px, 3vh, 34px) clamp(24px, 4vw, 48px);
  justify-content: center;
}
.wartung-stage {
  flex: 1;
  min-height: 0;
  align-items: center;
  gap: clamp(20px, 2.8vw, 38px);
}
.wartung-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.wartung-copy h1 {
  font-size: clamp(2.5rem, 4.8vw, 4.6rem);
  margin-bottom: 12px;
}
.wartung-subtitle { margin-bottom: 14px; }
.wartung-text { margin-bottom: 0; }
.wartung-meta-row { margin: 22px 0 22px; }
.wartung-visual {
  min-height: 0;
  height: 100%;
}
.wartung-logo-hero img {
  width: min(400px, 76%);
}
.wartung-footer-inline {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 3;
  color: rgba(255,255,255,.64);
  font-size: .92rem;
  text-align: center;
  white-space: nowrap;
}
.wartung-footer-inline a {
  color: var(--tt-gold);
  text-decoration: none;
}
.wartung-footer-inline a:hover {
  text-decoration: underline;
}
.wartung-feature-column, .wartung-feature-pill { display:none !important; }
@media (max-width: 980px) {
  body.wartung-page { overflow-y: auto; }
  .wartung-shell { height: auto; min-height: 100vh; padding-bottom: 64px; }
  .wartung-footer-inline { bottom: 12px; white-space: normal; padding: 0 20px; }
  .wartung-logo-hero img { width: min(320px, 72vw); }
}



/* ===== Targeted cleanup after central CSS migration ===== */
/* Kontakt guest view */
.tt-guest-wrap { display:flex; justify-content:center; align-items:center; min-height:70vh; }
.tt-guest-card { text-align:center !important; }
.tt-guest-card h1, .tt-guest-card p { text-align:center !important; }
.tt-guest-icon, .tt-guest-actions { display:flex; justify-content:center; }

/* Auth alignment consistency */
.tt-login-wrap, .tt-auth-wrap, .tt-reg-wrap, .tt-change-wrap, .tt-delete-wrap, .tt-reset-wrap {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  min-height: 0;
}
.tt-login-card, .tt-auth-card, .tt-reg-card, .tt-change-card, .tt-delete-card, .tt-reset-card {
  width: 100%;
  max-width: 460px;
  margin: 0;
}
.tt-form-grid > div, .tt-form > .tt-field, .tt-form > .tt-actions { width: 100%; }
.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%;
}
.tt-login-card .tt-input, .tt-auth-card .tt-input, .tt-reg-card .tt-input, .tt-change-card .tt-input, .tt-delete-card .tt-input, .tt-reset-card .tt-input {
  width: 100%;
  box-sizing: border-box;
}
@media (max-width: 900px) {
  .tt-login-wrap, .tt-auth-wrap, .tt-reg-wrap, .tt-change-wrap, .tt-delete-wrap, .tt-reset-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .tt-login-card, .tt-auth-card, .tt-reg-card, .tt-change-card, .tt-delete-card, .tt-reset-card {
    max-width: none;
  }
}

.tt-guest-card,.tt-guest-card h1,.tt-guest-card p{text-align:center!important;}
.tt-guest-icon,.tt-guest-actions{display:flex;justify-content:center;}

.tt-supporter-badge{display:flex;align-items:center;justify-content:center;min-height:64px;font-size:34px;color:#fff;}
.tt-supporter-badge .tt-badge-img{width:40px;height:40px;margin-left:0;vertical-align:middle;}
