﻿/* ─── Expenses + Returns + GST Shared Finance Styles ──────────
   Owner: pages/expenses/expenses.css (finance suite shared)
   Wave 8 / PR-308-D (Finance Suite migration)
   Rule: Shell layout only. Zero hardcoded colors.
   ─────────────────────────────────────────────────────────── */

/* ── Finance tab bar ────────────────────────────────────── */
.fin-tab-bar {
  margin-bottom: var(--mr-space-md);
}

/* ── Two-column layout (Add Expense / Reports) ──────────── */
.fin-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--mr-space-lg);
  align-items: start;
}

/* ── Form card ──────────────────────────────────────────── */
.fin-form-card {
  padding: var(--mr-space-lg) !important;
}

.fin-card-heading {
  font-size: 15px !important;
  margin-bottom: var(--mr-space-md);
}

.fin-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--mr-space-sm);
  margin-bottom: var(--mr-space-sm);
}

/* ── Action row ─────────────────────────────────────────── */
.fin-action-row {
  display: flex;
  gap: var(--mr-space-sm);
  align-items: center;
  margin-top: var(--mr-space-md);
}

.fin-action-flex {
  flex: 1;
  justify-content: center;
}

/* ── Quick summary stats ────────────────────────────────── */
.fin-stat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--mr-space-sm) 0;
  border-bottom: 1px solid var(--mr-border);
}

.fin-stat-row:last-of-type {
  border-bottom: none;
}

.fin-stat-val {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--mr-text);
  letter-spacing: -0.01em;
}

.fin-stat-val--sm {
  font-size: 0.9rem;
}

/* ── Recent list ────────────────────────────────────────── */
.fin-recent {
  margin-top: var(--mr-space-md);
  padding-top: var(--mr-space-md);
  border-top: 1px solid var(--mr-border);
}

.fin-recent-label {
  margin-bottom: var(--mr-space-xs);
}

/* ── Panel header (History tabs) ────────────────────────── */
.fin-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mr-space-sm);
  margin-bottom: var(--mr-space-md);
  flex-wrap: wrap;
}

/* ── Filter row ─────────────────────────────────────────── */
.fin-filter-row {
  display: flex;
  gap: var(--mr-space-xs);
  align-items: flex-end;
  flex-wrap: wrap;
}

.fin-filter-row--wrap {
  flex-wrap: wrap;
}

.fin-date-input {
  width: 140px;
}

.fin-filter-select {
  min-width: 120px;
}

.fin-filter-date {
  flex-shrink: 0;
}

.fin-filter-card {
  margin-bottom: var(--mr-space-md);
  padding: var(--mr-space-md) !important;
}

/* ── Summary chips ──────────────────────────────────────── */
.fin-summary-chips {
  display: flex;
  gap: var(--mr-space-sm);
  flex-wrap: wrap;
  margin-bottom: var(--mr-space-md);
}

/* ── Empty state ────────────────────────────────────────── */
.fin-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mr-space-sm);
  padding: var(--mr-space-2xl) var(--mr-space-xl);
  color: var(--mr-text-muted);
  font-size: 13px;
}

.fin-empty span:first-child {
  font-size: 1.5rem;
  opacity: 0.6;
}

/* ── Pagination ─────────────────────────────────────────── */
.fin-pagination {
  margin-top: var(--mr-space-md);
  display: flex;
  justify-content: center;
  gap: var(--mr-space-xs);
}

/* ── Report content areas ───────────────────────────────── */
.fin-report-content {
  margin-top: var(--mr-space-md);
}

/* ── Returns: search row ────────────────────────────────── */
.fin-search-row {
  display: flex;
  gap: var(--mr-space-sm);
  align-items: flex-end;
  margin-bottom: var(--mr-space-md);
}

.fin-search-field {
  flex: 1;
}

.fin-ret-info {
  display: block;
  margin-bottom: var(--mr-space-md);
  padding: var(--mr-space-sm) var(--mr-space-md);
  background: var(--mr-neutral-subtle);
  border-radius: var(--mr-radius-sm);
}

.fin-ret-result {
  margin-top: var(--mr-space-md);
  padding: var(--mr-space-md);
  border-radius: var(--mr-radius-sm);
  background: var(--mr-success-subtle);
  color: var(--mr-success);
  font-weight: 600;
}

/* ── Returns: stat cards grid ───────────────────────────── */
.fin-stat-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--mr-space-md);
  margin-bottom: var(--mr-space-md);
}

.fin-stat-cards-grid .mr-card {
  padding: var(--mr-space-md) !important;
}

/* ── Mobile ─────────────────────────────────────────────── */
@media (max-width: 767px) {
  .fin-two-col {
    grid-template-columns: 1fr;
  }

  .fin-form-grid {
    grid-template-columns: 1fr;
  }

  .fin-stat-cards-grid {
    grid-template-columns: 1fr 1fr;
  }

  .fin-filter-row {
    flex-direction: column;
    align-items: stretch;
  }

  .fin-date-input,
  .fin-filter-select {
    width: 100%;
    min-width: unset;
  }
}

@media (max-width: 480px) {
  .fin-stat-cards-grid {
    grid-template-columns: 1fr 1fr;
  }
}
