.account-workspace {
  display: grid;
  gap: 24px;
  min-width: 0;
}

.account-workspace[hidden] {
  display: none !important;
}

.account-page .workspace {
  padding-top: 154px;
}

.account-page .content {
  padding-top: 0;
}

@media (max-width: 680px) {
  .account-page .workspace {
    padding-top: 130px;
  }
}

.account-section-tabs button[hidden],
.account-tab-panel[hidden] {
  display: none !important;
}

.account-section-tabs button:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: -2px;
}

.account-section-tabs button {
  min-width: 0;
  flex: 1 1 0;
}

.account-tab-panel {
  display: grid;
  gap: 24px;
  min-width: 0;
}

.account-workspace .panel {
  border: 1px solid #dce8e2;
  border-radius: 20px;
  box-shadow: 0 12px 36px rgba(23, 76, 60, 0.06);
}

.account-workspace .account-panel {
  margin-top: 0;
  padding: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: 32px;
}

.account-introduction-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding: 24px 28px;
}

.account-introduction-card h3 {
  margin: 0 0 8px;
  color: var(--green);
  font-size: 18px;
}

.account-introduction-card p {
  margin: 0;
  color: #557269;
  font-size: 14px;
  line-height: 1.6;
}

.account-introduction-action {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid #cfe4db;
  border-radius: 10px;
  color: var(--green);
  background: #edf7f2;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.account-introduction-action:hover {
  background: #e2f0e8;
}

.account-introduction-action:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}

.account-identity h3 {
  margin: 4px 0 6px;
  color: var(--green);
  font-size: 20px;
}

.account-identity .text-button {
  margin-top: 12px;
  color: #557269;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.account-workspace .role-card {
  min-height: 112px;
  padding: 18px;
  justify-content: center;
  border: 1px solid #cfe4db;
  border-radius: 16px;
  background: #edf7f2;
}

.account-workspace .role-card span,
.account-workspace .role-card small {
  font-size: 11px;
}

.account-workspace .role-card b {
  margin: 8px 0;
  font-size: 14px;
}

.account-workspace .account-form h3 {
  margin-bottom: 12px;
  color: var(--green);
  font-size: 15px;
}

.account-workspace .account-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 28px;
}

.account-workspace .account-fields input,
.account-workspace .account-fields select,
.account-workspace .account-form button {
  min-height: 46px;
  border-radius: 10px;
  font-size: 14px;
}

.account-editor,
.account-workspace .account-review-panel {
  min-width: 0;
  margin: 0;
  padding: 28px;
}

.account-editor[hidden] {
  display: none !important;
}

.account-workspace .account-editor h3 {
  margin: 0 0 24px;
  font-size: 20px;
}

.account-fields label,
.account-review-panel form label {
  display: grid;
  min-width: 0;
  gap: 10px;
  color: #34594b;
  font-size: 14px;
  line-height: 1.5;
}

.account-fields input,
.account-fields select,
.account-review-panel select,
.account-review-panel input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.account-editor-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid #e3ece7;
}

.account-editor-actions button {
  min-width: 160px;
  padding: 0 24px;
}

.account-review-panel summary {
  color: var(--green);
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  line-height: 1.6;
}

.account-review-panel > p {
  margin: 18px 0;
  color: #647a72;
  font-size: 14px;
  line-height: 1.8;
}

.account-review-panel button {
  min-height: 42px;
  margin: 0 12px 12px 0;
  padding: 10px 18px;
  border: 1px solid #cadfd4;
  border-radius: 10px;
  color: var(--green);
  background: #eef7f2;
  font-size: 14px;
  cursor: pointer;
}

.account-review-panel input,
.account-review-panel select {
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #cfddd7;
  border-radius: 10px;
  font: inherit;
}

.account-review-panel input[type="checkbox"] {
  width: auto;
  min-height: 0;
}

.account-workspace .account-review-panel form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: end;
  margin-top: 20px;
}

.account-workspace .account-review-panel form[hidden] {
  display: none;
}

