/* dock-nav.css：同事页 nav/dock/modal 共有规则单源（Phase 2 收编）。
   由 审计文档/pages_audit/css_unify_build.py 生成，勿手改；
   特有规则仍在各页 <style> 内（级联在后，覆盖关系保持）。 */
.dock-btn:first-child { border-radius: 14px 14px 0 0; }
.dock-btn:last-of-type { border-radius: 0 0 14px 14px; }
.dock-btn:hover { background: rgba(255,255,255,0.14); }
.dock-btn:active { filter: brightness(0.92); }
.dock-label { display: none; font-size: 11px; line-height: 1; }
.dock-top.show { display: flex; }
.dock-tip::after { content: ""; position: absolute; left: 100%; top: 50%; transform: translateY(-50%); border: 5px solid transparent; border-left-color: #1F2329; }
.dock-btn:hover .dock-tip, .dock-btn:focus-visible .dock-tip { opacity: 1; visibility: visible; transform: translateY(-50%) translateX(0); }
.dqr-title { font-size: 13px; font-weight: 700; color: #1F2329; margin-bottom: 2px; }
.dqr-sub { font-size: 11px; color: #8A9099; line-height: 1.5; }
/* QR 弹层 img 约束（09-28）：partials/dock.html 已注入 412px 真图，同事页内联只有 SVG 时代旧规则，img 无约束会撑爆弹层。EXTRA 注入段，css_unify_build.py 重跑也会带上。 */
.dock-qr-pop img { width: 132px; height: auto; display: block; margin: 0 auto 10px; border: 1px solid #F0F1F3; border-radius: 8px; background: #FFFFFF; }
.float-modal-mask { position: fixed; inset: 0; background: rgba(0,0,0,0.35); z-index: 1000; opacity: 0; visibility: hidden; transition: opacity 0.22s, visibility 0.22s; }
.float-modal-mask.open { opacity: 1; visibility: visible; }
.float-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -48%) scale(0.96); width: 420px; max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; background: #FFFFFF; border-radius: 16px; box-shadow: 0 24px 64px rgba(0,0,0,0.20); z-index: 1001; opacity: 0; visibility: hidden; transition: opacity 0.22s, transform 0.22s, visibility 0.22s; }
.float-modal.open { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
.float-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px 0; }
.float-modal-head .fm-close { width: 28px; height: 28px; border: none; background: #F7F8FA; cursor: pointer; border-radius: 8px; display: flex; align-items: center; justify-content: center; transition: background 0.15s; }
.float-modal-head .fm-close:hover { background: #F0F1F3; }
.float-modal-body { padding: 16px 24px 24px; }
.float-modal-body .fm-desc { font-size: 13px; color: #8A9099; margin-bottom: 16px; line-height: 1.7; }
.fm-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; min-width: 0; }
.fm-field label { font-size: 13px; font-weight: 600; color: #1F2329; }
.fm-field label .req { color: #E60012; }
.fm-field input, .fm-field textarea, .fm-field select { width: 100%; box-sizing: border-box; height: 40px; padding: 0 14px; border: 1px solid #E5E6EB; border-radius: var(--radius-sm, 8px); font-size: 13px; color: #1F2329; background: #FFFFFF; outline: none; transition: border-color .2s, box-shadow .2s; font-family: inherit; }
.fm-field textarea { height: auto; min-height: 72px; padding: 10px 14px; resize: none; line-height: 1.6; }
.fm-field input:focus, .fm-field textarea:focus, .fm-field select:focus { border-color: #0052D9; box-shadow: 0 0 0 3px rgba(0,82,217,.10); }
.fm-code-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px; align-items: center; gap: 8px; }
.fm-code-row > input { width: 100%; min-width: 0; }
.fm-captcha-refresh, .fm-send-code { box-sizing: border-box; width: 120px; height: 40px; border-radius: var(--radius-sm, 8px); cursor: pointer; font: 600 13px/1 inherit; transition: background-color .2s, border-color .2s, box-shadow .2s; }
.fm-captcha-refresh { padding: 0; overflow: hidden; border: 1px solid #D7DEEA; background: #F7F9FC; }
.fm-captcha-refresh img { display: block; width: 100%; height: 100%; object-fit: fill; }
.fm-captcha-refresh:hover { border-color: #0052D9; }
.fm-send-code { border: 1px solid #0052D9; background: #0052D9; color: #FFFFFF; }
.fm-send-code:hover { border-color: #0045B8; background: #0045B8; }
.fm-send-code:active { transform: translateY(1px); }
.fm-captcha-refresh:focus-visible, .fm-send-code:focus-visible, .fm-submit:focus-visible, .fm-close:focus-visible { outline: 3px solid rgba(0,82,217,.24); outline-offset: 2px; }
.fm-send-code:disabled { border-color: #A8BCE3; background: #A8BCE3; color: #FFFFFF; cursor: not-allowed; opacity: 1; transform: none; }
.fm-verify-status { min-height: 18px; color: #687386; font-size: 12px; line-height: 18px; }
.fm-verify-status:empty { display: none; }
.fm-field .fm-verify-status.is-error { color: #D93025; }
.fm-verify-status.is-success { color: #0A8754; }
.fm-submit { width: 100%; height: 44px; border: none; border-radius: 24px; background: #0052D9; color: #FFFFFF; font-size: 14px; font-weight: 600; cursor: pointer; margin-top: 4px; transition: color 0.35s ease; }
.fm-note { font-size: 11px; color: #8A9099; margin-top: 10px; line-height: 1.6; }
.fm-success { text-align: center; padding: 20px 0; }
.top-nav.nav-shrunk {height:48px!important;box-shadow:0 4px 16px rgba(0,0,0,.08)!important;}
.nav-logo-img {height:24px!important;width:auto!important;margin-right:48px!important;display:block!important;transition:height .3s ease!important;}
.top-nav.nav-shrunk .nav-logo-img {height:20px!important;}
.nav-items .nav-mega-trigger:hover {color:#0052D9!important;}
.nav-mega {position:relative!important;}
.mega-panel-products {min-width:0!important;width:min(1200px,calc(100vw - 274px))!important;}
.mega-panel-solutions {min-width:0!important;width:min(960px,calc(100vw - 334px))!important;}
.mega-panel-kc {min-width:0!important;width:min(686px,calc(100vw - 422px))!important;}
.mega-panel-cases {min-width:640px!important;}
.mega-panel-about {min-width:0!important;width:min(400px,calc(100vw - 686px))!important;}
.mega-cols {display:flex!important;gap:28px!important;}
.mega-panel-products .mega-cols .mega-col {flex:1 1 0!important;min-width:0!important;}
.mega-col-title {font-family:inherit!important;font-size:14px!important;font-weight:600!important;color:#0052D9!important;margin-bottom:10px!important;padding-bottom:8px!important;border-bottom:1px solid #F0F1F3!important;letter-spacing:.5px!important;white-space:nowrap!important;}
a.mega-phone{display:inline-block!important;font-family:inherit!important;font-size:15px!important;font-weight:600!important;color:#0A2540!important;text-decoration:none!important;white-space:nowrap!important;line-height:1.6!important;letter-spacing:.3px!important;}a.mega-phone:hover{color:#0052D9!important;}
.mega-link {display:block!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important;line-height:1.5!important;color:#4B5366!important;padding:7px 10px!important;margin-left:-10px!important;border-radius:6px!important;text-decoration:none!important;white-space:nowrap!important;transition:color .15s,background .15s!important;}
.mega-link:hover {color:#0052D9!important;background:#F0F6FF!important;}
.mega-desc {font-family:inherit!important;font-size:13px!important;font-weight:400!important;color:#8A9099!important;line-height:1.7!important;margin-bottom:8px!important;}
.mega-link.hot {color:#4B5366!important;font-weight:400!important;}
.mega-link.hot::after {content:"HOT"!important;display:inline-block!important;font-size:10px!important;font-weight:700!important;line-height:1!important;color:#FFFFFF!important;background:#F04142!important;border-radius:4px!important;padding:3px 6px!important;margin-left:6px!important;vertical-align:1px!important;letter-spacing:.5px!important;white-space:nowrap!important;animation:hotPulse 1.8s ease-in-out infinite!important;}
.mega-foot {border-top:1px solid #F0F1F3!important;margin-top:12px!important;padding:10px 0 4px!important;text-align:center!important;}

/* 09-29 面板贴栏：触发组拉满导航栏高度，面板 top:56px 恰贴栏底（原相对触发项定位留 ~22px 缝，小丁反馈）；shrunk 48px 同理贴合；hover 热区顺带变整列 */
@media (min-width: 1025px) {
  .nav-items { align-self: stretch !important; }
  .nav-mega { align-self: stretch !important; display: flex !important; align-items: center !important; }
}

@media (max-width: 1024px) {
  .top-nav.nav-shrunk .nav-items { top: 48px; }
}

@media (max-width: 768px) {
  .nav-mega-trigger { display: block; padding: 15px 20px; font-size: 16px; font-weight: 600; color: #1F2329; }
  .nav-mega-trigger.active { color: #0052D9; }
  .nav-mega:hover .mega-panel, .nav-mega:focus-within .mega-panel { opacity: 0; visibility: hidden; transform: none; }
}

@media (max-width:1024px) and (min-width:769px) {
  .mega-cols {gap:16px!important;}
}

@media (max-width:768px) {
  .top-nav.nav-shrunk {height:48px!important;}
  .nav-logo-img {margin-right:auto!important;}
  .nav-mega {width:100%!important;border-bottom:1px solid #F0F1F3!important;}
  .mega-cols {flex-direction:column!important;gap:12px!important;}
  .mega-col-title {margin-bottom:6px!important;padding-bottom:6px!important;}
  .mega-link {padding:8px 10px!important;margin-left:0!important;}
  .mega-foot {margin-top:8px!important;padding:8px 0 4px!important;}
}
