@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#f8fafc;--bg-surface:#fff;--bg-elevated:#f1f5f9;--bg-card:#00000005;--bg-card-hover:#0000000a;--border:#00000014;--border-strong:#00000026;--accent:#4f46e5;--accent-hover:#4338ca;--accent-glow:#4f46e526;--accent-subtle:#4f46e514;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--status-paid:#059669;--status-paid-bg:#0596691a;--status-pending:#d97706;--status-pending-bg:#d977061a;--status-failed:#dc2626;--status-failed-bg:#dc26261a;--status-expired:#4b5563;--status-expired-bg:#4b55631a;--status-processing:#4f46e5;--status-processing-bg:#4f46e51a;--status-refunded:#7c3aed;--status-refunded-bg:#7c3aed1a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--sidebar-w:240px}.dark{--bg-base:#060609;--bg-surface:#0d0d14;--bg-elevated:#12121e;--bg-card:#ffffff08;--bg-card-hover:#ffffff0e;--border:#ffffff14;--border-strong:#ffffff24;--accent:#6366f1;--accent-hover:#4f52e5;--accent-glow:#6366f140;--accent-subtle:#6366f11f;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#4b5563;--status-paid-bg:#10b9811f;--status-paid:#10b981;--status-pending:#f59e0b;--status-pending-bg:#f59e0b1f;--status-failed:#ef4444;--status-failed-bg:#ef44441f;--status-expired:#6b7280;--status-expired-bg:#6b72801f;--status-processing:#6366f1;--status-processing-bg:#6366f11f;--status-refunded:#8b5cf6;--status-refunded-bg:#8b5cf61f}html,body{background:var(--bg-base);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;transition:background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;transition:background .2s,border-color .2s,box-shadow .2s;box-shadow:0 1px 3px #0000000d}.card:hover{border-color:var(--border-strong);box-shadow:0 4px 12px #0000000a}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.badge--paid{background:var(--status-paid-bg);color:var(--status-paid);border:1px solid #22c55e40}.badge--pending{background:var(--status-pending-bg);color:var(--status-pending);border:1px solid #eab30840}.badge--failed{background:var(--status-failed-bg);color:var(--status-failed);border:1px solid #ef444440}.badge--expired{background:var(--status-expired-bg);color:var(--status-expired);border:1px solid #94a3b840}.badge--processing{background:var(--status-processing-bg);color:var(--status-processing);border:1px solid #3b82f640}.badge--refunded{background:var(--status-refunded-bg);color:var(--status-refunded);border:1px solid #a855f740}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;transition:background .18s,transform .12s,box-shadow .18s;display:inline-flex}.btn:active{transform:scale(.97)}.btn--primary{background:var(--accent);color:#fff;padding:10px 20px}.btn--primary:hover{background:var(--accent-hover);box-shadow:0 4px 15px var(--accent-glow)}.btn--ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0;padding:8px 16px}.btn--ghost:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.table-wrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:380px;max-height:calc(100dvh - 425px);position:relative;overflow:auto;box-shadow:0 4px 20px #0000000f}table{border-collapse:separate;border-spacing:0;width:100%}thead th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg-elevated);z-index:10;padding:14px 18px;font-size:11px;font-weight:700;position:sticky;top:0}tbody tr{transition:background .18s}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg-card-hover)}tbody td{color:var(--text-secondary);border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 18px;font-size:13.5px}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.richtext-editor{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .18s,box-shadow .18s;overflow:hidden}.richtext-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.richtext-toolbar{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex}.richtext-toolbar button{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;padding:5px 9px;font-family:inherit;font-size:12.5px;line-height:1}.richtext-toolbar button:hover{background:var(--bg-surface);color:var(--text-primary)}.richtext-toolbar button.active{background:var(--accent-subtle);color:var(--accent);border-color:#6366f14d}.richtext-divider{background:var(--border);width:1px;height:20px;margin:0 4px}.richtext-content{min-height:140px;max-height:360px;color:var(--text-primary);outline:none;padding:12px 14px;font-size:14px;line-height:1.6;overflow-y:auto}.richtext-content p{margin:0 0 10px}.richtext-content p:last-child{margin-bottom:0}.richtext-content ul,.richtext-content ol{margin:0 0 10px;padding-left:22px}.richtext-content blockquote{border-left:3px solid var(--border-strong);color:var(--text-secondary);margin:0 0 10px;padding-left:12px}.richtext-content h1,.richtext-content h2,.richtext-content h3,.richtext-content h4{color:var(--text-primary);margin:0 0 8px;font-weight:700}.richtext-content a{color:var(--accent)}.richtext-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-muted);float:left;pointer-events:none;height:0}.text-clip{-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.campaign-layout{grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);align-items:start;gap:32px;display:grid}.campaign-layout__detail{position:sticky;top:24px}@media (max-width:660px){.campaign-layout{grid-template-columns:1fr}.campaign-layout__detail{order:-1;position:static}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-in{animation:.3s both fadeIn}.spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}
