/* =========================================================
   DEBATE RAIZ · ADMIN
   Direção visual: editorial, esportiva, sóbria e funcional.
   ========================================================= */

:root{
  --dr-red: #c62828;
  --dr-blue: #205f9e;
  --dr-blue-dark: #174773;
  --dr-blue-soft: #e9f1f8;
  --dr-red-dark: #991f1f;
  --dr-red-soft: #f7e9e9;
  --dr-black: #151515;
  --dr-graphite: #252525;
  --dr-graphite-2: #303030;
  --dr-surface: #ffffff;
  --dr-canvas: #ededed;
  --dr-line: #d4d4d4;
  --dr-line-dark: rgba(255,255,255,.12);
  --dr-text: #232323;
  --dr-muted: #6b6b6b;
  --dr-sidebar-w: 264px;
  --dr-sidebar-collapsed: 82px;
  --dr-topbar-h: 72px;
  --dr-shadow: 0 8px 22px rgba(0,0,0,.07);
  --dr-transition: .18s ease;
}

*{ box-sizing: border-box; }

html, body{ min-height:100%; }

body.dr-admin-body{
  margin:0;
  background:var(--dr-canvas);
  color:var(--dr-text);
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:14px;
}

body.dr-admin-body a{ color:inherit; }

h1,h2,h3,h4,h5,h6,
.dr-topbar-title,
.dr-dashboard-title,
.dr-section-title,
.dr-editorial-heading{
  font-family:Oswald, Inter, sans-serif;
  letter-spacing:.01em;
}

/* =========================
   ESTRUTURA
   ========================= */
.dr-admin-shell{
  min-height:100vh;
  display:flex;
}

.dr-admin-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  width:var(--dr-sidebar-w);
  background:var(--dr-black);
  color:#fff;
  display:flex;
  flex-direction:column;
  z-index:1040;
  transition:width var(--dr-transition), transform var(--dr-transition);
  border-right:1px solid #3b3b3b;
}

.dr-admin-brand-wrap{
  height:var(--dr-topbar-h);
  display:flex;
  align-items:center;
  padding:0 16px;
  border-bottom:1px solid var(--dr-line-dark);
  background:#111;
  position:relative;
}

.dr-admin-brand-wrap::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:72px;
  height:3px;
  background:var(--dr-red);
}

.dr-admin-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
  text-decoration:none;
}

.dr-admin-brand-logo{
  width:40px;
  height:40px;
  border:1px solid #555;
  background:#282828;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}

.dr-admin-brand-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.dr-admin-brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.08;
}

.dr-admin-brand-copy strong{
  font-family:Oswald, sans-serif;
  font-size:18px;
  letter-spacing:.055em;
  white-space:nowrap;
}

.dr-admin-brand-copy small{
  margin-top:4px;
  font-size:9px;
  letter-spacing:.16em;
  color:#a7a7a7;
  white-space:nowrap;
}

.dr-sidebar-collapse-btn{
  margin-left:auto;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  color:#aaa;
  background:transparent;
  border:1px solid #414141;
  border-radius:2px;
}

.dr-sidebar-collapse-btn:hover{
  color:#fff;
  border-color:#777;
  background:#242424;
}

.dr-admin-nav{
  flex:1;
  overflow-y:auto;
  padding:18px 12px 24px;
}

.dr-nav-section + .dr-nav-section{
  margin-top:24px;
}

.dr-nav-kicker{
  padding:0 12px 8px;
  color:#777;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
}

.dr-nav-link{
  position:relative;
  display:flex;
  align-items:center;
  min-height:42px;
  gap:12px;
  padding:9px 12px;
  color:#bdbdbd !important;
  text-decoration:none;
  border-left:3px solid transparent;
  transition:background var(--dr-transition), color var(--dr-transition), border-color var(--dr-transition);
}

.dr-nav-link i{
  width:22px;
  text-align:center;
  font-size:17px;
}

.dr-nav-link span{
  white-space:nowrap;
  font-size:13px;
  font-weight:600;
}

.dr-nav-link:hover{
  color:#fff !important;
  background:#222;
}

.dr-nav-link.is-active{
  color:#fff !important;
  background:#292929;
  border-left-color:var(--dr-red);
}

.dr-nav-link.is-active::after{
  content:"";
  position:absolute;
  right:10px;
  width:5px;
  height:5px;
  background:var(--dr-red);
}

.dr-admin-sidebar-footer{
  padding:14px 16px 16px;
  border-top:1px solid var(--dr-line-dark);
  background:#111;
}

.dr-sidebar-portal{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  color:#e9e9e9 !important;
  text-decoration:none;
  border:1px solid #4c4c4c;
  font-weight:600;
  font-size:12px;
}

.dr-sidebar-portal:hover{
  border-color:#aaa;
  background:#222;
  color:#fff !important;
}

.dr-environment-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin-top:12px;
  color:#787878;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.dr-environment-dot{
  width:6px;
  height:6px;
  background:#4fb16f;
  border-radius:50%;
  box-shadow:0 0 0 3px rgba(79,177,111,.12);
}

.dr-admin-workspace{
  width:calc(100% - var(--dr-sidebar-w));
  margin-left:var(--dr-sidebar-w);
  min-width:0;
  transition:width var(--dr-transition), margin-left var(--dr-transition);
}

.dr-admin-topbar{
  position:sticky;
  top:0;
  z-index:1020;
  height:var(--dr-topbar-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 28px;
  background:#2b2b2b;
  color:#fff;
  border-bottom:3px solid var(--dr-red);
}

.dr-topbar-left,
.dr-topbar-actions{
  display:flex;
  align-items:center;
  min-width:0;
}

.dr-topbar-left{ gap:14px; }
.dr-topbar-actions{ gap:18px; }

.dr-topbar-title-wrap{
  min-width:0;
  display:flex;
  flex-direction:column;
  line-height:1.1;
}

.dr-topbar-eyebrow{
  color:#9c9c9c;
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
}

.dr-topbar-title{
  margin-top:4px;
  font-size:22px;
  font-weight:500;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dr-topbar-program{
  align-items:center;
  gap:8px;
  color:#c4c4c4;
  font-family:Oswald, sans-serif;
  font-size:12px;
  letter-spacing:.08em;
}

.dr-live-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--dr-red);
  box-shadow:0 0 0 4px rgba(198,40,40,.2);
}

.dr-user-menu{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  color:#fff;
  background:transparent;
}

.dr-user-avatar{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#111;
  border:1px solid #555;
  color:#fff;
  font-family:Oswald, sans-serif;
  font-size:13px;
  letter-spacing:.05em;
}

.dr-user-copy{
  flex-direction:column;
  align-items:flex-start;
  line-height:1.05;
}

