/*
 * Tema „Alucard Group” pentru panoul Filament 5 — CSS pur, fără build (înregistrat prin FilamentAsset în AppServiceProvider
 * și copiat în public/css/app/ de `php artisan filament:assets`, care rulează deja la deploy).
 *
 * Sursa de adevăr: manualul de brand (alb / #1a1a1a / accent #a80000 folosit rar, Jost pentru titluri, Inter pentru text,
 * forme unghiulare, colțuri aproape drepte, linii fine în loc de umbre). Paleta de culori vine din AdminPanelProvider
 * (variabilele --primary-*, --gray-*, --danger-* etc.); aici se schimbă doar forma, tipografia și densitatea.
 */

@font-face { font-family: 'Jost'; font-weight: 400; font-style: normal; font-display: swap; src: url('/fonts/pdf/Jost-400.ttf') format('truetype'); }
@font-face { font-family: 'Jost'; font-weight: 600; font-style: normal; font-display: swap; src: url('/fonts/pdf/Jost-600.ttf') format('truetype'); }

:root {
    /* colțuri aproape drepte, peste tot (Filament citește aceste variabile Tailwind) */
    --radius-sm: 2px;
    --radius-md: 3px;
    --radius-lg: 4px;
    --radius-xl: 6px;
    --radius-2xl: 8px;
    --radius-3xl: 8px;
    --font-display: 'Jost', 'Century Gothic', Futura, 'Avenir Next', sans-serif;
    --al-ink: #1a1a1a;
    --al-accent: #a80000;
    --al-rule: #e4e4e4;
    --al-rule-firm: #1a1a1a;
    --al-surface: #ffffff;
    --al-ground: #f6f6f6;
}

/* ---------- fundal și structură ---------- */
.fi-body { background-color: var(--al-ground); color: var(--al-ink); -webkit-font-smoothing: antialiased; }
.fi-layout { background-color: var(--al-ground); }
.fi-main { background-color: transparent; }

/* ---------- sidebar: alb, linie fină, fără umbră ---------- */
.fi-sidebar { background-color: var(--al-surface); border-inline-end: 1px solid var(--al-rule); box-shadow: none; }
.fi-sidebar-header { background-color: var(--al-surface); border-bottom: 1px solid var(--al-rule); box-shadow: none; height: 3.75rem; }
.fi-sidebar-nav { padding-top: 1rem; }
.fi-sidebar-group-label { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray-500); }
.fi-sidebar-item-btn { border-radius: var(--radius-md); }
.fi-sidebar-item-label { font-size: 0.875rem; font-weight: 500; }
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn { background-color: var(--gray-100); box-shadow: inset 2px 0 0 var(--al-ink); }
.fi-sidebar-item.fi-active .fi-sidebar-item-label { color: var(--al-ink); font-weight: 600; }
.fi-sidebar-item.fi-active .fi-icon { color: var(--al-ink); }
.fi-sidebar-item-btn:hover { background-color: var(--gray-50); }

/* ---------- topbar ---------- */
.fi-topbar { box-shadow: none; }
.fi-topbar > nav { background-color: var(--al-surface); border-bottom: 1px solid var(--al-rule); box-shadow: none; height: 3.75rem; }
.fi-global-search .fi-input-wrp { background-color: var(--gray-50); }
.fi-avatar { border-radius: var(--radius-md); }

/* ---------- logo ---------- */
.fi-logo { display: flex; align-items: center; }
.al-logo { height: 1.55rem; width: auto; display: block; }
.al-logo-sub { margin-inline-start: 0.7rem; padding-inline-start: 0.7rem; border-inline-start: 1px solid var(--al-rule); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray-500); white-space: nowrap; }

/* ---------- titluri: Jost ---------- */
.fi-header-heading { font-family: var(--font-display); font-weight: 400; font-size: 1.75rem; line-height: 1.15; letter-spacing: -0.01em; color: var(--al-ink); }
.fi-header-subheading { font-size: 0.875rem; color: var(--gray-500); }
.fi-section-header-heading, .fi-ta-header-heading, .fi-modal-heading, .fi-simple-header-heading, .fi-sc-section-label { font-family: var(--font-display); font-weight: 600; font-size: 1rem; letter-spacing: 0; color: var(--al-ink); }
.fi-breadcrumbs { font-size: 0.75rem; }
.fi-breadcrumbs-item-label { color: var(--gray-500); }

