.rcd-section, .rcl, .rcp-roles, .rcp-center {
  --rc-primary: #6D28D9; --rc-hover: #5B21B6; --rc-soft: #F5F3FF; --rc-soft-2: #E9D5FF;
  --rc-bg: #F8FAFC; --rc-card: #FFFFFF; --rc-ink: #0F172A; --rc-text: #334155; --rc-muted: #64748B; --rc-line: #E2E8F0;
  --rc-ok: #047857; --rc-ok-bg: #ECFDF5; --rc-warn: #B45309; --rc-warn-bg: #FFFBEB; --rc-bad: #B91C1C; --rc-bad-bg: #FEF2F2;
  --rc-info: #5B21B6; --rc-info-bg: #F5F3FF; --rc-renewed: #6D28D9; --rc-renewed-bg: #F5F3FF;
  --rc-radius: 18px; --rc-btn-radius: 11px; --rc-font: "Inter", "Manrope", "Plus Jakarta Sans", system-ui, sans-serif;
}

.rcd { position: relative; margin-top: 8px; background: var(--rc-bg); border: 1px solid var(--rc-line); border-radius: 20px; box-shadow: 0 30px 80px -50px rgba(15, 23, 42, .45); font-family: var(--rc-font); color: var(--rc-text); font-size: 14px; line-height: 1.5; overflow: hidden; }
.rcd *, .rcd *::before, .rcd *::after { box-sizing: border-box; }
.rcd h3, .rcd h4 { color: var(--rc-ink); font-family: var(--rc-font); margin: 0; letter-spacing: -.01em; }
.rcd h3 { font-size: 20px; font-weight: 700; }
.rcd h4 { font-size: 15px; font-weight: 650; }
.rcd p { margin: 0; }
.rcd small { display: block; color: var(--rc-muted); font-size: 12.5px; }
.rcd svg { width: 16px; height: 16px; flex: none; }
.rcd :focus-visible, .rcl :focus-visible { outline: 3px solid rgba(109, 40, 217, .45); outline-offset: 2px; }
.rcd .rcd-main:focus, .rcd [data-rcd-focus]:focus, #rcd-title:focus { outline: none; }
.rcd-mono { font-family: var(--font-mono, ui-monospace, monospace); font-size: 12px; letter-spacing: .01em; }
.rcd-muted { color: var(--rc-muted); font-size: 13px; display: flex; gap: 6px; align-items: flex-start; }
.rcd-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rcd-loading { padding: 48px 24px; text-align: center; color: var(--rc-muted); }

