.template-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .2s ease}.template-card:hover{box-shadow:0 4px 8px #00000026}.template-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.template-name{margin:0 10px 0 0;font-size:1.3rem;color:#6c757d;flex:1}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#d4edda;color:#28a745}.status-badge.inactive{background:#f8d7da;color:#721c24}.status-badge.valid{background:#d1ecf1;color:#0c5460}.status-badge.invalid{background:#f5c6cb;color:#721c24}.template-description{color:#666;margin-bottom:20px;line-height:1.5}.template-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:6px}.stat{text-align:center}.stat-label{display:block;font-size:12px;color:#666;margin-bottom:5px;font-weight:500}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#6c757d}.template-dates{display:flex;justify-content:space-between;margin-bottom:20px;padding:10px 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.date{text-align:center}.date-label{display:block;font-size:12px;color:#666;margin-bottom:3px}.date-value{display:block;font-size:14px;color:#6c757d;font-weight:500}.validation-results{margin-bottom:20px;padding:15px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px}.validation-results h4{margin:0 0 10px;font-size:14px;color:#856404}.validation-warnings ul{margin:0;padding-left:20px}.validation-warnings .warning{color:#856404;font-size:13px;margin-bottom:5px}.template-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-sm{padding:6px 12px;font-size:12px}.template-actions .btn{flex:1;min-width:80px}@media (max-width: 480px){.template-card{padding:15px}.template-header{flex-direction:column;gap:10px}.template-stats{grid-template-columns:repeat(2,1fr)}.template-dates{flex-direction:column;gap:10px}.template-actions{flex-direction:column}.template-actions .btn{min-width:auto}}.weight-configuration{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin:20px 0}.weight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.weight-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.equal-distribution-indicator{background:#e3f2fd;color:#1976d2;padding:4px 12px;border-radius:4px;font-size:13px;font-weight:500}.validation-error{background:#ffebee;color:#c62828;padding:10px;border-radius:4px;margin-bottom:15px;font-size:14px}.weight-inputs{display:flex;flex-direction:column;gap:15px}.weight-input-row{display:flex;flex-direction:column;gap:8px}.weight-label{font-size:14px;font-weight:500;color:#555}.config-detail{font-size:12px;color:#888;font-family:monospace}.weight-input-group{display:flex;align-items:center;gap:12px}.weight-input{width:120px;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s}.weight-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.weight-input:invalid{border-color:#c62828}.normalized-percentage{min-width:60px;font-size:16px;font-weight:600;color:#1976d2;text-align:right}.weight-bar{height:8px;background:#f5f5f5;border-radius:4px;overflow:hidden;position:relative}.weight-bar-fill{height:100%;background:linear-gradient(90deg,#1976d2,#42a5f5);transition:width .3s ease;border-radius:4px}.weight-summary{display:flex;gap:30px;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.summary-value{font-size:14px;font-weight:600;color:#333}.weight-help{margin-top:15px;padding:12px;background:#f5f5f5;border-radius:4px}.weight-help p{margin:0;font-size:13px;color:#666;line-height:1.5}.weight-help strong{color:#333}.email-config-weight-configuration{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.weight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.weight-header h3{margin:0;font-size:18px;color:#333}.equal-distribution-indicator{font-size:14px;color:#6c757d;font-style:italic}.help-text{margin:0 0 15px;font-size:14px;color:#6c757d}.validation-error{padding:10px;margin-bottom:15px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:14px}.weight-inputs{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.weight-input-row{display:grid;grid-template-columns:1fr auto 200px;gap:15px;align-items:center;padding:12px;background:#fff;border-radius:6px;border:1px solid #dee2e6}.config-info{display:flex;flex-direction:column;gap:4px}.weight-label{font-weight:500;color:#333;font-size:14px}.from-email{font-size:12px;color:#6c757d;font-family:monospace}.weight-input-group{display:flex;align-items:center;gap:10px}.weight-input{width:80px;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;text-align:right}.weight-input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.normalized-percentage{min-width:60px;font-weight:600;color:#007bff;font-size:14px;text-align:right}.weight-bar{height:24px;background:#e9ecef;border-radius:4px;overflow:hidden;position:relative}.weight-bar-fill{height:100%;background:linear-gradient(90deg,#007bff,#0056b3);transition:width .3s ease}.weight-summary{display:flex;gap:30px;padding:15px;background:#fff;border-radius:6px;border:1px solid #dee2e6;margin-bottom:15px}.weight-help{padding:12px;background:#e7f3ff;border-left:4px solid #007bff;border-radius:4px}.weight-help p{margin:0;font-size:13px;color:#004085;line-height:1.5}.weight-help strong{color:#036}@media (max-width: 768px){.weight-input-row{grid-template-columns:1fr;gap:10px}.weight-bar{grid-column:1 / -1}.weight-summary{flex-direction:column;gap:10px}}.template-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.template-form{background:#fff;border-radius:8px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.form-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #e0e0e0;background:#f8f9fa;border-radius:8px 8px 0 0}.form-header h3{margin:0;color:#6c757d;font-size:1.4rem}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.close-btn:hover{background:#e0e0e0}.template-form form{padding:25px}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#6c757d}.form-group input[type=text],.form-group textarea{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s ease}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group textarea{resize:vertical;min-height:80px}.form-group input[type=checkbox]{margin-right:8px}.checkbox-group{max-height:200px;overflow-y:auto;border:1px solid #ddd;border-radius:4px;padding:10px;background:#fafafa}.checkbox-item{display:flex;align-items:flex-start;padding:10px;margin-bottom:8px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.checkbox-item:hover{background:#f0f8ff}.checkbox-item:last-child{margin-bottom:0}.checkbox-item input[type=checkbox]{margin-right:12px;margin-top:2px}.config-info strong{display:block;color:#6c757d;margin-bottom:4px}.config-info small{color:#666;font-size:12px;line-height:1.3}.form-actions{display:flex;gap:15px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e0e0e0}.loading{text-align:center;padding:40px;color:#666}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;display:inline-block;text-align:center;transition:all .2s ease;min-width:100px}@media (max-width: 768px){.template-form-overlay{padding:10px}.template-form{max-height:95vh}.form-header{padding:15px 20px}.template-form form{padding:20px}.form-actions{flex-direction:column}.checkbox-group{max-height:150px}}.segment-selector-container{border:1px solid #ddd;border-radius:6px;padding:15px;background:#f9f9f9;margin-top:8px}.segment-selector-container .segment-selector{background:transparent;border:none;padding:0}.segment-selector-container .selector-header h4{margin-top:0;font-size:1rem;color:#555}.form-help{display:block;margin-top:8px;color:#666;font-size:.9rem;font-style:italic}.tracking-options{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:20px;margin-bottom:25px}.tracking-options .section-label{font-size:16px;font-weight:600;color:#495057;margin-bottom:8px;display:block}.tracking-options .checkbox-label{display:flex;align-items:flex-start;padding:12px;margin-bottom:12px;background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;transition:all .2s ease}.tracking-options .checkbox-label:hover{background:#e7f3ff;border-color:#007bff}.tracking-options .checkbox-label:last-of-type{margin-bottom:0}.tracking-options .checkbox-label input[type=checkbox]{margin-right:12px;margin-top:2px;cursor:pointer}.tracking-options .checkbox-label span{flex:1}.tracking-options .checkbox-label strong{display:block;color:#495057;margin-bottom:4px}.tracking-options .checkbox-label small{color:#6c757d;font-size:12px;line-height:1.4}.tracking-warning{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.campaign-templates-page{padding:20px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.page-header h2{margin:0;color:#333;font-size:2rem}.search-section{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.search-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.search-input{flex:1;min-width:250px;padding:10px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px}.filter-select{padding:10px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;min-width:150px}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.no-templates{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#666;font-size:1.1rem;background:#f8f9fa;border-radius:8px;border:2px dashed #ddd}.loading{text-align:center;padding:40px;font-size:1.1rem;color:#666}.error-message{background:#fee;color:#c33;padding:15px;border-radius:4px;border:1px solid #fcc;margin-bottom:20px}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;display:inline-block;text-align:center;transition:all .2s ease}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}@media (max-width: 768px){.campaign-templates-page{padding:15px}.page-header{flex-direction:column;gap:15px;align-items:stretch}.search-controls{flex-direction:column;align-items:stretch}.search-input,.filter-select{min-width:auto}.templates-grid{grid-template-columns:1fr}}.csv-column-mapper{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px;margin:20px 0}.mapper-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.mapper-header h3{margin:0 0 8px;color:#333;font-size:1.5rem}.mapper-header p{margin:0;color:#666;font-size:.95rem}.mapper-content{margin-bottom:24px}.column-selectors{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.column-selector{background:#f8f9fa;padding:16px;border-radius:6px;border:2px solid #e9ecef}.column-selector label{display:block;margin-bottom:8px;font-weight:600;color:#495057}.column-selector select{width:100%;padding:10px 12px;border:2px solid #ced4da;border-radius:4px;font-size:.95rem;background:#fff;cursor:pointer;transition:all .2s ease}.column-selector select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.column-selector select.selected{border-color:#28a745;background-color:#f0fff4}.column-preview{margin-top:12px;padding:12px;background:#fff;border-radius:4px;border:1px solid #dee2e6}.column-preview strong{display:block;margin-bottom:8px;color:#495057;font-size:.85rem}.column-preview ul{list-style:none;padding:0;margin:0}.column-preview li{padding:4px 0;color:#212529;font-size:.9rem;font-family:Courier New,monospace}.column-preview em{color:#6c757d}.csv-full-preview{margin-top:24px}.csv-full-preview h4{margin:0 0 12px;color:#333;font-size:1.1rem}.preview-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:16px}.preview-table{width:100%;border-collapse:collapse;font-size:.9rem}.preview-table thead{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.preview-table th{padding:12px 16px;text-align:left;font-weight:600;color:#495057;white-space:nowrap;position:relative}.preview-table th.selected-email{background-color:#d4edda;border:2px solid #28a745}.preview-table th.selected-name{background-color:#d1ecf1;border:2px solid #17a2b8}.column-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.column-badge.email{background-color:#28a745;color:#fff}.column-badge.name{background-color:#17a2b8;color:#fff}.preview-table tbody tr{border-bottom:1px solid #e9ecef}.preview-table tbody tr:hover{background-color:#f8f9fa}.preview-table td{padding:10px 16px;color:#212529}.preview-table td.selected-email{background-color:#f0fff4;font-weight:500}.preview-table td.selected-name{background-color:#e7f6f8;font-weight:500}.preview-table td em{color:#6c757d}.mapping-summary{padding:16px;border-radius:6px;margin-top:16px}.summary-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:12px 16px;border-radius:4px;font-size:.95rem}.summary-warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:12px 16px;border-radius:4px;font-size:.95rem}.mapper-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #e0e0e0}.loading{text-align:center;padding:40px 20px;color:#666;font-size:1rem}.error-message .btn{margin-top:12px;margin-right:8px}@media (max-width: 768px){.csv-column-mapper{padding:16px}.column-selectors{grid-template-columns:1fr;gap:16px}.preview-table{font-size:.8rem}.preview-table th,.preview-table td{padding:8px 10px}.mapper-actions{flex-direction:column-reverse}.mapper-actions button{width:100%}}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:400px;padding:2rem}.error-content{max-width:600px;text-align:center;background:#fff;border:1px solid #e74c3c;border-radius:8px;padding:2rem;box-shadow:0 2px 10px #e74c3c1a}.error-content h2{color:#e74c3c;margin-bottom:1rem}.error-content p{color:#666;margin-bottom:1.5rem;line-height:1.6}.error-details{margin:1.5rem 0;text-align:left}.error-details summary{cursor:pointer;color:#666;font-weight:500;margin-bottom:.5rem}.error-details pre{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:1rem;font-size:.875rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.retry-btn,.reload-btn{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.retry-btn{background:#007bff;color:#fff}.retry-btn:hover{background:#0056b3}.reload-btn{background:#6c757d;color:#fff}.reload-btn:hover{background:#545b62}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:1000}.spinner{border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.spinner-small .spinner{width:20px;height:20px;border-width:2px}.spinner-medium .spinner{width:40px;height:40px;border-width:3px}.spinner-large .spinner{width:60px;height:60px;border-width:4px}.loading-message{color:#666;font-size:.875rem;margin:0}.error-message{border-radius:4px;padding:1rem;margin:1rem 0;border-left:4px solid}.error-message.error{background:#f8d7da;border-color:#dc3545;color:#721c24}.error-message.warning{background:#fff3cd;border-color:#ffc107;color:#856404}.error-message.info{background:#d1ecf1;border-color:#17a2b8;color:#0c5460}.error-header{display:flex;align-items:center;gap:.5rem}.error-icon{font-size:1.2rem}.error-text{flex:1;font-weight:500}.dismiss-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.dismiss-btn:hover{background:#0000001a}.error-message .error-details{margin-top:1rem}.error-message .error-actions{margin-top:1rem;justify-content:flex-start}.error-message .retry-btn{padding:.5rem 1rem;font-size:.875rem}.segment-contacts-viewer{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px;margin:20px 0}.viewer-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.viewer-header h3{margin:0 0 8px;color:#333;font-size:1.5rem}.contact-count{margin:0;color:#666;font-size:.95rem}.viewer-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.search-bar{flex:1;max-width:400px;position:relative}.search-input{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:.95rem}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#666;font-size:.85rem;font-style:italic}.contacts-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:20px}.contacts-table{width:100%;border-collapse:collapse;font-size:.95rem}.contacts-table thead{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.contacts-table th{padding:12px 16px;text-align:left;font-weight:600;color:#495057;white-space:nowrap}.contacts-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .15s ease}.contacts-table tbody tr:hover{background-color:#f8f9fa}.contacts-table tbody tr:last-child{border-bottom:none}.contacts-table td{padding:12px 16px;color:#212529}.contacts-table td:first-child{color:#6c757d;font-weight:500}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px 0}.page-info{color:#666;font-size:.95rem;font-weight:500}.no-contacts,.loading{text-align:center;padding:40px 20px;color:#666;font-size:1rem}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:16px;border-radius:4px;margin-bottom:20px}.error-message .btn{margin-top:12px}@media (max-width: 768px){.segment-contacts-viewer{padding:16px}.viewer-header{flex-direction:column;gap:12px}.viewer-controls{flex-direction:column;align-items:stretch}.search-bar{max-width:none}.contacts-table{font-size:.85rem}.contacts-table th,.contacts-table td{padding:8px 12px}.pagination{flex-wrap:wrap;gap:8px}}.contact-segments-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{margin-bottom:30px}.page-header h2{margin:0 0 8px;color:#333}.page-header p{margin:0;color:#666}.segments-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.segments-controls .search-bar{flex:1;max-width:400px}.segment-form-container{background:#f8f9fa;padding:24px;border-radius:8px;margin-bottom:24px;box-shadow:0 2px 4px #0000000d}.segment-form-container h3{margin:0 0 20px;color:#333}.segment-form{background:#fff;padding:20px;border-radius:6px}.column-mapping-summary{background:#e7f6f8;border:1px solid #17a2b8;border-radius:6px;padding:16px;margin-bottom:20px}.column-mapping-summary h4{margin:0 0 12px;color:#0c5460;font-size:1rem}.mapping-info{display:flex;flex-direction:column;gap:8px}.mapping-item{display:flex;justify-content:space-between;align-items:center}.mapping-label{font-weight:600;color:#495057}.mapping-value{color:#0c5460;font-weight:500}.segments-list{margin-bottom:24px}.segments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.no-segments{text-align:center;padding:60px 20px;color:#666}.no-segments p{margin:8px 0}.segments-summary{text-align:center;color:#666;font-size:.9rem;padding:16px 0;border-top:1px solid #e0e0e0}.loading{text-align:center;padding:60px 20px;color:#666;font-size:1.1rem}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:16px;border-radius:4px;margin-bottom:20px;position:relative}.error-message strong{display:block;margin-bottom:8px}.error-dismiss{position:absolute;top:12px;right:12px;background:none;border:none;font-size:1.5rem;color:#721c24;cursor:pointer;padding:0;width:24px;height:24px;line-height:1}.error-dismiss:hover{color:#491217}@media (max-width: 768px){.contact-segments-page{padding:12px}.segments-controls{flex-direction:column;align-items:stretch}.segments-controls .search-bar{max-width:none}.segments-grid{grid-template-columns:1fr}.segment-form-container{padding:16px}}.distribution-metrics{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin:20px 0}.metrics-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.variance-warning{background:#fff3cd;color:#856404;padding:6px 12px;border-radius:4px;font-size:13px;font-weight:500;border:1px solid #ffeaa7}.metrics-table{width:100%;border-collapse:collapse;font-size:14px}.metrics-table thead{background:#f5f5f5}.metrics-table th{padding:12px;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #ddd}.metrics-table td{padding:12px;border-bottom:1px solid #eee}.metrics-table tbody tr:hover{background:#f9f9f9}.metrics-table tbody tr.high-variance{background:#fff3cd}.metrics-table tbody tr.medium-variance{background:#fff9e6}.metrics-table tbody tr.low-variance{background:#fff}.server-name{font-weight:500;color:#333}.variance.positive{color:#d32f2f}.variance.negative{color:#1976d2}.variance.neutral{color:#666}.variance-value{font-size:14px}.metrics-summary{display:flex;gap:30px;padding:15px;background:#f5f5f5;border-radius:4px;margin-bottom:15px}.summary-label{font-size:14px;color:#666}.summary-value{font-size:16px;font-weight:600;color:#333}.summary-value.warning{color:#d32f2f}.metrics-help{padding:12px;background:#e3f2fd;border-radius:4px}.metrics-help p{margin:0;font-size:13px;color:#1565c0;line-height:1.5}.metrics-help strong{color:#0d47a1}.email-config-distribution-metrics{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.metrics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.metrics-header h3{margin:0;font-size:18px;color:#333}.variance-warning{padding:8px 12px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:14px;font-weight:500}.metrics-table-container{overflow-x:auto;margin-bottom:20px}.metrics-table{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden}.metrics-table thead{background:#e9ecef}.metrics-table th{padding:12px;text-align:left;font-weight:600;color:#495057;font-size:14px;border-bottom:2px solid #dee2e6}.metrics-table td{padding:12px;border-bottom:1px solid #dee2e6;font-size:14px}.metrics-table tbody tr:last-child td{border-bottom:none}.metrics-table tbody tr:hover{background:#f8f9fa}.email-config-cell{min-width:200px}.email-config-info{display:flex;flex-direction:column;gap:4px}.email-config-info .subject{font-weight:500;color:#333}.email-config-info .from-email{font-size:12px;color:#6c757d;font-family:monospace}.target-weight,.target-count,.actual-count,.actual-percentage{text-align:right;font-family:Courier New,monospace}.variance{text-align:right;font-weight:600;font-family:Courier New,monospace}.variance.positive{color:#28a745}.variance.negative{color:#dc3545}.variance.neutral{color:#6c757d}.variance-indicator{margin-right:4px;font-size:12px}.high-variance{background:#fff3cd!important}.medium-variance{background:#e7f3ff!important}.metrics-summary{display:flex;gap:30px;padding:15px;background:#fff;border-radius:6px;border:1px solid #dee2e6;margin-bottom:15px}.summary-item{display:flex;gap:8px;align-items:center}.summary-label{font-weight:500;color:#6c757d;font-size:14px}.summary-value{font-weight:600;color:#333;font-size:14px}.summary-value.warning{color:#dc3545}.metrics-help{padding:12px;background:#e7f3ff;border-left:4px solid #007bff;border-radius:4px}.metrics-help p{margin:0;font-size:13px;color:#004085;line-height:1.5}.metrics-help strong{color:#036}@media (max-width: 768px){.metrics-table{font-size:12px}.metrics-table th,.metrics-table td{padding:8px}.metrics-summary{flex-direction:column;gap:10px}}.template-dashboard-page{padding:20px;max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.dashboard-header h1{color:#6c757d;margin:0;font-size:2.5rem;font-weight:600}.refresh-button{background:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s ease}.refresh-button:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.dashboard-metrics{margin-bottom:40px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.metric-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 6px #0000001a;text-align:center;transition:transform .2s ease}.metric-card:hover{transform:translateY(-2px)}.metric-card h3{margin:0 0 10px;color:#6c757d;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:2.5rem;font-weight:700;color:#6c757d;margin:0}.metric-value.active{color:#28a745}.metric-value.success{color:#007bff}.dashboard-content{display:grid;grid-template-columns:1fr;gap:30px}.templates-section h2{color:#6c757d;margin-bottom:20px;font-size:1.8rem;font-weight:600}.table-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;margin-bottom:30px}.campaigns-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}.campaigns-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.campaigns-table thead th{padding:16px 12px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-right:1px solid rgba(255,255,255,.2)}.campaigns-table thead th:last-child{border-right:none}.campaigns-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.campaigns-table thead th.sortable:hover{background:#ffffff1a}.campaigns-table tbody tr{border-bottom:1px solid #e9ecef;transition:all .2s ease}.campaigns-table tbody tr:hover{background:#f8f9ff;box-shadow:0 2px 8px #007bff1a}.campaigns-table tbody tr.selected{background:#e3f2fd;border-left:4px solid #007bff}.campaigns-table tbody td{padding:16px 12px;color:#6c757d;border-right:1px solid #e9ecef;vertical-align:middle}.campaigns-table tbody td:last-child{border-right:none}.campaigns-table .campaign-name{font-weight:600;color:#6c757d;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campaigns-table .campaign-type{color:#6c757d;font-size:.9rem}.campaigns-table .status-cell{text-align:center}.campaigns-table .status-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;background:#0000000d}.campaigns-table .numeric{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.campaigns-table .success-rate{padding:4px 8px;border-radius:4px;font-weight:700}.campaigns-table .success-rate.high{background:#d4edda;color:#28a745}.campaigns-table .success-rate.medium{background:#fff3cd;color:#856404}.campaigns-table .success-rate.low{background:#f8d7da;color:#721c24}.campaigns-table .datetime{color:#6c757d;font-size:.9rem;white-space:nowrap}.campaigns-table .actions{text-align:center}.view-details-btn{background:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.view-details-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.view-details-btn:active{transform:translateY(0)}.active-executions-section h2{color:#6c757d;margin-bottom:20px;font-size:1.8rem;font-weight:600}.executions-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.execution-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:20px;transition:transform .2s ease}.execution-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.execution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.execution-header h4{margin:0;color:#6c757d;font-size:1.2rem;font-weight:600}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.running{background:#d4edda;color:#28a745}.status-badge.scheduled{background:#d1ecf1;color:#0c5460}.status-badge.completed{background:#d4edda;color:#28a745}.status-badge.failed{background:#f8d7da;color:#721c24}.execution-progress{display:flex;align-items:center;gap:10px;margin-bottom:15px}.progress-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);transition:width .3s ease}.progress-text{font-weight:600;color:#6c757d;min-width:40px;text-align:right}.execution-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.detail{display:flex;justify-content:space-between;align-items:center}.detail .label{color:#6c757d;font-size:.9rem;font-weight:500}.detail .value{color:#6c757d;font-weight:600}.execution-timing{border-top:1px solid #e9ecef;padding-top:15px}.timing-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.timing-info .label{color:#6c757d;font-size:.9rem;font-weight:500}.timing-info .value{color:#6c757d;font-weight:600;font-size:.9rem}.template-performance-section{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000001a}.template-performance-section h2{color:#6c757d;margin-bottom:25px;font-size:1.8rem;font-weight:600}.performance-overview{margin-bottom:30px}.performance-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:30px}.perf-metric{text-align:center;padding:20px;background:#f8f9fa;border-radius:8px}.perf-metric h4{margin:0 0 10px;color:#6c757d;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.perf-value{font-size:2rem;font-weight:700;color:#6c757d}.execution-history h3{color:#6c757d;margin-bottom:20px;font-size:1.4rem;font-weight:600}.history-list{display:flex;flex-direction:column;gap:15px;max-height:400px;overflow-y:auto}.history-item{display:flex;align-items:center;gap:20px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}.history-status{min-width:100px}.history-details{display:flex;gap:20px;flex:1;flex-wrap:wrap}.history-metric{display:flex;flex-direction:column;gap:2px}.history-metric .label{color:#6c757d;font-size:.8rem;font-weight:500}.history-metric .value{color:#6c757d;font-weight:600;font-size:.9rem}.performance-trends h3{color:#6c757d;margin-bottom:20px;font-size:1.4rem;font-weight:600}.trends-chart{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.trend-item{display:flex;align-items:center;gap:20px;padding:12px;background:#f8f9fa;border-radius:6px}.trend-date{min-width:100px;font-weight:600;color:#6c757d;font-size:.9rem}.trend-metrics{display:flex;gap:20px;flex:1}.trend-metric{display:flex;flex-direction:column;gap:2px}.trend-metric .label{color:#6c757d;font-size:.8rem;font-weight:500}.trend-metric .value{color:#2c3e50;font-weight:600;font-size:.9rem}@media (max-width: 768px){.template-dashboard-page{padding:15px}.dashboard-header{flex-direction:column;gap:15px;align-items:flex-start}.dashboard-header h1{font-size:2rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.table-container{overflow-x:auto}.campaigns-table{font-size:.85rem}.campaigns-table thead th{padding:12px 8px;font-size:.8rem}.campaigns-table tbody td{padding:12px 8px}.campaigns-table .campaign-name{max-width:150px}.view-details-btn{padding:6px 12px;font-size:.8rem}.executions-list{grid-template-columns:1fr}.performance-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.history-details{flex-direction:column;gap:10px}.trend-metrics{flex-direction:column;gap:8px}}@media (max-width: 480px){.template-dashboard-page{padding:10px}.dashboard-header h1{font-size:1.8rem}.metric-value{font-size:2rem}.perf-value{font-size:1.5rem}.execution-details{grid-template-columns:1fr}.campaigns-table{font-size:.8rem}.campaigns-table thead th{padding:10px 6px;font-size:.75rem}.campaigns-table tbody td{padding:10px 6px}.view-details-btn{padding:5px 10px;font-size:.75rem}}.btn-analytics{background:#17a2b8;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;margin-left:8px}.btn-analytics:hover{background:#138496;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.tracking-analytics{margin-top:16px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tracking-analytics h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#fff}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:12px}.analytics-metric{background:#ffffff26;padding:16px;border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .2s ease}.analytics-metric:hover{background:#ffffff40;transform:translateY(-2px)}.analytics-metric .metric-label{font-size:12px;opacity:.9;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.analytics-metric .metric-value{font-size:28px;font-weight:700;margin-bottom:4px;color:#fff}.analytics-metric .metric-detail{font-size:11px;opacity:.8;line-height:1.4}.analytics-note{background:#ffffff1a;padding:12px;border-radius:4px;border-left:3px solid rgba(255,255,255,.5)}.analytics-note small{font-size:12px;opacity:.9;line-height:1.5}@media (max-width: 768px){.analytics-grid{grid-template-columns:repeat(2,1fr)}.analytics-metric .metric-value{font-size:24px}}@media (max-width: 480px){.analytics-grid{grid-template-columns:1fr}}.performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.close-details-btn{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.close-details-btn:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.template-performance-section{margin-top:30px;padding:25px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;border:2px solid #007bff;animation:fadeInSlide .3s ease}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.no-executions{text-align:center;padding:40px 20px;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.no-executions p{margin:8px 0;color:#6c757d}.no-executions p:first-child{font-weight:600;font-size:16px;color:#495057}.campaign-progress-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:16px;box-shadow:0 2px 4px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.campaign-info{display:flex;align-items:center;gap:12px}.campaign-info h3{margin:0;font-size:18px;color:#333}.campaign-type-badge{padding:4px 8px;border-radius:4px;background:#e3f2fd;color:#1976d2;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge{padding:4px 12px;border-radius:12px;color:#fff;font-size:12px;font-weight:600}.tracking-indicator{padding:4px 8px;border-radius:4px;background:#e8f5e8;color:#2e7d32;font-size:11px;font-weight:600;border:1px solid #4caf50}.campaign-actions{display:flex;gap:8px}.campaign-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:opacity .2s}.campaign-actions button:hover{opacity:.8}.btn-pause{background:#ff9800;color:#fff}.btn-resume{background:#4caf50;color:#fff}.btn-cancel{background:#f44336;color:#fff}.btn-update{background:#2196f3;color:#fff}.btn-tracking{background:#9c27b0;color:#fff}.progress-section{margin-bottom:16px}.progress-bar-container{width:100%;height:24px;background:#f0f0f0;border-radius:12px;overflow:hidden;margin-bottom:8px}.progress-bar{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);transition:width .3s ease}.progress-text{text-align:center;font-size:14px;color:#666}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.metric{display:flex;flex-direction:column;gap:4px}.metric-label{font-size:12px;color:#666;text-transform:uppercase}.metric-value{font-size:24px;font-weight:600;color:#333}.metric-value.success{color:#4caf50}.metric-value.error{color:#f44336}.execution-stats{display:flex;gap:24px;margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px}.execution-stats .stat{display:flex;gap:8px;align-items:center}.execution-stats .label{font-size:13px;color:#666;font-weight:600}.execution-stats .value{font-size:14px;color:#333;font-weight:500}.batch-info{background:#f5f5f5;padding:12px;border-radius:4px;margin-bottom:12px}.batch-progress,.next-batch{display:flex;justify-content:space-between;margin-bottom:8px}.batch-progress:last-child,.next-batch:last-child{margin-bottom:0}.batch-info .label{font-weight:600;color:#666}.batch-info .value{color:#333}.timestamps{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:#666}.timestamp{display:flex;gap:8px}.timestamp .label{font-weight:600}.error-message{background:#ffebee;border-left:4px solid #F44336;padding:12px;margin-top:12px;border-radius:4px;color:#c62828;font-size:14px}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#333;font-size:1.5rem}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-body{padding:20px}.campaign-name{margin-bottom:20px;padding:10px;background-color:#f5f5f5;border-radius:4px;font-size:.9rem}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#333;position:relative}.current-value{font-size:.8rem;color:#666;font-weight:400;margin-left:10px;font-style:italic}.form-group input[type=number]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input[type=number]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.checkbox-label{display:flex;align-items:center;cursor:pointer}.checkbox-label input[type=checkbox]{margin-right:8px;width:auto}.form-group small{display:block;margin-top:4px;color:#666;font-size:.85rem}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-primary:hover{background-color:#0056b3}.btn-secondary:hover{background-color:#545b62}@media (max-width: 600px){.modal-content{width:95%;margin:10px}.modal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.campaign-tracking-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#e0e0e0;color:#333}.modal-body{padding:24px;overflow-y:auto;flex:1}.campaign-info{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:16px;margin-bottom:24px}.info-item{display:flex;align-items:center;gap:12px;margin-bottom:8px}.info-item:last-child{margin-bottom:0}.info-item strong{min-width:120px;font-weight:600;color:#555}.campaign-id{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;background:#e8f4fd;padding:4px 8px;border-radius:4px;color:#1976d2}.status{padding:4px 8px;border-radius:4px;font-size:13px;font-weight:500}.status.tracked{background:#e8f5e8;color:#2e7d32}.status.untracked{background:#f5f5f5;color:#666}.tracking-form h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.form-group{margin-bottom:16px}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:12px;border:1px solid #e0e0e0;border-radius:6px;transition:all .2s ease}.checkbox-label:hover{background:#f8f9fa;border-color:#2196f3}.checkbox-label input[type=checkbox]{margin:0;width:18px;height:18px;cursor:pointer}.checkbox-label span{flex:1}.checkbox-label strong{display:block;font-weight:600;color:#333;margin-bottom:4px}.checkbox-label small{display:block;color:#666;font-size:13px;line-height:1.4}.tracking-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:12px;margin-top:16px;font-size:13px;color:#856404}.tracking-warning strong{color:#856404}.existing-config-info{margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.existing-config-info h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#555}.config-details{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;padding:12px;font-size:13px;color:#666}.config-details div{margin-bottom:4px}.config-details div:last-child{margin-bottom:0}.modal-footer{padding:20px 24px;border-top:1px solid #e0e0e0;background:#f8f9fa}.footer-actions{display:flex;justify-content:flex-end;gap:12px}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-danger{background-color:#f44336;color:#fff}.btn-danger:hover:not(:disabled){background-color:#d32f2f}.modal-body .loading-spinner{padding:40px}.modal-body .error-message{margin-bottom:20px}@media (max-width: 768px){.campaign-tracking-modal{width:95%;margin:20px}.modal-header,.modal-body,.modal-footer{padding:16px}.footer-actions{flex-direction:column}.btn{width:100%;justify-content:center}.info-item{flex-direction:column;align-items:flex-start;gap:4px}.info-item strong{min-width:auto}}.queue-dashboard{padding:24px;max-width:1200px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-header h1{margin:0;color:#6c757d}.header-actions{display:flex;gap:12px;align-items:center}.btn-metrics{padding:10px 20px;background:#9c27b0;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;transition:background .2s}.btn-metrics:hover{background:#7b1fa2}.btn-refresh{padding:10px 20px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.btn-refresh:hover{background:#1976d2}.filter-section{margin-bottom:24px;display:flex;align-items:center;gap:12px}.filter-section label{font-weight:600;color:#666}.filter-section select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer}.campaigns-list{display:flex;flex-direction:column;gap:16px}.empty-state{text-align:center;padding:48px;color:#999;font-size:16px}.empty-state p{margin:0}.campaign-mode-selector{margin-bottom:24px}.campaign-mode-selector h3{margin-top:0;margin-bottom:12px;color:#333}.mode-options{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.mode-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.mode-option:hover{border-color:#2196f3;background:#f5f9ff}.mode-option.selected{border-color:#2196f3;background:#e3f2fd}.mode-option input[type=radio]{margin-top:4px;cursor:pointer}.mode-content{flex:1}.mode-content strong{display:block;margin-bottom:4px;color:#333;font-size:16px}.mode-content p{margin:0;font-size:14px;color:#666}.batch-config-form{background:#f9f9f9;padding:20px;border-radius:8px;margin-bottom:20px}.batch-config-form h3{margin-top:0;margin-bottom:16px;color:#333}.batch-config-form .form-group{margin-bottom:16px}.batch-config-form label{display:flex;flex-direction:column;gap:4px;font-weight:600;color:#555}.field-hint{font-size:12px;font-weight:400;color:#888}.batch-config-form input{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.batch-summary{background:#fff;padding:16px;border-radius:4px;margin-top:16px;border:1px solid #e0e0e0}.batch-summary h4{margin-top:0;margin-bottom:12px;color:#333;font-size:16px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item .label{font-size:12px;color:#666;text-transform:uppercase}.summary-item .value{font-size:18px;font-weight:600;color:#2196f3}.campaign-metrics-dashboard{padding:24px;max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e0e0e0}.header-title{display:flex;flex-direction:column;gap:4px}.dashboard-header h1{margin:0;color:#333;font-size:28px;font-weight:600}.last-updated{font-size:12px;color:#666;font-style:italic}.header-actions{display:flex;gap:12px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn-primary{background-color:#2196f3;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1976d2}.btn-secondary{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.dashboard-overview{margin-bottom:32px}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.overview-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.overview-card h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:32px;font-weight:700;color:#333;margin-bottom:8px}.card-detail{font-size:13px;color:#666}.filters-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:24px}.filters-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:13px;font-weight:500;color:#555}.filter-group select,.filter-group input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.selection-actions{background:#e3f2fd;border:1px solid #2196f3;border-radius:6px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:16px}.selection-actions span{font-weight:500;color:#1976d2}.campaigns-table-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.campaigns-table{width:100%;border-collapse:collapse;font-size:14px}.campaigns-table th{background:#f5f5f5;padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #e0e0e0;white-space:nowrap}.campaigns-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;vertical-align:top}.campaigns-table tbody tr:hover{background-color:#f8f9fa}.campaigns-table tbody tr:last-child td{border-bottom:none}.campaign-id{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:#666;max-width:120px;overflow:hidden;text-overflow:ellipsis}.tracking-status{display:flex;flex-direction:column;gap:4px}.status-tracked{color:#4caf50;font-weight:500}.status-untracked{color:#9e9e9e;font-weight:500}.tracking-details{font-size:11px;color:#666;font-weight:400}.no-campaigns{padding:40px;text-align:center;color:#666}.no-campaigns p{margin:0;font-size:16px}@media (max-width: 1200px){.campaigns-table-container{overflow-x:auto}.campaigns-table{min-width:1000px}}@media (max-width: 768px){.campaign-metrics-dashboard{padding:16px}.dashboard-header{flex-direction:column;align-items:stretch;gap:16px}.header-actions{justify-content:center}.overview-cards,.filters-grid{grid-template-columns:1fr}.selection-actions{flex-direction:column;align-items:stretch;gap:12px}}.error-message{background:#ffebee;border:1px solid #f44336;border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#c62828;font-size:14px}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:60px}input[type=checkbox]{width:16px;height:16px;cursor:pointer}.btn:disabled{position:relative}.btn:disabled:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.campaign-id-container{display:flex;flex-direction:column;gap:2px}.queue-campaign-id{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:#333;background-color:#f5f5f5;padding:2px 6px;border-radius:3px;border:1px solid #ddd}.queue-campaign-id:hover{background-color:#e8e8e8}.template-name{max-width:200px}.template-name-container{display:flex;flex-direction:column;gap:2px}.template-name-container div{font-size:14px;color:#333;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.template-name-container:hover div{color:#06c}.template-id-hint{font-size:10px;color:#888;font-style:italic}.login-container{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background:var(--bg-primary, #f7fafc);padding:2rem;padding-top:8vh}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:3rem;width:100%;max-width:420px}.login-title{font-size:1.75rem;font-weight:700;color:#1a202c;margin:0 0 .5rem;text-align:center}.login-subtitle{font-size:.95rem;color:#718096;margin:0 0 2rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.error-message{padding:.75rem 1rem;background-color:#fed7d7;color:#c53030;border-radius:8px;font-size:.9rem;border-left:4px solid #c53030}.login-button{padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.powered-by{font-size:.85rem;color:#718096;text-align:center;margin:0}.user-management-container{padding:2rem;max-width:1200px;margin:0 auto}.user-management-loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.1rem;color:#718096}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.user-management-header h1{font-size:2rem;color:#1a202c;margin:0}.create-user-button{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.create-user-button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#fed7d7;color:#c53030;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #c53030}.error-banner button{background:none;border:none;color:#c53030;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.create-user-form-container{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.create-user-form-container h2{margin:0 0 1.5rem;color:#1a202c;font-size:1.5rem}.create-user-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:600;color:#2d3748}.form-group input,.form-group select{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-error{padding:.75rem 1rem;background-color:#fed7d7;color:#c53030;border-radius:8px;font-size:.9rem;border-left:4px solid #c53030}.create-user-form button[type=submit]{padding:.875rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.create-user-form button[type=submit]:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.create-user-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.users-list{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.users-list h2{margin:0 0 1.5rem;color:#1a202c;font-size:1.5rem}.no-users{text-align:center;color:#718096;padding:2rem;font-size:1rem}.users-table{width:100%;border-collapse:collapse}.users-table thead{background-color:#f7fafc}.users-table th{padding:1rem;text-align:left;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.users-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#4a5568}.users-table tbody tr:hover{background-color:#f7fafc}.role-badge{display:inline-block;padding:.375rem .875rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:capitalize}.role-administrator{background-color:#fef5e7;color:#d68910;border:1px solid #f9e79f}.role-normal_user{background-color:#ebf8ff;color:#2c5282;border:1px solid #bee3f8}.role-select{padding:.5rem;border:2px solid #e2e8f0;border-radius:6px;font-size:.9rem}.actions-cell{display:flex;gap:.5rem;align-items:center}.action-button{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.edit-button{background-color:#ebf8ff;color:#2c5282}.edit-button:hover{background-color:#bee3f8}.delete-button{background-color:#fed7d7;color:#c53030}.delete-button:hover{background-color:#fc8181;color:#fff}.save-button{background-color:#c6f6d5;color:#22543d}.save-button:hover{background-color:#9ae6b4}.cancel-button{background-color:#e2e8f0;color:#4a5568}.cancel-button:hover{background-color:#cbd5e0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d}.modal-content h3{margin:0 0 1rem;color:#1a202c;font-size:1.5rem}.modal-content p{margin:0 0 .75rem;color:#4a5568;line-height:1.5}.warning-text{color:#c53030;font-weight:600;font-size:.9rem}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-button{flex:1;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.modal-button.cancel-button{background-color:#e2e8f0;color:#4a5568}.modal-button.cancel-button:hover{background-color:#cbd5e0}.modal-button.delete-button{background-color:#c53030;color:#fff}.modal-button.delete-button:hover{background-color:#9b2c2c}.App{width:100%;min-height:100vh;margin:0;padding:1rem 2rem;text-align:center;box-sizing:border-box;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.App-header{margin-bottom:2rem;max-width:1400px;margin-left:auto;margin-right:auto}.App-header h1{color:var(--text-primary);margin-bottom:1rem;font-size:2.2rem;font-weight:var(--font-weight-bold)}.App-header nav{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.logout-button{padding:.75rem 1.5rem;background-color:#dc3545;color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.logout-button:hover{background-color:#c82333;box-shadow:var(--shadow-md);transform:translateY(-2px)}.App-header nav a{padding:.75rem 1.5rem;text-decoration:none;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);transition:all var(--transition-base);font-size:1rem;font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm)}.App-header nav a:hover{background-color:var(--color-primary);color:var(--text-inverse);box-shadow:var(--shadow-md);transform:translateY(-2px)}main{text-align:left;max-width:1400px;margin:0 auto;width:100%}.smtp-form,.email-form{background:var(--bg-secondary);padding:2rem;border-radius:var(--radius-lg);margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto;border:1px solid var(--border-primary);transition:all .3s ease}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:1rem;transition:border-color .2s,background-color .3s,color .3s;background-color:var(--surface-primary);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.encryption-select{background-color:#fff;cursor:pointer}.encryption-select:disabled{background-color:#f8f9fa;cursor:not-allowed}.form-group input.error,.form-group textarea.error{border-color:#dc3545}.form-group small{display:block;margin-top:.25rem;color:#666;font-size:.875rem}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;margin-right:.5rem}.error-text{color:#dc3545;font-size:.875rem;margin-top:.25rem;display:block}.submit-btn{background-color:var(--color-primary);color:var(--text-inverse);border:none;padding:.75rem 2rem;border-radius:var(--radius-md);font-size:1rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.submit-btn:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.submit-btn:disabled{background-color:var(--color-secondary);cursor:not-allowed;opacity:var(--opacity-disabled)}.message{padding:1rem;border-radius:4px;margin-bottom:1.5rem}.message.success{background-color:#d4edda;color:#28a745;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.smtp-list{background:#f8f9fa;padding:2rem;border-radius:8px;max-width:800px;margin:0 auto 2rem}.smtp-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid #ddd;border-radius:4px;margin-bottom:1rem}.smtp-details{display:flex;flex-direction:column;gap:.25rem}.smtp-details strong{color:#6c757d;font-size:1.1rem}.smtp-details span{color:#666;font-size:.9rem}.smtp-actions{display:flex;gap:.5rem}.edit-btn{background-color:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.edit-btn:hover{background-color:#0056b3}.edit-btn:disabled{background-color:#6c757d;cursor:not-allowed}.remove-btn{background-color:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.remove-btn:hover{background-color:#c82333}.remove-btn:disabled{background-color:#6c757d;cursor:not-allowed}.edit-mode-notice{background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:1rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.edit-mode-notice span{color:#856404;font-weight:600}.cancel-edit-btn{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.cancel-edit-btn:hover{background-color:#5a6268}.csv-upload-section{background:#f8f9fa;padding:2rem;border-radius:8px;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto}.upload-area{border:2px dashed #ddd;border-radius:8px;padding:3rem;text-align:center;transition:all .2s;cursor:pointer}.upload-area:hover,.upload-area.drag-active{border-color:#007bff;background-color:#007bff0d}.upload-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-icon{font-size:3rem}.upload-btn{background-color:#007bff;color:#fff;padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;cursor:pointer;transition:background-color .2s}.upload-btn:hover{background-color:#0056b3}.upload-loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:2rem;height:2rem;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.address-preview{background:#fff;padding:1.5rem;border-radius:4px;border:1px solid #ddd;margin-top:1rem}.preview-list ul{list-style:none;padding:0;margin:.5rem 0}.preview-list li{padding:.25rem 0;color:#666}.from-email-group{position:relative}.domain-suggestions{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.domain-btn{background-color:#e9ecef;border:1px solid #ced4da;color:#495057;padding:.25rem .5rem;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s}.domain-btn:hover{background-color:#007bff;color:#fff;border-color:#007bff}.campaign-summary{background:#e8f5e8;padding:2rem;border-radius:8px;border:1px solid #c3e6cb;max-width:800px;margin:0 auto 2rem}.summary-item{margin-bottom:.5rem;color:#6c757d}.next-step{margin-top:1rem;font-style:italic;color:#28a745}.csv-upload-page{max-width:800px;margin:0 auto}.recipient-status{background:#f8f9fa;padding:1rem;border-radius:4px;margin-bottom:2rem}.status-success{color:#28a745;background:#d4edda;padding:1rem;border-radius:4px;border:1px solid #c3e6cb}.status-warning{color:#856404;background:#fff3cd;padding:1rem;border-radius:4px;border:1px solid #ffeaa7}.status-success small,.status-warning small{display:block;margin-top:.25rem;font-size:.875rem;opacity:.8}.upload-instructions{background:#fff;padding:1.5rem;border-radius:4px;border:1px solid #ddd;margin-top:1rem}.upload-instructions h3{margin-top:0;color:#6c757d}.upload-instructions ul{margin:1rem 0;padding-left:1.5rem}.upload-instructions li{margin-bottom:.5rem;color:#666}.upload-instructions pre{background:#f8f9fa;padding:1rem;border-radius:4px;border:1px solid #e9ecef;font-size:.875rem;overflow-x:auto}.upload-success{display:flex;align-items:center;gap:1rem;background:#d4edda;padding:1rem;border-radius:4px;border:1px solid #c3e6cb;margin-bottom:1.5rem}.success-icon{font-size:2rem}.success-details p{margin:.25rem 0;color:#28a745}.address-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.5rem;margin:1rem 0}.address-item{background:#f8f9fa;padding:.75rem;border-radius:4px;border:1px solid #e9ecef}.address-item .email{font-weight:600;color:#6c757d;font-size:.9rem}.address-item .name{color:#666;font-size:.8rem;margin-top:.25rem}.more-count{text-align:center;color:#666;font-style:italic;margin-top:1rem}.next-steps{background:#fff3cd;padding:1.5rem;border-radius:4px;border:1px solid #ffeaa7;margin-top:1.5rem}.next-steps h4{margin-top:0;color:#856404}.next-steps p{color:#856404;margin-bottom:.5rem}.next-steps ul{margin:.5rem 0;padding-left:1.5rem}.next-steps li{color:#856404;margin-bottom:.25rem}@media (max-width: 768px){.App{padding:1rem}.App-header h1{font-size:1.8rem}.App-header nav{gap:1rem}.App-header nav a{padding:.5rem 1rem;font-size:.9rem}.smtp-form,.email-form,.smtp-list,.csv-upload-section,.campaign-summary{padding:1.5rem;margin-bottom:1.5rem}}@media (min-width: 1600px){.App-header h1{font-size:2.8rem}.App-header nav a{padding:1rem 2rem;font-size:1.1rem}main{max-width:1600px}.smtp-form,.email-form,.smtp-list,.csv-upload-section,.campaign-summary{max-width:1000px}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.header-actions{display:flex;gap:.5rem}.saved-configs{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.saved-configs h3{margin:0 0 1rem;color:#495057}.configs-list{display:flex;flex-direction:column;gap:.75rem}.config-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:1rem;transition:all .2s ease}.config-item:hover{border-color:#007bff;box-shadow:0 2px 4px #007bff1a}.config-item.selected{border-color:#28a745;background-color:#f8fff9}.config-info{flex:1}.config-info h4{margin:0 0 .25rem;color:#6c757d;font-size:1rem}.config-info p{margin:0 0 .25rem;color:#6c757d;font-size:.875rem}.config-info small{color:#868e96;font-size:.75rem}.config-actions{display:flex;gap:.5rem}.btn-sm{padding:.25rem .5rem;font-size:.875rem}.btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333;border-color:#bd2130}.message.error{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.contact-segments-page{max-width:1200px;margin:0 auto;padding:1rem}.contact-segments-page .page-header{margin-bottom:2rem}.contact-segments-page .page-header h2{margin:0 0 .5rem;color:#6c757d;font-size:2rem}.contact-segments-page .page-header p{margin:0;color:#666;font-size:1.1rem}.segments-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.search-bar{flex:1;min-width:250px}.search-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn:disabled{opacity:.6;cursor:not-allowed}.segment-form-container{background:#f8f9fa;padding:2rem;border-radius:8px;margin-bottom:2rem;border:1px solid #dee2e6}.segment-form-container h3{margin:0 0 1.5rem;color:#6c757d}.segments-list{margin-bottom:2rem}.no-segments{text-align:center;padding:3rem;color:#666;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.no-segments p{margin:.5rem 0;font-size:1.1rem}.segments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.segments-summary{text-align:center;color:#666;font-style:italic;padding:1rem;border-top:1px solid #dee2e6}.loading{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.segment-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.segment-card:hover{border-color:#007bff;box-shadow:0 4px 8px #007bff26;transform:translateY(-2px)}.segment-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.segment-name{margin:0;color:#6c757d;font-size:1.25rem;font-weight:600;flex:1;margin-right:1rem}.segment-contact-count{background:#007bff;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;white-space:nowrap}.segment-card-body{margin-bottom:1.5rem}.segment-description{color:#666;margin:0 0 1rem;line-height:1.5;font-style:italic}.segment-metadata{font-size:.875rem}.segment-columns{color:#495057;margin-bottom:.5rem;display:block}.segment-dates{display:flex;justify-content:space-between;color:#6c757d;gap:1rem}.segment-created,.segment-updated{flex:1}.segment-card-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.segment-form{background:#fff;padding:1.5rem;border-radius:6px;border:1px solid #dee2e6}.required{color:#dc3545}.form-help{color:#6c757d;font-size:.875rem;margin-top:.25rem;display:block}.csv-preview{background:#f8f9fa;padding:1.5rem;border-radius:6px;border:1px solid #dee2e6;margin-top:1rem}.csv-preview h4{margin:0 0 1rem;color:#6c757d;font-size:1.1rem}.preview-stats{display:flex;gap:2rem;margin-bottom:1rem}.stat{color:#495057;font-size:.9rem}.preview-table-container{overflow-x:auto;margin-bottom:1rem}.preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-table th,.preview-table td{padding:.5rem;text-align:left;border:1px solid #dee2e6}.preview-table th{background:#e9ecef;font-weight:600;color:#495057}.preview-table td{background:#fff;color:#6c757d}.preview-note{color:#6c757d;font-style:italic;margin:0;font-size:.875rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #dee2e6}.segment-selector{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem}.selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.selector-header h4{margin:0;color:#6c757d;font-size:1.2rem}.selection-summary{font-size:.9rem}.selected-count{color:#28a745;font-weight:500}.no-selection{color:#6c757d}.no-segments{text-align:center;padding:2rem;color:#666}.no-segments a{color:#007bff;text-decoration:none}.no-segments a:hover{text-decoration:underline}.selector-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.selector-controls .search-bar{flex:1;min-width:200px}.segments-list{max-height:400px;overflow-y:auto;border:1px solid #dee2e6;border-radius:6px;background:#fff}.no-results{padding:2rem;text-align:center;color:#6c757d;font-style:italic}.segment-item{display:flex;align-items:flex-start;padding:1rem;border-bottom:1px solid #dee2e6;cursor:pointer;transition:background-color .2s}.segment-item:last-child{border-bottom:none}.segment-item:hover:not(.disabled){background-color:#f8f9fa}.segment-item.selected{background-color:#e8f5e8;border-left:4px solid #28a745}.segment-item.disabled{opacity:.6;cursor:not-allowed}.segment-checkbox{margin-right:1rem;margin-top:.25rem}.segment-checkbox input[type=checkbox]{width:1.2rem;height:1.2rem;cursor:pointer}.segment-info{flex:1}.segment-item .segment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.segment-item .segment-name{font-weight:600;color:#6c757d;margin:0}.segment-item .segment-count{color:#007bff;font-size:.875rem;font-weight:500}.segment-item .segment-description{color:#666;font-size:.9rem;margin-bottom:.5rem;font-style:italic}.segment-meta{font-size:.8rem;color:#6c757d}.segment-columns{margin:0}.selection-details{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #dee2e6}.selection-details h5{margin:0 0 .75rem;color:#6c757d;font-size:1rem}.selected-segments-list{list-style:none;padding:0;margin:0}.selected-segment{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#fff;border:1px solid #28a745;border-radius:4px;margin-bottom:.5rem}.selected-segment .segment-name{font-weight:500;color:#6c757d}.selected-segment .segment-count{color:#28a745;font-size:.875rem}.remove-segment{background:none;border:none;color:#dc3545;font-size:1.2rem;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.remove-segment:hover{background-color:#f8d7da}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.error-dismiss{background:none;border:none;color:#721c24;font-size:1.2rem;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}.error-dismiss:hover{background-color:#721c241a;border-radius:50%}@media (max-width: 768px){.contact-segments-page{padding:.5rem}.segments-controls{flex-direction:column;align-items:stretch}.search-bar{min-width:auto}.segments-grid{grid-template-columns:1fr;gap:1rem}.segment-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.segment-name{margin-right:0}.segment-dates{flex-direction:column;gap:.25rem}.selector-header{flex-direction:column;align-items:flex-start}.selector-controls{flex-direction:column;align-items:stretch}.form-actions{flex-direction:column}.preview-stats{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.segment-card,.segment-form-container,.segment-selector{padding:1rem}.segments-list{max-height:300px}}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #dbeafe;--color-primary-dark: #1e40af;--color-secondary: #64748b;--color-secondary-hover: #475569;--color-secondary-light: #f1f5f9;--color-secondary-dark: #334155;--color-success: #10b981;--color-success-hover: #059669;--color-success-light: #d1fae5;--color-success-dark: #047857;--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-light: #fef3c7;--color-warning-dark: #b45309;--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-light: #fee2e2;--color-error-dark: #b91c1c;--color-info: #06b6d4;--color-info-hover: #0891b2;--color-info-light: #cffafe;--color-info-dark: #0e7490;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-elevated: #ffffff;--bg-overlay: rgba(0, 0, 0, .5);--surface-primary: #ffffff;--surface-secondary: #f8fafc;--surface-hover: #f1f5f9;--surface-active: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-disabled: #cbd5e1;--text-inverse: #ffffff;--border-primary: #e2e8f0;--border-secondary: #cbd5e1;--border-focus: #2563eb;--border-error: #ef4444;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--opacity-disabled: .5;--opacity-hover: .9;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "Fira Code", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75}:root[data-theme=dark]{--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-light: rgba(96, 165, 250, .15);--color-primary-dark: #3b82f6;--color-secondary: #a1a1aa;--color-secondary-hover: #d4d4d8;--color-secondary-light: #3f3f46;--color-secondary-dark: #27272a;--color-success: #34d399;--color-success-hover: #6ee7b7;--color-success-light: rgba(52, 211, 153, .15);--color-success-dark: #10b981;--color-warning: #fbbf24;--color-warning-hover: #fcd34d;--color-warning-light: rgba(251, 191, 36, .15);--color-warning-dark: #f59e0b;--color-error: #fb7185;--color-error-hover: #fda4af;--color-error-light: rgba(251, 113, 133, .15);--color-error-dark: #f43f5e;--color-info: #22d3ee;--color-info-hover: #67e8f9;--color-info-light: rgba(34, 211, 238, .15);--color-info-dark: #06b6d4;--bg-primary: #0a0a0a;--bg-secondary: #18181b;--bg-tertiary: #27272a;--bg-elevated: #1f1f23;--bg-overlay: rgba(0, 0, 0, .85);--surface-primary: #18181b;--surface-secondary: #27272a;--surface-hover: #3f3f46;--surface-active: #52525b;--text-primary: #fafafa;--text-secondary: #d4d4d8;--text-tertiary: #a1a1aa;--text-disabled: #71717a;--text-inverse: #0a0a0a;--border-primary: #3f3f46;--border-secondary: #52525b;--border-focus: #60a5fa;--border-error: #fb7185;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 8px -2px rgba(0, 0, 0, .6), 0 2px 4px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 20px -5px rgba(0, 0, 0, .7), 0 4px 8px -2px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 30px -10px rgba(0, 0, 0, .8), 0 10px 15px -5px rgba(0, 0, 0, .6)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-light: rgba(96, 165, 250, .15);--color-primary-dark: #3b82f6;--color-secondary: #a1a1aa;--color-secondary-hover: #d4d4d8;--color-secondary-light: #3f3f46;--color-secondary-dark: #27272a;--color-success: #34d399;--color-success-hover: #6ee7b7;--color-success-light: rgba(52, 211, 153, .15);--color-success-dark: #10b981;--color-warning: #fbbf24;--color-warning-hover: #fcd34d;--color-warning-light: rgba(251, 191, 36, .15);--color-warning-dark: #f59e0b;--color-error: #fb7185;--color-error-hover: #fda4af;--color-error-light: rgba(251, 113, 133, .15);--color-error-dark: #f43f5e;--color-info: #22d3ee;--color-info-hover: #67e8f9;--color-info-light: rgba(34, 211, 238, .15);--color-info-dark: #06b6d4;--bg-primary: #0a0a0a;--bg-secondary: #18181b;--bg-tertiary: #27272a;--bg-elevated: #1f1f23;--bg-overlay: rgba(0, 0, 0, .85);--surface-primary: #18181b;--surface-secondary: #27272a;--surface-hover: #3f3f46;--surface-active: #52525b;--text-primary: #fafafa;--text-secondary: #d4d4d8;--text-tertiary: #a1a1aa;--text-disabled: #71717a;--text-inverse: #0a0a0a;--border-primary: #3f3f46;--border-secondary: #52525b;--border-focus: #60a5fa;--border-error: #fb7185;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 8px -2px rgba(0, 0, 0, .6), 0 2px 4px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 20px -5px rgba(0, 0, 0, .7), 0 4px 8px -2px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 30px -10px rgba(0, 0, 0, .8), 0 10px 15px -5px rgba(0, 0, 0, .6)}}.theme-toggle{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:1000;background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-full);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;transition:all var(--transition-base)}.theme-toggle:hover{background:var(--surface-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.theme-toggle-icon{font-size:var(--font-size-lg);color:var(--text-secondary);transition:transform var(--transition-base)}.theme-toggle:hover .theme-toggle-icon{transform:rotate(20deg)}.theme-toggle-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.border{border:1px solid var(--border-primary)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}button,a,input,select,textarea,.card,.segment-card{transition-property:background-color,border-color,color,box-shadow,transform;transition-duration:var(--transition-base);transition-timing-function:ease-in-out}body.theme-transitioning,body.theme-transitioning *{transition:none!important}:root{font-family:var(--font-sans);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color-scheme:light dark;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:var(--font-weight-medium);color:var(--color-primary);text-decoration:inherit;transition:color var(--transition-base)}a:hover{color:var(--color-primary-hover)}body{margin:0;min-width:320px;min-height:100vh;width:100%}#root{width:100%;min-height:100vh}h1{font-size:2.5em;line-height:1.1}button{border-radius:var(--radius-lg);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:var(--font-weight-medium);font-family:inherit;background-color:var(--surface-primary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}button:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}button:focus,button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.confirmation-page{max-width:800px;margin:0 auto;padding:20px}.confirmation-page h2{color:#646cff;margin-bottom:10px}.confirmation-page h3{margin-top:30px;margin-bottom:15px;border-bottom:1px solid #333;padding-bottom:5px}.loading-spinner{display:flex;justify-content:center;padding:40px}.spinner{width:40px;height:40px;border:4px solid #333;border-top:4px solid #646cff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background-color:#f44;color:#fff;padding:15px;border-radius:8px;margin:20px 0}.success-message{background-color:#4f4;color:#000;padding:15px;border-radius:8px;margin:20px 0}.retry-button{background-color:#646cff;color:#fff;border:none;margin-top:10px}.campaign-summary{background-color:#1a1a1a;padding:20px;border-radius:8px;margin:20px 0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background-color:#2a2a2a;border-radius:4px}.summary-item label{font-weight:600}.summary-value{font-weight:700;font-size:1.1em}.summary-value.ready{color:#4f4}.summary-value.incomplete{color:#f44}.smtp-details{background-color:#1a1a1a;padding:20px;border-radius:8px;margin:20px 0}.smtp-list{display:flex;flex-direction:column;gap:10px}.smtp-item{background-color:#2a2a2a;padding:15px;border-radius:4px;border-left:4px solid #646cff}.smtp-info{display:flex;align-items:center;gap:10px;margin-bottom:5px}.smtp-username{color:#888;font-size:.9em}.smtp-limits{color:#aaa;font-size:.85em}.email-preview{background-color:#1a1a1a;padding:20px;border-radius:8px;margin:20px 0}.email-content{display:flex;flex-direction:column;gap:15px}.email-field{display:flex;flex-direction:column;gap:5px}.email-field label{font-weight:600;color:#646cff}.email-field span{background-color:#2a2a2a;padding:8px;border-radius:4px}.email-body-preview{background-color:#2a2a2a;padding:12px;border-radius:4px;white-space:pre-wrap;max-height:150px;overflow-y:auto}.recipients-preview{background-color:#f8f9fa;padding:20px;border-radius:8px;margin:20px 0;border:1px solid #dee2e6}.recipients-content,.segments-content{margin-bottom:20px}.recipients-content h4,.segments-content h4{color:#6c757d;margin-bottom:10px;border-bottom:1px solid #dee2e6;padding-bottom:5px}.recipients-summary,.segments-summary{background-color:#fff;padding:15px;border-radius:6px;margin-bottom:15px;border:1px solid #e9ecef}.recipients-summary p,.segments-summary p{margin:5px 0;color:#6c757d}.recipients-preview-list{background-color:#fff;padding:15px;border-radius:6px;border:1px solid #e9ecef}.recipients-preview-list h5{margin-bottom:10px;color:#6c757d}.recipients-preview-list ul{list-style:none;padding:0;margin:0}.recipients-preview-list li{padding:5px 0;border-bottom:1px solid #dee2e6;color:#6c757d}.recipients-preview-list li:last-child{border-bottom:none}.segments-list{display:flex;flex-direction:column;gap:10px}.segment-item{background-color:#fff;padding:15px;border-radius:6px;border:1px solid #e9ecef;border-left:3px solid #007bff}.segment-info{display:flex;align-items:center;gap:10px;margin-bottom:8px}.segment-info strong{color:#6c757d}.segment-count{background-color:#e9ecef;color:#495057;padding:2px 8px;border-radius:12px;font-size:.85em;font-weight:600}.segment-description{color:#6c757d;font-size:.9em;margin-bottom:5px}.segment-columns{color:#6c757d;font-size:.8em}.execution-controls{background-color:#1a1a1a;padding:20px;border-radius:8px;margin:20px 0}.execution-buttons{display:flex;gap:15px;margin:20px 0}.execute-button{background-color:#4f4;color:#000;border:none;padding:12px 24px;font-weight:700;display:flex;align-items:center;gap:8px}.execute-button:hover:not(:disabled){background-color:#3d3}.execute-button:disabled{background-color:#666;color:#aaa;cursor:not-allowed}.execute-button.executing{background-color:#fa4;color:#000}.button-spinner{width:16px;height:16px;border:2px solid #000;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.refresh-button{background-color:#646cff;color:#fff;border:none}.refresh-button:hover:not(:disabled){background-color:#535bf2}.execution-warning{background-color:#f44;color:#fff;padding:15px;border-radius:8px;margin-top:15px}.execution-warning ul{margin:10px 0 0 20px}.execution-ready{background-color:#4f4;color:#000;padding:15px;border-radius:8px;margin-top:15px;font-weight:700}.no-config{color:#888;font-style:italic;padding:20px;text-align:center;background-color:#2a2a2a;border-radius:4px}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}.campaign-summary,.smtp-details,.email-preview,.execution-controls{background-color:#f5f5f5;color:#213547}.summary-item,.smtp-item,.email-field span,.email-body-preview,.no-config{background-color:#e5e5e5;color:#213547}.confirmation-page h3{border-bottom-color:#ccc}.spinner{border-color:#ccc;border-top-color:#646cff}}.progress-section{background-color:#1a1a1a;border:1px solid #333;border-radius:8px;padding:24px;margin-top:24px}.progress-section h3{margin:0 0 20px;color:#646cff;font-size:1.4em}.overall-progress{background-color:#2a2a2a;border-radius:6px;padding:20px;margin-bottom:24px;border:1px solid #333}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.progress-header h4{margin:0;color:#fff;font-size:1.2em}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8em;font-weight:700;text-transform:uppercase}.status-badge.pending{background:#ffeaa7;color:#d63031}.status-badge.running{background:#74b9ff;color:#0984e3}.status-badge.completed{background:#00b894;color:#fff}.status-badge.failed{background:#e17055;color:#fff}.status-badge.paused{background:#fdcb6e;color:#e84393}.progress-bar-container{display:flex;align-items:center;gap:12px;margin-bottom:16px}.progress-bar{flex:1;height:20px;background:#333;border-radius:10px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#00b894,#00cec9);border-radius:10px;transition:width .3s ease;position:relative}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{font-weight:700;color:#fff;min-width:50px;text-align:right}.progress-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#333;border-radius:4px}.stat-item label{font-weight:500;color:#aaa}.stat-item span{font-weight:700;color:#fff}.stat-item span.error{color:#e74c3c}.time-estimate{margin-top:12px;padding:8px 12px;background:#1e3a8a;border-radius:4px;border-left:4px solid #2196f3}.time-estimate p{margin:0;color:#93c5fd;font-weight:500}.batch-progress{background-color:#2a2a2a;border-radius:6px;padding:20px;margin-bottom:24px;border:1px solid #333}.batch-progress h4{margin:0 0 16px;color:#fff;font-size:1.1em}.batch-list{display:flex;flex-direction:column;gap:12px}.batch-item{padding:12px;border-radius:6px;border:1px solid #444;background:#333}.batch-item.pending{border-left:4px solid #ffeaa7}.batch-item.sending{border-left:4px solid #74b9ff}.batch-item.completed{border-left:4px solid #00b894}.batch-item.failed{border-left:4px solid #e17055}.batch-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.batch-name{font-weight:600;color:#fff}.batch-status{padding:2px 8px;border-radius:12px;font-size:.75em;font-weight:700;text-transform:uppercase}.batch-status.pending{background:#ffeaa7;color:#d63031}.batch-status.sending{background:#74b9ff;color:#0984e3}.batch-status.completed{background:#00b894;color:#fff}.batch-status.failed{background:#e17055;color:#fff}.batch-progress-bar{height:8px;background:#444;border-radius:4px;overflow:hidden;margin-bottom:8px}.batch-progress-bar .progress-fill{height:100%;background:linear-gradient(90deg,#74b9ff,#0984e3)}.batch-stats{display:flex;gap:16px;font-size:.9em;color:#aaa}.batch-stats .failed{color:#e74c3c;font-weight:500}.campaign-controls{display:flex;gap:12px;margin-bottom:24px}.control-button{padding:8px 16px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.control-button.pause{background:#fdcb6e;color:#2d3436}.control-button.pause:hover{background:#e84393;color:#fff}.control-button.resume{background:#74b9ff;color:#fff}.control-button.resume:hover{background:#0984e3}.control-button.retry{background:#fd79a8;color:#fff}.control-button.retry:hover{background:#e84393}.error-details{background-color:#2a2a2a;border-radius:6px;padding:20px;border:1px solid #333}.error-details h4{margin:0 0 16px;color:#e74c3c;font-size:1.1em}.error-list{display:flex;flex-direction:column;gap:12px}.error-item{padding:12px;border-radius:6px;border:1px solid #444}.error-item.retryable{background:#3d2914;border-color:#ffeaa7}.error-item.permanent{background:#3d1a1a;border-color:#f5c6cb}.error-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.error-type{font-weight:700;color:#e74c3c;font-size:.9em}.error-time{font-size:.8em;color:#aaa}.error-message{margin:0 0 8px;color:#fff;font-size:.9em}.retry-indicator{font-size:.8em;color:#f39c12;font-weight:500}.more-errors{margin:8px 0 0;font-style:italic;color:#aaa;text-align:center}@media (prefers-color-scheme: light){.progress-section{background-color:#f8f9fa;border-color:#e9ecef}.overall-progress,.batch-progress,.error-details{background:#fff;border-color:#e9ecef}.progress-header h4,.batch-progress h4,.batch-name,.progress-text,.error-message{color:#2c3e50}.progress-bar,.batch-progress-bar{background:#e9ecef}.stat-item,.batch-item,.error-item{background:#f8f9fa;border-color:#e9ecef}.stat-item label,.batch-stats{color:#6c757d}.stat-item span{color:#2c3e50}.time-estimate{background:#e3f2fd;border-left-color:#2196f3}.time-estimate p{color:#1976d2}.error-item.retryable{background:#fff3cd;border-color:#ffeaa7}.error-item.permanent{background:#f8d7da;border-color:#f5c6cb}.error-time,.more-errors{color:#6c757d}}.html-editor{border:1px solid #ddd;border-radius:8px;background:#fff;color:#333;overflow:hidden}.html-editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-bottom:1px solid #ddd;flex-wrap:wrap;gap:8px}.toolbar-section{display:flex;gap:8px;align-items:center}.mode-toggle{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;cursor:pointer;font-size:14px;transition:all .2s}.mode-toggle:hover{background:#e9ecef}.mode-toggle.html{background:#007bff;color:#fff;border-color:#007bff}.preview-toggle,.validate-btn,.templates-btn{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;cursor:pointer;font-size:14px;transition:all .2s}.preview-toggle:hover,.validate-btn:hover,.templates-btn:hover{background:#e9ecef}.preview-toggle:disabled,.validate-btn:disabled,.templates-btn:disabled{opacity:.6;cursor:not-allowed}.html-shortcuts{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f1f3f4;border-bottom:1px solid #ddd;flex-wrap:wrap}.shortcuts-label{font-size:12px;color:#666;margin-right:8px}.tag-btn{padding:4px 8px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;cursor:pointer;font-size:12px;font-family:monospace;transition:all .2s}.tag-btn:hover{background:#e9ecef;border-color:#007bff}.templates-panel{border-bottom:1px solid #ddd;background:#fff}.templates-header{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-bottom:1px solid #ddd}.templates-header h4{margin:0;font-size:16px;color:#333}.close-btn{padding:4px 8px;border:none;background:none;color:#666;cursor:pointer;font-size:16px}.close-btn:hover{color:#333}.templates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;padding:12px}.template-card{border:1px solid #ddd;border-radius:6px;padding:12px;background:#fff}.template-card h5{margin:0 0 8px;font-size:14px;color:#333}.template-card p{margin:0 0 12px;font-size:12px;color:#666;line-height:1.4}.use-template-btn{padding:6px 12px;border:1px solid #007bff;border-radius:4px;background:#007bff;color:#fff;cursor:pointer;font-size:12px;width:100%}.use-template-btn:hover{background:#0056b3}.editor-content{position:relative}.html-textarea{width:100%;border:none;padding:12px;font-family:Courier New,monospace;font-size:14px;line-height:1.5;resize:vertical;outline:none;background:#fff;color:#333}.html-textarea.html{font-family:Courier New,monospace;background:#f8f9fa}.html-preview{padding:12px;background:#fff}.preview-header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #ddd}.preview-header h4{margin:0 0 4px;font-size:16px;color:#333}.preview-header small{color:#666;font-size:12px}.preview-content{border:1px solid #ddd;border-radius:4px;padding:16px;background:#fff;min-height:200px}.validation-results{border-top:1px solid #ddd;background:#f8f9fa;padding:12px}.validation-status{margin-bottom:12px}.validation-status.valid .status-icon{color:#28a745}.validation-status.invalid .status-icon{color:#dc3545}.validation-errors,.validation-warnings{margin-bottom:12px}.validation-errors h5,.validation-warnings h5{margin:0 0 8px;font-size:14px}.validation-errors h5{color:#dc3545}.validation-warnings h5{color:#ffc107}.validation-errors ul,.validation-warnings ul{margin:0;padding-left:20px}.error-item{color:#dc3545;font-size:13px;margin-bottom:4px}.warning-item{color:#856404;font-size:13px;margin-bottom:4px}.link-test-results{border-top:1px solid #ddd;background:#f8f9fa;padding:12px}.link-test-results h5{margin:0 0 12px;font-size:14px;color:#333}.link-results-grid{display:grid;gap:8px}.link-result{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:12px}.link-result.accessible{border-color:#28a745}.link-result.inaccessible{border-color:#dc3545}.link-url{font-family:monospace;color:#333;word-break:break-all}.status-success{color:#28a745}.status-error{color:#dc3545}.link-timing{color:#666;font-size:11px}.editor-footer{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8f9fa;border-top:1px solid #ddd;font-size:12px;color:#666}.character-count{font-family:monospace}.html-tips{font-style:italic}.email-mode-toggle{display:flex;flex-direction:column;gap:8px}.email-mode-toggle label{font-weight:600;color:#333}.mode-buttons{display:flex;gap:8px}.mode-btn{padding:8px 16px;border:2px solid #ddd;border-radius:6px;background:#fff;color:#333;cursor:pointer;font-size:14px;transition:all .2s}.mode-btn:hover{border-color:#007bff;background:#f8f9ff}.mode-btn.active{border-color:#007bff;background:#007bff;color:#fff}.mode-btn:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme: dark){.html-editor{border-color:#444;background:#2d2d2d;color:#e0e0e0}.html-editor-toolbar{background:#3a3a3a;border-color:#444}.mode-toggle,.preview-toggle,.validate-btn,.templates-btn{background:#2d2d2d;color:#e0e0e0;border-color:#444}.mode-toggle:hover,.preview-toggle:hover,.validate-btn:hover,.templates-btn:hover{background:#404040}.html-shortcuts{background:#3a3a3a;border-color:#444}.tag-btn{background:#2d2d2d;color:#e0e0e0;border-color:#444}.tag-btn:hover{background:#404040}.html-textarea{background:#2d2d2d;color:#e0e0e0}.html-textarea.html{background:#3a3a3a}.validation-results,.link-test-results,.editor-footer{background:#3a3a3a;border-color:#444}.template-card,.link-result,.preview-content{background:#2d2d2d;border-color:#444}}
