/* * BOOTSTRAP MODERN THEME (High Contrast)
 * Replaces 'Spacelab' with a modern, flat, professional look.
 * * Instructions: Replace entire content of bootstrap.min.css with this.
 */

/* 1. Basis-Framework (Bootstrap 3.3.7) laden */
@import url('https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css');

/* 2. Moderne Schriftart laden */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* --- 3. THEME DEFINITION --- */

/* RESET & TYPOGRAFIE */
body {
    font-family: 'Inter', 'Segoe UI', sans-serif !important;
    background-color: #f4f6f9 !important; /* Helles, sauberes Grau */
    color: #212529 !important; /* Fast Schwarz für guten Lesekontrast */
    font-size: 13px !important;
    padding-top: 50px !important; /* Platz für die Navbar */
}

/* LINKS */
a {
    color: #0d6efd !important; /* Modernes Blau */
    text-decoration: none !important;
    transition: color 0.2s ease;
}
a:hover {
    color: #0a58ca !important;
    text-decoration: underline !important;
}

/* --- NAVIGATION (DUNKEL & PROFI-LOOK) --- */
.navbar-fixed-top {
    background-color: #343a40 !important; /* Dunkles Anthrazit */
    background-image: none !important; /* Entfernt alte Verläufe */
    border: none !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    min-height: 64px !important;
    /*display: flex !important;*/
    align-items: center !important;
}

.navbar-brand {
    padding-top: 10px !important;
    height: auto !important;
}
.navbar-brand img {
    height: 38px !important;
    width: auto !important;
}

/* Menü-Links */
.navbar-nav > li > a {
    color: rgba(255,255,255,0.85) !important; /* Helles Weiß */
    font-weight: 500 !important;
    font-size: 14px !important;
    padding: 22px 15px !important; /* Vertikal zentrieren */
    text-shadow: none !important;
    transition: all 0.2s !important;
}

.navbar-nav > li > a:hover,
.navbar-nav > li.open > a {
    background-color: rgba(255,255,255,0.1) !important;
    color: #ffffff !important;
}

/* Dropdowns */
.dropdown-menu {
    background-color: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.15) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
    padding: 8px 0 !important;
    margin-top: 2px !important;
}
.dropdown-menu > li > a {
    padding: 8px 20px !important;
    color: #212529 !important;
    font-size: 13px !important;
}
.dropdown-menu > li > a:hover {
    background-color: #f8f9fa !important;
    background-image: none !important;
    color: #0d6efd !important; /* Blau bei Hover */
}

/* --- BUTTONS (FLACH & BUNT) --- */
/* Reset für alle Buttons */
.btn {
    background-image: none !important; /* WICHTIG: Entfernt den 3D-Effekt */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    text-shadow: none !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    transition: all 0.2s !important;
    margin: 2px !important;
}
.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}

/* Standard Button (Weiß statt Schwarz) */
.btn-default {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-color: #ced4da !important;
}
.btn-default:hover {
    background-color: #f8f9fa !important;
    color: #0d6efd !important;
    border-color: #0d6efd !important;
}

/* Farbige Buttons (Knackig) */
.btn-primary, .btn-info {
    background-color: #0d6efd !important; /* Blau */
    color: #ffffff !important;
}
.btn-primary:hover, .btn-info:hover {
    background-color: #0b5ed7 !important;
}

.btn-success {
    background-color: #198754 !important; /* Grün */
    color: #ffffff !important;
}
.btn-warning {
    background-color: #ffc107 !important; /* Gelb/Orange */
    color: #000000 !important;
}
.btn-danger {
    background-color: #dc3545 !important; /* Rot */
    color: #ffffff !important;
}

/* --- PAGE MENU / TOOLBAR --- */
.page-menu {
    background-color: #ffffff !important;
    padding: 15px !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
    border: 1px solid #dee2e6 !important;
    margin-bottom: 30px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
}

/* --- KALENDER (MODERN & SAUBER) --- */