/* kicker reutilizabil (folosit în view-urile custom) */
.al-kicker { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray-500); }
.al-display { font-family: var(--font-display); font-weight: 600; letter-spacing: -0.01em; color: var(--al-ink); }
.al-num { font-family: var(--font-display); font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.al-mono { font-variant-numeric: tabular-nums; }
.al-wedge { display: inline-block; width: 0.9rem; height: 0.34rem; background: var(--al-accent); clip-path: polygon(0 100%, 10.5% 0, 89.5% 0, 100% 100%); vertical-align: middle; }

/* ---------- carduri / secțiuni: linie fină, fără umbră ---------- */
.fi-section, .fi-ta-ctn, .fi-wi-stats-overview-stat, .fi-wi-chart, .fi-sc-section, .fi-in-repeatable-item, .fi-fo-repeater-item {
    box-shadow: none !important;
    border: 1px solid var(--al-rule);
    border-radius: var(--radius-lg);
    background-color: var(--al-surface);
    --tw-ring-shadow: 0 0 #0000;
}
.fi-section.fi-section-not-contained { border: 0; background: transparent; border-radius: 0; }
.fi-section.fi-section-not-contained > .fi-section-content-ctn { border-top: 0; }
.fi-section.fi-section-not-contained > .fi-section-content-ctn > .fi-section-content { padding: 0; }
.fi-section-header, .fi-ta-header { border-bottom: 1px solid var(--al-rule); }
.fi-section-content-ctn { border-top: 1px solid var(--al-rule); }
.fi-section:has(> .fi-section-header) > .fi-section-content-ctn { border-top: 0; }
.fi-section-content { padding: 1.25rem; }

/* ---------- statistici: număr mare în Jost ---------- */
.fi-wi-stats-overview-stat { padding: 1.1rem 1.25rem; }
.fi-wi-stats-overview-stat-label { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray-500); }
.fi-wi-stats-overview-stat-value { font-family: var(--font-display); font-weight: 600; font-size: 1.9rem; line-height: 1.1; letter-spacing: -0.02em; color: var(--al-ink); font-variant-numeric: tabular-nums; }
.fi-wi-stats-overview-stat-description { font-size: 0.8125rem; }
.fi-wi-stats-overview-stat-chart { opacity: 0.9; }
.fi-wi-chart { --chart-bar-border-radius: 2; --chart-border-width: 1.5; --chart-point-radius: 2; }

/* ---------- tabele: dense, antet ca etichetă, linii fine ---------- */
.fi-ta-header-cell { background-color: var(--gray-50); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray-600); padding-block: 0.6rem; }
.fi-ta-header-cell-sort-btn, .fi-ta-header-cell button, .fi-ta-header-cell span { font-size: 0.6875rem !important; font-weight: 600 !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray-600); }
.fi-ta-table thead { border-bottom: 1px solid var(--al-rule); }
.fi-ta-row { transition: background-color 80ms ease; }
.fi-ta-row:hover { background-color: var(--gray-50); }
.fi-ta-row:not(:last-child) { border-bottom: 1px solid var(--gray-100); }
.fi-ta-cell { padding-block: 0.15rem; }
.fi-ta-text { padding-block: 0.55rem !important; font-size: 0.8125rem; }
.fi-ta-text-item { font-size: 0.8125rem; }
.fi-ta-text-description { font-size: 0.75rem; color: var(--gray-500); }
.fi-ta-cell-label { font-size: 0.6875rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gray-500); }
.fi-ta-search-field .fi-input-wrp { border-radius: var(--radius-md); }
.fi-ta-empty-state-heading { font-family: var(--font-display); font-weight: 600; }
.fi-ta-empty-state-description { color: var(--gray-500); }
.fi-pagination { font-size: 0.8125rem; }

/* ---------- badge-uri: dreptunghiulare, majuscule mici, fără umbră ---------- */
.fi-badge { border-radius: var(--radius-sm); font-size: 0.6563rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding-inline: 0.45rem; padding-block: 0.15rem; line-height: 1.35; }
.fi-badge.fi-size-lg { font-size: 0.75rem; padding-inline: 0.6rem; }

