/*
 * Frontend‑Styles für die Werkstatt Suite.
 * Diese Datei wird auf Seiten geladen, die den Shortcode
 * [werkstatt_portal] oder [werkstatt_tickets] enthalten. Sie definiert
 * das Erscheinungsbild des Login‑ und Registrierungsformulars sowie
 * generelle Layout‑Elemente für das Frontend‑Portal. Das Design ist
 * modern, rund und für Desktop, Tablet und Smartphone geeignet.
 */

/* Grundlegende Text- und Hintergrundfarben */
/* Backend and Frontend: helle Gestaltung für bessere Lesbarkeit */
.ws-portal, .ws-login-register {
    background-color: #ffffff;
    color: #333333;
    padding: 20px;
}

/* Navigation der Tabs */
.ws-portal-nav {
    margin-bottom: 20px;
}

/* Navigation der Tabs: helle Darstellung mit dunkler Schrift */
.ws-portal-nav a {
    margin-right: 10px;
    padding: 8px 16px;
    border-radius: 6px;
    background-color: #f0f0f0;
    color: #333333;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.2s ease-in-out;
}

/* Aktiver Tab und Hover-Zustand nutzen die Primärfarbe aus den Einstellungen.
   Die Hover-Effekte werden via Filter umgesetzt, um auf feste Codes zu
   verzichten. */
/* Aktiver Tab und Hover-Zustand nutzen die Primärfarbe aus den Einstellungen. */
.ws-portal-nav a.ws-active {
    background-color: var(--ws-primary-color, #0066cc);
    color: #ffffff;
}
.ws-portal-nav a:hover {
    background-color: var(--ws-primary-color, #0066cc);
    color: #ffffff;
    filter: brightness(1.15);
}

/* Login- und Registrierungscontainer */
/* Container für Login- und Registrierungsformulare */
.ws-login-register {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}

/* Formularbox: helle Box mit abgerundeten Ecken */
.ws-form {
    background-color: #f5f5f5;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    flex: 1 1 300px;
    max-width: 500px;
}

.ws-form h2 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.4em;
    color: #333333;
}

.ws-form label {
    display: block;
    margin-bottom: 5px;
    color: #555555;
    font-size: 0.9em;
}

.ws-form input[type="text"],
.ws-form input[type="email"],
.ws-form input[type="password"],
.ws-form input[type="number"],
.ws-form input[type="tel"],
.ws-form select,
.ws-form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 12px;
    border-radius: 4px;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    color: #333333;
    box-sizing: border-box;
    font-size: 0.95em;
    caret-color: #333333;
}

/* Fokus-Stil: Hintergrund leicht dunkler, Rahmen in Primärfarbe */
.ws-form input:focus,
.ws-form select:focus,
.ws-form textarea:focus,
.ws-portal .form-table input:focus,
.ws-portal .form-table select:focus,
.ws-portal .form-table textarea:focus {
    background-color: #f9f9f9;
    color: #333333;
    border-color: var(--ws-primary-color, #0066cc);
    outline: none;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.ws-form input[type="checkbox"] {
    margin-right: 6px;
}

/* Buttons nutzen Primärfarbe; Hover hellt auf */
.ws-form button {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 4px;
    background-color: var(--ws-primary-color, #0066cc);
    color: #ffffff;
    font-size: 1em;
    cursor: pointer;
    transition: filter 0.2s ease-in-out;
}

.ws-form button:hover {
    filter: brightness(1.15);
}

/* Fehlermeldungen und Erfolgsmeldungen in hellen Farbtönen */
.ws-error {
    background-color: #ffe6e6;
    color: #990000;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 15px;
}

.ws-success {
    background-color: #e6ffe6;
    color: #006600;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 15px;
}

/* Globale Textfarbe für alle Elemente im Portal. Ohne diese Regel
   würden manche Texte (z. B. innerhalb von Tabellen oder Listenelementen)
   auf dem dunklen Hintergrund schwarz bleiben und schlecht lesbar sein. */
/* Globale Textfarbe für alle Elemente im Portal (heller Hintergrund, dunkle Schrift) */
.ws-portal,
.ws-portal * {
    color: #333333;
}

/* Tabellen im Portal hell gestalten und lesbar halten */
.ws-portal table.widefat,
.ws-portal-content table.widefat {
    background-color: #ffffff !important;
    border-color: #dddddd !important;
    width: 100%;
}
.ws-portal table.widefat th,
.ws-portal-content table.widefat th {
    background-color: #f2f2f2 !important;
    color: #333333 !important;
}
.ws-portal table.widefat td,
.ws-portal-content table.widefat td {
    color: #333333 !important;
    border-color: #dddddd !important;
}
.ws-portal table.widefat tbody tr:nth-child(even),
.ws-portal-content table.widefat tbody tr:nth-child(even) {
    background-color: #f9f9f9 !important;
}
.ws-portal table.widefat tbody tr:hover,
.ws-portal-content table.widefat tbody tr:hover {
    background-color: #eeeeee !important;
}

/* Formular‑Tabelle im Frontend hell gestalten: weiße Hintergründe, dunkle Texte */
.ws-portal .form-table {
    width: 100%;
    background-color: #ffffff;
    border-collapse: collapse;
}
.ws-portal .form-table th,
.ws-portal .form-table td {
    padding: 8px 10px;
    vertical-align: top;
    color: #333333;
}
.ws-portal .form-table th {
    width: 25%;
    background-color: #f0f0f0;
}
.ws-portal .form-table tr:nth-child(even) {
    background-color: #f9f9f9;
}
.ws-portal .form-table input,
.ws-portal .form-table select,
.ws-portal .form-table textarea {
    background-color: #ffffff;
    border: 1px solid #cccccc;
    color: #333333;
    border-radius: 4px;
    padding: 8px;
    box-sizing: border-box;
}

/* Platzhalterfarbe etwas dunkler einstellen für helle Hintergründe */
.ws-form input::placeholder,
.ws-form textarea::placeholder,
.ws-portal .form-table input::placeholder,
.ws-portal .form-table textarea::placeholder {
    color: #777777;
}

/* Farbregel für Listenbereiche außerhalb des .ws-portal-Containers. Diese
   Shortcode-Container erben jetzt dunkelgraue Schrift auf hellem Grund. */
.ws-customers-frontend,
.ws-services-frontend,
.ws-inventory-frontend,
.ws-invoices-frontend,
.ws-tickets-frontend {
    color: #333333;
}

/* Innerhalb dieser Bereiche alle Texte dunkel darstellen. */
.ws-customers-frontend *,
.ws-services-frontend *,
.ws-inventory-frontend *,
.ws-invoices-frontend *,
.ws-tickets-frontend * {
    color: #333333;
}

/* Responsives Layout für schmale Bildschirme */
@media (max-width: 600px) {
    .ws-login-register {
        flex-direction: column;
        align-items: stretch;
    }
    .ws-form {
        max-width: none;
    }
}
