/* The Diamond Reports v3.5.13 — Unified Operation Popup
 * One iOS/Apple-style operation surface for PDF download, generation, deletion,
 * success and error states. Supports the app's explicit light/dark theme.
 */
:root {
  --tdr-op-accent: #3657e7;
  --tdr-op-accent-soft: #dfe6ff;
  --tdr-op-bg: rgba(255,255,255,.965);
  --tdr-op-border: rgba(0,0,0,.07);
  --tdr-op-text: #17181d;
  --tdr-op-subtext: #6f727a;
  --tdr-op-muted: #7c7f87;
  --tdr-op-danger: #ff3b30;
  --tdr-op-danger-soft: rgba(255,59,48,.10);
  --tdr-op-success: #30b56b;
  --tdr-op-overlay: rgba(20,24,31,.36);
  --tdr-op-shadow: 0 28px 80px rgba(0,0,0,.20), 0 4px 16px rgba(0,0,0,.08);
}
html[data-theme="dark"] {
  --tdr-op-accent: #7190ff;
  --tdr-op-accent-soft: rgba(113,144,255,.19);
  --tdr-op-bg: rgba(31,32,36,.965);
  --tdr-op-border: rgba(255,255,255,.10);
  --tdr-op-text: #f5f5f7;
  --tdr-op-subtext: #afb1ba;
  --tdr-op-muted: #9598a1;
  --tdr-op-danger: #ff6961;
  --tdr-op-danger-soft: rgba(255,105,97,.13);
  --tdr-op-success: #55ca83;
  --tdr-op-overlay: rgba(0,0,0,.58);
  --tdr-op-shadow: 0 30px 90px rgba(0,0,0,.56), 0 5px 18px rgba(0,0,0,.32);
}
@media (prefers-color-scheme:dark) {
  html:not([data-theme="light"]) {
    --tdr-op-accent: #7190ff;
    --tdr-op-accent-soft: rgba(113,144,255,.19);
    --tdr-op-bg: rgba(31,32,36,.965);
    --tdr-op-border: rgba(255,255,255,.10);
    --tdr-op-text: #f5f5f7;
    --tdr-op-subtext: #afb1ba;
    --tdr-op-muted: #9598a1;
    --tdr-op-danger: #ff6961;
    --tdr-op-danger-soft: rgba(255,105,97,.13);
    --tdr-op-success: #55ca83;
    --tdr-op-overlay: rgba(0,0,0,.58);
    --tdr-op-shadow: 0 30px 90px rgba(0,0,0,.56), 0 5px 18px rgba(0,0,0,.32);
  }
}
body.tdr-operation-open { overflow:hidden; }

.tdr-op-layer {
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right))
          max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 180ms ease, visibility 180ms ease;
}
.tdr-op-layer.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.tdr-op-backdrop {
  position:absolute;
  inset:0;
  background:var(--tdr-op-overlay);
  -webkit-backdrop-filter:blur(9px) saturate(118%);
  backdrop-filter:blur(9px) saturate(118%);
}
.tdr-op-card {
  position:relative;
  width:min(356px,calc(100vw - 32px));
  min-height:282px;
  box-sizing:border-box;
  padding:23px 24px 20px;
  overflow:hidden;
  border:1px solid var(--tdr-op-border);
  border-radius:26px;
  background:var(--tdr-op-bg);
  box-shadow:var(--tdr-op-shadow);
  color:var(--tdr-op-text);
  text-align:center;
  -webkit-backdrop-filter:blur(28px) saturate(150%);
  backdrop-filter:blur(28px) saturate(150%);
  transform:translateY(10px) scale(.985);
  transition:transform 220ms cubic-bezier(.2,.8,.2,1);
}
.tdr-op-layer.is-open .tdr-op-card { transform:translateY(0) scale(1); }

.tdr-op-close {
  position:absolute;
  top:13px;
  right:13px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--tdr-op-text);
  font:400 29px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
  opacity:.88;
  -webkit-tap-highlight-color:transparent;
}
.tdr-op-close:hover { background:rgba(120,120,128,.10); }
.tdr-op-close:active { transform:scale(.94); }
.tdr-op-close[hidden] { display:none; }

