/* Ridge Distribution Portal — portal.css */

/* ── Validation ──────────────────────────────────────────── */
.rd-field-error {
    display: block;
    color: var(--rd-red);
    font-size: 12px;
    margin-top: 3px;
    line-height: 1.4;
}
.rd-input-error,
input.rd-input-error,
textarea.rd-input-error,
select.rd-input-error {
    border-color: var(--rd-red) !important;
    outline: none;
}
.rd-input-error:focus {
    box-shadow: 0 0 0 2px rgba(163, 45, 45, 0.15);
}
*, *::before, *::after { box-sizing: border-box; }
.rd-wrap input[type="file"] { max-width: 100%; }


:root {
    --rd-dark:    #284454;
    --rd-dark2:   #1e3344;
    --rd-teal:    #38747e;
    --rd-blue:    #185fa5;
    --rd-green:   #0f6e56;
    --rd-amber:   #b45309;
    --rd-red:     #a32d2d;
    --rd-light:   #f0f4f6;
    --rd-border:        #d1dde3;
    --rd-clinic-border: #e4edf1;
    --rd-text:    #1a2e3a;
    --rd-sub:     #5a7180;
    --rd-white:   #ffffff;
    --rd-sidebar: 240px;
    --rd-topbar:  52px;
}

/* ── RESET ───────────────────────────────────────────── */
.rd-wrap { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 14px; color: var(--rd-text); }
.rd-wrap a { text-decoration: none; }

/* ── LAYOUT ──────────────────────────────────────────── */
.rd-wrap {
    display: block;
    min-height: 100vh;
}
.rd-layout {
    display: flex;
    min-height: 100vh;
}

/* ── MOBILE TOP BAR (hidden on desktop) ──────────────── */
.rd-topbar {
    display: none;
    align-items: center;
    gap: 12px;
    background: var(--rd-dark);
    color: var(--rd-white);
    padding: 0 16px;
    height: var(--rd-topbar);
    position: sticky;
    top: 0;
    z-index: 150;
    flex-shrink: 0;
}
.rd-topbar-brand {
    font-size: 15px;
    font-weight: 600;
}
.rd-hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    flex-shrink: 0;
    min-height: 44px;
    min-width: 44px;
}
.rd-hamburger span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--rd-white);
    border-radius: 2px;
    transition: transform .2s, opacity .2s;
}
.rd-hamburger.rd-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.rd-hamburger.rd-open span:nth-child(2) { opacity: 0; }
.rd-hamburger.rd-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── SIDEBAR ─────────────────────────────────────────── */
.rd-sidebar {
    width: var(--rd-sidebar);
    flex-shrink: 0;
    background: var(--rd-dark);
    color: var(--rd-white);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.15) transparent;
}
.rd-sidebar::-webkit-scrollbar { width: 4px; }
.rd-sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15); border-radius: 2px; }

.rd-sidebar-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 24px 18px 20px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    text-align: center;
}
.rd-logo {
    width: 100px; height: 100px;
    border-radius: 14px;
    background: #fff;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    padding: 8px;
}
.rd-logo img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
}
.rd-sidebar-title { font-size: 13px; font-weight: 600; color: var(--rd-white); line-height: 1.2; }
.rd-sidebar-sub   { font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-top: 1px; }

.rd-sidebar-rep {
    padding: 14px 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.rd-sidebar-rep-name { font-size: 13px; font-weight: 600; color: var(--rd-white); }
.rd-sidebar-rep-meta { font-size: 11px; color: rgba(255,255,255,.5); margin-top: 2px; }

.rd-sidebar-net {
    margin: 14px 14px 0;
    background: rgba(255,255,255,.06);
    border-radius: 8px;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.08);
}
.rd-sidebar-net-alert { background: rgba(230,80,80,.15); border-color: rgba(230,80,80,.2); }
.rd-sidebar-net-lbl { font-size: 10px; text-transform: uppercase; letter-spacing: .5px; color: rgba(255,255,255,.5); margin-bottom: 4px; }
.rd-sidebar-net-val { font-size: 22px; font-weight: 700; color: #6ecfb8; line-height: 1; }
.rd-sidebar-net-alert .rd-sidebar-net-val { color: #e87070; }
.rd-sidebar-net-sub { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 3px; }

/* ── NAV ─────────────────────────────────────────────── */
.rd-nav {
    padding: 14px 0;
    flex: 1;
}
.rd-nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 500;
    color: rgba(255,255,255,.65);
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: background .15s, color .15s, border-color .15s;
    text-decoration: none;
}
.rd-nav-item svg { flex-shrink: 0; opacity: .7; }
.rd-nav-item:hover {
    background: rgba(255,255,255,.06);
    color: var(--rd-white);
}
.rd-nav-item:hover svg { opacity: 1; }
.rd-nav-active {
    background: rgba(255,255,255,.1) !important;
    color: var(--rd-white) !important;
    border-left-color: var(--rd-teal) !important;
    font-weight: 600;
}
.rd-nav-active svg { opacity: 1 !important; }

.rd-sidebar-rates {
    padding: 14px 18px;
    border-top: 1px solid rgba(255,255,255,.08);
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.rd-sidebar-rates-lbl {
    width: 100%;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: rgba(255,255,255,.4);
    margin-bottom: 4px;
}

.rd-sidebar-footer {
    padding: 14px 18px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.rd-sidebar-footer a {
    font-size: 12px;
    color: rgba(255,255,255,.4);
    transition: color .15s;
}
.rd-sidebar-footer a:hover { color: rgba(255,255,255,.75); }

/* ── SIDEBAR OVERLAY (mobile) ────────────────────────── */
.rd-sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 149;
}
.rd-sidebar-overlay.rd-active { display: block; }

/* ── MAIN CONTENT ────────────────────────────────────── */
.rd-main {
    flex: 1;
    min-width: 0;
    background: var(--rd-light);
    position: relative;
}

/* ── PANELS ──────────────────────────────────────────── */
.rd-panel { padding: 24px; }
.rd-sec-hdr {
    font-size: 17px;
    font-weight: 700;
    color: var(--rd-dark);
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rd-border);
}

/* ── CARDS ───────────────────────────────────────────── */
.rd-card {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 8px;
    padding: 18px 20px;
    margin-bottom: 16px;
    overflow: hidden;
}
.rd-info-box {
    background: #eef4f7;
    border-left: 3px solid var(--rd-teal);
    padding: 10px 14px;
    font-size: 13px;
    color: var(--rd-sub);
    margin-bottom: 16px;
    border-radius: 0 4px 4px 0;
}

/* ── BADGES ──────────────────────────────────────────── */
.rd-badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}
.rd-badge-teal  { background: #d1eaed; color: var(--rd-teal); }
.rd-badge-blue  { background: #dbe8f8; color: var(--rd-blue); }
.rd-badge-amber { background: #fef3c7; color: var(--rd-amber); }
.rd-badge-gray  { background: #e5ecef; color: var(--rd-sub); }
.rd-badge-green { background: #d1f0e7; color: var(--rd-green); }
.rd-badge-red   { background: #fde8e8; color: var(--rd-red); }

/* ── DOT ─────────────────────────────────────────────── */
.rd-dot {
    display: inline-block;
    width: 7px; height: 7px;
    background: var(--rd-amber);
    border-radius: 50%;
    margin-left: 2px;
    vertical-align: middle;
}

/* ── FORM ELEMENTS ───────────────────────────────────── */
.rd-lbl,
.rd-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--rd-sub);
    margin-bottom: 5px;
}
.rd-form-grid { display: grid; gap: 12px; }
.rd-grid-2    { grid-template-columns: repeat(2, 1fr); }
.rd-grid-3    { grid-template-columns: repeat(3, 1fr); }
.rd-grid-4    { grid-template-columns: repeat(4, 1fr); }
.rd-grid-5    { grid-template-columns: repeat(5, 1fr); }

.rd-wrap input[type="text"],
.rd-wrap input[type="email"],
.rd-wrap input[type="tel"],
.rd-wrap input[type="number"],
.rd-wrap input[type="date"],
.rd-wrap select,
.rd-wrap textarea {
    width: 100%;
    padding: 9px 12px;
    border: 1px solid var(--rd-border);
    border-radius: 6px;
    font-size: 13px;
    color: var(--rd-text);
    background: var(--rd-white);
    outline: none;
    transition: border-color .15s, box-shadow .15s;
    font-family: inherit;
}
.rd-wrap input:focus,
.rd-wrap select:focus,
.rd-wrap textarea:focus { border-color: var(--rd-teal); box-shadow: 0 0 0 2px rgba(56,116,126,.12); }
.rd-wrap textarea { resize: vertical; min-height: 80px; }

/* Global chevron for all single selects using .rd-input */
select.rd-input:not([multiple]) {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a9bb0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
    padding-right: 32px;
    cursor: pointer;
}

/* ── BUTTONS ─────────────────────────────────────────── */
.rd-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 16px;
    background: var(--rd-dark);
    color: var(--rd-white);
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s;
    font-family: inherit;
    line-height: 1;
    white-space: nowrap;
}
.rd-btn:hover         { opacity: .85; }
.rd-btn-sm            { padding: 6px 12px; font-size: 12px; }
.rd-btn-green         { background: var(--rd-green); }
.rd-btn-red           { background: var(--rd-red); }
.rd-btn-amber         { background: var(--rd-amber); }
.rd-btn-teal          { background: var(--rd-teal); }
.rd-btn-primary       { background: var(--rd-teal); }
.rd-btn-outline {
    background: transparent;
    color: var(--rd-dark);
    border-color: var(--rd-border);
}
.rd-btn-outline:hover { background: var(--rd-light); opacity: 1; }

/* Suppress Kadence's global button:focus background on mouse-click — tabs and icon buttons
   would otherwise turn dark teal and stay that way until focus moves elsewhere. */
.rd-wrap button:focus:not(:focus-visible) {
    background: transparent;
    color: inherit;
    box-shadow: none;
    outline: none;
}
/* Re-apply backgrounds for solid action buttons (specificity beats the rule above) */
.rd-wrap .rd-btn:focus:not(:focus-visible)                                    { background: var(--rd-dark);  color: var(--rd-white); }
.rd-wrap .rd-btn-green:focus:not(:focus-visible)                              { background: var(--rd-green); }
.rd-wrap .rd-btn-red:focus:not(:focus-visible)                                { background: var(--rd-red);   }
.rd-wrap .rd-btn-amber:focus:not(:focus-visible)                              { background: var(--rd-amber); }
.rd-wrap .rd-btn-teal:focus:not(:focus-visible),
.rd-wrap .rd-btn-primary:focus:not(:focus-visible)                            { background: var(--rd-teal);  }
.rd-wrap .rd-btn-outline:focus:not(:focus-visible)                            { background: transparent; color: var(--rd-dark); }

/* ── SEARCH ROW ──────────────────────────────────────── */
.rd-search-row {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.rd-search-row input[type="text"] { flex: 1; min-width: 160px; }

/* ── TABLES ──────────────────────────────────────────── */
.rd-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rd-table {
    min-width: 100%;
    border-collapse: collapse;
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 6px;
    overflow: hidden;
    font-size: 13px;
}
.rd-table thead tr { background: var(--rd-dark); }
.rd-table thead th {
    padding: 10px 14px;
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #a8c4cf;
    white-space: nowrap;
}
.rd-table tbody tr { border-top: 1px solid var(--rd-border); }
.rd-table tbody tr:hover { background: #f7fafb; }
.rd-table tbody td { padding: 10px 14px; vertical-align: middle; }
.rd-empty {
    text-align: center;
    color: var(--rd-sub);
    padding: 32px !important;
    font-style: italic;
}
.rd-loading {
    text-align: center;
    color: var(--rd-sub);
    padding: 24px !important;
    font-size: 13px;
}
.rd-card-hdr {
    font-size: 14px;
    font-weight: 600;
    color: var(--rd-dark);
    margin-bottom: 14px;
}

/* ── CARD-STYLE TABLES ON MOBILE ─────────────────────── */
/* Applied to .rd-card-table at ≤ 768px */
@media (max-width: 768px) {
    .rd-card-table { border: none; background: transparent; }
    .rd-card-table thead { display: none; }
    .rd-card-table tbody tr {
        display: block;
        background: var(--rd-white);
        border: 1px solid var(--rd-border);
        border-radius: 6px;
        margin-bottom: 10px;
        padding: 12px 14px;
    }
    .rd-card-table tbody tr:hover { background: var(--rd-white); }
    .rd-card-table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 4px 0;
        border: none;
        font-size: 13px;
        gap: 8px;
    }
    /* Label from data-label attribute */
    .rd-card-table tbody td[data-label]:not([data-label=""])::before {
        content: attr(data-label);
        font-size: 11px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: .4px;
        color: var(--rd-sub);
        flex-shrink: 0;
    }
    /* First cell = card title, full width */
    .rd-card-table tbody td:first-child {
        font-size: 15px;
        font-weight: 600;
        color: var(--rd-dark);
        padding-bottom: 8px;
        margin-bottom: 4px;
        border-bottom: 1px solid var(--rd-border);
        justify-content: space-between;
    }
    /* Actions cell — buttons left-aligned */
    .rd-card-table tbody td[data-label=""] {
        justify-content: flex-start;
        gap: 8px;
        padding-top: 8px;
        margin-top: 4px;
        border-top: 1px solid var(--rd-border);
        flex-wrap: wrap;
    }
    /* Empty state still spans full width */
    .rd-card-table tbody td.rd-empty {
        display: block;
        text-align: center;
        border: none;
        border-top: none;
        margin: 0;
        padding: 24px 0 !important;
    }
}

/* ── DRAWER ──────────────────────────────────────────── */
.rd-drawer {
    background: var(--rd-light);
}
.rd-drawer-inner { padding: 24px; }
.rd-drawer-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--rd-border);
}
.rd-drawer-hdr span { font-size: 17px; font-weight: 600; color: var(--rd-dark); }

/* ── DETAIL SECTIONS ─────────────────────────────────── */
.rd-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
.rd-detail-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; color: var(--rd-sub); margin-bottom: 2px; }
.rd-detail-value { font-size: 14px; color: var(--rd-text); }

/* ── NOTES ───────────────────────────────────────────── */
.rd-note {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 4px;
    padding: 12px 14px;
    margin-bottom: 8px;
}
.rd-note-meta {
    font-size: 11px;
    color: var(--rd-sub);
    margin-bottom: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.rd-note-content { font-size: 13px; line-height: 1.5; }

/* ── SCHEDULE ────────────────────────────────────────── */
.rd-schedule-month { background: var(--rd-white); border: 1px solid var(--rd-border); border-radius: 6px; margin-bottom: 10px; overflow: hidden; }
.rd-schedule-hdr {
    background: #f0f4f6;
    padding: 10px 16px;
    font-weight: 600;
    font-size: 13px;
    color: var(--rd-dark);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--rd-border);
}

/* ── SUMMARY ROWS ────────────────────────────────────── */
.rd-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 14px;
    font-size: 13px;
    border-bottom: 1px solid var(--rd-border);
}
.rd-summary-row:last-child { border-bottom: none; }
.rd-summary-row.rd-total { font-weight: 700; background: #f0f4f6; font-size: 14px; }

/* ── UTILITY ─────────────────────────────────────────── */
.rd-flex       { display: flex; }
.rd-gap-8      { gap: 8px; }
.rd-gap-12     { gap: 12px; }
.rd-mt-12      { margin-top: 12px; }
.rd-mt-16      { margin-top: 16px; }
.rd-mb-0       { margin-bottom: 0; }
.rd-text-red   { color: var(--rd-red); }
.rd-text-green { color: var(--rd-green); }
.rd-text-sub   { color: var(--rd-sub); font-size: 12px; }
.rd-bold       { font-weight: 600; }

/* ── RESPONSIVE — TABLET (≤ 1024px) ─────────────────── */
@media (max-width: 1024px) {
    :root { --rd-sidebar: 200px; }
    .rd-grid-5 { grid-template-columns: repeat(3, 1fr); }
    .rd-grid-4 { grid-template-columns: repeat(2, 1fr); }
}

/* ── RESPONSIVE — MOBILE (≤ 768px) ──────────────────── */
@media (max-width: 768px) {

    /* Show top bar */
    .rd-topbar { display: flex; }
    .rd-topbar--hidden { display: none; }

    /* Layout stacks */
    .rd-layout { display: block; }

    /* Sidebar becomes a fixed slide-in panel */
    .rd-sidebar {
        position: fixed;
        top: 0;
        left: calc(var(--rd-sidebar) * -1 - 10px);
        height: 100vh;
        z-index: 200;
        width: var(--rd-sidebar);
        transition: left .25s ease;
        box-shadow: none;
    }
    .rd-sidebar.rd-sidebar-open {
        left: 0;
        box-shadow: 4px 0 24px rgba(0,0,0,.25);
    }

    /* Main fills full width, offset for topbar */
    .rd-main { min-height: calc(100vh - var(--rd-topbar)); }

    /* Panels */
    .rd-panel { padding: 16px 14px; }
    .rd-drawer-inner { padding: 16px 14px; }

    /* Drawer full screen on mobile — topbar hidden via JS when open */
    .rd-drawer {
        position: fixed;
        top: 0;
        left: 0; right: 0; bottom: 0;
        z-index: 160;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .rd-drawer-hdr {
        position: sticky;
        top: 0;
        background: var(--rd-light);
        z-index: 5;
        padding-bottom: 12px;
    }

    /* Cards — reduce side padding on small screens so inputs don't crowd edges */
    .rd-card { padding: 14px 14px; }

    /* Forms */
    .rd-grid-5, .rd-grid-4, .rd-grid-3, .rd-grid-2 { grid-template-columns: 1fr; }

    /* Search row */
    .rd-search-row { flex-direction: column; align-items: stretch; }
    .rd-search-row input, .rd-search-row select { width: 100%; }

    /* Tables */
    .rd-companies-table .rd-col-specialty,
    .rd-companies-table .rd-col-email,
    .rd-companies-table .rd-col-phone { display: none; }
    .rd-sales-table .rd-col-rate { display: none; }

    /* Detail grid */
    .rd-detail-grid { grid-template-columns: 1fr; gap: 10px; }

    /* Schedule */
    .rd-schedule-hdr { flex-direction: column; align-items: flex-start; gap: 4px; }

    /* Summary */
    .rd-summary-row { font-size: 12px; padding: 8px 12px; }
    .rd-summary-row.rd-total { font-size: 13px; }

    /* Bigger tap targets */
    .rd-btn     { padding: 10px 16px; }
    .rd-btn-sm  { padding: 8px 12px; }
    .rd-nav-item { padding: 12px 18px; min-height: 44px; }
    .rd-nav-sub-item { min-height: 44px; }

    /* Prevent iOS Safari auto-zoom on input focus (requires font-size >= 16px) */
    .rd-wrap input[type="text"],
    .rd-wrap input[type="email"],
    .rd-wrap input[type="tel"],
    .rd-wrap input[type="number"],
    .rd-wrap input[type="date"],
    .rd-wrap input[type="password"],
    .rd-wrap select,
    .rd-wrap textarea { font-size: 16px; }
}

@media (max-width: 480px) {
    .rd-sec-hdr { font-size: 15px; }
    .rd-card { padding: 14px; }
}

/* ── ADMIN PORTAL ─────────────────────────────────────── */

.rd-panel-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--rd-dark);
    margin: 0 0 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--rd-border);
}

