/* ══════════════════════════════════════════════════════════════
   Finanzas Empresariales — Premium Visual Theme v52
   Accent: Emerald #10b981 / #059669
   Layout: vertical icon rail + contextual toolbar + content
   ══════════════════════════════════════════════════════════════ */

/* ── Animations ────────────────────────────────────────────── */
@keyframes finFadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes finSlideIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
@keyframes finPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes finShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes finModalIn{from{opacity:0;transform:scale(.93) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes finBadgePop{0%{transform:scale(0)}50%{transform:scale(1.3)}100%{transform:scale(1)}}
@keyframes finGlow{0%,100%{box-shadow:0 0 8px rgba(16,185,129,.15)}50%{box-shadow:0 0 18px rgba(16,185,129,.3)}}

/* ── Shell ──────────────────────────────────────────────────── */
#win-finanzas .fin-shell{
  display:flex;flex-direction:row;height:100%;
  background:linear-gradient(135deg,#f0fdf4 0%,#f4f5f7 40%,#fefce8 100%);
  overflow:hidden;
}

/* ── Icon Rail ─────────────────────────────────────────────── */
#win-finanzas .fin-rail{
  width:50px;flex-shrink:0;
  background:linear-gradient(180deg,#10b981 0%,#059669 50%,#047857 100%);
  display:flex;flex-direction:column;align-items:center;
  padding:10px 0 12px;gap:2px;z-index:2;
  box-shadow:2px 0 12px rgba(5,150,105,.15);
}
#win-finanzas .fin-rail-logo{
  width:34px;height:34px;border-radius:10px;
  background:rgba(255,255,255,.2);
  display:grid;place-items:center;
  margin-bottom:12px;flex-shrink:0;
  box-shadow:0 2px 8px rgba(0,0,0,.1);
  transition:all .2s;
}
#win-finanzas .fin-rail-logo:hover{transform:scale(1.08);background:rgba(255,255,255,.3)}
#win-finanzas .fin-rail-logo svg{stroke:#fff;width:18px;height:18px}
#win-finanzas .fin-rail-nav{
  display:flex;flex-direction:column;align-items:center;
  gap:2px;flex:1;width:100%;
}
#win-finanzas .fin-rail-btn{
  position:relative;width:40px;height:36px;border-radius:8px;
  border:none;background:transparent;color:rgba(255,255,255,.5);
  cursor:pointer;display:grid;place-items:center;
  transition:all .2s ease;font-size:15px;padding:0;
}
#win-finanzas .fin-rail-btn:hover{
  background:rgba(255,255,255,.15);color:#fff;
  transform:scale(1.08);
}
#win-finanzas .fin-rail-btn.fin-rail-active{
  background:rgba(255,255,255,.22);color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
#win-finanzas .fin-rail-btn.fin-rail-active::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:20px;border-radius:0 3px 3px 0;background:#fff;
  box-shadow:0 0 6px rgba(255,255,255,.5);
}
#win-finanzas .fin-rail-btn::after{
  content:attr(data-tip);position:absolute;left:calc(100% + 8px);top:50%;
  transform:translateY(-50%);padding:5px 12px;border-radius:8px;
  background:linear-gradient(135deg,#1f2937,#374151);color:#fff;
  font-size:11px;font-weight:500;white-space:nowrap;
  pointer-events:none;opacity:0;transition:opacity .15s;z-index:10;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}
#win-finanzas .fin-rail-btn:hover::after{opacity:1}
#win-finanzas .fin-rail-bottom{
  margin-top:auto;display:flex;flex-direction:column;
  align-items:center;gap:4px;flex-shrink:0;
}
#win-finanzas .fin-rail-alert{
  position:relative;width:36px;height:36px;border-radius:8px;
  border:none;background:rgba(255,255,255,.12);color:rgba(255,255,255,.65);
  cursor:pointer;display:grid;place-items:center;font-size:14px;
  transition:all .2s;padding:0;
}
#win-finanzas .fin-rail-alert:hover{
  background:rgba(255,255,255,.25);color:#fff;transform:scale(1.08);
}
#win-finanzas .fin-rail-badge{
  position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;
  border-radius:99px;background:linear-gradient(135deg,#ef4444,#dc2626);
  color:#fff;font-size:8px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  padding:0 3px;line-height:1;border:2px solid #059669;
  animation:finBadgePop .3s ease-out;
  box-shadow:0 2px 6px rgba(239,68,68,.4);
}

/* ── Main area ─────────────────────────────────────────────── */
#win-finanzas .fin-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}