.tdr-op-title {
  margin:0 38px 4px;
  font-family:var(--font-en, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  font-size:20px;
  line-height:1.22;
  font-weight:680;
  letter-spacing:-.025em;
}
.tdr-op-subtitle {
  min-height:20px;
  margin:0 16px 15px;
  color:var(--tdr-op-subtext);
  font-family:var(--font-en, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif),var(--font-th,sans-serif);
  font-size:14.5px;
  line-height:1.4;
}
.tdr-op-ring-wrap {
  position:relative;
  width:100px;
  height:100px;
  margin:1px auto 13px;
  display:grid;
  place-items:center;
}
.tdr-op-ring {
  width:100px;
  height:100px;
  transform:rotate(-90deg);
  overflow:visible;
}
.tdr-op-ring-track,
.tdr-op-ring-progress {
  fill:none;
  stroke-width:9;
}
.tdr-op-ring-track { stroke:var(--tdr-op-accent-soft); }
.tdr-op-ring-progress {
  stroke:var(--tdr-op-accent);
  stroke-linecap:round;
  stroke-dasharray:263.894;
  stroke-dashoffset:263.894;
  transition:stroke-dashoffset 240ms ease, stroke 180ms ease;
}
.tdr-op-layer.is-indeterminate .tdr-op-ring-progress {
  stroke-dasharray:87 176.894;
  stroke-dashoffset:0;
  animation:tdr-op-spin 1.08s linear infinite;
  transform-origin:50px 50px;
}
.tdr-op-icon {
  position:absolute;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  color:var(--tdr-op-muted);
}
.tdr-op-icon svg { width:42px;height:42px;display:block; }

.tdr-op-filename {
  max-width:286px;
  margin:0 auto;
  overflow:hidden;
  color:var(--tdr-op-text);
  font-family:var(--font-en, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif),var(--font-th,sans-serif);
  font-size:14.5px;
  font-weight:560;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tdr-op-filename:empty { min-height:0; }

.tdr-op-action {
  margin-top:9px;
  padding:7px 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--tdr-op-accent);
  font:600 14.5px/1.25 var(--font-en, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif),var(--font-th,sans-serif);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.tdr-op-action:active { transform:scale(.98); }
.tdr-op-action.is-danger { color:var(--tdr-op-danger); }
.tdr-op-action[hidden] { display:none; }

.tdr-op-confirm-icon {
  width:78px;
  height:78px;
  margin:10px auto 14px;
  display:none;
  place-items:center;
  border-radius:24px;
  background:var(--tdr-op-danger-soft);
  color:var(--tdr-op-danger);
}
.tdr-op-confirm-icon svg { width:43px;height:43px; }
.tdr-op-layer.is-confirm .tdr-op-ring-wrap { display:none; }
.tdr-op-layer.is-confirm .tdr-op-confirm-icon { display:grid; }
.tdr-op-layer.is-confirm .tdr-op-card { min-height:0; padding-top:28px; }
.tdr-op-layer.is-confirm .tdr-op-subtitle { margin-bottom:9px; }

.tdr-op-confirm-buttons {
  display:none;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:19px;
}
.tdr-op-layer.is-confirm .tdr-op-confirm-buttons { display:grid; }
.tdr-op-layer.is-confirm .tdr-op-action { display:none; }

.tdr-op-btn {
  min-height:47px;
  padding:10px 13px;
  border:0;
  border-radius:15px;
  font:650 14.5px/1.25 var(--font-en, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif),var(--font-th,sans-serif);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.tdr-op-btn:active { transform:scale(.985); }
.tdr-op-btn.secondary {
  background:rgba(120,120,128,.12);
  color:var(--tdr-op-text);
}
.tdr-op-btn.danger {
  background:var(--tdr-op-danger);
  color:#fff;
}
.tdr-op-layer.is-success .tdr-op-ring-progress { stroke:var(--tdr-op-success); }
.tdr-op-layer.is-error .tdr-op-ring-progress { stroke:var(--tdr-op-danger); }
.tdr-op-layer.is-success .tdr-op-icon { color:var(--tdr-op-success); }
.tdr-op-layer.is-error .tdr-op-icon { color:var(--tdr-op-danger); }

@keyframes tdr-op-spin { to { transform:rotate(360deg); } }

@media (max-width:390px) {
  .tdr-op-card { width:min(340px,calc(100vw - 28px));border-radius:24px;padding-inline:20px; }
  .tdr-op-title { margin-inline:34px; }
}
@media (prefers-reduced-motion:reduce) {
  .tdr-op-layer,.tdr-op-card,.tdr-op-ring-progress { transition:none; }
  .tdr-op-layer.is-indeterminate .tdr-op-ring-progress { animation-duration:2s; }
}
@media print { .tdr-op-layer { display:none!important; } }

/* v3.5.13 — Font Awesome 7.3.1 operation icons. */
.tdr-op-icon .tdr-symbol{width:42px;height:42px;font-size:38px;display:inline-flex}
.tdr-op-confirm-icon .tdr-symbol{width:43px;height:43px;font-size:39px;display:inline-flex}
.tdr-op-close .tdr-symbol{width:18px;height:18px;font-size:16px}
