:root{--bg:#f7f8fa;--surface:#fff;--border:#e7e9ec;--text:#101828;--text-muted:#667085;--primary:#00a884;--primary-dark:#06997a;--primary-light:#e7f8f3;--sidebar-bg:#101828;--sidebar-text:#94a3b8;--sidebar-active-bg:#00a88426;--sidebar-active-text:#fff;--radius-lg:20px;--radius-md:12px;--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 4px 24px #10182814}html.dark{--bg:#0b0f19;--surface:#141a29;--border:#232a3b;--text:#f1f5f9;--text-muted:#94a3b8;--primary-light:#00a8841f}*{box-sizing:border-box}body,html,#root{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.app-shell{height:100vh;display:flex;overflow:hidden}.sb{background:var(--sidebar-bg);width:264px;min-width:264px;color:var(--sidebar-text);flex-direction:column;padding:20px 14px;display:flex}.sb-brand{align-items:center;gap:10px;padding:0 8px 24px;display:flex}.sb-brand-mark{color:#fff;background:linear-gradient(135deg,#00a884,#06997a);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:700;display:flex}.sb-brand-name{color:#fff;letter-spacing:.5px;font-size:16px;font-weight:700}.sb-nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sb-link{color:var(--sidebar-text);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sb-link:hover{color:#fff;background:#ffffff0f}.sb-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.sb-footer{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:8px;padding-top:14px;display:flex}.sb-user{align-items:center;gap:10px;min-width:0;display:flex}.sb-avatar{color:#fff;background:#00a884;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.sb-user-info{min-width:0}.sb-user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-size:13px;font-weight:600;overflow:hidden}.sb-user-role{color:#667085;text-transform:capitalize;font-size:11px}.sb-logout{color:var(--sidebar-text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;transition:background .15s;display:flex}.sb-logout:hover{color:#fff;background:#ffffff14}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.hdr{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:10;background:#ffffffb3;align-items:center;gap:20px;height:68px;min-height:68px;padding:0 28px;display:flex;position:sticky;top:0}html.dark .hdr{background:#141a29b3}.hdr-left{flex-shrink:0;align-items:center;gap:10px;display:flex}.hdr-logo{color:#fff;background:linear-gradient(135deg,#00a884,#06997a);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.hdr-tenant{color:var(--text);font-size:14.5px;font-weight:600}.hdr-search{background:var(--bg);border:1px solid var(--border);max-width:480px;color:var(--text-muted);border-radius:10px;flex:1;align-items:center;gap:10px;padding:9px 14px;display:flex}.hdr-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.hdr-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.hdr-icon-btn{width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s;display:flex;position:relative}.hdr-icon-btn:hover{background:var(--bg)}.hdr-badge{background:#f04438;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:8px}.hdr-profile{position:relative}.hdr-profile-btn{cursor:pointer;background:0 0;border:none;padding:0}.hdr-avatar{color:#fff;background:linear-gradient(135deg,#00a884,#06997a);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:600;display:flex}.hdr-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:20;border-radius:12px;width:200px;padding:14px;position:absolute;top:48px;right:0}.hdr-dropdown-name{color:var(--text);font-size:13.5px;font-weight:600}.hdr-dropdown-email{color:var(--text-muted);margin-top:2px;font-size:12px}.hdr-dropdown hr{border:none;border-top:1px solid var(--border);margin:10px 0}.hdr-dropdown button{color:#e74c3c;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:8px 10px;font-size:13px}.hdr-dropdown button:hover{background:#e74c3c14}.app-content{flex:1;min-height:0;padding:28px;overflow-y:auto}@media (width<=900px){.sb,.hdr-search{display:none}}.dash-header{margin-bottom:24px}.dash-title{color:var(--text);font-size:24px;font-weight:700}.dash-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:28px;display:grid}.kpi-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:22px;transition:transform .18s,box-shadow .18s}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.kpi-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.kpi-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.kpi-growth{border-radius:20px;padding:4px 9px;font-size:12.5px;font-weight:600}.kpi-growth.up{color:#12a150;background:#e7f9ef}.kpi-growth.down{color:#e74c3c;background:#fdecea}.kpi-value{color:var(--text);font-size:28px;font-weight:700}.kpi-label{color:var(--text-muted);margin-top:4px;font-size:13px}.chart-grid{grid-template-columns:2fr 1fr;gap:20px;margin-bottom:28px;display:grid}@media (width<=1100px){.chart-grid{grid-template-columns:1fr}}.chart-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:22px}.chart-title{color:var(--text);font-size:15px;font-weight:600}.chart-subtitle{color:var(--text-muted);margin-top:2px;font-size:12.5px}.chart-body{align-items:flex-end;gap:8px;margin-top:20px;display:flex}.chart-bar{background:linear-gradient(#00c8a0,#00a884);border-radius:6px 6px 0 0;flex:1;min-height:10px;transition:opacity .15s}.chart-bar:hover{opacity:.75}.bottom-grid{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}@media (width<=1100px){.bottom-grid{grid-template-columns:1fr}}.timeline-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:22px}.timeline-title{color:var(--text);margin-bottom:18px;font-size:15px;font-weight:600}.timeline-list{flex-direction:column;gap:16px;display:flex}.timeline-item{align-items:flex-start;gap:12px;display:flex}.activity-icon{border-radius:10px;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;display:flex}.timeline-text{color:var(--text);font-size:13.5px;line-height:1.4}.timeline-time{color:var(--text-muted);margin-top:2px;font-size:12px}.quick-actions{flex-direction:column;gap:12px;display:flex}.quick-action-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;align-items:center;gap:14px;padding:16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.quick-action-card:hover{box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-2px)}.quick-action-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.quick-action-label{color:var(--text);font-size:13.5px;font-weight:600}.quick-action-desc{color:var(--text-muted);margin-top:1px;font-size:12px}.chats-page{background:#fff;height:calc(100vh - 68px);min-height:0;margin:-28px;display:flex;overflow:hidden}.chat-list-panel{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;width:360px;min-width:300px;height:100%;min-height:0;display:flex}.chat-list-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:18px 18px 12px}.chat-view-tabs{gap:6px;margin-bottom:10px;display:flex}.chat-view-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;padding:6px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.chat-view-tab.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.chat-list-header h2{color:var(--text);margin:0 0 12px;font-size:18px;font-weight:700}.search-box{background:var(--bg);color:var(--text-muted);border-radius:20px;align-items:center;gap:8px;padding:8px 14px;display:flex}.search-box input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.chat-list-scroll{flex:1;min-height:0;overflow-y:auto}.chat-list-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}.chat-list-item{cursor:pointer;border-bottom:1px solid var(--border);border-left:3px solid #0000;align-items:center;gap:12px;padding:12px 18px;transition:background .15s,border-color .15s;display:flex}.chat-list-item:hover{background:var(--bg)}.chat-list-item.active{background:var(--primary-light);border-left:3px solid var(--primary)}.chat-avatar-wrap{flex-shrink:0;position:relative}.chat-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:15px;font-weight:600;display:flex}.chat-item-body{flex:1;min-width:0}.chat-item-row1{justify-content:space-between;align-items:baseline;display:flex}.chat-item-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.chat-list-item.active .chat-item-name{color:var(--primary-dark)}.chat-item-time{color:var(--text-muted);flex-shrink:0;margin-left:8px;font-size:11.5px}.chat-item-row2{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.chat-item-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:230px;font-size:13px;overflow:hidden}.unread-badge{background:var(--primary);color:#fff;text-align:center;border-radius:10px;min-width:20px;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:700}.chat-item-skeleton{align-items:center;gap:12px;padding:12px 18px;display:flex}.skel-avatar{background:var(--border);border-radius:50%;width:46px;height:46px;animation:1.4s ease-in-out infinite pulse}.skel-lines{flex:1}.skel-line{background:var(--border);border-radius:4px;height:10px;margin-bottom:8px;animation:1.4s ease-in-out infinite pulse}.skel-line.short{width:40%}.skel-line.long{width:75%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.conversation-panel{background-color:#efeae2;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23d9d3c7' fill-opacity='0.3'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}html.dark .conversation-panel{background-color:#0b141a}.conversation-panel.empty-state{background:var(--bg);justify-content:center;align-items:center}.empty-state-inner{text-align:center;color:var(--text-muted)}.empty-state-inner h3{color:var(--text);margin:16px 0 6px;font-size:18px}.empty-state-inner p{font-size:14px}.chat-header-premium{background:var(--surface);border-bottom:1px solid var(--border);z-index:3;flex-shrink:0;align-items:center;gap:14px;padding:12px 22px;display:flex}.chp-avatar-btn{cursor:pointer;background:0 0;border:none;padding:0}.chp-avatar{color:#fff;background:#8696a0;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:15px;font-weight:600;display:flex}.chp-info{cursor:pointer;flex:1;min-width:0}.chp-name-row{align-items:center;gap:8px;display:flex}.chp-name{color:var(--text);font-size:15.5px;font-weight:600}.chp-tags{gap:4px;display:flex}.chp-tag{border-radius:10px;padding:2px 8px;font-size:10.5px;font-weight:600}.chp-tag-more{color:var(--text-muted);font-size:10.5px}.chp-meta-row{color:var(--text-muted);align-items:center;gap:6px;margin-top:2px;font-size:12.5px;display:flex}.chp-dot{opacity:.5}.chp-actions{align-items:center;gap:4px;display:flex}.chp-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;transition:background .15s,color .15s;display:flex}.chp-icon-btn:hover{background:var(--bg)}.chp-icon-btn.starred{color:#f5a623}.chp-more-wrap{position:relative}.chp-more-menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:10;border-radius:10px;width:180px;padding:6px;position:absolute;top:42px;right:0}.chp-more-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px;display:block}.chp-more-menu button:hover:not(:disabled){background:var(--bg)}.chp-more-menu button:disabled{color:var(--text-muted);cursor:not-allowed}.conversation-search-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:10px;padding:10px 22px;display:flex}.conversation-search-bar input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:13.5px}.conversation-search-bar button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:500}.search-highlight{color:#111;background:#ffe58a;border-radius:2px;padding:0 1px}.conversation-messages{flex-direction:column;flex:1;gap:3px;min-height:0;padding:20px 8%;display:flex;overflow:hidden auto}.conversation-empty-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:60px;font-size:14px;display:flex}.date-separator{justify-content:center;margin:14px 0;display:flex}.date-separator span{color:#54656f;background:#ffffffd9;border-radius:10px;padding:5px 14px;font-size:12px;font-weight:600;box-shadow:0 1px 1px #0000001a}html.dark .date-separator span{color:#a8b3bd;background:#1e2a36e6}.msg-skel{background:#fff9;border-radius:10px;width:45%;height:44px;margin-bottom:8px;animation:1.4s ease-in-out infinite pulse}.msg-skel.outgoing{background:#d9fdd399;margin-left:auto}.msg-skel.short{width:30%}.message-row-wrap{position:relative}.message-row{align-items:flex-end;gap:4px;margin-bottom:3px;display:flex}.message-row.outgoing{justify-content:flex-end}.message-row.incoming{justify-content:flex-start}.message-bubble{border-radius:10px;min-width:80px;max-width:65%;padding:6px 8px 8px 9px;font-size:14.2px;line-height:1.4;transition:opacity .15s;position:relative;box-shadow:0 1px .5px #00000021}.message-bubble.pending{opacity:.6}.bubble-outgoing{background:#d9fdd3;border-top-right-radius:2px}.bubble-incoming{background:#fff;border-top-left-radius:2px}html.dark .bubble-outgoing{color:#e9edef;background:#005c4b}html.dark .bubble-incoming{color:#e9edef;background:#202c33}html.dark .message-text{color:#e9edef}.message-text{white-space:pre-wrap;word-break:break-word;color:#111b21;padding:2px 4px 0;font-family:-apple-system,Segoe UI,sans-serif}.image-wrap{margin-bottom:2px;position:relative}.message-image{object-fit:cover;cursor:pointer;border-radius:8px;max-width:280px;max-height:320px;transition:opacity .15s;display:block}.message-image:hover{opacity:.92}.image-zoom-btn{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;bottom:8px;right:8px}.message-audio{width:240px}.message-meta{color:#667781;justify-content:flex-end;align-items:center;gap:4px;margin-top:2px;padding:0 2px;font-size:11px;display:flex}.status-tick{color:#667781;align-items:center;display:inline-flex}.status-tick.tick-pending:after{content:"🕐";font-size:10px}.status-tick.tick-sent:after{content:"✓"}.status-tick.tick-delivered:after{content:"✓✓"}.status-tick.tick-read:after{content:"✓✓";color:#53bdeb}.status-tick.tick-failed:after{content:"⚠";color:#e74c3c}.doc-card{background:#00000008;border-radius:8px;align-items:center;gap:10px;min-width:220px;margin-bottom:4px;padding:10px;display:flex}html.dark .doc-card{background:#ffffff0f}.doc-icon{color:#fff;background:#e74c3c;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.doc-info{flex:1;min-width:0}.doc-name{color:#111b21;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}html.dark .doc-name{color:#e9edef}.doc-meta-row{align-items:center;gap:6px;margin-top:2px;display:flex}.doc-badge{color:#e74c3c;background:#e74c3c1a;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.doc-size{color:#667781;font-size:11px}.doc-download{color:#54656f;border-radius:50%;align-items:center;padding:6px;transition:background .15s;display:flex}.doc-download:hover{background:#0000000f}.audio-wave-card{flex-direction:column;gap:6px;min-width:240px;margin-bottom:4px;display:flex}.wave-bars{align-items:flex-end;gap:2px;height:24px;padding:0 2px;display:flex}.wave-bars span{background:var(--primary);opacity:.6;border-radius:2px;flex:1;min-width:2px}.msg-hover-actions{opacity:0;align-self:center;gap:2px;transition:opacity .15s;display:flex}.message-row-wrap:hover .msg-hover-actions{opacity:1}.msg-hover-actions button{border:1px solid var(--border);color:#54656f;cursor:pointer;background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;box-shadow:0 1px 2px #0000001a}.msg-hover-actions button:hover{color:var(--primary);background:#fff}.ctx-menu-backdrop{z-index:50;position:fixed;inset:0}.ctx-menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:51;border-radius:10px;min-width:140px;padding:6px;position:fixed}.ctx-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:13.5px;display:block}.ctx-menu button:hover{background:var(--bg)}.lightbox-overlay{z-index:100;background:#000000d9;justify-content:center;align-items:center;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.lightbox-image{border-radius:4px;max-width:90vw;max-height:90vh;box-shadow:0 10px 40px #0006}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:24px;right:24px}.lightbox-close:hover{background:#ffffff40}.sticky-composer{z-index:3;flex-shrink:0}.composer-wrap{background:var(--surface);border-top:1px solid var(--border);position:relative}.composer-wrap.drag-over{outline:2px dashed var(--primary);outline-offset:-4px}.drop-overlay{color:var(--primary);z-index:5;pointer-events:none;background:#00a88414;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.composer{align-items:flex-end;gap:6px;padding:10px 16px;display:flex}.composer-icon-btn{color:#54656f;cursor:pointer;background:0 0;border:none;border-radius:50%;align-items:center;padding:8px;transition:background .15s;display:flex}.composer-icon-btn:hover{background:var(--bg)}.composer-textarea-wrap{flex:1;position:relative}.composer-input{background:var(--bg);width:100%;color:var(--text);resize:none;border:none;border-radius:20px;outline:none;max-height:120px;padding:11px 16px;font-family:inherit;font-size:14.5px;line-height:1.4}.char-counter{color:var(--text-muted);font-size:11px;position:absolute;bottom:-18px;right:14px}.composer-send{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:background .15s,transform .1s;display:flex}.composer-send:hover:not(:disabled){background:var(--primary-dark)}.composer-send:active:not(:disabled){transform:scale(.92)}.composer-send:disabled{opacity:.4;cursor:not-allowed}.emoji-popover{z-index:10;box-shadow:var(--shadow-md);border-radius:12px;position:absolute;bottom:64px;left:16px;overflow:hidden}.upload-preview{background:var(--surface);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.upload-preview-info{color:var(--text);align-items:center;gap:8px;font-size:13.5px;display:flex}.upload-preview-thumb{object-fit:cover;border-radius:6px;width:32px;height:32px}.upload-preview-doc,.upload-preview-audio{flex-direction:column;align-items:stretch;gap:10px}.upload-preview-doc .upload-preview-info,.upload-preview-audio .upload-preview-info{align-items:center;gap:10px;width:100%;display:flex}.upload-preview-doc-icon{width:36px;min-width:36px;height:36px;color:var(--primary);background:#00a8841a;border-radius:8px;justify-content:center;align-items:center;display:flex}.upload-preview-doc-meta{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.upload-preview-doc-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.upload-preview-doc-size{color:var(--text-muted);font-size:11px}.upload-preview-audio-player{width:100%;height:32px;margin-top:2px}.upload-preview-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:6px}.upload-preview-remove:hover{background:var(--bg);color:var(--text)}.upload-preview-actions{gap:8px;display:flex}.upload-cancel,.upload-confirm{cursor:pointer;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500}.upload-cancel{background:var(--bg);color:var(--text)}.upload-confirm{background:var(--primary);color:#fff}.drawer-backdrop{z-index:40;background:#0000004d;position:fixed;inset:0}.profile-drawer{background:var(--surface);z-index:41;flex-direction:column;width:340px;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 30px #00000026}.drawer-header{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;padding:18px 20px;font-size:15px;font-weight:600;display:flex}.drawer-header button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.drawer-loading{text-align:center;color:var(--text-muted);padding:40px}.drawer-body{flex:1;padding:24px 20px;overflow-y:auto}.drawer-profile-top{flex-direction:column;align-items:center;gap:8px;margin-bottom:24px;display:flex}.drawer-avatar{color:#fff;background:linear-gradient(135deg,#00c8a0,#00a884);border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;font-size:26px;font-weight:700;display:flex}.drawer-name{color:var(--text);font-size:17px;font-weight:700}.drawer-phone{color:var(--text-muted);font-size:13px}.drawer-section{margin-bottom:22px}.drawer-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px;font-size:11.5px;font-weight:700}.drawer-field{justify-content:space-between;padding:6px 0;font-size:13.5px;display:flex}.df-label{color:var(--text-muted)}.df-value{color:var(--text);text-align:right;font-weight:500}.df-value.muted{color:var(--text-muted);font-style:italic;font-weight:400}.drawer-tags{flex-wrap:wrap;gap:6px;display:flex}.drawer-tag{border-radius:12px;padding:3px 10px;font-size:11.5px;font-weight:600}.drawer-notes{color:var(--text);background:var(--bg);border-radius:10px;padding:12px;font-size:13.5px;line-height:1.5}.drawer-notes-input{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);resize:vertical;border-radius:10px;outline:none;padding:12px;font-family:inherit;font-size:13.5px;line-height:1.5}.drawer-notes-input:focus{border-color:var(--primary)}.drawer-notes-saving{color:var(--text-muted);margin-top:4px;font-size:11px;display:inline-block}.drawer-stat-row{gap:12px;margin-bottom:10px;display:flex}.drawer-stat{background:var(--bg);text-align:center;border-radius:10px;flex:1;padding:14px}.drawer-stat-value{color:var(--primary);font-size:20px;font-weight:700}.drawer-stat-label{color:var(--text-muted);margin-top:2px;font-size:11px}.conversation-mobile-wrap{flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex}.mobile-back-btn{background:var(--surface);border:none;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:12px 16px;font-size:13.5px;font-weight:500;display:none}@media (width<=1100px){.profile-drawer{width:300px}}@media (width<=900px){.chat-list-panel{width:300px;min-width:260px}.conversation-messages{padding:16px 4%}}@media (width<=768px){.chats-page{margin:-28px}.chat-list-panel{width:100%;min-width:0}.conversation-mobile-wrap{width:100%}.mobile-back-btn{display:flex}.profile-drawer{width:100%}.message-bubble{max-width:82%}}.chp-icon-btn.pinned,.chp-icon-btn.archived{color:#10b981}.lead-status-wrap{position:relative}.lead-status-badge{cursor:pointer;border:none;border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.lead-status-menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:20;border-radius:10px;width:160px;padding:6px;position:absolute;top:36px;left:0}.lead-status-option{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.lead-status-option:hover{background:var(--bg)}.lead-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.gallery-tabs{gap:6px;margin-bottom:10px;display:flex}.gallery-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;padding:6px 8px;font-size:11.5px;font-weight:600}.gallery-tab.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.gallery-thumb{aspect-ratio:1;object-fit:cover;cursor:pointer;border-radius:6px;width:100%}.gallery-doc-list{flex-direction:column;gap:6px;display:flex}.gallery-doc-item{background:var(--bg);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;text-decoration:none;display:flex}.gallery-doc-item:hover{background:var(--border)}@media (width<=768px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.flows-page{max-width:1100px}.flows-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.flows-header h1{color:var(--text);margin:0;font-size:22px;font-weight:700}.flows-subtitle{color:var(--text-muted);margin-top:4px;font-size:13.5px}.flows-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.flow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);padding:18px;transition:transform .15s,box-shadow .15s}.flow-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.flow-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.flow-card-name{color:var(--text);font-size:15px;font-weight:600}.flow-card-trigger{color:var(--text-muted);margin-top:2px;font-size:12px}.flows-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.flows-empty h3{color:var(--text);margin:16px 0 4px;font-size:16px}.flow-canvas-page{background:var(--bg);z-index:1;flex-direction:column;margin:0;display:flex;position:fixed;inset:68px 0 0 264px}.flow-canvas-topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.flow-canvas-title{color:var(--text);font-size:15px;font-weight:600}.flow-canvas-actions{align-items:center;gap:10px;display:flex}.flow-canvas-body{flex:1;min-height:0;display:flex}.flow-canvas-page .modal-backdrop{z-index:999999;position:fixed;inset:0}.flow-node-palette{border-right:1px solid var(--border);background:var(--surface);width:220px;padding:16px 14px}.flow-palette-title{text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:11.5px;font-weight:700}.flow-palette-item{border:1px solid var(--border);cursor:grab;color:var(--text);background:var(--bg);border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;font-size:13px;display:flex}.flow-canvas-area{flex:1;height:100%;min-height:0;position:relative}.rf-node-start{color:#fff;background:#12a150;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600}.wa-bubble-node{background:#fff;border-radius:10px;min-width:200px;max-width:240px;font-size:12.5px;overflow:hidden;box-shadow:0 1px 3px #00000026}.wa-bubble-node-buttons{overflow:visible}.wa-bubble-header-text{color:#111b21;padding:10px 12px 0;font-size:12.5px;font-weight:700}.wa-bubble-header-media{color:#8696a0;background:#f0f2f5;justify-content:center;align-items:center;height:90px;display:flex}.wa-bubble-body{color:#111b21;white-space:pre-wrap;word-break:break-word;padding:10px 12px;line-height:1.4}.wa-bubble-footer{color:#667781;padding:0 12px 10px;font-size:11px}.wa-quick-reply-list{border-top:1px solid #e9edef}.wa-quick-reply-btn-row{border-top:1px solid #e9edef;align-items:center;display:flex;position:relative}.wa-quick-reply-btn-row:first-child{border-top:none}.wa-quick-reply-btn{text-align:center;color:#00a884;flex:1;padding:10px 12px;font-size:12.5px;font-weight:600;display:block}.wa-bubble-node-buttons{max-width:240px}.wa-quick-reply-handle{z-index:5;background:#00a884!important;border:2px solid #fff!important;width:8px!important;height:8px!important;margin:auto 0!important;position:absolute!important;top:0!important;bottom:0!important;right:-14px!important;transform:none!important}.node-status-tag{border-radius:10px;padding:2px 8px;font-size:11px}.rf-node-preview-text{color:var(--text);white-space:pre-wrap;word-break:break-word;margin-top:2px;font-size:12px}.rf-node-preview-text-muted{color:var(--text-muted);margin-top:4px;font-size:11.5px;font-style:italic}.rf-node-button-list{flex-direction:column;gap:4px;margin-top:6px;display:flex}.rf-node-button-chip{color:#6366f1;text-align:center;background:#6366f114;border:1px solid #6366f140;border-radius:6px;padding:4px 8px;font-size:11.5px}.node-props-panel{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:300px;display:flex}.node-props-header{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;padding:14px 16px;font-size:13.5px;font-weight:600;display:flex}.node-props-header-actions{align-items:center;gap:4px;display:flex}.node-props-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.node-props-delete-btn:hover{color:#e74c3c;background:#e74c3c14}.node-props-body{padding:16px;overflow-y:auto}.node-props-hint{color:var(--text-muted);font-size:12.5px}.node-props-field{color:var(--text-muted);flex-direction:column;gap:8px;margin-bottom:16px;font-size:12.5px;font-weight:600;display:flex}.node-props-field textarea{border:1.5px solid var(--border);color:var(--text);background:var(--bg);resize:vertical;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px}.node-props-field textarea:focus{border-color:var(--primary)}.node-props-buttons-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.node-props-add-btn{padding:5px 10px;font-size:11.5px}.node-props-button-row{align-items:center;gap:6px;margin-bottom:8px;display:flex}.node-props-button-row input{border:1.5px solid var(--border);color:var(--text);background:var(--bg);border-radius:8px;outline:none;flex:1;padding:8px 10px;font-size:12.5px}.node-props-button-row input:focus{border-color:var(--primary)}.node-props-remove-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.node-props-remove-btn:hover{color:#e74c3c;background:#e74c3c14;border-color:#e74c3c4d}.node-props-field select,.node-props-field input[type=text]{border:1.5px solid var(--border);color:var(--text);background:var(--bg);border-radius:8px;outline:none;padding:8px 10px;font-size:13px}.node-props-char-count{color:var(--text-muted);text-align:right;font-size:10.5px;font-weight:400}.media-placeholder{border:1.5px dashed var(--border);color:var(--text-muted);border-radius:8px;align-items:center;gap:10px;padding:14px;font-size:12px;display:flex}.node-props-drag-handle{color:var(--text-muted);cursor:grab;background:0 0;border:none;flex-shrink:0;padding:4px;display:flex}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.contacts-page{max-width:1100px}.contacts-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.contacts-header h1{color:var(--text);margin:0;font-size:22px;font-weight:700}.contacts-subtitle{color:var(--text-muted);margin-top:4px;font-size:13.5px}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;font-weight:600;transition:background .15s;display:flex}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:9px 16px;font-size:13.5px;font-weight:500}.btn-danger{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:10px;padding:9px 16px;font-size:13.5px;font-weight:600}.contacts-toolbar{margin-bottom:16px}.contacts-search{background:var(--surface);border:1px solid var(--border);max-width:340px;color:var(--text-muted);border-radius:10px;align-items:center;gap:8px;padding:10px 14px;display:flex}.contacts-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.contacts-table-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.contacts-table{border-collapse:collapse;width:100%}.contacts-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg);padding:14px 18px;font-size:11.5px;font-weight:700}.contacts-table tbody td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:14px 18px;font-size:13.5px}.contacts-table tbody tr:last-child td{border-bottom:none}.contacts-table tbody tr:hover{background:var(--bg)}.contact-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:600;display:flex}.contact-name{color:var(--text);font-weight:600}.blocked-badge{color:#e74c3c;background:#e74c3c1a;border-radius:8px;margin-top:2px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.contact-phone{font-variant-numeric:tabular-nums;color:var(--text)}.contact-email,.contact-company{color:var(--text-muted)}.contact-actions{justify-content:flex-end;gap:6px;display:flex}.row-action-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,color .15s;display:flex}.row-action-btn:hover{background:var(--bg);color:var(--text)}.row-action-btn.danger:hover{color:#e74c3c;background:#e74c3c1a;border-color:#e74c3c4d}.contacts-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.contacts-empty h3{color:var(--text);margin:16px 0 4px;font-size:16px}.contacts-empty p{font-size:13.5px}.skel-circle{background:var(--border);border-radius:50%;width:38px;height:38px;animation:1.4s ease-in-out infinite pulse}.skel-bar{background:var(--border);border-radius:4px;height:12px;animation:1.4s ease-in-out infinite pulse}.contacts-pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.contacts-pagination button{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500}.contacts-pagination button:disabled{opacity:.4;cursor:not-allowed}.contacts-pagination span{color:var(--text-muted);font-size:13px}.modal-backdrop{z-index:60;background:#10182880;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);width:440px;max-width:90vw;max-height:88vh;box-shadow:var(--shadow-md);border-radius:16px;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-header h3{color:var(--text);margin:0;font-size:16px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.modal-form{flex-direction:column;gap:14px;padding:20px 22px;display:flex}.form-row{gap:12px;display:flex}.form-row label{flex:1}.modal-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.modal-form input,.modal-form textarea{border:1.5px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:13.5px}.modal-form input:focus,.modal-form textarea:focus{border-color:var(--primary)}.modal-form input:disabled{opacity:.6;cursor:not-allowed}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.confirm-card{width:400px;padding:22px}.confirm-card h3{color:var(--text);margin:0 0 10px;font-size:16px}.confirm-card p{color:var(--text-muted);margin:0 0 18px;font-size:13.5px;line-height:1.5}.import-card{width:640px}.import-dropzone{border:2px dashed var(--border);text-align:center;color:var(--text-muted);cursor:pointer;border-radius:12px;padding:40px 20px;transition:border-color .15s,background .15s}.import-dropzone.drag-over{border-color:var(--primary);background:var(--primary-light)}.import-dropzone p{margin-top:10px;font-size:13.5px}.import-error{color:#e74c3c;background:#e74c3c1a;border-radius:8px;margin-top:10px;padding:10px 12px;font-size:13px;font-weight:500}.import-mapping{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.import-mapping label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.import-mapping select{border:1.5px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.import-checkbox{color:var(--text);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.import-preview-wrap{border:1px solid var(--border);border-radius:8px;max-height:220px;margin-bottom:14px;overflow:auto}.import-preview-table{border-collapse:collapse;width:100%;font-size:12px}.import-preview-table th,.import-preview-table td{border-bottom:1px solid var(--border);white-space:nowrap;text-align:left;padding:6px 10px}.import-preview-note{color:var(--text-muted);padding:6px 10px;font-size:11px}.import-progress{background:var(--bg);border-radius:4px;height:8px;margin-bottom:14px;overflow:hidden}.import-progress-bar{background:var(--primary);height:100%;transition:width .2s}.import-summary{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.import-summary-row{border-radius:8px;padding:8px 12px;font-size:13.5px;font-weight:600}.import-summary-row.success{color:#12a150;background:#12a1501a}.import-summary-row.skipped{background:var(--bg);color:var(--text-muted)}.import-summary-row.failed{color:#e74c3c;background:#e74c3c1a}.import-summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.import-stat-card{background:var(--bg);text-align:center;border-radius:10px;padding:12px}.import-stat-card.success{background:#12a1501a}.import-stat-card.skipped{background:#6670851a}.import-stat-card.failed{background:#e74c3c1a}.import-stat-value{color:var(--text);font-size:20px;font-weight:700}.import-stat-card.success .import-stat-value{color:#12a150}.import-stat-card.failed .import-stat-value{color:#e74c3c}.import-stat-label{color:var(--text-muted);margin-top:2px;font-size:11px}.import-details-toggle{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-bottom:10px;padding:6px 0;font-size:13px;font-weight:600}.import-details-wrap{border:1px solid var(--border);border-radius:8px;max-height:220px;margin-bottom:14px;overflow:auto}.import-status-badge{text-transform:capitalize;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:700}.import-status-badge.imported{color:#12a150;background:#12a15026}.import-status-badge.skipped{color:#667085;background:#66708526}.import-status-badge.failed{color:#e74c3c;background:#e74c3c26}.import-download-btn{width:100%;margin-bottom:10px}.tag-filter-select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 12px;font-size:13px}.color-picker-row{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px}.color-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.tag-chip{border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.tag-chip.selectable{cursor:pointer;border:1.5px solid;transition:background .15s,color .15s,transform .1s}.tag-chip.selectable:hover{transform:translateY(-1px)}.tag-chip.selectable.active{font-weight:700}.tag-check{font-size:11px;font-weight:700}.tag-chip.small{padding:2px 8px;font-size:10.5px}.tag-chip.removable button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.tag-list{max-height:220px;padding:0 22px 20px;overflow-y:auto}.tag-list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.tag-list-actions{gap:6px;display:flex}.tag-select-list{flex-direction:column;gap:8px;max-height:200px;margin-bottom:8px;display:flex;overflow-y:auto}.tag-select-item{align-items:center;gap:10px;font-size:13px;display:flex}.table-tag-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tag-add-btn{border:1px dashed var(--border);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;font-size:13px;line-height:1}.group-chip{border-radius:8px}.group-name{color:var(--text);font-size:13.5px;font-weight:600}.group-meta{color:var(--text-muted);margin-top:2px;font-size:11.5px}.lead-badge-table{border-radius:8px;margin-top:3px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-block}.campaigns-page{max-width:1100px}.campaigns-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.campaigns-header h1{color:var(--text);margin:0;font-size:22px;font-weight:700}.campaigns-subtitle{color:var(--text-muted);margin-top:4px;font-size:13.5px}.campaigns-toolbar{margin-bottom:16px}.campaigns-search{background:var(--surface);border:1px solid var(--border);max-width:340px;color:var(--text-muted);border-radius:10px;align-items:center;gap:8px;padding:10px 14px;display:flex}.campaigns-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.campaigns-table-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.campaigns-table{border-collapse:collapse;width:100%}.campaigns-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg);padding:14px 18px;font-size:11.5px;font-weight:700}.campaigns-table tbody td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:14px 18px;font-size:13.5px}.campaigns-table tbody tr:last-child td{border-bottom:none}.campaigns-table tbody tr:hover{background:var(--bg)}.campaign-name{color:var(--text);font-weight:600}.campaign-template{color:var(--text-muted);margin-top:2px;font-size:12px}.status-badge{text-transform:capitalize;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.status-badge.draft{color:#667085;background:#6670851f}.status-badge.scheduled{color:#2196f3;background:#2196f31f}.status-badge.sending{color:#f5a623;background:#f5a6231f}.status-badge.completed{color:#12a150;background:#12a1501f}.status-badge.failed{color:#e74c3c;background:#e74c3c1f}.campaigns-empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.campaigns-empty h3{color:var(--text);margin:16px 0 4px;font-size:16px}.campaigns-empty p{font-size:13.5px}.skel-bar-c{background:var(--border);border-radius:4px;height:12px;animation:1.4s ease-in-out infinite pulse-c}@keyframes pulse-c{0%,to{opacity:1}50%{opacity:.5}}.campaign-modal-card{width:560px;max-width:92vw}.audience-type-row{gap:10px;margin-bottom:14px;display:flex}.audience-type-btn{border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:10px;flex:1;padding:10px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s,background .15s}.audience-type-btn.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.chip-select-wrap{flex-wrap:wrap;gap:8px;max-height:140px;margin-bottom:14px;padding:4px 0;display:flex;overflow-y:auto}.chip-empty-note{color:var(--text-muted);font-size:12.5px}.recipient-count-box{background:var(--bg);border-radius:10px;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.recipient-count-value{color:var(--primary);font-size:20px;font-weight:700}.recipient-count-label{color:var(--text-muted);font-size:12.5px}.report-modal-card{width:720px;max-width:94vw;max-height:88vh}.report-summary-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px;display:grid}.report-toolbar{gap:10px;margin-bottom:14px;display:flex}.report-toolbar .contacts-search{flex:1;max-width:none}.report-table-wrap{border:1px solid var(--border);border-radius:8px;max-height:320px;overflow:auto}.report-table th,.report-table td{white-space:nowrap}.report-empty-row{text-align:center;color:var(--text-muted);padding:20px!important}.report-btn{padding:6px 12px;font-size:12px}.bl-page{max-width:1100px;margin:0 auto;padding:28px}.bl-header h1{color:var(--text);margin:0 0 4px;font-size:24px}.bl-muted{color:var(--text-muted);font-size:14px}.bl-small{margin-top:12px;font-size:12px}.bl-center{text-align:center}.bl-mono{word-break:break-all;font-family:Consolas,monospace;font-size:13px}.bl-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:20px 0;padding:18px 22px}.bl-note{color:var(--text-muted)}.bl-current{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.bl-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.bl-current-name{color:var(--text);margin-top:2px;font-size:20px;font-weight:700}.bl-current-date{color:var(--text);margin-top:2px;font-size:15px;font-weight:600}.bl-badge{text-transform:capitalize;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.bl-badge-active{background:var(--primary-light);color:var(--primary-dark)}.bl-badge-trial{color:#b54708;background:#fff4e5}.bl-badge-suspended,.bl-badge-expired{color:#b42318;background:#fee4e2}.bl-cycle{background:var(--surface);border:1px solid var(--border);border-radius:999px;margin:4px 0 20px;padding:4px;display:inline-flex}.bl-cycle button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:999px;padding:8px 18px;font-size:14px}.bl-cycle button.active{background:var(--primary);color:#fff}.bl-save{opacity:.85;margin-left:4px;font-size:11px}.bl-plans{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:20px;display:grid}.bl-plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:24px;display:flex;position:relative}.bl-plan.popular{border:2px solid var(--primary);box-shadow:var(--shadow-md)}.bl-plan-tag{background:var(--primary);color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;position:absolute;top:-12px;left:24px}.bl-plan h3{color:var(--text);margin:0;font-size:18px}.bl-plan-desc{min-height:40px}.bl-price{color:var(--text);margin:6px 0 14px;font-size:30px;font-weight:800}.bl-price span{color:var(--text-muted);font-size:14px;font-weight:500}.bl-features{flex:1;margin:0 0 20px;padding:0;list-style:none}.bl-features li{color:var(--text);padding:6px 0 6px 22px;font-size:14px;position:relative}.bl-features li:before{content:"✓";color:var(--primary);font-weight:700;position:absolute;left:0}.bl-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;text-align:center;border:none;padding:11px 16px;font-size:14px;font-weight:600;text-decoration:none}.bl-btn:hover:not(:disabled){background:var(--primary-dark)}.bl-btn:disabled{opacity:.5;cursor:not-allowed}.bl-btn-block{margin-top:16px;display:block}.bl-btn-secondary{border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--radius-md);cursor:pointer;background:0 0;margin-top:10px;padding:10px}.bl-link{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.bl-overlay{z-index:1000;background:#1018288c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.bl-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-md);padding:26px}.bl-modal h2{color:var(--text);margin:0;font-size:20px}.bl-breakdown{border:1px solid var(--border);border-radius:var(--radius-md);margin:16px 0;padding:12px 16px}.bl-breakdown div{color:var(--text);justify-content:space-between;padding:5px 0;font-size:14px;display:flex}.bl-total{border-top:1px dashed var(--border);margin-top:6px;font-weight:700;padding-top:10px!important;font-size:16px!important}.bl-pay-row{color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.bl-pay-row>span{width:80px;color:var(--text-muted);flex-shrink:0}.bl-pay-row strong{flex:1}.ws-page{max-width:900px;margin:0 auto;padding:28px}.ws-header h1{color:var(--text);margin:0 0 4px;font-size:24px}.ws-muted{color:var(--text-muted);font-size:14px}.ws-mono{word-break:break-all;font-family:Consolas,monospace;font-size:13px}.ws-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:18px 0;padding:20px 22px}.ws-card h3{color:var(--text);margin:0 0 10px;font-size:17px}.ws-empty{text-align:center;padding:34px 22px}.ws-empty-icon{margin-bottom:6px;font-size:38px}.ws-connected-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.ws-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.ws-number{color:var(--text);margin-top:2px;font-size:22px;font-weight:700}.ws-badge{text-transform:capitalize;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.ws-badge-active{background:var(--primary-light);color:var(--primary-dark)}.ws-badge-disabled{color:#b42318;background:#fee4e2}.ws-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:18px 0 4px;display:grid}.ws-grid div{color:var(--text);flex-direction:column;gap:2px;font-size:14px;display:flex}.ws-grid span{color:var(--text-muted);font-size:12px}.ws-grid strong{word-break:break-all}.ws-form label{color:var(--text);flex-direction:column;gap:6px;margin-bottom:14px;font-size:14px;display:flex}.ws-form input,.ws-form textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.ws-form input:focus,.ws-form textarea:focus{border-color:var(--primary);outline:none}.ws-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.ws-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:10px 18px;font-size:14px;font-weight:600}.ws-btn:hover:not(:disabled){background:var(--primary-dark)}.ws-btn:disabled{opacity:.6;cursor:not-allowed}.ws-btn-secondary{border:1px solid var(--border);color:var(--text);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:10px 18px;font-size:14px}.ws-btn-danger{color:#b42318;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #fda29b;padding:10px 18px;font-size:14px}.ws-link{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.ws-steps{color:var(--text);margin:0;padding-left:20px;font-size:14px;line-height:1.7}.ws-steps code,.ws-card code{background:var(--bg);border-radius:6px;padding:1px 6px;font-size:12px}.ws-copy-row{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:9px 0;font-size:14px;display:flex}.ws-copy-row>span{width:110px;color:var(--text-muted);flex-shrink:0}.ws-copy-row strong{flex:1}.ad-page{max-width:1240px;margin:0 auto;padding:28px}.ad-header h1{color:var(--text);margin:0 0 4px;font-size:24px}.ad-muted{color:var(--text-muted);font-size:14px}.ad-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:20px 0;display:grid}.ad-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.ad-stat span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.ad-stat strong{color:var(--text);font-size:24px}.ad-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.ad-input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;min-width:260px;padding:9px 12px;font-size:14px}.ad-select{min-width:160px}.ad-input:focus{border-color:var(--primary);outline:none}.ad-tabs{background:var(--surface);border:1px solid var(--border);border-radius:999px;margin:16px 0;padding:4px;display:inline-flex}.ad-tabs button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:999px;padding:7px 18px;font-size:14px}.ad-tabs button.active{background:var(--primary);color:#fff}.ad-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow-x:auto}.ad-table{border-collapse:collapse;width:100%;color:var(--text);font-size:14px}.ad-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px;font-size:12px;font-weight:600}.ad-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:12px 14px}.ad-table tr:last-child td{border-bottom:none}.ad-empty{text-align:center;color:var(--text-muted);padding:30px!important}.ad-strong{font-weight:600}.ad-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.ad-expired{color:#b42318;font-weight:600}.ad-yes{color:var(--primary-dark);font-size:13px;font-weight:600}.ad-no{color:var(--text-muted);font-size:13px}.ad-badge{text-transform:capitalize;border-radius:999px;margin-top:4px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.ad-badge-active,.ad-badge-paid{background:var(--primary-light);color:var(--primary-dark)}.ad-badge-trial,.ad-badge-created{color:#b54708;background:#fff4e5}.ad-badge-suspended,.ad-badge-expired,.ad-badge-failed{color:#b42318;background:#fee4e2}.ad-btn-sm{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.ad-btn-sm:disabled{opacity:.5;cursor:not-allowed}.ad-btn-sm.ad-danger{color:#b42318;background:0 0;border:1px solid #fda29b}.login-page{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);justify-content:center;align-items:center;height:100vh;display:flex}.login-form{background:#fff;border-radius:16px;flex-direction:column;gap:16px;width:340px;padding:40px 36px;display:flex;box-shadow:0 20px 60px #00000059}.login-form h2{color:#101828;text-align:center;margin:0 0 8px;font-size:19px}.login-form label{color:#667085;flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.login-form input{border:1.5px solid #e7e9ec;border-radius:8px;outline:none;padding:11px 12px;font-size:14px;transition:border-color .15s}.login-form input:focus{border-color:#00a884}.login-form button{color:#fff;cursor:pointer;background:#00a884;border:none;border-radius:8px;margin-top:10px;padding:12px;font-size:15px;font-weight:600;transition:background .15s}.login-form button:hover:not(:disabled){background:#06997a}.login-form button:disabled{opacity:.6;cursor:not-allowed}.toast-container{z-index:1000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{color:#fff;border-radius:8px;padding:12px 18px;font-size:14px;box-shadow:0 4px 16px #0003}.toast-error{background:#e74c3c}.toast-success{background:#00a884}.login-subtitle{text-align:center;color:#667085;margin:-8px 0 4px;font-size:14px}.login-switch{text-align:center;color:#667085;margin:4px 0 0;font-size:14px}.login-switch a{color:#00a884;font-weight:600;text-decoration:none}.login-switch a:hover{text-decoration:underline}.toast.toast-success{color:#fff!important;background:#00a884!important}.toast.toast-error{color:#fff!important;background:#d92d20!important}