/* ── Toolbar ───────────────────────────────────────────────── */
#win-finanzas .fin-toolbar{
  flex-shrink:0;background:linear-gradient(90deg,#fff,#f9fafb);
  border-bottom:1px solid #e5e7eb;
  padding:0 24px;display:flex;align-items:center;
  justify-content:space-between;height:50px;gap:12px;
}
#win-finanzas .fin-toolbar-left{display:flex;align-items:center;gap:12px;min-width:0}
#win-finanzas .fin-toolbar-title{font-size:16px;font-weight:700;color:#1f2937;white-space:nowrap}
#win-finanzas .fin-toolbar-sub{font-size:12px;color:#9ca3af;white-space:nowrap}
#win-finanzas .fin-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
#win-finanzas .fin-toolbar-search{
  display:flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:10px;
  background:#f4f5f7;border:1px solid #e5e7eb;
  width:220px;transition:all .2s;
}
#win-finanzas .fin-toolbar-search:focus-within{
  border-color:#10b981;background:#fff;
  box-shadow:0 0 0 3px rgba(16,185,129,.12);
}
#win-finanzas .fin-toolbar-search i{color:#9ca3af;font-size:12px}
#win-finanzas .fin-toolbar-search input{
  flex:1;background:transparent;border:none;color:#1f2937;
  font-size:12px;font-family:inherit;outline:none;min-width:0;
}
#win-finanzas .fin-toolbar-search input::placeholder{color:#9ca3af}

/* ── Body ───────────────────────────────────────────────────── */
#win-finanzas .fin-body{flex:1;overflow-y:auto;overflow-x:hidden}
#win-finanzas .fin-content{max-width:1100px;margin:0 auto;padding:20px 24px 32px}

/* ── Stat Strip (KPI bar) ──────────────────────────────────── */
#win-finanzas .fin-stat-strip{
  display:flex;gap:0;background:#fff;border-radius:14px;
  border:1px solid #e5e7eb;overflow:hidden;margin-bottom:20px;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
  animation:finFadeInUp .4s ease-out;
}
#win-finanzas .fin-stat-item{
  flex:1;padding:14px 14px;
  border-right:1px solid #f0f0f0;
  transition:all .2s;position:relative;overflow:hidden;
}
#win-finanzas .fin-stat-item:last-child{border-right:none}
#win-finanzas .fin-stat-item:hover{
  background:linear-gradient(135deg,rgba(16,185,129,.03),rgba(16,185,129,.06));
  transform:translateY(-1px);
}
#win-finanzas .fin-stat-label{
  font-size:10px;font-weight:600;color:#9ca3af;
  text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;
}
#win-finanzas .fin-stat-value{font-size:18px;font-weight:700;color:#1f2937;line-height:1}
#win-finanzas .fin-stat-sub{font-size:10px;color:#9ca3af;margin-top:4px}
#win-finanzas .fin-stat-positive{color:#10b981}
#win-finanzas .fin-stat-negative{color:#ef4444}
#win-finanzas .fin-stat-accent{height:3px;border-radius:0 0 3px 3px;margin-bottom:8px}
#win-finanzas .fin-stat-item.income .fin-stat-accent{background:linear-gradient(90deg,#10b981,#34d399)}
#win-finanzas .fin-stat-item.expense .fin-stat-accent{background:linear-gradient(90deg,#ef4444,#f87171)}
#win-finanzas .fin-stat-item.profit .fin-stat-accent{background:linear-gradient(90deg,#3b82f6,#60a5fa)}
#win-finanzas .fin-stat-item.balance .fin-stat-accent{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
#win-finanzas .fin-stat-item.receivable .fin-stat-accent{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}
#win-finanzas .fin-stat-item.payable .fin-stat-accent{background:linear-gradient(90deg,#f97316,#fb923c)}
#win-finanzas .fin-stat-item.dso .fin-stat-accent{background:linear-gradient(90deg,#06b6d4,#22d3ee)}
#win-finanzas .fin-stat-item.dpo .fin-stat-accent{background:linear-gradient(90deg,#f43f5e,#fb7185)}

/* ── Sparkline ─────────────────────────────────────────────── */
#win-finanzas .fin-sparkline{display:block;margin-top:6px}
#win-finanzas .fin-sparkline svg{display:block}

/* ── Cards ──────────────────────────────────────────────────── */
#win-finanzas .fin-card{
  background:#fff;border:1px solid #e5e7eb;
  border-radius:14px;overflow:hidden;margin-bottom:16px;
  transition:all .2s ease;
  box-shadow:0 1px 4px rgba(0,0,0,.03);
  animation:finFadeInUp .35s ease-out;
}
#win-finanzas .fin-card:hover{
  box-shadow:0 4px 16px rgba(0,0,0,.06);
  border-color:#d1d5db;
  transform:translateY(-1px);
}
#win-finanzas .fin-card-header{
  padding:14px 18px;border-bottom:1px solid #f0f0f0;
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(90deg,#fafafa,#fff);
}
#win-finanzas .fin-card-title{font-size:13px;font-weight:700;color:#1f2937}
#win-finanzas .fin-card-body{padding:16px 18px}
#win-finanzas .fin-card-body-flush{padding:0}

/* ── Two Column Grid ────────────────────────────────────────── */
#win-finanzas .fin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}

