/**
 * Repify design tokens.
 * Rosso de marca: lockup maestro #FF5D06.
 *
 * Tokens are global. Dashboard chrome: .rpf-dash on the event content
 * wrapper (adminevent templates). Sidebar/header stay outside.
 * Menu "New" badges: .rpf-badge-new → --rpf-badge-new (rosso).
 */
:root {
  --rpf-rosso: #FF5D06;
  --rpf-color-primary: #FF5D06;
  --rpf-color-primary-hover: #F07A3D;
  --rpf-color-primary-rgb: 255, 93, 6;
  --rpf-color-primary-hover-rgb: 240, 122, 61;
  --rpf-color-black: #000000;
  --rpf-color-white: #FFFFFF;
  --rpf-color-gray-dark: #2C2C2C;

  --rpf-logo-nav-h: 26px;
  --rpf-logo-nav-h-sm: 22px;
  --rpf-logo-auth-h: 52px;
  --rpf-logo-hero-h: clamp(56px, 11vw, 80px);
  --rpf-logo-mark-h: 28px;

  --rpf-color-bg: #FFFFFF;
  --rpf-color-surface: #FFFFFF;
  --rpf-color-surface-2: #F7F8F9;
  --rpf-color-text: #000000;
  --rpf-color-muted: #6B7385;
  --rpf-color-border: rgba(0, 0, 0, 0.08);
  --rpf-color-border-subtle: rgba(0, 0, 0, 0.08);
  --rpf-color-glow: rgba(255, 93, 6, 0.28);

  --rpf-radius: 6px;
  --rpf-radius-sm: 4px;
  --rpf-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.06);
  --rpf-shadow-2: 0 8px 24px rgba(0, 0, 0, 0.08);
  --rpf-focus: 0 0 0 3px var(--rpf-color-glow);
  --rpf-badge-new: var(--rpf-rosso);
  --rpf-danger: #C41E3A;
  --rpf-warning: #F5A623;
  --rpf-on-rosso: #000000;
  /* Darken-on-hover fill. #C44500 + black is 4.20:1 (fails AA); #D14800 is 4.64. */
  --rpf-color-primary-hover-fill: #D14800;
}

/* --------------------------------------------------------------------------
   1:1 dashboard aliases — literales actuales. No reinterpretar marca.
   --rpf-c-* / --rpf-rgb* conservan el hex/rgba exacto que ya pintaba.
   -------------------------------------------------------------------------- */
:root {
  --rpf-heat-onstage: #f5245e;
  --rpf-legacy-orange: #E05410;
  --rpf-legacy-orange-hover: #F07A3D;
  --rpf-adminlte-info: #3c8dbc;
  --rpf-wp-onstage: #1e73be;
  --rpf-material-pink: #c2185b;
  --rpf-bs-blue: #007bff;
  --rpf-material-blue: #2196f3;
  --rpf-navy-stylish: #1c1f2f;
  --rpf-c-0056b3: #0056b3;
  --rpf-c-00a65a: #00a65a;
  --rpf-c-00c0ef: #00c0ef;
  --rpf-c-0d0d0f: #0d0d0f;
  --rpf-c-0d0f18: #0d0f18;
  --rpf-c-0d4676: #0d4676;
  --rpf-c-131624: #131624;
  --rpf-c-138496: #138496;
  --rpf-c-151515: #151515;
  --rpf-c-17a2b8: #17a2b8;
  --rpf-c-191d2f: #191d2f;
  --rpf-c-1976d2: #1976d2;
  --rpf-c-1a1d21: #1a1d21;
  --rpf-c-212529: #212529;
  --rpf-c-222222: #222222;
  --rpf-c-229954: #229954;
  --rpf-c-242424: #242424;
  --rpf-c-24272b: #24272b;
  --rpf-c-262626: #262626;
  --rpf-c-27ae60: #27ae60;
  --rpf-c-2980b9: #2980b9;
  --rpf-c-2a2e42: #2a2e42;
  --rpf-c-2b2b2b: #2b2b2b;
  --rpf-c-2c3e50: #2c3e50;
  --rpf-c-2ecc71: #2ecc71;
  --rpf-c-333333: #333333;
  --rpf-c-343434: #343434;
  --rpf-c-343742: #343742;
  --rpf-c-343a40: #343a40;
  --rpf-c-34495e: #34495e;
  --rpf-c-3498db: #3498db;
  --rpf-c-357ca5: #357ca5;
  --rpf-c-367fa9: #367fa9;
  --rpf-c-383c44: #383c44;
  --rpf-c-3a3f45: #3a3f45;
  --rpf-c-3a3f4a: #3a3f4a;
  --rpf-c-3c3c3c: #3c3c3c;
  --rpf-c-424242: #424242;
  --rpf-c-444444: #444444;
  --rpf-c-495057: #495057;
  --rpf-c-4a4f55: #4a4f55;
  --rpf-c-4a5f7a: #4a5f7a;
  --rpf-c-4c4c4c: #4c4c4c;
  --rpf-c-4d535e: #4d535e;
  --rpf-c-4f4f4f: #4f4f4f;
  --rpf-c-515151: #515151;
  --rpf-c-535353: #535353;
  --rpf-c-545b62: #545b62;
  --rpf-c-555555: #555555;
  --rpf-c-575757: #575757;
  --rpf-c-595a5c: #595a5c;
  --rpf-c-5a6268: #5a6268;
  --rpf-c-5c6370: #5c6370;
  --rpf-c-606060: #606060;
  --rpf-c-626262: #626262;
  --rpf-c-646464: #646464;
  --rpf-c-666666: #666666;
  --rpf-c-666a72: #666a72;
  --rpf-c-6b7385: #6b7385;
  --rpf-c-6c757d: #6c757d;
  --rpf-c-6e7277: #6e7277;
  --rpf-c-6f6f6f: #6f6f6f;
  --rpf-c-737373: #737373;
  --rpf-c-757575: #757575;
  --rpf-c-777777: #777777;
  --rpf-c-797979: #797979;
  --rpf-c-7f8c8d: #7f8c8d;
  --rpf-c-848484: #848484;
  --rpf-c-8b93a3: #8b93a3;
  --rpf-c-8e44ad: #8e44ad;
  --rpf-c-919191: #919191;
  --rpf-c-95a5a6: #95a5a6;
  --rpf-c-999999: #999999;
  --rpf-c-9aa3b5: #9aa3b5;
  --rpf-c-9b59b6: #9b59b6;
  --rpf-c-9ea3ad: #9ea3ad;
  --rpf-c-aaaaaa: #aaaaaa;
  --rpf-c-adb5bd: #adb5bd;
  --rpf-c-b8b8b8: #b8b8b8;
  --rpf-c-b8bcc4: #b8bcc4;
  --rpf-c-bdbdbd: #bdbdbd;
  --rpf-c-bdc3c7: #bdc3c7;
  --rpf-c-c0392b: #c0392b;
  --rpf-c-c1c1c1: #c1c1c1;
  --rpf-c-c2c2c2: #c2c2c2;
  --rpf-c-c65b0e: #c65b0e;
  --rpf-c-c8cdd6: #c8cdd6;
  --rpf-c-cccccc: #cccccc;
  --rpf-c-ced4da: #ced4da;
  --rpf-c-d2d6de: #d2d6de;
  --rpf-c-d5d5d5: #d5d5d5;
  --rpf-c-d64545: #d64545;
  --rpf-c-d9534f: #d9534f;
  --rpf-c-dddddd: #dddddd;
  --rpf-c-dedede: #dedede;
  --rpf-c-dee2e6: #dee2e6;
  --rpf-c-dfdfdf: #dfdfdf;
  --rpf-c-e05000: #e05000;
  --rpf-c-e0e0e0: #e0e0e0;
  --rpf-c-e2e4e8: #e2e4e8;
  --rpf-c-e3e3e3: #e3e3e3;
  --rpf-c-e67e22: #e67e22;
  --rpf-c-e6e6e6: #e6e6e6;
  --rpf-c-e74c3c: #e74c3c;
  --rpf-c-e8e8e8: #e8e8e8;
  --rpf-c-e8eaee: #e8eaee;
  --rpf-c-e9e9e9: #e9e9e9;
  --rpf-c-e9ecef: #e9ecef;
  --rpf-c-ecf0f1: #ecf0f1;
  --rpf-c-eeeeee: #eeeeee;
  --rpf-c-f08080: #f08080;
  --rpf-c-f0f0f0: #f0f0f0;
  --rpf-c-f1f1f1: #f1f1f1;
  --rpf-c-f39c12: #f39c12;
  --rpf-c-f4f4f4: #f4f4f4;
  --rpf-c-f4f4f5: #f4f4f5;
  --rpf-c-f5f5f5: #f5f5f5;
  --rpf-c-f5f5f7: #f5f5f7;
  --rpf-c-f5f6f8: #f5f6f8;
  --rpf-c-f7f8f9: #f7f8f9;
  --rpf-c-f7f8fa: #f7f8fa;
  --rpf-c-f8f9fa: #f8f9fa;
  --rpf-c-f9f9f9: #f9f9f9;
  --rpf-c-fdfdfd00: #fdfdfd00;
  --rpf-c-ff1963: #ff1963;
  --rpf-c-ff6b6b: #ff6b6b;
  --rpf-c-ff6b93: #ff6b93;
  --rpf-c-ff8a3a: #ff8a3a;
  --rpf-c-fff9f9: #fff9f9;
  --rpf-rgb-0-0-0: rgb(0, 0, 0);
  --rpf-rgba-0-0-0-0p03: rgba(0, 0, 0, 0.03);
  --rpf-rgba-0-0-0-0p05: rgba(0, 0, 0, 0.05);
  --rpf-rgba-0-0-0-0p06: rgba(0, 0, 0, 0.06);
  --rpf-rgba-0-0-0-0p08: rgba(0, 0, 0, 0.08);
  --rpf-rgba-0-0-0-0p1: rgba(0, 0, 0, 0.1);
  --rpf-rgba-0-0-0-0p15: rgba(0, 0, 0, 0.15);
  --rpf-rgba-0-0-0-0p2: rgba(0, 0, 0, 0.2);
  --rpf-rgba-0-0-0-0p25: rgba(0, 0, 0, 0.25);
  --rpf-rgba-0-0-0-0p3: rgba(0, 0, 0, 0.3);
  --rpf-rgba-0-0-0-0p45: rgba(0, 0, 0, 0.45);
  --rpf-rgba-0-0-0-p15: rgba(0, 0, 0, .15);
  --rpf-rgba-0-0-0-p2: rgba(0, 0, 0, .2);
  --rpf-rgba-16-18-24-0p14: rgba(16, 18, 24, 0.14);
  --rpf-rgba-224-84-16-0p71: rgba(224, 84, 16, 0.71);
  --rpf-rgba-255-255-255-0: rgba(255, 255, 255, 0);
  --rpf-rgba-255-255-255-0p06: rgba(255, 255, 255, 0.06);
  --rpf-rgba-255-255-255-0p1: rgba(255, 255, 255, 0.1);
  --rpf-rgba-255-255-255-0p16: rgba(255, 255, 255, 0.16);
  --rpf-rgba-255-255-255-0p2: rgba(255, 255, 255, 0.2);
  --rpf-rgba-255-255-255-0p22: rgba(255, 255, 255, 0.22);
  --rpf-rgba-255-255-255-0p28: rgba(255, 255, 255, 0.28);
  --rpf-rgba-255-255-255-0p32: rgba(255, 255, 255, 0.32);
  --rpf-rgba-255-255-255-0p45: rgba(255, 255, 255, 0.45);
  --rpf-rgba-255-255-255-0p5: rgba(255, 255, 255, 0.5);
  --rpf-rgba-255-255-255-0p55: rgba(255, 255, 255, 0.55);
  --rpf-rgba-255-255-255-0p95: rgba(255, 255, 255, 0.95);
  --rpf-rgba-255-93-6-0p28: rgba(255, 93, 6, 0.28);
  --rpf-rgba-255-93-6-0p45: rgba(255, 93, 6, 0.45);
}

