@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@300;400;500;600;700;800&family=Sora:wght@300;400;500;600;700;800&display=swap');
:root {
  /* SafeNod Enterprise Typography System (Zoho Books Standard) */
  --font-family-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-family-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-family-heading: 'Sora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-family-brand:   'Sora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-family-mono:    'DM Mono', 'Space Mono', SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-family-base:    var(--font-family-primary);

  --sn-font-scale:       1;

  /* Tier 1: Headers & Titles (Sora) */
  --fs-page-title:       calc(18px * var(--sn-font-scale));
  --fw-page-title:       700;
  --lh-page-title:       1.25;

  --fs-section-heading:  calc(15px * var(--sn-font-scale));
  --fw-section-heading:  600;
  --lh-section-heading:  1.3;

  --fs-card-title:       calc(14px * var(--sn-font-scale));
  --fw-card-title:       600;
  --lh-card-title:       1.35;

  --fs-header-sub:       calc(12px * var(--sn-font-scale));
  --fw-header-sub:       400;

  /* Tier 2: Sidebar & Navigation (Inter / Sora) */
  --fs-sidebar:          calc(13px * var(--sn-font-scale));
  --fw-sidebar:          500;
  --fs-nav:              calc(13px * var(--sn-font-scale));
  --fw-nav:              500;
  --fs-nav-group:        calc(10.5px * var(--sn-font-scale));
  --fw-nav-group:        700;

  /* Tier 3: Tables & Lists (Inter / Sora) */
  --fs-table-header:     calc(11.5px * var(--sn-font-scale));
  --fw-table-header:     700;
  --fs-table:            calc(13px * var(--sn-font-scale));
  --fw-table:            400;

  /* Tier 4: Forms & Inputs (Inter) */
  --fs-label:            calc(12px * var(--sn-font-scale));
  --fw-label:            600;
  --fs-input:            calc(13px * var(--sn-font-scale));
  --fw-input:            400;
  --fs-small:            calc(11.5px * var(--sn-font-scale));
  --fw-small:            400;

  /* Tier 5: Buttons & Actions (Sora) */
  --fs-button:           calc(13px * var(--sn-font-scale));
  --fw-button:           700;
  --fs-button-sm:        calc(11.5px * var(--sn-font-scale));
  --fw-button-sm:        600;

  /* Tier 6: Badges & Chips (Sora / DM Mono) */
  --fs-badge:            calc(11px * var(--sn-font-scale));
  --fw-badge:            700;
  --fs-count:            calc(10.5px * var(--sn-font-scale));
  --fw-count:            700;

  /* Tier 7: KPIs & Telemetry (Sora / DM Mono) */
  --fs-kpi-val:          calc(26px * var(--sn-font-scale));
  --fw-kpi-val:          800;
  --fs-kpi-lbl:          calc(11.5px * var(--sn-font-scale));
  --fw-kpi-lbl:          600;
  --fs-mono:             calc(12px * var(--sn-font-scale));

  /* Tier 8: Modals (Sora / Inter) */
  --fs-modal-title:      calc(16px * var(--sn-font-scale));
  --fw-modal-title:      700;
  --fs-body:             calc(13px * var(--sn-font-scale));
  --fw-body:             400;

  /* Spacing & Layout Tokens */
  --spacing-xs:          6px;
  --spacing-sm:          10px;
  --spacing-md:          16px;
  --spacing-lg:          24px;
  --spacing-xl:          32px;
  --line-height-base:    1.6;

  /* SafeNod Aqua Palette Tokens (#02D8E8 is the primary and darkest limit) */
  --aqua-0:     #02D8E8;
  --aqua-10:    #1CDCEA;
  --aqua-20:    #36E0ED;
  --aqua-30:    #51E5EF;
  --aqua-40:    #6DE9F2;
  --aqua-50:    #89EDF4;
  --aqua-60:    #A5F1F7;
  --aqua-70:    #C2F6F9;
  --aqua-80:    #E0FAFC;
  --aqua-90:    #FFFFFF;
  --sn-black:   #000000;

  /* Backward-compatible scale */
  --sn-blue-50:  #E0FAFC;
  --sn-blue-100: #C2F6F9;
  --sn-blue-200: #A5F1F7;
  --sn-blue-300: #89EDF4;
  --sn-blue-400: #6DE9F2;
  --sn-blue-500: #51E5EF;
  --sn-blue-600: #36E0ED;
  --sn-blue-700: #1CDCEA;
  --sn-blue-800: #02D8E8;
  --sn-blue-900: #02D8E8;
  --sn-blue-950: #000000;

  /* Explicit Aqua tokens */
  --sn-aqua-50:  #E0FAFC;
  --sn-aqua-100: #C2F6F9;
  --sn-aqua-200: #A5F1F7;
  --sn-aqua-300: #6DE9F2;
  --sn-aqua-400: #36E0ED;
  --sn-aqua-500: #02D8E8;
  --sn-aqua-600: #02D8E8;
  --sn-aqua-700: #1CDCEA;
  --sn-aqua-800: #36E0ED;
  --sn-aqua-900: #02D8E8;
  --sn-aqua-950: #000000;
  color-scheme: light;
  
  --blue:           #02D8E8;   /* primary action color */
  --blue-hover:     #1CDCEA;   /* lighter tint on hover */
  --primary-light:  #36E0ED;   /* vibrant hero aqua */
  --primary-dark:   #02D8E8;   /* primary brand */
  --accent-steel:   #E0FAFC;   /* very light aqua tint for badges */

  
  --bg:             #FFFFFF;
  --bg2:            #E0FAFC;   /* subtle secondary bg */
  --bg-soft:        #E0FAFC;   /* sidebar, left panels */
  --bg-hover:       #C2F6F9;   /* hover overlay bg */
  --btn-bg:         #FFFFFF;   /* button/input resting bg */
  --hover:          #E0FAFC;   /* row/item hover */
  --input-bg:       #FFFFFF;   /* form input bg */

  
  --header-bg:      linear-gradient(90deg, #02D8E8 0%, #1CDCEA 50%, #36E0ED 100%);
  --sn-gradient:    linear-gradient(90deg, #02D8E8 0%, #1CDCEA 50%, #36E0ED 100%);

  
  --border:         #C2F6F9;   /* general borders */

  
  --text:           #000000;   /* primary text */
  --text2:          #000000;   /* secondary text */
  --text3:          #000000;   /* tertiary / muted */
  --text-muted:     #000000;   /* placeholder / disabled */

  
  --info-bg:        #E0FAFC;   /* light info chip bg */

  
  --status-open-bg:     #E0FAFC;
  --status-open-border: #C2F6F9;
  --status-open-text:   #000000;
  --status-open-dot:    #6DE9F2;

  
  --status-progress-bg:     #E0FAFC;
  --status-progress-border: #89EDF4;
  --status-progress-text:   #000000;
  --status-progress-dot:    #36E0ED;

  
  --status-closed-bg:     #E0FAFC;
  --status-closed-border: #89EDF4;
  --status-closed-text:   #000000;
  --status-closed-dot:    #02D8E8;

  
  --status-overdue-bg:   #E0FAFC;
  --status-overdue-text: #000000;
  --status-overdue-dot:  #1CDCEA;

  
  --status-total-dot:    #36E0ED;

  
  --danger-bg:    #E0FAFC;
  --danger-text:  #000000;

  
  --warning-bg:   #E0FAFC;
  --warning-text: #000000;

  
  --success-text: #000000;
  --success-dark: #02D8E8;
}

[data-theme="dark"] {
  color-scheme: dark;
  
  --blue:           #02D8E8;
  --blue-hover:     #36E0ED;
  --primary-light:  #36E0ED;
  --primary-dark:   #00B4C4;
  --primary-glow:   rgba(2, 216, 232, 0.25);
  --accent-steel:   rgba(255, 255, 255, 0.08);

  --bg:             #0B0F19;
  --bg2:            #111827;
  --bg-soft:        #161F30;
  --bg-hover:       rgba(255, 255, 255, 0.08);
  --btn-bg:         #1E293B;
  --hover:          rgba(255, 255, 255, 0.05);
  --input-bg:       #0F172A;

  --header-bg:      linear-gradient(90deg, #091528 0%, #0F233D 50%, #0D2D44 100%);
  --sn-gradient:    linear-gradient(90deg, #091528 0%, #0F233D 50%, #0D2D44 100%);

  --border:         rgba(255, 255, 255, 0.08);
  --border-dark:    rgba(255, 255, 255, 0.16);

  --text:           #F8FAFC;
  --text2:          #94A3B8;
  --text3:          #64748B;
  --text-muted:     #64748B;

  --info-bg:        rgba(56, 189, 248, 0.12);

  --status-open-bg:     rgba(56, 189, 248, 0.12);
  --status-open-border: rgba(56, 189, 248, 0.3);
  --status-open-text:   #7DD3FC;
  --status-open-dot:    #38BDF8;

  --status-progress-bg:     rgba(234, 179, 8, 0.12);
  --status-progress-border: rgba(234, 179, 8, 0.3);
  --status-progress-text:   #FDE047;
  --status-progress-dot:    #EAB308;

  --status-closed-bg:     rgba(34, 197, 94, 0.12);
  --status-closed-border: rgba(34, 197, 94, 0.3);
  --status-closed-text:   #86EFAC;
  --status-closed-dot:    #22C55E;

  --status-overdue-bg:   rgba(239, 68, 68, 0.12);
  --status-overdue-text: #FCA5A5;
  --status-overdue-dot:  #EF4444;

  --status-total-dot:    #02D8E8;

  --danger-bg:    rgba(239, 68, 68, 0.12);
  --danger-text:  #FCA5A5;

  --warning-bg:   rgba(234, 179, 8, 0.12);
  --warning-text: #FDE047;

  --success-text: #86EFAC;
  --success-dark: #22C55E;
}

:root {
    --chart-1: #02D8E8;   /* primary aqua */
    --chart-2: #1CDCEA;   /* aqua tint 1 */
    --chart-3: #36E0ED;   /* aqua tint 2 */
    --chart-4: #51E5EF;   /* aqua tint 3 */
    --chart-5: #6DE9F2;   /* aqua tint 4 */
    --chart-6: #89EDF4;   /* aqua tint 5 */
    --chart-7: #A5F1F7;   /* aqua tint 6 */
    --chart-8: #C2F6F9;   /* aqua tint 7 */
}
[data-theme="dark"] {
    --chart-1: #02D8E8;
    --chart-2: #1CDCEA;
    --chart-3: #36E0ED;
    --chart-4: #51E5EF;
    --chart-5: #6DE9F2;
    --chart-6: #89EDF4;
    --chart-7: #A5F1F7;
    --chart-8: #C2F6F9;
}

/* SafeNod Enterprise Typography Global Enforcement */
html, body {
  font-family: var(--font-family-body) !important;
  font-size: var(--fs-body);
  font-weight: var(--fw-body);
  line-height: var(--line-height-base, 1.5);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   SafeNod Master Universal Component Typography & Alignment Enforcement
   ========================================================================== */

/* Tier 1: Unified Page Header Containers */
.page-header, .ia-page-header, .sc-page-header, .ppe-page-header, .roi-page-header, 
.nmm-page-header, .esg-page-header, .id-page-header, .sub-page-header, .sn-sup-page-header,
.sn-master-header {
  padding: 12px 20px !important;
  min-height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  border-radius: 12px !important;
}

/* Tier 1: Unified Header Icon Badges (Exact 40px x 40px) */
.ia-header-icon, .sc-header-icon, .ppe-header-icon, .roi-header-icon, 
.nmm-header-icon, .esg-header-icon, .pa-header-icon, .insect-header-icon,
.sn-sup-header-icon, .sn-header-icon, .es-header-icon, .notif-header-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  border: 1.5px solid #02D8E8 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 4px 12px rgba(2, 216, 232, 0.2), inset 0 1px 0 rgba(255,255,255,0.4) !important;
  color: #02D8E8 !important;
}

.ia-header-icon svg, .sc-header-icon svg, .ppe-header-icon svg, .roi-header-icon svg, 
.nmm-header-icon svg, .esg-header-icon svg, .pa-header-icon svg, .insect-header-icon svg,
.sn-sup-header-icon svg, .sn-header-icon svg, .es-header-icon svg, .notif-header-icon svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #02D8E8 !important;
  color: #02D8E8 !important;
  display: block !important;
}

[data-theme="dark"] .ia-header-icon, 
[data-theme="dark"] .sc-header-icon, 
[data-theme="dark"] .ppe-header-icon, 
[data-theme="dark"] .roi-header-icon, 
[data-theme="dark"] .nmm-header-icon, 
[data-theme="dark"] .esg-header-icon, 
[data-theme="dark"] .pa-header-icon, 
[data-theme="dark"] .insect-header-icon,
[data-theme="dark"] .sn-sup-header-icon, 
[data-theme="dark"] .sn-header-icon,
[data-theme="dark"] .es-header-icon, 
[data-theme="dark"] .notif-header-icon {
  background: #000000 !important;
  border-color: #02D8E8 !important;
}

[data-theme="dark"] .ia-header-icon svg, 
[data-theme="dark"] .sc-header-icon svg, 
[data-theme="dark"] .ppe-header-icon svg, 
[data-theme="dark"] .roi-header-icon svg, 
[data-theme="dark"] .nmm-header-icon svg, 
[data-theme="dark"] .esg-header-icon svg, 
[data-theme="dark"] .pa-header-icon svg, 
[data-theme="dark"] .insect-header-icon svg,
[data-theme="dark"] .sn-sup-header-icon svg, 
[data-theme="dark"] .sn-header-icon svg,
[data-theme="dark"] .es-header-icon svg, 
[data-theme="dark"] .notif-header-icon svg {
  stroke: #02D8E8 !important;
  color: #02D8E8 !important;
}

/* Tier 1: Unified Header Titles (Sora 18px 700) */
.page-title, h1, .h1, #pageTitle, .jira-page-title, .fi-page-title, .brand-title, 
.sn-page-title, .ia-header-title, .sc-header-title, .ppe-header-title, .roi-header-title, 
.nmm-header-title, .esg-header-title, .pa-header-title, .sn-sup-page-title, 
.sn-sup-header-title, .sub-page-title, .sidebar-header-title {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-page-title) !important;
  font-weight: var(--fw-page-title) !important;
  line-height: var(--lh-page-title, 1.25) !important;
  letter-spacing: -0.015em !important;
  margin: 0 !important;
}

/* Tier 1: Unified Header Subtitles (Inter 12px 400) */
.header-sub, .ia-header-sub, .sc-header-sub, .ppe-header-sub, .roi-header-sub, 
.nmm-header-sub, .esg-header-sub, .pa-header-sub, .sn-sup-header-sub, .sidebar-header-sub,
.page-subtitle {
  font-family: var(--font-family-body) !important;
  font-size: var(--fs-header-sub, calc(12px * var(--sn-font-scale, 1))) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  margin-top: 2px !important;
  opacity: 0.85 !important;
}

/* Tier 1: Section Headings (Sora 15px 600) */
.section-heading, h2, .h2, .fi-section-title, .view-title, .sn-section-title {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-section-heading) !important;
  font-weight: var(--fw-section-heading) !important;
  line-height: var(--lh-section-heading, 1.3) !important;
  letter-spacing: -0.01em !important;
}

/* Tier 1: Card Titles (Sora 14px 600) */
.card-title, .module-name, h3, .h3, .panel-title, .widget-title, .ppe-card-title,
.sub-card-title, .block-title, .sn-sup-card-title {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-card-title) !important;
  font-weight: var(--fw-card-title) !important;
  line-height: var(--lh-card-title, 1.35) !important;
}

