/*
 * Typography reset - restored original color theme, refined font weights.
 * Reference style: Plus Jakarta Sans, readable hierarchy, not every label is bold.
 */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root{
  --cb-font-family:'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Base font */
html,
body,
body.app-body,
body.auth-premium-body,
button,
input,
select,
textarea,
a{
  font-family:var(--cb-font-family)!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

body,
body.app-body,
body.auth-premium-body{
  font-weight:400!important;
  letter-spacing:-.01em;
}

/* Normal text: keep soft, not bold */
p,
small,
em,
label,
.identity-hello-v97,
.identity-sub,
.hero-balance small,
.stat-box .label,
.wallet-card span,
.tx-meta,
.finance-row small,
.list-card p,
.member-profile-row small,
.profile-main-v146 p,
.profile-section-head-v146 small,
.referral-note-v98,
.empty-box,
.cb-modal-card label,
.form-stack label,
.category-grid-item-v128 b,
.filter-pills button,
.tab-switch button{
  font-weight:500!important;
}

/* Secondary/helper text should stay light */
.identity-sub,
.hero-balance small,
.tx-meta,
.finance-row small,
.list-card p,
.profile-main-v146 p,
.profile-section-head-v146 small,
.cb-modal-card small,
.report-tile small,
.compare-box small,
.member-profile-row em{
  font-weight:400!important;
}

/* UI labels and section titles */
.card-head,
.month-label,
.page-header h1,
.simple-header h1,
.panel-title-mini,
.tab-top .card-head,
.profile-section-head-v146 b{
  font-weight:700!important;
  letter-spacing:-.015em;
}

.card-head{
  font-size:11px!important;
  letter-spacing:.075em!important;
  text-transform:uppercase;
}

/* Primary titles */
.identity-title,
.profile-panel h2,
.profile-main-v146 h2,
.auth-brand h1,
.auth-card h1,
.upgrade-card-v114 h3,
.cb-modal-card h3{
  font-weight:800!important;
  letter-spacing:-.035em!important;
}

/* Money and key metrics: bold */
.hero-balance h1,
.stat-box .value,
.wallet-card b,
.tx-amount,
.report-tile b,
.compare-box b,
.profile-mini-stats-v146 b,
.referral-stats-v94 b,
.tx-detail-head-v91 b,
#detailTxAmount,
#savingSheetAmount,
#debtSheetAmount{
  font-weight:800!important;
  letter-spacing:-.035em!important;
}

/* Row titles: bold but not too heavy */
.tx-main b,
.finance-row b,
.top-expense-row b,
.person-expense-row b,
.member-profile-info-v78 b,
.activity-log-item b,
.activity-pill b,
.list-card h3,
.profile-section-head-v146 b,
.tx-detail-grid-v91 b{
  font-weight:700!important;
  letter-spacing:-.02em!important;
}

/* Buttons / navigation */
button,
.pretty-submit,
.pretty-action-btn,
.primary-wide,
.action-wide a,
.mini-add-btn,
.profile-password-btn-v83,
.logout-profile,
.referral-share-btn-v94,
.referral-withdraw-v94,
.upgrade-wa-v114,
.sheet-action{
  font-weight:700!important;
  letter-spacing:-.015em!important;
}

.nav-item{
  font-weight:500!important;
}
.nav-item span{
  font-weight:500!important;
}
.nav-item.active,
.nav-item.active span{
  font-weight:700!important;
}

/* Quick menu: icon label should be medium, not heavy */
.quick-item span{
  font-weight:600!important;
}

/* Forms */
input,
select,
textarea{
  font-weight:500!important;
}
input::placeholder,
textarea::placeholder{
  font-weight:400!important;
}

/* Prevent accidental ultra-bold text from older CSS overrides */
.fw-900,
.font-black,
[style*="font-weight:900"],
[style*="font-weight: 900"]{
  font-weight:800!important;
}