body.dark-mode {
  --rpf-color-bg: #000000;
  --rpf-color-surface: #2C2C2C;
  --rpf-color-surface-2: #2C2C2C;
  --rpf-color-text: #FFFFFF;
  --rpf-color-muted: #9AA3B5;
  --rpf-color-border: rgba(255, 255, 255, 0.08);
  --rpf-color-border-subtle: rgba(255, 255, 255, 0.10);
  --rpf-color-glow: rgba(240, 122, 61, 0.4);
}

/* --------------------------------------------------------------------------
   .rpf-dash — Ferrari dashboard chrome (opt-in per view)
   Contrast: black/white + rosso accent. Shadows: elevation, never tinted.
   Selectors are class-prefixed. Do not restyle raw table/input/button:
   plugins (datepicker, select2, QR) may render inside the wrapper.
   -------------------------------------------------------------------------- */
.rpf-dash {
  color: var(--rpf-color-text);
  --rpf-color-primary-hover: #E04F00;
  --rpf-color-surface-2: #F4F4F5;
  --rpf-color-muted: #5A6270;
  --rpf-color-border: rgba(0, 0, 0, 0.14);
  --rpf-color-border-subtle: rgba(0, 0, 0, 0.08);
  --rpf-motion: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

body.dark-mode .rpf-dash {
  --rpf-color-surface-2: #1A1A1A;
  --rpf-color-muted: #B4B9C4;
  --rpf-color-border: rgba(255, 255, 255, 0.18);
  --rpf-color-border-subtle: rgba(255, 255, 255, 0.10);
  --rpf-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.45);
  --rpf-shadow-2: 0 10px 28px rgba(0, 0, 0, 0.55);
}

.rpf-dash .box {
  background: var(--rpf-color-surface);
  border: 1px solid var(--rpf-color-border);
  border-radius: var(--rpf-radius);
  box-shadow: var(--rpf-shadow-1);
  overflow: visible;
}

.rpf-dash .box.box-primary,
.rpf-dash .box.box-info,
.rpf-dash .box.box-success,
.rpf-dash .box.box-warning,
.rpf-dash .box.box-danger {
  border-top: 2px solid var(--rpf-rosso);
}

.rpf-dash .box-header {
  background: var(--rpf-color-surface);
  color: var(--rpf-color-text);
  border-bottom: 1px solid var(--rpf-color-border);
  padding: 12px 16px;
}

.rpf-dash .box-header.with-border {
  border-bottom: 1px solid var(--rpf-color-border);
}

.rpf-dash .box-title {
  color: var(--rpf-color-text);
  font-weight: 600;
  font-size: 16px;
}

.rpf-dash .box-title .fa {
  color: var(--rpf-rosso);
  margin-right: 6px;
}

.rpf-dash .box-body {
  background: var(--rpf-color-surface);
  color: var(--rpf-color-text);
  padding: 16px;
}

.rpf-dash .info-box-small {
  background: var(--rpf-color-surface);
  border: 1px solid var(--rpf-color-border);
  border-radius: var(--rpf-radius);
  box-shadow: var(--rpf-shadow-1);
  padding: 14px;
  margin-bottom: 0;
}

.rpf-dash .info-box-small:hover {
  box-shadow: var(--rpf-shadow-2);
}

.rpf-dash .info-box-small .info-box-header {
  border-bottom: 1px solid var(--rpf-color-border);
  padding-bottom: 10px;
  margin-bottom: 12px;
}

.rpf-dash .info-box-small .rpf-dash-kicker {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--rpf-color-text);
}

.rpf-dash .info-box-small .rpf-dash-kicker .fa {
  color: var(--rpf-rosso);
  margin-right: 6px;
}

.rpf-dash .info-box-small .score-details {
  font-size: 12px;
  color: var(--rpf-color-muted);
  margin-bottom: 10px;
}

.rpf-dash .info-box-small .form-group {
  margin-bottom: 10px;
}

.rpf-dash #claimsModuleLink {
  font-size: 12px;
}

.rpf-dash .info-box-small .score-details .fa {
  color: var(--rpf-color-muted);
}

.rpf-dash .config-card {
  padding: 14px 12px;
  border: 1px solid var(--rpf-color-border);
  border-radius: var(--rpf-radius);
  margin-bottom: 10px;
  background: var(--rpf-color-surface);
  box-shadow: var(--rpf-shadow-1);
  min-height: 148px;
}

.rpf-dash .config-card-icon {
  font-size: 22px;
  margin-bottom: 8px;
  color: var(--rpf-rosso);
}

.rpf-dash .config-card-title {
  margin: 0 0 6px;
  font-weight: 600;
  color: var(--rpf-color-text);
}

.rpf-dash .config-card-value {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: var(--rpf-color-text);
  margin-bottom: 4px;
}

.rpf-dash .config-card-hint {
  margin: 0;
  font-size: 12px;
  color: var(--rpf-color-muted);
}

.rpf-dash .btn,
.rpf-dash .form-control,
.rpf-dash .claims-action,
.rpf-dash .info-box-small,
.rpf-dash .config-card {
  transition: var(--rpf-motion);
}

.rpf-dash .btn {
  border-radius: var(--rpf-radius-sm);
  font-weight: 600;
  box-shadow: none;
}

.rpf-dash .btn:focus,
.rpf-dash .btn:active:focus {
  outline: 0;
  box-shadow: var(--rpf-focus);
}

.rpf-dash .btn.btn-primary,
.rpf-dash .info-box-small .btn.btn-primary {
  background-color: var(--rpf-rosso) !important;
  border-color: var(--rpf-rosso) !important;
  color: var(--rpf-color-white) !important;
}

.rpf-dash .btn.btn-primary:hover,
.rpf-dash .btn.btn-primary:focus,
.rpf-dash .info-box-small .btn.btn-primary:hover {
  background-color: var(--rpf-color-primary-hover) !important;
  border-color: var(--rpf-color-primary-hover) !important;
  color: var(--rpf-color-white) !important;
}

.rpf-dash .btn-default {
  background-color: var(--rpf-color-surface) !important;
  color: var(--rpf-color-text) !important;
  border: 1px solid var(--rpf-color-border) !important;
}

.rpf-dash .btn-default:hover {
  background-color: var(--rpf-color-surface-2) !important;
  color: var(--rpf-color-text) !important;
  border-color: var(--rpf-color-text) !important;
}