/* ── Modal System ────────────────────────────────────────────── */
#win-finanzas .fin-modal{
  position:absolute;inset:0;background:rgba(0,0,0,.45);
  display:flex;align-items:center;justify-content:center;
  z-index:900;backdrop-filter:blur(6px);
}
#win-finanzas .fin-modal-box{
  background:#fff;border:1px solid #e5e7eb;
  border-radius:16px;width:92%;
  box-shadow:0 25px 60px rgba(0,0,0,.18);
  display:flex;flex-direction:column;
  animation:finModalIn .22s ease-out;max-height:90%;
}
#win-finanzas .fin-modal-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid #e5e7eb;
  font-size:15px;font-weight:700;color:#1f2937;
  background:linear-gradient(90deg,#fafafa,#fff);
}
#win-finanzas .fin-modal-close{
  width:28px;height:28px;border-radius:8px;border:none;
  background:#f4f5f7;color:#9ca3af;
  font-size:18px;cursor:pointer;display:grid;place-items:center;
  transition:all .2s;font-family:inherit;
}
#win-finanzas .fin-modal-close:hover{background:#fee2e2;color:#ef4444;transform:scale(1.1)}
#win-finanzas .fin-modal-body{padding:16px 20px;overflow-y:auto}
#win-finanzas .fin-modal-footer{
  display:flex;justify-content:flex-end;gap:8px;
  padding:12px 20px 16px;border-top:1px solid #e5e7eb;
  background:#f9fafb;border-radius:0 0 16px 16px;
}

/* ── Buttons ─────────────────────────────────────────────────── */
#win-finanzas .fin-btn-primary{
  padding:8px 18px;border-radius:10px;border:none;
  background:linear-gradient(135deg,#10b981,#059669);
  color:#fff;font-size:13px;font-weight:600;
  cursor:pointer;transition:all .2s;font-family:inherit;
  box-shadow:0 2px 8px rgba(16,185,129,.25);
}
#win-finanzas .fin-btn-primary:hover{
  box-shadow:0 4px 15px rgba(16,185,129,.35);
  transform:translateY(-1px);
}
#win-finanzas .fin-btn-secondary{
  padding:8px 18px;border-radius:10px;
  border:1px solid #e5e7eb;background:#fff;
  color:#6b7280;font-size:13px;font-weight:500;
  cursor:pointer;transition:all .2s;font-family:inherit;
}
#win-finanzas .fin-btn-secondary:hover{background:#f4f5f7;color:#1f2937;transform:translateY(-1px)}
#win-finanzas .fin-btn-danger{
  padding:8px 18px;border-radius:10px;border:none;
  background:linear-gradient(135deg,#ef4444,#dc2626);
  color:#fff;font-size:13px;font-weight:600;
  cursor:pointer;transition:all .2s;font-family:inherit;
  box-shadow:0 2px 8px rgba(239,68,68,.25);
}
#win-finanzas .fin-btn-danger:hover{box-shadow:0 4px 15px rgba(239,68,68,.35);transform:translateY(-1px)}
#win-finanzas .fin-btn-icon{
  width:30px;height:30px;border-radius:8px;border:1px solid #e5e7eb;
  background:#fff;color:#9ca3af;
  display:grid;place-items:center;cursor:pointer;transition:all .2s;
  font-family:inherit;font-size:13px;padding:0;
}
#win-finanzas .fin-btn-icon:hover{
  background:#ecfdf5;color:#10b981;border-color:#a7f3d0;
  transform:scale(1.1);
}
#win-finanzas .fin-btn-sm{
  padding:4px 10px;border-radius:8px;border:1px solid #e5e7eb;
  background:#fff;color:#6b7280;font-size:11px;font-weight:500;
  cursor:pointer;transition:all .15s;font-family:inherit;
}
#win-finanzas .fin-btn-sm:hover{background:#f4f5f7;color:#1f2937;transform:translateY(-1px)}

/* ── Form Inputs ─────────────────────────────────────────────── */
#win-finanzas .fin-input{
  width:100%;padding:9px 12px;border-radius:10px;
  border:1px solid #e5e7eb;background:#fff;
  color:#1f2937;font-size:13px;font-family:inherit;outline:none;
  transition:all .2s;box-sizing:border-box;
}
#win-finanzas .fin-input:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.12)}
#win-finanzas .fin-select{
  width:100%;padding:9px 12px;border-radius:10px;
  border:1px solid #e5e7eb;background:#fff;
  color:#1f2937;font-size:13px;font-family:inherit;outline:none;cursor:pointer;
  box-sizing:border-box;transition:border-color .15s;
}
#win-finanzas .fin-select:focus{border-color:#10b981}
#win-finanzas .fin-label{
  display:block;font-size:11px;font-weight:600;
  color:#9ca3af;text-transform:uppercase;
  letter-spacing:.5px;margin-bottom:5px;
}
#win-finanzas .fin-textarea{
  width:100%;padding:9px 12px;border-radius:10px;
  border:1px solid #e5e7eb;background:#fff;
  color:#1f2937;font-size:13px;font-family:inherit;outline:none;
  resize:vertical;min-height:60px;box-sizing:border-box;transition:all .2s;
}
#win-finanzas .fin-textarea:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.12)}

