/* ==========================================================================
   admin-modern.css v3 — Admin im Look des Buchungstools (3D Lasersports).

   Design-Sprache wie assets/booking-wizard/wizard.css:
     - dunkles Space-Chrome (Sternenhimmel, Glass-Panels, Cyan/Magenta-Neon)
     - Orbitron (Display) + Rajdhani (UI), lokal gehostet (kein Google-Aufruf)
   Inhalte (Tabellen/Formulare) liegen bewusst auf HELLEN Karten: die alten
   Admin-Seiten haben fest verdrahtete dunkle Textfarben, Icon-Sprites und
   Statusfarben, die auf dunklem Grund unlesbar wuerden.

   Wird in includes/admin_header.php ALS LETZTES geladen. Alles unter
   `body.admin` gescoped -> Frontend/Kalender bleiben unberuehrt.
   Reversibel: den <link> im admin_header entfernen.
   ========================================================================== */

body.admin{
    --adm-bg:#05060d;
    --adm-surface:rgba(14,20,38,.72);
    --adm-surface-solid:#0e1426;
    --adm-border:#2b3566;
    --adm-text:#eaf2ff;
    --adm-muted:#8a93b8;
    --adm-cyan:#27e7ff;
    --adm-magenta:#ff3df0;
    --adm-navy:#1c244f;
    --adm-card:#f7f9ff;
    --adm-card-border:#dbe2f0;
    --adm-ink:#1d2740;
    --adm-ink-soft:#4a5877;
    --adm-ok:#4ade80;
    --adm-warn:#ffb454;
    --adm-danger:#ff7a7a;
    --adm-disp:'Orbitron',sans-serif;
    --adm-ui:'Rajdhani',system-ui,sans-serif;
    --adm-maxw:1280px;
}

/* ---- Grundflaeche: Sternenhimmel wie im Buchungstool ---- */
body.admin{
    margin:0;
    color:var(--adm-text);
    font:500 15px/1.5 var(--adm-ui) !important;
    min-height:100vh;
    background:
        linear-gradient(rgba(5,6,13,.78), rgba(5,6,13,.92)),
        url('../images/space-new.jpg') repeat,
        #000 !important;
}
body.admin #wrapper{ background:transparent; min-height:0; margin-bottom:0; }  /* alter Sticky-Footer-Hack (min-height:100%, -50px) passt nicht zum neuen Credit-Footer */

/* ==========================================================================
   KOPF & NAVIGATION
   ========================================================================== */
body.admin #header{
    background:rgba(10,14,28,.82) !important;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
    border:1px solid var(--adm-border);
    border-top:none;
    border-radius:0 0 16px 16px;
    box-shadow:0 14px 44px -22px var(--adm-magenta);
    width:auto !important;
    max-width:var(--adm-maxw);
    height:auto !important;
    margin:0 auto !important;
    overflow:visible;              /* Dropdowns (Hilfe/Admin) duerfen raus */
    position:relative;
    z-index:50;
}
body.admin #header::after{ content:""; display:block; clear:both; }  /* Floats einschliessen (Login-Header kollabierte sonst) */
/* Alt-Falle: .adj_row hat width:100% (content-box) -> zusammen mit Padding ragten
   die Hilfe/Admin-Buttons rechts aus dem Header. border-box fuer den ganzen Kopf. */
body.admin #header, body.admin #header *{ box-sizing:border-box; }
body.admin #header img{
    max-height:52px; width:auto;
    filter:drop-shadow(0 0 16px rgba(255,61,240,.35));
}
/* Logo-Zeile, wenn nicht eingeloggt (Login-Seite): #header > .adj_left direkt */
body.admin #header > .adj_left{ padding:14px 18px; }

/* obere Zeile: Logo links, Hilfe/Admin rechts */
body.admin .adj_top_menu_1{ padding:12px 18px 6px; overflow:visible; }
body.admin .adj_top_menu_1 > .adj_left a{ display:inline-block; }
body.admin .adj_top_menu_1 ul{ top:6px !important; }
body.admin .adj_top_menu_1 ul li{
    background:rgba(18,26,48,.8) !important;
    border:1px solid var(--adm-border) !important;
    border-radius:8px !important;
    padding:0 10px !important;
}
body.admin .adj_top_menu_1 ul li:hover{ border-color:var(--adm-cyan) !important; background:rgba(18,26,48,.95) !important; }
body.admin .adj_top_menu_1 ul li > a{
    background:none !important;    /* alter Pfeil-Sprite weg */
    color:var(--adm-text) !important;
    font:600 13px/1 var(--adm-ui) !important;
    letter-spacing:1px; text-transform:uppercase;
    padding:9px 4px !important;
}
body.admin .adj_top_menu_1 ul li:hover > a{ color:var(--adm-cyan) !important; }
/* Dropdowns (Hilfe / Admin) */
body.admin .phl{ min-height:0 !important; top:100% !important; padding-top:6px; z-index:1000; }
body.admin .adj_top_menu_1 ul li ul{
    background:var(--adm-surface-solid) !important;
    border:1px solid var(--adm-border) !important;
    border-radius:10px !important;
    box-shadow:0 16px 40px -18px #000 !important;
    top:0 !important;
    width:170px !important;
    padding:6px !important;
    position:relative !important;
}
body.admin .ul_to_left{ position:relative !important; left:auto !important; right:0 !important; }
body.admin .adj_top_menu_1 ul li ul li{
    background:transparent !important;
    width:auto !important;
    display:block; float:none;
    border-radius:7px !important;
    padding:0 !important;
}
body.admin .adj_top_menu_1 ul li ul li a{
    color:var(--adm-text) !important;
    font:600 13px/1.2 var(--adm-ui) !important;
    text-transform:none; letter-spacing:.3px;
    padding:8px 10px !important;
    display:block;
}
body.admin .adj_top_menu_1 ul li ul li:hover{ background:rgba(39,231,255,.12) !important; }
body.admin .adj_top_menu_1 ul li ul li:hover a{ color:var(--adm-cyan) !important; }

