/* Admin › Regulation Catalog (Pages/Admin/Regulations). Shared by hub, jurisdiction, review, document and topic pages. */

.rg-page {
    --rg-red: #E31E24;
    --rg-red-soft: rgba(227, 30, 36, .14);
    --rg-text: #f1f5f9;
    --rg-muted: #9ba2a8;
    --rg-label: #8a9199;
    --rg-line: rgba(255, 255, 255, .09);
    --rg-line-strong: rgba(255, 255, 255, .16);
    --rg-panel: linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .012));
    color: var(--rg-text);
    font-family: "Barlow", "Segoe UI", sans-serif;
    color-scheme: dark;
    padding-bottom: 3rem;
}
.rg-page select option { background: #11141a; color: #f8fafc; }
.rg-muted { color: var(--rg-muted); }
.rg-strong { color: #fff; font-weight: 700; }
.rg-mono { font-family: "Share Tech Mono", ui-monospace, monospace; font-size: .78rem; }
.rg-spin { animation: rg-spin 1s linear infinite; }
@keyframes rg-spin { to { transform: rotate(360deg); } }

/* Hero */
.rg-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin: .6rem 0 1rem;
    padding: 1.4rem 1.5rem;
    border: 1px solid var(--rg-line);
    border-radius: 14px;
    background:
        radial-gradient(40rem 18rem at 0% 0%, rgba(227, 30, 36, .16), transparent 70%),
        radial-gradient(30rem 16rem at 100% 100%, rgba(59, 130, 246, .10), transparent 70%),
        #1a202c;
    overflow: hidden;
}
.rg-hero-compact { padding: 1.1rem 1.3rem; align-items: center; }
.rg-hero-text { min-width: 0; max-width: 70ch; }
.rg-eyebrow {
    margin: 0 0 .35rem;
    color: #ff5a5f;
    font-family: "Share Tech Mono", monospace;
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.rg-title {
    margin: 0;
    color: #fff;
    font-family: "Barlow Condensed", "Barlow", sans-serif;
    font-weight: 900;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    line-height: .95;
    text-transform: uppercase;
    letter-spacing: .01em;
}
.rg-hero-compact .rg-title { font-size: clamp(1.7rem, 3.5vw, 2.6rem); }
.rg-subtitle { margin: .55rem 0 0; color: var(--rg-muted); font-size: .92rem; line-height: 1.5; }

.rg-kpis { display: grid; grid-auto-flow: column; gap: .55rem; }
.rg-kpi {
    min-width: 92px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: .65rem .8rem;
    border-radius: 10px;
    border: 1px solid var(--rg-line-strong);
    background: rgba(255, 255, 255, .05);
    backdrop-filter: blur(6px);
}
.rg-kpi strong { font-family: "Barlow Condensed", sans-serif; font-size: 1.7rem; font-weight: 800; line-height: 1; color: #fff; }
.rg-kpi span { font-family: "Share Tech Mono", monospace; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: var(--rg-label); }
.rg-kpi-green strong { color: #4ade80; }
.rg-kpi-amber strong { color: #fbbf24; }
.rg-kpi-red strong { color: #f87171; }

/* Buttons & actions */
.rg-actions, .rg-panel-actions, .rg-item-actions, .rg-toolbar-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.rg-actions { margin-bottom: 1rem; }
.rg-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem .9rem;
    border-radius: 8px;
    border: 1px solid var(--rg-line-strong);
    background: rgba(255, 255, 255, .04);
    color: #e2e8f0;
    font-family: "Barlow Condensed", "Barlow", sans-serif;
    font-weight: 700;
    font-size: .85rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s ease, border-color .15s ease, transform .12s ease;
}
.rg-btn .material-icons { font-size: 1.05rem; }
.rg-btn:hover:not(:disabled) { background: rgba(255, 255, 255, .09); transform: translateY(-1px); color: #fff; }
.rg-btn:disabled { opacity: .5; cursor: default; }
.rg-btn-primary { background: var(--rg-red); border-color: rgba(255, 59, 65, .55); color: #fff; }
.rg-btn-primary:hover:not(:disabled) { background: #B01519; }
.rg-btn-danger { color: #fca5a5; border-color: rgba(239, 68, 68, .45); background: rgba(239, 68, 68, .08); }
.rg-push-left { margin-right: auto; }
.rg-x, .rg-icon-btn {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 0;
    background: transparent;
    color: var(--rg-muted);
    cursor: pointer;
    text-decoration: none;
}
.rg-x:hover, .rg-icon-btn:hover { background: rgba(255, 255, 255, .07); color: #fff; }
.rg-link { display: inline-flex; align-items: center; gap: .3rem; margin: .5rem .9rem 0 0; color: #93c5fd; font-size: .85rem; text-decoration: none; }
.rg-link .material-icons { font-size: 1rem; }
.rg-link:hover { text-decoration: underline; }

/* Alerts & empty states */
.rg-alert {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 1rem;
    padding: .65rem .85rem;
    border-radius: 9px;
    font-size: .88rem;
    border: 1px solid var(--rg-line-strong);
}
.rg-alert .rg-x { margin-left: auto; width: 26px; height: 26px; }
.rg-alert-ok { background: rgba(34, 197, 94, .10); border-color: rgba(34, 197, 94, .38); color: #bbf7d0; }
.rg-alert-error { background: rgba(227, 30, 36, .10); border-color: rgba(227, 30, 36, .42); color: #fecaca; }
.rg-alert-info { background: rgba(59, 130, 246, .10); border-color: rgba(59, 130, 246, .38); color: #bfdbfe; }
.rg-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: 2.5rem 1rem;
    border: 1px dashed var(--rg-line-strong);
    border-radius: 12px;
    color: var(--rg-muted);
    text-align: center;
}
.rg-empty .material-icons { font-size: 2rem; }
.rg-empty p { margin: 0; }
.rg-empty-ok .material-icons { color: #4ade80; }
.rg-count { color: var(--rg-muted); font-size: .8rem; margin: 0 0 .5rem; }

/* List cards (hub pattern) */
.rg-section-label {
    display: block;
    margin: 1.1rem 0 .5rem;
    color: var(--rg-label);
    font-family: "Share Tech Mono", monospace;
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.rg-list { display: flex; flex-direction: column; gap: .5rem; }
.rg-card {
    display: flex;
    align-items: center;
    gap: .9rem;
    width: 100%;
    padding: .85rem 1rem;
    border-radius: 12px;
    border: 1px solid var(--rg-line);
    background: var(--rg-panel);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}
.rg-card:hover { border-color: var(--rg-line-strong); background: rgba(255, 255, 255, .05); }
.rg-card-body { display: flex; flex-direction: column; gap: .3rem; min-width: 0; flex: 1; }
.rg-card-title { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; color: #fff; font-weight: 700; font-size: 1rem; }
.rg-card-desc { color: var(--rg-muted); font-size: .84rem; overflow-wrap: anywhere; }
.rg-card-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.rg-code { font-family: "Barlow Condensed", sans-serif; font-weight: 800; color: #ff5a5f; letter-spacing: .04em; }
.rg-chev { color: var(--rg-muted); flex: 0 0 auto; }
.rg-medallion { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; flex: 0 0 auto; }
.rg-medallion .material-icons { font-size: 1.35rem; }
.rg-med-red { background: rgba(227, 30, 36, .13); color: #ff5a5f; }
.rg-med-blue { background: rgba(59, 130, 246, .13); color: #7cb3ff; }
.rg-med-purple { background: rgba(139, 92, 246, .14); color: #c4b5fd; }
.rg-med-grey { background: rgba(148, 163, 184, .12); color: #cbd5e1; }
.rg-med-amber { background: rgba(245, 158, 11, .14); color: #fbbf24; }
.rg-progress { display: block; height: 5px; border-radius: 999px; background: rgba(255, 255, 255, .07); overflow: hidden; max-width: 360px; }
.rg-progress span { display: block; height: 100%; background: linear-gradient(90deg, #16a34a, #4ade80); }

/* Chips */
.rg-chip {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--rg-line-strong);
    background: rgba(255, 255, 255, .04);
    color: #cbd5e1;
    font-family: "Share Tech Mono", monospace;
    font-size: .66rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}
.rg-chip-published { background: rgba(34, 197, 94, .13); border-color: rgba(34, 197, 94, .38); color: #4ade80; }
.rg-chip-verified { background: rgba(59, 130, 246, .13); border-color: rgba(59, 130, 246, .38); color: #93c5fd; }
.rg-chip-proposed { background: rgba(245, 158, 11, .12); border-color: rgba(245, 158, 11, .38); color: #fbbf24; }
.rg-chip-stale { background: rgba(249, 115, 22, .13); border-color: rgba(249, 115, 22, .42); color: #fdba74; }
.rg-chip-rejected { background: rgba(239, 68, 68, .12); border-color: rgba(239, 68, 68, .4); color: #fca5a5; }
.rg-chip-stated { color: #e2e8f0; }
.rg-chip-ambiguous { background: rgba(234, 179, 8, .12); border-color: rgba(234, 179, 8, .38); color: #fde047; }
.rg-chip-notfound, .rg-chip-notcovered { color: #94a3b8; border-style: dashed; }
.rg-chip-override { background: rgba(227, 30, 36, .12); border-color: rgba(227, 30, 36, .4); color: #ff8a8d; }
.rg-chip-baseline { background: rgba(59, 130, 246, .13); border-color: rgba(59, 130, 246, .38); color: #93c5fd; }

/* Tabs & filters */
.rg-tabs { display: flex; gap: .35rem; border-bottom: 1px solid var(--rg-line); margin-bottom: .9rem; overflow-x: auto; }
.rg-tab {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .65rem .9rem;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--rg-muted);
    font: 700 .9rem "Barlow", sans-serif;
    cursor: pointer;
    white-space: nowrap;
}
.rg-tab .material-icons { font-size: 1.1rem; }
.rg-tab.is-active { color: #fff; border-bottom-color: var(--rg-red); }
.rg-chipbar { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .9rem; }
.rg-filter {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .38rem .75rem;
    border-radius: 999px;
    border: 1px solid var(--rg-line-strong);
    background: rgba(255, 255, 255, .03);
    color: #cbd5e1;
    font-size: .8rem;
    font-weight: 600;
    cursor: pointer;
}
.rg-filter span { color: var(--rg-muted); font-family: "Share Tech Mono", monospace; font-size: .72rem; }
.rg-filter.is-active { border-color: var(--rg-red); background: var(--rg-red-soft); color: #fff; }

/* Toolbar & forms */
.rg-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .7rem; margin-bottom: .8rem; }
.rg-grow { flex: 1; min-width: 200px; }
.rg-field { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.rg-field > span {
    color: var(--rg-label);
    font-family: "Share Tech Mono", monospace;
    font-size: .66rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.rg-input {
    width: 100%;
    box-sizing: border-box;
    min-height: 2.2rem;
    padding: .5rem .6rem;
    border-radius: 7px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .06);
    color: #f8fafc;
    font: inherit;
    font-size: .92rem;
}
.rg-input:focus { outline: none; border-color: rgba(227, 30, 36, .75); }
.rg-input:disabled { opacity: .55; }
.rg-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: .4rem 0 .9rem; }
.rg-col-2 { grid-column: 1 / -1; }
.rg-inline-form { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--rg-line); }

/* Tables */
.rg-table-wrap { overflow-x: auto; border: 1px solid var(--rg-line); border-radius: 12px; }
.rg-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.rg-table th {
    padding: .6rem .75rem;
    background: rgba(255, 255, 255, .03);
    color: var(--rg-label);
    font-family: "Share Tech Mono", monospace;
    font-size: .66rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: left;
    white-space: nowrap;
}
.rg-table td { padding: .6rem .75rem; border-top: 1px solid var(--rg-line); vertical-align: top; }
.rg-row { cursor: pointer; }
.rg-row:hover td { background: rgba(255, 255, 255, .035); }
.rg-value { color: #fff; font-weight: 700; }

/* Panels, drift, projection */
.rg-panel { padding: 1rem 1.1rem; border: 1px solid var(--rg-line); border-radius: 12px; background: var(--rg-panel); }
.rg-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: .9rem; }
.rg-panel-head h2 { margin: 0 0 .25rem; font-size: 1.05rem; color: #fff; }
.rg-panel-head p { margin: 0; font-size: .85rem; }
.rg-h3 { display: flex; align-items: center; gap: .4rem; margin: 1rem 0 .6rem; font-size: .9rem; color: #fff; }
.rg-h3 .material-icons { font-size: 1.1rem; color: var(--rg-muted); }
.rg-drift { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.rg-drift li { padding: .7rem .8rem; border-radius: 10px; border: 1px solid rgba(249, 115, 22, .3); background: rgba(249, 115, 22, .06); }
.rg-drift-head { display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline; }
.rg-drift-values { display: flex; flex-wrap: wrap; gap: 1.2rem; margin: .3rem 0; font-size: .86rem; }
.rg-drift-values em { color: var(--rg-label); font-style: normal; font-family: "Share Tech Mono", monospace; font-size: .66rem; text-transform: uppercase; margin-right: .3rem; }
.rg-drift p { margin: 0; font-size: .8rem; }

/* Review queue */
.rg-queue { display: flex; flex-direction: column; gap: .5rem; }
.rg-item { border: 1px solid var(--rg-line); border-radius: 12px; background: var(--rg-panel); overflow: hidden; }
.rg-item.is-open { border-color: var(--rg-line-strong); }
.rg-item-head {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem;
    width: 100%;
    padding: .75rem 1rem;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.rg-item-head:hover { background: rgba(255, 255, 255, .03); }
.rg-item-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rg-item-value { color: #fff; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rg-item-chips { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }
.rg-quote-flag { font-size: 1.1rem; }
.rg-quote-flag.ok { color: #4ade80; }
.rg-quote-flag.warn { color: #fbbf24; }
.rg-item-body { padding: 0 1rem 1rem; border-top: 1px solid var(--rg-line); }
.rg-item-actions { margin-top: 1rem; }
.rg-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 1rem; }
.rg-pane { min-width: 0; }
.rg-dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .3rem .9rem; margin: 0; font-size: .88rem; }
.rg-dl dt { color: var(--rg-label); font-family: "Share Tech Mono", monospace; font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; padding-top: 2px; }
.rg-dl dd { margin: 0; overflow-wrap: anywhere; }
.rg-quote {
    margin: .8rem 0 0;
    padding: .65rem .85rem;
    border-left: 3px solid var(--rg-red);
    border-radius: 0 8px 8px 0;
    background: rgba(255, 255, 255, .04);
    color: #f8fafc;
    font-size: .9rem;
    line-height: 1.5;
}
.rg-note { display: flex; gap: .4rem; margin: .7rem 0 0; color: #cbd5e1; font-size: .85rem; line-height: 1.45; }
.rg-note .material-icons { font-size: 1rem; color: var(--rg-muted); }
.rg-sub-label { margin: .8rem 0 .3rem; color: var(--rg-label); font-family: "Share Tech Mono", monospace; font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
.rg-pre { margin: 0; padding: .55rem .7rem; border-radius: 8px; background: #0f141b; border: 1px solid var(--rg-line); color: #cbd5e1; font-size: .78rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.rg-also { margin: 0; padding-left: 1.1rem; font-size: .84rem; line-height: 1.45; }
.rg-source-text {
    margin-top: .5rem;
    max-height: 420px;
    overflow-y: auto;
    padding: .75rem .85rem;
    border-radius: 9px;
    border: 1px solid var(--rg-line);
    background: #0f141b;
    color: #d6dde5;
    font-size: .86rem;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.rg-source-text mark { background: rgba(250, 204, 21, .28); color: #fff; border-radius: 3px; padding: 0 2px; box-shadow: 0 0 0 1px rgba(250, 204, 21, .45); }
.rg-history { margin: .9rem 0 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: .35rem; font-size: .84rem; }
.rg-history li { line-height: 1.5; }

/* Document viewer */
.rg-sections { display: flex; flex-direction: column; gap: .6rem; }
.rg-section { padding: .8rem .95rem; border-radius: 12px; border: 1px solid var(--rg-line); background: var(--rg-panel); }
.rg-section.is-focus { border-color: rgba(250, 204, 21, .5); box-shadow: 0 0 0 1px rgba(250, 204, 21, .25); }
.rg-section-head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.rg-section .rg-source-text { max-height: none; }

/* Modal */
.rg-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(0, 0, 0, .62);
    backdrop-filter: blur(2px);
}
.rg-modal {
    width: 100%;
    max-width: 520px;
    max-height: 92vh;
    overflow-y: auto;
    padding: 1.1rem 1.2rem 1.2rem;
    border-radius: 14px;
    border: 1px solid var(--rg-line-strong);
    background: #1a202c;
    color: #e8eaec;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
}
.rg-modal-wide { max-width: 720px; }
.rg-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; }
.rg-modal-head h2 { margin: 0; font-size: 1.1rem; color: #fff; }
.rg-modal p { font-size: .85rem; }
.rg-modal-actions { display: flex; justify-content: flex-end; gap: .5rem; }

@media (max-width: 760px) {
    .rg-hero { padding: 1.1rem; }
    .rg-kpis { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .rg-split { grid-template-columns: 1fr; }
    .rg-form { grid-template-columns: 1fr; }
    .rg-item-head { grid-template-columns: 1fr; }
    .rg-item-chips { justify-content: flex-start; }
    .rg-btn { flex: 1 1 auto; justify-content: center; }
}

/* Rules Command Center (Pages/Admin/Regulations/CommandCenter). Mobile-first. */
.rg-cc {
    --cc-pass: #4ade80; --cc-pass-bg: rgba(34, 197, 94, .12); --cc-pass-line: rgba(34, 197, 94, .42);
    --cc-warn: #fbbf24; --cc-warn-bg: rgba(245, 158, 11, .12); --cc-warn-line: rgba(245, 158, 11, .45);
    --cc-block: #fca5a5; --cc-block-bg: rgba(239, 68, 68, .14); --cc-block-line: rgba(239, 68, 68, .5);
    --cc-na: #a3aab2; --cc-na-bg: rgba(148, 163, 184, .06); --cc-na-line: rgba(148, 163, 184, .22);
}
.rg-cc-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: .4rem 0 .2rem; font-size: .82rem; color: var(--rg-muted); }
.rg-cc-crumbs a { color: #cbd5e1; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.rg-cc-crumbs a:hover { color: #fff; text-decoration: underline; }
.rg-cc-crumbs [aria-current] { color: #fff; }

.rg-cc-hero { align-items: flex-end; }
.rg-cc-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: .6rem 0 0; color: #cbd5e1; font-size: .92rem; }
.rg-cc-pin { background: rgba(59, 130, 246, .13); border-color: rgba(59, 130, 246, .38); color: #bfdbfe; }
.rg-cc-pin .material-icons { font-size: .9rem; }
.rg-cc-asof { margin: .45rem 0 0; color: #cbd5e1; font-size: .82rem; }
.rg-cc-warnings { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.rg-cc-warnings li { display: flex; align-items: flex-start; gap: .45rem; padding: .5rem .75rem; border-radius: 9px; border: 1px solid rgba(59, 130, 246, .3); background: rgba(59, 130, 246, .08); color: #dbeafe; font-size: .84rem; }
.rg-cc-warnings .material-icons { font-size: 1rem; color: #93c5fd; }
.rg-cc-picker { margin-bottom: 1rem; }
.rg-cc-picker-search { display: flex; gap: .5rem; margin-bottom: .8rem; }
.rg-cc-picker-search .rg-input { flex: 1; min-height: 44px; }
.rg-cc-note { display: flex; gap: .45rem; margin: .7rem 0 0; padding: .55rem .7rem; border-radius: 9px; border: 1px solid var(--cc-warn-line); background: var(--cc-warn-bg); color: #fde68a; font-size: .84rem; line-height: 1.45; }
.rg-cc-note .material-icons { font-size: 1.05rem; color: var(--cc-warn); }
.rg-cc-corners { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.rg-cc-corner { display: flex; gap: .6rem; padding: .5rem .7rem; border-radius: 9px; border: 1px solid var(--rg-line); background: rgba(255, 255, 255, .02); }
.rg-cc-corner-glyph { display: grid; place-items: center; flex: 0 0 auto; width: 24px; height: 24px; border-radius: 6px; font-weight: 800; color: var(--cc-na); border: 1px solid var(--cc-na-line); }
.rg-cc-corner.rg-cc-pass .rg-cc-corner-glyph { color: var(--cc-pass); border-color: var(--cc-pass-line); }
.rg-cc-corner.rg-cc-warn .rg-cc-corner-glyph { color: var(--cc-warn); border-color: var(--cc-warn-line); }
.rg-cc-corner.rg-cc-block .rg-cc-corner-glyph { color: var(--cc-block); border-color: var(--cc-block-line); }
.rg-cc-corner-body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.rg-cc-corner-name { color: #fff; font-weight: 700; font-size: .86rem; }
.rg-cc-corner-status { margin-left: .35rem; color: var(--rg-muted); font-family: "Share Tech Mono", monospace; font-size: .66rem; font-weight: 400; text-transform: uppercase; letter-spacing: .06em; }
.rg-cc-corner-msg { color: #cbd5e1; font-size: .82rem; overflow-wrap: anywhere; }
.rg-cc-corner-items { list-style: none; margin: .4rem 0 0; padding: 0; display: grid; gap: .2rem; }
.rg-cc-corner-items li { display: flex; justify-content: space-between; gap: .75rem; font-size: .8rem; padding: .2rem .45rem; border-radius: 6px; background: rgba(255,255,255,.03); }
.rg-cc-corner-item-label { color: #e2e8f0; }
.rg-cc-corner-item-status { color: #94a3b8; white-space: nowrap; }
.rg-cc-corner-items li.rg-cc-block .rg-cc-corner-item-status { color: #f87171; }
.rg-cc-corner-items li.rg-cc-warn .rg-cc-corner-item-status { color: #fbbf24; }
.rg-cc-corner-items li.rg-cc-pass .rg-cc-corner-item-status { color: #4ade80; }
.rg-cc-hero-actions { display: flex; flex-wrap: wrap; gap: .5rem; width: 100%; }
.rg-cc-btn { min-height: 44px; justify-content: center; flex: 1 1 auto; }

.rg-cc-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-bottom: 1rem; }
.rg-cc-kpi {
    display: flex; flex-direction: column; gap: .25rem; min-width: 0;
    padding: .85rem 1rem; border-radius: 12px; border: 1px solid var(--rg-line); background: var(--rg-panel);
    border-top: 3px solid rgba(148, 163, 184, .4);
}
.rg-cc-kpi strong { font-family: "Barlow Condensed", sans-serif; font-weight: 800; font-size: 2.1rem; line-height: 1; color: #fff; }
.rg-cc-kpi-label { display: inline-flex; align-items: center; gap: .35rem; color: #cbd5e1; font-family: "Share Tech Mono", monospace; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.rg-cc-kpi-label .material-icons { font-size: 1rem; }
.rg-cc-kpi-sub { color: var(--rg-muted); font-size: .8rem; overflow-wrap: anywhere; }
.rg-cc-kpi-red { border-top-color: #ef4444; } .rg-cc-kpi-red strong, .rg-cc-kpi-red .material-icons { color: #f87171; }
.rg-cc-kpi-amber { border-top-color: #f59e0b; } .rg-cc-kpi-amber strong, .rg-cc-kpi-amber .material-icons { color: #fbbf24; }
.rg-cc-kpi-blue { border-top-color: #3b82f6; } .rg-cc-kpi-blue strong, .rg-cc-kpi-blue .material-icons { color: #93c5fd; }

.rg-cc-grid-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-bottom: 1rem; }
.rg-cc-panel { min-width: 0; padding: 1rem; border-radius: 14px; border: 1px solid var(--rg-line); background: var(--rg-panel); }
.rg-cc-panel-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .3rem .8rem; margin-bottom: .8rem; }
.rg-cc-h2 { margin: 0; color: #fff; font-family: "Barlow Condensed", sans-serif; font-weight: 800; font-size: 1.35rem; text-transform: uppercase; letter-spacing: .02em; }
.rg-cc-panel-sub { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .4rem; color: var(--rg-muted); font-size: .82rem; }
.rg-cc-label { display: block; margin: 1rem 0 .4rem; color: var(--rg-label); font-family: "Share Tech Mono", monospace; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }

/* Matrix */
.rg-cc-matrix-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -.25rem; padding: 0 .25rem .25rem; }
.rg-cc-table { width: 100%; min-width: 640px; border-collapse: separate; border-spacing: 4px; }
.rg-cc-table thead th {
    padding: .3rem .2rem; color: #cbd5e1; font-family: "Share Tech Mono", monospace; font-size: .64rem; font-weight: 400;
    letter-spacing: .08em; text-transform: uppercase; text-align: center; white-space: nowrap;
}
.rg-cc-table thead .rg-cc-th-bout { text-align: left; }
.rg-cc-table td { padding: 0; text-align: center; }
.rg-cc-bout { display: flex; align-items: center; gap: .55rem; min-width: 200px; padding: .3rem .4rem .3rem 0; text-align: left; font-weight: 400; }
.rg-cc-bout-no { display: grid; place-items: center; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 7px; background: rgba(255, 255, 255, .07); color: #fff; font-family: "Barlow Condensed", sans-serif; font-weight: 800; }
.rg-cc-bout-text { display: flex; flex-direction: column; min-width: 0; }
.rg-cc-bout-title { color: #fff; font-weight: 700; font-size: .88rem; white-space: nowrap; }
.rg-cc-bout-tags { color: var(--rg-muted); font-size: .74rem; white-space: nowrap; }

.rg-cc-cell {
    position: relative; display: grid; place-items: center; width: 100%; min-width: 44px; min-height: 44px;
    border-radius: 9px; border: 1px solid var(--cc-na-line); background: var(--cc-na-bg); color: var(--cc-na);
    font: inherit; cursor: pointer; transition: transform .12s ease, background .15s ease;
}
.rg-cc-cell:hover { transform: translateY(-1px); filter: brightness(1.15); }
.rg-cc-cell:focus-visible { outline: 2px solid #93c5fd; outline-offset: 2px; }
.rg-cc-cell.is-selected { outline: 2px solid #fff; outline-offset: 2px; }
.rg-cc-glyph { font-weight: 800; font-size: 1.05rem; line-height: 1; }
.rg-cc-src { position: absolute; right: 4px; bottom: 2px; font-family: "Share Tech Mono", monospace; font-size: .62rem; color: #e2e8f0; opacity: .9; }
.rg-cc-pass.rg-cc-cell { background: var(--cc-pass-bg); border-color: var(--cc-pass-line); color: var(--cc-pass); }
.rg-cc-warn.rg-cc-cell { background: var(--cc-warn-bg); border-color: var(--cc-warn-line); color: var(--cc-warn); }
.rg-cc-block.rg-cc-cell { background: var(--cc-block-bg); border-color: var(--cc-block-line); color: var(--cc-block); }

.rg-cc-legend { display: flex; flex-direction: column; gap: .45rem; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--rg-line); }
.rg-cc-legend-group { display: flex; flex-wrap: wrap; gap: .35rem .9rem; }
.rg-cc-legend-item { display: inline-flex; align-items: center; gap: .35rem; color: #cbd5e1; font-size: .78rem; }
.rg-cc-legend-glyph, .rg-cc-legend-letter {
    display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 5px;
    border: 1px solid var(--rg-line-strong); font-weight: 800; font-size: .72rem;
}
.rg-cc-legend-letter { font-family: "Share Tech Mono", monospace; font-weight: 400; }
.rg-cc-legend-item.rg-cc-pass .rg-cc-legend-glyph { color: var(--cc-pass); border-color: var(--cc-pass-line); background: var(--cc-pass-bg); }
.rg-cc-legend-item.rg-cc-warn .rg-cc-legend-glyph { color: var(--cc-warn); border-color: var(--cc-warn-line); background: var(--cc-warn-bg); }
.rg-cc-legend-item.rg-cc-block .rg-cc-legend-glyph { color: var(--cc-block); border-color: var(--cc-block-line); background: var(--cc-block-bg); }
.rg-cc-legend-item.rg-cc-na .rg-cc-legend-glyph { color: var(--cc-na); }

/* Inspector */
.rg-cc-inspector { --cc-tone: var(--cc-na); --cc-tone-bg: var(--cc-na-bg); --cc-tone-line: var(--cc-na-line); }
.rg-cc-inspector.rg-cc-pass { --cc-tone: var(--cc-pass); --cc-tone-bg: var(--cc-pass-bg); --cc-tone-line: var(--cc-pass-line); }
.rg-cc-inspector.rg-cc-warn { --cc-tone: var(--cc-warn); --cc-tone-bg: var(--cc-warn-bg); --cc-tone-line: var(--cc-warn-line); }
.rg-cc-inspector.rg-cc-block { --cc-tone: var(--cc-block); --cc-tone-bg: var(--cc-block-bg); --cc-tone-line: var(--cc-block-line); }
.rg-cc-verdict { display: flex; align-items: flex-start; gap: .75rem; padding: .8rem .9rem; border-radius: 11px; border: 1px solid var(--cc-tone-line); background: var(--cc-tone-bg); }
.rg-cc-verdict-glyph { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 9px; border: 1px solid var(--cc-tone-line); color: var(--cc-tone); font-weight: 900; font-size: 1.2rem; }
.rg-cc-verdict-text { min-width: 0; }
.rg-cc-verdict-status { color: var(--cc-tone); font-family: "Share Tech Mono", monospace; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.rg-cc-headline { margin: .2rem 0 0; color: #fff; font-weight: 700; font-size: 1rem; line-height: 1.35; }

.rg-cc-layers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.rg-cc-layer {
    display: grid; grid-template-columns: minmax(90px, auto) 1fr auto; align-items: center; gap: .6rem;
    padding: .55rem .7rem; border-radius: 9px; border: 1px solid var(--rg-line); background: rgba(255, 255, 255, .02); font-size: .85rem;
}
.rg-cc-layer-name { color: #cbd5e1; font-weight: 700; }
.rg-cc-layer-value { color: #e2e8f0; min-width: 0; overflow-wrap: anywhere; }
.rg-cc-layer-note { display: block; color: var(--rg-muted); font-size: .76rem; }
.rg-cc-layer-role { padding: .12rem .45rem; border-radius: 999px; border: 1px solid var(--rg-line-strong); color: #cbd5e1; font-family: "Share Tech Mono", monospace; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.rg-cc-layer-applies { border-color: var(--cc-tone-line); background: var(--cc-tone-bg); box-shadow: inset 3px 0 0 var(--cc-tone); }
.rg-cc-layer-applies .rg-cc-layer-value { color: #fff; font-weight: 700; }
.rg-cc-layer-applies .rg-cc-layer-role { border-color: var(--cc-tone-line); color: var(--cc-tone); font-weight: 700; }
.rg-cc-layer-overridden .rg-cc-layer-value s { color: #b4bcc5; text-decoration-thickness: 1.5px; }
.rg-cc-layer-notapplicable { opacity: .62; }

.rg-cc-cite { padding: .7rem .85rem; border-radius: 9px; border: 1px solid var(--rg-line); background: rgba(255, 255, 255, .02); }
.rg-cc-cite-ref { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .8rem; color: #fff; font-family: "Share Tech Mono", monospace; font-size: .82rem; }
.rg-cc-cite-ref .rg-link { margin: 0; min-height: 44px; font-family: "Barlow", sans-serif; }
.rg-cc-quote { margin: .4rem 0 0; padding-left: .7rem; border-left: 2px solid var(--rg-line-strong); color: #cbd5e1; font-style: italic; font-size: .86rem; line-height: 1.5; }
.rg-cc-todo { margin: 0; color: #e2e8f0; font-size: .9rem; line-height: 1.5; }
.rg-cc-inspector-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }

/* Timeline */
.rg-cc-key { display: inline-block; width: 12px; height: 2px; vertical-align: middle; }
.rg-cc-key-today { background: #93c5fd; }
.rg-cc-key-fight { background: #ef4444; margin-left: .4rem; }
.rg-cc-tl-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rg-cc-tl { min-width: 720px; }
.rg-cc-tl-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) 120px; align-items: center; gap: .75rem; min-height: 44px; border-bottom: 1px solid rgba(255, 255, 255, .05); }
.rg-cc-tl-ticks { min-height: 28px; border-bottom: 1px solid var(--rg-line); }
.rg-cc-tl-section { margin: .9rem 0 .2rem; color: var(--rg-label); font-family: "Share Tech Mono", monospace; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.rg-cc-tl-label { display: flex; flex-direction: column; min-width: 0; padding: .3rem 0; }
.rg-cc-tl-name { color: #fff; font-weight: 700; font-size: .86rem; }
.rg-cc-tl-sub { color: var(--rg-muted); font-size: .74rem; }
.rg-cc-tl-track { position: relative; height: 32px; }
.rg-cc-tick { position: absolute; top: 50%; transform: translate(-50%, -50%); color: #b4bcc5; font-family: "Share Tech Mono", monospace; font-size: .64rem; white-space: nowrap; }
.rg-cc-tick:first-child { transform: translate(0, -50%); }
.rg-cc-grid { position: absolute; top: 0; bottom: 0; width: 1px; background: rgba(255, 255, 255, .05); }
.rg-cc-bar { position: absolute; top: 50%; height: 10px; transform: translateY(-50%); border-radius: 999px; background: var(--cc-k); opacity: .85; }
.rg-cc-bar.is-dashed { background: repeating-linear-gradient(90deg, var(--cc-k) 0 6px, transparent 6px 10px); border: 1px solid var(--cc-k); opacity: 1; }
.rg-cc-diamond { position: absolute; top: 50%; width: 12px; height: 12px; transform: translate(-50%, -50%) rotate(45deg); background: var(--cc-k); border: 2px solid #11141a; box-shadow: 0 0 0 1px var(--cc-k); z-index: 2; }
.rg-cc-today, .rg-cc-fight { position: absolute; top: -6px; bottom: -6px; width: 2px; transform: translateX(-1px); z-index: 1; }
.rg-cc-today { background: #93c5fd; opacity: .8; }
.rg-cc-fight { background: #ef4444; }
.rg-cc-tl-tag { display: flex; justify-content: flex-start; }
.rg-cc-tag { padding: .15rem .5rem; border-radius: 999px; border: 1px solid var(--cc-k); color: var(--cc-k-text); background: rgba(255, 255, 255, .03); font-size: .74rem; font-weight: 700; white-space: nowrap; }
.rg-cc-k-red { --cc-k: #ef4444; --cc-k-text: #fca5a5; }
.rg-cc-k-amber { --cc-k: #f59e0b; --cc-k-text: #fcd34d; }
.rg-cc-k-green { --cc-k: #22c55e; --cc-k-text: #86efac; }
.rg-cc-k-blue { --cc-k: #3b82f6; --cc-k-text: #93c5fd; }
.rg-cc-k-grey { --cc-k: #64748b; --cc-k-text: #cbd5e1; }

@media (min-width: 761px) {
    .rg-cc-hero-actions { width: auto; }
    .rg-cc-btn { flex: 0 0 auto; }
    .rg-cc-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .rg-cc-panel { padding: 1.2rem 1.3rem; }
}
@media (min-width: 1200px) {
    .rg-cc-grid-main { grid-template-columns: minmax(0, 1.55fr) minmax(340px, 1fr); align-items: start; }
    .rg-cc-inspector { position: sticky; top: 1rem; }
}
