/* IRFA On-Site Sync — Frontend CSS (irfa-partner style) */

/* ── IRFA Course Schedule ───────────────────────────────────── */
.irfaps-wrap{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;max-width:1140px;margin:0 auto;color:#0f172a;--irfaps-accent:#1e5b99;--irfaps-accent-dark:#16497c;}
.irfaps-wrap *{box-sizing:border-box;}

/* Top bar */
.irfaps-topbar{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:14px 16px;background:#fff;border-radius:14px;border:1px solid #e8eaed;box-shadow:0 1px 3px rgba(16,24,40,.04),0 1px 2px rgba(16,24,40,.03);}
.irfaps-topbar-row{display:flex;align-items:center;gap:8px;width:100%;}
.irfaps-topbar-filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.irfaps-search-wrap{position:relative;width:100%;}
.irfaps-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;display:block;color:#94a3b8;pointer-events:none;fill:none;stroke:#94a3b8;stroke-width:1.8px;}
.irfaps-search{width:100%;padding:10px 12px 10px 36px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;}
.irfaps-search:focus{border-color:var(--irfaps-accent);box-shadow:0 0 0 3px rgba(30,91,153,.1);}
.irfaps-filters{display:flex;gap:6px;flex-wrap:nowrap;flex:1;align-items:center;}
.irfaps-select{padding:9px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;background:#fff;cursor:pointer;outline:none;color:#334155;transition:border-color .15s,box-shadow .15s;}
.irfaps-select:focus{border-color:var(--irfaps-accent);box-shadow:0 0 0 3px rgba(30,91,153,.1);}
.irfaps-date-input{cursor:pointer;min-width:130px;color:#334155;}
.irfaps-date-input::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer;}
.irfaps-view-toggle{display:flex;gap:4px;margin-left:auto;background:#f1f5f9;padding:3px;border-radius:10px;}
.irfaps-vbtn{display:flex;align-items:center;justify-content:center;width:34px;height:32px;border:none;border-radius:8px;background:transparent;cursor:pointer;color:#64748b;transition:all .15s;}
.irfaps-vbtn svg{width:18px;height:18px;}
.irfaps-vbtn.active{background:#fff;color:var(--irfaps-accent);box-shadow:0 1px 2px rgba(16,24,40,.08);}
.irfaps-vbtn:hover:not(.active){color:#334155;}
/* Clear-filters button */
.irfaps-clear-btn{padding:7px 13px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0;}
.irfaps-clear-btn:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2;}

.irfaps-meta{font-size:13px;color:#94a3b8;margin-bottom:12px;padding-left:2px;}
.irfaps-meta #irfaps-count{font-weight:700;color:#0f172a;}

/* Table */
.irfaps-table-wrap{overflow-x:auto;overflow-y:auto;max-height:380px;border-radius:14px;border:1px solid #e8eaed;box-shadow:0 1px 3px rgba(16,24,40,.04);background:#fff;position:relative;}
.irfaps-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;}
.irfaps-table thead tr{background:#f8fafc;border-bottom:1px solid #e8eaed;position:sticky;top:0;z-index:2;}
.irfaps-table th{padding:14px 16px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;white-space:nowrap;user-select:none;}
.irfaps-table th.irfaps-sortable{cursor:pointer;transition:color .15s;}
.irfaps-table th.irfaps-sortable:hover{color:var(--irfaps-accent);}
.irfaps-table th.irfaps-sort-asc::after{content:" ↑";color:var(--irfaps-accent);}
.irfaps-table th.irfaps-sort-desc::after{content:" ↓";color:var(--irfaps-accent);}
.irfaps-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .12s;}
.irfaps-table tbody tr:hover{background:#f8fafc;}
.irfaps-table tbody tr:last-child{border-bottom:none;}
.irfaps-table td{padding:15px 16px;vertical-align:middle;}

.irfaps-course-link{font-weight:600;color:#0f172a;font-size:14.5px;cursor:default;line-height:1.35;}
.irfaps-time{font-size:12px;color:#94a3b8;margin-top:3px;display:inline-flex;align-items:center;gap:4px;}
.irfaps-date{font-size:13px;color:#334155;white-space:nowrap;font-weight:500;}
.irfaps-location{font-size:13px;color:#334155;}
.irfaps-leader{font-size:12px;color:#64748b;display:inline-flex;align-items:center;gap:5px;}
.irfaps-leader::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--irfaps-accent);flex-shrink:0;}

/* Seats bar */
.irfaps-seats{min-width:96px;}
.irfaps-seats-bar{height:6px;background:#eef2f6;border-radius:4px;margin-bottom:5px;overflow:hidden;}
.irfaps-seats-fill{height:100%;border-radius:4px;transition:width .3s;}
.irfaps-seats-ok .irfaps-seats-fill{background:#16a34a;}
.irfaps-seats-low .irfaps-seats-fill{background:#f59e0b;}
.irfaps-seats-full .irfaps-seats-fill{background:#ef4444;}
.irfaps-seats-num{font-size:12px;font-weight:600;}
.irfaps-seats-ok .irfaps-seats-num{color:#16a34a;}
.irfaps-seats-low .irfaps-seats-num{color:#d97706;}
.irfaps-seats-full .irfaps-seats-num{color:#dc2626;}

.irfaps-price{font-size:15px;font-weight:700;color:#0f172a;white-space:nowrap;}

/* Enrol button */
.irfaps-enrol-btn{padding:9px 20px;background:var(--irfaps-accent);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 1px 2px rgba(30,91,153,.2);}
.irfaps-enrol-btn:hover{background:var(--irfaps-accent-dark);transform:translateY(-1px);box-shadow:0 3px 8px rgba(30,91,153,.25);}
.irfaps-enrol-btn:active{transform:translateY(0);}
.irfaps-full-badge{display:inline-block;padding:5px 12px;background:#fee2e2;color:#dc2626;font-size:12px;font-weight:600;border-radius:20px;}

/* Partner badge */
.irfaps-partner-badge{display:inline-block;margin-left:7px;padding:2px 8px;background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;border-radius:20px;font-size:11px;font-weight:600;vertical-align:middle;white-space:nowrap;}

/* Partner "Book via partner" button */
.irfaps-partner-book-btn{display:inline-block;padding:9px 16px;background:#16a34a;color:#fff;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s,transform .1s;}
.irfaps-partner-book-btn:hover{background:#15803d;transform:translateY(-1px);color:#fff;}

/* Empty state */
.irfaps-empty{text-align:center;padding:56px 20px;color:#999;}
.irfaps-empty svg{width:56px;height:56px;margin:0 auto 16px;display:block;}
.irfaps-empty p{font-size:15px;margin:0;}

/* Calendar */
/* ── Calendar ────────────────────────────────────────────── */
.irfaps-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 20px;background:#fff;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 1px 3px rgba(0,0,0,.05);}
.irfaps-cal-prev,.irfaps-cal-next{background:none;border:1px solid #e0e0e0;border-radius:8px;width:36px;height:36px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s;color:#475569;}
.irfaps-cal-prev:hover,.irfaps-cal-next:hover{background:#1e5b99;border-color:#1e5b99;color:#fff;}
.irfaps-cal-label{font-weight:700;font-size:17px;color:#1a1a2e;}
.irfaps-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e2e8f0;border-radius:14px;overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.irfaps-cal-day-hdr{background:#f8f9fb;text-align:center;padding:10px 4px;font-size:11px;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:.05em;}
.irfaps-cal-cell{background:#fff;min-height:110px;padding:8px 6px;vertical-align:top;position:relative;}
.irfaps-cal-other{background:#f8f9fb;}
.irfaps-cal-today{background:#eff6ff;}
.irfaps-cal-past{background:#fafafa;}
.irfaps-cal-date{font-size:13px;font-weight:600;color:#94a3b8;margin-bottom:5px;line-height:1;}
.irfaps-cal-today-num{display:inline-flex;align-items:center;justify-content:center;background:#1e5b99;color:#fff !important;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:700;}
.irfaps-cal-event{display:block;border-radius:5px;padding:3px 6px;margin-bottom:3px;cursor:pointer;transition:all .12s;border-left:3px solid transparent;overflow:hidden;}
.irfaps-cal-event:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.1);}
.irfaps-cal-ev-ok{background:#dbeafe;border-left-color:#3b82f6;}
.irfaps-cal-ev-ok:hover{background:#bfdbfe;}
.irfaps-cal-ev-low{background:#fef9c3;border-left-color:#f59e0b;}
.irfaps-cal-ev-low:hover{background:#fef08a;}
.irfaps-cal-ev-full{background:#fee2e2;border-left-color:#ef4444;cursor:not-allowed;opacity:.7;}
.irfaps-cal-ev-partner{background:#dcfce7;border-left-color:#10b981;}
.irfaps-cal-ev-partner:hover{background:#bbf7d0;}
.irfaps-cal-ev-title{display:block;font-size:10px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.irfaps-cal-ev-foot{display:flex;gap:5px;margin-top:1px;}
.irfaps-cal-ev-meta{font-size:9px;color:#64748b;font-weight:500;}
.irfaps-cal-more{display:block;width:100%;background:none;border:none;padding:1px 4px;font-size:10px;font-weight:600;color:#3b82f6;cursor:pointer;text-align:left;}
.irfaps-cal-more:hover{text-decoration:underline;}

/* ── MODAL ─────────────────────────────────────────────────── */
.irfaps-modal-overlay{display:none;position:fixed !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;background:rgba(15,23,42,.55);backdrop-filter:blur(3px);z-index:999999 !important;align-items:center;justify-content:center;padding:16px;}
@keyframes ics-fade-in{from{opacity:0}to{opacity:1}}
.irfaps-modal{background:#fff;border-radius:16px;width:100%;max-width:1080px;max-height:96vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(15,23,42,.25);animation:ics-slide-up .25s cubic-bezier(.16,1,.3,1);}
@keyframes ics-slide-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* Course info header */
.irfaps-modal-header{background:linear-gradient(120deg,#16497c 0%,#1e5b99 60%,#2870b8 100%);padding:18px 32px 16px;position:relative;flex-shrink:0;}
.irfaps-modal-close{position:absolute;top:10px;right:12px;background:rgba(255,255,255,.18);border:none;width:28px;height:28px;border-radius:50%;font-size:16px;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.irfaps-modal-close:hover{background:rgba(255,255,255,.35);}
.irfaps-modal-course-title{margin:0 40px 0 0;font-size:18px;font-weight:700;color:#fff;line-height:1.25;}
.irfaps-modal-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.irfaps-modal-meta span{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:rgba(255,255,255,.92);background:rgba(255,255,255,.15);padding:3px 9px;border-radius:14px;}

/* Step progress bar */
.irfaps-steps-bar{display:flex;background:#f8f9fb;border-bottom:1px solid #e8eaed;padding:0;overflow-x:auto;flex-shrink:0;}
.irfaps-step-tab{flex:1;min-width:58px;padding:10px 4px 9px;text-align:center;font-size:11px;font-weight:600;color:#9aa5b4;cursor:default;border-bottom:2.5px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap;}
.irfaps-step-tab.active{color:#1e5b99;border-bottom-color:#1e5b99;}
.irfaps-step-tab.done{color:#1e9e6a;border-bottom-color:#a7e3c7;}
.irfaps-step-tab .irfaps-step-num{display:flex;width:22px;height:22px;border-radius:50%;background:#eef1f5;color:#9aa5b4;font-size:11px;font-weight:700;margin:0 auto 5px;align-items:center;justify-content:center;transition:all .2s;}
.irfaps-step-tab.active .irfaps-step-num{background:#1e5b99;color:#fff;box-shadow:0 0 0 4px rgba(30,91,153,.12);}
.irfaps-step-tab.done .irfaps-step-num{background:#1e9e6a;color:#fff;}

/* Scrollable body */
.irfaps-modal-body{padding:18px 28px 20px;overflow-y:auto;flex:1;}
.irfaps-step-content{display:none;}
.irfaps-step-content.active{display:block;}

/* Section heading inside step */
.irfaps-step-heading{font-size:16px;font-weight:700;color:#16243a;margin:0 0 10px;letter-spacing:-.01em;}
.irfaps-step-sub{font-size:13px;color:#64748b;margin:-8px 0 20px;line-height:1.6;}

/* Form fields */
.irfaps-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:9px;}
.irfaps-form-row.full{grid-template-columns:1fr;}
.irfaps-form-field{display:flex;flex-direction:column;}
.irfaps-form-field label{font-size:12px;font-weight:600;color:#334155;margin-bottom:2px;}
.irfaps-req{color:#e0394b;font-weight:700;}
.irfaps-form-field input,.irfaps-form-field select,.irfaps-form-field textarea{padding:7px 11px;border:1.5px solid #e3e8ef;border-radius:9px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff;color:#16243a;font-family:inherit;}
.irfaps-form-field input:focus,.irfaps-form-field select:focus,.irfaps-form-field textarea:focus{border-color:#1e5b99;box-shadow:0 0 0 3.5px rgba(30,91,153,.12);}
.irfaps-form-field textarea{min-height:56px;resize:vertical;}
.irfaps-form-field .irfaps-hint{font-size:11px;color:#9ca3af;margin-top:4px;}
.irfaps-form-error{color:#dc2626;font-size:13px;margin-top:8px;min-height:18px;}
.irfaps-pay-error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:13.5px;font-weight:600;color:#b91c1c;min-height:0;margin-top:0;}

/* Privacy checkboxes */
.irfaps-checkbox-group{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;}
.irfaps-checkbox-label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:9px 12px;border:1.5px solid #e3e8ef;border-radius:10px;transition:border-color .15s,background .15s;}
.irfaps-checkbox-label:hover{border-color:#c5d3e6;background:#f8fafc;}
.irfaps-checkbox-label input[type=checkbox]{width:18px;height:18px;margin-top:1px;accent-color:#1e5b99;flex-shrink:0;cursor:pointer;}
.irfaps-checkbox-label span{font-size:13px;color:#3a4858;line-height:1.55;}
.irfaps-checkbox-label a{color:#1e5b99;text-decoration:underline;text-underline-offset:2px;}
.irfaps-checkbox-label a:hover{text-decoration:underline;}

/* Course info step */
.irfaps-course-info-box{background:linear-gradient(135deg,#f4f9ff 0%,#eef5fc 100%);border:1px solid #d7e6f5;border-radius:12px;padding:14px 16px;margin-bottom:8px;}
.irfaps-course-info-box h4{margin:0 0 14px;font-size:15px;font-weight:700;color:#16497c;}
.irfaps-course-info-box p{margin:0 0 6px;font-size:13px;color:#374151;line-height:1.5;}
.irfaps-course-info-box p:last-child{margin:0;}
.irfaps-units-list{margin:8px 0 0;padding:0;list-style:none;}
.irfaps-units-list li{font-size:12px;color:#1d4ed8;padding:3px 0;padding-left:14px;position:relative;}
.irfaps-units-list li::before{content:"✓";position:absolute;left:0;color:#16a34a;font-weight:700;}
.irfaps-enrol-type-btn{width:100%;padding:14px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s;text-align:left;display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.irfaps-enrol-type-btn:hover,.irfaps-enrol-type-btn.selected{border-color:#1e5b99;background:#f4f9ff;color:#16497c;}
.irfaps-enrol-type-btn .irfaps-ebt-icon{width:38px;height:38px;background:#dce9f7;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}

/* USI section */
.irfaps-usi-box{background:#fffaf0;border:1px solid #fae0b0;border-radius:11px;padding:12px 14px;margin-bottom:12px;font-size:12.5px;color:#8a6314;line-height:1.6;}
.irfaps-usi-box strong{color:#78350f;}
.irfaps-usi-link{color:#1e5b99;text-decoration:none;font-weight:600;}

/* ── Payment step — receipt card ─────────────────────────────────── */
.irfaps-pay-receipt{background:#fff;border:1px solid #e8edf2;border-radius:14px;padding:18px 20px;margin-bottom:14px;box-shadow:0 1px 6px rgba(0,0,0,.06);}
.irfaps-receipt-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:#374151;padding:5px 0;}
.irfaps-receipt-row+.irfaps-receipt-row{border-top:1px solid #f1f5f9;}
.irfaps-receipt-promo{color:#059669!important;}
.irfaps-receipt-total{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:16px;color:#0f172a;border-top:2px solid #e8edf2;margin-top:8px;padding-top:10px;}

/* ── Promo row ───────────────────────────────────────────────────── */
.irfaps-promo-wrap{margin-bottom:14px;}
.irfaps-promo-inner{display:flex;gap:8px;}
.irfaps-promo-input{flex:1;}
.irfaps-promo-btn{white-space:nowrap;}

/* ── Pay label ───────────────────────────────────────────────────── */
.irfaps-pay-label{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;}

/* Footer */
.irfaps-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 28px;border-top:1px solid #eef1f5;background:#fbfcfe;flex-shrink:0;}
.irfaps-footer-left{display:flex;align-items:center;gap:10px;}
.irfaps-footer-step{font-size:12px;color:#94a3b8;font-weight:500;}
.irfaps-footer-btns{display:flex;gap:8px;}
.irfaps-autofill-btn{font-size:11px;padding:3px 9px;background:#fef9c3;border:1px solid #fde047;border-radius:5px;color:#854d0e;cursor:pointer;font-weight:600;line-height:1.4;}
.irfaps-autofill-btn:hover{background:#fef08a;}
.irfaps-btn-primary{padding:11px 26px;background:#1e5b99;color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s,transform .1s;box-shadow:0 2px 8px rgba(30,91,153,.25);}
.irfaps-btn-primary:hover{background:#16497c;transform:translateY(-1px);}
.irfaps-btn-primary:disabled{opacity:.6;cursor:not-allowed;}
.irfaps-btn-secondary{padding:11px 20px;background:#fff;color:#475569;border:1.5px solid #e3e8ef;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;}
.irfaps-btn-secondary:hover{background:#f7f9fc;border-color:#c5d3e6;}

/* Spinner */
.irfaps-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ics-spin .65s linear infinite;}
@keyframes ics-spin{to{transform:rotate(360deg)}}

/* Success */
.irfaps-success{text-align:center;padding:24px 0 8px;}
.irfaps-success-icon{width:72px;height:72px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;margin:0 auto 16px;}
.irfaps-success h3{margin:0 0 8px;font-size:22px;color:#1a1a2e;font-weight:700;}
.irfaps-success p{color:#6b7280;font-size:14px;line-height:1.6;margin:0 0 8px;}
.irfaps-success .irfaps-ref{font-size:12px;color:#9ca3af;margin-top:12px;}

/* Full badge */
.irfaps-full-badge{display:inline-block;padding:6px 14px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;}

/* Responsive — turn table into stacked cards on mobile */
@media(max-width:760px){
    .irfaps-topbar{flex-direction:column;align-items:stretch;}
    .irfaps-view-toggle{margin-left:0;align-self:flex-start;}

    .irfaps-table-wrap{border:none;box-shadow:none;background:transparent;overflow:visible;max-height:none;}
    .irfaps-table,.irfaps-table tbody,.irfaps-table tr,.irfaps-table td{display:block;width:100%;}
    .irfaps-table thead{display:none;}
    .irfaps-table tr.irfaps-row{background:#fff;border:1px solid #e8eaed;border-radius:14px;margin-bottom:14px;padding:14px 16px;box-shadow:0 1px 3px rgba(16,24,40,.04);}
    .irfaps-table td{padding:6px 0;border:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
    .irfaps-table td::before{content:attr(data-label);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;flex-shrink:0;}
    .irfaps-table td.irfaps-td-course{display:block;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid #f1f5f9;}
    .irfaps-table td.irfaps-td-course::before{display:none;}
    .irfaps-course-link{font-size:16px;}
    .irfaps-seats{min-width:0;flex:1;max-width:160px;}
    .irfaps-td-action{padding-top:10px;}
    .irfaps-td-action::before{display:none;}
    .irfaps-enrol-btn,.irfaps-full-badge,.irfaps-partner-book-btn{width:100%;text-align:center;}
}

@media(max-width:520px){
  .irfaps-form-row{grid-template-columns:1fr;}
  .irfaps-modal{border-radius:16px 16px 0 0;margin-top:auto;max-height:95vh;}
  .irfaps-step-tab{font-size:10px;padding:10px 2px 8px;}
}

/* Step 1 — course details grid */
.irfaps-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 16px;margin-top:0;}
.irfaps-info-grid > div{display:flex;flex-direction:column;gap:2px;}
.irfaps-info-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#7d93ad;}
.irfaps-info-grid > div > span:last-child{font-size:14px;color:#0f172a;font-weight:500;}

/* Step 2 — privacy document */
.irfaps-privacy-doc{max-height:210px;overflow-y:auto;border:1px solid #e8edf3;border-radius:11px;padding:14px 16px;background:#fbfcfe;font-size:13px;line-height:1.65;color:#3a4858;}
.irfaps-privacy-doc h4{margin:16px 0 6px;font-size:14px;color:#0f172a;font-weight:700;}
.irfaps-privacy-doc h4:first-child{margin-top:0;}
.irfaps-privacy-doc p{margin:0 0 10px;}
.irfaps-privacy-doc ul{margin:0 0 10px;padding-left:20px;}
.irfaps-privacy-doc li{margin-bottom:4px;}
.irfaps-privacy-doc a{color:var(--irfaps-accent);}
.irfaps-rto-block{background:#fff;border:1px solid #e8eaed;border-radius:8px;padding:12px 14px;font-size:12.5px;color:#475569;margin-top:14px;}

/* ── Payment method selector ─────────────────────────────────────── */
.irfaps-pay-methods{display:flex;gap:10px;margin-bottom:16px;}
.irfaps-pay-method{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 12px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;font-size:14px;font-weight:600;color:#4b5563;transition:border-color .15s,background .15s;}
.irfaps-pay-method:hover{border-color:#94a3b8;background:#f8fafc;}
.irfaps-pay-method.selected{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;}
.irfaps-pm-icon{font-size:19px;}
.irfaps-pm-label{flex:1;text-align:left;}
.irfaps-pm-check{margin-left:auto;opacity:0;color:#2563eb;font-size:15px;font-weight:800;transition:opacity .15s;}
.irfaps-pay-method.selected .irfaps-pm-check{opacity:1;}
.irfaps-pm-pp{font-size:17px;font-weight:900;color:#003087;letter-spacing:-0.5px;}
.irfaps-pm-pp em{color:#009cde;font-style:italic;}

/* ── Payment panels ──────────────────────────────────────────────── */
.irfaps-pay-panel{margin-bottom:10px;}
.irfaps-pe-placeholder{padding:20px;text-align:center;color:#94a3b8;font-size:13px;}
.irfaps-secure-note{margin-top:10px;font-size:11.5px;color:#94a3b8;display:flex;align-items:center;gap:5px;}

/* ── PayPal panel ────────────────────────────────────────────────── */
.irfaps-paypal-panel{background:#f0f7ff;border:1px solid #bfdbfe;border-radius:14px;padding:24px 20px;text-align:center;}
.irfaps-paypal-brand{font-size:26px;font-weight:900;color:#003087;margin-bottom:10px;line-height:1;}
.irfaps-paypal-brand em{color:#009cde;font-style:italic;}
.irfaps-paypal-desc{font-size:13.5px;color:#334155;margin:0 0 12px;line-height:1.6;}

/* Card fields stack nicely */
#irfaps-pay-card-panel .irfaps-card-wrap{margin-bottom:0;}
#irfaps-card-number{margin-bottom:4px;}



/* ══════════════════════════════════════════════════════════════
   BOOKING MODAL v5 — Individual & Group flows
══════════════════════════════════════════════════════════════ */
#irfaps-modal-overlay,
#irfaps-modal-overlay *{box-sizing:border-box!important}

/* Overlay — force fixed full-screen flex centering */
#irfaps-modal-overlay{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;height:100%!important;
    margin:0!important;padding:16px!important;
    background:rgba(15,23,42,.6)!important;
    backdrop-filter:blur(3px);
    z-index:2147483000!important;
    align-items:center!important;
    justify-content:center!important;
    float:none!important;clear:both!important;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif!important;
    font-size:16px!important;line-height:1.5!important;
    text-align:left!important;
}

/* Modal shell — force column flex */
#irfaps-modal-overlay #irfaps-modal{
    position:relative!important;
    background:#fff!important;
    border-radius:16px!important;
    width:100%!important;max-width:900px!important;
    max-height:94vh!important;height:auto!important;
    margin:0!important;padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    float:none!important;
    box-shadow:0 24px 70px rgba(15,23,42,.35)!important;
    transform:none!important;
}

/* Direct children — force block-level stacking, kill theme floats/grids */
#irfaps-modal-overlay #irfaps-modal > *{
    float:none!important;
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    transform:none!important;
}

/* Header */
#irfaps-modal-overlay .irfaps-modal-header{
    background:linear-gradient(135deg,#16497c,#1e5b99 60%,#2870b8)!important;
    padding:12px 20px 10px!important;
    flex:0 0 auto!important;
    border:none!important;
}
#irfaps-modal-overlay .irfaps-modal-close{
    position:absolute!important;top:12px!important;right:14px!important;
    width:30px!important;height:30px!important;min-width:0!important;
    border:none!important;border-radius:50%!important;
    background:rgba(255,255,255,.18)!important;color:#fff!important;
    font-size:17px!important;line-height:1!important;cursor:pointer!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0!important;margin:0!important;box-shadow:none!important;text-shadow:none!important;
}
#irfaps-modal-overlay .irfaps-modal-close:hover{background:rgba(255,255,255,.35)!important}
#irfaps-modal-overlay .irfaps-modal-course-title{
    margin:0 40px 0 0!important;padding:0!important;
    font-size:15px!important;font-weight:700!important;color:#fff!important;
    line-height:1.3!important;letter-spacing:normal!important;text-transform:none!important;
}
#irfaps-modal-overlay .irfaps-modal-meta{
    display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-top:9px!important;
}
#irfaps-modal-overlay .irfaps-modal-meta span{
    display:inline-flex!important;align-items:center!important;gap:4px!important;
    font-size:10.5px!important;color:rgba(255,255,255,.94)!important;
    background:rgba(255,255,255,.16)!important;
    padding:3px 10px!important;border-radius:14px!important;
    width:auto!important;
}

/* Steps bar */
#irfaps-modal-overlay .irfaps-steps-bar{
    display:flex!important;flex-wrap:nowrap!important;
    background:#f8fafc!important;border-bottom:1px solid #e5e7eb!important;
    flex:0 0 auto!important;overflow-x:auto!important;scrollbar-width:none;
    padding:0!important;
}
#irfaps-modal-overlay .irfaps-steps-bar::-webkit-scrollbar{display:none}
#irfaps-modal-overlay .irfaps-step-tab{
    display:flex!important;align-items:center!important;gap:6px!important;
    padding:8px 12px!important;white-space:nowrap!important;flex:0 0 auto!important;
    width:auto!important;border-bottom:2px solid transparent!important;
    font-size:11.5px!important;font-weight:600!important;color:#9ca3af!important;
    margin:0!important;background:none!important;
}
#irfaps-modal-overlay .irfaps-step-num{
    width:21px!important;height:21px!important;min-width:21px!important;
    border-radius:50%!important;background:#d1d5db!important;color:#6b7280!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    font-size:10.5px!important;font-weight:700!important;flex-shrink:0!important;
    padding:0!important;margin:0!important;
}
#irfaps-modal-overlay .irfaps-step-tab.active{color:#1e5b99!important;border-bottom-color:#1e5b99!important}
#irfaps-modal-overlay .irfaps-step-tab.active .irfaps-step-num{background:#1e5b99!important;color:#fff!important}
#irfaps-modal-overlay .irfaps-step-tab.done{color:#16a34a!important}
#irfaps-modal-overlay .irfaps-step-tab.done .irfaps-step-num{background:#16a34a!important;color:#fff!important;font-size:0!important}
#irfaps-modal-overlay .irfaps-step-tab.done .irfaps-step-num::after{content:'✓';font-size:11px!important}

/* Body — scrollable middle */
#irfaps-modal-overlay .irfaps-modal-body{
    padding:14px 20px!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    flex:1 1 auto!important;
    flex-grow:1!important;
    min-height:200px!important;
    max-height:calc(94vh - 160px)!important;
    background:#fff!important;
    display:block!important;
}
#irfaps-modal-overlay .irfaps-modal-body::-webkit-scrollbar{width:5px}
#irfaps-modal-overlay .irfaps-modal-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px}
#irfaps-modal-overlay #irfaps-modal-content{width:100%!important;margin:0!important;padding:0!important}

/* Footer */
#irfaps-modal-overlay .irfaps-modal-footer{
    display:flex!important;justify-content:space-between!important;align-items:center!important;
    padding:9px 20px!important;border-top:1px solid #eef1f5!important;
    background:#fbfcfe!important;flex:0 0 auto!important;gap:10px!important;
}
#irfaps-modal-overlay .irfaps-footer-step{font-size:12px!important;color:#9ca3af!important;font-weight:600!important}
#irfaps-modal-overlay .irfaps-footer-btns{display:flex!important;gap:8px!important;width:auto!important}

/* Buttons — kill theme button styles */
#irfaps-modal-overlay button{
    font-family:inherit!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    text-shadow:none!important;
    box-shadow:none!important;
    line-height:1.4!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    text-decoration:none!important;
}
#irfaps-modal-overlay .irfaps-btn-primary{
    background:#1e5b99!important;color:#fff!important;border:none!important;
    border-radius:8px!important;padding:8px 20px!important;
    font-size:13px!important;font-weight:700!important;cursor:pointer!important;
}
#irfaps-modal-overlay .irfaps-btn-primary:hover{background:#164f8a!important}
#irfaps-modal-overlay .irfaps-btn-primary:disabled{background:#93c5fd!important;cursor:not-allowed!important}
#irfaps-modal-overlay .irfaps-btn-secondary{
    background:#f1f5f9!important;color:#334155!important;border:1px solid #e2e8f0!important;
    border-radius:8px!important;padding:8px 16px!important;
    font-size:13px!important;font-weight:600!important;cursor:pointer!important;
}
#irfaps-modal-overlay .irfaps-btn-secondary:hover{border-color:#1e5b99!important;color:#1e5b99!important}

/* Form controls — kill theme input styles */
#irfaps-modal-overlay input,
#irfaps-modal-overlay select,
#irfaps-modal-overlay textarea{
    font-family:inherit!important;
    box-shadow:none!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    float:none!important;
    display:block!important;
}
#irfaps-modal-overlay label{
    display:block!important;
    margin:0!important;
    font-family:inherit!important;
    text-transform:none!important;
    width:auto!important;
    float:none!important;
}
#irfaps-modal-overlay h3,
#irfaps-modal-overlay h4,
#irfaps-modal-overlay h5{
    margin:0!important;padding:0!important;
    font-family:inherit!important;
    text-transform:none!important;
    letter-spacing:normal!important;
    border:none!important;
}
#irfaps-modal-overlay p{margin:0!important;padding:0!important;font-family:inherit!important}
#irfaps-modal-overlay ul{list-style:disc!important}

/* Step heading */
#irfaps-modal-overlay .irfaps-sh{margin-bottom:12px}
#irfaps-modal-overlay .irfaps-sh h3{margin:0 0 3px!important;font-size:14px!important;font-weight:700!important;color:#1d2327}
#irfaps-modal-overlay .irfaps-sh p{margin:0!important;font-size:12px!important;color:#6b7280!important;line-height:1.4}

/* Section block */
#irfaps-modal-overlay .irfaps-section{background:#fafbfc!important;border:1px solid #eef1f5!important;border-radius:11px!important;padding:11px 14px!important;margin-bottom:10px}
#irfaps-modal-overlay .irfaps-section-hd{font-size:12px!important;font-weight:700!important;color:#1e5b99!important;text-transform:uppercase;
    letter-spacing:.05em;margin-bottom:13px;padding-bottom:8px;border-bottom:1px solid #eef1f5}

/* Course info card */
#irfaps-modal-overlay .irfaps-card-info{background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:11px!important;overflow:hidden!important;margin-bottom:12px}
#irfaps-modal-overlay .irfaps-ci-row{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:7px 14px!important;border-bottom:1px solid #f1f3f7;font-size:12.5px}
#irfaps-modal-overlay .irfaps-ci-row:last-child{border-bottom:none}
#irfaps-modal-overlay .irfaps-ci-row span{color:#6b7280!important;flex-shrink:0}
#irfaps-modal-overlay .irfaps-ci-row strong{color:#1d2327!important;text-align:right!important;font-weight:600}

#irfaps-modal-overlay .irfaps-note-box{background:#f0f9ff!important;border-left:3px solid #0ea5e9;border-radius:7px!important;
    padding:8px 12px!important;font-size:12px!important;color:#0c4a6e!important;margin-bottom:9px;line-height:1.5}
#irfaps-modal-overlay .irfaps-note-box a{color:#0369a1!important;font-weight:600}
#irfaps-modal-overlay .irfaps-notice-box{background:#fffbeb!important;border-left:3px solid #d97706;border-radius:7px!important;
    padding:8px 12px!important;font-size:12px!important;color:#92400e!important;margin-bottom:12px;line-height:1.5}

/* Choice cards (individual vs group) */
#irfaps-modal-overlay .irfaps-choice-grid{display:flex!important;flex-direction:column!important;gap:10px}
#irfaps-modal-overlay .irfaps-choice{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;text-align:left!important;
    background:#fff!important;border:2px solid #e5e7eb!important;border-radius:10px!important;padding:10px 14px!important;cursor:pointer;transition:all .15s}
#irfaps-modal-overlay .irfaps-choice:hover{border-color:#c7d7e8;background:#fafbff}
#irfaps-modal-overlay .irfaps-choice.active{border-color:#1e5b99;background:#f0f6fc!important;box-shadow:0 0 0 3px rgba(30,91,153,.08)}
#irfaps-modal-overlay .irfaps-choice-ico{font-size:20px!important;flex-shrink:0}
#irfaps-modal-overlay .irfaps-choice-body{flex:1!important;display:flex!important;flex-direction:column!important;gap:2px}
#irfaps-modal-overlay .irfaps-choice-body strong{font-size:14.5px!important;color:#1d2327!important;font-weight:700}
#irfaps-modal-overlay .irfaps-choice-body span{font-size:12.5px!important;color:#6b7280}
#irfaps-modal-overlay .irfaps-choice-chk{width:22px!important;height:22px;border-radius:50%!important;background:#1e5b99!important;color:#fff!important;
    display:none!important;align-items:center!important;justify-content:center!important;font-size:12px!important;flex-shrink:0}
#irfaps-modal-overlay .irfaps-choice.active .irfaps-choice-chk{display:flex}

/* Privacy doc */
#irfaps-modal-overlay .irfaps-privacy-doc{background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:11px!important;
    padding:12px 14px!important;margin-bottom:12px;font-size:12.5px!important;color:#374151!important;line-height:1.6!important;max-height:200px;overflow-y:auto}
#irfaps-modal-overlay .irfaps-privacy-doc h5{margin:14px 0 5px!important;font-size:12.5px!important;font-weight:700!important;color:#1e5b99!important;text-transform:uppercase;letter-spacing:.04em}
#irfaps-modal-overlay .irfaps-privacy-doc h5:first-child{margin-top:0}
#irfaps-modal-overlay .irfaps-privacy-doc p{margin:0 0 8px}
#irfaps-modal-overlay .irfaps-rto-line{margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:12px!important;color:#9ca3af}
#irfaps-modal-overlay .irfaps-consent{display:flex!important;align-items:flex-start!important;gap:10px!important;font-size:12.5px!important;color:#374151!important;
    cursor:pointer;line-height:1.5!important;background:#fff!important;border:2px solid #e5e7eb!important;border-radius:10px!important;padding:10px 13px!important;transition:border-color .15s}
#irfaps-modal-overlay .irfaps-consent:hover{border-color:#c7d7e8}
#irfaps-modal-overlay .irfaps-consent input{margin-top:2px;width:17px!important;height:17px;flex-shrink:0;accent-color:#1e5b99;cursor:pointer}

/* Form fields */
#irfaps-modal-overlay .irfaps-fr{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:10px}
#irfaps-modal-overlay .irfaps-fr.full{grid-template-columns:1fr}
#irfaps-modal-overlay .irfaps-fr:last-child{margin-bottom:0}
#irfaps-modal-overlay .irfaps-ff{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0}
#irfaps-modal-overlay .irfaps-ff label{font-size:10.5px!important;font-weight:700!important;color:#475569!important;text-transform:uppercase;letter-spacing:.04em}
#irfaps-modal-overlay .irfaps-ff input, #irfaps-modal-overlay .irfaps-ff select, #irfaps-modal-overlay .irfaps-ff textarea{
    border:1px solid #d5dbe3!important;border-radius:7px!important;padding:7px 10px!important;font-size:13px!important;
    color:#1d2327!important;background:#fff!important;width:100%!important;font-family:inherit;transition:all .15s}
#irfaps-modal-overlay .irfaps-ff input:focus, #irfaps-modal-overlay .irfaps-ff select:focus, #irfaps-modal-overlay .irfaps-ff textarea:focus{
    outline:none;border-color:#1e5b99;box-shadow:0 0 0 3px rgba(30,91,153,.1)}
#irfaps-modal-overlay .irfaps-ff textarea{resize:vertical;min-height:70px}
#irfaps-modal-overlay .irfaps-req{color:#dc2626}

/* Group count stepper */
#irfaps-modal-overlay .irfaps-count-row{display:flex!important;align-items:center!important;gap:8px}
#irfaps-modal-overlay .irfaps-count-btn{width:38px!important;height:38px!important;border:1px solid #d5dbe3!important;background:#fff!important;border-radius:8px!important;
    font-size:20px!important;font-weight:600!important;color:#1e5b99!important;cursor:pointer;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .15s}
#irfaps-modal-overlay .irfaps-count-btn:hover{border-color:#1e5b99;background:#f0f6fc}
#irfaps-modal-overlay .irfaps-count-input{width:76px!important;height:38px!important;border:1px solid #d5dbe3!important;border-radius:8px!important;
    text-align:center!important;font-size:17px!important;font-weight:700!important;color:#1d2327}
#irfaps-modal-overlay .irfaps-count-input:focus{outline:none;border-color:#1e5b99;box-shadow:0 0 0 3px rgba(30,91,153,.1)}
#irfaps-modal-overlay .irfaps-count-label{font-size:13px!important;color:#6b7280!important;margin-left:4px}
#irfaps-modal-overlay .irfaps-count-total{margin-top:11px;padding:9px 13px!important;background:#f0f6fc!important;border-radius:7px!important;
    font-size:13.5px!important;font-weight:700!important;color:#1e5b99!important;display:inline-block}

/* Summary strip */
#irfaps-modal-overlay .irfaps-summary-strip{display:flex!important;gap:20px!important;flex-wrap:wrap!important;background:#f0f6fc!important;border:1px solid #d6e4f0!important;
    border-radius:10px!important;padding:13px 17px!important;margin-bottom:16px}
#irfaps-modal-overlay .irfaps-summary-strip>div{display:flex!important;flex-direction:column!important;gap:2px}
#irfaps-modal-overlay .irfaps-ss-lbl{font-size:10.5px!important;font-weight:700!important;color:#7d9cb8!important;text-transform:uppercase;letter-spacing:.05em}
#irfaps-modal-overlay .irfaps-summary-strip strong{font-size:13.5px!important;color:#16497c}

/* Toggle card */
#irfaps-modal-overlay .irfaps-toggle-card{background:#fff!important;border:2px solid #e5e7eb!important;border-radius:11px!important;margin-bottom:16px;overflow:hidden}
#irfaps-modal-overlay .irfaps-toggle-card-body{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:15px 17px}
#irfaps-modal-overlay .irfaps-toggle-card-body strong{display:block!important;font-size:14px!important;color:#1d2327!important;margin-bottom:3px}
#irfaps-modal-overlay .irfaps-toggle-card-body p{margin:0!important;font-size:12.5px!important;color:#6b7280!important;line-height:1.5}
#irfaps-modal-overlay .irfaps-toggle-btn{width:48px!important;height:27px!important;border-radius:14px!important;background:#d1d5db!important;border:none!important;
    position:relative!important;cursor:pointer;flex-shrink:0;transition:background .2s;padding:0!important}
#irfaps-modal-overlay .irfaps-toggle-btn.on{background:#1e5b99}
#irfaps-modal-overlay .irfaps-toggle-knob{position:absolute!important;top:3px;left:3px;width:21px!important;height:21px;border-radius:50%!important;
    background:#fff!important;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
#irfaps-modal-overlay .irfaps-toggle-btn.on .irfaps-toggle-knob{transform:translateX(21px)}

/* Participant cards */
#irfaps-modal-overlay .irfaps-participants{display:flex!important;flex-direction:column!important;gap:12px!important;margin-bottom:12px}
#irfaps-modal-overlay .irfaps-pcard{border:1px solid #e5e7eb!important;border-radius:11px!important;overflow:hidden!important;background:#fff}
#irfaps-modal-overlay .irfaps-pcard-hd{display:flex!important;align-items:center!important;gap:10px!important;padding:11px 15px!important;background:#f8fafc!important;border-bottom:1px solid #eef1f5}
#irfaps-modal-overlay .irfaps-pcard-n{width:22px!important;height:22px;border-radius:50%!important;background:#1e5b99!important;color:#fff!important;
    display:flex!important;align-items:center!important;justify-content:center!important;font-size:11px!important;font-weight:700!important;flex-shrink:0}
#irfaps-modal-overlay .irfaps-pcard-t{flex:1!important;font-size:13.5px!important;font-weight:700!important;color:#1d2327}
#irfaps-modal-overlay .irfaps-pcard-rm{background:none!important;border:none!important;color:#dc2626!important;font-size:12px!important;font-weight:600!important;
    cursor:pointer;padding:4px 9px!important;border-radius:5px!important;transition:background .15s}
#irfaps-modal-overlay .irfaps-pcard-rm:hover{background:#fee2e2}
#irfaps-modal-overlay .irfaps-pcard-body{padding:15px}
#irfaps-modal-overlay .irfaps-add-btn{width:100%!important;background:#fff!important;border:2px dashed #cbd5e1!important;border-radius:10px!important;
    padding:12px!important;font-size:13.5px!important;font-weight:600!important;color:#1e5b99!important;cursor:pointer;transition:all .15s}
#irfaps-modal-overlay .irfaps-add-btn:hover{border-color:#1e5b99;background:#f0f6fc}
#irfaps-modal-overlay .irfaps-warn-inline{margin-top:11px;background:#fffbeb!important;border-left:3px solid #d97706;border-radius:7px!important;
    padding:10px 13px!important;font-size:12.5px!important;color:#92400e!important;line-height:1.5}

/* Receipt */
#irfaps-modal-overlay .irfaps-receipt{background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:11px!important;overflow:hidden!important;margin-bottom:12px}
#irfaps-modal-overlay .irfaps-rr{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:6px 14px!important;border-bottom:1px solid #f1f3f7;font-size:12.5px}
#irfaps-modal-overlay .irfaps-rr:last-child{border-bottom:none}
#irfaps-modal-overlay .irfaps-rr span:first-child{color:#6b7280}
#irfaps-modal-overlay .irfaps-rr span:last-child{color:#1d2327!important;font-weight:600!important;text-align:right}
#irfaps-modal-overlay .irfaps-receipt-total{display:flex!important;justify-content:space-between!important;padding:10px 14px!important;
    background:#1e5b99!important;color:#fff!important;font-size:14px!important;font-weight:800}

/* Payment method cards */
#irfaps-modal-overlay .irfaps-pm-grid{display:flex!important;flex-direction:column!important;gap:8px!important;margin-bottom:12px}
#irfaps-modal-overlay .irfaps-pm-card{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;text-align:left!important;
    background:#fff!important;border:2px solid #e5e7eb!important;border-radius:10px!important;padding:9px 13px!important;cursor:pointer;transition:all .15s}
#irfaps-modal-overlay .irfaps-pm-card:hover{border-color:#c7d7e8;background:#fafbff}
#irfaps-modal-overlay .irfaps-pm-card.active{border-color:#1e5b99;background:#f0f6fc!important;box-shadow:0 0 0 3px rgba(30,91,153,.08)}
#irfaps-modal-overlay .irfaps-pm-ico{font-size:22px!important;flex-shrink:0;min-width:28px;display:flex!important;align-items:center}
#irfaps-modal-overlay .irfaps-pm-body{flex:1!important;display:flex!important;flex-direction:column!important;gap:2px}
#irfaps-modal-overlay .irfaps-pm-body strong{font-size:14px!important;color:#1d2327!important;font-weight:700}
#irfaps-modal-overlay .irfaps-pm-body span{font-size:12.5px!important;color:#6b7280!important;line-height:1.4}
#irfaps-modal-overlay .irfaps-pm-chk{width:22px!important;height:22px;border-radius:50%!important;background:#1e5b99!important;color:#fff!important;
    display:none!important;align-items:center!important;justify-content:center!important;font-size:12px!important;flex-shrink:0}
#irfaps-modal-overlay .irfaps-pm-card.active .irfaps-pm-chk{display:flex}
#irfaps-modal-overlay .irfaps-pp-logo{font-size:15px!important;font-weight:800!important;color:#003087!important;letter-spacing:-.3px}
#irfaps-modal-overlay .irfaps-pp-logo em{color:#009cde!important;font-style:normal}

/* Payment panels */
#irfaps-modal-overlay .irfaps-pay-panel{background:#fafbfc!important;border:1px solid #eef1f5!important;border-radius:11px!important;padding:12px 15px}
#irfaps-modal-overlay .irfaps-secure{font-size:12.5px!important;color:#6b7280!important;margin-bottom:14px;display:flex!important;align-items:center!important;gap:6px}
#irfaps-modal-overlay .irfaps-btn-pay{width:100%!important;background:#1e5b99!important;color:#fff!important;border:none!important;border-radius:9px!important;
    padding:11px!important;font-size:14px!important;font-weight:700!important;cursor:pointer;transition:background .15s}
#irfaps-modal-overlay .irfaps-btn-pay:hover{background:#164f8a}
#irfaps-modal-overlay .irfaps-btn-pay:disabled{background:#93c5fd!important;cursor:not-allowed}
#irfaps-modal-overlay .irfaps-btn-paypal{width:100%!important;background:#ffc439!important;color:#003087!important;border:2px solid #f0b90b!important;
    border-radius:9px!important;padding:11px!important;font-size:14px!important;font-weight:700!important;cursor:pointer;transition:background .15s}
#irfaps-modal-overlay .irfaps-btn-paypal:hover{background:#f0b90b}
#irfaps-modal-overlay .irfaps-btn-paypal:disabled{opacity:.6;cursor:not-allowed}
#irfaps-modal-overlay .irfaps-btn-onsite{width:100%!important;background:#fff!important;color:#92400e!important;border:2px solid #d97706!important;
    border-radius:9px!important;padding:11px!important;font-size:14px!important;font-weight:700!important;cursor:pointer;transition:all .15s}
#irfaps-modal-overlay .irfaps-btn-onsite:hover{background:#fffbeb!important;border-color:#b45309}
#irfaps-modal-overlay .irfaps-btn-onsite:disabled{opacity:.6;cursor:not-allowed}

#irfaps-modal-overlay .irfaps-onsite-box{background:#fffbeb!important;border:1px solid #fde68a!important;border-radius:9px!important;
    padding:14px 16px!important;margin-bottom:14px;font-size:13px!important;color:#78350f!important;line-height:1.6}
#irfaps-modal-overlay .irfaps-onsite-box strong{display:block!important;margin-bottom:8px;font-size:13.5px!important;color:#92400e}
#irfaps-modal-overlay .irfaps-onsite-box ul{margin:0!important;padding-left:19px}
#irfaps-modal-overlay .irfaps-onsite-box li{margin-bottom:4px}

/* Errors */
#irfaps-modal-overlay .irfaps-err-slot{margin-top:12px}
#irfaps-modal-overlay .irfaps-err{background:#fef2f2!important;border-left:3px solid #dc2626;border-radius:7px!important;
    padding:11px 14px!important;font-size:13px!important;color:#991b1b!important;font-weight:600!important;line-height:1.5}

/* Done screen */
#irfaps-modal-overlay .irfaps-done{text-align:center!important;padding:12px 0}
#irfaps-modal-overlay .irfaps-done-icon{font-size:52px!important;margin-bottom:14px}
#irfaps-modal-overlay .irfaps-done h3{margin:0 0 7px!important;font-size:21px!important;font-weight:800!important;color:#1d2327}
#irfaps-modal-overlay .irfaps-done-sub{margin:0 0 20px!important;font-size:14px!important;color:#6b7280!important;line-height:1.55}
#irfaps-modal-overlay .irfaps-done-card{background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:11px!important;
    overflow:hidden!important;margin-bottom:16px;text-align:left}
#irfaps-modal-overlay .irfaps-done-note{background:#f0f9ff!important;border-left:3px solid #0ea5e9;border-radius:7px!important;
    padding:12px 15px!important;font-size:13px!important;color:#0c4a6e!important;line-height:1.6!important;margin-bottom:18px;text-align:left}

/* Divider */
#irfaps-modal-overlay .irfaps-divider{border:none!important;border-top:1px solid #eef1f5;margin:16px 0}

/* Responsive */
@media(max-width:640px){
    #irfaps-modal-overlay{padding:0!important;align-items:flex-end}
    #irfaps-modal{max-height:96vh;border-radius:16px 16px 0 0}
    #irfaps-modal-overlay .irfaps-modal-body{padding:18px 16px}
    #irfaps-modal-overlay .irfaps-modal-header{padding:16px 18px 14px}
    #irfaps-modal-overlay .irfaps-modal-footer{padding:12px 16px}
    #irfaps-modal-overlay .irfaps-fr{grid-template-columns:1fr}
    #irfaps-modal-overlay .irfaps-step-tab{padding:10px 12px!important;font-size:0!important;gap:0}
    #irfaps-modal-overlay .irfaps-step-tab .irfaps-step-num{font-size:10.5px}
    #irfaps-modal-overlay .irfaps-step-tab.active{font-size:12px!important;gap:7px}
    #irfaps-modal-overlay .irfaps-summary-strip{gap:14px}
    #irfaps-modal-overlay .irfaps-choice{padding:13px 14px!important;gap:11px}
    #irfaps-modal-overlay .irfaps-section{padding:14px 15px}
}

/* ── Missing table/list classes (Bug 13) ──────────────────────────── */
.irfaps-course-title{font-weight:600;color:#0f172a;font-size:14.5px;line-height:1.35;}
.irfaps-time-chip{font-size:12px;color:#94a3b8;margin-top:3px;display:inline-flex;align-items:center;gap:4px;}
.irfaps-row-note{font-size:12px;color:#64748b;margin-top:4px;font-style:italic;}
.irfaps-badge-expired{display:inline-block;padding:5px 12px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:600;border-radius:20px;}
.irfaps-badge-full{display:inline-block;padding:5px 12px;background:#fee2e2;color:#dc2626;font-size:12px;font-weight:600;border-radius:20px;}
.irfaps-cal-legend{display:flex;gap:14px;margin-top:10px;padding:8px 12px;font-size:12px;color:#64748b;}
.irfaps-cal-leg{display:inline-flex;align-items:center;gap:6px;}
.irfaps-cal-leg::before{content:'';display:inline-block;width:10px;height:10px;border-radius:3px;}
.irfaps-cal-leg-ok::before{background:#dbeafe;}
.irfaps-cal-leg-low::before{background:#fef9c3;}
.irfaps-cal-leg-full::before{background:#fee2e2;}

.irfaps-table-wrap::-webkit-scrollbar{width:5px;height:5px;}
.irfaps-table-wrap::-webkit-scrollbar-track{background:transparent;}
.irfaps-table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:100px;}
.irfaps-table-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8;}