
:root{--bf-black:#050505;--bf-bg:#0b0c0d;--bf-panel:#111315;--bf-gold:#c89b3c;--bf-gold-2:#9c7427;--bf-text:#f7f4ee;--bf-muted:#9ea2a6;--bf-line:rgba(200,155,60,.34);--bf-line-soft:rgba(255,255,255,.08);--sidebar:252px;--radius:14px;--shadow:0 18px 48px rgba(0,0,0,.34)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 82% 10%,rgba(200,155,60,.06),transparent 28%),linear-gradient(180deg,#090a0b,#0d0f11 70%,#090a0b);color:var(--bf-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}body{display:flex}
.bf-sidebar{width:var(--sidebar);min-height:100vh;position:fixed;left:0;top:0;bottom:0;background:linear-gradient(180deg,#030303 0%,#080909 100%);border-right:1px solid var(--bf-line);display:flex;flex-direction:column;z-index:10}.bf-brand{padding:28px 22px 22px;text-align:center;border-bottom:1px solid var(--bf-line-soft)}.bf-brand-mark{font-size:34px;color:var(--bf-gold);line-height:1}.bf-brand h1{font-family:Georgia,"Times New Roman",serif;font-size:22px;letter-spacing:.25em;margin:10px 0 3px}.bf-brand small{color:var(--bf-gold);letter-spacing:.18em}.bf-nav{padding:12px 0;overflow:auto}.bf-nav a{display:flex;align-items:center;gap:12px;padding:13px 22px;color:#e6e6e6;border-left:3px solid transparent}.bf-nav a:hover,.bf-nav a.active{background:linear-gradient(90deg,rgba(200,155,60,.23),rgba(200,155,60,.04));color:#fff;border-left-color:var(--bf-gold)}.bf-nav .ico{width:22px;text-align:center;color:var(--bf-gold)}.bf-user{margin-top:auto;padding:18px 22px;border-top:1px solid var(--bf-line-soft)}.bf-user .user-row{display:flex;align-items:center;gap:10px}.bf-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#dedede,#777);display:grid;place-items:center;color:#111;font-weight:700;border:1px solid var(--bf-gold)}.bf-user strong{display:block}.bf-user small{color:var(--bf-muted)}.bf-logout{display:block;margin-top:14px;padding-top:14px;border-top:1px solid var(--bf-line-soft);color:#ddd}
.bf-main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-height:100vh}.bf-topbar{height:68px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bf-line-soft);background:rgba(5,5,5,.76);backdrop-filter:blur(16px);position:sticky;top:0;z-index:5}.bf-topbar .title{font-family:Georgia,"Times New Roman",serif;color:var(--bf-gold);font-size:20px}.bf-search{position:relative;width:min(340px,42vw)}.bf-search input{width:100%;background:#090a0b;border:1px solid var(--bf-line-soft);color:#fff;padding:10px 38px 10px 14px;border-radius:10px;outline:none}.bf-search input:focus{border-color:var(--bf-gold)}.bf-search span{position:absolute;right:12px;top:9px;color:var(--bf-gold)}.bf-content{padding:28px 30px 40px}.bf-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.bf-page-head h2{font-family:Georgia,"Times New Roman",serif;font-size:34px;margin:0 0 5px}.bf-page-head p{margin:0;color:var(--bf-muted)}.bf-date{border:1px solid var(--bf-line);padding:11px 14px;border-radius:10px;background:#101214;color:#fff}.bf-grid{display:grid;gap:14px}.bf-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.bf-card{background:linear-gradient(180deg,rgba(19,21,23,.97),rgba(12,14,15,.97));border:1px solid var(--bf-line);border-radius:var(--radius);box-shadow:var(--shadow)}.bf-kpi{padding:18px}.bf-kpi-top{display:flex;gap:12px;align-items:center}.bf-icon-circle{width:46px;height:46px;border-radius:50%;border:1px solid var(--bf-gold);display:grid;place-items:center;color:var(--bf-gold);font-size:20px}.bf-kpi .label{font-size:11px;letter-spacing:.05em;color:#e7e0d4;text-transform:uppercase}.bf-kpi .value{font-family:Georgia,"Times New Roman",serif;font-size:24px;margin-top:4px}.bf-kpi .sub{color:var(--bf-muted);font-size:12px;margin:10px 0 0}.bf-section{margin-top:14px}.bf-section-head{display:flex;justify-content:space-between;align-items:center;padding:14px 17px;border-bottom:1px solid var(--bf-line)}.bf-section-head h3{font-family:Georgia,"Times New Roman",serif;font-size:20px;margin:0}.bf-section-head a{color:var(--bf-gold);font-size:13px}.bf-form{padding:16px}.bf-filters{display:grid;grid-template-columns:1.3fr 1fr 220px auto auto;gap:10px;align-items:center}.bf-field{width:100%;background:#0a0b0c;border:1px solid var(--bf-line-soft);color:#fff;padding:11px 12px;border-radius:9px;outline:none}.bf-field:focus{border-color:var(--bf-gold)}.bf-btn{border:1px solid var(--bf-gold);background:linear-gradient(180deg,#d0a84f,#a77a25);color:#090909;font-weight:700;padding:10px 15px;border-radius:9px;cursor:pointer}.bf-btn.secondary{background:transparent;color:var(--bf-gold)}.bf-table-wrap{overflow:auto;max-height:640px}.bf-table{width:100%;border-collapse:collapse}.bf-table th,.bf-table td{padding:12px 14px;border-bottom:1px solid var(--bf-line-soft);text-align:left;white-space:nowrap}.bf-table th{font-size:11px;color:#d8d8d8;text-transform:uppercase;font-weight:600;position:sticky;top:0;background:#121416;z-index:1}.bf-table td{font-size:13px}.bf-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(200,155,60,.12);color:#e6bd63;border:1px solid rgba(200,155,60,.25)}.bf-pill.Vencido{background:rgba(201,92,80,.13);color:#ef8c81}.bf-pill.Pagado{background:rgba(105,183,124,.13);color:#87d39a}.bf-pill.Parcial{background:rgba(77,140,198,.13);color:#7fb6ea}.bf-footer{text-align:center;color:var(--bf-gold);font-size:12px;letter-spacing:.16em;padding:18px}
.bf-login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 15%,rgba(200,155,60,.12),transparent 30%),linear-gradient(145deg,#030303,#0b0d0f 65%,#050505)}.bf-login-shell{width:min(960px,100%);display:grid;grid-template-columns:1.15fr .85fr;border:1px solid var(--bf-line);border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}.bf-login-visual{padding:58px;background:linear-gradient(rgba(4,4,4,.54),rgba(4,4,4,.78)),radial-gradient(circle at 30% 20%,rgba(200,155,60,.17),transparent 30%),linear-gradient(145deg,#111,#050505)}.bf-login-visual h1{font-family:Georgia,"Times New Roman",serif;font-size:44px;letter-spacing:.12em;margin:18px 0 10px}.bf-login-visual p{color:#d8c8a8;max-width:460px;line-height:1.7}.bf-login-card{background:#101214;padding:44px}.bf-login-card h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;margin:0 0 8px}.bf-login-card .sub{color:var(--bf-muted);margin:0 0 26px}.bf-login-card label{display:block;margin:16px 0 7px;font-size:12px;font-weight:700;color:#ddd}.bf-login-card input{width:100%;padding:13px 14px;border:1px solid var(--bf-line-soft);border-radius:10px;background:#090a0b;color:#fff;outline:none}.bf-login-card input:focus{border-color:var(--bf-gold)}.bf-error{background:rgba(201,92,80,.12);color:#f2a29a;border:1px solid rgba(201,92,80,.28);padding:12px 14px;border-radius:10px;margin-bottom:16px}.bf-login-footer{margin-top:22px;color:#777;text-align:center;font-size:12px}
@media(max-width:1280px){.bf-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:980px){.bf-filters{grid-template-columns:1fr 1fr}.bf-login-shell{grid-template-columns:1fr}.bf-login-visual{display:none}}@media(max-width:760px){:root{--sidebar:74px}.bf-brand h1,.bf-brand small,.bf-nav a span:not(.ico),.bf-user .user-text,.bf-logout span{display:none}.bf-brand{padding:22px 8px}.bf-nav a{justify-content:center;padding:14px 8px}.bf-user{padding:14px 8px}.bf-user .user-row{justify-content:center}.bf-main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar))}.bf-content{padding:20px 14px}.bf-topbar{padding:0 14px}.bf-kpis{grid-template-columns:1fr}.bf-page-head{flex-direction:column}.bf-filters{grid-template-columns:1fr}}
:root{
  --bf-success:#69b77c;
  --bf-warning:#d5a540;
  --bf-danger:#c95c50;
  --bf-info:#4d8cc6;
  --bf-input:#0a0b0c;
  --bf-input-focus:#15181b;
}