.dr-user-copy strong{ font-size:12px; }
.dr-user-copy small{ margin-top:4px; color:#999; font-size:10px; }

.dr-user-dropdown{
  min-width:220px;
  border-radius:2px;
  border:1px solid #d2d2d2;
  box-shadow:var(--dr-shadow);
}

.dr-mobile-menu-btn{
  width:38px;
  height:38px;
  color:#fff;
  background:#1b1b1b;
  border:1px solid #535353;
  border-radius:2px;
  font-size:21px;
}

.dr-admin-content{
  min-height:calc(100vh - var(--dr-topbar-h));
  padding:28px;
}

.dr-page-context{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
  padding-bottom:12px;
  border-bottom:1px solid var(--dr-line);
}

.dr-page-subtitle{ color:var(--dr-muted); font-size:12px; }
.dr-breadcrumb{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.dr-breadcrumb a{ color:#555 !important; text-decoration:none; }

.dr-admin-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.58);
  z-index:1035;
  opacity:0;
  visibility:hidden;
  transition:opacity var(--dr-transition), visibility var(--dr-transition);
}

/* Sidebar recolhida */
body.dr-sidebar-collapsed .dr-admin-sidebar{ width:var(--dr-sidebar-collapsed); }
body.dr-sidebar-collapsed .dr-admin-workspace{
  margin-left:var(--dr-sidebar-collapsed);
  width:calc(100% - var(--dr-sidebar-collapsed));
}
body.dr-sidebar-collapsed .dr-admin-brand-copy,
body.dr-sidebar-collapsed .dr-nav-kicker,
body.dr-sidebar-collapsed .dr-nav-link span,
body.dr-sidebar-collapsed .dr-sidebar-portal span,
body.dr-sidebar-collapsed .dr-environment-line span{ display:none; }
body.dr-sidebar-collapsed .dr-admin-brand-wrap{ padding:0 10px; justify-content:center; }
body.dr-sidebar-collapsed .dr-admin-brand{ gap:0; }
body.dr-sidebar-collapsed .dr-sidebar-collapse-btn{
  position:absolute;
  right:-14px;
  top:21px;
  background:#111;
}
body.dr-sidebar-collapsed .dr-admin-nav{ padding-left:9px; padding-right:9px; }
body.dr-sidebar-collapsed .dr-nav-link{ justify-content:center; padding-left:0; padding-right:0; }
body.dr-sidebar-collapsed .dr-nav-link.is-active::after{ display:none; }
body.dr-sidebar-collapsed .dr-sidebar-portal{ padding:0; }

/* =========================
   BOOTSTRAP / COMPONENTES BASE
   ========================= */
.dr-admin-body .btn{
  border-radius:3px;
  font-weight:600;
  font-size:13px;
  box-shadow:none !important;
}

.dr-admin-body .btn-primary{
  background:var(--dr-red);
  border-color:var(--dr-red);
}

.dr-admin-body .btn-primary:hover,
.dr-admin-body .btn-primary:focus{
  background:var(--dr-red-dark);
  border-color:var(--dr-red-dark);
}

.dr-admin-body .btn-outline-primary{
  color:var(--dr-red);
  border-color:var(--dr-red);
}

.dr-admin-body .btn-outline-primary:hover,
.dr-admin-body .btn-outline-primary:focus{
  color:#fff;
  background:var(--dr-red);
  border-color:var(--dr-red);
}

.dr-admin-body .btn-dark{
  background:#222;
  border-color:#222;
}

.dr-admin-body .card,
.dr-panel-admin,
.dr-admin-box{
  border:1px solid var(--dr-line);
  border-radius:4px;
  background:#fff;
  box-shadow:none;
}

.dr-admin-body .card-header,
.dr-admin-body .card-footer{
  border-color:var(--dr-line);
  background:#f8f8f8;
}

.dr-admin-body .form-control,
.dr-admin-body .form-select,
.dr-admin-body .input-group-text{
  min-height:40px;
  border-radius:3px;
  border-color:#c9c9c9;
  font-size:13px;
}

.dr-admin-body textarea.form-control{ min-height:auto; }

.dr-admin-body .form-control:focus,
.dr-admin-body .form-select:focus{
  border-color:#555;
  box-shadow:0 0 0 3px rgba(0,0,0,.08);
}

.dr-admin-body .form-label{
  margin-bottom:6px;
  color:#3a3a3a;
  font-size:12px;
  font-weight:700;
}

.dr-admin-body .form-text{
  color:#7b7b7b;
  font-size:11px;
}

.dr-admin-body .form-check-input:checked{
  background-color:var(--dr-red);
  border-color:var(--dr-red);
}

.dr-admin-body .table{
  --bs-table-bg: transparent;
  --bs-table-striped-bg: #f7f7f7;
  --bs-table-hover-bg: #f5f0f0;
  margin-bottom:0;
  font-size:13px;
}

.dr-admin-body .table > :not(caption) > * > *{
  padding:12px 14px;
  border-bottom-color:#e0e0e0;
}

.dr-admin-body .table thead th{
  background:#2b2b2b;
  color:#fff;
  border-bottom:0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.dr-admin-body code{
  color:#8f1c1c;
  background:#f4eaea;
  padding:2px 4px;
  border-radius:2px;
  font-size:.86em;
}

.dr-admin-body .badge{
  border-radius:2px;
  font-size:10px;
  letter-spacing:.025em;
}

.dr-admin-body .modal-content{
  border-radius:4px;
  border:1px solid #aaa;
  box-shadow:0 22px 50px rgba(0,0,0,.24);
}

.dr-admin-body .modal-header{
  background:#242424;
  color:#fff;
  border-bottom:3px solid var(--dr-red);
}

.dr-admin-body .modal-header .btn-close{ filter:invert(1); }

.dr-admin-body .alert{
  border-radius:3px;
  border-width:1px;
}

/* =========================
   CABEÇALHOS EDITORIAIS
   ========================= */
.dr-page-lead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid #cfcfcf;
}

.dr-page-lead-copy{ min-width:0; }

.dr-page-kicker{
  color:var(--dr-red);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.dr-page-title{
  margin:3px 0 4px;
  font-family:Oswald, sans-serif;
  font-size:30px;
  font-weight:500;
  line-height:1;
  text-transform:uppercase;
}

.dr-page-description{
  margin:0;
  color:var(--dr-muted);
  font-size:12px;
  max-width:760px;
}

.dr-section-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
  padding-bottom:8px;
  border-bottom:2px solid #2b2b2b;
}

.dr-section-bar::before{
  content:"";
  width:38px;
  height:4px;
  background:var(--dr-red);
  position:absolute;
  margin-top:35px;
}

.dr-section-title{
  margin:0;
  font-size:19px;
  font-weight:500;
  text-transform:uppercase;
}

.dr-section-note{ color:var(--dr-muted); font-size:11px; }

/* =========================
   DASHBOARD
   ========================= */
.dr-dashboard-header{
  position:relative;
  overflow:hidden;
  padding:28px 30px;
  background:#252525;
  color:#fff;
  border-left:6px solid var(--dr-red);
  border-bottom:1px solid #111;
}

.dr-dashboard-header::after{
  content:"DR";
  position:absolute;
  right:24px;
  bottom:-38px;
  color:rgba(255,255,255,.035);
  font-family:Oswald, sans-serif;
  font-size:150px;
  font-weight:700;
  line-height:1;
}

.dr-dashboard-date{
  color:#aaa;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.dr-dashboard-title{
  position:relative;
  z-index:1;
  margin:6px 0 8px;
  max-width:760px;
  font-size:36px;
  font-weight:500;
  line-height:1.08;
  text-transform:uppercase;
}

.dr-dashboard-subtitle{
  position:relative;
  z-index:1;
  margin:0;
  max-width:720px;
  color:#bcbcbc;
  font-size:13px;
}

.dr-dashboard-actions{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}

.dr-dashboard-actions .btn-light{
  color:#fff;
  background:var(--dr-red);
  border-color:var(--dr-red);
}

.dr-dashboard-actions .btn-light:hover{
  background:var(--dr-red-dark);
  border-color:var(--dr-red-dark);
}

.dr-dashboard-actions .btn-outline-light{
  border-color:#666;
}

.dr-scoreboard{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  margin-top:18px;
  border:1px solid #c8c8c8;
  background:#fff;
}

.dr-score-item{
  min-height:126px;
  padding:18px 20px;
  border-right:1px solid #d4d4d4;
}

.dr-score-item:last-child{ border-right:0; }

.dr-score-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#777;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.dr-score-top i{ color:var(--dr-red); font-size:17px; }

.dr-score-value{
  margin-top:9px;
  font-family:Oswald, sans-serif;
  font-size:36px;
  font-weight:600;
  line-height:1;
}

.dr-score-label{
  margin-top:5px;
  font-weight:700;
  font-size:12px;
}

.dr-score-note{
  margin-top:6px;
  color:#777;
  font-size:10px;
  line-height:1.35;
}

.dr-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) minmax(320px, .75fr);
  gap:18px;
  margin-top:18px;
}

.dr-dashboard-stack{
  display:grid;
  gap:18px;
}

.dr-panel-admin{ overflow:hidden; }

.dr-panel-admin-head{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  color:#fff;
  background:#292929;
  border-left:4px solid var(--dr-red);
}

.dr-panel-admin-head h2,
.dr-panel-admin-head h3{
  margin:0;
  font-size:17px;
  font-weight:500;
  text-transform:uppercase;
}

.dr-panel-admin-head p{
  margin:3px 0 0;
  color:#aaa;
  font-size:10px;
}

.dr-panel-admin-body{ padding:0; }

.dr-action-list{ display:block; }

.dr-action-row{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) 24px;
  align-items:center;
  gap:12px;
  min-height:72px;
  padding:12px 16px;
  color:var(--dr-text) !important;
  text-decoration:none;
  border-bottom:1px solid #e0e0e0;
  transition:background var(--dr-transition);
}

