/* Shared site navigation. Scoped names keep legacy charts and controls intact. */
.zsite-header, .zdesk-navigation, .zsite-status-row {
  --zn-bg: #0b1119;
  --zn-panel: #101925;
  --zn-line: #293544;
  --zn-text: #e7edf3;
  --zn-muted: #a1adbb;
  --zn-accent: #e6b85c;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--zn-text);
  box-sizing: border-box;
}
.zsite-header { position: relative; z-index: 120; width: 100%; background: var(--zn-bg); border-bottom: 1px solid var(--zn-line); }
.zsite-row { width: 100%; max-width: 1680px; min-height: 70px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.zsite-brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; color: var(--zn-text); font-size: 15px; font-weight: 650; white-space: nowrap; text-decoration: none; }
.zsite-mark { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--zn-accent); border-radius: 6px; font-size: 14px; color: var(--zn-accent); }
.zsite-primary { display: flex; align-items: center; flex: 1 1 auto; gap: 4px; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; }
.zsite-primary a, .zsite-auth, .zsite-directory summary, .zdesk-primary a, .zdesk-more summary { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 12px; gap: 9px; color: var(--zn-muted); font: 500 13px/1.4 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; border-radius: 7px; white-space: nowrap; text-decoration: none; cursor: pointer; flex: 0 0 auto; }
.zsite-primary a:hover, .zsite-primary a[aria-current], .zsite-auth:hover, .zsite-directory summary:hover, .zdesk-primary a:hover, .zdesk-primary a[aria-current], .zdesk-more summary:hover, .zdesk-more summary.is-current { background: #1a2634; color: var(--zn-text); }
.zsite-primary a[aria-current], .zdesk-primary a[aria-current] { box-shadow: inset 0 -2px var(--zn-accent); }
.zsite-auth { margin-left: auto; border: 1px solid var(--zn-line); }
.zsite-directory { flex: 0 0 auto; }
.zsite-directory summary, .zdesk-more summary { list-style: none; border: 1px solid var(--zn-line); }
.zsite-directory summary::-webkit-details-marker, .zdesk-more summary::-webkit-details-marker { display: none; }
.zsite-directory[open] summary, .zdesk-more[open] summary { color: var(--zn-accent); border-color: #6a5a3b; background: var(--zn-panel); }
.zsite-directory-panel { position: absolute; top: calc(100% + 8px); right: 20px; width: min(980px, calc(100vw - 40px)); max-height: min(76vh, 720px); overflow-y: auto; overscroll-behavior: contain; padding: 24px; background: var(--zn-panel); border: 1px solid var(--zn-line); border-radius: 12px; box-shadow: 0 20px 65px #0009; }
.zsite-directory-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.zsite-directory-heading strong { font-size: 18px; line-height: 1.4; color: var(--zn-text); font-weight: 600; }
.zsite-directory-heading p { margin: 5px 0 0; font-size: 13px; color: var(--zn-muted); }
.zsite-directory-heading button { flex: 0 0 40px; width: 40px; height: 40px; padding: 0; color: var(--zn-text); border: 1px solid var(--zn-line); border-radius: 7px; background: transparent; font-size: 25px; line-height: 1; cursor: pointer; }
.zsite-search-label { display: block; color: var(--zn-muted); font-size: 12px; margin-bottom: 7px; }
.zsite-search { display: block; width: 100%; min-width: 0; min-height: 46px; padding: 10px 13px; color: var(--zn-text); background: #0a1018; border: 1px solid #364558; border-radius: 8px; font: 400 14px/1.5 Inter, sans-serif; }
.zsite-search::placeholder { color: #8b98a9; }
.zsite-directory-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 18px; margin-top: 24px; }
.zsite-directory-group { min-width: 0; }
.zsite-directory-group h2, .zdesk-more-panel h2 { margin: 0 0 9px; color: var(--zn-accent); font-size: 11px; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; font-weight: 650; }
.zsite-directory-group a, .zdesk-more-panel a { display: flex; align-items: center; min-height: 40px; padding: 8px 10px; margin-left: -10px; border-radius: 6px; color: #c6d1dd; font-size: 13px; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.zsite-directory-group a:hover, .zdesk-more-panel a:hover, .zsite-directory-group a[aria-current], .zdesk-more-panel a[aria-current] { color: #fff; background: #203045; }
.zsite-search-empty, .zsite-search-status { margin: 14px 0 0; color: var(--zn-muted); font-size: 13px; }
.zsite-search-status:empty { display: none; }
.zsite-directory [hidden] { display: none !important; }
.zsite-header a:focus-visible, .zsite-header button:focus-visible, .zsite-header summary:focus-visible, .zsite-header input:focus-visible, .zdesk-navigation a:focus-visible, .zdesk-navigation summary:focus-visible { outline: 2px solid var(--zn-accent); outline-offset: 3px; }
/* Account, market, domain and login remain visible outside the page directory. */
.zsite-status-row { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px 16px; padding: 8px 24px; background: #0c131e; border-bottom: 1px solid var(--zn-line); }
.zsite-status-row .mode-toggle { margin-right: auto; flex-shrink: 0; }
.zsite-status-row .nav-right { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0; min-width: 0; }
.zsite-status-row .nav-login-btn { min-height: 36px; display: inline-flex; align-items: center; }
.zsite-status-row .nav-account-badge { display: inline-flex; align-items: center; min-height: 30px; }
/* Context navigation is separate from the global header and never duplicates 11 tabs. */
.zdesk-navigation { display: flex; align-items: center; position: relative; z-index: 50; width: 100%; padding: 9px 24px; gap: 16px; background: #0d151f; border-bottom: 1px solid var(--zn-line); }
.zdesk-label { color: var(--zn-muted); font-size: 12px; font-weight: 600; flex: 0 0 auto; }
.zdesk-primary { display: flex; gap: 4px; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; }
.zdesk-more { flex: 0 0 auto; }
.zdesk-more-panel { position: absolute; top: calc(100% + 6px); right: 24px; width: min(480px, calc(100vw - 48px)); max-height: 65vh; overflow-y: auto; background: var(--zn-panel); border: 1px solid var(--zn-line); padding: 20px; border-radius: 10px; box-shadow: 0 15px 40px #0007; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.zdesk-mode { margin-left: auto; color: var(--zn-accent); font-size: 11px; line-height: 1.5; }
/* Preserve the existing execution controls and expose account/risk at every size. */
body.zec .zec-topbar { position: relative; flex-wrap: wrap; }
body.zec .zec-statusbar { display: flex; overflow: visible; flex-wrap: wrap; }
body.zec .zec-status { display: flex; min-height: 54px; flex: 1 1 118px; padding: 8px 13px; }
body.zec .zec-status-value { white-space: normal; overflow: visible; }
body.zec .zec-top-actions { min-height: 50px; }
@media (max-width: 1100px) {
  .zsite-row { gap: 12px; padding: 10px 18px; }
  .zsite-brand { margin-right: auto; }
  .zsite-primary { order: 4; flex: 1 0 100%; }
  .zsite-auth { margin-left: 0; }
  .zdesk-navigation { padding: 9px 18px; gap: 10px; flex-wrap: wrap; }
  .zdesk-mode { flex-basis: 100%; margin-left: 0; }
}
@media (max-width: 640px) {
  .zsite-row { padding: 9px 12px; gap: 8px; }
  .zsite-brand { font-size: 14px; gap: 8px; }
  .zsite-primary { scrollbar-width: thin; padding-bottom: 3px; }
  .zsite-primary a { padding: 9px 11px; }
  .zsite-directory summary, .zsite-auth { padding: 8px 10px; font-size: 12px; }
  .zsite-directory-panel { right: 10px; width: calc(100vw - 20px); padding: 18px; max-height: 70vh; }
  .zsite-directory-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .zsite-status-row { padding: 9px 12px; justify-content: flex-start; }
  .zsite-status-row .nav-right { gap: 9px; }
  .zsite-status-row .nav-time { display: none; }
  .zdesk-navigation { padding: 8px 12px; gap: 8px; }
  .zdesk-label { display: none; }
  .zdesk-primary { flex: 1 1 0; scrollbar-width: thin; }
  .zdesk-primary a { padding: 9px 11px; }
  .zdesk-more summary { max-width: 130px; padding: 9px; white-space: normal; text-align: left; font-size: 12px; }
  .zdesk-more-panel { right: 12px; width: calc(100vw - 24px); }
  body.zec .zec-brand { min-height: 54px; width: auto; min-width: 180px; }
  body.zec .zec-statusbar { order: 3; flex: 1 0 100%; border-top: 1px solid var(--zec-line); }
  body.zec .zec-top-actions { margin-left: auto; flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .zsite-brand { font-size: 13px; }
  .zsite-mark { display: none; }
  .zsite-directory-groups { grid-template-columns: 1fr; }
}

/* Compact refresh retains its visible icon and accessible name. */
body.zec .zec-topbar .zec-brand {display:none;}
body.zec .zec-topbar {display:grid;grid-template-columns:minmax(0,1fr) auto;}
body.zec .zec-statusbar {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));}
body.zec .zec-status {min-width:0;}
@media(min-width:1121px) {
 body.zec .zec-workspace {grid-template-rows:minmax(520px,calc(100dvh - 194px)) auto;}
}
@media(max-width:760px) {
 body.zec .zec-statusbar {order:0;grid-template-columns:repeat(3,minmax(0,1fr));}
 body.zec .zec-status {padding:8px;}
 body.zec .zec-top-actions {padding:0 7px;align-self:start;margin-top:8px;}
 body.zec .zec-top-actions .zec-btn span:not([aria-hidden]) {display:none;}
}
@media(max-width:430px) {
 body.zec .zec-top-actions .zec-btn {min-width:42px;min-height:42px;}
 body.zec .zec-top-actions .zec-btn span[aria-hidden="true"] {display:inline;}
}
