/*
 * Admin communications, access, and observability quality pass.
 * Presentation only: existing element ids, event handlers, and API contracts
 * remain untouched.
 */

html[data-admin-premium-shell-ready="1"] .admin-main :where(
  button,
  .btn,
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea
) {
  min-height: 44px;
}

html[data-admin-premium-shell-ready="1"] .admin-main :where(
  button,
  .btn,
  input,
  select,
  textarea,
  [role="button"]
):focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.24);
  outline-offset: 2px;
}

/* Mail preview: preserve the three workflow groups without compressing fields. */
html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-hero {
  display: grid;
  grid-template-columns: minmax(230px, 0.72fr) minmax(0, 2.28fr);
  align-items: start;
  gap: 18px 28px;
  padding: 24px;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-hero > :first-child {
  grid-row: 1 / 3;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toolbar {
  min-width: 0;
  gap: 10px;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toolbar + .preview-toolbar {
  padding-top: 16px;
  border-top: 1px solid var(--premium-line, #e4e7ec);
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toolbar .field.compact {
  flex: 1 1 190px;
  min-width: 180px;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toggle {
  min-height: 44px;
  padding: 9px 12px;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toggle input {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  accent-color: #111827;
}

/* Mail settings: generous desktop density and semantic mobile cards. */
html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-help {
  max-width: 880px;
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.65;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-card {
  padding: 22px;
  border-color: var(--premium-line, #e4e7ec);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-title {
  font-size: 19px;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-desc,
html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-status {
  font-size: 14px;
  line-height: 1.55;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table {
  font-size: 14px;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table :where(th, td) {
  padding: 12px 14px;
}

/* Access management: one calm action hierarchy and full-size hit areas. */
html[data-admin-premium-shell-ready="1"] .role-card {
  border: 1px solid var(--premium-line, #e4e7ec);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

html[data-admin-premium-shell-ready="1"] .role-row :where(input, select),
html[data-admin-premium-shell-ready="1"] .role-actions .btn {
  min-height: 44px;
}

html[data-admin-premium-shell-ready="1"] .role-flag {
  min-height: 44px;
  padding: 9px 14px;
}

html[data-admin-premium-shell-ready="1"] .role-flag input {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  accent-color: #111827;
}

/* Audit logs: make the empty/read-only state feel intentional. */
html[data-admin-premium-shell-ready="1"] [data-admin-page="audit-logs"] > .bar:first-of-type {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(240px, 1.15fr) minmax(240px, 1.15fr) auto auto;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="audit-logs"] > .bar:first-of-type #statusText {
  grid-column: 1 / -1;
  min-height: 24px;
  padding: 3px 2px;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="audit-logs"] .card {
  padding: 12px;
  border-color: var(--premium-line, #e4e7ec);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="audit-logs"] .audit-table-scroll {
  border: 1px solid var(--premium-line, #e4e7ec);
  border-radius: 14px;
  background: #fff;
}

html[data-admin-premium-shell-ready="1"] [data-admin-page="audit-logs"] table {
  margin: 0;
}

/* KV monitoring: retain diagnostic detail but reduce avoidable mobile length. */
html[data-admin-premium-shell-ready="1"] .kv-monitoring-view :where(
  .kv-field select,
  .kv-actions .btn,
  .kv-segment-btn
) {
  min-height: 44px;
}

html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-toggle {
  min-height: 44px;
  padding: 8px 2px;
}

html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-toggle input:focus-visible + .kv-toggle-ui {
  outline: 3px solid rgba(37, 99, 235, 0.24);
  outline-offset: 3px;
}

/* Login follows the approved ink-and-parchment admin shell, not the old orange CTA. */
body:has(.login-shell) {
  color: #182334;
  background:
    radial-gradient(circle at 50% 3%, rgba(184, 139, 66, 0.11), transparent 28rem),
    linear-gradient(180deg, #f7f7f5 0%, #eef1f4 100%);
}

body:has(.login-shell)::before {
  width: min(62vh, 560px);
  height: min(62vh, 560px);
  background: #b88b42;
  opacity: 0.035;
}

.login-shell .login-card {
  width: min(480px, 100%);
  border: 1px solid #dfe4ea;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 28px 70px rgba(15, 29, 44, 0.12);
}

.login-shell .login-brand__logo {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  border-color: rgba(184, 139, 66, 0.32);
  background: #faf9f5;
  box-shadow: 0 14px 30px rgba(15, 29, 44, 0.09);
}

.login-shell .login-head::before,
.login-shell .login-label {
  color: #9a712f;
}

.login-shell .login-title {
  color: #111c2c;
  font-family: inherit;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.login-shell .login-sub {
  color: #687386;
  font-family: inherit;
  font-size: 15px;
  font-style: normal;
}

.login-shell .login-btn {
  min-height: 50px;
  border-color: #111c2c;
  background: #111c2c;
  color: #fff;
  box-shadow: 0 12px 24px rgba(15, 29, 44, 0.16);
}

.login-shell .login-btn:hover {
  filter: none;
  background: #1a2a3d;
  box-shadow: 0 16px 30px rgba(15, 29, 44, 0.2);
}

.login-shell .login-btn.secondary {
  border-color: #d9dee6;
  background: #f7f8fa;
  color: #667085;
}

.login-shell :where(.login-btn, .lang-btn, .login-link):focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.24);
  outline-offset: 2px;
}

.login-shell .login-hint {
  border-top-color: #e3e7ec;
  color: #687386;
}

.login-shell .login-policy {
  border-color: #e3e7ec;
  background: #f7f8fa;
  color: #687386;
}

.login-shell .login-policy p + p {
  color: #344054;
}

.login-shell .login-lang {
  border-color: #dfe4ea;
  background: #f1f3f5;
}

.login-shell .lang-btn {
  min-height: 40px;
  color: #687386;
  font-family: inherit;
}

@media (max-width: 560px) {
  .login-shell .lang-btn {
    min-height: 44px !important;
  }
}

.login-shell .lang-btn.is-active {
  color: #111c2c;
  background: #fff;
  box-shadow: 0 3px 10px rgba(15, 29, 44, 0.08);
}

.login-shell .login-foot {
  color: #687386;
  font-family: inherit;
}

@media (max-width: 980px) {
  html[data-admin-premium-shell-ready="1"] body.admin-shell-applied .admin-main [data-admin-page="mail-settings"] :where(
    button,
    .btn,
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea
  ),
  html[data-admin-premium-shell-ready="1"] body.admin-shell-applied .admin-main .role-card :where(
    button,
    .btn,
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea
  ),
  html[data-admin-premium-shell-ready="1"] body.admin-shell-applied .admin-main [data-admin-page="audit-logs"] :where(
    button,
    .btn,
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea
  ),
  html[data-admin-premium-shell-ready="1"] body.kv-monitoring-view.admin-shell-applied .admin-main :where(
    button,
    .btn,
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    select,
    textarea
  ) {
    min-height: 44px !important;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 18px;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-hero > :first-child {
    grid-row: auto;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toolbar .field.compact {
    flex-basis: calc(50% - 5px);
    min-width: 0;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="audit-logs"] > .bar:first-of-type {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="audit-logs"] > .bar:first-of-type :where(select, input) {
    grid-column: 1 / -1;
  }

  html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-kpi {
    min-height: 108px;
    padding: 15px;
  }

  html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-kpi-value {
    margin-top: 8px;
    font-size: clamp(24px, 7vw, 29px);
  }

  html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-kpi-sub {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.35;
  }

  html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-panel {
    padding: 15px;
  }
}

@media (max-width: 640px) {
  html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toolbar .field.compact {
    grid-column: 1 / -1;
    width: 100%;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toolbar > .preview-toggle {
    grid-column: 1 / -1;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="consult-customer-mail-preview"] .preview-toolbar > .btn:only-of-type {
    grid-column: 1 / -1;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-card {
    padding: 16px;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table,
  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table tbody,
  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table tr,
  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table thead {
    display: none;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table tbody {
    display: grid;
    gap: 10px;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table tr {
    padding: 11px 13px;
    border: 1px solid var(--premium-line, #e4e7ec);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035);
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table td {
    position: static;
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 10px;
    padding: 6px 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    line-height: 1.45;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table td::before {
    color: #7a8494;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.05em;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table td:nth-child(1)::before { content: "流程"; }
  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table td:nth-child(2)::before { content: "flow key"; }
  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table td:nth-child(3)::before { content: "收件群組"; }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="mail-settings"] .mail-settings-table code {
    font-size: 12px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  html[data-admin-premium-shell-ready="1"] .role-card {
    padding: 18px;
  }

  html[data-admin-premium-shell-ready="1"] .role-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  html[data-admin-premium-shell-ready="1"] .role-actions .btn {
    width: 100%;
    min-width: 0;
  }

  html[data-admin-premium-shell-ready="1"] .role-actions .btn.danger {
    grid-column: 1 / -1;
    max-width: 50%;
  }

  html[data-admin-premium-shell-ready="1"] [data-admin-page="audit-logs"] .audit-table-scroll::after {
    content: "左右滑動查看完整欄位";
    position: sticky;
    left: 12px;
    display: inline-flex;
    margin: 10px 12px 8px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef2f6;
    color: #657184;
    font-size: 11px;
    font-weight: 700;
    pointer-events: none;
  }

  html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-hero,
  html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-panel {
    border-radius: 16px;
  }

  html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-segment {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  html[data-admin-premium-shell-ready="1"] .kv-monitoring-view .kv-segment-btn {
    width: 100%;
    padding-inline: 8px;
  }

  .login-shell .login-card {
    padding: 28px 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .login-shell .login-btn,
  html[data-admin-premium-shell-ready="1"] .admin-main * {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