/* ── Transaction Row ─────────────────────────────────────────── */
#win-finanzas .fin-tx-row{
  display:grid;grid-template-columns:36px 1fr 100px 100px 90px 36px;
  align-items:center;padding:10px 14px;
  cursor:pointer;transition:all .15s;gap:8px;
  border-bottom:1px solid #f0f0f0;
  animation:finSlideIn .25s ease-out;
}
#win-finanzas .fin-tx-row:last-child{border-bottom:none}
#win-finanzas .fin-tx-row:hover{background:linear-gradient(90deg,#f0fdf4,#fefce8);transform:translateX(2px)}
#win-finanzas .fin-tx-icon{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  font-size:14px;flex-shrink:0;transition:transform .2s;
}
#win-finanzas .fin-tx-row:hover .fin-tx-icon{transform:scale(1.1)}
#win-finanzas .fin-tx-icon.income{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669}
#win-finanzas .fin-tx-icon.expense{background:linear-gradient(135deg,#fef2f2,#fecaca);color:#dc2626}
#win-finanzas .fin-tx-name{font-size:13px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
#win-finanzas .fin-tx-cat{font-size:11px;color:#9ca3af}
#win-finanzas .fin-tx-amount{font-size:13px;font-weight:700;text-align:right}
#win-finanzas .fin-tx-amount.positive{color:#10b981}
#win-finanzas .fin-tx-amount.negative{color:#ef4444}
#win-finanzas .fin-tx-date{font-size:11px;color:#9ca3af;text-align:right}
#win-finanzas .fin-tx-badge{
  font-size:9px;font-weight:600;padding:3px 8px;border-radius:99px;
  text-align:center;white-space:nowrap;
}
#win-finanzas .fin-tx-badge.paid{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669}
#win-finanzas .fin-tx-badge.pending{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706}
#win-finanzas .fin-tx-badge.overdue{background:linear-gradient(135deg,#fef2f2,#fecaca);color:#dc2626}
#win-finanzas .fin-tx-badge.partial{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#2563eb}

/* ── Table Header ────────────────────────────────────────────── */
#win-finanzas .fin-table-header{
  display:grid;grid-template-columns:36px 1fr 100px 100px 90px 36px;
  padding:8px 14px;font-size:10px;font-weight:600;gap:8px;
  color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;
  border-bottom:1px solid #e5e7eb;background:#f9fafb;
}

/* ── Sortable Headers ──────────────────────────────────────── */
#win-finanzas .fin-sort-header{
  cursor:pointer;user-select:none;display:flex;align-items:center;gap:3px;
  transition:color .15s;
}
#win-finanzas .fin-sort-header:hover{color:#1f2937}
#win-finanzas .fin-sort-header.fin-sort-active{color:#10b981;font-weight:700}
#win-finanzas .fin-sort-header .fin-sort-arrow{font-size:8px;opacity:.5}
#win-finanzas .fin-sort-header.fin-sort-active .fin-sort-arrow{opacity:1}

/* ── Aging Bars ──────────────────────────────────────────────── */
#win-finanzas .fin-aging-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px}
#win-finanzas .fin-aging-label{font-size:11px;color:#6b7280;min-width:80px}
#win-finanzas .fin-aging-track{flex:1;height:22px;background:#f4f5f7;border-radius:8px;overflow:hidden}
#win-finanzas .fin-aging-fill{
  height:100%;border-radius:8px;display:flex;align-items:center;
  padding:0 8px;font-size:10px;font-weight:600;color:#fff;
  min-width:fit-content;transition:width .5s ease;
}
#win-finanzas .fin-aging-fill.current{background:linear-gradient(90deg,#10b981,#34d399)}
#win-finanzas .fin-aging-fill.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
#win-finanzas .fin-aging-fill.danger{background:linear-gradient(90deg,#ef4444,#f87171)}
#win-finanzas .fin-aging-fill.critical{background:linear-gradient(90deg,#dc2626,#ef4444)}
#win-finanzas .fin-aging-amount{font-size:12px;font-weight:600;color:#1f2937;min-width:80px;text-align:right}

/* ── Budget Row ──────────────────────────────────────────────── */
#win-finanzas .fin-budget-row{
  display:flex;align-items:center;gap:12px;padding:12px 0;
  border-bottom:1px solid #f0f0f0;transition:background .1s;
}
#win-finanzas .fin-budget-row:last-child{border-bottom:none}
#win-finanzas .fin-budget-row:hover{background:#f9fafb}
#win-finanzas .fin-budget-cat{font-size:13px;color:#1f2937;min-width:120px;font-weight:600}
#win-finanzas .fin-budget-track{flex:1;height:20px;background:#f4f5f7;border-radius:8px;overflow:hidden}
#win-finanzas .fin-budget-fill{
  height:100%;border-radius:8px;transition:width .5s ease;
  display:flex;align-items:center;padding-left:8px;
  font-size:10px;font-weight:600;color:#fff;
}
#win-finanzas .fin-budget-fill.ok{background:linear-gradient(90deg,#10b981,#34d399)}
#win-finanzas .fin-budget-fill.warn{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
#win-finanzas .fin-budget-fill.over{background:linear-gradient(90deg,#ef4444,#f87171)}
#win-finanzas .fin-budget-vals{font-size:11px;color:#6b7280;min-width:140px;text-align:right}
#win-finanzas .fin-budget-variance{font-size:11px;font-weight:700;min-width:60px;text-align:right}

