/* Admin-Oberfläche */
body.admin{ background:var(--bg); }
.admin-bar{
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;
  padding:14px 26px; background:var(--bg-2); border-bottom:1px solid var(--karte-rand);
  position:sticky; top:0; z-index:50;
}
.admin-brand{ font-weight:800; font-size:1.1rem; }
.admin-nav{ display:flex; gap:20px; flex:1; flex-wrap:wrap; }
.admin-nav a{ color:var(--text-2); font-weight:600; }
.admin-nav a:hover, .admin-nav a.active{ color:var(--glut); }
.admin-right{ display:flex; gap:10px; }
.admin-wrap{ padding:34px 20px 80px; max-width:960px; }

.admin h1{ font-size:1.8rem; margin-bottom:8px; }
.admin h2{ font-size:1.3rem; margin:34px 0 16px; }
.admin .sub{ color:var(--text-3); margin-bottom:24px; }

.panel{ background:var(--karte); border:1px solid var(--karte-rand); border-radius:var(--radius); padding:26px; margin-bottom:24px; }

.dash-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:16px; }
@media(max-width:720px){ .dash-grid{ grid-template-columns:repeat(2,1fr);} }
.dash-card{ background:var(--karte); border:1px solid var(--karte-rand); border-radius:var(--radius-s); padding:20px; text-align:center; transition:.2s; }
.dash-card:hover{ border-color:rgba(255,106,0,.4); transform:translateY(-3px); }
.dash-card b{ font-size:2rem; display:block; color:var(--glut); }
.dash-card span{ color:var(--text-2); font-size:.9rem; }

/* Formular */
.field{ margin-bottom:18px; }
.field label{ display:block; font-weight:600; margin-bottom:7px; font-size:.92rem; }
.field input[type=text], .field input[type=date], .field input[type=time],
.field input[type=password], .field input[type=url], .field select, .field textarea{
  width:100%; padding:12px 14px; border-radius:10px; font-size:1rem; font-family:inherit;
  background:var(--bg-3); border:1px solid var(--karte-rand); color:var(--text);
}
.field textarea{ min-height:200px; resize:vertical; line-height:1.6; }
.field input:focus, .field textarea:focus, .field select:focus{ outline:none; border-color:var(--glut); }
.field .hint{ color:var(--text-3); font-size:.82rem; margin-top:6px; }
.row2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:560px){ .row2{ grid-template-columns:1fr; } }
.actions{ display:flex; gap:12px; align-items:center; margin-top:10px; flex-wrap:wrap; }

/* Tabellen / Listen */
.list-item{
  display:flex; align-items:center; gap:16px; padding:14px 18px;
  background:var(--karte); border:1px solid var(--karte-rand); border-radius:var(--radius-s); margin-bottom:10px;
}
.list-item .thumb{ width:60px; height:46px; border-radius:8px; object-fit:cover; background:var(--bg-3); flex-shrink:0; }
.list-item .li-meta{ flex:1; min-width:0; }
.list-item .li-meta b{ display:block; }
.list-item .li-meta span{ color:var(--text-3); font-size:.85rem; }
.li-actions{ display:flex; gap:8px; }
.btn-danger{ background:rgba(239,68,68,.15); border:1px solid rgba(239,68,68,.4); color:#ffb0b0; }
.btn-danger:hover{ background:rgba(239,68,68,.28); }
.badge{ font-size:.72rem; padding:3px 9px; border-radius:99px; background:rgba(255,106,0,.15); color:var(--glut); font-weight:700; }
.badge.off{ background:rgba(255,255,255,.08); color:var(--text-3); }

/* Login */
.login-box{ max-width:390px; margin:8vh auto; }
.login-box .logo{ text-align:center; font-size:3rem; margin-bottom:10px; }
.gallery-admin{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:12px; }
.gallery-admin .cell{ position:relative; border-radius:10px; overflow:hidden; border:1px solid var(--karte-rand); }
.gallery-admin img{ width:100%; height:120px; object-fit:cover; }
.gallery-admin .cell form{ position:absolute; top:6px; right:6px; }