/* Overview stat grid */
.rda-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.rda-stat-card {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 8px;
    padding: 18px 20px;
}
.rda-stat-num {
    font-size: 26px;
    font-weight: 700;
    color: var(--rd-dark);
    line-height: 1;
    margin-bottom: 6px;
}
.rda-stat-lbl {
    font-size: 12px;
    color: var(--rd-sub);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .4px;
}

/* Pending approval cards */
.rda-approval-card {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 12px;
}
.rda-approval-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.rda-co-name { font-size: 15px; color: var(--rd-dark); }
.rda-approval-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
    font-size: 13px;
    color: var(--rd-sub);
    margin-bottom: 14px;
}
.rda-approval-meta b { color: var(--rd-text); }
.rda-approval-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 12px;
    border-top: 1px solid var(--rd-border);
}
.rda-assign-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--rd-sub);
    text-transform: uppercase;
    letter-spacing: .4px;
}
.rda-rep-sel {
    width: auto !important;
    min-width: 160px;
}

/* Status/type tags */
.rda-tag {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
    text-transform: capitalize;
}
.rda-tag-pending  { background: #fef3c7; color: var(--rd-amber); }
.rda-tag-active   { background: #d1f0e7; color: var(--rd-green); }
.rda-tag-inactive { background: #e5ecef; color: var(--rd-sub); }
.rda-tag-disabled { background: #fde8e8; color: #a32d2d; }

/* Rep cards */
.rda-rep-card {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
}
.rda-rep-card.rda-rep-disabled {
    background: #f8f8f8;
    border-color: #ddd;
    opacity: 0.75;
}
.rda-rep-hdr {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 18px;
    flex-wrap: wrap;
}
.rda-rep-info { flex: 1; min-width: 140px; }
.rda-rep-name { font-size: 14px; font-weight: 600; color: var(--rd-dark); }
.rda-rep-email { font-size: 12px; color: var(--rd-sub); margin-top: 2px; }
.rda-rep-last-login { font-size: 11px; color: #9aacb8; margin-top: 2px; }
.rd-co-addr { font-size: 11px; color: var(--rd-sub); margin-top: 2px; }
.rd-co-addr-none { color: #b0bfc9; font-style: italic; }
.rd-addr-verified   { color: var(--rd-green); font-weight: 600; }
.rd-addr-unverified { color: #b0bfc9; }
.rd-ct-edit-cell { padding: 12px 16px !important; background: #f7fafc; }
.rda-rep-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.rda-disabled-badge {
    display: inline-block;
    background: #f0d0d0;
    color: var(--rd-red);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 6px;
    vertical-align: middle;
    white-space: nowrap;
}
.rda-rep-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex: 2;
}
.rda-chip {
    background: var(--rd-light);
    border: 1px solid var(--rd-border);
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 12px;
    color: var(--rd-sub);
    white-space: nowrap;
}
.rda-chip b { color: var(--rd-dark); }
.rda-chip-balance { background: #d1f0e7; border-color: #b6e8d4; }
.rda-chip-balance b { color: var(--rd-green); }

/* Rep detail expand */
.rda-rep-detail {
    border-top: 1px solid var(--rd-border);
    background: var(--rd-light);
}
.rda-rep-detail-inner { padding: 18px 20px; }
.rda-detail-summary {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 6px;
    padding: 14px 16px;
    margin-bottom: 16px;
}
.rda-detail-summary label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--rd-sub);
    margin-bottom: 4px;
}
.rda-detail-summary span { font-size: 13px; font-weight: 600; color: var(--rd-dark); }
.rda-balance-num { color: var(--rd-green) !important; }
.rda-section-hdr {
    font-size: 13px;
    font-weight: 700;
    color: var(--rd-dark);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin: 16px 0 8px;
}

/* Sale status mini badges */
.rda-status { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 10px; text-transform: capitalize; }
.rda-status-pending   { background: #fef3c7; color: var(--rd-amber); }
.rda-status-collected { background: #d1f0e7; color: var(--rd-green); }
.rda-status-returned  { background: #fde8e8; color: var(--rd-red); }

/* Payout panel */
.rda-payout-wrap {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 24px;
    align-items: start;
}
.rda-payout-form-card { margin-bottom: 0; }
.rda-balance-box {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    background: #eaf4f6;
    border: 1px solid #c7e0e6;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 13px;
    color: var(--rd-sub);
    margin-bottom: 4px;
}
.rda-balance-box strong { color: var(--rd-green); font-size: 14px; font-weight: 700; }

/* ── TOAST NOTIFICATIONS ──────────────────────────────── */
.rda-toast-wrap {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}
.rda-toast {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #fff;
    box-shadow: 0 4px 16px rgba(0,0,0,.18);
    pointer-events: all;
    animation: rdaToastIn .25s ease;
    max-width: 320px;
}
.rda-toast-icon { font-size: 15px; flex-shrink: 0; }
.rda-toast-success { background: #0f6e56; }
.rda-toast-error   { background: #a32d2d; }
.rda-toast-warning { background: #b45309; }
.rda-toast-info    { background: #284454; }
.rda-toast-hide    { animation: rdaToastOut .35s ease forwards; }

@keyframes rdaToastIn  { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes rdaToastOut { to   { opacity: 0; transform: translateY(12px); } }

/* ── CONFIRM MODAL ────────────────────────────────────── */
.rda-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.rda-modal {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,.2);
    padding: 28px 32px;
    max-width: 420px;
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
}
.rda-modal-msg {
    font-size: 15px;
    color: var(--rd-dark);
    margin: 0 0 22px;
    line-height: 1.5;
}
.rda-modal-btns {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

/* Company drawer subtabs */
.rd-subtabs {
    display: flex;
    gap: 2px;
    border-bottom: 2px solid var(--rd-border);
    margin-bottom: 0;
    flex-wrap: wrap;
}
.rd-subtab {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rd-sub);
    cursor: pointer;
    font-family: inherit;
    transition: color .15s, border-color .15s;
}
.rd-subtab:hover { color: var(--rd-dark) !important; background: none !important; }
.rd-subtab-active { color: var(--rd-teal) !important; border-bottom-color: var(--rd-teal) !important; font-weight: 600; background: none !important; }

/* Rep portal drawer tabs */
.rd-drawtabs {
    display: flex;
    gap: 2px;
    border-bottom: 2px solid var(--rd-border);
    margin: 16px 0 0;
    flex-wrap: wrap;
}
.rd-drawtab {
    background: none !important;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rd-sub);
    cursor: pointer;
    font-family: inherit;
    transition: color .15s, border-color .15s;
}
.rd-drawtab:hover { color: var(--rd-dark) !important; background: none !important; }
.rd-drawtab-active { color: var(--rd-teal) !important; border-bottom-color: var(--rd-teal) !important; font-weight: 600; background: none !important; }
.rd-drawtab-panel { padding-top: 16px; }

.rd-grid-span2 { grid-column: span 2; }

/* Company drawer hover row */
.rda-co-table tbody tr:hover td { background: #edf4f6; }

/* ── DOCUMENTS ────────────────────────────────────────── */
.rd-doc-upload { margin-bottom: 4px; }
.rd-doc-upload-row {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 6px;
}
.rd-doc-msg {
    font-size: 12px;
    margin-top: 6px;
    min-height: 16px;
}
.rd-doc-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid var(--rd-border);
    border-radius: 6px;
    margin-bottom: 8px;
    background: var(--rd-white);
    flex-wrap: wrap;
}
.rd-doc-info {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1;
}
.rd-doc-icon { font-size: 20px; flex-shrink: 0; }
.rd-doc-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--rd-dark);
    word-break: break-all;
}
.rd-doc-desc {
    font-size: 12px;
    color: var(--rd-sub);
    margin-top: 2px;
    font-style: italic;
}
.rd-doc-meta {
    font-size: 11px;
    color: var(--rd-sub);
    margin-top: 2px;
}

/* Responsive admin */
@media (max-width: 900px) {
    .rda-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .rda-payout-wrap { grid-template-columns: 1fr; }
    .rda-detail-summary { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    /* Admin company drawer: fixed full-screen — topbar hidden via JS when open */
    #rdaCompanyDrawer {
        position: fixed;
        top: 0; /* overridden below when WP admin bar is visible */
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 160;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: var(--rd-light);
        padding: 0;
    }
    #rdaCompanyDrawer .rd-drawer-hdr {
        position: sticky;
        top: 0;
        background: var(--rd-light);
        z-index: 5;
        padding: 14px 14px 12px;
        border-bottom: 1px solid var(--rd-border);
    }
    /* Pad the content below the sticky header */
    #rdaCompanyDrawer > *:not(.rd-drawer-hdr) {
        padding-left: 14px;
        padding-right: 14px;
    }
    #rdaCompanyDrawer > *:last-child {
        padding-bottom: 24px;
    }
    /* WP admin bar is 46px tall on mobile — push drawers below it */
    body.admin-bar .rd-drawer,
    body.admin-bar #rdaCompanyDrawer {
        top: 46px;
    }
}
@media (max-width: 600px) {
    .rda-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .rda-detail-summary { grid-template-columns: repeat(2, 1fr); }
    .rda-rep-hdr { gap: 10px; }
    .rda-approval-actions { flex-direction: column; align-items: flex-start; }
    .rda-rep-sel { width: 100% !important; }
}

/* ── IMPERSONATION BANNER ─────────────────────────────── */
#rd-impersonate-banner {
    background: #7c3aed;
    color: #fff;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
    flex-wrap: wrap;
}
#rd-impersonate-banner strong { font-weight: 700; }
#rd-stop-impersonate,
#rd-clinic-stop-impersonate {
    background: rgba(255,255,255,0.2);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.4);
    border-radius: 6px;
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
#rd-stop-impersonate:hover,
#rd-clinic-stop-impersonate:hover { background: rgba(255,255,255,0.35); }

/* ── IDLE TIMEOUT MODAL ───────────────────────────────── */
#rd-idle-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
#rd-idle-box {
    background: #fff;
    border-radius: 12px;
    padding: 36px 32px 28px;
    max-width: 360px;
    width: 90%;
    text-align: center;
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
}
#rd-idle-icon {
    font-size: 40px;
    margin-bottom: 12px;
}
#rd-idle-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--rd-dark);
    margin-bottom: 10px;
}
#rd-idle-msg {
    font-size: 14px;
    color: var(--rd-sub);
    margin-bottom: 24px;
    line-height: 1.6;
}
#rd-idle-msg strong {
    color: var(--rd-dark);
    font-size: 16px;
}
#rd-idle-stay {
    background: var(--rd-teal);
    color: #fff;
    border: none;
    border-radius: 7px;
    padding: 11px 28px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
}
#rd-idle-stay:hover { background: var(--rd-dark); }

