@charset "UTF-8";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sidebar{background-color:#2c3e50;border-right:1px solid #34495e;height:100vh;padding:20px 0;width:250px}.sidebar-item{border-left:4px solid #0000;color:#ecf0f1;display:block;font-size:15px;padding:12px 20px;text-decoration:none;transition:all .2s ease}.sidebar-item:hover{color:#fff;text-decoration:none}.sidebar-item.active,.sidebar-item:hover{background-color:#34495e;border-left:4px solid #3498db}.sidebar-item.active,.sidebar-item.active:hover{color:#3498db}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;stroke:#aeaeae;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;stroke:#aeaeae;color:#fff}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected,.react-datepicker__week-number--keyboard-selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__week-number--keyboard-selected{background-color:#2a87d0;border-radius:.3rem;color:#fff}.react-datepicker__week-number--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted:hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:hover,.react-datepicker__month-text--holidays:hover,.react-datepicker__quarter-text--holidays:hover,.react-datepicker__year-text--holidays:hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--selected:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__year-text--in-range:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--selected:hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:initial}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.login-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:400px;padding:2rem;width:100%}.login-box h2{color:#333;margin:0 0 1.5rem;text-align:center}.form-group input{border:1px solid #ddd;border-radius:4px}.form-group input,button[type=submit]{font-size:1rem;padding:.75rem;width:100%}button[type=submit]{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background-color .2s}button[type=submit]:hover{background-color:#0056b3}.error-message{padding:.5rem}.campaign-list{display:flex;flex-direction:column;height:100%}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;overflow:auto;width:100%}.campaigns-table{background:#fff;border-collapse:collapse;width:100%}.campaigns-table td,.campaigns-table th{border-bottom:1px solid #eee;padding:15px 20px;text-align:left;vertical-align:middle;white-space:nowrap}.campaigns-table td:first-child,.campaigns-table th:first-child{min-width:250px}.campaigns-table td:nth-child(2),.campaigns-table th:nth-child(2){min-width:120px}.campaigns-table td:nth-child(3),.campaigns-table td:nth-child(5),.campaigns-table th:nth-child(3),.campaigns-table th:nth-child(5){min-width:160px}.campaigns-table td:nth-child(4),.campaigns-table th:nth-child(4){min-width:120px}.campaigns-table td:nth-child(6),.campaigns-table th:nth-child(6){min-width:100px;text-align:center}.campaigns-table td:nth-child(7),.campaigns-table th:nth-child(7){min-width:120px}.campaigns-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:1}.campaigns-table tr{transition:background-color .2s}.campaigns-table tr:hover{background-color:#f8f9fa}.campaign-name{color:#2c3e50;font-weight:500}.campaign-status{border-radius:4px;display:inline-block;font-weight:500;line-height:1.2;margin:9px 0;padding:6px 12px}.actions{gap:8px;justify-content:center}.btn-delete{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;min-width:80px;padding:6px 16px;transition:all .2s}.btn-delete:hover:not(:disabled){background-color:#c82333}.btn-delete:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.status-new .campaign-status{background-color:#e7f1ff;color:#0d6efd}.status-in_progress .campaign-status{background-color:#fff3cd;color:#664d03}.status-paused .campaign-status{background-color:#e2e3e5;color:#41464b}.status-completed .campaign-status{background-color:#d1e7dd;color:#0f5132}.status-failed .campaign-status{background-color:#f8d7da;color:#842029}.empty-message,.error-message{font-size:16px;text-align:center}.empty-message{color:#6c757d}.loading{color:#666;font-size:16px;padding:40px;text-align:center}.error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545;padding:20px}.error,.state-message{margin:20px 0;text-align:center}.state-message{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#666;font-size:16px;padding:40px}.state-message.loading{color:#0d6efd}.state-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#dc3545}.state-message.empty{color:#6c757d}.create-campaign-modal{align-items:flex-start;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding-top:50px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;margin-bottom:50px;width:600px}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px 30px}.modal-header h2{color:#2c3e50;font-size:20px;margin:0}.modal-body{padding:30px}.form-group{margin-bottom:24px}.form-group label{color:#2c3e50;font-size:14px;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-group textarea{min-height:120px;resize:vertical}.form-group select{cursor:pointer}.form-group select:hover{border-color:#3498db}.character-count{color:#666;font-size:12px;margin-top:8px;text-align:right}.modal-footer{gap:12px;padding:20px 30px}.btn-cancel,.btn-create{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-cancel{background-color:#f8f9fa;color:#2c3e50}.btn-cancel:hover{background-color:#e9ecef}.btn-create{background-color:#3498db;color:#fff}.btn-create:hover:not(:disabled){background-color:#2980b9}.btn-create:disabled{cursor:not-allowed;opacity:.7}.error-message{font-size:14px;padding:12px}.option-group{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content{animation:modalFadeIn .3s ease-out}.template-manager{margin:0 auto;max-width:1200px;padding:2rem}.template-manager h2{color:#333;margin-bottom:2rem}.template-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:2rem}.template-form h3{color:#333;margin-top:0}.form-group,.template-form h3{margin-bottom:1.5rem}.form-group label{font-weight:500}.form-group input[type=text],.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group textarea{font-family:inherit;min-height:100px}.form-group textarea.sql-input{background-color:#f8f9fa;font-family:monospace;min-height:150px}.sql-help{color:#6c757d;font-size:.875rem;margin-top:.5rem}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:.5rem}.checkbox-label input[type=checkbox]{height:1rem;width:1rem}.form-actions{margin-top:2rem}.test-results{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;overflow-x:auto;padding:2rem}.test-results h3{color:#333;margin-bottom:1.5rem;margin-top:0}.templates-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;padding:2rem}.templates-list h3{color:#333;margin-bottom:1.5rem;margin-top:0}table{margin-bottom:1rem}td,th{border-bottom:1px solid #dee2e6}tr.inactive{background-color:#f8f9fa;color:#6c757d}td button{font-size:.875rem}td button:nth-child(2){background-color:#17a2b8;color:#fff}td button:nth-child(2):hover{background-color:#138496}.recipient-selector-modal{align-items:flex-start;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding-top:50px;position:fixed;right:0;top:0;z-index:1000}.recipient-selector-modal .modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;margin-bottom:50px;width:800px}.section-title{color:#2c3e50;font-size:18px;font-weight:500;margin:20px 0 15px}.templates-container{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.template-card{border:1px solid #ddd;border-radius:8px;cursor:pointer;padding:15px;transition:all .2s}.template-card:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db1a}.template-card.selected{background-color:#3498db0d;border-color:#3498db}.template-card h3{color:#2c3e50;font-size:16px;margin:0 0 10px}.template-card .description{color:#666;font-size:14px;line-height:1.4;margin:0}.template-card .recipient-count{color:#3498db;font-size:14px;font-weight:500;margin-top:10px}.divider{margin:30px 0;position:relative;text-align:center}.divider:after,.divider:before{background-color:#ddd;content:"";height:1px;position:absolute;top:50%;width:calc(50% - 30px)}.divider:before{left:0}.divider:after{right:0}.divider span{background-color:#fff;color:#666;font-size:14px;padding:0 15px}.csv-upload{border:2px dashed #ddd;border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.csv-upload input[type=file]{display:none}.upload-label{background-color:#3498db;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;padding:10px 20px;transition:background-color .2s}.upload-label:hover{background-color:#2980b9}.csv-info{color:#666;font-size:14px;margin-top:10px}.error-message{margin-bottom:15px;padding:10px}.modal-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:20px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s}.btn-cancel{background-color:#eee;color:#666}.btn-submit{background-color:#3498db;color:#fff}.btn-cancel:hover{background-color:#ddd}.btn-submit:hover{background-color:#2980b9}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.5}.campaign-details{max-width:1200px;padding:20px}.header{align-items:center;display:flex;margin-bottom:30px}.back-button{background:none;border:none;color:#666;cursor:pointer;font-size:16px;margin-right:20px;padding:10px}.back-button:hover{color:#333}.header h2{color:#2c3e50;font-size:24px;margin:0}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c00;margin-bottom:20px;padding:15px}.details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:30px}.detail-item{background:#f8f9fa;border-radius:8px;padding:15px}.detail-item label{color:#666;display:block;font-size:14px;margin-bottom:5px}.detail-item div{color:#2c3e50;font-size:16px;font-weight:500}.message-section{background:#fff;border:1px solid #eee;border-radius:8px;margin-bottom:30px;padding:20px}.message-section label{color:#2c3e50;display:block;font-size:16px;margin-bottom:10px}.message-content{color:#2c3e50;font-size:16px;line-height:1.5;white-space:pre-wrap}.recipients-section{background:#fff;border:1px solid #eee;border-radius:8px;margin-bottom:30px;padding:20px}.recipients-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.recipients-header h3{color:#2c3e50;font-size:18px;margin:0}.recipients-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.stat{background:#f8f9fa;border-radius:8px;padding:15px;text-align:center}.stat label{color:#666;display:block;font-size:14px;margin-bottom:5px}.stat div{color:#2c3e50;font-size:24px;font-weight:500}.actions{display:flex;gap:10px;justify-content:flex-end}.btn-danger,.btn-primary,.btn-warning{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover{background-color:#c0392b}.btn-warning{background-color:#f1c40f;color:#2c3e50}.btn-warning:hover{background-color:#f39c12}.btn-danger:disabled,.btn-primary:disabled,.btn-warning:disabled{cursor:not-allowed;opacity:.5}.campaign-info{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px}.campaign-info p{color:#333;margin:10px 0}.template-selection{margin:20px 0}.template-selection label{color:#333;display:block;font-weight:500;margin-bottom:8px}.template-selection select{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-bottom:12px;padding:8px;width:100%}.check-recipients-btn,.save-recipients-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.check-recipients-btn{background-color:#6c757d;color:#fff}.check-recipients-btn:hover:not(:disabled){background-color:#5a6268}.save-recipients-btn{background-color:#28a745;color:#fff}.save-recipients-btn:hover:not(:disabled){background-color:#218838}.recipients-confirmation{background-color:#f8f9fa;border-radius:4px;margin-top:20px;padding:15px}button:disabled{cursor:not-allowed;opacity:.7}.current-recipients{background-color:#f8f9fa;border-radius:4px;margin-bottom:20px;padding:15px}.btn-remove{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:8px 16px;transition:background-color .2s}.btn-remove:hover:not(:disabled){background-color:#c82333}.progress-section{background:#fff;border:1px solid #eee;border-radius:8px;margin-bottom:30px;padding:20px}.progress-bar{margin-bottom:15px}.progress-fill{background-color:#3498db}.progress-info{align-items:center;color:#2c3e50;display:flex;font-size:14px;justify-content:space-between}.progress-info span{background:#f8f9fa;border-radius:4px;display:inline-block;padding:4px 8px}.progress-info .error-text{color:#e74c3c;font-weight:500}.campaign-actions{display:flex;gap:10px;justify-content:flex-start;margin:20px 0}.btn-start{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.btn-start:hover:not(:disabled){background-color:#218838}.btn-stop{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.btn-stop:hover:not(:disabled){background-color:#c82333}.error-text{color:#dc3545}.sms-container{display:flex;flex-direction:column;height:calc(100vh - 80px);overflow:auto;padding:30px;width:100%}.sms-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.sms-header h2{color:#333;font-size:24px;font-weight:600;margin:0}.btn-create-campaign{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.btn-create-campaign:hover{background-color:#0056b3}.controls{display:flex;gap:10px;margin:20px 0}.control-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .2s}.control-button:hover:not(:disabled){background-color:#0056b3}.control-button:disabled{background-color:#ccc;cursor:not-allowed}.progress-container{margin:20px 0}.progress-bar{background-color:#f0f0f0;border-radius:10px;height:20px;overflow:hidden;width:100%}.progress-fill{background-color:#28a745;height:100%;transition:width .3s ease-in-out}.progress-text{color:#666;font-size:14px;margin-top:5px;text-align:center}.status{background-color:#f8f9fa;border-radius:4px;font-size:14px;margin-top:20px;padding:10px}.content-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;margin:0 20px;overflow:hidden}.content-wrapper,.loading-spinner{display:flex;flex-direction:column}.loading-spinner{align-items:center;color:#666;flex:1 1;gap:16px;justify-content:center;padding:40px}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn-back{align-items:center;background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;margin:0 0 20px;padding:10px 20px;transition:all .2s;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.btn-back:hover{background-color:#5a6268;transform:translateY(-1px)}.empty-message,.error-message{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#666;font-size:16px;margin-bottom:20px;padding:40px;text-align:center}.error-message{background-color:#fff;border:1px solid #f5c6cb;color:#dc3545}.sms-module{display:flex;flex-direction:column;height:calc(100vh - 80px);padding:2rem}.main-tabs{display:flex;gap:1rem}.admin-tabs{margin-left:auto}.tab-button{background-color:#f8f9fa;border:none;border-radius:4px;color:#495057;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.tab-button:hover{background-color:#e9ecef}.tab-button.active{background-color:#007bff;color:#fff}.tab-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;min-height:0;overflow:auto;padding:2rem}.campaign-list{max-width:none;width:100%}.campaign-list table{width:100%}.campaign-list td,.campaign-list th{border-bottom:1px solid #dee2e6;padding:1rem;text-align:left}.campaign-list th{background-color:#f8f9fa;color:#495057;font-weight:600;white-space:nowrap}.campaign-list tr:hover{background-color:#f8f9fa;cursor:pointer}.user-management{margin:0 auto;max-width:1200px;padding:2rem}.user-management h2{color:#333;margin-bottom:2rem}.error-message{background-color:#f8d7da;border-radius:4px;color:#721c24;margin-bottom:1rem;padding:1rem}.user-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:2rem}.user-form h3{color:#333;margin-bottom:1.5rem;margin-top:0}.form-group{margin-bottom:1rem}.form-group label{color:#555;display:block;margin-bottom:.5rem}.form-group input[type=password],.form-group input[type=text]{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.permissions-checkboxes{display:flex;gap:1rem}.permissions-checkboxes label{align-items:center;display:flex;gap:.5rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.form-actions button[type=submit]{background-color:#007bff;color:#fff}.form-actions button[type=submit]:hover{background-color:#0056b3}.form-actions button[type=button]{background-color:#6c757d;color:#fff}.form-actions button[type=button]:hover{background-color:#5a6268}.users-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.users-table h3{color:#333;margin-bottom:1.5rem;margin-top:0}td,th{border-bottom:1px solid #ddd;padding:1rem;text-align:left}th{background-color:#f8f9fa;color:#495057;font-weight:600}td button{border:none;border-radius:4px;cursor:pointer;margin-right:.5rem;padding:.5rem 1rem;transition:background-color .2s}td button:first-child{background-color:#28a745;color:#fff}td button:first-child:hover{background-color:#218838}td button:last-child{background-color:#dc3545;color:#fff}td button:last-child:hover{background-color:#c82333}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*{box-sizing:border-box;margin:0;padding:0}.app{display:flex;height:100vh}.sidebar{background-color:#333;color:#fff;display:flex;flex-direction:column;padding:1rem;width:200px}.sidebar-item{cursor:pointer;margin:5px 0;padding:10px}.sidebar-item.active{background-color:#555}.main-content{background-color:#f4f4f4;display:flex;flex-direction:row;flex-grow:1;padding:20px}.device-list{background-color:#fff;border-right:1px solid #ddd;float:left;height:calc(100vh - 120px);overflow-y:auto;padding:10px;width:250px}.device-list div{cursor:pointer;margin:5px 0;padding:10px;transition:background-color .3s ease}.device-list div:hover{background-color:#e9e9e9}.device-details{background:#eee;border:1px solid #aaa;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;height:100%;margin-left:50px;margin-right:50px;max-height:100%;max-width:100%;overflow:scroll;padding:20px;width:100%}.device-details h3{margin-bottom:20px}button{background-color:#333;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;margin-right:20px;margin-top:20px;padding:10px 15px;text-align:center}button:hover{background-color:#444}.edit-button{font-size:.8rem;margin-left:10px;padding:5px 10px}.modal-backdrop{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10}.modal{background-color:#fff;border-radius:5px;box-shadow:0 5px 15px #0000004d;padding:20px;width:450px;z-index:20}.modal form{display:flex;flex-direction:column}.modal label{margin-bottom:10px}.modal label input{margin-left:auto;margin-right:auto;margin-top:5px;padding:5px;width:calc(100% - 10px)}.close-button{float:right;font-size:1.5rem}.save-button{background-color:#4caf50;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:10px;padding:10px}.save-button:hover{background-color:#45a049}.close-button{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.2rem;padding:0}.close-button:hover{color:#777}.modal input[type=number],.modal input[type=text]{border:1px solid #ddd;border-radius:4px;margin-top:4px;padding:8px}.modal input[type=number]:focus,.modal input[type=text]:focus{border-color:#4caf50;outline:none}.modal label{align-items:flex-start;display:flex;flex-direction:column}.modal h2{margin-top:0}.device-list-container{display:flex;flex-direction:column;height:100%;width:250px}.delete-button{background-color:#ff4d4f;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:20px;padding:10px}.delete-button:hover{background-color:#ff7875}table{border-collapse:collapse;font-family:Arial,sans-serif;margin-top:10px;table-layout:auto;width:100%}table,th{color:#333}th{background-color:#f2f2f2;font-weight:700;text-align:left}td,th{padding:8px}td{border-bottom:1px solid #ddd}tr:hover{background-color:#f5f5f5}td:first-child,th:first-child{padding-left:16px}td:last-child,th:last-child{padding-right:16px}.alarms-table{margin-bottom:70px;margin-top:50px}.alarms-table,.locations-table{background:#ddd;padding:15px}.add-button{background:green}select{-webkit-appearance:none;appearance:none;background-color:#f0f0f0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 4 5"><path fill="%23333" d="M2 0L0 2h4L2 0zm0 5L0 3h4l-2 2z"/></svg>');background-position:right 10px center;background-repeat:no-repeat;background-size:12px 12px;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-family:Arial,sans-serif;font-size:16px;margin:5px;outline:none;padding:8px 32px 8px 16px;width:auto}select:focus{border-color:#666}select:disabled{background-color:#e9e9e9;color:#999}.checkbox-label{flex-direction:row!important}
/*# sourceMappingURL=main.892cd264.css.map*/