/*
 * TUV NORD colours for the customer portal, on an otherwise standard
 * Universal Theme (style Iris, side navigation, default header height and
 * page width).
 *
 * Palette taken from the in-house APEX application "PublicApps" (app 103,
 * TuvStyle_23.css) and tuv-nord.com:
 *   brand blue  #001ED2   logo block, primary buttons, links, nav highlight
 *   navy        #00003C   region headers, hover state of primary buttons
 *   white       #FFFFFF   header and title bar
 *
 * Everything is done through the theme's own CSS variables where one exists,
 * so a Universal Theme refresh does not fight it. The layout of the
 * PublicApps template (130px header, 1280px body, oversized buttons) was
 * tried on 2026-10-14 and dropped on request; only the colours stay.
 */

:root {
  --pt-blue:  #001ED2;
  --pt-navy:  #00003C;

  /* accent */
  --ut-palette-primary:              var(--pt-blue);
  --ut-palette-primary-contrast:     #FFFFFF;
  --ut-palette-primary-shade:        var(--pt-navy);
  --ut-palette-success:              #0F8A5F;
  --ut-palette-warning:              #B86E00;
  --ut-palette-danger:               #C7263C;
  --ut-component-border-radius:      4px;

  /* header: white instead of the Iris dark strip */
  --ut-header-background-color:      #FFFFFF;
  --ut-header-text-color:            var(--pt-navy);
  --ut-header-border-color:          #E3E5EA;
  --ut-header-box-shadow:            none;

  /* title bar under the header */
  --ut-body-title-background-color:  #FFFFFF;
  --ut-body-title-text-color:        var(--pt-navy);

  /* regions: navy header, white title */
  --ut-region-header-background-color: var(--pt-navy);
  --ut-region-header-text-color:       #FFFFFF;
  --ut-region-header-border-color:     var(--pt-navy);

  /* side navigation: navy instead of the Iris dark grey, white text */
  --ut-body-nav-background-color:      var(--pt-navy);
  --ut-body-nav-text-color:            #FFFFFF;
  --ut-body-nav-border-color:          var(--pt-navy);
}

/* ---- Logo, placed as on tuv-nord.com (checked 2026-10-14) ----------------
   The site shows the mark as a 112 x 56px blue field hanging from the top
   edge of a 73px white header, 32px in from the left, white below it. The
   SVG itself carries the blue field, so no background is painted here. */
:root {
  --ut-header-height: 4.5rem;             /* 72px, like the site's 73px */
}

.t-Header .t-Header-branding {
  padding-top: 0;
  padding-bottom: 0;
  align-items: start;
}

.t-Header .t-Header-logo {
  height: auto;
  min-height: 0;
  align-self: start;
  padding: 0;
  margin: 0 0 0 24px;
  display: flex;
  align-items: flex-start;
}

.t-Header .t-Header-logo-link,
.t-Header .t-Header-logo .t-Header-logo-link {
  background: none;
  height: auto;
  min-height: 0;
  display: flex;
  align-items: center;
  padding: 0;
}

.t-Header-logo-link img {
  width: 112px;
  height: 56px;
  display: block;
}

/* Company of the signed-in contact (application item G_COMPANY_LABEL),
   shown beside the mark so the customer knows whose data is on screen. */
.t-Header-logo-link .t-Header-logo-text {
  margin-left: 1.25rem;
  color: var(--pt-navy);
  font-weight: 600;
  font-size: 1.05rem;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .t-Header-logo-link .t-Header-logo-text { font-size: .85rem; white-space: normal; }
}

/* the menu toggle and the user menu stay vertically centred in the header */
.t-Header .t-Header-controls,
.t-Header .t-Header-navBar {
  align-self: center;
}

/* The report toolbar (search, rows, Actions) takes its background from the
   region-header colour, so with a navy header the dark Actions button became
   invisible (2026-10-15). Keep the toolbar white; only the title band is navy. */
.t-IRR-region .a-IRR-toolbar {
  background-color: #FFFFFF;
  border-bottom: 1px solid #E3E5EA;
}

/* buttons that sit on the navy region header must stay readable */
.t-Region-header .t-Region-headerItems .t-Button--noUI,
.t-Region-header .t-Button--icon .t-Icon {
  color: #FFFFFF;
}

/* nav bar (user menu) text on the white header */
.t-Header-navBar .t-Button--navBar {
  color: var(--pt-navy);
}

/* public pages have no signed-in user; the theme would show "nobody" */
html.page-101 .t-Header-navBar,
html.page-102 .t-Header-navBar,
html.page-9999 .t-Header-navBar {
  display: none;
}

/* ---- Side navigation: navy panel, blue for the current entry ------------ */
.t-TreeNav {
  --a-treeview-node-text-color:                #FFFFFF;
  --a-treeview-node-icon-color:                #FFFFFF;
  --a-treeview-node-selected-background-color: var(--pt-blue);
  --a-treeview-node-selected-text-color:       #FFFFFF;
  --a-treeview-node-selected-icon-color:       #FFFFFF;
  --a-treeview-node-hover-background-color:    rgba(255, 255, 255, .12);
  --a-treeview-node-hover-text-color:          #FFFFFF;
}

.t-TreeNav .a-TreeView-node--topLevel .a-TreeView-row.is-current,
.t-TreeNav .a-TreeView-node--topLevel .a-TreeView-row.is-current--top,
.t-TreeNav--styleA .a-TreeView-node--topLevel .a-TreeView-row.is-current--top {
  background-color: var(--pt-blue);
}

.t-TreeNav .a-TreeView-node--topLevel > .a-TreeView-content.is-current,
.t-TreeNav .a-TreeView-node--topLevel > .a-TreeView-content.is-selected {
  border-inline-start-color: #FFFFFF;
}

/* ---- Primary buttons: blue, navy on hover -------------------------------- */
.t-Button--hot:not(.t-Button--simple),
.a-Button--hot,
body .ui-button.ui-button--hot {
  background-color: var(--pt-blue);
  border-color: var(--pt-blue);
  color: #FFFFFF;
}

.t-Button--hot:not(.t-Button--simple):hover,
.t-Button--hot:not(.t-Button--simple):focus,
.a-Button--hot:hover,
body .ui-button.ui-button--hot:hover {
  background-color: var(--pt-navy);
  border-color: var(--pt-navy);
  color: #FFFFFF;
}

/* ---- Display-only values in bold blue, as in PublicApps ------------------ */
.t-Form-fieldContainer--displayOnly .display_only {
  color: var(--pt-blue);
  font-weight: bold;
}

/* ---- Login and password pages: plain background --------------------------- */
.t-PageBody--login .t-Login-region {
  border-radius: 4px;
}

.t-Login-header .t-Login-title {
  color: var(--pt-blue);
  font-weight: bold;
}

/* ---- Status badges (certificate validity) ----------------------------------- */
.t-Badge.u-success { background-color: #0F8A5F; color: #FFFFFF; }
.t-Badge.u-warning { background-color: #B86E00; color: #FFFFFF; }
.t-Badge.u-info    { background-color: var(--pt-blue); color: #FFFFFF; }
.t-Badge.u-normal  { background-color: #6B7280; color: #FFFFFF; }
