/* Ceverino Admin — custom theme override for Filament */

:root,
[data-theme="light"],
[data-theme="dark"] {
    --cev-primary: #3fbbf9;
    --cev-mint:    #95ffa7;
}

/* ── Primary colour override ── */
/* Filament v3 uses CSS vars --primary-{50..950} */
:root {
    --primary-50:  #ecf9ff;
    --primary-100: #d0f1fe;
    --primary-200: #a9e6fc;
    --primary-300: #6dd6fa;
    --primary-400: #3fbbf9; /* brand */
    --primary-500: #13a3f0;
    --primary-600: #0585d1;
    --primary-700: #066aa9;
    --primary-800: #0a578b;
    --primary-900: #0e4873;
    --primary-950: #092e4d;
}

/* ── Sidebar ── */
.fi-sidebar {
    border-right: 1px solid color-mix(in srgb, var(--cev-primary) 15%, transparent) !important;
}

/* Nav item active state */
.fi-sidebar-item-button[aria-current="page"],
.fi-sidebar-item-button.fi-active {
    background: color-mix(in srgb, var(--cev-primary) 10%, transparent) !important;
    color: var(--cev-primary) !important;
}

.fi-sidebar-item-button[aria-current="page"] svg,
.fi-sidebar-item-button.fi-active svg {
    color: var(--cev-primary) !important;
}

/* ── Top bar / header ── */
.fi-topbar {
    border-bottom: 1px solid color-mix(in srgb, var(--cev-primary) 20%, transparent);
}

/* ── Badges / pills ── */
.fi-badge.fi-color-primary {
    background: color-mix(in srgb, var(--cev-primary) 15%, transparent);
    color: var(--cev-primary);
    border-color: color-mix(in srgb, var(--cev-primary) 30%, transparent);
}

/* ── Buttons — primary ── */
.fi-btn.fi-btn-color-primary {
    background-color: var(--cev-primary) !important;
    border-color:     var(--cev-primary) !important;
    color:            #0a1628 !important;
    font-weight:      600;
}

.fi-btn.fi-btn-color-primary:hover {
    background-color: color-mix(in srgb, var(--cev-primary) 85%, #000) !important;
    border-color:     color-mix(in srgb, var(--cev-primary) 85%, #000) !important;
}

/* ── Form focus rings ── */
input:focus,
textarea:focus,
select:focus,
[cmdk-input]:focus {
    --tw-ring-color: color-mix(in srgb, var(--cev-primary) 40%, transparent) !important;
    border-color: var(--cev-primary) !important;
}

/* ── Table — row hover ── */
.fi-ta-row:hover td {
    background: color-mix(in srgb, var(--cev-primary) 4%, transparent) !important;
}

/* ── Stats/overview cards ── */
.fi-wi-stats-overview-stat {
    border-top: 3px solid var(--cev-primary);
}

/* ── Logo text colour ── */
.fi-logo span,
.fi-brand-name {
    color: var(--cev-primary) !important;
}

/* ── Remove pink/red from danger → keep only true danger ── */
/* (no action needed — Filament danger stays red which is correct) */

/* ── Subtle card shadow upgrade ── */
.fi-section,
.fi-card {
    box-shadow: 0 1px 6px rgba(0,0,0,.08);
}

/* ═══════════════════════════════════════════════════
   LOGIN PAGE — fundo decorativo + cavalo por trás
   ═══════════════════════════════════════════════════ */

.fi-simple-layout {
    background: linear-gradient(150deg, #f4f8ff 0%, #eef4fd 45%, #f6f9ff 100%) !important;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
}

/* Linhas SVG de fundo — fixed cobre o viewport inteiro */
.cev-login-bg-lines {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

/* Cavalo: 60% visível ao lado direito do card
   offset 306px = horse center a 306px do viewport center
   horse right edge = 556px do centro; card right = 256px → 300px = 60% de 500px */
.cev-login-horse {
    position: fixed;
    left: 50%;
    top: 50vh;
    transform: translate(calc(-50% + 306px), -50%);
    width: 500px;
    height: auto;
    z-index: 1;
    pointer-events: none;
    color: #3fbbf9;
    opacity: 0.9;
}

/* Card de login fica acima do cavalo */
.fi-simple-main-ctn {
    position: relative;
    z-index: 2;
}

/* Card de login */
.fi-simple-main {
    background: #ffffff !important;
    border: 1px solid color-mix(in srgb, var(--cev-primary) 15%, transparent) !important;
    border-radius: 24px !important;
    box-shadow:
        0 4px 24px rgba(63, 187, 249, 0.1),
        0 1px 4px rgba(0, 0, 0, 0.05) !important;
    /* Overrides Filament's default padding-block: calc(var(--spacing)*12) = 3rem */
    padding-block: 1.75rem !important;
}

/* ── Logo no topo do card ── */
.cev-login-logo-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 0.875rem;
}
.cev-login-logo {
    height: 42px;
    width: auto;
}

/* ── Botões sociais ── */
.cev-social-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
    margin-bottom: 0.75rem;
}
.cev-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #f8faff;
    border: 1px solid rgba(63, 187, 249, 0.18);
    border-radius: 12px;
    color: #374151;
    padding: 11px 10px;
    cursor: pointer;
    font-weight: 500;
    font-size: 0.82rem;
    font-family: inherit;
    transition: background 0.15s, border-color 0.15s;
}
.cev-social-btn:hover {
    background: #eef6ff;
    border-color: rgba(63, 187, 249, 0.35);
}

/* ── Divisor OU ── */
.cev-or-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 0.75rem;
}
.cev-or-line {
    flex: 1;
    height: 1px;
    background: rgba(0, 0, 0, 0.08);
}
.cev-or-text {
    font-size: 0.7rem;
    font-weight: 600;
    color: #94a3b8;
    letter-spacing: 0.05em;
}