/* Módulos antiguos sin sidebar */
body:not(:has(.bf-sidebar)){display:block}

.top{
  min-height:72px;padding:14px 28px;display:flex;align-items:center;
  justify-content:space-between;gap:20px;background:rgba(5,5,5,.92);
  border-bottom:1px solid var(--bf-line);color:var(--bf-text);
  position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)
}
.top h1{
  margin:0;color:var(--bf-gold);font-family:Georgia,"Times New Roman",serif;
  font-size:24px;letter-spacing:.05em
}
.top p{margin:4px 0 0;color:var(--bf-muted)}
.top nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.top nav a{padding:9px 11px;color:#e7e7e7;border:1px solid transparent;border-radius:9px}
.top nav a:hover{color:var(--bf-gold);border-color:var(--bf-line);background:rgba(200,155,60,.08)}

body:not(:has(.bf-sidebar)) main{
  width:min(1500px,calc(100% - 32px));margin:0 auto;padding:24px 0 40px
}

.panel{
  background:linear-gradient(180deg,rgba(19,21,23,.98),rgba(12,14,15,.98))!important;
  color:var(--bf-text)!important;border:1px solid var(--bf-line)!important;
  border-radius:var(--radius)!important;box-shadow:var(--shadow);padding:22px
}
.panel h2,.panel h3{color:var(--bf-text)}
.panel p,.panel small{color:var(--bf-muted)}

/* Formularios y buscadores */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
select,textarea,.search-input,.search-box input,.filters input,.filters select,.bf-field{
  width:100%;min-height:42px;background:var(--bf-input)!important;
  color:var(--bf-text)!important;border:1px solid var(--bf-line)!important;
  border-radius:10px!important;padding:10px 12px!important;outline:none!important;
  color-scheme:dark
}
input::placeholder,textarea::placeholder{color:var(--bf-muted)!important;opacity:1}
input:focus,select:focus,textarea:focus,.bf-field:focus{
  background:var(--bf-input-focus)!important;color:#fff!important;
  border-color:var(--bf-gold)!important;
  box-shadow:0 0 0 3px rgba(200,155,60,.12)!important
}
select option{background:#111315!important;color:#fff!important}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px #0a0b0c inset!important
}
input[type="file"]{
  background:#0a0b0c!important;color:var(--bf-text)!important;padding:8px!important
}
input[type="file"]::file-selector-button{
  border:0;border-radius:8px;padding:8px 12px;margin-right:10px;
  background:linear-gradient(180deg,#d0a84f,#a77a25);
  color:#090909;font-weight:800;cursor:pointer
}
input:disabled,select:disabled,textarea:disabled{
  background:#25282b!important;color:#8f9499!important;opacity:1
}

/* Botones */
button,.btn,input[type="submit"],.bf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:40px;border:1px solid var(--bf-gold)!important;
  border-radius:9px!important;padding:9px 14px!important;
  background:linear-gradient(180deg,#d0a84f,#a77a25)!important;
  color:#090909!important;font-weight:800!important;cursor:pointer
}
button:hover,.btn:hover,input[type="submit"]:hover,.bf-btn:hover{filter:brightness(1.08)}
.btn.light,.bf-btn.secondary{background:transparent!important;color:var(--bf-gold)!important}
.btn.danger{background:rgba(201,92,80,.12)!important;color:#ef8c81!important;border-color:rgba(201,92,80,.55)!important}

/* Tablas */
.table-wrap,.bf-table-wrap{width:100%;overflow:auto;border:1px solid var(--bf-line-soft);border-radius:12px}
table,.bf-table{width:100%;border-collapse:collapse;color:var(--bf-text);background:#0e1012}
th,td,.bf-table th,.bf-table td{padding:12px 14px;border-bottom:1px solid var(--bf-line-soft);text-align:left}
th,.bf-table th{
  background:#151719!important;color:#e9dfca!important;font-size:11px;
  text-transform:uppercase;letter-spacing:.04em
}
td,.bf-table td{color:#ececec}
tbody tr:hover{background:rgba(200,155,60,.06)}

/* Alertas */
.alert,.notice{
  border-radius:12px!important;padding:12px 14px!important;
  border:1px solid var(--bf-line-soft)!important;background:#131619!important;
  color:var(--bf-text)!important
}
.notice.ok,.alert.ok{
  background:rgba(105,183,124,.12)!important;color:#92d9a2!important;
  border-color:rgba(105,183,124,.3)!important
}
.notice.err,.alert.err,.bf-error{
  background:rgba(201,92,80,.12)!important;color:#ef9b92!important;
  border-color:rgba(201,92,80,.3)!important
}

/* Tarjetas y módulos heredados */
.card,.box,.metric,.doc,.activity,.check-row,.pay-card,.cfdi-card,.upload-box{
  background:linear-gradient(180deg,#151719,#0f1113)!important;
  color:var(--bf-text)!important;border-color:var(--bf-line)!important
}
.card small,.box small,.metric small,.doc small,.activity-meta{color:var(--bf-muted)!important}

/* Pestañas */
.tabs{background:#0f1113!important;border-color:var(--bf-line)!important}
.tabs a{color:#d8d8d8!important}
.tabs a.on{
  background:rgba(200,155,60,.14)!important;color:var(--bf-gold)!important;
  box-shadow:inset 0 -2px 0 var(--bf-gold)
}

.pill,.state,.bf-pill{border:1px solid var(--bf-line)}
.pill{background:rgba(200,155,60,.12);color:#e6bd63}

@media(max-width:900px){
  .top{align-items:flex-start;flex-direction:column}
  .top nav{width:100%}
  .filters,.bf-filters{grid-template-columns:1fr!important}
}

/* ==========================================================
   BLACK FORESTAL ERP — FIX CONTRASTE IMPORTACIONES v3.1
========================================================== */

/* Tarjetas KPI de Importaciones */
.cards > .card,
.cards > div,
.kpis > div,
.summary-cards > div,
.stats > div,
.stat-card,
.summary-card {
    background: linear-gradient(
        180deg,
        #17191b,
        #101214
    ) !important;

    color: #f7f4ee !important;
    border: 1px solid rgba(200,155,60,.34) !important;
}

.cards small,
.cards .label,
.stat-card small,
.summary-card small {
    color: #d6c7aa !important;
}

.cards strong,
.cards .value,
.stat-card strong,
.summary-card strong {
    color: #ffffff !important;
}

/* Datos generales */
.grid > .box,
.content .box,
.box {
    background: linear-gradient(
        180deg,
        #17191b,
        #101214
    ) !important;

    color: #ffffff !important;
    border-color: rgba(200,155,60,.34) !important;
}

.box small {
    color: #c89b3c !important;
}

.box strong {
    color: #ffffff !important;
}

/* Indicadores */
.metric,
.metrics > div {
    background: linear-gradient(
        180deg,
        #17191b,
        #101214
    ) !important;

    color: #ffffff !important;
    border: 1px solid rgba(200,155,60,.28) !important;
}

.metric small {
    color: #d6c7aa !important;
}

.metric strong {
    color: #ffffff !important;
}

/* Archivos cargados en el Gantt */
.file-list,
.activity-files .file-list {
    background: transparent !important;
}

.file-item,
.activity-files .file-item,
.file-list > div {
    background: linear-gradient(
        180deg,
        #181a1c,
        #111315
    ) !important;

    color: #ffffff !important;
    border: 1px solid rgba(200,155,60,.28) !important;
}

.file-item strong,
.activity-files .file-item strong {
    color: #ffffff !important;
}

.file-item small,
.activity-files .file-item small {
    color: #b9bdc1 !important;
}

.file-item a,
.activity-files .file-item a {
    color: #d9ad50 !important;
}

/* Formularios del Gantt */
.activity,
.activity-form,
.activity-files {
    color: #f7f4ee !important;
}

.activity {
    background: linear-gradient(
        180deg,
        #151719,
        #0f1113
    ) !important;

    border-color: rgba(200,155,60,.30) !important;
}

.activity-title,
.activity-head strong,
.activity-form label,
.activity-files h4 {
    color: #ffffff !important;
}

.activity-meta {
    color: #aeb3b8 !important;
}

/* Campos de formulario */
.activity-form input,
.activity-form select,
.activity-form textarea,
.file-upload-row input,
.file-upload-row select,
.file-upload-row textarea {
    background: #090a0b !important;
    color: #ffffff !important;
    border: 1px solid rgba(200,155,60,.42) !important;
}

.activity-form input::placeholder,
.activity-form textarea::placeholder,
.file-upload-row input::placeholder {
    color: #92979c !important;
}

/* Paneles y contenido principal */
.content,
.stage,
.docs,
.grid,
.metrics {
    color: #f7f4ee !important;
}

.content {
    background: #101214 !important;
    border-color: rgba(200,155,60,.30) !important;
}

/* Documentos generales */
.doc,
.docs .doc {
    background: linear-gradient(
        180deg,
        #17191b,
        #101214
    ) !important;

    color: #ffffff !important;
    border-color: rgba(200,155,60,.30) !important;
}

.doc h3,
.doc p {
    color: #ffffff !important;
}

/* Etiquetas y estados que aparecen blancos */
.pill,
.badge,
.status,
.state,
.check-state {
    background: rgba(200,155,60,.13) !important;
    color: #e8bd64 !important;
    border: 1px solid rgba(200,155,60,.30) !important;
}

/* Evitar texto invisible en cualquier tarjeta clara heredada */
.card *,
.box *,
.metric *,
.doc *,
.file-item * {
    text-shadow: none !important;
}

/* Botones de acciones */
.file-actions a,
.actions a {
    background: transparent !important;
    color: #d9ad50 !important;
    border-color: rgba(200,155,60,.36) !important;
}

.file-actions .danger,
.actions .danger {
    color: #ef8c81 !important;
    border-color: rgba(201,92,80,.45) !important;
}

/* Tabla de Importaciones */
table tbody td {
    color: #f3f3f3 !important;
}

table tbody tr {
    background: #101214 !important;
}

table tbody tr:nth-child(even) {
    background: #141618 !important;
}

table tbody tr:hover {
    background: rgba(200,155,60,.08) !important;
}
.bf-sidebar-v099 .bf-nav-modules{padding:12px 10px!important;display:grid;gap:5px;overflow:visible}.bf-sidebar-v099 .bf-nav-modules a{min-height:48px;padding:11px 13px;border:1px solid transparent;border-left-width:3px;border-radius:9px}.bf-sidebar-v099 .bf-nav-modules a:hover,.bf-sidebar-v099 .bf-nav-modules a.active{border-color:rgba(200,155,60,.26);border-left-color:#c89b3c}.bf-sidebar-scope{margin:4px 14px 12px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.025)}.bf-sidebar-scope small,.bf-sidebar-scope span{display:block}.bf-sidebar-scope small{color:#d6aa50;font-size:9px;font-weight:900;letter-spacing:.1em}.bf-sidebar-scope span{margin-top:5px;color:#858b90;font-size:10px;line-height:1.45}
