/* Shared application chrome. Keep this file identical in consuming applications. */
:root {
  --eig-chrome-navy: #003b64;
  --eig-chrome-muted: #596b79;
  --eig-chrome-line: #dde4e9;
  --eig-chrome-gutter: 32px;
}
header[data-eig-header] {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 20px;
  min-height: 80px;
  height: auto;
  padding: 12px var(--eig-chrome-gutter);
  background: #fff;
  border-bottom: 1px solid var(--eig-chrome-line);
  color: var(--eig-chrome-navy);
  font-family: "Segoe UI", Arial, sans-serif;
}
header[data-eig-header] :is(.header-app-brand, .ddq-header-brand, .site-identity, .brand, .site-brand) {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 20px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
header[data-eig-header] > eig-platform-launcher { margin-right: 0; }
header[data-eig-header] > .brand { margin-right: auto; }
header[data-eig-header] :is(.brand, .site-identity, .site-brand) > img {
  display: block;
  flex: 0 0 auto;
  width: 132px;
  height: auto;
  max-height: 44px;
  object-fit: contain;
  margin: 0;
}
header[data-eig-header] :is(.brand, .site-identity, .site-brand) > span {
  display: block;
  flex: 0 1 auto;
  margin: 0;
  padding: 0 0 0 20px;
  border-left: 1px solid var(--eig-chrome-line);
  color: var(--eig-chrome-navy);
  font: 400 10px/1.6 "Segoe UI", Arial, sans-serif;
  letter-spacing: 2.2px;
  text-transform: uppercase;
}
header[data-eig-header] :is(.account, .site-account, #account-controls) {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  gap: 24px;
  min-width: 0;
  max-width: 40%;
  margin-left: auto;
  color: var(--eig-chrome-muted);
  font: 400 12px/1.6 "Segoe UI", Arial, sans-serif;
}
header[data-eig-header] :is(.account, .site-account, #account-controls) :is(a, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  color: var(--eig-chrome-navy);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
  cursor: pointer;
}
footer[data-eig-footer] {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  width: calc(100% - 2 * var(--eig-chrome-gutter));
  max-width: 1168px;
  margin: 32px auto 0;
  padding: 20px 0;
  border-top: 1px solid var(--eig-chrome-line);
  background: #fff;
  color: var(--eig-chrome-muted);
  font: 400 12px/1.5 "Segoe UI", Arial, sans-serif;
}
footer[data-eig-footer]::after { content: none; }
footer[data-eig-footer] > span:last-of-type { text-align: right; }
footer[data-eig-footer] > span:only-of-type { text-align: left; }
footer[data-eig-footer] :is(.site-footer-links, .eig-footer-links) {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 24px;
}
footer[data-eig-footer] :is(.site-footer-links, .eig-footer-links) > :is(a, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--eig-chrome-navy);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
@media (max-width: 700px) {
  :root { --eig-chrome-gutter: 18px; }
  header[data-eig-header] { min-height: 72px; padding-block: 10px; gap: 12px; flex-wrap: wrap; }
  header[data-eig-header] :is(.header-app-brand, .ddq-header-brand, .site-identity, .brand, .site-brand) { gap: 12px; }
  header[data-eig-header] :is(.brand, .site-identity, .site-brand) > img { width: 105px; max-height: 36px; }
  header[data-eig-header] :is(.brand, .site-identity, .site-brand) > span { font-size: 9px; letter-spacing: 1.2px; padding-left: 12px; }
  header[data-eig-header] :is(.account, .site-account, #account-controls) { max-width: 100%; gap: 12px; font-size: 11px; }
  header[data-eig-header] #account-controls > span { display: inline; }
  footer[data-eig-footer] { grid-template-columns: 1fr; justify-items: center; gap: 4px; text-align: center; margin-top: 24px; padding-block: 16px; }
  footer[data-eig-footer] > span:last-of-type { text-align: center; }
}
@media (max-width: 420px) {
  header[data-eig-header] :is(.brand, .site-identity, .site-brand) > span { display: none; }
  header[data-eig-header] :is(.account, .site-account, #account-controls) { flex-direction: row; }
  header[data-eig-header] .account > span { max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
