@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;900&family=Oxanium:wght@300;400;500;600;700&family=Share+Tech+Mono&display=swap');

/* ═══════════════════════════════════════════
   BASE
═══════════════════════════════════════════ */
html, body, .fi-body {
    background-color: #080e0b !important;
    font-family: 'Oxanium', sans-serif !important;
    color: #c2d4cc !important;
    -webkit-font-smoothing: antialiased;
    width: 100% !important;
    max-width: none !important;
}
body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(rgba(0,184,122,0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,184,122,0.02) 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none;
    z-index: 0;
}

/* ═══════════════════════════════════════════
   TOPBAR
═══════════════════════════════════════════ */
.fi-topbar, .fi-topbar nav {
    background-color: #0b1410 !important;
    border-bottom: 1px solid rgba(0,184,122,0.1) !important;
}

/* ═══════════════════════════════════════════
   SIDEBAR
═══════════════════════════════════════════ */
.fi-sidebar {
    background-color: #0b1410 !important;
    border-right: 1px solid rgba(0,184,122,0.08) !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
}
.fi-sidebar-header,
.fi-logo {
    background-color: #0b1410 !important;
    border-bottom: 1px solid rgba(0,184,122,0.08) !important;
    padding: 20px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.fi-sidebar-header a,
.fi-sidebar-header a > *,
.fi-logo a,
.fi-logo a > * {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}
.fi-brand-name {
    font-family: 'Orbitron', monospace !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    color: #e8f2ee !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase !important;
}

/* ═══════════════════════════════════════════
   NAVEGACIÓN SIDEBAR
═══════════════════════════════════════════ */
.fi-sidebar-nav {
    padding: 12px 8px !important;
}
.fi-sidebar-item-button {
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    margin-bottom: 1px !important;
}
.fi-sidebar-item-button:hover {
    background-color: rgba(0,184,122,0.07) !important;
}
.fi-sidebar-item-button.fi-active,
.fi-sidebar-item-button[aria-current] {
    background-color: rgba(0,184,122,0.12) !important;
    border-left: 2px solid #4CAF50 !important;
}
.fi-sidebar-item-label {
    font-family: 'Oxanium', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    color: rgba(194,212,204,0.75) !important;
    letter-spacing: 0.04em !important;
}
.fi-sidebar-item-button.fi-active .fi-sidebar-item-label,
.fi-sidebar-item-button:hover .fi-sidebar-item-label {
    color: #4CAF50 !important;
}
.fi-sidebar-item-icon {
    color: rgba(0,184,122,0.5) !important;
}
.fi-sidebar-item-button.fi-active .fi-sidebar-item-icon,
.fi-sidebar-item-button:hover .fi-sidebar-item-icon {
    color: #4CAF50 !important;
}
.fi-sidebar-group-label {
    font-family: 'Orbitron', monospace !important;
    font-size: 0.55rem !important;
    letter-spacing: 0.2em !important;
    color: rgba(0,184,122,0.35) !important;
    text-transform: uppercase !important;
    padding: 10px 12px 4px !important;
}

/* ═══════════════════════════════════════════
   CONTENIDO PRINCIPAL
═══════════════════════════════════════════ */
.fi-main {
    background-color: #080e0b !important;
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
}
.fi-page-header {
    border-bottom: 1px solid rgba(0,184,122,0.08) !important;
    padding-bottom: 0.75rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.fi-page-heading {
    font-family: 'Orbitron', monospace !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #4CAF50 !important;
    letter-spacing: 0.08em !important;
}

/* ═══════════════════════════════════════════
   CARDS / SECCIONES
═══════════════════════════════════════════ */
.fi-section,
.fi-card {
    background-color: #0b1410 !important;
    border: 1px solid rgba(0,184,122,0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.25) !important;
}
.fi-section-header {
    border-bottom: 1px solid rgba(0,184,122,0.07) !important;
}
.fi-section-header-heading {
    font-family: 'Orbitron', monospace !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: rgba(0,184,122,0.7) !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
}

/* ═══════════════════════════════════════════
   TABLA
═══════════════════════════════════════════ */
.fi-ta-table {
    background-color: transparent !important;
}
.fi-ta-header-cell {
    background-color: #0d1a14 !important;
    border-bottom: 1px solid rgba(0,184,122,0.1) !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.fi-ta-header-cell-label {
    font-family: 'Orbitron', monospace !important;
    font-size: 0.6rem !important;
    font-weight: 700 !important;
    color: rgba(0,184,122,0.6) !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}
.fi-ta-row {
    border-bottom: 1px solid rgba(0,184,122,0.05) !important;
    transition: background-color 0.15s !important;
}
.fi-ta-row:hover {
    background-color: rgba(0,184,122,0.04) !important;
}
.fi-ta-cell-content {
    font-size: 0.85rem !important;
    color: rgba(194,212,204,0.85) !important;
}

/* ═══════════════════════════════════════════
   FORMULARIOS
═══════════════════════════════════════════ */
.fi-fo-field-wrp > label,
.fi-fo-field-wrp label {
    font-family: 'Orbitron', monospace !important;
    font-size: 0.6rem !important;
    font-weight: 600 !important;
    color: rgba(0,184,122,0.6) !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
}
.fi-input,
.fi-select-input,
.fi-textarea {
    background-color: rgba(0,0,0,0.25) !important;
    border: 1px solid rgba(0,184,122,0.12) !important;
    border-radius: 8px !important;
    color: rgba(194,212,204,0.9) !important;
    font-family: 'Oxanium', sans-serif !important;
    font-size: 0.88rem !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.fi-input:focus,
.fi-select-input:focus,
.fi-textarea:focus {
    border-color: rgba(0,184,122,0.4) !important;
    box-shadow: 0 0 0 3px rgba(0,184,122,0.06) !important;
    outline: none !important;
}
.fi-input::placeholder {
    color: rgba(194,212,204,0.25) !important;
}
.fi-fo-helper-text {
    font-size: 0.72rem !important;
    color: rgba(194,212,204,0.35) !important;
}

/* ═══════════════════════════════════════════
   BOTONES
═══════════════════════════════════════════ */
.fi-btn-color-primary {
    background-color: #4CAF50 !important;
    color: #fff !important;
    border: none !important;
    font-family: 'Orbitron', monospace !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 12px rgba(0,184,122,0.2) !important;
    transition: all 0.2s !important;
}
.fi-btn-color-primary:hover {
    background-color: #66BB6A !important;
    box-shadow: 0 4px 16px rgba(0,184,122,0.3) !important;
    transform: translateY(-1px) !important;
}
.fi-btn-color-gray {
    background-color: rgba(0,184,122,0.08) !important;
    color: rgba(194,212,204,0.7) !important;
    border: 1px solid rgba(0,184,122,0.12) !important;
    font-family: 'Orbitron', monospace !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.1em !important;
    border-radius: 8px !important;
    transition: all 0.2s !important;
}
.fi-btn-color-gray:hover {
    background-color: rgba(0,184,122,0.12) !important;
    color: #4CAF50 !important;
}
.fi-btn-color-danger {
    background-color: rgba(220,38,38,0.15) !important;
    color: #ef4444 !important;
    border: 1px solid rgba(220,38,38,0.2) !important;
    border-radius: 8px !important;
    font-family: 'Orbitron', monospace !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.1em !important;
}

/* ═══════════════════════════════════════════
   BADGES
═══════════════════════════════════════════ */
.fi-badge {
    font-family: 'Orbitron', monospace !important;
    font-size: 0.55rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    border-radius: 6px !important;
    padding: 2px 8px !important;
}
.fi-color-success.fi-badge {
    background-color: rgba(0,184,122,0.12) !important;
    color: #4CAF50 !important;
    border: 1px solid rgba(0,184,122,0.2) !important;
}
.fi-color-warning.fi-badge {
    background-color: rgba(217,119,6,0.12) !important;
    color: #f59e0b !important;
    border: 1px solid rgba(217,119,6,0.2) !important;
}
.fi-color-danger.fi-badge {
    background-color: rgba(220,38,38,0.12) !important;
    color: #ef4444 !important;
    border: 1px solid rgba(220,38,38,0.2) !important;
}
.fi-color-info.fi-badge {
    background-color: rgba(59,130,246,0.12) !important;
    color: #60a5fa !important;
    border: 1px solid rgba(59,130,246,0.2) !important;
}
.fi-color-gray.fi-badge {
    background-color: rgba(113,113,122,0.12) !important;
    color: #a1a1aa !important;
    border: 1px solid rgba(113,113,122,0.2) !important;
}

/* ═══════════════════════════════════════════
   WIDGETS STATS
═══════════════════════════════════════════ */
.fi-wi-stats-overview-stat {
    background-color: #0b1410 !important;
    border: 1px solid rgba(0,184,122,0.08) !important;
    border-radius: 12px !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.fi-wi-stats-overview-stat:hover {
    border-color: rgba(0,184,122,0.18) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.3) !important;
}
.fi-wi-stats-overview-stat-label {
    font-family: 'Orbitron', monospace !important;
    font-size: 0.58rem !important;
    font-weight: 600 !important;
    color: rgba(0,184,122,0.5) !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}
.fi-wi-stats-overview-stat-value {
    font-family: 'Orbitron', monospace !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: #4CAF50 !important;
    line-height: 1.1 !important;
}
.fi-wi-stats-overview-stat-description {
    font-size: 0.72rem !important;
    color: rgba(194,212,204,0.4) !important;
}

/* ═══════════════════════════════════════════
   DROPDOWN / MODALES
═══════════════════════════════════════════ */
.fi-dropdown-panel {
    background-color: #0d1a14 !important;
    border: 1px solid rgba(0,184,122,0.12) !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important;
}
.fi-dropdown-list-item-label {
    font-size: 0.82rem !important;
    color: rgba(194,212,204,0.75) !important;
}
.fi-dropdown-list-item:hover {
    background-color: rgba(0,184,122,0.07) !important;
}
.fi-modal-window {
    background-color: #0b1410 !important;
    border: 1px solid rgba(0,184,122,0.1) !important;
    border-radius: 14px !important;
}
.fi-modal-header {
    border-bottom: 1px solid rgba(0,184,122,0.08) !important;
}
.fi-modal-heading {
    font-family: 'Orbitron', monospace !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #4CAF50 !important;
    letter-spacing: 0.1em !important;
}

/* ═══════════════════════════════════════════
   NOTIFICACIONES
═══════════════════════════════════════════ */
.fi-no-notification {
    background-color: #0d1a14 !important;
    border: 1px solid rgba(0,184,122,0.12) !important;
    border-radius: 10px !important;
}
.fi-no-notification-title {
    font-family: 'Orbitron', monospace !important;
    font-size: 0.72rem !important;
    color: #4CAF50 !important;
    letter-spacing: 0.08em !important;
}

/* ═══════════════════════════════════════════
   PAGINACIÓN
═══════════════════════════════════════════ */
.fi-pagination {
    border-top: 1px solid rgba(0,184,122,0.07) !important;
}
.fi-pagination-item-btn {
    font-family: 'Orbitron', monospace !important;
    font-size: 0.65rem !important;
    color: rgba(194,212,204,0.5) !important;
    border: 1px solid rgba(0,184,122,0.08) !important;
    border-radius: 6px !important;
    transition: all 0.2s !important;
}
.fi-pagination-item-btn:hover,
.fi-pagination-item-btn[aria-current="page"] {
    background-color: rgba(0,184,122,0.1) !important;
    color: #4CAF50 !important;
    border-color: rgba(0,184,122,0.2) !important;
}

/* ═══════════════════════════════════════════
   CHECKBOX
═══════════════════════════════════════════ */
input[type="checkbox"].fi-checkbox-input {
    background-color: rgba(0,0,0,0.3) !important;
    border: 1px solid rgba(0,184,122,0.25) !important;
    border-radius: 4px !important;
}
input[type="checkbox"].fi-checkbox-input:checked {
    background-color: #4CAF50 !important;
    border-color: #4CAF50 !important;
}

/* ═══════════════════════════════════════════
   SCROLLBAR
═══════════════════════════════════════════ */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: #080e0b; }
::-webkit-scrollbar-thumb {
    background: rgba(0,184,122,0.2);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(0,184,122,0.35);
}

/* ═══════════════════════════════════════════
   AUTOFILL CHROME
═══════════════════════════════════════════ */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px #0b1410 inset !important;
    -webkit-text-fill-color: rgba(194,212,204,0.9) !important;
    caret-color: #4CAF50 !important;
}

/* ═══════════════════════════════════════════
   DARK MODE FORZADO
═══════════════════════════════════════════ */
:root { color-scheme: dark !important; --sidebar-width: 220px; }
.fi-color-custom { color: #4CAF50 !important; }

/* ── BOTÓN CREAR (texto visible) ── */
.fi-btn-color-primary span,
.fi-btn-color-primary .fi-btn-label {
    color: #fff !important;
}
.fi-btn-color-primary {
    background-color: #4CAF50 !important;
    color: #fff !important;
}

/* ═══════════════════════════════════════════
   LAYOUT — APROVECHAMIENTO DE ANCHO
═══════════════════════════════════════════ */
/* Contenedor raíz del panel */
.fi-layout {
    width: 100vw !important;
    max-width: none !important;
    overflow-x: clip !important;
}
/* Wrapper cuerpo dentro de fi-main */
.fi-main-ctn,
.fi-body-scroll-area,
.fi-body > div,
.fi-main > div {
    width: 100% !important;
    max-width: none !important;
}
/* Página simple (login, etc.) */
.fi-simple-main {
    width: 100% !important;
    max-width: 440px !important;
}
/* Forzar ancho completo en wrappers internos de página */
.fi-page > * {
    max-width: none !important;
}
.fi-page {
    padding-left: 16px !important;
    padding-right: 16px !important;
    width: 100% !important;
    max-width: none !important;
}
.fi-ta-ctn {
    width: 100% !important;
    overflow-x: auto !important;
}
.fi-ta-table {
    width: 100% !important;
    min-width: 100% !important;
}
.fi-ta-cell {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* ─── LOGIN PAGE ADMIN ─── */
.fi-simple-layout {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}
.fi-simple-main {
    background: linear-gradient(135deg, #0a0a14 0%, #1a1a2e 50%, #0d0d1a 100%) !important;
    min-height: 100vh !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}
body.fi-simple-page {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100vh !important;
}
.fi-simple-layout::before {
    content: "\2699  PANEL ADMINISTRADOR";
    display: block;
    width: 100%;
    text-align: center;
    padding: 0 0 16px;
    font-family: 'Orbitron', monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.25em;
    color: #4CAF50;
    text-transform: uppercase;
}