/* ---------- butoane: colțuri mici, fără umbră; primar = tuș ---------- */
.fi-btn { border-radius: var(--radius-md); font-weight: 600; letter-spacing: 0.01em; --tw-shadow: 0 0 #0000; }
.fi-btn.fi-color-primary:not(.fi-outlined) { background-color: var(--al-ink); color: #fff; }
.fi-btn.fi-color-primary:not(.fi-outlined):hover { background-color: #000; }
.fi-btn.fi-color-gray { background-color: var(--al-surface); --tw-ring-color: var(--gray-300); }
.fi-btn.fi-color-gray:hover { background-color: var(--gray-50); }
.fi-icon-btn { border-radius: var(--radius-md); }
.fi-link { font-weight: 600; }

/* ---------- formulare ---------- */
.fi-input-wrp { border-radius: var(--radius-md); --tw-shadow: 0 0 #0000; --tw-ring-color: var(--gray-300); }
.fi-input-wrp:focus-within { --tw-ring-color: var(--al-ink); }
.fi-input-wrp.fi-invalid { --tw-ring-color: var(--danger-600); }
.fi-fo-field-label-content, .fi-in-entry-label { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray-500); }
.fi-in-entry-content { font-size: 0.875rem; }
.fi-checkbox-input, .fi-fo-checkbox-list-option-input { border-radius: var(--radius-sm); }
.fi-toggle { border-radius: 999px; }
.fi-fo-field-wrp-helper-text, .fi-in-entry-helper-text { font-size: 0.75rem; color: var(--gray-500); }

/* ---------- tab-uri ---------- */
.fi-tabs { border: 1px solid var(--al-rule); border-radius: var(--radius-lg); background-color: var(--al-surface); box-shadow: none !important; padding: 0.25rem; }
.fi-tabs-item { border-radius: var(--radius-md); font-size: 0.8125rem; font-weight: 500; }
.fi-tabs-item.fi-active { background-color: var(--al-ink); color: #fff; }
.fi-tabs-item.fi-active .fi-tabs-item-label, .fi-tabs-item.fi-active .fi-icon { color: #fff; }
.fi-tabs-item.fi-active .fi-badge { background-color: rgba(255, 255, 255, 0.16); color: #fff; --tw-ring-color: transparent; }
.fi-sc-tabs { border: 1px solid var(--al-rule); border-radius: var(--radius-lg); box-shadow: none !important; }

/* ---------- dropdown / modal ---------- */
.fi-dropdown-panel { border-radius: var(--radius-lg); border: 1px solid var(--al-rule); box-shadow: 0 8px 24px -12px rgba(0, 0, 0, 0.25); }
.fi-modal-window { border-radius: var(--radius-lg); border: 1px solid var(--al-rule); box-shadow: 0 24px 48px -24px rgba(0, 0, 0, 0.35); }
.fi-modal-header { border-bottom: 1px solid var(--al-rule); }
.fi-modal-footer { border-top: 1px solid var(--al-rule); }

/* ---------- notificări ---------- */
.fi-no-notification { border-radius: var(--radius-lg); border: 1px solid var(--al-rule); box-shadow: 0 12px 32px -16px rgba(0, 0, 0, 0.3); }

/* ---------- login (layout simplu): alb, card cu linie fină, fără umbră ---------- */
.fi-simple-layout { background-color: var(--al-surface); }
.fi-simple-main { border: 1px solid var(--al-rule); border-top: 3px solid var(--al-ink); border-radius: var(--radius-lg); box-shadow: none !important; background-color: var(--al-surface); padding: 2.5rem 2.25rem; }
.fi-simple-header-heading { font-family: var(--font-display); font-weight: 400; font-size: 1.5rem; }
.fi-simple-header { margin-bottom: 0.5rem; }
.fi-simple-header .fi-logo .al-logo { height: 2rem; }
.fi-simple-header-heading { display: none; }
.al-login-intro { margin: 0 0 0.75rem; padding-bottom: 1rem; border-bottom: 1px solid var(--al-rule); }
.al-login-intro p { margin: 0; font-size: 0.8125rem; line-height: 1.5; color: var(--gray-600); }
.al-login-intro .al-kicker { display: block; margin-bottom: 0.3rem; }

/* ---------- utilitare pentru view-urile custom (Urmărire, fișa firmei) ---------- */
.al-grid { display: grid; gap: 0.75rem; }
.al-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.al-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.al-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.al-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1024px) { .al-grid-4, .al-grid-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .al-grid-3 { grid-template-columns: repeat(1, minmax(0, 1fr)); } }
.al-card { background: var(--al-surface); border: 1px solid var(--al-rule); border-radius: var(--radius-lg); padding: 1rem 1.1rem; }
.al-card.al-dark { background: var(--al-ink); border-color: var(--al-ink); color: #fff; }
.al-card.al-dark .al-kicker { color: #bfbfbf; }
.al-card.al-dark .al-num { color: #fff; }
.al-stat-value { font-family: var(--font-display); font-weight: 600; font-size: 1.75rem; line-height: 1.1; letter-spacing: -0.02em; margin-top: 0.35rem; font-variant-numeric: tabular-nums; }
.al-stat-sub { font-size: 0.75rem; color: var(--gray-500); margin-top: 0.25rem; }
.al-accent { color: var(--al-accent); }
.al-muted { color: var(--gray-500); }
.al-rule { border: 0; border-top: 1px solid var(--al-rule); margin: 0.75rem 0; }
.al-bar { height: 4px; background: var(--gray-200); border-radius: 1px; overflow: hidden; }
.al-bar > span { display: block; height: 100%; background: var(--al-ink); }
.al-bar.al-bar-accent > span { background: var(--al-accent); }
.al-bar.al-bar-good > span { background: var(--success-600); }
.al-bar.al-bar-mid > span { background: var(--warning-600); }
.al-bar.al-bar-poor > span { background: var(--danger-600); }
.al-dot { display: inline-block; width: 8px; height: 8px; border-radius: 1px; background: var(--gray-400); vertical-align: middle; }
.al-dot.al-on { background: var(--success-600); }
.al-dot.al-pause { background: var(--warning-600); }
.al-dot.al-off { background: var(--gray-400); }
.al-dot.al-err { background: var(--danger-600); }
.al-tier { display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: var(--radius-sm); font-family: var(--font-display); font-weight: 600; font-size: 0.8125rem; }
.al-tier-A { background: var(--al-ink); color: #fff; }
.al-tier-B { background: var(--gray-200); color: var(--al-ink); }
.al-tier-C { background: transparent; color: var(--gray-500); box-shadow: inset 0 0 0 1px var(--gray-300); }
.al-steps { display: flex; gap: 0.35rem; }
.al-step { flex: 1; min-width: 0; }
.al-step-bar { height: 4px; background: var(--gray-200); border-radius: 1px; }
.al-step.al-done .al-step-bar { background: var(--al-ink); }
.al-step-label { display: block; margin-top: 0.35rem; font-size: 0.6875rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--gray-500); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.al-step.al-done .al-step-label { color: var(--al-ink); font-weight: 600; }
.al-table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
.al-table th { text-align: left; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray-500); padding: 0.5rem 0.6rem; border-bottom: 1px solid var(--al-rule); background: var(--gray-50); }
.al-table td { padding: 0.5rem 0.6rem; border-bottom: 1px solid var(--gray-100); vertical-align: top; }
.al-table tr:hover td { background: var(--gray-50); }
.al-table .al-num-cell { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.al-link { color: var(--al-ink); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--gray-300); }
.al-link:hover { border-bottom-color: var(--al-ink); }
.al-log { font-family: var(--font-mono); font-size: 0.72rem; line-height: 1.5; background: var(--al-ink); color: #d9d9d9; padding: 0.9rem 1rem; border-radius: var(--radius-lg); max-height: 22rem; overflow: auto; white-space: pre-wrap; word-break: break-word; }
.al-chip { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.15rem 0.5rem; border-radius: var(--radius-sm); background: var(--gray-100); color: var(--gray-700); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.al-chip.al-chip-ink { background: var(--al-ink); color: #fff; }
.al-chip.al-chip-accent { background: var(--al-accent); color: #fff; }
.al-chip.al-chip-good { background: var(--success-50); color: var(--success-700); }
.al-chip.al-chip-mid { background: var(--warning-50); color: var(--warning-700); }
.al-chip.al-chip-poor { background: var(--danger-50); color: var(--danger-700); }