.rpf-dash .rpf-dash-toolbar .btn-group .btn {
  background-color: var(--rpf-color-surface) !important;
  color: var(--rpf-color-text) !important;
  border: 1px solid var(--rpf-color-border) !important;
  margin-right: 6px;
  margin-bottom: 6px;
  border-radius: var(--rpf-radius-sm) !important;
}

.rpf-dash .rpf-dash-toolbar .btn-group .btn:hover {
  background-color: var(--rpf-color-surface-2) !important;
  color: var(--rpf-color-text) !important;
  border-color: var(--rpf-color-text) !important;
}

.rpf-dash .rpf-dash-toolbar .btn-group .btn.active,
.rpf-dash .rpf-dash-toolbar .btn-group .btn.btn-primary,
.rpf-dash .rpf-dash-toolbar .btn-group .btn.btn-primary:hover,
.rpf-dash .rpf-dash-toolbar .btn-group .btn.active:hover {
  background-color: var(--rpf-color-black) !important;
  color: var(--rpf-color-white) !important;
  border-color: var(--rpf-color-black) !important;
}

.rpf-dash .form-control {
  border-radius: var(--rpf-radius-sm);
  border: 1px solid var(--rpf-color-border);
  box-shadow: none;
  color: var(--rpf-color-text);
  background: var(--rpf-color-surface);
}

.rpf-dash .form-control:focus {
  border-color: var(--rpf-rosso);
  box-shadow: var(--rpf-focus);
}

.rpf-dash .form-control[readonly] {
  background: var(--rpf-color-surface-2);
  color: var(--rpf-color-text);
}

.rpf-dash .label {
  font-weight: 600;
  border-radius: var(--rpf-radius-sm);
  padding: 4px 8px;
  font-size: 11px;
  letter-spacing: 0.02em;
}

.rpf-dash .label-lg,
.rpf-dash .rpf-dash-status {
  padding: 10px 20px;
  font-size: 15px;
  display: inline-block;
  border-radius: var(--rpf-radius-sm);
}

.rpf-dash .rpf-dash-status.system-status-enabled {
  background-color: var(--rpf-color-black) !important;
  color: var(--rpf-color-white) !important;
}

.rpf-dash .rpf-dash-status.system-status-disabled {
  background-color: var(--rpf-rosso) !important;
  color: var(--rpf-color-white) !important;
}

.rpf-dash .label-primary,
.rpf-dash .label-info,
.rpf-dash .label-pink {
  background-color: var(--rpf-rosso);
  color: var(--rpf-color-white);
}

.rpf-dash .label-success {
  background-color: var(--rpf-color-black);
  color: var(--rpf-color-white);
}

.rpf-dash .label-warning {
  background-color: var(--rpf-warning);
  color: var(--rpf-color-black);
}

.rpf-dash .label-danger {
  background-color: var(--rpf-danger);
  color: var(--rpf-color-white);
}

.rpf-dash .label-default {
  background-color: var(--rpf-color-surface-2);
  color: var(--rpf-color-text);
  border: 1px solid var(--rpf-color-border);
}

.rpf-dash .alert-danger {
  background: #FDECEC;
  border: 1px solid #C41E3A;
  color: #7A1022;
  border-radius: var(--rpf-radius-sm);
}

.rpf-dash .rpf-dash-center {
  text-align: center;
}

.rpf-dash .rpf-dash-status-wrap {
  text-align: center;
  padding: 20px 0;
}

.rpf-dash .rpf-dash-qr {
  display: inline-block;
  padding: 8px;
  background: var(--rpf-color-white);
  border: 1px solid var(--rpf-color-border);
  border-radius: var(--rpf-radius-sm);
  box-shadow: var(--rpf-shadow-1);
}

.rpf-dash .rpf-dash-qr-wrap {
  text-align: center;
  padding: 10px 0;
}

.rpf-dash .rpf-dash-actions {
  text-align: center;
}

.rpf-dash .rpf-dash-actions .btn + .btn {
  margin-top: 6px;
}

.rpf-dash .rpf-dash-toolbar {
  margin-bottom: 16px;
}

.rpf-dash .rpf-dash-config-actions {
  margin-top: 20px;
}

.rpf-dash .claims-table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--rpf-color-border);
  border-radius: var(--rpf-radius);
  box-shadow: var(--rpf-shadow-1);
  background: var(--rpf-color-surface);
}

.rpf-dash .claims-table,
.rpf-dash .rpf-dash-table {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--rpf-color-text);
  background: var(--rpf-color-surface);
  border: 0;
}

.rpf-dash .claims-table thead th,
.rpf-dash .rpf-dash-table thead th {
  cursor: pointer;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid var(--rpf-color-border);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background-color: var(--rpf-color-surface-2);
  color: var(--rpf-color-text);
  white-space: nowrap;
  user-select: none;
}

.rpf-dash .claims-table thead th.claims-th-actions {
  cursor: default;
}

.rpf-dash .claims-table tbody td,
.rpf-dash .rpf-dash-table tbody td {
  padding: 10px 14px;
  border: 0;
  border-top: 1px solid var(--rpf-color-border-subtle);
  vertical-align: middle;
  background-color: var(--rpf-color-surface);
}

.rpf-dash .claims-table.table-striped > tbody > tr:nth-of-type(odd) > td,
.rpf-dash .rpf-dash-table.table-striped > tbody > tr:nth-of-type(odd) > td {
  background-color: var(--rpf-color-surface);
}

.rpf-dash .claims-table tbody tr:hover > td,
.rpf-dash .rpf-dash-table tbody tr:hover > td {
  background-color: var(--rpf-color-surface-2);
}

.rpf-dash .claims-table.table-bordered,
.rpf-dash .rpf-dash-table.table-bordered {
  border: 0;
}

.rpf-dash .text-muted {
  color: var(--rpf-color-muted) !important;
}

.rpf-dash .claims-search .form-control {
  border-radius: var(--rpf-radius-sm);
}

.rpf-dash .claims-loader {
  height: 3px;
  width: 100%;
  background: var(--rpf-color-surface-2);
  overflow: hidden;
  margin-bottom: 12px;
  border-radius: 2px;
}

.rpf-dash .claims-loader-bar {
  height: 100%;
  width: 40%;
  background: var(--rpf-rosso);
  animation: rpf-dash-loader-slide 1.1s ease-in-out infinite;
}

@keyframes rpf-dash-loader-slide {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(280%); }
}

.rpf-dash .claims-empty {
  background: var(--rpf-color-surface);
  color: var(--rpf-color-muted);
  border: 1px dashed var(--rpf-color-border);
  border-radius: var(--rpf-radius);
  padding: 20px 16px;
}

.rpf-dash .claims-empty-link {
  color: var(--rpf-rosso);
  font-weight: 600;
}

.rpf-dash .claims-action {
  background-color: var(--rpf-color-surface);
  border: 1px solid var(--rpf-color-border);
  color: var(--rpf-color-text);
  padding: 0;
  font-size: 12px;
  border-radius: var(--rpf-radius-sm);
  text-decoration: none;
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
}

.rpf-dash .claims-action:hover,
.rpf-dash .claims-action:focus {
  background-color: var(--rpf-color-black);
  border-color: var(--rpf-color-black);
  color: var(--rpf-color-white);
  text-decoration: none;
  box-shadow: var(--rpf-focus);
}

.rpf-dash .dataTables_info {
  color: var(--rpf-color-muted);
  font-size: 12px;
  padding-top: 12px;
}

.rpf-dash .modal-content-elite {
  background: var(--rpf-color-surface);
  border: 1px solid var(--rpf-color-border);
  border-radius: var(--rpf-radius);
  box-shadow: var(--rpf-shadow-2);
  color: var(--rpf-color-text);
}

.rpf-dash .modal-content-elite .modal-header {
  border-bottom: 1px solid var(--rpf-color-border);
}

.rpf-dash .modal-content-elite .modal-footer {
  border-top: 1px solid var(--rpf-color-border);
}

.rpf-dash .modal-content-elite .modal-title {
  color: var(--rpf-color-text);
  font-weight: 600;
}

.rpf-dash .modal-content-elite .close {
  color: var(--rpf-color-text);
  opacity: 0.7;
}

.rpf-dash .timeline {
  position: relative;
  padding-left: 30px;
}

.rpf-dash .timeline-item {
  position: relative;
  margin-bottom: 20px;
}

.rpf-dash .timeline-marker {
  position: absolute;
  left: -30px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--rpf-rosso);
  box-shadow: 0 0 0 3px var(--rpf-color-glow);
}

.rpf-dash .timeline-content {
  background: var(--rpf-color-surface-2);
  padding: 10px 12px;
  border-radius: var(--rpf-radius-sm);
  border-left: 2px solid var(--rpf-rosso);
}

.rpf-dash .timeline-content .timeline-heading {
  margin: 0 0 5px 0;
  font-weight: 700;
}

