*{padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{background:linear-gradient(135deg,#667eea,#764ba2);height:100vh}.login-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#333;font-size:32px;margin-bottom:8px}.login-header p{color:#666;font-size:14px}.form-group input{transition:border-color .3s}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.6}.contact-list{flex:1 1;overflow-y:auto}.contact-list-empty,.contact-list-loading{align-items:center;color:#999;display:flex;flex:1 1;font-size:14px;justify-content:center}.contact-item{border-bottom:1px solid #e9edef;cursor:pointer;display:flex;padding:10px 16px;transition:background-color .2s}.contact-item:hover{background-color:#f5f6f6}.contact-item.selected{background-color:#f0f2f5}.contact-avatar{background:linear-gradient(135deg,#667eea,#764ba2);flex-shrink:0;font-size:20px;height:49px;margin-right:12px;width:49px}.contact-info{flex:1 1;min-width:0}.contact-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.contact-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.contact-name-wrapper{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.contact-name{font-size:17px}.contact-id,.contact-name{font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.contact-id{color:#667eea;font-size:16px;font-weight:600}.contact-name-small{color:#667781;font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.contact-name-small,.unread-count-red{font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;margin-top:2px}.unread-count-red{align-self:flex-start;color:red;flex-shrink:0;font-size:14px;font-weight:600;margin-left:auto}.contact-time{color:#667781;flex-shrink:0;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:12px;margin-left:8px}.contact-footer{align-items:center;display:flex;justify-content:space-between}.contact-message{word-wrap:break-word;color:#667781;flex:1 1;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;max-height:60px;overflow:visible;overflow-y:auto;text-overflow:clip;white-space:normal}.unread-badge{background-color:#25d366;border-radius:11px;color:#fff;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:12px;font-weight:500;height:20px;margin-left:8px;min-width:20px;padding:0 6px;text-align:center}.contact-edit-button,.unread-badge{align-items:center;display:flex;flex-shrink:0;justify-content:center}.contact-edit-button{background:none;border:none;border-radius:50%;color:#667781;cursor:pointer;font-size:16px;height:28px;opacity:0;padding:4px;transition:all .2s;width:28px}.contact-item:hover .contact-edit-button{opacity:1}.contact-edit-button:hover{background-color:#0000000d;color:#111b21}.contact-delete-button{align-items:center;background:none;border:none;border-radius:50%;color:#f44;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:28px;justify-content:center;opacity:0;padding:4px;transition:all .2s;width:28px}.contact-item:hover .contact-delete-button{opacity:1}.contact-delete-button:hover{background-color:#ff44441a}.chat-window{background-color:#e5ddd5;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='a' x='0' y='0' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Cpath d='M0 0h100v100H0z' fill='%23e5ddd5'/%3E%3Cpath d='m0 0 100 100m0-100L0 100' stroke='%23d4c5b9' stroke-width='.5' opacity='.3'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");background-size:100px 100px;display:flex;flex-direction:row;height:100%}.chat-window-main{display:flex;flex:1 1;flex-direction:column;height:100%;min-width:0}.chat-header{background-color:#f0f2f5;border-bottom:1px solid #e9edef;box-shadow:0 1px 2px #0000000d;flex-shrink:0;justify-content:space-between;min-height:60px;padding:10px 16px}.chat-header,.chat-header-info{align-items:center;display:flex}.chat-header-info{gap:12px}.chat-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:500;height:49px;justify-content:center;width:49px}.chat-name{color:#111b21;font-size:16px;font-weight:500}.chat-name,.chat-phone{font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif}.chat-phone{color:#667781;font-size:13px}.chat-messages{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:2px;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#0000004d}.no-messages{align-items:center;color:#667781;display:flex;flex:1 1;flex-direction:column;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;justify-content:center;text-align:center}.no-messages p{font-size:14px;margin:4px 0}.no-messages-hint{color:#8696a0;font-size:13px}.message{display:flex;flex-direction:column;margin-bottom:4px}.message.sent{align-items:flex-end}.message.received{align-items:flex-start}.system-header{color:#667781;font-size:11px;margin-bottom:2px;padding:2px 8px}.system-badge{align-items:center;background-color:#e3f2fd;border:1px solid #90caf9;border-radius:12px;color:#1976d2;display:inline-flex;font-weight:500;gap:4px;padding:2px 8px}.message-content{border-radius:7.5px;max-width:65%;padding:6px 7px 8px 9px}.message-content:has(.message-audio-container),.message-content:has(.message-image),.message-content:has(.message-video){padding:4px}.message-content:has(.message-image) .message-image,.message-content:has(.message-video) .message-video{margin:0}.message.sent .message-content{background-color:#d9fdd3;border-bottom-right-radius:4px;box-shadow:0 1px .5px #00000021}.message.received .message-content{background-color:#fff;border-bottom-left-radius:4px;box-shadow:0 1px .5px #00000021}.message-text{font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14.2px;line-height:1.4;overflow-wrap:break-word;white-space:pre-wrap}.message-media{max-width:100%}.message-image{background-color:#f0f0f0;border-radius:7.5px;box-shadow:0 1px 2px #0000001a;height:auto;max-height:500px;min-height:250px;object-fit:contain;transition:transform .2s;width:auto}.message-image:hover{box-shadow:0 2px 4px #00000026;transform:scale(1.01)}.message-video{background-color:#000;border-radius:7.5px;display:block;max-height:500px;max-width:100%;min-height:250px}.message-audio-container{align-items:center;background-color:#00000008;border-radius:12px;display:flex;gap:12px;max-width:400px;min-width:280px;padding:12px 16px}.audio-icon{align-items:center;background-color:#25d3661a;border-radius:50%;display:flex;flex-shrink:0;font-size:24px;height:40px;justify-content:center;width:40px}.message-audio{flex:1 1;height:36px;min-width:200px;outline:none}.message-audio::-webkit-media-controls-panel{background-color:initial}.message-audio::-webkit-media-controls-play-button{background-color:#25d366;border-radius:50%}.audio-waveform{align-items:center;display:flex;flex-shrink:0;gap:3px;height:20px}.waveform-bar{animation:waveform 1.2s ease-in-out infinite;background-color:#25d366;border-radius:2px;width:3px}.waveform-bar:first-child{animation-delay:0s;height:8px}.waveform-bar:nth-child(2){animation-delay:.1s;height:16px}.waveform-bar:nth-child(3){animation-delay:.2s;height:20px}.waveform-bar:nth-child(4){animation-delay:.3s;height:16px}.waveform-bar:nth-child(5){animation-delay:.4s;height:8px}@keyframes waveform{0%,to{opacity:.7;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.message-placeholder{background-color:#f0f2f5;border-radius:8px;color:#667781;font-size:14px;padding:12px 16px;text-align:center}.message-caption{color:#333;font-size:14px;margin-top:4px}.message-document{align-items:center;background-color:#0000000d;border-radius:4px;display:flex;gap:12px;padding:8px}.document-icon{font-size:24px}.document-info{flex:1 1}.document-name{color:#333;font-size:14px;font-weight:600}.document-caption{color:#666;font-size:12px;margin-top:2px}.document-download{background-color:#25d366;border-radius:4px;color:#fff;display:inline-block;font-size:12px;font-weight:500;margin-top:4px;padding:4px 8px;text-decoration:none}.document-download:hover{background-color:#20ba5a}.message-meta{align-items:center;display:flex;gap:3px;justify-content:flex-end;margin-left:auto;margin-top:2px;padding-left:4px}.message-time{font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif}.message-status{align-items:center;display:inline-flex;font-size:16px;line-height:1}.message-status.status-pending,.message-status.status-sent{color:#f44336}.message-status.status-delivered,.message-status.status-read{color:#53bdeb}.message-status.status-error,.message-status.status-failed{color:#f44336}.chat-input-container{align-items:center;background-color:#f0f2f5;border-top:1px solid #e9edef;box-sizing:border-box;display:flex;flex-shrink:0;gap:8px;padding:8px 16px;width:100%}.chat-input{border:none;border-radius:24px;flex:1 1;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:15px;outline:none;padding:9px 12px;transition:background-color .2s}.chat-input,.chat-input:focus{background-color:#fff}.chat-input::placeholder{color:#667781}.attach-button,.payment-reminder-button,.send-button,.template-button,.voice-button,.wifi-button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:42px;justify-content:center;transition:background-color .2s,transform .2s;width:42px}.payment-reminder-button{background-color:initial;color:#54656f;font-size:24px;padding:0}.payment-reminder-button:hover{background-color:#0000000d}.wifi-button{background-color:initial;color:#54656f;font-size:24px;padding:0}.wifi-button:hover:not(:disabled){background-color:#0000000d}.wifi-button:disabled{cursor:not-allowed;opacity:.5}.voice-button{background-color:initial;color:#54656f;font-size:24px;padding:0}.voice-button:hover{background-color:#0000000d}.voice-button:active{background-color:#f443361a;color:#f44336}.recording-indicator{align-items:center;color:#f44336;display:flex;font-size:14px;font-weight:500;gap:8px;padding:0 12px}.recording-dot{animation:pulse 1.5s ease-in-out infinite;background-color:#f44336;border-radius:50%;height:12px;width:12px}.recording-time{font-family:Courier New,monospace;min-width:40px}.cancel-recording-button,.stop-recording-button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:42px;justify-content:center;transition:background-color .2s,transform .2s;width:42px}.stop-recording-button{background-color:#00a884;color:#fff}.stop-recording-button:hover{background-color:#06cf9c;transform:scale(1.05)}.cancel-recording-button{background-color:#f44336;color:#fff}.cancel-recording-button:hover{background-color:#d32f2f;transform:scale(1.05)}.attach-button{background-color:initial;color:#54656f;font-size:24px;padding:0}.attach-button:hover{background-color:#0000000d}.send-button{font-size:20px;margin-left:4px}.send-button:hover:not(:disabled){transform:scale(1.05)}@media (max-width:768px){.chat-window{flex-direction:column}.chat-window-main{width:100%}.chat-header{height:48px!important;max-height:48px!important;padding:4px!important}.chat-header-info{gap:6px!important;max-height:40px!important}.quick-report-button{font-size:12px!important;padding:6px 10px!important}.chat-messages{padding:12px 10px}.message{max-width:85%;padding:6px 8px}.message-text{font-size:14px;line-height:1.4}.chat-input-container{align-items:center;flex-wrap:nowrap;gap:4px;max-height:60px;min-height:60px;padding:8px 6px}.attach-button,.payment-reminder-button,.template-button,.wifi-button{flex-shrink:0;font-size:20px;height:40px;min-width:40px;width:40px}.chat-input{flex:1 1;font-size:16px;max-height:44px;min-width:0;padding:10px 12px}.send-button{font-size:20px;height:40px;min-width:40px;width:40px}.new-chat-form-inline,.no-chat-selected{padding:20px}.phone-input{font-size:16px;padding:12px}.start-chat-button{font-size:14px;padding:12px 20px}.chat-header-actions.mobile-header-actions{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.chat-header-actions.mobile-header-actions::-webkit-scrollbar{display:none}.chat-header-actions{align-items:center;display:flex!important;flex-shrink:0;gap:4px!important;margin-left:auto;max-width:none!important;overflow:visible!important}.chat-header-actions button{flex-shrink:0;font-size:8px!important;min-width:auto;padding:3px 5px!important;white-space:nowrap}.client-info-button,.quick-report-button{align-items:center!important;border-radius:50%!important;display:flex!important;font-size:18px!important;justify-content:center!important;line-height:1;padding:0!important}.client-info-button,.edit-contact-button,.quick-report-button{height:28px!important;max-width:28px!important;min-width:28px!important;width:28px!important}.edit-contact-button{font-size:16px!important;padding:4px!important}.chat-header{background-color:#f0f2f5!important;border-bottom:1px solid #e9edef!important;box-shadow:0 1px 2px #0000000d!important;box-sizing:border-box!important;flex-wrap:wrap!important;height:auto!important;left:0!important;max-height:none!important;min-height:48px!important;padding:8px 4px!important;position:fixed!important;right:0!important;top:0!important;z-index:100!important}.chat-header,.chat-header-info{align-items:flex-start!important;gap:8px!important;overflow:visible!important;width:100%!important}.chat-header-info{flex:1 1!important;max-width:calc(100% - 50px)!important;min-height:0!important}.chat-header-info,.chat-header-text{display:flex!important;min-width:0!important}.chat-header-text{flex:1 1!important;flex-direction:column!important;gap:4px!important;opacity:1!important;visibility:visible!important;width:100%!important}.chat-header-text .chat-name{color:#111b21!important;font-size:14px!important;font-weight:600!important;margin:0 0 2px!important}.chat-header-text .chat-name,.chat-header-text .chat-phone{display:block!important;line-height:1.3!important;opacity:1!important;padding:0!important;visibility:visible!important}.chat-header-text .chat-phone{color:#667781!important;font-size:12px!important;margin:0 0 8px!important}.chat-header-buttons-mobile{display:flex!important;flex-direction:column!important;gap:8px!important;margin-top:10px!important;opacity:1!important;visibility:visible!important;width:100%!important}.mobile-info-button,.mobile-report-button{align-items:center!important;border:none!important;border-radius:8px!important;cursor:pointer!important;display:flex!important;font-size:14px!important;font-weight:600!important;gap:6px!important;justify-content:center!important;padding:10px 12px!important;transition:all .2s!important;white-space:nowrap!important;width:100%!important}.mobile-info-button{background-color:#17a2b8!important;color:#fff!important}.mobile-info-button:active{background-color:#138496!important;transform:scale(.98)!important}.mobile-report-button{background-color:#dc3545!important;color:#fff!important}.mobile-report-button:active{background-color:#c82333!important;transform:scale(.98)!important}.chat-avatar{flex-shrink:0;font-size:14px!important;height:32px!important;width:32px!important}.mobile-back-button{flex-shrink:0;font-size:18px!important;height:28px!important;margin-right:3px;max-width:28px!important;min-width:28px!important;padding:4px!important;width:28px!important}.message-content{word-wrap:break-word;max-width:80%;overflow-wrap:break-word}.message-image,.message-video{height:auto;max-width:100%}.chat-input-container{align-items:center!important;box-sizing:border-box!important;display:flex!important;flex-shrink:0!important;height:60px!important;max-height:60px!important;min-height:60px!important;position:relative!important;width:100%!important;z-index:10!important}.chat-messages{-webkit-overflow-scrolling:touch!important;flex:1 1!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-bottom:10px!important;padding-top:10px!important}.client-info-button,.quick-report-button{font-size:9px!important;padding:4px 6px!important}.send-button{flex-shrink:0;position:relative;z-index:10}.chat-window-main{display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.chat-messages{flex:1 1;min-height:0;overflow-y:auto}.chat-input-container{background-color:#f0f2f5!important;border-top:1px solid #e9edef!important;flex-shrink:0;flex-wrap:wrap!important;gap:4px!important;overflow:visible!important;padding:8px 6px!important;position:relative;z-index:5}.chat-input-container button{flex-shrink:0!important}}.client-info-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.client-info-modal{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.client-info-modal-header{align-items:center;background-color:#00a884;border-bottom:1px solid #ffffff1a;color:#fff;display:flex;justify-content:space-between;padding:20px}.client-info-modal-header h2{font-size:20px;font-weight:500;margin:0}.client-info-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:5px;transition:background-color .2s;width:32px}.client-info-modal-close:hover{background-color:#ffffff1a}.client-info-modal-close:active{transform:scale(.9)}.client-info-modal-content{flex:1 1;overflow-y:auto;padding:0}@media (max-width:768px){.client-info-modal{border-radius:0;height:100vh;max-height:100vh;max-width:100%;width:100%}.client-info-modal-header{padding:15px}.client-info-modal-header h2{font-size:18px}}.edit-contact-button{align-items:center;background:none;border:none;border-radius:50%;color:#54656f;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;padding:8px;transition:background-color .2s;width:40px}.edit-contact-button:hover{background-color:#0000000d;color:#111b21}.template-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.template-modal{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:90%}.template-modal-header{align-items:center;background-color:#f0f2f5;border-bottom:1px solid #e9edef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.template-modal-header h2{color:#111b21;font-size:20px;font-weight:500;margin:0}.close-button:hover{background-color:#0000001a}.template-modal-content{flex:1 1;overflow-y:auto;padding:24px}.template-empty,.template-loading{color:#667781;padding:40px 20px;text-align:center}.template-message{border-radius:8px;font-size:14px;margin-bottom:16px;padding:12px 16px}.template-message.info{background-color:#e7f3ff;border:1px solid #b3d9ff;color:#06c}.template-message.warning{background-color:#fff3cd;border:1px solid #ffc107;color:#856404}.manual-template-input{background-color:#f8f9fa;border-radius:8px;padding:16px}.manual-template-input .form-group{margin-bottom:16px}.manual-template-input label{color:#111b21;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.template-help{color:#8696a0;font-size:13px;margin-top:8px}.template-list h3{color:#111b21;font-size:16px;font-weight:500;margin:0 0 16px}.templates-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:24px}.template-card{background-color:#fff;border:2px solid #e9edef;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s}.template-card:hover{background-color:#f0f9f4;border-color:#25d366}.template-card.selected{background-color:#e8f5e9;border-color:#25d366;box-shadow:0 2px 8px #25d36633}.template-name{color:#111b21;font-size:14px;font-weight:600;margin-bottom:8px}.template-status{color:#667781;font-size:12px;margin-bottom:4px}.template-category,.template-language{color:#8696a0;font-size:11px;margin-top:4px}.template-preview{border-top:1px solid #e9edef;padding-top:24px}.template-preview h3{margin:0 0 16px}.template-preview-content{background-color:#f0f2f5;border-radius:8px;padding:16px}.template-preview-name{border-bottom:1px solid #e9edef;color:#111b21;font-size:16px;margin-bottom:12px;padding-bottom:12px}.template-component{color:#111b21;font-size:14px;margin-bottom:16px}.template-component strong{color:#667781;display:block;font-size:12px;margin-bottom:8px;text-transform:uppercase}.template-body-text{background-color:#fff;border-radius:6px;line-height:1.5;margin-bottom:12px;padding:12px;white-space:pre-wrap}.template-params{margin-top:12px}.template-param{margin-bottom:12px}.template-param label{color:#667781;display:block;font-size:12px;font-weight:500;margin-bottom:6px}.template-param input{border:1px solid #e9edef;border-radius:6px;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s;width:100%}.template-param input:focus{border-color:#25d366;box-shadow:0 0 0 2px #25d3661a}.template-button{background-color:#fff;border-radius:6px;color:#111b21;font-size:13px;margin-top:8px;padding:8px 12px}.template-modal-actions{background-color:#f0f2f5;border-radius:0 0 12px 12px;border-top:1px solid #e9edef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.cancel-button{border-radius:8px}.cancel-button,.send-template-button{cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.send-template-button{background-color:#25d366;border:none;border-radius:8px;color:#fff}.send-template-button:hover:not(:disabled){background-color:#20ba5a}.send-template-button:disabled{cursor:not-allowed;opacity:.6}.edit-contact-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.edit-contact-modal{animation:slideUp .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:450px;overflow-y:auto;width:90%}.edit-contact-modal-header{align-items:center;border-bottom:1px solid #e9edef;display:flex;justify-content:space-between;padding:20px 24px}.edit-contact-modal-header h2{color:#111b21;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:20px;font-weight:500;margin:0}.edit-contact-form{padding:24px}.form-input{background-color:#fff;color:#111b21;transition:border-color .2s,box-shadow .2s}.form-input:focus{box-shadow:0 0 0 2px #00a8841a}.form-input.disabled{background-color:#f0f2f5;color:#667781;cursor:not-allowed}.form-hint{margin-top:6px}.error-message{margin-bottom:16px}.cancel-button,.error-message,.save-button{font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif}.cancel-button,.save-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.cancel-button:hover:not(:disabled){background-color:#e9edef}.save-button{background-color:#00a884}.save-button:hover:not(:disabled){background-color:#06cf9c}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.5}.register-payment-modal-overlay{background-color:#00000080;padding:20px;z-index:1001}.register-payment-modal{box-shadow:0 10px 40px #0003;max-width:500px;width:100%}.register-payment-modal-header{align-items:center;border-bottom:1px solid #e4e6eb;display:flex;justify-content:space-between;padding:20px 24px}.register-payment-modal-header h2{color:#333;font-size:20px;margin:0}.register-payment-form{padding:24px}.register-payment-message{border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px 16px}.register-payment-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.register-payment-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.client-info-summary{background-color:#f8f9fa;border-left:4px solid #00a884;border-radius:8px;margin-bottom:20px;padding:16px}.client-info-summary p{color:#333;font-size:14px;margin:8px 0}.client-info-summary strong{color:#00a884}.loading-invoices{color:#666;font-size:14px;padding:16px;text-align:center}.invoices-summary{background-color:#e7f3ff;border-left:4px solid #06c;border-radius:8px;margin-bottom:20px;padding:16px}.invoices-summary p{color:#333;font-size:14px;font-weight:500;margin:0 0 12px}.invoices-list{list-style-type:disc;margin:0;padding-left:20px}.invoices-list li{color:#555;font-size:13px;margin:6px 0}.form-group .required{color:#e74c3c}.form-group input,.form-group select{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#00a884;outline:none}.register-payment-actions{border-top:1px solid #e4e6eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.cancel-button,.submit-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.cancel-button{color:#333}.cancel-button:hover:not(:disabled){background-color:#e9ecef}.submit-button{background-color:#00a884;color:#fff}.submit-button:hover:not(:disabled){background-color:#06cf9c}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6}.client-info-panel{background-color:#f0f2f5;border-left:1px solid #e9edef;display:flex;flex-direction:column;height:100%;overflow-y:auto;width:350px}.client-info-header{align-items:center;background-color:#fff;border-bottom:1px solid #e9edef;display:flex;justify-content:space-between;padding:16px}.header-buttons{align-items:center;gap:8px}.register-payment-button{background-color:#00a884;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.register-payment-button:hover{background-color:#06cf9c}.client-info-header h3{color:#111b21;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:16px;font-weight:500;margin:0}.refresh-button{align-items:center;background:none;border-radius:50%;color:#667781;display:flex;font-size:18px;height:32px;justify-content:center;padding:4px 8px;transition:all .2s;width:32px}.refresh-button:hover:not(:disabled){background-color:#f0f2f5;color:#111b21}.refresh-button:disabled{opacity:.5}.client-info-empty,.client-info-error,.client-info-loading{align-items:center;color:#667781;display:flex;flex:1 1;flex-direction:column;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;justify-content:center;padding:40px 20px;text-align:center}.client-info-empty p,.client-info-error p,.client-info-loading p{font-size:14px;margin:8px 0}.empty-hint{color:#8696a0;font-size:12px}.client-info-error{color:#e53e3e}.retry-button{background-color:#667eea;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:13px;font-weight:500;margin-top:12px;transition:background-color .2s}.retry-button:hover{background-color:#5568d3}.client-info-content{flex:1 1;overflow-y:auto;padding:16px}.info-section{background-color:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d;margin-bottom:20px;padding:12px}.info-label{color:#667781;font-size:12px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.info-label,.info-value{font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-weight:500}.info-value{color:#111b21;font-size:15px}.info-value.status-activo{color:#25d366;font-weight:600}.info-value.debt,.info-value.status-inactivo,.info-value.status-suspendido{color:#e53e3e;font-weight:600}.info-value.debt{font-size:18px}.services-section{margin-top:24px}.services-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.service-item{background-color:#f8f9fa;border-left:3px solid #667eea;border-radius:6px;padding:12px}.service-details,.service-ppp{align-items:center;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:13px;justify-content:space-between;margin-bottom:8px}.service-item .service-details:last-child,.service-item .service-ppp:last-child{margin-bottom:0}.service-label{color:#667781;font-weight:500;margin-right:8px}.service-value{color:#111b21;font-family:Courier New,monospace;font-size:12px;font-weight:500}.service-status{border-radius:4px;font-size:11px;font-weight:600;padding:2px 8px}.service-status.status-online{background-color:#25d3661a;color:#25d366}.service-status.status-offline{background-color:#e53e3e1a;color:#e53e3e}.client-info-content::-webkit-scrollbar{width:6px}.client-info-content::-webkit-scrollbar-track{background:#0000}.client-info-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}@media (max-width:768px){.client-info-panel{border-left:none;border-top:1px solid #e9edef;max-height:50vh;width:100%}.client-info-header{padding:12px 15px}.client-info-header h3{font-size:18px}.client-info-content{padding:15px}.info-section{margin-bottom:15px}.info-section h4{font-size:14px;margin-bottom:8px}.info-item{font-size:13px;padding:8px 0}.info-label{font-size:12px}.info-value{font-size:13px}.invoice-item{margin-bottom:10px;padding:10px}.invoice-header{font-size:13px}.invoice-details{font-size:12px}.register-payment-button{font-size:12px;padding:8px 12px}}.client-info-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.wifi-management-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-top:20px;padding:15px}.wifi-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.wifi-section-header h3{font-size:18px;font-weight:600;margin:0}.refresh-wifi-button{background:#fff3;border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:6px 12px;transition:all .3s ease}.refresh-wifi-button:hover:not(:disabled){background:#ffffff4d;transform:scale(1.05)}.refresh-wifi-button:disabled{cursor:not-allowed;opacity:.5}.wifi-loading,.wifi-no-data{background:#ffffff1a;border-radius:8px;padding:20px;text-align:center}.wifi-info-content{display:flex;flex-direction:column;gap:15px}.wifi-info-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:8px;padding:12px}.wifi-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.wifi-value{font-family:Courier New,monospace;font-size:15px;font-weight:500}.wifi-display-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.wifi-edit-button,.wifi-toggle-button{background:#ffffff40;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s ease}.wifi-edit-button:hover,.wifi-toggle-button:hover{background:#ffffff59;transform:translateY(-1px)}.wifi-edit-controls{display:flex;flex-direction:column;gap:10px}.wifi-input{background:#ffffffe6;border:2px solid #ffffff4d;border-radius:6px;color:#333;font-family:Courier New,monospace;font-size:14px;padding:10px 12px}.wifi-input:focus{background:#fff;border-color:#fff9}.password-input-container{gap:8px}.toggle-password-button{background:#ffffff40;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:16px;padding:8px 12px;transition:all .2s ease}.toggle-password-button:hover{background:#ffffff59}.wifi-edit-buttons{display:flex;gap:10px}.wifi-save-button{background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:10px 16px;transition:all .3s ease}.wifi-save-button:hover:not(:disabled){box-shadow:0 4px 12px #11998e66;transform:translateY(-2px)}.wifi-save-button:disabled{cursor:not-allowed;opacity:.5}.wifi-cancel-button{background:#ffffff40;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:10px 16px;transition:all .3s ease}.wifi-cancel-button:hover:not(:disabled){background:#ffffff59;transform:translateY(-2px)}.wifi-cancel-button:disabled{cursor:not-allowed;opacity:.5}.wifi-devices-count{background:#ffffff40;border-radius:20px;display:inline-block;font-size:16px;font-weight:600;padding:6px 14px}@media (max-width:768px){.wifi-management-section{padding:12px}.wifi-section-header h3{font-size:16px}.wifi-info-item{padding:10px}.wifi-edit-buttons{flex-direction:column}.password-input-container{align-items:stretch;flex-direction:column}.toggle-password-button{width:100%}}.payment-reminder-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.payment-reminder-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:90%}.payment-reminder-modal-header{align-items:center;border-bottom:1px solid #e9edef;display:flex;justify-content:space-between;padding:20px 24px}.payment-reminder-modal-header h2{color:#111b21;font-size:20px;font-weight:500;margin:0}.close-button{font-size:28px}.close-button:hover{background-color:#0000000d}.payment-reminder-modal-content{flex:1 1;overflow-y:auto;padding:24px}.form-input{border:1px solid #e9edef;box-sizing:border-box;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:15px;padding:12px 16px;transition:border-color .2s}.form-input:focus{border-color:#00a884}.form-help{margin-top:6px}.template-preview{background-color:#f0f2f5;border:1px solid #e9edef;border-radius:8px;margin-top:24px;padding:16px}.template-preview h3{color:#111b21;font-size:16px;font-weight:500;margin:0 0 12px}.preview-content{background:#fff;border-radius:6px;color:#111b21;font-size:14px;line-height:1.6;padding:16px;white-space:pre-wrap}.preview-content p{margin:4px 0}.loading-message{background-color:#e3f2fd;border-radius:8px;margin-bottom:20px;padding:16px;text-align:center}.loading-message p{color:#1976d2;font-size:14px;margin:0}.error-message{background-color:#ffebee;border-left:4px solid #f44336}.error-message p{color:#c62828;font-size:14px;margin:0}.select-template-button{background-color:#00a884;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s;white-space:nowrap}.select-template-button:hover{background-color:#06cf9c}.templates-dropdown{box-shadow:0 2px 8px #0000001a}.payment-reminder-modal-actions{background-color:#f0f2f5;border-top:1px solid #e9edef;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.cancel-button,.send-button{border:none;border-radius:8px;cursor:pointer;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;padding:10px 24px;transition:background-color .2s,transform .2s}.cancel-button{background-color:#fff;border:1px solid #e9edef}.cancel-button:hover{background-color:#f5f6f6}.send-button{background-color:#00a884;color:#fff}.send-button:hover:not(:disabled){background-color:#06cf9c;transform:scale(1.02)}.send-button:disabled{cursor:not-allowed;opacity:.5}.quick-report-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.quick-report-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.quick-report-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.quick-report-modal-header h2{color:#dc3545;font-size:20px;margin:0}.close-button{height:30px;width:30px}.quick-report-form{padding:20px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc35451a}.datetime-selector{display:flex;flex-direction:column;gap:10px}.datetime-input{background-color:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-family:inherit;font-size:16px;padding:12px;transition:all .2s;width:100%}.datetime-input:hover{border-color:#dc3545}.datetime-input:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a;outline:none}.quick-time-buttons{display:flex;flex-wrap:wrap;gap:8px}.quick-time-btn{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .2s;white-space:nowrap}.quick-time-btn:hover{background-color:#dc3545;border-color:#dc3545;box-shadow:0 2px 4px #dc354533;color:#fff;transform:translateY(-1px)}.quick-time-btn:active{transform:translateY(0)}.form-actions{border-top:1px solid #e0e0e0}.btn-cancel,.btn-submit{font-size:14px;font-weight:500;padding:12px;transition:all .2s}.btn-cancel{background-color:#f0f0f0}.btn-cancel:hover{background-color:#e0e0e0}.btn-submit{background-color:#dc3545}.btn-submit:hover:not(:disabled){background-color:#c82333}.btn-submit:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.quick-report-modal{border-radius:0;height:100%;margin:0;max-height:100%;max-width:100%;width:100%}.quick-report-modal-header{padding:15px}.quick-report-modal-header h2{font-size:18px}.close-button{font-size:20px;height:28px;width:28px}.quick-report-form{padding:15px}.form-group{margin-bottom:15px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:10px}.datetime-input{font-size:16px;padding:12px}.quick-time-buttons{gap:6px}.quick-time-btn{flex:1 1;font-size:11px;min-width:calc(50% - 3px);padding:8px 10px}.form-actions{flex-direction:column;gap:10px}.btn-cancel,.btn-submit{font-size:16px;padding:14px;width:100%}}.receipt-models-tab{padding:24px}.receipt-models-loading{color:#666;padding:40px;text-align:center}.receipt-models-message{border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px 16px}.receipt-models-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.receipt-models-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.receipt-models-info{margin-bottom:30px}.receipt-models-info h3{color:#333;font-size:18px;margin:0 0 8px}.receipt-bank-section{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:40px;padding:20px}.bank-title{border-bottom:2px solid #00a884;color:#00a884;font-size:16px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.receipt-types-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.receipt-type-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:16px;transition:box-shadow .2s}.receipt-type-card:hover{box-shadow:0 2px 8px #0000001a}.receipt-type-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.receipt-type-label{color:#333;font-size:13px;font-weight:500}.delete-model-button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px 8px;transition:background-color .2s}.delete-model-button:hover:not(:disabled){background-color:#f8d7da}.delete-model-button:disabled{cursor:not-allowed;opacity:.5}.receipt-model-preview{display:flex;flex-direction:column;gap:8px}.receipt-model-image{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;max-height:150px;object-fit:contain;width:100%}.receipt-upload-label{cursor:pointer;display:block}.receipt-upload-button{background-color:#00a884;border-radius:6px;color:#fff;display:inline-block;font-size:12px;font-weight:500;padding:6px 12px;text-align:center;transition:background-color .2s}.receipt-upload-button:hover{background-color:#06cf9c}.receipt-upload-area{cursor:pointer;display:block}.receipt-upload-placeholder{align-items:center;background-color:#fafafa;border:2px dashed #ddd;border-radius:8px;display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:40px 20px;transition:all .2s}.receipt-upload-placeholder:hover{background-color:#f0f9f7;border-color:#00a884}.upload-icon{font-size:32px;margin-bottom:8px}.receipt-upload-placeholder span:not(.upload-icon){color:#666;font-size:13px;font-weight:500}.config-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.config-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.config-modal-header{align-items:center;border-bottom:1px solid #e4e6eb;display:flex;justify-content:space-between;padding:20px 24px}.config-modal-header h2{color:#333;font-size:20px;margin:0}.config-tabs{background-color:#f8f9fa;border-bottom:1px solid #e4e6eb;display:flex}.config-tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.config-tab:hover{background-color:#e9ecef;color:#333}.config-tab.active{background-color:#fff;border-bottom-color:#00a884;color:#00a884}.config-form{padding:24px}.config-message{border-radius:8px;font-size:14px;margin-bottom:20px;padding:12px 16px}.config-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.config-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.config-section{margin-bottom:24px}.config-section h3{color:#333;font-size:18px;margin:0 0 8px}.config-help{color:#666;font-size:14px;margin:0 0 20px}.form-group input{border:1px solid #ddd;font-family:monospace;font-size:14px}.form-group input:focus{border-color:#667eea;outline:none}.form-help{color:#666}.token-input-wrapper{align-items:center;display:flex;position:relative}.token-input-wrapper input{padding-right:45px}.toggle-token-button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:18px;padding:4px 8px;position:absolute;right:8px;transition:background-color .2s}.toggle-token-button:hover{background-color:#f5f5f5}.config-actions{border-top:1px solid #e4e6eb;display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:24px}.action-buttons{display:flex;gap:12px;justify-content:flex-end}.cancel-button,.save-button,.test-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.test-button{background-color:#f0f0f0;color:#333;width:100%}.test-button:hover:not(:disabled){background-color:#e0e0e0}.test-button:disabled{cursor:not-allowed;opacity:.5}.save-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.save-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.save-button:disabled{cursor:not-allowed;opacity:.6}.cancel-button{color:#666}.webhook-token-display,.webhook-url-display{align-items:center;display:flex;gap:8px}.readonly-input{background-color:#f5f5f5;border:1px solid #ddd;color:#333;flex:1 1;font-family:monospace;padding:10px}.copy-button,.readonly-input{border-radius:4px;font-size:13px}.copy-button{background-color:#25d366;padding:10px 16px;transition:background-color .2s;white-space:nowrap}.copy-button:hover{background-color:#20ba5a}.copy-button:active{background-color:#1a9d4a}.tunnel-controls{margin-bottom:8px}.tunnel-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s;width:100%}.tunnel-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.tunnel-button:disabled{cursor:not-allowed;opacity:.6}.tunnel-active{background-color:#d4edda!important;border-color:#28a745!important;color:#155724!important}.success-text{color:#28a745!important;font-weight:500}.local-url-info{background-color:#f8f9fa;border-radius:4px;margin-top:8px;padding:8px}.local-url-info code{background-color:#e9ecef;border-radius:3px;color:#495057;font-size:11px;padding:2px 6px}.token-exists-badge{background-color:#25d366;border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:500;margin-left:8px;padding:2px 8px;vertical-align:middle}.new-chat-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.new-chat-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;width:100%}.new-chat-header{align-items:center;border-bottom:1px solid #e9edef;display:flex;justify-content:space-between;padding:20px 24px}.new-chat-header h2{color:#111b21;font-size:20px;font-weight:500;margin:0}.new-chat-form{padding:24px}.required{color:#e74c3c}.form-group input{border:1px solid #e9edef;border-radius:8px;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:15px;outline:none;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#00a884}.form-help{color:#667781;display:block;font-size:12px;margin-top:4px}.error-message{background-color:#fee;font-size:14px;padding:12px}.cancel-button,.start-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.cancel-button{background-color:#f5f5f5;color:#667781}.cancel-button:hover{background-color:#e0e0e0}.start-button{background-color:#00a884;color:#fff}.start-button:hover{background-color:#06cf9c}.mikrowisp-sync-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.mikrowisp-sync-modal{animation:slideUp .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.mikrowisp-sync-modal-header{align-items:center;border-bottom:1px solid #e9edef;display:flex;justify-content:space-between;padding:20px 24px}.mikrowisp-sync-modal-header h2{color:#111b21;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:20px;font-weight:500;margin:0}.close-button:hover{background-color:#f0f2f5}.mikrowisp-sync-form{padding:24px}.sync-mode-selector{background-color:#f0f2f5;flex-direction:column;margin-bottom:24px;padding:16px}.mode-option,.sync-mode-selector{border-radius:8px;display:flex;gap:12px}.mode-option{align-items:center;cursor:pointer;padding:12px;transition:background-color .2s}.mode-option:hover{background-color:#e9edef}.mode-option input[type=radio]{accent-color:#00a884;cursor:pointer;height:20px;width:20px}.mode-option span{color:#111b21;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:15px;font-weight:500}.form-group{margin-bottom:20px}.form-group input[type=number],.form-group label{color:#111b21;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif}.form-group input[type=number]{background-color:#fff;border:1px solid #e9edef;border-radius:8px;box-sizing:border-box;font-size:15px;padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input[type=number]:focus{border-color:#00a884;box-shadow:0 0 0 2px #00a8841a;outline:none}.form-hint{color:#667781;display:block;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:12px;line-height:1.4;margin-top:8px}.form-actions{border-top:1px solid #e9edef;gap:12px;margin-top:24px}.cancel-button,.sync-button{border:none;border-radius:8px;cursor:pointer;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.cancel-button{background-color:#f0f2f5;color:#111b21}.cancel-button:hover{background-color:#e9edef}.sync-button{background-color:#667eea;color:#fff}.sync-button:hover{background-color:#5568d3}.receipt-review-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.receipt-review-panel{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;width:95%}.receipt-review-header{align-items:center;border-bottom:1px solid #e9edef;display:flex;justify-content:space-between;padding:20px 24px}.receipt-review-header h2{color:#333;font-size:20px;margin:0}.receipt-review-message{border-radius:0;margin:0;padding:12px 24px}.receipt-review-message.success{background-color:#d4edda;color:#155724}.receipt-review-message.error{background-color:#f8d7da;color:#721c24}.receipt-review-content{display:flex;flex:1 1;overflow:hidden}.receipt-list{border-right:1px solid #e9edef;display:flex;flex-direction:column;overflow-y:auto;width:350px}.receipt-list h3{background-color:#f8f9fa;border-bottom:1px solid #e9edef;color:#333;font-size:16px;font-weight:600;margin:0;padding:16px 20px}.receipt-items{flex:1 1;overflow-y:auto}.receipt-item{border-bottom:1px solid #e9edef;cursor:pointer;padding:16px 20px;transition:background-color .2s}.receipt-item:hover{background-color:#f8f9fa}.receipt-item.selected{background-color:#e3f2fd;border-left:3px solid #00a884}.receipt-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.receipt-phone{color:#333;font-size:14px;font-weight:600}.receipt-contact{color:#666;font-size:13px;margin-bottom:8px}.receipt-info{display:flex;gap:12px;margin-bottom:8px}.receipt-bank{color:#00a884;font-size:12px;font-weight:500}.receipt-amount{color:#333;font-size:14px;font-weight:600}.receipt-date{color:#999;font-size:12px}.status-fake{background-color:#f8d7da;color:#721c24}.status-duplicate{background-color:#f5c6cb;color:#721c24}.status-approved{background-color:#d4edda;color:#155724}.status-rejected{background-color:#f8d7da;color:#721c24}.auto-applied-badge{background-color:#28a745;border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:3px 8px;text-transform:uppercase}.receipt-detail{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:24px}.receipt-detail h3{color:#333;font-size:18px;margin:0 0 20px}.receipt-image-container{margin-bottom:24px;text-align:center}.receipt-image{border:1px solid #e9edef;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-height:400px;max-width:100%}.receipt-details-form{gap:16px}.form-group,.receipt-details-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{font-size:13px;font-weight:500}.form-group input,.form-group select,.form-group textarea{border-radius:6px;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#00a884}.verification-errors{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;padding:12px}.verification-errors ul{margin:8px 0 0;padding-left:20px}.receipt-actions{display:flex;gap:12px;margin-top:8px}.receipt-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.receipt-actions button:disabled{cursor:not-allowed;opacity:.6}.btn-approve{background-color:#28a745;color:#fff}.btn-approve:hover:not(:disabled){background-color:#218838}.btn-apply{background-color:#00a884;color:#fff}.btn-apply:hover:not(:disabled){background-color:#06cf9c}.btn-reject{background-color:#dc3545;color:#fff}.btn-reject:hover:not(:disabled){background-color:#c82333}.no-selection{align-items:center;color:#999;display:flex;font-size:16px;height:100%;justify-content:center}@media (max-width:768px){.receipt-review-overlay{align-items:stretch;padding:0}.receipt-review-panel{border-radius:0;height:100vh;margin:0;max-height:100vh;max-width:100%;width:100%}.receipt-review-header{background:#fff;box-shadow:0 2px 4px #0000001a;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.receipt-review-header h2{font-size:16px}.close-button{font-size:20px;height:28px;width:28px}.receipt-review-content{flex-direction:column;height:calc(100vh - 61px);overflow:hidden;position:relative}.receipt-list{-webkit-overflow-scrolling:touch;border-right:none;height:100%;overflow-y:auto;width:100%}.receipt-list.mobile-hidden{display:none}.receipt-list h3{background-color:#f8f9fa;font-size:14px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.receipt-items{overflow-y:auto}.receipt-item{-webkit-tap-highlight-color:transparent;border-bottom:1px solid #e9edef;border-radius:0;margin:0;min-height:60px;padding:12px 16px;touch-action:manipulation}.receipt-item:active{background-color:#f0f0f0}.receipt-item-content{gap:8px}.receipt-detail{background:#fff;bottom:0;display:none;height:100%;left:0;position:absolute;right:0;top:0;z-index:15}.receipt-detail.mobile-visible{display:block}.mobile-back-button{-webkit-tap-highlight-color:transparent;align-items:center;background:#007bff;border:none;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;left:0;margin:-16px -16px 16px;padding:14px 16px;position:-webkit-sticky;position:sticky;right:0;top:0;touch-action:manipulation;width:calc(100% + 32px);z-index:20}.mobile-back-button:active{background:#0056b3;transform:scale(.99)}.receipt-client{font-size:13px}.receipt-amount{font-size:14px}.receipt-date{font-size:11px}.receipt-status{font-size:10px;padding:3px 8px}.receipt-detail{-webkit-overflow-scrolling:touch;overflow-y:auto;padding:16px;touch-action:pan-y;width:100%}.receipt-detail h3{background:#fff;font-size:16px;margin-bottom:12px;padding:8px 0;position:-webkit-sticky;position:sticky;top:0;z-index:5}.receipt-image-container{margin-bottom:16px}.receipt-image{border-radius:8px;height:auto;max-width:100%}.receipt-details-form{width:100%}.form-group{margin-bottom:12px}.form-group label{font-size:13px;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{-webkit-appearance:none;appearance:none;font-size:14px;padding:10px 12px}.receipt-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-bottom:20px}.receipt-actions button{-webkit-tap-highlight-color:transparent;border-radius:8px;font-size:14px;font-weight:600;padding:14px 20px;touch-action:manipulation;width:100%}.receipt-actions button:active{transform:scale(.98)}.receipt-review-message{font-size:13px;padding:10px 16px}.no-selection{font-size:14px;padding:40px 20px}.empty-state,.loading{font-size:14px;padding:30px 16px}}@media (max-width:480px){.receipt-review-header{padding:10px 12px}.receipt-review-header h2{font-size:14px}.receipt-list h3{font-size:13px}.receipt-item,.receipt-list h3{padding:10px 12px}.receipt-client{font-size:12px}.receipt-amount{font-size:13px}.receipt-detail{padding:12px}.receipt-detail h3{font-size:15px}.form-group label{font-size:12px}.form-group input,.form-group select,.form-group textarea{font-size:13px;padding:9px 10px}.receipt-actions button{font-size:13px;padding:12px 16px}}.processed-receipts-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.processed-receipts-panel{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:95%}.processed-receipts-header{align-items:center;border-bottom:1px solid #e9edef;display:flex;justify-content:space-between;padding:20px 24px}.processed-receipts-header h2{color:#333;font-size:20px;margin:0}.processed-receipts-content{flex:1 1;overflow-y:auto;padding:24px}.processed-receipts-table{border-collapse:collapse;width:100%}.processed-receipts-table thead{background-color:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.processed-receipts-table th{border-bottom:2px solid #e9edef;color:#333;font-size:13px;font-weight:600;padding:12px 16px;text-align:left}.processed-receipts-table td{border-bottom:1px solid #e9edef;color:#666;font-size:14px;padding:12px 16px}.processed-receipts-table tbody tr:hover{background-color:#f8f9fa}.amount-cell{color:#28a745}.failed-receipts-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.failed-receipts-panel{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;width:95%}.failed-receipts-header{align-items:center;border-bottom:1px solid #e9edef;display:flex;justify-content:space-between;padding:20px 24px}.failed-receipts-header h2{color:#333;font-size:20px;margin:0}.close-button{border-radius:50%;color:#666;transition:background-color .2s}.close-button:hover{background-color:#f0f0f0}.failed-receipts-content{flex:1 1;overflow-y:auto;padding:24px}.failed-receipts-table{border-collapse:collapse;width:100%}.failed-receipts-table thead{background-color:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.failed-receipts-table th{border-bottom:2px solid #e9edef;color:#333;font-size:13px;font-weight:600;padding:12px 16px;text-align:left}.failed-receipts-table td{border-bottom:1px solid #e9edef;color:#666;font-size:14px;padding:12px 16px}.failed-receipts-table tbody tr:hover{background-color:#f8f9fa}.client-id-link{background:none;border:none;color:#00a884;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline}.client-id-link:hover{color:#06cf9c}.no-id{color:#999;font-style:italic}.amount-cell{color:#333;font-weight:600}.failure-reason{color:#dc3545;font-size:13px;max-width:300px}.status-badge{border-radius:12px;font-size:11px}.status-pending{background-color:#fff3cd;color:#856404}.status-verified{background-color:#d1ecf1;color:#0c5460}.empty-state,.loading{color:#666;padding:40px 20px;text-align:center}.technical-reports-panel{background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh}.technical-reports-header{align-items:center;background-color:#fff;border-bottom:2px solid #007bff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:20px}.btn-manage-technicians{background-color:#17a2b8;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:10px 20px;transition:background-color .3s}.btn-manage-technicians:hover{background-color:#138496}.technical-reports-header h2{color:#007bff;font-size:24px;margin:0}.btn-create-report{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:10px 20px;transition:background-color .3s}.btn-create-report:hover{background-color:#218838}.technical-reports-stats{background-color:#fff;border-bottom:1px solid #ddd;display:flex;gap:15px;overflow-x:auto;padding:20px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;flex:1 1;min-width:120px;padding:15px}.stat-value{font-size:32px}.stat-label{opacity:.9;text-transform:uppercase}.technical-reports-filters{background-color:#fff;border-bottom:1px solid #ddd;display:flex;flex-wrap:wrap;gap:10px;padding:15px 20px}.filter-input{border:1px solid #ddd;flex:1 1;font-size:14px;min-width:200px}.filter-input,.filter-select{border-radius:5px;padding:10px}.filter-select{background-color:#fff;cursor:pointer}.btn-clear-filters{background-color:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:10px 15px}.btn-clear-filters:hover{background-color:#5a6268}.technical-reports-content{display:flex;flex:1 1;overflow:hidden}.technical-reports-list{display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto;padding:20px}.technical-report-item{background-color:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;padding:15px;transition:all .3s}.technical-report-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.technical-report-item.selected{background-color:#f0f8ff;border-color:#007bff}.report-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.report-ticket-number{color:#007bff;font-size:16px;font-weight:700}.report-status-badge{border-radius:15px;color:#fff;font-size:12px;font-weight:700;padding:5px 10px;text-transform:uppercase}.report-item-body{margin-bottom:10px}.report-type{color:#666;font-size:14px;margin-bottom:5px}.report-title{font-size:16px;margin-bottom:5px}.report-client{color:#666;font-size:14px;margin-bottom:5px}.report-meta{align-items:center;color:#999;display:flex;font-size:12px;justify-content:space-between}.report-priority{font-weight:700}.report-item-actions{border-top:1px solid #eee;display:flex;gap:10px;margin-top:10px;padding-top:10px}.btn-delete-report,.btn-edit-report{border:none;border-radius:5px;cursor:pointer;flex:1 1;font-size:12px;padding:8px;transition:opacity .3s}.btn-edit-report{background-color:#ffc107;color:#333}.btn-edit-report:hover{opacity:.8}.btn-delete-report{background-color:#dc3545;color:#fff}.btn-delete-report:hover{opacity:.8}.technical-reports-pagination{align-items:center;background-color:#fff;border-top:1px solid #ddd;display:flex;gap:15px;justify-content:center;padding:20px}.technical-reports-pagination button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px}.technical-reports-pagination button:disabled{background-color:#ccc;cursor:not-allowed}.technical-reports-pagination button:hover:not(:disabled){background-color:#0056b3}@media (max-width:768px){.technical-reports-header{align-items:flex-start;flex-direction:column;gap:15px;padding:15px}.technical-reports-header h2{font-size:20px}.header-actions{flex-direction:column;gap:10px;width:100%}.btn-create-report,.btn-manage-technicians{font-size:14px;padding:12px;width:100%}.technical-reports-stats{flex-direction:column;gap:10px;overflow-x:visible;padding:15px}.stat-card{min-width:auto;padding:12px}.stat-value{font-size:24px}.stat-label{font-size:11px}.technical-reports-filters{flex-direction:column;gap:10px;padding:15px}.filter-input,.filter-select{font-size:16px;min-width:auto;padding:12px;width:100%}.btn-clear-filters{padding:12px;width:100%}.technical-reports-content{flex-direction:column}.technical-reports-list{gap:12px;padding:15px}.technical-report-item{padding:12px}.report-item-header{align-items:flex-start;flex-direction:column;gap:8px}.report-ticket-number{font-size:14px}.report-status-badge{font-size:11px;padding:4px 8px}.report-item-body{font-size:13px}.report-item-footer{align-items:flex-start;flex-direction:column;gap:8px}.report-actions-buttons{flex-direction:column;gap:8px;width:100%}.btn-action-small{font-size:13px;padding:10px;width:100%}}.btn-toggle-view{background-color:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:10px 20px;transition:background-color .3s}.btn-toggle-view:hover{background-color:#5a6268}.clientes-container{flex:1 1;overflow-y:auto;padding:20px}.cliente-card{border-radius:10px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.cliente-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.cliente-header{border-bottom:2px solid #007bff;padding-bottom:10px}.cliente-header h3{color:#007bff;font-size:18px;margin:0 0 5px}.cliente-cedula{color:#6c757d}.cliente-imagen img{background-color:#f8f9fa}.cliente-info{display:flex;flex-direction:column;gap:10px}.info-row .label{color:#495057;flex-shrink:0;font-weight:700;margin-right:10px}.info-row span:last-child{color:#212529;text-align:right;word-break:break-word}.gps-link{color:#007bff;font-weight:500}.no-data{color:#6c757d;font-size:18px;padding:40px;text-align:center}.cliente-actions{display:flex;gap:10px;margin-top:10px}.btn-delete,.btn-edit{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:700;padding:8px 16px;transition:background .2s}.btn-edit{background:#ffc107}.btn-edit:hover{background:#e0a800}.btn-delete{background:#dc3545}.btn-delete:hover{background:#b52a37}.modal-overlay{background:#0006}.modal-content{border-radius:10px;box-shadow:0 4px 24px #0000002e;max-width:95vw;min-width:320px;padding:30px 24px}.edit-form label{color:#333;display:block;font-weight:500;margin-bottom:12px}.edit-form input{border:1px solid #ccc;border-radius:5px;font-size:15px;margin-top:4px;padding:8px;width:100%}.modal-actions{gap:12px;margin-top:18px}.modal-actions button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:8px 18px;transition:background .2s}.modal-actions button:disabled{cursor:not-allowed;opacity:.7}.modal-actions button:first-child{background:#6c757d}.modal-actions button:first-child:hover{background:#495057}.modal-actions button:last-child:hover{background:#0056b3}@media (max-width:768px){.clientes-grid{grid-template-columns:1fr}}.technical-report-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.technical-report-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.btn-close-modal{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.btn-close-modal:hover{color:#000}.technical-report-form{padding:20px}.form-section{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}.form-section:last-child{border-bottom:none}.form-section h3{color:#007bff}.form-row{display:flex;gap:15px;margin-bottom:15px}.form-group{flex:1 1}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:5px;font-family:inherit;font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.input-with-button{display:flex;gap:10px}.input-with-button input{flex:1 1}.btn-search-client{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;padding:10px 15px;white-space:nowrap}.btn-search-client:hover:not(:disabled){background-color:#0056b3}.btn-search-client:disabled{background-color:#ccc;cursor:not-allowed}.tags-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tag{background-color:#007bff;border-radius:15px;display:inline-flex;font-size:12px;gap:5px;padding:5px 10px}.tag,.tag-remove{align-items:center;color:#fff}.tag-remove{background:none;border:none;cursor:pointer;display:flex;font-size:14px;height:16px;justify-content:center;padding:0;width:16px}.tag-remove:hover{background-color:#fff3;border-radius:50%}.form-actions{border-top:1px solid #eee;margin-top:30px}.btn-cancel{border-radius:5px}.btn-save{background-color:#28a745;border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px}.btn-save:hover:not(:disabled){background-color:#218838}.btn-save:disabled{background-color:#ccc}.technician-selector{display:flex;gap:10px}.technician-selector select{flex:1 1}.btn-manage-technicians-small{background-color:#17a2b8;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:12px;padding:10px 15px;white-space:nowrap}.btn-manage-technicians-small:hover{background-color:#138496}@media (max-width:768px){.technical-report-modal{border-radius:0;height:100%;margin:0;max-height:100%;max-width:100%;width:100%}.technical-report-modal-header{padding:15px}.technical-report-modal-header h2{font-size:18px}.close-modal-button{font-size:18px;height:32px;width:32px}.technical-report-modal-content{max-height:calc(100vh - 80px);padding:15px}.form-section{margin-bottom:20px}.form-section h3{font-size:16px;margin-bottom:12px}.form-row{flex-direction:column;gap:15px}.form-group{margin-bottom:15px;width:100%}.form-group label{font-size:13px;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:12px}.technician-selector{flex-direction:column;gap:8px}.technician-selector select{width:100%}.btn-manage-technicians-small{font-size:13px;padding:10px;width:100%}.form-actions{flex-direction:column;gap:10px;padding:15px 0}.btn-cancel,.btn-save{font-size:16px;padding:14px;width:100%}.search-client-section{padding:15px}.search-client-button{font-size:14px;padding:12px;width:100%}}.technicians-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.technicians-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.modal-header{background-color:#f8f9fa;border-bottom:2px solid #007bff}.modal-header h2{color:#007bff}.btn-close{background:none;color:#666;height:30px;padding:0;width:30px}.btn-close:hover{color:#000}.technicians-header{margin-bottom:20px}.btn-add-technician{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px}.btn-add-technician:hover{background-color:#218838}.technician-form{background-color:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.technician-form h3{color:#007bff;margin-top:0}.form-group label{font-weight:700}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:5px;font-family:inherit}.specializations{display:flex;flex-wrap:wrap;gap:15px}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:5px}.checkbox-label input[type=checkbox]{width:auto}.form-actions{justify-content:flex-end}.form-actions button{border:none;border-radius:5px;cursor:pointer;font-size:14px;padding:10px 20px}.form-actions button[type=button]{background-color:#6c757d;color:#fff}.form-actions button[type=submit]{background-color:#28a745;color:#fff}.technicians-list{display:flex;flex-direction:column;gap:15px}.technician-item{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:8px;display:flex;justify-content:space-between;padding:15px}.technician-info{flex:1 1}.technician-name{color:#333;font-size:18px;font-weight:700;margin-bottom:8px}.technician-details{color:#666;display:flex;font-size:14px;gap:15px;margin-bottom:8px}.access-code{color:#007bff;font-weight:700}.technician-specializations{display:flex;gap:8px;margin-bottom:8px}.specialization-badge{background-color:#007bff;border-radius:12px;color:#fff;font-size:12px;padding:4px 8px}.technician-status{font-size:12px;font-weight:700}.technician-status.active{color:#28a745}.technician-status.inactive{color:#dc3545}.technician-link{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:5px;margin-top:10px;padding:10px}.technician-link label{color:#333;display:block;font-size:12px;font-weight:700;margin-bottom:5px}@media (max-width:768px){.technicians-modal{border-radius:0;height:100%;margin:0;max-height:100%;max-width:100%;width:100%}.technicians-modal-header{padding:15px}.technicians-modal-header h2{font-size:18px}.close-modal-button{font-size:18px;height:32px;width:32px}.technicians-modal-content{padding:15px}.technicians-list{gap:12px}.technician-item{padding:12px}.technician-name{font-size:16px}.technician-details{align-items:flex-start;flex-direction:column;font-size:13px;gap:5px}.technician-actions{flex-direction:column;gap:8px;width:100%}.btn-delete-technician,.btn-edit-technician{font-size:13px;padding:10px;width:100%}.technician-form{padding:15px}.form-group{margin-bottom:15px}.form-group label{font-size:13px}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:12px}.form-actions{flex-direction:column;gap:10px}.btn-cancel,.btn-save{font-size:16px;padding:14px;width:100%}.link-container{flex-direction:column;gap:8px}.access-link{font-size:11px}.btn-copy-link{font-size:12px;padding:10px;width:100%}}.link-container{align-items:center;display:flex;gap:10px;margin-bottom:5px}.access-link{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#007bff;flex:1 1;font-size:12px;padding:8px;word-break:break-all}.btn-copy-link{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px;white-space:nowrap}.btn-copy-link:hover{background-color:#0056b3}.link-instructions{color:#666;display:block;font-size:11px;margin-top:5px}.technician-actions{display:flex;gap:10px}.technician-actions button{border:none;border-radius:5px;cursor:pointer;font-size:12px;padding:8px 15px}.btn-select{background-color:#007bff;color:#fff}.btn-edit{background-color:#ffc107;color:#333}.btn-delete{background-color:#dc3545;color:#fff}.empty-message,.loading-message{font-size:16px;padding:40px}.technical-report-detail{background-color:#fff;border-left:1px solid #ddd;display:flex;flex-direction:column;height:100%;overflow-y:auto;width:400px}.detail-header{align-items:flex-start;background-color:#f8f9fa;border-bottom:2px solid #007bff;display:flex;justify-content:space-between;padding:20px}.detail-header h2{color:#007bff;font-size:20px;margin:0 0 10px}.detail-meta{color:#666;display:flex;font-size:14px;gap:15px}.btn-close-detail{background:none;border:none;color:#666;cursor:pointer;font-size:20px;padding:5px}.btn-close-detail:hover{color:#000}.detail-content{flex:1 1;overflow-y:auto;padding:20px}.detail-section{border-bottom:1px solid #eee;margin-bottom:25px;padding-bottom:20px}.detail-section:last-child{border-bottom:none}.detail-section h3{color:#007bff;font-size:16px;margin:0 0 15px}.status-selector{display:flex;flex-wrap:wrap;gap:10px}.status-btn{border:2px solid #0000;border-radius:5px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;min-width:100px;padding:10px;transition:all .3s}.status-btn:hover:not(:disabled){opacity:.8;transform:translateY(-2px)}.status-btn:disabled{cursor:not-allowed;opacity:.6}.detail-info-grid{display:flex;flex-direction:column;gap:10px}.info-item.full-width{grid-column:1/-1}.info-item label{color:#666;font-size:12px;font-weight:700;text-transform:uppercase}.info-item span{color:#333;font-size:14px}.description-text,.notes-text{background-color:#f8f9fa;border-radius:5px;color:#333;font-size:14px;line-height:1.5;padding:10px;white-space:pre-wrap}.notes-text.internal{background-color:#fff3cd;border-left:3px solid #ffc107}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.tag-badge{background-color:#007bff;border-radius:15px;color:#fff;font-size:12px;padding:5px 10px}.whatsapp-messages-list{display:flex;flex-direction:column;gap:10px}.whatsapp-message{background-color:#f8f9fa;border-radius:5px;padding:10px}.whatsapp-message.outbound{background-color:#d4edda;border-left:3px solid #28a745}.whatsapp-message.inbound{background-color:#d1ecf1;border-left:3px solid #17a2b8}.message-direction{color:#666;font-size:11px;font-weight:700;margin-bottom:5px}.message-content{color:#333;font-size:14px;margin-bottom:5px;white-space:pre-wrap}.message-time{color:#999}.smartolt-panel{background:linear-gradient(135deg,#1a1a2e,#16213e);bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.smartolt-header{align-items:center;background:#0000004d;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px 30px}.smartolt-title{align-items:center;display:flex;gap:12px}.smartolt-icon{font-size:28px}.smartolt-title h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.smartolt-actions{display:flex;gap:10px}.btn-refresh{background:linear-gradient(135deg,#00b894,#00cec9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-refresh:hover:not(:disabled){box-shadow:0 4px 15px #00b89466;transform:translateY(-2px)}.btn-refresh:disabled{cursor:not-allowed;opacity:.6}.btn-close{background:#ffffff1a;border-radius:8px;font-size:1.2rem;height:40px;transition:all .3s ease;width:40px}.btn-close:hover{background:#ff6b6bcc}.connection-status{font-size:.9rem;padding:10px 30px}.status-checking{background:#ffc1071a;color:#ffc107}.status-connected{background:#00b8941a;color:#00b894}.status-error{background:#ff6b6b1a;color:#ff6b6b}.smartolt-stats{display:flex;gap:20px;padding:20px 30px}.stat-card{background:#ffffff0d;border:1px solid #ffffff1a;min-width:150px;padding:20px 30px;text-align:center}.stat-card.highlight{background:linear-gradient(135deg,#ffc1071a,#ff98001a);border-color:#ffc1074d}.stat-value{color:#fff;font-size:2.5rem}.stat-card.highlight .stat-value{color:#ffc107}.stat-label{color:#fff9;font-size:.9rem;margin-top:5px}.smartolt-filters{align-items:center;background:#0003;display:flex;gap:15px;padding:15px 30px}.smartolt-filters label{color:#fffc;font-weight:500}.smartolt-filters select{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;min-width:250px;padding:10px 15px}.smartolt-filters select option{background:#1a1a2e;color:#fff}.smartolt-error{align-items:center;background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:8px;color:#ff6b6b;display:flex;gap:10px;margin:20px 30px;padding:15px 20px}.smartolt-table-container{flex:1 1;overflow:auto;padding:0 30px 20px}.smartolt-table{background:#ffffff05;border-collapse:collapse;border-radius:12px;overflow:hidden;width:100%}.smartolt-table thead{background:#0000004d}.smartolt-table th{border-bottom:1px solid #ffffff1a;color:#fffc;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:15px 20px;text-align:left;text-transform:uppercase}.smartolt-table td{border-bottom:1px solid #ffffff0d;color:#ffffffe6;padding:15px 20px}.smartolt-table tbody tr:hover{background:#ffffff0d}.sn-cell code{background:#00b8941a;border-radius:4px;color:#00b894;font-family:Fira Code,Consolas,monospace;font-size:.85rem;padding:5px 10px}.olt-badge{background:#6c5ce733;border-radius:20px;color:#a29bfe;font-size:.85rem;font-weight:500;padding:5px 12px}.status-badge{font-size:.8rem;padding:5px 12px}.status-badge.unauthorized{background:#ffc10733;color:#ffc107}.loading-spinner{align-items:center;color:#fff9;display:flex;flex-direction:column;justify-content:center;padding:60px}.spinner{border:3px solid #ffffff1a;border-top-color:#00b894}.no-data{align-items:center;color:#fff9;display:flex;flex-direction:column;justify-content:center;padding:60px}.no-data-icon{font-size:4rem;margin-bottom:15px}.smartolt-footer{align-items:center;background:#0000004d;border-top:1px solid #ffffff1a;color:#fff9;display:flex;font-size:.9rem;justify-content:space-between;padding:15px 30px}.domain-info{color:#fff6}.btn-authorize{background:linear-gradient(135deg,#00b894,#00cec9);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.btn-authorize:hover{box-shadow:0 4px 15px #00b89466;transform:translateY(-2px)}.auth-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.auth-modal{animation:modalSlideIn .3s ease;background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:500px;width:90%}.auth-modal-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px 25px}.auth-modal-header h3{color:#fff;font-size:1.3rem;margin:0}.auth-modal-close{background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;height:35px;transition:all .3s ease;width:35px}.auth-modal-close:hover:not(:disabled){background:#ff6b6bcc}.auth-modal-body{padding:25px}.onu-info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:25px}.onu-info-item{background:#ffffff0d;border-radius:8px;padding:12px 15px}.onu-info-item label{color:#ffffff80;display:block;font-size:.8rem;margin-bottom:5px}.onu-info-item code{background:#00b8941a;border-radius:4px;color:#00b894;font-family:Fira Code,Consolas,monospace;font-size:.85rem;padding:4px 8px}.onu-info-item span{color:#fff;font-size:.95rem}.vlan-auto{background:#6c5ce733;border-radius:4px;color:#a29bfe!important;font-weight:500;padding:4px 10px}.auth-name-field{margin-bottom:20px}.auth-name-field label{color:#fffc;display:block;font-weight:500;margin-bottom:10px}.auth-name-field input{background:#ffffff1a;border:2px solid #fff3;border-radius:10px;box-sizing:border-box;color:#fff;font-size:1rem;padding:14px 18px;transition:all .3s ease;width:100%}.auth-name-field input:focus{border-color:#00b894;box-shadow:0 0 0 3px #00b89433;outline:none}.auth-name-field input::placeholder{color:#fff6}.auth-name-field small{color:#fff6;display:block;font-size:.8rem;margin-top:8px}.auth-error{background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:8px;color:#ff6b6b;font-size:.9rem;padding:12px 15px}.auth-success{padding:30px 20px;text-align:center}.success-icon{display:block;font-size:4rem;margin-bottom:15px}.auth-success h4{color:#00b894;font-size:1.5rem;margin:0 0 10px}.auth-success p{color:#ffffffb3;margin:0}.auth-modal-footer{border-top:1px solid #ffffff1a;display:flex;gap:15px;padding:20px 25px}.btn-cancel{background:#ffffff1a;border:1px solid #fff3;border-radius:10px;flex:1 1;padding:14px 20px;transition:all .3s ease}.btn-cancel:hover:not(:disabled){background:#fff3}.btn-confirm-auth{background:linear-gradient(135deg,#00b894,#00cec9);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:2 1;font-size:1rem;font-weight:600;padding:14px 20px;transition:all .3s ease}.btn-confirm-auth:hover:not(:disabled){box-shadow:0 6px 20px #00b89466;transform:translateY(-2px)}.btn-confirm-auth:disabled{transform:none}.btn-cancel:disabled,.btn-confirm-auth:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.smartolt-header{flex-direction:column;gap:15px;padding:15px}.smartolt-stats{flex-wrap:wrap;padding:15px}.stat-card{flex:1 1;min-width:120px}.smartolt-filters{align-items:stretch;flex-direction:column;padding:15px}.smartolt-filters select{width:100%}.smartolt-table-container{padding:0 15px 15px}.smartolt-table td,.smartolt-table th{font-size:.85rem;padding:10px}}.genieacs-panel-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000!important}.genieacs-panel{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:90%}.genieacs-panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.genieacs-panel-header h2{font-size:1.5rem;margin:0}.btn-close{align-items:center;border-radius:50%;display:flex;font-size:1.5rem;height:35px;justify-content:center;transition:background .2s;width:35px}.genieacs-panel-content{flex:1 1;overflow-y:auto;padding:20px}.connection-status{background:#f5f5f5;border-radius:4px;font-weight:500;margin-bottom:20px;padding:10px;text-align:center}.search-type-selector{background:#f9f9f9;border-radius:4px;display:flex;gap:20px;margin-bottom:20px;padding:15px}.search-type-selector label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:8px}.search-container{gap:10px;margin-bottom:20px}.search-input{border:2px solid #ddd;border-radius:4px;flex:1 1;font-size:1rem;padding:12px}.btn-search{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:opacity .2s}.btn-search:hover:not(:disabled){opacity:.9}.btn-search:disabled{cursor:not-allowed;opacity:.5}.error-message{border:1px solid #fcc;border-radius:4px}.device-info{margin-top:20px}.device-info h3{border-bottom:2px solid #667eea;color:#667eea;margin-bottom:20px;padding-bottom:10px}.info-section{background:#f9f9f9;border-radius:4px;margin-bottom:25px;padding:15px}.info-section h4{color:#333;font-size:1.1rem;margin:0 0 15px}.info-row{border-bottom:1px solid #eee;padding:8px 0}.info-label{min-width:150px}.info-value.online{color:#28a745;font-weight:600}.info-value.offline{color:#dc3545;font-weight:600}.wifi-network{background:#fff;border-left:3px solid #667eea;border-radius:4px;margin-bottom:10px;padding:10px}.connected-devices-list{grid-gap:10px;display:grid;gap:10px}.connected-device{background:#fff;border-left:3px solid #28a745;border-radius:4px;padding:10px}.receipts-dashboard-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.receipts-dashboard{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;width:100%}.dashboard-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.dashboard-header h2{font-size:24px;font-weight:600;margin:0}.dashboard-header .close-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:background .2s;width:36px}.dashboard-header .close-button:hover{background:#ffffff4d}.dashboard-tabs{background:#f8f9fa;border-bottom:2px solid #e0e0e0;display:flex;gap:4px;overflow-x:auto;padding:0 20px}.dashboard-tabs button{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s;white-space:nowrap}.dashboard-tabs button:hover{background:#667eea1a;color:#667eea}.dashboard-tabs button.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.dashboard-content{flex:1 1;overflow-y:auto;padding:24px}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.summary-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.summary-card.alert{background:#fffbf0;border-color:#ffc107}.summary-card h3{border-bottom:2px solid #e0e0e0;color:#333;font-size:18px;margin:0 0 16px;padding-bottom:8px}.card-content{display:flex;flex-direction:column;gap:12px}.stat-item{justify-content:space-between;padding:8px 0}.stat-label{color:#666}.stat-value{color:#333;font-size:16px;font-weight:600}.stat-value.success{color:#28a745}.stat-value.warning{color:#ffc107}.stat-value.info{color:#17a2b8}.stat-value.amount{color:#667eea;font-size:18px}.stat-value.large{color:#ffc107;font-size:36px;font-weight:700}.btn-view-pending{background:#ffc107;border:none;border-radius:6px;color:#333;cursor:pointer;font-weight:600;margin-top:12px;padding:10px 20px;transition:background .2s}.btn-view-pending:hover{background:#ffb300}.date-selector{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.date-selector label{color:#333;font-weight:500}.date-selector input,.date-selector select{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px}.date-selector button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.date-selector button:hover{background:#5568d3}.daily-summary,.monthly-summary{margin-bottom:24px}.daily-summary h3,.monthly-summary h3{color:#333;font-size:20px;margin:0 0 16px}.daily-stats-grid,.monthly-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.stat-box{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;text-align:center}.stat-box.success{background:#f0f9f4;border-color:#28a745}.stat-box.warning{background:#fffbf0;border-color:#ffc107}.stat-box.info{background:#f0f9fc;border-color:#17a2b8}.stat-box.amount{background:#f5f7ff;border-color:#667eea}.stat-box .stat-label{color:#666;font-size:12px;margin-bottom:8px;text-transform:uppercase}.stat-box .stat-number{color:#333;font-size:24px;font-weight:700}.stat-box.success .stat-number{color:#28a745}.stat-box.warning .stat-number{color:#ffc107}.stat-box.info .stat-number{color:#17a2b8}.stat-box.amount .stat-number{color:#667eea}.banks-breakdown,.monthly-banks-breakdown{margin-bottom:24px}.banks-breakdown h3,.monthly-banks-breakdown h3{color:#333;font-size:18px;margin:0 0 16px}.banks-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.bank-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.bank-card h4{border-bottom:1px solid #e0e0e0;color:#333;font-size:16px;margin:0 0 16px;padding-bottom:8px}.bank-stats{display:flex;flex-direction:column;gap:12px}.bank-stat{align-items:center;display:flex;justify-content:space-between}.bank-stat .label{color:#666;font-size:14px}.bank-stat .value{color:#333;font-size:16px;font-weight:600}.bank-stat .value.amount{color:#667eea;font-size:18px}.daily-breakdown-table,.receipts-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.daily-breakdown-table thead,.receipts-table thead{background:#667eea;color:#fff}.daily-breakdown-table th,.receipts-table th{font-size:13px;font-weight:600;padding:12px;text-align:left;text-transform:uppercase}.daily-breakdown-table td,.receipts-table td{border-bottom:1px solid #e0e0e0;font-size:14px;padding:12px}.daily-breakdown-table tbody tr:hover,.receipts-table tbody tr:hover{background:#f8f9fa}.daily-breakdown-table .amount,.receipts-table .amount{color:#667eea;font-weight:600}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.verified{background:#d1ecf1;color:#0c5460}.status-badge.rejected{background:#f8d7da;color:#721c24}.status-badge.duplicate{background:#f5c6cb;color:#721c24}.btn-view-image{background:#667eea;border-radius:4px;color:#fff;font-size:12px;font-weight:500;padding:6px 12px;text-decoration:none;transition:background .2s}.btn-view-image:hover{background:#5568d3}.month-selector{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.monthly-daily-breakdown{margin-top:24px}.monthly-daily-breakdown h3{color:#333;font-size:18px;margin:0 0 16px}.daily-breakdown-table{font-size:13px}.daily-breakdown-table td{padding:8px}.daily-breakdown-table .success{color:#28a745;font-weight:600}.daily-breakdown-table .warning{color:#ffc107;font-weight:600}.daily-breakdown-table .info{color:#17a2b8;font-weight:600}.pending-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.pending-header h3{color:#333;font-size:20px;margin:0}.pending-header button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.pending-header button:hover{background:#5568d3}.auto-applied-tab h3{color:#333;font-size:20px;margin:0 0 20px}.loading{font-size:16px}.register-payment-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.register-payment-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.register-payment-modal .modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.register-payment-modal .modal-header h3{font-size:20px;margin:0}.register-payment-modal .modal-content{padding:24px}.register-payment-modal .form-group{margin-bottom:20px}.register-payment-modal .form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.register-payment-modal .form-group input,.register-payment-modal .form-group select,.register-payment-modal .form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px;width:100%}.register-payment-modal .form-group textarea{resize:vertical}.register-payment-modal .modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.register-payment-modal .btn-cancel{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.register-payment-modal .btn-cancel:hover{background:#5a6268}.register-payment-modal .btn-save{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.register-payment-modal .btn-save:hover:not(:disabled){background:#218838}.register-payment-modal .btn-save:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.receipts-dashboard{border-radius:0;max-height:100vh;max-width:100%}.dashboard-tabs{flex-wrap:wrap}.summary-cards{grid-template-columns:1fr}.daily-stats-grid,.monthly-stats-grid{grid-template-columns:repeat(2,1fr)}.banks-grid{grid-template-columns:1fr}.daily-breakdown-table,.receipts-table{font-size:12px}.daily-breakdown-table td,.daily-breakdown-table th,.receipts-table td,.receipts-table th{padding:8px 4px}}.pending-messages-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.pending-messages-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.pending-messages-modal-header{align-items:center;background:linear-gradient(135deg,#00a884,#06cf9c);border-bottom:1px solid #e9edef;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.pending-messages-modal-header h2{font-size:20px;font-weight:600;margin:0}.pending-messages-modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;transition:background-color .2s;width:32px}.pending-messages-modal-close:hover{background:#ffffff4d}.pending-messages-modal-body{display:flex;flex-direction:column;gap:20px;padding:20px}.pending-messages-stats{grid-gap:15px;background:#f0f2f5;border-radius:8px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);padding:15px}.stat-item{align-items:center;display:flex;flex-direction:column;gap:5px}.stat-label{color:#667781;font-size:12px;font-weight:500}.stat-value{color:#00a884}.stat-value.error{color:#dc3545}.pending-messages-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;padding:12px}.pending-messages-progress{background:#f0f2f5;border-radius:8px;padding:20px}.progress-bar-container{background:#e9edef;border-radius:12px;height:24px;margin-bottom:10px;overflow:hidden;width:100%}.progress-bar{background:linear-gradient(90deg,#00a884,#06cf9c);border-radius:12px;height:100%;transition:width .3s ease}.progress-text{color:#667781;font-size:14px;font-weight:500;margin-bottom:5px}.progress-messages{color:#00a884}.progress-failed,.progress-messages{font-size:14px;font-weight:500;margin-top:5px}.progress-failed{color:#dc3545}.pending-messages-status{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;color:#06c;font-size:14px;font-weight:500;padding:12px}.pending-messages-status.processing{animation:pulse 2s infinite;background:#fff4e6;border-color:#ffd699;color:#c60}.pending-messages-actions{display:flex;gap:10px}.pending-messages-process-button,.pending-messages-refresh-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s}.pending-messages-process-button{background:linear-gradient(135deg,#00a884,#06cf9c);color:#fff}.pending-messages-process-button:hover:not(:disabled){background:linear-gradient(135deg,#06cf9c,#00a884);box-shadow:0 4px 8px #00a8844d;transform:translateY(-1px)}.pending-messages-process-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.pending-messages-process-button:not(:disabled){cursor:pointer}.pending-messages-refresh-button{background:#f0f2f5;border:1px solid #e9edef;color:#667781}.pending-messages-refresh-button:hover:not(:disabled){background:#e9edef}.pending-messages-refresh-button:disabled{cursor:not-allowed;opacity:.5}.pending-messages-info{background:#f0f2f5;border-radius:8px;color:#667781;font-size:13px;padding:15px}.pending-messages-info p{color:#111b21;font-weight:600;margin:0 0 10px}.pending-messages-info ul{margin:0;padding-left:20px}.pending-messages-info li{line-height:1.5;margin-bottom:8px}@media (max-width:768px){.pending-messages-modal-content{margin:10px;max-height:95vh;max-width:100%}.pending-messages-stats{grid-template-columns:1fr}.pending-messages-actions{flex-direction:column}}.pending-templates-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.pending-templates-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:100%}.pending-templates-header{align-items:center;border-bottom:1px solid #e4e6eb;display:flex;justify-content:space-between;padding:20px 24px}.pending-templates-header h2{color:#333;font-size:20px;margin:0}.close-button{border-radius:4px;color:#999;font-size:32px;height:32px;line-height:1;padding:0;width:32px}.close-button:hover{background-color:#f5f5f5;color:#333}.pending-templates-filters{background-color:#f8f9fa;border-bottom:1px solid #e4e6eb;display:flex;gap:10px;padding:16px 24px}.filter-button{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:8px 16px}.filter-button:hover{background-color:#e9ecef}.pending-templates-actions{align-items:center;border-bottom:1px solid #e4e6eb;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;padding:16px 24px}.select-all-button{background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.select-all-button:hover{background-color:#e9ecef}.resend-button{background-color:#00a884;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:10px 20px;transition:all .2s}.resend-button:hover:not(:disabled){background-color:#06cf9c}.resend-button:disabled{background-color:#ccc;cursor:not-allowed}.delete-all-button{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:15px;font-weight:500;min-width:180px;padding:10px 20px;transition:all .2s}.delete-all-button:hover:not(:disabled){background-color:#c82333;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.delete-all-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.pending-templates-content{flex:1 1;overflow-y:auto;padding:0}.empty-state{color:#666;padding:40px}.pending-templates-table{border-collapse:collapse;width:100%}.pending-templates-table thead{background-color:#f8f9fa;position:-webkit-sticky;position:sticky;top:0;z-index:10}.pending-templates-table th{border-bottom:2px solid #dee2e6;color:#333;font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.pending-templates-table td{border-bottom:1px solid #e9edef;font-size:14px;padding:12px 16px}.pending-templates-table tbody tr{transition:background-color .2s}.pending-templates-table tbody tr:hover{background-color:#f5f6f6}.pending-templates-table tbody tr.selected{background-color:#e3f2fd}.pending-templates-table tbody tr.selected:hover{background-color:#bbdefb}.pending-templates-table tbody tr.no-template-row{background-color:#fff3cd}.pending-templates-table tbody tr.no-template-row:hover{background-color:#ffe69c}.pending-templates-table tbody tr.has-template-row{background-color:#d4edda;opacity:.8}.pending-templates-table tbody tr.has-template-row:hover{background-color:#c3e6cb}.message-text{max-width:100%;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}.status-badge{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px}.status-badge.success{background-color:#d4edda;color:#155724}.status-badge.error{background-color:#f8d7da;color:#721c24}.status-badge.pending{background-color:#fff3cd}.status-badge.no-template{background-color:#d1ecf1;color:#0c5460}.pending-templates-footer{align-items:center;background-color:#f8f9fa;border-top:1px solid #e4e6eb;color:#666;display:flex;font-size:14px;justify-content:space-between;padding:16px 24px}.templates-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;padding:0 20px}.tab-button{font-size:14px;padding:12px 24px}.tab-button:hover{background:#f0f0f0;color:#25d366}.tab-button.active{border-bottom-color:#25d366;color:#25d366;font-weight:600}.date-selector-container{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:15px;padding:15px 20px}.date-selector-container label{color:#333;font-weight:500}.date-input{border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px}.date-input:focus{border-color:#25d366;box-shadow:0 0 0 2px #25d3661a;outline:none}.sent-stats{color:#666;display:flex;flex-wrap:wrap;font-size:13px;gap:15px;margin-left:auto}.sent-stats span{background:#e8f5e9;border-radius:4px;padding:4px 8px}.template-name-badge{background:#e3f2fd;border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.whatsapp-web-panel-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.whatsapp-web-panel{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;height:90vh;max-height:800px;max-width:1200px;width:100%}.whatsapp-web-header{align-items:center;background:#f0f2f5;border-bottom:1px solid #e9edef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px}.whatsapp-web-header h2{color:#111b21;font-size:24px;margin:0}.close-button{background:none;border:none;border-radius:5px;color:#667781;font-size:24px;padding:5px 10px;transition:all .2s}.close-button:hover{background:#e9edef;color:#111b21}.whatsapp-web-status{background:#f9f9f9;border-bottom:1px solid #e9edef;padding:15px 20px}.status-indicator{align-items:center;display:flex;font-size:14px;font-weight:500;gap:8px}.status-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.status-indicator.ready .status-dot{background:#25d366;box-shadow:0 0 8px #25d36680}.status-indicator.qr .status-dot{background:#ffc107;box-shadow:0 0 8px #ffc10780}.status-indicator.disconnected .status-dot{background:#dc3545}.qr-code-container{border-bottom:1px solid #e9edef;padding:20px;text-align:center}.qr-code{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:inline-block;margin-top:15px;padding:15px}.qr-code img{height:auto;max-width:200px}.whatsapp-web-content{display:flex;flex:1 1;overflow:hidden}.whatsapp-web-sidebar{background:#f9f9f9;border-right:1px solid #e9edef;display:flex;flex-direction:column;width:350px}.whatsapp-web-sidebar h3{background:#fff;border-bottom:1px solid #e9edef;color:#111b21;font-size:16px;margin:0;padding:15px 20px}.conversations-list{flex:1 1;overflow-y:auto}.conversation-item{align-items:center;background:#fff;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:12px 15px;transition:background .2s}.conversation-item:hover{background:#f5f5f5}.conversation-item.active{background:#e9edef}.conversation-avatar{align-items:center;background:linear-gradient(135deg,#25d366,#128c7e);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:500;height:50px;justify-content:center;width:50px}.conversation-info{flex:1 1;min-width:0}.conversation-name{color:#111b21;font-size:15px;font-weight:500}.conversation-name,.conversation-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-preview{color:#667781;font-size:13px;margin-top:4px}.whatsapp-web-messages{background:#e5ddd5;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='a' x='0' y='0' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Cpath d='M0 0h100v100H0z' fill='%23e5ddd5'/%3E%3Cpath d='m0 0 100 100m0-100L0 100' stroke='%23d4c5b9' stroke-width='.5' opacity='.3'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");background-size:100px 100px;display:flex;flex:1 1;flex-direction:column}.messages-header{background:#f0f2f5;border-bottom:1px solid #e9edef;padding:12px 20px}.contact-info,.messages-header{align-items:center;display:flex}.contact-info{gap:12px}.contact-avatar{align-items:center;background:linear-gradient(135deg,#25d366,#128c7e);border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:500;height:40px;justify-content:center;width:40px}.contact-name{color:#111b21;font-size:16px;font-weight:500}.contact-phone{color:#667781;font-size:13px}.messages-list{flex:1 1;overflow-y:auto;padding:20px}.message-bubble{display:flex;flex-direction:column;margin-bottom:12px;max-width:65%}.message-bubble.incoming{align-self:flex-start}.message-bubble.outgoing{align-self:flex-end}.message-content{border-radius:8px;box-shadow:0 1px 1px #0000001a;padding:8px 12px;position:relative}.message-bubble.incoming .message-content{background:#fff;border-top-left-radius:0}.message-bubble.outgoing .message-content{background:#d9fdd3;border-top-right-radius:0}.message-text{word-wrap:break-word;color:#111b21;font-size:14px;line-height:19px}.message-image{border-radius:8px;cursor:pointer;display:block;max-width:100%}.message-audio{max-width:300px;width:100%}.message-time{color:#667781;font-size:11px;margin-top:4px;text-align:right}.message-bubble.outgoing .message-time{color:#546b54}.empty-messages,.empty-state{align-items:center;color:#667781;display:flex;flex:1 1;justify-content:center;padding:40px;text-align:center}.loading{color:#667781;padding:40px}.conversations-list::-webkit-scrollbar,.messages-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track,.messages-list::-webkit-scrollbar-track{background:#f1f1f1}.conversations-list::-webkit-scrollbar-thumb,.messages-list::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.conversations-list::-webkit-scrollbar-thumb:hover,.messages-list::-webkit-scrollbar-thumb:hover{background:#555}.wifi-admin-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.wifi-admin-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;overflow:hidden;width:95%}.wifi-admin-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.wifi-admin-header h2{font-size:22px;font-weight:600;margin:0}.header-buttons{display:flex;gap:10px}.refresh-button{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;font-weight:500;padding:8px 16px;transition:all .3s}.refresh-button:hover{background:#ffffff4d;transform:scale(1.05)}.close-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;padding:8px 16px;transition:all .3s;width:40px}.close-button:hover{background:#ff5050cc;transform:scale(1.05)}.wifi-admin-tabs{background:#f5f5f5;border-bottom:2px solid #e0e0e0;display:flex;gap:0;padding:0}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:15px;font-weight:500;padding:15px 20px;transition:all .3s}.tab-button:hover{background:#667eea1a;color:#667eea}.tab-button.active{background:#fff;border-bottom:3px solid #667eea;color:#667eea}.wifi-admin-search{background:#fff;border-bottom:1px solid #e0e0e0;padding:15px 20px}.search-input{box-sizing:border-box;font-size:15px;padding:12px 15px}.wifi-admin-content{background:#f9f9f9;flex:1 1;overflow-y:auto;padding:20px}.tokens-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.token-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:20px;transition:all .3s}.token-card:hover{border-color:#667eea;box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.token-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.client-info h3{color:#333;font-size:17px;font-weight:600;margin:0 0 8px}.client-id{background:linear-gradient(135deg,#667eea,#764ba2);font-size:12px;padding:4px 10px}.client-id,.client-phone{border-radius:5px;font-weight:600}.client-phone{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;font-size:13px;padding:6px 12px;white-space:nowrap}.token-body{display:flex;flex-direction:column;gap:12px}.token-link-container{display:flex;gap:8px}.token-link-input{background:#f9f9f9;border:2px solid #e0e0e0;border-radius:6px;color:#555;flex:1 1;font-family:Courier New,monospace;font-size:12px;padding:10px 12px}.copy-button{background:linear-gradient(135deg,#ffa726,#fb8c00);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;min-width:45px;padding:10px 15px;transition:all .3s}.copy-button:hover{box-shadow:0 4px 12px #ffa72666;transform:scale(1.1)}.token-ssid{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3;border-radius:6px;color:#1565c0;font-size:14px;padding:12px}.token-ssid strong{color:#0d47a1}.token-dates{border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:8px;padding-top:12px}.token-date{display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.date-label{color:#888;font-weight:600}.date-value{color:#555;font-family:Courier New,monospace;font-size:12px}.activity-list{display:flex;flex-direction:column;gap:15px}.activity-item{background:#fff;border-left:5px solid #4caf50;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;gap:15px;padding:18px;transition:all .3s}.activity-item:hover{border-left-color:#2e7d32;box-shadow:0 4px 12px #0000001a;transform:translateX(5px)}.activity-icon{animation:pulse 2s infinite;flex-shrink:0;font-size:28px}.activity-details{display:flex;flex:1 1;flex-direction:column;gap:10px}.activity-client{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.activity-client strong{color:#333;font-size:16px;font-weight:600}.activity-id{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:5px;color:#fff;font-size:12px;font-weight:600;padding:3px 10px}.activity-info{display:flex;flex-wrap:wrap;font-size:14px;gap:20px}.activity-ssid{background:#e3f2fd;color:#2196f3}.activity-phone,.activity-ssid{border-radius:4px;font-weight:600;padding:4px 10px}.activity-phone{background:#e8f5e9;color:#4caf50}.activity-date{color:#888;font-family:Courier New,monospace;font-size:13px;font-weight:500}.empty-state{color:#999;font-size:16px}.empty-state:before{content:"????";display:block;font-size:64px;margin-bottom:20px}.wifi-admin-loading{align-items:center;display:flex;flex-direction:column;gap:25px;justify-content:center;min-height:300px;padding:40px}.spinner{border:5px solid #f3f3f3;height:60px;width:60px}.wifi-admin-loading p{color:#666;font-size:16px;font-weight:500}.wifi-admin-content::-webkit-scrollbar{width:8px}.wifi-admin-content::-webkit-scrollbar-track{background:#f1f1f1}.wifi-admin-content::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.wifi-admin-content::-webkit-scrollbar-thumb:hover{background:#764ba2}@media (max-width:1200px){.tokens-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width:768px){.wifi-admin-overlay{padding:10px}.wifi-admin-modal{max-height:95vh;width:100%}.wifi-admin-header{flex-direction:column;gap:15px;padding:15px}.wifi-admin-header h2{font-size:18px}.tokens-grid{grid-template-columns:1fr}.token-header{flex-direction:column;gap:10px}.activity-info{gap:8px}.activity-info,.wifi-admin-tabs{flex-direction:column}.tab-button{border-bottom:none;border-left:3px solid #0000}.tab-button.active{border-left:3px solid #667eea}}.token-wifi-info{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:10px}.wifi-field{align-items:center;display:flex;font-size:14px;gap:8px}.wifi-field strong{color:#555;min-width:120px}.wifi-field span{color:#333;flex:1 1;font-family:Courier New,monospace}.password-text{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:4px 8px}.copy-small-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .3s}.copy-small-button:hover{background:#218838;transform:scale(1.1)}.connected-devices-field{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #2196f3;border-radius:8px;margin-top:8px;padding:12px}.connected-devices-field strong{align-items:center;color:#1976d2;display:flex;font-weight:600;gap:6px}.devices-count{background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#757575;font-weight:600;padding:6px 12px}.devices-count.active{animation:pulse 2s infinite;background:#4caf50;border-color:#4caf50;color:#fff}.history-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;font-size:13px;font-weight:600;margin-top:8px;padding:8px 12px;text-align:center}.history-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.history-modal{background:#fff;border-radius:12px;box-shadow:0 10px 50px #00000080;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;width:90%}.history-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.history-modal-header h3{font-size:20px;margin:0}.close-history-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;padding:8px 16px;transition:all .3s;width:40px}.close-history-button:hover{background:#ff5050cc;transform:scale(1.05)}.history-modal-info{background:#f9f9f9;border-bottom:2px solid #e0e0e0;padding:20px 25px}.history-modal-info h4{color:#333;font-size:18px;margin:0 0 5px}.history-modal-info p{color:#666;font-size:14px;margin:0}.history-modal-content{flex:1 1;overflow-y:auto;padding:20px 25px}.history-timeline{padding-left:30px;position:relative}.history-timeline:before{background:linear-gradient(180deg,#667eea,#764ba2);bottom:0;content:"";left:8px;position:absolute;top:0;width:2px}.history-item{border-bottom:1px solid #e0e0e0;margin-bottom:25px;padding-bottom:20px;position:relative}.history-item:last-child{border-bottom:none}.history-marker{background:#fff;border:3px solid #667eea;border-radius:50%;height:16px;left:-26px;position:absolute;top:5px;width:16px;z-index:1}.history-details{display:flex;flex-direction:column;gap:10px}.history-date{color:#888;font-family:Courier New,monospace;font-size:13px;font-weight:600}.history-field{align-items:center;background:#f9f9f9;border-left:4px solid #667eea;border-radius:6px;display:flex;gap:10px;padding:12px}.history-field strong{color:#555;min-width:110px}.history-field .password-text{flex:1 1;font-family:Courier New,monospace}.copy-history-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .3s}.copy-history-button:hover{background:#218838;transform:scale(1.05)}.history-meta{color:#999;font-size:12px;font-style:italic}.empty-history{color:#999;padding:60px 20px;text-align:center}.empty-history:before{content:"????";display:block;font-size:64px;margin-bottom:20px}.history-modal-content::-webkit-scrollbar{width:6px}.history-modal-content::-webkit-scrollbar-track{background:#f1f1f1}.history-modal-content::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.history-modal-content::-webkit-scrollbar-thumb:hover{background:#764ba2}@media (max-width:768px){.history-modal{max-height:90vh;width:95%}.history-modal-content,.history-modal-header,.history-modal-info{padding:15px}.history-timeline{padding-left:25px}.history-field{align-items:flex-start;flex-direction:column}.history-field strong{min-width:auto}}.generate-link-form{margin:0 auto;max-width:600px;padding:30px}.generate-link-form h3{color:#667eea;font-size:24px;margin:0 0 10px}.form-description{color:#666;line-height:1.5;margin:0 0 30px}.form-group{margin-bottom:25px}.form-group label{font-size:14px;margin-bottom:8px}.form-input{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:16px;padding:12px 15px;transition:all .3s;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input:disabled{background:#f5f5f5;cursor:not-allowed}.form-group small{color:#999;display:block;font-size:12px;margin-top:5px}.generate-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:20px;padding:15px;transition:all .3s;width:100%}.generate-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.generate-button:disabled{cursor:not-allowed;opacity:.6}.generate-result{border-radius:8px;margin-bottom:20px;padding:15px}.generate-result.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.generate-result.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.generate-result p{font-weight:600;margin:0 0 10px}.result-client-info{background:#fffc;border-radius:6px;font-size:14px;line-height:1.6;margin-bottom:10px;padding:10px}.result-link{display:flex;gap:10px;margin-top:10px}.result-url-input{background:#fff;border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:10px}.copy-result-button{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:5px;padding:10px 20px;transition:background .3s}.copy-result-button:hover{background:#218838}.process-info{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:20px}.process-info h4{color:#333;font-size:16px;margin:0 0 15px}.process-info ol{margin:0;padding-left:20px}.process-info li{color:#666;line-height:1.5;margin-bottom:8px}.process-info li:last-child{margin-bottom:0}.chat-panel{background-color:#f0f2f5;display:flex;flex-direction:column;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;height:100vh}.top-horizontal-menu{align-items:center;background-color:#fff;border-bottom:1px solid #e9edef;box-shadow:0 2px 4px #0000000d;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 16px;z-index:100}.menu-left{flex-wrap:wrap}.menu-left,.menu-right{align-items:center;display:flex;gap:8px}.menu-button{background-color:#f0f2f5;border:1px solid #e9edef;border-radius:8px;color:#111b21;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s;white-space:nowrap}.menu-button:hover{background-color:#e9edef;border-color:#d1d7db}.menu-button:active{background-color:#d1d7db}.menu-button:disabled{cursor:not-allowed;opacity:.6}.chat-main-container{display:flex;flex:1 1;overflow:hidden}.chat-sidebar{background-color:#fff;border-right:1px solid #e9edef;display:flex;flex-direction:column;width:350px}.sidebar-header{align-items:center;background-color:#f0f2f5;border-bottom:1px solid #e9edef;display:flex;justify-content:space-between;padding:10px 16px}.header-actions{gap:8px}.user-info{gap:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.user-details{display:flex;flex-direction:column}.user-name{color:#111b21;font-size:15px;font-weight:500}.user-name,.user-role{font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif}.user-role{color:#667781;font-size:13px;text-transform:capitalize}.restart-button{align-items:center;animation:none;background:none;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:6px 10px;transition:all .2s}.restart-button:hover{animation:spin 1s linear infinite;background-color:#fff3cd;border-color:#ffc107;color:#856404}.restart-button:active{animation:spin .5s linear infinite}.config-button{align-items:center;background:none;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:6px 10px;transition:all .2s}.config-button:hover{background-color:#f5f5f5;border-color:#ccc;color:#667eea}.logout-button{background:none;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.logout-button:hover{background-color:#f5f5f5;border-color:#ccc}.search-container{background-color:#fff;border-bottom:1px solid #e9edef;display:flex;flex-direction:column;gap:8px;padding:8px 14px}.search-input{background-color:#f0f2f5;border:none;border-radius:8px;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;outline:none;padding:9px 12px;position:relative;transition:background-color .2s}.search-input:focus{background-color:#fff;box-shadow:0 0 0 1px #00a884}.search-input::placeholder{color:#667781}.search-by-id{background-color:#fff3cd}.search-by-id:focus{background-color:#fff;box-shadow:0 0 0 1px #ffc107}.filter-container{background-color:#fff;border-bottom:1px solid #e9edef;display:flex;flex-direction:column;gap:8px;padding:8px 14px}.filter-button{align-items:center;background-color:#f0f2f5;border:1px solid #e9edef;border-radius:8px;color:#111b21;cursor:pointer;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s;width:100%}.filter-button:hover{background-color:#e9edef;border-color:#d1d7db}.filter-button.active{background-color:#00a884;border-color:#00a884;color:#fff}.filter-button.active:hover{background-color:#06cf9c;border-color:#06cf9c}.sync-mikrowisp-button{align-items:center;background-color:#667eea;border:1px solid #667eea;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s;width:100%}.sync-mikrowisp-button:hover:not(:disabled){background-color:#5568d3;border-color:#5568d3}.sync-mikrowisp-button:disabled{cursor:not-allowed;opacity:.6}.receipts-dashboard-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px;transition:all .2s;width:100%}.receipts-dashboard-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.receipt-review-button{align-items:center;background-color:#28a745;border:1px solid #28a745;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s;width:100%}.receipt-review-button:hover{background-color:#218838;border-color:#218838}.processed-receipts-button{align-items:center;background-color:#17a2b8;border:1px solid #17a2b8;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s;width:100%}.processed-receipts-button:hover{background-color:#138496;border-color:#138496}.technical-reports-button{align-items:center;background-color:#17a2b8;border:1px solid #17a2b8;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s;width:100%}.technical-reports-button:hover{background-color:#138496;border-color:#138496}.technical-reports-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.technical-reports-overlay-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;height:95%;position:relative;width:95%}@media (max-width:768px){.chat-panel{flex-direction:column;overflow:hidden;position:relative}.top-horizontal-menu{-webkit-overflow-scrolling:touch;flex-direction:column;gap:8px;overflow-x:auto;padding:8px 12px}.menu-left,.menu-right{flex-wrap:wrap;gap:6px;justify-content:flex-start;width:100%}.menu-button{-webkit-tap-highlight-color:transparent;flex:0 1 auto;font-size:13px;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 12px;touch-action:manipulation;white-space:nowrap}.menu-button:active{background-color:#d1d7db;transform:scale(.97)}.mobile-hamburger-menu{-webkit-tap-highlight-color:transparent;align-items:center;background-color:#00a884;border:none;border-radius:8px;box-shadow:0 2px 8px #00a88466;color:#fff;cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;left:10px;position:fixed;top:10px;touch-action:manipulation;transition:all .2s;width:44px;z-index:1001}.mobile-hamburger-menu:hover{background-color:#06cf9c;transform:scale(1.05)}.mobile-hamburger-menu:active{transform:scale(.95)}.mobile-menu-overlay{animation:fadeIn .2s ease;background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu-dropdown{animation:slideInLeft .3s ease;background-color:#fff;box-shadow:2px 0 20px #0000004d;display:flex;flex-direction:column;height:100vh;left:0;max-width:85%;overflow-y:auto;position:fixed;top:0;width:280px;z-index:1001}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.mobile-menu-header{align-items:center;background-color:#f0f2f5;border-bottom:1px solid #e9edef;display:flex;flex-shrink:0;justify-content:space-between;padding:16px}.mobile-menu-close{align-items:center;background:none;border:none;border-radius:50%;color:#667781;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:background-color .2s;width:36px}.mobile-menu-close:hover{background-color:#e9edef}.mobile-menu-items{flex:1 1;overflow-y:auto;padding:8px 0}.mobile-menu-item{align-items:center;background:none;border:none;color:#111b21;cursor:pointer;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:15px;gap:12px;padding:14px 20px;text-align:left;transition:background-color .2s;width:100%}.mobile-menu-item:hover{background-color:#f5f6f6}.mobile-menu-item:active{background-color:#e9edef}.mobile-menu-item:disabled{cursor:not-allowed;opacity:.6}.mobile-menu-item-logout{border-top:1px solid #e9edef;color:#dc3545;margin-top:8px;padding-top:16px}.mobile-menu-item-logout:hover{background-color:#fff5f5}.mobile-contacts-view{background-color:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.mobile-contacts-header-simple{align-items:center;background-color:#f0f2f5;border-bottom:1px solid #e9edef;display:flex;flex-shrink:0;justify-content:center;padding:12px 16px}.mobile-contacts-view .search-container{flex-shrink:0;padding:10px 16px}.mobile-contacts-view .filter-container{flex-shrink:0;padding:8px 16px}.mobile-contacts-list-centered{display:flex;flex:1 1;flex-direction:column;max-width:100%;overflow-y:auto;padding:0;width:100%}.mobile-contacts-list-centered .contact-list{padding:0;width:100%}.mobile-contacts-list-centered .contact-item{margin:0;max-width:100%;padding:12px 16px;width:100%}.mobile-chat-view{background-color:#fff;display:flex;flex-direction:column;height:100%;width:100%}.chat-sidebar{display:none}.chat-main{height:100%}.chat-sidebar.hidden-mobile,.chat-sidebar.show-mobile{display:none}.mobile-sidebar-overlay{animation:fadeInOverlay .3s ease forwards;background-color:#00000080;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:999}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.mobile-menu-button{align-items:center;background-color:#00a884;border:none;border-radius:50%;box-shadow:0 4px 12px #00a88466;color:#fff;cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;left:15px;position:fixed;top:60px;touch-action:manipulation;transition:all .2s cubic-bezier(.4,0,.2,1);width:48px;z-index:1001}.mobile-menu-button:hover{background-color:#06cf9c;box-shadow:0 6px 16px #00a88480;transform:scale(1.05)}.mobile-menu-button:active{transform:scale(.95)}.mobile-drawer-close{align-items:center;background:none;border:none;border-radius:50%;color:#667781;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .2s;width:40px;z-index:1001}.mobile-drawer-close:hover{background-color:#0000000d;color:#111b21}.mobile-drawer-close:active{transform:scale(.9)}.chat-main{height:100vh;position:relative;width:100%;z-index:1}.chat-main.hidden-mobile{display:none}.mobile-submenu{animation:slideDown .3s ease;background-color:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submenu-button{align-items:center;background-color:#fff;border:1px solid #e9edef;border-radius:8px;color:#111b21;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px;text-align:left;transition:all .2s;width:100%}.submenu-button:hover{background-color:#f0f2f5;border-color:#d1d7db}.submenu-button:active{transform:scale(.98)}.submenu-button:disabled{cursor:not-allowed;opacity:.6}.mobile-contacts-fullscreen{animation:slideInRight .3s cubic-bezier(.4,0,.2,1);background-color:#fff;bottom:0;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;right:0;top:0;width:100%;z-index:1001}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.mobile-contacts-header{align-items:center;background-color:#00a884;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;gap:15px;padding:15px}.mobile-contacts-header h2{flex:1 1;font-size:20px;font-weight:500;margin:0}.mobile-contacts-back{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;padding:8px;transition:background-color .2s;width:40px}.mobile-contacts-back:hover{background-color:#ffffff1a}.mobile-contacts-back:active{transform:scale(.95)}.mobile-contacts-search{background-color:#f0f2f5;border-bottom:1px solid #e9edef;padding:10px 15px}.mobile-contacts-search .search-input{background-color:#fff;border:none;border-radius:8px;font-size:14px;outline:none;padding:10px 40px 10px 50px;width:100%}.mobile-contacts-list{flex:1 1;overflow-x:hidden;overflow-y:auto}.sidebar-header{padding:60px 12px 8px}.user-name{font-size:14px}.user-role{font-size:12px}.search-container{padding:6px 10px}.search-input{font-size:13px;padding:8px 28px 8px 50px}.filter-container{padding:6px 10px}.filter-button{font-size:13px;padding:8px}.contact-item{padding:10px 12px}.contact-name{font-size:14px}.contact-preview{font-size:12px}.technical-reports-overlay-content{border-radius:0;height:100%;width:100%}.close-technical-reports{font-size:12px;padding:6px 12px;right:5px;top:5px}}.close-technical-reports{background-color:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:8px 15px;position:absolute;right:10px;top:10px;z-index:1001}.close-technical-reports:hover{background-color:#c82333}.failed-receipts-button{align-items:center;background-color:#ffc107;border:1px solid #ffc107;border-radius:8px;color:#333;cursor:pointer;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s;width:100%}.failed-receipts-button:hover{background-color:#e0a800;border-color:#e0a800}.pending-messages-button{align-items:center;background-color:#17a2b8;border:1px solid #17a2b8;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:all .2s;width:100%}.pending-messages-button:hover{background-color:#138496;border-color:#138496}.new-chat-button-container{background-color:#fff;border-bottom:1px solid #e9edef;padding:8px 14px}.new-chat-button{background-color:#00a884;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;font-weight:500;padding:12px;transition:background-color .2s;width:100%}.new-chat-button:hover{background-color:#06cf9c}.chat-main{background-color:#fff}.chat-main,.no-chat-selected{display:flex;flex:1 1;flex-direction:column}.no-chat-selected{align-items:center;color:#666;justify-content:center}.no-chat-icon{font-size:64px;margin-bottom:16px}.no-chat-selected h2{color:#333;font-size:24px;margin-bottom:8px}.no-chat-selected p{color:#999;font-size:14px}.technician-portal{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;text-align:center;width:100%}.login-card h1{color:#667eea;font-size:28px;margin:0 0 10px}.login-card p{color:#666;margin-bottom:30px}.login-form{display:flex;flex-direction:column;gap:15px}.access-code-input{border:2px solid #ddd;border-radius:8px;font-size:18px;font-weight:700;letter-spacing:8px;padding:15px;text-align:center;text-transform:uppercase}.access-code-input:focus{border-color:#667eea;outline:none}.btn-login{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:15px;transition:transform .2s}.btn-login:hover:not(:disabled){transform:translateY(-2px)}.btn-login:disabled{cursor:not-allowed;opacity:.6}.portal-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px 30px}.portal-header h1{color:#667eea;font-size:24px;margin:0}.portal-header p{color:#666;margin:5px 0 0}.technician-points{align-items:center;display:flex;gap:10px;margin-top:10px}.points-badge{border-radius:20px;font-size:16px;font-weight:700;padding:8px 15px}.points-badge.positive{background-color:#28a745;color:#fff}.points-badge.negative{background-color:#dc3545;color:#fff}.points-details{color:#666;font-size:12px}.btn-logout{background-color:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px}.btn-logout:hover{background-color:#c82333}.portal-content{margin:0 auto;max-width:1200px}.filters-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px;padding:20px}.filter-select{border:1px solid #ddd;border-radius:8px;font-size:14px;max-width:300px;padding:10px 15px;width:100%}.reports-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:20px}.reports-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.report-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;padding:20px;transition:all .3s}.report-card:hover{border-color:#667eea;box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.report-card.selected{background:#f8f9ff;border-color:#667eea}.report-card.overdue{animation:pulse 2s infinite;background:#fff5f5;border-color:#dc3545}.time-counter{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;margin:15px 0;padding:15px;text-align:center}.time-counter.overdue{animation:pulse-red 1s infinite;background:linear-gradient(135deg,#dc3545,#c82333)}.time-counter.scheduled{background:linear-gradient(135deg,#17a2b8,#138496)}@keyframes pulse-red{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.time-overdue,.time-remaining,.time-scheduled{align-items:center;display:flex;flex-direction:column;gap:5px}.time-label{color:#ffffffe6;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.time-value{color:#fff;font-family:Courier New,monospace;font-size:48px;font-weight:700;line-height:1;text-shadow:2px 2px 4px #0000004d}.time-value.overdue{animation:blink 1s infinite;color:#ffeb3b}.time-value.scheduled{color:#fff}@keyframes blink{0%,to{opacity:1}50%{opacity:.7}}.time-limit-info{color:#fffc;font-size:12px;margin-top:8px}.completion-status{border-radius:8px;font-weight:700;margin:10px 0;padding:10px;text-align:center}.completion-status.on-time{background-color:#d4edda;border:2px solid #28a745;color:#155724}.completion-status.late{background-color:#f8d7da;border:2px solid #dc3545;color:#721c24}.report-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.report-ticket{color:#667eea;font-size:16px;font-weight:700}.report-status{border-radius:20px;color:#fff;font-size:12px;font-weight:700;padding:5px 12px;text-transform:uppercase}.report-body{margin-bottom:15px}.report-title{color:#333;font-size:18px;font-weight:700;margin-bottom:10px}.report-client,.report-date,.report-phone{color:#666;font-size:14px;margin-bottom:5px}.report-description{color:#888;font-size:14px;line-height:1.5;margin-top:10px}.report-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;margin-top:15px;padding-top:15px}.btn-action{border-radius:8px;color:#fff;flex:1 1;font-size:14px;font-weight:700;padding:10px;transition:opacity .3s}.btn-action:hover{opacity:.8}.empty-message,.loading-message{color:#666;font-size:18px;padding:60px 20px;text-align:center}@media (max-width:768px){.technician-portal{padding:10px}.login-card{margin:10px;padding:30px 20px}.login-card h1{font-size:24px}.access-code-input{font-size:16px;letter-spacing:4px;padding:12px}.btn-login{font-size:14px;padding:12px}.portal-header{align-items:flex-start;flex-direction:column;gap:15px;padding:15px 20px}.portal-header h1{font-size:20px}.portal-header p{font-size:14px}.technician-points{align-items:flex-start;flex-direction:column;gap:5px}.points-badge{font-size:14px;padding:6px 12px}.points-details{font-size:11px}.btn-logout{font-size:14px;padding:10px;width:100%}.portal-content{max-width:100%}.filters-section{padding:15px}.filter-select{font-size:14px;padding:10px}.reports-section{padding:15px}.reports-list{gap:15px;grid-template-columns:1fr}.report-card{padding:15px}.report-header{flex-wrap:wrap;gap:10px}.report-ticket{font-size:14px}.report-status{font-size:11px;padding:4px 10px}.time-counter{margin:10px 0;padding:12px}.time-value{font-size:36px}.time-label{font-size:12px}.time-limit-info{font-size:11px}.report-title{font-size:16px}.report-client,.report-date,.report-description,.report-phone{font-size:13px}.report-actions{flex-direction:column;gap:8px}.btn-action{font-size:14px;padding:12px;width:100%}.completion-modal{max-width:450px;width:95%}.completion-modal-header{padding:15px}.completion-modal-header h3{font-size:18px}.completion-modal-body{padding:15px}.completion-modal-footer{flex-direction:column;padding:15px}.btn-cancel,.btn-confirm{width:100%}}.completion-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.completion-modal{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.completion-modal-header{align-items:center;background-color:#28a745;border-bottom:1px solid #ffffff1a;color:#fff;display:flex;justify-content:space-between;padding:20px}.completion-modal-header h3{font-size:20px;font-weight:500;margin:0}.completion-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:5px;transition:background-color .2s;width:32px}.completion-modal-close:hover{background-color:#ffffff1a}.completion-modal-close:active{transform:scale(.9)}.completion-modal-body{flex:1 1;overflow-y:auto;padding:20px}.completion-modal-body p{color:#111b21;font-size:14px;margin:0 0 15px}.completion-comment-input{border:1px solid #e9edef;border-radius:8px;box-sizing:border-box;font-family:Segoe UI,Helvetica Neue,Helvetica,Lucida Grande,Arial,Ubuntu,Cantarell,Fira Sans,sans-serif;font-size:14px;min-height:120px;outline:none;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.completion-comment-input:focus{border-color:#28a745;box-shadow:0 0 0 2px #28a7451a}.completion-comment-input::placeholder{color:#667781}.completion-modal-footer{background-color:#f8f9fa;border-top:1px solid #e9edef;display:flex;gap:10px;justify-content:flex-end;padding:20px}.btn-cancel{background-color:#6c757d;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-cancel:hover{background-color:#5a6268}.btn-cancel:active{transform:scale(.98)}.btn-confirm{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-confirm:hover{opacity:.9}.btn-confirm:active{transform:scale(.98)}.btn-view-clients{background:linear-gradient(135deg,#17a2b8,#138496);border:none;border-radius:8px;box-shadow:0 4px 12px #17a2b84d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-view-clients:hover{box-shadow:0 6px 16px #17a2b866;transform:translateY(-2px)}.btn-view-clients:active{transform:translateY(0)}.clientes-section{padding:20px}.clientes-title{color:#333;font-size:28px;margin-bottom:20px;text-align:center}.clientes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.cliente-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:20px;transition:all .3s}.cliente-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.cliente-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.cliente-header h3{color:#333;font-size:20px;margin:0}.cliente-cedula{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;font-size:14px;font-weight:600;padding:6px 12px}.cliente-imagen{background-color:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;margin:15px 0;overflow:hidden}.cliente-imagen img{display:block;height:auto;max-height:250px;object-fit:contain;width:100%}.cliente-info p{color:#555;font-size:14px;margin:10px 0}.cliente-info strong{color:#333}.gps-link{color:#17a2b8;font-weight:600;margin-left:8px;text-decoration:none}.gps-link:hover{text-decoration:underline}.cliente-fecha{border-top:1px solid #f0f0f0;color:#888;font-size:13px;margin-top:15px;padding-top:15px}.header-actions{align-items:center;gap:10px}.btn-register-client{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-register-client:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.btn-register-client:active{transform:translateY(0)}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.cliente-registro-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.cliente-registro-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.modal-header h2{font-size:24px;margin:0}.btn-close{background:#fff3;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:24px;padding:5px 15px;transition:all .3s}.btn-close:hover{background:#ffffff4d;transform:scale(1.1)}.cliente-form{padding:20px}.form-section{background:#f9f9f9;border-left:4px solid #667eea;border-radius:8px;margin-bottom:25px;padding:15px}.form-section h3{color:#667eea;font-size:18px;margin:0 0 15px}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:600;margin-bottom:5px}.form-group input,.form-group textarea{border:2px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px;transition:all .3s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.btn-camera,.btn-gps{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:all .3s;width:100%}.btn-camera:hover,.btn-gps:hover{background:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.btn-camera:disabled,.btn-gps:disabled{background:#ccc;cursor:not-allowed;transform:none}.camera-video{background:#000;border-radius:8px 8px 0 0;display:block;max-height:600px;min-height:400px;object-fit:cover;width:100%}.camera-controls{background:#f0f0f0;display:flex;gap:10px;padding:10px}.btn-cancel-camera,.btn-capture{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .3s}.btn-capture{background:#28a745;color:#fff}.btn-capture:hover{background:#218838}.btn-cancel-camera{background:#dc3545;color:#fff}.btn-cancel-camera:hover{background:#c82333}.preview-image{margin-top:15px;text-align:center}.preview-image img{border:2px solid #28a745;border-radius:8px;max-height:300px;max-width:100%}.preview-image p{color:#28a745;font-weight:600;margin-top:10px}.gps-status{background:#e7f3ff;border-left:4px solid #2196f3;color:#0c5460;padding:10px}.gps-info,.gps-status{border-radius:4px;margin-top:10px}.gps-info{background:#d4edda;border-left:4px solid #28a745;padding:15px}.gps-info p{color:#155724;margin:5px 0}.btn-show-map{background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-top:10px;padding:8px 16px;transition:all .3s}.btn-show-map:hover{background:#138496;transform:translateY(-2px)}.map-container{background:#f8f9fa;border:2px solid #17a2b8;border-radius:8px;margin-top:15px;padding:15px}.map-instructions{background:#d1ecf1;border-left:4px solid #0c5460;color:#0c5460;margin-bottom:10px}.map-coords,.map-instructions{border-radius:4px;font-weight:600;padding:10px}.map-coords{background:#fff3cd;border-left:4px solid #856404;color:#856404;margin-top:10px}.leaflet-container{z-index:1}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{flex:1 1;padding-right:50px}.btn-toggle-password{background:none;border:none;cursor:pointer;font-size:20px;padding:5px;position:absolute;right:10px}.form-actions{border-top:2px solid #e0e0e0;display:flex;gap:10px;margin-top:20px;padding-top:20px}.btn-cancel,.btn-submit{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:15px;transition:all .3s}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-submit{background:#28a745;color:#fff}.btn-submit:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.btn-cancel:disabled,.btn-submit:disabled{background:#ccc;cursor:not-allowed;transform:none}@media (max-width:768px){.cliente-registro-modal{margin:10px;max-width:100%}.modal-header h2{font-size:20px}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.cedula-guide{left:50%;max-width:500px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:80%;z-index:10}.cedula-frame{background:#0000;border:3px solid #0f0;border-radius:12px;box-shadow:0 0 0 2000px #00000080;padding-top:62.95%;position:relative;transition:all .3s ease;width:100%}.cedula-frame.detectada{animation:parpadeo .8s ease-in-out infinite;border-color:#0f0;box-shadow:0 0 0 2000px #00000080,0 0 30px #0f0c,inset 0 0 30px #00ff004d}@keyframes parpadeo{0%,to{border-width:3px;box-shadow:0 0 0 2000px #00000080,0 0 30px #0f0c,inset 0 0 30px #00ff004d}50%{border-width:5px;box-shadow:0 0 0 2000px #00000080,0 0 50px #0f0,inset 0 0 50px #00ff0080}}.cedula-frame:before{border:2px dashed #0f0;border-radius:8px;bottom:10px;content:"";left:10px;position:absolute;right:10px;top:10px}.guide-text{background:#0009;border-radius:8px;color:#fff;font-size:16px;font-weight:600;margin-top:15px;padding:10px;text-align:center;text-shadow:2px 2px 4px #000c}.camera-container{border:2px solid #667eea;border-radius:8px;margin-top:15px;overflow:hidden;position:relative}.ocr-processing{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;margin-top:15px;padding:20px;text-align:center}.progress-bar{background:#fff3;border-radius:15px;height:30px;margin:15px 0;overflow:hidden;width:100%}.progress-fill{align-items:center;background:linear-gradient(90deg,#0f8,#0c6);color:#fff;display:flex;font-weight:700;height:100%;justify-content:center;transition:width .3s ease}.countdown-overlay{animation:pulso 1s ease-in-out infinite;background:#00ff00e6;border-radius:20px;box-shadow:0 0 50px #0f0c;color:#fff;font-size:80px;font-weight:700;left:50%;padding:30px 50px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:20}@keyframes pulso{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.ocr-processing p{font-size:16px;font-weight:600;margin:5px 0}@media (max-width:768px){.cedula-guide{width:90%}.guide-text{font-size:14px;padding:8px}}.map-modal-overlay{align-items:center;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.map-modal-container{background:#fff;border-radius:12px;box-shadow:0 10px 50px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.map-modal-header{align-items:center;background:linear-gradient(135deg,#17a2b8,#138496);border-bottom:2px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.map-modal-header h3{font-size:22px;margin:0}.map-modal-content{flex:1 1;overflow-y:auto;padding:20px}.map-modal-instructions{background:#d1ecf1;border-left:4px solid #0c5460;border-radius:6px;color:#0c5460;font-size:15px;font-weight:600;margin-bottom:15px;padding:12px}.map-modal-coords{background:#fff3cd;border-left:4px solid #856404;border-radius:6px;margin-top:15px;padding:15px}.map-modal-coords p{color:#856404;font-weight:600;margin:5px 0}.map-modal-buttons{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:2px solid #e0e0e0;display:flex;gap:15px;padding:20px}.btn-map-accept,.btn-map-cancel{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px;transition:all .3s}.btn-map-cancel{background:#6c757d;color:#fff}.btn-map-cancel:hover{background:#5a6268;transform:translateY(-2px)}.btn-map-accept{background:#28a745;color:#fff}.btn-map-accept:hover{background:#218838;box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}body,html{-webkit-overflow-scrolling:touch;height:100%;margin:0;padding:0}#root,body,html{overflow-y:auto;touch-action:manipulation}#root,.wifi-management{overflow-x:hidden}.wifi-management{-webkit-overflow-scrolling:touch;background:#000;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;height:auto;min-height:100vh;overflow-y:auto;overscroll-behavior-y:contain;padding:20px 20px 150px;position:relative;touch-action:pan-y}.wifi-management:before{animation:pulseGradient 8s ease-in-out infinite;background:radial-gradient(circle at 20% 50%,#667eea26 0,#0000 50%),radial-gradient(circle at 80% 80%,#764ba226 0,#0000 50%),radial-gradient(circle at 40% 20%,#00c8ff1a 0,#0000 50%)}.wifi-management:after,.wifi-management:before{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.wifi-management:after{animation:gridMove 20s linear infinite;background-image:linear-gradient(90deg,#667eea08 1px,#0000 0),linear-gradient(180deg,#667eea08 1px,#0000 0);background-size:50px 50px}.wifi-container{-webkit-overflow-scrolling:touch;margin:0 auto;max-width:600px;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding-bottom:100px;position:relative;touch-action:manipulation;width:100%;z-index:1}.wifi-header{animation:fadeIn .5s ease-in;color:#fff;margin-bottom:30px;position:relative;text-align:center;text-shadow:0 0 20px #667eea80;z-index:1}.wifi-icon{font-size:64px;margin-bottom:10px}.wifi-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#00c8ff);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin:10px 0}.client-name{font-size:18px;margin:5px 0;opacity:.9}.wifi-card{-webkit-overflow-scrolling:touch;animation:slideUp .5s ease-out,glowPulse 3s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141ef2;border:1px solid #667eea4d;border-radius:20px;box-shadow:0 10px 40px #0009,0 0 0 1px #667eea1a,inset 0 0 20px #667eea0d;margin-bottom:20px;overflow-x:hidden;overflow-y:visible;position:relative;touch-action:manipulation}.wifi-card:before{animation:borderShine 3s linear infinite;background:linear-gradient(45deg,#0000 30%,#667eea1a 50%,#0000 70%);background-size:200% 200%;border-radius:20px;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px;z-index:-1}.card-header{align-items:center;border-bottom:1px solid #667eea33;display:flex;justify-content:space-between;padding:20px}.card-header h2{color:#fff;color:#333;font-size:20px;font-weight:600;margin:0;text-shadow:0 0 10px #667eea80}.card-body{padding:20px}.devices-count{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:30px;text-align:center}.count-number{display:block;font-size:48px;font-weight:700;margin-bottom:10px}.count-label{font-size:18px;opacity:.9}.devices-list{margin-top:20px}.device-item{border-bottom:1px solid #f0f0f0;padding:12px;transition:background .2s}.device-item:hover{background:#f8f8f8}.device-item:last-child{border-bottom:none}.device-icon{margin-right:12px}.device-mac{color:#666;font-size:14px}.device-name{color:#999;font-size:12px;margin-top:2px}.display-value{align-items:center;display:flex;justify-content:space-between}.value-text{color:#333;font-size:24px;font-weight:600;word-break:break-all}.password-field{font-family:monospace;letter-spacing:2px}.btn-edit,.btn-toggle-password{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.btn-edit:hover,.btn-toggle-password:hover{background:#5568d3;transform:translateY(-2px)}.edit-form{animation:fadeIn .3s ease-in}.input-field{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e2dcc;border:2px solid #667eea4d;border-radius:12px;box-sizing:border-box;color:#fff;font-size:16px;margin-bottom:10px;padding:14px;transition:all .3s;width:100%}.input-field:focus{background:#1e1e2d;border-color:#667eea;box-shadow:0 0 20px #667eea66;outline:none}.input-field::placeholder{color:#fff6}.char-counter{color:#ffffff80;font-size:12px;margin-bottom:10px;text-align:right;text-shadow:0 0 5px #667eea4d}.password-hint{background:#f0f7ff;border-radius:8px;color:#1976d2;font-size:14px;margin-bottom:15px;padding:12px}.button-group{display:flex;gap:10px}.btn-cancel,.btn-save{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px;transition:all .3s}.btn-save{background:#4caf50;color:#fff}.btn-save:hover:not(:disabled){background:#45a049;transform:translateY(-2px)}.btn-save:disabled{background:#ccc;cursor:not-allowed}.btn-cancel{background:#f0f0f0;color:#666}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.wifi-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141ef2;border:1px solid #667eea4d;border-radius:20px;box-shadow:0 10px 40px #0009,0 0 0 1px #667eea1a;color:#fffc;padding:20px}.info-row{padding:10px 0}.info-row.expiry{color:#ff9800;font-weight:600}.info-label,.info-value{font-size:14px}.info-value{font-weight:600}.info-icon{margin-right:8px}.alert{animation:slideDown .3s ease-out;border-radius:8px;font-weight:500;margin-bottom:20px;padding:15px 20px}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.spinner{border:4px solid #ffffff4d;border-top-color:#fff}.error-page{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;padding:60px 20px;text-align:center}.error-icon{font-size:64px;margin-bottom:20px}.error-page h2{color:#d32f2f;margin-bottom:10px}.error-page p{color:#666;margin-bottom:20px}.btn-retry{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s}.btn-retry:hover{background:#5568d3;transform:translateY(-2px)}.apply-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;min-height:54px;overflow:hidden;padding:16px 32px;position:relative;transition:all .2s ease;width:100%}@keyframes buttonPulse{0%,to{box-shadow:0 4px 12px #667eea4d}50%{box-shadow:0 6px 16px #667eea66}}.apply-button .button-icon{display:inline-block;font-size:20px;transition:transform .3s ease}.apply-button .button-icon.spinning{animation:spin 1s linear infinite}.apply-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .5s;width:100%}.apply-button:hover:not(:disabled):before{left:100%}.apply-button:hover:not(:disabled){box-shadow:0 8px 20px #667eea80;transform:translateY(-2px)}.apply-button:hover:not(:disabled) .button-icon{transform:scale(1.1)}.apply-button:active:not(:disabled){box-shadow:0 2px 8px #667eea66;transform:translateY(0)}.apply-button:disabled{background:linear-gradient(135deg,#ccc,#999);box-shadow:none;cursor:not-allowed;opacity:.6}.success-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.success-modal{animation:slideUp .4s cubic-bezier(.4,0,.2,1);background:linear-gradient(145deg,#1a1a2e,#16213e);border:2px solid #667eea4d;border-radius:24px;box-shadow:0 20px 60px #00000080,0 0 100px #667eea4d;max-width:500px;overflow:hidden;padding:40px 30px;position:relative;width:100%}.success-modal:before{animation:rotate 20s linear infinite;background:radial-gradient(circle,#667eea1a 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.success-icon-container{margin-bottom:20px;position:relative;text-align:center;z-index:1}.success-checkmark{animation:scaleIn .6s cubic-bezier(.68,-.55,.265,1.55);display:inline-block;filter:drop-shadow(0 0 20px rgba(102,234,126,.8));font-size:80px}@keyframes scaleIn{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{transform:scale(1.2) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.success-title{color:#fff;font-size:32px;font-weight:700;margin:0 0 10px;text-shadow:0 0 20px #667eea80}.success-subtitle,.success-title{position:relative;text-align:center;z-index:1}.success-subtitle{color:#fffc;font-size:16px;margin:0 0 30px}.success-divider{background:linear-gradient(90deg,#0000,#667eea80 50%,#0000);height:2px;margin:0 0 30px;position:relative;width:100%;z-index:1}.success-details{background:#0000004d;border:1px solid #667eea33;border-radius:16px;margin-bottom:25px;padding:25px;position:relative;z-index:1}.details-title{color:#ffffffe6;font-size:18px;font-weight:600;margin:0 0 20px;text-align:center}.detail-item{align-items:center;background:#667eea1a;border:1px solid #667eea33;border-radius:12px;display:flex;gap:15px;margin-bottom:12px;padding:15px;transition:all .3s ease}.detail-item:last-child{margin-bottom:0}.detail-item:hover{background:#667eea26;border-color:#667eea66;transform:translateX(5px)}.detail-icon{filter:drop-shadow(0 0 10px rgba(102,126,234,.6));flex-shrink:0;font-size:28px}.detail-content{display:flex;flex-direction:column;flex-grow:1;gap:5px}.detail-label{color:#fff9;font-size:12px;letter-spacing:1px;text-transform:uppercase}.detail-value{color:#fff;font-size:18px;font-weight:700;word-break:break-all}.success-footer{margin-bottom:25px;position:relative;z-index:1}.reconnect-notice{align-items:center;animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ffc10726,#ff980026);border:1px solid #ffc1074d;border-radius:12px;color:#ffc107;display:flex;font-size:14px;font-weight:600;gap:10px;justify-content:center;padding:15px}.notice-icon{animation:rotate 2s linear infinite;font-size:20px}.close-modal-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:1px;padding:16px;position:relative;text-transform:uppercase;transition:all .3s ease;width:100%;z-index:1}.close-modal-button:hover{background:linear-gradient(135deg,#5568d3,#6a3d8f);box-shadow:0 6px 20px #667eea99;transform:translateY(-2px)}.close-modal-button:active{box-shadow:0 2px 10px #667eea66;transform:translateY(0)}@media (max-width:640px){.wifi-management{padding:10px}.wifi-header h1{font-size:24px}.wifi-icon{font-size:48px}.card-header h2,.value-text{font-size:18px}.count-number{font-size:36px}.button-group{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.wifi-section{background:#1e1e2d80;border:1px solid #667eea33;border-radius:16px;margin-bottom:25px;padding:20px;position:relative;transition:all .3s ease}.wifi-section:hover{border-color:#667eea66;box-shadow:0 5px 20px #667eea33}.section-header{margin-bottom:15px}.section-header h3{color:#fff;font-size:18px;font-weight:600;margin:0;text-shadow:0 0 10px #667eea80}.devices-list{display:flex;flex-direction:column;gap:20px;margin-top:25px;width:100%}.device-card{background:linear-gradient(145deg,#1e1e2df2,#16213ef2);overflow:hidden;position:relative}.device-card:before{background:#667eea;background:var(--signal-color,#667eea);box-shadow:0 0 20px #667eea;box-shadow:0 0 20px var(--signal-color,#667eea);content:"";height:4px;left:0;position:absolute;right:0;top:0}.wifi-input{background:#0f0f19e6;border:2px solid #667eea66;border-radius:12px;box-sizing:border-box;color:#fff;font-size:18px;font-weight:500;margin-bottom:10px;padding:16px;transition:all .3s;width:100%}.wifi-input:focus{background:#0f0f19;border-color:#667eea;box-shadow:0 0 25px #667eea80;outline:none}.wifi-input::placeholder{color:#ffffff4d}.wifi-content{-webkit-overflow-scrolling:touch;padding:20px;touch-action:manipulation}.device-model,.info-text{color:#ffffffb3;font-size:14px}.info-text{line-height:1.6}.link-info{color:#00c8ffcc;font-size:14px;margin-top:10px}.warning{color:#ff9800}.no-devices{color:#ffffff80;padding:30px;text-align:center}.device-item{align-items:center;background:#1e1e2d99;border:1px solid #667eea33;border-radius:12px;display:flex;margin-bottom:10px;padding:15px;transition:all .3s}.device-item:hover{background:#282837cc;border-color:#667eea80;transform:translateX(5px)}.devices-counter{background:linear-gradient(135deg,#667eea4d,#764ba24d);border:3px solid #667eea80;border-radius:25px;box-shadow:0 15px 50px #667eea66,0 0 30px #667eea33;margin-bottom:30px;padding:40px 30px;text-align:center}.devices-counter h2{color:#fff;font-size:42px;font-weight:800;letter-spacing:2px;margin:0 0 25px;text-shadow:0 0 30px #667eeacc;text-transform:uppercase}.counter-badge{align-items:center;animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 15px 60px #667eeab3,0 0 0 15px #667eea33,0 0 0 30px #667eea1a;color:#fff;display:inline-flex;font-size:96px;font-weight:900;height:160px;justify-content:center;margin:0 auto;width:160px}@keyframes pulse{0%,to{box-shadow:0 15px 60px #667eeab3,0 0 0 15px #667eea33,0 0 0 30px #667eea1a;transform:scale(1)}50%{box-shadow:0 20px 80px #667eeae6,0 0 0 20px #667eea4d,0 0 0 40px #667eea26;transform:scale(1.08)}}.device-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141ef2;border:2px solid #667eea4d;border-radius:20px;box-shadow:0 10px 30px #00000080,0 0 0 1px #667eea1a;margin-bottom:20px;padding:25px;transition:all .3s ease}.device-card:hover{border-color:#667eea80;box-shadow:0 15px 40px #000000b3,0 0 30px #667eea4d;transform:translateY(-5px)}.device-header{align-items:center;display:flex;margin-bottom:20px}.device-icon-large{filter:drop-shadow(0 0 10px rgba(102,126,234,.5));font-size:48px;margin-right:20px}.device-details{flex:1 1}.device-name-large{color:#fff;font-size:24px;font-weight:700;margin-bottom:8px;text-shadow:0 0 10px #667eea4d}.device-mac-large{color:#00c8ffcc;font-family:Courier New,monospace;font-size:16px;font-weight:600;letter-spacing:1px}.device-status{margin:20px 0;text-align:center}.status-badge{animation:statusPulse 2s ease-in-out infinite;background:#4caf5033;border:2px solid #4caf50;border-radius:30px;box-shadow:0 5px 20px #4caf504d,0 0 20px #4caf5033;color:#4caf50;display:inline-block;font-size:18px;padding:12px 30px}@keyframes statusPulse{0%,to{box-shadow:0 5px 20px #4caf504d,0 0 20px #4caf5033}50%{box-shadow:0 5px 25px #4caf5080,0 0 30px #4caf5066}}.device-signal{background:#0000004d;border-radius:15px;margin:25px 0;padding:20px;text-align:center}.signal-label{color:#fffc;font-size:16px;font-weight:600;letter-spacing:1px;margin-bottom:15px;text-transform:uppercase}.signal-bars{align-items:flex-end;display:flex;gap:8px;height:60px;justify-content:center;margin-bottom:10px}.signal-bar{border-radius:5px 5px 0 0;position:relative;transition:all .3s ease;width:20px}.signal-bar:first-child{height:20%}.signal-bar:nth-child(2){height:40%}.signal-bar:nth-child(3){height:60%}.signal-bar:nth-child(4){height:80%}.signal-bar.active{animation:signalPulse 1.5s ease-in-out infinite}@keyframes signalPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(.9)}}.signal-value{font-size:20px;font-weight:700;margin-top:10px;text-shadow:0 0 10px currentColor}.device-ip{background:#667eea1a;border-radius:10px;margin-top:15px;padding:12px;text-align:center}.ip-label{color:#ffffffb3;font-weight:600;margin-right:8px}.device-ip{color:#00c8ffe6;font-family:Courier New,monospace;font-size:16px;font-weight:600}.device-card.signal-excellent{--signal-color:#4caf50;border-color:#4caf5099}.device-card.signal-excellent:hover{box-shadow:0 15px 40px #4caf504d,0 0 30px #4caf5066}.device-card.signal-high{--signal-color:#8bc34a;border-color:#8bc34a99}.device-card.signal-high:hover{box-shadow:0 15px 40px #8bc34a4d,0 0 30px #8bc34a66}.device-card.signal-medium{--signal-color:#ffc107;border-color:#ffc10799}.device-card.signal-medium:hover{box-shadow:0 15px 40px #ffc1074d,0 0 30px #ffc10766}.device-card.signal-low{--signal-color:#ff9800;border-color:#ff980099}.device-card.signal-low:hover{box-shadow:0 15px 40px #ff98004d,0 0 30px #ff980066}.device-card.signal-poor{--signal-color:#f44336;border-color:#f4433699}.device-card.signal-poor:hover{box-shadow:0 15px 40px #f443364d,0 0 30px #f4433666}.device-icon{font-size:24px;margin-right:15px}.device-info{flex:1 1}.device-name{color:#fff;font-weight:500;margin-bottom:5px}.device-mac{color:#00c8ffb3;font-family:monospace;font-size:13px}.device-count{background:#667eea4d;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:5px 15px}.devices-list{margin-top:15px}.error-message{color:#ff6b6b;padding:40px;text-align:center}.error-message h2{color:#ff6b6b}.error-message p{color:#ffffffb3}.loading{color:#fff;padding:60px 20px;text-align:center}.spinner{border:4px solid #667eea4d;height:50px;margin:0 auto 20px;width:50px}body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}body,html{overflow-x:hidden}body,html{height:auto;min-height:100%;width:100%}#root{height:auto;min-height:100vh}@media (max-width:768px){.wifi-management{-webkit-overflow-scrolling:touch!important;height:auto;min-height:auto;overflow:visible!important;padding-bottom:200px;touch-action:auto!important}.wifi-container{padding:10px 10px 150px}.wifi-header h1{font-size:24px}.wifi-icon{font-size:48px}.devices-counter{padding:25px 20px}.devices-counter h2{font-size:28px}.counter-badge{font-size:72px;height:120px;width:120px}.device-card{margin-bottom:15px;padding:20px}.device-icon-large{font-size:40px}.device-name-large{font-size:20px}.device-mac-large{font-size:14px}.status-badge{font-size:16px;padding:10px 25px}.signal-bars{height:50px}.signal-bar{width:16px}.wifi-input{font-size:16px}.apply-button{font-size:18px;padding:18px 35px}}@media (max-width:480px){.wifi-management{padding:15px}.wifi-header h1{font-size:20px}.devices-counter h2{font-size:24px}.counter-badge{font-size:60px;height:100px;width:100px}.device-name-large{font-size:18px}.device-mac-large{font-size:13px}}.apply-button-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;box-shadow:0 8px 20px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:700;gap:12px;justify-content:center;letter-spacing:.5px;margin-bottom:15px;padding:18px 32px;text-transform:none;transition:all .3s ease;width:100%}.apply-button-large:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a3d8f);box-shadow:0 12px 30px #667eea99;transform:translateY(-3px)}.apply-button-large:active:not(:disabled){box-shadow:0 4px 15px #667eea80;transform:translateY(-1px)}.apply-button-large:disabled{background:linear-gradient(135deg,#ccc,#999);box-shadow:none;cursor:not-allowed;opacity:.6}.back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease;width:100%}.back-button:hover:not(:disabled){background:#ffffff26;border-color:#ffffff80;box-shadow:0 4px 12px #fff3;transform:translateY(-2px)}.back-button:active:not(:disabled){transform:translateY(0)}.back-button:disabled{cursor:not-allowed;opacity:.4}.success-screen{animation:successFadeIn .6s cubic-bezier(.4,0,.2,1);background:linear-gradient(145deg,#1e1e2df2,#16213ef2);border:2px solid #4caf504d;border-radius:24px;box-shadow:0 20px 60px #00000080,0 0 100px #4caf5033,inset 0 0 30px #4caf501a;overflow:hidden;padding:50px 30px;position:relative;text-align:center}.success-screen:before{animation:successPulse 3s ease-in-out infinite;background:radial-gradient(circle,#4caf5026 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes successFadeIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.success-icon{animation:successCheckmark .8s cubic-bezier(.68,-.55,.265,1.55);display:inline-block;filter:drop-shadow(0 0 30px rgba(76,175,80,.8));font-size:100px;margin-bottom:25px;position:relative;z-index:1}@keyframes successCheckmark{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{transform:scale(1.3) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.success-screen h2{color:#fff;font-size:38px;font-weight:800;letter-spacing:-.5px;margin:0 0 15px;position:relative;text-shadow:0 0 20px #4caf5080;z-index:1}.success-message{color:#ffffffe6;font-size:18px;font-weight:500;margin:0 0 35px;position:relative;z-index:1}.summary-box{background:#0000004d;border:2px solid #4caf504d;border-radius:20px;margin:30px 0;padding:30px;position:relative;text-align:left;z-index:1}.summary-box h3{color:#fffffff2;font-size:22px;font-weight:700;margin:0 0 20px;text-align:center;text-shadow:0 0 10px #4caf504d}.summary-item{align-items:center;background:#4caf501a;border-left:4px solid #4caf50;border-radius:12px;color:#fff;display:flex;font-size:16px;gap:10px;margin-bottom:15px;padding:18px 20px;transition:all .3s ease}.summary-item:last-child{margin-bottom:0}.summary-item:hover{background:#4caf5033;border-color:#66bb6a;box-shadow:0 4px 15px #4caf504d;transform:translateX(5px)}.summary-item strong{color:#4caf50;font-size:17px;font-weight:700;min-width:-webkit-fit-content;min-width:fit-content}.reconnect-message{animation:reconnectPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ffc10733,#ff980033);border:2px solid #ffc10780;border-radius:16px;color:#ffc107;font-size:16px;font-weight:600;margin:25px 0 0;padding:18px 24px;position:relative;z-index:1}@keyframes reconnectPulse{0%,to{box-shadow:0 4px 15px #ffc1074d}50%{box-shadow:0 6px 20px #ffc10780}}.wifi-card-modern{animation:cardFadeIn .6s ease-out;background:linear-gradient(145deg,#1e1e2f,#2a2a3e);border-radius:24px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d,inset 0 1px 0 #ffffff0d;overflow:hidden}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.wifi-header-modern{background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden;padding:32px 28px;position:relative;text-align:center}.wifi-header-modern:before{animation:headerPulse 8s ease-in-out infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes headerPulse{0%,to{transform:translate(0) scale(1)}50%{transform:translate(10%,10%) scale(1.1)}}.wifi-title-gradient{color:#fff;font-size:32px;font-weight:800;margin:0 0 8px;position:relative;text-shadow:0 4px 12px #0006;z-index:1}.client-name-modern{color:#ffffffe6;font-size:16px;font-weight:500;margin:0;position:relative;z-index:1}.wifi-content-modern{padding:32px 24px}.config-section{animation:sectionSlideIn .5s ease-out backwards;margin-bottom:28px}.config-section:first-child{animation-delay:.1s}.config-section:nth-child(2){animation-delay:.2s}@keyframes sectionSlideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.section-title-large{align-items:center;color:#fff;display:flex;font-size:20px;font-weight:700;gap:10px;margin-bottom:14px}.input-group-modern{position:relative}.wifi-input-modern{background:#ffffff0d;border:2px solid #ffffff1a;border-radius:16px;color:#fff;font-size:17px;font-weight:500;padding:18px 20px;transition:all .3s ease;width:100%}.wifi-input-modern:focus{background:#ffffff14;border-color:#667eea;box-shadow:0 0 0 4px #667eea33,0 8px 24px #667eea4d;outline:none;transform:translateY(-2px)}.wifi-input-modern::placeholder{color:#fff6}.password-input{letter-spacing:.05em}.char-counter-modern{color:#ffffff80;font-size:14px;margin-top:10px;text-align:right}.warning-text{color:#ff9800;font-weight:600}.apply-section{animation:sectionSlideIn .5s ease-out .3s backwards;margin:36px 0}.apply-button-large-modern{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:18px;box-shadow:0 8px 24px #667eea66,0 0 0 0 #667eea80;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:700;gap:12px;justify-content:center;overflow:hidden;padding:22px 32px;position:relative;transition:all .3s ease;width:100%}.apply-button-large-modern:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.apply-button-large-modern:hover:before{height:300px;width:300px}.apply-button-large-modern:hover{box-shadow:0 12px 32px #667eea80,0 0 0 4px #667eea4d;transform:translateY(-4px)}.apply-button-large-modern:active{transform:translateY(-1px)}.apply-button-large-modern:disabled{cursor:not-allowed;opacity:.5;transform:none}.button-icon-large{font-size:28px;z-index:1}.button-text-large{z-index:1}.button-spinner{animation:spin 1s linear infinite;font-size:28px;z-index:1}.devices-counter-mega{animation:counterZoomIn .6s ease-out .4s backwards,counterFloat 6s ease-in-out infinite;background:linear-gradient(145deg,#667eea,#764ba2);border-radius:18px;box-shadow:0 12px 26px #667eea59,inset 0 1px 0 #fff3;margin:24px 0 18px;overflow:hidden;padding:26px 22px;position:relative;text-align:center}@keyframes counterZoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.counter-pulse{animation:pulsate 3s ease-in-out infinite;background:radial-gradient(circle,#ffffff4d 0,#0000 70%);border-radius:50%;height:150px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:150px}@keyframes pulsate{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.3)}}.counter-header-mega{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:12px;position:relative;z-index:1}.counter-icon-mega{animation:bounceIcon 2.4s ease-in-out infinite;font-size:34px}@keyframes bounceIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.counter-title-mega{color:#fff;font-size:20px;font-weight:800;margin:0;text-shadow:0 4px 12px #0000004d}.counter-number-mega{position:relative;z-index:1}.number-animated{animation:numberPulse 2s ease-in-out infinite;color:#fff;display:inline-block;font-size:64px;font-weight:900;text-shadow:0 6px 20px #0006,0 0 40px #ffffff4d}@keyframes counterFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes numberPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.devices-list-modern{display:flex;flex-direction:column;gap:14px;margin-top:18px}.device-card-mega{animation:deviceCardFadeIn .5s ease-out backwards,cardFloat 7s ease-in-out infinite;background:linear-gradient(145deg,#ffffff0d,#ffffff05);border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 6px 16px #00000038;overflow:hidden;padding:16px;position:relative;transition:all .35s cubic-bezier(.175,.885,.32,1.275)}.device-card-mega:before{background:linear-gradient(90deg,#667eea,#fff3);background:linear-gradient(90deg,var(--device-color,#667eea) 0,#fff3 100%);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.device-card-mega:hover:before{transform:scaleX(1)}.device-card-mega:first-child{animation-delay:.1s}.device-card-mega:nth-child(2){animation-delay:.2s}.device-card-mega:nth-child(3){animation-delay:.3s}.device-card-mega:nth-child(4){animation-delay:.4s}.device-card-mega:nth-child(5){animation-delay:.5s}@keyframes deviceCardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.device-card-mega:hover{background:linear-gradient(145deg,#ffffff14,#ffffff0a);border-color:#ffffff4d;border-color:var(--device-color,#ffffff4d);box-shadow:0 12px 28px #00000047,0 0 0 3px #667eea33;box-shadow:0 12px 28px #00000047,0 0 0 3px rgba(var(--device-color-rgb,102,126,234),.2);transform:translateY(-4px) scale(1.01)}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.device-info-section{align-items:center;display:flex;gap:12px;margin-bottom:12px}.device-icon-circle{align-items:center;background:linear-gradient(135deg,#667eea,#ffffff1a);background:linear-gradient(135deg,var(--device-color,#667eea) 0,#ffffff1a 100%);border-radius:50%;box-shadow:0 6px 14px #0003;display:flex;flex-shrink:0;height:48px;justify-content:center;transition:transform .3s ease;width:48px}.device-card-mega:hover .device-icon-circle{transform:scale(1.1) rotate(5deg)}.device-emoji{font-size:22px}.device-text-info{flex:1 1;min-width:0}.device-name-mega{color:#fff;font-size:16px;font-weight:700;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-mac-mega{margin-bottom:2px}.device-ip-mega,.device-mac-mega{color:#fff9;font-family:Courier New,monospace;font-size:12px}.signal-meter-section{background:#0003;border-radius:12px;padding:12px}.signal-meter-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.signal-text{font-size:13px;font-weight:700}.signal-dbm{font-family:Courier New,monospace;font-size:12px;font-weight:600}.signal-bars-mega{align-items:flex-end;display:flex;gap:8px;height:44px;justify-content:space-between}.signal-bar-mega{border-radius:8px 8px 4px 4px;flex:1 1;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}.signal-bar-mega:first-child{height:25%}.signal-bar-mega:nth-child(2){height:50%}.signal-bar-mega:nth-child(3){height:75%}.signal-bar-mega:nth-child(4){height:100%}.signal-bar-mega.filled{animation:barGrow .6s ease-out backwards,barPulse 2s ease-in-out infinite;box-shadow:0 4px 12px #0000004d,inset 0 -2px 8px #0003,0 0 20px currentColor}.signal-bar-mega.empty{background:#2a2a3e!important;opacity:.3}@keyframes barGrow{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes barPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.bar-shine{animation:shineMove 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fff6 50%,#0000);height:100%;left:-100%;position:absolute;top:0;width:100%}.signal-bar-mega.filled .bar-shine{animation-delay:0s;animation-delay:var(--animation-delay,0s)}.no-devices-modern{animation:fadeIn .5s ease-out .5s backwards;padding:60px 20px;text-align:center}.no-devices-icon{font-size:72px;margin-bottom:20px;opacity:.5}.no-devices-text{color:#fff9;font-size:18px;font-weight:500}.wifi-footer-modern{margin-top:32px;padding:24px}.info-card-modern{align-items:center;background:#667eea1a;border:1px solid #667eea4d;border-radius:16px;display:flex;gap:14px;padding:18px 20px}.info-icon-modern{flex-shrink:0;font-size:24px}.info-text-modern{color:#fffc;font-size:15px;line-height:1.5;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.wifi-card-modern{border-radius:16px}.wifi-content-modern{padding:24px 18px}.counter-number-mega .number-animated{font-size:54px}.counter-title-mega{font-size:18px}.counter-icon-mega{font-size:30px}.device-card-mega{padding:14px}.device-icon-circle{height:44px;width:44px}.device-emoji{font-size:20px}.signal-bars-mega{height:40px}}.signal-bars-ultra{align-items:flex-end;display:flex;gap:10px;height:90px;justify-content:center;margin-top:12px;position:relative}.signal-bar-ultra{animation:barEnter .6s ease-out backwards;border:2px solid;border-radius:10px 10px 6px 6px;max-width:28px;overflow:hidden;position:relative;transition:all .5s cubic-bezier(.68,-.55,.265,1.55);width:18%}@keyframes barEnter{0%{opacity:0;transform:scaleY(0) translateY(20px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.signal-bar-ultra.filled{animation:barEnter .6s ease-out backwards,barGlowPulse 2s ease-in-out infinite}@keyframes barGlowPulse{0%,to{filter:brightness(1) saturate(1);transform:scaleY(1)}50%{filter:brightness(1.3) saturate(1.2);transform:scaleY(1.05)}}.signal-bar-ultra.empty{background:#ffffff1a!important;border-color:#ffffff26!important;box-shadow:none!important;opacity:.4}.bar-pulse{animation:pulseExpand 2.5s ease-out infinite;border-radius:50%;bottom:0;height:200%;left:50%;opacity:0;position:absolute;transform:translateX(-50%);width:200%}@keyframes pulseExpand{0%{opacity:.6;transform:translateX(-50%) scale(.5)}to{opacity:0;transform:translateX(-50%) scale(1.5)}}.signal-text-ultra{font-size:15px;font-weight:800;letter-spacing:.5px;text-shadow:0 2px 8px #0006;text-transform:uppercase}.signal-quality-badge{animation:badgePulse 2s ease-in-out infinite;border-radius:12px;box-shadow:0 4px 12px #0000004d,inset 0 1px 0 #ffffff4d;color:#fff;font-size:10px;font-weight:900;letter-spacing:.8px;padding:4px 10px;text-transform:uppercase}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.signal-dbm-large{font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:1px;margin-top:8px;text-align:center;text-shadow:0 2px 6px #0006}.device-card-mega{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid #ffffff14;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.device-card-mega:hover{border-color:#ffffff26;border-color:var(--device-color,#ffffff26);box-shadow:0 12px 32px #0006,0 0 0 1px #ffffff1a,0 0 40px #667eea;box-shadow:0 12px 32px #0006,0 0 0 1px #ffffff1a,0 0 40px var(--device-color,#667eea);transform:translateY(-4px) scale(1.02)}.devices-title-mega{background:linear-gradient(135deg,#667eea26,#764ba226);border-left:4px solid #667eea;border-radius:14px;color:#fff;font-size:22px;font-weight:800;margin:0 0 20px;padding:16px 20px;text-shadow:0 2px 8px #0000004d}.modal-overlay-modern{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.modal-content-modern{animation:modalSlideIn .4s ease-out;background:linear-gradient(145deg,#1e1e2f,#2a2a3e);border-radius:24px;box-shadow:0 20px 60px #000c,0 0 0 1px #ffffff1a;max-width:90%;max-width:500px;padding:32px;position:relative;width:100%;z-index:10000}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-30px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-title-modern{color:#fff;font-size:24px;font-weight:800;margin:0 0 12px;text-align:center;text-shadow:0 2px 12px #667eea99}.modal-text-modern{color:#ffffffd9;font-size:16px;line-height:1.6;margin:0 0 20px;text-align:center}.progress-modal{max-width:450px}.modal-icon-progress{animation:rotateIcon 2s linear infinite;font-size:72px;margin-bottom:24px;text-align:center}@keyframes rotateIcon{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.progress-container{margin:32px 0;width:100%}.progress-bar-bg{background:#ffffff1a;box-shadow:inset 0 2px 8px #0000004d;height:32px;overflow:hidden;width:100%}.progress-bar-bg,.progress-bar-fill{border-radius:16px;position:relative}.progress-bar-fill{animation:gradientShift 2s linear infinite;background:linear-gradient(90deg,#667eea,#764ba2 50%,#667eea);background-size:200% 100%;box-shadow:0 0 20px #667eea99,0 0 40px #764ba266;height:100%;transition:width .3s ease}@keyframes gradientShift{0%{background-position:0 0}to{background-position:200% 0}}.progress-shine{animation:shineMove 1.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shineMove{0%{left:-100%}to{left:200%}}.progress-percentage{animation:pulseGlow 1.5s ease-in-out infinite;color:#fff;font-size:36px;font-weight:800;margin-top:16px;text-align:center;text-shadow:0 2px 12px #667eeacc}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.reboot-modal{max-width:500px;min-height:400px}.modem-animation-container{gap:24px;margin:32px 0}.modem-icon{transition:all .6s ease}.modem-body{box-shadow:0 8px 24px #0006,inset 0 2px 4px #ffffff0d;height:80px;justify-content:space-around;padding:0 16px}.modem-led{border-radius:50%;box-shadow:0 0 8px #0000004d;height:16px;transition:all .4s ease;width:16px}.modem-icon.on .power-led{animation:ledPulse 1s ease-in-out infinite;background:#0f0;box-shadow:0 0 12px #0f0,0 0 24px #0f0,0 0 36px #00ff0080}.modem-icon.on .internet-led{animation:ledPulse 1s ease-in-out .2s infinite;background:#0f0;box-shadow:0 0 12px #0f0}.modem-icon.on .wifi-led{animation:ledPulse 1s ease-in-out .4s infinite;background:#0f0;box-shadow:0 0 12px #0f0}.modem-icon.on .lan-led{animation:ledPulse 1s ease-in-out .6s infinite;background:#0f0;box-shadow:0 0 12px #0f0}.modem-icon.off .modem-led{background:#333;box-shadow:inset 0 2px 4px #00000080}.modem-icon.rebooting .power-led{animation:ledRebootPulse .8s ease-in-out infinite;background:orange;box-shadow:0 0 12px orange,0 0 24px orange}.modem-icon.rebooting .internet-led{animation:ledRebootPulse .8s ease-in-out .2s infinite;background:orange;box-shadow:0 0 12px orange}.modem-icon.rebooting .wifi-led{animation:ledRebootPulse .8s ease-in-out .4s infinite;background:orange;box-shadow:0 0 12px orange}.modem-icon.rebooting .lan-led{animation:ledRebootPulse .8s ease-in-out .6s infinite;background:orange;box-shadow:0 0 12px orange}.modem-icon.booting .power-led{animation:ledBootPulse .5s ease-in-out infinite;background:#0f0;box-shadow:0 0 12px #0f0,0 0 24px #0f0}.modem-icon.booting .internet-led{animation:ledBootPulse .5s ease-in-out .2s infinite;background:orange;box-shadow:0 0 12px orange}.modem-icon.booting .wifi-led{animation:ledBootPulse .5s ease-in-out .4s infinite;background:orange;box-shadow:0 0 12px orange}.modem-icon.booting .lan-led{animation:ledBootSequence 2s ease-in-out infinite;background:#333}@keyframes ledPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes ledRebootPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}@keyframes ledBootPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}}@keyframes ledBootSequence{0%,60%{background:#333;box-shadow:inset 0 2px 4px #00000080}70%,to{background:#0f0;box-shadow:0 0 12px #0f0}}.modem-stand{background:linear-gradient(145deg,#1e1e2f,#2a2a3e);border-radius:4px;box-shadow:0 4px 8px #0000004d;height:8px;margin-top:8px;width:60px}.reboot-status{align-items:center;display:flex;justify-content:center;min-height:32px}.status-text{animation:fadeInOut .6s ease;background:#ffffff1a;border-radius:20px;color:#fff;font-size:18px;font-weight:700;padding:12px 24px;text-shadow:0 2px 8px #0000004d}@keyframes fadeInOut{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reconnect-instructions{background:#667eea1a;border:1px solid #667eea4d;border-radius:16px;margin-top:24px;padding:24px}.instruction-item{align-items:center;color:#fff;display:flex;font-size:16px;font-weight:600;gap:12px;margin-bottom:16px}.instruction-icon{font-size:24px}.credential-box{background:#0000004d;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.credential-item{background:#ffffff0d;border-radius:8px;color:#fff;font-size:14px;padding:8px 12px;word-break:break-all}.credential-item strong{color:#667eea;margin-right:8px}.modal-icon-large{animation:iconPulse 1.5s ease-in-out infinite;font-size:80px;margin-bottom:20px}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.success-pulse{animation:successPulse .6s ease-out}@keyframes successPulse{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.spinner-modern{animation:spin 1s linear infinite;border:4px solid #667eea33;border-radius:50%;border-top-color:#667eea;height:60px;margin:30px auto;width:60px}.timer-text{animation:timerFade 2s ease-in-out infinite;color:#ffffffb3;font-size:14px;font-weight:500;margin-top:20px}@keyframes timerFade{0%,to{opacity:.7}50%{opacity:1}}.modem-animation-container{align-items:center;display:flex;flex-direction:column;gap:20px;margin:30px auto}.modem-icon{height:100px;justify-content:flex-end}.modem-body,.modem-icon{align-items:center;display:flex;flex-direction:column;position:relative;width:120px}.modem-body{background:linear-gradient(145deg,#2a2a3e,#1e1e2f);border-radius:12px;box-shadow:0 8px 20px #0006;gap:8px;height:70px;justify-content:center;padding:10px;z-index:2}.modem-antenna{animation:antennaGlow 2s ease-in-out infinite;background:linear-gradient(0deg,#667eea,#764ba2);border-radius:3px;height:40px;position:absolute;top:-30px;width:6px}.modem-antenna.left{left:30px;transform:rotate(-15deg)}.modem-antenna.right{right:30px;transform:rotate(15deg)}@keyframes antennaGlow{0%,to{box-shadow:0 0 5px #667eea}50%{box-shadow:0 0 20px #667eea,0 0 30px #764ba2}}.modem-led{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden;position:relative;width:80px}.modem-led:before{background:#ffffff4d;border-radius:4px;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%}.power-led.blinking:before{animation:ledBlink 1s ease-in-out infinite;background:#10b981;opacity:1}.internet-led.blinking-slow:before{animation:ledBlink 1.5s ease-in-out infinite;background:#3b82f6;opacity:1}.wifi-led.blinking-slower:before{animation:ledBlink 2s ease-in-out infinite;background:#8b5cf6;opacity:1}.lan-led:before{background:#f59e0b;opacity:.5}@keyframes ledBlink{0%,to{opacity:.3}50%{box-shadow:0 0 10px currentColor;opacity:1}}.credential-box-modern{animation:credentialSlideIn .5s ease-out;background:#0000004d;border:1px solid #ffffff1a;border-radius:16px;margin:24px 0;padding:20px}@keyframes credentialSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.credential-row{align-items:center;background:#ffffff08;border-radius:12px;display:flex;gap:16px;margin-bottom:12px;padding:16px;transition:all .3s}.credential-row:last-child{margin-bottom:0}.credential-row:hover{background:#ffffff0f;transform:translateX(4px)}.cred-icon{flex-shrink:0;font-size:32px}.cred-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.cred-label{color:#fff9;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.cred-value{color:#fff;font-size:18px;font-weight:700;word-break:break-all}.ready-instructions{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:16px;margin-top:24px;padding:24px}.instruction-step{align-items:center;animation:stepSlideIn .5s ease-out backwards;background:#ffffff08;border-radius:10px;display:flex;gap:16px;margin-bottom:12px;padding:12px}.instruction-step:first-child{animation-delay:.1s}.instruction-step:nth-child(2){animation-delay:.2s}.instruction-step:nth-child(3){animation-delay:.3s}@keyframes stepSlideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.step-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 12px #667eea66;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:32px;justify-content:center;width:32px}.step-text{color:#ffffffe6;font-size:14px;line-height:1.5}.step-text strong{color:#fff;font-weight:700}.progress-bar-fill{transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-shine{animation:shine 1.5s ease-in-out infinite}@keyframes shine{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}.modem-icon.booting .modem-body{animation:modemBoot 2s ease-in-out infinite}@keyframes modemBoot{0%,to{box-shadow:0 8px 20px #0006}50%{box-shadow:0 8px 30px #667eea99,0 0 40px #764ba266}}@media (max-width:768px){.modal-icon-large{font-size:60px}.modem-icon{transform:scale(.8)}.cred-value{font-size:16px}.step-text{font-size:13px}}.backup-panel{margin:0 auto;max-width:1400px;padding:20px}.backup-header{flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.backup-header,.backup-title{align-items:center;display:flex}.backup-title{color:#2c3e50;gap:15px}.backup-title h1{font-size:28px;font-weight:600;margin:0}.backup-actions{display:flex;gap:10px}.btn-create-backup,.btn-refresh{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .3s ease}.btn-create-backup{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-create-backup:hover:not(:disabled){box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.btn-create-backup:disabled{cursor:not-allowed;opacity:.6}.btn-refresh{background:#f8f9fa;border:1px solid #dee2e6;color:#495057}.btn-refresh:hover{background:#e9ecef}.backup-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:15px;padding:20px;transition:transform .3s ease}.stat-card:hover{box-shadow:0 5px 15px #00000026;transform:translateY(-5px)}.stat-card svg{color:#667eea;flex-shrink:0}.stat-card.success svg{color:#10b981}.stat-value{color:#2c3e50;font-size:24px;font-weight:700;line-height:1;margin-bottom:5px}.stat-label{color:#6c757d;font-size:14px}.backup-info{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;display:flex;gap:15px;margin-bottom:30px;padding:20px}.backup-info svg{color:#2196f3;flex-shrink:0;margin-top:2px}.backup-info strong{color:#1976d2;display:block;margin-bottom:10px}.backup-info ul{margin:0;padding-left:20px}.backup-info li{color:#555;margin-bottom:5px}.backup-history{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:20px}.backup-history h3{align-items:center;color:#2c3e50;display:flex;font-size:18px;gap:10px;margin:0 0 15px}.backup-history h3 svg{color:#667eea}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{align-items:center;background:#f8f9fa;border-left:3px solid #0000;border-radius:8px;display:flex;gap:12px;padding:12px 15px;transition:all .2s ease}.history-item:hover{background:#e9ecef;transform:translateX(5px)}.history-icon{flex-shrink:0}.success-icon{color:#10b981}.error-icon{color:#ef4444}.history-text{color:#495057;flex:1 1;font-family:Courier New,monospace;font-size:14px}.backup-error{align-items:center;background:#ffebee;border-left:4px solid #f44336;border-radius:8px;color:#c62828;display:flex;gap:10px;margin-bottom:20px;padding:15px}.backup-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:25px}.backup-list h2{align-items:center;color:#2c3e50;display:flex;font-size:20px;gap:10px;margin:0 0 20px}.no-backups{color:#6c757d;padding:60px 20px;text-align:center}.no-backups svg{color:#dee2e6;margin-bottom:20px}.no-backups p{font-size:18px;margin-bottom:20px}.btn-create-first{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:12px 30px;transition:transform .3s ease}.btn-create-first:hover{transform:translateY(-2px)}.backup-table{overflow-x:auto}.backup-table table{border-collapse:collapse;width:100%}.backup-table td,.backup-table th{border-bottom:1px solid #f0f0f0;padding:15px 12px;text-align:left}.backup-table th{background:#f8f9fa;color:#495057;font-size:13px;font-weight:600;white-space:nowrap}.backup-table th svg{margin-right:6px;vertical-align:middle}.backup-row{transition:all .2s ease}.backup-table tbody tr:hover{background:#f0f7ff;box-shadow:0 2px 8px #00000014;transform:scale(1.01)}.date-cell,.time-cell{align-items:center;display:flex;font-weight:500;gap:8px}.backup-date{color:#2c3e50;font-size:14px;min-width:140px}.date-icon{color:#667eea;flex-shrink:0}.backup-time{color:#495057;font-size:13px;min-width:130px}.time-icon{color:#f59e0b;flex-shrink:0}.backup-size{color:#10b981;font-size:14px;font-weight:600}.filename{color:#495057;font-family:Courier New,monospace;font-size:13px}.actions{display:flex;gap:8px}.btn-action{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.btn-download{background:#e3f2fd;color:#1976d2}.btn-download:hover{background:#1976d2;color:#fff}.btn-restore{background:#fff3e0;color:#f57c00}.btn-restore:hover{background:#f57c00;color:#fff}.btn-delete{background:#ffebee;color:#d32f2f}.btn-delete:hover{background:#d32f2f;color:#fff}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;padding:30px;width:90%}.modal-content h3{color:#2c3e50;margin:0 0 15px}.modal-content p{color:#6c757d;margin-bottom:10px}.backup-name{background:#f8f9fa;border-radius:6px;color:#495057;font-family:Courier New,monospace;font-weight:600;margin:15px 0;padding:10px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-cancel,.btn-confirm-delete{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-cancel{background:#f8f9fa;color:#495057}.btn-cancel:hover{background:#e9ecef}.btn-confirm-delete{align-items:center;background:#d32f2f;color:#fff;display:flex;gap:8px}.btn-confirm-delete:hover{background:#b71c1c}.backup-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.backup-loading p{font-size:16px;margin-top:15px}.spin{animation:spin 1s linear infinite}@media (max-width:768px){.backup-header{align-items:stretch}.backup-actions,.backup-header{flex-direction:column}.backup-stats{grid-template-columns:1fr}.backup-table{font-size:12px}.backup-table td,.backup-table th{padding:10px}.actions{flex-direction:column}}.invoice-viewer{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh;padding:20px}.viewer-container{margin:0 auto;max-width:900px}.header{color:#fff;margin-bottom:30px;text-align:center}.header h1{font-size:2.5em;margin-bottom:10px;text-shadow:2px 2px 4px #0003}.header p{font-size:1.1em;opacity:.9}.search-form{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px;padding:30px}.input-group{display:flex;gap:15px;margin-bottom:15px}.client-id-input{border:2px solid #e0e0e0;border-radius:10px;flex:1 1;font-size:1.1em;outline:none;padding:15px 20px;transition:all .3s}.client-id-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;padding:15px 30px;transition:all .3s;white-space:nowrap}.search-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.search-button:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#fee;border-left:4px solid #c33;border-radius:8px;color:#c33;padding:15px}.client-info{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;margin-bottom:30px;padding:30px}.client-info h2{color:#333;font-size:1.5em;margin-bottom:20px}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{display:flex;flex-direction:column;gap:5px}.info-item .label{color:#666;font-size:.85em;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item .value{color:#333;font-size:1.1em;font-weight:500}.invoices-section{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;padding:30px}.invoices-section h2{color:#333;font-size:1.5em;margin-bottom:25px}.invoices-list{grid-gap:20px;display:grid;gap:20px}.invoice-card{background:#fafafa;border:2px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s}.invoice-card:hover{border-color:#667eea;box-shadow:0 5px 15px #667eea33;transform:translateY(-2px)}.invoice-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.invoice-number{display:flex;flex-direction:column;gap:5px}.invoice-number .label{color:#666;font-size:.85em;font-weight:600}.invoice-number .number{color:#333;font-size:1.5em;font-weight:700}.status-badge{font-size:.9em;font-weight:600}.status-badge.paid{background:#d4edda;color:#155724}.status-badge.pending{background:#fff3cd;color:#856404}.invoice-details{grid-gap:12px;display:grid;gap:12px}.detail-row{align-items:center}.detail-row .label{color:#666;font-size:.95em;font-weight:600}.detail-row .value{color:#333;font-weight:500;text-align:right}.detail-row .value.amount{color:#667eea;font-size:1.3em;font-weight:700}.no-invoices{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;padding:40px;text-align:center}.no-invoices p{color:#666;font-size:1.2em}@media (max-width:768px){.invoice-viewer{padding:15px}.header h1{font-size:2em}.input-group{flex-direction:column}.client-info,.invoices-section,.search-form{padding:20px}.info-grid{grid-template-columns:1fr}.invoice-header{gap:10px}.detail-row,.invoice-header{align-items:flex-start;flex-direction:column}.detail-row{gap:5px}.detail-row .value{text-align:left}}*{box-sizing:border-box}.suspended-panel{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.suspended-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #ffffff2e;border-radius:20px;box-shadow:0 8px 32px #1f268726;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:24px;padding:24px}.header-title{flex:1 1;min-width:250px}.header-title h2{align-items:center;color:#1a202c;display:flex;font-size:28px;font-weight:800;gap:12px;letter-spacing:-.5px;margin:0 0 6px}.total-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;box-shadow:0 4px 20px #667eea66;color:#fff;display:inline-flex;font-size:15px;font-weight:700;justify-content:center;margin-left:12px;min-width:45px;padding:8px 16px}.last-update{color:#718096;font-size:12px;font-weight:500}.auto-update-info{color:#ffffffb3;font-style:italic;margin-left:4px}.refresh-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.refresh-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea66;transform:translateY(-2px) scale(1.02)}.refresh-button:disabled{background:#ffffff80;cursor:not-allowed}.suspended-loading{align-items:center;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:15px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{align-items:center;background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-left:4px solid #e17055;border-radius:10px;box-shadow:0 4px 12px #e1705533;display:flex;gap:12px;margin-bottom:20px;padding:16px}.error-icon{color:#d63031;flex-shrink:0}.retry-button{background:#d63031;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-left:auto;padding:8px 16px;transition:all .3s}.retry-button:hover{background:#a82834;transform:translateY(-1px)}.suspended-search{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.search-input-container{flex:1 1;min-width:200px;position:relative}.search-icon{color:#aaa;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:#fff;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;padding:12px 15px 12px 40px;transition:all .3s;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.results-count{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;color:#667eea;font-size:12px;font-weight:600;padding:8px 16px}.suspended-content{min-height:400px}.empty-state{align-items:center;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state p{color:#666;font-size:16px;margin:0}.clients-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.client-card{background:#fff;border:1px solid #e2e8f0cc;border-radius:20px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.client-card:hover{border-color:#667eea4d;box-shadow:0 12px 40px #667eea26;transform:translateY(-4px)}.client-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:12px;justify-content:space-between;padding:18px}.client-info h3{color:#fff;font-size:15px;font-weight:700;margin:0 0 4px;word-break:break-word}.client-id{background:#fff3;border-radius:4px;color:#fff;display:inline-block;font-size:11px;padding:2px 8px}.header-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.contacted-chip{align-items:center;background:linear-gradient(135deg,#00bcd4,#00acc1);border:none;border-radius:10px;box-shadow:0 4px 12px #00bcd44d;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:8px 10px;transition:all .25s ease}.contacted-chip:hover{box-shadow:0 6px 16px #00bcd459;transform:translateY(-2px)}.contacted-chip.contacted{animation:contacted-rainbow 2s ease infinite,contacted-pop .5s ease;background:linear-gradient(135deg,#2ecc71,#27ae60)}@keyframes contacted-pop{0%{transform:scale(.96) rotate(0deg)}25%{transform:scale(1.08) rotate(-5deg)}50%{transform:scale(1.05) rotate(5deg)}75%{transform:scale(1.08) rotate(-3deg)}to{transform:scale(1) rotate(0deg)}}@keyframes contacted-rainbow{0%{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 4px 16px #2ecc7180}25%{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 4px 16px #3498db80}50%{background:linear-gradient(135deg,#9b59b6,#8e44ad);box-shadow:0 4px 16px #9b59b680}75%{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 4px 16px #e74c3c80}to{background:linear-gradient(135deg,#2ecc71,#27ae60);box-shadow:0 4px 16px #2ecc7180}}.status-badge{border-radius:20px;font-size:14px;font-weight:700;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;white-space:nowrap}.status-badge.suspended{background:#e74c3c;box-shadow:0 4px 12px #e74c3c4d;color:#fff}.verify-button{align-items:center;background:#ffffff4d;border:1px solid #ffffff80;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:12px;justify-content:center;padding:6px 8px;transition:all .3s}.verify-button:hover:not(:disabled){background:#fff6;transform:scale(1.1)}.verify-button:disabled{background:#ffffff26;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}.client-body{display:flex;flex:1 1;flex-direction:column;gap:0;padding:0}.info-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-size:13px;gap:8px;justify-content:space-between;padding:12px 16px}.info-row:last-child{border-bottom:none}.info-label{color:#666;font-weight:600;min-width:-webkit-fit-content;min-width:fit-content}.info-label,.info-value{align-items:center;display:flex;gap:6px}.info-value{color:#333;flex:1 1;justify-content:flex-end;text-align:right;word-break:break-word}.debt-amount{background:#fff5f5;border-radius:8px;box-shadow:0 2px 8px #e74c3c26;color:#e74c3c;font-size:18px;font-weight:700;padding:8px 12px}.copy-btn,.whatsapp-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12px;justify-content:center;padding:4px 8px;transition:all .2s}.copy-btn{color:#667eea}.copy-btn:hover{background:#f0f7ff;border-color:#667eea;transform:scale(1.1)}.whatsapp-btn{background:#25d366;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:8px 12px}.whatsapp-btn:hover{background:#20ba5a;box-shadow:0 4px 12px #25d36666;transform:scale(1.15)}.payment-button-container{border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:10px;margin-top:auto;padding:12px 16px}.payment-button{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:12px;box-shadow:0 4px 12px #f5576c40;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:14px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.payment-button:hover:not(:disabled){box-shadow:0 4px 12px #f5576c4d;transform:translateY(-2px)}.payment-button:disabled{background:#ccc;cursor:not-allowed}.card-footer{border-top:1px solid #f0f0f0;display:flex;gap:10px;margin-top:auto;padding:12px 16px}.payment-button{flex:1 1}.contacted-button{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:12px;transition:all .3s}.contacted-button:hover{box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.contacted-button.contacted{background:linear-gradient(135deg,#81c784,#66bb6a);opacity:.85}.contacted-button.contacted:hover{opacity:1}.payment-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.payment-modal{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.payment-modal h3{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px 20px 0 0;color:#fff;display:flex;font-size:16px;gap:10px;margin:0;padding:20px}.modal-content{padding:20px}.warning-message{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-left:4px solid #e17055;border-radius:10px;margin-bottom:16px;padding:16px}.warning-title{align-items:center;color:#d63031;display:flex;font-weight:700;gap:8px;margin:0 0 4px}.warning-subtitle{color:#333;font-size:13px;margin:0}.payment-details{background:#f5f7fa;border-radius:10px;margin-bottom:16px;padding:16px}.detail-row{border-bottom:1px solid #e0e0e0;display:flex;font-size:13px;justify-content:space-between;padding:10px 0}.detail-row:last-child{border-bottom:none}.detail-label{align-items:center;color:#666;display:flex;font-weight:600;gap:6px}.detail-value{color:#333;font-weight:500;text-align:right}.detail-value.amount{color:#e74c3c;font-size:14px;font-weight:700}.detail-row.highlight{background:#667eea1a;border-radius:8px;margin:10px 0;padding:12px}.warning-text{align-items:flex-start;color:#d63031;display:flex;font-size:12px;gap:8px;margin:16px 0 0}.modal-buttons{display:flex;gap:12px;padding:0 20px 20px}.btn-cancel,.btn-confirm{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:12px;transition:all .3s}.btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-cancel{background:#e0e0e0;color:#333}.btn-cancel:hover{background:#d0d0d0;transform:translateY(-2px)}@media (max-width:768px){.suspended-panel{padding:4px}.suspended-header{align-items:stretch;flex-direction:column;gap:8px;margin-bottom:8px;padding:8px}.header-title{min-width:auto}.header-title h2{font-size:15px;gap:6px}.total-badge{font-size:11px;padding:2px 8px}.refresh-button{font-size:12px;padding:8px;width:100%}.suspended-search{flex-direction:column;gap:8px;margin-bottom:8px}.search-input-container{width:100%}.search-input{font-size:12px;padding:8px 10px 8px 32px}.results-count{font-size:11px;padding:6px 10px;text-align:center;width:100%}.clients-grid{gap:6px;grid-template-columns:1fr}.client-card{border-radius:8px}.client-card:hover{transform:none}.client-header{padding:6px}.header-actions{align-items:flex-start}.contacted-chip{font-size:11px;justify-content:center;padding:8px;width:100%}.client-info h3{font-size:13px}.info-row{flex-direction:row;font-size:11px;gap:6px;padding:6px 10px}.info-label{font-size:10px}.info-value{font-size:11px;width:auto}.modal-buttons{flex-direction:row;gap:8px;padding:8px}.payment-modal{border-radius:8px}.detail-row{flex-direction:row;font-size:11px;gap:8px;padding:6px 0}.detail-value{text-align:left}.card-footer{gap:8px;padding:8px 10px}.contacted-button,.payment-button{font-size:12px;gap:5px;padding:10px}}@media (max-width:480px){.suspended-panel{padding:2px}.suspended-header{gap:8px;margin-bottom:8px;padding:8px}.header-title h2{font-size:14px;gap:4px;margin-bottom:2px}.total-badge{font-size:11px;min-width:35px;padding:2px 8px}.last-update{font-size:9px}.auto-update-info{display:none}.refresh-button{font-size:11px;padding:8px 12px}.suspended-search{gap:8px;margin-bottom:8px}.search-input{font-size:12px;padding:8px 10px 8px 32px}.search-icon{height:14px;left:8px;width:14px}.results-count{font-size:11px;padding:6px 10px}.clients-grid{gap:6px;grid-template-columns:1fr}.client-card{border-radius:8px}.client-card:hover{transform:none}.client-header{gap:6px;padding:5px 6px}.header-actions{align-items:flex-start}.contacted-chip{font-size:10.5px;justify-content:center;padding:7px;width:100%}.client-id{font-size:10px;padding:2px 6px}.client-info h3{font-size:13px;margin:0}.client-body{gap:0;max-height:none}.info-row{font-size:11px;gap:6px;padding:6px 10px}.info-row:last-child{border-bottom:none}.info-label{font-size:10px;gap:4px;min-width:auto}.info-value{flex-wrap:wrap;font-size:11px}.debt-row{background:#fff5f5;padding:8px 10px}.debt-amount{font-size:15px}.status-badge{font-size:12px;padding:6px 12px}.card-footer{gap:6px;padding:6px 10px}.contacted-button,.payment-button{font-size:11px;gap:4px;padding:8px}.verify-button{font-size:10px;gap:2px;padding:4px 6px}.copy-btn,.whatsapp-btn{font-size:12px;padding:6px 10px}.modal-overlay{padding:8px}.modal-content{border-radius:8px;padding:12px}.modal-header{margin-bottom:8px;padding:8px 0}.modal-header h2{font-size:14px;gap:6px}.modal-body{gap:8px}.detail-row{font-size:11px;gap:8px;padding:6px 0}.detail-label{font-size:10px;gap:4px}.detail-value{font-size:11px;text-align:left}.modal-warning{font-size:11px;gap:6px;padding:8px}.modal-warning p{margin:0}.modal-actions{gap:8px;padding-top:8px}.modal-button{font-size:11px;padding:8px 12px}}.suspended-clients-login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh;padding:20px}.suspended-clients-login-card{animation:slideUp .5s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.suspended-clients-login-header{margin-bottom:30px;text-align:center}.suspended-clients-login-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 15px #667eea4d;color:#fff;display:flex;height:70px;justify-content:center;margin:0 auto 20px;width:70px}.suspended-clients-login-header h1{color:#2c3e50;font-size:24px;font-weight:600;letter-spacing:-.5px;margin:10px 0}.suspended-clients-login-header p{color:#7f8c8d;font-size:14px;margin:0}.suspended-clients-login-form{display:flex;flex-direction:column;gap:18px}.suspended-clients-form-group{display:flex;flex-direction:column;gap:8px}.suspended-clients-form-group label{align-items:center;color:#2c3e50;display:flex;font-size:14px;font-weight:600;gap:8px}.suspended-clients-form-group label svg{color:#667eea}.suspended-clients-form-group input{border:2px solid #ecf0f1;border-radius:12px;font-family:inherit;font-size:14px;outline:none;padding:12px 14px;transition:all .3s ease}.suspended-clients-form-group input:focus{background-color:#f8f9ff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.suspended-clients-form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.suspended-clients-form-group input::placeholder{color:#bdc3c7}.suspended-clients-error-message{animation:slideDown .3s ease;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border-left:4px solid #c92a2a;border-radius:12px;color:#fff;font-size:13px;padding:12px 14px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.suspended-clients-login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.3px;margin-top:10px;padding:12px;transition:all .3s ease}.suspended-clients-login-button:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.suspended-clients-login-button:active:not(:disabled){transform:translateY(0)}.suspended-clients-login-button:disabled{cursor:not-allowed;opacity:.7}.suspended-clients-login-footer{border-top:1px solid #ecf0f1;margin-top:25px;padding-top:20px;text-align:center}.suspended-clients-login-footer p{color:#95a5a6;font-size:12px;letter-spacing:.3px;margin:0}@media (max-width:480px){.suspended-clients-login-card{padding:30px 20px}.suspended-clients-login-header h1{font-size:20px}.suspended-clients-login-icon{height:60px;width:60px}.suspended-clients-login-icon svg{height:28px;width:28px}.suspended-clients-form-group input{font-size:16px;padding:11px 12px}.suspended-clients-login-button{font-size:14px;padding:13px}}.App{-webkit-overflow-scrolling:touch;height:100vh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;touch-action:manipulation;width:100vw}.loading{align-items:center;color:#666;display:flex;font-size:18px;height:100vh;justify-content:center}
/*# sourceMappingURL=main.ae047c62.css.map*/