/* DNS Tools shared modal (the ONLY modal stylesheet). Markup is built by dt-modal.js. B+C tokens come from app.css; the fallbacks are the dark values. */
.dtm-overlay{--m-bg:var(--bg,#0b0d10);--m-panel:var(--panel,#11151a);--m-panel2:var(--panel2,#171c22);--m-text:var(--text,#f1f3f5);--m-muted:var(--muted,#929ba5);--m-line:var(--line,#293039);--m-ok:var(--ok,#8fd4a7);--m-warn:var(--warn,#e4ba70);--m-risk:var(--risk,#ee8a86);--m-btn:var(--btn,#f2f4f5);--m-bt:var(--bt,#0b0d10);
  position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;overflow:hidden;
  background:rgba(4,6,8,.72);font-family:var(--font-sans,Inter,system-ui,Arial,sans-serif);color:var(--m-text)}
html[data-theme=light] .dtm-overlay{background:rgba(28,34,40,.5)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .dtm-overlay{background:rgba(4,6,8,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  html[data-theme=light] .dtm-overlay{background:rgba(28,34,40,.32)}
}
.dtm-overlay[hidden]{display:none}
.dtm-overlay *,.dtm-overlay *::before,.dtm-overlay *::after{box-sizing:border-box}
.dtm-dialog{position:relative;display:flex;flex-direction:column;width:min(100% - 32px,540px);max-width:560px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
  background:var(--m-panel);color:var(--m-text);border:1px solid var(--m-line);border-radius:19px;box-shadow:0 18px 50px rgba(0,0,0,.35);outline:none;margin:0}
html[data-theme=light] .dtm-dialog{box-shadow:0 18px 44px rgba(28,34,40,.18)}
.dtm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 22px 0}
.dtm-title{margin:0;font-size:1.25rem;line-height:1.3;letter-spacing:-.02em;font-weight:700;color:var(--m-text)}
.dtm-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:-6px -8px 0 0;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--m-muted);font:inherit;font-size:22px;line-height:1;cursor:pointer}
.dtm-close:hover{color:var(--m-text);background:var(--m-panel2);border-color:var(--m-line)}
.dtm-form{display:flex;flex-direction:column;min-height:0;margin:0;flex:1 1 auto}
.dtm-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 22px 4px}
.dtm-desc{margin:0 0 16px;color:var(--m-muted);line-height:1.55;font-size:.92rem}
.dtm-desc:empty{display:none}
.dtm-body label{display:block;margin:0 0 7px;font-size:.84rem;font-weight:600;color:var(--m-text)}
.dtm-body input[type=email],.dtm-body input[type=text]{display:block;width:100%;margin:0;padding:13px;background:var(--m-bg);color:var(--m-text);border:1px solid var(--m-line);border-radius:9px;font:inherit;font-size:15px;-webkit-appearance:none;appearance:none}
.dtm-body input[type=email]::placeholder{color:var(--m-muted)}
.dtm-body input:focus-visible,.dtm-body input:focus{outline:2px solid var(--m-ok);outline-offset:2px}
.dtm-body input[aria-invalid=true]{border-color:var(--m-risk)}
.dtm-body input:disabled{opacity:.6}
.dtm-help{margin:7px 0 0;font-size:.8rem;line-height:1.45;color:var(--m-muted)}
.dtm-help.dtm-err{color:var(--m-risk)}
.dtm-check{display:flex;gap:11px;align-items:flex-start;margin:18px 0 0}
.dtm-check input{flex:none;margin:1px 0 0}
.dtm-check label{margin:0;font-weight:400;font-size:.86rem;line-height:1.5;color:var(--m-muted)}
.dtm-status{min-height:1.5em;margin:14px 0 0;font-size:.92rem;line-height:1.5;color:var(--m-muted);overflow-wrap:anywhere}
.dtm-status:empty{display:none}
.dtm-status.dtm-ok{color:var(--m-ok)}.dtm-status.dtm-err{color:var(--m-risk)}.dtm-status.dtm-warn{color:var(--m-warn)}
.dtm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px 22px}
.dtm-btn{min-height:44px;font:inherit;cursor:pointer}
.dtm-btn.primary{border:0;border-radius:8px;background:var(--m-btn);color:var(--m-bt);font-weight:700;padding:13px 18px}
.dtm-btn.ghost{border:1px solid var(--m-line);border-radius:9px;background:var(--m-panel);color:var(--m-text);padding:10px 16px}
.dtm-btn:disabled{opacity:.55;cursor:not-allowed}
.dtm-btn:focus-visible,.dtm-close:focus-visible{outline:2px solid var(--m-ok);outline-offset:2px}
.dtm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.dtm-lock,html.dtm-lock body{overflow:hidden}
html.dtm-lock body{padding-right:var(--dtm-sbw,0px)}
@media (max-width:480px){
  .dtm-head{padding:18px 16px 0}.dtm-scroll{padding:8px 16px 4px}.dtm-actions{padding:14px 16px 18px}
  .dtm-actions .dtm-btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:no-preference){
  .dtm-overlay{animation:dtm-fade .16s ease-out}
  .dtm-dialog{animation:dtm-pop .18s ease-out}
}
@keyframes dtm-fade{from{opacity:0}to{opacity:1}}
@keyframes dtm-pop{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
@media (forced-colors:active){.dtm-dialog{border:2px solid CanvasText}}

.dtm-body input[aria-invalid=true],.dtm-body input[aria-invalid=true]:focus,.dtm-body input[aria-invalid=true]:focus-visible{border-color:var(--m-risk);outline:2px solid var(--m-risk);outline-offset:2px}
.dtm-btn.primary:disabled{background:var(--m-panel2);color:var(--m-muted);border:1px solid var(--m-line);opacity:1}