/* Abstände */
.tablefull, .table1024 {
    margin-bottom: 50px !important;
    background: transparent !important;
}

/* Container-Karten-Look entfernen, da Tabelle eigenen Style bekommt */
.panel {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.panel-heading {
    background: transparent !important;
    background-image: none !important;
    color: #212529 !important;
    border: none !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 0 0 15px 0 !important;
    border-bottom: 3px solid #0d6efd !important; /* Blaue Linie unter Titel */
    display: inline-block !important;
    margin-bottom: 20px !important;
}

/* Die Tabelle */
table.month {
    background-color: #ffffff !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    border-collapse: separate !important; /* Wichtig für Border-Radius */
    border-spacing: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
}

/* --- STICKY HEADER (Tabelle) --- */
/* Damit Header beim Scrollen sichtbar bleiben */
table.month th {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}
table.month td.m-name, table.month td.m-name-guest {
    position: sticky !important;
    left: 0 !important;
    z-index: 10 !important;
    background-color: #ffffff !important;
    border-right: 2px solid #dee2e6 !important;
}
/* Ecke oben links */
table.month th.m-monthname {
    left: 0 !important;
    z-index: 30 !important;
}

/* Header Zellen Design */
table.month th.m-monthname {
    background-color: #0d6efd !important; /* Blau */
    color: #ffffff !important;
    padding: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border: none !important;
    font-size: 14px !important;
}

table.month th.m-daynumber,
table.month th.m-weekday,
table.month th.m-weeknumber {
    background-color: #e9ecef !important; /* Helles Grau */
    color: #495057 !important;
    border-right: 1px solid #dee2e6 !important;
    border-bottom: 1px solid #dee2e6 !important;
    text-align: center !important;
    padding: 10px 2px !important;
    font-weight: 700 !important;
}

/* Daten Zellen */
table.month td.m-name, table.month td.m-name-guest {
    padding: 12px 15px !important;
    color: #212529 !important;
    font-weight: 600 !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #f1f3f5 !important;
}

table.month td.m-day {
    /*background-color: #ffffff !important;*/
    border-right: 1px solid #f1f3f5 !important;
    border-bottom: 1px solid #f1f3f5 !important;
    height: 45px !important; /* Größere Klickfläche */
    padding: 0 !important;
    vertical-align: middle !important;
    text-align: center !important;
    transition: background-color 0.1s !important;
}

/* --- HOVER EFFEKTE --- */
/* Zeile hervorheben */
table.month tbody tr:hover td {
    background-color: #f8f9fa !important; /* Sehr helles Grau */
}
/* Zelle hervorheben */
table.month td.m-day:hover {
    background-color: #e7f1ff !important; /* Helles Blau */
    cursor: pointer !important;
    box-shadow: inset 0 0 0 2px #0d6efd !important; /* Blauer Rahmen */
}

/* Wochenende */
td[style*="background-color:#f7F7F7"], th[style*="background-color:#f7F7F7"] {
    background-color: #f8f9fa !important; /* Samstag */
}
td[style*="background-color:#ffdcdc"], th[style*="background-color:#ffdcdc"] {
    background-color: #fff5f5 !important; /* Sonntag (Zartes Rot) */
}

/* --- EXTRAS --- */
.form-control {
    border-radius: 6px !important;
    border: 1px solid #ced4da !important;
    box-shadow: none !important;
    height: 38px !important;
}
.form-control:focus {
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 3px rgba(13,110,253,0.25) !important;
}

/* Footer */
.footer {
    background-color: #343a40 !important;
    color: #adb5bd !important;
    padding: 40px 0 !important;
    margin-top: 60px !important;
    border: none !important;
    position: inherit !important;
}
.footer a { color: #ffffff !important; text-decoration: underline !important; }

/* Modals */
.modal-content {
    border-radius: 12px !important;
    border: none !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3) !important;
}
.modal-header {
    background-color: #f8f9fa !important;
    border-bottom: 1px solid #dee2e6 !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 20px !important;
}