.account-review-panel form button {
  justify-self: start;
  margin: 0;
}

.account-workspace .account-fields input,
.account-workspace .account-fields select {
  border: 1px solid #cfddd7;
  background: #fbfdfc;
  color: var(--green);
}

.account-workspace input:focus,
.account-workspace select:focus {
  outline: 3px solid rgba(29, 124, 90, 0.14);
  border-color: #2a8867;
}

.mini-program-account-card {
  min-height: 214px;
  padding: 22px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 390px);
  align-items: center;
  gap: 28px;
  overflow: hidden;
  background: linear-gradient(135deg, #ffffff 0%, #f3faf6 100%);
}

.mini-program-account-card h3 {
  margin: 6px 0 10px;
  color: var(--green);
  font-size: 22px;
}

.mini-program-account-card p:not(.eyebrow) {
  max-width: 52ch;
  color: #647a72;
  font-size: 12px;
  line-height: 1.7;
}

.mini-program-account-card figure {
  margin: 0;
  padding: 10px;
  border: 1px solid #dce8e2;
  border-radius: 16px;
  background: #ffffff;
}

.mini-program-account-card img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
}

.mini-program-account-card figcaption {
  padding-top: 8px;
  color: #6d8079;
  font-size: 10px;
  text-align: center;
}

.account-directory,
.station-directory {
  padding: 22px 24px;
}

.account-user-list {
  margin-top: 10px;
  display: grid;
  gap: 0;
}

.account-user-row {
  min-height: 52px;
  display: grid;
  grid-template-columns: 1.1fr 0.8fr 1.35fr 0.45fr;
  align-items: center;
  gap: 14px;
  padding: 12px 4px;
  border-top: 1px solid #e9f0ed;
  font-size: 11px;
}

.account-user-row:first-child {
  border-top: 0;
}

.account-user-row small {
  color: #697d75;
  font-size: 10px;
}

.station-directory {
  display: grid;
  gap: 18px;
}

.station-directory-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.station-directory-head h3 {
  margin: 4px 0 6px;
  color: var(--green);
  font-size: 20px;
}

.station-directory-head p:not(.eyebrow) {
  color: #6b7d76;
  font-size: 11px;
  line-height: 1.6;
}

#toggleStationCreate,
.station-create-actions button,
.station-card-actions button {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #ffffff;
  background: var(--green);
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 120ms ease, background 120ms ease;
}

#toggleStationCreate:hover,
.station-create-actions button:hover,
.station-card-actions button:hover {
  background: #176b50;
}

#toggleStationCreate:active,
.station-create-actions button:active,
.station-card-actions button:active {
  transform: translateY(1px);
}

.station-create-form {
  padding: 18px;
  display: grid;
  grid-template-columns: 0.65fr 1.2fr 1fr 1.2fr 0.7fr;
  align-items: end;
  gap: 12px;
  border: 1px solid #cee2d9;
  border-radius: 16px;
  background: #f0f8f4;
}

.station-create-form[hidden] {
  display: none !important;
}

.station-create-form label,
.station-field {
  display: grid;
  gap: 7px;
  color: #60756d;
  font-size: 10px;
  font-weight: 700;
}

.station-create-form input,
.station-field input {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 11px;
  box-sizing: border-box;
  border: 1px solid #ceddd7;
  border-radius: 9px;
  color: #153d30;
  background: #ffffff;
  font: inherit;
  font-weight: 600;
}

.station-create-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 9px;
}

.station-create-actions .secondary,
.station-card-actions .station-delete-button {
  color: #536d63;
  border-color: #c8d8d1;
  background: #ffffff;
}

.station-create-actions .secondary:hover {
  background: #e8f2ed;
}

.station-create-form .form-message {
  grid-column: 1 / -1;
  margin: 0;
  color: #49675c;
  text-align: right;
}

.station-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.station-card {
  min-width: 0;
  padding: 18px;
  display: grid;
  gap: 15px;
  border: 1px solid #dce7e2;
  border-radius: 16px;
  background: #ffffff;
}