/* zweite Zeile: Uebersicht / Kalender Ansicht / Add Ons */
body.admin .adj_top_menu_2{ padding:2px 18px 10px; }
body.admin .adj_top_menu_2 li{ margin:0 0 0 6px !important; }
body.admin .adj_top_menu_2 a{
    color:var(--adm-muted) !important;
    font:600 12.5px/1 var(--adm-ui) !important;
    letter-spacing:1.2px; text-transform:uppercase;
    padding:7px 10px; border-radius:7px;
}
body.admin .adj_top_menu_2 a:hover{ color:var(--adm-cyan) !important; background:rgba(39,231,255,.08); }

/* Hauptmenue (ZEITPLAN, WEBSITE BUCHUNGEN, ...) */
body.admin #header .adj_menu_3{
    padding:6px 12px !important;
    border-top:1px solid var(--adm-border);
    background:rgba(8,12,26,.5);
}
body.admin #header .adj_menu_3 > ul{ display:flex; flex-wrap:wrap; gap:4px; margin:0; padding:0; }
body.admin #header .adj_menu_3 ul li{ margin:0 !important; float:none; }
body.admin #header .adj_menu_3 a{
    color:var(--adm-muted) !important;
    font:700 12.5px/1 var(--adm-ui) !important;
    letter-spacing:1.4px;
    padding:11px 13px !important;
    border-radius:8px;
    background:none !important;    /* alter Glanz-Sprite weg */
    position:static !important;    /* alter bottom:-6px-Sprung weg */
    height:auto !important;
}
body.admin #header .adj_menu_3 a:hover{ color:var(--adm-cyan) !important; background:rgba(39,231,255,.09) !important; font-weight:700 !important; }
body.admin #header .adj_menu_3 a.active{
    color:#06101a !important;
    background:linear-gradient(100deg,var(--adm-cyan),var(--adm-magenta)) !important;
    box-shadow:0 0 18px -6px var(--adm-magenta);
    font-weight:700 !important;
}
/* Add-Ons-Dropdown im Hauptmenue */
body.admin #header .adj_menu_3 ul li span{
    background:none !important;
    color:var(--adm-muted) !important;
    font:700 12.5px/1 var(--adm-ui) !important;
    letter-spacing:1.4px;
    padding:11px 13px !important;
    position:static !important; height:auto !important;
    border-radius:8px;
}
body.admin #header .adj_menu_3 ul li:hover span{
    background:rgba(39,231,255,.09) !important;
    color:var(--adm-cyan) !important;
}
body.admin #header .adj_menu_3 ul li ul{
    background:var(--adm-surface-solid) !important;
    border:1px solid var(--adm-border) !important;
    border-radius:10px;
    box-shadow:0 16px 40px -18px #000 !important;
    top:100% !important;
    padding:6px !important;
    z-index:1000;
}
body.admin #header .adj_menu_3 ul li ul li{ padding:0 !important; }
body.admin #header .adj_menu_3 ul li ul li a{
    color:var(--adm-text) !important;
    padding:8px 10px !important;
    border-radius:7px;
    text-transform:none;
    letter-spacing:.3px;
}
body.admin #header .adj_menu_3 ul li ul li a:hover{ color:var(--adm-cyan) !important; background:rgba(39,231,255,.12) !important; }

/* Untermenue-Leiste (Buchungsliste | Hinzufuegen | Export ...) */
body.admin .adj_menu_4{
    max-width:var(--adm-maxw);
    margin:0 auto;
    background:transparent !important;
    padding:8px 6px 0 !important;
}
body.admin #header .adj_menu_4{ background:rgba(8,12,26,.5) !important; padding:4px 12px 10px !important; border-radius:0 0 15px 15px; }
body.admin .adj_menu_4 ul.reset{ display:flex; flex-wrap:wrap; gap:4px; }
body.admin #header .adj_menu_4 ul li{
    background:none !important;    /* alter Separator-Sprite weg */
    padding:0 !important; height:auto !important; float:none;
}
body.admin .adj_menu_4 ul.reset li a,
body.admin #header .adj_menu_4 ul li a{
    color:var(--adm-muted) !important;
    font:600 13px/1 var(--adm-ui) !important;
    letter-spacing:.8px;
    padding:8px 11px !important;
    border-radius:7px;
    border-bottom:none !important;   /* Alt-Falle: border-bottom 1px #333 */
    display:inline-block;
    text-decoration:none;
}
body.admin .adj_menu_4 ul.reset li a:hover{ color:var(--adm-cyan) !important; background:rgba(39,231,255,.08) !important; }
body.admin .adj_menu_4 ul.reset li.active a{
    color:var(--adm-cyan) !important;
    background:rgba(39,231,255,.12) !important;
    box-shadow:inset 0 0 0 1px rgba(39,231,255,.4);
}
body.admin .adj_right .currentDateTime{ color:var(--adm-muted); }

