/* ===== Light Theme – Orange Accents ===== */
:root{
  --bg:#f7f7f9;           /* Seitenhintergrund */
  --surface:#ffffff;      /* Karten/Modals */
  --surface-2:#f0f2f5;    /* leicht abgesetzt */
  --line:#e2e6ea;         /* Rahmenlinien */
  --text:#1b2330;         /* Primärtext (fast schwarz) */
  --muted:#5f6b7a;        /* Sekundärtext */
  --heading:#101621;

  --accent:#ff7a00;       /* Orange Akzent */
  --accent-2:#ffa85e;     /* heller Verlaufston */
  --focus: rgba(255,122,0,.25);

  --radius:14px;
  --shadow:0 6px 18px rgba(16,22,33,.08);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  background: var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.container{max-width:1200px}

/* ===== Navbar (hell) ===== */
.navbar{
  background:linear-gradient(180deg,#ffffff, #fafbfc);
  border-bottom:1px solid var(--line);
}
.navbar .navbar-brand{color:var(--heading); font-weight:700}
.navbar .nav-link{color:#3a4656}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--accent)}
.navbar .navbar-toggler{border-color:#d6dbe2}

/* ===== Cards / Sections ===== */
.card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  color:var(--text);
}
.card h1,.card h2,.card h3,.card h4,.card h5{color:var(--heading)}
hr{border-color:var(--line); opacity:1}

/* ===== Buttons ===== */
.btn-primary{
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
  border:0;
  color:#fff;
  border-radius:12px;
  box-shadow:0 6px 14px rgba(255,122,0,.25);
}
.btn-primary:hover{filter:brightness(1.05)}
.btn-outline-light{
  background:#fff;
  color:#2a3442;
  border:1px solid var(--line);
  border-radius:12px;
}
.btn-outline-light:hover{
  background:#fff3e8; border-color:#ffd6b6; color:#1b2330;
}
.btn.btn-sm{padding:.35rem .6rem}

/* ===== Forms ===== */
.form-control,.form-select{
  background:#fff;
  border:1px solid #d9dee5;
  color:var(--text);
  border-radius:12px;
}
.form-control::placeholder{color:#9aa5b4}
.form-control:focus,.form-select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 .2rem var(--focus);
}

/* ===== Tables ===== */
.table{--bs-table-bg: transparent; margin-bottom:0}
.table thead th{
  color:#435066;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.78rem;
  border-bottom:1px solid var(--line);
  background:#fafbfc;
  position:sticky; top:0; z-index:1;
}
.table tbody td{
  color:var(--text);
  border-top:1px solid var(--line);
  vertical-align:middle;
}
.table tbody tr:nth-child(even){
  background:#fcfcfd;
}
.table tbody tr:hover{
  background:#fff8f1;
}

/* ===== Badges ===== */
.badge{
  background:#fff3e6;
  border:1px solid #ffd6b6;
  color:#8a3a00;
  border-radius:999px;
  padding:.45rem .6rem;
  font-weight:600;
}

/* ===== Modals ===== */
.modal-backdrop { background-color:#000 !important; z-index:1990 !important; }
.modal-backdrop.show { opacity:.45 !important; }

.modal { z-index:2000 !important; }
.modal-dialog { margin-top:3.5rem; }

.modal-content{
  background-color:#fff !important;
  border:1px solid var(--line, #e2e6ea);
  border-radius:16px;
  box-shadow:0 18px 40px rgba(16,22,33,.18);
}
.modal-header,
.modal-body,
.modal-footer{
  background-color:#fff !important;
}

.modal .form-label{
  display:block;
  margin-bottom:.35rem;
  color:var(--muted, #5f6b7a);
  font-weight:600;
}
.modal .form-control,
.modal .form-select{
  min-height:44px;
  padding:.55rem .85rem;
  line-height:1.35;
}
.modal .modal-footer {
  border-top:1px solid var(--line, #e2e6ea);
  padding-top:1rem;
}

/* Sticky-Header ausschalten, wenn Modal offen */
.modal-open .table thead th{
  position:static !important;
  z-index:auto !important;
}

/* ===== Links / Text ===== */
a{color:var(--accent)}
a:hover{color:#e96600}
.link-muted{color:var(--muted); text-decoration:none}
.link-muted:hover{color:var(--accent); text-decoration:underline}
.small-muted{color:var(--muted); font-size:.92rem}

/* ===== Footer ===== */
.footer{color:#778395; position:relative; z-index:0;}

/* ===== Toasts/Alerts (hell) ===== */
.alert{
  border-radius:12px;
  border:1px solid #ffd6b6;
  background:#fff3e6;
  color:#6a3000;
}

/* ===== Utility ===== */
.rounded-2xl{border-radius:var(--radius)}
.shadow-soft{box-shadow:var(--shadow)}

/* Branding */
.brand-logo{height:28px; max-width:220px; object-fit:contain}
