/* RJ HMS Global Theme v26 - NO LOGIN CSS
   This file is scoped so it will NOT change the Sign In / Login page.
   Login page is ignored using body.rj-login-page class from rj-hms-global.js. */

:root{
  --rj-primary:#0f766e;
  --rj-primary-dark:#0b4f4a;
  --rj-primary-soft:#e8f6f4;
  --rj-navy:#10345b;
  --rj-border:#dbe7ef;
  --rj-bg:#f7fafc;
  --rj-card:#ffffff;
  --rj-text:#122033;
  --rj-muted:#64748b;
  --rj-shadow:0 8px 24px rgba(15,52,91,.10);
  --rj-radius:14px;
}

/* Apply background only after login, never on Sign In page */
body:not(.rj-login-page){
  background:var(--rj-bg)!important;
  color:var(--rj-text)!important;
}

/* Global header colour guard - not login */
body:not(.rj-login-page) .mat-toolbar,
body:not(.rj-login-page) mat-toolbar,
body:not(.rj-login-page) .toolbar,
body:not(.rj-login-page) .topbar,
body:not(.rj-login-page) .header,
body:not(.rj-login-page) [class*="toolbar"]{
  background:var(--rj-primary)!important;
}

/* Dashboard/accordion title bars - not login */
body:not(.rj-login-page) .mat-expansion-panel-header,
body:not(.rj-login-page) mat-expansion-panel-header,
body:not(.rj-login-page) .panel-heading,
body:not(.rj-login-page) .card-header,
body:not(.rj-login-page) .accordion-header,
body:not(.rj-login-page) [class*="panel-header"],
body:not(.rj-login-page) [class*="section-header"]{
  background:var(--rj-primary)!important;
  color:#fff!important;
  border-radius:var(--rj-radius) var(--rj-radius) 0 0!important;
  box-shadow:none!important;
}

/* Normal material form fields - not login */
body:not(.rj-login-page) .mat-form-field,
body:not(.rj-login-page) .mat-form-field-wrapper,
body:not(.rj-login-page) .mat-form-field-flex,
body:not(.rj-login-page) .mat-form-field-infix,
body:not(.rj-login-page) .mat-select-trigger,
body:not(.rj-login-page) .mat-select-value,
body:not(.rj-login-page) input.mat-input-element,
body:not(.rj-login-page) textarea.mat-input-element{
  background:#fff!important;
  color:var(--rj-text)!important;
}
body:not(.rj-login-page) .mat-form-field-appearance-fill .mat-form-field-flex,
body:not(.rj-login-page) .mat-form-field-appearance-outline .mat-form-field-flex,
body:not(.rj-login-page) .mat-form-field-appearance-legacy .mat-form-field-infix,
body:not(.rj-login-page) .mat-form-field-appearance-standard .mat-form-field-infix{
  background:#fff!important;
  border-radius:10px!important;
}
body:not(.rj-login-page) .mat-form-field-label,
body:not(.rj-login-page) .mat-select-placeholder,
body:not(.rj-login-page) .mat-select-arrow,
body:not(.rj-login-page) .mat-input-element::placeholder{
  color:var(--rj-muted)!important;
}
body:not(.rj-login-page) .mat-form-field-underline,
body:not(.rj-login-page) .mat-form-field-ripple{
  background-color:var(--rj-border)!important;
}

/* Buttons - not login */
body:not(.rj-login-page) button,
body:not(.rj-login-page) .mat-raised-button,
body:not(.rj-login-page) .mat-flat-button,
body:not(.rj-login-page) .mat-button,
body:not(.rj-login-page) .btn{
  border-radius:10px!important;
}
body:not(.rj-login-page) .mat-raised-button.mat-primary,
body:not(.rj-login-page) .mat-flat-button.mat-primary,
body:not(.rj-login-page) button[type="submit"],
body:not(.rj-login-page) .btn-primary,
body:not(.rj-login-page) button.rj-primary{
  background:var(--rj-primary)!important;
  color:#fff!important;
  border:0!important;
}