/* ==========================================================================
   INHALTSBEREICH — helle Lesekarten auf dunklem Grund
   ========================================================================== */
body.admin #content{
    width:auto !important;
    max-width:var(--adm-maxw) !important;
    margin:0 auto !important;
    background:transparent !important;
    padding:22px 16px 70px !important;
}
body.admin .content_block,
body.admin .content_block.small{
    background:var(--adm-card) !important;
    border:1px solid var(--adm-card-border);
    border-radius:14px;
    box-shadow:0 18px 50px -30px rgba(0,0,0,.9);
    width:auto !important;
    min-height:0 !important;
    float:none !important;
    padding:22px 24px !important;
    margin-bottom:18px;
    color:var(--adm-ink);
    overflow-x:auto;               /* breite Alt-Tabellen scrollen in der Karte */
}
body.admin .content_block p{ width:auto !important; color:var(--adm-ink-soft); }
body.admin .content_block, body.admin .content_block *{ box-sizing:border-box; }
/* Alt-Fallen: feste Wrapper-Breiten machten Inhalte schmaler als die Karten
   oder sprengten sie. Alles auf fluid gestellt. */
body.admin .adj_bookings_905{ width:auto !important; }
body.admin .adj_contentv1{ width:auto !important; padding:0 !important; }
body.admin .padd{ padding-left:0; padding-right:0; }
body.admin .stat{ width:auto !important; }                    /* war 905px */
body.admin .links{ width:auto !important; }                   /* war 555px !important */
body.admin .form-row{ width:auto !important; max-width:960px; }/* war 900px */
body.admin .bar100x100{ width:auto !important; }              /* war 740px !important */
body.admin #content hr{ width:auto; }                         /* war 906px */
body.admin ul.summery, body.admin ul.summery li{ width:auto !important; }
body.admin .addons p{ width:auto !important; }
body.admin #ccpt_form .wrap{ width:auto !important; max-width:960px; }
body.admin .adj_ccsettings_below_term{ width:auto !important; }
body.admin .js_error, body.admin #content .error_msg{ width:auto; max-width:720px; }
/* gelber Textmarker auf h3-Spans -> ruhige Hervorhebung */
body.admin #content h3 span{ background-color:transparent !important; color:var(--adm-navy); font-weight:700; }

/* Seiten mit Sidebar (z.B. Veranstaltungen): nebeneinander statt Float-Bruch */
body.admin #content:has(> .sidebar){
    display:flex; flex-wrap:wrap; gap:18px; align-items:flex-start;
}
body.admin #content:has(> .sidebar) > .content_block,
body.admin #content:has(> .sidebar) > .content_block.small{
    flex:1 1 620px; min-width:0; margin-bottom:0;
}
body.admin #content > .sidebar{
    float:none !important;
    flex:0 0 230px;
    width:230px !important;
    background:var(--adm-card);
    border:1px solid var(--adm-card-border);
    border-radius:14px;
    box-shadow:0 18px 50px -30px rgba(0,0,0,.9);
    padding:18px 16px;
    color:var(--adm-ink);
}
body.admin .sidebar h3{ color:var(--adm-ink) !important; font:700 13px/1.3 var(--adm-ui); letter-spacing:.5px; padding-top:16px; }
body.admin .sidebar p{ color:var(--adm-ink-soft) !important; font-size:12.5px; }
body.admin .sidebar a{ color:#1273d4; }
body.admin .sidebar .info ul{ margin:0; padding:0 0 0 2px; list-style:none; }
body.admin .sidebar .info ul li{ margin-bottom:8px; color:var(--adm-ink-soft); font-size:12.5px; }
body.admin .sidebar br{ display:none; }

/* Ueberschriften */
body.admin h2,
body.admin .content_block h2{
    color:var(--adm-ink) !important;
    font-family:var(--adm-disp) !important;
    font-size:21px !important;
    font-weight:700 !important;
    letter-spacing:.5px;
    border-bottom:1px solid var(--adm-card-border) !important;
    margin:0 0 16px !important;
    padding:2px 0 14px !important;
}
body.admin .content_block h2 span{ color:var(--adm-ink-soft) !important; font:600 13px var(--adm-ui) !important; letter-spacing:0; }
body.admin .content_block h2 a{ color:#1273d4 !important; font:600 12.5px/26px var(--adm-ui) !important; }
body.admin #content h3{ color:var(--adm-ink) !important; font-family:var(--adm-ui); font-weight:700; }
body.admin #content a{ color:#1273d4; }

/* ==========================================================================
   TABELLEN — lesbar, ruhig, mit Marken-Kopfzeile
   ========================================================================== */
body.admin #content table.dataTable,
body.admin #content table.style_checkboxes,
body.admin #content table.schedule{
    width:100% !important;
    border-collapse:separate; border-spacing:0;
    background:#fff;
    border:1px solid var(--adm-card-border);
    border-radius:10px;
    overflow:hidden;
}
/* Kopfzeile im Marken-Navy */
body.admin #content .topRow td,
body.admin #content .topRow th,
body.admin #content table.dataTable thead th,
body.admin #content table.style_checkboxes thead th{
    background:var(--adm-navy) !important;
    color:#fff !important;
    font:600 12px/1.4 var(--adm-ui) !important;
    letter-spacing:1px; text-transform:uppercase;
    padding:11px 13px !important;
    border:none !important;
    text-align:left;
}
body.admin #content .topRow th strong,
body.admin #content .topRow td strong{ color:#fff !important; }        /* Alt-Falle: #003366 */
/* doppelte Kopfzeile unten (tfoot) ausblenden */
body.admin #content table tfoot .topRow{ display:none; }
/* Sortier-Pfeile: dunkle PNG-Sprites sind auf dem Navy-Kopf unsichtbar -> eigene Pfeile */
body.admin #content table thead th.sorting,
body.admin #content table thead th.sorting_asc,
body.admin #content table thead th.sorting_desc{
    background-image:none !important;
    position:relative;
    padding-right:26px !important;
    cursor:pointer;
}
body.admin #content table thead th.sorting::after,
body.admin #content table thead th.sorting_asc::after,
body.admin #content table thead th.sorting_desc::after{
    position:absolute; right:9px; top:50%;
    transform:translateY(-50%);
    font-size:11px; line-height:1;
}
body.admin #content table thead th.sorting::after{ content:"\21C5"; opacity:.45; }      /* ⇅ */
body.admin #content table thead th.sorting_asc::after{ content:"\2191"; color:var(--adm-cyan); }  /* ↑ */
body.admin #content table thead th.sorting_desc::after{ content:"\2193"; color:var(--adm-cyan); } /* ↓ */

