/* ================================================================
   FINDESK — Typography System (Inter Font Edition)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Plus+Jakarta+Sans:wght@500;600;700&display=swap');

/* ── Universal font stack ── */
html, body,
button, input, select, textarea, optgroup {
  font-family: 'Inter', -apple-system, 'Segoe UI', system-ui, sans-serif !important;
}

/* ── Base body ── */
body {
  font-size: 0.9375rem;
  line-height: 1.58;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.01em;
}

/* ════════════════════════════════════════════════════════════════
   SATGURU ENTERPRISES — Brand typography & colors
   ════════════════════════════════════════════════════════════════ */
.brand-name {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
  gap: 2px;
  min-width: 0;
}
.brand-name-primary {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.015em !important;
  background: linear-gradient(120deg, #fde68a 0%, #fbbf24 38%, #f59e0b 72%, #ea580c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
}
.brand-name-secondary {
  font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase;
  color: #94a3b8 !important;
}
.auth .brand-name-primary {
  font-size: 1.45rem !important;
  background: linear-gradient(120deg, #fef3c7 0%, #fcd34d 35%, #f59e0b 70%, #fb923c 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.auth .brand-name-secondary {
  color: #cbd5e1 !important;
  letter-spacing: 0.38em !important;
}

/* ════════════════════════════════════════════════════════════════
   SIDEBAR typography
   ════════════════════════════════════════════════════════════════ */
.brand {
  font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  align-items: center !important;
}

/* Logo brand-mark and user avatar size increases */
.brand-mark {
  width: 38px !important;
  height: 38px !important;
  font-size: 1rem !important;
  border-radius: 11px !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 700 !important;
  background: linear-gradient(145deg, #fcd34d, #f59e0b 55%, #c2410c) !important;
  box-shadow: 0 6px 18px rgba(245, 158, 11, 0.42), inset 0 1px 0 rgba(255,255,255,.25) !important;
  color: #fffaf0 !important;
}

.avatar {
  width: 40px !important;
  height: 40px !important;
  font-size: 1.1rem !important;
}

.workspace,
#sidebar nav > p {
  font-size: .62rem !important;
  letter-spacing: .22em !important;
  font-weight: 700 !important;
  color: #64748b !important;
}

/* Nav links — slightly increased and bolder */
#sidebar nav a {
  font-size: .84rem !important;
  font-weight: 600 !important;    /* Increased from 500 */
  letter-spacing: -.01em !important;
  line-height: 1.4 !important;
}

#sidebar nav a i {
  font-size: .88rem !important;
}

#sidebar nav a.active,
#sidebar nav a[aria-current="page"] {
  color: #facc15 !important;
  font-weight: 800 !important;
}
#sidebar nav a.active i,
#sidebar nav a[aria-current="page"] i {
  color: #facc15 !important;
}
#sidebar nav a.nav-entries,
#sidebar nav a.nav-entries:hover {
  color: #facc15 !important;
  font-weight: 800 !important;
}
#sidebar nav a.nav-entries i {
  color: #facc15 !important;
}

.sidebar-bottom a {
  font-size: .8rem !important;
  font-weight: 600 !important;    /* Increased from 500 */
}

/* ════════════════════════════════════════════════════════════════
   HEADER typography
   ════════════════════════════════════════════════════════════════ */
header {
  height: 70px !important;
}
.breadcrumb          { font-size: 1.05rem !important; }
.breadcrumb strong   { font-size: 1.12rem !important; font-weight: 700 !important; }
.user                { font-size: 1rem !important; font-weight: 600 !important; }
.today               { font-size: .875rem !important; }

/* ════════════════════════════════════════════════════════════════
   PAGE HEADINGS
   ════════════════════════════════════════════════════════════════ */
.heading h1,
.form-card h1,
.hero h1,
.welcome h1 {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
}

.heading h1, .form-card h1 {
  font-size: 1.1rem !important;
}
.hero h1, .welcome h1 {
  font-size: 1.35rem !important;
}
.finance-hub .welcome h1,
.finance-hub .finance-hub-welcome h1,
.finance-hub .finance-hub-stats-head h1 {
  font-size: 1.15rem !important;
  margin: 2px 0 0 !important;
}
.finance-hub article h2,
.finance-hub .panel-head h2 {
  font-size: .92rem !important;
}
body.no-topbar .hero h1,
body.no-topbar .page-head h1,
body.no-topbar .heading h1 { font-size: 1.05rem !important; }
body.no-topbar .heading.collection-history-head h1 { font-size: 1.85rem !important; }

