/* 预约后台：只重做呈现层，不修改任何真实字段、接口、权限或操作。 */

.admin-mode {
  background: #fafaf7;
  color: #24393c;
}

.admin-mode main {
  max-width: none;
  padding: 0 30px 44px 256px;
}

.admin-mode .admin-session-bar {
  min-height: 68px;
  margin: 0 -30px 0 -256px;
  padding: 0 30px 0 278px;
  border-bottom: 1px solid #dce9e5;
  background: #ffffff;
  box-shadow: none;
}

.admin-mode .admin-session-bar > div:first-child span {
  color: #238378;
  font-size: 15px;
  font-weight: 700;
}

.admin-mode .admin-session-bar > div:first-child strong {
  color: #213d41;
}

.admin-mode .admin-session-bar em {
  color: #708582;
}

.admin-mode .admin-session-bar button,
.workbench-return {
  min-height: 38px;
  border-color: #cfded9;
  background: #ffffff;
  color: #337c75;
  box-shadow: none;
}

.admin-mode .admin-session-bar button:hover,
.workbench-return:hover {
  border-color: #7db9ae;
  background: #eef8f5;
}

.admin-mode .admin-page-heading {
  margin: 0;
  padding: 29px 0 17px;
}

.admin-mode .admin-page-heading h2 {
  color: #24393c;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  letter-spacing: -.035em;
}

.admin-mode .store-dashboard {
  display: block;
}

.admin-mode .store-sidebar {
  position: fixed;
  z-index: 5;
  inset: 0 auto 0 0;
  width: 232px;
  min-height: 100vh;
  overflow-y: auto;
  padding: 24px 14px 22px;
  border-right: 1px solid #dce9e5;
  border-radius: 0;
  background: #f5faf8;
  box-shadow: none;
}

.store-brand {
  margin: 0 10px 32px;
}

.store-brand > span {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 12px;
  background: #237c78;
  color: #ffffff;
  font-size: 23px;
}

.store-brand strong {
  color: #213d41;
  font-size: 18px;
}

.store-brand em,
.admin-mode .store-sidebar h3,
.admin-mode .store-nav button span {
  color: #6c8581;
}

.admin-mode .store-sidebar h3 {
  margin: 0 10px 11px;
  color: #58736e;
  font-size: 13px;
}

.admin-mode .store-sidebar h3::after {
  background: #aed6ca;
}

.admin-mode .store-nav button {
  min-height: 43px;
  padding: 0 11px;
  border: 0;
  border-radius: 9px;
  color: #365451;
  font-size: 14px;
}

.admin-mode .store-nav button:hover {
  background: #e8f4f0;
  transform: none;
}

.admin-mode .store-nav button.is-active {
  border: 0;
  background: #dcefe9;
  color: #176861;
  box-shadow: none;
}

.admin-mode .store-nav button.is-active span {
  color: #176861;
}

.card-management-shortcut {
  min-height: 43px;
  margin-top: 20px;
  border: 0;
  border-radius: 9px;
  background: #fff7e8;
  color: #8d6a28;
  box-shadow: none;
  font-size: 14px;
}

.card-management-shortcut:hover,
.card-management-shortcut.is-active {
  border: 0;
  background: #f8ebcc;
  color: #7a5a20;
}

.admin-mode .admin-nav {
  display: flex;
  gap: 2px;
  margin: 0 0 18px;
  padding: 5px;
  border: 1px solid #dce9e5;
  border-radius: 12px;
  background: #ffffff;
  overflow-x: auto;
}

.admin-mode .admin-nav button {
  min-height: 39px;
  border: 0;
  border-radius: 8px;
  color: #6a807d;
  white-space: nowrap;
}

.admin-mode .admin-nav button.is-active {
  border: 0;
  background: #e2f2ed;
  color: #196e66;
  box-shadow: none;
}

.admin-mode .metric-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  overflow: visible;
  margin: 0 0 21px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.admin-mode .metric,
.admin-mode .metric:nth-child(n + 5) {
  display: block;
  min-height: 103px;
  padding: 16px 18px;
  border: 0;
  border-radius: 12px;
  background: #f1f8f6;
}