@media (max-width: 768px) {
  .rpf-dash .rpf-dash-toolbar .btn-group .btn {
    font-size: 12px;
    padding: 4px 8px;
    margin-right: 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rpf-dash .btn,
  .rpf-dash .form-control,
  .rpf-dash .claims-action,
  .rpf-dash .info-box-small,
  .rpf-dash .config-card {
    transition: none;
  }
}

body.dark-mode .rpf-dash .box,
body.dark-mode .rpf-dash .info-box-small,
body.dark-mode .rpf-dash .config-card,
body.dark-mode .rpf-dash .claims-table-wrapper,
body.dark-mode .rpf-dash .claims-empty,
body.dark-mode .rpf-dash .modal-content-elite {
  background: var(--rpf-color-surface);
  color: var(--rpf-color-text);
}

body.dark-mode .rpf-dash .claims-table tbody td,
body.dark-mode .rpf-dash .rpf-dash-table tbody td,
body.dark-mode .rpf-dash .claims-table.table-striped > tbody > tr:nth-of-type(odd) > td {
  background-color: var(--rpf-color-surface);
  color: var(--rpf-color-text);
}

body.dark-mode .rpf-dash .claims-action {
  background-color: var(--rpf-color-surface);
  border-color: var(--rpf-color-border);
  color: var(--rpf-color-text);
}

body.dark-mode .rpf-dash .claims-action:hover {
  background-color: var(--rpf-rosso);
  border-color: var(--rpf-rosso);
  color: var(--rpf-color-white);
}

body.dark-mode .rpf-dash .alert-danger {
  background: #3A151A;
  border-color: #C41E3A;
  color: #FFD6DC;
}

body.dark-mode .rpf-dash .rpf-dash-qr {
  background: var(--rpf-color-white);
}

/* Sidebar "New" badge — outside .rpf-dash on purpose */
.rpf-badge-new,
.main-sidebar .rpf-badge-new,
.sidebar-menu .rpf-badge-new {
  background-color: var(--rpf-badge-new) !important;
  color: var(--rpf-color-white) !important;
  border: 0 !important;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 10px;
  padding: 3px 6px;
  border-radius: var(--rpf-radius-sm);
}

.rpf-dash .content-header h1 {
  color: var(--rpf-color-text);
  font-weight: 600;
}

.rpf-dash .content-header p {
  color: var(--rpf-color-muted);
}

.rpf-dash .rpf-check {
  color: var(--rpf-rosso);
}

.rpf-dash .btn.btn-info {
  background-color: var(--rpf-rosso) !important;
  border-color: var(--rpf-rosso) !important;
  color: var(--rpf-color-white) !important;
}

.rpf-dash .btn.btn-success {
  background-color: var(--rpf-color-black) !important;
  border-color: var(--rpf-color-black) !important;
  color: var(--rpf-color-white) !important;
}

.rpf-dash .btn.btn-warning {
  background-color: var(--rpf-warning) !important;
  border-color: var(--rpf-warning) !important;
  color: var(--rpf-color-black) !important;
}

.rpf-dash .btn.btn-danger {
  background-color: var(--rpf-danger) !important;
  border-color: var(--rpf-danger) !important;
  color: var(--rpf-color-white) !important;
}

.rpf-dash .box-footer {
  background: var(--rpf-color-surface);
  border-top: 1px solid var(--rpf-color-border);
}

.rpf-dash .nav-tabs {
  border-bottom: 1px solid var(--rpf-color-border);
}

.rpf-dash .nav-tabs > li > a {
  color: var(--rpf-color-muted);
  border-radius: var(--rpf-radius-sm) var(--rpf-radius-sm) 0 0;
}

.rpf-dash .nav-tabs > li.active > a,
.rpf-dash .nav-tabs > li.active > a:hover,
.rpf-dash .nav-tabs > li.active > a:focus {
  color: var(--rpf-color-text);
  background: var(--rpf-color-surface);
  border-color: var(--rpf-color-border);
  border-bottom-color: var(--rpf-color-surface);
  box-shadow: inset 0 -2px 0 var(--rpf-rosso);
}

.rpf-dash .nav-pills > li.active > a,
.rpf-dash .nav-pills > li.active > a:hover,
.rpf-dash .nav-pills > li.active > a:focus {
  background-color: var(--rpf-color-black);
  color: var(--rpf-color-white);
}

.rpf-dash .pagination > li > a,
.rpf-dash .pagination > li > span {
  color: var(--rpf-color-text);
  background: var(--rpf-color-surface);
  border-color: var(--rpf-color-border);
}

.rpf-dash .pagination > .active > a,
.rpf-dash .pagination > .active > span {
  background-color: var(--rpf-color-black);
  border-color: var(--rpf-color-black);
  color: var(--rpf-color-white);
}

.rpf-dash .callout {
  border-radius: var(--rpf-radius);
  border-left-width: 3px;
  box-shadow: var(--rpf-shadow-1);
}

.rpf-dash .callout.callout-info {
  border-left-color: var(--rpf-rosso);
}

.rpf-dash .callout.callout-warning {
  border-left-color: var(--rpf-warning);
}

.rpf-dash .callout.callout-danger {
  border-left-color: var(--rpf-danger);
}

.rpf-dash .callout.callout-success {
  border-left-color: var(--rpf-color-black);
}

.rpf-dash .input-group-addon {
  background: var(--rpf-color-surface-2);
  border-color: var(--rpf-color-border);
  color: var(--rpf-color-muted);
}

.rpf-dash .dataTables_wrapper table.dataTable thead th {
  background: var(--rpf-color-surface-2);
  color: var(--rpf-color-text);
  border-bottom: 1px solid var(--rpf-color-border);
  font-weight: 600;
}

.rpf-dash .dataTables_wrapper table.dataTable tbody td {
  border-top: 1px solid var(--rpf-color-border-subtle);
  color: var(--rpf-color-text);
}

.rpf-dash .well {
  background: var(--rpf-color-surface-2);
  border: 1px solid var(--rpf-color-border);
  box-shadow: none;
  border-radius: var(--rpf-radius);
}

.rpf-dash .dropdown-menu {
  border: 1px solid var(--rpf-color-border);
  box-shadow: var(--rpf-shadow-2);
  border-radius: var(--rpf-radius-sm);
}

.rpf-dash .dropdown-menu > .active > a,
.rpf-dash .dropdown-menu > li > a:hover {
  background-color: var(--rpf-color-surface-2);
  color: var(--rpf-color-text);
}

.rpf-dash .alert-warning {
  background: #FFF6E5;
  border: 1px solid var(--rpf-warning);
  color: #6B4A00;
  border-radius: var(--rpf-radius-sm);
}

.rpf-dash .alert-success {
  background: var(--rpf-color-surface-2);
  border: 1px solid var(--rpf-color-border);
  color: var(--rpf-color-text);
  border-radius: var(--rpf-radius-sm);
}

.rpf-dash .alert-info {
  background: #FFF4ED;
  border: 1px solid var(--rpf-rosso);
  color: var(--rpf-color-text);
  border-radius: var(--rpf-radius-sm);
}

body.dark-mode .rpf-dash .alert-warning {
  background: #3A2A10;
  color: #FFDFA8;
}

body.dark-mode .rpf-dash .alert-info {
  background: #3A1F12;
  color: var(--rpf-color-text);
}

/* --------------------------------------------------------------------------
   Public /event/{id} (body.rpf-public). Ley: docs/RPF_PUBLIC_UI.md
   Light = platinum canvas + white cards. Dark = asphalt GT.
   Scope: header (cockpit) + #container / .event-home / .modal.
   LOCK: never match .footer-wrap, footer, html, raw button/input, [class*="box"].
   -------------------------------------------------------------------------- */
body.rpf-public {
  --rpf-gt-asphalt: #050505;
  --rpf-gt-carbon: #111216;
  --rpf-gt-raised: #1A1C23;
  --rpf-gt-cockpit: #18191E;
  --rpf-platinum: #F4F5F7;
  --rpf-ink: #0B0F19;
  --rpf-slate: #374151;
  --rpf-meta: #6B7280;
  --rpf-line: #E2E4E9;
  --rpf-input-line: #D1D5DB;
  --rpf-lift: 0 10.3px 30px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.08);
  --rpf-color-muted: #6B7280;
  --rpf-color-border: #E2E4E9;
  --rpf-color-border-subtle: #E2E4E9;
  --rpf-color-surface: #FFFFFF;
  --rpf-color-surface-2: #FFFFFF;
  --rpf-color-primary-hover: #E05000;
  --rpf-color-primary-hover-fill: #E05000;
  --rpf-motion: background-color 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  color: var(--rpf-slate);
  background-color: var(--rpf-platinum) !important;
  color-scheme: light;
  letter-spacing: -0.01em;
}

body.dark-mode.rpf-public {
  --rpf-color-bg: var(--rpf-gt-asphalt);
  --rpf-color-surface: var(--rpf-gt-carbon);
  --rpf-color-surface-2: var(--rpf-gt-raised);
  --rpf-color-text: #FFFFFF;
  --rpf-color-muted: #B4B9C4;
  --rpf-color-border: rgba(255, 255, 255, 0.08);
  --rpf-color-border-subtle: rgba(255, 255, 255, 0.08);
  color: var(--rpf-color-white);
  background-color: var(--rpf-gt-asphalt) !important;
  color-scheme: dark;
}

body.rpf-public #container,
body.rpf-public .event-home,
body.rpf-public .v-page-wrap {
  color: var(--rpf-slate);
  background-color: var(--rpf-platinum) !important;
}

body.dark-mode.rpf-public #container,
body.dark-mode.rpf-public .event-home,
body.dark-mode.rpf-public .v-page-wrap,
body.dark-mode.rpf-public .middle-section {
  color: var(--rpf-color-white) !important;
  background-color: var(--rpf-gt-asphalt) !important;
  background-image: none !important;
}

