
        .prh-container {
            max-width: 1400px;
            margin: 0 auto;
            width: 100%;
        }

        .prh-container .fi-section,
        .prh-container .fi-section-content,
        .prh-container .fi-section-content-ctn {
            width: 100%;
        }

        .prh-toolbar {
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.65rem;
            flex-wrap: wrap;
        }

        .prh-search-shell {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            border: 1px solid #dbe4f0;
            border-radius: 1rem;
            background: #ffffff;
            padding: 0.42rem 0.58rem;
            box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
            flex: 1 1 340px;
            min-width: 260px;
        }

        .dark .prh-search-shell {
            background: #0f172a;
            border-color: #334155;
            box-shadow: none;
        }

        .prh-search-icon {
            width: 1.15rem;
            height: 1.15rem;
            color: #64748b;
            flex-shrink: 0;
        }

        .dark .prh-search-icon {
            color: #94a3b8;
        }

        .prh-search {
            width: 100%;
            padding: 0.46rem 0.25rem;
            border-radius: 0;
            border: none;
            background: transparent;
            color: #0f172a;
            font-weight: 600;
            font-size: 0.88rem;
        }

        .prh-search:focus {
            outline: none;
            box-shadow: none;
        }

        .dark .prh-search {
            background: #0f172a;
            border-color: #334155;
            color: #f8fafc;
        }

        .prh-search-clear {
            border: 1px solid #fecaca;
            background: #fff1f2;
            color: #be123c;
            border-radius: 0.65rem;
            height: 1.85rem;
            min-width: 1.85rem;
            padding: 0 0.55rem;
            font-weight: 800;
            font-size: 0.74rem;
            cursor: pointer;
        }

        .prh-search-clear:hover {
            background: #ffe4e6;
        }

        .dark .prh-search-clear {
            border-color: rgba(251, 113, 133, 0.35);
            background: rgba(190, 24, 93, 0.14);
            color: #fda4af;
        }

        .dark .prh-search-clear:hover {
            background: rgba(190, 24, 93, 0.2);
        }

        .prh-date-shell {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            border: 1px solid #dbe4f0;
            border-radius: 0.9rem;
            background: #ffffff;
            padding: 0.35rem 0.45rem;
            box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
            flex: 0 1 auto;
        }

        .dark .prh-date-shell {
            background: #0f172a;
            border-color: #334155;
            box-shadow: none;
        }

        .prh-date-input {
            height: 1.9rem;
            padding: 0.2rem 0.55rem;
            border: 1px solid #cbd5e1;
            border-radius: 0.55rem;
            background: #f8fafc;
            color: #0f172a;
            font-size: 0.78rem;
            font-weight: 700;
            min-width: 165px;
            cursor: pointer;
        }
        .prh-date-input[type='date'] {
            appearance: none;
            -webkit-appearance: none;
        }
        .prh-date-input[type='date']::-webkit-calendar-picker-indicator {
            cursor: pointer;
            opacity: 0.8;
        }

        .dark .prh-date-input {
            background: #111827;
            border-color: #475569;
            color: #f8fafc;
        }

        .prh-date-input:focus {
            outline: none;
            border-color: #3b82f6;
            box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.14);
        }

        .prh-date-reset {
            border: 1px solid #dbe4f0;
            background: #f8fafc;
            color: #475569;
            border-radius: 0.8rem;
            padding: 0.55rem 1rem;
            font-size: 0.84rem;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .prh-date-reset:hover {
            background: #eff6ff;
            color: #1e40af;
            border-color: #bfdbfe;
        }

        .dark .prh-date-reset {
            background: #1e293b;
            border-color: #334155;
            color: #cbd5e1;
        }

        .dark .prh-date-reset:hover {
            background: #1e3a8a;
            border-color: #2563eb;
            color: #dbeafe;
        }



        .prh-date-input::placeholder {
            color: #94a3b8;
        }

        .flatpickr-calendar {
            background: #ffffff !important;
            border: 1px solid #dbe4f0 !important;
            border-radius: 0.9rem !important;
            box-shadow: 0 14px 34px rgba(15, 23, 42, 0.14) !important;
            width: 280px !important;
            font-size: 0.82rem !important;
        }

        .dark .flatpickr-calendar {
            background: #0f172a !important;
            border-color: #334155 !important;
            box-shadow: 0 16px 36px rgba(2, 6, 23, 0.5) !important;
        }

        .flatpickr-months {
            padding: 0.35rem 0.35rem 0 !important;
        }

        .flatpickr-months .flatpickr-month {
            height: 38px !important;
        }

        .flatpickr-current-month {
            font-size: 0.83rem !important;
            padding-top: 4px !important;
            display: inline-flex !important;
            align-items: center;
            gap: 0.35rem;
        }

        .flatpickr-current-month .flatpickr-monthDropdown-months {
            appearance: none !important;
            -webkit-appearance: none !important;
            height: 1.7rem !important;
            border: 1px solid #bfdbfe !important;
            border-radius: 0.45rem !important;
            padding: 0 1.5rem 0 0.55rem !important;
            font-weight: 800 !important;
            font-size: 0.82rem !important;
            color: #0f172a !important;
            background: #eff6ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231e3a8a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.4rem center !important;
            cursor: pointer;
            outline: none !important;
            line-height: 1.7rem !important;
        }

        .flatpickr-current-month .flatpickr-monthDropdown-months:focus {
            border-color: #3b82f6 !important;
            box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.18) !important;
        }

        .flatpickr-current-month .flatpickr-monthDropdown-months option {
            background: #ffffff !important;
            color: #0f172a !important;
            font-weight: 600 !important;
        }

        .flatpickr-current-month input.cur-year {
            font-weight: 800 !important;
            color: #0f172a !important;
        }

        .flatpickr-current-month .numInputWrapper {
            position: relative;
            width: 4.4rem;
            height: 1.7rem;
            border: 1px solid #bfdbfe;
            border-radius: 0.45rem;
            background: #eff6ff;
            overflow: hidden;
        }

        .flatpickr-current-month input.cur-year {
            height: 100% !important;
            color: #0f172a !important;
            font-weight: 800 !important;
            font-size: 0.78rem !important;
            padding-right: 1.05rem !important;
            padding-left: 0.35rem !important;
        }

        .flatpickr-current-month .numInputWrapper span {
            opacity: 1 !important;
            border: 0 !important;
            width: 1.05rem !important;
            right: 0 !important;
            cursor: pointer;
            border-radius: 0 !important;
            transition: background-color 0.18s ease;
            background: rgba(191, 219, 254, 0.45) !important;
        }

        .flatpickr-current-month .numInputWrapper span.arrowUp {
            top: 0 !important;
            border-left: 1px solid #93c5fd !important;
            border-bottom: 1px solid #93c5fd !important;
        }

        .flatpickr-current-month .numInputWrapper span.arrowDown {
            top: 50% !important;
            border-left: 1px solid #93c5fd !important;
        }

        .flatpickr-current-month .numInputWrapper span:hover {
            background: #dbeafe !important;
        }

        .flatpickr-current-month .numInputWrapper span.arrowUp:after {
            border-left-width: 3.5px !important;
            border-right-width: 3.5px !important;
            border-bottom-width: 5.5px !important;
            border-bottom-color: #1e3a8a !important;
            margin-top: -1px !important;
        }

        .flatpickr-current-month .numInputWrapper span.arrowDown:after {
            border-left-width: 3.5px !important;
            border-right-width: 3.5px !important;
            border-top-width: 5.5px !important;
            border-top-color: #1e3a8a !important;
            margin-top: 1px !important;
        }

        /* Dark mode — month dropdown */
        .dark .flatpickr-current-month .flatpickr-monthDropdown-months {
            color: #f1f5f9 !important;
            background: rgba(30, 41, 59, 0.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2393c5fd' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.4rem center !important;
            border-color: rgba(96, 165, 250, 0.42) !important;
        }

        .dark .flatpickr-current-month .flatpickr-monthDropdown-months:focus {
            border-color: #60a5fa !important;
            box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.18) !important;
        }

        .dark .flatpickr-current-month .flatpickr-monthDropdown-months option {
            background: #1e293b !important;
            color: #f1f5f9 !important;
            font-weight: 600 !important;
        }

        .dark .flatpickr-current-month input.cur-year {
            color: #f8fafc !important;
        }

        .dark .flatpickr-current-month .numInputWrapper {
            border-color: rgba(96, 165, 250, 0.42);
            background: rgba(59, 130, 246, 0.18);
        }

        .dark .flatpickr-current-month .numInputWrapper span {
            background: rgba(96, 165, 250, 0.22) !important;
        }

        .dark .flatpickr-current-month .numInputWrapper span.arrowUp {
            border-left-color: rgba(96, 165, 250, 0.4) !important;
            border-bottom-color: rgba(96, 165, 250, 0.4) !important;
        }

        .dark .flatpickr-current-month .numInputWrapper span.arrowDown {
            border-left-color: rgba(96, 165, 250, 0.4) !important;
        }

        .dark .flatpickr-current-month .numInputWrapper span:hover {
            background: rgba(96, 165, 250, 0.35) !important;
        }

        .dark .flatpickr-current-month .numInputWrapper span.arrowUp:after {
            border-bottom-color: #93c5fd !important;
        }

        .dark .flatpickr-current-month .numInputWrapper span.arrowDown:after {
            border-top-color: #93c5fd !important;
        }

        .flatpickr-prev-month,
        .flatpickr-next-month {
            width: 1.25rem !important;
            height: 1.25rem !important;
            border-radius: 0 !important;
            border: 0 !important;
            background: transparent !important;
            color: #1e3a8a !important;
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            top: 5px !important;
            transition: color 0.18s ease;
        }

        .flatpickr-prev-month:hover,
        .flatpickr-next-month:hover {
            background: transparent !important;
            color: #1d4ed8 !important;
        }

        .dark .flatpickr-prev-month,
        .dark .flatpickr-next-month {
            color: #93c5fd !important;
        }

        .dark .flatpickr-prev-month:hover,
        .dark .flatpickr-next-month:hover {
            color: #bfdbfe !important;
        }

        .flatpickr-prev-month svg,
        .flatpickr-next-month svg,
        .flatpickr-prev-month svg *,
        .flatpickr-next-month svg * {
            fill: currentColor !important;
            stroke: currentColor !important;
            stroke-width: 1.4px !important;
        }

        .flatpickr-weekday {
            color: #64748b !important;
            font-size: 0.67rem !important;
            font-weight: 800 !important;
        }

        .dark .flatpickr-weekday {
            color: #94a3b8 !important;
        }

        .flatpickr-day {
            border-radius: 0.55rem !important;
            color: #0f172a !important;
            font-weight: 700 !important;
        }

        .dark .flatpickr-day {
            color: #f8fafc !important;
        }

        .flatpickr-day:hover {
            background: #eff6ff !important;
            border-color: #bfdbfe !important;
        }

        .dark .flatpickr-day:hover {
            background: rgba(59, 130, 246, 0.18) !important;
            border-color: rgba(96, 165, 250, 0.3) !important;
        }

        .flatpickr-day.selected,
        .flatpickr-day.startRange,
        .flatpickr-day.endRange {
            background: #2563eb !important;
            border-color: #2563eb !important;
            color: #ffffff !important;
        }

        .dark .flatpickr-day.selected,
        .dark .flatpickr-day.startRange,
        .dark .flatpickr-day.endRange {
            background: #60a5fa !important;
            border-color: #60a5fa !important;
            color: #0f172a !important;
        }

        .prh-list {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
            width: 100%;
        }

        /* ── PR Row card ── */
        .prh-row {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-left: 4px solid #6366f1;
            border-radius: 1rem;
            padding: 1rem 1.25rem;
            display: grid;
            grid-template-columns: auto 1fr auto;
            gap: 1rem;
            align-items: center;
            box-shadow: 0 1px 4px rgba(15,23,42,.04);
            transition: box-shadow .18s, transform .18s;
        }
        .prh-row:hover {
            box-shadow: 0 6px 18px rgba(99,102,241,.12);
            transform: translateY(-1px);
        }
        .dark .prh-row {
            background: #1e293b;
            border-color: #334155;
            border-left-color: #818cf8;
        }
        .prh-row-icon {
            width: 2.6rem;
            height: 2.6rem;
            border-radius: 0.75rem;
            background: #ede9fe;
            color: #6d28d9;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .dark .prh-row-icon {
            background: rgba(139,92,246,.2);
            color: #c4b5fd;
        }
        .prh-row-icon svg { width: 1.2rem; height: 1.2rem; }
        .prh-row-body { min-width: 0; }
        .prh-row-top {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            flex-wrap: wrap;
            margin-bottom: 0.35rem;
        }
        .prh-title {
            font-weight: 800;
            color: #4f46e5;
            font-size: 0.97rem;
            line-height: 1.3;
        }
        .dark .prh-title { color: #818cf8; }
        .prh-title-sub {
            font-size: 0.82rem;
            font-weight: 600;
            color: #64748b;
        }
        .dark .prh-title-sub { color: #94a3b8; }
        .prh-meta-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem 1.25rem;
            margin-top: 0.25rem;
        }
        .prh-meta-item {
            display: flex;
            align-items: center;
            gap: 0.3rem;
            font-size: 0.78rem;
            color: #64748b;
            font-weight: 600;
        }
        .dark .prh-meta-item { color: #94a3b8; }
        .prh-meta-item svg { width: 0.85rem; height: 0.85rem; flex-shrink: 0; }
        .prh-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.28rem;
            padding: 0.22rem 0.65rem;
            border-radius: 999px;
            font-size: 0.72rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.03em;
        }
        .prh-badge-dot {
            width: 0.4rem;
            height: 0.4rem;
            border-radius: 50%;
            flex-shrink: 0;
        }
        .prh-badge-warning { background:#fffbeb; color:#92400e; border:1px solid #fde68a; }
        .prh-badge-warning .prh-badge-dot { background: #f59e0b; }
        .prh-badge-danger  { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
        .prh-badge-danger .prh-badge-dot  { background: #ef4444; }
        .prh-badge-success { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
        .prh-badge-success .prh-badge-dot { background: #10b981; }
        .prh-badge-info    { background:#eff6ff; color:#1e40af; border:1px solid #bfdbfe; }
        .prh-badge-info .prh-badge-dot    { background: #3b82f6; }
        .prh-badge-gray    { background:#f8fafc; color:#475569; border:1px solid #e2e8f0; }
        .prh-badge-gray .prh-badge-dot    { background: #9ca3af; }
        .dark .prh-badge-warning { background:rgba(245,158,11,.12); color:#fbbf24; border-color:rgba(245,158,11,.25); }
        .dark .prh-badge-danger  { background:rgba(239,68,68,.12); color:#f87171; border-color:rgba(239,68,68,.25); }
        .dark .prh-badge-success { background:rgba(16,185,129,.12); color:#34d399; border-color:rgba(16,185,129,.25); }
        .dark .prh-badge-info    { background:rgba(59,130,246,.12); color:#60a5fa; border-color:rgba(59,130,246,.25); }
        .dark .prh-badge-gray    { background:rgba(107,114,128,.12); color:#d1d5db; border-color:rgba(107,114,128,.25); }
        .prh-detail-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            border: none;
            background: linear-gradient(135deg, #4f46e5, #7c3aed);
            color: #ffffff;
            border-radius: 0.75rem;
            padding: 0.55rem 1rem;
            font-weight: 700;
            font-size: 0.82rem;
            cursor: pointer;
            white-space: nowrap;
            transition: all .18s;
            flex-shrink: 0;
        }
        .prh-detail-btn svg { width: 0.8rem; height: 0.8rem; }
        .prh-detail-btn:hover {
            background: linear-gradient(135deg, #4338ca, #6d28d9);
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(79,70,229,.35);
        }

        .prh-empty {
            border: 1px dashed #cbd5e1;
            border-radius: 1rem;
            padding: 2.4rem 1.2rem;
            min-height: clamp(360px, 58vh, 620px);
            width: 100%;
            text-align: center;
            color: #64748b;
            font-weight: 600;
            background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .dark .prh-empty {
            border-color: #475569;
            color: #94a3b8;
            background: linear-gradient(180deg, #0f172a 0%, #111827 100%);
        }

        .prh-empty-icon-wrap {
            width: 5rem;
            height: 5rem;
            border-radius: 999px;
            margin: 0 auto 1rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #eff6ff;
            color: #1e40af;
        }

        .dark .prh-empty-icon-wrap {
            background: rgba(59, 130, 246, 0.18);
            color: #93c5fd;
        }

        .prh-empty-title {
            font-size: 1.2rem;
            font-weight: 800;
            color: #0f172a;
        }

        .dark .prh-empty-title {
            color: #f8fafc;
        }

        .prh-empty-text {
            margin-top: 0.45rem;
            font-size: 0.95rem;
            max-width: 640px;
            line-height: 1.5;
            color: #64748b;
        }

        .dark .prh-empty-text {
            color: #94a3b8;
        }

        /* ── Modal overlay ── */
        .prh-modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(2,6,23,0.6);
            backdrop-filter: blur(4px);
            z-index: 10000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.5rem 1rem;
            overflow: hidden;
            overscroll-behavior: contain;
        }
        .prh-modal-overlay-full {
            align-items: stretch;
            justify-content: stretch;
            padding: 0;
            overflow: hidden;
            backdrop-filter: blur(6px);
        }
        .prh-modal {
            width: 100%;
            max-width: 860px;
            background: #ffffff;
            border-radius: 1.25rem;
            overflow: hidden;
            box-shadow: 0 25px 60px rgba(2,6,23,.28);
            display: flex;
            flex-direction: column;
            animation: prhSlideUp .25s cubic-bezier(.22,1,.36,1);
        }
        @keyframes prhSlideUp {
            from { transform: translateY(1.5rem); opacity:0; }
            to   { transform: translateY(0);      opacity:1; }
        }
        .dark .prh-modal {
            background: #1e293b;
            box-shadow: 0 25px 60px rgba(0,0,0,.55);
        }
        /* Modal header */
        .prh-modal-header {
            padding: 1.1rem 1.5rem;
            background: linear-gradient(135deg,#312e81 0%,#4f46e5 55%,#7c3aed 100%);
            color: #ffffff;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 1rem;
            flex-shrink: 0;
        }
        .prh-modal-header-left {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            min-width: 0;
        }
        .prh-modal-header-icon {
            width: 2.2rem;
            height: 2.2rem;
            border-radius: 0.6rem;
            background: rgba(255,255,255,.15);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .prh-modal-header-icon svg { width:1.1rem; height:1.1rem; }
        .prh-modal-title { font-size:1.05rem; font-weight:800; }
        .prh-modal-subtitle { font-size:0.78rem; opacity:0.8; margin-top:0.1rem; font-weight:600; }
        .prh-modal-header-actions {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }
        .prh-modal-full-toggle,
        .prh-close {
            width: 2rem;
            height: 2rem;
            border: 1.5px solid rgba(255,255,255,.35);
            background: rgba(255,255,255,.12);
            color: #fff;
            border-radius: 0.55rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: background .15s;
        }
        .prh-modal-full-toggle:hover,
        .prh-close:hover { background: rgba(255,255,255,.25); }
        .prh-modal-full-toggle svg,
        .prh-close svg { width:1rem; height:1rem; }
        /* Modal body */
        .prh-modal-body {
            padding: 1.25rem 1.5rem 1.5rem;
            overflow-y: auto;
            max-height: calc(90vh - 70px);
            background: #f1f5f9;
        }
        .dark .prh-modal-body { background: #0f172a; }
        .prh-modal-footer {
            padding: 0.8rem 1.5rem 1rem;
            border-top: 1px solid #dbe4f0;
            background: #ffffff;
            display: flex;
            justify-content: flex-end;
            flex-shrink: 0;
        }
        .dark .prh-modal-footer {
            border-top-color: #334155;
            background: #1e293b;
        }
        .prh-modal-footer-close {
            border: 1px solid #cbd5e1;
            background: #f8fafc;
            color: #334155;
            border-radius: 0.75rem;
            padding: 0.52rem 1rem;
            font-size: 0.82rem;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .prh-modal-footer-close:hover {
            background: #eff6ff;
            color: #1e40af;
            border-color: #bfdbfe;
        }
        .dark .prh-modal-footer-close {
            border-color: #475569;
            background: #0f172a;
            color: #cbd5e1;
        }
        .dark .prh-modal-footer-close:hover {
            border-color: #60a5fa;
            color: #dbeafe;
            background: #1e3a8a;
        }
        .prh-modal-fullscreen {
            position: fixed;
            inset: 0;
            width: 100vw;
            max-width: none;
            min-height: 100vh;
            max-height: 100vh;
            border-radius: 0;
            margin: 0;
            box-shadow: none;
            overflow: hidden;
        }
        .prh-modal-fullscreen .prh-modal-body {
            max-height: calc(100vh - 132px);
            flex: 1;
        }
        /* Steps timeline */
        .prh-steps-list {
            display: flex;
            flex-direction: column;
            gap: 0;
            position: relative;
        }
        .prh-steps-list::before {
            content: '';
            position: absolute;
            left: 1.35rem;
            top: 1.5rem;
            bottom: 1.5rem;
            width: 2px;
            background: linear-gradient(180deg,#6366f1,#a78bfa);
            border-radius: 2px;
        }
        .prh-step {
            display: flex;
            gap: 1rem;
            padding: 0.6rem 0;
            position: relative;
        }
        .prh-step-num {
            width: 2.7rem;
            height: 2.7rem;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.82rem;
            font-weight: 800;
            color: #fff;
            flex-shrink: 0;
            z-index: 1;
            box-shadow: 0 0 0 3px #f1f5f9;
        }
        .dark .prh-step-num { box-shadow: 0 0 0 3px #0f172a; }
        .prh-step-num-success { background: linear-gradient(135deg,#059669,#0d9488); }
        .prh-step-num-danger  { background: linear-gradient(135deg,#dc2626,#e11d48); }
        .prh-step-num-warning { background: linear-gradient(135deg,#d97706,#b45309); }
        .prh-step-num-info    { background: linear-gradient(135deg,#2563eb,#3b82f6); }
        .prh-step-num-gray    { background: linear-gradient(135deg,#64748b,#475569); }
        .prh-step-card {
            flex: 1;
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 0.9rem;
            padding: 0.85rem 1rem;
            margin-bottom: 0.5rem;
            box-shadow: 0 1px 3px rgba(15,23,42,.05);
        }
        .dark .prh-step-card {
            background: #1e293b;
            border-color: #334155;
        }
        .prh-step-card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.5rem;
            flex-wrap: wrap;
            margin-bottom: 0.5rem;
        }
        .prh-step-label {
            font-size: 0.88rem;
            font-weight: 800;
            color: #0f172a;
        }
        .dark .prh-step-label { color: #f1f5f9; }
        .prh-step-meta-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem 1rem;
            margin-top: 0.35rem;
        }
        .prh-step-meta-item {
            display: flex;
            align-items: center;
            gap: 0.28rem;
            font-size: 0.76rem;
            color: #64748b;
            font-weight: 600;
        }
        .dark .prh-step-meta-item { color: #94a3b8; }
        .prh-step-meta-item svg { width:0.8rem; height:0.8rem; flex-shrink:0; }
        /* Changes section inside step */
        .prh-changes-block {
            margin-top: 0.65rem;
            padding: 0.65rem 0.75rem;
            background: #f8fafc;
            border: 1px solid #f1f5f9;
            border-radius: 0.65rem;
        }
        .dark .prh-changes-block { background:#0f172a; border-color:#1e293b; }
        .prh-changes-title {
            font-size: 0.68rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.07em;
            color: #94a3b8;
            margin-bottom: 0.45rem;
        }
        .prh-change-row {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.78rem;
            padding: 0.2rem 0;
            color: #475569;
            font-weight: 600;
        }
        .dark .prh-change-row { color: #cbd5e1; }
        .prh-change-field { color: #1e40af; font-weight: 700; }
        .dark .prh-change-field { color: #60a5fa; }
        .prh-change-arrow { color: #94a3b8; font-size: 0.7rem; }
        .prh-change-from { color: #ef4444; text-decoration: line-through; }
        .prh-change-to   { color: #10b981; font-weight: 700; }
        /* Item change pills */
        .prh-item-changes {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            margin-top: 0.5rem;
        }
        .prh-item-pill {
            display: inline-flex;
            align-items: center;
            gap: 0.25rem;
            padding: 0.18rem 0.55rem;
            border-radius: 999px;
            font-size: 0.7rem;
            font-weight: 700;
        }
        .prh-item-pill-added   { background:#d1fae5; color:#065f46; }
        .prh-item-pill-removed { background:#fee2e2; color:#991b1b; }
        .prh-item-pill-updated { background:#fef3c7; color:#92400e; }
        .dark .prh-item-pill-added   { background:rgba(16,185,129,.15); color:#34d399; }
        .dark .prh-item-pill-removed { background:rgba(239,68,68,.15);  color:#f87171; }
        .dark .prh-item-pill-updated { background:rgba(245,158,11,.15); color:#fbbf24; }
        .prh-pagination-wrap {
            margin-top: 1rem;
            display: flex;
            justify-content: center;
        }

        @media (max-width: 768px) {
            .prh-row {
                grid-template-columns: 1fr;
            }

            .prh-detail-btn {
                width: 100%;
            }

            .prh-date-shell {
                width: 100%;
                flex-wrap: wrap;
            }

            .prh-date-input,
            .prh-date-reset {
                width: 100%;
            }
        }

        .prh-list-table-wrap {
            overflow-x: auto;
            overflow-y: auto;
            max-height: 540px;
            border: 1px solid #e2e8f0;
            border-radius: 0.9rem;
            background: #ffffff;
        }
        .dark .prh-list-table-wrap {
            border-color: #334155;
            background: #1e293b;
        }
        .prh-list-table {
            width: 100%;
            border-collapse: collapse;
            min-width: 760px;
        }
        .prh-list-table th,
        .prh-list-table td {
            padding: 0.78rem 0.85rem;
            text-align: left;
            border-bottom: 1px solid #f1f5f9;
            font-size: 0.82rem;
        }
        .prh-list-table th {
            background: #f8fafc;
            color: #0f172a;
            font-weight: 800;
            letter-spacing: 0.01em;
            position: sticky;
            top: 0;
            z-index: 3;
        }
        .prh-list-table td {
            color: #334155;
            font-weight: 600;
        }
        .prh-doc-item-hint {
            margin-top: 0.22rem;
            font-size: 0.69rem;
            line-height: 1.35;
            color: #0369a1;
            font-weight: 700;
        }
        .prh-list-table tr:last-child td {
            border-bottom: none;
        }
        .dark .prh-list-table th {
            background: #0f172a;
            color: #f8fafc;
            border-bottom-color: #1e293b;
        }

        .prh-list-loading {
            display: none;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.75rem;
            font-size: 0.78rem;
            color: #475569;
            font-weight: 700;
            border-top: 1px solid #e2e8f0;
            background: #f8fafc;
        }
        .dark .prh-list-loading {
            color: #94a3b8;
            border-top-color: #334155;
            background: #0f172a;
        }
        .prh-spinner {
            width: 0.95rem;
            height: 0.95rem;
            border-radius: 999px;
            border: 2px solid #bfdbfe;
            border-top-color: #2563eb;
            animation: prhSpin 0.8s linear infinite;
        }
        .dark .prh-spinner {
            border-color: rgba(147, 197, 253, 0.35);
            border-top-color: #60a5fa;
        }
        @keyframes prhSpin {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

        .prh-load-sentinel {
            height: 1px;
            margin: 0;
            padding: 0;
            font-size: 0;
            visibility: hidden;
        }
        .dark .prh-list-table td {
            color: #cbd5e1;
            border-bottom-color: #334155;
        }
        .dark .prh-doc-item-hint {
            color: #67e8f9;
        }
        .prh-action-col {
            width: 1%;
            white-space: nowrap;
            text-align: right;
        }
        .prh-empty-inline {
            padding: 1.6rem 0.5rem;
            text-align: center;
            color: #64748b;
            font-weight: 700;
        }
        .dark .prh-empty-inline {
            color: #94a3b8;
        }

        .prh-modal-kicker {
            font-size: 0.72rem;
            font-weight: 700;
            opacity: 0.9;
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }
        .prh-info-head {
            font-size: 0.78rem;
            font-weight: 800;
            color: #475569;
            margin-bottom: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 0.07em;
        }
        .dark .prh-info-head {
            color: #94a3b8;
        }
        .prh-info-sections {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.75rem;
        }
        .prh-info-card {
            border: 1px solid #dbeafe;
            border-radius: 0.8rem;
            padding: 0.8rem;
            background: #ffffff;
        }
        .dark .prh-info-card {
            border-color: #334155;
            background: #1e293b;
        }
        .prh-info-title {
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.07em;
            color: #1d4ed8;
            margin-bottom: 0.6rem;
        }
        .dark .prh-info-title {
            color: #93c5fd;
        }
        .prh-info-grid {
            display: grid;
            gap: 0.45rem;
        }
        .prh-info-item {
            display: grid;
            gap: 0.15rem;
        }
        .prh-info-label {
            font-size: 0.72rem;
            color: #64748b;
            font-weight: 700;
        }
        .dark .prh-info-label {
            color: #94a3b8;
        }
        .prh-info-value {
            font-size: 0.82rem;
            color: #0f172a;
            font-weight: 700;
            line-height: 1.3;
        }
        .dark .prh-info-value {
            color: #f8fafc;
        }

        .prh-items-head {
            margin-top: 1rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.6rem;
            flex-wrap: wrap;
        }
        .prh-items-title {
            font-size: 0.96rem;
            font-weight: 800;
            color: #0f172a;
        }
        .dark .prh-items-title {
            color: #f8fafc;
        }
        .prh-items-count {
            font-size: 0.74rem;
            color: #64748b;
            font-weight: 700;
            margin-top: 0.1rem;
        }
        .dark .prh-items-count {
            color: #94a3b8;
        }
        .prh-change-toggle {
            border: none;
            background: linear-gradient(135deg, #2563eb, #0284c7);
            color: #ffffff;
            border-radius: 0.65rem;
            padding: 0.5rem 0.78rem;
            font-size: 0.76rem;
            font-weight: 800;
            cursor: pointer;
            white-space: nowrap;
        }
        .prh-change-toggle:hover {
            filter: brightness(0.96);
        }

        .prh-change-list-wrap {
            margin-top: 0.7rem;
            display: grid;
            gap: 0.7rem;
        }
        .prh-change-step {
            border: 1px solid #dbeafe;
            border-radius: 0.75rem;
            overflow: hidden;
            background: #ffffff;
        }
        .dark .prh-change-step {
            border-color: #334155;
            background: #1e293b;
        }
        .prh-change-step-head {
            padding: 0.55rem 0.75rem;
            background: #eff6ff;
            border-bottom: 1px solid #dbeafe;
            display: flex;
            justify-content: space-between;
            gap: 0.5rem;
            flex-wrap: wrap;
            font-size: 0.73rem;
            font-weight: 800;
            color: #1e3a8a;
        }
        .dark .prh-change-step-head {
            background: #0f172a;
            border-bottom-color: #334155;
            color: #93c5fd;
        }
        .prh-change-step-body {
            padding: 0.65rem;
            display: grid;
            gap: 0.6rem;
        }
        .prh-change-row-card {
            border: 1px solid #e2e8f0;
            border-radius: 0.68rem;
            padding: 0.55rem;
            background: #f8fafc;
        }
        .dark .prh-change-row-card {
            border-color: #334155;
            background: #0f172a;
        }
        .prh-change-row-type {
            display: inline-flex;
            padding: 0.14rem 0.5rem;
            border-radius: 999px;
            font-size: 0.68rem;
            font-weight: 800;
            margin-bottom: 0.42rem;
        }
        .prh-change-ditambahkan {
            background: #dcfce7;
            color: #166534;
        }
        .prh-change-dihapus {
            background: #fee2e2;
            color: #991b1b;
        }
        .prh-change-diubah {
            background: #fef3c7;
            color: #92400e;
        }
        .dark .prh-change-ditambahkan {
            background: rgba(34, 197, 94, 0.2);
            color: #86efac;
        }
        .dark .prh-change-dihapus {
            background: rgba(239, 68, 68, 0.2);
            color: #fca5a5;
        }
        .dark .prh-change-diubah {
            background: rgba(245, 158, 11, 0.2);
            color: #fcd34d;
        }
        .prh-change-row-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.55rem;
        }
        .prh-change-col-title {
            font-size: 0.68rem;
            color: #475569;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            margin-bottom: 0.24rem;
        }
        .dark .prh-change-col-title {
            color: #94a3b8;
        }
        .prh-change-col-val {
            font-size: 0.74rem;
            color: #0f172a;
            font-weight: 600;
            display: grid;
            gap: 0.12rem;
        }
        .dark .prh-change-col-val {
            color: #e2e8f0;
        }
        .prh-change-col-empty {
            font-size: 0.74rem;
            color: #94a3b8;
            font-style: italic;
        }
        .prh-no-change {
            border: 1px dashed #cbd5e1;
            border-radius: 0.75rem;
            background: #ffffff;
            padding: 0.75rem;
            text-align: center;
            font-size: 0.8rem;
            color: #64748b;
            font-weight: 700;
        }
        .dark .prh-no-change {
            border-color: #334155;
            background: #1e293b;
            color: #94a3b8;
        }

        .prh-item-table-wrap {
            margin-top: 0.7rem;
            border: 1px solid #dbeafe;
            border-radius: 0.8rem;
            background: #ffffff;
            overflow-x: auto;
        }
        .dark .prh-item-table-wrap {
            border-color: #334155;
            background: #1e293b;
        }
        .prh-item-table {
            width: 100%;
            min-width: 1180px;
            border-collapse: collapse;
        }
        .prh-item-table th,
        .prh-item-table td {
            padding: 0.66rem 0.72rem;
            border-bottom: 1px solid #e2e8f0;
            text-align: left;
            font-size: 0.77rem;
        }
        .prh-item-table th {
            background: #eff6ff;
            color: #1e3a8a;
            font-weight: 800;
        }
        .prh-item-table td {
            color: #334155;
            font-weight: 600;
        }
        .prh-item-table tr:last-child td {
            border-bottom: none;
        }
        .dark .prh-item-table th {
            background: #0f172a;
            color: #93c5fd;
            border-bottom-color: #334155;
        }
        .dark .prh-item-table td {
            color: #cbd5e1;
            border-bottom-color: #334155;
        }
        .prh-item-empty {
            text-align: center;
            color: #64748b;
            font-weight: 700;
            padding: 1rem 0.5rem;
        }
        .dark .prh-item-empty {
            color: #94a3b8;
        }

        .prh-modal-overlay-top {
            z-index: 10010;
            background: rgba(2, 6, 23, 0.72);
        }

        html:has(.prh-modal-overlay),
        body:has(.prh-modal-overlay),
        html:has(.prh-modal-overlay-top),
        body:has(.prh-modal-overlay-top),
        html:has(.prh-modal-fullscreen),
        body:has(.prh-modal-fullscreen) {
            overflow: hidden !important;
            overscroll-behavior: none;
        }
        .prh-change-modal {
            max-width: 1160px;
        }
        .prh-change-modal.prh-modal-fullscreen {
            inset: 0;
            width: 100vw;
            max-width: none;
            min-height: 100vh;
            max-height: 100vh;
        }
        .prh-change-modal.prh-modal-fullscreen .prh-modal-body {
            padding: 1rem 1.1rem 1.1rem;
            max-height: calc(100vh - 128px);
            overflow-y: auto;
            overflow-x: hidden;
        }
        .prh-change-modal.prh-modal-fullscreen .prh-change-steps-scroll {
            height: auto;
            overflow-x: auto;
            overflow-y: visible;
            display: flex;
            flex-direction: row;
            align-items: stretch;
            gap: 0.85rem;
            padding-bottom: 0.15rem;
            scroll-snap-type: x proximity;
        }
        .prh-change-modal.prh-modal-fullscreen .prh-change-modern-table {
            min-width: 0;
            table-layout: auto;
        }
        .prh-change-modal.prh-modal-fullscreen .prh-change-modern-table th,
        .prh-change-modal.prh-modal-fullscreen .prh-change-modern-table td {
            word-break: break-word;
        }
        .prh-modal-header-change {
            background: linear-gradient(135deg, #0f766e 0%, #0ea5a4 55%, #0284c7 100%);
        }

        .prh-change-steps-scroll {
            display: flex;
            flex-direction: row;
            align-items: stretch;
            gap: 0.75rem;
            overflow-x: auto;
            overflow-y: visible;
            padding-bottom: 0.75rem;
            scroll-snap-type: x proximity;
        }
        .prh-change-step-block {
            border: 1px solid #dbe4f0;
            border-radius: 0.85rem;
            background: #ffffff;
            overflow: hidden;
            flex: 0 0 min(1200px, calc(100vw - 5.5rem));
            min-width: min(1200px, calc(100vw - 5.5rem));
            scroll-snap-align: start;
        }
        .dark .prh-change-step-block {
            border-color: #334155;
            background: #1e293b;
        }
        .prh-change-step-head-modern {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.6rem;
            flex-wrap: wrap;
            padding: 0.72rem 0.85rem;
            background: #f8fafc;
            border-bottom: 1px solid #e2e8f0;
        }
        .dark .prh-change-step-head-modern {
            background: #0f172a;
            border-bottom-color: #334155;
        }
        .prh-change-step-title {
            font-size: 0.79rem;
            font-weight: 800;
            color: #1e3a8a;
        }
        .dark .prh-change-step-title {
            color: #93c5fd;
        }
        .prh-change-step-meta-modern {
            font-size: 0.72rem;
            color: #64748b;
            font-weight: 700;
        }
        .dark .prh-change-step-meta-modern {
            color: #94a3b8;
        }

        .prh-change-modern-table-wrap {
            overflow: hidden;
        }
        .prh-change-modern-table {
            width: 100%;
            border-collapse: collapse;
            table-layout: fixed;
        }
        .prh-change-modern-table th,
        .prh-change-modern-table td {
            padding: 0.7rem 0.78rem;
            text-align: left;
            vertical-align: top;
            border-bottom: 1px solid #e2e8f0;
            font-size: 0.81rem;
        }
        .prh-change-modern-table th {
            background: #f1f5f9;
            color: #475569;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.02em;
            font-size: 0.75rem;
        }
        .prh-change-modern-table td {
            color: #334155;
            font-weight: 600;
            line-height: 1.35;
        }
        .dark .prh-change-modern-table th {
            background: #111827;
            color: #94a3b8;
            border-bottom-color: #334155;
        }
        .dark .prh-change-modern-table td {
            color: #cbd5e1;
            border-bottom-color: #334155;
        }
        .prh-change-modern-table tr:last-child td {
            border-bottom: none;
        }

        .prh-cell-title {
            font-weight: 800;
            color: #1e293b;
            margin-bottom: 0.2rem;
        }
        .dark .prh-cell-title {
            color: #f8fafc;
        }
        .prh-cell-old {
            color: #dc2626;
            text-decoration: line-through;
            text-decoration-thickness: 1.2px;
            font-size: 0.75rem;
            opacity: 0.9;
        }
        .dark .prh-cell-old {
            color: #fca5a5;
        }
        .prh-cell-new {
            display: inline-block;
            margin-top: 0.14rem;
            color: #1d4ed8;
            background: #dbeafe;
            border-radius: 0.3rem;
            padding: 0.05rem 0.36rem;
            font-size: 0.75rem;
            font-weight: 700;
        }
        .dark .prh-cell-new {
            color: #bfdbfe;
            background: rgba(59, 130, 246, 0.22);
        }
        .prh-cell-deleted-at {
            color: #dc2626;
            font-weight: 700;
        }
        .dark .prh-cell-deleted-at {
            color: #fca5a5;
        }
        .prh-change-type-badge {
            font-weight: 800;
            margin-right: 0.25rem;
        }
        .prh-change-type-badge.is-edited {
            color: #2563eb;
        }
        .prh-change-type-badge.is-added {
            color: #059669;
        }
        .prh-change-type-badge.is-deleted {
            color: #dc2626;
        }
        .dark .prh-change-type-badge.is-edited {
            color: #93c5fd;
        }
        .dark .prh-change-type-badge.is-added {
            color: #6ee7b7;
        }
        .dark .prh-change-type-badge.is-deleted {
            color: #fca5a5;
        }
        .prh-change-row-deleted {
            background: #fef2f2;
        }
        .dark .prh-change-row-deleted {
            background: rgba(127, 29, 29, 0.28);
        }
        .prh-change-row-deleted td {
            color: #b91c1c;
            text-decoration: line-through;
            text-decoration-thickness: 1.2px;
            text-decoration-color: #ef4444;
        }
        .dark .prh-change-row-deleted td {
            color: #fca5a5;
            text-decoration-color: #f87171;
        }
        .prh-change-row-deleted .prh-cell-title,
        .prh-change-row-deleted .prh-cell-new,
        .prh-change-row-deleted .prh-change-type-badge {
            color: #b91c1c !important;
        }
        .prh-change-row-deleted .prh-cell-new {
            background: #fee2e2;
        }
        .dark .prh-change-row-deleted .prh-cell-new {
            color: #fecaca !important;
            background: rgba(239, 68, 68, 0.2);
        }
        .prh-cell-warning {
            background: #fde68a !important;
            box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.45);
        }
        .dark .prh-cell-warning {
            background: rgba(245, 158, 11, 0.36) !important;
            box-shadow: inset 0 0 0 1px rgba(251, 191, 36, 0.65);
        }

        /* Ensure warning cells look fully orange, not mixed with blue tag styles */
        .prh-cell-warning .prh-cell-new {
            background: transparent !important;
            color: #7c2d12 !important;
            padding: 0 !important;
            border-radius: 0 !important;
            margin-top: 0 !important;
            display: inline !important;
            font-weight: 800;
        }
        .dark .prh-cell-warning .prh-cell-new {
            color: #fde68a !important;
        }
        .prh-change-modal .prh-modal-header {
            position: sticky;
            top: 0;
            z-index: 3;
        }
        .prh-change-modal .prh-modal-footer {
            position: sticky;
            bottom: 0;
            z-index: 3;
        }

        .prh-snapshots-scroll {
            display: flex;
            gap: 0.75rem;
            overflow-x: auto;
            padding-bottom: 0.35rem;
            scroll-snap-type: x proximity;
        }
        .prh-snapshot-stage {
            min-width: 560px;
            max-width: 560px;
            border: 1px solid #dbeafe;
            border-radius: 0.85rem;
            background: #ffffff;
            overflow: hidden;
            flex: 0 0 auto;
            scroll-snap-align: start;
        }
        .dark .prh-snapshot-stage {
            border-color: #334155;
            background: #1e293b;
        }

        .prh-snapshot-head {
            padding: 0.6rem 0.75rem;
            border-bottom: 1px solid #dbeafe;
            background: #eff6ff;
        }
        .dark .prh-snapshot-head {
            border-bottom-color: #334155;
            background: #0f172a;
        }
        .prh-snapshot-title {
            font-size: 0.8rem;
            font-weight: 800;
            color: #1e3a8a;
        }
        .dark .prh-snapshot-title {
            color: #93c5fd;
        }
        .prh-snapshot-meta {
            margin-top: 0.1rem;
            font-size: 0.7rem;
            color: #475569;
            font-weight: 700;
        }
        .dark .prh-snapshot-meta {
            color: #94a3b8;
        }

        .prh-snapshot-table-wrap {
            overflow-x: auto;
        }
        .prh-snapshot-table {
            width: 100%;
            min-width: 740px;
            border-collapse: collapse;
        }
        .prh-snapshot-table th,
        .prh-snapshot-table td {
            padding: 0.62rem 0.68rem;
            border-bottom: 1px solid #e2e8f0;
            text-align: left;
            font-size: 0.75rem;
            vertical-align: top;
        }
        .prh-snapshot-table th {
            background: #f8fafc;
            color: #1e3a8a;
            font-weight: 800;
        }
        .prh-snapshot-table td {
            color: #334155;
            font-weight: 600;
            line-height: 1.35;
        }
        .prh-snapshot-table tr:last-child td {
            border-bottom: none;
        }
        .dark .prh-snapshot-table th {
            background: #0f172a;
            color: #93c5fd;
            border-bottom-color: #334155;
        }
        .dark .prh-snapshot-table td {
            color: #cbd5e1;
            border-bottom-color: #334155;
        }

        .prh-snapshot-row-deleted td {
            color: #b91c1c;
            text-decoration: line-through;
            text-decoration-thickness: 1.2px;
            text-decoration-color: #ef4444;
            background: #fef2f2;
        }
        .dark .prh-snapshot-row-deleted td {
            color: #fca5a5;
            text-decoration-color: #f87171;
            background: rgba(127, 29, 29, 0.28);
        }

        .prh-fp.flatpickr-calendar {
            background: #ffffff !important;
            border: 1px solid #dbeafe !important;
            border-radius: 0.95rem !important;
            box-shadow: 0 22px 48px rgba(15, 23, 42, 0.2) !important;
            width: 294px !important;
            padding: 0.3rem 0.35rem 0.4rem !important;
        }

        .prh-fp .flatpickr-months {
            padding: 0.2rem 0.2rem 0 !important;
        }

        .prh-fp .flatpickr-month {
            height: 2.25rem !important;
        }

        .prh-fp .flatpickr-current-month {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 0.42rem !important;
            padding-top: 0.2rem !important;
        }

        .prh-fp .flatpickr-current-month .flatpickr-monthDropdown-months,
        .prh-fp .flatpickr-current-month .numInputWrapper {
            height: 1.75rem !important;
            border: 1px solid #bfdbfe !important;
            border-radius: 0.5rem !important;
            background: #f0f7ff !important;
        }

        .prh-fp .flatpickr-current-month .flatpickr-monthDropdown-months {
            font-size: 0.8rem !important;
            font-weight: 800 !important;
            color: #0f172a !important;
            padding: 0 1.35rem 0 0.55rem !important;
        }

        .prh-fp .flatpickr-current-month input.cur-year {
            font-size: 0.8rem !important;
            font-weight: 800 !important;
            color: #0f172a !important;
        }

        .prh-fp .flatpickr-weekday {
            font-size: 0.67rem !important;
            font-weight: 800 !important;
            color: #64748b !important;
        }

        .prh-fp .flatpickr-day {
            border-radius: 0.5rem !important;
            font-weight: 700 !important;
        }

        .prh-fp .flatpickr-day.selected,
        .prh-fp .flatpickr-day.startRange,
        .prh-fp .flatpickr-day.endRange {
            background: #2563eb !important;
            border-color: #2563eb !important;
        }

        .dark .prh-fp.flatpickr-calendar {
            background: #0f172a !important;
            border-color: #334155 !important;
            box-shadow: 0 22px 48px rgba(2, 6, 23, 0.58) !important;
        }

        .dark .prh-fp .flatpickr-current-month .flatpickr-monthDropdown-months,
        .dark .prh-fp .flatpickr-current-month .numInputWrapper {
            border-color: rgba(96, 165, 250, 0.4) !important;
            background: rgba(59, 130, 246, 0.18) !important;
            color: #f1f5f9 !important;
        }

        .dark .prh-fp .flatpickr-current-month input.cur-year,
        .dark .prh-fp .flatpickr-weekday {
            color: #94a3b8 !important;
        }

        .dark .prh-fp .flatpickr-day {
            color: #e2e8f0 !important;
        }

        @media (max-width: 980px) {
            .prh-info-sections {
                grid-template-columns: 1fr;
            }
            .prh-change-row-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 1500px) {
            .prh-change-modern-table {
                min-width: 940px;
            }
        }

        /* Spinner for buttons */
        .prh-spinner-sm {
            display: inline-block;
            width: 0.875rem;
            height: 0.875rem;
            border: 2px solid currentColor;
            border-right-color: transparent;
            border-radius: 50%;
            vertical-align: text-bottom;
            animation: prh-spin 0.75s linear infinite;
            margin-right: 0.35rem;
        }

        @keyframes prh-spin {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }
    

