/* ============================================================
   RRV3 STYLES — Core (Globals + AJAX Loader)
   VERSION: 2.1 (extracted from rrv3-styles.css)
   DATE: 23-06-2026

   Contains:
     - CSS custom properties (--rr-navy, --rr-blue, --rr-radius-*, etc.)
     - Brand palette and global resets
     - Header, buttons, sections, tables, status badges, forms
     - Modals (notice/confirm/prompt - shared)
     - AJAX loader (neumorphic bouncing sliders)

   Loaded FIRST. All other stylesheets depend on the CSS custom
   properties defined here.

   NOTE: Inventory CSS was extracted in Chunk 5 -> rrv3-inventory-styles.css
   ============================================================ */

/* ============================================================
   RRV3 STYLES — v4.0 "Navy/Blue Corporate" refresh
   - Brand palette (Deep Navy + Vibrant Blue + Ice Blue)
   - Semantic colors preserved (status/type/stock/notification badges,
     role greeting cards, DN print document)
   - CSS custom properties at :root for maintainability
   All class names preserved from previous versions.
   ============================================================ */

/* ----------------------------------------------------------
   DESIGN TOKENS
   ---------------------------------------------------------- */
:root {
    /* Brand */
    --rr-navy:        #002855; /* primary brand: header bg, primary buttons */
    --rr-navy-dark:   #001E3F; /* hover/pressed navy */
    --rr-blue:        #0088FF; /* active tabs, links, focus, accents */
    --rr-blue-soft:   #E6F4FF; /* light blue tint for instructions/hover */
    --rr-slate-blue:  #033364; /* reserved (sidebar token); dark section accent */

    /* Neutrals & backgrounds */
    --rr-white:       #FFFFFF;
    --rr-bg:          #F5F8FA; /* app background behind cards */
    --rr-ice:         #D4EDFC; /* table header tint */
    --rr-border:      #E1E8ED; /* fine lines, dividers, grid boundaries */

    /* Typography */
    --rr-text:        #1F2937; /* primary body text */
    --rr-text-muted:  #6B7280; /* secondary text, headers, inactive tabs */

    /* Shadows */
    --rr-shadow-sm:   0 1px 3px rgba(15, 23, 42, 0.06);
    --rr-shadow-md:   0 4px 14px -6px rgba(15, 23, 42, 0.12);
    --rr-shadow-lg:   0 20px 50px -12px rgba(15, 23, 42, 0.30);

    /* Radii */
    --rr-radius:      8px;
    --rr-radius-lg:   12px;

    --rr-font: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* --- Global --- */
body {
    background-color: var(--rr-bg);
    color: var(--rr-text);
    font-family: var(--rr-font);
}

/* Defeat theme width constraints on our full-width template containers */
body.page-template-template-rrv3 #page,
body.page-template-template-rrv3 #content,
body.page-template-template-rrv3 #primary,
body.page-template-template-rrv3 #main {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- Site Header --- */
.rrv3-header {
    background: var(--rr-navy);
    padding: 10px 28px;
    border-bottom: 1px solid var(--rr-navy-dark);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}
.rrv3-header::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    height: 3px;
    background: var(--rr-blue);
}
.rrv3-header-logo {
    cursor: default;
}
.rrv3-header-logo img {
    height: 34px;
    width: auto;
    display: block;
    pointer-events: none;
}
.rrv3-header-report-issue-btn {
    min-height: 38px;
    padding: 0 14px;
    text-decoration: none !important;
    box-sizing: border-box;
    border: 1px solid #fb923c;
    border-radius: 999px;
    background: #f97316;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(249, 115, 22, .22);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
.rrv3-header-report-issue-btn:hover {
    background: #ea580c;
    transform: translateY(-1px);
}

/* --- Main container --- */
.rrv3-dashboard {
    max-width: 1760px;
    width: 96%;
    margin: 22px auto;
    padding: 0 10px;
    font-family: var(--rr-font);
    color: var(--rr-text);
    font-size: 13px;
}
.rrv3-admin-panel {
    max-width: 1760px;
}

/* --- Headings --- */
.rrv3-dashboard h1 {
    font-size: 22px;
    font-weight: 400;          /* spec: Page Title h1 = Regular 400 */
    color: var(--rr-text);
    letter-spacing: -0.01em;
    margin: 0 0 6px;
}
.rrv3-dashboard h2 {
    font-size: 15px;
    font-weight: 700;
    color: var(--rr-text);
    margin: 0 0 12px;
}
.rrv3-dashboard h3 {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--rr-text);
}

.rrv3-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--rr-border);
}

.rrv3-role-badge {
    background: var(--rr-blue-soft);
    color: var(--rr-blue);
    padding: 4px 12px;
    border-radius: 9999px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.rrv3-user-greeting {
    font-size: 12.5px;
    color: var(--rr-text-muted);
    margin: 0 0 12px;
}
.rrv3-user-greeting strong {
    color: var(--rr-text);
    font-weight: 700;
}
.rrv3-user-greeting .rrv3-user-sbu {
    color: var(--rr-text-muted);
    font-weight: 400;
}

.rrv3-instructions {
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--rr-text);
    background: var(--rr-blue-soft);
    border-left: 3px solid var(--rr-blue);
    padding: 10px 16px;
    margin-bottom: 18px;
    border-radius: 0 var(--rr-radius) var(--rr-radius) 0;
}

/* --- Buttons --- */
.rrv3-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 16px;
    background-color: var(--rr-navy);
    color: var(--rr-white);
    text-decoration: none;
    border-radius: var(--rr-radius);
    border: none;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.3;
    transition: background-color 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
    box-shadow: var(--rr-shadow-sm);
}
.rrv3-button:hover {
    background-color: var(--rr-navy-dark);
    transform: translateY(-1px);
    box-shadow: var(--rr-shadow-md);
    color: var(--rr-white);
}
.rrv3-button:active { transform: translateY(0); }
.rrv3-button:disabled {
    background-color: #cbd5e1;
    color: var(--rr-white);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}
.rrv3-button-secondary {
    background-color: var(--rr-white);
    color: var(--rr-text);
    border: 1px solid var(--rr-border);
    box-shadow: var(--rr-shadow-sm);
}
.rrv3-button-secondary:hover {
    background-color: var(--rr-bg);
    border-color: var(--rr-blue);
    color: var(--rr-blue);
    box-shadow: var(--rr-shadow-md);
}
.rrv3-button-whatsapp {
    background-color: #25d366;
    box-shadow: 0 2px 8px -2px rgba(37, 211, 102, 0.45);
}
.rrv3-button-whatsapp:hover {
    background-color: #1ebd59;
    box-shadow: 0 5px 14px -4px rgba(37, 211, 102, 0.55);
}
.rrv3-button-danger {
    background-color: var(--rr-white);
    color: #dc2626;
    border: 1px solid #fca5a5;
    box-shadow: var(--rr-shadow-sm);
}
.rrv3-button-danger:hover {
    background-color: #dc2626;
    border-color: #dc2626;
    color: var(--rr-white);
    box-shadow: 0 4px 10px -2px rgba(220, 38, 38, 0.4);
}
.rrv3-button-delete {
    background-color: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
    border-radius: 50%;
    width: 26px;
    height: 26px;
    line-height: 24px;
    text-align: center;
    cursor: pointer;
    padding: 0;
    font-size: 13px;
    transition: all 0.15s;
    flex-shrink: 0;
}
.rrv3-button-delete:hover {
    background-color: #ef4444;
    border-color: #ef4444;
    color: var(--rr-white);
}
.rrv3-button-delete:disabled,
.rrv3-button-delete.rrv3-disabled {
    background-color: #e5e7eb;
    border-color: #cbd5e1;
    color: #94a3b8;
    cursor: not-allowed;
    box-shadow: none;
}
.rrv3-button-small {
    padding: 5px 11px;
    font-size: 11.5px;
}
.rrv3-button-delete-bulk {
    margin-top: 10px;
}

/* ============================================================
   GLOBAL AJAX LOADER (clean, modern, minimal spinner)
   Auto-shown for general AJAX calls except background polls/batch tools.
   ============================================================ */

.rrv3-loader-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    animation: rrv3LoaderFadeIn 0.15s ease-out;
}
.rrv3-loader-overlay.is-visible { display: flex; }

@keyframes rrv3LoaderFadeIn {
    from { opacity: 0; transform: scale(0.98); }
    to   { opacity: 1; transform: scale(1); }
}