/* Datenzeilen: dunkle Schrift erzwingen (Alt-Falle: table tbody{color:#fff}) */
body.admin #content table tbody{ color:var(--adm-ink); font-size:13px; }
body.admin #content table.dataTable tbody td,
body.admin #content table.style_checkboxes tbody td,
body.admin #content table.schedule tbody td,
body.admin #content table.dataTable tbody tr.even td,
body.admin #content table.dataTable tbody tr.odd td,
body.admin #content table.style_checkboxes tbody tr.even td,
body.admin #content table.style_checkboxes tbody tr.odd td{
    color:var(--adm-ink) !important;
    font-size:13px;
    padding:10px 13px !important;
    border:none !important;
    border-bottom:1px solid #eef1f7 !important;
    background:#fff;
}
body.admin #content table tbody tr.even td,
body.admin #content table.dataTable tbody tr:nth-child(even) td{ background:#f4f7fd !important; }
body.admin #content table.dataTable tbody tr:hover td,
body.admin #content table.style_checkboxes tbody tr:hover td{ background:#e9f3ff !important; }
body.admin #content table tbody a{ color:#1273d4; }
body.admin #content input[type="checkbox"]{ accent-color:var(--adm-navy); width:15px; height:15px; }
/* lange Inhalte (Gutschein-Codes, Datumslisten) umbrechen statt die Karte zu sprengen */
body.admin #content table.dataTable tbody td,
body.admin #content table.style_checkboxes tbody td{ overflow-wrap:anywhere; vertical-align:middle; }
/* Checkbox-Spalte mittig, Zeilen ruhig */
body.admin #content table.dataTable td:first-child input[type="checkbox"],
body.admin #content table.style_checkboxes td:first-child input[type="checkbox"],
body.admin #content table .topRow th input[type="checkbox"]{ display:block; margin:0 auto; }
body.admin #content .space{ font:700 12.5px var(--adm-ui) !important; }
body.admin .dataTables_length,
body.admin .dataTables_filter{ font:600 12.5px var(--adm-ui); color:var(--adm-ink-soft); margin-bottom:10px; }

/* ==========================================================================
   DATATABLES-BEDIENELEMENTE
   ========================================================================== */
