/* contribution-manage — page styles extracted from inline <style> block */
:root{--bg:#0f0b09;--surface:#1a1008;--surface2:#241508;--surface3:#2e1a08;--border:rgba(255,255,255,.08);--accent:#e07844;--gold:#f5c842;--text:#f5e8dc;--muted:rgba(245,232,220,.75);--success:#22c55e;--danger:#ef4444;--info:#60a5fa;--warning:#f59e0b;}
body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;min-height:100vh;}
.navbar-brand{font-weight:800;color:var(--accent)!important;letter-spacing:2px;font-size:18px;}
.navbar{background:var(--surface)!important;border-bottom:1px solid var(--border);}
.nav-link{color:var(--muted)!important;font-size:13px;}
.nav-link:hover{color:var(--text)!important;}
.abv-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;}
.stat-box{text-align:center;padding:16px 8px;background:var(--surface2);border-radius:10px;border:1px solid var(--border);}
.stat-box .num{font-size:26px;font-weight:800;}
.stat-box .lbl{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.stat-collected .num{color:var(--accent);}
.stat-invited .num{color:var(--info);}
.stat-paid .num{color:var(--success);}
.stat-pending .num{color:var(--gold);}
/* Progress */
.prog-bar{height:8px;background:rgba(255,255,255,.07);border-radius:4px;overflow:hidden;margin-top:8px;}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--accent),#c66533);border-radius:4px;transition:width .5s;}
/* Tabs */
.abv-tabs{display:flex;gap:2px;background:var(--surface2);border-radius:10px;padding:4px;margin-bottom:16px;overflow-x:auto;}
.abv-tab{flex:1;padding:8px 10px;font-size:12px;font-weight:600;text-align:center;cursor:pointer;border-radius:7px;color:var(--muted);background:transparent;border:none;transition:all .2s;white-space:nowrap;min-width:80px;}
.abv-tab.active{background:var(--surface3);color:var(--accent);border:1px solid rgba(224,120,68,.2);}
.abv-tab:hover:not(.active){color:var(--text);}
/* Campaign list */
.camp-item{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;transition:border-color .2s;margin-bottom:8px;}
.camp-item:hover,.camp-item.selected{border-color:var(--accent);}
.camp-item .camp-title{font-weight:700;font-size:15px;}
.camp-item .camp-meta{font-size:11px;color:var(--muted);margin-top:3px;}
/* Table */
.table{color:var(--text)!important;--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-striped-color:var(--text);--bs-table-hover-color:var(--text);}
.table thead th{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)!important;border-bottom:1px solid var(--border)!important;font-weight:500;}
.table tbody tr{border-bottom:1px solid rgba(255,255,255,.04)!important;}
.table tbody td{font-size:13px;padding:10px 8px!important;vertical-align:middle;color:var(--text)!important;}
.badge-paid,.badge-complete{background:rgba(34,197,94,.12);color:var(--success);border:1px solid rgba(34,197,94,.2);padding:3px 10px;border-radius:20px;font-size:11px;}
.badge-progress{background:rgba(234,179,8,.12);color:#facc15;border:1px solid rgba(234,179,8,.25);padding:3px 10px;border-radius:20px;font-size:11px;}
.badge-sent{background:rgba(96,165,250,.1);color:var(--info);border:1px solid rgba(96,165,250,.2);padding:3px 10px;border-radius:20px;font-size:11px;}
.badge-pending{background:rgba(255,255,255,.06);color:var(--muted);border:1px solid rgba(255,255,255,.1);padding:3px 10px;border-radius:20px;font-size:11px;}
.badge-new{background:rgba(96,165,250,.1);color:var(--info);border:1px solid rgba(96,165,250,.2);padding:3px 8px;border-radius:10px;font-size:10px;}
.code-mono{font-family:monospace;font-size:12px;color:var(--accent);letter-spacing:1px;}
.amount-cell{font-weight:700;color:var(--accent);}
/* Forms */
.form-control,.form-select{background:var(--surface2)!important;border:1px solid var(--border)!important;color:var(--text)!important;border-radius:8px!important;}
.form-control:focus,.form-select:focus{border-color:var(--accent)!important;box-shadow:none!important;}
.form-control::placeholder{color:var(--muted)!important;}
.form-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.search-box{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:9px 14px;color:var(--text);font-size:13px;width:100%;outline:none;transition:border-color .2s;}
.search-box:focus{border-color:var(--accent);}
.search-box::placeholder{color:var(--muted);}
/* Buttons */
.btn-accent{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s;}
.btn-accent:hover{opacity:.88;}
.btn-accent:disabled{opacity:.5;cursor:not-allowed;}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:8px 16px;font-size:13px;cursor:pointer;transition:all .2s;}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn-sm-icon{background:transparent;border:none;color:var(--muted);padding:4px 6px;cursor:pointer;border-radius:4px;font-size:14px;}
.btn-sm-icon:hover{color:var(--accent);}
.btn-sm-icon.danger:hover{color:var(--danger);}
.btn-danger-sm{background:transparent;border:1px solid rgba(239,68,68,.3);color:#fca5a5;border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;}
.btn-danger-sm:hover{background:rgba(239,68,68,.1);}
.btn-wa{background:#25D366;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;}
.btn-wa:hover{background:#1ebe5a;}
/* Section headers */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.section-title{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0;}
/* Channel badges */
.channel-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .2s;}
.ch-sms{background:rgba(37,99,235,.1);color:#60a5fa;border-color:rgba(37,99,235,.25);}
.ch-sms.active,.ch-sms:hover{background:#2563eb;color:#fff;border-color:#2563eb;}
.ch-email{background:rgba(168,85,247,.1);color:#c084fc;border-color:rgba(168,85,247,.25);}
.ch-email.active,.ch-email:hover{background:#7c3aed;color:#fff;border-color:#7c3aed;}
.ch-wa{background:rgba(37,211,102,.1);color:#22c55e;border-color:rgba(37,211,102,.25);}
.ch-wa.active,.ch-wa:hover{background:#16a34a;color:#fff;border-color:#16a34a;}
/* Messaging cards */
.msg-action-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:16px;}
.msg-action-title{font-size:13px;font-weight:700;margin-bottom:4px;}
.msg-action-desc{font-size:12px;color:var(--muted);margin-bottom:12px;}
/* Public link box */
.pub-link-box{background:rgba(224,120,68,.05);border:1px solid rgba(224,120,68,.15);border-radius:8px;padding:12px 14px;}
/* Multi-account rows */
.acct-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;}
.acct-row .form-label{font-size:10px;margin-bottom:4px;}
.btn-add-acct{background:rgba(224,120,68,.1);border:1px dashed rgba(224,120,68,.35);color:var(--accent);border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600;cursor:pointer;width:100%;transition:all .2s;text-align:center;}
.btn-add-acct:hover{background:rgba(224,120,68,.18);}
.btn-del-acct{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px 6px;border-radius:4px;font-size:16px;transition:color .15s;}
.btn-del-acct:hover{color:var(--danger);}
/* Payment item */
.payment-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:8px;display:flex;align-items:center;gap:12px;}
.payment-amount{font-size:18px;font-weight:800;color:var(--accent);}
/* Pagination */
.pg-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.pg-info{font-size:11px;color:var(--muted);}
.pg-pages{display:flex;gap:4px;flex-wrap:wrap;}
.pg-btn{background:var(--surface2);border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;min-width:32px;text-align:center;}
.pg-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);}
.pg-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.pg-btn:disabled{opacity:.35;cursor:default;}
/* Prefix strip */
.prefix-strip{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:5px;}
.prefix-btn{background:var(--surface3);border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;}
.prefix-btn:hover{border-color:var(--accent);color:var(--accent);}
.prefix-btn.selected{background:rgba(224,120,68,.15);border-color:var(--accent);color:var(--accent);}
/* Toast */
.toast-container{position:fixed;top:68px;right:16px;z-index:9999;}
.abv-toast{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px;min-width:220px;font-size:13px;opacity:0;transform:translateX(20px);transition:all .25s;margin-bottom:8px;}
.abv-toast.show{opacity:1;transform:none;}
/* Card preview */
.card-preview-wrap{border-radius:12px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.4);width:100%;max-width:280px;margin:0 auto;transition:all .3s;}
.card-preview-bar{height:5px;width:100%;}
.card-preview-inner{padding:18px 16px 14px;}
.card-preview-type{font-size:9px;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;opacity:.7;}
.card-preview-title{font-size:18px;line-height:1.2;margin-bottom:4px;font-weight:700;}
.card-preview-divider{height:1px;margin:8px 0;opacity:.25;}
.card-preview-detail{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:4px;opacity:.8;}
.card-preview-money{background:rgba(255,255,255,.1);border-radius:6px;padding:8px 12px;margin-top:10px;}
.card-preview-money-title{font-size:9px;letter-spacing:2px;text-transform:uppercase;opacity:.6;margin-bottom:3px;}
.card-preview-money-provider{font-size:14px;font-weight:700;}
.card-preview-money-number{font-family:monospace;font-size:12px;opacity:.8;}
.card-preview-qr{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);}
.card-preview-qr-box{width:42px;height:42px;background:rgba(255,255,255,.15);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;color:rgba(255,255,255,.5);}
.card-preview-id{font-family:monospace;font-size:13px;font-weight:800;opacity:.9;}
/* Danger zone */
.danger-zone{background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.2);border-radius:10px;padding:16px;}
/* Dropdown */
.dropdown-menu{background:var(--surface2);border:1px solid var(--border);border-radius:8px;}
.dropdown-item{color:var(--text);font-size:13px;}
.dropdown-item:hover{background:var(--surface3);color:var(--accent);}
.dropdown-divider{border-color:var(--border);}
/* Status badge */
.status-active{color:var(--success);font-size:11px;}
.status-closed{color:var(--muted);font-size:11px;}
/* Send log */
.send-log{background:var(--surface2);border:1px solid var(--border);border-radius:8px;max-height:160px;overflow-y:auto;padding:10px 14px;}
.send-log-item{font-size:12px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04);display:flex;gap:8px;}
.send-log-item:last-child{border:none;}
/* Card template grid */
.card-tpl-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.card-tpl-card:hover{border-color:rgba(224,120,68,.4);}
.card-tpl-card.is-default{border-color:var(--accent);box-shadow:0 0 0 2px rgba(224,120,68,.18);}
.card-tpl-preview{position:relative;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:110px;background:var(--bg);padding:10px;}
.card-tpl-hover{position:absolute;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .2s;}
.card-tpl-card:hover .card-tpl-hover{opacity:1;}
.card-tpl-hover-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;padding:6px 14px;border-radius:8px;font-size:12px;cursor:pointer;transition:background .15s;}
.card-tpl-hover-btn:hover{background:rgba(255,255,255,.22);}
.card-tpl-footer{padding:12px 14px 14px;}
.badge-default{background:rgba(224,120,68,.15);color:var(--accent);border:1px solid rgba(224,120,68,.35);padding:2px 8px;border-radius:10px;font-size:10px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;}
/* Card preview modal */
#cardPreviewModal .modal-content{background:var(--surface);border:1px solid var(--border);border-radius:16px;color:var(--text);}
#cardPreviewModal .modal-header,#cardPreviewModal .modal-footer{border-color:var(--border);}
#card-preview-container{display:flex;align-items:center;justify-content:center;min-height:180px;padding:8px;}
