@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;700&family=Space+Grotesk:wght@400;500;700&display=swap');

/* Tokens (used only for colors, borders, spacing) */
:root{
  --ims-text:#253746;
  --ims-accent:#84bd00;
  --ims-accent-strong:#5c9500;
  --ims-muted:#d9e1e2;
  --ims-muted-2:#768692;
  --ims-border:#d9e1e2;
  --ims-border-strong:#bac5c6;
  --ims-shadow:0 2px 9px rgba(0,0,0,.08);
  --ims-radius:8px;
}

/* Typography: do not change sizes; only families */
body,
button,
input,
select,
textarea,
.objectListingTable td,
.objectListingTable tr.hd td,
.sectionTitle,
.sectionContent,
.tabset .tab,
.tabContents .tabContent,
.region .title,
.region,
.linkList a,
.linkList .menuItem {
  font-family:'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}
h1,h2,h3,h4,h5,h6 {
  font-family:'Space Grotesk','DM Sans',sans-serif !important;
  color: var(--ims-text);
}

/* Links: color only */
a { color: var(--ims-accent); text-decoration: none; }
a:hover, a:focus { color: var(--ims-accent-strong); text-decoration: none; }

/* Horizontal rule accent */
hr { background-color: var(--ims-accent) !important; color: var(--ims-accent) !important; }

/* Buttons: color/border/shadow/radius only (keep size, layout) */
button, .btn {
  color: var(--ims-text) !important;
  background-color: var(--ims-muted) !important;
  border: 1px solid var(--ims-muted) !important;
  border-radius: var(--ims-radius) !important;
  box-shadow: none !important;
  padding: 8px 14px !important; /* spacing only */
}
button:hover, .btn:hover, button:focus, .btn:focus {
  background-color: var(--ims-accent) !important;
  border-color: var(--ims-accent) !important;
  color: #fff !important;
}
button[disabled], .btn[disabled] {
  background-color: #d0d0d0 !important;
  border-color: #d0d0d0 !important;
  color: #e6e6e6 !important;
}

.linkListFilter {
  margin-top:56px;
  background-color:#FFF;
}

.linkListFilter button:NOT(:hover) {
  background-color: #261e1d !important;
  border-color: #261e1d !important;
  filter:invert(1);
}

.toolbar button:not(:hover) {
  background:initial !important;
}
#scaleSelect {
  height:26px;
  padding:0 !important;
}

.headerContent {
  margin:0 !important;
  padding:8px 0px 0px;
  background-color:#FFF;
}
.topSurround {
  padding-top:0 !important;
}
.header {
  padding:8px;
  background:url('/images/logo.svg') no-repeat top 12px right 16px;
  background-size:300px;
}
.footer {
  padding-top:12px;
}

/* Inputs/selects/textarea: borders, radius, placeholder, focus ring */
input[type="text"],
input[type="password"],
textarea,
select {
  color: var(--ims-text) !important;
  background-color: #fff !important;
  border: 2px solid var(--ims-border) !important;
  border-radius: 4px !important;
  padding: 8px 10px !important; /* spacing only */
  outline: none !important;
}
input::placeholder,
textarea::placeholder { color: var(--ims-muted-2) !important; }
input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border-color: var(--ims-accent) !important;
  box-shadow: 0 0 0 2px rgba(132,189,0,0.15) !important;
}

/* Breadcrumbs: dark shell, light text */
.breadcrumbs {
  background-color: var(--ims-text) !important;
  color: #fff !important;
  padding: 4px 16px !important; /* spacing only */
}
.breadcrumbs .link { color: var(--ims-muted) !important; }
.breadcrumbs .page {
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: var(--ims-radius) !important;
  padding: 4px 12px !important; /* spacing only */
  margin: 4px !important;       /* spacing only */
}

/* Section containers: borders, radius, subtle shadow, spacing */
.sectionTitle {
  color: var(--ims-text) !important;
  border-bottom: 2px solid var(--ims-border) !important;
  border-radius: var(--ims-radius) var(--ims-radius) 0 0 !important;
  background-color: #f7f9fa !important; /* keep light */
  padding: 10px 16px 6px !important;    /* spacing only */
}
.sectionContent {
  background-color: #fff !important;
  border: 1px solid var(--ims-border) !important;
  border-radius: 0 0 var(--ims-radius) var(--ims-radius) !important;
  box-shadow: var(--ims-shadow) !important;
  padding: 12px 16px !important; /* spacing only */
}

/* Regions (panel shells) */
.region {
  background-color: #fff !important; /* keep light */
  border: 1px solid var(--ims-border) !important;
  border-radius: var(--ims-radius) !important;
  box-shadow: var(--ims-shadow) !important;
  margin-bottom: 16px !important; /* spacing only */
}
.region .title {
  color: var(--ims-text) !important;
  border-bottom: 1px solid var(--ims-border) !important;
  background-color: #f7f9fa !important;
  padding: 8px 12px 6px !important; /* spacing only */
}