body.admin .dataTables_wrapper{ color:var(--adm-ink-soft); }
body.admin .dataTables_filter{ margin-bottom:10px; }
body.admin .dataTables_filter input{
    border:1px solid #c3cede !important; border-radius:8px !important;
    padding:8px 11px !important; font:600 13px var(--adm-ui); background:#fff !important; color:var(--adm-ink);
}
body.admin .dataTables_info{ color:var(--adm-ink-soft) !important; font-size:12.5px; padding-top:12px; }
body.admin .dataTables_paginate{ padding-top:8px; }
body.admin .paging_full_numbers{ height:auto !important; line-height:normal !important; }
body.admin .paging_full_numbers a.paginate_button,
body.admin .paging_full_numbers a.paginate_active{
    display:inline-block; float:none !important;
    min-width:20px; text-align:center;
    padding:6px 11px !important; margin:0 2px !important;
    border-radius:7px; border:1px solid #c3cede;
    background:#fff; color:var(--adm-ink) !important;
    font:600 12.5px var(--adm-ui); cursor:pointer; text-decoration:none !important;
}
body.admin .paging_full_numbers a.paginate_button:hover{ border-color:var(--adm-navy); background:#eef4ff; }
body.admin .paging_full_numbers a.paginate_active{
    background:var(--adm-navy) !important; border-color:var(--adm-navy); color:#fff !important;
}
body.admin .paging_full_numbers a.paginate_button_disabled{ opacity:.4; cursor:default; }
body.admin .paging_full_numbers a.paginate_button_disabled:hover{ border-color:#c3cede; background:#fff; }
/* msDropdown-Ersatz-Selects (Anzeige pro Seite, Programm-Auswahl) lesbar machen */
body.admin #content .dd .ddTitle{
    background:#fff !important;
    border:1px solid #c3cede !important;
    border-radius:8px !important;
    padding:2px 0 !important;
}
body.admin #content .dd .ddTitle .ddTitleText{ color:var(--adm-ink) !important; font:600 13px var(--adm-ui) !important; }
body.admin #content .dd .ddChild{
    background:#fff !important;
    border:1px solid #c3cede !important;
    border-radius:8px !important;
    box-shadow:0 10px 30px -14px rgba(0,0,0,.5) !important;
}
body.admin #content .dd .ddChild li{ color:var(--adm-ink) !important; background:#fff !important; font:600 13px var(--adm-ui) !important; }
body.admin #content .dd .ddChild li.hover,
body.admin #content .dd .ddChild li:hover{ background:#e9f3ff !important; }
/* Loeschen-Button unter den Listen */
body.admin .deleteBtton{ padding-top:14px; }
body.admin .deleteBtton input[type="submit"]{
    background:#fff !important; color:#c22f4b !important;
    border:1px solid #e3a9b6 !important; border-radius:8px !important;
    padding:9px 18px !important; font:700 12.5px var(--adm-ui) !important;
    letter-spacing:.8px; text-transform:uppercase; cursor:pointer;
}
body.admin .deleteBtton input[type="submit"]:hover{ background:#fdeef1 !important; border-color:#c22f4b !important; }

/* ==========================================================================
   BUTTONS — Neon-Look wie im Buchungstool
   ========================================================================== */
body.admin button.save,
body.admin button.login{
    background:linear-gradient(100deg,var(--adm-cyan),var(--adm-magenta)) !important;  /* statt Sprite */
    border:0 !important;
    height:auto !important;
    margin:6px 0 !important;
    padding:13px 24px !important;
    cursor:pointer;
    clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
    box-shadow:0 0 0 1px rgba(39,231,255,.5),0 10px 30px -12px var(--adm-magenta);
    transition:filter .15s;
    overflow:visible;
}
body.admin button.save:hover,
body.admin button.login:hover{ filter:brightness(1.08); }
body.admin button.save span,
body.admin button.login span{
    background:none !important;    /* Sprite-Haelfte weg -> kein Doppel-Button mehr */
    color:#06101a !important;
    font:700 13px/1.2 var(--adm-disp) !important;
    letter-spacing:1px; text-transform:uppercase;
    height:auto !important; width:auto !important;
    margin:0 !important; padding:0 !important;
    position:static !important;
    display:inline !important;
}
/* generische Submit-/Action-Buttons */
body.admin #content input[type="submit"]:not(.plain),
body.admin #content input[type="button"]{
    background:var(--adm-navy); color:#fff;
    border:none; border-radius:8px;
    padding:10px 18px; font:600 13px var(--adm-ui);
    letter-spacing:.5px; cursor:pointer;
}
body.admin #content input[type="submit"]:not(.plain):hover{ background:#26326b; }
/* generische <button>-Alt-Buttons (z.B. "Anzeigen" beim Zeitplan) — Sprite-Reste weg */
body.admin #content button:not(.save):not(.login){
    background:var(--adm-navy) !important;
    color:#fff !important;
    border:none !important; border-radius:8px !important;
    height:auto !important;
    margin:2px 0 !important;
    padding:10px 18px !important;
    font:600 13px var(--adm-ui) !important;
    letter-spacing:.5px; cursor:pointer;
    box-shadow:none !important;
}
body.admin #content button:not(.save):not(.login):hover{ background:#26326b !important; }
body.admin #content button:not(.save):not(.login) span{
    background:none !important;
    color:#fff !important;
    font:inherit !important;
    height:auto !important; width:auto !important;
    line-height:1.2 !important;
    margin:0 !important; padding:0 !important;
    border:none !important;
    box-shadow:none !important;
    position:static !important; display:inline !important;
}
body.admin button.save span,
body.admin button.login span{ border:none !important; box-shadow:none !important; }

/* Bearbeiten/Buchen-Chips in Tabellen */
body.admin #content .greedButton{
    display:inline-block; float:none !important;
    white-space:nowrap;
    background:var(--adm-navy) !important;
    border-radius:7px !important;
    color:#fff !important;
    font:600 12px var(--adm-ui) !important;
    padding:6px 13px !important;
    text-decoration:none !important;
}
body.admin #content .greedButton:hover{ background:#26326b !important; }
body.admin #content .greedButton.grey{ background:#e8f0fb !important; color:#1273d4 !important; }
body.admin #content .greedButton.grey:hover{ background:#d8e7f9 !important; }
body.admin #content .schedule .greedButton{ background:#ff8c11 !important; color:#fff !important; }

