:root {
  --site-dialog-ink: #19313a;
  --site-dialog-muted: #60727a;
  --site-dialog-paper: #f8faf9;
  --site-dialog-line: #c7d2d2;
  --site-dialog-info: #2b6f8a;
  --site-dialog-success: #2e7d63;
  --site-dialog-warning: #b77816;
  --site-dialog-danger: #b84d47;
}
.site-dialog { width: min(560px, calc(100vw - 32px)); max-height: min(760px, calc(100dvh - 32px)); margin: auto; padding: 0; border: 0; color: var(--site-dialog-ink); background: transparent; font-family: "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif; overflow: visible; }
.site-dialog::backdrop { background: rgba(15, 31, 38, 0.72); backdrop-filter: blur(2px); }
.site-dialog__panel { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: min(760px, calc(100dvh - 32px)); overflow: hidden; border: 1px solid rgba(25, 49, 58, 0.26); border-left: 8px solid var(--site-dialog-info); border-radius: 2px; background: linear-gradient(135deg, rgba(43, 111, 138, 0.07), transparent 42%), var(--site-dialog-paper); box-shadow: 0 28px 80px rgba(8, 25, 31, 0.35); }
.site-dialog[data-tone="success"] .site-dialog__panel { border-left-color: var(--site-dialog-success); }
.site-dialog[data-tone="warning"] .site-dialog__panel { border-left-color: var(--site-dialog-warning); }
.site-dialog[data-tone="danger"] .site-dialog__panel { border-left-color: var(--site-dialog-danger); }
.site-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 26px 28px 18px; border-bottom: 1px solid var(--site-dialog-line); }
.site-dialog__eyebrow { margin: 0 0 7px; color: var(--site-dialog-info); font-family: Bahnschrift, "Arial Narrow", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.site-dialog[data-tone="success"] .site-dialog__eyebrow { color: var(--site-dialog-success); }
.site-dialog[data-tone="warning"] .site-dialog__eyebrow { color: var(--site-dialog-warning); }
.site-dialog[data-tone="danger"] .site-dialog__eyebrow { color: var(--site-dialog-danger); }
.site-dialog__title { margin: 0; font-size: clamp(22px, 4vw, 28px); line-height: 1.25; letter-spacing: 0.01em; }
.site-dialog__close { flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid var(--site-dialog-line); border-radius: 0; color: var(--site-dialog-ink); background: transparent; font: 400 30px/1 Arial, sans-serif; cursor: pointer; }
.site-dialog__content { min-height: 0; overflow: auto; padding: 22px 28px 6px; }
.site-dialog__message { margin: 0 0 18px; color: #334c55; font-size: 16px; line-height: 1.75; white-space: pre-line; }
.site-dialog__details { display: grid; gap: 1px; margin: 0 0 18px; background: var(--site-dialog-line); border: 1px solid var(--site-dialog-line); }
.site-dialog__details > div { display: grid; grid-template-columns: minmax(100px, 0.7fr) minmax(0, 1.3fr); gap: 16px; padding: 11px 13px; background: #fff; }
.site-dialog__details dt { color: var(--site-dialog-muted); font-size: 13px; }
.site-dialog__details dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.site-dialog__value-parts { white-space: pre-line; }
.site-dialog__text-danger { color: #c51f1f; }
.site-dialog__detail-action { margin-left: 10px; border: 1px solid var(--site-dialog-warning); border-radius: 0; padding: 6px 10px; color: var(--site-dialog-warning); background: #fffaf0; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.site-dialog__detail-action:hover { background: #fff0d1; }
.site-dialog__detail-action:focus-visible { outline: 3px solid rgba(183, 120, 22, 0.28); outline-offset: 2px; }
.site-dialog__fields { display: grid; gap: 16px; margin-bottom: 18px; }
.site-dialog__field { display: grid; gap: 7px; }
.site-dialog__field-label { font-size: 14px; font-weight: 800; }
.site-dialog__input { width: 100%; min-height: 48px; box-sizing: border-box; border: 1px solid #9eb0b4; border-radius: 0; padding: 11px 12px; color: var(--site-dialog-ink); background: #fff; font: inherit; }
textarea.site-dialog__input { min-height: 96px; resize: vertical; }
.site-dialog__field-help { color: var(--site-dialog-muted); font-size: 12px; line-height: 1.55; }
.site-dialog__error { min-height: 1.5em; margin: 0 0 10px; color: var(--site-dialog-danger); font-size: 14px; font-weight: 700; }
.site-dialog__actions { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 28px 22px; border-top: 1px solid var(--site-dialog-line); background: rgba(238, 243, 242, 0.78); }
.site-dialog__button { min-height: 48px; min-width: 118px; border: 1px solid var(--site-dialog-ink); border-radius: 0; padding: 11px 18px; font: inherit; font-weight: 800; cursor: pointer; }
.site-dialog__button--secondary { color: var(--site-dialog-ink); background: transparent; }
.site-dialog__button--primary { border-color: var(--site-dialog-info); color: #fff; background: var(--site-dialog-info); }
.site-dialog[data-tone="success"] .site-dialog__button--primary { border-color: var(--site-dialog-success); background: var(--site-dialog-success); }
.site-dialog[data-tone="warning"] .site-dialog__button--primary { border-color: var(--site-dialog-warning); background: var(--site-dialog-warning); }
.site-dialog[data-tone="danger"] .site-dialog__button--primary { border-color: var(--site-dialog-danger); background: var(--site-dialog-danger); }
.site-dialog__close:hover, .site-dialog__button--secondary:hover { background: #e8eeee; }
.site-dialog__input:focus-visible, .site-dialog__close:focus-visible, .site-dialog__button:focus-visible { outline: 3px solid rgba(43, 111, 138, 0.28); outline-offset: 2px; }
@media (max-width: 560px) {
  .site-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .site-dialog__panel { max-height: calc(100dvh - 20px); }
  .site-dialog__header { gap: 14px; padding: 20px 18px 15px; }
  .site-dialog__content { padding: 18px 18px 4px; }
  .site-dialog__actions { display: grid; grid-template-columns: 1fr 1fr; padding: 14px 18px 18px; }
  .site-dialog__actions > :only-child { grid-column: 1 / -1; }
  .site-dialog__button { min-width: 0; }
  .site-dialog__details > div { grid-template-columns: 1fr; gap: 4px; }
}
@media (prefers-reduced-motion: no-preference) {
  .site-dialog[open] .site-dialog__panel { animation: site-dialog-enter 160ms ease-out; }
  @keyframes site-dialog-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
}
.site-dialog__copy-value { border: 0; padding: 0; max-width: 100%; color: var(--site-dialog-info); background: transparent; font: inherit; font-weight: 800; text-align: left; text-decoration: underline; text-underline-offset: 3px; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.site-dialog__copy-value:focus-visible { outline: 3px solid rgba(43,111,138,.28); outline-offset: 3px; }
.site-dialog__copy-status { display: block; margin-top: 5px; color: var(--site-dialog-muted); font-size: 12px; font-weight: 400; }
.site-dialog__details dd { white-space: pre-line; }

.site-dialog__disclosure > summary { color: var(--site-dialog-info); cursor: pointer; font-size: 14px; font-weight: 700; white-space: normal; }
.site-dialog__disclosure > summary:focus-visible { outline: 3px solid rgba(43,111,138,.28); outline-offset: 3px; }
.site-dialog__disclosure-content { padding-top: 10px; font-size: 14px; line-height: 1.65; font-weight: 400; white-space: pre-line; }

/* Optional text-only data table; existing dialogs keep their original layout. */
.site-dialog.site-dialog--table { width: min(1080px, calc(100vw - 32px)); max-width: calc(100vw - 24px); }
.site-dialog__table-wrap { overflow: auto; max-width: 100%; margin-top: 16px; border: 1px solid var(--line, #dce3e5); border-radius: 10px; }
.site-dialog__table-wrap table { border-collapse: collapse; width: 100%; font-size: 13px; white-space: nowrap; }
.site-dialog__table-wrap caption { text-align: left; padding: 12px; color: var(--muted, #58666d); }
.site-dialog__table-wrap th, .site-dialog__table-wrap td { text-align: right; padding: 10px 12px; border-bottom: 1px solid var(--line, #dce3e5); font-variant-numeric: tabular-nums; }
.site-dialog__table-wrap th { background: #f1f5f4; color: #29443c; }
.site-dialog__table-wrap th:nth-child(-n+2), .site-dialog__table-wrap td:nth-child(-n+2) { text-align: left; }
.site-dialog__table-wrap tbody tr:nth-child(even) { background: #f8faf9; }
@media (max-width: 600px) { .site-dialog.site-dialog--table { width: calc(100vw - 24px); } }