.rcd-doc { --doc-tone: #6D28D9; --doc-soft: #F5F3FF; position: relative; padding: 10px; border-radius: 6px; background: linear-gradient(135deg, #FFFDF7, #FBF7EC); border: 1px solid #E7DFC8; box-shadow: 0 24px 50px -34px rgba(15, 23, 42, .5); color: #1F2937; text-align: center; overflow: hidden; }
.rcd-doc-ok { --doc-tone: #047857; --doc-soft: #ECFDF5; }
.rcd-doc-warn { --doc-tone: #B45309; --doc-soft: #FFFBEB; }
.rcd-doc-bad { --doc-tone: #B91C1C; --doc-soft: #FEF2F2; }
.rcd-doc-muted { --doc-tone: #64748B; --doc-soft: #F1F5F9; }
.rcd-doc::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 0%, rgba(109, 40, 217, .08), transparent 60%); pointer-events: none; }
.rcd-doc-inner { position: relative; display: grid; justify-items: center; gap: 6px; padding: 30px 32px 22px; border: 2px solid var(--doc-tone); outline: 1px solid var(--doc-tone); outline-offset: -7px; border-radius: 3px; }
.rcd-doc-corner { position: absolute; z-index: 1; width: 26px; height: 26px; border: 3px solid #C9A227; }
.rcd-doc-corner.is-tl { top: 4px; left: 4px; border-right: 0; border-bottom: 0; }
.rcd-doc-corner.is-tr { top: 4px; right: 4px; border-left: 0; border-bottom: 0; }
.rcd-doc-corner.is-bl { bottom: 34px; left: 4px; border-right: 0; border-top: 0; }
.rcd-doc-corner.is-br { bottom: 34px; right: 4px; border-left: 0; border-top: 0; }
.rcd-doc-tag { position: absolute; top: 14px; right: 16px; }
.rcd-doc-seal { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #F5D97A, #C9A227 70%); color: #fff; box-shadow: 0 0 0 4px #FBF3D6, 0 0 0 5px #C9A227, 0 10px 20px -10px rgba(120, 90, 10, .7); }
.rcd .rcd-doc-seal svg { width: 24px; height: 24px; }
.rcd .rcd-doc-org { margin-top: 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--doc-tone); }
.rcd .rcd-doc-title { font-family: Georgia, "Times New Roman", serif; font-size: 26px; font-weight: 700; letter-spacing: .01em; color: #111827; }
.rcd .rcd-doc-lead { margin-top: 6px; font-size: 13px; font-style: italic; color: #6B7280; }
.rcd .rcd-doc-name { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 32px; line-height: 1.15; color: var(--doc-tone); }
.rcd-doc-rule { width: min(320px, 80%); height: 1px; background: linear-gradient(90deg, transparent, #C9A227, transparent); }
.rcd .rcd-doc-text { max-width: 460px; font-size: 13.5px; line-height: 1.55; color: #374151; }
.rcd-doc-text b { color: #111827; }
.rcd-doc-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; margin: 12px 0 4px; padding: 10px 0; border-block: 1px dashed #E2D6B0; }
.rcd-doc-meta dt { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9CA3AF; }
.rcd-doc-meta dd { margin: 2px 0 0; font-size: 14px; font-weight: 700; color: #111827; }
.rcd-doc-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; width: 100%; margin-top: 8px; text-align: left; }
.rcd-doc-sign { display: grid; gap: 2px; padding-top: 4px; border-top: 1px solid #9CA3AF; min-width: 0; }
.rcd-doc-script { font-family: "Brush Script MT", "Segoe Script", cursive; font-size: 20px; line-height: 1.1; color: #1F2937; }
.rcd .rcd-doc-sign small { font-size: 11px; color: #6B7280; }
.rcd-doc-ids { display: grid; gap: 2px; justify-items: end; font-size: 11.5px; color: #6B7280; text-align: right; }
.rcd-doc-ids b { color: #111827; }
.rcd .rcd-doc-note { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 8px; font-size: 11.5px; color: #8A8270; }
@media (max-width: 560px) {
  .rcd-doc-inner { padding: 44px 16px 18px; }
  .rcd-doc-tag { left: 50%; right: auto; transform: translateX(-50%); }
  .rcd .rcd-doc-title { font-size: 21px; }
  .rcd .rcd-doc-name { font-size: 26px; }
  .rcd-doc-meta { grid-template-columns: minmax(0, 1fr); }
  .rcd-doc-foot { flex-direction: column; align-items: stretch; }
  .rcd-doc-ids { justify-items: start; text-align: left; }
}

.rcd-gate { position: absolute; inset: 0; z-index: 30; display: grid; place-items: center; background: rgba(82, 91, 117, .55); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.rcd-gate[hidden] { display: none; }
.rcd.is-gated { max-height: 720px; }
.rcd.is-gated > :not(.rcd-gate) { filter: blur(2px); user-select: none; }
.rcd-gate-btn { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; padding: 14px 28px; border: 1px solid var(--rc-line); border-radius: 6px; background: var(--rc-card); color: var(--rc-ink); font: 600 18px var(--rc-font); cursor: pointer; box-shadow: 0 10px 30px -12px rgba(20, 24, 36, .45); transition: transform .18s ease, box-shadow .18s ease, color .18s ease; }
.rcd-gate-btn:hover { color: var(--rc-primary); transform: translateY(-1px); box-shadow: 0 14px 36px -12px rgba(20, 24, 36, .55); }
.rcd-gate-btn:focus-visible { outline: 3px solid rgba(255, 255, 255, .8); outline-offset: 3px; }
.rcd-gate-btn svg { width: 16px; height: 16px; }

body.rcd-live .sl-nav, body.rcd-live .sl-mobile, body.rcd-live .sl-foot, body.rcd-live #global-nav, body.rcd-live #global-footer, body.rcd-live .sl-annc { display: none; }
body.rcd-live .rcd-section { padding: 0; background: var(--rc-bg); }
body.rcd-live .rcd-section > .container { max-width: none; width: 100%; padding: 0; }

.rcd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 8px 14px; border-radius: var(--rc-btn-radius); border: 1px solid transparent; font: 600 13.5px/1.2 var(--rc-font); cursor: pointer; transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease; white-space: nowrap; text-decoration: none; }
.rcd-btn-sm { min-height: 34px; padding: 6px 11px; font-size: 13px; }
.rcd-btn-primary { background: var(--rc-primary); color: #fff; box-shadow: 0 6px 16px -10px rgba(109, 40, 217, .9); }
.rcd-btn-primary:hover { background: var(--rc-hover); }
.rcd-btn-soft { background: var(--rc-soft); color: var(--rc-hover); border-color: var(--rc-soft-2); }
.rcd-btn-soft:hover { background: var(--rc-soft-2); }
.rcd-btn-ghost { background: var(--rc-card); color: var(--rc-ink); border-color: var(--rc-line); }
.rcd-btn-ghost:hover { border-color: #CBD5E1; background: #F1F5F9; }
.rcd-btn:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.rcd-btn-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 4px; }
.rcd-icon-btn { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--rc-line); background: var(--rc-card); color: var(--rc-text); cursor: pointer; }
.rcd-icon-btn:hover { color: var(--rc-primary); border-color: var(--rc-soft-2); background: var(--rc-soft); }
.rcd-linkish { background: none; border: 0; padding: 0; color: var(--rc-primary); cursor: pointer; font: inherit; text-decoration: underline; text-underline-offset: 2px; }

.rcd-bar { display: flex; align-items: center; gap: 16px; padding: 14px 18px; background: var(--rc-card); border-bottom: 1px solid var(--rc-line); flex-wrap: wrap; }
.rcd-brand { display: flex; align-items: center; gap: 10px; margin-right: auto; }
.rcd-brand b { color: var(--rc-ink); font-size: 15px; }
.rcd-logo { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: var(--rc-primary); color: #fff; }
.rcd-roles { display: inline-flex; padding: 4px; background: #F1F5F9; border-radius: 12px; gap: 2px; }
.rcd-role { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 6px 14px; border: 0; border-radius: 9px; background: transparent; color: var(--rc-text); font: 600 13.5px var(--rc-font); cursor: pointer; transition: background .18s ease, color .18s ease; }
.rcd-role.is-on { background: var(--rc-card); color: var(--rc-primary); box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }

.rcd-time { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 18px; background: var(--rc-soft); border-bottom: 1px solid var(--rc-soft-2); }
.rcd-clock { display: inline-flex; align-items: center; gap: 7px; flex-wrap: wrap; color: var(--rc-text); font-size: 13px; margin-right: auto; }
.rcd-clock b { color: var(--rc-ink); font-size: 15px; padding: 3px 9px; border-radius: 8px; background: var(--rc-card); border: 1px solid var(--rc-soft-2); }
.rcd-clock em { font-style: normal; color: var(--rc-muted); font-size: 12.5px; }
.rcd-clock svg { color: var(--rc-primary); }
.rcd-time-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.rcd-time .rcd-btn { min-height: 34px; padding: 6px 11px; font-size: 13px; }

.rcd-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 640px; }
.rcd-nav { padding: 16px 12px; border-right: 1px solid var(--rc-line); background: var(--rc-card); }
.rcd-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.rcd-nav-item { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 8px 12px; border: 0; border-radius: 10px; background: none; color: var(--rc-text); font: 550 14px var(--rc-font); text-align: left; cursor: pointer; }
.rcd-nav-item:hover { background: #F1F5F9; }
.rcd-nav-item.is-on { background: var(--rc-soft); color: var(--rc-hover); }
.rcd-nav-item em { margin-left: auto; font-style: normal; font-size: 11.5px; font-weight: 700; padding: 1px 7px; border-radius: 999px; background: var(--rc-warn-bg); color: var(--rc-warn); }
.rcd-who { display: flex; align-items: center; gap: 10px; padding: 6px 6px 14px; margin-bottom: 8px; border-bottom: 1px solid var(--rc-line); }
.rcd-who b { color: var(--rc-ink); font-size: 14px; display: block; }
.rcd-main { padding: 22px 24px 26px; min-width: 0; outline: none; display: grid; gap: 18px; align-content: start; }
.rcd-note { display: flex; align-items: center; gap: 8px; justify-content: center; padding: 10px 18px; border-top: 1px solid var(--rc-line); background: var(--rc-card); color: var(--rc-muted); font-size: 12.5px; text-align: center; }

.rcd-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rcd-head p { color: var(--rc-muted); margin-top: 4px; max-width: 620px; }
.rcd-head-side { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.rcd-field { display: grid; gap: 4px; font-size: 12px; font-weight: 600; color: var(--rc-muted); position: relative; }
.rcd-field select, .rcd-field input, .rcd-rule select { min-height: 40px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--rc-line); background: var(--rc-card); color: var(--rc-ink); font: 500 14px var(--rc-font); min-width: 160px; }
.rcd-field select:focus, .rcd-field input:focus, .rcd-rule select:focus { border-color: var(--rc-primary); outline: 3px solid rgba(109, 40, 217, .18); outline-offset: 0; }
.rcd-search input { padding-left: 34px; min-width: 240px; }
.rcd-search svg { position: absolute; left: 11px; bottom: 12px; color: var(--rc-muted); }
.rcd-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.rcd-filter-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.rcd-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.rcd-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 6px 4px 10px; border-radius: 999px; background: var(--rc-soft); color: var(--rc-hover); font-size: 12.5px; font-weight: 600; }
.rcd-chip button { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 0; background: var(--rc-card); color: var(--rc-hover); cursor: pointer; }
.rcd-chip button svg { width: 12px; height: 12px; }

.rcd-metrics { display: grid; grid-template-columns: repeat(auto-fill, minmax(138px, 1fr)); gap: 10px; }
.rcd-metric { display: grid; gap: 2px; justify-items: start; padding: 14px; border-radius: 16px; border: 1px solid var(--rc-line); background: var(--rc-card); text-align: left; font: inherit; color: var(--rc-text); cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.rcd-metric:not(.is-static):hover { border-color: var(--rc-soft-2); box-shadow: 0 10px 24px -18px rgba(109, 40, 217, .7); transform: translateY(-1px); }
.rcd-metric.is-static { cursor: default; }
.rcd-metric svg { color: var(--rc-primary); margin-bottom: 6px; }
.rcd-metric b { font-size: 24px; line-height: 1.1; color: var(--rc-ink); font-weight: 750; letter-spacing: -.02em; }
.rcd-metric span { font-size: 12.5px; color: var(--rc-muted); font-weight: 550; }
.rcd-metric-warn svg, .rcd-metric-warn b { color: var(--rc-warn); }
.rcd-metric-bad svg, .rcd-metric-bad b { color: var(--rc-bad); }
.rcd-metric-ok svg, .rcd-metric-ok b { color: var(--rc-ok); }
.rcd-metric-info svg { color: var(--rc-info); }
.rcd-metric-renewed svg { color: var(--rc-renewed); }
.rcd-metrics-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.rcd-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.rcd-span { grid-column: 1 / -1; }
.rcd-card { background: var(--rc-card); border: 1px solid var(--rc-line); border-radius: var(--rc-radius); padding: 16px; min-width: 0; display: grid; gap: 12px; align-content: start; }
.rcd-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.rcd-card-head > span { font-size: 12px; color: var(--rc-muted); }
.rcd-empty { display: grid; justify-items: center; gap: 8px; padding: 20px 12px; color: var(--rc-muted); text-align: center; }
.rcd-empty svg { width: 22px; height: 22px; }

.rcd-tag { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 650; white-space: nowrap; }
.rcd-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rcd-tag svg { width: 12px; height: 12px; }
.rcd-tag-sm { padding: 2px 7px; font-size: 11px; margin-left: 4px; }
.rcd-tag-ok { background: var(--rc-ok-bg); color: var(--rc-ok); }
.rcd-tag-warn { background: var(--rc-warn-bg); color: var(--rc-warn); }
.rcd-tag-bad { background: var(--rc-bad-bg); color: var(--rc-bad); }
.rcd-tag-info { background: var(--rc-info-bg); color: var(--rc-info); }
.rcd-tag-renewed { background: var(--rc-renewed-bg); color: var(--rc-renewed); }
.rcd-tag-muted { background: #F1F5F9; color: var(--rc-muted); }

.rcd-av { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; font-size: 12px; font-weight: 700; flex: none; }
.rcd-av-0 { background: #2563EB; } .rcd-av-1 { background: #7C3AED; } .rcd-av-2 { background: #0D9488; } .rcd-av-3 { background: #D97706; }
.rcd-av-4 { background: #DB2777; } .rcd-av-5 { background: #0891B2; } .rcd-av-6 { background: #4F46E5; } .rcd-av-7 { background: #059669; }
.rcd-person { display: inline-flex; align-items: center; gap: 10px; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; font: inherit; color: inherit; border-radius: 8px; }
.rcd-person b { color: var(--rc-ink); font-weight: 650; }
.rcd-person:hover b { color: var(--rc-primary); text-decoration: underline; text-underline-offset: 2px; }

.rcd-list { list-style: none; margin: 0; padding: 0; display: grid; }
.rcd-list li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--rc-line); flex-wrap: wrap; }
.rcd-list li:first-child { border-top: 0; padding-top: 0; }
.rcd-list-mid { flex: 1 1 160px; min-width: 0; }
.rcd-list .rcd-person { flex: 0 1 190px; min-width: 0; }
.rcd-list .rcd-list-tags { flex: 1 1 200px; order: 3; padding-left: 44px; }
.rcd-list li > .rcd-btn { margin-left: auto; order: 4; }
.rcd-list-mid b { color: var(--rc-ink); font-weight: 600; font-size: 13.5px; }
.rcd-list-tags { display: flex; gap: 4px; flex-wrap: wrap; }

.rcd-depts { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.rcd-dept { display: grid; grid-template-columns: 110px minmax(60px, 1fr) 44px; grid-template-rows: auto auto; align-items: center; column-gap: 12px; width: 100%; padding: 8px 10px; border-radius: 12px; border: 1px solid transparent; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.rcd-dept:hover, .rcd-dept.is-on { background: var(--rc-soft); border-color: var(--rc-soft-2); }
.rcd-dept-name { font-weight: 600; color: var(--rc-ink); }
.rcd-dept b { text-align: right; color: var(--rc-ink); }
.rcd-dept small { grid-column: 1 / -1; }
.rcd progress { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border: 0; border-radius: 999px; background: #E2E8F0; overflow: hidden; }
.rcd progress::-webkit-progress-bar { background: #E2E8F0; border-radius: 999px; }
.rcd progress::-webkit-progress-value { background: var(--rc-primary); border-radius: 999px; transition: width .3s ease; }
.rcd progress::-moz-progress-bar { background: var(--rc-primary); border-radius: 999px; }
.rcd-progress { display: grid; gap: 4px; min-width: 160px; }
.rcd-progress span { font-size: 12px; color: var(--rc-muted); }

.rcd-table-wrap { border: 1px solid var(--rc-line); border-radius: var(--rc-radius); background: var(--rc-card); overflow: auto; }
.rcd-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.rcd-table th { text-align: left; font-size: 12px; font-weight: 650; color: var(--rc-muted); text-transform: uppercase; letter-spacing: .04em; padding: 11px 10px; background: #F8FAFC; border-bottom: 1px solid var(--rc-line); white-space: nowrap; }
.rcd-table td { padding: 11px 10px; border-top: 1px solid var(--rc-line); vertical-align: middle; }
.rcd-table tbody tr:first-child td { border-top: 0; }
.rcd-table tbody tr:hover td { background: #FDFBFF; }
.rcd-table tr.is-focus td { background: var(--rc-soft); }
.rcd-table td > b { color: var(--rc-ink); font-weight: 600; display: block; }
.rcd-table-plain td { white-space: nowrap; }
.rcd-row-actions { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.rcd-table:not(.rcd-table-plain) .rcd-btn { white-space: normal; text-align: left; }
.rcd-table:not(.rcd-table-plain) .rcd-tag { white-space: normal; max-width: 100%; }
.rcd-count { font-size: 12.5px; color: var(--rc-muted); }

.rcd-cta { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-radius: var(--rc-radius); background: linear-gradient(135deg, #F5F3FF, #F5F3FF); border: 1px solid var(--rc-soft-2); }
.rcd-cta p { color: var(--rc-ink); font-weight: 550; }

.rcd-rules { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rcd-rule { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 2px 12px; align-items: center; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--rc-line); }
.rcd-rule small { grid-column: 1; }
.rcd-rule select, .rcd-rule > span { grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
.rcd-rule.is-off { background: #F8FAFC; }
.rcd-rule.is-off b { color: var(--rc-muted); }
.rcd-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
.rcd-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rcd-switch span { position: relative; width: 36px; height: 20px; border-radius: 999px; background: #CBD5E1; transition: background .18s ease; flex: none; }
.rcd-switch span::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .25); transition: transform .18s ease; }
.rcd-switch input:checked + span { background: var(--rc-primary); }
.rcd-switch input:checked + span::after { transform: translateX(16px); }
.rcd-switch input:focus-visible + span { outline: 3px solid rgba(109, 40, 217, .45); outline-offset: 2px; }
.rcd-switch b { color: var(--rc-ink); font-weight: 600; }

.rcd-feed { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.rcd-feed-scroll { max-height: 440px; overflow: auto; padding-right: 4px; }
.rcd-ev { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 9px 0; border-top: 1px solid var(--rc-line); }
.rcd-ev:first-child { border-top: 0; }
.rcd-ev b { color: var(--rc-ink); font-weight: 600; font-size: 13.5px; }
.rcd-ev p { font-size: 12.5px; color: var(--rc-text); margin-top: 2px; }
.rcd-ev-ico { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #F1F5F9; color: var(--rc-muted); }
.rcd-ev-ico svg { width: 14px; height: 14px; }
.rcd-ev-issued .rcd-ev-ico, .rcd-ev-pass .rcd-ev-ico, .rcd-ev-compliance .rcd-ev-ico { background: var(--rc-ok-bg); color: var(--rc-ok); }
.rcd-ev-renewed .rcd-ev-ico { background: var(--rc-renewed-bg); color: var(--rc-renewed); }
.rcd-ev-reminder .rcd-ev-ico, .rcd-ev-assigned .rcd-ev-ico, .rcd-ev-lesson .rcd-ev-ico, .rcd-ev-training .rcd-ev-ico { background: var(--rc-info-bg); color: var(--rc-info); }
.rcd-ev-escalation .rcd-ev-ico, .rcd-ev-expiry .rcd-ev-ico { background: var(--rc-warn-bg); color: var(--rc-warn); }
.rcd-ev-fail .rcd-ev-ico { background: var(--rc-bad-bg); color: var(--rc-bad); }

.rcd-register { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-height: 440px; overflow: auto; }
.rcd-reg { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; width: 100%; padding: 9px 11px; border-radius: 12px; border: 1px solid var(--rc-line); background: var(--rc-card); text-align: left; font: inherit; color: inherit; cursor: pointer; }
.rcd-reg:hover { border-color: var(--rc-soft-2); background: var(--rc-soft); }
.rcd-reg .rcd-mono { color: var(--rc-muted); }
.rcd-reg b { grid-column: 1; color: var(--rc-ink); font-weight: 600; font-size: 13px; }
.rcd-reg small { grid-column: 1; }
.rcd-reg .rcd-tag { grid-column: 2; grid-row: 1 / span 3; align-self: center; }

.rcd-reports { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.rcd-report { display: grid; gap: 3px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--rc-line); background: var(--rc-card); text-align: left; font: inherit; color: inherit; cursor: pointer; }
.rcd-report b { color: var(--rc-ink); font-weight: 650; }
.rcd-report:hover { border-color: var(--rc-soft-2); }
.rcd-report.is-on { border-color: var(--rc-primary); background: var(--rc-soft); box-shadow: inset 0 0 0 1px var(--rc-primary); }
.rcd-report-out { display: grid; gap: 10px; }

.rcd-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.rcd-kpis span { padding: 12px; border-radius: 14px; background: var(--rc-card); border: 1px solid var(--rc-line); font-size: 12.5px; color: var(--rc-muted); font-weight: 550; }
.rcd-kpis b { display: block; font-size: 22px; color: var(--rc-ink); font-weight: 750; }
.rcd-alert { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 14px; flex-wrap: wrap; }
.rcd-alert + .rcd-alert { margin-top: 8px; }
.rcd-alert > div { flex: 1 1 160px; }
.rcd-alert b { color: var(--rc-ink); }
.rcd-alert-warn { background: var(--rc-warn-bg); }
.rcd-alert-warn > svg { color: var(--rc-warn); }
.rcd-alert-bad { background: var(--rc-bad-bg); }
.rcd-alert-bad > svg { color: var(--rc-bad); }
.rcd-course-cards { display: grid; gap: 10px; }
.rcd-course-card { display: grid; gap: 12px; padding: 14px; border-radius: 14px; border: 1px solid var(--rc-soft-2); background: linear-gradient(180deg, #FAF7FF, #FFFFFF); }
.rcd-course-card-top { display: flex; gap: 12px; align-items: flex-start; }
.rcd-course-card-top b { color: var(--rc-ink); }
.rcd-course-ico { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--rc-primary); color: #fff; flex: none; }
.rcd-course-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.rcd-deadline { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--rc-ink); }
.rcd-deadline.is-late { color: var(--rc-bad); }
.rcd-mycerts { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.rcd-mycert { display: grid; gap: 4px; justify-items: start; padding: 14px; border-radius: 14px; border: 1px solid var(--rc-line); background: var(--rc-card); text-align: left; font: inherit; color: inherit; cursor: pointer; }
.rcd-mycert:hover { border-color: var(--rc-soft-2); box-shadow: 0 10px 24px -18px rgba(109, 40, 217, .7); }
.rcd-mycert b { color: var(--rc-ink); }
.rcd-mycert-ico { color: var(--rc-renewed); }

.rcd-course { display: grid; gap: 16px; min-width: 0; }
.rcd-course-body > nav { min-width: 0; }
.rcd-course-head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--rc-line); }
.rcd-course-head > div:nth-child(2) { flex: 1 1 220px; min-width: 0; }
.rcd-course-head h3 { overflow-wrap: anywhere; }
.rcd-eyebrow { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--rc-primary); margin-bottom: 4px; }
.rcd-course-body { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 16px; align-items: start; }
.rcd-outline { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.rcd-outline-item { display: flex; gap: 10px; align-items: flex-start; width: 100%; padding: 10px; border-radius: 12px; border: 1px solid transparent; background: none; text-align: left; font: 550 13.5px var(--rc-font); color: var(--rc-ink); cursor: pointer; }
.rcd-outline-item small { font-weight: 600; }
.rcd-outline-item:hover:not(:disabled) { background: #F1F5F9; }
.rcd-outline-item.is-on { background: var(--rc-soft); border-color: var(--rc-soft-2); }
.rcd-outline-item.is-done .rcd-outline-ico { color: var(--rc-ok); }
.rcd-outline-item:disabled { color: var(--rc-muted); cursor: not-allowed; }
.rcd-outline-ico { color: var(--rc-muted); padding-top: 1px; }
.rcd-lesson { display: grid; gap: 12px; padding: 22px; border-radius: var(--rc-radius); background: var(--rc-card); border: 1px solid var(--rc-line); min-width: 0; }
.rcd-lesson h4 { font-size: 20px; outline: none; }
.rcd-lesson > p { font-size: 15px; line-height: 1.65; }
.rcd-key { display: flex; gap: 12px; padding: 14px; border-radius: 14px; background: var(--rc-soft); color: var(--rc-ink); }
.rcd-key svg { color: var(--rc-primary); margin-top: 2px; }
.rcd-key b { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--rc-hover); }
.rcd-lesson-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 6px; }
.rcd-center { justify-items: center; text-align: center; }
.rcd-center > p { max-width: 560px; }
.rcd-big-ico { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; }
.rcd-big-ico svg { width: 28px; height: 28px; }
.rcd-ok { background: var(--rc-ok-bg); color: var(--rc-ok); }
.rcd-bad { background: var(--rc-bad-bg); color: var(--rc-bad); }
.rcd-q { border: 1px solid var(--rc-line); border-radius: 14px; padding: 14px; margin: 0; display: grid; gap: 6px; }
.rcd-q legend { padding: 0 6px; font-weight: 650; color: var(--rc-ink); font-size: 14.5px; }
.rcd-q legend span { color: var(--rc-primary); }
.rcd-opt { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--rc-line); cursor: pointer; min-height: 44px; transition: border-color .15s ease, background .15s ease; }
.rcd-opt:hover { border-color: var(--rc-soft-2); background: #FDFBFF; }
.rcd-opt input { accent-color: var(--rc-primary); width: 16px; height: 16px; flex: none; }
.rcd-opt:has(input:checked) { border-color: var(--rc-primary); background: var(--rc-soft); }
.rcd-form-error { color: var(--rc-bad); font-weight: 600; font-size: 13px; min-height: 1em; }
.rcd-review { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 8px; text-align: left; width: 100%; }
.rcd-review li { display: flex; gap: 10px; padding: 10px 12px; border-radius: 12px; background: #F8FAFC; }
.rcd-review li.is-ok > svg { color: var(--rc-ok); }
.rcd-review li.is-bad > svg { color: var(--rc-bad); }
.rcd-review b { color: var(--rc-ink); font-weight: 600; font-size: 13.5px; }

.rcd-cert { width: 100%; max-width: 560px; margin: 0 auto; text-align: left; padding: 22px; border-radius: 18px; border: 1px solid #DDD6FE; background: linear-gradient(160deg, #FFFFFF 40%, #F5F3FF); box-shadow: 0 20px 50px -40px rgba(109, 40, 217, .7); display: grid; gap: 10px; }
.rcd-cert-top { display: flex; align-items: center; gap: 12px; }
.rcd-cert-top > div { flex: 1; }
.rcd-cert-top b { color: var(--rc-ink); font-size: 17px; }
.rcd-cert-seal { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--rc-renewed); color: #fff; }
.rcd-cert-name { font-size: 22px; font-weight: 750; color: var(--rc-ink); letter-spacing: -.01em; }
.rcd-cert-text { color: var(--rc-text); }
.rcd-cert dl, .rcd-dl, .rcd-mail dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin: 0; }
.rcd-cert dt, .rcd-dl dt, .rcd-mail dt { font-size: 11.5px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; color: var(--rc-muted); }
.rcd-cert dd, .rcd-dl dd, .rcd-mail dd { margin: 0; color: var(--rc-ink); font-weight: 550; }
.rcd-cert-foot { display: flex; gap: 6px; align-items: center; font-size: 12px; color: var(--rc-muted); padding-top: 8px; border-top: 1px dashed #DDD6FE; }

.rcd [hidden] { display: none !important; }
.rcd-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, .42); z-index: 1200; }
.rcd-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(500px, 100%); background: var(--rc-card); z-index: 1210; box-shadow: -20px 0 50px -30px rgba(15, 23, 42, .5); display: flex; flex-direction: column; animation: rcd-slide .22s ease; }
.rcd-drawer-head { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--rc-line); }
.rcd-drawer-head > div { flex: 1; min-width: 0; }
.rcd-drawer-body { padding: 16px 18px 24px; overflow: auto; display: grid; gap: 12px; align-content: start; }
.rcd-drawer-body > h4 { margin-top: 6px; }
.rcd-dcard { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--rc-line); border-radius: 16px; }
.rcd-dcard-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.rcd-dcard-head b { color: var(--rc-ink); }
.rcd-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.rcd-steps li { padding: 8px; border-radius: 10px; background: #F8FAFC; border-top: 3px solid var(--rc-line); }
.rcd-steps li.is-on { border-top-color: var(--rc-primary); background: var(--rc-soft); }
.rcd-steps b { display: block; font-size: 12px; color: var(--rc-ink); }
.rcd-steps small { font-size: 11.5px; }
.rcd-req, .rcd-prev { padding: 12px; border-radius: 12px; background: #F8FAFC; }
.rcd-req b, .rcd-prev b { display: block; color: var(--rc-ink); margin-bottom: 6px; font-size: 13px; }
.rcd-req ul, .rcd-prev ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 13px; }
.rcd-req li { display: flex; gap: 8px; align-items: flex-start; }
.rcd-req svg { color: var(--rc-primary); margin-top: 1px; }

.rcd-modal { position: fixed; inset: 0; z-index: 1220; display: grid; place-items: center; padding: 20px; pointer-events: none; }
.rcd-modal-box { pointer-events: auto; width: min(620px, 100%); max-height: calc(100vh - 40px); overflow: auto; background: var(--rc-card); border-radius: 20px; box-shadow: 0 30px 80px -30px rgba(15, 23, 42, .55); animation: rcd-pop .2s ease; display: grid; }
.rcd-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 20px 12px; border-bottom: 1px solid var(--rc-line); }
.rcd-modal-body { padding: 16px 20px; display: grid; gap: 14px; }
.rcd-perm-who { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: var(--rc-soft); border: 1px solid var(--rc-soft-2); }
.rcd-perm-who b { display: block; color: var(--rc-ink); font-size: 14.5px; }
.rcd-perm-ico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--rc-primary); color: #fff; flex: none; }
.rcd-perm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rcd-perm section { padding: 12px 14px; border-radius: 14px; border: 1px solid var(--rc-line); }
.rcd-perm section.is-ok { background: var(--rc-ok-bg); border-color: #A7F3D0; }
.rcd-perm section.is-bad { background: var(--rc-bad-bg); border-color: #FECACA; }
.rcd-perm h4 { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 13.5px; }
.rcd-perm .is-ok h4, .rcd-perm .is-ok li svg { color: var(--rc-ok); }
.rcd-perm .is-bad h4, .rcd-perm .is-bad li svg { color: var(--rc-bad); }
.rcd-perm ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.rcd-perm li { display: flex; gap: 7px; align-items: flex-start; font-size: 13px; line-height: 1.45; color: var(--rc-text); }
.rcd-perm li svg { margin-top: 2px; width: 14px; height: 14px; }
@media (max-width: 560px) { .rcd-perm { grid-template-columns: minmax(0, 1fr); } }
.rcd-modal-foot { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; padding: 12px 20px 18px; border-top: 1px solid var(--rc-line); }
.rcd-status-line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rcd-dl-plan { grid-template-columns: 1fr; gap: 10px; }
.rcd-dl-plan > div { display: grid; grid-template-columns: 170px 1fr; gap: 10px; padding: 10px 12px; border-radius: 12px; background: #F8FAFC; }
.rcd-dl-plan dt { display: flex; align-items: center; gap: 6px; }
.rcd-dl-plan dt svg { color: var(--rc-primary); }
.rcd-mail { border: 1px solid var(--rc-line); border-radius: 16px; overflow: hidden; }
.rcd-mail dl { grid-template-columns: 1fr; gap: 6px; padding: 14px 16px; background: #F8FAFC; border-bottom: 1px solid var(--rc-line); }
.rcd-mail dl > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 8px; }
.rcd-mail dd { min-width: 0; overflow-wrap: anywhere; }
.rcd-mail-body { padding: 18px 16px; display: grid; gap: 10px; justify-items: start; }
.rcd-mail-logo { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--rc-primary); margin-bottom: 4px; }
.rcd-mail-foot { font-size: 12px; color: var(--rc-muted); }

.rcd-toast { position: fixed; left: 50%; bottom: 96px; transform: translate(-50%, 16px); z-index: 1230; max-width: min(520px, calc(100% - 32px)); padding: 11px 16px; border-radius: 12px; background: var(--rc-ink); color: #fff; font-size: 13.5px; font-weight: 550; box-shadow: 0 16px 40px -20px rgba(15, 23, 42, .7); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.rcd-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.rcd-summary ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; }

@keyframes rcd-slide { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes rcd-pop { from { transform: translateY(8px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }

.rcl { max-width: 1100px; margin: 0 auto; font-family: var(--rc-font); }
.rcl-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; position: relative; }
.rcl-steps::before { content: ""; position: absolute; top: 24px; left: 5%; right: 5%; height: 2px; background: var(--rc-line); }
.rcl-step { position: relative; display: grid; justify-items: center; gap: 6px; width: 100%; padding: 0 2px; border: 0; background: none; font: inherit; color: var(--rc-text); cursor: pointer; text-align: center; border-radius: 12px; }
.rcl-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #fff; border: 1px solid var(--rc-line); color: var(--rc-muted); transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.rcl-ico svg { width: 18px; height: 18px; }
.rcl-step small { font-family: var(--font-mono, monospace); font-size: 11px; color: var(--rc-muted); }
.rcl-step b { font-size: 13px; font-weight: 650; color: var(--rc-ink); line-height: 1.25; }
.rcl-step:hover .rcl-ico { border-color: var(--rc-soft-2); color: var(--rc-primary); }
.rcl-step.is-on .rcl-ico { background: var(--rc-primary); border-color: var(--rc-primary); color: #fff; transform: scale(1.06); box-shadow: 0 0 0 6px rgba(109, 40, 217, .14); }
.rcl-detail { margin: 32px auto 0; max-width: 720px; }
.rcl-panel { display: none; text-align: center; padding: 28px 32px; border-radius: 20px; background: #fff; border: 1px solid var(--rc-line); box-shadow: 0 30px 70px -50px rgba(15, 23, 42, .35); }
.rcl-panel.is-on, .rcl:not(.is-ready) .rcl-panel:first-child { display: grid; justify-items: center; gap: 10px; }
.rcl-panel h3 { margin: 0; font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 28px); color: var(--rc-ink); letter-spacing: -.02em; }
.rcl-panel p { margin: 0; max-width: 540px; color: var(--rc-text); font-size: 16px; line-height: 1.6; }
.rcl-num { font-family: var(--font-mono, monospace); font-size: 12px; color: var(--rc-primary); letter-spacing: .06em; }
.rcl .rcd-btn { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 9px 16px; border-radius: 11px; border: 0; background: #6D28D9; color: #fff; font: 600 14px var(--rc-font); cursor: pointer; margin-top: 6px; }
.rcl .rcd-btn:hover { background: #5B21B6; }
.rcl .rcd-btn svg { width: 16px; height: 16px; }

.rcp-center { display: flex; justify-content: center; margin-top: 32px; }
.rcp-roles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rcp-role { padding: 24px; border-radius: 20px; background: #fff; border: 1px solid var(--rc-line); display: grid; gap: 12px; align-content: start; }
.rcp-role h3 { margin: 0; font-family: var(--font-display); font-size: 18px; color: var(--rc-ink); }
.rcp-role ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rcp-role li { display: flex; gap: 8px; color: var(--rc-text); font-size: 14.5px; line-height: 1.5; }
.rcp-role li svg { width: 16px; height: 16px; color: #6D28D9; flex: none; margin-top: 3px; }
.rcp-role-ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #F5F3FF; color: #6D28D9; }
.rcp-role-ico svg { width: 20px; height: 20px; }
.rcp-proof-ico { display: block; width: 22px; height: 22px; color: #6D28D9; margin-bottom: 12px; }
.rcp-band-wrap { padding-top: 0; }

body:has(.rcd-overlay:not([hidden])) .si-launcher { display: none; }

@media (max-width: 1160px) {
  .rcd-table-wrap { border: 0; background: none; overflow: visible; }
  .rcd-table:not(.rcd-table-plain) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .rcd-table:not(.rcd-table-plain), .rcd-table:not(.rcd-table-plain) tbody, .rcd-table:not(.rcd-table-plain) tr, .rcd-table:not(.rcd-table-plain) td { display: block; width: 100%; }
  .rcd-table:not(.rcd-table-plain) tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; background: var(--rc-card); border: 1px solid var(--rc-line); border-radius: 16px; padding: 10px 12px; margin-bottom: 10px; }
  .rcd-table:not(.rcd-table-plain) td { width: auto; min-width: 0; border: 0; padding: 6px 0; }
  .rcd-table:not(.rcd-table-plain) td[data-label="Employee"] { grid-column: 1 / -1; order: 0; padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #F1F5F9; }
  .rcd-table:not(.rcd-table-plain) td[data-label="Employee"]::before { display: none; }
  .rcd-table:not(.rcd-table-plain) td[data-label="Certificate"] { order: 1; }
  .rcd-table:not(.rcd-table-plain) td[data-label="Status"] { order: 2; }
  .rcd-table:not(.rcd-table-plain) td[data-label="Issue date"] { order: 3; }
  .rcd-table:not(.rcd-table-plain) td[data-label="Expiry date"], .rcd-table:not(.rcd-table-plain) td[data-label="Expiry"] { order: 4; }
  .rcd-table:not(.rcd-table-plain) td[data-label="Renewal due"] { order: 5; }
  .rcd-table:not(.rcd-table-plain) td[data-label="Action"], .rcd-table:not(.rcd-table-plain) td[data-label="Actions"] { grid-column: 1 / -1; order: 6; padding-top: 10px; margin-top: 4px; border-top: 1px solid #F1F5F9; }
  .rcd-table:not(.rcd-table-plain) td[data-label="Action"]::before, .rcd-table:not(.rcd-table-plain) td[data-label="Actions"]::before { display: none; }
  .rcd-table:not(.rcd-table-plain) td[colspan] { grid-column: 1 / -1; }
  .rcd-table:not(.rcd-table-plain) tr:has(td[colspan]) { display: block; }
  .rcd-table:not(.rcd-table-plain) td::before { content: attr(data-label); display: block; margin-bottom: 3px; font-size: 11px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; color: var(--rc-muted); }
  .rcd-table:not(.rcd-table-plain) td .rcd-tag { margin: 0 4px 4px 0; }
  .rcd-table:not(.rcd-table-plain) td[colspan]::before { display: none; }
  .rcd-table-plain { border: 1px solid var(--rc-line); border-radius: 14px; background: var(--rc-card); }
  .rcd-report-out .rcd-table-wrap { overflow-x: auto; }
  .rcd-table:not(.rcd-table-plain) tr { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1080px) {
  .rcd-body { grid-template-columns: 1fr; min-height: 0; }
  .rcd-nav { border-right: 0; border-bottom: 1px solid var(--rc-line); padding: 8px 12px; display: flex; gap: 12px; align-items: center; overflow-x: auto; }
  .rcd-nav ul { display: flex; gap: 4px; }
  .rcd-nav-item { white-space: nowrap; }
  .rcd-who { border-bottom: 0; padding: 0; margin: 0; flex: none; }
  .rcd-metrics-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rcd-reports { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rcd-course-body { grid-template-columns: minmax(0, 1fr); }
  .rcd-outline { grid-auto-flow: column; grid-auto-columns: minmax(170px, 1fr); overflow-x: auto; padding-bottom: 4px; }
  .rcl-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); row-gap: 20px; }
  .rcl-steps::before { display: none; }
  .rcp-roles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1080px) and (min-width: 761px) {
  .rcd-time-btns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .rcd-time-btns .rcd-btn:last-child { grid-column: span 2; }
}

@media (max-width: 900px) and (min-width: 761px) {
  .rcd-filters > .rcd-field { flex: 1 1 calc(50% - 5px); }
}

@media (max-width: 900px) {
  .rcd-grid { grid-template-columns: minmax(0, 1fr); }
  .rcd-span { grid-column: auto; }
  .rcd-outline { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
}

@media (max-width: 760px) {
  .rcd[data-role="employee"] .rcd-nav, .rcd[data-role="manager"] .rcd-nav { flex-wrap: wrap; overflow-x: visible; }
  .rcd[data-role="employee"] .rcd-nav ul, .rcd[data-role="manager"] .rcd-nav ul { flex-wrap: wrap; }
  .rcd { border-radius: 16px; margin-left: -4px; margin-right: -4px; }
  .rcd-bar { padding: 12px; }
  .rcd-brand { width: 100%; }
  .rcd-roles { flex: 1; }
  .rcd-role { flex: 1; justify-content: center; padding: 6px 8px; min-height: 44px; }
  .rcd-time { padding: 10px 12px; }
  .rcd-time-btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .rcd-time .rcd-btn { min-height: 44px; }
  .rcd-time-btns .rcd-btn:last-child { grid-column: 1 / -1; }
  .rcd-main { padding: 16px 12px 20px; }
  .rcd-grid, .rcd-reports { grid-template-columns: 1fr; }
  .rcd-table:not(.rcd-table-plain) tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rcd-list .rcd-person { flex-basis: 100%; }
  .rcd-list-mid, .rcd-list .rcd-list-tags { flex-basis: 100%; padding-left: 44px; }
  .rcd-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rcd-kpis span:first-child { grid-column: 1 / -1; }
  .rcd-metrics, .rcd-metrics-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rcd-metrics > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .rcd-field, .rcd-field select, .rcd-field input, .rcd-search input { width: 100%; min-width: 0; }
  .rcd-filters > .rcd-field, .rcd-head-side, .rcd-head-side .rcd-field { flex: 1 1 100%; }
  .rcd-filters > .rcd-field:not(.rcd-search) { flex: 1 1 calc(50% - 6px); }
  .rcd-filters > .rcd-field:not(.rcd-search):last-of-type { flex-basis: 100%; }
  .rcd-filter-actions { margin-left: 0; width: 100%; }
  .rcd-filter-actions .rcd-btn { flex: 1; }
  .rcd-btn, .rcd-icon-btn { min-height: 44px; }
  .rcd-icon-btn { width: 44px; }
  .rcd-drawer { width: 100%; }
  .rcd-steps { grid-template-columns: repeat(2, 1fr); }
  .rcd-cert dl, .rcd-dl { grid-template-columns: 1fr; }
  .rcd-dl-plan > div { grid-template-columns: 1fr; gap: 2px; }
  .rcd-modal { padding: 10px; align-items: end; }
  .rcd-modal-box { max-height: calc(100vh - 20px); }
  .rcd-modal-foot .rcd-btn { flex: 1; }
  .rcd-lesson { padding: 16px; }
  .rcd-course-head .rcd-progress { flex: 1 1 100%; }
  .rcd-q { padding: 10px; }
  .rcd-lesson-foot .rcd-btn { flex: 1 1 100%; }
  .rcl-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rcl-panel { padding: 22px 18px; }
  .rcp-roles { grid-template-columns: 1fr; }
}

@media (max-width: 360px) {
  .rcd-body { grid-template-columns: minmax(0, 1fr); }
  .rcd-main, .rcd-head > div, .rcd-modal-box, .rcd-reg { min-width: 0; }
  .rcd-main { padding: 14px 10px 18px; }
  .rcd-bar, .rcd-time { padding-left: 10px; padding-right: 10px; }
  .rcd-roles { width: 100%; }
  .rcd-role { gap: 4px; padding: 6px 4px; font-size: 13px; min-width: 0; }
  .rcd-role svg { width: 14px; height: 14px; }
  .rcd-time-btns .rcd-btn { white-space: normal; text-align: center; gap: 5px; padding: 6px 7px; font-size: 12.5px; }
  .rcd-btn { white-space: normal; text-align: center; }
  .rcd-metrics, .rcd-metrics-5 { gap: 8px; }
  .rcd-metric { padding: 12px 10px; }
  .rcd-reg { grid-template-columns: minmax(0, 1fr) auto; }
  .rcd-reg b, .rcd-reg small, .rcd-mono { overflow-wrap: anywhere; }
  .rcd-filters > .rcd-field:not(.rcd-search) { flex-basis: 100%; }
  .rcd-table:not(.rcd-table-plain) tr { grid-template-columns: minmax(0, 1fr); }
  .rcd-modal { padding: 6px; }
  .rcd-modal-head, .rcd-modal-body, .rcd-modal-foot { padding-left: 14px; padding-right: 14px; }
  .rcd-drawer-head, .rcd-drawer-body { padding-left: 12px; padding-right: 12px; }
  .rcd-outline { grid-template-columns: minmax(0, 1fr); }
  .rcd-dept { grid-template-columns: minmax(0, 1fr) minmax(48px, 1fr) 40px; column-gap: 8px; }
  .rcd-lesson { padding: 14px 12px; }
  .rcd-cert { padding: 16px 12px; }
  #lead .hero-ctas .btn, .lp-band .btn, .rcp-center .btn { white-space: normal; max-width: 100%; text-align: center; padding-left: 16px; padding-right: 16px; }
  .rm-body { grid-template-columns: minmax(0, 1fr); }
  .rm-stages { flex-wrap: wrap; row-gap: 8px; }
  .rm-stages li { flex: 1 1 30%; }
  .rcd-mail dl > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .rcd-mail dl, .rcd-mail-body { padding-left: 12px; padding-right: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .rcd *, .rcd *::before, .rcd *::after, .rcl * { animation: none !important; transition: none !important; }
}

.rcs-page { --rcs-frame: 4px; --rcs-gap: 12px; --rcs-inset: calc(var(--rcs-frame) + var(--rcs-gap)); padding: var(--rcs-inset); background: #FAF9FD; }
.rcs-page::after { content: ""; position: fixed; inset: 0; z-index: 1000; border: var(--rcs-frame) solid #7C3AED; border-image: linear-gradient(135deg, #6D28D9, #14B8A6 50%, #7C3AED) 1; box-shadow: inset 0 0 0 var(--rcs-gap) #FAF9FD; pointer-events: none; }
.rcs { --rs-primary: #6D28D9; --rs-hover: #5B21B6; --rs-soft: #F5F3FF; --rs-soft-2: #DDD6FE; --rs-ink: #0F172A; --rs-text: #334155; --rs-muted: #64748B; --rs-line: #E2E8F0; --rs-card: #FFFFFF; --rs-bg: #F8FAFC; --rs-teal: #14B8A6; --rs-night: #1A0B3D;
  --rs-ok: #047857; --rs-ok-bg: #ECFDF5; --rs-warn: #B45309; --rs-warn-bg: #FFFBEB; --rs-bad: #B91C1C; --rs-bad-bg: #FEF2F2; --rs-info: #5B21B6; --rs-info-bg: #EDE9FE; --rs-renewed: #6D28D9; --rs-renewed-bg: #F5F3FF;
  background: var(--rs-bg); font-family: "Inter", "Manrope", system-ui, sans-serif; color: var(--rs-text); font-size: 15px; line-height: 1.5; }
.rcs *, .rcs *::before, .rcs *::after { box-sizing: border-box; }
.rcs svg { width: 16px; height: 16px; flex: none; }
.rcs h1, .rcs h2 { font-family: inherit; letter-spacing: -.02em; margin: 0; }
.rcs p { margin: 0; }
.rcs :focus-visible { outline: 3px solid rgba(109, 40, 217, .5); outline-offset: 2px; }
.rcs-wrap { width: min(1600px, 100% - 64px); margin: 0 auto; }

.rcs-btn { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 38px; padding: 8px 18px; border-radius: 8px; border: 1px solid transparent; font-family: inherit; font-size: 13.5px; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.rcs-btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent); transform: skewX(-20deg); transition: left .6s ease; pointer-events: none; }
.rcs-btn:hover::after { left: 130%; }
.rcs-btn-lg { min-height: 48px; padding: 12px 22px; font-size: 15px; border-radius: 10px; }
.rcs-btn-primary { background: var(--rs-primary); color: #fff; box-shadow: 0 8px 18px -10px rgba(109, 40, 217, .8); }
.rcs-btn-primary:hover { background: var(--rs-hover); transform: translateY(-1px); }
.rcs-btn-light { background: #fff; color: var(--rs-night); box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .6); }
.rcs-btn-light:hover { transform: translateY(-1px); color: var(--rs-primary); }
.rcs-btn-light::after { background: linear-gradient(100deg, transparent, rgba(109, 40, 217, .18), transparent); }
.rcs-btn-outline { background: rgba(255, 255, 255, .06); color: #fff; border-color: rgba(255, 255, 255, .32); }
.rcs-btn-outline:hover { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .6); }
.rcs-btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .04); }
.rcs-btn-ghost:hover { border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .12); }

.rcs-top { position: sticky; top: 0; z-index: 50; background: linear-gradient(90deg, #1A0B3D 0%, #2E1470 60%, #3B1A8A 100%); border-bottom: 1px solid rgba(255, 255, 255, .08); box-shadow: 0 10px 24px -18px rgba(26, 11, 61, .8); }
.rcs-page .rcs-top { top: var(--rcs-inset); }
.rcs-top-row { display: flex; align-items: center; gap: 24px; height: 64px; }
.rcs-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.rcs-brand b { display: block; font-size: 15px; font-weight: 800; line-height: 1.2; }
.rcs-brand small { display: block; font-size: 12px; color: #C4B5FD; font-weight: 600; }
.rcs-logo { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: linear-gradient(135deg, #7C3AED, var(--rs-teal)); color: #fff; }
.rcs-logo svg { width: 18px; height: 18px; animation: rcs-spin 8s linear infinite; }
.rcs-top-links { display: flex; gap: 4px; margin: 0 auto; }
.rcs-top-links a { padding: 8px 14px; border-radius: 8px; color: #DDD6FE; font-weight: 700; font-size: 14px; text-decoration: none; }
.rcs-top-links a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.rcs-top-actions { display: flex; align-items: center; gap: 8px; }
.rcs-top :focus-visible { outline-color: rgba(255, 255, 255, .8); }

.rcs-hero { position: relative; overflow: hidden; padding: 44px 0 48px; color: #fff; background: radial-gradient(900px 480px at 85% 10%, rgba(124, 58, 237, .55), transparent 60%), radial-gradient(700px 420px at 0% 100%, rgba(20, 184, 166, .35), transparent 60%), linear-gradient(160deg, #1A0B3D 0%, #2E1470 55%, #3B1A8A 100%); }
.rcs-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(180deg, rgba(0, 0, 0, .7), transparent 85%); -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .7), transparent 85%); pointer-events: none; animation: rcs-dots 40s linear infinite; }
@keyframes rcs-dots { to { background-position: 220px 220px; } }
.rcs-hero-orbs { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.rcs-hero-orbs span { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .55; animation: rcs-drift 18s ease-in-out infinite alternate; }
.rcs-hero-orbs span:nth-child(1) { width: 420px; height: 420px; left: -80px; top: 40%; background: #7C3AED; }
.rcs-hero-orbs span:nth-child(2) { width: 360px; height: 360px; right: 8%; top: -120px; background: #DB2777; opacity: .35; animation-duration: 22s; animation-delay: -6s; }
.rcs-hero-orbs span:nth-child(3) { width: 260px; height: 260px; left: 45%; bottom: -140px; background: var(--rs-teal); opacity: .35; animation-duration: 26s; animation-delay: -12s; }
@keyframes rcs-drift { 0% { translate: 0 0; scale: 1; } 50% { translate: 60px -40px; scale: 1.12; } 100% { translate: -40px 30px; scale: .95; } }
.rcs-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.rcs-hero h1 { margin: 0 0 12px; font-size: clamp(34px, 4.6vw, 56px); line-height: 1.05; font-weight: 800; color: #fff; }
.rcs-hero h1 span { background-image: linear-gradient(90deg, #5EEAD4 0%, #C4B5FD 30%, #ffffff 50%, #C4B5FD 70%, #5EEAD4 100%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: rcs-shimmer 6s ease-in-out infinite; }
@keyframes rcs-shimmer { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.rcs-hero-copy > p { max-width: 540px; font-size: 17px; color: #DDD6FE; }
.rcs-hero-copy > * { animation: rcs-rise .8s cubic-bezier(.2, .8, .2, 1) both; }
.rcs-hero-copy > :nth-child(1) { animation-delay: .05s; }
.rcs-hero-copy > :nth-child(2) { animation-delay: .15s; }
.rcs-hero-copy > :nth-child(3) { animation-delay: .28s; }
.rcs-hero-copy > :nth-child(4) { animation-delay: .4s; }
@keyframes rcs-rise { from { opacity: 0; translate: 0 26px; filter: blur(6px); } to { opacity: 1; translate: 0 0; filter: blur(0); } }
.rcs-hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.rcs-stats { list-style: none; margin: 26px 0 0; padding: 18px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; border-top: 1px solid rgba(255, 255, 255, .14); }
.rcs-stats b { display: block; font-size: 30px; font-weight: 800; color: #fff; line-height: 1.1; font-variant-numeric: tabular-nums; }
.rcs-stats span { font-size: 13px; color: #C4B5FD; font-weight: 600; }

.rcs-rcard { --tone: var(--rs-primary); --tone-bg: var(--rs-soft); position: relative; display: grid; justify-items: center; gap: 10px; padding: 18px 18px 20px; border-radius: 18px; background: #fff; color: var(--rs-ink); text-align: center; overflow: hidden; }
.rcs-rcard::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--tone); }
.rcs-rcard.is-ok { --tone: var(--rs-ok); --tone-bg: var(--rs-ok-bg); }
.rcs-rcard.is-warn { --tone: var(--rs-warn); --tone-bg: var(--rs-warn-bg); }
.rcs-rcard.is-bad { --tone: var(--rs-bad); --tone-bg: var(--rs-bad-bg); }
.rcs-rcard.is-renewed, .rcs-rcard.is-program { --tone: var(--rs-renewed); --tone-bg: var(--rs-renewed-bg); }
.rcs-rcard-head { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; }
.rcs-rcard-head b { display: block; font-size: 14px; font-weight: 800; line-height: 1.25; color: var(--rs-ink); }
.rcs-rcard-head small { display: block; font-size: 11.5px; color: var(--rs-muted); font-family: var(--font-mono, ui-monospace, monospace); }
.rcs-rcard.is-program .rcs-rcard-head { min-height: 52px; }
.rcs-rcard-ico { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--tone-bg); color: var(--tone); flex: none; }
.rcs-dial { position: relative; display: block; width: 116px; height: 116px; }
.rcs .rcs-dial svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.rcs-dial circle { fill: none; stroke-width: 10; }
.rcs-dial-bg { stroke: #EEF2F7; }
.rcs-dial-fg { stroke: var(--tone); stroke-linecap: round; animation: rcs-dial 1.4s cubic-bezier(.2, .8, .2, 1) .6s both; }
@keyframes rcs-dial { from { stroke-dasharray: 0 326.7; } }
.rcs-dial-c { position: absolute; inset: 0; display: grid; place-content: center; line-height: 1.1; }
.rcs-dial-c b { font-size: 28px; font-weight: 800; color: var(--rs-ink); font-variant-numeric: tabular-nums; }
.rcs-dial-c small { font-size: 11.5px; color: var(--rs-muted); font-weight: 600; }
.rcs-tag { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; background: var(--tone-bg); color: var(--tone); font-size: 12px; font-weight: 700; }
.rcs-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: rcs-pulse 1.8s ease-in-out infinite; }
@keyframes rcs-pulse { 50% { opacity: .3; } }
.rcs-rcard-name { font-size: 13px; font-weight: 700; color: var(--rs-text); }
.rcs .rcs-bar { display: block; justify-self: stretch; width: 100%; height: 8px; border-radius: 999px; overflow: hidden; background: #EEF2F7; transform-origin: left center; animation: rcs-grow 1s cubic-bezier(.2, .8, .2, 1) .4s both; }
@keyframes rcs-grow { from { transform: scaleX(0); } }
.rcs-bar .is-ok, .rcs-tags .is-ok { fill: #10B981; }
.rcs-bar .is-renewed { fill: #8B5CF6; }
.rcs-bar .is-warn { fill: #F59E0B; }
.rcs-bar .is-info { fill: #A78BFA; }
.rcs-bar .is-bad { fill: #EF4444; }

.rcs-hero-art { position: relative; height: 340px; }
.rcs-fan { position: absolute; width: 46%; padding: 0; border: 0; background: none; font: inherit; cursor: pointer; border-radius: 18px; transition: left .75s cubic-bezier(.22, .9, .25, 1), top .75s cubic-bezier(.22, .9, .25, 1), transform .75s cubic-bezier(.22, .9, .25, 1), filter .5s ease; animation: rcs-deal 1s cubic-bezier(.2, .9, .25, 1.15) both; }
.rcs-fan .rcs-rcard { box-shadow: 0 34px 60px -30px rgba(0, 0, 0, .75); animation: rcs-float 6s ease-in-out infinite; }
.rcs-fan:focus-visible { outline: 3px solid rgba(255, 255, 255, .8); outline-offset: 4px; }
.rcs-fan[data-rcs-pos="left"] { left: 2%; top: 64px; z-index: 1; transform: rotate(-9deg); filter: brightness(.9); }
.rcs-fan[data-rcs-pos="right"] { left: 52%; top: 46px; z-index: 1; transform: rotate(8deg); filter: brightness(.9); }
.rcs-fan[data-rcs-pos="center"] { left: 27%; top: 0; z-index: 3; transform: translateY(10px); }
.rcs-fan[data-rcs-pos="center"] .rcs-rcard { box-shadow: 0 40px 70px -28px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .08); }
.rcs-fan[data-rcs-pos="center"] .rcs-rcard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .7) 50%, transparent 65%); background-size: 250% 100%; background-position: 150% 0; mix-blend-mode: soft-light; animation: rcs-gloss 5s ease-in-out 1.4s infinite; pointer-events: none; }
@keyframes rcs-gloss { 0%, 60% { background-position: 150% 0; } 100% { background-position: -50% 0; } }
.rcs-hero-art:hover .rcs-fan[data-rcs-pos="left"] { transform: rotate(-12deg) translateX(-10px); }
.rcs-hero-art:hover .rcs-fan[data-rcs-pos="right"] { transform: rotate(11deg) translateX(10px); }
.rcs-fan[data-rcs-pos="left"]:hover, .rcs-fan[data-rcs-pos="right"]:hover { filter: brightness(1.05); }
.rcs-fan.is-rising { z-index: 4; }
.rcs-fan.is-bump .rcs-rcard { animation: rcs-bump .55s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes rcs-bump { 40% { scale: 1.06; } }
.rcs-fan-left { animation-delay: .35s; --rcs-from: -120px 60px; }
.rcs-fan-right { animation-delay: .5s; --rcs-from: 120px 60px; }
.rcs-fan-center { animation-delay: .2s; --rcs-from: 0 90px; }
.rcs-fan-left .rcs-rcard { animation-delay: -2s; animation-duration: 7s; }
.rcs-fan-right .rcs-rcard { animation-delay: -4s; animation-duration: 8s; }
@keyframes rcs-deal { from { opacity: 0; translate: var(--rcs-from, 0 80px); } to { opacity: 1; translate: 0 0; } }
@keyframes rcs-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }
.rcs-chip { position: absolute; z-index: 5; left: 4%; bottom: 0; display: flex; align-items: center; gap: 10px; padding: 10px 16px 10px 10px; border-radius: 14px; background: #fff; color: var(--rs-ink); box-shadow: 0 24px 40px -20px rgba(0, 0, 0, .55); animation: rcs-pop .7s cubic-bezier(.2, 1.4, .4, 1) 1.1s both, rcs-float 5s ease-in-out 2s infinite; }
.rcs-chip b { display: block; font-size: 14px; font-weight: 800; color: var(--rs-renewed); }
.rcs-chip small { display: block; font-size: 12px; color: var(--rs-muted); }
.rcs-chip-ico { position: relative; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--rs-soft); color: var(--rs-renewed); }
.rcs-chip-ico::after { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 2px solid #8B5CF6; opacity: 0; animation: rcs-ring 2.4s ease-out 1.8s infinite; }
@keyframes rcs-pop { from { opacity: 0; scale: .6; translate: 0 20px; } to { opacity: 1; scale: 1; translate: 0 0; } }
@keyframes rcs-ring { 0% { opacity: .8; scale: 1; } 100% { opacity: 0; scale: 1.7; } }
.rcs-spark { position: absolute; z-index: 4; width: 18px; height: 18px; background: #fff; clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%); opacity: 0; animation: rcs-twinkle 3.2s ease-in-out infinite; filter: drop-shadow(0 0 6px rgba(196, 181, 253, .9)); }
.rcs-spark-1 { left: 20%; top: 2%; animation-delay: 1.2s; }
.rcs-spark-2 { right: 4%; top: 8%; width: 12px; height: 12px; animation-delay: 2s; background: #C4B5FD; }
.rcs-spark-3 { right: 18%; bottom: 10%; width: 14px; height: 14px; animation-delay: 2.7s; background: #5EEAD4; }
.rcs-spark-4 { left: 0; bottom: 36%; width: 10px; height: 10px; animation-delay: 3.4s; }
@keyframes rcs-twinkle { 0%, 100% { opacity: 0; scale: .3; rotate: 0deg; } 50% { opacity: 1; scale: 1; rotate: 90deg; } }
@keyframes rcs-spin { to { rotate: 360deg; } }

.rcs-section { padding: 36px 0 0; }
.rcs-section-alt { margin-top: 36px; padding: 36px 0; background: #fff; border-block: 1px solid var(--rs-line); }
.rcs-section-alt + .rcs-section { padding-top: 36px; }
.rcs-section-alt + .rcs-section-cta { padding-top: 36px; }
.rcs-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; margin-bottom: 18px; }
.rcs-eyebrow { display: inline-block; margin-bottom: 8px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--rs-primary); }
.rcs-head h2 { font-size: clamp(26px, 3vw, 34px); font-weight: 800; color: var(--rs-ink); line-height: 1.15; }
.rcs-head p { max-width: 520px; text-align: right; font-size: 14.5px; color: var(--rs-muted); }
.rcs-reveal { opacity: 0; translate: 0 24px; transition: opacity .6s ease, translate .6s cubic-bezier(.2, .8, .2, 1); }
.rcs-reveal.is-in { opacity: 1; translate: 0 0; }

.rcs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rcs-grid-programs { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.rcs-card, .rcs-view, .rcs-step { position: relative; display: flex; flex-direction: column; background: var(--rs-card); border: 1px solid var(--rs-line); border-radius: 14px; overflow: hidden; color: inherit; text-decoration: none; box-shadow: 0 1px 2px rgba(20, 24, 36, .04); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.rcs-card:hover, .rcs-view:hover, .rcs-step:hover { border-color: var(--rs-soft-2); box-shadow: 0 26px 50px -30px rgba(46, 20, 112, .45); transform: translateY(-4px); }
.rcs-shot { position: relative; display: block; padding: 22px 18px; background: radial-gradient(120% 90% at 50% 0%, #fff 0%, #F1EDFF 100%); border-bottom: 1px solid var(--rs-line); overflow: hidden; }
.rcs-shot::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(109, 40, 217, .12) 1px, transparent 1px); background-size: 16px 16px; pointer-events: none; }
.rcs-shot .rcs-rcard { box-shadow: 0 18px 30px -24px rgba(46, 20, 112, .55); transition: transform .3s ease; pointer-events: none; }
.rcs-card:hover .rcs-shot .rcs-rcard { transform: scale(1.03); }
.rcs-shot-cta { position: absolute; left: 50%; bottom: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: var(--rs-ink); color: #fff; font-size: 12.5px; font-weight: 700; white-space: nowrap; opacity: 0; transform: translate(-50%, 8px); transition: opacity .2s ease, transform .2s ease; }
.rcs-card:hover .rcs-shot-cta, .rcs-card:focus-visible .rcs-shot-cta { opacity: 1; transform: translate(-50%, 0); }
.rcs-body { display: grid; gap: 8px; padding: 18px 20px 20px; flex: 1; align-content: start; }
.rcs-body b, .rcs-step b { display: flex; align-items: center; gap: 8px; color: var(--rs-ink); font-size: 17px; font-weight: 800; }
.rcs-body small, .rcs-step small { display: block; color: var(--rs-text); font-size: 14px; line-height: 1.55; }
.rcs-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.rcs-tags span { padding: 3px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; background: var(--rs-soft); color: var(--rs-hover); }
.rcs-tags .is-ok { background: var(--rs-ok-bg); color: var(--rs-ok); }
.rcs-tags .is-warn { background: var(--rs-warn-bg); color: var(--rs-warn); }
.rcs-tags .is-bad { background: var(--rs-bad-bg); color: var(--rs-bad); }
.rcs-tags .is-info { background: var(--rs-info-bg); color: var(--rs-info); }
.rcs-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 14px; font-weight: 800; color: var(--rs-primary); }
.rcs-link svg { width: 15px; height: 15px; transition: transform .18s ease; }
.rcs-card:hover .rcs-link svg, .rcs-view:hover .rcs-link svg, .rcs-step:hover .rcs-link svg { transform: translateX(4px); }

.rcs-cadence { display: grid; gap: 22px; }
.rcs-track { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.rcs-track-line { position: absolute; left: 10%; right: 10%; top: 27px; height: 4px; border-radius: 999px; background: linear-gradient(90deg, #8B5CF6 0%, #8B5CF6 55%, #F59E0B 75%, #EF4444 100%); opacity: .35; }
.rcs-track-dot { position: absolute; top: 50%; left: 0; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: #fff; border: 3px solid var(--rs-primary); box-shadow: 0 0 0 6px rgba(139, 92, 246, .2); animation: rcs-travel 9s cubic-bezier(.5, 0, .5, 1) infinite; }
@keyframes rcs-travel { 0% { left: 0; border-color: #8B5CF6; } 70% { border-color: #F59E0B; } 100% { left: 100%; border-color: #EF4444; } }
.rcs-stop { --tone: var(--rs-primary); --tone-bg: var(--rs-soft); position: relative; z-index: 1; display: grid; justify-items: center; gap: 4px; padding: 0 6px 12px; border: 0; border-radius: 12px; background: none; font: inherit; color: var(--rs-text); cursor: pointer; text-align: center; }
.rcs-stop.is-expiry { --tone: var(--rs-warn); --tone-bg: var(--rs-warn-bg); }
.rcs-stop.is-escalation { --tone: var(--rs-bad); --tone-bg: var(--rs-bad-bg); }
.rcs-stop-ico { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #fff; color: var(--tone); border: 2px solid var(--rs-line); transition: transform .25s cubic-bezier(.3, 1.6, .5, 1), border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.rcs-stop-ico svg { width: 22px; height: 22px; }
.rcs-stop b { color: var(--rs-ink); font-size: 14.5px; font-weight: 800; }
.rcs-stop small { color: var(--rs-muted); font-size: 12.5px; }
.rcs-stop:hover .rcs-stop-ico { border-color: var(--tone); transform: translateY(-2px); }
.rcs-stop.is-on .rcs-stop-ico { background: var(--tone); color: #fff; border-color: var(--tone); transform: scale(1.08); box-shadow: 0 12px 24px -12px var(--tone); }
.rcs-stop.is-on .rcs-stop-ico svg { animation: rcs-ringing .9s ease; }
@keyframes rcs-ringing { 20% { rotate: 14deg; } 40% { rotate: -12deg; } 60% { rotate: 8deg; } 80% { rotate: -4deg; } }
.rcs-msgs { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; }
.rcs-msg { --tone: var(--rs-primary); width: min(640px, 100%); padding: 20px 22px; border: 1px solid var(--rs-line); border-left: 4px solid var(--tone); border-radius: 14px; background: var(--rs-bg); display: grid; gap: 10px; animation: rcs-msg-in .45s cubic-bezier(.2, .8, .2, 1); }
.rcs-msg[hidden] { display: none; }
.rcs-msg.is-expiry { --tone: var(--rs-warn); }
.rcs-msg.is-escalation { --tone: var(--rs-bad); }
@keyframes rcs-msg-in { from { opacity: 0; translate: 0 12px; } }
.rcs-msg-head { display: flex; gap: 12px; align-items: center; }
.rcs-msg-head small { display: block; color: var(--rs-muted); font-size: 12.5px; }
.rcs-msg-head b { display: block; color: var(--rs-ink); font-size: 15.5px; font-weight: 800; line-height: 1.3; }
.rcs-msg-ico { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: #fff; border: 1px solid var(--rs-line); color: var(--tone); flex: none; }
.rcs-msg p { color: var(--rs-text); font-size: 14px; }
.rcs-msg-btn { justify-self: start; padding: 7px 14px; border-radius: 8px; background: var(--tone); color: #fff; font-size: 13px; font-weight: 700; }

.rcs-loop { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; counter-reset: none; }
.rcs-step { gap: 8px; height: 100%; padding: 20px 20px 22px; }
.rcs-step::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: linear-gradient(90deg, #8B5CF6, var(--rs-teal)); }
.rcs-step.is-on { border-color: var(--rs-soft-2); box-shadow: 0 0 0 3px rgba(139, 92, 246, .14), 0 20px 40px -30px rgba(46, 20, 112, .5); }
.rcs-step.is-on::after { animation: rcs-progress var(--rcs-step-ms, 2400ms) linear forwards; }
.rcs-loop.is-paused .rcs-step.is-on::after { animation-play-state: paused; }
@keyframes rcs-progress { to { width: 100%; } }
.rcs-step-top { display: flex; align-items: center; justify-content: space-between; }
.rcs-step-ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--rs-soft); color: var(--rs-primary); transition: background .3s ease, color .3s ease, transform .3s cubic-bezier(.3, 1.6, .5, 1); }
.rcs-step-ico svg { width: 20px; height: 20px; }
.rcs-step.is-on .rcs-step-ico { background: linear-gradient(135deg, #7C3AED, var(--rs-teal)); color: #fff; transform: scale(1.08) rotate(-6deg); }
.rcs-step-num { font-size: 26px; font-weight: 800; color: #E4DEFB; font-variant-numeric: tabular-nums; transition: color .3s ease; }
.rcs-step.is-on .rcs-step-num { color: var(--rs-primary); }
.rcs-step .rcs-link { margin-top: auto; padding-top: 4px; }

.rcs-view { flex-direction: row; align-items: flex-start; padding: 22px 0 0 22px; }
.rcs-view::after { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--rcs-tone); opacity: 0; transition: opacity .2s ease; }
.rcs-view:hover::after { opacity: 1; }
.rcs-view .rcs-body { padding-top: 0; }
.rcs-view-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--rcs-tone-bg); color: var(--rcs-tone); flex: none; }
.rcs-view-ico svg { width: 22px; height: 22px; }
.rcs-view.is-admin { --rcs-tone: #6D28D9; --rcs-tone-bg: #F5F3FF; }
.rcs-view.is-employee { --rcs-tone: #047857; --rcs-tone-bg: #ECFDF5; }
.rcs-view.is-manager { --rcs-tone: #B45309; --rcs-tone-bg: #FFFBEB; }
.rcs-role { justify-self: start; padding: 2px 8px; border-radius: 4px; background: var(--rcs-tone-bg); color: var(--rcs-tone); font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }

.rcs-section-cta { padding: 36px 0 32px; }
.rcs-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 40px 44px; border-radius: 20px; color: #fff; background: radial-gradient(600px 300px at 100% 0%, rgba(20, 184, 166, .45), transparent 60%), linear-gradient(135deg, #1A0B3D, #3B1A8A); box-shadow: 0 30px 60px -40px rgba(26, 11, 61, .8); }
.rcs-band h2 { font-size: clamp(24px, 2.6vw, 30px); font-weight: 800; color: #fff; }
.rcs-band p { margin-top: 6px; max-width: 520px; color: #DDD6FE; }
.rcs-band-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.rcs-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 24px !important; font-size: 12.5px; color: var(--rs-muted); }

.rcs-zoom-veil { position: fixed; inset: 0; z-index: 2000; background: rgba(26, 11, 61, 0); transition: background .55s ease, backdrop-filter .55s ease, -webkit-backdrop-filter .55s ease; }
.rcs-zoom-veil.is-on { background: rgba(26, 11, 61, .62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.rcs-zoom-card { position: fixed; z-index: 2001; margin: 0; transform-origin: center center; transition: transform .65s cubic-bezier(.2, .85, .25, 1); box-shadow: 0 50px 90px -30px rgba(0, 0, 0, .7); font-family: "Inter", system-ui, sans-serif; pointer-events: none; }
.rcs-zoom-label { position: fixed; z-index: 2002; left: 50%; bottom: 12vh; display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; background: #fff; color: #0F172A; font: 700 14px "Inter", system-ui, sans-serif; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .6); opacity: 0; transform: translate(-50%, 16px); transition: opacity .4s ease .2s, transform .4s ease .2s; }
.rcs-zoom-label.is-on { opacity: 1; transform: translate(-50%, 0); }
.rcs-zoom-spin { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #EDE9FE; border-top-color: #6D28D9; animation: rcs-spin .7s linear infinite; }
.rcs-card.is-opening .rcs-shot .rcs-rcard { opacity: 0; }

body.rcd-live .rcd-section { padding: 0; background: none; }
body.rcd-live .rcd-section .rcs-top { flex: none; }
body.rcd-live .rcd { margin: var(--rcs-inset, 16px) 0 0; border-radius: 12px; border-color: #E4DEFB; box-shadow: none; overflow: visible; }
body.rcd-live .rcd-time { position: sticky; top: calc(var(--rcs-inset, 16px) + 64px); z-index: 40; border-radius: 12px 12px 0 0; }
.rcs-top .rcd-roles { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .2); border-radius: 10px; padding: 3px; }
.rcs-top .rcd-role { min-height: 32px; padding: 5px 12px; color: #DDD6FE; font-family: inherit; font-size: 13.5px; font-weight: 700; }
.rcs-top .rcd-role svg { width: 15px; height: 15px; }
.rcs-top .rcd-role:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.rcs-top .rcd-role.is-on { background: #fff; color: var(--rs-primary, #6D28D9); box-shadow: 0 1px 3px rgba(15, 23, 42, .25); }
.rcd-arrive .rcd-main > * { animation: rcd-arrive .6s cubic-bezier(.2, .85, .25, 1) both; }
.rcd-arrive .rcd-main > :nth-child(2) { animation-delay: .08s; }
.rcd-arrive .rcd-main > :nth-child(3) { animation-delay: .16s; }
.rcd-arrive .rcd-main > :nth-child(n+4) { animation-delay: .24s; }
@keyframes rcd-arrive { from { opacity: 0; translate: 0 24px; filter: blur(4px); } to { opacity: 1; translate: 0 0; filter: blur(0); } }

@media (max-width: 1400px) {
  .rcs-grid-programs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rcs-top-row:has([data-rcd-controls]) .rcs-top-links { display: none; }
  .rcs-top-row:has([data-rcd-controls]) .rcs-top-actions { margin-left: auto; }
}
@media (max-width: 1080px) {
  .rcs-grid, .rcs-grid-programs, .rcs-loop { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rcs-hero { padding: 36px 0; }
  .rcs-hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .rcs-hero-art { max-width: 560px; width: 100%; margin: 0 auto; }
  .rcs-top-links { display: none; }
  .rcs-top-actions { margin-left: auto; }
  .rcs-top-actions[data-rcd-controls] .rcs-btn span { display: none; }
  .rcs-top-actions[data-rcd-controls] .rcs-btn { padding: 8px 11px; }
}
@media (max-width: 760px) {
  .rcs-wrap { width: calc(100% - 32px); }
  .rcs-page { --rcs-gap: 6px; }
  .rcs-grid, .rcs-grid-programs, .rcs-grid-views, .rcs-loop { grid-template-columns: 1fr; }
  .rcs-top-actions .rcs-btn span, .rcs-brand small { display: none; }
  .rcs-top-actions .rcs-btn { padding: 8px 11px; }
  .rcs-hero { padding: 28px 0 32px; }
  .rcs-hero-ctas .rcs-btn, .rcs-band-ctas .rcs-btn { flex: 1 1 100%; }
  .rcs-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .rcs-hero-art { height: 300px; }
  .rcs-fan { width: 58%; }
  .rcs-fan[data-rcs-pos="left"] { left: 0; }
  .rcs-fan[data-rcs-pos="right"] { left: 42%; }
  .rcs-fan[data-rcs-pos="center"] { left: 21%; }
  .rcs-chip { left: 0; }
  .rcs-head p { text-align: left; }
  .rcs-section { padding-top: 28px; }
  .rcs-section-alt { margin-top: 28px; padding: 28px 0; }
  .rcs-band { padding: 28px 22px; }
  .rcs-shot-cta { display: none; }
  .rcs-track { grid-template-columns: repeat(5, minmax(64px, 1fr)); overflow-x: auto; padding-bottom: 4px; }
  .rcs-stop small { display: none; }
  .rcs-stop-ico { width: 46px; height: 46px; }
  .rcs-track-line { top: 21px; }
  body.rcd-live .rcd-time { position: static; }
  .rcs-top-row:has([data-rcd-controls]) { height: auto; min-height: 64px; flex-wrap: wrap; gap: 10px 12px; padding: 10px 0; }
  .rcs-top-actions[data-rcd-controls] { width: 100%; margin-left: 0; }
  .rcs-top-actions[data-rcd-controls] .rcd-roles { flex: none; width: auto; margin-right: auto; }
  .rcs-top .rcd-role span { display: none; }
  .rcs-top .rcd-role { flex: none; min-height: 36px; padding: 6px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .rcs *, .rcs *::before, .rcs *::after, .rcd-arrive .rcd-main > * { animation: none !important; transition: none !important; }
  .rcs-reveal { opacity: 1; translate: 0 0; }
}