body.dark-mode.rpf-public .tab-content,
body.dark-mode.rpf-public #container .tab-content {
  position: relative;
  color: var(--rpf-color-white) !important;
  background-color: var(--rpf-gt-carbon) !important;
  background-image: none !important;
  border: 1px solid var(--rpf-color-border-subtle) !important;
  border-radius: 8px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 255, 255, 0.03);
  overflow: hidden;
}

body.dark-mode.rpf-public .tab-content::before,
body.dark-mode.rpf-public #container .tab-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--rpf-rosso), rgba(255, 93, 6, 0));
  pointer-events: none;
  z-index: 2;
}

body.rpf-public #container .tab-content,
body.rpf-public .event-home .tab-content {
  background-color: #FFFFFF;
  border: 1px solid var(--rpf-line);
  border-radius: 6px;
  box-shadow: var(--rpf-lift);
  padding: 12px 16px 16px;
}

body.dark-mode.rpf-public #container .tab-content,
body.dark-mode.rpf-public .event-home .tab-content {
  background-color: var(--rpf-gt-carbon) !important;
  border: 1px solid var(--rpf-color-border-subtle) !important;
  color: var(--rpf-color-white) !important;
}

body.rpf-public #container p,
body.rpf-public #container li,
body.rpf-public #container td,
body.rpf-public #container th,
body.rpf-public .event-home p,
body.rpf-public .event-home li {
  color: var(--rpf-slate);
}

body.rpf-public #container .text-muted,
body.rpf-public #container .help-block,
body.rpf-public #container .caption,
body.rpf-public .event-home .text-muted,
body.rpf-public .event-home .help-block {
  color: var(--rpf-meta);
}

/* Cockpit header — Nexus .header-container, not .navbar */
body.rpf-public .header-container,
body.rpf-public header.header {
  background-color: #000000 !important;
  border-bottom: 0 !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
}

body.dark-mode.rpf-public .header-container,
body.dark-mode.rpf-public header.header {
  border-bottom: 0 !important;
  box-shadow: none;
}

body.rpf-public header nav ul.nav-main > li > a,
body.rpf-public .header-container nav ul.nav-main > li > a {
  color: #F2F2F2 !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 12px;
  transition: var(--rpf-motion);
  border-bottom: 2px solid transparent;
}

body.rpf-public header nav ul.nav-main > li > a:hover,
body.rpf-public header nav ul.nav-main > li:hover > a,
body.rpf-public header nav ul.nav-main > li > a[style*="color"]:hover,
body.dark-mode.rpf-public header nav ul.nav-main > li > a:hover,
body.dark-mode.rpf-public header nav ul.nav-main > li:hover > a {
  color: var(--rpf-rosso) !important;
  background-color: transparent !important;
  text-decoration: none;
  border-bottom-color: var(--rpf-rosso);
  border-color: transparent transparent var(--rpf-rosso) !important;
}

body.rpf-public .v-page-heading,
body.rpf-public .v-page-heading .heading-text,
body.rpf-public .v-page-heading .breadcrumb,
body.rpf-public .v-page-heading .breadcrumb li,
body.rpf-public .v-page-heading .breadcrumb a,
body.rpf-public .v-page-heading .breadcrumb .active {
  color: #ffffff;
  background-color: #000000;
}

body.rpf-public .v-page-heading .heading-text h1,
body.rpf-public .v-page-heading .heading-text h2 {
  color: #ffffff !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body.rpf-public .v-page-heading .heading-text h2 {
  font-weight: 600 !important;
  letter-spacing: 0.12em;
  font-size: 13px;
  opacity: 0.88;
}

body.rpf-public #container h1,
body.rpf-public #container h2,
body.rpf-public #container h3,
body.rpf-public #container .page-header,
body.rpf-public .event-home h1,
body.rpf-public .event-home h2,
body.rpf-public .event-home h3 {
  color: var(--rpf-ink);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: none;
}

body.rpf-public .v-page-heading .breadcrumb a:hover,
body.rpf-public .v-page-heading .breadcrumb a:focus {
  color: #ffffff !important;
  text-decoration: underline;
  text-decoration-color: var(--rpf-rosso);
  text-underline-offset: 3px;
  border-color: transparent !important;
}

body.rpf-public header a:hover,
body.rpf-public .header-container a:hover,
body.rpf-public #container a:hover,
body.rpf-public .event-home a:hover,
body.rpf-public .modal a:hover {
  color: inherit !important;
  border-color: transparent !important;
  text-decoration: underline;
  text-decoration-color: var(--rpf-rosso);
  text-underline-offset: 3px;
}

body.rpf-public header nav ul.nav-main > li > a:hover {
  text-decoration: none;
}

body.dark-mode.rpf-public #container p,
body.dark-mode.rpf-public #container li,
body.dark-mode.rpf-public #container td,
body.dark-mode.rpf-public #container th,
body.dark-mode.rpf-public .event-home p,
body.dark-mode.rpf-public .event-home li {
  color: #E5E7EB;
}

body.dark-mode.rpf-public #container .text-muted,
body.dark-mode.rpf-public #container .help-block,
body.dark-mode.rpf-public .event-home .text-muted,
body.dark-mode.rpf-public .event-home .help-block {
  color: #B4B9C4;
}

body.dark-mode.rpf-public #container h1,
body.dark-mode.rpf-public #container h2,
body.dark-mode.rpf-public #container h3,
body.dark-mode.rpf-public .event-home h1,
body.dark-mode.rpf-public .event-home h2,
body.dark-mode.rpf-public .event-home h3 {
  color: #ffffff;
}

body.rpf-public #container label,
body.rpf-public .event-home label,
body.rpf-public .modal-content label {
  color: var(--rpf-slate);
  font-weight: 600;
}

body.dark-mode.rpf-public #container label,
body.dark-mode.rpf-public .event-home label,
body.dark-mode.rpf-public .modal-content label {
  color: #E5E7EB;
}

body.rpf-public #container .btn,
body.rpf-public .event-home .btn,
body.rpf-public .modal .btn,
body.rpf-public #container .btn.v-btn,
body.rpf-public .event-home .btn.v-btn,
body.rpf-public .modal .btn.v-btn {
  transition: var(--rpf-motion);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 4px;
  text-shadow: none;
}

body.rpf-public #container .btn-primary,
body.rpf-public #container a.btn-primary,
body.rpf-public #container button.btn-primary,
body.rpf-public #container .btn.v-btn.v-midnight-blue,
body.rpf-public #container a.btn.v-btn.v-midnight-blue,
body.rpf-public .event-home .btn-primary,
body.rpf-public .event-home a.btn-primary,
body.rpf-public .event-home .btn.v-btn.v-midnight-blue,
body.rpf-public .event-home a.btn.v-btn.v-midnight-blue,
body.rpf-public .modal .btn-primary,
body.rpf-public .modal a.btn-primary,
body.dark-mode.rpf-public #container .btn-primary,
body.dark-mode.rpf-public #container a.btn-primary,
body.dark-mode.rpf-public #container .btn.v-btn.v-midnight-blue,
body.dark-mode.rpf-public .event-home .btn-primary,
body.dark-mode.rpf-public .event-home a.btn-primary,
body.dark-mode.rpf-public .modal .btn-primary {
  background-color: var(--rpf-rosso) !important;
  border: 0 !important;
  color: #000000 !important;
  font-weight: 800;
  text-shadow: none !important;
  box-shadow: 0 4px 18px rgba(255, 93, 6, 0.22);
}

body.rpf-public #container .btn-primary:hover,
body.rpf-public #container .btn-primary:focus,
body.rpf-public #container .btn-primary:active,
body.rpf-public #container a.btn-primary:hover,
body.rpf-public #container a.btn-primary:focus,
body.rpf-public #container button.btn-primary:hover,
body.rpf-public #container .btn.v-btn.v-midnight-blue:hover,
body.rpf-public #container a.btn.v-btn.v-midnight-blue:hover,
body.rpf-public .event-home .btn-primary:hover,
body.rpf-public .event-home a.btn-primary:hover,
body.rpf-public .event-home .btn.v-btn.v-midnight-blue:hover,
body.rpf-public .modal .btn-primary:hover,
body.dark-mode.rpf-public #container .btn-primary:hover,
body.dark-mode.rpf-public #container a.btn-primary:hover,
body.dark-mode.rpf-public .event-home .btn-primary:hover,
body.dark-mode.rpf-public .modal .btn-primary:hover {
  background-color: #E05000 !important;
  border: 0 !important;
  color: #000000 !important;
  text-decoration: none;
  text-shadow: none !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 22px rgba(255, 93, 6, 0.28);
}

body.rpf-public #container .btn-primary:focus,
body.rpf-public #container a.btn-primary:focus,
body.rpf-public #container .btn.v-btn:focus,
body.rpf-public .event-home .btn-primary:focus,
body.rpf-public .modal .btn-primary:focus {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(255, 93, 6, 0.15);
}

