/* Layout only. Shared CDS supplies controls, surfaces, colors and focus styles. */
.domain-rules-page-head { align-items:center; gap:16px; flex-wrap:wrap; }
.domain-rules-page-head p { max-width:650px; }
.domain-rules-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.domain-rules-actions button { white-space:nowrap; }
.domain-rules-tabs { width:max-content; max-width:100%; margin-bottom:18px; }
.domain-rules-card { overflow:hidden; }
.domain-rules-filters { display:flex; align-items:end; flex-wrap:wrap; gap:12px; padding:18px 20px 0; }
.domain-rules-filters .form-field { min-width:140px; flex:0 1 180px; margin:0; }
.domain-rules-filters .form-field:first-child { flex:1 1 260px; }
.domain-rules-filters input,.domain-rules-filters select { min-width:0; max-width:100%; }
.domain-rules-filters>button { min-height:32px; }
.domain-rules-state { min-height:48px; display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; padding:12px 20px; color:var(--cds-text-secondary); font-size:12px; }
.domain-rules-state .form-error { margin:0; }
.domain-rules-state button { min-height:28px; }
.domain-rules-table { width:100%; min-width:700px; }
.domain-rules-table th { white-space:nowrap; }
.domain-rules-table td { vertical-align:top; font-size:12px; }
.domain-rules-host { display:block; min-width:140px; max-width:320px; overflow-wrap:anywhere; font-family:monospace; font-size:12px; font-weight:500; line-height:1.7; }
.domain-rules-note { display:block; max-width:320px; margin-top:5px; overflow-wrap:anywhere; white-space:pre-wrap; font-size:11px; color:var(--cds-text-secondary); }
.domain-rules-time { min-width:140px; max-width:160px; font-variant-numeric:tabular-nums; }
.domain-rules-number { text-align:right; font-variant-numeric:tabular-nums; }
.domain-rules-table .badge { margin-top:3px; white-space:nowrap; }
.domain-rules-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px; padding:14px 20px; border-top:1px solid var(--cds-border-subtle); font-size:12px; color:var(--cds-text-secondary); }
.domain-rules-pagination[hidden] { display:none !important; }
.domain-rules-loading,.domain-rules-empty { min-height:100px; margin:0; padding:28px 20px; }
.domain-rules-footer { margin-top:14px; line-height:1.7; }
dialog.domain-rules-dialog { width:min(520px,calc(100vw - 32px)); max-width:calc(100vw - 32px); }
.domain-rules-dialog .form-field { min-width:0; }
.domain-rules-dialog textarea { width:100%; resize:vertical; min-height:80px; max-height:260px; }
.domain-rules-dialog input[readonly] { color:var(--cds-text-secondary); }
.domain-rules-check { display:flex; align-items:center; gap:9px; font-size:13px; min-height:32px; }
.domain-rules-confirm-host { margin:0 0 8px; overflow-wrap:anywhere; font-family:monospace; font-size:13px; line-height:1.7; }
.domain-rules-dialog [data-domain-conflict][hidden] { display:none !important; }
.domain-rules-fresh { padding:12px; border:1px solid var(--cds-border-subtle); border-radius:8px; overflow-wrap:anywhere; white-space:pre-wrap; line-height:1.7; }
.domain-rules-dialog [data-domain-fresh][hidden] { display:none !important; }
.domain-rules-dialog [data-domain-write-error]:empty { display:none; }
@media(max-width:600px) {
  .domain-rules-filters { padding:14px 12px 0; }
  .domain-rules-filters .form-field { flex:1 1 calc(50% - 12px); min-width:0; }
  .domain-rules-filters .form-field:first-child { flex-basis:100%; }
  .domain-rules-state { padding:10px 12px; gap:8px 14px; }
  .domain-rules-tabs { width:100%; }
  .domain-rules-tabs button { min-width:0; font-size:12px; padding-inline:10px; }
  .domain-rules-page-head>.domain-rules-actions { margin-left:auto; }
  dialog.domain-rules-dialog { width:calc(100vw - 20px); max-width:calc(100vw - 20px); }
  .domain-rules-dialog .dialog-body { padding:16px 12px; }
}
