/*
   SWIFT FINAL UI CONSISTENCY LAYER
   One typography system + one control language across the application.
   Load this stylesheet LAST.
*/
:root{
  --swift-ui-font:Aptos,"Segoe UI",Arial,sans-serif;
  --swift-heading-font:Georgia,"Times New Roman",serif;
  --swift-burgundy:#a5232b;
  --swift-burgundy-dark:#861e24;
  --swift-brown:#4b2d27;
  --swift-gold:#d4a62c;
  --swift-cream:#fbf5ea;
  --swift-surface:#fffdf9;
  --swift-border:#e6d6c6;
  --swift-text:#3b2924;
  --swift-muted:#806d63;
}

/* ==========================================================
   1. TYPOGRAPHY — APTOS THROUGHOUT
   No random Inter/Poppins/Arial/Georgia/Cambria on UI pages.
   ========================================================== */
html,body,body [class],body [id],body h1,body h2,body h3,body h4,body h5,body h6,
body p,body span,body strong,body b,body small,body label,body a,body button,
body input,body select,body textarea,body option,body table,body th,body td,
body li,body dt,body dd,body legend,body summary{
  font-family:var(--swift-ui-font) !important;
}

/* Page titles and section headings use one consistent serif family. */
body h1,body h2,body h3,body h4,body h5,body h6,
body .page-title,body .page-title-wrap h1,body .salary-page-head h1,
body .shift-hero h1,body .attendance-head h1,body .leave-page-head h1,
body .leave-hero h1,body .settings-title,body .settings-section-title,
body .section-title,body .section-heading,body .card-title h2,body .records-heading h2,
body .calendar-title,body .month-title,body .payroll-heading h1,
body .employee-page h1,body .card-header-title{
  font-family:var(--swift-heading-font) !important;
  font-weight:700 !important;
  color:var(--swift-brown);
}

/* DATA / NUMBERS / DATES / TIMES — same Aptos family, strong hierarchy. */
body .summary-value,body .money,body .total-value,body .salary-value,
body .pay-value,body .kpi-value,body .stat-number,body .metric-value,
body .count-number,body .card-value,body .recurring-employee-info strong,
body .shift-name,body .shift-hours,body .date-main,body .date-sub,
body .attendance-time,body .employee-name,body .employee-sub,
body .banner-copy h2,body .banner-copy h2 span,body .payroll-period,
body .payroll-card .card-value,body .summary-card strong{
  font-family:var(--swift-ui-font) !important;
}

/* ==========================================================
   2. FONT WEIGHTS / SIZES — NORMALISE COMMON CONTROLS
   ========================================================== */
body .hero-badge,
body .tab-btn,
body .view-btn,
body .btn,
body button,
body .btn-primary,
body .btn-secondary,
body .primary-btn,
body .primary-button,
body .submit-btn,
body .save-btn,
body .banner-action,
body .assign-employee-top,
body .leave-btn,
body .action-button,
body .header-actions a,
body .header-actions button{
  font-family:var(--swift-ui-font) !important;
}

/* The Shift Swap pill specifically: data/control font, never serif. */
body .hero-badge{
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

/* ==========================================================
   3. BUTTON LANGUAGE — BURGUNDY PRIMARY, CREAM SECONDARY
   ========================================================== */
body .btn-primary,body .primary-btn,body .primary-button,body .submit-btn,
body .save-btn,body .banner-action,body .assign-employee-top,
body button[type="submit"].primary,body button.primary,
body .print-btn,body .clockout-btn{
  background:var(--swift-burgundy) !important;
  border-color:var(--swift-burgundy) !important;
  color:#fffaf2 !important;
  border-radius:10px !important;
  font-family:var(--swift-ui-font) !important;
  font-weight:700 !important;
}

body .btn-primary:hover,body .primary-btn:hover,body .primary-button:hover,
body .submit-btn:hover,body .save-btn:hover,body .banner-action:hover,
body .assign-employee-top:hover,body button[type="submit"].primary:hover,
body button.primary:hover,body .print-btn:hover{
  background:var(--swift-burgundy-dark) !important;
}

/* Hero action buttons/pills use one consistent white secondary style. */
body .hero-badge,body .hero-action,body .secondary-btn,body .btn-secondary,
body .btn-nav,body .view-btn,body .home-btn,body .refresh-btn{
  font-family:var(--swift-ui-font) !important;
}

body .hero-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:11px 17px !important;
  background:#fff !important;
  border:1px solid var(--swift-border) !important;
  border-radius:999px !important;
  color:var(--swift-burgundy) !important;
}
body .hero-badge i{font-family:"Font Awesome 6 Free" !important;font-weight:900 !important;}

