@charset "utf-8";
@import url(https://library.goo1.de/fontawesome/7/css/all.min.css);
@import url(/skins/grey/css/md-bs.css);
/* Bootstrap CSS wird via <link> Tags im Header geladen fuer Dark Mode Toggle */

html, body, * { font-display: swap; }

.ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.embed-responsive-10by3::before { padding-top: 30%; }
.nowrap { white-space: nowrap; }

.card-header[data-toggle="collapse"] > i.fa-caret-down { transition: transform 500ms; }
.card-header.collapsed[data-toggle="collapse"] > i.fa-caret-down { transform: rotate(-90deg); }

body { background: #e9ecef; }

main { background: #fff; }
footer { border-top: 1px solid rgba(0,0,0,0.2); background-color: #e9ecef; }
.bg-light2 { background: #aaa }
.cursor-pointer { cursor: pointer; }

.text-dark-black { color: #000!important; }

/* Aktuell laufendes Event im Dashboard */
.table .event-running td,
.table .event-running th,
.event-running { background-color: #7FC9FF !important; }

/* Dark Mode Toggle Button */
.darkmode-toggle { background: none; border: none; color: rgba(255,255,255,.5); font-size: 1.2rem; padding: 0.375rem 0.5rem; cursor: pointer; line-height: 1; }
.darkmode-toggle:hover { color: rgba(255,255,255,.75); }

/* Dark Mode: System-Praeferenz (wenn User nicht explizit Light gewaehlt hat) */
@media screen and (prefers-color-scheme: dark) {
    html:not([data-theme="light"]) body { background: #222; color: #ccc; }
    html:not([data-theme="light"]) main { background: #222; }
    html:not([data-theme="light"]) table { color: #ccc; }
    html:not([data-theme="light"]) footer { border-top: 1px solid rgba(0,0,0,0.2); background-color: #222; }
    html:not([data-theme="light"]) .breadcrumb { background-color: #111; }
    html:not([data-theme="light"]) .form-control { border-color: #312B25; background: #000; color: #e0e0e0; }
    html:not([data-theme="light"]) .jumbotron { background-color: #161310; }
    html:not([data-theme="light"]) .card { background-color: #000; border: 1px solid rgba(255,255,255,.125); }
    html:not([data-theme="light"]) .bg-light2 { background: #444; }
    html:not([data-theme="light"]) .dropdown-menu { background: #000; color: #ddd; }
    html:not([data-theme="light"]) .bg-dark-black { background: #000!important; }
    html:not([data-theme="light"]) .bg-light { background: #070605!important; }
    html:not([data-theme="light"]) .list-group-item { background-color: #000; border-color: rgba(255,255,255,.125); }
    html:not([data-theme="light"]) .btn { color: #DEDAD6; }
    html:not([data-theme="light"]) .text-dark { color: #CBC5BF!important; }
    html:not([data-theme="light"]) .text-dark-black { color: #fff!important; }
    html:not([data-theme="light"]) a.text-dark { color: #CBC5BF!important; }
    html:not([data-theme="light"]) .text-muted { color: #938A82!important; }
    html:not([data-theme="light"]) .table .event-running td,
        html:not([data-theme="light"]) .table .event-running th,
        html:not([data-theme="light"]) .event-running { background-color: #1a3a5c !important; color: #ccc; }
}

/* Dark Mode: Explizite User-Wahl */
html[data-theme="dark"] body { background: #222; color: #ccc; }
html[data-theme="dark"] main { background: #222; }
html[data-theme="dark"] table { color: #ccc; }
html[data-theme="dark"] footer { border-top: 1px solid rgba(0,0,0,0.2); background-color: #222; }
html[data-theme="dark"] .breadcrumb { background-color: #111; }
html[data-theme="dark"] .form-control { border-color: #312B25; background: #000; color: #e0e0e0; }
html[data-theme="dark"] .jumbotron { background-color: #161310; }
html[data-theme="dark"] .card { background-color: #000; border: 1px solid rgba(255,255,255,.125); }
html[data-theme="dark"] .bg-light2 { background: #444; }
html[data-theme="dark"] .dropdown-menu { background: #000; color: #ddd; }
html[data-theme="dark"] .bg-dark-black { background: #000!important; }
html[data-theme="dark"] .bg-light { background: #070605!important; }
html[data-theme="dark"] .list-group-item { background-color: #000; border-color: rgba(255,255,255,.125); }
html[data-theme="dark"] .btn { color: #DEDAD6; }
html[data-theme="dark"] .text-dark { color: #CBC5BF!important; }
html[data-theme="dark"] .text-dark-black { color: #fff!important; }
html[data-theme="dark"] a.text-dark { color: #CBC5BF!important; }
html[data-theme="dark"] .text-muted { color: #938A82!important; }
html[data-theme="dark"] .table .event-running td,
html[data-theme="dark"] .table .event-running th,
html[data-theme="dark"] .event-running { background-color: #1a3a5c !important; color: #ccc; }

html[dir="rtl"] .text-left { text-align: right!important; }

html[dir="ltr"] .d-ltr-none { display: none!important; }
html[dir="rtl"] .d-rtl-none { display: none!important; }

/* ==========================================================================
   Judges Schedule Page
   ========================================================================== */

/* Next Up Badge */
.judges-next-up {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #fff;
	border-radius: 8px;
	padding: 0.75rem 1rem;
	box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}
.judges-next-up-icon {
	font-size: 1.5rem;
	margin-right: 1rem;
	animation: judges-pulse 2s ease-in-out infinite;
}
.judges-next-up-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	opacity: 0.8;
}
.judges-next-up-title { font-size: 1.1rem; font-weight: 600; }
.judges-next-up-time { font-size: 0.9rem; opacity: 0.9; }
.judges-next-up-status { margin-left: 1rem; }

@keyframes judges-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.5; }
}

/* My Schedule Card */
.judges-my-schedule .card-header { font-weight: 600; }
.judges-my-schedule .table td { vertical-align: middle; }

/* Highlight eigener Name */
.judges-highlight-me {
	background-color: #fff3cd;
	padding: 2px 4px;
	border-radius: 3px;
}

/* Mobile List */
.judges-mobile-mine {
	border-left: 3px solid #667eea !important;
}
.judges-mobile-card {
	transition: background-color 0.2s;
}

/* Print Styles */
@media print {
	body { background: #fff !important; }
	main { background: #fff !important; }
	.judges-next-up { background: #eee !important; color: #000 !important; box-shadow: none; border: 1px solid #ccc; }
	.judges-next-up .badge { border: 1px solid #999; }
	.judges-grid td, .judges-grid th { font-size: 9pt; }
	.judges-grid th.rotate-45 { height: 60px; }
	.judges-grid th.rotate-45 > div > span { font-size: 8pt; }
	.judges-round-finished { opacity: 0.4 !important; }
	.judges-round-active { background-color: #ffe !important; }
	.judges-round-scoring { background-color: #eef !important; }
	.judge-selected { background-color: #ffe !important; }
}

/* Dark Mode: Judges-spezifische Styles */
@media screen and (prefers-color-scheme: dark) {
	html:not([data-theme="light"]) .judges-next-up { background: linear-gradient(135deg, #3a4a8a 0%, #4a2a6a 100%); }
	html:not([data-theme="light"]) .judges-highlight-me { background-color: #3a3520; color: #e0d8c0; }
	html:not([data-theme="light"]) .judges-mobile-mine { border-left-color: #667eea !important; }
	html:not([data-theme="light"]) .judges-mobile-card { border-bottom-color: #444 !important; }
}
html[data-theme="dark"] .judges-next-up { background: linear-gradient(135deg, #3a4a8a 0%, #4a2a6a 100%); }
html[data-theme="dark"] .judges-highlight-me { background-color: #3a3520; color: #e0d8c0; }
html[data-theme="dark"] .judges-mobile-mine { border-left-color: #667eea !important; }
html[data-theme="dark"] .judges-mobile-card { border-bottom-color: #444 !important; }
