/*
 * TravTools · © MUNLabs
 * style.css — Zentrale Basis-Styles
 * Allgemeine App-Optik, Layout-Grundlagen und globale Helper. Tokens: _shared/shared.css.
 */

/* Die Basis-Ebene (_shared/shared.css, themes.css, sidebar.css, layout.css,
   ui_global.css, fullwidth_fix.css, final_ui_pass.css) wird zentral ueber
   _shared/css_stack.php::tt_emit_shared_css_stack() eingebunden — keine @imports mehr (Doppel-Ladung). */
@import url('../_shared/transition.css');

:root{
  --tt-radius-xs: 8px;
  --tt-radius-sm: 12px;
  --tt-radius-md: 16px;
  --tt-radius-lg: 20px;
  --tt-radius-xl: 26px;
}

html, body{
  min-height:100%;
}

body{
  background-attachment: fixed;
}


/* Phase 3 · zentrale Utility-Klassen */
.tt-muted-13{font-size:13px}
.tt-muted-12-strong{font-size:12px;font-weight:900;letter-spacing:.2px;margin-bottom:8px}
.tt-gap-12{height:12px}
.tt-btn-mini.is-active{outline:1px solid rgba(242,193,74,.35)}
.tt-center-empty{padding:20px;text-align:center;color:var(--tt-faint)}
.tt-loading-center{padding:20px;text-align:center}
.tt-h1-reset{margin-top:0}


/* Phase 4 · Utility-Klassen für Header-Migration & Inline-Cleanup */
.tt-hide-content-head{display:none!important}
.tt-inline-flex-center{display:inline-flex;align-items:center}
.tt-flex-8{display:flex;gap:8px}
.tt-flex-col-5{display:flex;flex-direction:column;gap:5px}
.tt-flex-col-8{display:flex;flex-direction:column;gap:8px}
.tt-w-100{width:100%}
.tt-w-70{width:70%}
.tt-mt-10{margin-top:10px}
.tt-mt-15{margin-top:15px}
.tt-mb-16{margin-bottom:16px}
.tt-center-note{padding:20px;text-align:center;color:var(--tt-faint)}
.tt-center-note-lg{padding:30px;text-align:center}
.tt-center-note-xl{padding:40px;text-align:center;color:var(--tt-faint)}
.tt-dim{opacity:.6}
.tt-dim-70{opacity:.7}
.tt-muted-mini{font-size:11px;margin-top:5px}
.tt-muted-linkline{font-style:italic;color:var(--tt-faint);font-size:12px}
.tt-accent-link{color:var(--tt-gold)}
.tt-state-bad{color:var(--tt-red)}
.tt-state-ok{color:var(--tt-green)}
.tt-alert-ok{
  padding:14px 16px; margin-bottom:22px; border-radius:14px; font-size:13.5px;
  background:linear-gradient(180deg, rgba(61,220,132,.14), rgba(61,220,132,.06)); border:1px solid rgba(61,220,132,.45); color:#c8ffe0; font-weight:700;
  box-shadow:0 0 22px rgba(61,220,132,.12), inset 0 1px 0 rgba(255,255,255,.06);
  display:flex; align-items:center; gap:10px;
}
.tt-alert-err{
  padding:14px 16px; margin-bottom:22px; border-radius:14px; font-size:13.5px;
  background:linear-gradient(180deg, rgba(255,92,92,.14), rgba(255,92,92,.06)); border:1px solid rgba(255,92,92,.5); color:#ffc2c2; font-weight:700;
  box-shadow:0 0 22px rgba(255,92,92,.14), inset 0 1px 0 rgba(255,255,255,.05);
  display:flex; align-items:center; gap:10px;
}
.tt-empty-danger{padding:50px;text-align:center;color:var(--tt-red-2)}
.tt-cell-loading{padding:30px;text-align:center}
.tt-cell-loading-lg{padding:40px;text-align:center;color:var(--tt-faint)}
.tt-chip-danger{
  margin-left:auto; color:var(--tt-red-2); font-size:11px; font-weight:800;
  border:1px solid rgba(255,92,92,.5); background:rgba(255,92,92,.10); padding:3px 8px; border-radius:999px;
}
.tt-btn-ghost{
  background:transparent; border:1px solid var(--tt-line-strong); color:#fff;
}
.tt-btn-danger-link{
  background:none; border:0; color:var(--tt-red-2); font-weight:700; cursor:pointer; font-size:13px;
}
.tt-label-inline{
  font-weight:600; color:#fff;
}
.tt-headline-accent{
  font-size:16px; margin:0; padding-left:12px; border-left:3px solid var(--tt-gold); box-shadow:-6px 0 14px -6px rgba(242,193,74,.6);
}
.tt-card-blue-accent{border-left:4px solid var(--tt-blue)!important;box-shadow:var(--tt-shadow-2), -8px 0 18px -8px rgba(59,130,246,.6)!important}
.tt-icon-hero{font-size:40px;margin-bottom:10px;color:var(--tt-gold);filter:drop-shadow(0 0 16px rgba(242,193,74,.5))}
.tt-link-gold-sm{color:var(--tt-gold);text-decoration:none;font-weight:700;font-size:13px}
.tt-muted-italic{font-size:12px;font-style:italic;opacity:.7}
.tt-mini-row{
  display:flex; justify-content:space-between; padding:8px 6px;
  border-bottom:1px solid var(--tt-line); font-size:12px;
}
.tt-mono-meta{font-family:var(--tt-font-mono);color:var(--tt-faint);font-size:12px}


/* ===== Repair Block 2 · Globale App-Stabilisierung ===== */
body.tt-app{display:block!important;align-items:initial!important;justify-content:initial!important;min-height:100vh!important;margin:0!important;color:var(--tt-text);font-family:var(--tt-font);}
body.tt-app .tt-main, body.tt-app main{min-width:0;}
body.tt-app .tt-content, body.tt-app .content, body.tt-app .tt-main-content{min-width:0;}
.tt-app img{max-width:100%;height:auto;}
.tt-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.tt-header-row .tt-subtitle{margin:4px 0 0;color:var(--tt-muted);font-size:14px;}
.tt-app .tt-alert{padding:14px 16px;border:1px solid var(--tt-line-strong);border-radius:14px;margin-bottom:18px;background:var(--tt-surface-glass);}


/* =========================================================
   Repair Block 7 · Generische Layout-Stopper
   ========================================================= */
body.tt-app .tt-hide-content-head{display:none!important;}
body.tt-app .tt-page-title,
body.tt-app h1.tt-title,
body.tt-app .tt-section-head h1{margin-top:0!important;}
body.tt-app .tt-card,
body.tt-app .tt-panel,
body.tt-app .tt-section-card{min-height:auto!important;}
