/* =====================================================================
   GRUNDLAYOUT / SCHRIFT
   ===================================================================== */

html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #F8F8F8;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                 "Helvetica Neue", Arial, sans-serif,
                 "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

/* Body als Flex-Container, damit Footer unten bleibt */
body {
    display: flex;
    flex-direction: column;
}

/* Container für Seiteninhalt (optional verwendbar) */
.osk-page-container {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

.osk-page-content,
.osk-dashboard-wrapper,
.osk-admin-container-wide,
.osk-admin-container {
    flex: 1 0 auto;
}

/* =====================================================================
   NAVBAR (KIS-POST-Stil, wie Login/Registrierung)
   ===================================================================== */

.osk-navbar {
    background-color: #970035;
    color: #ffffff;
    padding: 12px 20px;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Links in der Navbar */
.osk-navbar a,
.osk-navbar .osk-navbar-link {
    color: #ffffff;
    text-decoration: none;
    font-weight: 500;
}

.osk-navbar a:hover,
.osk-navbar .osk-navbar-link:hover {
    text-decoration: underline;
}

.osk-navbar-text {
    color: #ffffff;
    font-size: 15px;
    margin: 0;
}

.osk-navbar-sep {
    margin: 0 10px;
    color: #ffffff;
}

/* Dropdown in Navbar wie Link aussehen lassen */
.osk-navbar .dropdown-toggle {
    color: #ffffff;
    background: none;
    border: none;
    padding: 0;
    font-weight: 500;
}

.osk-navbar .dropdown-toggle::after {
    margin-left: .25rem;
}

.osk-navbar .dropdown-menu {
    font-size: 14px;
}

/* Dropdown Menü styling */
.osk-navbar .dropdown-menu {
    background-color: #ffffff !important;
    border: 1px solid #ddd;
}

/* Standardzustand der Einträge */
.osk-navbar .dropdown-menu a.dropdown-item {
    font-weight: 500;
}

/* Hover-Effekt */
.osk-navbar .dropdown-menu a.dropdown-item:hover,
.osk-navbar .dropdown-menu a.dropdown-item:focus {
    background-color: #970035 !important;  /* Rot wie Navbar */
    color: #ffffff !important;             /* weiße Schrift */
}

/* =====================================================================
   LOGIN / REGISTRIERUNG
   ===================================================================== */

/* Wrapper des Login-/Registrierungsformulars */
.osk-login-wrapper {
    width: 445px;
    margin: 70px auto 0;
    text-align: left;
}

/* Registrierungsseite: etwas mehr Abstand nach unten */
.osk-register-wrapper {
    margin-top: 80px;
    margin-bottom: 80px;
}

/* Logo */
.osk-login-logo {
    max-width: 265px;
    mix-blend-mode: multiply;
}

/* Labels */
.osk-label {
    font-size: 15px;
    font-weight: 600;
    color: #333333;
    margin-bottom: 6px;
    display: block;
}

/* Standard Input-Feld (für alle Seiten) */
.osk-input,
.osk-admin-container-wide input,
.osk-admin-container-wide select {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.osk-input:focus {
    border-color: #990033;
    box-shadow: 0 0 3px rgba(153, 0, 51, 0.4);
    outline: none;
}

/* Abstand für reCAPTCHA / Turnstile */
.osk-recaptcha-wrapper {
    margin-top: 6px;
}

.osk-recaptcha-wrapper .g-recaptcha {
    transform-origin: left top;
}

/* =====================================================================
   BUTTONS
   ===================================================================== */

.osk-btn-row {
    margin-top: 18px;
    display: flex;
    gap: 8px;
    justify-content: flex-start;
}

/* Roter Button */
.osk-btn-red,
.btn-danger,
.kis-btn-default {
    background-color: #990033 !important;
    border-color: #990033 !important;
    color: #FFFFFF !important;
}

.osk-btn-red {
    min-width: 111px;
    font-size: 15px;
    height: 41px;
    border-radius: 3px;
}

.osk-btn-red:hover,
.btn-danger:hover {
    background-color: #7d0029 !important;
}

/* Grauer Button groß */
.osk-btn-grey {
    background-color: #6C757D;
    border-color: #6C757D;
    color: #FFFFFF;
    min-width: 205px;
    font-size: 15px;
    height: 41px;
    border-radius: 3px;
}

.osk-btn-grey:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
}

/* Grauer Button klein */
.osk-btn-grey-small {
    background-color: #6C757D;
    border-color: #6C757D;
    color: #FFFFFF;
    min-width: 111px;
    height: 41px;
    border-radius: 3px;
}

.osk-btn-grey-small:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
}

/* Hinweistext */
.osk-hint {
    margin-top: 20px;
    font-size: 15px;
    color: #333333;
}

/* =====================================================================
   DASHBOARD / DRUCKAUFTRÄGE
   ===================================================================== */

.osk-dashboard-wrapper {
    max-width: 1200px;
    width: 100%;
    margin: 60px auto 40px;
    padding: 0 15px;
}

/* Überschriften */
.osk-page-title {
    font-size: 1.6rem;
    font-weight: 600;
    color: #333;
}

.osk-page-subtitle {
    font-size: 1.3rem;
    font-weight: 600;
    color: #333;
}

/* Tabellen etwas „leichter“ */
.osk-dashboard-wrapper .table th,
.osk-dashboard-wrapper .table td {
    font-size: 0.9rem;
    vertical-align: middle;
}

/* Kalender mit etwas Abstand nach oben */
#calendar {
    margin-top: 10px;
}

