/*
 * quit.de — Filament Theme Overrides
 *
 * Injected into every Filament panel via renderHook('panels::head.end').
 * Self-hosts Work Sans + Nunito Sans (DSGVO-konform) and applies quit.de
 * brand tweaks on top of Filament's generated primary palette.
 */

@font-face {
    font-family: 'Work Sans';
    src: url('/fonts/work-sans-latin-400-normal.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Work Sans';
    src: url('/fonts/work-sans-latin-500-normal.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Work Sans';
    src: url('/fonts/work-sans-latin-600-normal.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Work Sans';
    src: url('/fonts/work-sans-latin-700-normal.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito Sans';
    src: url('/fonts/nunito-sans-latin-400-normal.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nunito Sans';
    src: url('/fonts/nunito-sans-latin-600-normal.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nunito Sans';
    src: url('/fonts/nunito-sans-latin-700-normal.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* === quit.de brand accents layered on Filament === */

:root {
    --quit-dark: #0F2139;
    --quit-mid: #1a4e91;
    --quit-accent: #19c5f4;
    --quit-green: #14d09b;
}

/* Body text uses Nunito Sans for readability; headings use Work Sans */
.fi-body,
.fi-main {
    font-family: 'Nunito Sans', ui-sans-serif, system-ui, sans-serif;
}

.fi-header-heading,
.fi-section-header-heading,
.fi-page-heading,
.fi-modal-heading,
.fi-ta-header-heading {
    font-family: 'Work Sans', ui-sans-serif, system-ui, sans-serif;
    letter-spacing: -0.01em;
}

/* Topbar: subtle navy tint on the logo row to match quit.de */
.fi-topbar {
    border-bottom: 1px solid rgba(15, 33, 57, 0.06);
}

/* Primary buttons pick up the quit-dark navy via Filament's primary palette;
   add a faint accent highlight on hover states. */
.fi-btn-color-primary:hover {
    box-shadow: 0 0 0 3px rgba(25, 197, 244, 0.15);
}

/* Soft-Lock / status badges — pick up the accent when info color is used */
.fi-badge-color-info {
    background-color: rgba(25, 197, 244, 0.12);
    color: #0f4d8a;
}

/* Sidebar brand header: denser navy on light mode */
.fi-sidebar-header {
    border-bottom: 1px solid rgba(15, 33, 57, 0.08);
}

/* Kanban board: used by BoardPage — keep neutral but apply brand radius */
.fi-page.fi-page-board [style*='border-radius'] {
    border-radius: 10px !important;
}

/* === Dokumenten-Blöcke (Content-Check Review-View) ===
 * Filaments Bundle enthält list-decimal/list-outside/marker/whitespace-pre-line
 * nicht. Darum setzen wir Block-Rendering via klassischem CSS — so unabhängig
 * vom Tailwind-Build.
 */
.fi-block-content {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgb(31 41 55);
}
.dark .fi-block-content {
    color: rgb(229 231 235);
}

.fi-block-content > * + * {
    margin-top: 0.5rem;
}

.fi-block-content p {
    white-space: pre-line;
}

.fi-block-content h3 {
    font-family: 'Work Sans', ui-sans-serif, system-ui, sans-serif;
    font-size: 1.125rem;
    line-height: 1.4;
    font-weight: 600;
    color: rgb(17 24 39);
    letter-spacing: -0.01em;
}
.dark .fi-block-content h3 {
    color: rgb(243 244 246);
}

.fi-block-content ul,
.fi-block-content ol {
    padding-left: 1.75rem;
    margin: 0;
    list-style-position: outside;
}

.fi-block-content ul {
    list-style-type: disc;
}

.fi-block-content ol {
    list-style-type: decimal;
}

.fi-block-content li {
    padding-left: 0.25rem;
    margin-top: 0.25rem;
}
.fi-block-content li:first-child {
    margin-top: 0;
}
.fi-block-content li::marker {
    color: rgb(107 114 128);
}
.fi-block-content ol li::marker {
    font-weight: 600;
    color: rgb(75 85 99);
}
.dark .fi-block-content li::marker {
    color: rgb(156 163 175);
}

.fi-block-content blockquote {
    border-left: 4px solid rgb(28 91 144);
    padding-left: 1rem;
    font-style: italic;
    color: rgb(55 65 81);
}
.dark .fi-block-content blockquote {
    color: rgb(209 213 219);
}
.fi-block-content blockquote p {
    margin: 0;
}
.fi-block-content blockquote footer {
    margin-top: 0.25rem;
    font-style: normal;
    font-size: 0.75rem;
    color: rgb(107 114 128);
}

.fi-block-content .fi-block-callout {
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    background-color: rgb(233 237 241);
    border: 1px solid rgb(199 209 220);
    color: rgb(15 33 57);
}
.dark .fi-block-content .fi-block-callout {
    background-color: rgba(26, 74, 135, 0.15);
    border-color: rgba(26, 74, 135, 0.35);
    color: rgb(219 234 254);
}
.fi-block-content .fi-block-callout-label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgb(26, 78, 145);
    margin-bottom: 0.25rem;
}
.dark .fi-block-content .fi-block-callout-label {
    color: rgb(165 205 255);
}
.fi-block-content .fi-block-callout-body {
    white-space: pre-line;
}

.fi-block-content pre {
    font-size: 0.75rem;
    padding: 0.75rem;
    border-radius: 0.5rem;
    background-color: rgb(243 244 246);
    white-space: pre-wrap;
    word-break: break-word;
}
.dark .fi-block-content pre {
    background-color: rgb(17 24 39);
}
