/* =========================================================
   FactSup Premium UI · 2026-09-24
   SaaS financiero institucional, compacto y accesible.
   ========================================================= */
:root{
  --ff-primary:#10B981;
  --ff-primary-strong:#059669;
  --ff-blue:#3B82F6;
  --ff-canvas:#F8FAFC;
  --ff-surface:#FFFFFF;
  --ff-text:#0F172A;
  --ff-muted:#64748B;
  --ff-border:#E2E8F0;
  --ff-danger:#E5484D;
  --ff-warning:#F59E0B;
  --ff-radius:12px;
  --ff-shadow:0 1px 3px rgba(15,23,42,.05);
  --ff-rail-shadow:0 8px 32px rgba(15,23,42,.08);
}

html[data-theme="light"]{
  --mc-red:#10B981;
  --mc-red-2:#059669;
  --mc-blue:#3B82F6;
  --mc-blue-2:#2563EB;
  --bg:#F8FAFC;
  --bg-2:#F1F5F9;
  --sidebar:#FFFFFF;
  --sidebar-2:#FFFFFF;
  --card:#FFFFFF;
  --card-2:#FFFFFF;
  --card-3:#F8FAFC;
  --soft:#F8FAFC;
  --line:#E2E8F0;
  --line-2:#CBD5E1;
  --text:#0F172A;
  --text-2:#334155;
  --muted:#64748B;
  --shadow:var(--ff-shadow);
  --radius:var(--ff-radius);
}

html[data-theme="dark"]{
  --mc-red:#10B981;
  --mc-red-2:#059669;
  --mc-blue:#60A5FA;
  --mc-blue-2:#3B82F6;
  --bg:#07110F;
  --bg-2:#0B1714;
  --sidebar:#0C1715;
  --sidebar-2:#0C1715;
  --card:#0F1D1A;
  --card-2:#0F1D1A;
  --card-3:#14241F;
  --soft:#0B1714;
  --line:rgba(226,232,240,.10);
  --line-2:rgba(226,232,240,.16);
  --text:#F8FAFC;
  --text-2:#D7E2DE;
  --muted:#8FA49D;
  --shadow:0 1px 3px rgba(0,0,0,.25);
  --radius:var(--ff-radius);
}

body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-variant-numeric:tabular-nums;
  background:var(--bg)!important;
  color:var(--text);
}
h1,h2,h3,.metric-value,.card-title,.brand-caption strong{font-family:"Plus Jakarta Sans",Inter,sans-serif}

