.sa-trigger{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;border:2px solid;cursor:pointer;font-weight:700;font-size:.9rem;transition:all .2s;background:transparent}
.sa-trigger:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.15)}
.sa-trigger i{font-size:1rem}
.sa-trigger.subscribed{opacity:.7;pointer-events:none}

.sa-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9999;align-items:center;justify-content:center}
.sa-modal-overlay.show{display:flex}
.sa-modal{background:var(--bg-card,#fff);border:1px solid var(--border,#eee);border-radius:16px;width:420px;max-width:92vw;padding:0;overflow:hidden;animation:saSlideIn .3s ease}
@keyframes saSlideIn{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.sa-modal-head{padding:24px 24px 0;text-align:center}
.sa-modal-head i{font-size:2.5rem;margin-bottom:12px;display:block}
.sa-modal-head h3{font-size:1.2rem;font-weight:800;margin:0 0 6px}
.sa-modal-head p{color:var(--text-muted,#999);font-size:.85rem;margin:0}
.sa-modal-body{padding:20px 24px}
.sa-input{width:100%;padding:12px 16px;border:1px solid var(--border,#ddd);border-radius:10px;font-size:.95rem;background:var(--bg-raised,#f5f5f5);color:var(--text,#333);outline:none;transition:border .2s}
.sa-input:focus{border-color:var(--primary,#00E676)}
.sa-submit{width:100%;padding:13px;border:0;border-radius:10px;color:#000;font-weight:800;font-size:.95rem;cursor:pointer;margin-top:12px;transition:opacity .2s}
.sa-submit:hover{opacity:.9}
.sa-submit:disabled{opacity:.5;cursor:not-allowed}
.sa-modal-foot{padding:0 24px 20px;text-align:center}
.sa-close{background:none;border:0;color:var(--text-muted,#999);font-size:.85rem;cursor:pointer;padding:8px}
.sa-close:hover{color:var(--text,#333)}
.sa-success{text-align:center;padding:24px}
.sa-success i{font-size:3rem;color:var(--primary,#00E676);margin-bottom:12px;display:block}
.sa-error{color:var(--red,#FF4757);font-size:.82rem;margin-top:8px;display:none}
.sa-count{font-size:.78rem;color:var(--text-muted,#999);margin-top:6px;display:flex;align-items:center;gap:4px}
