/*
 * Ergänzungen zu Bootstrap 5.3 (public/vendor/bootstrap) für die Abrufseiten.
 * Farben wie in den übrigen Kanzlei-Anwendungen (Petrol #115e59).
 * Keine Inline-Styles in den Ansichten: Die CSP erlaubt nur eigene Dateien.
 */

:root,
[data-bs-theme="light"] {
    --portal-accent: #115e59;
    --portal-accent-hover: #0f4f4b;
    --portal-accent-active: #0c3f3c;
    --portal-accent-text: #ffffff;
    --bs-link-color-rgb: 17, 94, 89;
    --bs-link-hover-color-rgb: 12, 63, 60;
}

[data-bs-theme="dark"] {
    --portal-accent: #2dd4bf;
    --portal-accent-hover: #5eead4;
    --portal-accent-active: #99f6e4;
    --portal-accent-text: #042f2e;
    --bs-link-color-rgb: 94, 234, 212;
    --bs-link-hover-color-rgb: 153, 246, 228;
}

body {
    background: var(--bs-tertiary-bg);
    min-height: 100dvh;
}

.portal-wrap {
    max-width: 40rem;
    margin: 0 auto;
    padding: calc(2rem + env(safe-area-inset-top, 0px)) 1rem 2rem;
}

.portal-logo {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    background: var(--portal-accent);
    color: var(--portal-accent-text);
    display: grid;
    place-items: center;
    font-size: 1.6rem;
    margin: 0 auto 1rem;
}

.portal-wrap .card {
    border: 0;
    border-radius: 1rem;
}

.btn-primary {
    --bs-btn-color: var(--portal-accent-text);
    --bs-btn-bg: var(--portal-accent);
    --bs-btn-border-color: var(--portal-accent);
    --bs-btn-hover-color: var(--portal-accent-text);
    --bs-btn-hover-bg: var(--portal-accent-hover);
    --bs-btn-hover-border-color: var(--portal-accent-hover);
    --bs-btn-active-color: var(--portal-accent-text);
    --bs-btn-active-bg: var(--portal-accent-active);
    --bs-btn-active-border-color: var(--portal-accent-active);
    --bs-btn-disabled-color: var(--portal-accent-text);
    --bs-btn-disabled-bg: var(--portal-accent);
    --bs-btn-disabled-border-color: var(--portal-accent);
}

.btn-outline-primary {
    --bs-btn-color: var(--portal-accent);
    --bs-btn-border-color: var(--portal-accent);
    --bs-btn-hover-color: var(--portal-accent-text);
    --bs-btn-hover-bg: var(--portal-accent);
    --bs-btn-hover-border-color: var(--portal-accent);
    --bs-btn-active-color: var(--portal-accent-text);
    --bs-btn-active-bg: var(--portal-accent-active);
    --bs-btn-active-border-color: var(--portal-accent-active);
}

.form-control:focus {
    border-color: var(--portal-accent);
    box-shadow: 0 0 0 .25rem rgba(17, 94, 89, .25);
}

.portal-password {
    font-family: var(--bs-font-monospace);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.portal-file-icon {
    font-size: 1.5rem;
    color: var(--portal-accent);
}

.portal-file-name {
    overflow-wrap: anywhere;
}

.portal-message {
    white-space: pre-line;
}

.min-w-0 {
    min-width: 0;
}
