.rbp-wrap{
  --nnas-navy:#0b3f56;
  --nnas-red:#d61f2c;
  --ink:#0f172a;
  --muted:#64748b;
  --bg:#f6f8fb;
  --card:#ffffff;
  --border:rgba(15,23,42,0.14);
  --shadow:0 18px 55px rgba(2,6,23,0.14);
  --radius:18px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", sans-serif;
  color: var(--ink);
  width: 100%;
  box-sizing: border-box;
}
.rbp-shell{
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 80vh;
}
.rbp-header{
  background: linear-gradient(135deg, rgba(11,63,86,1) 0%, rgba(9,52,72,1) 60%, rgba(11,63,86,1) 100%);
  padding: 18px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  flex: 0 0 auto;
}
.rbp-brand{ display:flex; align-items:center; gap:14px; min-width:0; }
.rbp-title{ color:#fff; line-height:1.15; }
.rbp-title h2{ margin:0; font-size:18px; font-weight:800; letter-spacing:0.2px; }
.rbp-title p{ margin:2px 0 0 0; font-size:12.5px; opacity:0.9; color: rgba(255,255,255,0.92); }
.rbp-meta{ text-align:right; color: rgba(255,255,255,0.9); font-size: 12.5px; }
.rbp-meta b{ color:#fff; }
.rbp-body{ padding: 16px; background: var(--bg); flex: 1 1 auto; overflow: auto; }
.rbp-filters{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 12px;
}
.rbp-filters-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.rbp-chip{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  background: rgba(214,31,44,0.10);
  color: var(--nnas-red);
  border: 1px solid rgba(214,31,44,0.22);
  border-radius: 999px;
  padding: 6px 10px;
  font-weight: 700;
  font-size: 12px;
}
.rbp-actions{ display:flex; gap: 8px; flex-wrap: wrap; }
.rbp-btn{
  appearance:none;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--ink);
  padding: 8px 10px;
  border-radius: 12px;
  font-weight: 700;
  cursor:pointer;
}
.rbp-btn:hover{ border-color: rgba(11,63,86,0.35); }
.rbp-btn-danger{
  background: rgba(214,31,44,0.08);
  border-color: rgba(214,31,44,0.22);
  color: var(--nnas-red);
}
.rbp-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  align-items: start;
}
@media (max-width: 1100px){
  .rbp-grid{ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
  .rbp-meta{ display:none; }
}
@media (max-width: 640px){
  .rbp-grid{ grid-template-columns: 1fr; }
}
.rbp-field{ min-width:0; }
.rbp-field label{
  display:block;
  font-size: 12px;
  font-weight: 800;
  color: var(--nnas-navy);
  margin-bottom: 4px;
}
.rbp-field input, .rbp-field select{
  width:100%;
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: #fff;
  outline: none;
  font-size: 13px;
}
.rbp-field input:focus, .rbp-field select:focus{
  border-color: rgba(11,63,86,0.45);
  box-shadow: 0 0 0 4px rgba(11,63,86,0.10);
}
.rbp-daterange{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  column-gap: 6px;
}
.rbp-daterange span{ color: var(--muted); font-weight: 800; white-space: nowrap; }
.rbp-daterange input{
  width:100%;
  min-width:0;
  padding: 9px 10px;
  box-sizing: border-box;
}
.rbp-field-wide{ grid-column: 1 / -1; }
@media (max-width: 640px){ .rbp-field-wide{ grid-column: 1 / -1; } }
.rbp-help{ font-size: 11px; color: var(--muted); margin-top: 4px; }
.rbp-table-wrap{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
}
table.rbp-record-table{ width:100%; border-collapse: collapse; }
table.rbp-record-table th, table.rbp-record-table td{
  padding: 10px;
  border-bottom: 1px solid rgba(15,23,42,0.10);
  font-size: 13px;
  white-space: nowrap;
}
table.dataTable{ width: 100% !important; border-collapse: collapse !important; }
table.dataTable thead th{
  background: rgba(11,63,86,0.06);
  color: var(--nnas-navy);
  font-weight: 900 !important;
  font-size: 12.5px;
  border-bottom: 1px solid var(--border) !important;
  white-space: nowrap;
}
table.dataTable tbody td{ font-size: 13px; vertical-align: top; white-space: nowrap; }
table.dataTable tbody tr:hover{ background: rgba(11,63,86,0.05); }
.rbp-hint{ margin-top: 10px; color: var(--muted); font-size: 12px; }
a.rbp-report-link{ color: var(--nnas-red); font-weight: 900; text-decoration: underline; }
.rbp-report-link .rbp-pdf{ display:inline-block; margin-left:6px; padding:2px 6px; border-radius:999px; font-size:11px; font-weight:900; background: rgba(214,31,44,0.10); color: var(--nnas-red); border:1px solid rgba(214,31,44,0.25); }
a.rbp-report-link:hover{
  border-color: rgba(214,31,44,0.35);
  color: var(--nnas-red);
}
.rbp-clickable{cursor:pointer;border-bottom:1px dashed rgba(11,63,86,0.35);}
.rbp-clickable:hover{border-bottom-color:#d61f2c;color:#d61f2c;}