/* Shared dialog appearance. Botnet is the reference. Page CSS owns content layouts. */
:root {
  --dialog-surface: #0c1220;
  --dialog-heading: #f1f5f9;
  --dialog-text: #dbe3ee;
  --dialog-muted: #9baec5;
  --dialog-border: #2b3850;
  --dialog-line: #232c3d;
  --dialog-panel: #131d2f;
  --dialog-panel-border: #34415a;
  --dialog-mark: #31234d;
  --dialog-mark-color: #c4b5fd;
  --dialog-close: #9baac0;
  --dialog-close-hover: #202c41;
  --dialog-primary: linear-gradient(135deg,#7438ce,#9250df);
  --dialog-secondary: #bcc9dc;
  --dialog-secondary-border: #334155;
  --dialog-secondary-hover: #202b40;
  --dialog-focus: #a78bfa;
  --dialog-backdrop: rgba(0,0,0,.7);
  --dialog-shadow: 0 24px 70px #0006;
  --dialog-font: Inter,system-ui,sans-serif;
  --dialog-radius: 10px;
  --dialog-motion: 160ms;
}

/* Important declarations in this migration layer take precedence over legacy ID rules. */
@layer dialog-theme {
/* Explicitly opted-in legacy dialogs: !important beats their old ID/utility rules.
   These adapters never change visibility, form behavior, widths or danger colors. */
.ui-dialog-overlay { padding: 24px !important; box-sizing: border-box; transition: opacity 180ms, visibility 180ms !important; background: var(--dialog-backdrop) !important; backdrop-filter: blur(4px) !important; font-family: var(--dialog-font) !important; color: var(--dialog-text); }
.ui-dialog.ui-dialog { background: var(--dialog-surface) !important; border: 1px solid var(--dialog-border) !important; border-radius: var(--dialog-radius) !important; box-shadow: var(--dialog-shadow) !important; color: var(--dialog-text) !important; font-family: var(--dialog-font) !important; animation: ui-dialog-in var(--dialog-motion) ease-out; transform: none !important; max-height: 90dvh !important; overscroll-behavior: contain; }
.ui-dialog :is(h2,h3).ui-dialog-title { color: var(--dialog-heading) !important; font: 700 19px/1.25 var(--dialog-font) !important; letter-spacing: normal !important; }
.ui-dialog :is(.ui-dialog-description,.support-modal-description), .ui-dialog .ui-dialog-title + p, .ui-dialog > .space-y-6 > p { color: var(--dialog-muted) !important; font: 400 13px/1.6 var(--dialog-font) !important; }
.ui-dialog .ui-dialog-close { display: inline-flex !important; align-items: center; justify-content: center; width: 28px !important; height: 28px !important; min-width: 28px !important; min-height: 28px !important; flex: 0 0 28px !important; padding: 0 !important; border: 0 !important; border-radius: 5px !important; background: transparent !important; color: var(--dialog-close) !important; font: 400 25px/1 var(--dialog-font) !important; cursor: pointer; box-shadow: none !important; }
.ui-dialog .ui-dialog-close:hover { color: #fff !important; background: var(--dialog-close-hover) !important; }
.ui-dialog .ui-dialog-close svg { width: 18px; height: 18px; }
.ui-dialog .ui-dialog-close i { font-size: 16px !important; }
.ui-dialog :is(.ui-dialog-primary,.btn-solid-cyan,.btn-solid-gradient,.cyber-button):not(.admin-danger-action),
.ui-dialog button[type=submit]:not(.admin-danger-action):not([class*=bg-red]):not([class*=bg-orange]) { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 38px !important; padding: 9px 16px !important; border: 0 !important; border-radius: 6px !important; background: var(--dialog-primary) !important; color: #fff !important; font: 600 13px/1.5 var(--dialog-font) !important; text-decoration: none; box-shadow: none !important; cursor: pointer; }
.ui-dialog :is(.ui-dialog-primary,.btn-solid-cyan,.btn-solid-gradient,.cyber-button):hover:not(:disabled):not(.admin-danger-action),
.ui-dialog button[type=submit]:hover:not(:disabled):not(.admin-danger-action):not([class*=bg-red]):not([class*=bg-orange]) { filter: brightness(1.1); }
.ui-dialog :is(.ui-dialog-secondary,.admin-muted-action,.support-secondary-button,.bg-gray-600,.bg-gray-700) { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px !important; padding: 8px 12px !important; border: 1px solid var(--dialog-secondary-border) !important; border-radius: 6px !important; background: transparent !important; color: var(--dialog-secondary) !important; font: 400 12px/1.5 var(--dialog-font) !important; box-shadow: none !important; cursor: pointer; }
.ui-dialog :is(.ui-dialog-secondary,.admin-muted-action,.support-secondary-button,.bg-gray-600,.bg-gray-700):hover:not(:disabled) { background: var(--dialog-secondary-hover) !important; color: #fff !important; }
.ui-dialog :is(button,a,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid var(--dialog-focus) !important; outline-offset: 2px !important; }
.ui-dialog button:disabled { opacity: .45; cursor: not-allowed; }
.ui-dialog-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: var(--dialog-mark); color: var(--dialog-mark-color); }
.ui-dialog-mark svg { width: 18px; height: 18px; }
.ui-dialog-heading { display: grid; grid-template-columns: 36px minmax(0,1fr) 28px; align-items: center; gap: 12px; padding: 24px 24px 16px; flex: none; }
.ui-dialog-heading h2 { margin: 0; }
.ui-dialog-body { padding: 0 24px 22px; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.ui-dialog-footer { padding: 16px 24px 18px; border-top: 1px solid var(--dialog-line); flex: none; }
.ui-dialog-actions { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ui-dialog-panel { padding: 14px; background: var(--dialog-panel); border: 1px solid var(--dialog-panel-border); border-radius: 8px; }
.ui-confirm { padding: 0; margin: auto; width: min(480px,calc(100% - 32px)); overflow: hidden; }
.ui-confirm[open] { display: flex; flex-direction: column; }
.ui-confirm::backdrop { background: var(--dialog-backdrop); backdrop-filter: blur(4px); }
.ui-confirm .ui-dialog-description { margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
@keyframes ui-dialog-in { from { opacity: 0; } to { opacity: 1; } }
@media(max-width:600px) {
 .ui-dialog-overlay { padding: 16px !important; }
 .ui-dialog-heading { padding: 20px 20px 15px; }
 .ui-dialog-body { padding: 0 20px 20px; }
 .ui-dialog-footer { padding: 14px 20px 16px; }
}
@media(prefers-reduced-motion:reduce) { .ui-dialog.ui-dialog { animation: none; } .ui-dialog-overlay { transition: none !important; } }
/* Legacy geometry adapters; wide support/admin workspaces retain their own layout. */
.ui-dialog:is(.p-6,.p-8), .ui-dialog.search-verification__card { padding: 24px !important; }
.ui-dialog :is(.support-modal-header,.support-ticket-header) { background: var(--dialog-surface); }
.ui-dialog :is(.support-modal-description,.setup-description), .ui-dialog .ui-dialog-description { color: var(--dialog-muted) !important; }
.ui-dialog-danger { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 9px 16px; border: 0; border-radius: 6px; background: #b91c1c; color: #fff; font: 600 13px/1.5 var(--dialog-font); cursor: pointer; }
.ui-dialog-danger:hover:not(:disabled) { background: #dc2626; }
@media(max-width:600px) { .ui-dialog:is(.p-6,.p-8), .ui-dialog.search-verification__card { padding: 20px !important; } }

@media(max-width:600px) {
 .ui-dialog :is(.ui-dialog-primary,.btn-solid-cyan,.btn-solid-gradient,.cyber-button):not(.admin-danger-action),
 .ui-dialog button[type=submit]:not(.admin-danger-action):not([class*=bg-red]):not([class*=bg-orange]) { font-size: 12px !important; padding: 8px 12px !important; min-height: 34px !important; }
}
@media(max-width:380px) {
 .ui-dialog :is(.ui-dialog-primary,.btn-solid-cyan,.btn-solid-gradient,.cyber-button):not(.admin-danger-action),
 .ui-dialog button[type=submit]:not(.admin-danger-action):not([class*=bg-red]):not([class*=bg-orange]) { padding: 8px !important; }
}

}