.rrv3-simple-loader-card {
    background: #ffffff;
    padding: 16px 24px;
    border-radius: 12px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #e2e8f0;
}

.rrv3-simple-spinner {
    width: 22px;
    height: 22px;
    border: 2.5px solid #e2e8f0;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: rrv3SimpleSpin 0.75s linear infinite;
}

@keyframes rrv3SimpleSpin {
    to { transform: rotate(360deg); }
}

.rrv3-simple-loader-text {
    font-size: 13.5px;
    font-weight: 600;
    color: #1e293b;
    letter-spacing: -0.1px;
}

/* Never show the loader in print output */
@media print {
    .rrv3-loader-overlay { display: none !important; }
}

/* --- Sections & cards --- */
.rrv3-section {
    margin-bottom: 18px;
    padding: 20px 22px;
    background: var(--rr-white);
    border-radius: var(--rr-radius-lg);
    box-shadow: var(--rr-shadow-sm);
    border: 1px solid var(--rr-border);
}
.rrv3-tab-content .rrv3-section {
    border-top-left-radius: 0;
    box-shadow: none;
    border: none;
    padding: 5px 0 0;
}

/* --- Tables --- */
.rrv3-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 12px;
}
.rrv3-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 12px;
    font-size: 12.5px;
    color: var(--rr-text);
}
.rrv3-table th, .rrv3-table td {
    padding: 9px 12px;
    border-bottom: 1px solid var(--rr-border); /* horizontal lines only, no vertical */
    text-align: left;
    vertical-align: middle;
    line-height: 1.45;
}
.rrv3-table th {
    background-color: var(--rr-ice);
    font-weight: 600;
    color: var(--rr-text-muted);
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
}
.rrv3-table tr:last-child td { border-bottom: none; }
.rrv3-table tbody tr { transition: background-color 0.12s; }
.rrv3-table tbody tr:nth-child(even) { background-color: var(--rr-bg); }
.rrv3-table tbody tr:hover { background-color: var(--rr-blue-soft); }

.rrv3-table .actions-cell { white-space: normal; }
.rrv3-table .actions-cell .rrv3-button,
.rrv3-table .actions-cell button { margin-right: 6px; vertical-align: middle; }
.rrv3-table .actions-cell .rrv3-button:last-child,
.rrv3-table .actions-cell button:last-child { margin-right: 0; }

.rrv3-actions-cell { white-space: normal; }
.rrv3-actions-cell .rrv3-button,
.rrv3-actions-cell button { margin-right: 5px; vertical-align: middle; }

.url-cell {
    max-width: 380px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11.5px;
}
.url-cell a { color: var(--rr-blue); text-decoration: none; }
.url-cell a:hover { text-decoration: underline; }

/* Disabled service rows on P.E.T. page */
.rrv3-table tr.service-item-disabled {
    background-color: var(--rr-bg);
    color: var(--rr-text-muted);
    opacity: 0.65;
    pointer-events: none;
}
.rrv3-table tr.service-item-disabled a,
.rrv3-table tr.service-item-disabled button {
    pointer-events: none;
    cursor: not-allowed;
}

/* --- DataTables integration --- */
.dataTables_wrapper {
    margin-top: 8px;
    font-size: 12.5px;
    color: var(--rr-text);
}
.dataTables_length, .dataTables_filter { margin-bottom: 12px; }
.dataTables_length label, .dataTables_filter label {
    font-weight: 600;
    color: var(--rr-text-muted);
    font-size: 12px;
}
.dataTables_length select, .dataTables_filter input {
    padding: 6px 9px;
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius);
    margin: 0 5px;
    font-size: 12.5px;
    transition: border-color 0.2s, box-shadow 0.2s;
    background-color: var(--rr-white);
    color: var(--rr-text);
}
.dataTables_length select:focus, .dataTables_filter input:focus {
    border-color: var(--rr-blue);
    box-shadow: 0 0 0 3px rgba(0, 136, 255, 0.15);
    outline: none;
}
.dataTables_info { font-size: 11.5px; color: var(--rr-text-muted); }
.dataTables_paginate .paginate_button {
    padding: 5px 11px;
    margin: 0 2px;
    border-radius: 6px;
    border: 1px solid var(--rr-border);
    cursor: pointer;
    background-color: var(--rr-white);
    font-size: 12px;
    transition: all 0.15s ease;
    color: var(--rr-text) !important;
}
.dataTables_paginate .paginate_button:hover {
    background-color: var(--rr-blue-soft);
    border-color: var(--rr-blue);
    color: var(--rr-blue) !important;
}
.dataTables_paginate .paginate_button.current {
    background-color: var(--rr-blue);
    color: var(--rr-white) !important;
    border-color: var(--rr-blue);
}
.dataTables_paginate .paginate_button.disabled { opacity: 0.45; cursor: not-allowed; }