/* Link tabs (top menu) colors only */
.linkList { border-bottom: 2px solid var(--ims-accent) !important; }
.linkList a, .linkList .topmenu > div.menuItem {
  color: var(--ims-text) !important;
  border: 1px solid var(--ims-border) !important;
  border-bottom: none !important;
  border-radius: var(--ims-radius) var(--ims-radius) 0 0 !important;
  padding: 6px 12px 4px !important; /* spacing only */
}
.linkList a.current, .linkList div.menuItem.current {
  color: #fff !important;
  background-color: var(--ims-text) !important;
  border-color: var(--ims-text) !important;
}
.linkList a:hover, .linkList .menuItem:hover {
  background-color: var(--ims-accent) !important;
  color: #fff !important;
  border-color: var(--ims-accent) !important;
}

/* Submenus (color/border only) */
div.submenu {
  background-color: #fff !important;
  border: 1px solid var(--ims-border) !important;
  border-radius: var(--ims-radius) !important;
  box-shadow: var(--ims-shadow) !important;
}
div.submenu .menuItem {
  color: var(--ims-text) !important;
  border-bottom: 1px solid var(--ims-border) !important;
  padding: 8px 16px 6px !important; /* spacing only */
}

/* Object listings: header/body colors/borders, hover & selection */
.objectListingTable.head {
  border: 1px solid var(--ims-border-strong) !important;
  border-radius: var(--ims-radius) var(--ims-radius) 0 0 !important;
  background: #fff !important;
}
.objectListingTable.data {
  border: 1px solid var(--ims-border) !important;
  border-radius: 0 0 var(--ims-radius) var(--ims-radius) !important;
  background: #fff !important;
}
.objectListingTable tr.hd td {
  background-color: rgba(37,55,70,.85) !important; /* dark stays dark */
  color: #fff !important;
  border-bottom: 1px solid var(--ims-border-strong) !important;
}
.objectListingTable tr.hd td.sortHeader {
  background-color: #9fb1c2 !important; /* keep darkish header contrast */
  color: #18222c !important;
}
.objectListingTable tr:nth-child(2n+1) td { background-color: #f3f6f7 !important; }
.objectListingTable tr.selected td {
  background-color: var(--ims-accent) !important;
  color: #fff !important;
}
.objectListingTable tr:hover td {
  background-color: #e8f2d0 !important; /* subtle hover on light rows */
}
.objectListingTable tr.selected:hover td {
  background-color: var(--ims-accent) !important; /* subtle hover on light rows */
}

/* Dialogs (title/content borders only) */
.dialog .title {
  color: var(--ims-text) !important;
  border-bottom: 1px solid var(--ims-border) !important;
  background-color: #f7f9fa !important;
  padding: 8px 12px !important; /* spacing only */
}
.dialog .content {
  border-top: 1px solid var(--ims-border) !important;
  border-bottom: 1px solid var(--ims-border) !important;
  box-shadow: var(--ims-shadow) !important;
  padding: 8px 14px !important; /* spacing only */
}
.dialog .controls { padding: 8px 16px 12px !important; } /* spacing only */

/* Tabs: color/border/spacing only */
.tabset .tab {
  background-color: #e9eef2 !important; /* light */
  color: var(--ims-text) !important;
  border: 1px solid var(--ims-border) !important;
  border-bottom: none !important;
  border-radius: var(--ims-radius) var(--ims-radius) 0 0 !important;
  padding: 6px 10px !important; /* spacing only */
}
.tabset .tab.selected {
  background-color: #fff !important;
  color: var(--ims-text) !important;
  border-color: var(--ims-border) !important;
}
.tabContents {
  border: 1px solid var(--ims-border) !important;
  border-radius: 0 0 var(--ims-radius) var(--ims-radius) !important;
  background: #fff !important;
  box-shadow: var(--ims-shadow) !important;
}
.tabContents .tabContent { padding: 8px !important; } /* spacing only */

/* Filter panel / fields */
.filterPanel .field,
.field {
  background-color: #f7f9fa !important;
  border: 1px solid var(--ims-border) !important;
  border-radius: 6px !important;
  padding: 6px 8px !important; /* spacing only */
}
.field .label { color: var(--ims-text) !important; }
.labelValue label { color: var(--ims-text) !important; }

/* Stamped notes */
.stampedTextArea {
  border: 1px solid var(--ims-border) !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: var(--ims-text) !important;
}
.stampedTextArea .message { color: var(--ims-muted-2) !important; }
.stampedTextArea .noteLine { background: #f2f6f9 !important; }

/* Generic tables (fallback) */
table { background: #fff !important; border-collapse: collapse !important; }
td,th { color: var(--ims-text) !important; }
thead th { background: rgba(37,55,70,.75) !important; color: #fff !important; }
tr:nth-child(even) td { background: #f3f6f7 !important; }

/* Tooltips */
.tooltip {
  background: #fff !important;
  color: var(--ims-text) !important;
  border: 1px solid var(--ims-border) !important;
  box-shadow: var(--ims-shadow) !important;
  padding: 6px 8px !important; /* spacing only */
  border-radius: 6px !important;
}

/* Footer & minor accents */
div.staticContentAnnotation {
  background: #f7f9fa !important;
  border-top: 2px solid var(--ims-border) !important;
  border-bottom: 1px solid var(--ims-border) !important;
  color: var(--ims-text) !important;
}

/* Print: colors only (no layout changes) */
@media print{
  a { color:#000 !important; text-decoration:none !important; }
  .sectionTitle { color:#000 !important; border-color:#000 !important; background:#fff !important; }
  .sectionContent { border-color:#000 !important; box-shadow:none !important; }
}



.userNote { color: var(--ims-muted-2) !important; }

/* Main tab row */
.linkList {
  border-bottom: 1px solid var(--ims-border) !important;  /* lighter underline */
  margin-top: 16px !important;                            /* spacing only */
}

/* Dynamic menu items (neutralize dark backgrounds/borders; keep layout) */
#dynamic-menu .topmenu .menuItem,
.linkList a,
.linkList .menuItem {
  background: transparent !important;
  color: var(--ims-text) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px 14px 10px !important;  /* spacing only */
  margin: 0 8px 0 0 !important;        /* spacing only */
}

/* Current tab and hover: simple underline indicator (website feel) */
.linkList a.current,
.linkList .menuItem.current {
  background: transparent !important;
  color: var(--ims-text) !important;
  border: none !important;
  border-bottom: 3px solid var(--ims-text) !important;
}
.linkList a:hover,
.linkList .menuItem:hover {
  background: transparent !important;
  color: var(--ims-accent-strong) !important;
  border-bottom: 3px solid var(--ims-accent) !important;
}

/* Small caret for items with submenu (visual cue only) */
.linkList .menuItem.withSubmenu::after,
#dynamic-menu .topmenu .menuItem.withSubmenu::after {
  content: '▼';
  position:absolute;
  top:0.7em;
  right:8px;
  color: var(--ims-muted-2);
}

.submenu .menuItem.withSubmenu::after {
  content: '▶' !important;
}


.linkList .menuItem.withSubmenu,
#dynamic-menu .topmenu .menuItem.withSubmenu
{
  padding-right:24px !important;
}

/* Submenus: light panel, dark text, subtle divider */
div.submenu {
  background: #fff !important;
  border: 1px solid var(--ims-border) !important;
  border-radius: var(--ims-radius) !important;
  box-shadow: var(--ims-shadow) !important;
}
div.submenu .menuItem {
  background: transparent !important;
  color: var(--ims-text) !important;
  border-bottom: 1px solid var(--ims-border) !important;
  padding: 8px 14px !important;  /* spacing only */
  margin: 0 !important;
}
div.submenu .menuItem:last-child { border-bottom: none !important; }
div.submenu .menuItem:hover {
  background: #f4f7f9 !important;
  color: var(--ims-text) !important;
}

/* Static menu (has inline background colors): neutralize to match site */
#static-menu a {
  background: transparent !important;
  color: var(--ims-text) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 10px 12px !important;  /* spacing only */
  margin: 0 8px 0 0 !important;   /* spacing only */
}
#static-menu a.current {
  color: var(--ims-text) !important;
  /*border-bottom: 3px solid var(--ims-text) !important;*/
}
#static-menu a:hover {
  color: var(--ims-accent-strong) !important;
  /*border-bottom: 3px solid var(--ims-accent) !important;*/
}

/* Keep dark = dark, light = light; remove heavy pills without layout change */


/* 1) Ensure dark header background and white text (site-like) */
.objectListingTable tr.hd td {
  background-color: #253746 !important; /* strong dark */
  color: #fff !important;
  border-bottom: 1px solid var(--ims-border-strong) !important;
}

/* When the header shows a “sorted” style, keep contrast dark-on-light as intended */
.objectListingTable tr.hd td.sortHeader {
  background-color: #9fb1c2 !important; /* muted blue-grey */
  color: #18222c !important;
}




#dynamic-menu .topmenu .menuItem:hover,
.submenu .menuItem:hover
{
  color: var(--ims-accent-strong) !important; /* link color only */
}

.submenu {
  box-shadow:2px 2px 3px rgba(0,0,0,0.3);
}
