*{box-sizing:border-box;}
body{margin:0; font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif; background:#f2f4f8; color:#101826;}
a{color:#1f4fa3;}
.admin-header{
  background:#0a1e3d; color:#fff; display:flex; align-items:center; gap:20px;
  padding:14px 24px; font-size:14px;
}
.admin-header a{color:#a9cbf5; text-decoration:none; margin-left:auto;}
.admin-header a.logout{margin-left:16px; color:#f0a9a9;}
.admin-header .whoami{margin-left:24px; color:rgba(255,255,255,0.75); font-size:13px;}
.admin-header .whoami strong{color:#fff;}
.quick-nav{
  position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid #dde3ec;
  display:flex; flex-wrap:wrap; gap:4px; padding:10px 20px; max-width:920px; margin:0 auto;
}
.quick-nav a{
  color:#48566b; text-decoration:none; font-size:13.5px; font-weight:600;
  padding:7px 12px; border-radius:999px;
}
.quick-nav a:hover{background:#eef3fb; color:#1f4fa3;}
.admin-wrap{max-width:920px; margin:0 auto; padding:32px 20px 80px;}
.flash-ok{background:#e3f3e6; border:1px solid #8fcf9c; color:#1c5c2a; padding:10px 16px; border-radius:4px; font-size:14px;
  position:fixed; top:62px; left:50%; transform:translateX(-50%); z-index:50; max-width:min(560px,calc(100vw - 24px)); box-shadow:0 8px 24px rgba(0,0,0,.18);
  transition:opacity .5s ease, transform .5s ease;}
.flash-ok.flash-hide{opacity:0; transform:translate(-50%,-10px);}
.panel{scroll-margin-top:64px;}
.flash-error{background:#fbe4e4; border:1px solid #e79d9d; color:#8a2222; padding:10px 16px; border-radius:4px; margin-bottom:16px; font-size:14px;}
.panel{background:#fff; border:1px solid #dde3ec; border-radius:6px; padding:26px; margin-bottom:32px;}
.panel h2{margin:0 0 18px; font-size:1.2rem;}
.panel summary{cursor:pointer; user-select:none; padding:2px 0;}
.panel summary h2{display:inline; margin:0; font-size:1.1rem;}
.panel summary:hover h2{color:#1f4fa3;}
.panel details[open] > summary{margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #eef1f6;}
.count-badge{display:inline-block; background:#eef3fb; color:#1f4fa3; font-size:12px; font-weight:700; padding:2px 9px; border-radius:999px; margin-left:8px; vertical-align:middle;}
.subheading{margin:28px 0 10px; font-size:14px; font-weight:600; color:#48566b; text-transform:uppercase; letter-spacing:.03em;}
.subheading:first-of-type{margin-top:0;}
.row-form{display:flex; gap:12px; flex-wrap:wrap; align-items:end; margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid #eef1f6;}
.row-form.column{flex-direction:column; align-items:stretch;}
.row-form label{display:flex; flex-direction:column; font-size:13px; color:#48566b; gap:4px; flex:1; min-width:150px; max-width:100%;}
.row-form input, .row-form textarea, .row-form select{
  font-size:14px; padding:8px 10px; border:1px solid #cfd8e6; border-radius:4px; font-family:inherit; background:#fff;
  width:100%; min-width:0; box-sizing:border-box;
}
.row-form button{
  background:#1f4fa3; color:#fff; border:none; padding:10px 18px; border-radius:4px; font-weight:600; cursor:pointer; font-size:14px;
}
.row-form button:hover{background:#163a7c;}
.row-form .cancel{margin-left:10px; font-size:13px;}
.table-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -1px;}
.table-scroll table.list{min-width:560px;}
table.list{width:100%; border-collapse:collapse; font-size:14px;}
table.list th{text-align:left; color:#48566b; font-weight:600; font-size:12.5px; text-transform:uppercase; letter-spacing:.03em; padding:8px 10px; border-bottom:1px solid #dde3ec;}
table.list td{padding:10px; border-bottom:1px solid #eef1f6; vertical-align:top;}
table.list .actions{display:flex; gap:12px; align-items:center; white-space:nowrap;}
table.list .actions form{display:inline;}
.link-danger{background:none; border:none; color:#a83232; cursor:pointer; font-size:14px; padding:0; text-decoration:underline;}
.link-plain{background:none; border:none; color:#1f4fa3; cursor:pointer; font-size:15px; padding:0 2px;}
table.list td.reorder{display:flex; gap:6px; white-space:nowrap;}
table.list td.reorder form{display:inline;}
.empty{color:#8a93a3; font-style:italic;}
.empty-hint{color:#48566b; font-size:13.5px;}
.pagination{display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:18px;}
.pagination a, .pagination span{
  display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px;
  padding:0 10px; border-radius:4px; font-size:13.5px; font-weight:600; text-decoration:none;
}
.pagination a{color:#1f4fa3; border:1px solid #dde3ec; background:#fff;}
.pagination a:hover{border-color:#1f4fa3;}
.pagination-current{background:#0a1e3d; color:#fff;}
.pagination-disabled{color:#b7bfcc;}
.pagination-ellipsis{min-width:auto; padding:0 2px; color:#8a93a3;}
table.list img.thumb{width:44px; height:44px; object-fit:cover; border-radius:4px; display:block;}
.current-photo{display:flex; align-items:center; gap:12px; margin-top:-6px;}
.current-photo img{width:70px; height:70px; object-fit:cover; border-radius:4px; border:1px solid #dde3ec;}
.checkbox-label{display:flex !important; flex-direction:row !important; align-items:center; gap:6px; font-size:13px;}
.photo-gallery-edit{display:flex; flex-wrap:wrap; gap:14px; margin-top:-6px;}
.gallery-thumb{display:flex !important; flex-direction:column !important; align-items:center; gap:6px; font-size:12px; color:#a83232;}
.gallery-thumb img{width:80px; height:80px; object-fit:cover; border-radius:4px; border:1px solid #dde3ec;}
.attachment-list-edit{list-style:none; margin:-6px 0 0; padding:0; display:flex; flex-direction:column; gap:8px;}
.attachment-list-edit li{display:flex; align-items:center; gap:14px; font-size:13.5px; background:#f6f8fb; border:1px solid #e5eaf1; border-radius:4px; padding:8px 12px;}
.attachment-list-edit .checkbox-label{margin-left:auto; color:#a83232;}
.blocks-label{gap:8px !important;}
#blocks-container{display:flex; flex-direction:column; gap:10px;}
.block-row{display:flex; align-items:flex-start; gap:12px; background:#f6f8fb; border:1px solid #e5eaf1; border-radius:6px; padding:12px;}
.block-row-body{flex:1; display:flex; flex-direction:column; gap:6px; min-width:0;}
.block-type-label{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:#48566b;}
.block-row-body textarea{width:100%; font-family:inherit; font-size:14px; padding:8px 10px; border:1px solid #cfd8e6; border-radius:4px;}
.block-row-image{flex-direction:row; align-items:center;}
.block-row-image img{width:64px; height:64px; object-fit:cover; border-radius:4px; border:1px solid #dde3ec; flex-shrink:0;}
.block-row-image input[type="text"]{flex:1; font-size:14px; padding:8px 10px; border:1px solid #cfd8e6; border-radius:4px;}
.block-row-controls{display:flex; flex-direction:column; gap:4px; flex-shrink:0;}
.block-row-controls button{
  background:#fff; border:1px solid #cfd8e6; border-radius:4px; width:30px; height:28px;
  cursor:pointer; font-size:14px; line-height:1; color:#1f4fa3;
}
.block-row-controls button:hover{background:#eef3fb;}
.block-row-controls .block-remove{color:#a83232;}
.add-block-btn{
  align-self:flex-start; background:#fff; border:1px dashed #9fb3cf; color:#1f4fa3;
  border-radius:4px; padding:8px 14px; font-size:13.5px; font-weight:600; cursor:pointer;
}
.add-block-btn:hover{background:#eef3fb;}

.user-abteilungen-field{display:flex; flex-direction:column; gap:6px; flex:1; min-width:220px;}
.user-abteilungen-field .field-label{font-size:13px; color:#48566b;}
.checkbox-grid{display:flex; flex-wrap:wrap; gap:10px 16px; padding:9px 10px; border:1px solid #cfd8e6; border-radius:4px; background:#fff;}
.checkbox-grid .checkbox-label{font-size:13.5px; color:#101826;}

.login-body{display:flex; align-items:center; justify-content:center; min-height:100vh; background:#0a1e3d;}
.login-box{background:#fff; padding:36px 32px; border-radius:8px; width:320px; display:flex; flex-direction:column; gap:14px;}
.login-box h1{margin:0; font-size:1.3rem; color:#0a1e3d;}
.login-box .sub{margin:0 0 6px; font-size:13px; color:#48566b;}
.login-box label{display:flex; flex-direction:column; gap:4px; font-size:13px; color:#48566b;}
.login-box input{font-size:14px; padding:9px 10px; border:1px solid #cfd8e6; border-radius:4px;}
.login-box button{background:#1f4fa3; color:#fff; border:none; padding:11px; border-radius:4px; font-weight:600; cursor:pointer; margin-top:6px;}
.login-box button:hover{background:#163a7c;}

/* Popup-Einstellungen bei News */
.popup-settings{border:1px solid #d6dde8; border-radius:6px; padding:12px 16px 14px; margin:0; background:#f6f8fb;}
.popup-settings legend{font-weight:600; font-size:13.5px; padding:0 6px;}
.popup-dates{display:flex; gap:16px; flex-wrap:wrap; margin-top:10px;}
.popup-dates label{flex:1; min-width:180px;}
.popup-badge{display:inline-block; font-size:11.5px; padding:1px 8px; border-radius:999px; background:#eceff4; color:#5a6678; border:1px solid #d6dde8; white-space:nowrap;}
.popup-badge.active{background:#e3f4e8; color:#1f6b3a; border-color:#b9e0c6;}

/* nuLiga-Import */
.nuliga-box{border:1px solid #d6dde8; border-radius:6px; padding:12px 16px; background:#f6f8fb; margin-bottom:18px;}
.nuliga-box p{margin:0 0 8px;}

/* Änderungsprotokoll */
.audit-table td{vertical-align:top; font-size:13.5px;}
.audit-table .nowrap{white-space:nowrap;}
.audit-ip{display:block; color:#8a94a6; font-size:11.5px;}
.audit-aktion{display:inline-block; padding:1px 9px; border-radius:999px; font-size:12px; font-weight:600; background:#eceff4; color:#5a6678; white-space:nowrap;}
.audit-angelegt{background:#e3f4e8; color:#1f6b3a;}
.audit-geaendert{background:#e6eefb; color:#1d4093;}
.audit-geloescht{background:#fbe6e4; color:#a53228;}
.audit-fehlgeschlagen{background:#fbf1d9; color:#8a6412;}
.audit-details summary{cursor:pointer; color:#1d4093;}
.audit-details ul{margin:6px 0 0; padding-left:18px;}
.audit-alt{color:#a53228; text-decoration:line-through;}
.audit-neu{color:#1f6b3a;}
.audit-pages{display:flex; gap:16px; align-items:center; margin-top:14px; font-size:14px;}

/* Handy/Tablet: Kopfzeile, Navigation, Formulare und Tabellen an schmale Bildschirme anpassen -
   ohne das hier würden Tabellenspalten und die Kopfzeile auf dem Handy übereinander rutschen. */
@media (max-width: 700px){
  .admin-header{flex-wrap:wrap; gap:8px 16px; padding:12px 16px;}
  .admin-header a{margin-left:0;}
  .admin-header .whoami{margin-left:0; order:1; flex-basis:100%;}
  .quick-nav{overflow-x:auto; -webkit-overflow-scrolling:touch; flex-wrap:nowrap; padding:8px 16px; max-width:none;}
  .quick-nav a{flex-shrink:0;}
  .admin-wrap{padding:20px 14px 60px;}
  .panel{padding:18px;}
  .row-form{flex-direction:column; align-items:stretch;}
  .row-form label{min-width:0;}
  .row-form button{width:100%;}
  .row-form .cancel{margin-left:0; margin-top:4px;}
  table.list{font-size:13px;}
  table.list th, table.list td{padding:8px 6px;}
  table.list .actions{flex-wrap:wrap; gap:8px;}
  .popup-dates{flex-direction:column; gap:10px;}
  .checkbox-grid{gap:8px 12px;}
  .block-row{flex-wrap:wrap;}
  .block-row-controls{flex-direction:row;}
}