*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0b0e14;--bg-secondary:#111620;--bg-card:#161c2ad9;--bg-input:#0a0e16e6;--bg-glass:#1e263a80;--text-primary:#eaedf3;--text-secondary:#7a8399;--text-muted:#4d566a;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-glow:#7c3aed40;--success:#22c55e;--success-bg:#22c55e14;--error:#ef4444;--error-bg:#ef444414;--border:#ffffff0f;--border-focus:#7c3aed80;--radius:14px;--radius-sm:10px;--shadow:0 4px 24px #00000059}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif}#root{max-width:480px;margin:0 auto;padding:16px 14px 32px}.header{justify-content:space-between;align-items:center;padding:16px 4px 20px;display:flex}.header-brand{align-items:center;gap:10px;display:flex}.header-logo{background:linear-gradient(135deg, var(--accent), #a855f7);width:34px;height:34px;box-shadow:0 0 20px var(--accent-glow);border-radius:10px;justify-content:center;align-items:center;font-size:16px;display:flex}.header h1{letter-spacing:-.3px;color:var(--text-primary);font-size:18px;font-weight:700}.header h1 span{color:var(--text-muted);margin-left:6px;font-size:13px;font-weight:400}.step-indicator{align-items:center;gap:6px;display:flex}.step-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:all .3s}.step-dot.active{background:var(--accent);box-shadow:0 0 8px var(--accent-glow);border-radius:4px;width:20px}.step-dot.done{background:var(--success)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);margin-bottom:14px;padding:20px}.card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;align-items:center;gap:8px;margin-bottom:16px;font-size:11px;font-weight:700;display:flex}.card-title:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:14px}label{color:var(--text-secondary);letter-spacing:.2px;margin-top:16px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}label:first-of-type{margin-top:0}input,select,textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:12px 14px;font-size:14px;transition:all .2s}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237a8399' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}select option{background:var(--bg-secondary);color:var(--text-primary)}.btn{border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.2px;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), #9333ea);color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:hover{box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--bg-glass);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{color:var(--text-primary);border-color:#ffffff1f}.btn-danger{color:var(--error);background:#ef44441f;border:1px solid #ef444433}.btn-row{gap:10px;margin-top:14px;display:flex}.btn-row .btn{flex:1}.preview-meta{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border);flex-direction:column;gap:4px;margin-bottom:14px;padding:12px 14px;display:flex}.preview-meta span{color:var(--text-secondary);font-size:12px}.preview-meta strong{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.preview-frame{border-radius:var(--radius-sm);box-shadow:var(--shadow);background:#fff;margin:12px 0;overflow:hidden}.preview-toggle{justify-content:flex-end;gap:4px;margin-bottom:8px;display:flex}.preview-toggle button{border:1px solid var(--border);background:var(--bg-glass);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px;transition:all .2s}.preview-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.result-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);overflow:hidden}.result-header{align-items:center;gap:12px;padding:20px;display:flex}.result-header.success{background:var(--success-bg);border-bottom:1px solid #22c55e1f}.result-header.error{background:var(--error-bg);border-bottom:1px solid #ef44441f}.result-header .icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.result-header.success .icon{background:#22c55e26}.result-header.error .icon{background:#ef444426}.result-header .title{font-size:15px;font-weight:600;line-height:1.3}.result-body{padding:8px 20px 16px}.result-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.result-row:last-child{border-bottom:none}.result-row .label{color:var(--text-muted);font-size:12px;font-weight:500}.result-row .value{color:var(--text-primary);text-align:right;word-break:break-all;max-width:60%;font-weight:500}.status-sent{color:var(--success)!important;font-weight:700!important}.status-failed{color:var(--error)!important;font-weight:700!important}.loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 20px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.campaign-grid{flex-direction:column;gap:10px;display:flex}.campaign-card{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:14px;padding:16px;transition:all .2s;display:flex}.campaign-card:hover{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.campaign-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:#7c3aed0f}.campaign-card .bank-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.campaign-card .bank-icon.td{color:#fff;background:linear-gradient(135deg,#1a5336,#2d8f5e)}.campaign-card .bank-icon.scotiabank{color:#fff;background:linear-gradient(135deg,#c60e1f,#e8384f)}.campaign-card .campaign-info{flex:1;min-width:0}.campaign-card .campaign-info .name{margin-bottom:2px;font-size:14px;font-weight:600}.campaign-card .campaign-info .bank-label{color:var(--text-muted);font-size:12px}.campaign-card .check{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;transition:all .2s;display:flex}.campaign-card.selected .check{background:var(--accent);border-color:var(--accent);color:#fff}.char-counter{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px}.divider{background:var(--border);height:1px;margin:16px 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card,.result-card{animation:.3s fadeIn}
