/* 导航加载完成后才调整布局，故障时原站入口/布局仍可使用。 */
:root { --ctn-sidebar-style-ready: 1; }
.ctn-sidebar, .ctn-toggle, .ctn-backdrop { box-sizing: border-box; }
.ctn-sidebar { position: fixed; z-index: 70; top: 92px; bottom: 24px; left: 24px; width: 224px; display: flex; flex-direction: column; padding: 22px 12px 16px; color: var(--text, #1d1d1f); background: var(--bg-card, #fff); border: 1px solid var(--line, #e8ecf2); border-radius: 22px; box-shadow: 0 4px 24px #172d5010; font: 14px/1.5 -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', sans-serif; }
.ctn-sidebar[hidden], .ctn-toggle[hidden], .ctn-backdrop[hidden] { display: none !important; }
.ctn-sidebar svg, .ctn-toggle svg { display: block; width: 21px; height: 21px; flex-shrink: 0; }
.ctn-links { display: grid; gap: 6px; }
.ctn-service-head { display: flex; align-items: center; justify-content: space-between; gap: 4px; margin: 0 6px 9px 12px; min-height: 30px; }
.ctn-service-head .ctn-group-label { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.ctn-desktop-toggle { display: flex; flex-shrink: 0; align-items: center; justify-content: center; gap: 5px; padding: 6px; margin: 0; min-height: 30px; border: 1px solid var(--line, #e8ecf2); border-radius: 9px; background: var(--bg-card, #fff); color: var(--text-muted, #566078); font: inherit; font-size: 11px; line-height: 1; cursor: pointer; }
.ctn-desktop-toggle svg { width: 17px; height: 17px; }
.ctn-desktop-toggle:hover { color: var(--accent, #0071e3); background: var(--accent-soft, #edf5ff); }
.ctn-group-label { margin: 0 12px 9px; color: var(--text-faint, #818a9b); font-size: 11px; letter-spacing: .06em; font-weight: 600; }
.ctn-tools-label { margin-top: 25px; }
.ctn-link { display: flex; align-items: center; position: relative; gap: 11px; min-height: 68px; padding: 12px 10px; border: 1px solid transparent; border-radius: 13px; text-decoration: none; color: var(--text-muted, #566078); transition: background .16s, color .16s; }
.ctn-link:hover { color: var(--accent, #0071e3); background: var(--bg-subtle, #f6f8fb); }
.ctn-link[aria-current='page'] { color: var(--accent, #0071e3); background: var(--accent-soft, #edf5ff); border-color: #0071e312; }
.ctn-icon { flex: 0 0 26px; display: grid; place-items: center; }
.ctn-link-text { min-width: 0; flex: 1; }
.ctn-link-title { display: block; font-weight: 600; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.ctn-link-detail { display: block; margin-top: 4px; color: var(--text-faint, #7c8597); font-size: 11px; line-height: 1.55; }
.ctn-link[aria-current='page'] .ctn-link-detail { color: var(--accent, #0071e3); opacity: .72; }
.ctn-new-tab { position: absolute; top: 9px; right: 7px; opacity: 0; transition: opacity .16s; }
.ctn-new-tab svg { width: 12px; height: 12px; }
.ctn-link:hover .ctn-new-tab, .ctn-link:focus-visible .ctn-new-tab { opacity: .7; }
.ctn-link:focus-visible, .ctn-close:focus-visible, .ctn-toggle:focus-visible, .ctn-desktop-toggle:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
.ctn-foot { margin-top: auto; padding: 30px 6px 0; }
.ctn-tip { padding: 15px 12px; background: var(--bg-subtle, #f7f9fc); border-radius: 13px; }
.ctn-tip-title { display: block; font-size: 12px; font-weight: 600; }
.ctn-tip-text { margin: 7px 0 0; color: var(--text-muted, #738097); font-size: 11px; line-height: 1.8; }
.ctn-tab-hint { margin: 14px 6px 0; color: var(--text-faint, #838c9d); font-size: 11px; line-height: 1.75; }
.ctn-privacy { display: flex; align-items: center; gap: 6px; margin: 18px 5px 0; color: var(--text-faint, #838c9d); font-size: 10px; }
.ctn-privacy svg { width: 13px; height: 13px; }
.ctn-mobile-head, .ctn-toggle, .ctn-backdrop { display: none; }
.customer-tools-nav-ready .invoice-assistant-fab { display: none !important; }
.customer-tools-nav-ready .subscription-nav > a { display: none; }
.customer-tools-nav-ready .subscription-nav { justify-content: flex-end; }
.customer-tools-nav-ready .apple-query-page .subscription-nav { background: transparent; border: 0; box-shadow: none; backdrop-filter: none; }
.customer-tools-nav-ready .membership-quote-page .subscription-nav { visibility: hidden; }
@media (min-width: 1100px) {
  .customer-tools-nav-ready #root > .page { padding-left: 264px; }
  .customer-tools-nav-ready #root > .page > .topbar { margin-left: -264px; width: calc(100% + 264px); }
  .customer-tools-nav-ready #root > .page > .main { width: 100%; }
  .customer-tools-nav-ready #root > .subscription-page { padding-left: 288px; padding-right: 32px; }
  .customer-tools-nav-ready.ctn-desktop-collapsed .ctn-sidebar { width: 76px; padding-left: 8px; padding-right: 8px; }
  .ctn-desktop-collapsed .ctn-service-head { justify-content: center; margin: 0 0 9px; }
  .ctn-desktop-collapsed .ctn-service-head .ctn-group-label,
  .ctn-desktop-collapsed .ctn-desktop-toggle-text,
  .ctn-desktop-collapsed .ctn-link-text,
  .ctn-desktop-collapsed .ctn-new-tab,
  .ctn-desktop-collapsed .ctn-foot { display: none; }
  .ctn-desktop-collapsed .ctn-desktop-toggle { width: 36px; height: 32px; }
  .ctn-desktop-collapsed .ctn-desktop-toggle svg { transform: rotate(180deg); }
  .ctn-desktop-collapsed .ctn-link { justify-content: center; min-height: 52px; padding: 10px 0; gap: 0; }
  .ctn-desktop-collapsed .ctn-tools-label { height: 0; margin: 12px 10px; border-top: 1px solid var(--line, #e8ecf2); font-size: 0; }
  .customer-tools-nav-ready.ctn-desktop-collapsed #root > .page { padding-left: 116px; }
  .customer-tools-nav-ready.ctn-desktop-collapsed #root > .page > .topbar { margin-left: -116px; width: calc(100% + 116px); }
  .customer-tools-nav-ready.ctn-desktop-collapsed #root > .subscription-page { padding-left: 140px; }
}
@media (max-height: 760px) and (min-width: 1100px) {
  .ctn-sidebar { overflow-y: auto; padding-top: 16px; }
  .ctn-foot { padding-top: 20px; }
  .ctn-tip { display: none; }
}
@media (max-width: 1099px) {
  .ctn-desktop-toggle { display: none; }
  .ctn-service-head { min-height: 0; }
  .ctn-sidebar { z-index: 12001; top: 0; bottom: 0; left: 0; width: min(308px, 86vw); border-radius: 0 22px 22px 0; padding: max(18px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom)); visibility: hidden; transform: translateX(-105%); transition: transform .22s ease, visibility .22s; overflow-y: auto; }
  .ctn-menu-open .ctn-sidebar { visibility: visible; transform: translateX(0); }
  .ctn-toggle { display: grid; place-items: center; position: fixed; z-index: 80; top: 13px; left: 12px; width: 38px; height: 38px; padding: 0; border: 1px solid var(--line, #e6ebf2); border-radius: 11px; background: var(--bg-card, #fff); color: var(--text, #253044); cursor: pointer; box-shadow: 0 2px 8px #182d4a08; }
  .ctn-mobile-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; padding: 0 6px 15px; border-bottom: 1px solid var(--line, #e8ecf2); }
  .ctn-mobile-title { font-size: 16px; font-weight: 700; }
  .ctn-close { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 10px; background: var(--bg-subtle, #f2f5f9); color: inherit; cursor: pointer; }
  .ctn-backdrop { display: block; position: fixed; z-index: 12000; inset: 0; background: #111c324d; backdrop-filter: blur(3px); }
  .ctn-menu-open, .ctn-menu-open body { overflow: hidden; }
  .customer-tools-nav-ready #root > .page > .topbar { padding-left: 60px; }
  .customer-tools-nav-ready .subscription-nav { padding-left: 52px; }
  .ctn-link { min-height: 72px; }
  .ctn-link-title { font-size: 15px; }
  .ctn-link-detail { font-size: 12px; }
  .ctn-foot { padding-top: 24px; }
}
@media (max-width: 480px) {
  .customer-tools-nav-ready #root > .page > .topbar { flex-wrap: wrap; gap: 10px; height: auto; min-height: 72px; padding-top: 14px; padding-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .ctn-sidebar, .ctn-link, .ctn-new-tab { transition: none; }
}