/* Sidebar brand fix - not login */
body:not(.rj-login-page) .rj-custom-brand{
  display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-bottom:1px solid var(--rj-border);position:sticky;top:0;z-index:20;
}
body:not(.rj-login-page) .rj-custom-brand img{width:58px;height:58px;object-fit:contain;border-radius:12px;background:#fff;padding:6px;box-shadow:var(--rj-shadow)}
body:not(.rj-login-page) .rj-custom-brand-text h3{margin:0;font-size:15px;line-height:1.1;color:var(--rj-navy);font-weight:800}
body:not(.rj-login-page) .rj-custom-brand-text p{margin:4px 0 0;font-size:11px;color:var(--rj-muted)}
body:not(.rj-login-page) .rj-company-badge{margin:10px 14px 8px;padding:8px 12px;border-radius:12px;background:var(--rj-primary-soft);color:var(--rj-primary-dark);font-size:13px;font-weight:700;border:1px solid #cfe7e3}
body:not(.rj-login-page) .mat-drawer,
body:not(.rj-login-page) .mat-sidenav,
body:not(.rj-login-page) .mat-drawer-inner-container,
body:not(.rj-login-page) .sidebar,
body:not(.rj-login-page) .left-panel{background:#fff!important;scrollbar-width:thin;scrollbar-color:var(--rj-primary) #eaf2f5}
body:not(.rj-login-page) .mat-drawer-inner-container::-webkit-scrollbar,
body:not(.rj-login-page) .sidebar::-webkit-scrollbar,
body:not(.rj-login-page) .left-panel::-webkit-scrollbar{width:8px}
body:not(.rj-login-page) .mat-drawer-inner-container::-webkit-scrollbar-thumb,
body:not(.rj-login-page) .sidebar::-webkit-scrollbar-thumb,
body:not(.rj-login-page) .left-panel::-webkit-scrollbar-thumb{background:var(--rj-primary);border-radius:10px}

/* Dashboard cards / menu tiles - not login */
body:not(.rj-login-page) .card,
body:not(.rj-login-page) .mat-card,
body:not(.rj-login-page) .dashboard-card,
body:not(.rj-login-page) [class*="dashboard"] .mat-card,
body:not(.rj-login-page) [class*="module"] .mat-card{
  background:var(--rj-card)!important;
  border:1px solid var(--rj-border)!important;
  border-radius:var(--rj-radius)!important;
  box-shadow:var(--rj-shadow)!important;
  color:var(--rj-text)!important;
}

/* ================= REPORT PAGE FIX ================= */
body.rj-report-page:not(.rj-login-page) app-root,
body.rj-report-page:not(.rj-login-page) .content,
body.rj-report-page:not(.rj-login-page) .main-content,
body.rj-report-page:not(.rj-login-page) .page-content,
body.rj-report-page:not(.rj-login-page) .mat-drawer-content{
  overflow-x:hidden!important;
}

body.rj-report-page:not(.rj-login-page) form,
body.rj-report-page:not(.rj-login-page) .filter-panel,
body.rj-report-page:not(.rj-login-page) .report-filter,
body.rj-report-page:not(.rj-login-page) .search-panel,
body.rj-report-page:not(.rj-login-page) .parameter-panel,
body.rj-report-page:not(.rj-login-page) [class*="filter"],
body.rj-report-page:not(.rj-login-page) [class*="Filter"],
body.rj-report-page:not(.rj-login-page) [class*="parameter"],
body.rj-report-page:not(.rj-login-page) [class*="Parameter"]{
  background:var(--rj-card)!important;
  border:1px solid var(--rj-border)!important;
  border-radius:var(--rj-radius)!important;
  box-shadow:var(--rj-shadow)!important;
}

body.rj-report-page:not(.rj-login-page) .mat-form-field,
body.rj-report-page:not(.rj-login-page) .mat-form-field-wrapper,
body.rj-report-page:not(.rj-login-page) .mat-form-field-flex,
body.rj-report-page:not(.rj-login-page) .mat-form-field-infix,
body.rj-report-page:not(.rj-login-page) input,
body.rj-report-page:not(.rj-login-page) select,
body.rj-report-page:not(.rj-login-page) textarea{
  box-shadow:none!important;
}

body.rj-report-page:not(.rj-login-page) h1,
body.rj-report-page:not(.rj-login-page) h2,
body.rj-report-page:not(.rj-login-page) h3,
body.rj-report-page:not(.rj-login-page) .page-title,
body.rj-report-page:not(.rj-login-page) [class*="title"]{
  color:var(--rj-navy)!important;
}

body.rj-report-page:not(.rj-login-page) .mat-form-field{
  width:100%!important;
  min-width:0!important;
  margin:0 0 12px!important;
}
body.rj-report-page:not(.rj-login-page) input,
body.rj-report-page:not(.rj-login-page) select,
body.rj-report-page:not(.rj-login-page) textarea,
body.rj-report-page:not(.rj-login-page) .mat-select,
body.rj-report-page:not(.rj-login-page) .mat-datepicker-input{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.rj-report-page:not(.rj-login-page) label,
body.rj-report-page:not(.rj-login-page) .mat-form-field-label{
  white-space:normal!important;
}

body.rj-report-page:not(.rj-login-page) .mat-checkbox,
body.rj-report-page:not(.rj-login-page) mat-checkbox,
body.rj-report-page:not(.rj-login-page) input[type="checkbox"] + label,
body.rj-report-page:not(.rj-login-page) .form-check,
body.rj-report-page:not(.rj-login-page) .checkbox{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:36px!important;
  padding:6px 0!important;
  background:transparent!important;
  color:var(--rj-text)!important;
}
body.rj-report-page:not(.rj-login-page) .mat-checkbox-label{
  line-height:1.25!important;
  white-space:normal!important;
  color:var(--rj-text)!important;
}

body.rj-report-page:not(.rj-login-page) iframe,
body.rj-report-page:not(.rj-login-page) object,
body.rj-report-page:not(.rj-login-page) embed,
body.rj-report-page:not(.rj-login-page) [id*="viewer"],
body.rj-report-page:not(.rj-login-page) [id*="Viewer"],
body.rj-report-page:not(.rj-login-page) [class*="viewer"],
body.rj-report-page:not(.rj-login-page) [class*="Viewer"],
body.rj-report-page:not(.rj-login-page) [class*="reportviewer"],
body.rj-report-page:not(.rj-login-page) [class*="ReportViewer"]{
  max-width:100%!important;
  border-radius:var(--rj-radius)!important;
}

body.rj-report-page:not(.rj-login-page) table[style*="background"],
body.rj-report-page:not(.rj-login-page) div[style*="rgb(20, 81, 163)"],
body.rj-report-page:not(.rj-login-page) div[style*="#1451a3"],
body.rj-report-page:not(.rj-login-page) div[style*="#0d47a1"]{
  background:var(--rj-primary)!important;
}
body.rj-report-page:not(.rj-login-page) [class*="sti"] [style*="background"],
body.rj-report-page:not(.rj-login-page) [id*="Sti"] [style*="background"],
body.rj-report-page:not(.rj-login-page) [id*="Viewer"] [style*="background"]{
  background-color:var(--rj-primary)!important;
}
body.rj-report-page:not(.rj-login-page) [class*="toolbar"],
body.rj-report-page:not(.rj-login-page) [class*="Toolbar"],
body.rj-report-page:not(.rj-login-page) [id*="toolbar"],
body.rj-report-page:not(.rj-login-page) [id*="Toolbar"]{
  background:var(--rj-primary)!important;
  color:#fff!important;
  border-color:var(--rj-primary-dark)!important;
}
body.rj-report-page:not(.rj-login-page) [class*="page"],
body.rj-report-page:not(.rj-login-page) [class*="Page"]{
  box-shadow:0 8px 30px rgba(15,52,91,.12)!important;
}

/* Tables - not login */
body:not(.rj-login-page) .table,
body:not(.rj-login-page) table,
body:not(.rj-login-page) .mat-table{
  border-color:var(--rj-border)!important;
}
body:not(.rj-login-page) th,
body:not(.rj-login-page) .mat-header-cell,
body:not(.rj-login-page) .mat-table thead th{
  background:var(--rj-primary)!important;
  color:#fff!important;
}
body:not(.rj-login-page) td,
body:not(.rj-login-page) .mat-cell{
  color:var(--rj-text)!important;
}

/* Mobile general fixes - not login */
@media (max-width: 768px){
  body:not(.rj-login-page){overflow-x:hidden!important;}
  body:not(.rj-login-page) .mat-drawer,
  body:not(.rj-login-page) .mat-sidenav,
  body:not(.rj-login-page) .sidebar,
  body:not(.rj-login-page) .left-panel{width:290px!important;max-width:290px!important;min-width:290px!important;}

  body:not(.rj-login-page) .mat-toolbar,
  body:not(.rj-login-page) mat-toolbar,
  body:not(.rj-login-page) .toolbar,
  body:not(.rj-login-page) .topbar,
  body:not(.rj-login-page) .header{
    min-height:54px!important;
    height:auto!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    padding:8px!important;
  }

  body:not(.rj-login-page) .mat-toolbar .mat-form-field,
  body:not(.rj-login-page) mat-toolbar .mat-form-field,
  body:not(.rj-login-page) .toolbar .mat-form-field,
  body:not(.rj-login-page) .topbar .mat-form-field{
    width:100%!important;
    max-width:100%!important;
  }

  body:not(.rj-login-page) .mat-card,
  body:not(.rj-login-page) .card{
    margin:8px!important;
    border-radius:12px!important;
  }

  body:not(.rj-login-page) .mat-form-field{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body:not(.rj-login-page) .mat-form-field-wrapper{padding-bottom:10px!important;}
  body:not(.rj-login-page) .mat-form-field-infix{width:auto!important;min-width:0!important;}

  body:not(.rj-login-page) button,
  body:not(.rj-login-page) .mat-button,
  body:not(.rj-login-page) .mat-raised-button,
  body:not(.rj-login-page) .mat-flat-button,
  body:not(.rj-login-page) .btn{
    min-height:38px!important;
    font-size:13px!important;
    margin:3px!important;
  }

  body:not(.rj-login-page) table,
  body:not(.rj-login-page) .mat-table{
    min-width:560px!important;
    width:max-content!important;
  }
  body:not(.rj-login-page) .mat-table,
  body:not(.rj-login-page) .table-responsive,
  body:not(.rj-login-page) [class*="table"],
  body:not(.rj-login-page) [class*="Table"]{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.rj-report-page:not(.rj-login-page) form,
  body.rj-report-page:not(.rj-login-page) .filter-panel,
  body.rj-report-page:not(.rj-login-page) .report-filter,
  body.rj-report-page:not(.rj-login-page) .search-panel,
  body.rj-report-page:not(.rj-login-page) .parameter-panel,
  body.rj-report-page:not(.rj-login-page) [class*="filter"],
  body.rj-report-page:not(.rj-login-page) [class*="Filter"],
  body.rj-report-page:not(.rj-login-page) [class*="parameter"],
  body.rj-report-page:not(.rj-login-page) [class*="Parameter"]{
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
    margin:8px auto!important;
    padding:12px!important;
    display:block!important;
    overflow:visible!important;
  }

  body.rj-report-page:not(.rj-login-page) .mat-form-field,
  body.rj-report-page:not(.rj-login-page) input,
  body.rj-report-page:not(.rj-login-page) select,
  body.rj-report-page:not(.rj-login-page) textarea,
  body.rj-report-page:not(.rj-login-page) .mat-select{
    width:100%!important;
    max-width:100%!important;
  }

  body.rj-report-page:not(.rj-login-page) iframe,
  body.rj-report-page:not(.rj-login-page) object,
  body.rj-report-page:not(.rj-login-page) embed,
  body.rj-report-page:not(.rj-login-page) [id*="viewer"],
  body.rj-report-page:not(.rj-login-page) [id*="Viewer"],
  body.rj-report-page:not(.rj-login-page) [class*="viewer"],
  body.rj-report-page:not(.rj-login-page) [class*="Viewer"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:auto!important;
  }

  body.rj-report-page:not(.rj-login-page) [class*="toolbar"],
  body.rj-report-page:not(.rj-login-page) [class*="Toolbar"],
  body.rj-report-page:not(.rj-login-page) [id*="toolbar"],
  body.rj-report-page:not(.rj-login-page) [id*="Toolbar"]{
    overflow-x:auto!important;
    white-space:nowrap!important;
    min-height:44px!important;
  }
}

/* REPORT VIEWER BACKGROUND FIX - make report paper white only */
body:not(.rj-login-page) .stiJsViewerPageShadow *,
body:not(.rj-login-page) .stiJsViewerMainPanel,
body:not(.rj-login-page) .stiJsViewerMainPanel *,
body:not(.rj-login-page) .stiJsViewerReportPanel,
body:not(.rj-login-page) .stiJsViewerReportPanel *,
body:not(.rj-login-page) .stiJsViewerPageContainer,
body:not(.rj-login-page) .stiJsViewerPageContainer *,
body:not(.rj-login-page) .stiJsViewerPage,
body:not(.rj-login-page) .stiJsViewerPage *,
body:not(.rj-login-page) .stiJsViewerReportPanel table,
body:not(.rj-login-page) .stiJsViewerReportPanel td,
body:not(.rj-login-page) .stiJsViewerReportPanel div {
  background-color:#ffffff!important;
}
body:not(.rj-login-page) .stiJsViewerReportPanel,
body:not(.rj-login-page) .stiJsViewerReportPanel *{
  color:#122033!important;
}
body:not(.rj-login-page) .stiJsViewerPage{
  box-shadow:0 2px 10px rgba(0,0,0,.08)!important;
  border-radius:6px!important;
}
