/* ========================================================================== FALKENTHAL ADMIN BACKEND & LOGIN THEME (control.css - v1.8.2) ========================================================================== */ :root { --fk-bg-dark: #0b1120; --fk-bg-sidebar: #0f172a; --fk-bg-sidebar-elevated: #1e293b; --fk-bg-content: #f8fafc; --fk-card-bg: #ffffff; --fk-text-main: #0f172a; --fk-text-secondary: #334155; --fk-text-muted: #64748b; --fk-cyan: #38bdf8; --fk-blue: #2563eb; --fk-indigo: #4f46e5; --fk-indigo-light: #818cf8; --fk-purple: #6366f1; --fk-border: #e2e8f0; --fk-gradient-primary: linear-gradient(135deg, #2563eb 0%, #4f46e5 65%, #6366f1 100%); --fk-gradient-hover: linear-gradient(135deg, #1d4ed8 0%, #4338ca 65%, #4f46e5 100%); } body { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important; background-color: var(--fk-bg-content); color: var(--fk-text-main); -webkit-font-smoothing: antialiased; } a { color: var(--fk-blue); transition: color 0.15s ease; } a:hover, a:focus { color: var(--fk-indigo); } /* ========================================================================== 1. TOP NAVBAR & FALKENTHAL LOGO ========================================================================== */ .navbar-inverse, header.navbar, nav.navbar-inverse { background: linear-gradient(90deg, #0b1120 0%, #0f172a 65%, #1e1b4b 100%) !important; border: none !important; border-bottom: 1px solid rgba(99, 102, 241, 0.25) !important; box-shadow: 0 2px 12px rgba(11, 17, 32, 0.12) !important; min-height: 54px !important; } .navbar-brand img, .navbar-header img { display: none !important; width: 0 !important; height: 0 !important; } .navbar-header .navbar-brand, a.navbar-brand { font-size: 0 !important; color: transparent !important; background-image: url('/static/whitelabel/logo.svg?v=1.8.2') !important; background-repeat: no-repeat !important; background-position: 14px center !important; background-size: auto 34px !important; width: 215px !important; height: 54px !important; display: block !important; } .navbar-inverse .navbar-nav > li > a { color: #cbd5e1 !important; font-weight: 500; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #ffffff !important; background-color: rgba(255, 255, 255, 0.08) !important; } /* ========================================================================== 2. SEITENLEISTE LINKS (NAHTLOSER HINTERGRUND, NUTZERAUSWAHL & MENÜ) ========================================================================== */ /* Alle Ebenen der Sidebar auf exakt denselben Dunkelton setzen (verhindert weiße Kästen) */ #wrapper, .sidebar, .navbar-default.sidebar, .sidebar .sidebar-nav, .sidebar .navbar-collapse, #side-menu, #side-menu > li { background-color: var(--fk-bg-sidebar) !important; border: none !important; box-shadow: none !important; } #wrapper { min-height: 100vh !important; } #side-menu li { position: relative !important; } /* --- A) NUTZER- & VERANSTALTUNGSAUSWAHL OBEN LINKS --- */ #side-menu > li.context-selector, .sidebar .context-selector { background-color: var(--fk-bg-sidebar) !important; padding: 12px 10px 10px 10px !important; margin: 0 0 6px 0 !important; border-bottom: 1px solid rgba(148, 163, 184, 0.12) !important; } .sidebar .context-selector > a.dropdown-toggle { background-color: #162036 !important; border: 1px solid rgba(148, 163, 184, 0.2) !important; border-radius: 10px !important; padding: 10px 12px !important; margin: 0 !important; color: #f8fafc !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important; text-decoration: none !important; transition: all 0.15s ease !important; } .sidebar .context-selector > a.dropdown-toggle:hover, .sidebar .context-selector > a.dropdown-toggle:focus, .sidebar .context-selector.open > a.dropdown-toggle { background-color: var(--fk-bg-sidebar-elevated) !important; border-color: #60a5fa !important; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2) !important; } /* Icon-Stack links in der Auswahl */ .sidebar .context-selector .fa-stack { flex-shrink: 0 !important; } .sidebar .context-selector .fa-stack .fa-circle { color: var(--fk-indigo) !important; } .sidebar .context-selector .fa-stack .fa-inverse, .sidebar .context-selector .fa-stack .fa-stack-1x:not(.fa-circle) { color: #ffffff !important; } /* Textblock in der Mitte sauber kürzen, damit der Pfeil rechts nicht überlappt */ .sidebar .context-selector .context-indicator { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; flex: 1 1 auto !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 4px !important; } .sidebar .context-selector .context-name, .sidebar .context-selector .context-indicator span:not(.fa-stack):not(.caret) { color: #f8fafc !important; font-weight: 600 !important; display: block !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; } .sidebar .context-selector .context-meta, .sidebar .context-selector small { color: #94a3b8 !important; font-weight: 400 !important; font-size: 12px !important; display: block !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; } /* Kleines Dreieck (Caret) rechts sauber als echtes Dreieck ausrichten (verhindert "admin@falkenthal.me-" Strich) */ .sidebar .context-selector .caret { flex-shrink: 0 !important; display: inline-block !important; width: 0 !important; height: 0 !important; vertical-align: middle !important; border-top: 4px dashed #94a3b8 !important; border-right: 4px solid transparent !important; border-left: 4px solid transparent !important; margin-left: 6px !important; } /* Aufklappendes Dropdown-Menü der Nutzerauswahl */ .sidebar .context-selector .dropdown-menu { background-color: #162036 !important; border: 1px solid rgba(99, 102, 241, 0.4) !important; border-radius: 10px !important; box-shadow: 0 16px 36px rgba(0, 0, 0, 0.6) !important; padding: 8px !important; left: 10px !important; right: 10px !important; width: auto !important; margin-top: 4px !important; } .sidebar .context-selector .dropdown-menu input.form-control { background-color: #0b1120 !important; border: 1px solid rgba(148, 163, 184, 0.3) !important; color: #f8fafc !important; height: 36px !important; } .sidebar .context-selector .dropdown-menu li a { color: #e2e8f0 !important; border-radius: 6px !important; padding: 8px 10px !important; } .sidebar .context-selector .dropdown-menu li a:hover, .sidebar .context-selector .dropdown-menu li.active a { background-color: rgba(37, 99, 235, 0.3) !important; color: #ffffff !important; } /* --- B) TESTMODUS-WARNBUTTON (Hoher Kontrast: Dunkelslate auf Amber) --- */ #side-menu li a[href$="/live/"], #side-menu li a.testmode, #side-menu li a.btn-warning { background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%) !important; border: 1px solid #fcd34d !important; color: #0f172a !important; font-weight: 700 !important; font-size: 12.5px !important; letter-spacing: 0.05em !important; border-radius: 8px !important; padding: 9px 14px !important; margin: 4px 10px 10px 10px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; box-shadow: 0 2px 10px rgba(245, 158, 11, 0.25) !important; } #side-menu li a[href$="/live/"] i.fa, #side-menu li a[href$="/live/"] span.fa, #side-menu li a.testmode i.fa { color: #0f172a !important; margin: 0 !important; width: auto !important; } #side-menu li a[href$="/live/"]:hover { background: linear-gradient(135deg, #fbbf24 0%, #fde047 100%) !important; color: #000000 !important; transform: translateY(-1px); } /* --- C) HAUPTMENÜPUNKTE (Flache Spezifität & harmonische Indigo-Slate-Farbabstimmung) --- */ #side-menu > li > a { color: #cbd5e1 !important; font-weight: 500 !important; padding: 10px 38px 10px 14px !important; margin: 3px 10px !important; border-radius: 8px !important; display: block !important; transition: background-color 0.15s ease, color 0.15s ease !important; } #side-menu > li > a i.fa, #side-menu > li > a span.fa:not(.arrow) { color: #94a3b8 !important; width: 20px !important; text-align: center !important; margin-right: 8px !important; transition: color 0.15s ease !important; } /* Hover auf inaktiven Menüpunkten */ #side-menu > li > a:hover, #side-menu > li > a:focus { background-color: rgba(255, 255, 255, 0.07) !important; color: #ffffff !important; } #side-menu > li > a:hover i.fa, #side-menu > li > a:hover span.fa:not(.arrow) { color: #818cf8 !important; } /* Geöffneter Eltern-Menüpunkt (z.B. "Einstellungen", wenn Unterpunkt aktiv ist) */ #side-menu > li.active > a { background-color: rgba(255, 255, 255, 0.06) !important; color: #ffffff !important; font-weight: 600 !important; } #side-menu > li.active > a i.fa, #side-menu > li.active > a span.fa:not(.arrow) { color: #818cf8 !important; } /* AKTIVER HAUPTMENÜPUNKT (z.B. "Übersicht") -> Garantiert weiße Schrift & weißes Icon! */ #side-menu > li > a.active, #side-menu > li.active > a.active { background: var(--fk-gradient-primary) !important; color: #ffffff !important; font-weight: 600 !important; box-shadow: 0 4px 12px rgba(79, 70, 229, 0.35) !important; } #side-menu > li > a.active i.fa, #side-menu > li > a.active span.fa:not(.arrow), #side-menu > li.active > a.active i.fa, #side-menu > li.active > a.active span.fa:not(.arrow) { color: #ffffff !important; } /* --- D) EINKLAPP-PFEILE (< / v) RECHTSBÜNDIG & GUT SICHTBAR --- */ #side-menu li > a.arrow { position: absolute !important; right: 12px !important; top: 3px !important; width: 34px !important; height: 38px !important; padding: 0 !important; margin: 0 !important; background: transparent !important; border: none !important; box-shadow: none !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #94a3b8 !important; z-index: 5 !important; border-radius: 6px !important; } #side-menu li > a.arrow:hover { background-color: rgba(255, 255, 255, 0.1) !important; color: #ffffff !important; } #side-menu li.active > a.arrow { color: #e2e8f0 !important; } #side-menu li > a.arrow .fa.arrow { margin: 0 !important; width: auto !important; color: inherit !important; float: none !important; font-size: 13px !important; } /* --- E) UNTERMENÜS (Modernes Tree-Layout mit vertikaler Führungslinie) --- */ #side-menu .nav-second-level, #side-menu .nav-third-level { background-color: transparent !important; margin: 2px 10px 8px 24px !important; padding: 2px 0 2px 8px !important; border-left: 2px solid rgba(148, 163, 184, 0.18) !important; border-radius: 0 !important; } #side-menu .nav-second-level li a:not(.arrow) { padding: 7px 12px !important; margin: 2px 0 !important; font-size: 13.5px !important; color: #94a3b8 !important; font-weight: 500 !important; border-radius: 6px !important; display: block !important; transition: all 0.15s ease !important; } #side-menu .nav-second-level li a:not(.arrow):hover { background-color: rgba(255, 255, 255, 0.06) !important; color: #f8fafc !important; } /* Aktiver Untermenüpunkt (z.B. "Erweiterungen") */ #side-menu .nav-second-level li a.active:not(.arrow) { background: var(--fk-gradient-primary) !important; color: #ffffff !important; font-weight: 600 !important; box-shadow: 0 2px 10px rgba(79, 70, 229, 0.35) !important; } /* ========================================================================== 3. HAUPTBEREICH, TABS, BUTTON-GRUPPEN & DASHBOARD-KACHELN ========================================================================== */ #page-wrapper { background-color: var(--fk-bg-content) !important; min-height: calc(100vh - 54px) !important; padding: 28px 34px !important; border-left: none !important; } #page-wrapper h1 { font-weight: 700 !important; color: var(--fk-text-main) !important; letter-spacing: -0.02em; margin-top: 4px !important; margin-bottom: 20px !important; } #page-wrapper h1 small { color: var(--fk-text-muted) !important; font-weight: 400 !important; } legend, fieldset legend { background-color: transparent !important; color: var(--fk-text-main) !important; font-weight: 600 !important; border-bottom: 1px solid var(--fk-border) !important; padding-bottom: 8px !important; } /* Reiter / Tabs */ .nav-tabs { border-bottom: 1px solid var(--fk-border) !important; margin-bottom: 24px !important; } .nav-tabs > li > a { color: var(--fk-text-muted) !important; font-weight: 500 !important; border: none !important; border-bottom: 2px solid transparent !important; padding: 10px 16px !important; background: transparent !important; } .nav-tabs > li > a:hover { color: var(--fk-text-main) !important; background-color: rgba(15, 23, 42, 0.03) !important; border-bottom-color: #cbd5e1 !important; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: var(--fk-indigo) !important; font-weight: 600 !important; background-color: transparent !important; border: none !important; border-bottom: 2px solid var(--fk-indigo) !important; } /* --- DASHBOARD-KACHELN & VERANSTALTUNGS-ÜBERSICHT (Saubere Cards ohne Box-in-Box-Fehler) --- */ /* 1. Äußeren .widget-container restlos neutralisieren (behebt die grauen Ecken/Artefakte links!) */ .dashboard, .event-dashboard { display: flex; flex-wrap: wrap; align-items: stretch; } .dashboard .widget-container, .event-dashboard .widget-container, .widget-container { background: transparent !important; background-color: transparent !important; border: none !important; box-shadow: none !important; } .dashboard .widget-container::before, .dashboard .widget-container::after, .event-dashboard .widget-container::before, .event-dashboard .widget-container::after, .widget-container::before, .widget-container::after { display: none !important; content: none !important; } /* 2. Innere .widget-Box als einzige saubere weiße Card definieren (mit 100% Breite für Kinder!) */ .dashboard .widget-container .widget, .event-dashboard .widget-container .widget, .widget-container > .widget { background: var(--fk-card-bg) !important; background-color: var(--fk-card-bg) !important; border: 1px solid var(--fk-border) !important; border-radius: 10px !important; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) !important; padding: 20px 16px !important; min-height: 122px !important; height: calc(100% - 15px) !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: stretch !important; text-align: center !important; overflow: hidden !important; transition: box-shadow 0.18s ease, border-color 0.18s ease, transform 0.18s ease !important; text-decoration: none !important; } .dashboard .widget-container .widget::before, .dashboard .widget-container .widget::after, .event-dashboard .widget-container .widget::before, .event-dashboard .widget-container .widget::after { display: none !important; content: none !important; } .dashboard .widget-container a.widget:hover, .event-dashboard .widget-container a.widget:hover, .dashboard .widget-container .widget:hover { transform: translateY(-1px) !important; box-shadow: 0 8px 18px -4px rgba(37, 99, 235, 0.10) !important; border-color: #93c5fd !important; } /* 3. Innere .numwidget-Box komplett neutralisieren (verhindert Box-in-Box-Effekt) */ .dashboard .widget .numwidget, .event-dashboard .widget .numwidget, .numwidget { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; } /* 4. Zahlen dunkel & kontraststark, Labels dezent grau statt alles blau */ .dashboard .widget .numwidget .num, .numwidget .num { color: var(--fk-text-main) !important; font-weight: 700 !important; font-size: 30px !important; line-height: 1.2 !important; display: block !important; margin-bottom: 6px !important; transition: color 0.15s ease !important; } .dashboard .widget:hover .numwidget .num { color: var(--fk-indigo) !important; } .dashboard .widget .numwidget .text, .numwidget .text { color: var(--fk-text-muted) !important; font-weight: 500 !important; font-size: 13px !important; display: block !important; } /* 5. Veranstaltungs-Kacheln auf der globalen Start-Übersicht ("Ihre nächsten Veranstaltungen"): Volle Breite ausfüllen, kein doppelter innerer Kasten, Statusleiste bündig unten! */ .dashboard .widget-container .widget:has(.event), .dashboard .widget-container .widget.event { padding: 0 !important; justify-content: space-between !important; } .dashboard .widget .event { background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 0 !important; width: 100% !important; height: 100% !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 1 auto !important; } /* Falls .event direkt ohne .widget im .dashboard liegt */ .dashboard > .event, .dashboard .widget-container > .event { background-color: var(--fk-card-bg) !important; border: 1px solid var(--fk-border) !important; border-radius: 10px !important; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) !important; padding: 0 !important; min-height: 122px !important; height: calc(100% - 15px) !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; overflow: hidden !important; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important; } .dashboard .event .toprow, .dashboard .event > a:first-child { border: none !important; background: transparent !important; box-shadow: none !important; width: 100% !important; padding: 18px 16px 14px 16px !important; margin: 0 !important; flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; text-align: center !important; text-decoration: none !important; } .dashboard .event .name { color: var(--fk-text-main) !important; font-weight: 700 !important; font-size: 16px !important; margin-bottom: 4px !important; display: block !important; } .dashboard .event .bottomrow { width: 100% !important; margin: 0 !important; display: flex !important; align-items: stretch !important; border-top: 1px solid var(--fk-border) !important; } .dashboard .event .bottomrow > a, .dashboard .event .bottomrow > div, .dashboard .event .bottomrow > span { flex: 1 1 0% !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; padding: 8px 10px !important; font-size: 12.5px !important; font-weight: 600 !important; border-radius: 0 !important; margin: 0 !important; } .dashboard .event .bottomrow .orders, .dashboard .event .bottomrow > div:first-child, .dashboard .event .bottomrow > span:first-child, .dashboard .event .bottomrow > a:first-child { background-color: #1e293b !important; color: #f8fafc !important; } /* Panels & Inhaltsboxen */ .panel, .jumbotron { background-color: var(--fk-card-bg) !important; border: 1px solid var(--fk-border) !important; border-radius: 10px !important; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03) !important; } .panel-default > .panel-heading, .panel-primary > .panel-heading { background: #ffffff !important; color: var(--fk-text-main) !important; border-bottom: 1px solid var(--fk-border) !important; font-weight: 600 !important; padding: 13px 18px !important; border-top-left-radius: 10px !important; border-top-right-radius: 10px !important; } /* --- BUTTONS, INPUT-GROUPS, UMSCHALTER ("Alle | aktiv") & BADGES --- */ .btn { border-radius: 7px !important; font-weight: 500 !important; transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease !important; } .btn-xs, .btn-group-xs > .btn { border-radius: 5px !important; } .btn-sm, .btn-group-sm > .btn { border-radius: 6px !important; } /* Sekundäre Buttons ("Deaktivieren", "Gehe zu", Kopieren/QR) mit sanftem Rahmen */ .btn-default { background-color: #ffffff !important; border: 1px solid #cbd5e1 !important; color: var(--fk-text-secondary) !important; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03) !important; } .btn-default:hover, .btn-default:focus { background-color: #f1f5f9 !important; border-color: #94a3b8 !important; color: var(--fk-text-main) !important; } /* Aktive Umschalt-Buttons (behebt das dunkle Lila bei "Alle | aktiv") */ .btn-default.active, .btn-default:active, .btn-group > .btn.active, .open > .dropdown-toggle.btn-default { background: var(--fk-gradient-primary) !important; border-color: var(--fk-indigo) !important; color: #ffffff !important; box-shadow: 0 2px 6px rgba(79, 70, 229, 0.22) !important; } .btn-primary { background: var(--fk-gradient-primary) !important; border: 1px solid transparent !important; color: #ffffff !important; font-weight: 600 !important; box-shadow: 0 2px 6px rgba(79, 70, 229, 0.22) !important; } .btn-primary:hover, .btn-primary:focus { background: var(--fk-gradient-hover) !important; box-shadow: 0 4px 12px rgba(79, 70, 229, 0.32) !important; } /* "aktiv"-Badge in Smaragdgrün */ .label-success, .badge-success { background-color: #10b981 !important; color: #ffffff !important; border-radius: 6px !important; padding: 4px 8px !important; font-weight: 600 !important; } .form-control { border-radius: 7px !important; border: 1px solid #cbd5e1 !important; background-color: #ffffff !important; color: var(--fk-text-main) !important; } /* Input-Groups & Button-Groups im Backend sauber bündig halten */ .input-group .form-control:not(:first-child):not(:last-child), .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0 !important; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; } .form-control:focus { border-color: var(--fk-indigo) !important; box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.14) !important; outline: none !important; } /* ========================================================================== 4. LOGIN-SCREEN (EXAKT MITTIG ZENTRIERT & SYMMETRISCHES LOGO) Abgesichert über .falkenthal-auth-body bzw. body:not(:has(#wrapper)):has(img.logo) ========================================================================== */ body.falkenthal-auth-body, body.login, body:not(:has(#wrapper)):has(img.logo) { background-color: #060b16 !important; background-image: radial-gradient(circle at 50% 35%, rgba(37, 99, 235, 0.22) 0%, rgba(124, 58, 237, 0.10) 45%, transparent 75%), linear-gradient(to right, rgba(56, 189, 248, 0.035) 1px, transparent 1px), linear-gradient(to bottom, rgba(56, 189, 248, 0.035) 1px, transparent 1px) !important; background-size: 100% 100%, 40px 40px, 40px 40px !important; color: #e2e8f0 !important; min-height: 100vh !important; margin: 0 !important; padding: 20px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; } body.falkenthal-auth-body > .container, body:not(:has(#wrapper)):has(img.logo) > .container { width: 100% !important; max-width: 420px !important; margin: 0 auto !important; padding: 0 !important; } body.falkenthal-auth-body > .container .row, body:not(:has(#wrapper)):has(img.logo) > .container .row { margin: 0 !important; } body.falkenthal-auth-body > .container [class*="col-"], body:not(:has(#wrapper)):has(img.logo) > .container [class*="col-"] { width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; } body.falkenthal-auth-body .container img.logo, body:not(:has(#wrapper)):has(img.logo) .container img.logo, .form-signin img.logo { content: url('/static/whitelabel/login-logo.svg?v=1.8.2') !important; height: 115px !important; max-height: 115px !important; width: auto !important; margin: 0 auto 24px auto !important; display: block !important; filter: drop-shadow(0 0 18px rgba(0, 229, 255, 0.28)) !important; } body.falkenthal-auth-body .panel, body.falkenthal-auth-body .well, body.falkenthal-auth-body .form-signin, body:not(:has(#wrapper)):has(img.logo) .panel, body:not(:has(#wrapper)):has(img.logo) .well, body:not(:has(#wrapper)):has(img.logo) .form-signin, .login-panel { background: rgba(15, 23, 42, 0.78) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; border: 1px solid rgba(99, 102, 241, 0.28) !important; border-radius: 16px !important; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 30px rgba(37, 99, 235, 0.12) !important; color: #f1f5f9 !important; padding: 28px !important; margin-bottom: 18px !important; } body.falkenthal-auth-body label, body.falkenthal-auth-body .control-label, body.falkenthal-auth-body .checkbox label, body:not(:has(#wrapper)):has(img.logo) label, body:not(:has(#wrapper)):has(img.logo) .control-label, body:not(:has(#wrapper)):has(img.logo) .checkbox label { color: #cbd5e1 !important; } body.falkenthal-auth-body .form-control, body:not(:has(#wrapper)):has(img.logo) .form-control { background-color: rgba(6, 11, 22, 0.78) !important; border: 1px solid rgba(148, 163, 184, 0.28) !important; color: #f8fafc !important; height: 42px !important; } body.falkenthal-auth-body .form-control:focus, body:not(:has(#wrapper)):has(img.logo) .form-control:focus { border-color: var(--fk-cyan) !important; box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.18) !important; } body.falkenthal-auth-body a, body:not(:has(#wrapper)):has(img.logo) a { color: #60a5fa !important; } /* ========================================================================== 5. MOBILE UX & RESPONSIVE ANPASSUNGEN (BACKEND) ========================================================================== */ @media (max-width: 767px) { #page-wrapper { padding: 16px 14px !important; } #page-wrapper h1 { font-size: 22px !important; margin-bottom: 14px !important; } .navbar-header .navbar-brand, a.navbar-brand { width: 180px !important; background-size: auto 30px !important; } body.falkenthal-auth-body .panel, body.falkenthal-auth-body .well, body.falkenthal-auth-body .form-signin, body:not(:has(#wrapper)):has(img.logo) .panel, body:not(:has(#wrapper)):has(img.logo) .well, body:not(:has(#wrapper)):has(img.logo) .form-signin { padding: 20px 18px !important; } } /* ========================================================================== 6. FOOTER & PLATTFORM-BAR (CONTROL & AUTH) ========================================================================== */ footer { margin-top: 40px; padding: 20px 0; text-align: center; } .falkenthal-platform-bar { width: 100%; margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--fk-border); font-size: 12px; color: var(--fk-text-muted); text-align: center; line-height: 1.6; } .falkenthal-platform-bar .falkenthal-platform-info { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 0; padding: 0 8px; } .falkenthal-platform-bar .ft-brand { font-weight: 600; color: var(--fk-text-secondary); letter-spacing: 0.02em; } .falkenthal-platform-bar a { color: var(--fk-text-muted) !important; text-decoration: none !important; font-weight: 500; transition: color 0.15s ease; } .falkenthal-platform-bar a:hover { color: var(--fk-blue) !important; text-decoration: underline !important; } .falkenthal-platform-bar .ft-sep { margin: 0 6px; color: #cbd5e1; } /* Spezifische Footer-Anpassung für die Dark-Glassmorphism Loginseite */ body.falkenthal-auth-body .falkenthal-platform-bar, body:not(:has(#wrapper)):has(img.logo) .falkenthal-platform-bar { border-top-color: rgba(99, 102, 241, 0.2) !important; color: #94a3b8 !important; } body.falkenthal-auth-body .falkenthal-platform-bar .ft-brand, body:not(:has(#wrapper)):has(img.logo) .falkenthal-platform-bar .ft-brand { color: #cbd5e1 !important; } body.falkenthal-auth-body .falkenthal-platform-bar a, body:not(:has(#wrapper)):has(img.logo) .falkenthal-platform-bar a { color: #94a3b8 !important; } body.falkenthal-auth-body .falkenthal-platform-bar a:hover, body:not(:has(#wrapper)):has(img.logo) .falkenthal-platform-bar a:hover { color: var(--fk-cyan) !important; } body.falkenthal-auth-body .falkenthal-platform-bar .ft-sep, body:not(:has(#wrapper)):has(img.logo) .falkenthal-platform-bar .ft-sep { color: #475569 !important; }