.module-card__switch{display:inline-flex;cursor:pointer;align-items:center;gap:0;background:rgba(0,0,0,0);border:none;padding:0;flex-shrink:0}.module-card__switch-track{position:relative;width:40px;height:22px;border-radius:999px;background:#cbd5e1;transition:background-color .2s ease}.module-card__switch-thumb{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.24);transition:transform .2s ease}.module-card__switch.is-on .module-card__switch-track{background:linear-gradient(-135deg, var(--av-accent-gold-soft) 0%, var(--av-accent-gold) 100%)}.module-card__switch.is-on.color-green .module-card__switch-track{background:linear-gradient(-135deg, #10b981 0%, #059669 100%)}.module-card__switch.is-on.color-red .module-card__switch-track{background:linear-gradient(-135deg, #ef4444 0%, #dc2626 100%)}.module-card__switch.is-on.color-blue .module-card__switch-track,.module-card__switch.is-on.color-indigo .module-card__switch-track{background:linear-gradient(-135deg, var(--av-accent-gold-soft) 0%, var(--av-accent-gold) 100%)}.module-card__switch.is-on .module-card__switch-thumb{transform:translateX(-18px)}.module-card__switch:focus-visible{outline:none}.module-card__switch:focus-visible .module-card__switch-track{box-shadow:0 0 0 3px rgba(var(--av-accent-gold-rgb), 0.25)}.module-card__switch:focus-visible.color-green:focus-visible .module-card__switch-track{box-shadow:0 0 0 3px rgba(16,185,129,.25)}.module-card__switch:focus-visible.color-red:focus-visible .module-card__switch-track{box-shadow:0 0 0 3px rgba(239,68,68,.25)}
.module-card{align-items:center;text-align:center;cursor:default;min-height:auto;height:auto;padding:24px 24px 18px;border-width:1px;border-color:#d9e1ea;border-radius:var(--av-radius-xl);background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.045);transform:none}.module-card:hover:not(:disabled){transform:translateY(-1px);border-color:#cfd9e5;box-shadow:0 6px 14px rgba(15,23,42,.06)}.module-card.active-module{border-color:#c8d6e8;box-shadow:0 5px 12px rgba(15,23,42,.055)}.module-card .module-card__body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;flex:1}.module-card .module-card__icon{margin-top:2px;margin-bottom:10px;font-size:2.35rem}.module-card .module-card__title{margin-bottom:2px;line-height:1.25}.module-card .module-card__desc{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(100 116 139 / var(--tw-text-opacity, 1));margin-bottom:8px;line-height:1.45;width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.module-card .module-card__footer{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:14px;border-top:1px solid var(--av-border);min-height:54px}.module-card .module-card__footer-start{display:flex;align-items:center;min-width:0;flex:1;min-height:32px}.module-card .module-card__action-btn{display:inline-flex;cursor:pointer;align-items:center;font-size:0.875rem;line-height:1.25rem;font-weight:600;gap:6px;border-radius:var(--av-radius-pill);border:1px solid rgba(0,0,0,0);background:rgba(79,70,229,.1);color:#4f46e5;line-height:1.3;padding:6px 12px;transition:all .2s ease}.module-card .module-card__action-btn:hover:not(:disabled){background:rgba(79,70,229,.18);color:#312e81}.module-card .module-card__action-btn:disabled,.module-card .module-card__action-btn.is-disabled{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;cursor:default}.module-card .module-card__meta,.module-card .module-card__status{font-size:0.75rem;line-height:1rem;font-weight:600;color:#94a3b8}.module-card .module-card__meta.is-active,.module-card .module-card__status.is-active{color:#047857}.module-card .module-card__status.is-inactive{color:#94a3b8}.module-card .module-card__pro-badge{position:absolute;top:-10px;left:10px;background:#f1f5f9;color:#475569;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:bold;box-shadow:0 1px 2px rgba(0,0,0,.05)}.module-card .module-card__coming-soon-badge{position:absolute;top:-10px;left:10px;background:#e2e8f0;color:#475569;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:bold;box-shadow:0 1px 2px rgba(0,0,0,.05)}.module-card .module-card__upgrade-btn{margin:0;border:none;cursor:pointer;width:auto}@media(max-width: 782px){.module-card{min-height:auto;height:auto;padding:18px 16px 14px}.module-card .module-card__desc{width:100%}}
.ip-blocker-container{max-width:800px;margin:0 auto;padding:10px}.ip-blocker-container .ip-blocker-header{margin-bottom:30px}.ip-blocker-container .ip-blocker-header h3{font-size:1.25rem;color:#1e293b;margin-bottom:8px;font-weight:600}.ip-blocker-container .ip-blocker-header p{color:#64748b;font-size:.95rem;line-height:1.5}.ip-blocker-container .ip-blocker-input-area{margin-bottom:40px}.ip-blocker-container .ip-blocker-input-area .ip-input-wrapper{display:flex;align-items:center;position:relative;gap:16px}.ip-blocker-container .ip-blocker-input-area .ip-input-wrapper .ip-icon{position:absolute;right:16px;font-size:1.2rem;color:#94a3b8;pointer-events:none}.ip-blocker-container .ip-blocker-input-area .ip-input-wrapper .advajra-ip-input{flex:1;padding:14px 48px 14px 16px;border:1px solid #cbd5e1;border-radius:50px;font-size:1rem;color:#334155;transition:all .2s ease;font-family:monospace;background-color:#fff}.ip-blocker-container .ip-blocker-input-area .ip-input-wrapper .advajra-ip-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.2)}.ip-blocker-container .ip-blocker-input-area .ip-input-wrapper .advajra-ip-input.has-error{border-color:#ef4444}.ip-blocker-container .ip-blocker-input-area .ip-input-wrapper .advajra-ip-input.has-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.ip-blocker-container .ip-blocker-input-area .ip-input-wrapper .advajra-ip-textarea{resize:vertical;min-height:52px;line-height:1.5}.ip-blocker-container .ip-blocker-input-area .ip-error-message{margin-top:10px;color:#ef4444;font-size:.875rem;font-weight:500;padding-right:48px}.ip-blocker-container .ip-list-section .ip-list-header{display:flex;align-items:center;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.ip-blocker-container .ip-list-section .ip-list-header h4{font-size:1.1rem;color:#334155;font-weight:600;margin:0;display:flex;align-items:center;gap:12px}.ip-blocker-container .ip-list-section .ip-list-header h4 .ip-count{background:#f1f5f9;color:#475569;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:700}.ip-blocker-container .ip-list-section .advajra-ip-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:16px}.ip-blocker-container .ip-list-section .advajra-ip-grid .advajra-ip-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;transition:all .2s ease}.ip-blocker-container .ip-list-section .advajra-ip-grid .advajra-ip-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}.ip-blocker-container .ip-list-section .advajra-ip-grid .advajra-ip-card:hover .ip-remove-btn{background:#fee2e2;color:#ef4444}.ip-blocker-container .ip-list-section .advajra-ip-grid .advajra-ip-card .ip-card-content{padding:12px 16px;flex:1}.ip-blocker-container .ip-list-section .advajra-ip-grid .advajra-ip-card .ip-card-content .ip-label{font-family:monospace;font-size:.95rem;color:#1e293b;font-weight:500}.ip-blocker-container .ip-list-section .advajra-ip-grid .advajra-ip-card .ip-remove-btn{padding:12px 14px;background:rgba(0,0,0,0);border:none;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.ip-blocker-container .ip-list-section .advajra-ip-grid .advajra-ip-card .ip-remove-btn:focus{outline:none;background:#fee2e2;color:#ef4444}.ip-blocker-container .ip-list-section .advajra-empty-state{text-align:center;padding:60px 40px;background:#f8fafc;border-radius:16px;border:2px dashed #e2e8f0}.ip-blocker-container .ip-list-section .advajra-empty-state .empty-icon{font-size:3rem;margin-bottom:20px;opacity:.8}.ip-blocker-container .ip-list-section .advajra-empty-state h4{font-size:1.25rem;color:#334155;margin-bottom:12px}