.station-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.station-card-head strong {
  display: block;
  margin-top: 5px;
  color: #173f32;
  font-size: 15px;
}

.station-code {
  color: #1d7758;
  font-size: 11px;
  font-weight: 850;
}

.station-status {
  padding: 6px 9px;
  border-radius: 999px;
  color: #176648;
  background: #e4f4ec;
  font-size: 9px;
  font-weight: 800;
}

.station-card-fields {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 11px;
}

.station-field.wide {
  grid-column: 1 / -1;
}

.station-card-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
}

.station-feature-settings { margin: 0; padding: 16px; border: 1px solid #dce7e2; border-radius: 12px; }
.station-feature-settings legend { padding: 0 6px; color: #39584d; font-weight: 800; }
.station-feature-settings p { margin: 0 0 12px; color: #657771; font-size: 12px; }
.station-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 14px; }
.station-feature-grid label { display: flex; align-items: center; gap: 8px; font-size: 12px; cursor: pointer; }
.station-feature-grid input { accent-color: var(--green); }
.sidebar .nav-item[hidden] { display: none !important; }

.station-card-actions .station-delete-button {
  color: #9a3f39;
  border-color: #edc9c5;
  background: #fff7f5;
}

.station-card-actions .station-delete-button:hover {
  color: #7f2f2a;
  background: #fbe8e4;
}

.station-card-actions .station-delete-button:disabled,
.station-card-actions button:disabled,
#toggleStationCreate:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.station-card-message {
  min-height: 14px;
  margin: 0;
  color: #527067;
  font-size: 10px;
  text-align: right;
}

@media (max-width: 1100px) {
  .account-workspace .account-panel {
    grid-template-columns: 1fr 1fr;
  }

  .account-workspace .account-form {
    grid-column: 1 / -1;
  }

  .station-create-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .mini-program-account-card,
  .station-card-grid,
  .station-card-fields {
    grid-template-columns: 1fr;
  }

  .mini-program-account-card figure {
    max-width: 390px;
  }

  .station-field.wide {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .station-feature-grid { grid-template-columns: 1fr; }
  .account-workspace .account-panel,
  .account-workspace .account-fields,
  .account-workspace .account-review-panel form,
  .station-create-form {
    grid-template-columns: 1fr;
  }

  .account-workspace .account-panel,
  .account-editor,
  .account-workspace .account-review-panel {
    padding: 20px;
  }

  .account-editor-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .station-directory-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .station-create-actions,
  .station-create-form .form-message {
    grid-column: auto;
  }

  .account-user-row {
    grid-template-columns: 1fr 1fr;
  }
}

.account-data-settings {
  padding: 22px 24px;
}

.account-data-settings h3 {
  margin: 0 0 8px;
  color: var(--green);
  font-size: 18px;
}

.account-data-settings p {
  margin: 8px 0;
  color: #647a72;
  font-size: 12px;
  line-height: 1.7;
}

.account-data-settings label {
  display: grid;
  gap: 8px;
  max-width: 420px;
  margin-top: 16px;
  color: #254f40;
  font-size: 12px;
}

.account-data-settings select {
  width: 100%;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #cfddd7;
  border-radius: 10px;
  background: #fbfdfc;
  color: var(--green);
  font: inherit;
}

.account-data-settings .data-mode-hint {
  margin-bottom: 0;
}

.account-user-row button { padding:7px 12px; border:1px solid #cbded6; border-radius:8px; color:var(--green); background:white; cursor:pointer; }

.account-module-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.account-module-head h3 { margin:4px 0; color:var(--green); font-size:20px; }
.account-module-head p:last-child { margin:6px 0 0; color:#657c72; font-size:13px; }
#addAccount,#saveAccount,.account-cancel { min-height:40px; padding:8px 18px; border:1px solid #cbded6; border-radius:9px; background:var(--green); color:white; font:inherit; font-weight:700; cursor:pointer; }
#addAccount[hidden],#accountForm[hidden],#accountListView[hidden] { display:none !important; }
#accountDirectory #accountForm { padding:22px 0 0; margin:18px 0 0; border:0; border-top:1px solid #e1ebe6; background:transparent; box-shadow:none; }
#accountEditorTitle { margin:0 0 8px; color:var(--green); font-size:19px; }
#accountEditorHint { margin:0 0 20px; color:#657c72; font-size:13px; }
.account-cancel { background:white; color:#506e60; }
.account-deleted-filter { display:flex; align-items:center; gap:8px; margin:20px 0 12px; color:#657c72; font-size:13px; }
.account-deleted-filter input { width:17px; height:17px; accent-color:var(--green); }
.account-list-table-wrap { overflow-x:auto; }
.account-list-table { width:100%; border-collapse:collapse; text-align:left; }
.account-list-table th { padding:12px 10px; background:#f3f8f5; color:#60776c; font-size:12px; font-weight:700; white-space:nowrap; }
.account-list-table td { padding:16px 10px; border-bottom:1px solid #e5eee9; font-size:14px; vertical-align:middle; }
.account-list-table td small { display:block; margin-top:5px; color:#71857a; font-size:12px; line-height:1.5; }
.account-list-table td:last-child { width:150px; }
.account-row-actions { display:flex; align-items:center; gap:8px; }
.account-row-actions button { min-height:34px; padding:5px 12px; border:1px solid #cbded6; border-radius:8px; background:white; color:var(--green); font:inherit; font-size:13px; cursor:pointer; white-space:nowrap; }
.account-row-actions .account-delete { color:#9a5149; border-color:#e4cfcb; }
.account-row-actions button:disabled,#saveAccount:disabled,.account-cancel:disabled { opacity:.45; cursor:not-allowed; }
.account-current-badge { color:#276d53 !important; }
.account-status { white-space:nowrap; color:#426d58; }
.account-status.deleted { color:#9a6a60; }
#accountListMessage { margin:14px 0 0; font-size:13px; color:#426d58; }
.account-empty { padding:20px 0; color:#6b8175; }
@media(max-width:820px) { .account-list-table { min-width:660px; } }

.account-station-assignment { grid-column:1/-1; margin:0; padding:18px; border:1px solid #d9e6df; border-radius:10px; min-width:0; }
.account-station-assignment[hidden],.account-station-choices[hidden] { display:none !important; }
.account-station-assignment legend { padding:0 8px; color:#365f4c; font-size:14px; }
.account-station-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; max-height:300px; overflow:auto; }
.account-station-choices .account-station-choice { display:flex; align-items:flex-start; gap:10px; padding:12px; background:#f4f8f5; border-radius:8px; font-size:13px; }
.account-workspace .account-station-choices input { width:18px; min-height:18px; height:18px; margin:2px 0 0; flex:none; accent-color:var(--green); }
.account-station-choice small { display:block; color:#75887d; margin-top:4px; }
.account-recovery-note { color:#667e71; line-height:1.7; font-size:13px; margin-top:20px; }
.login-recovery { font-size:13px; color:#557568; margin:14px 0; }
.login-recovery summary { cursor:pointer; }
@media(max-width:1000px){.account-station-choices{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.account-station-choices{grid-template-columns:1fr;}}

.custom-collection-settings { min-width:0; scroll-margin-top:170px; }
.custom-collection-settings[hidden] { display:none!important; }
.custom-collection-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#customCollectionSettings .account-list-table th:last-child,
#customCollectionSettings .account-list-table td:last-child { min-width:180px; }
.custom-collection-delete { border:1px solid #e1b9b9; background:#fff7f7; color:#a62d2d; border-radius:10px; padding:10px 14px; font:inherit; cursor:pointer; }
.custom-collection-delete:disabled { opacity:.6; cursor:wait; }
#deleteCustomCollectionDialog { width:min(520px,calc(100% - 32px)); box-sizing:border-box; padding:24px; border:1px solid #dce8e2; border-radius:20px; color:var(--ink); }
#deleteCustomCollectionDialog::backdrop { background:#163d3280; }
#deleteCustomCollectionDialog p { line-height:1.7; overflow-wrap:anywhere; }
#deleteCustomCollectionError { color:#a62d2d; }
#cancelDeleteCustomCollection { min-height:40px; padding:10px 14px; border:1px solid #cbded6; border-radius:10px; background:white; color:var(--green); font:inherit; cursor:pointer; }
#confirmDeleteCustomCollection { min-height:40px; }
#createCustomCollection,#saveCustomCollection,#cancelCustomCollection { min-height:40px; padding:8px 16px; border:1px solid #cbded6; border-radius:9px; background:var(--green); color:white; font:inherit; cursor:pointer; }
#cancelCustomCollection { background:white; color:var(--green); }
#createCustomCollection { flex-shrink:0; }
#createCustomCollectionDialog { width:min(620px,calc(100% - 24px)); max-height:90dvh; overflow:auto; border:1px solid var(--line); border-radius:14px; padding:24px; color:var(--ink); }
#createCustomCollectionDialog::backdrop { background:#17352f70; }
#createCustomCollectionDialog h2 { margin:0; }
#createCustomCollectionDialog form>label { display:grid; gap:8px; margin:24px 0; }
#createCustomCollectionDialog input[name="name"] { width:100%; min-height:42px; padding:9px 12px; border:1px solid var(--line); border-radius:8px; font:inherit; }
#createCustomCollectionDialog fieldset { min-width:0; border:1px solid var(--line); border-radius:8px; padding:16px; }
#createCustomCollectionDialog p { color:var(--muted); line-height:1.6; }
#customCollectionStations { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
#customCollectionStations label { display:flex; align-items:center; gap:8px; }
#createCustomCollectionDialog #createCustomCollectionError { color:#a62d2d; }
@media(max-width:680px) { #customCollectionSettings .account-module-head { align-items:flex-start; flex-direction:column; gap:12px; } #createCustomCollectionDialog { padding:18px; } }

/* 负责人手机绑定 */
.manager-binding-panel { padding: 22px 24px; display: grid; gap: 14px; }
.manager-binding-panel .account-module-head p:last-child { max-width: 72ch; line-height: 1.6; }
.manager-binding-generate { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.manager-binding-generate label { display: grid; gap: 6px; color: #557269; font-size: 13px; }
.manager-binding-generate select { min-width: 240px; max-width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid #cfded7; border-radius: 10px; background: #fff; color: #19332d; font: inherit; font-size: 14px; }
.manager-binding-generate button { min-height: 44px; padding: 0 22px; border: 0; border-radius: 10px; background: var(--green); color: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.manager-binding-generate button:disabled { opacity: .6; cursor: wait; }
.manager-binding-code { padding: 14px 16px; border: 1px solid #caddd3; border-radius: 12px; background: #f3faf6; }
.manager-binding-code p { margin: 0; color: #557269; font-size: 13px; line-height: 1.6; }
.manager-binding-code strong { display: block; margin: 6px 0; color: var(--green); font-size: 28px; letter-spacing: 4px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; user-select: all; }
.manager-binding-table { overflow-x: auto; }
.manager-binding-table table { width: 100%; border-collapse: collapse; font-size: 13px; }
.manager-binding-table th, .manager-binding-table td { padding: 8px 10px; border-bottom: 1px solid #e1ebe6; text-align: left; white-space: nowrap; }
.manager-binding-table td small { display: block; color: #7b8f87; }
.manager-binding-table .binding-active { color: var(--green); font-weight: 600; }
.manager-binding-table .binding-revoke { padding: 5px 14px; border: 1px solid #e3b8b0; border-radius: 8px; background: #fff; color: #a1402f; font: inherit; font-size: 13px; cursor: pointer; }
.manager-binding-table .binding-revoke:disabled { opacity: .6; cursor: wait; }
.manager-binding-note { margin: 0; color: #7b8f87; font-size: 12px; line-height: 1.6; }