/* ── Goal Card ───────────────────────────────────────────────── */
#win-finanzas .fin-goal-card{
  background:#fff;border:1px solid #e5e7eb;
  border-radius:14px;padding:16px;margin-bottom:10px;
  transition:all .2s;animation:finFadeInUp .3s ease-out;
}
#win-finanzas .fin-goal-card:hover{
  border-color:#a7f3d0;
  box-shadow:0 4px 16px rgba(16,185,129,.1);
  transform:translateY(-2px);
}
#win-finanzas .fin-goal-name{font-size:14px;font-weight:700;color:#1f2937;margin-bottom:4px}
#win-finanzas .fin-goal-desc{font-size:12px;color:#9ca3af;margin-bottom:10px}
#win-finanzas .fin-goal-progress{height:10px;background:#f4f5f7;border-radius:99px;overflow:hidden;margin-bottom:6px}
#win-finanzas .fin-goal-fill{
  height:100%;border-radius:99px;transition:width .5s ease;
  background:linear-gradient(90deg,#10b981,#34d399,#6ee7b7);
}
#win-finanzas .fin-goal-fill.complete{
  background:linear-gradient(90deg,#10b981,#34d399,#fbbf24);
  animation:finShimmer 2s linear infinite;
  background-size:200% 100%;
}
#win-finanzas .fin-goal-stats{display:flex;justify-content:space-between;font-size:11px;color:#9ca3af}

/* ── Chart Bars ──────────────────────────────────────────────── */
#win-finanzas .fin-chart-bars{
  display:flex;align-items:flex-end;gap:8px;height:140px;
  padding:0 4px;border-bottom:1px solid #e5e7eb;
}
#win-finanzas .fin-chart-bar-group{flex:1;display:flex;gap:3px;align-items:flex-end;height:100%}
#win-finanzas .fin-chart-bar{
  flex:1;border-radius:6px 6px 0 0;min-width:8px;
  transition:height .4s ease,opacity .2s;position:relative;
  cursor:pointer;
}
#win-finanzas .fin-chart-bar:hover{opacity:.85;transform:scaleY(1.02);transform-origin:bottom}
#win-finanzas .fin-chart-bar.income-bar{background:linear-gradient(180deg,#10b981,#34d399)}
#win-finanzas .fin-chart-bar.expense-bar{background:linear-gradient(180deg,#ef4444,#fca5a5)}
#win-finanzas .fin-chart-labels{display:flex;gap:8px;padding:6px 4px 0}
#win-finanzas .fin-chart-label{flex:1;text-align:center;font-size:10px;color:#9ca3af;font-weight:500}

/* ── Summary / Recent ──────────────────────────────────────── */
#win-finanzas .fin-summary-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:6px 0;font-size:12px;border-bottom:1px solid #f8f8f8;
}
#win-finanzas .fin-summary-item:last-child{border-bottom:none}
#win-finanzas .fin-summary-label{color:#9ca3af}
#win-finanzas .fin-summary-value{color:#1f2937;font-weight:700}
#win-finanzas .fin-summary-value.green{color:#10b981}
#win-finanzas .fin-summary-value.red{color:#ef4444}

#win-finanzas .fin-recent-item{
  display:flex;align-items:center;gap:8px;padding:6px 6px;
  border-radius:8px;cursor:pointer;transition:all .15s;
}
#win-finanzas .fin-recent-item:hover{background:linear-gradient(90deg,#f0fdf4,#fefce8);transform:translateX(3px)}
#win-finanzas .fin-recent-dot{width:8px;height:8px;border-radius:99px;flex-shrink:0}
#win-finanzas .fin-recent-dot.income{background:linear-gradient(135deg,#10b981,#34d399)}
#win-finanzas .fin-recent-dot.expense{background:linear-gradient(135deg,#ef4444,#f87171)}
#win-finanzas .fin-recent-name{flex:1;font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#win-finanzas .fin-recent-amount{font-size:11px;font-weight:700}

/* ── Empty State ─────────────────────────────────────────────── */
#win-finanzas .fin-empty{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;padding:60px 20px;text-align:center;
  animation:finFadeInUp .4s ease-out;
}
#win-finanzas .fin-empty i{font-size:52px;color:rgba(16,185,129,.25);margin-bottom:16px}
#win-finanzas .fin-empty-title{font-size:16px;font-weight:700;color:#6b7280;margin-bottom:6px}
#win-finanzas .fin-empty-sub{font-size:12px;color:#9ca3af;max-width:320px;line-height:1.5}

/* ── Guide ───────────────────────────────────────────────────── */
#win-finanzas .fin-guide-section{padding:16px 0;border-bottom:1px solid #f0f0f0}
#win-finanzas .fin-guide-section:last-child{border-bottom:none}
#win-finanzas .fin-guide-section h3{font-size:15px;font-weight:700;color:#1f2937;margin:0 0 8px}
#win-finanzas .fin-guide-section p{font-size:13px;color:#6b7280;line-height:1.6;margin:0 0 8px}
#win-finanzas .fin-guide-section ul{margin:0;padding-left:18px}
#win-finanzas .fin-guide-section li{font-size:13px;color:#6b7280;line-height:1.6;margin-bottom:4px}

