/* BOOTIES Administration V9.9.1 · Global Typography System
   Direction: sevdesk readability + Salesforce information hierarchy */
:root{
  --ba-font:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ba-display:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ba-type-xs:12px;
  --ba-type-sm:13px;
  --ba-type-md:14px;
  --ba-type-lg:16px;
  --ba-type-section:18px;
  --ba-type-title:28px;
  --ba-type-kpi:28px;
}

html{font-size:16px}
body,.ba-body,.ba-app,.ba-main,button,input,select,textarea{
  font-family:var(--ba-font)!important;
  font-feature-settings:"cv02","cv03","cv04","cv11";
  font-kerning:normal;
}
body{
  font-size:var(--ba-type-md)!important;
  line-height:1.5!important;
  font-weight:400;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility!important;
}

/* Numeric information stays easy to scan in finance, payroll and staff. */
.ba-stat-value,.ba-big-number,.ba-live-kpi strong,
[class*="amount"],[class*="balance"],[class*="total"],[class*="payout"],
[class*="kpi"] strong,[class*="summary"] strong,[class*="metric"] strong{
  font-variant-numeric:tabular-nums;
}

/* Primary hierarchy */
.ba-page-head h1{font-family:var(--ba-display)!important;font-size:28px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:-.02em!important}
.ba-page-head p{font-size:14px!important;line-height:1.55!important;font-weight:400!important}
.ba-eyebrow{font-size:12.5px!important;font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important}
.ba-panel-head h2{font-family:var(--ba-display)!important;font-size:18px!important;line-height:1.32!important;font-weight:650!important;letter-spacing:-.01em!important}
.ba-panel-head span,.ba-panel-head>a,.ba-panel-head>em,.ba-panel-note{font-size:12.5px!important;font-weight:500!important;letter-spacing:0!important}
.ba-form-section h3{font-size:15px!important;font-weight:650!important;letter-spacing:-.005em!important}