.dr-action-row:last-child{ border-bottom:0; }
.dr-action-row:hover{ background:#f6efef; }

.dr-action-icon{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#303030;
  border-bottom:3px solid var(--dr-red);
  font-size:16px;
}

.dr-action-copy strong{ display:block; font-size:12px; }
.dr-action-copy small{ display:block; margin-top:3px; color:#777; font-size:10px; }
.dr-action-arrow{ color:#aaa; }

.dr-alert-list{ padding:4px 16px 8px; }

.dr-alert-row{
  display:grid;
  grid-template-columns:10px minmax(0, 1fr) auto;
  align-items:center;
  gap:10px;
  padding:12px 0;
  border-bottom:1px solid #e1e1e1;
}
.dr-alert-row:last-child{ border-bottom:0; }

.dr-alert-mark{
  width:8px;
  height:8px;
  background:#777;
}
.dr-alert-mark.is-danger{ background:var(--dr-red); }
.dr-alert-mark.is-warning{ background:#b47b19; }
.dr-alert-mark.is-ok{ background:#31824c; }

.dr-alert-copy strong{ display:block; font-size:12px; }
.dr-alert-copy small{ display:block; color:#777; font-size:10px; margin-top:2px; }
.dr-alert-number{ font-family:Oswald, sans-serif; font-size:22px; }

.dr-health-strip{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  border-top:1px solid #d7d7d7;
  border-left:1px solid #d7d7d7;
}

.dr-health-cell{
  min-height:90px;
  padding:14px;
  background:#fff;
  border-right:1px solid #d7d7d7;
  border-bottom:1px solid #d7d7d7;
}

.dr-health-cell span{
  display:block;
  color:#777;
  font-size:9px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.dr-health-cell strong{
  display:block;
  margin-top:6px;
  font-family:Oswald, sans-serif;
  font-size:24px;
  font-weight:500;
}

.dr-health-cell small{ display:block; margin-top:4px; color:#888; font-size:9px; }

.dr-campaign-table td{ vertical-align:middle; }

.dr-brand-cell{
  display:flex;
  align-items:center;
  gap:10px;
}

.dr-brand-avatar-small{
  width:36px;
  height:36px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#292929;
  border-bottom:3px solid var(--dr-red);
  font-family:Oswald, sans-serif;
  font-size:12px;
}

.dr-status-line{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:700;
}

.dr-status-line::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#777;
}
.dr-status-line.is-live::before{ background:#30804a; }
.dr-status-line.is-scheduled::before{ background:#b47b19; }
.dr-status-line.is-ended::before,
.dr-status-line.is-off::before{ background:#8a8a8a; }

.dr-empty-state-admin{
  padding:36px 20px;
  text-align:center;
  color:#777;
}

/* =========================
   LISTA DE MARCAS / CAMPANHAS
   ========================= */
.dr-campaign-summary{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  margin-bottom:16px;
  border:1px solid #cfcfcf;
  background:#fff;
}

.dr-campaign-summary-item{
  padding:12px 15px;
  border-right:1px solid #dedede;
}
.dr-campaign-summary-item:last-child{ border-right:0; }
.dr-campaign-summary-item small{
  display:block;
  color:#777;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dr-campaign-summary-item strong{
  display:block;
  margin-top:4px;
  font-family:Oswald, sans-serif;
  font-size:24px;
  font-weight:500;
}

.dr-filter-bar{
  margin-bottom:16px;
  padding:14px;
  background:#fff;
  border:1px solid #cfcfcf;
  border-top:4px solid #292929;
}

.dr-campaign-list{
  display:grid;
  gap:10px;
}

.dr-campaign-row{
  display:grid;
  grid-template-columns:minmax(260px, 1.45fr) minmax(130px,.55fr) minmax(180px,.8fr) minmax(150px,.65fr) auto;
  align-items:center;
  gap:14px;
  padding:14px;
  background:#fff;
  border:1px solid #cfcfcf;
  border-left:4px solid #777;
  transition:border-color var(--dr-transition), background var(--dr-transition);
}

.dr-campaign-row:hover{
  background:#faf7f7;
  border-color:#b7b7b7;
  border-left-color:var(--dr-red);
}

.dr-campaign-row.is-live{ border-left-color:#31824c; }
.dr-campaign-row.is-scheduled{ border-left-color:#b47b19; }
.dr-campaign-row.is-inactive{ border-left-color:#777; opacity:.86; }

.dr-campaign-brand{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
}

.dr-campaign-logo{
  width:64px;
  height:54px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px;
  background:#f5f5f5;
  border:1px solid #d4d4d4;
}

.dr-campaign-logo img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.dr-campaign-logo-placeholder{
  color:#9a9a9a;
  font-family:Oswald, sans-serif;
  font-size:18px;
}

.dr-campaign-brand-copy{ min-width:0; }
.dr-campaign-brand-copy strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.dr-campaign-brand-copy small{
  display:block;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#777;
  font-size:10px;
}

.dr-plan-label{
  display:inline-block;
  min-width:84px;
  padding:5px 8px;
  color:#fff;
  background:#2c2c2c;
  border-left:3px solid var(--dr-red);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.dr-campaign-meta-title{
  color:#777;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.dr-campaign-meta-value{
  margin-top:4px;
  font-size:11px;
  font-weight:600;
}

.dr-placement-mini-list{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-top:5px;
}

.dr-placement-mini{
  padding:3px 5px;
  color:#555;
  background:#eee;
  border:1px solid #d2d2d2;
  font-size:9px;
}

.dr-campaign-result{
  display:flex;
  align-items:baseline;
  gap:7px;
}
.dr-campaign-result strong{
  font-family:Oswald, sans-serif;
  font-size:25px;
  font-weight:500;
}
.dr-campaign-result span{ color:#777; font-size:10px; }

.dr-campaign-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}

.dr-empty-panel{
  padding:46px 20px;
  background:#fff;
  border:1px solid #cfcfcf;
  text-align:center;
  color:#777;
}

/* =========================
   FORMULÁRIO DE CAMPANHA
   ========================= */
.dr-campaign-form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 340px;
  gap:18px;
  align-items:start;
}

.dr-form-main,
.dr-form-aside{
  display:grid;
  gap:14px;
}

.dr-form-section{
  background:#fff;
  border:1px solid #cfcfcf;
}

.dr-form-section-head{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  min-height:62px;
  background:#292929;
  color:#fff;
  border-left:4px solid var(--dr-red);
}

.dr-form-section-number{
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#1d1d1d;
  font-family:Oswald, sans-serif;
  font-size:20px;
}

.dr-form-section-title{
  padding:10px 14px;
}
.dr-form-section-title h2{
  margin:0;
  font-size:17px;
  font-weight:500;
  text-transform:uppercase;
}
.dr-form-section-title p{
  margin:3px 0 0;
  color:#aaa;
  font-size:10px;
}

.dr-form-section-body{ padding:18px; }

.dr-plan-options{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:8px;
}

.dr-plan-option{ position:relative; }
.dr-plan-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.dr-plan-option label{
  min-height:86px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:12px;
  background:#f5f5f5;
  border:1px solid #cfcfcf;
  border-bottom:4px solid #777;
  cursor:pointer;
  transition:border-color var(--dr-transition), background var(--dr-transition);
}

.dr-plan-option label strong{
  font-family:Oswald, sans-serif;
  font-size:17px;
  font-weight:500;
  text-transform:uppercase;
}
.dr-plan-option label small{ margin-top:4px; color:#777; font-size:9px; line-height:1.3; }

.dr-plan-option input:checked + label{
  background:#2b2b2b;
  color:#fff;
  border-color:#2b2b2b;
  border-bottom-color:var(--dr-red);
}
.dr-plan-option input:checked + label small{ color:#bbb; }

.dr-logo-panel{
  background:#fff;
  border:1px solid #cfcfcf;
}

.dr-logo-preview{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:#efefef;
  border-bottom:1px solid #cfcfcf;
}

.dr-logo-preview img{
  max-width:100%;
  max-height:120px;
  object-fit:contain;
}

.dr-logo-placeholder{
  color:#888;
  text-align:center;
  font-size:11px;
}
.dr-logo-placeholder i{ display:block; font-size:28px; margin-bottom:6px; }

.dr-logo-upload{ padding:14px; }

.dr-placement-list{
  display:grid;
  gap:8px;
}

.dr-placement-card{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 74px;
  align-items:center;
  gap:10px;
  padding:11px;
  background:#f7f7f7;
  border:1px solid #d4d4d4;
  border-left:4px solid #9a9a9a;
}

.dr-placement-card.is-on{
  background:#fff;
  border-left-color:var(--dr-red);
}

.dr-placement-card.is-blocked{
  opacity:.55;
  background:#ededed;
}

.dr-placement-icon{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#303030;
  font-size:14px;
}

.dr-placement-copy label{
  display:block;
  margin:0;
  font-weight:700;
  font-size:11px;
  cursor:pointer;
}
.dr-placement-copy small{
  display:block;
  margin-top:3px;
  color:#777;
  font-size:9px;
  line-height:1.35;
}

.dr-placement-order label{
  display:block;
  margin-bottom:3px;
  color:#777;
  font-size:8px;
  font-weight:700;
  text-align:center;
  text-transform:uppercase;
}
.dr-placement-order .form-control{ min-height:34px; text-align:center; padding:5px; }

.dr-switch-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid #e0e0e0;
}
.dr-switch-row:last-child{ border-bottom:0; }
.dr-switch-row-copy strong{ display:block; font-size:12px; }
.dr-switch-row-copy small{ display:block; margin-top:3px; color:#777; font-size:10px; }

.dr-link-box{
  padding:12px;
  background:#f1f1f1;
  border-left:4px solid #292929;
  word-break:break-all;
  font-size:10px;
}

.dr-form-footer{
  position:sticky;
  bottom:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  padding:12px 14px;
  background:rgba(237,237,237,.96);
  border-top:1px solid #bcbcbc;
  backdrop-filter:blur(6px);
}

.dr-form-footer-actions{ display:flex; gap:8px; }

.dr-field-counter{
  margin-top:4px;
  color:#888;
  font-size:9px;
  text-align:right;
}

/* =========================
   LOGIN V1 COMPATÍVEL
   ========================= */
.dr-login-body{
  min-height:100vh;
  margin:0;
  background:#202020;
  color:#fff;
  font-family:Inter, sans-serif;
}

.dr-login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);
}

.dr-login-showcase{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:48px;
  background:#292929;
  border-right:6px solid var(--dr-red);
  overflow:hidden;
}

.dr-login-showcase::after{
  content:"DEBATE RAIZ";
  position:absolute;
  left:34px;
  bottom:-20px;
  color:rgba(255,255,255,.035);
  font-family:Oswald, sans-serif;
  font-size:100px;
  white-space:nowrap;
}

.dr-login-brand{ display:flex; align-items:center; gap:12px; position:relative; z-index:1; }
.dr-login-brand-mark{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111;
  border-bottom:4px solid var(--dr-red);
  font-family:Oswald, sans-serif;
  font-size:17px;
}
.dr-login-brand-copy{ display:flex; flex-direction:column; }
.dr-login-brand-copy strong{ font-family:Oswald, sans-serif; font-size:20px; letter-spacing:.05em; }
.dr-login-brand-copy small{ color:#aaa; font-size:9px; letter-spacing:.12em; }

.dr-login-message{ position:relative; z-index:1; max-width:650px; }
.dr-login-message h1{
  margin:0;
  font-family:Oswald, sans-serif;
  font-size:54px;
  line-height:1.02;
  text-transform:uppercase;
}
.dr-login-message p{ max-width:560px; margin:16px 0 0; color:#bbb; font-size:14px; }

.dr-login-feature-list{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:8px; }
.dr-login-feature{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  color:#ccc;
  background:#222;
  border:1px solid #454545;
  font-size:10px;
}
.dr-login-feature i{ color:var(--dr-red); }

.dr-login-card-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px;
  background:#ececec;
}

.dr-login-card{
  width:min(430px,100%);
  padding:34px;
  color:#222;
  background:#fff;
  border:1px solid #cfcfcf;
  border-top:5px solid var(--dr-red);
  box-shadow:0 18px 50px rgba(0,0,0,.16);
}
.dr-login-card h2{ margin:0; font-family:Oswald, sans-serif; font-size:28px; text-transform:uppercase; }
.dr-login-intro{ margin:6px 0 24px; color:#777; font-size:12px; }
.dr-login-submit{ min-height:44px; }
.dr-login-note{ display:flex; align-items:center; gap:8px; margin-top:18px; color:#888; font-size:10px; }

/* =========================
   RESPONSIVO
   ========================= */
@media (max-width:1199.98px){
  .dr-dashboard-grid{ grid-template-columns:1fr; }
  .dr-campaign-form{ grid-template-columns:1fr; }
  .dr-form-aside{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dr-campaign-row{
    grid-template-columns:minmax(250px,1.3fr) minmax(120px,.55fr) minmax(170px,.8fr) auto;
  }
  .dr-campaign-row .dr-campaign-result-wrap{ display:none; }
}

@media (max-width:991.98px){
  .dr-admin-sidebar{
    width:min(300px,88vw);
    transform:translateX(-100%);
    box-shadow:18px 0 45px rgba(0,0,0,.24);
  }
  .dr-admin-workspace,
  body.dr-sidebar-collapsed .dr-admin-workspace{
    width:100%;
    margin-left:0;
  }
  body.dr-mobile-nav-open .dr-admin-sidebar{ transform:translateX(0); }
  body.dr-mobile-nav-open .dr-admin-overlay{ opacity:1; visibility:visible; }
  .dr-admin-topbar{ padding:0 18px; }
  .dr-admin-content{ padding:20px; }
  .dr-scoreboard{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dr-score-item:nth-child(2){ border-right:0; }
  .dr-score-item:nth-child(-n+2){ border-bottom:1px solid #d4d4d4; }
  .dr-health-strip{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dr-campaign-row{
    grid-template-columns:minmax(220px,1fr) minmax(140px,.5fr) auto;
  }
  .dr-campaign-row .dr-campaign-placement-wrap{ display:none; }
  .dr-plan-options{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dr-login-shell{ grid-template-columns:1fr; }
  .dr-login-showcase{ display:none; }
}

@media (max-width:767.98px){
  .dr-admin-content{ padding:14px; }
  .dr-admin-topbar{ height:64px; }
  .dr-topbar-title{ font-size:18px; }
  .dr-dashboard-header{ padding:22px 20px; }
  .dr-dashboard-title{ font-size:30px; }
  .dr-page-lead{ align-items:flex-start; flex-direction:column; }
  .dr-page-title{ font-size:26px; }
  .dr-campaign-summary{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dr-campaign-summary-item:nth-child(2){ border-right:0; }
  .dr-campaign-summary-item:nth-child(-n+2){ border-bottom:1px solid #dedede; }
  .dr-campaign-row{
    grid-template-columns:1fr;
    gap:10px;
  }
  .dr-campaign-row .dr-campaign-result-wrap,
  .dr-campaign-row .dr-campaign-placement-wrap{ display:block; }
  .dr-campaign-actions{ justify-content:flex-start; border-top:1px solid #ddd; padding-top:10px; }
  .dr-form-aside{ grid-template-columns:1fr; }
  .dr-placement-card{ grid-template-columns:34px minmax(0,1fr); }
  .dr-placement-order{ grid-column:2; }
  .dr-placement-order label{ text-align:left; }
  .dr-placement-order .form-control{ width:90px; text-align:left; }
  .dr-form-footer{ align-items:stretch; flex-direction:column; }
  .dr-form-footer-actions{ display:grid; grid-template-columns:1fr 1fr; }
}

@media (max-width:575.98px){
  .dr-scoreboard{ grid-template-columns:1fr; }
  .dr-score-item,
  .dr-score-item:nth-child(2){ border-right:0; border-bottom:1px solid #d4d4d4; }
  .dr-score-item:last-child{ border-bottom:0; }
  .dr-health-strip{ grid-template-columns:1fr; }
  .dr-campaign-summary{ grid-template-columns:1fr; }
  .dr-campaign-summary-item,
  .dr-campaign-summary-item:nth-child(2){ border-right:0; border-bottom:1px solid #dedede; }
  .dr-campaign-summary-item:last-child{ border-bottom:0; }
  .dr-plan-options{ grid-template-columns:1fr; }
  .dr-login-card-wrap{ padding:18px; }
  .dr-login-card{ padding:24px 20px; }
}

/* =========================================================
   ETAPA 2B · IDENTIDADE GRE-NAL E MÓDULOS EDITORIAIS
   A base continua grafite; azul e vermelho entram como
   acentos equilibrados, sem associar funções a um clube.
   ========================================================= */

/* --- Assinatura visual azul + vermelho --- */
.dr-admin-brand-wrap::after{
  width:100%;
  height:3px;
  background:linear-gradient(90deg, var(--dr-blue) 0 48%, #d7d7d7 48% 52%, var(--dr-red) 52% 100%);
}

.dr-admin-topbar{
  border-bottom:0;
  position:sticky;
}

.dr-admin-topbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg, var(--dr-blue) 0 49%, #d8d8d8 49% 51%, var(--dr-red) 51% 100%);
}

.dr-nav-link.is-active{
  border-left-color:transparent;
}

.dr-nav-link.is-active::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:linear-gradient(180deg, var(--dr-blue) 0 47%, #ddd 47% 53%, var(--dr-red) 53% 100%);
}

.dr-nav-link.is-active::after{
  width:7px;
  height:7px;
  background:linear-gradient(135deg, var(--dr-blue) 0 48%, var(--dr-red) 52% 100%);
}

.dr-topbar-program{
  gap:8px;
}

.dr-dual-dot{
  display:inline-flex;
  align-items:center;
  gap:3px;
}

.dr-dual-dot i{
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
}

.dr-dual-dot i:first-child{
  background:var(--dr-blue);
  box-shadow:0 0 0 4px rgba(32,95,158,.13);
}

.dr-dual-dot i:last-child{
  background:var(--dr-red);
  box-shadow:0 0 0 4px rgba(198,40,40,.13);
}

/* Ação comum neutra; azul e vermelho ficam como assinatura. */
.dr-admin-body .btn-primary{
  position:relative;
  background:#292929 !important;
  border-color:#292929 !important;
  color:#fff !important;
  box-shadow:inset 3px 0 0 var(--dr-blue), inset -3px 0 0 var(--dr-red);
}

.dr-admin-body .btn-primary:hover,
.dr-admin-body .btn-primary:focus{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
}

.dr-admin-body .btn-outline-primary{
  color:var(--dr-blue) !important;
  border-color:var(--dr-blue) !important;
}

.dr-admin-body .btn-outline-primary:hover,
.dr-admin-body .btn-outline-primary:focus{
  background:var(--dr-blue) !important;
  border-color:var(--dr-blue) !important;
  color:#fff !important;
}

.dr-admin-body .form-control:focus,
.dr-admin-body .form-select:focus{
  border-color:rgba(32,95,158,.75);
  box-shadow:0 0 0 .18rem rgba(32,95,158,.13);
}

.dr-admin-body .form-check-input:checked{
  background-color:var(--dr-blue);
  border-color:var(--dr-blue);
}

/* Dashboard balanceada */
.dr-dashboard-header{
  border-left:0;
  position:relative;
}

.dr-dashboard-header::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:linear-gradient(180deg, var(--dr-blue) 0 47%, #ddd 47% 53%, var(--dr-red) 53% 100%);
}

.dr-dashboard-header::after{
  background:linear-gradient(135deg, rgba(32,95,158,.11), rgba(198,40,40,.08));
}

.dr-score-item.dr-score-blue .dr-score-top i{ color:var(--dr-blue); }
.dr-score-item.dr-score-red .dr-score-top i{ color:var(--dr-red); }
.dr-score-item.dr-score-blue{ box-shadow:inset 0 3px 0 rgba(32,95,158,.78); }
.dr-score-item.dr-score-red{ box-shadow:inset 0 3px 0 rgba(198,40,40,.78); }

.dr-panel-admin.dr-accent-panel-blue .dr-panel-admin-head{ border-left:4px solid var(--dr-blue); }
.dr-panel-admin.dr-accent-panel-red .dr-panel-admin-head{ border-left:4px solid var(--dr-red); }
.dr-panel-admin.dr-accent-panel-dual .dr-panel-admin-head,
.dr-panel-head-dual{
  position:relative;
  border-left:0 !important;
}
.dr-panel-admin.dr-accent-panel-dual .dr-panel-admin-head::before,
.dr-panel-head-dual::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg, var(--dr-blue) 0 47%, #ddd 47% 53%, var(--dr-red) 53% 100%);
}
.dr-panel-head-blue{ border-left:5px solid var(--dr-blue) !important; }
.dr-panel-head-red{ border-left:5px solid var(--dr-red) !important; }

.dr-action-row:nth-child(odd) .dr-action-icon{ border-bottom-color:var(--dr-blue); }
.dr-action-row:nth-child(even) .dr-action-icon{ border-bottom-color:var(--dr-red); }
.dr-action-row:nth-child(odd):hover{ background:#eef4f9; }
.dr-action-row:nth-child(even):hover{ background:#f7eeee; }

.dr-health-dual .dr-health-cell:nth-child(odd){ box-shadow:inset 0 3px 0 rgba(32,95,158,.68); }
.dr-health-dual .dr-health-cell:nth-child(even){ box-shadow:inset 0 3px 0 rgba(198,40,40,.68); }

/* --- Cabeçalho comum dos módulos --- */
.dr-page-lead-dual{
  position:relative;
  overflow:hidden;
  border-left:0;
}

.dr-page-lead-dual::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:linear-gradient(180deg, var(--dr-blue) 0 47%, #ddd 47% 53%, var(--dr-red) 53% 100%);
}

/* Afasta o conteúdo da barra editorial sem recorrer a espaços no HTML. */
.dr-page-lead-dual > .dr-page-lead-copy{
  padding-left:18px;
}

.dr-compact-summary{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  margin-bottom:18px;
  background:#fff;
  border:1px solid var(--dr-line);
}

.dr-compact-summary-item{
  min-height:112px;
  padding:17px 20px;
  border-right:1px solid var(--dr-line);
  position:relative;
}

.dr-compact-summary-item:last-child{ border-right:0; }
.dr-compact-summary-item::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:#999;
}
.dr-compact-summary-item.dr-accent-blue::before{ background:var(--dr-blue); }
.dr-compact-summary-item.dr-accent-red::before{ background:var(--dr-red); }
.dr-compact-summary-item small{
  display:block;
  color:#777;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
}
.dr-compact-summary-item strong{
  display:block;
  margin-top:6px;
  font-family:Oswald, sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:500;
}
.dr-compact-summary-item span{
  display:block;
  margin-top:8px;
  color:#777;
  font-size:10px;
}

.dr-module-panel{ overflow:hidden; }

/* --- Listas editoriais reutilizáveis --- */
.dr-entity-list,
.dr-media-list,
.dr-source-list{
  display:block;
}

.dr-entity-row,
.dr-media-row,
.dr-source-row{
  position:relative;
  display:flex;
  align-items:center;
  gap:18px;
  min-height:108px;
  padding:16px 18px;
  background:#fff;
  border-bottom:1px solid var(--dr-line);
  border-left:4px solid #888;
}

.dr-entity-row:last-child,
.dr-media-row:last-child,
.dr-source-row:last-child{ border-bottom:0; }
.dr-row-blue{ border-left-color:var(--dr-blue); }
.dr-row-red{ border-left-color:var(--dr-red); }
.dr-entity-row:hover,
.dr-media-row:hover,
.dr-source-row:hover{ background:#f8f8f8; }
.dr-entity-row.is-inactive{ opacity:.72; }

.dr-entity-logo{
  width:72px;
  height:58px;
  flex:0 0 72px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f4f4f4;
  border:1px solid #ddd;
  overflow:hidden;
}
.dr-entity-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
  background:#fff;
}
.dr-entity-logo span{
  font-family:Oswald, sans-serif;
  font-size:20px;
  color:#555;
}
.dr-entity-main,
.dr-media-copy,
.dr-source-main{ min-width:0; flex:1; }
.dr-entity-title-line{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.dr-entity-title-line > strong{
  font-size:14px;
  line-height:1.25;
}
.dr-entity-description,
.dr-media-subtitle{
  margin-top:5px;
  color:#6f6f6f;
  font-size:11px;
  line-height:1.45;
  max-width:780px;
}
.dr-entity-tags{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 15px;
  margin-top:10px;
}
.dr-entity-tags span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#777;
  font-size:9px;
  font-weight:600;
  letter-spacing:.02em;
}
.dr-entity-tags i{ color:#555; font-size:11px; }
.dr-entity-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
  flex:0 0 auto;
}

.dr-state-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:22px;
  padding:3px 8px;
  border:1px solid #cfcfcf;
  background:#f7f7f7;
  color:#555;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.dr-state-label::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#888;
}
.dr-state-label.is-live::before{ background:#31824c; }
.dr-state-label.is-scheduled::before{ background:var(--dr-blue); }
.dr-state-label.is-ended::before,
.dr-state-label.is-off::before{ background:#888; }

/* Banners */
.dr-media-preview{
  width:156px;
  height:88px;
  flex:0 0 156px;
  background:#242424;
  border:1px solid #444;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dr-media-preview img{ width:100%; height:100%; object-fit:cover; }
.dr-media-preview span{
  color:#aaa;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:10px;
}
.dr-media-title{
  display:block;
  margin-top:8px;
  font-family:Oswald, sans-serif;
  font-size:19px;
  font-weight:500;
  text-transform:uppercase;
}
.dr-program-label{
  padding:4px 8px;
  color:#fff;
  background:#333;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dr-program-label.is-blue{ box-shadow:inset 4px 0 0 var(--dr-blue); }
.dr-program-label.is-red{ box-shadow:inset 4px 0 0 var(--dr-red); }

/* YouTube */
.dr-youtube-layout{
  display:grid;
  grid-template-columns:minmax(310px, .78fr) minmax(0, 1.45fr);
  gap:18px;
  align-items:start;
}
.dr-youtube-form-panel{ position:sticky; top:92px; }
.dr-youtube-form{ padding:18px; }
.dr-source-type-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.dr-source-type-option{ position:relative; cursor:pointer; }
.dr-source-type-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.dr-source-type-option > span{
  min-height:114px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:14px;
  background:#f7f7f7;
  border:1px solid #d7d7d7;
  border-top:3px solid #999;
}
.dr-source-type-option:first-child > span{ border-top-color:var(--dr-blue); }
.dr-source-type-option:last-child > span{ border-top-color:var(--dr-red); }
.dr-source-type-option input:checked + span{
  background:#282828;
  border-color:#282828;
  color:#fff;
}
.dr-source-type-option i{ font-size:20px; margin-bottom:9px; }
.dr-source-type-option strong{ font-size:11px; }
.dr-source-type-option small{ margin-top:5px; color:#777; font-size:9px; line-height:1.4; }
.dr-source-type-option input:checked + span small{ color:#bdbdbd; }
.dr-source-program-mark{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#292929;
  color:#fff;
  font-size:20px;
}
.dr-source-program-mark.is-blue{ box-shadow:inset 0 -4px 0 var(--dr-blue); }
.dr-source-program-mark.is-red{ box-shadow:inset 0 -4px 0 var(--dr-red); }
.dr-source-value{
  margin-top:5px;
  color:#555;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:10px;
  overflow-wrap:anywhere;
}
.dr-info-strip{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--dr-line);
  border-left:4px solid var(--dr-blue);
  box-shadow:inset -4px 0 0 var(--dr-red);
}
.dr-info-strip > i{ margin-top:1px; color:var(--dr-blue); font-size:17px; }
.dr-info-strip strong{ display:block; font-size:11px; }
.dr-info-strip span{ display:block; margin-top:3px; color:#777; font-size:10px; }

/* =========================================================
   EDITOR DA PÁGINA ESPECIAL DA MARCA
   Mantém todos os formulários/actions; muda somente a camada
   visual e a linguagem apresentada ao administrador.
   ========================================================= */
.dr-brand-editor-page{
  margin:-24px -28px -28px;
  background:#ececec;
  min-height:calc(100vh - var(--dr-topbar-h));
  padding-bottom:28px;
}
.dr-editor-toolbar{
  position:sticky;
  top:var(--dr-topbar-h);
  z-index:1015;
  padding:12px 16px;
  margin-bottom:18px;
  color:#fff;
  background:#242424;
  border-bottom:0;
  box-shadow:0 5px 16px rgba(0,0,0,.13);
}
.dr-editor-toolbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg, var(--dr-blue) 0 49%, #ddd 49% 51%, var(--dr-red) 51% 100%);
}
.dr-editor-toolbar-title{
  font-family:Oswald, sans-serif;
  font-size:18px;
  letter-spacing:.05em;
}
.dr-editor-toolbar a:not(.btn){ color:#bbb !important; text-decoration:none; }
.dr-editor-toolbar a:not(.btn):hover{ color:#fff !important; }
.dr-editor-toolbar .text-muted{ color:#aaa !important; }
.dr-brand-editor-page > .container-fluid{ padding-left:18px; padding-right:18px; }

.dr-brand-editor-page .dr-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:26px;
  padding:4px 8px;
  border:1px solid #5b5b5b;
  background:#303030;
  color:#ddd;
  border-radius:0;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.dr-brand-editor-page .dr-chip span{ color:#949494; font-size:8px; }
.dr-brand-editor-page .dr-chip strong{ color:#fff; }
.dr-brand-editor-page .dr-chip.is-published{ border-left:3px solid #31824c; }
.dr-brand-editor-page .dr-chip.is-warning{ border-left:3px solid #b47b19; }

.dr-brand-editor-page .dr-sidebar{
  position:sticky;
  top:calc(var(--dr-topbar-h) + 84px);
  max-height:calc(100vh - var(--dr-topbar-h) - 102px);
  overflow:auto;
  padding-right:2px;
}
.dr-brand-editor-page .dr-soft{
  background:#fff;
  border:1px solid #d1d1d1;
  border-radius:0;
  box-shadow:none;
}
.dr-brand-editor-page .dr-soft:nth-child(odd){ border-top:3px solid var(--dr-blue); }
.dr-brand-editor-page .dr-soft:nth-child(even){ border-top:3px solid var(--dr-red); }
.dr-editor-side-title,
.dr-editor-section-kicker{
  font-family:Oswald, sans-serif;
  font-size:14px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.dr-editor-section-kicker{ font-size:16px; }
.dr-brand-editor-page .dr-mini{
  color:#737373;
  font-size:9px;
  line-height:1.4;
}
.dr-brand-editor-page .dr-divider{
  height:1px;
  margin:13px 0;
  background:#ddd;
}
.dr-brand-editor-page .progress{
  border-radius:0;
  background:#e2e2e2;
}
.dr-brand-editor-page .progress-bar{
  background:linear-gradient(90deg, var(--dr-blue), var(--dr-red));
}
.dr-brand-editor-page .dr-pill,
.dr-brand-editor-page .dr-badge-order,
.dr-brand-editor-page .dr-badge{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:3px 7px;
  border:1px solid #d2d2d2;
  background:#f5f5f5;
  color:#666;
  border-radius:0;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.dr-brand-editor-page .dr-map-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:48px;
  padding:9px 8px;
  color:#333 !important;
  border:0;
  border-left:3px solid transparent;
  border-bottom:1px solid #e4e4e4;
  text-decoration:none;
}
.dr-brand-editor-page .dr-map-item:hover{
  background:#f2f2f2;
  border-left-color:#999;
}
.dr-brand-editor-page .dr-map-item.active{
  background:#eef3f8;
  border-left-color:var(--dr-blue);
}

.dr-brand-editor-page .dr-sec-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid #cfcfcf;
  border-radius:0;
  box-shadow:none;
}
.dr-brand-editor-page .dr-sec-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:#888;
}
.dr-brand-editor-page .dr-sec-card[data-sec="hero"]::before,
.dr-brand-editor-page .dr-sec-card[data-sec="diferenciais"]::before,
.dr-brand-editor-page .dr-sec-card[data-sec="produtos_servicos"]::before,
.dr-brand-editor-page .dr-sec-card[data-sec="faq"]::before{ background:var(--dr-blue); }
.dr-brand-editor-page .dr-sec-card[data-sec="sobre"]::before,
.dr-brand-editor-page .dr-sec-card[data-sec="promocoes"]::before,
.dr-brand-editor-page .dr-sec-card[data-sec="depoimentos"]::before,
.dr-brand-editor-page .dr-sec-card[data-sec="cta_final"]::before{ background:var(--dr-red); }
.dr-brand-editor-page .dr-sec-card.is-editing{
  border-color:#777;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  outline:0;
}
.dr-brand-editor-page .dr-sec-head{
  padding:15px 17px 13px 21px;
  background:#292929;
  color:#fff;
  border-bottom:0;
}
.dr-brand-editor-page .dr-sec-title{
  font-family:Oswald, sans-serif;
  font-size:17px;
  font-weight:500;
  text-transform:uppercase;
}
.dr-brand-editor-page .dr-sec-sub{ color:#aaa; font-size:10px; }
.dr-brand-editor-page .dr-sec-head .dr-pill{
  border-color:#555;
  background:#343434;
  color:#bbb;
}
.dr-brand-editor-page .dr-sec-body{
  padding:16px;
  background:#ededed;
}
.dr-brand-editor-page .dr-step{
  margin-bottom:14px;
  padding:15px;
  background:#fff;
  border:1px solid #d2d2d2;
  border-radius:0;
  box-shadow:none;
}
.dr-brand-editor-page .dr-step:nth-child(odd){ border-top:3px solid var(--dr-blue); }
.dr-brand-editor-page .dr-step:nth-child(even){ border-top:3px solid var(--dr-red); }
.dr-brand-editor-page .dr-step-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:13px;
  font-family:Oswald, sans-serif;
  font-size:15px;
  text-transform:uppercase;
}
.dr-brand-editor-page .dr-step-badge{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#2d2d2d;
  border:0;
  border-radius:0;
  font-family:Inter, sans-serif;
  font-size:10px;
}
.dr-brand-editor-page .dr-quick{
  height:100%;
  padding:13px;
  background:#f8f8f8;
  border:1px solid #d8d8d8;
  border-top:3px solid #888;
  border-radius:0;
  box-shadow:none;
}
.dr-brand-editor-page .col-lg-4:nth-child(odd) .dr-quick{ border-top-color:var(--dr-blue); }
.dr-brand-editor-page .col-lg-4:nth-child(even) .dr-quick{ border-top-color:var(--dr-red); }
.dr-brand-editor-page .dr-quick .form-control,
.dr-brand-editor-page .dr-quick .form-select{ border-radius:0; }
.dr-brand-editor-page .dr-ai-panel{
  padding:12px;
  background:#eef3f8;
  border:1px solid #c9d8e7;
  border-left:4px solid var(--dr-blue);
  border-radius:0;
}
.dr-brand-editor-page .dr-ai-panel .title{ font-weight:700; }
.dr-brand-editor-page .dr-ai-panel .desc{ margin-top:4px; color:#65717d; font-size:9px; }
.dr-brand-editor-page .btn-ai{ font-weight:700; }
.dr-brand-editor-page .dr-editing-banner{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:13px;
  padding:10px 12px;
  background:#eef3f8;
  border:1px solid #c7d7e6;
  border-left:4px solid var(--dr-blue);
  border-radius:0;
}
.dr-brand-editor-page .dr-editing-banner .hint{ margin-top:2px; color:#687480; font-size:9px; }
.dr-brand-editor-page .dr-savebar{
  position:sticky;
  bottom:8px;
  z-index:5;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:9px;
  background:rgba(255,255,255,.96);
  border:1px solid #cfcfcf;
  border-radius:0;
  box-shadow:0 5px 14px rgba(0,0,0,.08);
}
.dr-brand-editor-page .dr-item-card{
  height:100%;
  overflow:hidden;
  background:#fff;
  border:1px solid #d2d2d2;
  border-radius:0;
  box-shadow:none;
}
.dr-brand-editor-page .dr-item-card .head{
  padding:10px 11px;
  background:#303030;
  color:#fff;
  border-bottom:0;
}
.dr-brand-editor-page .dr-item-card .body{ padding:12px; }
.dr-brand-editor-page .dr-item-title{ margin:0; font-weight:700; }
.dr-brand-editor-page .dr-item-line{ margin-top:5px; color:#707070; font-size:10px; }
.dr-brand-editor-page .dr-item-meta{ display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.dr-brand-editor-page .dr-badge.on{ border-left:3px solid #31824c; }
.dr-brand-editor-page .dr-badge.off{ border-left:3px solid var(--dr-red); }

/* Bootstrap gerado no status do assistente: remove "bolha" visual. */
.dr-brand-editor-page #aiStatusBody .rounded-3{ border-radius:0 !important; }
.dr-brand-editor-page #aiStatusBody .bg-white{ background:#f8f8f8 !important; }
.dr-brand-editor-page #aiStatusBody .border-primary{ border-color:var(--dr-blue) !important; }

@media (max-width:1199.98px){
  .dr-compact-summary{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .dr-compact-summary-item:nth-child(2){ border-right:0; }
  .dr-compact-summary-item:nth-child(-n+2){ border-bottom:1px solid var(--dr-line); }
  .dr-youtube-layout{ grid-template-columns:1fr; }
  .dr-youtube-form-panel{ position:static; }
  .dr-brand-editor-page .dr-sidebar{ position:static; max-height:none; }
}

@media (max-width:767.98px){
  .dr-compact-summary{ grid-template-columns:1fr 1fr; }
  .dr-compact-summary-item{ min-height:96px; padding:14px; }
  .dr-entity-row,
  .dr-media-row,
  .dr-source-row{ align-items:flex-start; flex-wrap:wrap; gap:12px; padding:14px; }
  .dr-entity-main,
  .dr-media-copy,
  .dr-source-main{ flex:1 1 calc(100% - 90px); }
  .dr-entity-actions{ width:100%; justify-content:flex-start; margin-left:0; padding-left:90px; }
  .dr-media-preview{ width:120px; height:68px; flex-basis:120px; }
  .dr-media-copy{ flex-basis:calc(100% - 140px); }
  .dr-source-type-options{ grid-template-columns:1fr; }
  .dr-brand-editor-page{ margin:-18px -16px -20px; }
  .dr-editor-toolbar{ top:var(--dr-topbar-h); }
}

@media (max-width:575.98px){
  .dr-compact-summary{ grid-template-columns:1fr; }
  .dr-compact-summary-item{ border-right:0; border-bottom:1px solid var(--dr-line); }
  .dr-compact-summary-item:last-child{ border-bottom:0; }
  .dr-entity-logo{ width:58px; height:50px; flex-basis:58px; }
  .dr-entity-main{ flex-basis:calc(100% - 74px); }
  .dr-entity-actions{ padding-left:0; }
  .dr-media-preview{ width:100%; height:150px; flex-basis:100%; }
  .dr-media-copy{ flex-basis:100%; }
  .dr-brand-editor-page > .container-fluid{ padding-left:10px; padding-right:10px; }
  .dr-editor-toolbar{ position:relative; top:auto; }
  .dr-brand-editor-page .dr-savebar{ position:static; flex-wrap:wrap; }
}

/* =========================================================
   ETAPA 2C — ELENCO, BANNERS EXPLICADOS E FONTES DO YOUTUBE
   ========================================================= */
.dr-person-admin-photo{
  width:72px;
  height:72px;
  flex:0 0 72px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#292929;
  color:#fff;
  border:1px solid #3e3e3e;
  box-shadow:inset 0 -4px 0 var(--dr-blue);
}
.dr-person-row:nth-child(even) .dr-person-admin-photo{ box-shadow:inset 0 -4px 0 var(--dr-red); }
.dr-person-admin-photo img{ width:100%; height:100%; object-fit:cover; }
.dr-person-admin-photo span{
  font-family:Oswald, sans-serif;
  font-size:22px;
  letter-spacing:.04em;
}
.dr-tag-warning{ color:#9a6a12 !important; }

.dr-admin-form-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.55fr) minmax(280px, .65fr);
  gap:18px;
  align-items:start;
}
.dr-admin-form-main,
.dr-admin-form-side{ min-width:0; }
.dr-admin-form-body{ padding:18px; }
.dr-sticky-side-panel{ position:sticky; top:92px; }
.dr-upload-preview{
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#ededed;
  border:1px solid #d0d0d0;
}
.dr-upload-preview img{ width:100%; height:100%; object-fit:cover; }
.dr-upload-preview span{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  color:#777;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.dr-upload-preview span i{ font-size:28px; }
.dr-person-upload-preview{ aspect-ratio:4 / 5; max-height:360px; }
.dr-banner-upload-preview{ aspect-ratio:16 / 7; min-height:130px; }
.dr-form-action-stack{ display:grid; gap:8px; }

.dr-program-choice-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.dr-program-choice{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 86px;
  align-items:center;
  gap:12px;
  min-height:86px;
  padding:13px;
  background:#f7f7f7;
  border:1px solid #d4d4d4;
  border-top:3px solid #888;
  cursor:pointer;
}
.dr-program-choice.is-blue{ border-top-color:var(--dr-blue); }
.dr-program-choice.is-red{ border-top-color:var(--dr-red); }
.dr-program-choice-copy strong{ display:block; font-size:12px; }
.dr-program-choice-copy small{ display:block; margin-top:4px; color:#777; font-size:9px; line-height:1.35; }
.dr-program-choice-order small{ display:block; margin-bottom:4px; color:#777; font-size:8px; font-weight:700; text-transform:uppercase; }
.dr-program-choice-order .form-control{ min-height:34px; }

.dr-banner-behavior{
  background:#242424;
  color:#fff;
  border-left:5px solid var(--dr-blue);
  box-shadow:inset -5px 0 0 var(--dr-red);
}
.dr-banner-behavior-title{
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 18px;
  border-bottom:1px solid #444;
}
.dr-banner-behavior-title > i{ font-size:21px; color:#ddd; }
.dr-banner-behavior-title strong{ display:block; font-family:Oswald, sans-serif; font-size:17px; font-weight:500; text-transform:uppercase; }
.dr-banner-behavior-title span{ display:block; margin-top:3px; color:#aaa; font-size:10px; }
.dr-banner-rule-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
}
.dr-banner-rule-grid > div{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  min-height:102px;
  padding:15px 17px;
  border-right:1px solid #444;
}
.dr-banner-rule-grid > div:last-child{ border-right:0; }
.dr-banner-rule-grid b{
  width:25px;
  height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#333;
  border-bottom:3px solid var(--dr-blue);
  font-size:10px;
}
.dr-banner-rule-grid > div:nth-child(even) b{ border-bottom-color:var(--dr-red); }
.dr-banner-rule-grid span{ color:#bcbcbc; font-size:10px; line-height:1.45; }
.dr-banner-rule-grid span strong{ color:#fff; }
.dr-banner-form-notice,
.dr-youtube-priority-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--dr-line);
  border-left:4px solid var(--dr-blue);
  box-shadow:inset -4px 0 0 var(--dr-red);
}
.dr-banner-form-notice > i,
.dr-youtube-priority-note > i{ color:var(--dr-blue); font-size:18px; }
.dr-banner-form-notice strong,
.dr-youtube-priority-note strong{ display:block; font-size:11px; }
.dr-banner-form-notice span,
.dr-youtube-priority-note span{ display:block; margin-top:3px; color:#777; font-size:10px; line-height:1.45; }

.dr-source-row.is-effective{ background:#f4f8f3; }
.dr-effective-source-label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:22px;
  padding:3px 8px;
  color:#245f36;
  background:#eef8f0;
  border:1px solid #b9d7c0;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.dr-source-actions{ max-width:220px; }

@media (max-width:1199.98px){
  .dr-admin-form-layout{ grid-template-columns:1fr; }
  .dr-sticky-side-panel{ position:static; }
  .dr-person-upload-preview{ max-height:300px; }
}

@media (max-width:991.98px){
  .dr-banner-rule-grid{ grid-template-columns:1fr; }
  .dr-banner-rule-grid > div{ border-right:0; border-bottom:1px solid #444; }
  .dr-banner-rule-grid > div:last-child{ border-bottom:0; }
}

@media (max-width:767.98px){
  .dr-program-choice-grid{ grid-template-columns:1fr; }
  .dr-person-admin-photo{ width:62px; height:62px; flex-basis:62px; }
  .dr-source-actions{ width:100%; max-width:none; padding-left:66px; }
}

@media (max-width:575.98px){
  .dr-program-choice{ grid-template-columns:auto minmax(0,1fr); }
  .dr-program-choice-order{ grid-column:2; }
  .dr-person-admin-photo{ width:58px; height:58px; flex-basis:58px; }
  .dr-source-actions{ padding-left:0; }
}

/* =========================================================
   ETAPA 3 — FLUXO COMERCIAL, RESULTADOS E EDITOR DE BLOCOS
   ========================================================= */
.dr-score-link{
  color:inherit !important;
  text-decoration:none;
}
.dr-score-link:hover{ background:#fafafa; }

.dr-admin-notice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--dr-line);
  border-left:4px solid var(--dr-blue);
  box-shadow:inset -4px 0 0 var(--dr-red);
}
.dr-admin-notice > i{ color:var(--dr-blue); font-size:19px; }
.dr-admin-notice strong{ display:block; font-size:11px; }
.dr-admin-notice span{ display:block; margin-top:3px; color:#6f6f6f; font-size:10px; line-height:1.5; }
.dr-admin-notice-warning{ border-left-color:#b57a16; box-shadow:inset -4px 0 0 #d6a33f; }
.dr-admin-notice-warning > i{ color:#b57a16; }

.dr-commercial-filter{
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.dr-filter-field{ min-width:180px; }
.dr-filter-grow{ flex:1 1 320px; }
.dr-filter-field label{
  display:block;
  margin-bottom:6px;
  color:#777;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dr-filter-actions{ display:flex; gap:8px; align-items:center; }

.dr-lead-summary{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  margin-bottom:16px;
  background:#fff;
  border:1px solid #cfcfcf;
}
.dr-lead-summary-item{
  position:relative;
  min-height:90px;
  padding:14px 16px;
  color:var(--dr-text) !important;
  text-decoration:none;
  border-right:1px solid #dedede;
}
.dr-lead-summary-item:last-child{ border-right:0; }
.dr-lead-summary-item::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#888;
}
.dr-lead-summary-item:nth-child(even)::before{ background:var(--dr-red); }
.dr-lead-summary-item:nth-child(odd)::before{ background:var(--dr-blue); }
.dr-lead-summary-item.is-selected{ background:#f4f4f4; }
.dr-lead-summary-item small{
  display:block;
  color:#777;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
}
.dr-lead-summary-item strong{
  display:block;
  margin-top:8px;
  font-family:Oswald, sans-serif;
  font-size:26px;
  font-weight:500;
}

.dr-leads-workspace{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(360px, .92fr);
  gap:16px;
  align-items:start;
}
.dr-leads-list-panel{ min-width:0; }
.dr-lead-detail-panel{ position:sticky; top:88px; min-width:0; }
.dr-lead-list{ display:grid; }
.dr-lead-row{
  display:grid;
  grid-template-columns:5px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  min-height:74px;
  padding:11px 14px 11px 0;
  color:inherit !important;
  text-decoration:none;
  background:#fff;
  border-bottom:1px solid #dedede;
}
.dr-lead-row:last-child{ border-bottom:0; }
.dr-lead-row:hover,
.dr-lead-row.is-selected{ background:#f5f5f5; }
.dr-lead-row.is-selected{ box-shadow:inset 0 0 0 1px #b9b9b9; }
.dr-lead-row-marker{ align-self:stretch; background:#888; }
.dr-lead-row-marker.is-new{ background:var(--dr-blue); }
.dr-lead-row-marker.is-contact{ background:#b47b19; }
.dr-lead-row-marker.is-proposal{ background:var(--dr-red); }
.dr-lead-row-marker.is-converted{ background:#31824c; }
.dr-lead-row-main{ min-width:0; }
.dr-lead-row-main strong{ display:block; font-size:12px; }
.dr-lead-row-main small{
  display:block;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#777;
  font-size:10px;
}
.dr-lead-row-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.dr-lead-row-meta time{ color:#888; font-size:9px; }
.dr-lead-state{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  color:#555;
  background:#f3f3f3;
  border:1px solid #d0d0d0;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.dr-lead-state.is-new{ color:#174773; background:#eef4fa; border-color:#b8cfe5; }
.dr-lead-state.is-contact{ color:#7d5411; background:#fbf4e8; border-color:#e1c48e; }
.dr-lead-state.is-proposal{ color:#8a2424; background:#fbefef; border-color:#debaba; }
.dr-lead-state.is-converted{ color:#245f36; background:#eef8f0; border-color:#b9d7c0; }
.dr-lead-state.is-closed{ color:#666; background:#f2f2f2; border-color:#d3d3d3; }
.dr-admin-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-top:1px solid #d9d9d9;
}
.dr-admin-pagination span{ color:#777; font-size:9px; }

.dr-lead-detail-body{ padding:18px; }
.dr-lead-identity{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:16px;
  border-bottom:1px solid #dedede;
}
.dr-lead-avatar{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 58px;
  color:#fff;
  background:#282828;
  border-bottom:4px solid var(--dr-blue);
  box-shadow:inset -4px 0 0 var(--dr-red);
  font-family:Oswald, sans-serif;
  font-size:20px;
}
.dr-lead-identity h3{ margin:0; font-family:Oswald, sans-serif; font-size:20px; }
.dr-lead-identity p{ margin:3px 0 7px; color:#777; font-size:10px; }
.dr-lead-contact-actions{ display:flex; flex-wrap:wrap; gap:8px; margin:15px 0; }
.dr-lead-data-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  margin:0;
  border:1px solid #d8d8d8;
}
.dr-lead-data-grid > div{ padding:10px 12px; border-right:1px solid #ddd; border-bottom:1px solid #ddd; }
.dr-lead-data-grid > div:nth-child(even){ border-right:0; }
.dr-lead-data-grid > div:nth-last-child(-n+2){ border-bottom:0; }
.dr-lead-data-grid dt{ color:#777; font-size:8px; text-transform:uppercase; letter-spacing:.06em; }
.dr-lead-data-grid dd{ margin:4px 0 0; font-size:10px; line-height:1.4; }
.dr-lead-message{ margin-top:15px; padding:14px; background:#f5f5f5; border-left:4px solid var(--dr-blue); }
.dr-lead-message > span{ color:#777; font-size:8px; font-weight:800; letter-spacing:.08em; }
.dr-lead-message p{ margin:8px 0 0; font-size:11px; line-height:1.65; }
.dr-lead-origin{ margin-top:12px; border:1px solid #d8d8d8; }
.dr-lead-origin summary{ padding:11px 13px; cursor:pointer; font-size:10px; font-weight:700; }
.dr-lead-origin dl{ margin:0; padding:0 13px 12px; }
.dr-lead-origin dl > div{ display:grid; grid-template-columns:110px minmax(0,1fr); gap:10px; padding:7px 0; border-top:1px solid #e5e5e5; }
.dr-lead-origin dt{ color:#777; font-size:8px; text-transform:uppercase; }
.dr-lead-origin dd{ margin:0; font-size:9px; }
.dr-lead-workflow-form{ margin-top:16px; padding-top:16px; border-top:1px solid #d8d8d8; }
.dr-lead-form-actions{ display:flex; justify-content:space-between; gap:8px; margin-top:15px; }

.dr-results-scoreboard{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  margin-bottom:16px;
  background:#fff;
  border:1px solid #cfcfcf;
}
.dr-result-score{
  position:relative;
  min-height:116px;
  padding:16px 18px;
  border-right:1px solid #dedede;
}
.dr-result-score:last-child{ border-right:0; }
.dr-result-score::before{ content:""; position:absolute; inset:0 0 auto; height:4px; background:#777; }
.dr-result-score.is-blue::before{ background:var(--dr-blue); }
.dr-result-score.is-red::before{ background:var(--dr-red); }
.dr-result-score small{ color:#777; font-size:9px; font-weight:800; letter-spacing:.08em; }
.dr-result-score strong{ display:block; margin-top:9px; font-family:Oswald, sans-serif; font-size:31px; font-weight:500; }
.dr-result-score span{ display:block; margin-top:4px; color:#777; font-size:9px; line-height:1.4; }
.dr-results-grid{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:16px; }
.dr-results-main-panel{ min-width:0; }
.dr-daily-chart{
  height:260px;
  display:flex;
  align-items:flex-end;
  gap:4px;
  padding:22px 18px 14px;
  overflow-x:auto;
  background:#fff;
}
.dr-daily-column{
  min-width:18px;
  height:210px;
  flex:1 0 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}
.dr-daily-value{ color:#777; font-size:7px; }
.dr-daily-bar{ width:100%; max-width:24px; min-height:3px; background:#888; }
.dr-daily-bar.is-blue{ background:var(--dr-blue); }
.dr-daily-bar.is-red{ background:var(--dr-red); }
.dr-daily-column time{ color:#888; font-size:7px; }
.dr-results-bars{ padding:10px 16px 16px; }
.dr-results-bar-row{
  display:block;
  padding:10px 0;
  color:inherit !important;
  text-decoration:none;
  border-bottom:1px solid #e0e0e0;
}
.dr-results-bar-row:last-child{ border-bottom:0; }
.dr-results-bar-row.is-link:hover{ background:#f7f7f7; }
.dr-results-bar-row > div:first-child{ display:flex; justify-content:space-between; gap:12px; }
.dr-results-bar-row strong{ font-size:10px; }
.dr-results-bar-row span{ color:#777; font-size:9px; }
.dr-results-bar-track{ height:7px; margin-top:7px; overflow:hidden; background:#e6e6e6; }
.dr-results-bar-track span{ display:block; height:100%; background:#777; }
.dr-results-bar-track span.is-blue{ background:var(--dr-blue); }
.dr-results-bar-track span.is-red{ background:var(--dr-red); }
.dr-empty-panel.compact{ min-height:120px; padding:24px; }

.dr-sponsor-upload-preview{ min-height:180px; aspect-ratio:16 / 8; padding:18px; background:#f4f4f4; }
.dr-sponsor-upload-preview img{ width:100%; height:100%; object-fit:contain; }

.dr-brand-item-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:16px;
  align-items:start;
}
.dr-brand-item-side{ min-width:0; }
.dr-brand-item-preview-panel{ position:sticky; top:88px; }
.dr-brand-item-preview{ padding:18px; background:#fff; border-left:5px solid var(--dr-blue); box-shadow:inset -5px 0 0 var(--dr-red); }
.dr-brand-item-preview-type{ color:#777; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.dr-brand-item-preview h3{ margin:10px 0 0; font-family:Oswald, sans-serif; font-size:23px; }
.dr-brand-item-preview-subtitle{ margin:5px 0 0; color:#666; font-size:10px; }
.dr-brand-item-preview-body{ margin:13px 0 0; color:#444; font-size:11px; line-height:1.65; white-space:pre-line; }
.dr-brand-item-preview-link{ display:inline-flex; align-items:center; gap:6px; margin-top:15px; padding:7px 10px; color:#fff; background:#282828; font-size:9px; font-weight:700; }
.dr-technical-details{ border:1px solid #d7d7d7; }
.dr-technical-details summary{ padding:10px 12px; cursor:pointer; font-size:9px; font-weight:700; }
.dr-technical-details > div{ padding:0 12px 12px; }
.dr-technical-details p{ color:#777; font-size:9px; line-height:1.5; }
.dr-brand-item-meta{ display:flex; flex-wrap:wrap; gap:6px; }
.dr-brand-item-meta span{ padding:5px 8px; background:#f3f3f3; border:1px solid #d8d8d8; color:#666; font-size:8px; }

@media (max-width:1199.98px){
  .dr-lead-summary{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .dr-lead-summary-item:nth-child(3){ border-right:0; }
  .dr-lead-summary-item:nth-child(-n+3){ border-bottom:1px solid #dedede; }
  .dr-leads-workspace,
  .dr-results-grid,
  .dr-brand-item-layout{ grid-template-columns:1fr; }
  .dr-lead-detail-panel,
  .dr-brand-item-preview-panel{ position:static; }
}

@media (max-width:767.98px){
  .dr-lead-summary{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .dr-lead-summary-item{ border-right:1px solid #dedede; border-bottom:1px solid #dedede; }
  .dr-lead-summary-item:nth-child(even){ border-right:0; }
  .dr-results-scoreboard{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .dr-result-score:nth-child(2){ border-right:0; }
  .dr-result-score:nth-child(-n+2){ border-bottom:1px solid #dedede; }
  .dr-lead-data-grid{ grid-template-columns:1fr; }
  .dr-lead-data-grid > div,
  .dr-lead-data-grid > div:nth-child(even){ border-right:0; border-bottom:1px solid #ddd; }
  .dr-lead-data-grid > div:last-child{ border-bottom:0; }
  .dr-lead-form-actions{ flex-direction:column-reverse; }
  .dr-lead-form-actions .btn{ width:100%; }
}

@media (max-width:575.98px){
  .dr-commercial-filter{ display:grid; grid-template-columns:1fr; }
  .dr-filter-field{ min-width:0; }
  .dr-filter-actions{ display:grid; grid-template-columns:1fr; }
  .dr-lead-summary,
  .dr-results-scoreboard{ grid-template-columns:1fr; }
  .dr-lead-summary-item,
  .dr-result-score{ border-right:0; border-bottom:1px solid #dedede; }
  .dr-lead-summary-item:last-child,
  .dr-result-score:last-child{ border-bottom:0; }
  .dr-lead-row{ grid-template-columns:5px minmax(0,1fr); }
  .dr-lead-row-meta{ grid-column:2; align-items:flex-start; flex-direction:row; }
  .dr-lead-origin dl > div{ grid-template-columns:1fr; gap:3px; }
  .dr-daily-chart{ height:220px; }
  .dr-daily-column{ height:170px; }
}


/* =========================================================
   PROGRAMAS · ETAPA 4
   ========================================================= */
.dr-program-guidance{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--dr-line);
  border-left:4px solid var(--dr-blue);
}
.dr-program-guidance > i{ font-size:20px; color:var(--dr-blue); }
.dr-program-guidance div{ display:flex; flex-direction:column; gap:3px; }
.dr-program-guidance strong{ font-size:13px; }
.dr-program-guidance span{ color:var(--dr-muted); font-size:12px; line-height:1.5; }

.dr-program-list{ padding:0; }
.dr-program-card{
  display:grid;
  grid-template-columns:minmax(280px, 1.5fr) minmax(180px,.7fr) minmax(260px,1fr) auto;
  align-items:center;
  gap:22px;
  padding:20px;
  background:#fff;
  border-bottom:1px solid var(--dr-line);
  border-left:4px solid var(--dr-blue);
}
.dr-program-card:last-child{ border-bottom:0; }
.dr-program-card.is-red{ border-left-color:var(--dr-red); }
.dr-program-identity{ display:flex; align-items:flex-start; gap:14px; min-width:0; }
.dr-program-symbol{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#222;
  border:1px solid #444;
  font-size:22px;
}
.dr-program-key{ font-size:10px; font-weight:700; letter-spacing:.16em; color:var(--dr-muted); text-transform:uppercase; }
.dr-program-identity h2{ margin:2px 0 4px; font-size:22px; }
.dr-program-identity p{ margin:0; color:var(--dr-muted); line-height:1.45; font-size:12px; max-width:58ch; }
.dr-program-status-column{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.dr-program-status-column strong{ font-family:Oswald, sans-serif; font-size:21px; }
.dr-program-status-column small{ color:var(--dr-muted); font-size:11px; }
.dr-program-numbers{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--dr-line); }
.dr-program-numbers div{ padding:10px 8px; text-align:center; border-right:1px solid var(--dr-line); }
.dr-program-numbers div:last-child{ border-right:0; }
.dr-program-numbers strong{ display:block; font-family:Oswald,sans-serif; font-size:20px; }
.dr-program-numbers span{ display:block; color:var(--dr-muted); font-size:10px; margin-top:2px; }
.dr-program-actions{ display:flex; gap:7px; justify-content:flex-end; }

.dr-program-form-heading{
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px;
  margin-bottom:16px;
  background:#1c1c1c;
  color:#fff;
  border-left:5px solid var(--dr-blue);
}
.dr-program-form-heading.is-red{ border-left-color:var(--dr-red); }
.dr-program-form-heading span{ font-size:10px; letter-spacing:.16em; color:#aaa; }
.dr-program-form-heading h1{ margin:2px 0 3px; font-size:28px; }
.dr-program-form-heading p{ margin:0; color:#bdbdbd; font-size:12px; }
.dr-program-form-shell{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:16px; align-items:start; }
.dr-program-form-main{ display:flex; flex-direction:column; gap:14px; }
.dr-program-form-aside{ position:sticky; top:88px; display:flex; flex-direction:column; gap:14px; }
.dr-program-lock-card,
.dr-program-save-card{ background:#fff; border:1px solid var(--dr-line); padding:16px; }
.dr-program-lock-card > i{ font-size:22px; color:var(--dr-blue); }
.dr-program-lock-card > strong{ display:block; margin:8px 0 12px; font-family:Oswald,sans-serif; font-size:19px; }
.dr-program-lock-card dl{ margin:0; }
.dr-program-lock-card dl div{ display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid #eee; }
.dr-program-lock-card dt{ color:var(--dr-muted); font-size:11px; font-weight:600; }
.dr-program-lock-card dd{ margin:0; font-size:12px; }
.dr-program-lock-card p{ margin:12px 0 0; color:var(--dr-muted); font-size:11px; line-height:1.5; }
.dr-program-save-card{ display:grid; gap:8px; }
.dr-program-availability{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px; background:#f6f6f6; border:1px solid var(--dr-line); }
.dr-program-availability > div:first-child{ display:flex; flex-direction:column; gap:3px; }
.dr-program-availability strong{ font-size:13px; }
.dr-program-availability span{ color:var(--dr-muted); font-size:11px; }
.dr-program-availability.is-on{ border-left:4px solid #2e7d32; }
.dr-program-availability.is-off{ border-left:4px solid #777; }

@media (max-width:1199.98px){
  .dr-program-card{ grid-template-columns:minmax(260px,1fr) minmax(170px,.6fr) auto; }
  .dr-program-numbers{ grid-column:1 / -1; }
}
@media (max-width:991.98px){
  .dr-program-form-shell{ grid-template-columns:1fr; }
  .dr-program-form-aside{ position:static; }
  .dr-program-card{ grid-template-columns:1fr auto; }
  .dr-program-status-column{ align-items:flex-end; }
  .dr-program-numbers{ grid-column:1 / -1; }
  .dr-program-actions{ grid-column:1 / -1; justify-content:flex-start; }
}
@media (max-width:575.98px){
  .dr-program-card{ grid-template-columns:1fr; gap:14px; padding:16px; }
  .dr-program-status-column{ align-items:flex-start; }
  .dr-program-numbers{ grid-template-columns:repeat(2,1fr); }
  .dr-program-numbers div:nth-child(2){ border-right:0; }
  .dr-program-numbers div:nth-child(-n+2){ border-bottom:1px solid var(--dr-line); }
  .dr-program-form-heading{ align-items:flex-start; }
  .dr-program-form-heading .dr-program-symbol{ width:42px; height:42px; flex-basis:42px; }
}

/* =========================================================
   ETAPA 5A · USUÁRIOS, PERFIS, PERMISSÕES E AUDITORIA
   ========================================================= */
.dr-scoreboard{
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}
.dr-score-item:last-child{ border-right:0; }

.dr-access-denied{
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:42px;
  background:#fff;
  border:1px solid var(--dr-line);
  border-left:6px solid var(--dr-blue);
  box-shadow:inset -6px 0 0 var(--dr-red);
}
.dr-access-denied-icon{
  width:84px;
  height:84px;
  flex:0 0 84px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#252525;
  font-size:34px;
}
.dr-access-denied h1{ margin:4px 0 8px; font-size:34px; text-transform:uppercase; }
.dr-access-denied p{ margin:0; color:var(--dr-muted); max-width:620px; }
.dr-access-denied small{ display:block; margin-top:10px; color:#777; }

.dr-user-list{ display:block; }
.dr-user-row{
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  min-height:94px;
  padding:14px 16px;
  background:#fff;
  border-bottom:1px solid var(--dr-line);
  border-left:4px solid var(--dr-blue);
}
.dr-user-row.dr-row-red{ border-left-color:var(--dr-red); }
.dr-user-row:last-child{ border-bottom:0; }
.dr-user-row.is-inactive{ opacity:.7; background:#f5f5f5; }
.dr-user-row-avatar{
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#292929;
  border-bottom:4px solid var(--dr-blue);
  box-shadow:inset -4px 0 0 var(--dr-red);
  font-family:Oswald,sans-serif;
  font-size:18px;
}
.dr-user-row-main{ min-width:0; }
.dr-user-row-email{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:5px;
  color:#666;
  font-size:10px;
}
.dr-user-row .dr-entity-actions form{ margin:0; }

.dr-admin-summary-list{ margin:0; }
.dr-admin-summary-list div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:9px 0;
  border-bottom:1px solid #e3e3e3;
}
.dr-admin-summary-list div:last-child{ border-bottom:0; }
.dr-admin-summary-list dt{ color:#777; font-size:9px; text-transform:uppercase; letter-spacing:.05em; }
.dr-admin-summary-list dd{ margin:0; text-align:right; font-size:10px; font-weight:600; }

.dr-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.dr-profile-card{
  position:relative;
  padding:18px;
  background:#fff;
  border:1px solid var(--dr-line);
  border-top:4px solid var(--dr-blue);
}
.dr-profile-card.is-red{ border-top-color:var(--dr-red); }
.dr-profile-card.is-inactive{ opacity:.7; background:#f5f5f5; }
.dr-profile-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.dr-profile-card-kicker{
  color:#777;
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.dr-profile-card h2{ margin:4px 0 0; font-size:23px; text-transform:uppercase; }
.dr-profile-card > p{ min-height:42px; margin:12px 0; color:#666; font-size:11px; line-height:1.55; }
.dr-profile-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:14px 0;
  border:1px solid #ddd;
}
.dr-profile-metrics div{ padding:10px; text-align:center; border-right:1px solid #ddd; }
.dr-profile-metrics div:last-child{ border-right:0; }
.dr-profile-metrics strong{ display:block; font-family:Oswald,sans-serif; font-size:21px; }
.dr-profile-metrics span{ display:block; margin-top:3px; color:#777; font-size:8px; text-transform:uppercase; }
.dr-profile-card-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.dr-profile-card-actions form{ margin:0; }

.dr-profile-form-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:16px;
  align-items:start;
}
.dr-profile-form-main{ display:grid; gap:14px; min-width:0; }
.dr-profile-form-side{ min-width:0; }
.dr-permission-toolbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:12px 14px;
  background:#f4f4f4;
  border-bottom:1px solid var(--dr-line);
}
.dr-permission-toolbar > span{ margin-left:auto; color:#777; font-size:9px; }
.dr-permission-groups{ display:grid; gap:0; }
.dr-permission-group{ border-bottom:1px solid var(--dr-line); border-left:4px solid var(--dr-blue); }
.dr-permission-group.is-red{ border-left-color:var(--dr-red); }
.dr-permission-group:last-child{ border-bottom:0; }
.dr-permission-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:#f7f7f7;
  border-bottom:1px solid #e0e0e0;
}
.dr-permission-group-head h3{ margin:0; font-size:15px; text-transform:uppercase; }
.dr-permission-group-head small{ display:block; margin-top:2px; color:#777; font-size:8px; }
.dr-permission-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.dr-permission-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:flex-start;
  gap:10px;
  min-height:70px;
  padding:12px 14px;
  border-right:1px solid #e5e5e5;
  border-bottom:1px solid #e5e5e5;
  cursor:pointer;
}
.dr-permission-row:nth-child(even){ border-right:0; }
.dr-permission-row:hover{ background:#f7f7f7; }
.dr-permission-row input{ margin-top:2px; }
.dr-permission-row strong{ display:block; font-size:10px; }
.dr-permission-row small{ display:block; margin-top:4px; color:#777; font-size:9px; line-height:1.45; }

.dr-audit-filter-grid{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.dr-audit-list{ display:block; }
.dr-audit-row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  padding:14px 16px;
  background:#fff;
  border-bottom:1px solid var(--dr-line);
  border-left:4px solid var(--dr-blue);
}
.dr-audit-row.is-red{ border-left-color:var(--dr-red); }
.dr-audit-row:last-child{ border-bottom:0; }
.dr-audit-icon{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#292929;
}
.dr-audit-main{ min-width:0; }
.dr-audit-title-line{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.dr-audit-title-line > strong{ font-size:11px; }
.dr-audit-details{ margin-top:12px; border:1px solid #ddd; }
.dr-audit-details summary{ padding:9px 11px; cursor:pointer; font-size:9px; font-weight:700; }
.dr-audit-json-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#ddd; border-top:1px solid #ddd; }
.dr-audit-json-grid > div{ min-width:0; padding:10px; background:#f8f8f8; }
.dr-audit-json-grid strong{ display:block; margin-bottom:6px; font-size:8px; text-transform:uppercase; }
.dr-audit-json-grid pre{
  max-height:300px;
  margin:0;
  padding:10px;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
  color:#444;
  background:#fff;
  border:1px solid #ddd;
  font-size:8px;
  line-height:1.45;
}

@media (max-width:1199.98px){
  .dr-profile-form-layout{ grid-template-columns:1fr; }
  .dr-profile-form-side .dr-sticky-side-panel{ position:static; }
}
@media (max-width:991.98px){
  .dr-profile-grid{ grid-template-columns:1fr; }
  .dr-user-row{ grid-template-columns:52px minmax(0,1fr); }
  .dr-user-row .dr-entity-actions{ grid-column:2; width:100%; justify-content:flex-start; }
}
@media (max-width:767.98px){
  .dr-permission-list{ grid-template-columns:1fr; }
  .dr-permission-row{ border-right:0; }
  .dr-audit-json-grid{ grid-template-columns:1fr; }
  .dr-access-denied{ align-items:flex-start; flex-direction:column; padding:24px; }
}
@media (max-width:575.98px){
  .dr-user-row{ grid-template-columns:1fr; }
  .dr-user-row-avatar{ width:46px; height:46px; }
  .dr-user-row .dr-entity-actions{ grid-column:1; padding-left:0; }
  .dr-profile-metrics{ grid-template-columns:1fr; }
  .dr-profile-metrics div{ border-right:0; border-bottom:1px solid #ddd; }
  .dr-profile-metrics div:last-child{ border-bottom:0; }
  .dr-permission-toolbar > span{ width:100%; margin-left:0; }
}