body.rpf-public #container .form-control,
body.rpf-public #container input[type="text"],
body.rpf-public #container input[type="email"],
body.rpf-public #container input[type="password"],
body.rpf-public #container input[type="number"],
body.rpf-public #container input[type="search"],
body.rpf-public #container input[type="tel"],
body.rpf-public #container input[type="url"],
body.rpf-public #container input[type="date"],
body.rpf-public #container input[type="datetime-local"],
body.rpf-public #container input[type="time"],
body.rpf-public #container textarea,
body.rpf-public #container select,
body.rpf-public #container select.form-control,
body.rpf-public .event-home .form-control,
body.rpf-public .event-home textarea,
body.rpf-public .event-home select,
body.rpf-public .modal .form-control,
body.rpf-public .modal textarea,
body.rpf-public .modal select {
  background-color: #FFFFFF !important;
  color: var(--rpf-ink) !important;
  border: 1px solid var(--rpf-input-line) !important;
  border-radius: 6px;
  padding: 8px 12px;
  box-shadow: none;
}

body.rpf-public #container .form-control:focus,
body.rpf-public #container input[type="text"]:focus,
body.rpf-public #container textarea:focus,
body.rpf-public #container select:focus,
body.rpf-public #container select.form-control:focus,
body.rpf-public .event-home .form-control:focus,
body.rpf-public .modal .form-control:focus {
  border-color: #FF5D06 !important;
  box-shadow: 0 0 0 3px rgba(255, 93, 6, 0.15) !important;
  outline: 0;
}

body.dark-mode.rpf-public #container .form-control,
body.dark-mode.rpf-public #container input[type="text"],
body.dark-mode.rpf-public #container textarea,
body.dark-mode.rpf-public #container select,
body.dark-mode.rpf-public #container select.form-control,
body.dark-mode.rpf-public .event-home .form-control,
body.dark-mode.rpf-public .modal .form-control {
  background-color: var(--rpf-gt-raised) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}

body.dark-mode.rpf-public #container .form-control:focus,
body.dark-mode.rpf-public #container select:focus,
body.dark-mode.rpf-public .event-home .form-control:focus,
body.dark-mode.rpf-public .modal .form-control:focus {
  border-color: #FF5D06 !important;
  box-shadow: 0 0 0 3px rgba(255, 93, 6, 0.15) !important;
}

body.rpf-public #container .panel,
body.rpf-public #container .well,
body.rpf-public #container .thumbnail,
body.rpf-public #container .card,
body.rpf-public #container .v-call-to-action,
body.rpf-public .event-home .panel,
body.rpf-public .event-home .well,
body.rpf-public .event-home .v-call-to-action,
body.rpf-public .modal-content {
  position: relative;
  background-color: #FFFFFF;
  border: 1px solid var(--rpf-line);
  border-top: 2px solid var(--rpf-rosso);
  border-radius: 6px;
  box-shadow: var(--rpf-lift);
  overflow: visible;
}

body.rpf-public .event-home .v-call-to-action.v-bg-stylish,
body.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7,
body.rpf-public #container .v-call-to-action.v-bg-stylish-v7 {
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: var(--rpf-slate) !important;
  padding: 16px 20px;
  margin-bottom: 16px;
}

body.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7 .v-call-to-action-inner,
body.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7 p,
body.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7 strong,
body.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7 span {
  color: var(--rpf-slate) !important;
}

body.dark-mode.rpf-public #container .panel,
body.dark-mode.rpf-public #container .well,
body.dark-mode.rpf-public #container .thumbnail,
body.dark-mode.rpf-public #container .card,
body.dark-mode.rpf-public #container .box,
body.dark-mode.rpf-public #container .v-call-to-action,
body.dark-mode.rpf-public .event-home .v-call-to-action,
body.dark-mode.rpf-public .modal-content {
  background-color: var(--rpf-gt-carbon) !important;
  border: 1px solid var(--rpf-color-border-subtle) !important;
  border-top: 0 !important;
  color: var(--rpf-color-white) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 255, 255, 0.03) !important;
}

body.dark-mode.rpf-public .modal-content {
  background-color: var(--rpf-gt-cockpit) !important;
}

body.dark-mode.rpf-public #container .panel::before,
body.dark-mode.rpf-public #container .well::before,
body.dark-mode.rpf-public #container .card::before,
body.dark-mode.rpf-public #container .box::before,
body.dark-mode.rpf-public #container .v-call-to-action::before,
body.dark-mode.rpf-public .event-home .v-call-to-action::before,
body.dark-mode.rpf-public .modal-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--rpf-rosso), rgba(255, 93, 6, 0));
  pointer-events: none;
  z-index: 2;
}

body.dark-mode.rpf-public .event-home .v-call-to-action.v-bg-stylish,
body.dark-mode.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7,
body.dark-mode.rpf-public #container .v-call-to-action.v-bg-stylish-v7 {
  background-color: var(--rpf-gt-raised) !important;
  color: #ffffff !important;
}

body.dark-mode.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7 .v-call-to-action-inner,
body.dark-mode.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7 p,
body.dark-mode.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7 strong,
body.dark-mode.rpf-public .event-home .v-call-to-action.v-bg-stylish-v7 span {
  color: #ffffff !important;
}

body.rpf-public #container .nav-tabs,
body.rpf-public .event-home .nav-tabs {
  background: #FFFFFF;
  border: 1px solid var(--rpf-line) !important;
  border-radius: 6px;
  box-shadow: var(--rpf-lift);
  padding: 8px 12px 0;
  margin-bottom: 16px;
}

body.dark-mode.rpf-public #container .nav-tabs,
body.dark-mode.rpf-public .event-home .nav-tabs {
  background: var(--rpf-gt-asphalt) !important;
  border-color: var(--rpf-color-border-subtle) !important;
}

body.rpf-public #container .nav-tabs > li > a,
body.rpf-public .event-home .nav-tabs > li > a {
  background: transparent !important;
  color: var(--rpf-color-muted) !important;
  border: 0 !important;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 12px;
  border-radius: 4px 4px 0 0 !important;
}

body.rpf-public #container .nav-tabs > li.active > a,
body.rpf-public #container .nav-tabs > li.active > a:hover,
body.rpf-public #container .nav-tabs > li.active > a:focus,
body.rpf-public #container .nav-tabs > li > a:hover,
body.rpf-public .event-home .nav-tabs > li.active > a,
body.rpf-public .event-home .nav-tabs > li > a:hover {
  color: var(--rpf-ink) !important;
  background: var(--rpf-platinum) !important;
  border: 0 !important;
  border-bottom: 2px solid var(--rpf-rosso) !important;
  text-decoration: none;
}

body.dark-mode.rpf-public #container .nav-tabs > li.active > a,
body.dark-mode.rpf-public #container .nav-tabs > li.active > a:hover,
body.dark-mode.rpf-public #container .nav-tabs > li.active > a:focus,
body.dark-mode.rpf-public #container .nav-tabs > li > a:hover,
body.dark-mode.rpf-public .event-home .nav-tabs > li.active > a,
body.dark-mode.rpf-public .event-home .nav-tabs > li > a:hover {
  color: #ffffff !important;
  background: var(--rpf-gt-raised) !important;
  border: 0 !important;
  border-bottom: 2px solid var(--rpf-rosso) !important;
}

body.rpf-public #container hr,
body.rpf-public .event-home hr {
  border: 0;
  height: 1px;
  background: var(--rpf-color-border);
}

@media (prefers-reduced-motion: reduce) {
  body.rpf-public #container .btn,
  body.rpf-public .event-home .btn,
  body.rpf-public .modal .btn,
  body.rpf-public header nav ul.nav-main > li > a {
    transition: none;
    transform: none;
  }
}

/* Cuenta pública y perfil: cromática dual sin alterar el layout Nexus. */
body.dark-mode.rpf-profile {
  --rpf-color-bg: var(--rpf-gt-asphalt);
  --rpf-color-surface: var(--rpf-gt-carbon);
  --rpf-color-surface-2: var(--rpf-gt-raised);
  --rpf-color-text: var(--rpf-color-white);
  --rpf-color-muted: #B4B9C4;
  --rpf-color-border: rgba(255, 255, 255, 0.08);
}