/* ==========================================================
   4. FORM CONTROLS
   ========================================================== */
body input,body select,body textarea,body option,
body .form-control,body .filter-select,body .month-select,
body .period-controls input,body .period-controls select,
body .field input,body .field select,body .field textarea{
  font-family:var(--swift-ui-font) !important;
  color:var(--swift-text) !important;
  border-color:var(--swift-border) !important;
}
body input:focus,body select:focus,body textarea:focus,
body .form-control:focus,body .field input:focus,body .field select:focus,
body .field textarea:focus{
  border-color:var(--swift-gold) !important;
  box-shadow:0 0 0 3px rgba(212,166,44,.13) !important;
  outline:none !important;
}

/* ==========================================================
   5. BADGES / LABELS / STATUS
   ========================================================== */
body .badge,body .status,body .status-pill,body .status-badge,
body .attendance-pill,body .count-pill,body .count-badge,body .admin-badge,
body .role-badge,body .history-count,body .notice-tag,
body .prole,body .header .date,body .employee-header .date{
  font-family:var(--swift-ui-font) !important;
}

body .status-pill,body .status-badge,body .status,body .badge{
  font-weight:700 !important;
}

/* ==========================================================
   6. TABLES
   ========================================================== */
body table,body th,body td{font-family:var(--swift-ui-font) !important;}
body th{text-transform:uppercase;letter-spacing:.3px;font-weight:700 !important;}

/* ==========================================================
   7. NAVIGATION / HEADER
   ========================================================== */
body .header,body .header *,body .employee-header,body .employee-header *,
body .sidebar,body .sidebar *,body .sidebar_employee,body .sidebar_employee *{
  font-family:var(--swift-ui-font) !important;
}
body .header .page-title,body .employee-header .page-title{
  font-family:var(--swift-ui-font) !important;
  font-weight:700 !important;
}

/* ==========================================================
   8. FONT AWESOME — RESTORE ICON FONT AFTER GLOBAL OVERRIDE
   ========================================================== */
body i.fa,body i.fas,body i.far,body i.fal,body i.fab,
body i.fa-solid,body i.fa-regular,body i.fa-light,body i.fa-thin,
body i.fa-brands,body span.fa,body span.fas,body span.far,body span.fab,
body .fa::before,body .fas::before,body .far::before,body .fab::before,
body .fa-solid::before,body .fa-regular::before,body .fa-brands::before{
  font-family:"Font Awesome 6 Free" !important;
  font-style:normal !important;
  font-variant:normal !important;
  text-rendering:auto !important;
}
body .fab,body .fa-brands,body .fa-brands::before{
  font-family:"Font Awesome 6 Brands" !important;
  font-weight:400 !important;
}
body .fas,body .fa-solid,body .fa-solid::before{font-weight:900 !important;}
body .far,body .fa-regular,body .fa-regular::before{font-weight:400 !important;}

/* ==========================================================
   9. NO ACCIDENTAL SERIF FROM LEGACY PAGE CSS
   ========================================================== */
body .banner-copy h2,body .period-banner h2,body .hero-badge,
body .recurring-employee-info strong,body .card-title h2,
body .tab-btn,body .view-btn,body .summary-card strong,
body .summary-value,body .money,body .date-main,body .date-sub,
body .shift-name,body .shift-hours,body .payroll-tab,body .records-table,
body .shift-table,body .leave-table,body .history-table{
  font-family:var(--swift-ui-font) !important;
}

/* Keep only title hierarchy via size/weight. */
body .shift-hero h1{font-size:29px !important;font-weight:700 !important;}
body .salary-page-head h1{font-weight:700 !important;}
body .card-title h2,body .records-heading h2{font-weight:700 !important;}
/* DARK MODE FORM CONTROL OVERRIDE — loaded last so native select/options stay readable. */
html.theme-dark body select,
html.theme-dark body .form-control,
html.theme-dark body .filter-select,
html.theme-dark body .month-select,
html.theme-dark body .period-controls select,
html.theme-dark body .field select {
  color:#f4eadc !important;
  background-color:#211713 !important;
  border-color:#60483a !important;
  color-scheme:dark !important;
}

html.theme-dark body option,
html.theme-dark body select option,
html.theme-dark body .form-control option,
html.theme-dark body .filter-select option,
html.theme-dark body .month-select option,
html.theme-dark body .period-controls select option,
html.theme-dark body .field select option {
  background-color:#211713 !important;
  color:#f4eadc !important;
}

html.theme-dark body option:checked,
html.theme-dark body select option:checked,
html.theme-dark body .filter-select option:checked,
html.theme-dark body .month-select option:checked {
  background-color:#4a3328 !important;
  color:#fff8ef !important;
}

