/* 政务一事通群众端 Design System：原生 HTML/CSS，可供后续群众页面复用。 */
:root {
  --gov-brand-900: #12385f;
  --gov-brand-800: #164a7b;
  --gov-brand-700: #1763a6;
  --gov-brand-600: #1976c5;
  --gov-brand-100: #dcecf9;
  --gov-brand-50: #eef6fc;
  --gov-text-strong: #182230;
  --gov-text: #344054;
  --gov-text-muted: #667085;
  --gov-text-placeholder: #8a94a3;
  --gov-border: #d8dee8;
  --gov-border-strong: #b9c3d0;
  --gov-surface: #fff;
  --gov-surface-subtle: #f7f9fb;
  --gov-page: #f2f5f8;
  --gov-error: #b42318;
  --gov-error-bg: #fff3f2;
  --gov-error-border: #fda29b;
  --gov-success: #067647;
  --gov-success-bg: #ecfdf3;
  --gov-success-border: #6ce9a6;
  --gov-warning: #b54708;
  --gov-warning-bg: #fffaeb;
  --gov-warning-border: #fedf89;
  --gov-media: #101828;
  --gov-media-subtle: #1d2939;
  --gov-media-text: #f2f4f7;
  --gov-font: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gov-fs-12: .75rem;
  --gov-fs-14: .875rem;
  --gov-fs-16: 1rem;
  --gov-fs-18: 1.125rem;
  --gov-fs-20: 1.25rem;
  --gov-fs-24: 1.5rem;
  --gov-fs-32: 2rem;
  --gov-line-tight: 1.3;
  --gov-line-normal: 1.6;
  --gov-space-1: .25rem;
  --gov-space-2: .5rem;
  --gov-space-3: .75rem;
  --gov-space-4: 1rem;
  --gov-space-5: 1.25rem;
  --gov-space-6: 1.5rem;
  --gov-space-8: 2rem;
  --gov-space-10: 2.5rem;
  --gov-space-12: 3rem;
  --gov-space-16: 4rem;
  --gov-radius-2: 2px;
  --gov-radius-4: 4px;
  --gov-radius-6: 6px;
  --gov-radius-8: 8px;
  --gov-shadow-raised: 0 8px 24px rgba(24, 34, 48, .08);
  --gov-control-height: 44px;
  --gov-touch-min: 44px;
  --gov-content-max: 1200px;
  --gov-gutter-desktop: 24px;
  --gov-gutter-mobile: 16px;
  --gov-focus-ring: 0 0 0 3px rgba(25, 118, 197, .18);
  --gov-motion-fast: 160ms;
}

.customer-entry-page {
  min-width: 0;
  min-height: 100vh;
  min-height: 100dvh;
  color: var(--gov-text);
  background: var(--gov-page);
  font-family: var(--gov-font);
  overflow-x: clip;
}
.customer-entry-page [hidden] { display: none !important; }
.customer-entry-page button, .customer-entry-page input { font: inherit; }

.customer-skip-link {
  position: fixed;
  z-index: 100;
  top: max(var(--gov-space-2), env(safe-area-inset-top));
  left: max(var(--gov-space-2), env(safe-area-inset-left));
  padding: var(--gov-space-2) var(--gov-space-4);
  color: #fff;
  background: var(--gov-brand-900);
  border-radius: var(--gov-radius-4);
  transform: translateY(-160%);
  transition: transform var(--gov-motion-fast) ease;
}
.customer-skip-link:focus { transform: translateY(0); }

