/* ===== FINANCE PANEL ===== */

/* Finance tab bar */
.fin-tab-bar{display:flex;gap:4px;flex-wrap:wrap}

/* Type badges */
.fin-type-badge{padding:4px 10px;border-radius:20px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:4px}
.fin-type-badge.type-income{background:rgba(16,185,129,0.1);color:#10b981}
.fin-type-badge.type-expense{background:rgba(239,68,68,0.1);color:#ef4444}
[data-theme="dark"] .fin-type-badge.type-income{background:rgba(16,185,129,0.15);color:#34d399}
[data-theme="dark"] .fin-type-badge.type-expense{background:rgba(239,68,68,0.15);color:#f87171}

/* Status badges */
.fin-status-badge{padding:3px 8px;border-radius:12px;font-size:10px;font-weight:700}
.fin-status-badge.st-draft{background:rgba(148,163,184,0.1);color:#94a3b8}
.fin-status-badge.st-pending{background:rgba(245,158,11,0.1);color:#f59e0b}
.fin-status-badge.st-verified{background:rgba(16,185,129,0.1);color:#10b981}
[data-theme="dark"] .fin-status-badge.st-draft{background:rgba(148,163,184,0.15);color:#cbd5e1}
[data-theme="dark"] .fin-status-badge.st-pending{background:rgba(245,158,11,0.15);color:#fbbf24}
[data-theme="dark"] .fin-status-badge.st-verified{background:rgba(16,185,129,0.15);color:#34d399}

/* Account cards */
.fin-acc-card{
  background:var(--bg-card);border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);padding:18px;
  border-left:4px solid #6366f1;transition:var(--transition);
}
.fin-acc-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}
.fin-acc-card.type-cash{border-left-color:#10b981}
.fin-acc-card.type-bank{border-left-color:#3b82f6}
.fin-acc-card.type-mobile_banking{border-left-color:#f59e0b}
.fin-acc-card.type-other{border-left-color:#94a3b8}
[data-theme="dark"] .fin-acc-card{background:rgba(15,12,50,0.65);border-color:rgba(99,102,241,0.2)}
.fin-acc-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.fin-acc-card-name{font-size:15px;font-weight:800;color:var(--text-primary);margin:0}
.fin-acc-card-type{font-size:10px;padding:3px 8px;border-radius:12px;font-weight:700}
.fin-acc-card-type.at-cash{background:rgba(16,185,129,0.1);color:#10b981}
.fin-acc-card-type.at-bank{background:rgba(59,130,246,0.1);color:#3b82f6}
.fin-acc-card-type.at-mobile_banking{background:rgba(245,158,11,0.1);color:#f59e0b}
.fin-acc-card-type.at-other{background:rgba(148,163,184,0.1);color:#94a3b8}
.fin-acc-card-balance{font-size:22px;font-weight:900;margin:8px 0}
.fin-acc-card-balance.positive{color:#10b981}
.fin-acc-card-balance.negative{color:#ef4444}
.fin-acc-card-balance.zero{color:var(--text-muted)}
.fin-acc-card-meta{font-size:11px;color:var(--text-muted);margin-bottom:10px}
.fin-acc-card-actions{display:flex;gap:6px;flex-wrap:wrap}

/* Dashboard account mini-cards */
.fin-dash-acc-card{
  padding:12px 14px;border-radius:var(--radius-sm);
  background:var(--bg-card);border:1px solid var(--border-subtle);
  display:flex;justify-content:space-between;align-items:center;
}
.fin-dash-acc-card .acc-name{font-size:13px;font-weight:700;color:var(--text-primary)}
.fin-dash-acc-card .acc-balance{font-size:15px;font-weight:900}

/* Category cards in settings */
.fin-cat-card{
  padding:12px 14px;border-radius:var(--radius-sm);
  background:var(--bg-card);border:1px solid var(--border-subtle);
  margin-bottom:8px;
}
.fin-cat-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.fin-cat-card-name{font-size:13px;font-weight:700;color:var(--text-primary)}
.fin-cat-card-badges{display:flex;gap:4px;align-items:center}
.fin-cat-card .sub-cats{display:flex;gap:4px;flex-wrap:wrap}
.fin-cat-card .sub-cat-tag{
  padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;
  background:rgba(99,102,241,0.08);color:#818cf8;
  display:inline-flex;align-items:center;gap:4px;
}
.fin-cat-card .sub-cat-tag .remove-sub{
  cursor:pointer;color:#ef4444;font-size:9px;margin-left:2px;
}
.fin-cat-card .system-badge{
  padding:2px 6px;border-radius:8px;font-size:9px;font-weight:700;
  background:rgba(245,158,11,0.1);color:#f59e0b;
}
.fin-cat-card .integration-badge{
  padding:2px 6px;border-radius:8px;font-size:9px;font-weight:700;
  background:rgba(168,85,247,0.1);color:#a855f7;
}

/* Audit action badges */
.fin-audit-badge{padding:3px 8px;border-radius:12px;font-size:10px;font-weight:700}
.fin-audit-badge.act-create{background:rgba(16,185,129,0.1);color:#10b981}
.fin-audit-badge.act-update{background:rgba(59,130,246,0.1);color:#3b82f6}
.fin-audit-badge.act-delete{background:rgba(239,68,68,0.1);color:#ef4444}
.fin-audit-badge.act-verify{background:rgba(168,85,247,0.1);color:#a855f7}
.fin-audit-badge.act-reject{background:rgba(245,158,11,0.1);color:#f59e0b}
.fin-audit-badge.act-transfer{background:rgba(99,102,241,0.1);color:#6366f1}

/* Amount display */
.fin-amount-income{color:#10b981;font-weight:800}
.fin-amount-expense{color:#ef4444;font-weight:800}

/* Multi-item form rows in Swal */
.fin-item-row{
  display:flex;gap:6px;align-items:center;margin-bottom:6px;
  padding:8px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);
}
.fin-item-row select,.fin-item-row input{font-size:12px}

/* Inner tab bar (for status tabs within transactions list) */
.fin-inner-tab-bar{display:flex;gap:2px;background:rgba(255,255,255,0.04);border-radius:var(--radius-sm);padding:3px;border:1px solid var(--border-subtle)}
.fin-inner-tab{
  padding:8px 16px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;
  background:transparent;border:none;color:var(--text-muted);cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;transition:var(--transition);
}
.fin-inner-tab:hover{background:rgba(255,255,255,0.06);color:var(--text-primary)}
.fin-inner-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(99,102,241,0.3)}
.fin-inner-badge{
  padding:1px 7px;border-radius:10px;font-size:10px;font-weight:800;
  background:rgba(255,255,255,0.15);min-width:20px;text-align:center;
}
.fin-inner-tab.active .fin-inner-badge{background:rgba(255,255,255,0.25)}

/* Full-page transaction form */
.fin-form-section{
  background:var(--bg-card);border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);padding:20px;margin-bottom:16px;
}
.fin-form-section h5{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.fin-form-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.fin-form-row .fin-field{flex:1;min-width:180px}
.fin-form-row .fin-field label{display:block;font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:4px}
.fin-form-row .fin-field select,.fin-form-row .fin-field input,.fin-form-row .fin-field textarea{width:100%}

/* Item rows in full-page form */
.fin-form-item{
  display:flex;gap:8px;align-items:flex-start;padding:10px 12px;margin-bottom:8px;
  border-radius:var(--radius-sm);background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.06);flex-wrap:wrap;
}
.fin-form-item .item-field{flex:1;min-width:120px}
.fin-form-item .item-field label{display:block;font-size:10px;font-weight:600;color:var(--text-muted);margin-bottom:3px}
.fin-form-item .item-field select,.fin-form-item .item-field input{width:100%;font-size:12px}
.fin-form-item .item-remove{
  padding:6px 10px;border:none;background:rgba(239,68,68,0.1);color:#ef4444;
  border-radius:var(--radius-sm);cursor:pointer;font-size:12px;margin-top:18px;
}
.fin-form-item .item-remove:hover{background:rgba(239,68,68,0.2)}

/* Integration link row (below item when category has integration) */
.fin-link-row{
  width:100%;display:flex;gap:8px;align-items:center;padding:6px 0 0;
  border-top:1px dashed rgba(255,255,255,0.08);margin-top:6px;
}
.fin-link-row .link-field{flex:1;min-width:140px}
.fin-link-row .link-field label{display:block;font-size:10px;font-weight:600;color:#a855f7;margin-bottom:3px}
.fin-link-row .link-field select,.fin-link-row .link-field input{width:100%;font-size:12px}

/* Total display in form */
.fin-form-total{
  display:flex;justify-content:flex-end;align-items:center;gap:12px;
  padding:12px 16px;background:rgba(99,102,241,0.06);border-radius:var(--radius-sm);
  border:1px solid rgba(99,102,241,0.15);
}
.fin-form-total .total-label{font-size:14px;font-weight:700;color:var(--text-primary)}
.fin-form-total .total-amount{font-size:22px;font-weight:900;color:var(--accent)}

/* Document upload section */
.fin-doc-section{margin-top:12px}
.fin-doc-section label{display:block;font-size:12px;font-weight:700;color:var(--text-muted);margin-bottom:6px}

/* Thumbnail grid */
.fin-thumb-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.fin-thumb-wrap{position:relative}
.fin-thumb-wrap img{
  width:80px;height:80px;object-fit:cover;border-radius:8px;
  cursor:zoom-in;border:2px solid var(--border-subtle);
}
.fin-doc-thumb.pdf{
  width:80px;height:80px;border-radius:8px;
  background:rgba(239,68,68,0.08);border:2px solid rgba(239,68,68,0.3);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  cursor:pointer;font-size:10px;color:#ef4444;gap:4px;
}
.fin-doc-thumb.pdf i{font-size:22px}
.fin-doc-thumb.pdf span{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-thumb-remove{
  position:absolute;top:-6px;right:-6px;
  background:#ef4444;border:none;color:#fff;
  border-radius:50%;width:18px;height:18px;font-size:9px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
}

/* Upload progress bar */
.fin-upload-bar{height:6px;background:var(--border-subtle);border-radius:3px;margin:6px 0}
.fin-upload-bar>div{height:100%;background:#0d9488;border-radius:3px;transition:width 0.3s}

/* Lightbox */
.fin-lightbox{
  position:fixed;inset:0;background:rgba(0,0,0,0.88);
  z-index:9999;display:flex;align-items:center;justify-content:center;
  cursor:zoom-out;
}
.fin-lightbox.hidden{display:none}
.fin-lightbox-inner{position:relative;max-width:90vw;max-height:90vh}
.fin-lightbox-inner img{max-width:100%;max-height:90vh;border-radius:8px}
.fin-lightbox-close{
  position:absolute;top:-40px;right:0;
  background:rgba(255,255,255,0.2);border:none;color:#fff;
  border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:14px;
}
.fin-lightbox-close:hover{background:rgba(255,255,255,0.35)}

/* Voucher settings section */
.fin-voucher-settings{margin-top:20px;padding-top:20px;border-top:2px solid var(--border-subtle)}
.fin-sig-card{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 14px;background:rgba(255,255,255,0.03);border:1px solid var(--border-subtle);
  border-radius:var(--radius-sm);margin-bottom:6px;
}
.fin-sig-card .sig-info .sig-name{font-size:13px;font-weight:700;color:var(--text-primary)}
.fin-sig-card .sig-info .sig-desig{font-size:11px;color:var(--text-muted)}

/* Form action buttons */
.fin-form-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}

/* Responsive */
@media(max-width:768px){
  .fin-acc-card{padding:14px}
  .fin-acc-card-balance{font-size:18px}
  .fin-inner-tab-bar{flex-wrap:wrap}
  .fin-form-item{flex-direction:column}
  .fin-form-item .item-field{min-width:100%}
  .fin-form-row .fin-field{min-width:100%}
}