.heading p, .hero p, .welcome p {
  font-size: .875rem !important;
  line-height: 1.55 !important;
}

/* ════════════════════════════════════════════════════════════════
   STAT / METRIC CARDS
   ════════════════════════════════════════════════════════════════ */
.metric small,
.stats > div small {
  font-size: .62rem !important;
  font-weight: 750 !important;
  letter-spacing: .09em !important;
}
.metric strong,
.stats > div strong {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
}
body.no-topbar .metric strong,
body.no-topbar .stats > div strong,
body.no-topbar .stat-strip b { font-size: 1.05rem !important; }
body.no-topbar .loan-summary-card .loan-stat b { font-size: 1.15rem !important; }

/* ════════════════════════════════════════════════════════════════
   TABLE
   ════════════════════════════════════════════════════════════════ */
th   { font-size: .7rem !important; font-weight: 700 !important; letter-spacing: .07em !important; }
td   { font-size: .84rem !important; }
td small { font-size: .78rem !important; }

/* ════════════════════════════════════════════════════════════════
   FORM
   ════════════════════════════════════════════════════════════════ */
.field-wrap label {
  font-size: .875rem !important;
  font-weight: 650 !important;
}
.field-wrap input,
.field-wrap select,
.field-wrap textarea {
  font-size: .9375rem !important;
}
.help, .subtle { font-size: .72rem !important; }

/* ════════════════════════════════════════════════════════════════
   REPORT ROWS
   ════════════════════════════════════════════════════════════════ */
.report-row      { font-size: .855rem !important; }
.report-row a    { font-size: .72rem !important; }

/* Buttons inherit unified styles from app.css */
.primary, button.primary {
  font-size: .875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* ════════════════════════════════════════════════════════════════
   PORTFOLIO CARDS
   ════════════════════════════════════════════════════════════════ */
.portfolio-card h2   { font-size: 1.25rem !important; font-weight: 750 !important; }
.finance-hub .portfolio-card h2 { font-size: 1.45rem !important; font-weight: 750 !important; }
.portfolio-card p    { font-size: .84rem !important; }
.portfolio-card-link { font-size: .77rem !important; }
.portfolio-entry-btn { font-size: .77rem !important; }

/* ════════════════════════════════════════════════════════════════
   ARTICLE / PANEL HEADINGS
   ════════════════════════════════════════════════════════════════ */
article h2, .panel-head h2 {
  font-size: .9rem !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
}
.panel-head p { font-size: .74rem !important; }
.pending-alert-panel .panel-head h2 { font-size: .85rem !important; }
.pending-alert-panel .panel-head p { font-size: .72rem !important; }

/* ════════════════════════════════════════════════════════════════
   MOBILE SCALE
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  body          { font-size: .875rem !important; }
  #sidebar nav a { font-size: .77rem !important; }
  .heading h1   { font-size: 1.25rem !important; }
  .heading.collection-history-head h1 { font-size: 1.65rem !important; }
}

/* Page-specific table sizes (dashboard + entry schedule only) */
.dashboard-entries-panel .loan-register-table th { font-size: 10px !important; }
.dashboard-entries-panel .loan-register-table td { font-size: 13px !important; }
.entry-schedule-page .entry-schedule-table th { font-size: 10px !important; }
.entry-schedule-page .entry-schedule-table td { font-size: 13px !important; }
.compact-table th { font-size: .62rem !important; letter-spacing: .03em !important; }
.compact-table td { font-size: .78rem !important; }
.compact-table th,
.compact-table td { padding: 4px 7px !important; }
.compact-table th { padding: 4px 7px !important; line-height: 1.2 !important; }

.entry-search-table.compact-table th { font-size: .68rem !important; }
.entry-search-table.compact-table td { font-size: .88rem !important; }
.entry-search-table.compact-table th,
.entry-search-table.compact-table td { padding: 5px 6px !important; }

/* Global tight table headers on all list/detail pages */
table thead th,
.ledger-table th,
.loan-schedule-table th,
.loan-register-table th,
.entry-schedule-table th,
.customer-full-table th {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  line-height: 1.2 !important;
  letter-spacing: .03em !important;
}