/* Sidebar-/Langbuttons (z.B. "Veranstaltung hinzufuegen") */
body.admin .adj2_btn_long_orange{
    display:block;
    background:linear-gradient(100deg,var(--adm-cyan),var(--adm-magenta)) !important;
    clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
    text-align:center;
    padding:13px 14px !important;
    margin-bottom:10px;
    height:auto !important; width:auto !important;
    text-decoration:none !important;
}
body.admin .adj2_btn_long_orange:hover{ filter:brightness(1.08); }
body.admin .adj2_btn_long_orange span{
    background:none !important;
    color:#06101a !important;
    font:700 12px/1.25 var(--adm-disp) !important;
    letter-spacing:.8px; text-transform:uppercase;
    height:auto !important; width:auto !important;
    margin:0 !important; padding:0 !important;
    position:static !important; display:inline !important;
}

/* ==========================================================================
   FORMULARE (auf hellen Karten)
   ========================================================================== */
/* Formular-Raster (Settings, Buchung anlegen): Sektionen mit Luft und ruhigen Trennern */
body.admin #content hr{
    border:none;
    border-top:1px solid var(--adm-card-border);
    margin:22px 0;
}
body.admin #content .form-row{ padding:5px 0 12px; margin:0 !important; }
body.admin #content .form-row h3{
    font:700 14px var(--adm-ui) !important;
    letter-spacing:1px; text-transform:uppercase;
    color:var(--adm-ink-soft) !important;
    margin:0 0 12px;
}
body.admin #content .cell{ margin:0 18px 14px 0; }
body.admin #content .cell label{
    color:var(--adm-ink-soft) !important;
    font:600 12px var(--adm-ui) !important;
    letter-spacing:.6px; text-transform:uppercase;
    padding:0 0 6px !important;
}
body.admin #content .cell input[type="text"],
body.admin #content .cell input[type="password"],
body.admin #content .cell select,
body.admin #content .cell textarea{ width:100%; }
body.admin #content input[type="radio"]{ accent-color:var(--adm-navy); }
/* "Als PDF drucken" & aehnliche Alt-Chips */
body.admin #content .pdfExport{
    background:#fff !important;
    border:1px solid #c3cede;
    border-radius:7px;
    color:var(--adm-ink) !important;
    font:600 12px var(--adm-ui) !important;
    padding:7px 13px !important;
    text-decoration:none;
}
body.admin #content .pdfExport:hover{ border-color:var(--adm-navy); background:#eef4ff !important; }
body.admin #content .servicesList{ border-bottom:1px solid var(--adm-card-border) !important; padding:0 0 16px !important; margin-bottom:16px; }
body.admin #content .servicesList p{ font:600 13px var(--adm-ui) !important; color:var(--adm-ink-soft) !important; }
body.admin #content input[type="text"],
body.admin #content input[type="email"],
body.admin #content input[type="password"],
body.admin #content input[type="number"],
body.admin #content select,
body.admin #content textarea{
    border:1px solid #c3cede !important;
    border-radius:8px !important;
    padding:9px 11px !important;
    font:600 13px var(--adm-ui) !important;
    color:var(--adm-ink) !important;
    background:#fff !important;
    box-shadow:none !important;
}
body.admin #content input:focus,
body.admin #content select:focus,
body.admin #content textarea:focus{
    outline:none;
    border-color:var(--adm-cyan) !important;
    box-shadow:0 0 0 3px rgba(39,231,255,.22) !important;
}
body.admin #content label{ font:600 13px var(--adm-ui); color:var(--adm-ink-soft); }
/* Filterleisten (.bar / .servicesList): Label ueber dem Feld, Floats gezaehmt */
body.admin #content .bar .left,
body.admin #content .servicesList .left{ margin-right:16px; }
body.admin #content .bar .left label,
body.admin #content .servicesList .left label{ display:block; padding:0 0 6px; }
body.admin #content .bar .left input.left,
body.admin #content .bar .left select.left{ float:none !important; }

/* ==========================================================================
   LOGIN — dunkle Glass-Karte, exakt der Wizard-Look
   ========================================================================== */
body.admin #content .login_container{
    background:var(--adm-surface) !important;   /* statt login_bg.png */
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
    border:1px solid var(--adm-border);
    border-radius:16px;
    width:auto !important; height:auto !important;
    max-width:440px;
    margin:56px auto !important;
    padding:30px 30px 34px !important;
    box-shadow:0 24px 70px -30px var(--adm-magenta);
}
body.admin #content .login_container h3{
    color:var(--adm-text) !important;
    font:700 19px/1.3 var(--adm-disp) !important;
    letter-spacing:.5px;
    text-align:center;
    padding:0 0 20px !important; margin:0;
    text-shadow:0 0 22px rgba(39,231,255,.35);
}
body.admin #content .login{ padding-top:0; }
body.admin #content .login .line{
    height:auto !important;
    padding:0 0 14px !important;
}
body.admin #content .login .line label{
    display:block !important;
    width:auto !important;
    text-align:left !important;
    font:600 11.5px/1 var(--adm-ui) !important;
    letter-spacing:1.5px; text-transform:uppercase;
    color:var(--adm-muted) !important;
    padding:0 0 6px !important;
}
body.admin #content .login .line input{
    width:100% !important;
    height:auto !important;
    box-sizing:border-box;
    padding:12px 13px !important;
    font:600 15px var(--adm-ui) !important;
    color:var(--adm-text) !important;
    background:rgba(8,12,26,.65) !important;
    border:1px solid var(--adm-border) !important;
    border-left:2px solid var(--adm-cyan) !important;
    border-radius:8px !important;
    line-height:normal !important;
}
body.admin #content .login .line input:focus{
    outline:none;
    border-color:var(--adm-cyan) !important;
    box-shadow:0 0 0 2px rgba(39,231,255,.35),0 0 22px -6px var(--adm-cyan);
}
body.admin #content .login .line a{
    padding:0 !important;
    color:var(--adm-muted) !important;
    font:600 12px var(--adm-ui) !important;
    text-decoration:none;
}
body.admin #content .login .line a:hover{ color:var(--adm-cyan) !important; }
body.admin #content .login_container center{ padding-top:6px; }
body.admin #content .login_container button.save{ width:100%; margin:0 !important; }

