*{box-sizing:border-box;padding:0;margin:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html,body{max-width:100vw;overflow-x:hidden;background-color:#f8fafc;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 768px){body{font-size:14px}}a{color:inherit;text-decoration:none}.container{max-width:1400px;margin:0 auto;padding:20px}@media (max-width: 768px){.container{padding:15px}}.admin-layout{display:flex;min-height:100vh;background:#f8fafc}.sidebar{width:220px;background:#1e293b;border-right:1px solid #334155;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100;transition:width .3s ease,transform .3s ease;overflow-y:auto;overflow-x:hidden}.sidebar.collapsed{width:70px}.sidebar-header{padding:20px;border-bottom:1px solid #334155;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}@media (max-width: 768px){.sidebar-header{padding:15px}}.sidebar-logo{font-size:16px;font-weight:700;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;flex:1;min-width:0}.sidebar.collapsed .sidebar-logo{justify-content:center}.sidebar-toggle{background:#334155;border:none;border-radius:6px;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s;flex-shrink:0}.sidebar-toggle:hover{background:#475569;color:#fff}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#cbd5e1;text-decoration:none;font-weight:500;transition:all .2s;border-left:3px solid transparent}.sidebar.collapsed .sidebar-link{justify-content:center;padding:12px}.sidebar-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.sidebar-label{white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-label{display:none}.sidebar-link:hover{background:#334155;color:#fff}.sidebar-link.active{background:#334155;color:#2563eb;border-left-color:#2563eb;font-weight:600}.sidebar-link.active .sidebar-icon{color:#2563eb}.sidebar-footer{padding:16px 20px;border-top:1px solid #334155}.sidebar-logout{width:100%;padding:10px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.sidebar.collapsed .sidebar-logout{padding:10px;justify-content:center}.sidebar.collapsed .sidebar-logout span{display:none}.sidebar-logout:hover{background:#b91c1c}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#334155);padding:20px;position:relative;overflow:hidden}.login-background-pattern{position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(37,99,235,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(37,99,235,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(37,99,235,.08) 0%,transparent 50%),linear-gradient(135deg,transparent 0%,rgba(37,99,235,.05) 100%);animation:float 20s ease-in-out infinite;opacity:.8}@keyframes float{0%,to{transform:translateY(0) rotate(0);opacity:.8}50%{transform:translateY(-20px) rotate(5deg);opacity:1}}.login-shapes{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.shape{position:absolute;border-radius:50%;filter:blur(60px);opacity:.3;animation:shapeFloat 15s ease-in-out infinite}.shape-1{width:300px;height:300px;background:linear-gradient(135deg,#2563eb,#1d4ed8);top:-100px;left:-100px;animation-delay:0s}.shape-2{width:400px;height:400px;background:linear-gradient(135deg,#1d4ed8,#1e40af);bottom:-150px;right:-150px;animation-delay:5s}.shape-3{width:250px;height:250px;background:linear-gradient(135deg,#3b82f6,#2563eb);top:50%;right:10%;animation-delay:10s}@keyframes shapeFloat{0%,to{transform:translate(0) scale(1);opacity:.3}33%{transform:translate(30px,-30px) scale(1.1);opacity:.4}66%{transform:translate(-20px,20px) scale(.9);opacity:.25}}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-radius:24px;box-shadow:0 25px 80px #0006,0 0 0 1px #fff3 inset,0 1px #ffffff4d inset;width:100%;max-width:460px;padding:36px 32px;position:relative;z-index:1;animation:slideUp .6s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.18)}@media (max-width: 768px){.login-container{padding:16px}.login-card{padding:28px 24px;max-width:100%;border-radius:20px}.login-header{margin-bottom:24px}.login-header h1{font-size:28px}.login-header p{font-size:14px}.login-icon{width:68px;height:68px;border-radius:18px;margin-bottom:20px}.login-form{gap:22px}.login-form .form-group input{padding:14px 18px;font-size:14px}.shape{filter:blur(40px)}.shape-1{width:200px;height:200px}.shape-2{width:250px;height:250px}.shape-3{width:180px;height:180px}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:28px}.login-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:16px;position:relative}.login-icon:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);animation:shine 3s infinite}@keyframes shine{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 10px 30px #2563eb66,0 0 #2563eb33}50%{transform:scale(1.05);box-shadow:0 15px 40px #2563eb99,0 0 0 8px #2563eb1a}}.login-header h1{display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;margin-bottom:8px;letter-spacing:-.8px;line-height:1.2}.login-header p{color:#64748b;font-size:15px;font-weight:500;letter-spacing:.2px}.login-form{display:flex;flex-direction:column;gap:20px}.login-form .form-group{display:flex;flex-direction:column;gap:10px;position:relative}.login-form .form-group label{font-weight:600;color:#0f172a;font-size:14px;display:flex;align-items:center;gap:10px;letter-spacing:.2px}.login-form .form-group label svg{color:#2563eb;flex-shrink:0;transition:all .3s ease}.login-form .form-group:focus-within label svg{color:#1d4ed8;transform:scale(1.1)}.login-form .form-group input{padding:14px 18px;border:2px solid #E2E8F0;border-radius:12px;font-size:15px;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;font-weight:400;color:#0f172a;box-shadow:0 1px 3px #0000000d}.login-form .form-group input:hover{border-color:#cbd5e1;background:#fff;box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.login-form .form-group input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px #2563eb1a,0 4px 12px #2563eb26;transform:translateY(-2px)}.login-form .form-group input::placeholder{color:#94a3b8;font-weight:400}.btn-block{width:100%;padding:14px;font-size:16px;font-weight:600;letter-spacing:.3px}.login-btn{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #2563eb59,0 0 #2563eb33;background:linear-gradient(135deg,#2563eb,#1d4ed8);position:relative;overflow:hidden}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-btn:hover:not(:disabled):before{left:100%}.login-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 24px #2563eb73,0 0 0 4px #2563eb1a;background:linear-gradient(135deg,#1d4ed8,#1e40af)}.login-btn:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #2563eb59,0 0 0 2px #2563eb1a}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-btn svg{flex-shrink:0}.login-btn .spinner{animation:spin 1s linear infinite}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.loading-spinner{width:40px;height:40px;border:4px solid #E2E8F0;border-top:4px solid #2563EB;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.main-content{flex:1;margin-left:220px;min-height:100vh;background:#f8fafc;transition:margin-left .3s ease;display:flex;flex-direction:column}.admin-layout.sidebar-collapsed .main-content{margin-left:70px}.admin-header{background:#fff;border-bottom:1px solid #E2E8F0;padding:0;position:sticky;top:0;z-index:50;box-shadow:0 2px 4px #0000000d}.header-content{display:flex;justify-content:space-between;align-items:center;padding:16px 30px;max-width:100%}.header-left{display:flex;align-items:center;gap:12px}.header-menu-toggle{display:none;background:#f1f5f9;border:none;border-radius:6px;padding:8px;cursor:pointer;color:#64748b;transition:all .2s;align-items:center;justify-content:center;min-width:40px;min-height:40px}.header-menu-toggle:hover{background:#e2e8f0;color:#2563eb}.header-title{font-size:20px;font-weight:600;color:#0f172a;margin:0}.header-right{display:flex;align-items:center;gap:16px}.profile-dropdown{position:relative}.profile-trigger{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;color:#0f172a}.profile-trigger:hover{background:#e2e8f0;border-color:#2563eb}.profile-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#2563eb;border-radius:50%;color:#fff;flex-shrink:0}.profile-username{font-weight:500;color:#0f172a}.dropdown-arrow{transition:transform .2s;color:#64748b;flex-shrink:0}.dropdown-arrow.open{transform:rotate(180deg)}.profile-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #E2E8F0;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:220px;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:16px;background:#f1f5f9;border-bottom:1px solid #E2E8F0}.dropdown-user-info{display:flex;align-items:center;gap:12px}.dropdown-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#2563eb;border-radius:50%;color:#fff;flex-shrink:0}.dropdown-user-details{flex:1;min-width:0}.dropdown-username{font-weight:600;color:#0f172a;font-size:15px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-user-role{font-size:13px;color:#64748b}.dropdown-divider{height:1px;background:#e2e8f0;margin:4px 0}.dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;transition:all .2s;font-size:14px;color:#0f172a;font-weight:500}.dropdown-item:hover{background:#f1f5f9}.dropdown-item.logout-item{color:#dc3545}.dropdown-item.logout-item:hover{background:#fff5f5;color:#c82333}.dropdown-item svg{flex-shrink:0;color:inherit}.content-wrapper{flex:1;padding:30px;overflow-y:auto}.mobile-menu-toggle{display:none;position:fixed;top:15px;left:15px;z-index:1001;background:#2563eb;color:#fff;border:none;border-radius:8px;padding:12px;cursor:pointer;box-shadow:0 2px 8px #0003;transition:all .2s;min-width:44px;min-height:44px;align-items:center;justify-content:center}@media (max-width: 768px){.mobile-menu-toggle{top:75px}}.mobile-menu-toggle:hover{background:#1d4ed8;transform:scale(1.05)}.mobile-menu-toggle svg{display:block}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .3s ease}.sidebar-overlay.show{display:block;opacity:1}.sidebar-close-mobile{display:none;background:#334155;border:none;border-radius:6px;padding:8px;cursor:pointer;align-items:center;justify-content:center;color:#fff;transition:all .2s;flex-shrink:0;min-width:36px;min-height:36px}.sidebar-close-mobile:hover{background:#475569;color:#2563eb}@media (max-width: 768px){.mobile-menu-toggle{display:flex!important}.sidebar-overlay.show{display:block!important;opacity:1;z-index:999!important}.sidebar{width:240px;max-width:80vw;transform:translate(-100%);transition:transform .3s ease;box-shadow:2px 0 10px #0000001a;z-index:1000!important}.sidebar.open{transform:translate(0)!important}.sidebar-close-mobile{display:flex!important}.sidebar-toggle{display:none!important}.main-content{margin-left:0!important;width:100%}.admin-layout.sidebar-collapsed .main-content{margin-left:0!important}.admin-header{padding-top:0}.header-content{padding:12px 15px;flex-wrap:wrap;gap:12px}.header-menu-toggle{display:flex}.header-title{font-size:18px}.header-right{gap:10px;margin-left:auto;display:flex!important;opacity:1!important;visibility:visible!important}.profile-trigger{padding:6px 10px;gap:8px;min-width:44px;min-height:44px}.profile-username{display:none}.profile-avatar{width:28px;height:28px}.profile-dropdown-menu{min-width:200px;right:0}.dropdown-username{font-size:14px}.dropdown-user-role{font-size:12px}.content-wrapper{padding:15px}.mobile-menu-toggle{display:none!important}.sidebar-link{min-height:48px;padding:14px 20px}.sidebar-logout{min-height:48px}}.page-title{font-size:28px;font-weight:600;margin-bottom:30px;color:#0f172a}@media (max-width: 768px){.page-title{font-size:22px;margin-bottom:20px}}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}@media (max-width: 768px){.btn{padding:10px 16px;font-size:13px;width:100%;justify-content:center}.btn:not(.btn-block){width:auto;min-width:auto}}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#f1f5f9;color:#0f172a;border:1px solid #E2E8F0}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn:disabled{opacity:.5;cursor:not-allowed}.table-container{background:#fff;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden}@media (max-width: 768px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:#555}}.table{width:100%;border-collapse:collapse;min-width:600px}.table thead{background:#f1f5f9;border-bottom:2px solid #E2E8F0}.table th{padding:16px;text-align:left;font-weight:600;color:#0f172a;font-size:14px;white-space:nowrap}.table td{padding:16px;border-bottom:1px solid #E2E8F0;font-size:14px;color:#64748b}@media (max-width: 768px){.table{font-size:13px}.table th,.table td{padding:12px 10px;font-size:12px}}.table tbody tr:hover{background:#f1f5f9}.table tbody tr:last-child td{border-bottom:none}.status-switch-container{display:flex;align-items:center;gap:8px}.status-label{font-size:12px;font-weight:500;min-width:60px}.status-label.active{color:#28a745}.status-label.inactive{color:#dc3545}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.badge-active{background:#d4edda;color:#155724}.badge-inactive{background:#f8d7da;color:#721c24}.badge-free{background:#d1ecf1;color:#0c5460}.badge-reserved{background:#fff3cd;color:#856404}.badge-used{background:#d4edda;color:#155724}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;padding:30px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content{background:#fff;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}@media (max-width: 768px){.modal,.modal-content{width:95%;max-width:95%;padding:20px;max-height:95vh;margin:10px}.modal-overlay{padding:20px 10px 10px;align-items:flex-start}}.modal-close{background:#fff3;border:none;color:#fff;font-size:28px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-form{padding:30px}@media (max-width: 768px){.modal-form{padding:20px 15px}}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#0f172a;font-size:14px}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:all .2s;font-family:inherit}@media (max-width: 768px){.form-group{margin-bottom:16px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input,.form-group textarea{padding:10px 14px;font-size:14px}}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group textarea:disabled{background:#f1f5f9;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px;border:1px solid #fcc}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #E2E8F0}@media (max-width: 768px){.modal-actions{flex-direction:column-reverse;gap:10px;margin-top:20px;padding-top:15px}.modal-actions button{width:100%;padding:12px}}.modal-actions button{padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.modal-actions button[type=button]{background:#f1f5f9;color:#64748b}.modal-actions button[type=button]:hover{background:#e2e8f0}.modal-actions button[type=submit]{background:#2563eb;color:#fff}.modal-actions button[type=submit]:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.modal-actions button:disabled{opacity:.6;cursor:not-allowed;transform:none}.ip-details-modal{max-width:900px;width:95%;padding:0}@media (max-width: 768px){.ip-details-modal{width:98%;max-width:98%}.ip-details-content{padding:20px 15px}.ip-details-info{flex-direction:column;gap:15px;padding:15px}.info-item{width:100%}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid rgba(255,255,255,.2);background:#2563eb;border-radius:8px 8px 0 0}.modal-header .modal-title{color:#fff;margin:0;font-size:22px}.modal-close-btn{background:#fff3;border:none;color:#fff;font-size:28px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.modal-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.ip-details-content{padding:30px}.ip-details-info{display:flex;gap:30px;margin-bottom:25px;padding:20px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.info-item{display:flex;flex-direction:column;gap:5px}.info-label{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.info-value{font-size:16px;font-weight:600;color:#0f172a}.ip-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#4c6ef5;background:#f0f4ff;padding:6px 12px;border-radius:6px;display:inline-block}.brokers-table-container{margin-top:20px}@media (max-width: 768px){.brokers-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.brokers-table{min-width:600px}.brokers-table th,.brokers-table td{padding:10px 8px;font-size:12px}}.brokers-table-title{font-size:18px;font-weight:600;margin-bottom:15px;color:#0f172a}.brokers-table{width:100%;border-collapse:collapse}.brokers-table thead{background:#f8f9fa}.brokers-table th{padding:12px 15px;text-align:left;font-weight:600;color:#0f172a;font-size:13px;border-bottom:2px solid #E2E8F0}.brokers-table td{padding:12px 15px;border-bottom:1px solid #f0f0f0;font-size:14px}.brokers-table tbody tr:hover{background:#f8f9fa}.broker-name{font-weight:600;color:#2e7d32;background:#e8f5e9;padding:4px 12px;border-radius:12px;display:inline-block;font-size:13px}.modal-title{font-size:20px;font-weight:600;margin-bottom:20px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-input{width:100%;padding:10px 12px;border:1px solid #e5e5e5;border-radius:6px;font-size:14px;transition:border-color .2s}.form-input:focus{outline:none;border-color:#0070f3}.form-textarea{width:100%;padding:10px 12px;border:1px solid #e5e5e5;border-radius:6px;font-size:14px;min-height:100px;resize:vertical;font-family:inherit}.form-textarea:focus{outline:none;border-color:#0070f3}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.loading{text-align:center;padding:40px;color:#64748b}.error{background:#f8d7da;color:#721c24;padding:12px;border-radius:6px;margin-bottom:20px}.filter-bar{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap;align-items:flex-end}@media (max-width: 768px){.filter-bar{flex-direction:column;gap:12px;align-items:stretch}.filter-group,.filter-input{width:100%}}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:12px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.filter-input{padding:10px 14px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;background:#fff;transition:all .2s;min-height:40px;color:#0f172a}.filter-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.filter-input:hover{border-color:#cbd5e1}.filter-clear-btn{height:40px;padding:10px 20px;background:#64748b;color:#fff;border:none;font-weight:600;transition:all .2s}.filter-clear-btn:hover{background:#475569;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.empty-state{text-align:center;padding:60px 20px;color:#64748b}.empty-state h3{margin-bottom:10px;color:#0f172a}@media (max-width: 768px){.empty-state{padding:40px 15px}.empty-state h3{font-size:18px}.empty-state p{font-size:14px}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch;gap:15px;margin-bottom:15px}.page-header .btn{width:100%;min-height:44px}button,.btn,a.btn,input,textarea,select{min-height:44px;touch-action:manipulation}}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:20px;background:#fff;border:1px solid #E2E8F0;border-radius:8px;flex-wrap:wrap;gap:15px}.pagination-info{display:flex;align-items:center;gap:20px;color:#64748b;font-size:14px}.pagination-limit{display:flex;align-items:center;gap:8px}.pagination-limit label{font-size:14px;color:#64748b}.pagination-select{padding:6px 10px;border:1px solid #E2E8F0;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;color:#0f172a}.pagination-select:focus{outline:none;border-color:#2563eb}.pagination-controls{display:flex;gap:5px;align-items:center}.pagination-btn{min-width:36px;height:36px;padding:0 12px;border:1px solid #CBD5E1;border-radius:6px;background:#fff;color:#0f172a;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#2563eb;color:#2563eb}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.pagination-btn.active:hover{background:#1d4ed8;border-color:#1d4ed8}@media (max-width: 768px){.pagination-container{flex-direction:column;align-items:stretch;padding:15px;gap:12px}.pagination-info{justify-content:space-between;width:100%;font-size:13px}.pagination-controls{justify-content:center;flex-wrap:wrap;gap:4px}.pagination-btn{min-width:32px;height:32px;padding:0 8px;font-size:13px}}.data-table-container{margin-top:20px}.data-table-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:20px;background:#fff;border:1px solid #E2E8F0;border-radius:8px;flex-wrap:wrap;gap:15px}.data-table-info{color:#64748b;font-size:14px}.data-table-controls{display:flex;gap:5px;align-items:center}.data-table-page-info{padding:0 15px;color:#64748b;font-size:14px}.data-table-page-size{display:flex;align-items:center;gap:8px}.data-table-page-size label{font-size:14px;color:#64748b}@media (max-width: 768px){.data-table-pagination{flex-direction:column;align-items:stretch;padding:15px;gap:12px}.data-table-info{width:100%;text-align:center;font-size:13px}.data-table-controls{justify-content:center;flex-wrap:wrap;width:100%;gap:4px}.data-table-page-size{justify-content:center;width:100%}.data-table-page-info{padding:0 10px;font-size:13px}}.monitoring-page{width:100%}.monitoring-header{background:#2563eb;border-radius:12px;padding:30px;margin-bottom:30px;box-shadow:0 4px 6px #0000001a}.monitoring-header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.monitoring-title-section{display:flex;flex-direction:column;gap:8px}.monitoring-title{font-size:32px;font-weight:700;color:#fff;margin:0;letter-spacing:-.5px}.monitoring-subtitle{font-size:16px;color:#ffffffe6;font-weight:400}.monitoring-stats{display:flex;gap:20px;flex-wrap:wrap}.stat-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:16px 24px;min-width:140px;border:1px solid rgba(255,255,255,.2)}.stat-label{font-size:12px;color:#fffc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:500}.stat-value{font-size:24px;font-weight:700;color:#fff}.monitoring-filters{background:#f1f5f9;border-radius:10px;padding:20px;margin-bottom:25px;border:1px solid #E2E8F0}.monitoring-table-section{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.monitoring-table{width:100%}.monitoring-table thead{background:#2563eb}.monitoring-table thead th{color:#fff;font-weight:600;padding:18px 20px;text-transform:uppercase;font-size:12px;letter-spacing:.5px;border:none}.table-header-panel{width:15%}.table-header-ip{width:18%}.table-header-broker{width:15%}.table-header-users{width:25%}.table-header-date{width:27%}.monitoring-table-row{transition:all .2s ease}.monitoring-table-row:hover{background:#f1f5f9;transform:scale(1.001);box-shadow:0 2px 8px #0000000d}.monitoring-table-row td{padding:18px 20px;border-bottom:1px solid #E2E8F0}.table-cell-panel{font-weight:500}.panel-badge{display:inline-block;background:#2563eb;color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 2px 4px #2563eb4d}.table-cell-ip{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.ip-address{display:inline-block;background:#f0f4ff;color:#4c6ef5;padding:6px 12px;border-radius:6px;font-weight:600;font-size:13px;border:1px solid #e0e7ff}.table-cell-broker{font-weight:500}.broker-badge{display:inline-block;background:#e8f5e9;color:#2e7d32;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;border:1px solid #c8e6c9}.table-cell-users{max-width:300px}.users-list{display:flex;flex-wrap:wrap;gap:6px}.no-users{color:#94a3b8;font-style:italic}.table-cell-date{color:#64748b;font-size:13px}.date-time{display:inline-block;background:#f1f5f9;padding:6px 12px;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:#0f172a}@media (max-width: 768px){.monitoring-header{padding:20px;margin-bottom:20px}.monitoring-header-content{flex-direction:column;align-items:flex-start;gap:15px}.monitoring-stats{width:100%;gap:10px}.stat-card{flex:1;min-width:auto;padding:12px 16px}.stat-value{font-size:20px}.stat-label{font-size:11px}.monitoring-title{font-size:22px}.monitoring-subtitle{font-size:13px}.monitoring-filters{padding:15px}.monitoring-table-section{overflow-x:auto;-webkit-overflow-scrolling:touch}.monitoring-table{min-width:800px}.monitoring-table thead th{padding:12px 10px;font-size:10px}.monitoring-table-row td{padding:12px 10px;font-size:11px}.users-list{flex-direction:column;gap:4px}}.activity-logs-page{width:100%}.activity-logs-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #E2E8F0}.page-subtitle{color:#64748b;font-size:14px;margin-top:8px;font-weight:400}.logs-stats{display:flex;gap:12px;align-items:center}.stat-badge{display:inline-flex;align-items:center;padding:8px 16px;background:#2563eb;color:#fff;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 2px 8px #2563eb4d}.stat-badge strong{font-weight:700;margin-left:4px}.activity-logs-filters{background:#f1f5f9;padding:20px;border-radius:12px;border:1px solid #E2E8F0;margin-bottom:25px}.activity-logs-filters .filter-label{display:flex;align-items:center;font-weight:600}.activity-logs-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;border:1px solid #E2E8F0}.activity-logs-table{width:100%;border-collapse:collapse}.activity-logs-table thead{background:#2563eb}.activity-logs-table thead th{color:#fff;font-weight:600;padding:18px 16px;text-transform:uppercase;font-size:11px;letter-spacing:.5px;text-align:left;border:none}.activity-logs-table tbody tr{border-bottom:1px solid #E2E8F0;transition:all .2s ease}.activity-logs-table tbody tr:hover{background:#f1f5f9;transform:scale(1.001);box-shadow:0 2px 8px #0000000d}.activity-logs-table tbody tr.log-row-success{border-left:3px solid #28a745}.activity-logs-table tbody tr.log-row-error{border-left:3px solid #dc3545}.activity-logs-table tbody td{padding:16px;font-size:13px;vertical-align:top}.col-time{width:140px;min-width:140px}.col-status{width:100px;min-width:100px}.col-panel{width:120px;min-width:120px}.col-ip{width:140px;min-width:140px}.col-broker,.col-user{width:120px;min-width:120px}.col-code{width:100px;min-width:100px}.col-message{min-width:200px}.col-error{min-width:250px;max-width:400px}.time-cell{display:flex;flex-direction:column;gap:4px}.time-date{font-weight:600;color:#0f172a;font-size:12px}.time-time{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#64748b;font-size:11px}.badge-success{display:inline-flex;align-items:center;background:#d4edda;color:#155724;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid #c3e6cb}.badge-error{display:inline-flex;align-items:center;background:#f8d7da;color:#721c24;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid #f5c6cb}.panel-badge{display:inline-block;background:#2563eb;color:#fff;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;box-shadow:0 2px 4px #2563eb4d}.ip-address{display:inline-block;background:#f0f4ff;color:#4c6ef5;padding:6px 12px;border-radius:6px;font-weight:600;font-size:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;border:1px solid #e0e7ff}.broker-badge{display:inline-block;background:#e8f5e9;color:#2e7d32;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid #c8e6c9}.user-tag{display:inline-block;background:#fff3e0;color:#e65100;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid #ffe0b2}.status-code-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-weight:700;font-size:12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.message-text{color:#0f172a;font-size:12px;line-height:1.5}.error-message-cell{display:flex;align-items:flex-start;gap:6px;color:#dc3545;font-size:11px;line-height:1.5}.error-text{flex:1;word-break:break-word}.empty-value{color:#94a3b8;font-style:italic;font-size:12px}@media (max-width: 1200px){.activity-logs-table{font-size:12px}.activity-logs-table thead th{padding:12px 10px;font-size:10px}.activity-logs-table tbody td{padding:12px 10px;font-size:11px}.col-time{width:120px;min-width:120px}.col-message{min-width:150px}.col-error{min-width:200px;max-width:300px}}@media (max-width: 768px){.activity-logs-header{flex-direction:column;gap:16px;margin-bottom:20px;padding-bottom:15px}.page-subtitle{font-size:13px}.logs-stats{flex-wrap:wrap;gap:8px}.stat-badge{padding:6px 12px;font-size:12px}.activity-logs-filters{flex-direction:column;padding:15px;gap:12px}.activity-logs-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.activity-logs-table{min-width:1000px;font-size:11px}.activity-logs-table thead th{padding:10px 8px;font-size:9px}.activity-logs-table tbody td{padding:10px 8px;font-size:10px}}