h4, .h4, h5, .h5, h6, .h6 {
  font-family: var(--font-family-heading) !important;
  font-weight: 600 !important;
}

/* Tier 2: Sidebar Navigation (Inter 13px 500 & Sora 10.5px Section headers) */
.jira-nav-item, .jira-sub-item, .nav-link, .sidebar-item, .tab-link, .nav-item {
  font-family: var(--font-family-body) !important;
  font-size: var(--fs-sidebar) !important;
  font-weight: var(--fw-sidebar) !important;
}

.jira-group-title, .nav-group-label {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-nav-group, calc(10.5px * var(--sn-font-scale, 1))) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* Tier 3: Tables & Grids (Column Headers Sora/Inter 11.5px 700 Uppercase, Cells Inter 13px) */
table th, th, .table-header, th.jv-col-header, .nmm-th, .ppe-th {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-table-header, calc(11.5px * var(--sn-font-scale, 1))) !important;
  font-weight: var(--fw-table-header, 700) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

table td, td, .table-cell, .jv-table-cell, .nmm-td, .ppe-td {
  font-family: var(--font-family-body) !important;
  font-size: var(--fs-table) !important;
  font-weight: var(--fw-table) !important;
  line-height: 1.5 !important;
}

/* Tier 4: Forms & Field Labels (Sora 13px 700 Bold / Input 13px Inter) */
label, .form-label, .fi-label, .field-label, .jv-field-label, .srow-label, .jv-section-label {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-label, calc(13px * var(--sn-font-scale, 1))) !important;
  font-weight: 700 !important;
  color: var(--text, #000000) !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 6px !important;
  display: inline-block !important;
}