/* ==========================================================================
   MELDUNGEN
   ========================================================================== */
body.admin #content .success,
body.admin #content .warning,
body.admin #content .error,
body.admin #content .error_msg{
    border-radius:10px;
    padding:12px 15px;
    font:600 13px/1.5 var(--adm-ui);
    margin-bottom:14px;
    border:1px solid transparent;
    background-image:none;
    text-shadow:none;
}
body.admin #content .success{ background:rgba(74,222,128,.12) !important; border-color:rgba(74,222,128,.45); color:var(--adm-ok) !important; }
body.admin #content .warning{ background:rgba(255,180,84,.12) !important; border-color:rgba(255,180,84,.45); color:var(--adm-warn) !important; }
body.admin #content .error,
body.admin #content .error_msg{ background:rgba(255,122,122,.12) !important; border-color:rgba(255,122,122,.45); color:var(--adm-danger) !important; }
/* Meldungen INNERHALB heller Karten dunkler einfaerben */
body.admin #content .content_block .success{ color:#177a3d !important; }
body.admin #content .content_block .warning{ color:#9a6413 !important; }
body.admin #content .content_block .error,
body.admin #content .content_block .error_msg{ color:#b3364e !important; }

/* ==========================================================================
   FOOTER — 1:1 wie im Buchungstool-Frontend (.bw-footer-credit aus wizard.css)
   ========================================================================== */
body.admin .bw-footer-credit{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:32px 16px 40px;
    text-align:center;
    font-family:var(--adm-ui);
    font-size:.85rem;
    letter-spacing:.5px;
    color:var(--adm-muted);
}
body.admin .bw-footer-credit a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--adm-muted);
    text-decoration:none;
    transition:color .15s;
}
body.admin .bw-footer-credit a:hover{ color:var(--adm-cyan); }
body.admin .bw-footer-credit img{
    height:60px;
    width:auto;
    vertical-align:middle;
    filter:opacity(.75);
    transition:opacity .15s;
    max-height:none;               /* generische #header-img-Regel gilt hier nicht, sicherheitshalber */
}
body.admin .bw-footer-credit a:hover img{ filter:opacity(1); }

/* ==========================================================================
   DASHBOARD (Uebersicht)
   ========================================================================== */
body.admin .dashboard h3{
    font:700 12px var(--adm-ui) !important;
    letter-spacing:1.2px; text-transform:uppercase;
    color:var(--adm-ink-soft) !important;
    padding-left:0 !important;
}
/* Schnellzugriff: eigene volle Zeile als modernes Kachel-Grid */
body.admin .dashboard.links,
body.admin .dashboard.transactions{
    float:none !important;
    display:block;
    width:auto !important;
    max-width:none !important;
}
body.admin .dashboard.links{ border-right:none !important; padding-right:0; }
body.admin ul.dashboard-links{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(190px, 1fr));
    gap:14px;
    margin:0; padding:0;
    clear:none;
}
body.admin ul.dashboard-links li{
    float:none !important;
    width:auto !important;             /* Alt-Falle: width:92px */
    padding:16px 16px 14px !important;
    background:#fff;
    border:1px solid var(--adm-card-border);
    border-radius:12px;
    text-align:left !important;
    transition:border-color .15s, box-shadow .15s;
}
body.admin ul.dashboard-links li:hover{
    border-color:#9fb3d8;
    box-shadow:0 10px 24px -16px rgba(28,36,79,.55);
}
body.admin ul.dashboard-links li > a:first-child{ display:block; margin-bottom:10px; }
body.admin ul.dashboard-links img{
    height:42px; width:auto;
    border:none; border-radius:0;
    mix-blend-mode:multiply;   /* grauer JPG-Hintergrund der Alt-Icons verschwindet auf Weiss */
}
body.admin ul.dashboard-links span{ padding:0 0 6px !important; }
body.admin ul.dashboard-links span a{
    font:700 13.5px/1.35 var(--adm-ui) !important;
    color:var(--adm-ink) !important;
    text-decoration:none !important;
}
body.admin ul.dashboard-links a{
    font:600 12.5px/1.5 var(--adm-ui) !important;
    color:#1273d4 !important;
    text-decoration:none !important;
    padding:3px 0 0 !important;
}
body.admin ul.dashboard-links a:hover{ text-decoration:underline !important; }
/* Transaktionen: eigene Zeile unter dem Schnellzugriff */
body.admin .dashboard.transactions{ margin-top:24px; padding-left:0 !important; min-width:0; }