/* --- Status & type badges (semantic colors preserved) --- */
.status-cell { vertical-align: middle; }
.status-stack {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}
.status-badge, .type-badge {
    padding: 3px 10px;
    border-radius: 9999px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--rr-white);
    display: inline-block;
    text-transform: capitalize;
    white-space: nowrap;
}
.status-pending-sbu-head-approval { background-color: #f59e0b; }
.status-approved-by-sbu-head { background-color: #16a34a; }
.status-rejected-by-sbu-head, .status-rejected-by-p-e-t, .status-rejected-by-purchasing { background-color: #ef4444; }
.status-with-p-e-t-centre { background-color: #2563eb; }
.status-in-purchasing-queue { background-color: #6366f1; }
.status-po-created { background-color: #0891b2; }
.status-delivered-to-p-e-t { background-color: #0d9488; }
.status-delivered-to-site { background-color: #2563eb; }
.status-received-at-site { background-color: #16a34a; }
.status-on-delivery-note { background-color: #8b5cf6; }
.status-on-loan { background-color: #d946ef; }
.status-returned { background-color: #64748b; }
.status-partially-processed, .status-fully-processed { background-color: #22c55e; }
.status-partially-rejected { background-color: #f97316; }
.status-normal { background-color: #e5e7eb; color: #111827 !important; border: 1px solid #cbd5e1; }

.type-item       { background-color: #059669; }
.type-service    { background-color: #d97706; }
.type-labor      { background-color: #2563eb; }
.type-transport  { background-color: #0891b2; }
.type-equipment  { background-color: #7c3aed; }

/* Inventory sub-tabs (distinct class to avoid collision with main tab handler) */
.jc-inv-tab-btn {
    padding: 8px 14px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    color: var(--rr-text-muted);
    transition: color 0.15s, border-color 0.15s, background-color 0.15s;
    margin-bottom: -1px;
    border-radius: 7px 7px 0 0;
}
.jc-inv-tab-btn:hover {
    color: var(--rr-text);
    background-color: var(--rr-bg);
}
.jc-inv-tab-btn.active {
    color: var(--rr-blue);
    border-bottom-color: var(--rr-blue);
    background-color: var(--rr-white);
    font-weight: 700;
}

/* --- Forms --- */
.rrv3-form-group { margin-bottom: 14px; }
.rrv3-form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: var(--rr-text);
    font-size: 12px;
}
.rrv3-form-group label small { color: var(--rr-text-muted); font-weight: 400; }
.rrv3-form-group input[type="text"],
.rrv3-form-group input[type="number"],
.rrv3-form-group input[type="tel"],
.rrv3-form-group input[type="date"],
.rrv3-form-group select,
.rrv3-form-group textarea {
    width: 100%;
    padding: 8px 11px;
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius);
    box-sizing: border-box;
    font-size: 13px;
    transition: border-color 0.18s, box-shadow 0.18s, background-color 0.18s;
    background-color: var(--rr-white);
    color: var(--rr-text);
}
.rrv3-form-group input:focus,
.rrv3-form-group select:focus,
.rrv3-form-group textarea:focus {
    border-color: var(--rr-blue);
    box-shadow: 0 0 0 3px rgba(0, 136, 255, 0.15);
    outline: none;
    background-color: var(--rr-white);
}
.rrv3-form-group input[readonly] {
    background-color: var(--rr-bg);
    color: var(--rr-text-muted);
}

/* Multi-column form rows */
.rrv3-form-row {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
.rrv3-form-row .rrv3-form-group {
    flex: 1 1 0;
    min-width: 160px;
}

.rrv3-form-inline { display: flex; gap: 8px; }
.rrv3-form-inline input { flex-grow: 1; }

/* Wide forms: cap input width so they don't stretch absurdly on big screens */
#rrv3-new-requisition > .rrv3-form-group { max-width: 560px; }

/* --- Details grid --- */
.rrv3-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
.rrv3-detail-item label {
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rr-text-muted);
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
}
.rrv3-detail-item p { margin: 0; font-weight: 600; color: var(--rr-text); }

/* --- Admin panel layout --- */
.rrv3-admin-row {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.rrv3-admin-col { min-width: 280px; }
.rrv3-admin-col-1-3 { flex: 1 1 280px; max-width: 420px; }
.rrv3-admin-col-2-3 { flex: 2 1 520px; }
.rrv3-admin-row .rrv3-section { margin-bottom: 0; }
.rrv3-tab-content .rrv3-admin-row .rrv3-section {
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius-lg);
    padding: 16px 18px;
    box-shadow: var(--rr-shadow-sm);
}

.rrv3-admin-users-layout {
    display: block;
}
.rrv3-admin-users-layout .rrv3-admin-col {
    max-width: none;
    width: 100%;
    margin-bottom: 18px;
}
.rrv3-admin-users-layout .rrv3-section {
    margin-bottom: 0;
}

/* --- Managed term lists (SBU / Units / Modes / Categories) --- */
.rrv3-list { list-style: none; margin: 0; padding: 0; }
.rrv3-managed-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 8px;
}
.rrv3-managed-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    background: var(--rr-bg);
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius);
    font-size: 12.5px;
    transition: border-color 0.15s, background-color 0.15s;
}
.rrv3-managed-list li:hover { border-color: var(--rr-blue); background: var(--rr-blue-soft); }
.rrv3-managed-list li span { flex-grow: 1; font-weight: 500; color: var(--rr-text); }

/* --- Action button clusters --- */
.rrv3-actions, .rrv3-pet-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.rrv3-actions { margin-top: 12px; }

/* DISTINCT ACTION BUTTON COLORS (one per action type) */
.btn-enter-po       { background-color: #0088FF !important; } /* Vibrant Blue */
.btn-enter-po:hover    { background-color: #0077DD !important; }
.btn-mark-delivered { background-color: #16a34a !important; } /* Green */
.btn-mark-delivered:hover { background-color: #128a3e !important; }
.btn-add-dn         { background-color: #002855 !important; } /* Deep Navy */
.btn-add-dn:hover      { background-color: #001E3F !important; }
.btn-forward        { background-color: #d97706 !important; } /* Amber */
.btn-forward:hover     { background-color: #b8650a !important; }
.btn-loan           { background-color: #7c3aed !important; } /* Purple */
.btn-loan:hover        { background-color: #6a2fd1 !important; }
.btn-split          { background-color: #475569 !important; } /* Slate */
.btn-split:hover       { background-color: #38445a !important; }

/* --- QUOTATION COMPARISON modal --- */
.quotation-row input[type="text"],
.quotation-row input[type="number"] {
    padding: 5px 8px;
    border: 1px solid var(--rr-border);
    border-radius: 5px;
    font-size: 12px;
    background: var(--rr-white);
    color: var(--rr-text);
}
.quotation-row .q-radio {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: var(--rr-blue);
}
.quotations-btn {
    white-space: nowrap;
}

/* --- QUOTATION COMPARISON display in item cards (manage-requisition) --- */
.rrv3-quote-comparison {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rrv3-quote-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--rr-bg);
    border: 1px solid var(--rr-border);
    font-size: 11.5px;
    color: var(--rr-text);
}
.rrv3-quote-row.rrv3-quote-selected {
    background: #dcfce7;
    border-color: #86efac;
    font-weight: 600;
}
.rrv3-quote-pick { width: 16px; text-align: center; font-weight: 700; }
.rrv3-quote-row.rrv3-quote-selected .rrv3-quote-pick { color: #16a34a; }
.rrv3-quote-supplier { flex-grow: 1; font-weight: 600; }
.rrv3-quote-price { font-variant-numeric: tabular-nums; }
.rrv3-quote-lead { color: var(--rr-text-muted); font-size: 10.5px; }
.rrv3-quote-link { color: var(--rr-blue); text-decoration: none; font-size: 12px; }
.rrv3-quote-link:hover { text-decoration: underline; }
.rrv3-quote-selected-badge {
    background: #16a34a;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    padding: 1px 6px;
    border-radius: 4px;
    letter-spacing: 0.05em;
}

/* --- QUOTATION COMPARISON compact view (manage-pet-items table cell) --- */
.rrv3-quote-comparison-mini {
    display: block;
    margin-top: 4px;
    font-size: 10.5px;
    color: var(--rr-text-muted);
}
.rrv3-quote-row-mini {
    display: inline-block;
    margin-right: 6px;
    padding: 1px 6px;
    border-radius: 4px;
    background: var(--rr-bg);
    border: 1px solid var(--rr-border);
}
.rrv3-quote-row-mini.rrv3-quote-selected {
    background: #dcfce7;
    border-color: #86efac;
    color: #15803d;
    font-weight: 600;
}

.rrv3-form-actions-footer {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding: 14px 0;
}

/* --- Stats boxes --- */
.rrv3-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}
.rrv3-stat-box {
    padding: 14px 18px;
    background: var(--rr-white);
    border-radius: var(--rr-radius-lg);
    box-shadow: var(--rr-shadow-sm);
    border: 1px solid var(--rr-border);
    border-top: 3px solid var(--rr-blue);
    text-align: left;
    transition: transform 0.15s, box-shadow 0.15s;
}
.rrv3-stat-box:hover {
    transform: translateY(-2px);
    box-shadow: var(--rr-shadow-md);
}
.rrv3-stat-box:nth-child(2) { border-top-color: #059669; }
.rrv3-stat-box:nth-child(3) { border-top-color: #d97706; }
.rrv3-stat-box:nth-child(4) { border-top-color: #0891b2; }
.rrv3-stat-box h3 {
    margin: 0 0 4px;
    color: var(--rr-text-muted);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.rrv3-stat-box p {
    font-size: 26px;
    font-weight: 800;
    margin: 0;
    color: var(--rr-text);
    letter-spacing: -0.02em;
}

/* --- Tabs --- */
.rrv3-tabs {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 2px solid var(--rr-border);
    margin-bottom: 0;
    gap: 2px;
}
.rrv3-tab-button {
    padding: 10px 18px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--rr-text-muted);
    transition: color 0.15s, border-color 0.15s, background-color 0.15s;
    margin-bottom: -1px;
    border-radius: 7px 7px 0 0;
}
.rrv3-tab-button:hover {
    color: var(--rr-text);
    background-color: var(--rr-bg);
}
.rrv3-tab-button.active {
    color: var(--rr-blue);
    border-bottom-color: var(--rr-blue);
    background-color: var(--rr-white);
    font-weight: 700;
}
.rrv3-tab-content {
    display: none;
    animation: fadeIn 0.35s;
    background-color: var(--rr-white);
    border: 1px solid var(--rr-border);
    border-top: none;
    padding: 20px 22px;
    border-radius: 0 0 var(--rr-radius-lg) var(--rr-radius-lg);
}
.rrv3-tab-content.active { display: block; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* --- Modals --- */
.rrv3-modal {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 40, 85, 0.55);
    backdrop-filter: blur(2px);
    z-index: 10000;
    overflow-y: auto;
    animation: fadeIn 0.2s;
}
/* FIX: The notice/alert/confirm/prompt modal must sit ABOVE all other modals
   so errors never appear behind a form modal (e.g. Add to DN, insufficient
   stock confirm). Higher than: regular modals (10000), DN print (99999),
   loader (100000), notification drawer (999999). */
#rrv3-notice-modal {
    z-index: 1000001 !important;
}
.rrv3-modal-content {
    background: var(--rr-white);
    margin: 40px auto;
    padding: 24px 26px;
    max-width: 620px;
    border-radius: var(--rr-radius-lg);
    box-shadow: var(--rr-shadow-lg);
    position: relative;
    animation: slideIn 0.3s ease-out;
    font-size: 13px;
    color: var(--rr-text);
}
.rrv3-modal-large .rrv3-modal-content { max-width: 980px; }
.rrv3-modal-title {
    margin: 0 0 16px;
    font-size: 17px;
    font-weight: 700;
    color: var(--rr-text);
    letter-spacing: -0.01em;
    padding-right: 30px;
}
@keyframes slideIn { from { transform: translateY(-24px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.rrv3-modal-close {
    position: absolute;
    top: 14px; right: 16px;
    font-size: 22px;
    font-weight: bold;
    color: var(--rr-text-muted);
    cursor: pointer;
    line-height: 1;
    transition: color 0.15s;
}
.rrv3-modal-close:hover { color: var(--rr-text); }
.rrv3-modal-body { margin-bottom: 18px; }
#rrv3-notice-prompt textarea { margin-top: 8px; width: 100%; box-sizing: border-box; padding: 9px 11px; border: 1px solid var(--rr-border); border-radius: var(--rr-radius); font-size: 13px; background-color: var(--rr-white); color: var(--rr-text); }
.rrv3-modal-footer {
    margin-top: 16px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--rr-border);
    padding-top: 14px;
}

/* --- Description cell (P.E.T. inline edit) --- */
.description-cell .description-view { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.description-cell .description-text-wrapper { flex-grow: 1; }
.description-cell .pet-description-display { display: block; font-size: 11.5px; color: var(--rr-text-muted); margin-top: 3px; font-style: italic; }
.description-cell .description-edit { display: flex; align-items: center; gap: 5px; }
.description-cell .description-edit input { flex-grow: 1; padding: 6px 9px; border: 1px solid var(--rr-border); border-radius: 6px; font-size: 12.5px; background-color: var(--rr-white); color: var(--rr-text); }

/* --- SBU item cards --- */
.rrv3-items-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
    gap: 14px;
}
.rrv3-sbu-item-card {
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius-lg);
    overflow: hidden;
    background: var(--rr-white);
    transition: box-shadow 0.2s, border-color 0.2s;
    display: flex;
    flex-direction: column;
}
.rrv3-sbu-item-card:hover {
    box-shadow: var(--rr-shadow-md);
    border-color: var(--rr-blue);
}
.rrv3-sbu-item-card.pending-item { border-left: 3px solid #f59e0b; }
.rrv3-sbu-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    background-color: var(--rr-bg);
    border-bottom: 1px solid var(--rr-border);
}
.rrv3-sbu-item-header h3 { margin: 0; font-size: 12.5px; font-weight: 700; color: var(--rr-text); }
.rrv3-sbu-item-body {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-grow: 1;
}
.rrv3-sbu-item-row { display: flex; gap: 14px; }
.rrv3-sbu-item-detail { flex: 1 1 50%; font-size: 12.5px; color: var(--rr-text); }
.rrv3-sbu-item-detail.full-width { flex: 1 1 100%; }
.rrv3-sbu-item-detail strong { color: var(--rr-text-muted); margin-right: 6px; font-size: 11.5px; font-weight: 600; }
.rrv3-sbu-item-detail.rejection {
    color: #b91c1c;
    background-color: #fef2f2;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 12px;
}
.rrv3-sbu-item-actions {
    padding: 9px 14px;
    background-color: var(--rr-bg);
    border-top: 1px solid var(--rr-border);
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

/* --- Bulk actions --- */
.rrv3-bulk-actions-footer { margin-top: 14px; text-align: right; }

.rrv3-role-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px 12px;
    padding: 10px;
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius-sm);
    background: var(--rr-bg);
}
.rrv3-checkbox-label {
    display: flex;
    align-items: center;
    gap: 7px;
    font-weight: 600;
    color: var(--rr-text);
}
.rrv3-checkbox-label input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.rrv3-user-batch-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
    margin-bottom: 12px;
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius-sm);
    background: var(--rr-bg);
}
.rrv3-users-table .rrv3-select-col {
    width: 36px;
    text-align: center;
}
.rrv3-users-table .rrv3-select-col input[type="checkbox"] {
    width: auto;
    margin: 0;
}
.rrv3-user-avatar {
    display: inline-flex;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--rr-border);
    background: var(--rr-blue-soft);
    color: var(--rr-blue);
    font-weight: 800;
    font-size: 13px;
}
.rrv3-user-roles-cell {
    min-width: 180px;
}
.rrv3-mini-role-badge {
    display: inline-block;
    margin: 2px 3px 2px 0;
    padding: 3px 8px;
    font-size: 10.5px;
    white-space: nowrap;
}

.rrv3-user-profile-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    margin-bottom: 14px;
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius-md);
    background: var(--rr-bg);
}
.rrv3-user-profile-photo,
.rrv3-user-profile-img,
.rrv3-user-profile-initial {
    width: 72px;
    height: 72px;
    border-radius: 50%;
}
.rrv3-user-profile-img {
    object-fit: cover;
    border: 2px solid var(--rr-border);
}
.rrv3-user-profile-initial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rr-blue-soft);
    color: var(--rr-blue);
    font-size: 26px;
    font-weight: 800;
    border: 2px solid var(--rr-border);
}
.rrv3-user-profile-info h3 {
    margin: 0 0 4px;
    color: var(--rr-blue-dark);
}
.rrv3-user-profile-info p {
    margin: 0;
    font-weight: 700;
    color: var(--rr-muted);
}
.rrv3-profile-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 10px;
}
.rrv3-profile-detail-grid > div {
    padding: 10px;
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius-sm);
    background: #fff;
}
.rrv3-profile-detail-grid strong,
.rrv3-profile-detail-grid span {
    display: block;
}
.rrv3-profile-detail-grid strong {
    margin-bottom: 4px;
    color: var(--rr-muted);
    font-size: 12px;
}
.rrv3-profile-url-row {
    grid-column: 1 / -1;
    word-break: break-all;
}

.rrv3-role-switcher {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 14px;
    padding: 10px 12px;
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius-md);
    background: var(--rr-bg);
}
.rrv3-role-switcher span {
    font-weight: 800;
    color: var(--rr-blue-dark);
    margin-right: 2px;
}
.rrv3-role-switch-btn {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--rr-border);
    color: var(--rr-blue);
    font-weight: 700;
    font-size: 12px;
    text-decoration: none;
}
.rrv3-role-switch-btn:hover,
.rrv3-role-switch-btn.active {
    background: var(--rr-blue);
    color: #fff;
    border-color: var(--rr-blue);
    text-decoration: none;
}

#approval-settings-table input[type="number"] {
    max-width: 160px;
}
.rrv3-director-role-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    background: #fff;
}

.rrv3-collapsible-section summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    list-style: none;
    padding: 12px 14px;
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius-md);
    background: var(--rr-bg);
    color: var(--rr-blue-dark);
    font-weight: 900;
}
.rrv3-collapsible-section summary::-webkit-details-marker {
    display: none;
}
.rrv3-collapsible-section summary::after {
    content: '＋';
    font-size: 18px;
    color: var(--rr-blue);
}
.rrv3-collapsible-section[open] summary::after {
    content: '−';
}
.rrv3-collapsible-section summary small {
    margin-left: auto;
    color: var(--rr-text-muted);
    font-weight: 600;
}
.rrv3-collapsible-body {
    margin-top: 14px;
}

/* ============================================================
   GLOBAL MODAL BASE REFRESH
   Applies a cleaner, more readable base style to regular RRV3 modals.
   DN print modal keeps its print-specific styling.
   ============================================================ */
.rrv3-modal:not(#rrv3-dn-print-modal) {
    background: rgba(3, 24, 51, 0.62);
    backdrop-filter: blur(5px) saturate(1.05);
    padding: 28px 14px;
    box-sizing: border-box;
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-content {
    width: min(94vw, 680px);
    margin: 0 auto 36px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 24px 70px rgba(0, 40, 85, 0.28);
}
.rrv3-modal-large:not(#rrv3-dn-print-modal) .rrv3-modal-content,
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-picker-content {
    width: min(96vw, 1040px);
    max-width: 1040px;
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-title {
    margin: 0;
    padding: 20px 56px 16px 24px;
    color: var(--rr-blue-dark);
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #eff6ff, #ffffff);
    border-bottom: 1px solid var(--rr-border);
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-content > :not(.rrv3-modal-title):not(.rrv3-modal-close) {
    margin-left: 24px;
    margin-right: 24px;
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-content > .rrv3-modal-title + * {
    margin-top: 18px;
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-close {
    top: 14px;
    right: 16px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,0.85);
    border: 1px solid var(--rr-border);
    color: var(--rr-text-muted);
    font-size: 24px;
    transition: all 0.15s ease;
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-close:hover {
    background: #fee2e2;
    border-color: #fecaca;
    color: #b91c1c;
    transform: scale(1.04);
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-instructions {
    border-left: 4px solid var(--rr-blue);
    background: #eff6ff;
    color: var(--rr-text);
    border-radius: 10px;
    padding: 12px 14px;
    line-height: 1.55;
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-form-group label {
    color: var(--rr-blue-dark);
    font-weight: 800;
}
.rrv3-modal:not(#rrv3-dn-print-modal) input,
.rrv3-modal:not(#rrv3-dn-print-modal) select,
.rrv3-modal:not(#rrv3-dn-print-modal) textarea {
    border-radius: 10px;
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-footer {
    margin: 20px 0 0 !important;
    padding: 16px 24px !important;
    background: rgba(248, 250, 252, 0.92);
    border-top: 1px solid var(--rr-border);
    gap: 10px;
    flex-wrap: wrap;
}
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-footer .rrv3-button,
.rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-footer button {
    margin: 0;
}
@media (max-width: 640px) {
    .rrv3-modal:not(#rrv3-dn-print-modal) {
        padding: 14px 8px;
    }
    .rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-title {
        padding: 18px 54px 14px 18px;
        font-size: 18px;
    }
    .rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-content > :not(.rrv3-modal-title):not(.rrv3-modal-close) {
        margin-left: 16px;
        margin-right: 16px;
    }
    .rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-footer {
        padding: 14px 16px !important;
        justify-content: stretch;
    }
    .rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-footer button,
    .rrv3-modal:not(#rrv3-dn-print-modal) .rrv3-modal-footer .rrv3-button {
        flex: 1 1 100%;
    }
}

/* Bulk table selection actions */
.rrv3-bulk-table-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.rrv3-table .rrv3-select-col {
    width: 38px;
    text-align: center;
}
.rrv3-table .rrv3-select-col input[type="checkbox"] {
    width: auto;
    margin: 0;
}

/* Generic field chooser panel */
.rrv3-field-chooser-wrap {
    margin: 0 0 12px;
}
.rrv3-field-chooser-panel {
    padding: 12px 14px;
    border: 1px solid var(--rr-border);
    border-radius: var(--rr-radius-md);
    background: var(--rr-bg);
    box-shadow: var(--rr-shadow-sm);
}
.rrv3-field-chooser-panel > strong {
    display: block;
    margin-bottom: 8px;
    color: var(--rr-blue-dark);
}
.rrv3-field-chooser-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
}
.rrv3-field-chooser-options label {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 9px;
    border: 1px solid var(--rr-border);
    border-radius: 10px;
    background: #fff;
    font-weight: 700;
    color: var(--rr-text);
}
.rrv3-field-chooser-options input[type="checkbox"] {
    width: auto;
    margin: 0;
}

/* Users table field chooser override
   Inventory's catalog field chooser uses the same panel class as an absolute
   dropdown. Force the Users chooser to be an inline visible panel when its
   wrapper is toggled open. */
#users-field-chooser .rrv3-field-chooser-panel {
    display: block !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin-top: 0 !important;
    min-width: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    z-index: auto !important;
}
#users-field-chooser .rrv3-field-chooser-options {
    display: grid !important;
}

/* Registered Users table column resizing */
#rrv3-users-table.rrv3-resizable-table {
    table-layout: fixed;
    width: 100%;
}
#rrv3-users-table.rrv3-resizable-table th,
#rrv3-users-table.rrv3-resizable-table td {
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
}
#rrv3-users-table .rrv3-col-resize-handle {
    position: absolute;
    top: 0;
    right: -3px;
    width: 8px;
    height: 100%;
    cursor: col-resize;
    z-index: 5;
    user-select: none;
}
#rrv3-users-table .rrv3-col-resize-handle::after {
    content: '';
    position: absolute;
    top: 20%;
    right: 3px;
    width: 2px;
    height: 60%;
    border-radius: 999px;
    background: transparent;
    transition: background 0.15s ease;
}
#rrv3-users-table th:hover .rrv3-col-resize-handle::after,
body.rrv3-column-resizing #rrv3-users-table .rrv3-col-resize-handle::after {
    background: var(--rr-blue);
}
body.rrv3-column-resizing {
    cursor: col-resize !important;
    user-select: none !important;
}

/* SBU color badge/pill */
.rrv3-sbu-pill {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
    border: 1px solid rgba(0, 0, 0, 0.08);
}
.rrv3-user-greeting-card .rrv3-sbu-pill {
    font-size: 13px;
    padding: 4px 11px;
}

/* ============================================================
   RRV3 DARK MODE
   User-toggleable theme for plugin pages. Print/PDF documents remain light.
   ============================================================ */
html.rrv3-dark-mode,
html.rrv3-dark-mode body {
    --rr-white: #111827;
    --rr-bg: #0f172a;
    --rr-ice: #1f2937;
    --rr-border: #334155;
    --rr-text: #e5e7eb;
    --rr-text-muted: #94a3b8;
    --rr-blue-soft: #0b2a4a;
    --rr-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.35);
    --rr-shadow-md: 0 6px 18px rgba(0, 0, 0, 0.35);
    background: var(--rr-bg);
    color: var(--rr-text);
}
html.rrv3-dark-mode .rrv3-dashboard,
html.rrv3-dark-mode .rrv3-dashboard h1,
html.rrv3-dark-mode .rrv3-dashboard h2,
html.rrv3-dark-mode .rrv3-dashboard h3 {
    color: var(--rr-text);
}
html.rrv3-dark-mode .rrv3-section,
html.rrv3-dark-mode .rrv3-admin-panel,
html.rrv3-dark-mode .rrv3-modal-content,
html.rrv3-dark-mode .rrv3-notif-drawer,
html.rrv3-dark-mode .rrv3-notif-card {
    background: #111827;
    color: var(--rr-text);
    border-color: var(--rr-border);
}
html.rrv3-dark-mode .rrv3-tab-button,
html.rrv3-dark-mode .rrv3-button-secondary,
html.rrv3-dark-mode button.rrv3-button-secondary {
    background: #1f2937;
    color: var(--rr-text);
    border-color: var(--rr-border);
}
html.rrv3-dark-mode .rrv3-tab-button.active,
html.rrv3-dark-mode .rrv3-button {
    border-color: var(--rr-blue);
}
html.rrv3-dark-mode .rrv3-table {
    color: var(--rr-text);
}
html.rrv3-dark-mode .rrv3-table th {
    background: #1f2937;
    color: #cbd5e1;
    border-color: var(--rr-border);
}
html.rrv3-dark-mode .rrv3-table td {
    border-color: var(--rr-border);
}
html.rrv3-dark-mode input,
html.rrv3-dark-mode select,
html.rrv3-dark-mode textarea,
html.rrv3-dark-mode .rrv3-input,
html.rrv3-dark-mode .rrv3-textarea {
    background: #0b1220;
    color: var(--rr-text);
    border-color: var(--rr-border);
}
html.rrv3-dark-mode input[readonly],
html.rrv3-dark-mode textarea[readonly],
html.rrv3-dark-mode input:disabled,
html.rrv3-dark-mode select:disabled,
html.rrv3-dark-mode textarea:disabled {
    background: #111827;
    color: #94a3b8;
}
html.rrv3-dark-mode .rrv3-instructions,
html.rrv3-dark-mode .rrv3-info-box,
html.rrv3-dark-mode .rrv3-field-hint,
html.rrv3-dark-mode small {
    color: #cbd5e1;
}
html.rrv3-dark-mode .rrv3-instructions,
html.rrv3-dark-mode .rrv3-info-box {
    background: #0b2a4a;
    border-color: #1d4ed8;
}
html.rrv3-dark-mode .rrv3-page-header {
    border-color: var(--rr-border);
}
.rrv3-dark-mode-toggle {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-right: 8px;
}
.rrv3-dark-mode-toggle:hover {
    background: rgba(255, 255, 255, 0.22);
    transform: scale(1.05);
}
.rrv3-dark-mode-icon {
    font-size: 19px;
    line-height: 1;
}
/* Keep customer-facing quotation/PDF preview white even in dark mode. */
html.rrv3-dark-mode .rrv3-quote-document,
html.rrv3-dark-mode .rrv3-quote-document * {
    color: initial;
}
html.rrv3-dark-mode .rrv3-quote-document {
    background: #ffffff !important;
    color: #1f2937 !important;
}
@media print {
    .rrv3-dark-mode-toggle { display: none !important; }
}

/* Mobile table-to-card UX */
@media (max-width: 760px) {
    table.rrv3-mobile-card-table,
    table.rrv3-mobile-card-table thead,
    table.rrv3-mobile-card-table tbody,
    table.rrv3-mobile-card-table th,
    table.rrv3-mobile-card-table td,
    table.rrv3-mobile-card-table tr {
        display: block;
        width: 100% !important;
    }
    table.rrv3-mobile-card-table {
        border: 0 !important;
        background: transparent !important;
    }
    table.rrv3-mobile-card-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }
    table.rrv3-mobile-card-table tbody tr {
        margin: 0 0 14px;
        padding: 12px 13px;
        border: 1px solid var(--rr-border, #dbe3ef) !important;
        border-radius: 16px;
        background: var(--rr-white, #ffffff);
        box-shadow: 0 6px 18px rgba(15, 23, 42, .07);
    }
    table.rrv3-mobile-card-table tbody tr.child,
    table.rrv3-mobile-card-table tbody tr.odd,
    table.rrv3-mobile-card-table tbody tr.even {
        background: var(--rr-white, #ffffff) !important;
    }
    table.rrv3-mobile-card-table tbody td,
    table.rrv3-mobile-card-table tbody th {
        display: grid;
        grid-template-columns: minmax(105px, 38%) minmax(0, 1fr);
        gap: 10px;
        align-items: start;
        padding: 8px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid var(--rr-border, #e5edf7) !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: break-word;
    }
    table.rrv3-mobile-card-table tbody td:last-child,
    table.rrv3-mobile-card-table tbody th:last-child {
        border-bottom: 0 !important;
    }
    table.rrv3-mobile-card-table tbody td::before,
    table.rrv3-mobile-card-table tbody th::before {
        content: attr(data-label);
        color: var(--rr-text-muted, #64748b);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .04em;
        text-transform: uppercase;
        line-height: 1.25;
    }
    table.rrv3-mobile-card-table .rrv3-actions-cell,
    table.rrv3-mobile-card-table td[data-label="Actions"],
    table.rrv3-mobile-card-table td[data-label="Action"] {
        display: block;
    }
    table.rrv3-mobile-card-table .rrv3-actions-cell::before,
    table.rrv3-mobile-card-table td[data-label="Actions"]::before,
    table.rrv3-mobile-card-table td[data-label="Action"]::before {
        display: block;
        margin-bottom: 8px;
    }
    table.rrv3-mobile-card-table .rrv3-actions-cell .rrv3-button,
    table.rrv3-mobile-card-table td[data-label="Actions"] .rrv3-button,
    table.rrv3-mobile-card-table td[data-label="Action"] .rrv3-button,
    table.rrv3-mobile-card-table .rrv3-actions-cell a.rrv3-button,
    table.rrv3-mobile-card-table td[data-label="Actions"] a.rrv3-button,
    table.rrv3-mobile-card-table td[data-label="Action"] a.rrv3-button {
        width: 100%;
        justify-content: center;
        margin: 4px 0;
        min-height: 38px;
    }
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        float: none !important;
        text-align: left !important;
        width: 100%;
        margin: 8px 0;
    }
    .dataTables_wrapper .dataTables_filter input {
        width: 100%;
        margin: 6px 0 0 !important;
    }
}

/* Mobile header tap targets: keep notification bell and dark-mode icon usable */
@media (max-width: 760px) {
    .rrv3-header {
        padding: 9px 12px !important;
        gap: 10px;
        min-height: 58px;
    }
    .rrv3-header-logo img {
        height: 30px !important;
        max-width: 180px;
        object-fit: contain;
    }
    .rrv3-header-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        flex: 0 0 auto;
    }
    .rrv3-dark-mode-toggle,
    .rrv3-bell-btn,
    button.rrv3-dark-mode-toggle,
    button.rrv3-bell-btn {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        flex: 0 0 44px !important;
        box-sizing: border-box !important;
        font-size: 20px !important;
    }
    .rrv3-dark-mode-icon,
    .rrv3-bell-btn .bell-icon,
    .bell-icon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 24px !important;
        height: 24px !important;
        font-size: 22px !important;
        line-height: 1 !important;
        transform: none !important;
    }
    .rrv3-bell-btn .bell-badge,
    .bell-badge {
        top: -4px !important;
        right: -4px !important;
        min-width: 18px !important;
        height: 18px !important;
        padding: 0 5px !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 10.5px !important;
        line-height: 18px !important;
        border: 2px solid var(--rr-navy, #1a365d);
    }
}

/* Mobile QA polish for pages, tabs, modals, and action bars */
@media (max-width: 760px) {
    .rrv3-dashboard {
        width: 100% !important;
        margin: 12px auto !important;
        padding: 0 10px !important;
        box-sizing: border-box;
    }
    .rrv3-section,
    .rrv3-tab-content,
    .rrv3-delivery-tab-content {
        padding: 14px !important;
        border-radius: 14px !important;
    }
    .rrv3-page-header {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
    .rrv3-page-header h1 {
        font-size: 22px !important;
        line-height: 1.2 !important;
        margin-bottom: 0 !important;
    }
    .rrv3-page-header .rrv3-button,
    .rrv3-form-actions .rrv3-button,
    .rrv3-actions .rrv3-button,
    .rrv3-actions-cell .rrv3-button {
        min-height: 40px;
    }
    .rrv3-tabs,
    .rrv3-delivery-tabs,
    .rrv3-admin-subtabs,
    .rrv3-sbu-subtabs,
    .rrv3-admin-module-tabs,
    .rrv3-sbu-module-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        gap: 4px !important;
        padding-bottom: 2px;
        scrollbar-width: thin;
    }
    .rrv3-tab-button,
    .rrv3-delivery-tab-button,
    .rrv3-admin-module-button,
    .rrv3-sbu-module-button {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
        min-height: 40px;
        padding: 9px 13px !important;
        font-size: 12px !important;
    }
    .rrv3-modal-content,
    .rrv3-modal-large .rrv3-modal-content {
        width: calc(100vw - 18px) !important;
        max-width: calc(100vw - 18px) !important;
        max-height: calc(100vh - 18px) !important;
        margin: 9px auto !important;
        overflow: auto !important;
        border-radius: 16px !important;
        box-sizing: border-box;
    }
    .rrv3-modal-close,
    .rrv3-drawer-close {
        min-width: 38px !important;
        min-height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 26px !important;
        line-height: 1 !important;
    }
    .rrv3-form-row,
    .rrv3-admin-row,
    .rrv3-details-grid,
    .rrv3-stats {
        grid-template-columns: 1fr !important;
        flex-direction: column !important;
    }
    .rrv3-button,
    button.rrv3-button,
    a.rrv3-button,
    .rrv3-button-secondary,
    .rrv3-button-danger {
        touch-action: manipulation;
    }
}

/* Header icon hardening for desktop + mobile live themes/cache plugins */
.rrv3-header .rrv3-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
}
.rrv3-header .rrv3-header-actions .rrv3-dark-mode-toggle,
.rrv3-header .rrv3-header-actions .rrv3-bell-btn,
.rrv3-header .rrv3-header-actions button.rrv3-dark-mode-toggle,
.rrv3-header .rrv3-header-actions button.rrv3-bell-btn {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
}
.rrv3-header .rrv3-header-actions .rrv3-dark-mode-icon,
.rrv3-header .rrv3-header-actions .bell-icon,
.rrv3-header .rrv3-header-actions .rrv3-bell-btn .bell-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    font-size: 23px !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.rrv3-header .rrv3-header-actions .bell-badge {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10.5px !important;
    line-height: 18px !important;
    border-radius: 999px !important;
    border: 2px solid var(--rr-navy, #1a365d) !important;
    box-sizing: border-box !important;
}

/* Generic DataTable field chooser + column resize tools */
.dataTables_filter {
    position: relative;
}
.rrv3-generic-field-btn {
    margin-left: 8px;
    white-space: nowrap;
}
.rrv3-generic-field-panel {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 6px;
    min-width: 210px;
    max-height: 330px;
    overflow-y: auto;
    padding: 8px;
    border-radius: 12px;
    border: 1px solid var(--rr-border, #cbd5e1);
    background: var(--rr-white, #fff);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .18);
    z-index: 9999;
    text-align: left;
}
.rrv3-generic-field-panel.is-open {
    display: block;
}
.rrv3-generic-field-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    border-radius: 8px;
    font-size: 12px;
    cursor: pointer;
    color: var(--rr-text, #1f2937);
}
.rrv3-generic-field-row:hover {
    background: var(--rr-bg, #f8fafc);
}
.rrv3-generic-field-row input {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: var(--rr-blue, #2563eb);
}
.rrv3-generic-field-reset {
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid var(--rr-border, #e2e8f0);
    text-align: center;
    line-height: 1.8;
}
.rrv3-generic-field-reset a {
    color: var(--rr-blue, #2563eb);
    font-size: 11.5px;
    font-weight: 700;
    text-decoration: none;
}
.rrv3-generic-field-reset a:hover {
    text-decoration: underline;
}
.rrv3-generic-resizable-table {
    table-layout: fixed;
}
.rrv3-generic-resizable-table th,
.rrv3-generic-resizable-table td {
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rrv3-generic-resizable-table .rrv3-col-resize-handle {
    position: absolute;
    top: 0;
    right: -4px;
    width: 10px;
    height: 100%;
    cursor: col-resize;
    z-index: 5;
    user-select: none;
}
.rrv3-generic-resizable-table .rrv3-col-resize-handle::after {
    content: '';
    position: absolute;
    top: 20%;
    right: 3px;
    width: 2px;
    height: 60%;
    border-radius: 999px;
    background: transparent;
    transition: background .15s ease;
}
.rrv3-generic-resizable-table th:hover .rrv3-col-resize-handle::after,
body.rrv3-column-resizing .rrv3-generic-resizable-table .rrv3-col-resize-handle::after {
    background: var(--rr-blue, #2563eb);
}

@media (max-width: 520px) {
    .rrv3-header-report-issue-btn {
        min-height: 36px;
        padding: 0 10px;
        font-size: 11px;
    }
}

/* 1307-07: Dark mode contrast hardening */
html.rrv3-dark-mode .rrv3-table tr,
html.rrv3-dark-mode .rrv3-table td,
html.rrv3-dark-mode .dataTables_wrapper,
html.rrv3-dark-mode .dataTables_wrapper label,
html.rrv3-dark-mode .dataTables_info,
html.rrv3-dark-mode .rrv3-form-group label,
html.rrv3-dark-mode .rrv3-kv label,
html.rrv3-dark-mode .rrv3-cwr-kv label {
    color: #e5e7eb !important;
}
html.rrv3-dark-mode .rrv3-card,
html.rrv3-dark-mode .rrv3-stat-box,
html.rrv3-dark-mode .rrv3-notif-card,
html.rrv3-dark-mode .rrv3-delivery-stat-card,
html.rrv3-dark-mode .rrv3-purchasing-card-field,
html.rrv3-dark-mode .rrv3-purchasing-doc-card,
html.rrv3-dark-mode .rrv3-cwr-review-section,
html.rrv3-dark-mode .rrv3-cwr-text-block,
html.rrv3-dark-mode .rrv3-cwr-selected-so-card {
    background: #111827 !important;
    color: #e5e7eb !important;
    border-color: #334155 !important;
}
html.rrv3-dark-mode .rrv3-field-hint,
html.rrv3-dark-mode small,
html.rrv3-dark-mode .dataTables_length,
html.rrv3-dark-mode .dataTables_filter,
html.rrv3-dark-mode .dataTables_paginate {
    color: #cbd5e1 !important;
}
html.rrv3-dark-mode .rrv3-button-secondary,
html.rrv3-dark-mode a.rrv3-button-secondary,
html.rrv3-dark-mode button.rrv3-button-secondary {
    background: #1f2937 !important;
    color: #f8fafc !important;
    border-color: #475569 !important;
}
html.rrv3-dark-mode .rrv3-info-box,
html.rrv3-dark-mode .rrv3-instructions {
    background: #0b2a4a !important;
    color: #e0f2fe !important;
    border-color: #2563eb !important;
}
html.rrv3-dark-mode input::placeholder,
html.rrv3-dark-mode textarea::placeholder {
    color: #94a3b8 !important;
}

/* Table action buttons must remain visible when columns are resized.
   Action columns can now wrap instead of forcing one long horizontal line. */
.rrv3-table .actions-cell,
.rrv3-actions-cell,
.rrv3-table td[data-label="Action"],
.rrv3-table td[data-label="Actions"],
.rrv3-table td[data-so-col="actions"] {
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    vertical-align: top !important;
}
.rrv3-table .actions-cell .rrv3-button,
.rrv3-table .actions-cell .rrv3-button-delete,
.rrv3-table .actions-cell button,
.rrv3-table .actions-cell a,
.rrv3-actions-cell .rrv3-button,
.rrv3-actions-cell .rrv3-button-delete,
.rrv3-actions-cell button,
.rrv3-actions-cell a,
.rrv3-table td[data-label="Action"] .rrv3-button,
.rrv3-table td[data-label="Action"] .rrv3-button-delete,
.rrv3-table td[data-label="Action"] button,
.rrv3-table td[data-label="Action"] a,
.rrv3-table td[data-label="Actions"] .rrv3-button,
.rrv3-table td[data-label="Actions"] .rrv3-button-delete,
.rrv3-table td[data-label="Actions"] button,
.rrv3-table td[data-label="Actions"] a,
.rrv3-table td[data-so-col="actions"] .rrv3-button,
.rrv3-table td[data-so-col="actions"] .rrv3-button-delete,
.rrv3-table td[data-so-col="actions"] button,
.rrv3-table td[data-so-col="actions"] a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.25;
    margin: 2px 4px 2px 0 !important;
    vertical-align: top !important;
}
.rrv3-actions-column-header {
    white-space: normal !important;
}

/* 2007-12: Universal file picker + drag/drop upload box */
.rrv3-file-drop-wrap {
    position: relative;
    width: 100%;
}
.rrv3-enhanced-file-input {
    position: absolute !important;
    left: -99999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.rrv3-file-drop-zone {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "icon title" "icon hint" "icon name";
    gap: 2px 10px;
    align-items: center;
    padding: 12px 14px;
    border: 2px dashed #93c5fd;
    border-radius: 14px;
    background: #f8fbff;
    color: #0f172a;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.rrv3-file-drop-zone:hover,
.rrv3-file-drop-zone:focus,
.rrv3-file-drop-zone.is-dragover {
    border-color: #2563eb;
    background: #eff6ff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
    outline: none;
}
.rrv3-file-drop-zone.is-disabled {
    opacity: .6;
    cursor: not-allowed;
}
.rrv3-file-drop-icon { grid-area: icon; font-size: 24px; }
.rrv3-file-drop-title { grid-area: title; font-weight: 900; font-size: 13px; }
.rrv3-file-drop-hint { grid-area: hint; color: #64748b; font-size: 11.5px; line-height: 1.35; }
.rrv3-file-drop-name {
    grid-area: name;
    margin-top: 3px;
    color: #475569;
    font-size: 11.5px;
    font-weight: 700;
    word-break: break-word;
}
.rrv3-file-drop-name.has-file { color: #166534; }
html.rrv3-dark-mode .rrv3-file-drop-zone {
    background: #0f172a;
    border-color: #334155;
    color: #e2e8f0;
}
html.rrv3-dark-mode .rrv3-file-drop-zone:hover,
html.rrv3-dark-mode .rrv3-file-drop-zone:focus,
html.rrv3-dark-mode .rrv3-file-drop-zone.is-dragover {
    background: #172554;
    border-color: #60a5fa;
}
html.rrv3-dark-mode .rrv3-file-drop-hint,
html.rrv3-dark-mode .rrv3-file-drop-name {
    color: #94a3b8;
}
html.rrv3-dark-mode .rrv3-file-drop-name.has-file { color: #bbf7d0; }

/* Chunk 0708-01: P.E.T. identification pre-screen statuses */
.status-pending-p-e-t-identification,
.status-unidentified-pending-p-e-t-identification {
    background-color: #f59e0b;
    color: #111827 !important;
}
.status-need-more-info-from-requester {
    background-color: #f97316;
    color: #ffffff !important;
}
.status-identified-by-p-e-t {
    background-color: #2563eb;
    color: #ffffff !important;
}


/* ==========================================================================
   ULTRA GLASS & MIRROR FINISH DESIGN SYSTEM (GLOBAL GLASSMORPHISM)
   ========================================================================== */

:root {
    --rr-glass-bg: rgba(255, 255, 255, 0.72);
    --rr-glass-bg-subtle: rgba(255, 255, 255, 0.55);
    --rr-glass-bg-header: rgba(0, 40, 85, 0.88);
    --rr-glass-border: rgba(255, 255, 255, 0.65);
    --rr-glass-border-subtle: rgba(226, 232, 240, 0.6);
    --rr-glass-border-dark: rgba(255, 255, 255, 0.15);
    --rr-glass-blur: 14px;
    --rr-glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.08);
    --rr-glass-shadow-hover: 0 12px 40px 0 rgba(31, 38, 135, 0.14);
    --rr-glass-specular: inset 0 1px 1px 0 rgba(255, 255, 255, 0.85), inset 0 -1px 1px 0 rgba(0, 0, 0, 0.03);
}

/* Glassy Ambient Mesh Background */
body, body.page-template-template-rrv3 {
    background-color: #f1f5f9 !important;
    background-image: 
        radial-gradient(at 0% 0%, rgba(0, 136, 255, 0.07) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(99, 102, 241, 0.08) 0px, transparent 50%),
        radial-gradient(at 100% 100%, rgba(14, 165, 233, 0.08) 0px, transparent 50%),
        radial-gradient(at 0% 100%, rgba(129, 140, 248, 0.07) 0px, transparent 50%) !important;
    background-attachment: fixed !important;
}

/* Glass Header with Specular Reflection */
.rrv3-header {
    background: var(--rr-glass-bg-header) !important;
    backdrop-filter: blur(var(--rr-glass-blur)) saturate(180%) !important;
    -webkit-backdrop-filter: blur(var(--rr-glass-blur)) saturate(180%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 4px 24px rgba(0, 20, 50, 0.25), inset 0 1px 1px 0 rgba(255, 255, 255, 0.2) !important;
}

/* Glass Cards & Sections */
.rrv3-card,
.rrv3-section,
.rrv3-panel,
.rrv3-flow-section,
.rrv3-form-card,
.rrv3-stats-card,
.rrv3-table-wrap,
.rrv3-cwr-card,
.rrv3-sales-card,
.rrv3-tasks-card {
    background: var(--rr-glass-bg) !important;
    backdrop-filter: blur(var(--rr-glass-blur)) saturate(160%) !important;
    -webkit-backdrop-filter: blur(var(--rr-glass-blur)) saturate(160%) !important;
    border: 1px solid var(--rr-glass-border) !important;
    box-shadow: var(--rr-glass-shadow), var(--rr-glass-specular) !important;
    border-radius: 12px !important;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s ease !important;
}

.rrv3-card:hover,
.rrv3-flow-section:hover,
.rrv3-stats-card:hover {
    box-shadow: var(--rr-glass-shadow-hover), inset 0 1px 2px 0 rgba(255, 255, 255, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.9) !important;
}

/* Glass Tabs & Floating Navbars */
.rrv3-nav-tabs,
.rrv3-tabs-bar,
.rrv3-candidate-fullview-sticky-header,
.rrv3-action-bar {
    background: var(--rr-glass-bg-subtle) !important;
    backdrop-filter: blur(var(--rr-glass-blur)) saturate(180%) !important;
    -webkit-backdrop-filter: blur(var(--rr-glass-blur)) saturate(180%) !important;
    border: 1px solid var(--rr-glass-border) !important;
    box-shadow: var(--rr-glass-shadow), var(--rr-glass-specular) !important;
    border-radius: 12px !important;
}

/* Glass Modals & Dialog Windows */
.rrv3-modal-content,
.rrv3-modal-box,
.rrv3-dialog-window,
.rrv3-drawer-inner {
    background: rgba(255, 255, 255, 0.82) !important;
    backdrop-filter: blur(20px) saturate(190%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(190%) !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18), inset 0 1px 2px 0 rgba(255, 255, 255, 1) !important;
    border-radius: 16px !important;
}

.rrv3-modal-header,
.rrv3-drawer-header {
    background: rgba(248, 250, 252, 0.65) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.rrv3-modal-footer,
.rrv3-drawer-footer {
    background: rgba(248, 250, 252, 0.65) !important;
    border-top: 1px solid rgba(226, 232, 240, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* Glass Inputs & Controls */
.rrv3-input,
.rrv3-select,
.rrv3-textarea,
input[type="text"].rrv3-input,
input[type="number"].rrv3-input,
select.rrv3-select {
    background: rgba(255, 255, 255, 0.75) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(203, 213, 225, 0.8) !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.15s ease !important;
}

.rrv3-input:focus,
.rrv3-select:focus,
.rrv3-textarea:focus {
    background: rgba(255, 255, 255, 0.95) !important;
    border-color: #0088ff !important;
    box-shadow: 0 0 0 3px rgba(0, 136, 255, 0.15), inset 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}

/* Glass Tables */
.rrv3-table thead th {
    background: rgba(212, 237, 252, 0.75) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-bottom: 2px solid rgba(186, 230, 253, 0.9) !important;
}

.rrv3-table tbody tr {
    background: rgba(255, 255, 255, 0.45) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.rrv3-table tbody tr:nth-child(even) {
    background: rgba(248, 250, 252, 0.55) !important;
}

.rrv3-table tbody tr:hover {
    background: rgba(230, 244, 255, 0.8) !important;
}

/* Glass Buttons with Specular Edge */
.rrv3-btn-primary {
    background: linear-gradient(135deg, #0088ff 0%, #0055cc 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 4px 14px rgba(0, 136, 255, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.4) !important;
}

.rrv3-btn-primary:hover {
    box-shadow: 0 6px 20px rgba(0, 136, 255, 0.45), inset 0 1px 1px rgba(255, 255, 255, 0.6) !important;
    transform: translateY(-1px) !important;
}

.rrv3-btn-secondary,
.rrv3-btn-default {
    background: rgba(255, 255, 255, 0.75) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(203, 213, 225, 0.85) !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04), inset 0 1px 1px rgba(255, 255, 255, 0.9) !important;
}

.rrv3-btn-secondary:hover,
.rrv3-btn-default:hover {
    background: rgba(255, 255, 255, 0.95) !important;
    border-color: #0088ff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), inset 0 1px 1px rgba(255, 255, 255, 1) !important;
    transform: translateY(-1px) !important;
}

/* Dark Mode Glass Overrides */
html.rrv3-dark-mode body,
html.rrv3-dark-mode body.page-template-template-rrv3 {
    background-color: #0b1329 !important;
    background-image: 
        radial-gradient(at 0% 0%, rgba(2, 132, 199, 0.12) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(99, 102, 241, 0.12) 0px, transparent 50%),
        radial-gradient(at 100% 100%, rgba(14, 165, 233, 0.10) 0px, transparent 50%),
        radial-gradient(at 0% 100%, rgba(56, 189, 248, 0.10) 0px, transparent 50%) !important;
}

html.rrv3-dark-mode .rrv3-card,
html.rrv3-dark-mode .rrv3-section,
html.rrv3-dark-mode .rrv3-panel,
html.rrv3-dark-mode .rrv3-flow-section,
html.rrv3-dark-mode .rrv3-form-card,
html.rrv3-dark-mode .rrv3-stats-card,
html.rrv3-dark-mode .rrv3-table-wrap,
html.rrv3-dark-mode .rrv3-cwr-card,
html.rrv3-dark-mode .rrv3-sales-card,
html.rrv3-dark-mode .rrv3-tasks-card {
    background: rgba(15, 23, 42, 0.72) !important;
    backdrop-filter: blur(var(--rr-glass-blur)) saturate(180%) !important;
    -webkit-backdrop-filter: blur(var(--rr-glass-blur)) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.35), inset 0 1px 1px 0 rgba(255, 255, 255, 0.15) !important;
}

html.rrv3-dark-mode .rrv3-modal-content,
html.rrv3-dark-mode .rrv3-modal-box,
html.rrv3-dark-mode .rrv3-dialog-window,
html.rrv3-dark-mode .rrv3-drawer-inner {
    background: rgba(15, 23, 42, 0.85) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), inset 0 1px 2px 0 rgba(255, 255, 255, 0.2) !important;
}

html.rrv3-dark-mode .rrv3-input,
html.rrv3-dark-mode .rrv3-select,
html.rrv3-dark-mode .rrv3-textarea {
    background: rgba(15, 23, 42, 0.65) !important;
    border-color: rgba(51, 65, 85, 0.8) !important;
    color: #f1f5f9 !important;
}

html.rrv3-dark-mode .rrv3-table thead th {
    background: rgba(12, 74, 110, 0.75) !important;
    border-bottom: 2px solid rgba(3, 105, 161, 0.8) !important;
}

html.rrv3-dark-mode .rrv3-table tbody tr {
    background: rgba(30, 41, 59, 0.45) !important;
}

html.rrv3-dark-mode .rrv3-table tbody tr:nth-child(even) {
    background: rgba(15, 23, 42, 0.55) !important;
}

html.rrv3-dark-mode .rrv3-table tbody tr:hover {
    background: rgba(14, 116, 144, 0.4) !important;
}