.customer-entry-header {
  min-height: calc(72px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) max(var(--gov-gutter-mobile), env(safe-area-inset-right)) 0 max(var(--gov-gutter-mobile), env(safe-area-inset-left));
  background: var(--gov-surface);
  border-bottom: 1px solid var(--gov-border);
}
.customer-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, var(--gov-content-max));
  min-height: 71px;
  margin: 0 auto;
  gap: var(--gov-space-5);
}
.customer-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--gov-space-3);
  min-height: var(--gov-touch-min);
  color: var(--gov-brand-900);
  text-decoration: none;
}
.customer-brand-mark {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  overflow: hidden;
  contain: layout paint;
  color: #fff;
  background: var(--gov-brand-800);
  border-radius: var(--gov-radius-4);
  font-size: var(--gov-fs-20);
  font-weight: 700;
  place-items: center;
}
.customer-brand-mark .platform-brand-logo-image {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.customer-brand-copy { display: grid; gap: 1px; }
.customer-brand-copy strong { font-size: var(--gov-fs-18); letter-spacing: .04em; line-height: 1.25; }
.customer-brand-copy small { color: var(--gov-text-muted); font-size: 11px; letter-spacing: .08em; }
.customer-account-bar { display: flex; align-items: center; gap: var(--gov-space-3); min-width: 0; color: var(--gov-text); font-size: var(--gov-fs-14); }
.customer-account-label { color: var(--gov-text-muted); }
.customer-account-bar strong { max-width: min(28vw, 200px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.customer-logout, .customer-text-button, .customer-secondary-action {
  min-height: var(--gov-touch-min);
  padding: 0 var(--gov-space-2);
  color: var(--gov-brand-700);
  background: transparent;
  border: 0;
  border-radius: var(--gov-radius-4);
  cursor: pointer;
  font-weight: 600;
}
.customer-logout { margin-left: var(--gov-space-1); padding-left: var(--gov-space-4); border-left: 1px solid var(--gov-border); border-radius: 0; }
.customer-logout:hover, .customer-text-button:hover, .customer-secondary-action:hover { color: var(--gov-brand-900); text-decoration: underline; text-underline-offset: 3px; }

.customer-entry-main {
  width: min(calc(100% - 2 * var(--gov-gutter-desktop)), var(--gov-content-max));
  margin: 0 auto;
  padding: clamp(36px, 5vw, 64px) 0 clamp(48px, 7vw, 80px);
}
.customer-entry-shell { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gov-gutter-desktop); align-items: start; }
.customer-entry-intro { grid-column: 1 / span 6; padding: clamp(12px, 2vw, 28px) 0; }
.customer-entry-kicker, .customer-auth-eyebrow { margin: 0 0 var(--gov-space-2); color: var(--gov-brand-700); font-size: var(--gov-fs-12); font-weight: 700; letter-spacing: .12em; }
.customer-entry-intro h1 { max-width: 12ch; margin: 0; color: var(--gov-text-strong); font-size: clamp(1.75rem, 3vw, var(--gov-fs-32)); line-height: var(--gov-line-tight); letter-spacing: -.02em; }
.customer-entry-summary { max-width: 32em; margin: var(--gov-space-4) 0 0; color: var(--gov-text-muted); font-size: var(--gov-fs-16); line-height: 1.75; }

.customer-entry-guidance { margin-top: var(--gov-space-10); }
.customer-entry-guidance ol { display: grid; gap: var(--gov-space-5); margin: 0; padding: 0; list-style: none; }
.customer-entry-guidance li { display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: var(--gov-space-3); align-items: center; }
.customer-entry-guidance li > span { display: grid; grid-row: 1 / span 2; width: 28px; height: 28px; color: var(--gov-brand-800); background: var(--gov-brand-50); border: 1px solid var(--gov-brand-100); border-radius: 50%; font-size: var(--gov-fs-14); font-weight: 700; place-items: center; }
.customer-entry-guidance strong { color: var(--gov-text-strong); font-size: var(--gov-fs-14); }
.customer-entry-guidance small { margin-top: 2px; color: var(--gov-text-muted); font-size: var(--gov-fs-12); }
.customer-entry-note { margin: var(--gov-space-10) 0 0; padding-top: var(--gov-space-5); color: var(--gov-text-muted); border-top: 1px solid var(--gov-border); font-size: var(--gov-fs-12); line-height: var(--gov-line-normal); }

.customer-auth-panel {
  grid-column: 8 / -1;
  width: auto;
  max-width: none;
  padding: clamp(24px, 3.2vw, 40px);
  background: var(--gov-surface);
  border: 1px solid var(--gov-border);
  border-radius: var(--gov-radius-8);
  box-shadow: var(--gov-shadow-raised);
}
.customer-auth-heading { padding-bottom: var(--gov-space-5); border-bottom: 1px solid var(--gov-border); }
.customer-auth-heading h2, .customer-organization-toolbar h2 { margin: 0; color: var(--gov-text-strong); font-size: var(--gov-fs-24); line-height: var(--gov-line-tight); }
.customer-auth-heading > p:last-child { margin: var(--gov-space-2) 0 0; color: var(--gov-text-muted); font-size: var(--gov-fs-14); line-height: var(--gov-line-normal); }
.customer-auth-form { margin-top: var(--gov-space-6); }
.customer-field + .customer-field { margin-top: var(--gov-space-5); }
.customer-field label, .customer-search-label { display: block; margin: 0 0 var(--gov-space-2); color: var(--gov-text); font-size: var(--gov-fs-14); font-weight: 600; }

.customer-entry-page .form-input {
  width: 100%;
  min-height: var(--gov-control-height);
  padding: 0 var(--gov-space-3);
  color: var(--gov-text-strong);
  background: var(--gov-surface);
  border: 1px solid var(--gov-border-strong);
  border-radius: var(--gov-radius-4);
  box-shadow: none;
  transition: border-color var(--gov-motion-fast) ease, box-shadow var(--gov-motion-fast) ease;
}
.customer-entry-page .form-input::placeholder { color: var(--gov-text-placeholder); }
.customer-entry-page .form-input:hover:not(:disabled) { border-color: #8ca0b5; }
.customer-entry-page .form-input:focus { outline: none; border-color: var(--gov-brand-600); box-shadow: var(--gov-focus-ring); }
.customer-entry-page .form-input:disabled { color: var(--gov-text-muted); background: #eef1f4; cursor: not-allowed; }

.customer-primary-action {
  width: 100%;
  min-height: var(--gov-control-height);
  margin-top: var(--gov-space-6) !important;
  padding: 0 var(--gov-space-5);
  color: #fff;
  background: var(--gov-brand-700);
  border: 1px solid var(--gov-brand-700);
  border-radius: var(--gov-radius-4);
  box-shadow: none;
  font-weight: 600;
}
.customer-primary-action:hover:not(:disabled) { background: var(--gov-brand-800); border-color: var(--gov-brand-800); box-shadow: none; transform: none; }
.customer-primary-action:disabled { color: #fff; background: #9aa7b5; border-color: #9aa7b5; cursor: wait; opacity: 1; }
.customer-entry-page button:focus-visible, .customer-entry-page a:focus-visible { outline: 2px solid var(--gov-brand-600); outline-offset: 2px; }
.customer-auth-actions { display: flex; justify-content: space-between; gap: var(--gov-space-4); margin-top: var(--gov-space-3); }
.customer-secondary-action { display: block; width: 100%; margin-top: var(--gov-space-2); }
.customer-field-hint { margin: var(--gov-space-2) 0 0; color: var(--gov-text-muted); font-size: var(--gov-fs-12); line-height: var(--gov-line-normal); }

.customer-status-message { min-height: 0; margin: var(--gov-space-4) 0 0; padding: 0; color: var(--gov-text-muted); font-size: var(--gov-fs-14); line-height: var(--gov-line-normal); }
.customer-status-message:not(:empty) { padding: var(--gov-space-3); color: var(--gov-error); background: var(--gov-error-bg); border: 1px solid #fecdca; border-left: 3px solid #f04438; border-radius: var(--gov-radius-4); }
.customer-result-count:not(:empty) { padding: 0; color: var(--gov-text-muted); background: transparent; border: 0; }
.customer-auth-checking { display: flex; align-items: center; gap: var(--gov-space-3); min-height: 96px; color: var(--gov-text-muted); font-size: var(--gov-fs-14); }
.customer-loading-indicator { width: 18px; height: 18px; border: 2px solid var(--gov-brand-100); border-top-color: var(--gov-brand-700); border-radius: 50%; animation: customer-spin 720ms linear infinite; }
@keyframes customer-spin { to { transform: rotate(360deg); } }

.customer-captcha-row { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: var(--gov-space-3); }
.customer-captcha-image-button { width: 150px; height: var(--gov-control-height); padding: 0; overflow: hidden; background: var(--gov-surface-subtle); border: 1px solid var(--gov-border-strong); border-radius: var(--gov-radius-4); cursor: pointer; }
.customer-captcha-image-button img { display: block; width: 150px; height: 100%; object-fit: fill; }
.customer-captcha-refresh { margin-top: var(--gov-space-1); }

.customer-organization-section { margin-top: var(--gov-space-8); overflow: hidden; background: var(--gov-surface); border: 1px solid var(--gov-border); border-radius: var(--gov-radius-8); }
.customer-entry-page.is-authenticated .customer-entry-shell { display: block; }
.customer-entry-page.is-authenticated .customer-entry-intro { padding: 0; }
.customer-entry-page.is-authenticated .customer-entry-guidance, .customer-entry-page.is-authenticated .customer-entry-note { display: none; }
.customer-entry-page.is-authenticated .customer-entry-summary { max-width: 46em; }
.customer-organization-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); gap: var(--gov-gutter-desktop); align-items: end; padding: var(--gov-space-8); border-bottom: 1px solid var(--gov-border); }
.customer-organization-layout { display: grid; grid-template-columns: 208px minmax(0, 1fr); min-height: 460px; }
.customer-region-nav { padding: var(--gov-space-4) var(--gov-space-3); background: var(--gov-surface-subtle); border-right: 1px solid var(--gov-border); }
.customer-region-filter { display: block; width: 100%; min-height: var(--gov-touch-min); margin: 0; padding: var(--gov-space-2) var(--gov-space-3); color: var(--gov-text); text-align: left; background: transparent; border: 0; border-radius: var(--gov-radius-4); cursor: pointer; font-size: var(--gov-fs-14); }
.customer-region-filter + .customer-region-filter { margin-top: var(--gov-space-1); }
.customer-region-filter:hover, .customer-region-filter:focus-visible { color: var(--gov-brand-800); background: var(--gov-brand-50); }
.customer-region-filter.is-active { color: var(--gov-brand-900); background: var(--gov-brand-100); font-weight: 700; }

.customer-organization-list { min-width: 0; padding: var(--gov-space-8); }
.customer-organization-list[aria-busy="true"] { cursor: progress; }
.customer-organization-group + .customer-organization-group { margin-top: var(--gov-space-10); }
.customer-organization-group h3 { margin: 0 0 var(--gov-space-4); color: var(--gov-text-strong); font-size: var(--gov-fs-18); line-height: var(--gov-line-tight); }
.customer-organization-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gov-space-3); }
.customer-organization-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--gov-space-4); align-items: center; min-width: 0; min-height: 104px; padding: var(--gov-space-5); background: var(--gov-surface); border: 1px solid var(--gov-border); border-radius: var(--gov-radius-6); transition: border-color var(--gov-motion-fast) ease, background-color var(--gov-motion-fast) ease; }
.customer-organization-card:hover { background: #fbfdff; border-color: #91b8d8; box-shadow: none; }
.customer-organization-card h4 { min-width: 0; margin: 0; color: var(--gov-text-strong); font-size: var(--gov-fs-16); line-height: 1.5; overflow-wrap: anywhere; }
.customer-organization-card p { grid-column: 1; margin: var(--gov-space-1) 0 0; color: var(--gov-text-muted); font-size: var(--gov-fs-12); }
.customer-select-organization { grid-column: 2; grid-row: 1 / span 2; min-width: 108px; min-height: var(--gov-control-height); color: var(--gov-brand-800); background: var(--gov-surface); border: 1px solid var(--gov-brand-600); border-radius: var(--gov-radius-4); box-shadow: none; }
.customer-select-organization:hover:not(:disabled) { color: #fff; background: var(--gov-brand-700); border-color: var(--gov-brand-700); box-shadow: none; transform: none; }
.customer-select-organization:disabled { color: var(--gov-text-muted); background: #eef1f4; border-color: var(--gov-border); opacity: 1; }

.customer-list-feedback { display: grid; gap: var(--gov-space-2); min-height: 176px; padding: var(--gov-space-8); color: var(--gov-text-muted); text-align: center; background: var(--gov-surface-subtle); border: 1px dashed var(--gov-border-strong); border-radius: var(--gov-radius-6); align-content: center; }
.customer-list-feedback strong { color: var(--gov-text-strong); font-size: var(--gov-fs-16); }
.customer-list-feedback span { font-size: var(--gov-fs-14); }
.customer-list-feedback.is-error { color: var(--gov-error); background: var(--gov-error-bg); border-color: #fda29b; }
.customer-list-feedback.is-error strong { color: var(--gov-error); }
.customer-entry-footer { display: flex; align-items: center; justify-content: center; gap: var(--gov-space-2); min-height: calc(72px + env(safe-area-inset-bottom)); padding: var(--gov-space-5) max(var(--gov-gutter-mobile), env(safe-area-inset-right)) calc(var(--gov-space-5) + env(safe-area-inset-bottom)) max(var(--gov-gutter-mobile), env(safe-area-inset-left)); color: var(--gov-text-muted); background: var(--gov-surface); border-top: 1px solid var(--gov-border); font-size: var(--gov-fs-12); }

@media (max-width: 1023px) {
  .customer-entry-shell { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .customer-entry-intro { grid-column: 1 / span 3; }
  .customer-auth-panel { grid-column: 4 / -1; }
  .customer-organization-layout { grid-template-columns: 1fr; }
  .customer-region-nav { display: flex; gap: var(--gov-space-2); overflow-x: auto; padding: var(--gov-space-3) var(--gov-space-4); border-right: 0; border-bottom: 1px solid var(--gov-border); overscroll-behavior-inline: contain; scrollbar-width: thin; }
  .customer-region-filter { flex: 0 0 auto; width: auto; white-space: nowrap; }
  .customer-region-filter + .customer-region-filter { margin-top: 0; }
}

@media (max-width: 767px) {
  :root { --gov-control-height: 48px; }
  .customer-entry-header { min-height: calc(64px + env(safe-area-inset-top)); }
  .customer-header-inner { min-height: 63px; }
  .customer-brand-copy small, .customer-account-label { display: none; }
  .customer-account-bar { gap: var(--gov-space-2); }
  .customer-account-bar strong { max-width: 30vw; }
  .customer-entry-main { width: min(calc(100% - 2 * var(--gov-gutter-mobile)), var(--gov-content-max)); padding-top: var(--gov-space-8); }
  .customer-entry-shell { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gov-space-6) var(--gov-gutter-mobile); }
  .customer-entry-intro, .customer-auth-panel { grid-column: 1 / -1; }
  .customer-entry-intro { padding: 0; }
  .customer-entry-summary { font-size: var(--gov-fs-14); }
  .customer-entry-guidance { margin-top: var(--gov-space-6); }
  .customer-entry-guidance ol { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gov-space-2); }
  .customer-entry-guidance li { grid-template-columns: 1fr; gap: var(--gov-space-2); padding-top: var(--gov-space-3); border-top: 2px solid var(--gov-brand-100); }
  .customer-entry-guidance li > span { grid-row: auto; width: 24px; height: 24px; }
  .customer-entry-guidance small { line-height: 1.5; }
  .customer-entry-note { display: none; }
  .customer-auth-panel { padding: var(--gov-space-6) var(--gov-space-5); }
  .customer-organization-section { margin-top: var(--gov-space-6); }
  .customer-organization-toolbar { grid-template-columns: 1fr; gap: var(--gov-space-5); padding: var(--gov-space-6) var(--gov-space-5); }
  .customer-organization-list { padding: var(--gov-space-5); }
  .customer-organization-cards { grid-template-columns: 1fr; }
  .customer-select-organization { min-height: 48px; }
}

@media (max-width: 479px) {
  .customer-brand-mark { width: 32px; height: 32px; font-size: var(--gov-fs-18); }
  .customer-brand-copy strong { font-size: var(--gov-fs-16); }
  .customer-account-bar strong { max-width: 24vw; }
  .customer-logout { margin-left: 0; padding: 0 var(--gov-space-1) 0 var(--gov-space-2); }
  .customer-entry-main { padding-top: var(--gov-space-6); }
  .customer-entry-guidance ol { grid-template-columns: 1fr; }
  .customer-entry-guidance li { grid-template-columns: 28px minmax(0, 1fr); padding-top: 0; border-top: 0; }
  .customer-entry-guidance li > span { grid-row: 1 / span 2; }
  .customer-auth-panel { padding: var(--gov-space-5) var(--gov-space-4); }
  .customer-auth-actions { align-items: stretch; flex-direction: column; gap: 0; }
  .customer-auth-actions .customer-text-button { width: 100%; text-align: left; }
  .customer-captcha-row { grid-template-columns: 1fr; }
  .customer-captcha-image-button { width: 150px; }
  .customer-organization-toolbar, .customer-organization-list { padding-right: var(--gov-space-4); padding-left: var(--gov-space-4); }
  .customer-organization-card { grid-template-columns: minmax(0, 1fr); }
  .customer-select-organization { grid-column: 1; grid-row: auto; width: 100%; margin-top: var(--gov-space-4); }
}

@media (min-width: 1280px) {
  .customer-entry-main { padding-top: var(--gov-space-16); }
  .customer-auth-panel { grid-column: 8 / span 5; }
}

@media (prefers-reduced-motion: reduce) {
  .customer-entry-page *, .customer-entry-page *::before, .customer-entry-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (forced-colors: active) { .customer-brand-mark, .customer-primary-action { border: 1px solid ButtonText; } }

/* M1-S3 群众认证移动产品化：只作用于入口页，不改变服务工作区。 */
.customer-auth-back { display: none; align-items: center; min-height: var(--gov-touch-min); gap: 8px; color: #102f5f; text-decoration: none; font-size: 20px; font-weight: 700; }
.customer-auth-back svg { width: 24px; height: 24px; flex: 0 0 24px; }
.customer-auth-brand, .customer-auth-service-note, .customer-auth-register-note { display: none; }
.customer-auth-input-icon { display: block; }
.customer-input-with-action { position: relative; }
.customer-input-with-action .form-input { padding-right: 52px; }
.customer-password-toggle { position: absolute; top: 2px; right: 2px; display: grid; width: 42px; height: 40px; padding: 0; color: #7188aa; background: transparent; border: 0; border-radius: 12px; cursor: pointer; place-items: center; }
.customer-password-toggle:hover { color: #1e78f5; background: #f0f6ff; }
.customer-password-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.customer-password-toggle:focus-visible { outline: 2px solid #1e78f5; outline-offset: 1px; }
.customer-auth-switch { margin: 10px 0 0; color: #7389aa; text-align: center; font-size: 16px; line-height: 24px; }
.customer-auth-switch .customer-text-button { display: inline; min-height: 0; padding: 0; color: #1677ff; font-weight: 500; }
.customer-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 24px; color: #8295b2; font-size: 14px; line-height: 22px; cursor: pointer; }
.customer-consent input { width: 18px; height: 18px; flex: 0 0 18px; margin: 2px 0 0; accent-color: #1e78f5; }
.customer-consent a { color: #6f86aa; text-decoration: underline; text-underline-offset: 2px; }
.customer-forgot-link { display: block; min-height: 40px; margin: 4px 0 0 auto; padding: 0; color: #1677ff; font-size: 16px; font-weight: 500; }

body.customer-auth-page:not(.is-authenticated) {
  color: #6f86aa;
  background: #f4f8fd;
  overflow-x: clip;
  overflow-y: auto;
  touch-action: pan-y;
}
html.customer-scroll-root:has(> body.customer-auth-page:not(.is-authenticated)) { overflow-y: auto; }
.customer-auth-page:not(.is-authenticated) .customer-entry-header {
  min-height: calc(78px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) 18px 0;
  background: transparent;
  border-bottom-color: #dfe8f4;
}
.customer-auth-page:not(.is-authenticated) .customer-header-inner { min-height: 77px; }
.customer-auth-page:not(.is-authenticated) .customer-auth-back { display: inline-flex; }
.customer-auth-page:not(.is-authenticated) .customer-brand { display: none; }
.customer-auth-page:not(.is-authenticated) .customer-entry-main {
  width: min(calc(100% - 36px), 430px);
  min-height: 0;
  padding: 0 0 max(24px, env(safe-area-inset-bottom));
}
.customer-auth-page:not(.is-authenticated) .customer-entry-shell { display: block; }
.customer-auth-page:not(.is-authenticated) .customer-catalog-intro { display: none; }
.customer-auth-page:not(.is-authenticated) .customer-auth-brand {
  display: block;
  margin: 39px 0 0;
  color: #102f5f;
  text-align: center;
}
.customer-auth-page:not(.is-authenticated) .customer-auth-brand h1 { margin: 0; font-size: clamp(22px, 6vw, 27px); font-weight: 700; letter-spacing: -.04em; line-height: 1.35; white-space: nowrap; }
.customer-auth-page:not(.is-authenticated) .customer-auth-brand p { margin: 3px 0 0; color: #7188aa; font-size: 16px; line-height: 24px; }
.customer-auth-page:not(.is-authenticated) .customer-auth-panel {
  width: 100%;
  max-width: none;
  padding: 31px 16px 25px;
  background: #fff;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 6px 22px rgba(29, 72, 126, .035);
}
.customer-auth-page:not(.is-authenticated) .customer-auth-heading { display: none; }
.customer-auth-page:not(.is-authenticated) .customer-auth-panel[data-auth-view="forgot"] .customer-auth-heading { display: block; padding-bottom: 22px; border-bottom: 1px solid #e2eaf4; }
.customer-auth-page:not(.is-authenticated) .customer-auth-panel[data-auth-view="forgot"] .customer-auth-heading h2 { color: #102f5f; font-size: 22px; }
.customer-auth-page:not(.is-authenticated) .customer-auth-form { margin-top: 0; }
.customer-auth-page:not(.is-authenticated) .customer-status-message:empty { display: none; }
.customer-auth-page:not(.is-authenticated) .customer-field + .customer-field { margin-top: 23px; }
.customer-auth-page:not(.is-authenticated) .customer-field label { margin-bottom: 0; color: #6f86aa; font-size: 16px; font-weight: 700; line-height: 18px; }
.customer-auth-page:not(.is-authenticated) .form-input { min-height: 44px; padding: 0 14px; color: #243e67; background: #fbfdff; border-color: #d7e3f2; border-radius: 16px; font-size: 16px; }
.customer-auth-page:not(.is-authenticated) .form-input::placeholder { color: #aabbd3; }
.customer-auth-page:not(.is-authenticated) .form-input:focus { border-color: #79aef2; box-shadow: 0 0 0 3px rgba(30, 120, 245, .12); }
.customer-auth-page:not(.is-authenticated) .customer-field-hint { display: none; }
.customer-auth-page:not(.is-authenticated) .customer-status-message { margin: 0 0 14px; font-size: 14px; }
.customer-auth-page:not(.is-authenticated) .customer-primary-action { min-height: 46px; margin-top: 6px !important; color: #fff; background: #1e78f5; border: 0; border-radius: 24px; box-shadow: none; font-size: 18px; font-weight: 700; }
.customer-auth-page:not(.is-authenticated) .customer-primary-action:hover:not(:disabled) { background: #146be4; }
.customer-auth-page:not(.is-authenticated) .customer-primary-action:disabled { background: #9bbbe8; }
.customer-auth-page:not(.is-authenticated) .customer-auth-service-note {
  display: block;
  margin: 22px 0 0;
  padding: 12px 16px;
  color: #6f86aa;
  background: #eaf3ff;
  border-radius: 24px;
}
.customer-auth-page:not(.is-authenticated) .customer-auth-service-note h2 { margin: 0 0 6px; color: #102f5f; font-size: 20px; line-height: 28px; }
.customer-auth-page:not(.is-authenticated) .customer-auth-service-note p { margin: 0; font-size: 14px; line-height: 24px; }
.customer-auth-page:not(.is-authenticated) .customer-auth-service-note p + p { margin-top: 4px; }
.customer-auth-page:not(.is-authenticated) .customer-auth-register-note { display: none; margin: 72px 0 0; color: #7b91b1; text-align: center; font-size: 15px; line-height: 24px; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-auth-register-note { display: block; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-auth-brand { display: none; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-auth-panel { padding-top: 26px; padding-bottom: 23px; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-field + .customer-field { margin-top: 20px; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-auth-switch { margin-top: 64px; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-entry-main { padding-top: 16px; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-auth-service-note { display: none; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-captcha-row { grid-template-columns: minmax(0, 1fr) 120px; gap: 12px; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-captcha-image-button, .customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-captcha-image-button img { width: 120px; }
.customer-auth-page:not(.is-authenticated)[data-customer-auth-view="register"] .customer-captcha-refresh { display: none; }
.customer-auth-page:not(.is-authenticated) .customer-entry-footer {
  min-height: calc(76px + env(safe-area-inset-bottom));
  padding: clamp(40px, 8vh, 72px) 18px calc(18px + env(safe-area-inset-bottom));
  color: #7188aa;
  background: transparent;
  border-top: 0;
  font-size: 14px;
}
.customer-auth-page:not(.is-authenticated) .customer-entry-footer a { color: inherit; text-decoration: none; }
.customer-auth-page:not(.is-authenticated) .customer-entry-footer a:hover { color: #1677ff; }

@media (max-width: 359px) {
  .customer-auth-page:not(.is-authenticated) .customer-auth-brand { margin-top: 29px; margin-bottom: 0; }
  .customer-auth-page:not(.is-authenticated) .customer-auth-panel { padding-right: 14px; padding-left: 14px; }
  .customer-auth-page:not(.is-authenticated) .customer-auth-switch, .customer-auth-page:not(.is-authenticated) .customer-consent { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .customer-password-toggle, .customer-auth-page:not(.is-authenticated) .customer-primary-action { transition: none; }
}

/* M1-S3 群众办理单位目录：只作用于已登录的当前入口页。 */
.customer-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.customer-catalog-title, .customer-organization-search-button, .customer-catalog-account, .customer-catalog-bottom-nav { display: none; }

.customer-auth-page.is-authenticated {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: 100%;
  height: 100dvh;
  min-height: 100svh;
  overflow: hidden;
  color: #173a70;
  background: #f1f8ff;
}
html.customer-scroll-root > body.customer-auth-page.is-authenticated { overflow-x: hidden; overflow-y: hidden; }
.customer-auth-page.is-authenticated .customer-entry-header { min-height: calc(78px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) max(18px, env(safe-area-inset-right)) 0 max(18px, env(safe-area-inset-left)); background: transparent; border-bottom: 0; }
.customer-auth-page.is-authenticated .customer-header-inner { width: min(100%, 960px); min-height: 77px; gap: 12px; }
.customer-auth-page.is-authenticated .customer-auth-back, .customer-auth-page.is-authenticated .customer-brand { display: none; }
.customer-auth-page.is-authenticated .customer-catalog-title { display: inline-flex; align-items: center; min-height: var(--gov-touch-min); color: #102f5f; font-size: clamp(1.75rem, 6vw, 2.25rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.2; text-decoration: none; }
.customer-auth-page.is-authenticated .customer-account-bar { display: flex; align-items: center; gap: 10px; margin-left: auto; color: #173a70; }
.customer-auth-page.is-authenticated .customer-account-label { display: none; }
.customer-auth-page.is-authenticated .customer-account-bar strong { display: none; }
.customer-auth-page.is-authenticated .customer-organization-search-button { display: grid; width: 48px; height: 48px; padding: 0; color: #1677ff; background: #eaf4ff; border: 0; border-radius: 50%; cursor: pointer; place-items: center; }
.customer-auth-page.is-authenticated .customer-organization-search-button svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.customer-auth-page.is-authenticated .customer-catalog-account { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 17px; color: #fff; background: #1677ff; border-radius: 24px; font-size: 16px; text-decoration: none; }
.customer-auth-page.is-authenticated .customer-logout { display: none; }
.customer-auth-page.is-authenticated .customer-entry-main { display: flex; width: 100%; min-height: 0; margin: 0; padding: 0 max(16px, env(safe-area-inset-right)) 18px max(16px, env(safe-area-inset-left)); overflow: hidden; }
.customer-auth-page.is-authenticated .customer-entry-shell, .customer-auth-page.is-authenticated .customer-auth-service-note, .customer-auth-page.is-authenticated .customer-auth-register-note, .customer-auth-page.is-authenticated .customer-entry-footer { display: none; }
.customer-auth-page.is-authenticated .customer-organization-section { display: flex; flex: 1 1 auto; flex-direction: column; width: min(100%, 960px); min-height: 0; margin: 0 auto; overflow: hidden; background: transparent; border: 0; border-radius: 0; }
.customer-auth-page.is-authenticated .customer-organization-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: stretch; padding: 0 0 12px; border: 0; }
.customer-auth-page.is-authenticated .customer-search-field { position: relative; min-width: 0; }
.customer-auth-page.is-authenticated .customer-search-field > svg { position: absolute; z-index: 1; top: 50%; left: 22px; width: 28px; height: 28px; fill: none; stroke: #6c81a7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transform: translateY(-50%); pointer-events: none; }
.customer-auth-page.is-authenticated .customer-search-field .form-input { box-sizing: border-box; min-height: 58px; padding: 0 20px 0 64px; color: #193c74; background: rgba(255, 255, 255, .94); border: 1px solid rgba(255, 255, 255, .98); border-radius: 22px; box-shadow: 0 4px 16px rgba(36, 102, 179, .035); font-size: 18px; }
.customer-auth-page.is-authenticated .customer-search-field .form-input::placeholder { color: #7288ad; }
.customer-auth-page.is-authenticated .customer-search-field .form-input:focus { border-color: #79aef2; box-shadow: 0 0 0 3px rgba(30, 120, 245, .12); }
.customer-auth-page.is-authenticated .customer-region-nav { display: flex; min-width: 0; gap: 10px; padding: 0 0 2px; overflow-x: auto; border: 0; background: transparent; overscroll-behavior-inline: contain; scrollbar-width: none; touch-action: pan-x; }
.customer-auth-page.is-authenticated .customer-region-nav::-webkit-scrollbar { display: none; }
.customer-auth-page.is-authenticated .customer-region-filter { flex: 0 0 auto; width: auto; min-height: 48px; padding: 0 24px; color: #667da6; background: rgba(255, 255, 255, .76); border: 1px solid rgba(255, 255, 255, .92); border-radius: 24px; font-size: 17px; font-weight: 500; text-align: center; white-space: nowrap; }
.customer-auth-page.is-authenticated .customer-region-filter:hover, .customer-auth-page.is-authenticated .customer-region-filter:focus-visible { color: #1768df; background: #fff; }
.customer-auth-page.is-authenticated .customer-region-filter.is-active { color: #fff; background: #1677ff; border-color: #1677ff; font-weight: 700; }
.customer-auth-page.is-authenticated .customer-organization-controls { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 2px 10px; color: #173a70; }
.customer-auth-page.is-authenticated .customer-catalog-control, .customer-auth-page.is-authenticated .customer-catalog-grouping { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; color: #173a70; background: transparent; border: 0; font-size: 16px; }
.customer-auth-page.is-authenticated .customer-catalog-control { padding: 0 4px; cursor: pointer; }
.customer-auth-page.is-authenticated .customer-catalog-control:disabled { color: #91a5c5; cursor: default; }
.customer-auth-page.is-authenticated .customer-catalog-control:not(:disabled):active { opacity: .65; }
.customer-auth-page.is-authenticated .customer-catalog-control svg, .customer-auth-page.is-authenticated .customer-catalog-grouping svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.customer-auth-page.is-authenticated .customer-organization-layout { display: flex; flex: 1 1 auto; min-height: 0; overflow: hidden; }
.customer-auth-page.is-authenticated .customer-organization-list { flex: 1 1 auto; min-width: 0; min-height: 0; padding: 0 0 12px; overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; touch-action: pan-y; }
.customer-auth-page.is-authenticated .customer-organization-list[aria-busy="true"] { cursor: progress; }
.customer-auth-page.is-authenticated .customer-organization-group + .customer-organization-group { margin-top: 18px; }
.customer-auth-page.is-authenticated .customer-organization-group h3 { display: flex; align-items: center; min-width: 0; min-height: 58px; margin: 0; padding: 0 18px; gap: 10px; color: #173a70; background: #e5f3ff; border-radius: 18px 18px 0 0; font-size: 22px; line-height: 1.3; }
.customer-auth-page.is-authenticated .customer-organization-group__marker { display: grid; flex: 0 0 30px; width: 30px; height: 30px; color: #fff; background: #1677ff; border-radius: 50%; place-items: center; }
.customer-auth-page.is-authenticated .customer-organization-group__marker svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.customer-auth-page.is-authenticated .customer-organization-group__count { margin-left: auto; color: #6b82aa; font-size: 15px; font-weight: 500; white-space: nowrap; }
.customer-auth-page.is-authenticated .customer-organization-rows { padding: 0 18px; background: rgba(255, 255, 255, .94); border-radius: 0 0 18px 18px; }
.customer-auth-page.is-authenticated .customer-organization-row { display: grid; grid-template-columns: minmax(0, 1fr) 24px; align-items: center; width: 100%; min-height: 74px; padding: 10px 0; gap: 12px; color: #173a70; text-align: left; background: transparent; border: 0; border-bottom: 1px solid #dce7f4; cursor: pointer; }
.customer-auth-page.is-authenticated .customer-organization-row:last-child { border-bottom: 0; }
.customer-auth-page.is-authenticated .customer-organization-row:hover { background: #fbfdff; }
.customer-auth-page.is-authenticated .customer-organization-row:active { opacity: .7; }
.customer-auth-page.is-authenticated .customer-organization-row:focus-visible { outline: 2px solid #1677ff; outline-offset: -2px; }
.customer-auth-page.is-authenticated .customer-organization-row:disabled { cursor: wait; opacity: .55; }
.customer-auth-page.is-authenticated .customer-organization-row__copy { display: grid; min-width: 0; gap: 3px; }
.customer-auth-page.is-authenticated .customer-organization-row__name { display: -webkit-box; min-width: 0; overflow: hidden; color: #173a70; font-size: 18px; font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.customer-auth-page.is-authenticated .customer-organization-row__region { color: #7890b5; font-size: 14px; line-height: 1.3; }
.customer-auth-page.is-authenticated .customer-organization-row__arrow { width: 22px; height: 22px; fill: none; stroke: #6e85ab; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.customer-auth-page.is-authenticated .customer-list-feedback { display: grid; min-height: 188px; padding: 24px; gap: 8px; color: #7188ad; background: rgba(255, 255, 255, .76); border: 1px solid rgba(255, 255, 255, .92); border-radius: 18px; text-align: center; align-content: center; justify-items: center; }
.customer-auth-page.is-authenticated .customer-list-feedback strong { color: #173a70; font-size: 18px; }
.customer-auth-page.is-authenticated .customer-list-feedback span { font-size: 15px; line-height: 1.6; }
.customer-auth-page.is-authenticated .customer-list-feedback.is-loading::before { content: ""; width: 22px; height: 22px; border: 2px solid #b9d7fb; border-top-color: #1677ff; border-radius: 50%; animation: customer-catalog-spin 700ms linear infinite; }
.customer-auth-page.is-authenticated .customer-list-feedback.is-error { color: #a33d43; background: #fff5f5; border-color: #f2c8ca; }
.customer-auth-page.is-authenticated .customer-list-feedback.is-error strong { color: #a33d43; }
.customer-auth-page.is-authenticated .customer-list-feedback-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 8px; }
.customer-auth-page.is-authenticated .customer-list-action { min-height: 42px; padding: 0 17px; color: #1768df; background: #fff; border: 1px solid #c7dcf4; border-radius: 21px; cursor: pointer; font-size: 14px; }
.customer-auth-page.is-authenticated .customer-list-action:hover, .customer-auth-page.is-authenticated .customer-list-action:focus-visible { color: #fff; background: #1677ff; border-color: #1677ff; }
@keyframes customer-catalog-spin { to { transform: rotate(360deg); } }
.customer-auth-page.is-authenticated .customer-catalog-bottom-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: calc(76px + env(safe-area-inset-bottom)); padding: 0 max(10px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(10px, env(safe-area-inset-left)); background: rgba(255, 255, 255, .97); border-top: 1px solid #dbe5f0; box-shadow: 0 -4px 16px rgba(33, 72, 119, .045); }
.customer-auth-page.is-authenticated .customer-catalog-bottom-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; min-height: 60px; gap: 5px; color: #71819b; font-size: 14px; line-height: 1.1; text-decoration: none; }
.customer-auth-page.is-authenticated .customer-catalog-bottom-nav a[aria-current="page"] { color: #1677ff; font-weight: 700; }
.customer-auth-page.is-authenticated .customer-catalog-bottom-nav svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.customer-auth-page.is-authenticated .customer-catalog-bottom-nav a[aria-current="page"] svg { fill: currentColor; stroke-width: 1.25; }

@media (max-width: 479px) {
  .customer-auth-page.is-authenticated .customer-entry-header { padding-right: 14px; padding-left: 14px; }
  .customer-auth-page.is-authenticated .customer-entry-main { padding-right: 12px; padding-bottom: 10px; padding-left: 12px; }
  .customer-auth-page.is-authenticated .customer-catalog-title { font-size: 30px; }
  .customer-auth-page.is-authenticated .customer-organization-search-button { width: 46px; height: 46px; }
  .customer-auth-page.is-authenticated .customer-catalog-account { padding: 0 15px; }
  .customer-auth-page.is-authenticated .customer-search-field .form-input { min-height: 56px; padding-left: 58px; font-size: 17px; }
  .customer-auth-page.is-authenticated .customer-search-field > svg { left: 19px; width: 26px; height: 26px; }
  .customer-auth-page.is-authenticated .customer-region-filter { min-height: 46px; padding: 0 21px; font-size: 16px; }
  .customer-auth-page.is-authenticated .customer-organization-group h3 { min-height: 56px; padding-right: 14px; padding-left: 14px; font-size: 21px; }
  .customer-auth-page.is-authenticated .customer-organization-rows { padding-right: 14px; padding-left: 14px; }
  .customer-auth-page.is-authenticated .customer-organization-row { min-height: 72px; }
  .customer-auth-page.is-authenticated .customer-organization-row__name { font-size: 17px; }
  .customer-auth-page.is-authenticated .customer-organization-group__count { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .customer-auth-page.is-authenticated .customer-list-feedback.is-loading::before { animation: none; }
}