/* Statistik: Chart in voller Kartenbreite, Beschreibung/Legende darunter */
body.admin .dashboard.stat{ width:auto !important; margin:26px 0 0 !important; }
body.admin .dashboard.stat .grafic{
    float:none !important;
    width:auto !important; max-width:none;
    background:#fff !important;
    border:1px solid var(--adm-card-border) !important;
    border-radius:10px;
    box-shadow:none !important;
}
body.admin #plottedJS{ width:auto !important; }   /* Inline-Style 512px aushebeln -> volle Breite */
body.admin .dashboard.stat .info{
    float:none !important;
    width:auto !important; max-width:none;
    padding:12px 2px 0 !important;
}
body.admin .dashboard.stat .info p{ max-width:640px; }
/* Chart-Legende (#pgraphsDesc) */
body.admin #pgraphsDesc{ list-style:none; margin:0; padding:8px 0 0 !important; display:flex; flex-wrap:wrap; gap:16px; }
body.admin #pgraphsDesc li{ display:inline-flex; align-items:center; gap:7px; float:none !important; font:600 12.5px var(--adm-ui); color:var(--adm-ink-soft); }
body.admin #pgraphsDesc li div{ width:12px; height:12px; border-radius:3px; }
body.admin #pgraphsDesc li span{ display:none; }   /* alter " - "-Trenner */

/* Browser-Autofill faerbt Felder sonst hellblau/gelb */
body.admin #content input:-webkit-autofill{
    -webkit-box-shadow:0 0 0 40px #fff inset !important;
    -webkit-text-fill-color:var(--adm-ink) !important;
}

/* ==========================================================================
   JQUERY-UI-DATEPICKER — dezent modernisiert (Redmond-Theme bleibt Basis)
   ========================================================================== */
body.admin .ui-datepicker{
    border:1px solid #c3cede !important;
    border-radius:12px;
    box-shadow:0 18px 50px -20px rgba(0,0,0,.6);
    font-family:var(--adm-ui) !important;
    background:#fff !important;
    padding:8px !important;
}
body.admin .ui-datepicker .ui-datepicker-header{
    background:var(--adm-navy) !important;
    border:none !important;
    border-radius:8px;
    color:#fff !important;
}
body.admin .ui-datepicker .ui-datepicker-title{ color:#fff !important; font-weight:700; }
body.admin .ui-datepicker td a{
    border:none !important;
    background:#f2f5fb !important;
    color:var(--adm-ink) !important;
    border-radius:6px;
    text-align:center !important;
}
body.admin .ui-datepicker td a.ui-state-hover{ background:#dce9fb !important; }
body.admin .ui-datepicker td a.ui-state-active{ background:var(--adm-navy) !important; color:#fff !important; }
body.admin .ui-datepicker th{ color:var(--adm-ink-soft) !important; }

/* ==========================================================================
   KLEINKRAM
   ========================================================================== */
body.admin .js_error{ background:var(--adm-danger); color:#06101a; padding:10px 14px; border-radius:8px; margin:10px auto; max-width:var(--adm-maxw); }
body.admin .leftMenu h3{ background:#eef2fa; color:var(--adm-ink); border-radius:8px; }
body.admin .leftMenu ul.mainMenu li a{ color:var(--adm-ink-soft); border-radius:8px; }
body.admin .leftMenu ul.mainMenu li:hover a,
body.admin .leftMenu ul.mainMenu li.current a{ background:var(--adm-navy); color:#fff; }
/* Demo-Hinweis etc. */
body.admin h5{ font-family:var(--adm-ui); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1320px){
    body.admin #header,
    body.admin #content,
    body.admin .adj_menu_4{ max-width:100% !important; }
    body.admin #header{ border-radius:0; border-left:none; border-right:none; }
}
@media (max-width:900px){
    body.admin #content:has(> .sidebar){ display:block; }
    body.admin #content > .sidebar{ width:auto !important; margin-top:18px; }
    body.admin #content:has(> .sidebar) > .content_block{ margin-bottom:0; }
}
@media (max-width:760px){
    body.admin #content{ padding:14px 10px 60px !important; }
    body.admin .content_block,
    body.admin .content_block.small{ padding:16px 14px !important; }
    body.admin h2, body.admin .content_block h2{ font-size:17px !important; }
    body.admin #header img{ max-height:40px; }
    body.admin .adj_top_menu_1{ padding:10px 12px 4px; }
    body.admin #header .adj_menu_3 > ul{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:2px; }
    body.admin #header .adj_menu_3 a{ white-space:nowrap; }
    body.admin .adj_menu_4 ul.reset{ flex-wrap:nowrap; overflow-x:auto; }
    body.admin .adj_menu_4 ul.reset li a{ white-space:nowrap; }
    body.admin #content table.dataTable,
    body.admin #content table.style_checkboxes,
    body.admin #content table.schedule{ min-width:660px; }
    body.admin #content .login_container{ margin:28px 12px !important; max-width:none; }
}