/* Sidebar: quieter enterprise navigation, no artificial shouty tracking. */
.ba-nav-group,.ba-nav-category,.ba-nav-subgroup,.ba-nav-group.is-owner{
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
.ba-nav-item{font-size:13.5px!important;font-weight:500!important;letter-spacing:0!important}
.ba-nav-item.is-active{font-weight:600!important}
.ba-nav-item b{font-size:11.5px!important;font-weight:700!important}
.ba-sidebar-foot{font-size:12px!important;line-height:1.45!important}

/* Header */
.ba-topbar-title span{font-size:12.5px!important;font-weight:400!important}
.ba-topbar-title strong{font-size:16px!important;font-weight:650!important;letter-spacing:-.01em!important}
.ba-live-site{font-size:12.5px!important;font-weight:600!important}
.ba-user strong{font-size:12.5px!important;font-weight:600!important}
.ba-user .ba-role-label,.ba-user a{font-size:12px!important;font-weight:450!important}

/* KPI cards */
.ba-stat-label{font-size:12.5px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}
.ba-stat-value{font-size:28px!important;line-height:1.12!important;font-weight:700!important;letter-spacing:-.025em!important}
.ba-stat-hint{font-size:12px!important;line-height:1.45!important;font-weight:400!important}
.ba-trend{font-size:11.5px!important;font-weight:650!important;letter-spacing:0!important}
.ba-big-number,.ba-live-kpi strong{font-weight:700!important;letter-spacing:-.03em!important}
.ba-kpi-pair span,.ba-kpi-list span,.ba-platform-row span,.ba-source-note,.ba-chart-legend,.ba-bar-day>span{font-size:12.5px!important;font-weight:400!important}
.ba-kpi-pair b,.ba-kpi-list b,.ba-platform-row b{font-weight:650!important}

/* Buttons + forms: readable, neutral, not over-bold. */
.ba-btn{
  font-size:13.5px!important;
  line-height:1.2!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
.ba-form label,.ba-login-card label,.v947-manual-grid label{
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.ba-form input,.ba-form select,.ba-form textarea,.ba-upload-platform select,
.ba-login-card input,input,select,textarea{
  font-family:var(--ba-font)!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
.ba-form-help,.v9-field-help,.ba-check-row,.ba-credential-state b,.ba-credential-state span,.ba-text-button{
  font-size:12.5px!important;
  line-height:1.5!important;
}

/* Business tables / ledgers */
.ba-incoming-head,.v9-doc-head,.v940-staff-head,.v941-rec-head,.v947-expense-head,.v953-owner-expense-head{
  font-size:12.5px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
.ba-incoming-row,.ba-payment-row,.ba-finance-doc-row,.v947-expense-row,.v953-owner-expense-row{
  font-size:13.5px!important;
  line-height:1.45!important;
}
.ba-incoming-row strong,.ba-payment-row strong,.ba-finance-doc-row strong,.v947-expense-row strong,.v953-owner-expense-row strong{font-weight:600!important}

/* Status / badges: compact but still readable. */
.ba-finance-status,.ba-source-badge,.ba-status-pill,.ba-staff-group-pill,.ba-stock-status-badge,
.v947-source,.v947-expense-status,.v953-funded,.v958-check-pill,.v961-linked-pill,.v942-comm,.v930-readonly-badge{
  font-size:11.5px!important;
  line-height:1.2!important;
  font-weight:650!important;
  letter-spacing:.01em!important;
}

/* Eliminate old micro typography floors in versioned modules. */
.ba-main small,.ba-login-body small,[class^="v9"] small,[class*=" v9"] small{
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:400;
}
.v957-cal-week span,.v957-pos-link-banner span,.v958-check-head span,.v958-check-row small,.v958-check-note,
.v961-verified-head span:first-child,.v961-summary-grid>div span,.v961-pos-grid>div span,.v961-section-head span,
.v961-match-rows small,.v961-match-rows b,.v961-locked-note span,.v963-action-copy span,
.v976-salary-finalize-head span,.v976-final-preview span,.v976-finalized-card>div:first-child>span,.v976-post-form label,
.v977-staff-payroll-head span,.v977-staff-payroll-kpis span,.v977-staff-payroll-list small,
.v951-pnl-kpis span,.v951-pnl-kpis small,.v951-pnl-exclusions b,.v951-pnl-mini-grid span,.v951-pnl-rule,
.v953-owner-expense-head,.v953-funded,.v954-card-head small,.v954-pay-split span,.v954-card-meta,
.v954-section-head span,.v954-bar-rules p,.v954-other-costs small,.v954-quick-actions span,
.v954-collapsible>summary small,.v954-bar-control-summary span,.v954-fixed-payment span,.v954-fixed-payment small,
.v955-pos-summary span,.v955-linked-receipt span,.v964-mobile-url span,.v965-wait small,.v968-position-breakdown span,
.v970-pos-id,.v970-shift-line,.v970-card-metrics span,.v970-staff-card .v943-open-profile,
.v970-staff-card .v941-staff-alert,.v970-staff-card .v941-staff-note,.v972-contract-status span,
.v972-contract-calculation span,.v973-payout-summary>div:first-child>span,.v979-notification-copy small,.v979-notification-foot{
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* Old 800/900-weight meta labels become calmer. */
.ba-filter-group>span,.ba-expense-category-title span,.ba-account-intro span,.ba-account-card-head span,
.ba-account-main-head span,.ba-supplier-spend-head,.ba-supplier-hero span,.ba-supplier-history-head,
.ba-finance-attention>div>span,.ba-contact-detail-hero span,.ba-ops-head,.ba-filterbar label,
.ba-stock-variant-head,.ba-stock-card-metrics span,.ba-scanner-link-card>span,.ba-scanner-help-card>span,
.ba-stock-modal-eyebrow,.ba-stock-primary-stock>span,.ba-stock-modal-summary span,.ba-stock-modal-size-head span,
.v930-nav-demo,.v930-modal-readonly,.v930-demo-banner>span,.v930-demo-grid span,.v930-owner-strip-grid span,
.v930-settlement-head,.v930-doc-title span,.v930-doc-line-head,.v930-doc-total span,.v931-revenue-head,
.v940-rhq-banner span,.v940-rhq-fin-grid span,.v941-section-head span,.v941-staff-metrics span,
.v941-uniform-grid span,.v941-revenue-hero>div:first-child span,.v941-revenue-total span,.v941-revenue-kpis span,
.v941-flow-head span,.v941-management-card>span,.v941-control-strip span,.v941-rec-kpis span,
.v942-comm-kpis span,.v942-finance-bridge span,.v942-overview-grid span,.v943-payroll-kpis span,
.v943-profile-hero>div:nth-child(2)>span,.v943-profile-summary span,.v947-intake-card span,.v947-receipt-intake>span,
.v952-three span,.v952-list-head span,.v952-pnl-line span,.v952-cash-line span,.v953-owner-summary span{
  font-size:12.5px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}

/* Staff system */
.v944-staff-tabs button{font-size:14px!important;font-weight:600!important}
.v944-group-tabs button,.v944-profile-tabs button{font-size:13px!important;font-weight:600!important}
.v941-section-head h2{font-size:21px!important;font-weight:650!important;letter-spacing:-.01em!important}
.v941-section-head p{font-size:13.5px!important;line-height:1.55!important}
.v941-group-title strong{font-size:15px!important;font-weight:650!important}
.v943-open-profile{font-size:12.5px!important;font-weight:600!important}
.v943-profile-hero h2{font-size:27px!important;font-weight:700!important;letter-spacing:-.02em!important}
.v943-profile-hero p{font-size:12.5px!important}
.v943-profile-summary strong{font-size:14px!important;font-weight:650!important}
.v943-history-list span,.v943-history-list small,.v943-history-list strong,.v943-workwear-list strong,.v943-workwear-list small,
.v943-history-cols h3,.v943-history-cols p span,.v943-history-cols p strong,.v943-history-cols p small{
  font-size:12.5px!important;
  line-height:1.45!important;
}
.v976-salary-finalize-head h3{font-size:19px!important;font-weight:650!important}
.v976-finalized-card h3{font-weight:700!important;letter-spacing:-.02em!important}
.v976-finalize-form label{font-size:13px!important;font-weight:600!important}

/* Finance system */
.v951-pnl-top h2{font-size:24px!important;font-weight:700!important;letter-spacing:-.02em!important}
.v951-pnl-top p{font-size:14px!important}
.v951-pnl-hero>div:first-child>strong{font-size:40px!important;font-weight:700!important;letter-spacing:-.035em!important}
.v951-pnl-flow span{font-size:12.5px!important;line-height:1.4!important}
.v951-pnl-flow span b{font-size:18px!important;font-weight:650!important}
.v951-pnl-kpis strong{font-size:19px!important;font-weight:650!important}
.v952-summary-head h2,.v952-list-head h2,.v952-pnl-line h2{font-weight:650!important;letter-spacing:-.01em!important}
.v952-three strong{font-size:28px!important;font-weight:700!important;letter-spacing:-.02em!important}
.v952-break-row>div:first-child,.v952-break-row strong,.v952-empty-line{font-size:13.5px!important}
.v952-liquidity span,.v952-revenue-lines span,.v952-cash-line span,.v952-expense-statusline,.v952-expense-equation{font-size:12.5px!important}
.v953-owner-summary strong{font-size:28px!important;font-weight:700!important;letter-spacing:-.02em!important}
.v954-card-head span{font-size:15.5px!important;font-weight:650!important}

/* Notifications */
.v979-notification-title{font-weight:650!important;letter-spacing:-.005em!important}
.v979-notification-copy{font-size:13px!important;line-height:1.45!important}
.v979-notification-copy strong{font-weight:650!important}

/* Login */
.ba-login-kicker{font-size:12.5px!important;font-weight:600!important;letter-spacing:.02em!important}
.ba-login-brand h1{font-size:37px!important;font-weight:700!important;letter-spacing:-.035em!important}
.ba-login-brand p{font-size:14px!important;line-height:1.6!important}
.ba-login-points span{font-size:12.5px!important;font-weight:500!important}
.ba-login-card h2{font-size:25px!important;font-weight:700!important;letter-spacing:-.02em!important}
.ba-login-card>p{font-size:13.5px!important;line-height:1.55!important}
.ba-login-foot{font-size:12px!important}

/* Mobile readability */
@media(max-width:680px){
  body{font-size:14px!important}
  .ba-page-head h1{font-size:25px!important}
  .ba-page-head p{font-size:13.5px!important}
  .ba-stat-value{font-size:26px!important}
  .ba-btn{font-size:13.5px!important}
  .ba-form input,.ba-form select,.ba-form textarea,input,select,textarea{font-size:16px!important} /* prevents iOS input zoom */
}


/* V9.9.1 · Payroll readability / spacing repair */
.v977-staff-payroll{
  margin-top:18px!important;
  border-left:0!important;
  border:1px solid #dfe6ed!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(30,55,80,.045)!important;
}
.v977-staff-payroll-head{
  padding:20px 22px 17px!important;
  align-items:flex-start!important;
}
.v977-staff-payroll-head span{
  font-size:12px!important;
  font-weight:600!important;
  color:#667085!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
.v977-staff-payroll-head h2{
  margin:5px 0 5px!important;
  font-size:20px!important;
  line-height:1.3!important;
  font-weight:650!important;
  letter-spacing:-.01em!important;
}
.v977-staff-payroll-head small{
  max-width:760px;
  font-size:12.5px!important;
  line-height:1.5!important;
  color:#667085!important;
}
.v977-staff-payroll-head>strong{
  font-size:25px!important;
  line-height:1.15!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.v977-staff-payroll-kpis{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border-top:1px solid #edf1f5!important;
  border-bottom:1px solid #edf1f5!important;
}
.v977-staff-payroll-kpis>div{
  min-height:82px;
  padding:15px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:6px!important;
}
.v977-staff-payroll-kpis span{
  margin:0!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  font-weight:500!important;
  color:#667085!important;
}
.v977-staff-payroll-kpis b{
  display:block!important;
  font-size:19px!important;
  line-height:1.2!important;
  font-weight:650!important;
  color:#102d47!important;
}
.v977-staff-payroll-kpis .total{
  background:#f7f9fb!important;
}
.v977-staff-payroll-list{
  padding:8px 22px 12px!important;
}
.v977-staff-payroll-list>div{
  min-height:54px;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:24px!important;
  padding:10px 0!important;
}
.v977-staff-payroll-list>div>span{
  display:block!important;
  min-width:0!important;
}
.v977-staff-payroll-list b{
  display:block!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  font-weight:600!important;
  color:#1f2937!important;
}
.v977-staff-payroll-list small{
  display:block!important;
  margin-top:3px!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:400!important;
  color:#7a8797!important;
}
.v977-staff-payroll-list strong{
  justify-self:end!important;
  font-size:14.5px!important;
  line-height:1.2!important;
  font-weight:650!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
@media(max-width:900px){
  .v977-staff-payroll-kpis{grid-template-columns:1fr 1fr!important}
  .v977-staff-payroll-kpis .total{grid-column:1/-1}
}
@media(max-width:600px){
  .v977-staff-payroll-head>strong{margin-top:12px!important}
  .v977-staff-payroll-kpis{grid-template-columns:1fr!important}
  .v977-staff-payroll-kpis .total{grid-column:auto}
  .v977-staff-payroll-list{padding-left:16px!important;padding-right:16px!important}
  .v977-staff-payroll-list>div{gap:12px!important}
}

/* v9.9.1 · WCAG AA login contrast hardening */
.ba-login-card > p,
.ba-login-card .ba-check,
.ba-login-foot{
  color:#64748b!important;
}
.ba-login-card .ba-eyebrow{
  color:#0b65b4!important;
}
.ba-login-card input[type="text"],
.ba-login-card input[type="email"],
.ba-login-card input[type="password"]{
  border-color:#8492a6!important;
}
.ba-login-card input[type="text"]:focus,
.ba-login-card input[type="email"]:focus,
.ba-login-card input[type="password"]:focus{
  border-color:#0b65b4!important;
  box-shadow:0 0 0 3px rgba(11,101,180,.14)!important;
}
.ba-login-card .ba-btn-primary{
  background:#0b65b4!important;
  color:#fff!important;
}
.ba-login-card .ba-btn-primary:hover{
  background:#084f8e!important;
}
.v911-link-button{
  color:#0b65b4!important;
}

/* V9.9.1 · Payroll detail completeness */
.v984-payroll-more{padding:11px 16px;border-top:1px solid #e5ebf1;background:#f8fafc;color:#526579;font-size:12px;font-weight:500}
