/* RadRIS Member Connector - Frontend Styles
 * Bewusst zurückhaltend, nutzt System-Fonts und absorbiert Theme-Farben
 * wo möglich, damit es sich in dirkschulze.ch (Divi) einfügt.
 */

.radris-card {
    max-width: 480px;
    margin: 2rem auto;
    padding: 2rem;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.radris-card h2 {
    margin-top: 0;
    color: #333;
    font-size: 1.4rem;
}

.radris-card label {
    display: block;
    margin: 0.75rem 0;
    font-weight: 500;
    color: #444;
}

.radris-card input[type=text],
.radris-card input[type=email],
.radris-card input[type=tel],
.radris-card input[type=password],
.radris-card textarea,
.radris-card select {
    display: block;
    width: 100%;
    padding: 0.5rem;
    margin-top: 0.25rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    font: inherit;
    box-sizing: border-box;
}

.radris-card textarea { resize: vertical; }

.radris-error {
    padding: 0.75rem 1rem;
    margin: 1rem 0;
    background: #fdecea;
    border: 1px solid #f5c2c0;
    border-radius: 4px;
    color: #b71c1c;
}

.radris-success {
    padding: 0.75rem 1rem;
    margin: 1rem 0;
    background: #e7f5ec;
    border: 1px solid #b8e0c4;
    border-radius: 4px;
    color: #2e7d32;
}

.radris-btn-primary,
.radris-btn-secondary,
.radris-btn-link {
    display: inline-block;
    padding: 0.6rem 1.2rem;
    border: none;
    border-radius: 4px;
    font: inherit;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
}

.radris-btn-primary {
    background: #c89941;
    color: #fff;
}
.radris-btn-primary:hover { background: #a87f30; }

.radris-btn-secondary {
    background: #e0e0e0;
    color: #333;
}
.radris-btn-secondary:hover { background: #d0d0d0; }

.radris-btn-link {
    background: transparent;
    color: #c89941;
    padding: 0;
    text-decoration: underline;
}

/* === Dashboard === */
.radris-dash {
    max-width: 1100px;
    margin: 1rem auto;
    padding: 0 1rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.radris-dash-header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1.5rem;
    align-items: start;
    padding: 1.5rem;
    background: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 1.5rem;
}
.radris-dash-header h1 {
    grid-column: 1 / -1;
    margin: 0 0 0.5rem;
    font-size: 1.6rem;
}
.radris-praxis {
    line-height: 1.6;
}
.radris-praxis strong {
    font-size: 1.1rem;
    display: block;
    margin-bottom: 0.25rem;
}
.radris-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch;
}

.radris-uploads {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
}
.radris-uploads th,
.radris-uploads td {
    text-align: left;
    padding: 0.6rem 0.8rem;
    border-bottom: 1px solid #eee;
}
.radris-uploads th {
    background: #f5f5f5;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #666;
}
.radris-uploads tr.status-quarantine td:last-child { color: #d68900; font-weight: 500; }
.radris-uploads tr.status-done td:last-child { color: #2e7d32; font-weight: 500; }
.radris-uploads tr.status-rejected td:last-child,
.radris-uploads tr.status-failed td:last-child { color: #b71c1c; font-weight: 500; }

.radris-pending {
    background: #fff8e1;
    border-color: #ffd54f;
}

/* === Upload === */
.radris-upload {
    max-width: 900px;
    margin: 1rem auto;
    padding: 0 1rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.radris-dropzone {
    margin: 1.5rem 0;
    padding: 3rem 2rem;
    background: #fafafa;
    border: 3px dashed #c89941;
    border-radius: 12px;
    text-align: center;
    transition: background 0.2s;
}
.radris-dropzone p { margin: 0.5rem 0; }
.radris-dropzone strong { font-size: 1.15rem; }
.radris-dropzone.radris-drag-over {
    background: #fff5e0;
    border-color: #a87f30;
}

.radris-meta {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
}
.radris-meta th,
.radris-meta td {
    padding: 0.4rem 0.8rem;
    text-align: left;
    border-bottom: 1px solid #eee;
}
.radris-meta th {
    width: 35%;
    color: #666;
    font-weight: 500;
}

#radris-progress {
    margin: 1.5rem 0;
}
#radris-progress progress {
    width: 100%;
    height: 24px;
}
#radris-status {
    margin: 0.5rem 0;
    font-size: 0.9rem;
    color: #666;
}
.radris-error-list {
    max-height: 200px;
    overflow-y: auto;
    margin-top: 0.5rem;
    padding: 0.5rem 1rem;
    background: #fdecea;
    border: 1px solid #f5c2c0;
    border-radius: 4px;
    list-style: none;
    font-size: 0.85rem;
    color: #b71c1c;
}
.radris-error-list li {
    padding: 0.2rem 0;
    border-bottom: 1px solid rgba(183, 28, 28, 0.1);
}
.radris-error-list li:last-child { border-bottom: none; }

.radris-loading {
    text-align: center;
    padding: 3rem;
    color: #999;
    font-style: italic;
}

/* === Patient-Form (vor Drop-Zone) === */
.radris-patient-form {
    margin: 1.5rem 0;
    padding: 1.75rem;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
}
.radris-patient-form h2 {
    margin: 0 0 .25rem;
    font-size: 1.2rem;
    color: #1d1d1f !important;   /* schwarz, ueberschreibt das globale Dark-Mood-CSS */
    font-weight: 700;
    letter-spacing: -0.01em;
}
.radris-pat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 0.75rem;
}
.radris-pat-grid label {
    display: block;
    font-weight: 500;
    color: #444;
    font-size: .92rem;
}
.radris-pat-grid input[type=text],
.radris-pat-grid input[type=date],
.radris-pat-grid select,
.radris-pat-grid textarea {
    display: block;
    width: 100%;
    margin-top: .35rem;
    padding: .55rem .7rem;
    border: 1px solid #ccc;
    border-radius: 6px;
    font: inherit;
    box-sizing: border-box;
}
.radris-pat-grid .radris-pat-full { grid-column: 1 / -1; }
.radris-pat-sex {
    border: 0;
    padding: 0;
    margin: 0;
    grid-column: 1 / -1;
}
.radris-pat-sex legend {
    font-weight: 500;
    color: #444;
    font-size: .92rem;
    padding: 0;
    margin-bottom: .35rem;
}
.radris-pat-sex label {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-right: 1.5rem;
    font-weight: normal;
}

/* Drop-Zone Disabled-State */
.radris-dropzone.radris-disabled {
    opacity: .55;
    cursor: not-allowed;
    border-style: dashed;
}
.radris-dropzone.radris-disabled::before {
    content: 'Bitte zuerst die Patientendaten ausfüllen.';
    display: block;
    margin-bottom: .75rem;
    font-weight: 500;
    color: #c89941;
}

/* === Button-Spezifitaet erhoehen (ueberschreibt Theme-Default-Linkfarbe) === */
a.radris-btn-primary,
a.radris-btn-primary:hover,
a.radris-btn-primary:visited,
a.radris-btn-primary:focus,
button.radris-btn-primary,
.radris-card a.radris-btn-primary,
.radris-card button.radris-btn-primary,
.radris-success a.radris-btn-primary {
    color: #ffffff !important;
}
a.radris-btn-secondary,
a.radris-btn-secondary:visited,
a.radris-btn-secondary:hover,
.radris-card a.radris-btn-secondary {
    color: inherit !important;
}

/* === Sidebar bei Plugin-Seiten ausblenden, Hauptbereich auf volle Breite === */
body:has(#radris-dashboard-root) #right-area,
body:has(#radris-upload-root) #right-area,
body:has(.radris-card) #right-area,
body:has(#radris-dashboard-root) #sidebar,
body:has(#radris-upload-root) #sidebar,
body:has(.radris-card) #sidebar,
body:has(#radris-dashboard-root) .sidebar,
body:has(#radris-upload-root) .sidebar,
body:has(.radris-card) .sidebar,
body:has(#radris-dashboard-root) #comments,
body:has(#radris-upload-root) #comments,
body:has(.radris-card) #comments,
body:has(#radris-dashboard-root) .comments-area,
body:has(#radris-upload-root) .comments-area,
body:has(.radris-card) .comments-area {
    display: none !important;
}
body:has(#radris-dashboard-root) #main-content #left-area,
body:has(#radris-upload-root) #main-content #left-area,
body:has(.radris-card) #main-content #left-area,
body:has(#radris-dashboard-root) #content-area,
body:has(#radris-upload-root) #content-area,
body:has(.radris-card) #content-area {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    float: none !important;
}

/* Divi rendert eine 1px-graue Trennlinie als .container::before (Sidebar-Trenner). Weg damit. */
body:has(#radris-dashboard-root) .container::before,
body:has(#radris-upload-root) .container::before,
body:has(.radris-card) .container::before {
    display: none !important;
}

/* Befund-Status-Anzeige in der Upload-Tabelle */
.radris-report-status {
    font-size: 0.85em;
    color: #6e6e73;
    margin-bottom: 6px;
    line-height: 1.2;
}
.radris-report-status.radris-report-done {
    color: #1e7a3e;
    font-weight: 600;
}

/* PDF-Download-Button in der Upload-Tabelle: kein <a href="#">, also keine
   Hash-URL beim Klick. Optisch konsistent zum "Befund öffnen"-Button in den Mails. */
.radris-report-link {
    display: inline-block;
    padding: 8px 16px;
    background: #0d7689;
    color: #fff;
    border: 0;
    border-radius: 6px;
    font: inherit;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
}
.radris-report-link:hover,
.radris-report-link:focus {
    background: #095560;
    color: #fff;
    text-decoration: none;
}