body.rpf-public .header-container .dropdown-menu,
body.rpf-profile .header-container .dropdown-menu {
  background-color: var(--rpf-color-surface) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-public .header-container .dropdown-menu > li > a,
body.rpf-profile .header-container .dropdown-menu > li > a,
body.rpf-public .header-container .dropdown-menu .notification a,
body.rpf-profile .header-container .dropdown-menu .notification a {
  background-color: transparent !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-public .header-container .dropdown-menu > li > a:hover,
body.rpf-public .header-container .dropdown-menu > li > a:focus,
body.rpf-profile .header-container .dropdown-menu > li > a:hover,
body.rpf-profile .header-container .dropdown-menu > li > a:focus {
  background-color: var(--rpf-color-surface-2) !important;
  color: var(--rpf-color-primary) !important;
}

body.rpf-public .header-container .dropdown-menu .user-header,
body.rpf-profile .header-container .dropdown-menu .user-header {
  background-color: var(--rpf-color-surface-2) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-public .header-container .dropdown-menu .user-header p,
body.rpf-public .header-container .dropdown-menu .user-header small,
body.rpf-profile .header-container .dropdown-menu .user-header p,
body.rpf-profile .header-container .dropdown-menu .user-header small {
  color: var(--rpf-color-muted) !important;
}

body.rpf-public .header-container .dropdown-menu .user-footer,
body.rpf-public .header-container .dropdown-menu .user-footer > div,
body.rpf-profile .header-container .dropdown-menu .user-footer,
body.rpf-profile .header-container .dropdown-menu .user-footer > div {
  background-color: var(--rpf-color-surface) !important;
  border-color: var(--rpf-color-border) !important;
}

body.rpf-public .header-container .dropdown-menu .user-footer a,
body.rpf-profile .header-container .dropdown-menu .user-footer a {
  color: var(--rpf-color-text) !important;
}

body.rpf-public .header-container .dropdown-menu .user-footer a:hover,
body.rpf-profile .header-container .dropdown-menu .user-footer a:hover,
body.rpf-public .header-container .dropdown-menu .vert-men i,
body.rpf-profile .header-container .dropdown-menu .vert-men i,
body.rpf-public .header-container .dropdown-menu .persist,
body.rpf-profile .header-container .dropdown-menu .persist {
  color: var(--rpf-color-primary) !important;
}

body.rpf-public .header-container .badge-secondary,
body.rpf-profile .header-container .badge-secondary {
  background-color: var(--rpf-color-primary) !important;
  color: var(--rpf-on-rosso) !important;
}

body.rpf-profile,
body.rpf-profile #container,
body.rpf-profile #container .v-page-wrap {
  background-color: var(--rpf-color-bg) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-profile .v-page-heading,
body.rpf-profile .v-page-heading .breadcrumb {
  background-color: var(--rpf-color-black) !important;
  border-color: var(--rpf-color-primary) !important;
  color: var(--rpf-color-white) !important;
}

body.rpf-profile .v-page-heading h1,
body.rpf-profile .v-page-heading a,
body.rpf-profile .v-page-heading li,
body.rpf-profile .v-page-heading .active {
  color: var(--rpf-color-white) !important;
}

body.rpf-profile #container .v-heading,
body.rpf-profile #container .v-heading span,
body.rpf-profile #container .v-smash-text-large,
body.rpf-profile #container .v-list,
body.rpf-profile #container .v-list li,
body.rpf-profile #container .v-list span,
body.rpf-profile #container .v-list b,
body.rpf-profile #container .v-counter,
body.rpf-profile #container .count-number-no,
body.rpf-profile #container .v-counter-text,
body.rpf-profile #container blockquote,
body.rpf-profile #container label {
  color: var(--rpf-color-text) !important;
  border-color: var(--rpf-color-border) !important;
}

body.rpf-profile #container .v-list i,
body.rpf-profile #container a:not(.btn) {
  color: var(--rpf-color-primary) !important;
}

body.rpf-profile #container .count-divider span {
  background-color: var(--rpf-color-primary) !important;
}

body.rpf-profile #container .profile-user-img {
  border-color: var(--rpf-color-border) !important;
}

body.rpf-profile #container .form-control,
body.rpf-profile #container .input-group-addon,
body.rpf-profile #container .dropdown-menu,
body.rpf-profile .modal-content,
body.rpf-profile .modal-header,
body.rpf-profile .modal-body,
body.rpf-profile .modal-footer,
body.rpf-profile .panel,
body.rpf-profile .panel-heading,
body.rpf-profile .panel-body,
body.rpf-profile .card {
  background-color: var(--rpf-color-surface) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-profile #container .form-control:focus {
  border-color: var(--rpf-color-primary) !important;
}

body.rpf-profile #container .btn-default,
body.rpf-profile #container .v-btn-default,
body.rpf-profile #container .v-concrete,
body.rpf-profile .modal .btn-default {
  background-color: var(--rpf-color-surface-2) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-profile #container .btn-primary,
body.rpf-profile .modal .btn-primary {
  background-color: var(--rpf-color-primary) !important;
  border-color: var(--rpf-color-primary) !important;
  color: var(--rpf-on-rosso) !important;
}

/* Historial de contratos del atleta. */
body.dark-mode.rpf-contracts {
  --rpf-color-bg: var(--rpf-gt-asphalt);
  --rpf-color-surface: var(--rpf-gt-carbon);
  --rpf-color-surface-2: var(--rpf-gt-raised);
  --rpf-color-text: var(--rpf-color-white);
  --rpf-color-muted: #B4B9C4;
  --rpf-color-border: rgba(255, 255, 255, 0.08);
}

body.rpf-contracts,
body.rpf-contracts .rpf-contract-history,
body.rpf-contracts .rpf-contract-history .v-page-wrap {
  background-color: var(--rpf-color-bg) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-contracts .rpf-contract-history .v-page-heading,
body.rpf-contracts .rpf-contract-history .breadcrumb {
  background-color: var(--rpf-color-black) !important;
  border-color: var(--rpf-color-primary) !important;
  color: var(--rpf-color-white) !important;
}

body.rpf-contracts .rpf-contract-history .v-page-heading h1,
body.rpf-contracts .rpf-contract-history .v-page-heading a,
body.rpf-contracts .rpf-contract-history .v-page-heading li {
  color: var(--rpf-color-white) !important;
}

body.rpf-contracts .rpf-contract-history .table {
  background-color: var(--rpf-color-surface) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-contracts .rpf-contract-history .table > thead > tr > th {
  background-color: var(--rpf-color-surface-2) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-contracts .rpf-contract-history .table > tbody > tr > td {
  background-color: var(--rpf-color-surface) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-contracts .rpf-contract-history .table-hover > tbody > tr:hover > td {
  background-color: var(--rpf-color-surface-2) !important;
}

body.rpf-contracts .rpf-contract-history code {
  background-color: var(--rpf-color-surface-2) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-primary) !important;
}

body.rpf-contracts .rpf-contract-history .label-success {
  background-color: var(--rpf-c-00a65a) !important;
  color: var(--rpf-color-white) !important;
}

body.rpf-contracts .rpf-contract-history .label-warning {
  background-color: var(--rpf-warning) !important;
  color: var(--rpf-color-black) !important;
}

body.rpf-contracts .rpf-contract-history .label-default {
  background-color: var(--rpf-color-muted) !important;
  color: var(--rpf-color-white) !important;
}

body.rpf-contracts .rpf-contract-history .btn-default {
  background-color: var(--rpf-color-surface-2) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-contracts .rpf-contract-history .btn-primary {
  background-color: var(--rpf-color-primary) !important;
  border-color: var(--rpf-color-primary) !important;
  color: var(--rpf-on-rosso) !important;
}

body.rpf-contracts .header-container .dropdown-menu,
body.rpf-contracts .header-container .dropdown-menu .user-footer,
body.rpf-contracts .header-container .dropdown-menu .user-footer > div {
  background-color: var(--rpf-color-surface) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

body.rpf-contracts .header-container .dropdown-menu .user-header {
  background-color: var(--rpf-color-surface-2) !important;
  border-color: var(--rpf-color-border) !important;
}

body.rpf-contracts .header-container .dropdown-menu a {
  color: var(--rpf-color-text) !important;
}

body.rpf-contracts .header-container .dropdown-menu a:hover,
body.rpf-contracts .header-container .dropdown-menu a:focus,
body.rpf-contracts .header-container .dropdown-menu i,
body.rpf-contracts .header-container .dropdown-menu .persist {
  color: var(--rpf-color-primary) !important;
}

body.rpf-contracts .rpf-contract-history__empty {
  background-color: var(--rpf-color-surface);
  border: 1px solid var(--rpf-color-border);
  color: var(--rpf-color-muted);
}

@media (max-width: 767px) {
  body.rpf-contracts .rpf-contract-history .table-responsive {
    border: 0;
    overflow: visible;
  }

  body.rpf-contracts .rpf-contract-history .table,
  body.rpf-contracts .rpf-contract-history .table > tbody,
  body.rpf-contracts .rpf-contract-history .table > tbody > tr,
  body.rpf-contracts .rpf-contract-history .table > tbody > tr > td {
    display: block;
    width: 100%;
  }

  body.rpf-contracts .rpf-contract-history .table > thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  body.rpf-contracts .rpf-contract-history .table {
    border: 0;
  }

  body.rpf-contracts .rpf-contract-history .table > tbody > tr {
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid var(--rpf-color-border);
    border-radius: var(--rpf-radius-card, 12px);
    box-shadow: var(--rpf-shadow-card, 0 8px 24px rgba(0, 0, 0, 0.14));
  }

  body.rpf-contracts .rpf-contract-history .table > tbody > tr > td {
    position: relative;
    min-height: 44px;
    padding: 11px 12px 11px 42% !important;
    border-width: 0 0 1px !important;
    text-align: right;
    overflow-wrap: anywhere;
  }

  body.rpf-contracts .rpf-contract-history .table > tbody > tr > td::before {
    content: attr(data-label);
    position: absolute;
    top: 11px;
    left: 12px;
    width: 36%;
    color: var(--rpf-color-muted);
    font-weight: 700;
    text-align: left;
  }

  body.rpf-contracts .rpf-contract-history .table > tbody > tr > td:last-child {
    border-bottom: 0 !important;
  }

  body.rpf-contracts .rpf-contract-history code {
    white-space: normal;
    word-break: break-all;
  }

  body.rpf-contracts .rpf-contract-history .label {
    display: inline-block;
    white-space: normal;
  }

  body.rpf-contracts .rpf-contract-history .rpf-contract-history__actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
    padding-left: 12px !important;
  }

  body.rpf-contracts .rpf-contract-history .rpf-contract-history__actions .btn {
    flex: 1 1 auto;
    white-space: normal;
  }
}

/* Dashboard organizador › Contratos (homologado de Pukiebook con tokens --rpf-*).
   Misma paleta que .rpf-contract-history; tablas/DataTables heredan dashboard-elite. */
.rpf-contract-dash .label-success {
  background-color: var(--rpf-c-00a65a) !important;
  color: var(--rpf-color-white) !important;
}

.rpf-contract-dash .label-warning {
  background-color: var(--rpf-warning) !important;
  color: var(--rpf-color-black) !important;
}

.rpf-contract-dash .label {
  display: inline-block;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 10px;
}

.rpf-contract-dash code {
  background-color: var(--rpf-color-surface-2) !important;
  border: 1px solid var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
  font-size: 12px;
}

.rpf-contract-dash .btn-default {
  background-color: var(--rpf-color-surface-2) !important;
  border-color: var(--rpf-color-border) !important;
  color: var(--rpf-color-text) !important;
}

/* Expirar = neutro con ícono ámbar (pendiente); el color primario queda para acciones principales. */
.rpf-contract-dash .rpf-contract-expire .fa {
  color: var(--rpf-warning);
}

.rpf-contract-dash .rpf-contract-roster-email {
  color: var(--rpf-color-muted);
  overflow-wrap: anywhere;
}

.rpf-contract-dash .rpf-contract-toolbar,
.rpf-contract-dash .rpf-contract-roster-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

@media (min-width: 768px) {
  .rpf-contract-dash .rpf-contract-roster-actions {
    flex-wrap: nowrap;
  }
}

.rpf-contract-dash .rpf-contract-roster-filters {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.rpf-contract-dash .rpf-contract-roster-filters label {
  margin: 0;
  font-weight: 600;
  color: var(--rpf-color-text);
}

.rpf-contract-dash .rpf-contract-roster-filters select {
  width: auto;
  min-width: 160px;
}

/* Paginación: página actual legible (naranja Repify con texto negro, como .btn-primary de contratos). */
.rpf-contract-dash .dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--rpf-color-text) !important;
  border-radius: 6px;
}

.rpf-contract-dash .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.rpf-contract-dash .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--rpf-color-primary) !important;
  border-color: var(--rpf-color-primary) !important;
  color: var(--rpf-on-rosso) !important;
}

.rpf-contract-dash .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.rpf-contract-dash .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
  color: var(--rpf-color-muted) !important;
}

.rpf-contract-dash table.dataTable.dtr-inline.collapsed > tbody > tr > td:first-child:before {
  background-color: var(--rpf-color-primary) !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .rpf-contract-dash .rpf-contract-roster-email {
    display: none;
  }

  .rpf-contract-dash .rpf-contract-roster .label {
    white-space: normal;
    text-align: left;
    line-height: 1.3;
  }

  .rpf-contract-dash .rpf-contract-toolbar .btn {
    flex: 1 1 calc(50% - 6px);
    min-height: 40px;
    white-space: normal;
  }

  .rpf-contract-dash .rpf-contract-roster-actions .btn {
    min-width: 40px;
    min-height: 40px;
  }

  .rpf-contract-dash .rpf-contract-roster-filters select {
    flex: 1;
    min-height: 40px;
  }

  .rpf-contract-dash .dataTables_wrapper .dataTables_filter,
  .rpf-contract-dash .dataTables_wrapper .dataTables_length,
  .rpf-contract-dash .dataTables_wrapper .dataTables_info,
  .rpf-contract-dash .dataTables_wrapper .dataTables_paginate {
    text-align: left;
    float: none;
  }

  .rpf-contract-dash .dataTables_wrapper .dataTables_filter input {
    display: block;
    width: 100%;
    margin: 4px 0 0;
    min-height: 40px;
    box-sizing: border-box;
  }

  .rpf-contract-dash .dataTables_wrapper .dataTables_filter label {
    display: block;
    width: 100%;
  }

  .rpf-contract-dash .dataTables_wrapper .dataTables_length select {
    min-height: 40px;
    min-width: 72px;
  }

  .rpf-contract-dash .dataTables_wrapper .dataTables_paginate .paginate_button {
    min-width: 40px;
    min-height: 40px;
    padding: 10px 12px;
  }
}

/* Configuración → Certificados (docs/REPIFY_CERTIFICATES.md). Solo tokens: claro y oscuro salen de --rpf-color-*.
   El lienzo muestra el diseño con sus colores reales en ambos modos; solo marco, campos y panel se tematizan. */
.rpf-cert .rpf-cert-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
  margin-bottom: 10px;
}