/* ── Follow-up status bar ─────────────────────────── */
.rd-followup-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 7px;
    font-size: 13px;
    margin-bottom: 14px;
    border: 1px solid;
}
.rd-fu-label  { font-weight: 600; white-space: nowrap; }
.rd-fu-status { flex: 1; }
.rd-fu-overdue { background: #fef2f2; border-color: #fecaca; color: #a32d2d; }
.rd-fu-today   { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.rd-fu-ok      { background: #f0fdf4; border-color: #bbf7d0; color: #0f6e56; }
.rd-fu-none    { background: #f8fafc;  border-color: #c9d8e0; color: #5a7180; }
.rd-fu-edit    { font-size: 12px; font-weight: 500; color: var(--rd-blue); text-decoration: none; white-space: nowrap; }
.rd-fu-edit:hover { text-decoration: underline; }
.rd-fu-date-input { flex: 1; min-width: 0; border: 1px solid #c9d8e0; border-radius: 5px; padding: 3px 8px; font-size: 13px; color: var(--rd-dark); background: #fff; outline: none; }
.rd-fu-date-input:focus { border-color: var(--rd-blue); box-shadow: 0 0 0 2px rgba(59,130,246,.15); }

/* ── SELECT DROPDOWN ──────────────────────────────── */
.rd-select-wrap { position: relative; display: block; }
.rd-select-wrap .rd-select { appearance: none; -webkit-appearance: none; padding-right: 28px; cursor: pointer; }
.rd-select-chevron { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); pointer-events: none; font-size: 10px; color: var(--rd-sub); }

/* ── PROSPECT SEARCH ───────────────────────────────── */
.rd-prospect-smart { margin: 0; }
.rd-prospect-grid  { display: grid; gap: 12px; }
.rd-prospect-card  { background: #fff; border: 1px solid #d1dde3; border-radius: 8px; padding: 14px 16px; }
.rd-prospect-card-top    { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.rd-prospect-card-actions { flex-shrink: 0; }
.rd-prospect-name  { font-weight: 600; font-size: 14px; color: var(--rd-dark); margin-bottom: 3px; }
.rd-prospect-meta  { font-size: 12px; color: var(--rd-sub); line-height: 1.5; }
.rd-prospect-card-badges { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }

/* Score band badges */
.rd-prospect-band  { display: inline-block; padding: 3px 9px; border-radius: 20px; font-size: 11px; font-weight: 700; letter-spacing: .3px; }
.rd-band-prime   { background: #dcfce7; color: #0f6e56; }
.rd-band-strong  { background: #ccf0f0; color: #38747e; }
.rd-band-good    { background: #dbeafe; color: #1d4ed8; }
.rd-band-nurture { background: #fef3c7; color: #92400e; }
.rd-band-low     { background: #f1f5f9; color: #64748b; }

/* Small indicator tags */
.rd-prospect-tag      { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.rd-prospect-active   { background: #dcfce7; color: #0f6e56; }
.rd-prospect-inactive { background: #fee2e2; color: #a32d2d; }
.rd-prospect-imported { background: #dcfce7; color: #0f6e56; }
.rd-prospect-insystem { background: #fef3c7; color: #92400e; }
.rd-prospect-medicare { background: #dbeafe; color: #1d4ed8; }
.rd-prospect-group    { background: #ede9fe; color: #5b21b6; }
.rd-prospect-org      { background: #ede9fe; color: #5b21b6; }
.rd-prospect-ind      { background: #f1f5f9; color: #475569; }
.rd-prospect-in-system { font-size: 12px; font-weight: 600; color: var(--rd-green); white-space: nowrap; }

/* ── Sidebar Sub-Nav (Training sub-items) ─────────────────── */
.rd-nav-group { display: flex; flex-direction: column; }

.rd-nav-sub {
    display: flex;
    flex-direction: column;
    background: rgba(0,0,0,.12);
    overflow: hidden;
    max-height: 0;
    transition: max-height .22s ease;
}
.rd-subnav-open .rd-nav-sub { max-height: 600px; }

.rd-nav-training-chevron {
    margin-left: auto;
    flex-shrink: 0;
    opacity: .55;
    transition: transform .22s ease, opacity .15s;
}
.rd-nav-item:hover .rd-nav-training-chevron { opacity: .85; }
.rd-subnav-open #rdtTrainingTab .rd-nav-training-chevron { transform: rotate(180deg); opacity: .85; }

.rd-nav-sub-item {
    display: block;
    padding: 8px 18px 8px 38px;
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,.55);
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: background .12s, color .12s, border-color .12s;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rd-nav-sub-item:hover {
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.9);
}
.rd-nav-sub-active {
    color: #fff !important;
    border-left-color: var(--rd-teal) !important;
    background: rgba(255,255,255,.1) !important;
    font-weight: 600;
}

/* ── Admin Training Sub-tabs ─────────────────────────────── */
.rda-training-subtab {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rd-sub);
    cursor: pointer;
    font-family: inherit;
    transition: color .15s, border-color .15s;
}
.rda-training-subtab:hover { color: var(--rd-dark); }
.rda-training-subtab-active {
    color: var(--rd-dark) !important;
    border-bottom-color: var(--rd-dark) !important;
}

/* ── Training Hub ─────────────────────────────────────────── */
#rdtWrap { padding: 0; }
.rdt-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; flex-wrap: wrap; gap: 10px; }
.rdt-title  { font-size: 20px; font-weight: 700; color: var(--rd-dark); margin: 0; }

.rdt-stat-row { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.rdt-stat     { background: #fff; border: 1px solid var(--rd-border); border-radius: 8px; padding: 12px 20px; text-align: center; flex: 1; min-width: 80px; }
.rdt-stat-num { font-size: 22px; font-weight: 700; color: var(--rd-teal); }
.rdt-stat-label { font-size: 12px; color: var(--rd-sub); margin-top: 2px; }

.rdt-category-label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--rd-teal); margin: 20px 0 10px; }
.rdt-course-grid    { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin-bottom: 20px; }

.rdt-course-card     { background: #fff; border: 1px solid var(--rd-border); border-radius: 10px; padding: 16px; cursor: pointer; transition: box-shadow .15s, border-color .15s; }
.rdt-course-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); border-color: var(--rd-teal); }
.rdt-course-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; margin-bottom: 8px; }
.rdt-course-title    { font-size: 15px; font-weight: 600; color: var(--rd-dark); line-height: 1.3; }
.rdt-course-badges   { display: flex; gap: 4px; flex-wrap: wrap; flex-shrink: 0; }
.rdt-course-desc     { font-size: 12px; color: var(--rd-sub); margin: 0 0 10px; line-height: 1.5; }
.rdt-course-meta     { display: flex; justify-content: space-between; font-size: 11px; color: var(--rd-sub); margin-bottom: 8px; }

.rdt-badge           { display: inline-block; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.rdt-badge-req       { background: #fff3cd; color: #92400e; }
.rdt-badge-cert      { background: #dcfce7; color: #0f6e56; }

.rdt-progress-bar    { background: #e5e7eb; border-radius: 4px; height: 6px; overflow: hidden; }
.rdt-progress-bar div { height: 6px; border-radius: 4px; transition: width .3s; }

/* Course Shell */
.rdt-course-shell { display: grid; grid-template-columns: 220px 1fr; gap: 0; min-height: 500px; }
@media (max-width: 640px) { .rdt-course-shell { grid-template-columns: 1fr; } }

.rdt-sidebar      { background: #f8fafc; border-right: 1px solid var(--rd-border); padding: 16px; border-radius: 8px 0 0 8px; }
.rdt-sidebar-title { font-size: 13px; font-weight: 700; color: var(--rd-dark); margin: 14px 0 10px; line-height: 1.3; }
.rdt-section-list  { list-style: none; padding: 0; margin: 0; }
.rdt-section-item  { padding: 7px 10px; border-radius: 6px; cursor: pointer; font-size: 13px; color: var(--rd-sub); transition: background .1s; margin-bottom: 2px; }
.rdt-section-item:hover    { background: #e2edf0; }
.rdt-section-item.rdt-section-active { background: var(--rd-teal); color: #fff; }
.rdt-section-item.rdt-section-done   { color: var(--rd-green); }

.rdt-cert-earned  { background: #f0fdf4; border: 1px solid #a7f3d0; border-radius: 8px; padding: 12px; text-align: center; margin-top: 20px; }
.rdt-cert-icon    { font-size: 24px; margin-bottom: 4px; }
.rdt-cert-label   { font-size: 12px; font-weight: 700; color: #0f6e56; }
.rdt-cert-num     { font-size: 11px; color: #6b7280; margin: 4px 0 8px; }

.rdt-main         { padding: 24px; }
.rdt-section-content { max-width: 720px; }
.rdt-section-heading { font-size: 18px; font-weight: 700; color: var(--rd-dark); margin: 0 0 14px; }
.rdt-section-body    { font-size: 14px; color: #374151; line-height: 1.7; margin-bottom: 16px; }

.rdt-bullets  { padding-left: 20px; margin: 0 0 16px; }
.rdt-bullets li { font-size: 14px; color: #374151; line-height: 1.6; margin-bottom: 6px; }

.rdt-checklist  { padding-left: 20px; margin: 0 0 16px; }
.rdt-checklist li { font-size: 14px; color: #374151; line-height: 1.6; margin-bottom: 8px; }

.rdt-subsection { background: #f8fafc; border-radius: 8px; padding: 16px; margin-bottom: 16px; }
.rdt-subsection h4 { font-size: 14px; font-weight: 700; color: var(--rd-dark); margin: 0 0 8px; }
.rdt-subsection p  { font-size: 13px; color: #374151; margin: 0 0 8px; line-height: 1.6; }

.rdt-callout { border-radius: 6px; padding: 12px 14px; font-size: 13px; line-height: 1.6; margin-bottom: 16px; }

.rdt-mark-done  { margin-top: 20px; }
.rdt-done-badge { display: inline-flex; align-items: center; gap: 6px; background: #dcfce7; color: #0f6e56; border-radius: 6px; padding: 8px 14px; font-size: 13px; font-weight: 600; margin-top: 20px; }

/* Quiz */
.rdt-quiz        { margin-top: 24px; border-top: 1px solid var(--rd-border); padding-top: 20px; }
.rdt-quiz-wrap   { margin-top: 24px; border-top: 1px solid var(--rd-border); padding-top: 20px; }
.rdt-quiz-title  { font-size: 16px; font-weight: 700; color: var(--rd-dark); margin: 0 0 16px; }
.rdt-question    { margin-bottom: 20px; }
.rdt-question-text { font-size: 14px; font-weight: 600; color: var(--rd-dark); margin-bottom: 10px; }
.rdt-q-text      { font-size: 14px; font-weight: 600; color: var(--rd-dark); margin-bottom: 10px; }
.rdt-options, .rdt-q-options { display: flex; flex-direction: column; gap: 8px; }
.rdt-option, .rdt-q-opt {
    display: flex; align-items: flex-start; gap: 8px; cursor: pointer;
    font-size: 13px; color: #374151; padding: 8px 12px;
    border: 1px solid var(--rd-border); border-radius: 6px; transition: background .1s;
}
.rdt-option:hover, .rdt-q-opt:hover { background: #f0f9ff; border-color: var(--rd-teal); }
.rdt-option input, .rdt-q-opt input { margin-top: 2px; flex-shrink: 0; }

.rdt-quiz-submit  { margin-top: 16px; }
.rdt-quiz-results { margin-top: 20px; }
.rdt-quiz-score-banner { font-size: 20px; font-weight: 700; margin-bottom: 12px; }
.rdt-result-item  { border-radius: 6px; padding: 12px; margin-bottom: 12px; font-size: 13px; line-height: 1.5; }
.rdt-result-correct { background: #f0fdf4; border: 1px solid #a7f3d0; }
.rdt-result-wrong   { background: #fff1f2; border: 1px solid #fecdd3; }
.rdt-explanation  { color: #6b7280; margin-top: 6px; font-style: italic; }
.rdt-quiz-passed  { background: #f0fdf4; border-radius: 8px; padding: 12px; margin-top: 16px; text-align: center; color: #0f6e56; font-weight: 600; }
.rdt-quiz-score   { font-size: 20px; font-weight: 700; }
.rdt-quiz-pass    { background: #f0fdf4; border: 1px solid #a7f3d0; border-radius: 6px; padding: 10px 14px; font-size: 13px; font-weight: 600; color: #0f6e56; margin-top: 12px; }
.rdt-quiz-fail    { background: #fff1f2; border: 1px solid #fecdd3; border-radius: 6px; padding: 10px 14px; font-size: 13px; font-weight: 600; color: #a32d2d; margin-top: 12px; }
.rdt-quiz-remaining { font-size: 12px; color: var(--rd-amber); font-weight: 600; margin-top: 6px; padding: 6px 10px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 4px; }

.rdt-section-nav  { display: flex; gap: 10px; margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--rd-border); }

/* Certificates */
.rdt-certs-list   { display: flex; flex-direction: column; gap: 12px; }
.rdt-cert-card    { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--rd-border); border-radius: 10px; padding: 16px; flex-wrap: wrap; }
.rdt-cert-card.rdt-cert-expired { opacity: .7; }
.rdt-cert-info    { flex: 1; }
.rdt-cert-course  { font-size: 15px; font-weight: 600; color: var(--rd-dark); }
.rdt-cert-number  { font-size: 12px; color: var(--rd-sub); margin: 2px 0; }
.rdt-cert-dates   { font-size: 12px; color: var(--rd-sub); }
.rdt-expired-label { color: #ef4444; font-weight: 600; }

/* Toast */
.rdt-toast { position: fixed; bottom: 24px; right: 24px; background: #0f6e56; color: #fff; border-radius: 8px; padding: 12px 20px; font-size: 14px; font-weight: 600; z-index: 9999; transform: translateY(80px); opacity: 0; transition: transform .3s, opacity .3s; box-shadow: 0 4px 16px rgba(0,0,0,.2); }
.rdt-toast.rdt-toast-show { transform: translateY(0); opacity: 1; }

/* ── Training Hub Wrap ────────────────────────────────────── */
.rdt-hub-wrap { padding: 0; }
.rdt-sub { font-size: 13px; color: var(--rd-sub); margin: 4px 0 0; line-height: 1.5; }

/* Hub Tab Bar */
.rdt-hub-tabs {
    display: flex;
    gap: 2px;
    border-bottom: 2px solid var(--rd-border);
    margin-bottom: 0;
    flex-wrap: wrap;
    background: var(--rd-white);
    padding: 0 4px;
}
.rdt-hub-tab {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rd-sub);
    cursor: pointer;
    font-family: inherit;
    transition: color .15s, border-color .15s;
    white-space: nowrap;
}
.rdt-hub-tab:hover { color: var(--rd-dark); }
.rdt-hub-tab-active { color: var(--rd-teal) !important; border-bottom-color: var(--rd-teal) !important; font-weight: 600; }
#rdt-hub-content { padding: 20px 0; }

/* ── Today's Lesson Card ─────────────────────────────────── */
.rdt-lesson-card {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 10px;
    padding: 24px 28px;
    max-width: 720px;
}
.rdt-lesson-icon { font-size: 36px; line-height: 1; margin-bottom: 8px; }
.rdt-lesson-meta { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: var(--rd-teal); margin-bottom: 6px; }
.rdt-lesson-title { font-size: 22px; font-weight: 700; color: var(--rd-dark); margin: 0 0 6px; line-height: 1.2; }
.rdt-lesson-tagline { font-size: 14px; color: var(--rd-sub); margin: 0 0 16px; line-height: 1.5; font-style: italic; }
.rdt-lesson-hook {
    background: #eef6f8;
    border-left: 3px solid var(--rd-teal);
    padding: 12px 16px;
    font-size: 13px;
    color: var(--rd-text);
    line-height: 1.6;
    border-radius: 0 6px 6px 0;
    margin-bottom: 18px;
}
.rdt-lesson-points { margin-bottom: 20px; }
.rdt-lesson-point {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: var(--rd-text);
    line-height: 1.6;
    margin-bottom: 8px;
}
.rdt-point-dot {
    flex-shrink: 0;
    width: 7px;
    height: 7px;
    background: var(--rd-teal);
    border-radius: 50%;
    margin-top: 6px;
}
.rdt-script-block {
    background: #f8fafc;
    border: 1px solid var(--rd-border);
    border-radius: 8px;
    padding: 16px 18px;
    margin-bottom: 16px;
}
.rdt-script-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--rd-teal); margin-bottom: 8px; }
.rdt-script-text { font-size: 13px; color: var(--rd-text); line-height: 1.7; margin-bottom: 12px; font-style: italic; }
.rdt-action-block {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 14px 16px;
}
.rdt-action-label {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--rd-amber);
    padding-top: 2px;
}
.rdt-action-text { font-size: 13px; color: var(--rd-text); line-height: 1.6; }
.rdt-rotate-hint { font-size: 12px; color: var(--rd-sub); margin-top: 14px; font-style: italic; }

/* ── Learning Paths ──────────────────────────────────────── */
.rdt-paths-list { display: flex; flex-direction: column; gap: 10px; }
.rdt-path-card { background: var(--rd-white); border: 1px solid var(--rd-border); border-radius: 10px; overflow: hidden; }
.rdt-path-hdr {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    cursor: pointer;
    border-left: 4px solid var(--rd-teal);
    transition: background .12s;
    user-select: none;
}
.rdt-path-hdr:hover { background: #f7fafb; }
.rdt-path-icon { font-size: 26px; flex-shrink: 0; }
.rdt-path-info { flex: 1; min-width: 0; }
.rdt-path-name { font-size: 15px; font-weight: 600; color: var(--rd-dark); }
.rdt-path-sub  { font-size: 12px; color: var(--rd-sub); margin-top: 2px; }
.rdt-path-meta { font-size: 11px; color: var(--rd-teal); margin-top: 4px; font-weight: 600; }
.rdt-path-chevron { font-size: 20px; color: var(--rd-sub); flex-shrink: 0; transition: transform .18s; line-height: 1; }
.rdt-path-body { border-top: 1px solid var(--rd-border); background: #f8fafc; }
.rdt-week-block { padding: 14px 18px 4px; border-bottom: 1px solid var(--rd-border); }
.rdt-week-block:last-child { border-bottom: none; }
.rdt-week-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--rd-teal); margin-bottom: 10px; }
.rdt-mod-row {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 8px 0;
    border-top: 1px solid var(--rd-border);
}
.rdt-mod-row:first-of-type { border-top: none; }
.rdt-mod-type {
    flex-shrink: 0;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    margin-top: 2px;
}
.rdt-mod-info { flex: 1; min-width: 0; }
.rdt-mod-title { font-size: 13px; font-weight: 600; color: var(--rd-dark); line-height: 1.4; }
.rdt-mod-dur { font-size: 12px; color: var(--rd-sub); font-weight: 400; }
.rdt-mod-action { font-size: 12px; color: var(--rd-sub); margin-top: 2px; line-height: 1.4; }

/* ── Product Knowledge ───────────────────────────────────── */
.rdt-products-list { display: flex; flex-direction: column; gap: 10px; }
.rdt-prod-card { background: var(--rd-white); border: 1px solid var(--rd-border); border-radius: 10px; overflow: hidden; }
.rdt-prod-hdr {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    cursor: pointer;
    transition: background .12s;
    user-select: none;
}
.rdt-prod-hdr:hover { background: #f7fafb; }
.rdt-prod-code {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    background: var(--rd-teal);
    color: #fff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
    text-align: center;
    line-height: 1.2;
}
.rdt-prod-info { flex: 1; min-width: 0; }
.rdt-prod-name { font-size: 15px; font-weight: 600; color: var(--rd-dark); }
.rdt-prod-tagline { font-size: 12px; color: var(--rd-sub); margin-top: 2px; line-height: 1.4; }
.rdt-prod-cat { font-size: 11px; color: var(--rd-teal); font-weight: 600; margin-top: 4px; text-transform: uppercase; letter-spacing: .4px; }
.rdt-prod-chevron { font-size: 20px; color: var(--rd-sub); flex-shrink: 0; line-height: 1; }
.rdt-prod-body { border-top: 1px solid var(--rd-border); padding: 0; }
.rdt-prod-section { padding: 14px 18px; border-bottom: 1px solid var(--rd-border); }
.rdt-prod-section:last-child { border-bottom: none; }
.rdt-prod-section-lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--rd-teal); margin-bottom: 8px; }
.rdt-bullet-list { margin: 0; padding-left: 18px; }
.rdt-bullet-list li { font-size: 13px; color: var(--rd-text); line-height: 1.6; margin-bottom: 5px; }
.rdt-pricing-range { font-size: 20px; font-weight: 700; color: var(--rd-green); margin-bottom: 4px; }
.rdt-pricing-note { font-size: 12px; color: var(--rd-sub); margin-bottom: 8px; line-height: 1.5; }
.rdt-pricing-tip { font-size: 13px; color: var(--rd-text); line-height: 1.6; background: #fffbeb; border: 1px solid #fde68a; border-radius: 6px; padding: 10px 14px; }
.rdt-obj-block { margin-bottom: 12px; }
.rdt-obj-block:last-child { margin-bottom: 0; }
.rdt-obj-q { font-size: 13px; font-style: italic; color: var(--rd-sub); margin-bottom: 4px; }
.rdt-obj-a { font-size: 13px; color: var(--rd-text); line-height: 1.6; padding-left: 12px; border-left: 2px solid var(--rd-teal); }

/* ── Sales Scripts ───────────────────────────────────────── */
.rdt-scripts-wrap { padding-top: 4px; }
.rdt-script-cats {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.rdt-script-cat {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 12px;
    font-weight: 600;
    color: var(--rd-sub);
    cursor: pointer;
    font-family: inherit;
    transition: background .12s, color .12s, border-color .12s;
}
.rdt-script-cat:hover { background: #eef4f7; border-color: var(--rd-teal); color: var(--rd-dark); }
.rdt-script-cat-active { background: var(--rd-teal) !important; border-color: var(--rd-teal) !important; color: #fff !important; }
.rdt-script-card {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 10px;
    padding: 18px 20px;
    margin-bottom: 12px;
}
.rdt-script-card-title { font-size: 15px; font-weight: 700; color: var(--rd-dark); margin-bottom: 4px; }
.rdt-script-context { font-size: 12px; color: var(--rd-sub); margin-bottom: 12px; line-height: 1.5; }
.rdt-script-text-full {
    background: #f8fafc;
    border: 1px solid var(--rd-border);
    border-radius: 6px;
    padding: 14px 16px;
    font-size: 13px;
    color: var(--rd-text);
    line-height: 1.7;
    margin-bottom: 12px;
    font-style: italic;
    white-space: pre-wrap;
}
.rdt-script-tips { margin-top: 14px; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 6px; padding: 12px 14px; }
.rdt-script-tips-lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--rd-green); margin-bottom: 8px; }
.rdt-script-tip { font-size: 13px; color: #1a3d2b; line-height: 1.6; margin-bottom: 4px; }
.rdt-copy-script.rdt-copied { background: var(--rd-green) !important; color: #fff !important; border-color: var(--rd-green) !important; }

/* ── PRP Systems & Kits ──────────────────────────────────── */
.rdt-prp-wrap { padding: 0; }
.rdt-prp-section-hdr {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--rd-dark);
    margin: 0 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--rd-border);
}
.rdt-kit-category { margin-bottom: 20px; }
.rdt-kit-cat-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--rd-teal);
    margin-bottom: 8px;
}
.rdt-kit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
.rdt-kit-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 8px;
    padding: 12px 14px;
    text-decoration: none;
    color: var(--rd-text);
    transition: box-shadow .15s, border-color .15s;
}
.rdt-kit-card:hover { box-shadow: 0 3px 12px rgba(0,0,0,.08); border-color: var(--rd-teal); color: var(--rd-dark); }
.rdt-kit-card-soon { cursor: default; opacity: .65; }
.rdt-kit-card-soon:hover { box-shadow: none; border-color: var(--rd-border); }
.rdt-kit-soon { flex-shrink: 0; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: var(--rd-amber); background: #fef3c7; padding: 2px 7px; border-radius: 4px; align-self: center; }
.rdt-kit-icon { flex-shrink: 0; color: var(--rd-teal); margin-top: 2px; }
.rdt-kit-info { flex: 1; min-width: 0; }
.rdt-kit-title { font-size: 13px; font-weight: 600; color: var(--rd-dark); line-height: 1.3; margin-bottom: 3px; }
.rdt-kit-desc { font-size: 11px; color: var(--rd-sub); line-height: 1.4; }
.rdt-kit-open { flex-shrink: 0; font-size: 11px; font-weight: 600; color: var(--rd-teal); white-space: nowrap; align-self: center; }

.rdt-video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.rdt-video-card {
    display: block;
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: var(--rd-text);
    transition: box-shadow .15s, border-color .15s;
}
.rdt-video-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); border-color: var(--rd-teal); }
.rdt-video-thumb { position: relative; width: 100%; aspect-ratio: 16/9; background: #000; overflow: hidden; }
.rdt-video-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rdt-video-play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: #fff;
    background: rgba(0,0,0,.35);
    transition: background .15s;
}
.rdt-video-card:hover .rdt-video-play { background: rgba(0,0,0,.5); }
.rdt-video-title { font-size: 13px; font-weight: 600; color: var(--rd-dark); padding: 10px 12px 4px; line-height: 1.3; }
.rdt-video-desc { font-size: 11px; color: var(--rd-sub); padding: 0 12px 12px; line-height: 1.4; }

.rdt-resources-list { display: flex; flex-direction: column; gap: 6px; }
.rdt-resource-row {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 8px;
    padding: 12px 16px;
    text-decoration: none;
    color: var(--rd-text);
    transition: box-shadow .15s, border-color .15s;
}
.rdt-resource-row:hover { border-color: var(--rd-teal); box-shadow: 0 2px 8px rgba(0,0,0,.07); }
.rdt-resource-info { flex: 1; min-width: 0; }
.rdt-resource-label { font-size: 13px; font-weight: 600; color: var(--rd-dark); margin-bottom: 2px; }
.rdt-resource-desc { font-size: 12px; color: var(--rd-sub); line-height: 1.4; }
.rdt-resource-arrow { flex-shrink: 0; font-size: 16px; color: var(--rd-teal); }

/* ── Marketing Hub ───────────────────────────────────────── */
.rdt-mkt-wrap { padding: 0; }
.rdt-mkt-stats {
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.rdt-mkt-stat {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 8px;
    padding: 14px 20px;
    flex: 1;
    min-width: 120px;
}
.rdt-mkt-stat-num { font-size: 26px; font-weight: 700; color: var(--rd-dark); line-height: 1; margin-bottom: 3px; }
.rdt-mkt-stat-lbl { font-size: 12px; font-weight: 600; color: var(--rd-sub); text-transform: uppercase; letter-spacing: .4px; }
.rdt-mkt-stat-sub { font-size: 11px; color: #9aacb8; margin-top: 2px; }
.rdt-mkt-cats {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.rdt-mkt-cat {
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 600;
    color: var(--rd-sub);
    cursor: pointer;
    font-family: inherit;
    transition: background .12s, color .12s, border-color .12s;
}
.rdt-mkt-cat:hover { background: #eef4f7; border-color: var(--rd-teal); color: var(--rd-dark); }
.rdt-mkt-cat-active { background: var(--rd-teal) !important; border-color: var(--rd-teal) !important; color: #fff !important; }
.rdt-mkt-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}
.rdt-mkt-card {
    display: flex;
    flex-direction: column;
    background: var(--rd-white);
    border: 1px solid var(--rd-border);
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: var(--rd-text);
    transition: box-shadow .15s, border-color .15s;
}
.rdt-mkt-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); border-color: var(--rd-teal); }
.rdt-mkt-card-soon { cursor: default; opacity: .75; }
.rdt-mkt-card-soon:hover { box-shadow: none; border-color: var(--rd-border); }
.rdt-mkt-badge-soon { background: #fef3c7; color: var(--rd-amber); }
.rdt-mkt-card-top { height: 6px; flex-shrink: 0; }
.rdt-mkt-card-body { padding: 14px 16px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.rdt-mkt-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.rdt-mkt-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; }
.rdt-mkt-badge-aud { background: var(--rd-light); color: var(--rd-sub); }
.rdt-mkt-cat-label { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; color: var(--rd-sub); }
.rdt-mkt-title { font-size: 14px; font-weight: 700; color: var(--rd-dark); line-height: 1.3; }
.rdt-mkt-desc { font-size: 12px; color: var(--rd-sub); line-height: 1.5; flex: 1; }
.rdt-mkt-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.rdt-mkt-tag { background: var(--rd-light); border: 1px solid var(--rd-border); border-radius: 4px; padding: 2px 7px; font-size: 10px; color: var(--rd-sub); }
.rdt-mkt-cta { display: block; text-align: center; padding: 9px 14px; font-size: 12px; font-weight: 700; color: #fff !important; letter-spacing: .3px; margin-top: auto; border-radius: 0 0 8px 8px; }
.rdt-mkt-note { font-size: 12px; color: var(--rd-sub); line-height: 1.6; padding: 12px 16px; background: #f8fafc; border: 1px solid var(--rd-border); border-radius: 6px; }

/* ── Training responsive ─────────────────────────────────── */
@media (max-width: 768px) {
    .rdt-kit-grid { grid-template-columns: 1fr; }
    .rdt-video-grid { grid-template-columns: repeat(2, 1fr); }
    .rdt-mkt-grid { grid-template-columns: 1fr; }
    .rdt-lesson-card { padding: 18px; }
    .rdt-hub-tab { padding: 9px 12px; font-size: 12px; }
}
@media (max-width: 480px) {
    .rdt-video-grid { grid-template-columns: 1fr; }
    .rdt-mkt-stats { flex-direction: column; }
}

/* ── Catalog 2.0 (wound-command2 style) ─────────────────── */
.rdt-catalog-hdr { background: #fff; border: 1px solid var(--rd-border); border-radius: 10px; padding: 18px 20px; margin-bottom: 20px; }
.rdt-catalog-hdr-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.rdt-catalog-ring { width: 56px; height: 56px; border-radius: 50%; border: 4px solid #e0f0f3; background: #f0f9fa; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rdt-catalog-ring-inner { text-align: center; line-height: 1.2; }
.rdt-catalog-ring-num { font-size: 11px; font-weight: 700; color: var(--rd-dark); }
.rdt-catalog-ring-pct { font-size: 10px; font-weight: 600; color: var(--rd-teal); }
.rdt-catalog-search-wrap { position: relative; }
.rdt-catalog-search { width: 100%; border: 1px solid var(--rd-border); border-radius: 8px; padding: 9px 12px 9px 36px; font-size: 13px; color: var(--rd-dark); outline: none; transition: border-color .15s; box-sizing: border-box; background: #f8fafc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a0aec0' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 12px center; }
.rdt-catalog-search:focus { border-color: var(--rd-teal); }

.rdt-cat-section { margin-bottom: 24px; }
.rdt-cat-section-hdr { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.rdt-cat-section-info { display: flex; align-items: center; gap: 10px; }
.rdt-cat-section-name { margin: 0; font-size: 14px; font-weight: 700; color: var(--rd-dark); }
.rdt-cat-section-count { font-size: 11px; color: var(--rd-sub); }
.rdt-cat-section-pct { font-size: 12px; font-weight: 600; color: var(--rd-dark); flex-shrink: 0; }
.rdt-cat-progress { height: 5px; background: #e8edf2; border-radius: 3px; overflow: hidden; margin-bottom: 14px; }
.rdt-cat-progress-fill { height: 100%; background: var(--rd-teal); border-radius: 3px; transition: width .4s; }

/* ── Compliance certification cards ─────────────────────── */
.rdt-compliance-section { margin-top: 32px; }
.rdt-compliance-divider { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.rdt-compliance-divider-line { flex: 1; height: 1px; background: var(--rd-border); }
.rdt-compliance-divider-lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--rd-sub); white-space: nowrap; }
.rdt-compliance-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.rdt-comp-card { background: #fff; border: 1px solid #fca5a5; border-radius: 10px; padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.rdt-comp-card-cert { border-color: #86efac; background: #f0fdf4; }
.rdt-comp-card-hdr { display: flex; gap: 6px; flex-wrap: wrap; }
.rdt-comp-badge { background: #fee2e2; color: #dc2626; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; padding: 2px 7px; border-radius: 8px; }
.rdt-comp-req-badge { background: #fef3c7; color: var(--rd-amber); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; padding: 2px 7px; border-radius: 8px; }
.rdt-comp-cert-badge { background: #dcfce7; color: #16a34a; font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 8px; }
.rdt-comp-card-title { font-size: 14px; font-weight: 700; color: var(--rd-dark); margin: 0; line-height: 1.3; }
.rdt-comp-card-desc { font-size: 12px; color: var(--rd-sub); line-height: 1.5; flex: 1; }
.rdt-comp-open-btn { align-self: flex-start; margin-top: 4px; }

/* ── All-lessons grid (Today tab) ───────────────────────── */
.rdt-section-heading { font-size: 15px; font-weight: 700; color: var(--rd-dark); margin: 0 0 14px; }
.rdt-lessons-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.rdt-mini-lesson { background: #fff; border: 1px solid var(--rd-border); border-radius: 10px; overflow: hidden; }
.rdt-mini-lesson-today { border-color: var(--rd-teal); box-shadow: 0 0 0 2px #e0f0f3; }
.rdt-mini-lesson-hdr { width: 100%; text-align: left; background: none; border: none; cursor: pointer; padding: 14px 16px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto auto; gap: 2px 8px; align-items: start; }
.rdt-mini-lesson-hdr:hover { background: #f8fafc; }
.rdt-mini-lesson-top { grid-column: 1; grid-row: 1; display: flex; align-items: center; gap: 8px; }
.rdt-mini-lesson-icon { font-size: 20px; line-height: 1; }
.rdt-mini-today-badge { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; background: #e0f0f3; color: var(--rd-teal); padding: 2px 7px; border-radius: 8px; }
.rdt-mini-lesson-title { grid-column: 1; grid-row: 2; font-size: 13px; font-weight: 700; color: var(--rd-dark); margin: 0; line-height: 1.3; }
.rdt-mini-lesson-tagline { grid-column: 1; grid-row: 3; font-size: 12px; color: var(--rd-sub); margin: 0; line-height: 1.4; }
.rdt-mini-chevron { grid-column: 2; grid-row: 1 / 4; align-self: center; font-size: 18px; color: var(--rd-sub); transition: transform .15s; }
.rdt-mini-lesson-body { padding: 0 16px 14px; border-top: 1px solid var(--rd-border); }
.rdt-mini-lesson-body > .rdt-lesson-hook { margin-top: 12px; }

/* ── Products — competitive differentiators ─────────────── */
.rdt-bullet-list-comp li::marker { color: var(--rd-teal); }

/* ── Responsive additions ───────────────────────────────── */
@media (max-width: 768px) {
    .rdt-catalog-hdr-top { flex-wrap: wrap; }
    .rdt-compliance-grid { grid-template-columns: 1fr; }
    .rdt-lessons-grid { grid-template-columns: 1fr; }
}

/* ── Compliance / Operations Module Views ─────────────────── */
.rdt-module-wrap { max-width: 820px; margin: 0 auto; padding: 8px 0 40px; display: flex; flex-direction: column; gap: 20px; }

/* Header */
.rdt-module-hdr { background: #fff; border: 1px solid var(--rd-border); border-radius: 12px; padding: 24px 28px; }
.rdt-module-badge { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; background: #fee2e2; color: #b91c1c; padding: 3px 10px; border-radius: 8px; margin-bottom: 10px; }
.rdt-module-title { font-size: 22px; margin: 0 0 4px; }
.rdt-module-subtitle { font-size: 13px; color: var(--rd-sub); margin: 0 0 10px; }
.rdt-module-desc { font-size: 13px; color: #4b6070; line-height: 1.6; margin: 0 0 10px; }
.rdt-module-meta { font-size: 11px; color: var(--rd-sub); }

/* Penalties */
.rdt-module-penalties { background: #fff7ed; border: 1px solid #fdba74; border-radius: 10px; padding: 16px 20px; }
.rdt-module-penalties-title { font-size: 12px; font-weight: 700; color: #c2410c; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 10px; }
.rdt-module-penalties ul { margin: 0; padding-left: 18px; }
.rdt-module-penalties li { font-size: 13px; color: #7c2d12; margin-bottom: 6px; line-height: 1.4; }

/* Search + expand controls */
.rdt-module-controls { display: flex; align-items: center; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.rdt-module-search-wrap { flex: 1; min-width: 180px; position: relative; display: flex; align-items: center; }
.rdt-module-search-wrap svg { position: absolute; left: 10px; color: var(--rd-sub); pointer-events: none; }
.rdt-module-search { width: 100%; border: 1px solid var(--rd-border); border-radius: 8px; padding: 8px 12px 8px 32px; font-size: 13px; color: var(--rd-dark); background: #fff; outline: none; }
.rdt-module-search:focus { border-color: var(--rd-teal); box-shadow: 0 0 0 2px rgba(56,116,126,.15); }
.rdt-module-ctrl-btns { display: flex; gap: 6px; flex-shrink: 0; }
.rdt-module-expand-all, .rdt-module-collapse-all { border: 1px solid var(--rd-border); background: #fff; border-radius: 7px; padding: 7px 13px; font-size: 12px; font-weight: 600; color: var(--rd-dark); cursor: pointer; transition: background .12s, border-color .12s; }
.rdt-module-expand-all:hover, .rdt-module-collapse-all:hover { background: #f0f9fa; border-color: var(--rd-teal); color: var(--rd-teal); }

/* Sections — accordion */
.rdt-module-section { background: #fff; border: 1px solid var(--rd-border); border-radius: 12px; overflow: hidden; }
.rdt-module-sec-hdr { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: none; border: none; cursor: pointer; padding: 18px 22px; text-align: left; }
.rdt-module-sec-hdr:hover { background: #f8fafc; }
.rdt-module-sec-hdr-text { font-size: 15px; font-weight: 700; color: var(--rd-dark); }
.rdt-module-sec-chevron { flex-shrink: 0; color: var(--rd-sub); transition: transform .2s; }
.rdt-module-sec-open .rdt-module-sec-chevron { transform: rotate(180deg); }
.rdt-module-sec-open .rdt-module-sec-hdr { background: #f8fafc; border-bottom: 1px solid var(--rd-border); }
.rdt-module-sec-body-wrap { padding: 20px 22px; display: flex; flex-direction: column; gap: 14px; }
.rdt-module-sec-body { font-size: 13px; color: #4b6070; line-height: 1.65; white-space: pre-line; }
.rdt-module-no-match { text-align: center; padding: 28px; font-size: 13px; color: var(--rd-sub); background: #fff; border: 1px solid var(--rd-border); border-radius: 12px; }

/* Callout */
.rdt-module-callout { display: flex; align-items: flex-start; gap: 10px; padding: 12px 16px; border-radius: 8px; font-size: 13px; line-height: 1.5; }
.rdt-module-callout-icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }

/* Subsections */
.rdt-module-subsection { background: #f8fafc; border: 1px solid var(--rd-border); border-radius: 8px; padding: 14px 18px; display: flex; flex-direction: column; gap: 10px; }
.rdt-module-sub-heading { font-size: 13px; font-weight: 700; color: var(--rd-dark); margin: 0; }
.rdt-module-sub-body { font-size: 13px; color: #4b6070; line-height: 1.55; margin: 0; }

/* Checklist */
.rdt-module-checklist { display: flex; flex-direction: column; gap: 8px; }
.rdt-module-checklist-item { display: flex; gap: 10px; align-items: flex-start; }
.rdt-module-checklist-check { width: 20px; height: 20px; background: #d1fae5; color: #065f46; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.rdt-module-checklist-body { flex: 1; }
.rdt-module-checklist-label { font-size: 13px; font-weight: 600; color: var(--rd-dark); line-height: 1.4; }
.rdt-module-checklist-detail { font-size: 12px; color: var(--rd-sub); margin-top: 2px; line-height: 1.4; }

/* Quiz */
.rdt-module-quiz { display: flex; flex-direction: column; gap: 16px; }
.rdt-module-quiz-title { font-size: 14px; font-weight: 700; color: var(--rd-dark); margin: 0; }
.rdt-module-quiz-q { border: 1px solid var(--rd-border); border-radius: 10px; padding: 16px 18px; background: #f8fafc; display: flex; flex-direction: column; gap: 10px; }
.rdt-module-quiz-q-num { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--rd-sub); }
.rdt-module-quiz-q-text { font-size: 13px; font-weight: 600; color: var(--rd-dark); line-height: 1.45; }
.rdt-module-quiz-options { display: flex; flex-direction: column; gap: 6px; }
.rdt-module-quiz-option { display: flex; align-items: center; gap: 10px; text-align: left; background: #fff; border: 1.5px solid var(--rd-border); border-radius: 8px; padding: 10px 14px; font-size: 13px; color: var(--rd-dark); cursor: pointer; transition: border-color .15s, background .15s; }
.rdt-module-quiz-option:not(:disabled):hover { border-color: var(--rd-teal); background: #f0f9fa; }
.rdt-module-quiz-letter { width: 20px; height: 20px; background: var(--rd-border); color: var(--rd-dark); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; flex-shrink: 0; }
.rdt-module-quiz-option.rdt-quiz-correct { border-color: #16a34a; background: #f0fdf4; color: #15803d; }
.rdt-module-quiz-option.rdt-quiz-correct .rdt-module-quiz-letter { background: #16a34a; color: #fff; }
.rdt-module-quiz-option.rdt-quiz-wrong { border-color: #dc2626; background: #fef2f2; color: #b91c1c; }
.rdt-module-quiz-option.rdt-quiz-wrong .rdt-module-quiz-letter { background: #dc2626; color: #fff; }
.rdt-module-quiz-explanation { font-size: 12px; color: #4b6070; background: #fff; border: 1px solid var(--rd-border); border-radius: 8px; padding: 10px 14px; line-height: 1.55; }

/* Resources */
.rdt-module-resources { background: #fff; border: 1px solid var(--rd-border); border-radius: 12px; padding: 20px 24px; }
.rdt-module-resources-title { font-size: 14px; font-weight: 700; color: var(--rd-dark); margin: 0 0 14px; }
.rdt-module-resource { border-top: 1px solid var(--rd-border); padding: 12px 0; }
.rdt-module-resource:first-of-type { border-top: none; padding-top: 0; }
.rdt-module-resource-label { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 600; color: var(--rd-teal); text-decoration: none; margin-bottom: 4px; }
.rdt-module-resource-label:hover { text-decoration: underline; }
.rdt-module-resource-nohref { display: block; font-size: 13px; font-weight: 600; color: var(--rd-dark); margin-bottom: 4px; }
.rdt-module-resource-desc { font-size: 12px; color: var(--rd-sub); line-height: 1.45; }

@media (max-width: 768px) {
    .rdt-module-hdr { padding: 18px 16px; }
    .rdt-module-sec-hdr { padding: 14px 16px; }
    .rdt-module-sec-body-wrap { padding: 16px; }
    .rdt-module-subsection { padding: 12px 14px; }
    .rdt-module-controls { flex-direction: column; align-items: stretch; }
    .rdt-module-ctrl-btns { justify-content: flex-end; }
}

/* ── Post-Import Deal Modal ────────────────────────────── */
.rd-pi-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 9000; display: flex; align-items: center; justify-content: center; animation: rdFadeIn .15s ease; }
.rd-pi-modal { background: #fff; border-radius: 16px; padding: 36px 32px 28px; max-width: 380px; width: 90%; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.2); }
.rd-pi-icon { font-size: 36px; margin-bottom: 12px; }
.rd-pi-title { font-size: 17px; font-weight: 700; color: var(--rd-dark); margin: 0 0 8px; }
.rd-pi-body { font-size: 13px; color: var(--rd-sub); margin: 0 0 24px; line-height: 1.5; }
.rd-pi-actions { display: flex; flex-direction: column; gap: 10px; }
.rd-pi-add { background: var(--rd-teal); color: #fff; font-size: 14px; font-weight: 600; padding: 12px; }
.rd-pi-add:hover { background: #2d6470; }
.rd-pi-skip { font-size: 13px; }
@keyframes rdFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ── Deal form — inline errors & multi-select products ─── */
.rd-field-err { display: block; font-size: 11px; color: #a32d2d; margin-top: 3px; min-height: 14px; }
.rd-product-checks { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 6px 0; }
.rd-product-check { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--rd-text); cursor: pointer; }
.rd-product-check input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--rd-teal); cursor: pointer; flex-shrink: 0; }

/* ════════════════════════════════════════════════════════════
   CLINIC PORTAL
   ════════════════════════════════════════════════════════════ */

.rd-clinic-wrap { font-family: var(--rd-font, 'Inter', system-ui, sans-serif); color: var(--rd-text); background: var(--rd-light); height: 100vh; overflow: hidden; display: flex; flex-direction: column; }
.rd-clinic-wrap .rd-layout { flex: 1; min-height: 0; overflow: hidden; }
.rd-clinic-wrap .rd-main  { overflow-y: auto; }

/* Topbar */
.rd-clinic-topbar { display: flex; align-items: center; justify-content: space-between; background: var(--rd-dark); color: #fff; padding: 0 24px; height: 54px; position: sticky; top: 0; z-index: 100; }
.rd-clinic-topbar .rd-topbar-brand { font-size: 15px; font-weight: 600; letter-spacing: .2px; }
.rd-clinic-logout { display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.8); font-size: 13px; text-decoration: none; transition: color .15s; }
.rd-clinic-logout:hover { color: #fff; }

/* Main content area */
.rd-clinic-main { max-width: 900px; margin: 0 auto; padding: 32px 24px 64px; }

/* Header block */
.rd-clinic-header { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.rd-clinic-header img { border-radius: 8px; }
.rd-clinic-header-name { font-size: 20px; font-weight: 700; color: var(--rd-dark); }
.rd-clinic-header-sub { font-size: 13px; color: var(--rd-sub); margin-top: 2px; }

/* Tabs */
.rd-clinic-tabs { display: flex; gap: 4px; border-bottom: 2px solid #e4edf1; margin-bottom: 28px; }
.rd-clinic-tab { background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; padding: 10px 18px; font-size: 14px; font-weight: 500; color: var(--rd-sub); cursor: pointer; display: flex; align-items: center; gap: 7px; transition: color .15s, border-color .15s; border-radius: 6px 6px 0 0; }
.rd-clinic-tab:hover { color: var(--rd-dark); background: #f0f5f7; }
.rd-clinic-tab-active { color: var(--rd-teal); border-bottom-color: var(--rd-teal); font-weight: 600; }

/* Section heading */
.rd-clinic-section-head { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.rd-clinic-section-head h2 { font-size: 17px; font-weight: 700; color: var(--rd-dark); margin: 0; flex: 1 0 auto; }
.rd-clinic-section-head p { font-size: 13px; color: var(--rd-sub); margin: 0; width: 100%; order: 3; }

/* Feedback messages */
.rd-clinic-msg { padding: 10px 14px; border-radius: 6px; font-size: 13px; font-weight: 500; margin-bottom: 16px; }

/* Forms */
.rd-clinic-form { background: #fff; border: 1px solid #e4edf1; border-radius: 10px; padding: 28px 28px 20px; }
.rd-clinic-form-row { margin-bottom: 16px; }
.rd-clinic-form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rd-clinic-form-row-3 { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 16px; }
.rd-clinic-field label { display: block; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; color: var(--rd-sub); margin-bottom: 5px; }
.rd-clinic-field-note { font-size: 11px; color: #8a9fac; margin-top: 4px; display: block; }
.rd-clinic-input { width: 100%; padding: 9px 12px; border: 1px solid var(--rd-clinic-border); border-radius: 6px; font-size: 14px; color: var(--rd-text); background: var(--rd-white); outline: none; transition: border-color .15s, box-shadow .15s; font-family: inherit; box-sizing: border-box; }
.rd-clinic-input:focus { border-color: var(--rd-teal); box-shadow: 0 0 0 3px rgba(56,116,126,.12); }
.rd-clinic-input-disabled { background: var(--rd-light); color: #3a5060; cursor: default; border-color: #e4edf1; }
.rd-clinic-form-actions { margin-top: 20px; display: flex; align-items: center; gap: 10px; }

/* Buttons */
.rd-clinic-btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; border: none; transition: background .15s, color .15s; font-family: inherit; }
.rd-clinic-btn-primary { background: var(--rd-teal); color: var(--rd-white); }
.rd-clinic-btn-primary:hover { background: #2d6470; }
.rd-clinic-btn-primary:disabled { background: #8ab8be; cursor: not-allowed; }
.rd-clinic-btn-ghost { background: transparent; color: var(--rd-sub); border: 1px solid var(--rd-clinic-border); }
.rd-clinic-btn-ghost:hover { background: var(--rd-light); color: var(--rd-dark); }
.rd-clinic-btn-lg { padding: 12px 28px; font-size: 14px; width: 100%; justify-content: center; }
.rd-clinic-btn-icon { background: none; border: none; color: #8a9fac; cursor: pointer; padding: 6px; border-radius: 5px; display: flex; align-items: center; transition: background .15s, color .15s; }
.rd-clinic-btn-icon:hover { background: #f0f5f7; color: var(--rd-dark); }

/* Card */
.rd-clinic-card { background: var(--rd-white); border: 1px solid var(--rd-clinic-border); border-radius: 10px; padding: 24px; }

/* Empty state */
.rd-clinic-empty { text-align: center; padding: 36px 24px; color: #8a9fac; font-size: 14px; background: #fff; border: 1px solid #e4edf1; border-radius: 10px; }

/* ── Contacts ── */
.rd-clinic-contact-form-wrap { margin-bottom: 20px; }
.rd-clinic-contact-form-wrap h3 { font-size: 15px; font-weight: 700; color: var(--rd-dark); margin: 0 0 18px; }
.rd-clinic-contact-list { display: flex; flex-direction: column; gap: 10px; }
.rd-clinic-contact-card { background: #fff; border: 1px solid #e4edf1; border-radius: 10px; padding: 16px 18px; display: flex; align-items: center; gap: 12px; }
.rd-clinic-contact-info { flex: 1; min-width: 0; }
.rd-clinic-contact-name { font-size: 14px; font-weight: 600; color: var(--rd-dark); display: flex; align-items: center; gap: 8px; }
.rd-clinic-contact-meta { font-size: 12px; color: var(--rd-sub); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-clinic-contact-actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.rd-clinic-badge-primary { background: #e8f5f0; color: var(--rd-green); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; padding: 2px 7px; border-radius: 10px; }

/* ── Product Catalog ── */
.rd-clinic-catalog { display: flex; flex-direction: column; gap: 32px; }
.rd-clinic-catalog-filter {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.rd-clinic-filter-btn {
    background: #f0f4f6;
    border: 1.5px solid #d1dde3;
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rd-sub);
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    font-family: inherit;
}
.rd-clinic-filter-btn:hover {
    background: #e4edf1;
    border-color: #b0c4ce;
    color: var(--rd-dark);
}
.rd-clinic-filter-active {
    background: var(--rd-dark) !important;
    border-color: var(--rd-dark) !important;
    color: #fff !important;
}
.rd-clinic-filter-collagen.rd-clinic-filter-active { background: var(--rd-green) !important; border-color: var(--rd-green) !important; }
.rd-clinic-filter-prp.rd-clinic-filter-active      { background: #2d4a6e !important; border-color: #2d4a6e !important; }
.rd-clinic-filter-bmc.rd-clinic-filter-active      { background: #5a3580 !important; border-color: #5a3580 !important; }
.rd-clinic-filter-equipment.rd-clinic-filter-active { background: #b45309 !important; border-color: #b45309 !important; }

.rd-clinic-catalog-section {}
.rd-clinic-catalog-section-head { margin-bottom: 16px; }
.rd-clinic-product-type-badge { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.rd-clinic-badge-collagen { background: #e8f4f0; color: var(--rd-green); }
.rd-clinic-badge-prp { background: #e8eef5; color: #2d4a6e; }
.rd-clinic-badge-msc { background: #f0ecf5; color: #5a3580; }
.rd-clinic-badge-equipment { background: #fef3c7; color: #b45309; }

.rd-clinic-product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.rd-clinic-product-card { background: #fff; border: 1px solid #e4edf1; border-radius: 10px; padding: 18px 16px; display: flex; flex-direction: column; gap: 12px; transition: box-shadow .15s, border-color .15s; }
.rd-clinic-product-card:hover { box-shadow: 0 4px 16px rgba(40,68,84,.1); border-color: #c4d4db; }
.rd-clinic-product-card-soon { opacity: .65; }
.rd-clinic-product-img-wrap { display: flex; justify-content: center; align-items: center; height: 140px; background: #f9fbfc; border-radius: 8px; overflow: hidden; margin-bottom: 4px; }
.rd-clinic-product-img-placeholder { width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; }
.rd-clinic-product-info { flex: 1 1 auto; }
.rd-clinic-product-name { font-size: 13px; font-weight: 600; color: var(--rd-dark); line-height: 1.3; }
.rd-clinic-product-price { font-size: 12px; color: var(--rd-sub); margin-top: 2px; }
.rd-clinic-product-subname { font-size: 11px; color: var(--rd-sub); margin-top: 1px; }
.rd-clinic-product-hcpcs { font-size: 11px; color: #8a9fac; margin-top: 2px; }
.rd-clinic-product-qty-wrap { margin-top: 0; display: flex; justify-content: center; }
.rd-clinic-qty-control { display: inline-flex; align-items: stretch; border: 1px solid var(--rd-clinic-border); border-radius: 10px; overflow: hidden; background: var(--rd-white); }
.rd-clinic-qty-btn { width: 60px; height: 36px; padding: 0; border: none; border-radius: 0; -webkit-appearance: none; appearance: none; background: transparent; color: var(--rd-dark); font-size: 18px; font-weight: 400; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s; flex-shrink: 0; }
.rd-clinic-qty-btn:hover { background: #e4edf1; color: var(--rd-dark); box-shadow: none; }
.rd-clinic-qty-btn:focus, .rd-clinic-qty-btn:active { background: transparent; color: var(--rd-dark); box-shadow: none; outline: none; }
.rd-clinic-qty-divider { width: 1px; background: var(--rd-clinic-border); flex-shrink: 0; }
.rd-clinic-qty-mid { min-width: 65px; display: flex; align-items: center; justify-content: center; background: var(--rd-light); }
.rd-clinic-qty-val { font-size: 15px; font-weight: 700; color: var(--rd-dark); }
.rd-clinic-product-img { width: 100%; height: 140px; object-fit: contain; padding: 12px; }

/* ── Cart ── */
.rd-clinic-cart-wrap { margin-top: 32px; }
.rd-clinic-cart { background: #fff; border: 2px solid var(--rd-teal); border-radius: 12px; padding: 24px; }
.rd-clinic-cart-title { font-size: 16px; font-weight: 700; color: var(--rd-dark); margin: 0 0 16px; }
.rd-clinic-cart-item { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #f0f5f7; }
.rd-clinic-cart-item:last-child { border-bottom: none; }
.rd-clinic-cart-item-name { font-size: 14px; color: var(--rd-dark); }
.rd-clinic-cart-item-right { display: flex; align-items: center; gap: 16px; }
.rd-clinic-cart-item-qty { font-size: 13px; color: var(--rd-sub); }
.rd-clinic-cart-item-total { font-size: 14px; font-weight: 600; color: var(--rd-dark); min-width: 70px; text-align: right; }
.rd-clinic-cart-totals { border-top: 2px solid #e4edf1; margin-top: 12px; padding-top: 12px; }
.rd-clinic-cart-row { display: flex; justify-content: space-between; align-items: center; font-size: 15px; font-weight: 600; color: var(--rd-dark); }
.rd-clinic-cart-note { margin-top: 16px; }
.rd-clinic-cart-note label { display: block; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; color: var(--rd-sub); margin-bottom: 6px; }
.rd-clinic-cart-actions { margin-top: 20px; display: flex; flex-direction: column; gap: 8px; }

/* ── Order History ── */
.rd-clinic-order-history { display: flex; flex-direction: column; gap: 10px; }
.rd-clinic-order-group { border: 1px solid #e4edf1; border-radius: 10px; overflow: hidden; background: #fff; }
.rd-clinic-order-group .rd-clinic-order-row { border: none; border-radius: 0; background: transparent; }
.rd-clinic-order-detail { border-top: 1px solid #e4edf1; padding: 10px 18px; background: #f9fbfc; }
.rd-clinic-order-detail-row { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; font-size: 13px; color: var(--rd-dark); }
.rd-clinic-order-detail-row + .rd-clinic-order-detail-row { border-top: 1px solid #eef2f5; }
.rd-clinic-detail-amount { font-weight: 600; }
.rd-clinic-order-toggle { font-size: 12px; padding: 3px 10px; white-space: nowrap; }
.rd-clinic-order-row { background: #fff; border: 1px solid #e4edf1; border-radius: 10px; padding: 14px 18px; display: flex; align-items: center; gap: 16px; }
.rd-clinic-order-info { flex: 1; }
.rd-clinic-order-product { font-size: 14px; font-weight: 600; color: var(--rd-dark); }
.rd-clinic-order-meta { font-size: 12px; color: var(--rd-sub); margin-top: 2px; }
.rd-clinic-order-right { display: flex; align-items: center; gap: 12px; }
.rd-clinic-order-amount { font-size: 14px; font-weight: 600; color: var(--rd-dark); }
.rd-clinic-status { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; padding: 3px 8px; border-radius: 10px; }
.rd-clinic-status-pending  { background: #fff8e6; color: var(--rd-amber); }
.rd-clinic-status-collected { background: #e8f5f0; color: var(--rd-green); }
.rd-clinic-status-returned { background: #fdeaea; color: var(--rd-red); }

/* ── Product Image Picker ── */
.rda-img-picker-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 99999;
    display: flex; align-items: center; justify-content: center;
}
.rda-img-picker {
    background: #fff; border-radius: 12px; width: 680px; max-width: 95vw;
    max-height: 82vh; overflow: hidden; display: flex; flex-direction: column;
    box-shadow: 0 8px 40px rgba(0,0,0,.2);
}
.rda-img-picker-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; border-bottom: 1px solid #e4edf1; flex-shrink: 0;
}
.rda-img-picker-header h3 { margin: 0; font-size: 15px; font-weight: 700; color: var(--rd-dark); }
.rda-img-picker-close {
    background: none; border: none; font-size: 22px; line-height: 1; cursor: pointer;
    color: var(--rd-sub); padding: 2px 6px; border-radius: 6px; transition: background .15s;
}
.rda-img-picker-close:hover { background: var(--rd-light); color: var(--rd-dark); }
.rda-img-picker-body { overflow-y: auto; flex: 1; display: flex; flex-direction: column; }
.rda-img-picker-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px; padding: 16px 20px;
}
.rda-img-picker-item {
    border: 2px solid #e4edf1; border-radius: 8px; overflow: hidden;
    cursor: pointer; transition: border-color .15s, box-shadow .15s; background: #f9fbfc;
}
.rda-img-picker-item:hover { border-color: var(--rd-teal); box-shadow: 0 2px 8px rgba(56,116,126,.15); }
.rda-img-picker-item-selected { border-color: var(--rd-teal) !important; background: #eef7f7; }
.rda-img-picker-item img { width: 100%; height: 110px; object-fit: contain; display: block; padding: 10px; }
.rda-img-picker-label { font-size: 11px; color: var(--rd-sub); text-align: center; padding: 4px 6px 8px; border-top: 1px solid #e4edf1; }
.rda-img-picker-upload {
    border-top: 1px solid #e4edf1; padding: 12px 20px;
    background: #f9fbfc; flex-shrink: 0; display: flex; align-items: center; gap: 10px;
}

/* ── Cart Drawer ── */
.rd-clinic-cart-btn {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
}
.rd-clinic-cart-btn:hover { background: rgba(255,255,255,.25); }
.rd-clinic-cart-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    background: #e53e3e;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
}

.rd-clinic-cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9998;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
}
.rd-clinic-cart-overlay.is-open { opacity: 1; pointer-events: auto; }

.rd-clinic-cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 380px;
    max-width: 92vw;
    background: #fff;
    z-index: 9999;
    box-shadow: -4px 0 28px rgba(0,0,0,.15);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .28s cubic-bezier(.4,0,.2,1);
}
.rd-clinic-cart-drawer.is-open { transform: translateX(0); }

.rd-clinic-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid #e4edf1;
    flex-shrink: 0;
}
.rd-clinic-drawer-title { font-size: 17px; font-weight: 700; color: var(--rd-dark); margin: 0; }
.rd-clinic-drawer-close {
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    color: var(--rd-sub);
    display: flex;
    align-items: center;
    border-radius: 6px;
    transition: background .15s, color .15s;
}
.rd-clinic-drawer-close:hover { background: var(--rd-light); color: var(--rd-dark); }

.rd-clinic-drawer-body { flex: 1; overflow-y: auto; padding: 4px 20px 16px; }
.rd-clinic-drawer-footer {
    padding: 16px 20px;
    border-top: 1px solid #e4edf1;
    flex-shrink: 0;
    background: #f9fbfc;
}
.rd-clinic-drawer-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    color: var(--rd-dark);
    margin-bottom: 14px;
}

.rd-clinic-drawer-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #f0f5f7;
    gap: 12px;
}
.rd-clinic-drawer-item:last-child { border-bottom: none; }
.rd-clinic-drawer-item-name { font-size: 13px; color: var(--rd-dark); font-weight: 500; flex: 1; }
.rd-clinic-drawer-item-right { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.rd-clinic-drawer-item-total { font-size: 13px; font-weight: 600; color: var(--rd-dark); min-width: 58px; text-align: right; }

body.rd-clinic-drawer-open { overflow: hidden; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .rd-clinic-wrap { height: auto; overflow: visible; display: block; }
    .rd-clinic-wrap .rd-layout { overflow: visible; }
    .rd-clinic-wrap .rd-main  { overflow-y: visible; }
}
@media (max-width: 600px) {
    .rd-clinic-main { padding: 20px 14px 48px; }
    .rd-clinic-form-row-2,
    .rd-clinic-form-row-3 { grid-template-columns: 1fr; }
    .rd-clinic-tabs { gap: 0; }
    .rd-clinic-tab { padding: 9px 12px; font-size: 13px; }
    .rd-clinic-product-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
    .rd-clinic-section-head { flex-direction: column; align-items: flex-start; }
}

/* ── Your Rep card ── */
.rd-clinic-rep-card { margin-top: 0; }
.rd-clinic-rep-card-inner { display: flex; align-items: center; gap: 16px; }
.rd-clinic-rep-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.rd-clinic-rep-photo-placeholder { width: 56px; height: 56px; border-radius: 50%; background: #f0f5f7; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rd-clinic-rep-label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #8a9fac; margin-bottom: 2px; }
.rd-clinic-rep-name { font-size: 15px; font-weight: 600; color: #1a3344; margin-bottom: 6px; }
.rd-clinic-rep-links { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-clinic-rep-link { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; color: #267860; text-decoration: none; font-weight: 500; }
.rd-clinic-rep-link:hover { text-decoration: underline; }

/* ── Clinic training course grid ── */
.rdt-clinic-course-grid { margin-top: 8px; }

/* ════════════════════════════════════════════════════════════
   AUTH PAGES (login, register, reset password, pending)
   ════════════════════════════════════════════════════════════ */

.rd-login-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 16px;
}
.rd-register-wrap {
    min-height: 100vh;
    padding: 40px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rd-login-card {
    background: #fff;
    border: 1px solid var(--rd-border);
    border-radius: 10px;
    box-shadow: 0 4px 24px rgba(40,68,84,.09);
    padding: 40px 44px;
    width: 100%;
    max-width: 420px;
}
.rd-login-card-wide {
    max-width: 760px;
    padding: 44px 52px;
    border-radius: 12px;
    box-shadow: 0 6px 32px rgba(40,68,84,.13);
}
.rd-login-logo { text-align: center; margin-bottom: 28px; }
.rd-login-logo-img {
    width: 64px; height: 64px;
    object-fit: contain;
    display: block;
    margin: 0 auto 14px;
}
.rd-login-heading {
    font-size: 22px;
    font-weight: 700;
    color: var(--rd-dark);
    margin-bottom: 4px;
    text-align: center;
}
.rd-login-sub {
    font-size: 13px;
    color: var(--rd-sub);
    text-align: center;
    margin-bottom: 28px;
}
.rd-login-field { margin-bottom: 14px; }
.rd-login-field label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--rd-sub);
    margin-bottom: 5px;
}
.rd-login-field input,
.rd-login-field select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--rd-border);
    border-radius: 5px;
    font-size: 14px;
    color: var(--rd-text);
    background: #fff;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
    font-family: inherit;
    box-sizing: border-box;
}
.rd-login-field input:focus,
.rd-login-field select:focus {
    border-color: var(--rd-teal);
    box-shadow: 0 0 0 3px rgba(56,116,126,.12);
}
.rd-login-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    gap: 12px;
}
.rd-login-remember {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: var(--rd-sub);
    cursor: pointer;
}
.rd-login-remember input { width: auto; margin: 0; }
.rd-login-submit {
    background: var(--rd-dark);
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
    font-family: inherit;
    white-space: nowrap;
}
.rd-login-submit:hover { background: var(--rd-dark2); }
.rd-login-submit-full {
    width: 100%;
    text-align: center;
    padding: 11px 24px;
    margin-top: 8px;
}
.rd-login-lost {
    text-align: center;
    margin-top: 20px;
    font-size: 12px;
}
.rd-login-lost a { color: var(--rd-teal); text-decoration: none; }
.rd-login-lost a:hover { text-decoration: underline; }
.rd-login-divider {
    border: none;
    border-top: 1px solid var(--rd-border);
    margin: 24px 0;
}
.rd-login-register {
    text-align: center;
    font-size: 13px;
    color: var(--rd-sub);
}
.rd-login-register a { color: var(--rd-teal); font-weight: 600; text-decoration: none; }
.rd-login-register a:hover { text-decoration: underline; }

/* Auth alert banners */
.rd-auth-success {
    background: #e6f4f0;
    border-left: 3px solid var(--rd-green);
    padding: 10px 14px;
    border-radius: 4px;
    font-size: 13px;
    color: var(--rd-green);
    margin-bottom: 16px;
}
.rd-auth-error {
    background: #fde8e8;
    border-left: 3px solid var(--rd-red);
    padding: 10px 14px;
    border-radius: 4px;
    font-size: 13px;
    color: var(--rd-red);
    margin-bottom: 16px;
}

/* Registration form */
.rd-reg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.rd-reg-section {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--rd-teal);
    border-bottom: 1px solid var(--rd-border);
    padding-bottom: 6px;
    margin: 20px 0 14px;
}

/* Pending approval page */
.rd-pending-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
}
.rd-pending-card {
    background: #fff;
    border: 1px solid var(--rd-border);
    border-radius: 10px;
    box-shadow: 0 4px 24px rgba(40,68,84,.09);
    padding: 48px 44px;
    width: 100%;
    max-width: 520px;
    text-align: center;
}
.rd-pending-icon {
    width: 64px; height: 64px;
    background: #eaf4f6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    font-size: 28px;
}
.rd-pending-card h2 { color: var(--rd-dark); font-size: 22px; margin: 0 0 12px; }
.rd-pending-card p  { color: var(--rd-sub); font-size: 14px; line-height: 1.7; margin: 0 0 10px; }
.rd-pending-email   { font-weight: 600; color: var(--rd-dark); }
.rd-pending-logout  { display: inline-block; margin-top: 28px; font-size: 13px; color: var(--rd-teal); text-decoration: none; }
.rd-pending-logout:hover { text-decoration: underline; }

@media (max-width: 480px) {
    .rd-login-card  { padding: 28px 20px; }
    .rd-pending-card { padding: 32px 20px; }
    .rd-login-row   { flex-direction: column; align-items: stretch; }
    .rd-login-submit { width: 100%; text-align: center; }
}
@media (max-width: 600px) {
    .rd-login-card-wide { padding: 28px 20px; }
    .rd-reg-grid { grid-template-columns: 1fr; }
}

/* Landscape phones — prevent cart drawer and modals from overflowing on short viewports */
@media (max-height: 600px) {
    .rd-clinic-cart-drawer { max-height: 100vh; }
    .rda-modal-overlay { align-items: flex-start; padding: 8px; overflow-y: auto; }
    .rda-modal { max-height: 96vh; }
}

/* Portal layout pages: strip all Kadence wrapper padding so portal fills the full viewport */
body:has(.rd-layout) #wrapper {
    overflow: visible !important; /* Kadence sets overflow:clip which breaks position:sticky on sidebar */
}
body:has(.rd-layout) #inner-wrap,
body:has(.rd-layout) .wrap,
body:has(.rd-layout) .site-container,
body:has(.rd-layout) .content-container,
body:has(.rd-layout) .site-content,
body:has(.rd-layout) #primary,
body:has(.rd-layout) .content-area,
body:has(.rd-layout) article.page,
body:has(.rd-layout) .entry-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* Offset sidebar for WP admin bar (only visible to administrator role) */
.admin-bar .rd-sidebar {
    top: 32px;
    height: calc(100vh - 32px);
}
@media screen and (max-width: 782px) {
    .admin-bar .rd-sidebar {
        top: 46px;
        height: calc(100vh - 46px);
    }
}

/* Hide Kadence theme header/footer on portal layout pages and auth pages */
body:has(.rd-layout) #masthead,
body:has(.rd-layout) .site-header,
body:has(.rd-layout) .site-header-row-container,
body:has(.rd-layout) #colophon,
body:has(.rd-layout) .site-footer,
body:has(.rd-login-wrap) #masthead,
body:has(.rd-login-wrap) .site-header,
body:has(.rd-login-wrap) .site-header-row-container,
body:has(.rd-login-wrap) #colophon,
body:has(.rd-login-wrap) .site-footer,
body:has(.rd-register-wrap) #masthead,
body:has(.rd-register-wrap) .site-header,
body:has(.rd-register-wrap) .site-header-row-container,
body:has(.rd-register-wrap) #colophon,
body:has(.rd-register-wrap) .site-footer,
body:has(.rd-pending-wrap) #masthead,
body:has(.rd-pending-wrap) .site-header,
body:has(.rd-pending-wrap) .site-header-row-container,
body:has(.rd-pending-wrap) #colophon,
body:has(.rd-pending-wrap) .site-footer { display: none !important; }

/* Strip Kadence wrapper padding on auth pages so they fill the viewport cleanly */
body:has(.rd-login-wrap) #inner-wrap,
body:has(.rd-login-wrap) .wrap,
body:has(.rd-login-wrap) .site-container,
body:has(.rd-login-wrap) .content-container,
body:has(.rd-login-wrap) .site-content,
body:has(.rd-login-wrap) #primary,
body:has(.rd-login-wrap) .content-area,
body:has(.rd-login-wrap) article.page,
body:has(.rd-login-wrap) .entry-content,
body:has(.rd-register-wrap) #inner-wrap,
body:has(.rd-register-wrap) .wrap,
body:has(.rd-register-wrap) .site-container,
body:has(.rd-register-wrap) .content-container,
body:has(.rd-register-wrap) .site-content,
body:has(.rd-register-wrap) #primary,
body:has(.rd-register-wrap) .content-area,
body:has(.rd-register-wrap) article.page,
body:has(.rd-register-wrap) .entry-content,
body:has(.rd-pending-wrap) #inner-wrap,
body:has(.rd-pending-wrap) .wrap,
body:has(.rd-pending-wrap) .site-container,
body:has(.rd-pending-wrap) .content-container,
body:has(.rd-pending-wrap) .site-content,
body:has(.rd-pending-wrap) #primary,
body:has(.rd-pending-wrap) .content-area,
body:has(.rd-pending-wrap) article.page,
body:has(.rd-pending-wrap) .entry-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* Hide theme nav on all portal pages */
.main-navigation,
.primary-menu-container,
#primary-menu,
.kadence-menu-toggle-wrap,
nav.site-navigation,
.header-navigation,
#site-navigation { display: none !important; }