/* ── Filter Pills ────────────────────────────────────────────── */
#win-finanzas .fin-filter-pills{display:flex;gap:4px;flex-wrap:wrap}
#win-finanzas .fin-pill{
  padding:5px 12px;border-radius:99px;font-size:11px;font-weight:500;
  border:1px solid #e5e7eb;background:#fff;
  color:#9ca3af;cursor:pointer;transition:all .15s;font-family:inherit;
}
#win-finanzas .fin-pill:hover{border-color:#a7f3d0;color:#1f2937;transform:translateY(-1px)}
#win-finanzas .fin-pill.active{
  background:linear-gradient(135deg,#ecfdf5,#d1fae5);
  color:#059669;border-color:#a7f3d0;font-weight:600;
  box-shadow:0 2px 6px rgba(16,185,129,.12);
}
#win-finanzas .fin-pill .fin-pill-count{font-size:9px;color:#9ca3af;margin-left:2px}

/* ── KPI helpers ─────────────────────────────────────────────── */
#win-finanzas .fin-kpi-positive{color:#10b981}
#win-finanzas .fin-kpi-negative{color:#ef4444}

/* ── Tags ──────────────────────────────────────────────────── */
#win-finanzas .fin-tags-wrap{display:flex;flex-wrap:wrap;gap:4px;align-items:center;
  padding:6px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;transition:border-color .15s}
#win-finanzas .fin-tags-wrap:focus-within{border-color:#10b981}
#win-finanzas .fin-tag{
  display:inline-flex;align-items:center;gap:3px;
  padding:3px 9px;border-radius:99px;font-size:10px;font-weight:600;
  background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669;
  border:1px solid #a7f3d0;
}
#win-finanzas .fin-tag-remove{cursor:pointer;font-size:13px;line-height:1;color:#6b7280;margin-left:2px}
#win-finanzas .fin-tag-remove:hover{color:#ef4444}
#win-finanzas .fin-tag-input{border:none;outline:none;font-size:11px;font-family:inherit;color:#1f2937;background:transparent;min-width:60px;flex:1}

/* ── Recurring Badge ───────────────────────────────────────── */
#win-finanzas .fin-recurring-badge{
  display:inline-flex;align-items:center;gap:3px;
  padding:2px 7px;border-radius:99px;font-size:9px;font-weight:600;
  background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#3b82f6;border:1px solid #bfdbfe;
}

/* ── Report Section ────────────────────────────────────────── */
#win-finanzas .fin-report-section{margin-bottom:20px}
#win-finanzas .fin-report-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;margin-bottom:16px}

/* ── P&L Table ─────────────────────────────────────────────── */
#win-finanzas .fin-pl-table{width:100%}
#win-finanzas .fin-pl-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 16px;font-size:12px;color:#1f2937;
  border-bottom:1px solid #f0f0f0;transition:background .1s;
}
#win-finanzas .fin-pl-row:last-child{border-bottom:none}
#win-finanzas .fin-pl-row:hover{background:#f9fafb}
#win-finanzas .fin-pl-total{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;font-size:14px;font-weight:700;color:#1f2937;
  background:linear-gradient(90deg,#f9fafb,#f0fdf4);
  border-top:2px solid #10b981;
}
#win-finanzas .fin-pl-header{
  display:flex;justify-content:space-between;
  padding:8px 16px;font-size:10px;font-weight:600;
  color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;
  border-bottom:1px solid #e5e7eb;background:#f9fafb;
}

/* ── Horizontal Bars ───────────────────────────────────────── */
#win-finanzas .fin-hbar-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;animation:finSlideIn .3s ease-out}
#win-finanzas .fin-hbar-label{font-size:11px;color:#6b7280;min-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#win-finanzas .fin-hbar-track{flex:1;height:18px;background:#f4f5f7;border-radius:6px;overflow:hidden}
#win-finanzas .fin-hbar-fill{height:100%;border-radius:6px;transition:width .5s ease}
#win-finanzas .fin-hbar-val{font-size:10px;font-weight:700;color:#1f2937;min-width:70px;text-align:right}
#win-finanzas .fin-hbar-pct{font-size:9px;color:#9ca3af;min-width:30px;text-align:right}

/* ── Forecast Table ────────────────────────────────────────── */
#win-finanzas .fin-forecast-table{width:100%}
#win-finanzas .fin-forecast-row{
  display:grid;grid-template-columns:1fr repeat(3,100px);
  padding:10px 16px;font-size:12px;color:#1f2937;
  border-bottom:1px solid #f0f0f0;gap:8px;transition:background .1s;
}
#win-finanzas .fin-forecast-row:last-child{border-bottom:none}
#win-finanzas .fin-forecast-row:hover{background:#f9fafb}
#win-finanzas .fin-forecast-header{
  display:grid;grid-template-columns:1fr repeat(3,100px);
  padding:8px 16px;font-size:10px;font-weight:600;
  color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;
  border-bottom:1px solid #e5e7eb;gap:8px;background:#f9fafb;
}

