.container{min-height:100vh;background:linear-gradient(135deg,#f9fafb,#e5e7eb);display:flex;align-items:center;justify-content:center;padding:1rem}.card{background:#fff;border-radius:1rem;box-shadow:0 10px 25px #0000001a;padding:2rem;width:100%;max-width:28rem}.header{text-align:center;margin-bottom:2rem}.logo{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:#d1fae5;border-radius:50%;margin-bottom:1rem}.title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.subtitle{color:#6b7280;margin-top:.5rem;font-size:.875rem}.errorBox{background:#fef2f2;border-left:4px solid #ef4444;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem}.errorIcon{width:1.25rem;height:1.25rem;color:#ef4444;flex-shrink:0}.errorText{color:#991b1b;font-size:.875rem;margin:0}.form{display:flex;flex-direction:column;gap:1.25rem}.inputGroup{display:flex;flex-direction:column}.label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.inputWrapper{position:relative;width:100%}.input{width:100%;padding:12px 16px 12px 48px;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;line-height:1.25rem;transition:all .2s;box-sizing:border-box}.input::placeholder{color:#9ca3af}.options{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.checkbox{display:flex;align-items:center;gap:.5rem;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input{width:1rem;height:1rem;accent-color:#10b981;cursor:pointer}.forgotPassword{color:#10b981;font-weight:500;text-decoration:none;transition:color .2s}.forgotPassword:hover{color:#059669}.button{width:100%;background:#10b981;color:#fff;padding:.75rem 1rem;border:none;border-radius:.5rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.button:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.buttonLoading{background:#9ca3af}.spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@media(max-width:640px){.card{padding:1.5rem}.title{font-size:1.25rem}}.modalOverlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:.75rem;padding:2rem;max-width:28rem;width:100%;text-align:center;box-shadow:0 20px 25px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modalIcon{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.modalIconSuccess{background:#d1fae5;color:#10b981}.modalIconSuccess svg{width:2.5rem;height:2.5rem}.modalIconError{background:#fee2e2;color:#ef4444}.modalIconError svg{width:2rem;height:2rem}.modalTitle{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 .75rem}.modalText{font-size:.875rem;color:#6b7280;margin:0 0 1.5rem;line-height:1.5}.modalButton{width:100%;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.modalButtonSuccess{background:#10b981;color:#fff}.modalButtonSuccess:hover{background:#059669;transform:translateY(-1px)}.modalButtonError{background:#ef4444;color:#fff}.modalButtonError:hover{background:#dc2626;transform:translateY(-1px)}.dashboardContainer{display:flex;min-height:100vh;background:#f9fafb}.sidebar{width:16rem;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column}.sidebarHeader{padding:1.5rem;border-bottom:1px solid #e5e7eb}.logoContainer{display:flex;align-items:center;gap:.75rem}.logoIcon{width:2rem;height:2rem;color:#10b981}.logoContainer h2{font-size:1.125rem;font-weight:700;color:#111827;margin:0}.sidebarNav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.25rem}.navItem{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;color:#6b7280;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s;width:100%;background:none;border:none;cursor:pointer;text-align:left}.navItem svg{width:1.25rem;height:1.25rem}.navItem:hover{background:#f3f4f6;color:#111827}.navItemActive{background:#d1fae5;color:#10b981}.sidebarFooter{padding:1rem;border-top:1px solid #e5e7eb}.userInfo{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.userAvatar{width:2.5rem;height:2.5rem;border-radius:50%;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.userDetails{flex:1;min-width:0}.userName{font-size:.875rem;font-weight:500;color:#111827;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userRole{font-size:.75rem;color:#6b7280;margin:0}.logoutButton{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.logoutButton svg{width:1.25rem;height:1.25rem}.logoutButton:hover{background:#f9fafb;border-color:#d1d5db;color:#111827}.mainContent{flex:1;display:flex;flex-direction:column}.contentHeader{background:#fff;border-bottom:1px solid #e5e7eb;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.pageTitle{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.pageSubtitle{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.createButton{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#10b981;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.createButton svg{width:1.25rem;height:1.25rem}.createButton:hover{background:#059669;transform:translateY(-1px)}.contentBody{flex:1;padding:2rem}.loadingContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#6b7280}.loadingContainer .spinner{width:3rem;height:3rem;border:3px solid #e5e7eb;border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.errorContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#ef4444;text-align:center}.emptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center}.createButtonLarge{padding:.75rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.createButtonLarge:hover{background:#059669;transform:translateY(-1px)}.instancesGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1.5rem}.instanceCard{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;transition:all .2s;position:relative}.instanceCard:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.instanceCardHeader{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-right:2.5rem}.instanceAvatar{width:3rem;height:3rem;border-radius:50%;object-fit:cover}.instanceAvatarPlaceholder{width:3rem;height:3rem;border-radius:50%;background:#f3f4f6;color:#9ca3af;display:flex;align-items:center;justify-content:center}.instanceAvatarPlaceholder svg{width:1.5rem;height:1.5rem}.instanceInfo{flex:1}.instanceName{font-size:1rem;font-weight:600;color:#111827;margin:0 0 .5rem}.badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badgeSuccess{background:#d1fae5;color:#065f46}.badgeDanger{background:#fee2e2;color:#991b1b}.badgeWarning{background:#fef3c7;color:#92400e}.instanceActions{position:absolute;top:1.5rem;right:1.5rem;display:flex;gap:.5rem}.actionButton{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;width:2rem;height:2rem}.actionButton svg{width:1.125rem;height:1.125rem}.actionButton:hover{background:#f9fafb;border-color:#d1d5db}.actionButtonDelete{color:#ef4444;border-color:#fee2e2}.actionButtonDelete:hover{background:#fef2f2;border-color:#fecaca}.instanceFooter{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.75rem}.campaignButton{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background:#047652;color:#fff}.campaignButton:hover{background:#035138;transform:translateY(-1px)}.campaignButton svg{width:1.125rem;height:1.125rem}.connectButton,.disconnectButton{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.connectButton{background:#10b981;color:#fff}.connectButton:hover{background:#059669;transform:translateY(-1px)}.connectButton svg{width:1.125rem;height:1.125rem}.disconnectButton{background:#ef4444;color:#fff}.disconnectButton:hover{background:#dc2626;transform:translateY(-1px)}.disconnectButton svg{width:1.125rem;height:1.125rem}.modalOverlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal{background:#fff;border-radius:.75rem;width:100%;max-width:28rem;box-shadow:0 20px 25px #00000026}.modalHeader{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modalHeader h2{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.modalClose{width:2rem;height:2rem;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:.375rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.modalClose:hover{background:#f3f4f6;color:#111827}.modalClose svg{width:1.25rem;height:1.25rem}.modalBody{padding:1.5rem}.label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.input{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:all .2s;box-sizing:border-box}.input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.modalFooter{display:flex;gap:.75rem;justify-content:flex-end}.button{padding:.625rem 1.25rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.buttonPrimary:hover{background:#059669}.buttonPrimary:disabled{background:#9ca3af;cursor:not-allowed}.buttonDanger{background:#ef4444;color:#fff}.buttonDanger:hover{background:#dc2626}.buttonDanger:disabled{background:#9ca3af;cursor:not-allowed}.deleteWarning{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.deleteWarning svg{width:3rem;height:3rem;color:#f59e0b;margin-bottom:1rem}.deleteWarningText{font-size:.875rem;color:#111827;margin:0 0 .5rem}.deleteWarningText strong{color:#ef4444;font-weight:600}.deleteWarningSubtext{font-size:.75rem;color:#6b7280;margin:0}@media(max-width:768px){.sidebar{display:none}.contentHeader{flex-direction:column;align-items:flex-start;gap:1rem}.createButton{width:100%}.instancesGrid{grid-template-columns:1fr}}.broadcastsContent{width:100%}.broadcastsHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.headerContent{display:flex;align-items:center;gap:1rem}.broadcastsHeader h1{margin:0;font-size:1.875rem;font-weight:700;color:#111827}.broadcastsHeader p{margin:.25rem 0 0;font-size:.875rem;color:#6b7280}.refreshButton{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.refreshButton:hover{background:#f9fafb;border-color:#d1d5db}.broadcastsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.broadcastCard{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;transition:all .3s;animation:fadeIn .3s ease-in}.broadcastCard:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:#10b981}.cardHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:.75rem}.cardIcon{width:2.5rem;height:2.5rem;background:#f0fdf4;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#10b981;flex-shrink:0}.cardIcon svg{width:1.5rem;height:1.5rem}.cardTitle{margin:0;font-size:.9375rem;font-weight:600;color:#111827}.cardBody{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.25rem}.infoRow{display:flex;justify-content:space-between;align-items:center}.label{font-size:.875rem;color:#6b7280;font-weight:500}.value{font-size:.875rem;color:#111827;font-weight:600}.messageCount{display:flex;align-items:center;gap:.375rem;color:#10b981}.messageCount svg{width:1rem;height:1rem}.cardFooter{padding-top:1rem;border-top:1px solid #f3f4f6}.viewButton{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.viewButton:hover{background:#10b981;color:#fff;border-color:#10b981}.viewButton svg{width:1rem;height:1rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.paginationButton{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.paginationButton:hover:not(:disabled){background:#10b981;color:#fff;border-color:#10b981}.paginationButton:disabled{opacity:.5;cursor:not-allowed}.paginationButton svg{width:1.25rem;height:1.25rem}.loadingState,.errorState,.emptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loadingState p,.errorState p,.emptyState p{margin-top:1rem;color:#6b7280}.errorState svg,.emptyState svg{width:4rem;height:4rem;color:#d1d5db;margin-bottom:1rem}.errorState h3,.emptyState h3{margin:0;font-size:1.25rem;color:#374151}.retryButton{margin-top:1rem;padding:.625rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s}@media(max-width:768px){.broadcastsHeader{flex-direction:column;align-items:flex-start}.refreshButton{width:100%;justify-content:center}.broadcastsGrid{grid-template-columns:1fr}.cardTitle{font-size:.8125rem}}.campaignContainer{min-height:100vh;background:#f9fafb;padding:2rem}.campaignWrapper{max-width:56rem;margin:0 auto}.campaignHeader{margin-bottom:2rem}.backButton{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin-bottom:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.backButton:hover{background:#f9fafb;color:#111827;border-color:#d1d5db}.campaignTitle{font-size:1.875rem;font-weight:700;color:#111827;margin:0 0 .5rem}.campaignSubtitle{font-size:.875rem;color:#6b7280;margin:0}.loadingContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#6b7280;background:#fff;border-radius:.75rem;border:1px solid #e5e7eb}.spinner{width:3rem;height:3rem;border:3px solid #e5e7eb;border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.errorContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#ef4444;text-align:center;background:#fff;border-radius:.75rem;border:1px solid #e5e7eb}.errorContainer svg{width:4rem;height:4rem;margin-bottom:1rem}.retryButton{margin-top:1rem;padding:.625rem 1.25rem;background:#10b981;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.retryButton:hover{background:#059669}.emptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center;background:#fff;border-radius:.75rem;border:1px solid #e5e7eb}.emptyState svg{width:5rem;height:5rem;color:#d1d5db;margin-bottom:1rem}.emptyState h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.emptyState p{color:#6b7280;margin:0 0 1.5rem}.backToDashboardButton{padding:.75rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.backToDashboardButton:hover{background:#059669;transform:translateY(-1px)}.campaignForm{width:100%}.formCard{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a}.inputGroup{margin-bottom:1.5rem}.label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.label svg{width:1.125rem;height:1.125rem;color:#10b981}.select{width:100%;padding:.625rem 2.5rem .625rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;color:#111827;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;cursor:pointer;transition:all .2s;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none}.select:hover{border-color:#10b981}.select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;color:#111827;font-family:inherit;resize:vertical;transition:all .2s;box-sizing:border-box}.textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.textarea::placeholder{color:#9ca3af}.inputHint{font-size:.75rem;color:#6b7280;margin-top:.5rem;margin-bottom:0}.messageInfo{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.uploadArea{position:relative}.fileInput{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.uploadLabel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 2rem;border:2px dashed #d1d5db;border-radius:.5rem;background:#f9fafb;cursor:pointer;transition:all .2s}.uploadLabel:hover{border-color:#10b981;background:#f0fdf4}.uploadLabel svg{width:3rem;height:3rem;color:#9ca3af}.uploadLabel:hover svg{color:#10b981}.uploadLabel span{font-size:.875rem;color:#6b7280;font-weight:500}.uploadHint{font-size:.75rem!important;color:#9ca3af!important;font-weight:400!important}.filePreview{display:flex;align-items:center;justify-content:space-between;padding:1rem;border:1px solid #d1d5db;border-radius:.5rem;background:#f9fafb}.fileInfo{display:flex;align-items:center;gap:1rem}.fileInfo svg{width:2.5rem;height:2.5rem;color:#10b981;flex-shrink:0}.fileDetails{flex:1}.fileName{font-size:.875rem;font-weight:500;color:#111827;margin:0 0 .25rem}.fileSize{font-size:.75rem;color:#10b981;margin:0;font-weight:500}.removeFileButton{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;background:#fee2e2;color:#ef4444;border-radius:.375rem;cursor:pointer;transition:all .2s}.removeFileButton:hover{background:#fecaca}.removeFileButton svg{width:1.25rem;height:1.25rem}.excelFormat{margin-top:1rem;padding:1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem}.formatTable{width:100%;margin-top:.5rem;border-collapse:collapse;font-size:.75rem}.formatTable th,.formatTable td{padding:.5rem;text-align:left;border:1px solid #dbeafe}.formatTable th{background:#10b981;color:#fff;font-weight:600}.formatTable td{background:#fff;color:#374151}.formActions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #e5e7eb}.exampleDownload{background:#10b9811b;border:1px solid #10b981;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem;text-align:center}.exampleText{font-size:.875rem;color:#6b7280;margin:0 0 .75rem}.downloadButton{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#10b981;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.downloadButton svg{width:1.25rem;height:1.25rem}.downloadButton:hover{background:#059669;transform:translateY(-1px)}.downloadButton:active{transform:translateY(0)}.button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.button svg{width:1.25rem;height:1.25rem}.buttonSecondary{background:#fff;border:1px solid #d1d5db;color:#374151}.buttonSecondary:hover{background:#f9fafb}.buttonSecondary:disabled{opacity:.5;cursor:not-allowed}.buttonPrimary{background:#10b981;color:#fff}.buttonPrimary:hover{background:#059669;transform:translateY(-1px)}.buttonPrimary:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.buttonPrimary .spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;margin:0}@media(max-width:768px){.campaignContainer{padding:1rem}.campaignTitle{font-size:1.5rem}.formCard{padding:1.5rem}.formActions{flex-direction:column}.button{width:100%}.formatTable{font-size:.65rem}.formatTable th,.formatTable td{padding:.25rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.detailContainer{min-height:100vh;background:#f9fafb;padding:2rem}.detailHeader{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.refreshButton{display:flex;align-items:center;gap:.5rem;margin-left:auto;padding:.75rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.refreshButton:hover{background:#f0fdf4;border-color:#10b981;color:#10b981}.refreshButton svg{width:1.25rem;height:1.25rem}.backButton{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.backButton:hover{background:#f9fafb;border-color:#10b981;color:#10b981}.backButton svg{width:1.25rem;height:1.25rem}.headerInfo{display:flex;align-items:center;gap:1rem}.headerIcon{width:3.5rem;height:3.5rem;background:linear-gradient(135deg,#10b981,#059669);border-radius:1rem;display:flex;align-items:center;justify-content:center;color:#fff}.headerIcon svg{width:2rem;height:2rem}.detailHeader h1{margin:0;font-size:1.875rem;font-weight:700;color:#111827}.detailHeader p{margin:.25rem 0 0;font-size:.875rem;color:#6b7280}.summaryCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.summaryCard{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s}.summaryCard:hover{transform:translateY(-2px);box-shadow:0 8px 16px #00000014}.summaryIcon{width:3rem;height:3rem;background:#f0fdf4;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#10b981;flex-shrink:0}.summaryIcon svg{width:1.75rem;height:1.75rem}.summaryIcon.success{background:#d1fae5;color:#059669}.summaryIcon.pending{background:#fef3c7;color:#d97706}.summaryIcon.failed{background:#fee2e2;color:#dc2626}.summaryContent{display:flex;flex-direction:column;gap:.25rem}.summaryLabel{font-size:.875rem;color:#6b7280;font-weight:500}.summaryValue{font-size:1.875rem;font-weight:700;color:#111827}.summaryValue.success{color:#059669}.summaryValue.pending{color:#d97706}.summaryValue.failed{color:#dc2626}.messagesSection{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:2rem}.sectionTitle{margin:0 0 1.5rem;font-size:1.25rem;font-weight:700;color:#111827}.messagesGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.messageCard{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #d1d5db;border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:.875rem;transition:box-shadow .2s,transform .2s;animation:fadeIn .3s ease-in}.messageCard:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.messageCard--success{border-left-color:#10b981}.messageCard--pending{border-left-color:#f59e0b}.messageCard--failed{border-left-color:#ef4444}.messageCard__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.messageCard__recipient{display:flex;align-items:center;gap:.5rem;min-width:0}.messageCard__recipient svg{width:1rem;height:1rem;color:#10b981;flex-shrink:0}.messageCard__phone{font-size:.9375rem;font-weight:600;color:#111827;white-space:nowrap}.statusBadge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;width:fit-content}.statusBadge--success{background:#d1fae5;color:#065f46}.statusBadge--pending{background:#fef3c7;color:#92400e}.statusBadge--failed{background:#fee2e2;color:#991b1b}.messageCard__bubble{background:#f9fafb;border:1px solid #f3f4f6;border-radius:0 .75rem .75rem;padding:.75rem 1rem}.messageCard__bubble p{margin:0;font-size:.875rem;color:#374151;line-height:1.6;word-break:break-word}.messageCard__footer{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:#9ca3af;font-weight:500;padding-top:.25rem;border-top:1px solid #f3f4f6}.messageCard__footer svg{width:.875rem;height:.875rem;flex-shrink:0}.resendButton{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.5rem 1rem;background:#fff1f2;border:1px solid #fecdd3;border-radius:.5rem;color:#be123c;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.resendButton:hover:not(:disabled){background:#ef4444;border-color:#ef4444;color:#fff}.resendButton:disabled{opacity:.6;cursor:not-allowed}.resendButton svg{width:1rem;height:1rem;flex-shrink:0}.resendButton__spinner{width:.875rem;height:.875rem;border:2px solid #fecdd3;border-top-color:#be123c;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.paginationButton{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.paginationButton:hover:not(:disabled){background:#f0fdf4;border-color:#10b981;color:#10b981}.paginationButton:disabled{opacity:.4;cursor:not-allowed}.paginationButton svg{width:1rem;height:1rem}.pageInfo{font-size:.875rem;color:#6b7280;font-weight:500}.emptyMessages{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.emptyMessages svg{width:4rem;height:4rem;color:#d1d5db;margin-bottom:1rem}.emptyMessages p{margin:0;color:#6b7280;font-size:.875rem}.loadingState,.errorState{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loadingState .spinner{width:3rem;height:3rem;border:3px solid #e5e7eb;border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite}.loadingState p,.errorState p{margin-top:1rem;color:#6b7280}.errorState svg{width:4rem;height:4rem;color:#dc2626;margin-bottom:1rem}.errorState h3{margin:0;font-size:1.25rem;color:#374151}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.detailContainer{padding:1rem}.detailHeader{flex-direction:column;align-items:flex-start}.summaryCards,.messagesGrid{grid-template-columns:1fr}.messagesSection{padding:1.5rem}}