input, select, textarea, .form-control, .fi-input, .input-field, .select-field, .jv-summary-input {
  font-family: var(--font-family-body) !important;
  font-size: var(--fs-input, calc(13px * var(--sn-font-scale, 1))) !important;
  font-weight: 400 !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  border: 1px solid var(--border, #C2F6F9) !important;
  background-color: var(--input-bg, #ffffff) !important;
  color: var(--text, #000000) !important;
  box-sizing: border-box !important;
}

.jv-summary-view {
  min-height: 28px !important;
  padding: 4px 6px !important;
  font-size: calc(14px * var(--sn-font-scale, 1)) !important;
  border-radius: 4px !important;
  background-color: transparent !important;
  border: 1px solid transparent !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.jv-summary-view:hover {
  background-color: var(--bg2, #E0FAFC) !important;
  border-color: var(--border, #C2F6F9) !important;
}

#jvSummaryViewText {
  font-family: var(--font-family-body) !important;
  font-size: calc(14px * var(--sn-font-scale, 1)) !important;
  font-weight: 500 !important;
  color: var(--text, #000000) !important;
  line-height: 1.4 !important;
}

/* Tier 5: Buttons & Actions (Sora 13px 700 / Small 11.5px 600) */
button, .btn, .btn-primary, .btn-secondary, .btn-create, .btn-cancel, 
.jira-create-btn, .jira-btn-text, .sn-btn, .nmm-hbtn, .sc-new-btn, 
.ppe-btn-action, .sub-btn-primary {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-button) !important;
  font-weight: var(--fw-button) !important;
}

.btn-sm, .sn-btn-sm, .chip, .ppe-toggle-btn {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-button-sm, calc(11.5px * var(--sn-font-scale, 1))) !important;
  font-weight: 600 !important;
}

/* Tier 6: Badges & Status Chips (Sora 11px 700) */
.badge, .status-badge, .sn-badge, .chip-badge, .ppe-feed-status-badge {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-badge, calc(11px * var(--sn-font-scale, 1))) !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
}

.count-badge, .ppe-tabbar-badge, .notif-badge {
  font-family: var(--font-family-mono) !important;
  font-size: var(--fs-count, calc(10.5px * var(--sn-font-scale, 1))) !important;
  font-weight: 700 !important;
}

/* Tier 7: KPIs & Telemetry Numbers (Sora 26px 800 & DM Mono) */
.kpi-val, .stat-number, .metric-value, .kpi-number, .ppe-kpi-val, .roi-kpi-value {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-kpi-val, calc(26px * var(--sn-font-scale, 1))) !important;
  font-weight: var(--fw-kpi-val, 800) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
}

.kpi-lbl, .stat-label, .metric-label, .kpi-title {
  font-family: var(--font-family-body) !important;
  font-size: var(--fs-kpi-lbl, calc(11.5px * var(--sn-font-scale, 1))) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* Monospace & Metrics (DM Mono / Space Mono) */
code, pre, kbd, samp, .mono, .font-mono, .badge-id, .telemetry-code, .metric-mono, .jira-sb-clock-widget {
  font-family: var(--font-family-mono) !important;
  font-size: var(--fs-mono, calc(12px * var(--sn-font-scale, 1))) !important;
}

/* Tier 8: Modals & Dialogs (Sora 16px 700 Title / Inter 13px Body) */
.modal-title, .modal-header h2, .dialog-title {
  font-family: var(--font-family-heading) !important;
  font-size: var(--fs-modal-title, calc(16px * var(--sn-font-scale, 1))) !important;
  font-weight: 700 !important;
}

.modal-body, .dialog-body {
  font-family: var(--font-family-body) !important;
  font-size: var(--fs-body) !important;
  line-height: 1.5 !important;
}

/* Small Helper Text (Inter 11.5px 400) */
small, .small-text, .helper-text, .fi-note, .fi-section-note, .note-text, .err-msg, .srow-sub {
  font-size: var(--fs-small) !important;
  font-weight: var(--fw-small) !important;
  font-family: var(--font-family-body) !important;
}

[data-font-size="medium"] {
  --sn-font-scale: 1.15;
}

[data-font-size="large"] {
  --sn-font-scale: 1.3;
}

[data-font-style="sora-inter"] {
  --font-family-primary: 'Inter', sans-serif;
  --font-family-body: 'Inter', sans-serif;
  --font-family-heading: 'Sora', sans-serif;
}

[data-font-style="inter"] {
  --font-family-primary: 'Inter', sans-serif;
  --font-family-body: 'Inter', sans-serif;
  --font-family-heading: 'Inter', sans-serif;
}

[data-font-style="sora"] {
  --font-family-primary: 'Sora', sans-serif;
  --font-family-body: 'Sora', sans-serif;
  --font-family-heading: 'Sora', sans-serif;
}

[data-font-style="system"] {
  --font-family-primary: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-family-body: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-family-heading: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* ── Global Currency Input & Symbol Alignment ── */
.fi-currency-wrapper {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

.fi-currency-wrapper .fi-currency-symbol-addon {
  position: absolute !important;
  left: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-weight: 600 !important;
  color: #5e6c84 !important;
  pointer-events: none !important;
  z-index: 2 !important;
  line-height: 1 !important;
  font-size: calc(13px * var(--sn-font-scale, 1)) !important;
  font-family: var(--font-family-body, inherit) !important;
}

.fi-currency-wrapper input.fi-currency-input,
.fi-currency-wrapper input.fi-total-cost-calculator,
.fi-currency-wrapper input.input-field {
  padding-left: 32px !important;
}

/* ═════════════════════════════════════════════════════════════════
   GLOBAL SMOOTH SCROLLING & LUXURY MOMENTUM SCROLLBARS (2026)
   ═════════════════════════════════════════════════════════════════ */
html,
body,
:root {
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Universal Smooth Scroll Container Rules */
.jira-main-content,
.full-screen-layout,
.jv-body,
.jv-left,
.jv-right,
.jv-main-container,
.main-content,
.content-area,
.page-container,
.home-main,
.modal-body,
.dialog-body,
.drawer-body,
.table-container,
.sn-scrollable,
[data-scrollable="true"],
.fi-part-body,
.jv-detail-part-body,
.recent-activity-list,
.customizer-body {
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

/* Premium Minimalist Scrollbars */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(2, 216, 232, 0.4) transparent;
}

*::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  background: rgba(2, 216, 232, 0.35);
  border-radius: 999px;
  border: 1.5px solid transparent;
  background-clip: padding-box;
  transition: background-color 0.2s ease;
}

*::-webkit-scrollbar-thumb:hover {
  background: rgba(2, 216, 232, 0.8);
  border: 1px solid transparent;
  background-clip: padding-box;
}

*::-webkit-scrollbar-corner {
  background: transparent;
}

[data-theme="dark"] * {
  scrollbar-color: rgba(2, 216, 232, 0.45) transparent;
}

[data-theme="dark"] *::-webkit-scrollbar-thumb {
  background: rgba(2, 216, 232, 0.4);
}

[data-theme="dark"] *::-webkit-scrollbar-thumb:hover {
  background: rgba(2, 216, 232, 0.9);
}