/* ── Calendar Grid ─────────────────────────────────────────── */
#win-finanzas .fin-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
#win-finanzas .fin-cal-title{font-size:18px;font-weight:700;color:#1f2937}
#win-finanzas .fin-cal-nav{display:flex;gap:6px;align-items:center}
#win-finanzas .fin-cal-grid{
  display:grid;grid-template-columns:repeat(7,1fr);
  gap:1px;background:#e5e7eb;border-radius:14px;overflow:hidden;
  border:1px solid #e5e7eb;box-shadow:0 2px 8px rgba(0,0,0,.04);
}
#win-finanzas .fin-cal-dow{
  background:linear-gradient(180deg,#f9fafb,#f4f5f7);padding:8px 4px;text-align:center;
  font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;
}
#win-finanzas .fin-cal-cell{
  background:#fff;min-height:72px;padding:4px 6px;
  cursor:pointer;transition:all .15s;position:relative;
}
#win-finanzas .fin-cal-cell:hover{background:#f0fdf4;transform:scale(1.02);z-index:1}
#win-finanzas .fin-cal-cell.fin-cal-today{
  background:linear-gradient(135deg,#ecfdf5,#d1fae5);
  box-shadow:inset 0 0 0 2px #10b981;
}
#win-finanzas .fin-cal-cell.fin-cal-other{background:#f9fafb;opacity:.4}
#win-finanzas .fin-cal-day{font-size:11px;font-weight:700;color:#6b7280;margin-bottom:2px}
#win-finanzas .fin-cal-today .fin-cal-day{color:#059669}
#win-finanzas .fin-cal-event{
  font-size:8px;padding:1px 4px;border-radius:4px;
  margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.5;font-weight:500;
}
#win-finanzas .fin-cal-event.cal-income{background:linear-gradient(90deg,#ecfdf5,#d1fae5);color:#059669}
#win-finanzas .fin-cal-event.cal-expense{background:linear-gradient(90deg,#fef2f2,#fecaca);color:#dc2626}
#win-finanzas .fin-cal-event.cal-receivable{background:linear-gradient(90deg,#fffbeb,#fef3c7);color:#d97706}
#win-finanzas .fin-cal-event.cal-payable{background:linear-gradient(90deg,#fff7ed,#ffedd5);color:#ea580c}
#win-finanzas .fin-cal-event.cal-goal{background:linear-gradient(90deg,#eff6ff,#dbeafe);color:#2563eb}
#win-finanzas .fin-cal-event.cal-recurring{background:linear-gradient(90deg,#f5f3ff,#ede9fe);color:#7c3aed}

/* ── Notification Panel ────────────────────────────────────── */
#win-finanzas .fin-notif-panel{
  position:absolute;bottom:48px;left:50px;width:330px;
  background:#fff;border:1px solid #e5e7eb;border-radius:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.15);z-index:800;
  max-height:400px;overflow-y:auto;animation:finModalIn .2s ease-out;
}
#win-finanzas .fin-notif-header{
  padding:12px 16px;border-bottom:1px solid #e5e7eb;
  font-size:13px;font-weight:700;color:#1f2937;
  display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(90deg,#fafafa,#fff);
}
#win-finanzas .fin-notif-item{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 16px;border-bottom:1px solid #f0f0f0;
  cursor:pointer;transition:all .15s;
}
#win-finanzas .fin-notif-item:last-child{border-bottom:none}
#win-finanzas .fin-notif-item:hover{background:linear-gradient(90deg,#f0fdf4,#fefce8);transform:translateX(2px)}
#win-finanzas .fin-notif-icon{
  width:30px;height:30px;border-radius:10px;display:grid;place-items:center;
  font-size:13px;flex-shrink:0;
}
#win-finanzas .fin-notif-icon.critical{background:linear-gradient(135deg,#fef2f2,#fecaca);color:#dc2626}
#win-finanzas .fin-notif-icon.urgent{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#ea580c}
#win-finanzas .fin-notif-icon.alert{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706}
#win-finanzas .fin-notif-icon.info{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#2563eb}
#win-finanzas .fin-notif-text{font-size:12px;color:#1f2937;line-height:1.4;font-weight:500}
#win-finanzas .fin-notif-sub{font-size:10px;color:#9ca3af;margin-top:2px}

/* ── Onboarding ────────────────────────────────────────────── */
#win-finanzas .fin-onboarding{
  background:linear-gradient(135deg,#ecfdf5,#fff);
  border:1px solid #a7f3d0;
  border-radius:14px;padding:16px 20px;margin-bottom:20px;
  box-shadow:0 2px 12px rgba(16,185,129,.08);
  animation:finFadeInUp .4s ease-out;
}
#win-finanzas .fin-onboarding-title{font-size:15px;font-weight:700;color:#1f2937;margin-bottom:4px}
#win-finanzas .fin-onboarding-sub{font-size:12px;color:#6b7280;margin-bottom:12px}
#win-finanzas .fin-onboarding-progress{height:8px;background:#d1fae5;border-radius:99px;overflow:hidden;margin-bottom:12px}
#win-finanzas .fin-onboarding-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#10b981,#f59e0b);transition:width .4s}
#win-finanzas .fin-onboarding-step{
  display:flex;align-items:center;gap:10px;padding:6px 0;
  font-size:12px;color:#6b7280;transition:all .15s;
}
#win-finanzas .fin-onboarding-step:hover{color:#1f2937;transform:translateX(3px)}
#win-finanzas .fin-onboarding-check{
  width:22px;height:22px;border-radius:8px;
  border:2px solid #e5e7eb;display:grid;place-items:center;
  font-size:11px;color:transparent;flex-shrink:0;transition:all .2s;
}
#win-finanzas .fin-onboarding-check.done{
  background:linear-gradient(135deg,#10b981,#059669);
  border-color:#10b981;color:#fff;
  box-shadow:0 2px 6px rgba(16,185,129,.3);
}