/* =====================================================================
   ADMIN-BEREICH
   ===================================================================== */

.osk-admin-container-wide {
    max-width: 1300px;
    width: 100%;
    margin: 40px auto;
    padding: 20px;
    background-color: #fff;
    border-radius: .5rem;
    box-shadow: 0 0 0 1px rgba(0,0,0,.05);
}

.osk-admin-container-wide table {
    width: 100%;
}

/* In der Benutzerverwaltung kein horizontales Scrollen erzwingen */
.osk-admin-container-wide .table-responsive {
    overflow-x: auto;
}

.osk-admin-actions {
    white-space: nowrap;
    text-align: left;
}

/* Genereller Admin-Container (falls genutzt) */
.osk-admin-container {
    max-width: 1500px;
    margin: 40px auto;
    width: 100%;
}

/* Sortierbare Tabellenköpfe */
th.sortable {
    cursor: pointer;
}

th.sortable::after {
    content: '⇅';
    font-size: 0.75rem;
    margin-left: 0.25rem;
    color: #aaa;
}

/* =====================================================================
   ADMIN-BEREICH – Auftragsübersicht (mobile Details)
   ===================================================================== */

/* Standard: Toggle-Button und Detailzeile verstecken */
.admin-orders-toggle {
    display: none;
}

.admin-order-details {
    display: none;
}

/* leichte optische Trennung */
.admin-order-details td {
    background-color: #f9fafb;
    border-top: 1px solid #e0e0e0;
}


/* =====================================================================
   FOOTER
   ===================================================================== */

.osk-footer {
    width: 100%;
    height: 40px;
    line-height: 40px;
    background-color: #B3B3B3;
    color: #FFFFFF;
    margin-top: auto;
    flex-shrink: 0;
}

.osk-footer-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
    font-size: 14px;
    display: block;
}

.osk-footer-inner a {
    color: #FFFFFF;
    text-decoration: none;
}

.osk-footer-inner a:hover {
    text-decoration: underline;
}

.osk-footer-static {
    position: static;
}


/* =====================================================================
   KALENDER (FullCalendar) – KIS-POST-Branding
   ===================================================================== */

/* Grundschrift im Kalender */
.osk-dashboard-wrapper .fc,
.osk-admin-container-wide .fc {
    font-size: 0.9rem;
}

/* Header-Buttons: Heute, Pfeile usw. */
.osk-dashboard-wrapper .fc .fc-button-primary,
.osk-admin-container-wide .fc .fc-button-primary {
    background-color: #970035;     /* wie Navbar */
    border-color: #970035;
    color: #ffffff;
}

.osk-dashboard-wrapper .fc .fc-button-primary:hover,
.osk-dashboard-wrapper .fc .fc-button-primary:focus,
.osk-admin-container-wide .fc .fc-button-primary:hover,
.osk-admin-container-wide .fc .fc-button-primary:focus {
    background-color: #7a002b;
    border-color: #7a002b;
    color: #ffffff;
}

/* Links im Kalender nicht mehr “Bootstrap-Blau” */
.osk-dashboard-wrapper .fc a,
.osk-admin-container-wide .fc a {
    color: inherit;
    text-decoration: none;
}

/* Wochentage + Datum */
.osk-dashboard-wrapper .fc .fc-col-header-cell-cushion,
.osk-admin-container-wide .fc .fc-col-header-cell-cushion,
.osk-dashboard-wrapper .fc .fc-daygrid-day-number,
.osk-admin-container-wide .fc .fc-daygrid-day-number {
    color: #212529;
}

/* heutiger Tag leicht gelb hinterlegen */
.osk-dashboard-wrapper .fc .fc-day-today,
.osk-admin-container-wide .fc .fc-day-today {
    background-color: #fff7d6;
}


/* ============================================
   NAVBAR DROPDOWN FIX – KIS-POST DESIGN
   ============================================ */