/* ── Rodapé do card ── */
.cev-login-footer {
    margin-top: 0;
}
.cev-terms-text {
    font-size: 0.72rem;
    color: #94a3b8;
    text-align: center;
    line-height: 1.5;
    margin: 0;
}
.cev-terms-text a {
    color: var(--cev-primary);
    text-decoration: none;
    font-weight: 500;
}
.cev-footer-divider {
    height: 1px;
    background: rgba(0, 0, 0, 0.07);
    margin: 0.625rem 0;
}
.cev-create-account h4 {
    margin: 0 0 4px;
    font-size: 0.92rem;
    font-weight: 700;
    color: #0f172a;
}
.cev-create-account p {
    margin: 0;
    font-size: 0.78rem;
    color: #94a3b8;
}
.cev-create-account a {
    color: var(--cev-primary);
    text-decoration: none;
    font-weight: 500;
}

/* ── Espaço entre campos do formulário de login ── */
.fi-simple-page .fi-sc-content,
.fi-simple-page .fi-fo-layout-stack {
    gap: 0.75rem !important;
}

/* ── Ajustes dos campos Filament no card de login ── */
.fi-simple-page .fi-fo-field-wrp label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}
/* Wrapper externo — borda e arredondamento visíveis */
.fi-simple-page .fi-input-wrp {
    border: 1px solid rgba(63, 187, 249, 0.2) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    overflow: hidden;
}
.fi-simple-page .fi-input-wrp:focus-within {
    border-color: var(--cev-primary) !important;
    box-shadow: 0 0 0 3px rgba(63, 187, 249, 0.15) !important;
}
/* Input interno — sem borda própria */
.fi-simple-page .fi-input {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 0.95rem !important;
    padding: 11px 14px !important;
    color: #0f172a !important;
    color-scheme: light !important;
    -webkit-text-fill-color: #0f172a !important;
}
.fi-simple-page .fi-input::placeholder {
    color: #94a3b8 !important;
    -webkit-text-fill-color: #94a3b8 !important;
}