/* ── Audit Log Viewer ──────────────────────────────────────── */
#win-finanzas .fin-audit-viewer{max-height:300px;overflow-y:auto}
#win-finanzas .fin-audit-entry{
  display:flex;align-items:center;gap:10px;
  padding:7px 0;border-bottom:1px solid #f0f0f0;font-size:11px;
  transition:background .1s;
}
#win-finanzas .fin-audit-entry:hover{background:#f9fafb}
#win-finanzas .fin-audit-entry:last-child{border-bottom:none}
#win-finanzas .fin-audit-date{color:#9ca3af;min-width:110px;font-size:10px}
#win-finanzas .fin-audit-action{
  padding:2px 8px;border-radius:6px;font-size:9px;font-weight:600;
  background:linear-gradient(135deg,#f4f5f7,#e5e7eb);color:#6b7280;
}
#win-finanzas .fin-audit-detail{flex:1;color:#1f2937;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── Period Comparison ─────────────────────────────────────── */
#win-finanzas .fin-period-compare{font-size:9px;font-weight:700;margin-top:2px}
#win-finanzas .fin-trend-up{color:#10b981}
#win-finanzas .fin-trend-down{color:#ef4444}
#win-finanzas .fin-trend-neutral{color:#9ca3af}

/* ── Break-Even Bar ────────────────────────────────────────── */
#win-finanzas .fin-breakeven-bar{height:12px;background:#f4f5f7;border-radius:99px;overflow:hidden;margin-top:6px}
#win-finanzas .fin-breakeven-fill{height:100%;border-radius:99px;transition:width .5s}

/* ── Account Timeline ──────────────────────────────────────── */
#win-finanzas .fin-account-timeline{padding:8px 0}
#win-finanzas .fin-payment-entry{
  display:flex;align-items:center;gap:10px;
  padding:6px 0;border-left:2px solid #a7f3d0;
  margin-left:8px;padding-left:16px;position:relative;
  transition:all .15s;
}
#win-finanzas .fin-payment-entry:hover{background:#f0fdf4;border-radius:0 8px 8px 0}
#win-finanzas .fin-payment-entry::before{
  content:'';position:absolute;left:-5px;top:50%;transform:translateY(-50%);
  width:8px;height:8px;border-radius:99px;
  background:linear-gradient(135deg,#10b981,#34d399);border:2px solid #fff;
  box-shadow:0 1px 3px rgba(0,0,0,.1);
}
#win-finanzas .fin-payment-entry .fin-pay-date{font-size:10px;color:#9ca3af;min-width:80px}
#win-finanzas .fin-payment-entry .fin-pay-amount{font-size:12px;font-weight:700;color:#10b981}

/* ── Split Row ─────────────────────────────────────────────── */
#win-finanzas .fin-split-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed #e5e7eb}
#win-finanzas .fin-split-row:last-child{border-bottom:none}

/* ── Search Dropdown ───────────────────────────────────────── */
#win-finanzas .fin-search-dropdown{
  position:absolute;top:100%;left:0;right:0;
  background:#fff;border:1px solid #e5e7eb;border-radius:10px;
  box-shadow:0 8px 30px rgba(0,0,0,.12);z-index:50;
  max-height:240px;overflow-y:auto;margin-top:4px;
}
#win-finanzas .fin-search-result{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;cursor:pointer;transition:all .1s;font-size:12px;color:#1f2937;
}
#win-finanzas .fin-search-result:hover{background:#f0fdf4}
#win-finanzas .fin-search-result .fin-sr-badge{font-size:9px;padding:1px 6px;border-radius:4px;font-weight:600}

/* ── Currency Selector ─────────────────────────────────────── */
#win-finanzas .fin-currency-select{
  padding:4px 10px;border-radius:8px;border:1px solid #e5e7eb;
  background:#fff;color:#6b7280;font-size:10px;font-weight:600;
  cursor:pointer;font-family:inherit;transition:all .15s;
}
#win-finanzas .fin-currency-select:hover{border-color:#a7f3d0}

/* ── Scrollbar ──────────────────────────────────────────────── */
#win-finanzas .fin-body::-webkit-scrollbar{width:6px}
#win-finanzas .fin-body::-webkit-scrollbar-track{background:transparent}
#win-finanzas .fin-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#a7f3d0,#d1d5db);border-radius:3px}
#win-finanzas .fin-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#10b981,#9ca3af)}
