@charset "UTF-8";

/* Visual adaptation of the supplied ThinkAdmin/Layui templates.
   All selectors are scoped to the administration surface. */
body.admin-mode {
  --ink: #333;
  --muted: #999;
  --primary: #009688;
  --primary-dark: #008577;
  --mint: #e7f5f2;
  --bg: #f2f2f2;
  --line: #e6e6e6;
  --radius: 2px;
  --shadow: 0 2px 3px rgb(0 0 0 / 10%);
  margin: 0;
  background: #f2f2f2;
  color: #333;
  font: 12px/1.6 "Microsoft YaHei", "Helvetica Neue", "PingFang SC", Arial, sans-serif;
}
body.admin-mode ::selection { color: #fff; background: #ec494e; }
body.admin-mode * { scrollbar-width: thin; scrollbar-color: #aaa #eee; }
body.admin-mode *::-webkit-scrollbar { width: 6px; height: 11px; }
body.admin-mode *::-webkit-scrollbar-track { background: #eee; }
body.admin-mode *::-webkit-scrollbar-thumb { background: #aaa; border: 2px solid #eee; }
body.admin-mode a { text-decoration: none; }
body.admin-mode button,
body.admin-mode input,
body.admin-mode select,
body.admin-mode textarea { font-family: inherit; }
body.admin-mode button:focus-visible,
body.admin-mode a:focus-visible { outline: 2px solid #009688; outline-offset: 2px; }

/* The administration view remains a desktop workspace at narrow widths. */
body.admin-mode .admin-layout { min-width: 1000px; min-height: 100vh; }
body.admin-mode .admin-workspace {
  width: auto;
  min-width: 800px;
  min-height: 100vh;
  margin: 0 0 0 200px;
  padding-top: 50px;
  background: #f2f2f2;
}
body.admin-mode .admin-topbar {
  position: fixed;
  z-index: 60;
  inset: 0 0 auto;
  width: 100%;
  min-width: 1000px;
  height: 50px;
  min-height: 50px;
  padding: 0 0 0 200px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
  border: 0;
  background: #393d49;
  color: #fff;
  box-shadow: none;
}
body.admin-mode .legacy-admin-logo {
  position: absolute;
  inset: 0 auto 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 50px;
  padding: 0 12px;
  border-right: 1px solid rgb(0 0 0 / 15%);
  border-bottom: 1px solid rgb(0 0 0 / 15%);
  overflow: hidden;
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body.admin-mode .legacy-admin-logo sup { margin-left: 5px; font-size: 9px; }
body.admin-mode .admin-topbar > .row-inline { gap: 0; flex-wrap: nowrap; align-items: stretch; }
body.admin-mode .admin-menu-toggle {
  display: grid;
  width: 50px;
  min-width: 50px;
  height: 50px;
  min-height: 50px;
  padding: 0;
  border: 0;
  border-right: 1px solid rgb(0 0 0 / 15%);
  border-radius: 0;
  color: #fff;
  background: transparent;
}
body.admin-mode .admin-menu-toggle:hover { background: #30343f; }
body.admin-mode .admin-menu-toggle svg { width: 18px; height: 18px; }
body.admin-mode .legacy-admin-menus { display: flex; align-items: stretch; min-width: 0; }
body.admin-mode .legacy-admin-menus a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 50px;
  padding: 0 17px;
  color: #fff;
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
}
body.admin-mode .legacy-admin-menus a:hover { background: rgb(0 0 0 / 12%); }
body.admin-mode .legacy-admin-menus a.active { background: #009688; }
body.admin-mode .legacy-admin-menus svg { width: 15px; height: 15px; }
body.admin-mode .admin-topbar .breadcrumb {
  display: flex;
  align-items: center;
  padding: 0 18px;
  color: #d8d9df;
  font-size: 12px;
  white-space: nowrap;
}
body.admin-mode .admin-topbar .breadcrumb b { display: inline; margin-left: 8px; color: #fff; font-weight: 400; }
body.admin-mode .admin-topbar .topbar-right { height: 50px; gap: 0; flex-shrink: 0; }
body.admin-mode .admin-topbar .topbar-right > a,
body.admin-mode .admin-topbar .topbar-right > button,
body.admin-mode .legacy-admin-time {
  height: 50px;
  min-height: 50px;
  min-width: 46px;
  padding: 0 15px;
  border: 0;
  border-left: 1px solid rgb(0 0 0 / 15%);
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 12px;
}
body.admin-mode .admin-topbar .topbar-right > a { display: inline-flex; align-items: center; gap: 6px; }
body.admin-mode .admin-topbar .topbar-right > a:hover,
body.admin-mode .admin-topbar .topbar-right > button:hover { background: #30343f; }
body.admin-mode .legacy-admin-time { display: flex; flex-direction: column; justify-content: center; align-items: center; line-height: 22px; }
body.admin-mode .legacy-admin-time small { display: block; color: #fff; font-size: 11px; }
body.admin-mode .legacy-admin-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  margin-top: -14px;
  border-radius: 50%;
  background: #ff5722;
  color: #fff;
  font-size: 10px;
}
body.admin-mode .admin-topbar .profile-mini { padding: 0 15px; gap: 7px; }
body.admin-mode .admin-topbar .profile-mini .avatar { display: none; }
body.admin-mode .admin-topbar .profile-mini > div:last-child { display: block; }
body.admin-mode .admin-topbar .profile-mini strong { max-width: 120px; color: #fff; font-size: 12px; font-weight: 400; }
body.admin-mode .admin-topbar .profile-mini small,
body.admin-mode .admin-role-label { display: none; }

/* Fixed dark navigation, 200 px wide; groups mirror the supplied menu. */
body.admin-mode .admin-sidebar {
  position: fixed;
  z-index: 50;
  inset: 50px auto 0 0;
  display: flex;
  width: 200px;
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: #282b33;
  color: #fff;
  box-shadow: none;
  transform: none;
  transition: width .15s ease;
}
body.admin-mode .admin-sidebar > a,
body.admin-mode .admin-workspace-label { display: none; }
body.admin-mode .admin-sidebar > nav { flex: 1; min-height: 0; margin: 0; padding: 0; overflow-y: auto; overflow-x: hidden; }
body.admin-mode .admin-sidebar * { scrollbar-color: #535762 #282b33; }
body.admin-mode .admin-sidebar *::-webkit-scrollbar { width: 4px; }
body.admin-mode .admin-sidebar *::-webkit-scrollbar-track { background: #282b33; }
body.admin-mode .admin-sidebar *::-webkit-scrollbar-thumb { background: #535762; border: 0; }
body.admin-mode .admin-group { margin: 0; padding: 0; border-bottom: 1px solid rgb(0 0 0 / 20%); }
body.admin-mode .admin-group .nav-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 45px;
  margin: 0;
  padding: 0 20px;
  color: #fff;
  background: #393d49;
  font-size: 13px;
  line-height: 45px;
  font-weight: 400;
  letter-spacing: 0;
}
body.admin-mode .admin-group .nav-caption::after { content: ""; width: 6px; height: 6px; margin-top: -4px; border-right: 1px solid #bbc0ca; border-bottom: 1px solid #bbc0ca; transform: rotate(45deg); }
body.admin-mode .admin-sidebar .nav { display: block; margin: 0; padding: 0; }
body.admin-mode .admin-sidebar .nav a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 45px;
  height: 45px;
  margin: 0;
  padding: 0 20px 0 25px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ddd;
  font-size: 12px;
  font-weight: 400;
  line-height: 45px;
  white-space: nowrap;
}
body.admin-mode .admin-sidebar .nav a:hover { background: #343841; color: #fff; }
body.admin-mode .admin-sidebar .nav a.active { background: #009688; color: #fff; font-weight: 400; }
body.admin-mode .admin-sidebar .nav a.active::after { content: none; }
body.admin-mode .admin-sidebar .nav svg { width: 15px; height: 15px; color: inherit; }
body.admin-mode .admin-sidebar-footer { margin: 0; padding: 0; border-top: 1px solid #3d414b; background: #282b33; }
body.admin-mode .admin-sidebar-footer .btn { justify-content: flex-start; width: 100%; min-height: 45px; padding: 0 24px; border: 0; border-radius: 0; color: #ddd; background: transparent; font-size: 12px; }
body.admin-mode .admin-sidebar-footer .btn:hover { color: #fff; background: #393d49; }
body.admin-mode .admin-sidebar-footer p { display: none; }
body.admin-mode .admin-sidebar-mask,
body.admin-mode .admin-layout.sidebar-open .admin-sidebar-mask { display: none; }
body.admin-mode .admin-layout.sidebar-open .admin-sidebar { width: 50px; transform: none; }
body.admin-mode .admin-layout.sidebar-open .admin-workspace { margin-left: 50px; }
body.admin-mode .admin-layout.sidebar-open .admin-sidebar .nav a { justify-content: center; padding: 0; }
body.admin-mode .admin-layout.sidebar-open .admin-sidebar .nav a span,
body.admin-mode .admin-layout.sidebar-open .admin-sidebar-footer { display: none; }
body.admin-mode .admin-layout.sidebar-open .admin-group .nav-caption { justify-content: center; height: 28px; padding: 0; overflow: hidden; font-size: 0; }

/* Optional section tabs and the standard white card-title strip. */
body.admin-mode .legacy-admin-tabs {
  display: flex;
  align-items: stretch;
  gap: 0;
  min-height: 40px;
  margin: 0;
  padding: 0 15px;
  overflow-x: auto;
  border-bottom: 1px solid #e6e6e6;
  background: #fff;
  white-space: nowrap;
}
body.admin-mode .legacy-admin-tabs a { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 20px; color: #666; border-left: 1px solid transparent; border-right: 1px solid transparent; font-size: 12px; }
body.admin-mode .legacy-admin-tabs a:hover { color: #009688; background: #f8f8f8; }
body.admin-mode .legacy-admin-tabs a.active { color: #333; border-color: #e6e6e6; background: #f2f2f2; box-shadow: inset 0 2px #009688; }
body.admin-mode .legacy-admin-tabs svg { width: 13px; height: 13px; }
body.admin-mode .admin-page { max-width: none; margin: 0; padding: 15px 15px 30px; background: #f2f2f2; }
body.admin-mode .admin-page > .page-heading {
  display: flex;
  align-items: center;
  min-height: 50px;
  margin: -15px -15px 15px;
  padding: 0 20px;
  border: 0;
  background: #fff;
  box-shadow: 0 2px 3px rgb(0 0 0 / 10%);
}
body.admin-mode .admin-page .page-heading h1 { color: #333; font-size: 14px; font-weight: 400; line-height: 50px; letter-spacing: 0; }
body.admin-mode .admin-page .page-heading h1::before { content: "›"; display: inline-block; margin-right: 9px; color: #999; font-size: 15px; }
body.admin-mode .admin-page .page-heading .eyebrow,
body.admin-mode .admin-page .page-heading p { display: none; }
body.admin-mode .admin-page .section-title { min-height: 38px; margin: 0; padding: 8px 15px; border-bottom: 1px solid #f0f0f0; background: #fff; }
body.admin-mode .admin-page .section-title h2 { color: #333; font-size: 14px; font-weight: 400; }
body.admin-mode .admin-page .panel { padding: 20px; border: 0; border-radius: 2px; box-shadow: 0 2px 3px rgb(0 0 0 / 10%); }

/* Compact search form, table and pagination from the original console. */
body.admin-mode .admin-filter-panel { align-items: center; gap: 10px; margin: 0 0 15px; padding: 15px; border: 0; border-radius: 2px; background: #fff; box-shadow: 0 2px 3px rgb(0 0 0 / 10%); }
body.admin-mode .admin-filter-main { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; width: auto; min-width: 0; }
body.admin-mode .admin-filter-panel .search-input { display: inline-flex; width: 220px; max-width: none; min-height: 32px; height: 32px; padding: 0 8px; border: 1px solid #e6e6e6; border-radius: 2px; background: #fff; }
body.admin-mode .admin-filter-panel .search-input input { width: 100%; min-width: 0; min-height: 30px; height: 30px; padding: 0; color: #333; font-size: 12px; }
body.admin-mode .admin-filter-panel .search-input svg { width: 14px; height: 14px; color: #999; }
body.admin-mode .admin-filter-panel select,
body.admin-mode .admin-filter-panel .filter-date input { width: auto; min-width: 108px; min-height: 32px; height: 32px; padding: 0 8px; border: 1px solid #e6e6e6; border-radius: 2px; background: #fff; color: #333; font-size: 12px; }
body.admin-mode .admin-filter-panel .filter-date { display: flex; flex-direction: row; align-items: center; gap: 0; }
body.admin-mode .admin-filter-panel .filter-date span { height: 32px; padding: 0 8px; border: 1px solid #e6e6e6; border-right: 0; background: #fbfbfb; color: #666; font-size: 12px; line-height: 30px; white-space: nowrap; }
body.admin-mode .admin-filter-panel .filter-date input { width: 142px; }
body.admin-mode .admin-filter-panel > .btn { width: auto; }
body.admin-mode .admin-page .toolbar { align-items: center; gap: 10px; min-height: 45px; margin: 0; padding: 8px 15px; border: 1px solid #e6e6e6; border-bottom: 0; border-radius: 2px 2px 0 0; background: #fff; }
body.admin-mode .admin-page .toolbar > .muted { color: #999; font-size: 12px; }
body.admin-mode .admin-page .table-wrap { display: block; overflow: auto; width: 100%; border: 1px solid #e6e6e6; border-radius: 0; background: #fff; box-shadow: none; }
body.admin-mode .admin-page .table-wrap table { display: table; width: 100%; border-collapse: collapse; background: #fff; font-size: 12px; white-space: nowrap; }
body.admin-mode .admin-page .table-wrap thead { display: table-header-group; }
body.admin-mode .admin-page .table-wrap tbody { display: table-row-group; }
body.admin-mode .admin-page .table-wrap tr { display: table-row; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
body.admin-mode .admin-page .table-wrap th,
body.admin-mode .admin-page .table-wrap td { display: table-cell; width: auto; max-width: none; min-width: 0; margin: 0; padding: 9px 15px; border: 0; border-bottom: 1px solid #e6e6e6; color: #333; font-size: 12px; line-height: 20px; text-align: left; vertical-align: middle; }
body.admin-mode .admin-page .table-wrap th { height: 38px; background: #f2f2f2; color: #666; font-weight: 400; }
body.admin-mode .admin-page .table-wrap td { height: 42px; white-space: nowrap !important; }
body.admin-mode .admin-page .table-wrap td::before { display: none; content: none; }
body.admin-mode .admin-page .table-wrap td:first-child,
body.admin-mode .admin-page .table-wrap td:last-child { padding: 9px 15px; }
body.admin-mode .admin-page .table-wrap tr:last-child td { border-bottom: 0; }
body.admin-mode .admin-page .table-wrap tbody tr:hover { background: #f8f8f8; }
body.admin-mode .admin-page .table-wrap td strong { color: #333; font-size: 12px; font-weight: 400; }
body.admin-mode .admin-page .table-wrap td small { display: block; margin-top: 1px; color: #999; font-size: 11px; line-height: 19px; }
body.admin-mode .admin-page .table-wrap .content-wrap { min-width: 160px; max-width: 320px; white-space: normal !important; overflow-wrap: anywhere; }
body.admin-mode .admin-page .table-wrap .actions { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
body.admin-mode .admin-page .table-wrap .cell-content { min-width: 0; }
body.admin-mode .admin-page .pagination { align-items: center; margin: 0; padding: 12px 15px; border: 1px solid #e6e6e6; border-top: 0; background: #fff; color: #666; font-size: 12px; }
body.admin-mode .admin-page .pagination .row-inline { margin: 0; gap: 5px; }

/* Layui-like button, status, form and dialog treatment. */
body.admin-mode .btn { min-height: 32px; height: 32px; padding: 0 12px; border: 1px solid #009688; border-radius: 2px; background: #009688; color: #fff; font-size: 12px; font-weight: 400; line-height: 30px; box-shadow: none; }
body.admin-mode .btn:hover { border-color: #18a093; background: #18a093; color: #fff; }
body.admin-mode .btn.secondary { border-color: #c9c9c9; background: #fff; color: #555; }
body.admin-mode .btn.secondary:hover { border-color: #009688; color: #009688; background: #fff; }
body.admin-mode .btn.soft { border-color: #1e9fff; background: #1e9fff; color: #fff; }
body.admin-mode .btn.soft:hover { border-color: #3aabff; background: #3aabff; }
body.admin-mode .btn.danger { border-color: #ff5722; background: #ff5722; color: #fff; }
body.admin-mode .btn.danger:hover { border-color: #ff7144; background: #ff7144; }
body.admin-mode .btn.small,
body.admin-mode .admin-page .table-wrap .actions .btn { min-height: 24px; height: 24px; padding: 0 7px; border-radius: 2px; font-size: 12px; line-height: 22px; }
body.admin-mode .btn svg { width: 13px; height: 13px; }
body.admin-mode .btn:disabled { opacity: .5; cursor: not-allowed; }
body.admin-mode .badge,
body.admin-mode .admin-page .badge { min-height: 20px; padding: 0 6px; border: 0; border-radius: 2px; background: #eeeeee; color: #666; font-size: 12px; line-height: 20px; }
body.admin-mode .badge.active,
body.admin-mode .badge.approved,
body.admin-mode .badge.completed,
body.admin-mode .badge.answered { background: #009688; color: #fff; }
body.admin-mode .badge.pending { background: #ffb800; color: #fff; }
body.admin-mode .badge.submitted,
body.admin-mode .badge.open { background: #1e9fff; color: #fff; }
body.admin-mode .badge.disabled,
body.admin-mode .badge.inactive,
body.admin-mode .badge.cancelled,
body.admin-mode .badge.rejected { background: #ff5722; color: #fff; }
body.admin-mode .callout { margin: 0 0 15px; padding: 10px 15px; border: 0; border-left: 5px solid #009688; border-radius: 0; background: #fff; color: #666; font-size: 12px; line-height: 1.8; }
body.admin-mode .callout.warning { border-left-color: #ffb800; background: #fff; color: #666; }
body.admin-mode .callout svg { width: 15px; height: 15px; }
body.admin-mode .field { gap: 6px; }
body.admin-mode .field > label { color: #333; font-size: 12px; font-weight: 400; }
body.admin-mode .field input,
body.admin-mode .field select,
body.admin-mode .field textarea { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #e6e6e6; border-radius: 2px; background: #fff; color: #333; font-size: 12px; line-height: 20px; box-shadow: none; }
body.admin-mode .field input:focus,
body.admin-mode .field select:focus,
body.admin-mode .field textarea:focus { border-color: #c9c9c9; outline: 0; box-shadow: none; }
body.admin-mode .field input::placeholder,
body.admin-mode .field textarea::placeholder { color: #aaa; }
body.admin-mode .field input[readonly] { background: #fafafa; }
body.admin-mode .field textarea { min-height: 90px; line-height: 1.7; resize: vertical; }
body.admin-mode .field .hint { color: #999; font-size: 12px; line-height: 1.6; }
body.admin-mode .form-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
body.admin-mode .settings-form { width: 100%; max-width: 880px; padding: 20px; border-radius: 2px; background: #fff; }
body.admin-mode .settings-form .form-grid { gap: 20px; }
body.admin-mode .form-footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
body.admin-mode .form-footer .btn { flex: none; min-height: 32px; height: 32px; font-size: 12px; }
body.admin-mode .form-error { padding: 8px 12px; border-radius: 2px; background: #fff2ee; color: #ff5722; font-size: 12px; }
body.admin-mode .permission-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
body.admin-mode .checkbox-item { min-height: 36px; padding: 7px 10px; border: 1px solid #e6e6e6; border-radius: 2px; color: #333; font-size: 12px; }
body.admin-mode .checkbox-item:hover { background: #f8f8f8; }
body.admin-mode .checkbox-item input { width: 16px !important; min-height: 16px !important; height: 16px !important; accent-color: #009688; }
body.admin-mode .modal-backdrop { align-items: center; justify-content: center; padding: 20px; background: rgb(0 0 0 / 30%); backdrop-filter: none; }
body.admin-mode .modal { width: 560px; max-width: calc(100vw - 40px); max-height: 90vh; padding: 0 20px 20px; border: 0; border-radius: 2px; background: #fff; box-shadow: 1px 1px 50px rgb(0 0 0 / 30%); }
body.admin-mode .modal.wide { width: 760px; max-width: min(760px, calc(100vw - 40px)); }
body.admin-mode .modal::before { display: none; }
body.admin-mode .modal-header { align-items: center; min-height: 43px; margin: 0 -20px 20px; padding: 0 15px 0 20px; border-bottom: 1px solid #eee; border-radius: 2px 2px 0 0; background: #f8f8f8; }
body.admin-mode .modal-header h2 { color: #333; font-size: 14px; font-weight: 400; line-height: 42px; }
body.admin-mode .modal-header .icon-button { width: 26px; min-width: 26px; height: 26px; min-height: 26px; padding: 0; border: 0; border-radius: 0; color: #777; background: transparent; }
body.admin-mode .modal-header .icon-button:hover { color: #333; }
body.admin-mode .modal-header .icon-button svg { width: 18px; height: 18px; }
body.admin-mode .modal-copy { color: #666; font-size: 12px; line-height: 1.8; }
body.admin-mode .detail-grid { gap: 12px; padding: 12px; border: 1px solid #e6e6e6; border-radius: 2px; background: #fafafa; }
body.admin-mode .detail-grid div span { color: #999; font-size: 12px; }
body.admin-mode .detail-grid div strong { color: #333; font-size: 13px; font-weight: 400; }
body.admin-mode .image-editor-preview { border: 1px solid #e6e6e6; border-radius: 2px; background: #fafafa; }
body.admin-mode .toast { border-radius: 2px; background: #333; color: #fff; font-size: 12px; }
body.admin-mode .empty { margin: 0; padding: 28px 20px; border: 1px solid #e6e6e6; border-radius: 2px; background: #fff; color: #999; }
body.admin-mode .empty h3 { color: #666; font-size: 13px; font-weight: 400; }
body.admin-mode .empty p { color: #999; font-size: 12px; }
body.admin-mode .empty-icon { width: 38px; height: 38px; border-radius: 2px; background: #f2f2f2; color: #aaa; }

/* The original overview uses saturated rectangular gradient counters. */
body.admin-mode .admin-page .admin-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin: 0 0 20px; padding: 15px; background: #fff; box-shadow: 0 2px 3px rgb(0 0 0 / 10%); }
body.admin-mode .admin-page .stat-card { position: relative; min-height: 145px; padding: 15px 25px; border: 0; border-radius: 0; overflow: hidden; background: linear-gradient(-125deg, #57bdbf, #2f9de2); color: #fff; }
body.admin-mode .admin-page .stat-card:nth-child(2) { background: linear-gradient(-125deg, #ff7d7d, #fb2c95); }
body.admin-mode .admin-page .stat-card:nth-child(3) { background: linear-gradient(-141deg, #ecca1b, #f39526); }
body.admin-mode .admin-page .stat-card:nth-child(4) { background: linear-gradient(-141deg, #ec4b1b, #f39526); }
body.admin-mode .admin-page .stat-card:nth-child(5) { background: linear-gradient(-113deg, #c543d8, #925cc3); }
body.admin-mode .admin-page .stat-card:nth-child(6) { background: linear-gradient(-113deg, #8e8cb3, #2219d0); }
body.admin-mode .admin-page .stat-card:nth-child(7) { background: linear-gradient(-141deg, #963064, #8a0920); }
body.admin-mode .admin-page .stat-top { position: relative; z-index: 1; margin: 0 0 8px; color: #fff; font-size: 14px; line-height: 2em; letter-spacing: .5px; }
body.admin-mode .admin-page .stat-value { position: relative; z-index: 1; color: #fff; font-size: 26px; font-weight: 700; line-height: 36px; letter-spacing: 0; }
body.admin-mode .admin-page .stat-value small { font-size: 18px; }
body.admin-mode .admin-page .stat-foot { position: relative; z-index: 1; margin-top: 8px; color: rgb(255 255 255 / 86%); font-size: 11px; }
body.admin-mode .admin-page .stat-icon { position: absolute; top: 22px; right: -8px; z-index: -1; display: block; width: 60px; height: 60px; border-radius: 0; color: rgb(255 255 255 / 28%); background: transparent; }
body.admin-mode .admin-page .stat-icon svg { width: 60px; height: 60px; }
body.admin-mode .admin-page .stat-foot .positive { color: #fff; }

/* Original administration sign-in: city photograph and transparent inputs. */
body.admin-mode .auth-layout {
  position: relative;
  display: block;
  width: 100%;
  min-height: 650px;
  height: 100vh;
  margin: 0;
  overflow: auto;
  background: url("/assets/legacy/static/theme/img/login/bg1.jpg") no-repeat center center / cover;
}
body.admin-mode .auth-story { display: none; }
body.admin-mode .auth-main {
  position: relative;
  display: block;
  width: 100%;
  min-height: 650px;
  height: 100vh;
  padding: 0;
  border: 0;
  background: transparent;
}
body.admin-mode .auth-box,
body.admin-mode .admin-auth-box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300px;
  max-width: calc(100vw - 40px);
  margin: -250px 0 0 -150px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.admin-mode .auth-mobile-brand { position: fixed; top: 0; left: 40px; z-index: 1; display: block; margin: 0; }
body.admin-mode .auth-mobile-brand .brand { display: block; margin: 0; }
body.admin-mode .auth-mobile-brand .brand-symbol,
body.admin-mode .auth-mobile-brand .brand-text small { display: none; }
body.admin-mode .auth-mobile-brand .brand-text { color: #fff; font-size: 18px; font-weight: 400; line-height: 47px; letter-spacing: 1px; text-shadow: 1px 1px 1px #000; }
body.admin-mode .auth-box > .eyebrow,
body.admin-mode .auth-subtitle,
body.admin-mode .auth-tabs { display: none; }
body.admin-mode .auth-box h2 {
  margin: 0;
  padding: 20px 0;
  color: #fff;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 3px;
  text-shadow: 1px 1px 1px #000;
}
body.admin-mode .auth-form { display: flex; flex-direction: column; gap: 20px; width: 100%; margin-top: 20px; }
body.admin-mode .auth-form .field { position: relative; display: block; margin: 0; padding: 0; }
body.admin-mode .auth-form .field > label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip: rect(0, 0, 0, 0); overflow: hidden; white-space: nowrap; border: 0; }
body.admin-mode .auth-form .field::before { content: ""; position: absolute; z-index: 1; top: 13px; left: 18px; width: 19px; height: 19px; pointer-events: none; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E"); }
body.admin-mode .auth-form .field:nth-of-type(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='1'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3m-4 4v3'/%3E%3C/svg%3E"); }
body.admin-mode .auth-form .field input {
  display: block;
  width: 100%;
  min-height: 45px;
  height: 45px;
  padding: 0 15px 0 53px;
  border: 0;
  border-radius: 6px;
  background: rgb(0 0 0 / 12%);
  color: #fff;
  font-size: 14px;
  line-height: 45px;
  letter-spacing: 1px;
  text-shadow: 1px 1px 1px #000;
  -webkit-text-fill-color: #fff;
  box-shadow: inset 0 2px 3px rgb(0 0 0 / 30%);
}
body.admin-mode .auth-form .field input::placeholder { color: rgb(255 255 255 / 90%); -webkit-text-fill-color: rgb(255 255 255 / 90%); opacity: 1; }
body.admin-mode .auth-form .field input:focus { outline: 1px solid rgb(255 255 255 / 60%); outline-offset: 0; background: rgb(0 0 0 / 18%); box-shadow: inset 0 2px 3px rgb(0 0 0 / 30%); }
body.admin-mode .auth-form .field input:-webkit-autofill { -webkit-text-fill-color: #fff; transition: background-color 9999s ease-out; }
body.admin-mode .auth-form > .btn {
  width: 100%;
  min-height: 45px;
  height: 45px;
  margin-top: 20px;
  padding: 0 15px;
  border: 0;
  border-radius: 4px;
  background: #fff;
  color: #333;
  font-size: 14px;
  line-height: 45px;
  letter-spacing: 1px;
  box-shadow: inset 0 15px 30px rgb(255 255 255 / 25%), 0 2px 7px rgb(0 0 0 / 20%);
}
body.admin-mode .auth-form > .btn:hover { background: #f2f2f2; color: #333; }
body.admin-mode .auth-form > .btn svg { display: none; }
body.admin-mode .auth-error { margin: 0; padding: 8px 10px; border: 1px solid rgb(255 255 255 / 25%); border-radius: 4px; background: rgb(0 0 0 / 35%); color: #fff6a2; font-size: 12px; line-height: 1.8; }
body.admin-mode .auth-recover-link { margin-top: 13px; text-align: right; }
body.admin-mode .auth-recover-link .btn,
body.admin-mode .auth-back-link { min-height: 26px; height: auto; padding: 0; border: 0; background: transparent; color: #fff; font-size: 12px; line-height: 26px; text-shadow: 1px 1px 1px #000; }
body.admin-mode .auth-recover-link .btn:hover,
body.admin-mode .auth-back-link:hover { background: transparent; color: #eee; text-decoration: underline; }
body.admin-mode .auth-back-link { display: inline-block; margin-top: 5px; }
body.admin-mode .auth-footnote { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; padding: 8px 15px 12px; background: transparent; color: #fff; font-size: 12px; line-height: 24px; text-align: center; text-shadow: 1px 1px 1px #000; }
body.admin-mode .auth-footnote svg { display: none; }

@media (max-width: 360px) {
  body.admin-mode .auth-box,
  body.admin-mode .admin-auth-box { left: 20px; width: calc(100vw - 40px); max-width: none; margin-left: 0; }
  body.admin-mode .auth-mobile-brand { left: 20px; }
}

@media (max-width: 1250px) {
  body.admin-mode .legacy-admin-menus a { padding: 0 11px; font-size: 12px; }
  body.admin-mode .legacy-admin-time { display: none; }
  body.admin-mode .admin-topbar .topbar-right > a,
  body.admin-mode .admin-topbar .topbar-right > button { padding: 0 11px; }
}

@media print {
  body.admin-mode .admin-topbar,
  body.admin-mode .admin-sidebar,
  body.admin-mode .legacy-admin-tabs { display: none; }
  body.admin-mode .admin-layout,
  body.admin-mode .admin-workspace { min-width: 0; margin: 0; padding: 0; }
  body.admin-mode .admin-page { padding: 0; }
}
