:root {
  --wrh-navy: #071f41;
  --wrh-blue: #1e5bff;
  --wrh-border: #dbe4f0;
  --wrh-muted: #64748b;
  --wrh-soft: #f6f8fc;
  --wrh-green: #15803d;
  --wrh-red: #b91c1c;
  --wrh-yellow: #a16207;
}

.wrh-card { background:#fff; border:1px solid var(--wrh-border); border-radius:14px; box-shadow:0 8px 24px rgba(15,23,42,.05); }
.wrh-card-pad { padding:18px; }
.wrh-stack { display:flex; flex-direction:column; gap:14px; }
.wrh-row { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.wrh-row-between { display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; align-items:center; }
.wrh-filter-row { display:grid; grid-template-columns:repeat(5,minmax(140px,1fr)); gap:12px; align-items:end; margin-bottom:14px; }
.wrh-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.wrh-form-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.wrh-form-row { display:flex; flex-direction:column; gap:7px; }
.wrh-form-row label { font-size:13px; font-weight:650; color:#0f172a; }
.wrh-form-row small { color:var(--wrh-muted); }
.wrh-input, .wrh-select, .wrh-textarea {
  width:100%; border:1px solid var(--wrh-border); background:#fff; color:#0f172a;
  border-radius:9px; padding:10px 12px; min-height:41px; outline:none; font-size:14px;
}
.wrh-textarea { min-height:110px; resize:vertical; }
.wrh-input:focus, .wrh-select:focus, .wrh-textarea:focus { border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,.12); }
.wrh-field-span { grid-column:1 / -1; }
.wrh-btn, .wtech-btn.wrh-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:9px; border:1px solid transparent;
  padding:10px 14px; font-weight:700; text-decoration:none; cursor:pointer; line-height:1; min-height:40px; font-size:13px;
}
.wrh-btn-primary, .wtech-btn.wrh-btn-primary { background:var(--wrh-blue); color:#fff !important; border-color:var(--wrh-blue); }
.wrh-btn-secondary { background:#fff; color:#0f172a !important; border-color:var(--wrh-border); }
.wrh-btn-danger { background:#dc2626; color:#fff !important; border-color:#dc2626; }
.wrh-btn-success { background:#15803d; color:#fff !important; border-color:#15803d; }
.wrh-table-wrap { overflow:auto; border:1px solid var(--wrh-border); border-radius:12px; background:#fff; }
.wrh-table { width:100%; border-collapse:collapse; min-width:820px; }
.wrh-table th, .wrh-table td { padding:12px 13px; border-bottom:1px solid #eef2f7; text-align:left; font-size:13px; vertical-align:middle; }
.wrh-table th { background:#f8fafc; color:#334155; font-weight:750; white-space:nowrap; }
.wrh-table tr:last-child td { border-bottom:0; }
.wrh-table td .wrh-sub { display:block; color:var(--wrh-muted); font-size:12px; margin-top:2px; }
.wrh-badge { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:5px 9px; font-size:11px; font-weight:750; border:1px solid transparent; white-space:nowrap; }
.wrh-badge-blue { background:#dbeafe; color:#1d4ed8; border-color:#bfdbfe; }
.wrh-badge-green { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.wrh-badge-yellow { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.wrh-badge-red { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.wrh-badge-gray { background:#f1f5f9; color:#475569; border-color:#e2e8f0; }
.wrh-badge-purple { background:#ede9fe; color:#6d28d9; border-color:#ddd6fe; }
.wrh-muted { color:var(--wrh-muted); }
.wrh-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.wrh-kpi { padding:17px; display:flex; gap:14px; align-items:flex-start; min-height:115px; }
.wrh-kpi .wrh-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#eef4ff; color:var(--wrh-blue); flex:0 0 auto; }
.wrh-kpi-label { color:var(--wrh-muted); font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.02em; }
.wrh-kpi-value { font-weight:850; font-size:26px; color:#0f172a; margin-top:4px; }
.wrh-kpi-sub { color:var(--wrh-muted); font-size:12px; margin-top:4px; }
.wrh-alert { border-radius:12px; padding:12px 14px; border:1px solid var(--wrh-border); margin-bottom:14px; }
.wrh-alert-success { background:#ecfdf5; color:#065f46; border-color:#a7f3d0; }
.wrh-alert-error { background:#fef2f2; color:#991b1b; border-color:#fecaca; }
.wrh-alert-info { background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }
.wrh-detail-grid { display:grid; grid-template-columns:2fr 1fr; gap:16px; }
.wrh-detail-list { display:grid; grid-template-columns:180px 1fr; gap:10px 16px; font-size:14px; }
.wrh-detail-list dt { color:var(--wrh-muted); font-weight:700; }
.wrh-detail-list dd { margin:0; color:#0f172a; }
.wrh-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.wrh-tab { padding:9px 12px; border-radius:999px; color:#0f172a; text-decoration:none; border:1px solid var(--wrh-border); background:#fff; font-weight:700; font-size:13px; }
.wrh-tab.active { background:#eaf1ff; color:#1d4ed8; border-color:#bcd0ff; }
.wrh-mini-note { padding:12px; border-radius:12px; border:1px dashed #bfdbfe; background:#f8fbff; color:#334155; font-size:13px; }
.wrh-login-extra { margin-top:12px; text-align:center; color:#64748b; font-size:12px; }
.wrh-version-pill { display:inline-flex; padding:5px 8px; border-radius:8px; background:#f1f5f9; color:#334155; font-size:12px; font-weight:800; }
.wrh-empty { padding:24px; text-align:center; color:var(--wrh-muted); }
.wrh-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.wrh-inline-form { display:inline; }
.wrh-install-wrap { max-width:1100px; margin:0 auto; padding:28px 18px; }
.wrh-install-head { margin-bottom:18px; display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.wrh-install-title h1 { margin:0 0 6px; color:#0f172a; font-size:30px; }
.wrh-install-title p { margin:0; color:#64748b; }
.wrh-install-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.wrh-install-step { padding:14px; border-radius:14px; background:#fff; border:1px solid var(--wrh-border); }
.wrh-install-step strong { display:block; color:#0f172a; }
.wrh-install-step span { display:block; color:#64748b; font-size:12px; margin-top:4px; }

@media (max-width:1100px) {
  .wrh-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wrh-filter-row, .wrh-form-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wrh-detail-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .wrh-kpi-grid, .wrh-form-grid, .wrh-form-grid-3, .wrh-filter-row, .wrh-install-steps { grid-template-columns:1fr; }
  .wrh-row-between { align-items:stretch; }
  .wrh-actions, .wrh-btn { width:100%; }
  .wrh-detail-list { grid-template-columns:1fr; gap:4px; }
  .wrh-detail-list dd { margin-bottom:8px; }
}

/* v1.0.2 - Sidebar scrollbar hidden while preserving scroll behavior. */
html body .wtech-sidebar,
html body .wtech-sidebar .wtech-nav {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

html body .wtech-sidebar::-webkit-scrollbar,
html body .wtech-sidebar .wtech-nav::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

html body .wtech-sidebar {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

html body .wtech-sidebar .wtech-nav {
  overflow-x: hidden !important;
}

/* v1.0.4 users/groups/bank/terms refinements */
.wrh-check-row{display:flex;gap:10px;align-items:flex-start;font-weight:700;color:#17233f;line-height:1.45}
.wrh-check-row input{margin-top:3px}
.wrh-terms-box{border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;padding:18px;line-height:1.65;color:#334155;white-space:normal;max-height:520px;overflow:auto}
.wrh-terms-editor{min-height:360px;line-height:1.55;font-family:inherit}
.wrh-inline-form{display:inline-block}
.wrh-table details summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;justify-content:center}
.wrh-table details summary::-webkit-details-marker{display:none}
.wrh-table details[open] summary{margin-bottom:8px}