.admin-mode .metric:nth-child(2) { background: #f1f7fa; }
.admin-mode .metric:nth-child(3) { background: #fff7e7; }
.admin-mode .metric:nth-child(4) { background: #f3f8f2; }
.admin-mode .metric:nth-child(n + 5) { background: #f7faf8; }

.admin-mode .metric span {
  color: #68807b;
  font-size: 14px;
}

.admin-mode .metric b {
  margin-top: 10px;
  color: #205b5e;
  font-size: 31px;
}

.admin-mode .admin-actions {
  gap: 10px;
  margin-bottom: 18px;
}

.admin-mode .filter-controls select,
.admin-mode .filter-controls input,
.admin-mode .admin-actions > button {
  min-height: 39px;
  border-color: #d4e1dc;
  border-radius: 8px;
  background: #ffffff;
  color: #46625e;
}

.admin-mode .admin-actions > button:first-of-type {
  border-color: #218a80;
  background: #218a80;
  color: #ffffff;
}

.admin-mode .date-quick-nav button,
.admin-mode .admin-actions > button:not(:first-of-type) {
  box-shadow: none;
}

.admin-mode .date-quick-nav button.is-today {
  border-color: #a9d4ca;
  background: #eaf6f2;
  color: #187369;
}

.admin-mode .record-summary {
  margin: 0;
  padding: 17px 18px;
  border: 1px solid #dce9e5;
  border-left: 4px solid #4cb2a5;
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  background: #ffffff;
}

.admin-mode .record-summary strong { color: #2e4b4b; }
.admin-mode .record-summary span { color: #6a817d; }

.admin-mode .record-table-wrap {
  border-color: #dce9e5;
  border-radius: 0 0 12px 12px;
  background: #ffffff;
}

.admin-mode .record-table th {
  border-bottom-color: #dce9e5;
  background: #f3f8f6;
  color: #52726c;
  font-size: 13px;
}

.admin-mode .record-table td {
  border-bottom-color: #e7efec;
  color: #314c4e;
}

.admin-mode .record-table tr:hover td { background: #f8fbfa; }

.admin-mode .record-table .record-store { color: #1b7b72; }
.admin-mode .pill.done { background: #e5f4ef; color: #20786e; }
.admin-mode .pill.pending { background: #fff2d7; color: #9c701f; }
.admin-mode .pill.neutral { background: #eef4f4; color: #5b7777; }

.admin-mode .detail-button,
.admin-mode .table-action,
.admin-mode .vision-toggle,
.admin-mode .phone-delete {
  border-color: #b9d7d0;
  background: #ffffff;
  color: #287c74;
  box-shadow: none;
}

/* 员工协助预约：只在员工从后台打开已建档家长时出现，不改变家长公开预约入口。 */
.staff-assist-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1180px;margin:18px auto 0;padding:14px 18px;border:1px solid #b9dcd8;border-radius:12px;background:#edf8f6;color:#315a62}.staff-assist-bar>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.staff-assist-bar span{color:#27837d;font-size:12px;font-weight:800}.staff-assist-bar strong{color:#294d56;font-size:15px}.staff-assist-bar em{color:#71888e;font-size:12px;font-style:normal}.staff-assist-bar button{flex:none;border:1px solid #9ecdc8;border-radius:8px;background:#fff;color:#26766f;padding:9px 12px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.staff-assist-action{color:#277c77!important}.staff-assist-action:hover{background:#eaf7f5!important}@media(max-width:720px){.staff-assist-bar{align-items:flex-start;flex-direction:column;margin:12px 14px 0}.staff-assist-bar button{width:100%}}

.admin-mode .phone-delete {
  border-color: #e7d9b9;
  background: #fffaf0;
  color: #9a742e;
}

.admin-mode .vision-toggle.is-pending {
  border-color: #9fcfc5;
  background: #edf8f4;
  color: #23746c;
}

.admin-mode .toast {
  background: #ffffff;
  color: #2b5554;
  box-shadow: 0 12px 28px rgba(31, 83, 78, .15);
}

@media (max-width: 980px) {
  .admin-mode main { padding: 0 18px 32px; }
  .admin-mode .admin-session-bar { margin: 0 -18px; padding: 0 18px; }
  .admin-mode .store-sidebar { position: static; width: auto; min-height: 0; padding: 15px 18px; border: 0; border-bottom: 1px solid #dce9e5; }
  .store-brand { margin: 0 0 13px; }
  .admin-mode .store-nav { display: flex; gap: 6px; overflow-x: auto; }
  .admin-mode .store-nav button { flex: 0 0 auto; }
  .admin-mode .metric-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .admin-mode main { padding: 0 12px 25px; }
  .admin-mode .admin-session-bar { margin: 0 -12px; padding: 0 12px; }
  .admin-mode .metric-row { grid-template-columns: 1fr 1fr; gap: 8px; }
  .admin-mode .metric { min-height: 88px; padding: 13px; }
  .admin-mode .metric b { font-size: 27px; }
}