.rpf-cert .rpf-cert-toolbar label {
  margin: 0;
  font-weight: 600;
  color: var(--rpf-color-text);
}

.rpf-cert .rpf-cert-toolbar label select {
  display: block;
  min-width: 180px;
}

.rpf-cert .rpf-cert-dirty {
  align-self: center;
  font-size: 12px;
  color: var(--rpf-color-primary);
}

.rpf-cert .rpf-cert-dirty .fa {
  font-size: 8px;
  vertical-align: middle;
}

.rpf-cert .rpf-cert-stage-wrap {
  position: relative;
  width: 100%;
}

.rpf-cert .rpf-cert-stage {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--rpf-color-border);
  box-shadow: var(--rpf-shadow-2);
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.rpf-cert .rpf-cert-stage img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.rpf-cert .rpf-cert-field {
  position: absolute;
  white-space: nowrap;
  overflow: hidden;
  cursor: move;
  outline: 1px dashed transparent;
  outline-offset: 1px;
}

.rpf-cert .rpf-cert-field:hover {
  outline-color: rgba(var(--rpf-color-primary-rgb), 0.55);
}

.rpf-cert .rpf-cert-field.is-selected {
  outline: 2px solid var(--rpf-color-primary);
}

.rpf-cert .rpf-cert-field.is-readonly {
  cursor: default;
  outline: none;
}

.rpf-cert .rpf-cert-empty {
  padding: 48px 16px;
  text-align: center;
  color: var(--rpf-color-muted);
  background: var(--rpf-color-surface-2);
  border: 2px dashed var(--rpf-color-border);
}

.rpf-cert .rpf-cert-empty .fa-picture-o {
  font-size: 40px;
  margin-bottom: 8px;
}

.rpf-cert .rpf-cert-fields .list-group-item {
  padding: 6px 10px;
  background: var(--rpf-color-bg);
  border-color: var(--rpf-color-border);
  color: var(--rpf-color-text);
}

.rpf-cert .rpf-cert-fields .list-group-item.active,
.rpf-cert .rpf-cert-fields .list-group-item.active:hover,
.rpf-cert .rpf-cert-fields .list-group-item.active:focus {
  background: rgba(var(--rpf-color-primary-rgb), 0.12);
  border-color: var(--rpf-color-border);
  border-left: 3px solid var(--rpf-color-primary);
  color: var(--rpf-color-text);
}

.rpf-cert .rpf-cert-fields input[type="checkbox"] {
  margin: 0 6px 0 0;
  vertical-align: middle;
}

.rpf-cert .rpf-cert-props {
  padding: 10px 12px;
  background: var(--rpf-color-surface-2);
  border: 1px solid var(--rpf-color-border);
}

.rpf-cert .rpf-cert-props h4 {
  margin-top: 0;
  color: var(--rpf-color-text);
}

.rpf-cert .rpf-cert-props input[type="color"] {
  padding: 2px 4px;
}

.rpf-cert .rpf-cert-props .btn-group {
  margin: 0 6px 6px 0;
}

/* dashboard-elite.css pinta .btn-default con html.rpf-dash-elite body.rpf-dash-elite .content: misma especificidad + !important. */
.rpf-cert .rpf-cert-props .btn-default.active,
.rpf-cert .rpf-cert-langbar .btn-default.active,
html.rpf-dash-elite body.rpf-dash-elite .content .rpf-cert .rpf-cert-props .btn-default.active,
html.rpf-dash-elite body.rpf-dash-elite .content .rpf-cert .rpf-cert-langbar .btn-default.active {
  background: var(--rpf-color-primary) !important;
  border-color: var(--rpf-color-primary) !important;
  color: var(--rpf-color-white) !important;
}

.rpf-cert .rpf-cert-langbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
  margin-bottom: 10px;
}

.rpf-cert .rpf-cert-langbar label,
.rpf-cert .rpf-cert-inline {
  margin: 0 0 8px;
  font-weight: 600;
  color: var(--rpf-color-text);
}

.rpf-cert .rpf-cert-langbar label select,
.rpf-cert .rpf-cert-inline select {
  display: block;
  min-width: 160px;
}

.rpf-cert .rpf-cert-langbar-label {
  align-self: center;
  font-weight: 600;
  color: var(--rpf-color-text);
}

.rpf-cert .rpf-cert-langbar small {
  align-self: center;
}

.rpf-cert .rpf-cert-progress {
  margin-top: 10px;
  max-width: 520px;
}

.rpf-cert .rpf-cert-progress .progress {
  margin-bottom: 4px;
  background: var(--rpf-color-surface-2);
}

.rpf-cert .rpf-cert-progress .progress-bar-primary {
  background-color: var(--rpf-color-primary);
}

.rpf-cert .rpf-cert-url {
  word-break: break-all;
}

@media (max-width: 991px) {
  .rpf-cert .rpf-cert-props,
  .rpf-cert .rpf-cert-fields {
    margin-top: 12px;
  }
}
