/* UI/Dialog.css — модульное окно сообщений (ошибки, предупреждения, подтверждения) */
.dlg-overlay { position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;
    visibility:hidden;pointer-events:none;background-color:rgba(0,0,0,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);
    transition:background-color .35s ease,backdrop-filter .35s ease,-webkit-backdrop-filter .35s ease,visibility 0s linear .4s; }
.dlg-overlay.open { visibility:visible;pointer-events:auto;background-color:rgba(0,0,0,.78);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
    transition:background-color .35s ease,backdrop-filter .35s ease,-webkit-backdrop-filter .35s ease,visibility 0s; }

.dlg-card { position:relative;width:100%;max-width:420px;max-height:calc(100dvh - 32px);overflow-y:auto;text-align:left;
    padding:22px 22px 20px;background:#0a0a0a;border:1px solid #1a1a1a;border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.55);outline:none;
    opacity:0;transform:translateY(18px) scale(.96);transition:transform .45s var(--ease),opacity .25s ease; }
.dlg-overlay.open .dlg-card { opacity:1;transform:none; }

.dlg-x { position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:11px;color:#737373;background:transparent; }
.dlg-x:hover { background:#1a1a1a;color:#e5e5e5; }

/* значок слева, справа — заголовок, описание и ID ошибки */
.dlg-head { display:flex;align-items:flex-start;gap:16px;padding-right:30px; }
.dlg-body { min-width:0;flex:1;padding-top:2px; }
.dlg-icon { position:relative;width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;
    color:#e5e5e5;background:#121212;border:1px solid #262626; }
.dlg-icon svg { width:24px;height:24px; }
.dlg-icon::after { content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(255,255,255,.1);opacity:0; }
.dlg-overlay.open .dlg-icon::after { animation:dlg-ring 1.6s var(--ease) .15s 1 both; }
.dlg-error .dlg-icon { border-color:rgba(255,255,255,.32);box-shadow:0 0 24px rgba(255,255,255,.07); }
.dlg-warn .dlg-icon { border-color:rgba(255,255,255,.2); }
.dlg-info .dlg-icon,.dlg-success .dlg-icon { color:#a3a3a3; }
@keyframes dlg-ring { 0%{opacity:.9;transform:scale(.85)} 100%{opacity:0;transform:scale(1.25)} }

.dlg-title { font-size:17px;font-weight:500;line-height:1.3;color:#e5e5e5;margin:0 0 6px;overflow-wrap:anywhere; }
.dlg-text { font-size:14px;line-height:1.5;color:#a3a3a3;margin:0;overflow-wrap:anywhere;white-space:pre-line; }
.dlg-extra { margin-top:16px;text-align:left;font-size:13px;color:#a3a3a3; }
.dlg-code { display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:3px 10px 3px 4px;border-radius:99px;font-size:11px;letter-spacing:.03em;color:#737373;background:#050505;border:1px solid #1a1a1a;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;max-width:100%;overflow-wrap:anywhere; }
.dlg-code span { padding:1px 7px;border-radius:99px;background:#1a1a1a;color:#a3a3a3;font-size:10px;letter-spacing:.08em; }

.dlg-actions { display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:20px; }
.dlg-actions.dlg-stack { grid-template-columns:1fr; }
.dlg-btn { padding:12px;border-radius:12px;font-size:14px;font-weight:500;color:#e5e5e5;background:#121212;border:1px solid #262626; }
.dlg-btn:hover { background:#1a1a1a;border-color:#404040; }
.dlg-btn.dlg-primary { background:#e5e5e5;color:#050505;border-color:#e5e5e5; }
.dlg-btn.dlg-primary:hover { background:#fff; }
.dlg-btn.dlg-danger { background:transparent;color:#e5e5e5;border-color:rgba(255,255,255,.4); }
.dlg-btn.dlg-danger:hover { background:rgba(255,255,255,.08);border-color:#e5e5e5; }
.dlg-btn:focus-visible,.dlg-x:focus-visible { outline:2px solid rgba(229,229,229,.5);outline-offset:2px; }

/* на телефоне — «шторка» снизу, как остальные окна приложения */
@media (max-width:767px) {
    .dlg-overlay { align-items:flex-end;padding:0; }
    .dlg-card { max-width:none;border-radius:24px 24px 0 0;border-bottom:0;padding-bottom:calc(22px + var(--safe-bottom,0px));transform:translateY(100%); }
        .dlg-overlay.open .dlg-card { transform:none; }
}
