/* RCKG Fundraising Platform - Base Styles */
#rckg-app {
    width: 100%;
    min-height: 600px;
    position: relative;
    box-sizing: border-box;
}
#rckg-app * {
    box-sizing: border-box;
}
#rckg-app input,
#rckg-app select,
#rckg-app textarea,
#rckg-app button {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Remove WordPress theme interference */
#rckg-app a {
    color: inherit;
    text-decoration: none;
}
#rckg-app button {
    transition: all 0.15s ease;
}
#rckg-app button:hover {
    opacity: 0.9;
}
/* Scrollable table wrapper */
.rckg-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ═══════════════════════════════════════════════════════════════
   RCKG QR CODE ADMIN PAGES
═══════════════════════════════════════════════════════════════ */
.rckg-qr-page { display:flex; flex-direction:column; gap:18px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; max-width:860px; padding-bottom:60px; }

/* Page header */
.rckg-qr-page-header { background:#003F88; border-radius:12px; padding:20px 26px; margin-bottom:2px; }
.rckg-qr-ph-inner    { display:flex; align-items:center; gap:16px; }
.rckg-qr-ph-icon     { font-size:32px; flex-shrink:0; }
.rckg-qr-ph-title    { font-size:21px; font-weight:700; color:#fff; margin:0 0 4px; }
.rckg-qr-ph-desc     { font-size:13px; color:rgba(255,255,255,0.6); margin:0; line-height:1.5; }

/* Settings panel */
.rckg-qr-settings-panel  { background:#fff; border-radius:12px; border:0.5px solid #E2DDD5; overflow:hidden; }
.rckg-qr-settings-toggle { padding:14px 20px; font-size:14px; font-weight:700; color:#003F88; cursor:pointer; display:flex; justify-content:space-between; align-items:center; user-select:none; font-family:sans-serif; }
.rckg-qr-settings-toggle:hover { background:#F4F3EF; }
.rckg-qr-chevron         { font-size:11px; color:#6B7280; }
.rckg-qr-settings-body   { padding:20px 20px 24px; border-top:0.5px solid #E2DDD5; }
.rckg-qr-section-head    { font-size:11px; font-weight:700; color:#003F88; text-transform:uppercase; letter-spacing:0.5px; border-bottom:1px solid #E2DDD5; padding-bottom:8px; margin:18px 0 12px; font-family:sans-serif; }
.rckg-qr-section-head:first-child { margin-top:0; }
.rckg-qr-notice { background:#EEF2FF; border-radius:7px; padding:9px 14px; font-size:12px; color:#3730A3; margin-bottom:12px; line-height:1.5; font-family:sans-serif; }
.rckg-qr-field-row  { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:12px; }
.rckg-qr-field      { display:flex; flex-direction:column; gap:5px; }
.rckg-qr-field-label{ font-size:11px; font-weight:700; color:#6B7280; text-transform:uppercase; letter-spacing:0.4px; font-family:sans-serif; }
.rckg-qr-inp        { padding:9px 12px; border-radius:8px; border:1.5px solid #E2DDD5; font-size:14px; color:#111827; font-family:sans-serif; background:#fff; }
.rckg-qr-inp:focus  { outline:none; border-color:#003F88; }
.rckg-qr-color-inp  { height:40px; padding:3px 6px; cursor:pointer; }
.rckg-qr-logo-row   { display:flex; align-items:center; gap:14px; background:#F4F3EF; border-radius:9px; padding:12px 14px; margin-bottom:12px; flex-wrap:wrap; }
.rckg-qr-logo-preview { width:60px; height:60px; border-radius:50%; background:#EEF2FF; border:2px dashed #E2DDD5; display:flex; align-items:center; justify-content:center; overflow:hidden; flex-shrink:0; }
.rckg-qr-logo-prev-img { width:100%; height:100%; object-fit:cover; }

/* Size bar */
.rckg-qr-size-bar   { display:flex; align-items:center; gap:7px; background:#fff; border-radius:30px; padding:4px 6px 4px 12px; border:0.5px solid #E2DDD5; }
.rckg-qr-size-label { font-size:11px; font-weight:700; color:#6B7280; text-transform:uppercase; letter-spacing:0.5px; white-space:nowrap; font-family:sans-serif; }
.rckg-qr-size-btn   { padding:5px 14px; border-radius:20px; border:none; font-size:12px; font-weight:600; cursor:pointer; background:transparent; color:#6B7280; font-family:sans-serif; transition:all 0.15s; }
.rckg-qr-size-btn--on { background:#003F88; color:#fff; }

/* Card wrap */
.rckg-qr-card-wrap  { display:flex; flex-direction:column; align-items:center; gap:14px; }

/* QR Card */
.rckg-qr-card           { background:#fff; border-radius:20px; padding:24px 20px 16px; border:2.5px solid #E2DDD5; display:flex; flex-direction:column; align-items:center; width:100%; max-width:420px; box-shadow:0 4px 24px rgba(0,63,136,0.07); }
.rckg-qr-card--general  { border-color:#F4A800; }
.rckg-qr-card--project  { border-color:#003F88; }
.rckg-qr-card-header    { display:flex; align-items:center; gap:10px; width:100%; margin-bottom:12px; }
.rckg-qr-logo-wrap      { flex-shrink:0; }
.rckg-qr-logo-img       { width:40px; height:40px; border-radius:50%; object-fit:cover; border:2px solid #003F88; display:block; }
.rckg-qr-logo-icon      { width:40px; height:40px; border-radius:50%; background:#F4A800; display:flex; align-items:center; justify-content:center; font-size:19px; color:#003F88; font-weight:900; }
.rckg-qr-club-info      { flex:1; }
.rckg-qr-club-name      { font-size:10px; font-weight:800; color:#003F88; line-height:1.2; font-family:sans-serif; }
.rckg-qr-club-sub       { font-size:9px; color:#9CA3AF; letter-spacing:1.2px; text-transform:uppercase; margin-top:2px; font-family:sans-serif; }
.rckg-qr-rule           { height:1px; background:#E2DDD5; width:100%; margin:0 0 12px; }
.rckg-qr-event-badge    { display:inline-block; background:#FFF8E1; border:1px solid #F4A800; border-radius:20px; padding:4px 14px; font-size:10px; font-weight:700; color:#92400E; margin-bottom:12px; max-width:100%; text-align:center; font-family:sans-serif; }
.rckg-qr-badge          { display:inline-block; padding:5px 14px; border-radius:20px; font-size:11px; font-weight:700; letter-spacing:0.3px; margin-bottom:12px; font-family:sans-serif; }
.rckg-qr-badge--blue    { background:#EEF2FF; color:#3730A3; border:1px solid #C7D2FE; }
.rckg-qr-badge--green   { background:#ECFDF5; color:#065F46; border:1px solid #6EE7B7; }
.rckg-qr-border         { padding:10px; border-radius:13px; border:3px solid #003F88; background:#fff; box-shadow:0 3px 14px rgba(0,63,136,0.09); margin-bottom:16px; }
.rckg-qr-border canvas  { display:block; }
.rckg-qr-scan-cta       { font-size:18px; font-weight:700; color:#003F88; margin-bottom:4px; text-align:center; font-family:Georgia,serif; }
.rckg-qr-proj-title     { font-size:14px; font-weight:700; color:#111827; text-align:center; margin-bottom:2px; font-family:sans-serif; }
.rckg-qr-proj-sub       { font-size:11px; color:#6B7280; text-align:center; margin-bottom:8px; font-family:sans-serif; }
.rckg-qr-url-pill       { background:#F4F3EF; border-radius:7px; padding:6px 12px; font-family:monospace; font-size:9px; color:#003F88; word-break:break-all; text-align:center; width:100%; margin-bottom:7px; border:0.5px solid #E2DDD5; }
.rckg-qr-momo           { font-size:10px; color:#6B7280; text-align:center; margin-bottom:14px; font-family:sans-serif; }
.rckg-qr-momo strong    { color:#003F88; }
.rckg-qr-actions        { display:flex; gap:7px; flex-wrap:wrap; justify-content:center; }

/* Project selector */
.rckg-qr-sel-section { background:#fff; border-radius:12px; border:0.5px solid #E2DDD5; padding:18px 20px; }
.rckg-qr-sel-label   { display:block; font-size:13px; font-weight:700; color:#003F88; margin-bottom:10px; font-family:sans-serif; }
.rckg-qr-sel-row     { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.rckg-qr-dropdown    { flex:1; min-width:220px; padding:10px 13px; border-radius:9px; border:1.5px solid #E2DDD5; font-size:14px; color:#111827; background:#fff; cursor:pointer; font-family:sans-serif; }
.rckg-qr-dropdown:focus { outline:none; border-color:#003F88; }

/* Specific area */
.rckg-qr-specific-area { display:flex; flex-direction:column; align-items:center; gap:16px; }
.rckg-qr-placeholder   { background:#F4F3EF; border-radius:14px; padding:50px 24px; text-align:center; width:100%; }

/* Info box */
.rckg-qr-info-box { background:#EEF2FF; border-radius:10px; padding:13px 17px; font-size:13px; color:#3730A3; line-height:1.7; max-width:440px; width:100%; font-family:sans-serif; }
.rckg-qr-info-box code { background:#C7D2FE; padding:1px 5px; border-radius:4px; font-size:12px; word-break:break-all; }
.rckg-qr-info-box strong { color:#003F88; }

/* Buttons */
.rckg-qr-btn         { padding:7px 15px; border-radius:8px; border:none; font-family:sans-serif; font-size:12px; font-weight:600; cursor:pointer; transition:all 0.15s; display:inline-flex; align-items:center; gap:5px; }
.rckg-qr-btn--blue   { background:#003F88; color:#fff; }
.rckg-qr-btn--blue:hover { background:#002d66; }
.rckg-qr-btn--outline{ background:#fff; color:#003F88; border:1.5px solid #003F88; }
.rckg-qr-btn--ghost  { background:#F4F3EF; color:#6B7280; border:1px solid #E2DDD5; }

/* Modal */
.rckg-qr-modal-overlay { position:fixed; inset:0; background:rgba(0,30,80,0.55); z-index:99999; display:flex; align-items:center; justify-content:center; padding:24px 16px; }
.rckg-qr-modal         { background:#fff; border-radius:16px; padding:28px 24px; max-width:520px; width:100%; position:relative; box-shadow:0 20px 60px rgba(0,0,0,0.2); max-height:90vh; overflow-y:auto; }
.rckg-qr-modal-title   { font-size:17px; font-weight:700; color:#003F88; margin:0 0 18px; font-family:sans-serif; }
.rckg-qr-modal-close   { position:absolute; top:14px; right:14px; background:#F4F3EF; border:none; width:28px; height:28px; border-radius:50%; cursor:pointer; font-size:18px; color:#6B7280; display:flex; align-items:center; justify-content:center; }

/* Toast */
.rckg-qr-toast     { position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px); background:#003F88; color:#fff; padding:10px 24px; border-radius:30px; font-size:13px; font-weight:600; z-index:999999; opacity:0; transition:all 0.25s; pointer-events:none; white-space:nowrap; font-family:sans-serif; }
.rckg-qr-toast--in { opacity:1; transform:translateX(-50%) translateY(0); }
.rckg-qr-toast--err{ background:#B91C1C; }

/* Print */
@media print {
    .rckg-qr-page-header,.rckg-qr-settings-panel,.rckg-qr-sel-section,.rckg-qr-size-bar,.rckg-qr-actions,.rckg-qr-info-box,#wpadminbar,#adminmenuwrap,#adminmenuback { display:none !important; }
    .rckg-qr-card { box-shadow:none; margin:40px auto; page-break-inside:avoid; }
}
@media (max-width:600px) {
    .rckg-qr-field-row { grid-template-columns:1fr; }
}
