/* Shared public website chrome. All rules are scoped to avoid changing page content. */
.site-chrome-header,
.site-chrome-footer {
  font-family: Inter, "Segoe UI", "Microsoft YaHei", sans-serif;
  font-synthesis: none;
  -webkit-tap-highlight-color: transparent;
}
.site-chrome-header *,
.site-chrome-footer * { box-sizing: border-box; }
.site-chrome-header a,
.site-chrome-footer a { text-decoration: none; color: inherit; }
.site-chrome-header :is(a, summary):focus-visible,
.site-chrome-footer a:focus-visible { outline: 2px solid #4d8feb; outline-offset: 3px; }
.site-chrome-header .site-chrome-icon { width: 17px; height: 17px; flex-shrink: 0; }
.site-chrome-header.site-chrome-header {
  position: fixed;
  z-index: 50;
  inset: 0 0 auto;
  display: block;
  width: 100%;
  height: 66px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #d9e5f7;
  background: #fff;
  box-shadow: 0 2px 14px #173c7610;
  color: #405775;
}
.site-chrome-header.site-chrome-header .site-chrome-nav-container {
  display: flex;
  align-items: center;
  gap: 34px;
  height: 100%;
  max-width: 1600px;
  min-width: 0;
  margin: 0 auto;
  padding: 0 40px;
}
.site-chrome-header .site-chrome-brand { display: flex; flex-shrink: 0; align-items: center; background: #fff; }
.site-chrome-header.site-chrome-header .site-chrome-brand img { display: block; width: 117px; height: 46px; object-fit: contain; filter: brightness(1.02); }
.site-chrome-header .site-chrome-desktop-nav {
  position: static;
  display: flex;
  align-items: center;
  gap: 27px;
  height: 100%;
  padding: 0;
  border: 0;
  overflow: visible;
  background: transparent;
  font-size: 13px;
}
.site-chrome-header .site-chrome-nav-link { display: flex; align-items: center; position: relative; height: 100%; white-space: nowrap; line-height: 1.5; }
.site-chrome-header .site-chrome-nav-link.current { color: #1054d9; font-weight: 700; }
.site-chrome-header .site-chrome-desktop-nav .current::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; border-radius: 2px; background: #1762ed; box-shadow: 0 -3px 14px #1762ed24; }
.site-chrome-header .site-chrome-dev-badge { position: absolute; left: 50%; top: 3px; transform: translateX(-50%); padding: 1px 4px; border-radius: 3px; background: #edf4ff; color: #617fa8; font-size: 8px; font-weight: 500; line-height: 1.3; }
.site-chrome-header .site-chrome-account { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; margin-left: auto; color: #39577d; font-size: 13px; white-space: nowrap; }
.site-chrome-header .site-chrome-account-menu { position: relative; flex-shrink: 0; }
.site-chrome-header .site-chrome-account-toggle,
.site-chrome-header .site-chrome-navigation-toggle { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 40px; padding: 4px; border-radius: 7px; cursor: pointer; list-style: none; }
.site-chrome-header summary::-webkit-details-marker { display: none; }
.site-chrome-header .site-chrome-account-name { max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
.site-chrome-header .site-chrome-avatar { display: block; flex-shrink: 0; width: 27px; height: 27px; padding: 2px; border: 1px solid #e6ebf2; border-radius: 50%; object-fit: contain; object-position: center; background: #fff; }
.site-chrome-header .site-chrome-account-toggle > .site-chrome-icon { width: 14px; height: 14px; color: #7990ad; }
.site-chrome-header .site-chrome-account-menu[open] > summary > .site-chrome-icon { transform: rotate(180deg); }
.site-chrome-header .site-chrome-member-badge { display: inline-flex; align-items: center; gap: 5px; color: #2563bd; background: #edf4ff; border: 1px solid #c8dbfc; padding: 4px 8px; border-radius: 5px; font-size: 11px; }
.site-chrome-header .free-vip-upgrade { display: inline-flex; align-items: center; gap: 5px; min-height: 29px; padding: 4px 8px; margin: 0; border: 1px solid #f0dfb5; border-radius: 5px; background: #fffbf2; color: #947026; font-size: 11px; font-weight: 600; box-shadow: none; }
.site-chrome-header .free-vip-upgrade svg { width: 16px; height: 16px; }
.site-chrome-header .site-chrome-login { display: inline-flex; align-items: center; min-height: 35px; padding: 7px 14px; border: 1px solid #155be0; border-radius: 6px; color: #fff; background: #1762ed; font-size: 12px; font-weight: 600; }
.site-chrome-header .site-chrome-auth-loading { color: #7085a0; font-size: 12px; }
.site-chrome-header .site-chrome-account-panel { position: absolute; z-index: 80; right: 0; top: calc(100% + 7px); width: 224px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 84px); overflow-y: auto; padding: 6px 0; border: 1px solid #dce7f8; border-radius: 9px; background: #fff; box-shadow: 0 10px 30px #173c7621; }
.site-chrome-header .site-chrome-account-heading { padding: 10px 16px 12px; margin-bottom: 4px; border-bottom: 1px solid #eaf0f8; }
.site-chrome-header .site-chrome-account-heading strong { display: block; overflow-wrap: anywhere; color: #254368; font-size: 13px; font-weight: 650; }
.site-chrome-header .site-chrome-account-heading span { display: block; margin-top: 5px; color: #7b8ea6; font-size: 11px; }
.site-chrome-header .site-chrome-account-panel > a { display: flex; align-items: center; gap: 9px; min-height: 39px; padding: 9px 16px; color: #526d90; font-size: 12px; }
.site-chrome-header .site-chrome-account-panel > .site-chrome-logout { margin-top: 4px; border-top: 1px solid #eaf0f8; color: #b34b4b; }
.site-chrome-header .site-chrome-mobile-navigation { display: none; }

.site-chrome-footer.site-chrome-footer { display: block; max-width: none; margin: 8px 0 0; padding: 0; background: #fff; border-top: 1px solid #dfe8f6; color: #697f9a; font-size: 12px; }
.site-chrome-footer .site-chrome-footer-inner { max-width: 1280px; margin: 0 auto; padding: 32px 40px 22px; }
.site-chrome-footer .site-chrome-footer-main { display: grid; grid-template-columns: 2.4fr 1fr 1fr 1.1fr; gap: 42px; }
.site-chrome-footer .site-chrome-footer-brand { display: inline-block; color: #145bd9; font-size: 19px; line-height: 1.4; font-weight: 750; letter-spacing: -.3px; }
.site-chrome-footer .site-chrome-footer-about p { max-width: 440px; margin: 12px 0 0; color: #6d819b; font-size: 12px; line-height: 1.9; }
.site-chrome-footer .site-chrome-footer-column h2 { margin: 2px 0 13px; color: #254368; font-size: 13px; font-weight: 650; line-height: 1.5; }
.site-chrome-footer .site-chrome-footer-column ul { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.site-chrome-footer .site-chrome-footer-column li { line-height: 1.5; }
.site-chrome-footer .site-chrome-footer-contact a { white-space: nowrap; }
.site-chrome-footer .site-chrome-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 27px; padding-top: 18px; border-top: 1px solid #eaf0f8; color: #7b8ea6; font-size: 11px; line-height: 1.9; }
.site-chrome-footer .site-chrome-footer-bottom p { margin: 0; }
.site-chrome-footer .site-chrome-footer-filing { display: inline-block; }
.site-chrome-footer .site-chrome-footer-policies { display: flex; align-items: center; gap: 9px; flex-shrink: 0; }
.site-chrome-footer a { border-radius: 2px; }

/* Login and registration retain their compact card within the public shell. */
.template-ui-root--login:has(> .site-chrome-header) { flex-direction: column; align-items: stretch; justify-content: flex-start; padding: 0; }
.template-ui-root--login:has(> .site-chrome-header) > .login-compact-shell { flex-shrink: 0; width: min(410px, calc(100% - 32px)); margin: 100px auto 36px; }
.template-ui-root--login:has(> .site-chrome-header) > .site-chrome-footer { flex-shrink: 0; width: 100%; margin-top: auto; }

@media (hover: hover) and (pointer: fine) {
  .site-chrome-header .site-chrome-nav-link:hover { color: #1762ed; }
  .site-chrome-header :is(.site-chrome-account-toggle, .site-chrome-navigation-toggle):hover,
  .site-chrome-header .site-chrome-account-panel > a:hover { background: #f1f6ff; color: #145bd9; }
  .site-chrome-header .site-chrome-login:hover { background: #1054d9; }
  .site-chrome-footer a:hover { color: #1762ed; text-decoration: underline; text-underline-offset: 4px; }
}
@media (max-width: 1150px) {
  .site-chrome-header.site-chrome-header .site-chrome-nav-container { gap: 16px; }
  .site-chrome-header .site-chrome-desktop-nav { display: none; }
  .site-chrome-header .site-chrome-mobile-navigation { display: block; }
  .site-chrome-header .site-chrome-navigation-toggle { min-width: 44px; min-height: 44px; gap: 5px; color: #526d90; font-size: 12px; }
  .site-chrome-header .site-chrome-mobile-nav { position: absolute; z-index: 70; inset: 65px 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; height: auto; max-height: calc(100dvh - 80px); overflow-y: auto; padding: 14px 40px; border: 0; border-top: 1px solid #eaf0f8; border-bottom: 1px solid #dce7f8; background: #fff; box-shadow: 0 10px 18px #173c7610; }
  .site-chrome-header .site-chrome-mobile-nav .site-chrome-nav-link { justify-content: center; min-height: 44px; padding: 10px; border-radius: 6px; font-size: 13px; }
  .site-chrome-header .site-chrome-mobile-nav .current { background: #edf4ff; }
  .site-chrome-header .site-chrome-mobile-nav .site-chrome-dev-badge { top: -1px; left: auto; right: 0; transform: none; font-size: 8px; }
}
/* Replace the previous tablet-only two-row header offset in the member workspace. */
@media (min-width: 641px) and (max-width: 1150px) {
  .template-ui-root:has(> .site-chrome-header) .member-workspace { padding-top: 98px; }
  .template-ui-root:has(> .site-chrome-header) .member-workspace-sidebar { top: 90px; max-height: calc(100dvh - 106px); }
}
@media (min-width: 641px) and (max-width: 900px) {
  .template-ui-root:has(> .site-chrome-header) .member-workspace-sidebar { max-height: none; }
}
@media (max-width: 1000px) {
  .site-chrome-footer .site-chrome-footer-main { grid-template-columns: 1.7fr 1fr 1fr; gap: 26px; }
  .site-chrome-footer .site-chrome-footer-about { grid-column: 1 / -1; }
  .site-chrome-footer .site-chrome-footer-about p { max-width: 650px; }
}
@media (max-width: 760px) {
  .site-chrome-header.site-chrome-header .site-chrome-nav-container { gap: 10px; padding: 0 16px; }
  .site-chrome-header .site-chrome-account { gap: 7px; }
  .site-chrome-header .site-chrome-mobile-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 12px 16px; }
  .site-chrome-header .site-chrome-navigation-toggle > span { display: none; }
  .site-chrome-footer .site-chrome-footer-inner { padding: 26px 16px 20px; }
  .site-chrome-footer .site-chrome-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 20px; }
  .site-chrome-footer .site-chrome-footer-about,
  .site-chrome-footer .site-chrome-footer-contact { grid-column: 1 / -1; }
  .site-chrome-footer .site-chrome-footer-contact ul { flex-direction: row; flex-wrap: wrap; gap: 8px 24px; }
  .site-chrome-footer .site-chrome-footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 24px; padding-top: 16px; }
  .site-chrome-footer .site-chrome-footer-bottom p { overflow-wrap: anywhere; }
}
@media (max-width: 480px) {
  .site-chrome-header .site-chrome-account-name { display: none; }
  .site-chrome-header .site-chrome-account-toggle { gap: 4px; min-height: 44px; }
  .site-chrome-header .site-chrome-account-panel { right: -40px; }
  .site-chrome-header .site-chrome-auth-loading { max-width: 90px; overflow: hidden; text-overflow: ellipsis; }
  .template-ui-root--login:has(> .site-chrome-header) > .login-compact-shell { width: calc(100% - 24px); margin-top: 86px; margin-bottom: 26px; }
}
@media (max-width: 360px) {
  .site-chrome-header.site-chrome-header .site-chrome-nav-container { gap: 6px; padding: 0 12px; }
  .site-chrome-header.site-chrome-header .site-chrome-brand img { width: 102px; height: 40px; }
  .site-chrome-header .site-chrome-member-badge,
  .site-chrome-header .free-vip-upgrade { gap: 3px; padding: 4px 5px; font-size: 10px; }
  .site-chrome-header .site-chrome-mobile-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print {
  .site-chrome-header.site-chrome-header,
  .site-chrome-footer.site-chrome-footer { display: none; }
}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#172b4d;background:#f5f7fb;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #68a7ff;outline-offset:4px}[hidden]{display:none!important}
body{padding-top:66px}.agreement-paper h1{scroll-margin-top:90px}
.agreement-main{width:100%;max-width:1008px;margin:0 auto;padding:32px 24px 56px}.agreement-breadcrumb{display:flex;gap:12px;margin-bottom:20px;color:#66758b;font-size:13px;flex-wrap:wrap}.agreement-breadcrumb a{color:#0754bb}.agreement-navigation{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.agreement-navigation a{padding:10px 20px;border:1px solid #dce3ef;border-radius:8px;background:#fff;font-weight:500}.agreement-navigation a[aria-current="page"]{color:#0754bb;border-color:#0754bb;background:#edf4ff}.agreement-paper{padding:40px 48px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 8px 28px #18376b06;overflow-wrap:anywhere}.agreement-paper h1{font-size:28px;line-height:1.4;margin:0 0 10px;letter-spacing:.02em}.agreement-version{font-size:13px;color:#8390a3;margin:0 0 26px}.agreement-body{border-top:1px solid #e8edf5;padding-top:20px;color:#374860;line-height:1.95}.agreement-body p{margin:0 0 14px;white-space:pre-wrap}.agreement-body h2{margin:30px 0 12px;font-size:19px;line-height:1.6;color:#172b4d}.agreement-loading,.agreement-error{padding:24px 0;color:#64748b}.agreement-error button{padding:9px 20px;border:1px solid #0754bb;border-radius:6px;background:#0754bb;color:#fff;cursor:pointer}.agreement-end{display:flex;justify-content:space-between;gap:20px;margin-top:24px;color:#64748b;font-size:13px}.agreement-end a{color:#0754bb}.site-chrome-footer-policies{flex-wrap:wrap}
@media(max-width:600px){.agreement-main{padding:22px 14px 32px}.agreement-navigation{gap:7px}.agreement-navigation a{padding:9px 11px;font-size:13px;flex:1;text-align:center;white-space:nowrap}.agreement-paper{padding:24px 20px;border-radius:10px}.agreement-paper h1{font-size:23px}.agreement-body{font-size:14px}.agreement-body h2{font-size:18px}.agreement-end{flex-wrap:wrap}}
@media print{body{background:#fff;padding-top:0}.site-chrome-header,.agreement-navigation,.agreement-breadcrumb,.site-chrome-footer,.agreement-end{display:none}.agreement-main{max-width:none;padding:0}.agreement-paper{border:0;box-shadow:none;padding:0}.agreement-paper h2{break-after:avoid}.agreement-body p{orphans:3;widows:3}}

/* PC page canvas only. Keep cards, controls and semantic status colours intact.
   Shared with the standalone agreement pages and the bid document workspace. */
:root {
  --site-page-background-color: #f6f9ff;
  --site-page-background: linear-gradient(180deg, #edf4ff 66px, #f6f9ff 500px, #f6f9ff);
}

@media screen {
  html body,
  html.app-hydrating body,
  .template-ui-root.template-ui-root,
  .bid-tool-shell.bid-tool-shell {
    background: var(--site-page-background);
    background-color: var(--site-page-background-color);
  }

  /* Login previously had its own page-level circles and green-tinted canvas. */
  .template-ui-root--login::before,
  .template-ui-root--login::after {
    display: none;
  }
}
