:root{--ringi:#534ab7;--ringi-dark:#3c3489;--ringi-bg:#eeedfe;--ringi-border:#afa9ec;--voice:#1d9e75;--voice-dark:#0f6e56;--voice-bg:#e1f5ee;--voice-border:#9fe1cb;--reach:#378add;--reach-dark:#185fa5;--reach-bg:#e6f1fb;--reach-border:#b5d4f4;--wa:#25d366;--wa-bg:#eaf3de;--wa-dark:#27500a;--email:#e67e22;--email-dark:#7d4007;--email-bg:#fef3e2;--email-border:#f5c97a;--amber-bg:#faeeda;--amber:#ba7517;--surface-0:#f1efe8;--surface-1:#f8f7f4;--surface-2:#fff;--border:rgba(0,0,0,.08);--border-strong:rgba(0,0,0,.14);--text-primary:#1a1916;--text-secondary:#4a4845;--text-muted:#888580;--success-bg:#eaf3de;--success:#27500a;--danger-bg:#fcebeb;--danger:#791f1f;--radius:8px;--radius-lg:12px;--shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:var(--text-primary);background:var(--surface-0);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-medium{font-weight:500}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.flex-1{flex:1 1}.min-w-0{min-width:0}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-2{grid-template-columns:1fr 1fr;grid-gap:10px}.grid-2,.grid-4{display:grid;gap:10px}.grid-4{grid-template-columns:repeat(4,1fr);grid-gap:10px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.card{background:var(--surface-2);border:.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:.5px solid var(--border)}.card-head-title{font-size:13px;font-weight:500}.card-head-action{font-size:11px;color:var(--ringi);cursor:pointer}.card-head-action:hover{text-decoration:underline}.stat-card{background:var(--surface-1);border-radius:var(--radius);padding:12px}.stat-label{font-size:11px;color:var(--text-muted);margin-bottom:3px}.stat-value{font-size:22px;font-weight:500}.stat-note{font-size:11px;margin-top:2px;color:var(--text-muted)}.stat-up{color:var(--voice-dark)}.module-card{border-radius:var(--radius-lg);padding:14px;border:.5px solid var(--border);cursor:pointer;transition:opacity .1s}.module-card:hover{opacity:.9}.module-card.voice{background:var(--voice-bg);border-color:var(--voice-border)}.module-card.reach{background:var(--reach-bg);border-color:var(--reach-border)}.module-icon{width:32px;height:32px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.module-icon.voice{background:var(--voice);color:#fff}.module-icon.reach{background:var(--reach);color:#fff}.module-stat-row{display:flex;gap:8px;margin-top:10px}.module-stat{flex:1 1;padding:7px 8px;border-radius:6px;background:hsla(0,0%,100%,.55)}.module-stat-value{font-size:18px;font-weight:500}.module-stat-value.voice{color:var(--voice-dark)}.module-stat-value.reach{color:var(--reach-dark)}.module-stat-label{font-size:10px;color:var(--text-secondary);margin-top:1px}.lead-row{display:flex;align-items:flex-start;gap:10px;padding:9px 14px;border-bottom:.5px solid var(--border)}.lead-row:last-child{border-bottom:none}.lead-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;flex-shrink:0}.lead-avatar.voice{background:var(--voice-bg);color:var(--voice-dark)}.lead-avatar.reach{background:var(--reach-bg);color:var(--reach-dark)}.lead-avatar.whatsapp{background:var(--wa-bg);color:var(--wa-dark)}.lead-avatar.email{background:var(--email-bg);color:var(--email-dark)}.lead-name{font-size:12px;font-weight:500}.lead-meta{font-size:11px;color:var(--text-muted);margin-top:1px}.lead-right{text-align:right;flex-shrink:0}.lead-time{font-size:10px;color:var(--text-muted);margin-top:3px}.pill{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:2px 7px;border-radius:10px;font-weight:500;white-space:nowrap}.pill.voice{background:var(--voice-bg);color:var(--voice-dark)}.pill.outbound{background:var(--ringi-bg);color:var(--ringi-dark)}.pill.sms{background:var(--reach-bg);color:var(--reach-dark)}.pill.whatsapp{background:var(--wa-bg);color:var(--wa-dark)}.pill.email{background:var(--email-bg);color:var(--email-dark)}.pill.new{background:var(--success-bg);color:var(--success)}.pill.warm{background:var(--amber-bg);color:var(--amber)}.pill.closed{background:var(--surface-0);color:var(--text-muted)}.badge{font-size:10px;padding:2px 7px;border-radius:10px;display:inline-block}.badge.active{background:var(--success-bg);color:var(--success)}.badge.setup{background:var(--amber-bg);color:var(--amber)}.badge.off{background:var(--surface-0);color:var(--text-muted)}.badge.running{background:var(--voice-bg);color:var(--voice-dark)}.badge.complete{background:var(--success-bg);color:var(--success)}.badge.draft{background:var(--surface-0);color:var(--text-muted)}.badge.sheets{background:var(--amber-bg);color:var(--amber)}.badge.onedrive{background:var(--reach-bg);color:var(--reach-dark)}.mod-badge{font-size:9px;padding:1px 6px;border-radius:6px;font-weight:500}.mod-badge.voice{background:var(--voice-bg);color:var(--voice-dark)}.mod-badge.sms{background:var(--reach-bg);color:var(--reach-dark)}.mod-badge.whatsapp{background:var(--wa-bg);color:var(--wa-dark)}.mod-badge.email{background:var(--email-bg);color:var(--email-dark)}.btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:6px 12px;border-radius:var(--radius);border:.5px solid var(--border-strong);color:var(--text-primary);background:var(--surface-2);cursor:pointer;transition:background .1s;white-space:nowrap}.btn:hover{background:var(--surface-1)}.btn.primary{background:var(--ringi);color:#fff;border-color:var(--ringi-dark)}.btn.primary:hover{background:var(--ringi-dark)}.btn.voice-btn{background:var(--voice);color:#fff;border-color:var(--voice-dark)}.btn.voice-btn:hover{background:var(--voice-dark)}.btn.sm{font-size:11px;padding:4px 9px}.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.toggle{width:34px;height:18px;border-radius:9px;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s;border:none;padding:0}.toggle:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;transition:left .15s}.toggle.on{background:var(--ringi)}.toggle.off{background:var(--border-strong)}.toggle.on:after{left:18px}.toggle.off:after{left:2px}.pbar{height:4px;background:var(--surface-0);overflow:hidden}.pbar,.pbar-fill{border-radius:2px}.pbar-fill{height:100%;transition:width .3s}.pbar-fill.voice{background:var(--voice)}.pbar-fill.reach{background:var(--reach)}.form-group{margin-bottom:14px}.form-label{font-size:12px;font-weight:500;margin-bottom:5px;display:block}.form-input,.form-select,.form-textarea{width:100%;padding:8px 10px;border-radius:var(--radius);border:.5px solid var(--border-strong);font-size:13px;font-family:inherit;color:var(--text-primary);background:var(--surface-2);transition:border-color .1s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--ringi)}.form-textarea{resize:vertical;min-height:80px}.form-hint{font-size:11px;color:var(--text-muted);margin-top:4px}.cfg-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:.5px solid var(--border)}.cfg-row:last-child{border-bottom:none}.cfg-label{font-size:13px}.cfg-hint{font-size:11px;color:var(--text-muted);margin-top:2px}.module-block{border:.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:10px}.module-block-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:.5px solid var(--border)}.module-block-head.voice{background:var(--voice-bg)}.module-block-head.reach{background:var(--reach-bg)}.module-block-head.wa{background:var(--wa-bg)}.module-block-body{padding:8px 12px;background:var(--surface-2)}.section-label{font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:14px 0 8px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:13px}.empty-state-icon{font-size:32px;margin-bottom:10px;opacity:.4}.loading{text-align:center;padding:30px;color:var(--text-muted);font-size:13px}.alert{padding:10px 14px;border-radius:var(--radius);font-size:12px;margin-bottom:12px}.alert.error{background:var(--danger-bg);color:var(--danger)}.alert.success{background:var(--success-bg);color:var(--success)}.campaign-item{padding:10px 14px;border-bottom:.5px solid var(--border)}.campaign-item:last-child{border-bottom:none}.campaign-stats{display:flex;gap:12px;margin-top:5px;font-size:11px;color:var(--text-muted)}.client-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:.5px solid var(--border);cursor:pointer;transition:background .1s}.client-row:last-child{border-bottom:none}.client-row:hover{background:var(--surface-1)}.client-avatar{width:32px;height:32px;border-radius:50%;justify-content:center;font-size:11px;font-weight:500;flex-shrink:0;background:var(--ringi-bg);color:var(--ringi-dark)}.channel-row,.client-avatar{display:flex;align-items:center}.channel-row{gap:10px;padding:9px 14px;border-bottom:.5px solid var(--border)}.channel-row:last-child{border-bottom:none}.channel-icon{width:30px;height:30px;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.channel-icon,.tab-group{border-radius:var(--radius);display:flex}.tab-group{gap:2px;background:var(--surface-1);padding:3px;border:.5px solid var(--border)}.tab-btn{padding:4px 12px;font-size:12px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);transition:all .1s}.tab-btn.active,.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background:var(--surface-2);font-weight:500;border:.5px solid var(--border)}