/* Grundlayout */
.osk-navbar .dropdown-menu {
    background-color: #ffffff !important;
    border: 1px solid #d5d5d5;
    border-radius: 0.5rem;
    padding: 0.25rem 0;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    min-width: 180px;
}

/* Standardzustand der Einträge: schwarze Schrift */
.osk-navbar .dropdown-menu .dropdown-item {
    color: #000 !important;       /* Schwarze Schrift */
    padding: 0.45rem 1rem;
    font-weight: 500;
}

/* Hover & Fokus → Rot + Weiß */
.osk-navbar .dropdown-menu .dropdown-item:hover,
.osk-navbar .dropdown-menu .dropdown-item:focus {
    background-color: #970035 !important; /* Dein Rot */
    color: #ffffff !important;            /* Weiße Schrift */
}

/* Aktiver Eintrag */
.osk-navbar .dropdown-menu .dropdown-item.active,
.osk-navbar .dropdown-menu .dropdown-item:active {
    background-color: #970035 !important;
    color: #ffffff !important;
}

/* Admin-Wrapper wie die anderen Inhalte zentrieren */
.osk-admin-wrapper {
    max-width: 1300px;   /* oder 1350px, wie im Inline-Style */
    width: 100%;
    margin: 40px auto;   /* zentriert + Abstand nach oben/unten */
    padding: 0 15px;
}


/* Kalender: Auslastung einfärben */
.fc-daygrid-day.osk-day-yellow {
    background-color: #fff3cd !important; /* Bootstrap warning-Hintergrund */
}

.fc-daygrid-day.osk-day-red {
    background-color: #f8d7da !important; /* Bootstrap danger-Hintergrund */
}

/* Kalender: andere Wochen ausgrauen, wenn KW-Filter aktiv */
.fc-daygrid-day.osk-week-faded {
    opacity: 0.4;
}


/* =====================================================================
   RESPONSIVE
   ===================================================================== */

@media (max-width: 768px) {
    .osk-login-wrapper {
        width: 92%;
        margin-top: 75px;
    }

    .osk-footer-inner {
        max-width: 92%;
        padding: 0 18px;
    }

    .osk-btn-row {
        flex-direction: column;
        align-items: stretch;
    }

    .osk-btn-row .btn {
        width: 100%;
    }

 /* Horizontales Scrollen in diesem Bereich möglichst vermeiden */
    .osk-admin-container-wide .table-responsive {
        overflow-x: visible;
    }

    /* Spalten #, E-Mail, Rolle, Registriert am ausblenden */
    .osk-admin-container-wide table thead th:nth-child(5),
    .osk-admin-container-wide table tbody td:nth-child(5),
    .osk-admin-container-wide table thead th:nth-child(6),
    .osk-admin-container-wide table tbody td:nth-child(6),
    .osk-admin-container-wide table thead th:nth-child(7),
    .osk-admin-container-wide table tbody td:nth-child(7) {
        display: none !important; 
    }

    /* Inline-min-width der sichtbaren Spalten überschreiben,
       damit sie auf dem Handy nicht unnötig breit sind */
    .osk-admin-container-wide table thead th,
    .osk-admin-container-wide table tbody td {
        min-width: 0 !important;
    }


/* =====================================================================
   DASHBOARD – EIGENE DRUCKAUFTRÄGE (MOBILE)
   Nur Auftragsnummer, Betreff + Aktionen anzeigen
   ===================================================================== */

    /* Scrollbalken abschalten */
    .osk-dashboard-wrapper .table-responsive {
        overflow-x: visible;
    }

    /* Spalten 2 (Datum) und 4–6 ausblenden */
    #userOrdersTable thead th:nth-child(2),
    #userOrdersTable tbody td:nth-child(2),
    #userOrdersTable thead th:nth-child(4),
    #userOrdersTable tbody td:nth-child(4),
    #userOrdersTable thead th:nth-child(5),
    #userOrdersTable tbody td:nth-child(5),
    #userOrdersTable thead th:nth-child(6),
    #userOrdersTable tbody td:nth-child(6)
    #userOrdersTable thead th:nth-child(8),
    #userOrdersTable tbody td:nth-child(8) {
        display: none;
    }

    /* sichtbare Spalten flexibel */
    #userOrdersTable thead th,
    #userOrdersTable tbody td {
        min-width: 0 !important;
        white-space: nowrap;
    }


    .admin-orders-toggle {
        display: inline-block;
        padding: 0.15rem 0.5rem;
        font-size: 0.75rem;
    }

    .admin-order-details.show {
        display: table-row;
    }

    .admin-order-details-inner {
        font-size: 0.9rem;
    }

    .admin-order-details-inner dt {
        font-weight: 600;
        margin-bottom: .1rem;
    }

    .admin-order-details-inner dd {
        margin-bottom: .35rem;
    }


}