/* Rail / navegación */
.sidebar{
  width:268px;
  top:12px;bottom:12px;left:12px;
  height:auto;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--sidebar)!important;
  box-shadow:var(--ff-rail-shadow)!important;
  overflow-y:auto;
}
.main{margin-left:292px}
.brand-box{
  min-height:72px;padding:11px 10px!important;
  display:grid;grid-template-columns:44px minmax(0,1fr) 40px;align-items:center;gap:8px;
  background:transparent!important;border-bottom:1px solid var(--line)!important;
}
.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#ECFDF5;color:#047857;font-family:"Plus Jakarta Sans";font-size:14px;font-weight:800;border:1px solid #D1FAE5}
.brand-mark-logo{overflow:hidden;padding:5px;background:#ECFDF5}.brand-mark-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:9px}.brand-mark-logo img[src$="overload-rd-icon.png"]{padding:3px}
html[data-theme="dark"] .brand-mark{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.22);color:#6EE7B7}
.brand-caption{padding:0!important}.brand-caption strong{font-size:15px}.brand-caption span{font-size:10px;color:var(--muted);letter-spacing:0}
.sidebar-toggle{width:38px;height:38px;min-height:38px;margin:0!important;border-radius:10px;background:transparent!important;border:1px solid var(--line)!important;color:var(--muted)}
.sidebar-toggle span{display:none}
.side-nav{padding:10px 8px 20px!important}
.nav-item{position:relative;min-height:44px;margin:3px 0;padding:10px 11px;border-radius:10px;gap:11px;font-size:13px;font-weight:700;color:var(--text-2);border:0!important;box-shadow:none!important;background:transparent!important;transform:none!important}
.nav-item svg{width:19px;height:19px;stroke-width:1.8}
.nav-item:hover{background:var(--soft)!important;color:var(--text)}
.nav-item.active{background:#ECFDF5!important;color:#047857!important}
html[data-theme="dark"] .nav-item.active{background:rgba(16,185,129,.13)!important;color:#6EE7B7!important}
.nav-item.active:before{content:"";position:absolute;left:-8px;top:10px;bottom:10px;width:3px;border-radius:99px;background:var(--ff-primary)}
.nav-group{margin:3px 0}.nav-group summary{list-style:none;cursor:pointer}.nav-group summary::-webkit-details-marker{display:none}.nav-group-chevron{margin-left:auto!important;width:15px!important;height:15px!important;transition:transform .2s}.nav-group[open] .nav-group-chevron{transform:rotate(180deg)}
.nav-submenu{padding:3px 0 4px 30px;display:grid;gap:2px}.nav-subitem{display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 10px;border-radius:9px;color:var(--muted);font-size:12px;font-weight:700}.nav-subitem svg{width:16px;height:16px;stroke-width:1.8}.nav-subitem:hover,.nav-subitem.active{background:var(--soft);color:var(--text)}.nav-subitem.active{color:#047857}

@media(min-width:981px){
  html.sidebar-precollapsed .sidebar,body.sidebar-collapsed .sidebar{width:72px!important}
  html.sidebar-precollapsed .main,body.sidebar-collapsed .main{margin-left:96px!important}
  html.sidebar-precollapsed .brand-box,body.sidebar-collapsed .brand-box{grid-template-columns:1fr!important;padding:10px 8px!important;justify-items:center}
  html.sidebar-precollapsed .brand-mark,body.sidebar-collapsed .brand-mark{width:42px;height:42px}
  html.sidebar-precollapsed .brand-caption,body.sidebar-collapsed .brand-caption{display:none!important}
  html.sidebar-precollapsed .sidebar-toggle,body.sidebar-collapsed .sidebar-toggle{width:42px;height:36px;margin-top:5px!important}
  html.sidebar-precollapsed .side-nav,body.sidebar-collapsed .side-nav{padding:8px!important}
  html.sidebar-precollapsed .nav-item,body.sidebar-collapsed .nav-item{width:54px;min-height:46px;margin:3px auto;padding:0;justify-content:center}
  html.sidebar-precollapsed .nav-item span,body.sidebar-collapsed .nav-item span{display:none!important}
  html.sidebar-precollapsed .nav-group-chevron,body.sidebar-collapsed .nav-group-chevron{display:none!important}
  html.sidebar-precollapsed .nav-submenu,body.sidebar-collapsed .nav-submenu{display:none!important}
  html.sidebar-precollapsed .nav-group:not([open]) .nav-submenu,body.sidebar-collapsed .nav-group:not([open]) .nav-submenu{display:none!important}
}

/* Header */
.topbar{min-height:88px;padding:15px 28px;background:rgba(248,250,252,.90)!important;border-bottom:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:none}
html[data-theme="dark"] .topbar{background:rgba(7,17,15,.90)!important}
.topbar h1{font-family:"Plus Jakarta Sans";font-size:28px;color:var(--text)!important;letter-spacing:-.035em}
.crumb{font-size:11px;color:var(--muted)!important;text-transform:none;letter-spacing:0;font-weight:700}.crumb span{padding:0 5px;color:#CBD5E1}
.topbar-right{gap:9px}.quick-sale-btn{min-height:42px;padding:10px 15px;border-radius:10px;background:var(--ff-primary)!important;color:#fff;box-shadow:none!important;border:1px solid rgba(5,150,105,.08);font-size:13px;font-weight:800}.quick-sale-btn:hover{background:var(--ff-primary-strong)!important}
.global-search-trigger{height:42px;min-width:196px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);display:flex;align-items:center;gap:8px;cursor:pointer;font:inherit;font-size:12px}.global-search-trigger svg{width:17px;height:17px}.global-search-trigger span{flex:1;text-align:left}.global-search-trigger kbd,.command-palette kbd{border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:6px;padding:3px 6px;font:600 10px Inter}
.theme-toggle{width:42px;height:42px;min-width:42px;border-radius:10px;box-shadow:none!important;background:var(--card)!important;border-color:var(--line)!important}
.session-card{min-height:42px;padding:5px 7px;border-radius:11px;background:var(--card)!important;border:1px solid var(--line)!important;box-shadow:none!important}.session-avatar{width:32px;height:32px;border-radius:9px;background:#ECFDF5;color:#047857;box-shadow:none;font-size:12px}.session-info strong{font-size:12px;color:var(--text)!important}.session-info span{font-size:9px;letter-spacing:.06em}.session-logout{width:30px;height:30px;border-radius:8px;background:transparent!important;color:var(--muted)}

.content{padding:24px 28px 40px;max-width:1600px}.flash-wrap{padding:12px 28px 0}
.card,.metric,.summary-box,.login-card{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--ff-radius)!important;box-shadow:var(--ff-shadow)!important}.card-pad{padding:20px}.card-title{font-size:16px;letter-spacing:-.02em}
.grid{gap:14px}.metric{padding:18px;min-height:118px}.metric:before{display:none}.metric-label{font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:var(--muted)}.metric-value{font-size:26px;font-weight:800;letter-spacing:-.035em}.metric-sub{font-size:11px}

.btn{min-height:39px;padding:9px 13px;border-radius:9px;box-shadow:none!important;font-size:12px;font-weight:750;border:1px solid var(--line);background:var(--card);color:var(--text)}.btn:hover{transform:none;filter:none;background:var(--soft)}.btn-primary,.btn-success{background:var(--ff-primary)!important;border-color:var(--ff-primary)!important;color:#fff!important}.btn-primary:hover,.btn-success:hover{background:var(--ff-primary-strong)!important}.btn-danger{background:#fff!important;color:var(--ff-danger)!important;border-color:rgba(229,72,77,.28)!important}.btn-warning{background:#FFFBEB!important;color:#92400E!important;border-color:#FDE68A!important}.btn-light{background:var(--card)!important;color:var(--text-2)!important;border-color:var(--line)!important}.btn-sm{min-height:32px;padding:6px 9px;border-radius:8px}
.input,.select,.textarea{border:1px solid var(--line-2);border-radius:9px;padding:10px 11px;background:var(--card)!important;color:var(--text)!important;box-shadow:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--ff-blue);box-shadow:0 0 0 3px rgba(59,130,246,.10)}.field label{font-size:12px;color:var(--text)!important;font-weight:700}

.table-wrap{border-radius:12px;border:1px solid var(--line);background:var(--card)!important}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line)}.table th{height:38px;background:var(--soft)!important;color:var(--muted)!important;font-size:10px;letter-spacing:.055em}.table td{color:var(--text-2)!important;font-size:12px}.table tbody tr:hover td{background:rgba(148,163,184,.055)!important}.table td:nth-last-child(-n+4){font-variant-numeric:tabular-nums}.product-thumb{width:44px;height:44px;border-radius:10px}
.badge{position:relative;gap:6px;padding:5px 9px;border:1px solid transparent;background:transparent!important;font-size:10px}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-green,.badge-success{color:#059669!important;border-color:rgba(16,185,129,.18)!important}.badge-yellow{color:#D97706!important;border-color:rgba(245,158,11,.2)!important}.badge-red{color:#DC2626!important;border-color:rgba(229,72,77,.2)!important}.badge-blue{color:#2563EB!important;border-color:rgba(59,130,246,.18)!important}.badge-gray{color:#64748B!important;border-color:rgba(100,116,139,.18)!important}

/* Configuración como submódulo */
.settings-subnav{display:flex;gap:6px;align-items:center;overflow:auto;margin:0 0 18px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--ff-shadow)}.settings-subnav-item{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.settings-subnav-item svg{width:16px;height:16px}.settings-subnav-item:hover{background:var(--soft);color:var(--text)}.settings-subnav-item.active{background:#ECFDF5;color:#047857}html[data-theme="dark"] .settings-subnav-item.active{background:rgba(16,185,129,.13);color:#6EE7B7}

/* Command palette */
.command-backdrop{position:fixed;inset:0;z-index:180;background:rgba(15,23,42,.42);backdrop-filter:blur(3px);opacity:0;transition:opacity .15s}.command-backdrop.open{opacity:1}.command-palette{position:fixed;z-index:190;top:min(18vh,150px);left:50%;width:min(680px,calc(100vw - 28px));transform:translate(-50%,-12px) scale(.985);opacity:0;visibility:hidden;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 80px rgba(15,23,42,.22);overflow:hidden;transition:.16s ease}.command-palette.open{transform:translate(-50%,0) scale(1);opacity:1;visibility:visible}.command-search-row{height:60px;display:flex;align-items:center;gap:10px;padding:0 15px;border-bottom:1px solid var(--line)}.command-search-row svg{width:20px;color:var(--muted)}.command-search-row input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font:500 15px Inter}.command-results{max-height:420px;overflow:auto;padding:7px}.command-empty{min-height:150px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--muted);font-size:12px;text-align:center}.command-empty svg{width:26px}.command-group-title{padding:8px 10px 5px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.command-result{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;color:var(--text-2);cursor:pointer}.command-result:hover,.command-result.active{background:var(--soft)}.command-result-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#ECFDF5;color:#047857}.command-result-icon svg{width:17px}.command-result-copy{display:grid;gap:2px;min-width:0;flex:1}.command-result-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-result-copy span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-footer{display:flex;gap:16px;padding:9px 14px;border-top:1px solid var(--line);background:var(--soft);color:var(--muted);font-size:9px}

/* Dashboard premium */
.finance-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.6fr);gap:24px;align-items:end;padding:26px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--ff-shadow);margin-bottom:14px}.finance-hero:after{content:"";position:absolute;right:-70px;top:-90px;width:250px;height:250px;border-radius:50%;background:rgba(16,185,129,.07);pointer-events:none}.finance-hero-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ff-primary);box-shadow:0 0 0 5px rgba(16,185,129,.10)}.finance-hero-value{font-family:"Plus Jakarta Sans";font-size:clamp(36px,5vw,58px);font-weight:800;letter-spacing:-.055em;line-height:1;margin:12px 0 8px}.finance-hero-copy{color:var(--muted);font-size:12px}.finance-hero-side{display:grid;gap:8px}.hero-mini{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.hero-mini:last-child{border-bottom:0}.hero-mini span{color:var(--muted)}.hero-mini strong{font-size:12px}
.kpi-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.kpi-premium{padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--card);box-shadow:var(--ff-shadow)}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--muted)}.kpi-icon svg{width:16px;height:16px}.kpi-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:750}.kpi-number{font-family:"Plus Jakarta Sans";font-size:22px;font-weight:800;letter-spacing:-.035em;margin-top:13px}.kpi-note{margin-top:6px;font-size:10px;color:var(--muted)}.kpi-note.positive{color:#059669}.kpi-note.negative{color:#DC2626}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:14px;margin-top:14px}.dashboard-stack{display:grid;gap:14px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-header h2{font-family:"Plus Jakarta Sans";font-size:15px;margin:0}.panel-header p{margin:3px 0 0;color:var(--muted);font-size:10px}
.cashflow-chart{display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:10px;align-items:end;height:225px;padding-top:12px}.cash-month{height:100%;display:grid;grid-template-rows:1fr auto;gap:8px}.cash-bars{display:flex;gap:4px;align-items:end;height:100%;border-bottom:1px solid var(--line);padding:0 8px}.cash-bar{width:50%;min-height:2px;border-radius:5px 5px 2px 2px;transition:height .25s}.cash-bar.in{background:var(--ff-primary)}.cash-bar.out{background:#CBD5E1}html[data-theme="dark"] .cash-bar.out{background:#475569}.cash-label{text-align:center;font-size:9px;color:var(--muted);font-weight:700}.chart-legend{display:flex;align-items:center;gap:14px;font-size:10px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:8px;height:8px;border-radius:2px;background:var(--ff-primary)}.chart-legend .out i{background:#CBD5E1}
.receivable-list,.stock-list,.expense-upcoming-list{display:grid}.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row strong{font-size:11px}.list-row small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.list-amount{text-align:right;font-weight:750;font-size:11px}.progress-track{height:4px;background:var(--soft);border-radius:99px;overflow:hidden;margin-top:6px}.progress-bar{height:100%;border-radius:99px;background:var(--ff-primary)}
.quick-actions-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.quick-action-card{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text-2);font-size:11px;font-weight:700}.quick-action-card:hover{border-color:#A7F3D0;background:#ECFDF5;color:#047857}.quick-action-card svg{width:17px;height:17px}

/* Finanzas por pestañas */
.finance-section-nav{display:flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:11px;background:var(--card);margin:14px 0;overflow:auto;position:sticky;top:94px;z-index:8}.finance-section-nav a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--muted)!important;font-size:11px;font-weight:750;white-space:nowrap}.finance-section-nav a svg{width:15px}.finance-section-nav a.active{background:#ECFDF5!important;color:#047857!important}html[data-theme="dark"] .finance-section-nav a.active{background:rgba(16,185,129,.13)!important;color:#6EE7B7!important}.finance-section[data-finance-panel]{display:none}.finance-section[data-finance-panel].active{display:block}.finance-overview-panel{display:none}.finance-overview-panel.active{display:block}.finance-form-highlight{background:var(--soft)!important;border:1px solid var(--line)!important;border-radius:11px!important}

/* Mobile */
.quick-action-sheet{display:none}
.mobile-settings-group{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.mobile-settings-group summary{list-style:none;display:grid;grid-template-columns:22px 1fr 18px;align-items:center;gap:8px;padding:10px;color:var(--text);font-size:12px;font-weight:800}.mobile-settings-group summary::-webkit-details-marker{display:none}.mobile-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 4px 8px}.mobile-settings-grid a{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text-2);font-size:11px;font-weight:700}.mobile-settings-grid a.active{border-color:#A7F3D0;color:#047857}.mobile-settings-grid svg{width:16px}

@media(max-width:1180px){.kpi-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.quick-actions-row{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(max-width:980px){
  .sidebar{display:none!important}.main{margin-left:0!important}.content{padding:16px 12px calc(94px + env(safe-area-inset-bottom))}.topbar{min-height:70px;padding:10px 12px}.topbar h1{font-size:20px}.crumb{font-size:9px}.global-search-trigger{min-width:38px;width:38px;padding:0;justify-content:center}.global-search-trigger span,.global-search-trigger kbd{display:none}.quick-sale-btn{display:none}.session-info{display:none}.session-card{padding:4px}.session-avatar{width:31px;height:31px}.session-logout{width:28px;height:28px}.theme-toggle{width:38px;height:38px;min-width:38px}
  .finance-hero{grid-template-columns:1fr;padding:20px}.finance-hero-side{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-hero-value{font-size:38px}.kpi-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi-premium{padding:13px}.kpi-number{font-size:18px}.dashboard-grid{grid-template-columns:1fr}.cashflow-chart{overflow-x:auto;grid-template-columns:repeat(6,minmax(72px,1fr));height:200px}.quick-actions-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-subnav{margin-bottom:12px}
  .mobile-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;background:rgba(255,255,255,.97)!important;border-top:1px solid var(--line)!important;box-shadow:0 -8px 26px rgba(15,23,42,.08)!important}html[data-theme="dark"] .mobile-bottom-nav{background:rgba(7,17,15,.97)!important}.mobile-primary-plus{position:relative;overflow:visible!important}.mobile-plus-circle{width:46px;height:46px;margin-top:-20px;border-radius:50%;display:grid!important;place-items:center;background:var(--ff-primary);color:#fff;border:4px solid var(--bg);box-shadow:0 8px 20px rgba(16,185,129,.24)}.mobile-primary-plus>span:last-child{margin-top:-2px}.mobile-primary-plus svg{width:22px!important;height:22px!important}
  .quick-action-sheet{display:block;position:fixed;left:0;right:0;bottom:0;z-index:135;padding:8px 14px calc(22px + env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;background:var(--card);box-shadow:0 -24px 60px rgba(15,23,42,.22);transform:translateY(105%);visibility:hidden;transition:.22s}.quick-action-sheet.open{transform:translateY(0);visibility:visible}.quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-action-grid a{min-height:86px;padding:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:10px;font-weight:750;color:var(--text-2);text-align:center}.quick-action-grid a svg{width:20px;height:20px;color:var(--ff-primary)}
  .mobile-more-sheet{background:var(--card)!important;border-color:var(--line)!important}.mobile-sheet-item{background:var(--soft)!important;border-color:var(--line)!important;color:var(--text-2)!important}.mobile-sheet-icon{background:#ECFDF5!important;color:#047857}.mobile-sheet-header span,.mobile-sheet-session span{color:var(--muted)!important}
  .finance-section-nav{top:72px;margin-left:-2px;margin-right:-2px}
}

@media(max-width:560px){.finance-hero-side{grid-template-columns:1fr}.kpi-bento{grid-template-columns:1fr 1fr}.quick-actions-row{grid-template-columns:1fr 1fr}.command-footer{display:none}}

@media print{.global-search-trigger,.settings-subnav,.quick-action-sheet{display:none!important}}

/* Listados, filtros y perfiles */
.filter-bar{align-items:end}.filter-bar .input,.filter-bar .select{width:auto;min-width:145px}.filter-bar .input:first-child{min-width:260px;flex:1}.table-meta{display:flex;justify-content:space-between;gap:10px;margin:0 2px 8px;color:var(--muted);font-size:10px;font-weight:650}.pagination{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:14px}.pagination a{min-width:34px;height:34px;padding:0 9px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text-2);font-size:11px;font-weight:750}.pagination a svg{width:15px}.pagination a.active{background:var(--ff-primary);border-color:var(--ff-primary);color:#fff}.pagination a.disabled{opacity:.4;pointer-events:none}.status-tabs{display:flex;gap:6px;overflow:auto;margin-bottom:14px;padding:5px;border:1px solid var(--line);border-radius:11px;background:var(--card)}.status-tabs a{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:8px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.status-tabs a strong{min-width:22px;height:20px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:var(--soft);font-size:9px}.status-tabs a.active{background:#ECFDF5;color:#047857}html[data-theme="dark"] .status-tabs a.active{background:rgba(16,185,129,.13);color:#6EE7B7}.client-profile-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.8fr);gap:14px}.client-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.client-profile-grid{grid-template-columns:1fr}.client-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.filter-bar{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:7px}.filter-bar .input,.filter-bar .select,.filter-bar .input:first-child{width:100%;min-width:0;max-width:none!important}.filter-bar .input:first-child{grid-column:1/-1}.filter-bar .btn{width:100%}.status-tabs{margin-left:-2px;margin-right:-2px}.client-kpis{grid-template-columns:1fr 1fr}.client-profile-grid{grid-template-columns:1fr}}
@media(max-width:520px){.client-kpis{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.filter-bar .input:first-child{grid-column:auto}}
.menu-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.menu-module-card{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--ff-shadow);color:var(--text-2)}.menu-module-card:hover{border-color:#A7F3D0;background:#F0FDF4}.menu-module-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#ECFDF5;color:#047857}.menu-module-icon svg{width:18px}.menu-module-card strong{display:block;font-family:"Plus Jakarta Sans";font-size:12px;color:var(--text)}.menu-module-card small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.menu-module-arrow{width:15px;color:var(--muted)}html[data-theme="dark"] .menu-module-card:hover{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.24)}html[data-theme="dark"] .menu-module-icon{background:rgba(16,185,129,.12);color:#6EE7B7}@media(max-width:1100px){.menu-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.menu-module-grid{grid-template-columns:1fr}}


/* FactSup v11 · Finanzas compactas + submenú lateral */
.finance-kpi-grid{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.finance-kpi-grid.active{display:grid!important}
.finance-kpi-card{position:relative;min-width:0;padding:16px 17px 15px;border:1px solid var(--line);border-radius:13px;background:var(--card);box-shadow:var(--ff-shadow);overflow:hidden}
.finance-kpi-card:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--ff-primary);opacity:.6}
.finance-kpi-card[data-tone="blue"]:after{background:#3B82F6}.finance-kpi-card[data-tone="amber"]:after{background:#F59E0B}.finance-kpi-card[data-tone="red"]:after{background:#E5484D}
.finance-kpi-head{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.finance-kpi-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#ECFDF5;color:#047857;flex:0 0 auto}
.finance-kpi-card[data-tone="blue"] .finance-kpi-icon{background:#EFF6FF;color:#2563EB}.finance-kpi-card[data-tone="amber"] .finance-kpi-icon{background:#FFFBEB;color:#D97706}.finance-kpi-card[data-tone="red"] .finance-kpi-icon{background:#FEF2F2;color:#DC2626}
.finance-kpi-icon svg{width:15px;height:15px;stroke-width:1.9}.finance-kpi-card>strong{display:block;margin-top:12px;font-family:"Plus Jakarta Sans",Inter,sans-serif;font-size:23px;line-height:1.05;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.finance-kpi-card>small{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.45}
html[data-theme="dark"] .finance-kpi-icon{background:rgba(16,185,129,.13);color:#6EE7B7}html[data-theme="dark"] .finance-kpi-card[data-tone="blue"] .finance-kpi-icon{background:rgba(59,130,246,.14);color:#93C5FD}html[data-theme="dark"] .finance-kpi-card[data-tone="amber"] .finance-kpi-icon{background:rgba(245,158,11,.14);color:#FCD34D}html[data-theme="dark"] .finance-kpi-card[data-tone="red"] .finance-kpi-icon{background:rgba(229,72,77,.14);color:#FDA4AF}
.finance-summary-grid{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.finance-summary-grid.active{display:grid!important}.finance-summary-grid>.card{margin:0;min-width:0}
.finance-section[data-finance-panel]{display:none}.finance-section[data-finance-panel].active{display:block}
.finance-overview-panel{display:none}.finance-overview-panel.active{display:block}.finance-kpi-grid.finance-overview-panel.active,.finance-summary-grid.finance-overview-panel.active{display:grid!important}
.compact-expense-summary .metric{min-height:92px;padding:14px 15px}.compact-expense-summary .metric-value{font-size:21px;margin-top:5px}
.finance-nav-group>.nav-submenu{padding-bottom:5px}.finance-nav-group .nav-subitem.active{background:#ECFDF5;color:#047857}.finance-nav-group .nav-subitem.active svg{color:#047857}
html[data-theme="dark"] .finance-nav-group .nav-subitem.active{background:rgba(16,185,129,.13);color:#6EE7B7}html[data-theme="dark"] .finance-nav-group .nav-subitem.active svg{color:#6EE7B7}
.finance-toolbar{margin-bottom:12px}.finance-filter{width:100%}.finance-filter .btn{min-height:40px}
@media(max-width:1280px){.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.finance-summary-grid{grid-template-columns:1fr}.finance-kpi-card>strong{font-size:21px}.finance-kpi-grid{gap:9px}.mobile-finance-group{margin-top:8px}}
@media(max-width:560px){.finance-kpi-grid{grid-template-columns:1fr}.finance-kpi-card{padding:14px 15px}.finance-kpi-card>strong{font-size:22px}}