/* Botão "Entrar" */
.fi-simple-page .fi-btn-color-primary {
    background: var(--cev-primary) !important;
    border-color: var(--cev-primary) !important;
    color: #0a1628 !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    font-size: 0.95rem !important;
}
.fi-simple-page .fi-btn-color-primary:hover {
    background: color-mix(in srgb, var(--cev-primary) 85%, #000) !important;
}

/* Hint "Esqueci minha senha" — alinha à direita */
.fi-simple-page .fi-fo-field-wrp-hint {
    display: flex;
    justify-content: flex-end;
}

/* Remove a área do header Filament (logo + heading) quando ambos são nulos */
.fi-simple-header:empty,
.fi-simple-page-content > .fi-simple-header:has(> :empty + :empty + :empty) {
    display: none;
}

/* Esconde asterisco de campo obrigatório no login (design limpo) */
.fi-simple-page .fi-fo-field-wrp-label sup {
    display: none;
}

/* Remove espaço extra do "Lembre de mim" (agora hidden) */
.fi-simple-page .fi-fo-field-wrp:has(input[name="data[remember]"]) {
    display: none;
}

/* ═══════════════════════════════════════════════════
   ADMIN GLOBAL — consistência em todas as telas
   ═══════════════════════════════════════════════════ */

/* ── Navigation group headers ── */
.fi-sidebar-group-label {
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #94a3b8 !important;
    padding-inline: 0.875rem !important;
    margin-top: 1.25rem !important;
    margin-bottom: 0.25rem !important;
}

/* ── Sidebar nav items ── */
.fi-sidebar-item-button {
    border-radius: 10px !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    transition: background 0.12s, color 0.12s !important;
}
.fi-sidebar-item-button:hover {
    background: color-mix(in srgb, var(--cev-primary) 8%, transparent) !important;
}

/* ── Page header (título + ações) ── */
.fi-header-heading {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    letter-spacing: -0.01em !important;
}
.dark .fi-header-heading {
    color: #f1f5f9 !important;
}

/* ── Stats overview widget ── */
.fi-wi-stats-overview {
    gap: 1rem !important;
}
.fi-wi-stats-overview-stat {
    border-radius: 16px !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
    padding: 1.25rem 1.5rem !important;
    border-top: 3px solid var(--cev-primary) !important;
}
.fi-wi-stats-overview-stat-value {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    letter-spacing: -0.02em !important;
}
.dark .fi-wi-stats-overview-stat-value {
    color: #f1f5f9 !important;
}
.fi-wi-stats-overview-stat-label {
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #64748b !important;
}
.fi-wi-stats-overview-stat-description {
    font-size: 0.8rem !important;
    color: #94a3b8 !important;
}

/* ── Table / widget cards ── */
.fi-ta,
.fi-wi-table {
    border-radius: 16px !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
    overflow: hidden !important;
}
.fi-wi-table-header,
.fi-ta-header-ctn {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
    padding: 1rem 1.25rem !important;
}
.dark .fi-wi-table-header,
.dark .fi-ta-header-ctn {
    background: rgb(var(--gray-900)) !important;
    border-bottom-color: rgba(255,255,255,0.07) !important;
}
.fi-wi-table-header-heading,
.fi-ta-header-heading {
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}
.dark .fi-wi-table-header-heading,
.dark .fi-ta-header-heading {
    color: #f1f5f9 !important;
}

/* ── Table rows ── */
.fi-ta-row td {
    font-size: 0.875rem !important;
}
.fi-ta-header-cell {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #94a3b8 !important;
}

/* ── Table empty state ── */
.fi-ta-empty-state-icon {
    color: color-mix(in srgb, var(--cev-primary) 40%, transparent) !important;
}
.fi-ta-empty-state-heading {
    font-weight: 600 !important;
    color: #64748b !important;
}

/* ── Form sections ── */
.fi-section {
    border-radius: 16px !important;
    border: 1px solid rgba(0,0,0,0.07) !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05) !important;
}
.fi-section-header {
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
}
.fi-section-header-heading {
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}
.dark .fi-section-header-heading {
    color: #f1f5f9 !important;
}

/* ── Badges ── */
.fi-badge {
    border-radius: 6px !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
}

/* ── Breadcrumbs ── */
.fi-breadcrumbs-item-label {
    font-size: 0.8rem !important;
}

/* ── Topbar ── */
.fi-topbar-ctn {
    padding-inline: 1.25rem !important;
}

/* ── Dashboard page title area ── */
.fi-page-header-ctn {
    padding-block: 1.5rem !important;
}

/* ── Widgets grid gap ── */
.fi-wi {
    margin-bottom: 0 !important;
}
.fi-page .fi-widgets-ctn {
    gap: 1rem !important;
}
