.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-color, #6366f1) 0%,#764ba2 100%);padding:20px;overflow-x:hidden}.login-box{background:var(--bg-secondary, #ffffff);border-radius:12px;padding:40px;box-shadow:0 10px 40px #0000004d;width:100%;max-width:400px;position:relative}.login-theme-toggle-wrap{position:absolute;top:40px;right:40px}.login-box .theme-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color, #e2e8f0);border-radius:10px;cursor:pointer}.login-box .theme-toggle:hover{background:#0000000d}.login-box h1{color:var(--accent-color, #6366f1);text-align:center;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:12px}.login-logo{height:64px;width:auto;-o-object-fit:contain;object-fit:contain}.login-logo-spacer{width:64px;height:64px;visibility:hidden}.login-box h2{color:var(--text-primary, #0f172a);text-align:center;margin-bottom:30px;font-size:18px;font-weight:400}.toggle{display:flex;gap:10px;margin-bottom:20px}.toggle button{flex:1;min-width:0;padding:10px;border:2px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #ffffff);color:var(--text-primary, #0f172a);border-radius:8px;cursor:pointer;transition:all .3s;font-size:14px}.toggle button.active{background:var(--accent-color, #6366f1);color:#fff;border-color:var(--accent-color, #6366f1)}form{display:flex;flex-direction:column;gap:15px}.input{padding:12px;border:2px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:16px;background:var(--bg-secondary, #ffffff);color:var(--text-primary, #0f172a);transition:border-color .3s}.input:focus{outline:none;border-color:var(--accent-color, #6366f1)}.button{padding:12px 24px;background:var(--accent-color, #6366f1);color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:background .3s;margin-top:10px}.button:hover:not(:disabled){opacity:.9}.button:disabled{opacity:.6;cursor:not-allowed}.error{background:#dc35451a;color:var(--error-color, #ef4444);padding:12px;border-radius:8px;font-size:14px;border:1px solid var(--error-color, #ef4444)}.login-url-hint{color:var(--text-secondary, #64748b);font-size:12px;display:block;margin-top:5px;margin-bottom:15px}@media (max-width: 767px){.login-container{min-height:100dvh;padding:5%;padding-top:max(5%,env(safe-area-inset-top));padding-bottom:max(5%,env(safe-area-inset-bottom))}.login-box{max-width:none;padding:24px 20px 28px}.login-theme-toggle-wrap{top:20px;right:20px}.login-box .theme-toggle{width:44px;height:44px}.login-box h1{margin-bottom:8px;gap:10px}.login-logo{height:52px}.login-logo-spacer{width:52px;height:52px}.login-box h2{margin-bottom:18px;font-size:17px}.toggle{margin-bottom:18px}.toggle button{padding:12px 10px;font-size:15px}form{gap:14px}.login-url-hint{margin-top:6px;margin-bottom:12px;line-height:1.4;overflow-wrap:break-word}.input{padding:14px 12px}.button{padding:14px 24px;margin-top:6px;min-height:48px}}.device-owner-setup{max-width:800px;margin:0 auto;padding:2rem}.device-owner-setup-mobile{padding:1rem 1.25rem}.device-owner-setup-mobile .setup-header h2{font-size:1.25rem}.device-owner-setup-mobile .mobile-lead{font-size:1rem;margin-bottom:1rem}.device-owner-setup-mobile .mobile-do-instructions{text-align:left;font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.device-owner-setup-mobile .mobile-do-instructions p{margin:0 0 1rem}.device-owner-setup-mobile .mobile-do-instructions ol{margin:0;padding-left:1.25rem}.device-owner-setup-mobile .mobile-do-instructions li{margin-bottom:.5rem}.device-owner-setup-mobile .mobile-do-instructions strong{color:var(--text-primary)}.setup-header{text-align:center;margin-bottom:2rem}.setup-header h2{font-size:2rem;margin-bottom:.5rem}.setup-header p{color:var(--text-secondary);font-size:1.1rem}.progress-steps{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative}.progress-steps:before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:var(--border-color);z-index:0}.step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;flex:1}.step-number{width:40px;height:40px;border-radius:50%;background:var(--surface-secondary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:.5rem;transition:all .3s}.step.active .step-number{background:var(--primary);border-color:var(--primary);color:#fff}.step.current .step-number{box-shadow:0 0 0 4px rgba(var(--primary-rgb),.2)}.step-label{font-size:.875rem;color:var(--text-secondary);text-align:center}.step.active .step-label{color:var(--text-primary);font-weight:500}.step-content{min-height:400px}.step-panel{text-align:center;padding:2rem}.step-icon{margin:0 auto 1.5rem;color:var(--primary)}.step-panel h3{font-size:1.5rem;margin-bottom:.5rem}.step-panel p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.step-header-compact{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.step-icon-small{color:var(--primary);margin-bottom:.75rem}.instruction-list.compact{max-width:650px;margin:1rem auto}.instruction-item{display:flex;align-items:flex-start;gap:1.25rem;padding:.75rem 0;margin-bottom:.5rem;background:none;border-radius:0;border:none;border-bottom:1px solid rgba(var(--border-color-rgb),.1);text-align:left}.instruction-item:last-child{border-bottom:none}.instruction-number{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;margin-top:3px}.instruction-icon-wrapper{color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:3px;opacity:.9}.instruction-content{flex:1}.instruction-title{display:block;font-weight:600;font-size:1rem;margin-bottom:.15rem;color:var(--text-primary)}.instruction-detail{font-size:.9rem;color:var(--text-secondary);margin:0!important;line-height:1.4}.instruction-item.critical{border-left:none}.instruction-item.critical .instruction-title{color:#ff4d4d}.instruction-item.critical .instruction-number{background:#ff4d4d}.info-box{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;margin:1.5rem 0;text-align:left}.info-box svg{color:var(--warning);flex-shrink:0}.success-box{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:var(--success-bg);border:1px solid var(--success-border);border-radius:8px;margin:1.5rem 0}.success-box svg{color:var(--success)}.device-info{font-size:.875rem;color:var(--text-secondary);margin-top:.5rem}.error-box{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;margin:1.5rem 0;text-align:left}.error-box svg{color:var(--error);flex-shrink:0}.error-hint{font-size:.875rem;margin-top:.5rem;color:var(--text-secondary)}.command-box{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin:1.5rem 0;text-align:left}.command-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:500}.btn-copy{padding:.25rem .75rem;font-size:.875rem;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-copy:hover{background:var(--surface-secondary)}.command-text{display:block;font-family:Courier New,monospace;font-size:.875rem;color:var(--text-primary);word-break:break-all;padding:.5rem;background:var(--surface-primary);border-radius:4px}.manual-instructions{text-align:left;max-width:600px;margin:1.5rem auto;padding:1rem;background:var(--surface-secondary);border-radius:8px}.manual-instructions h4{margin-bottom:1rem;font-size:1rem}.manual-instructions ol{margin-left:1.5rem;line-height:1.8}.manual-instructions li{margin-bottom:.5rem}.step-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-primary,.btn-secondary{padding:.75rem 2rem;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;border:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--surface-tertiary)}.terminal-box{background:#1e1e1e;border-radius:8px;margin:20px 0;overflow:hidden;border:1px solid #333;text-align:left}.terminal-header{background:#2d2d2d;padding:8px 12px;font-size:12px;color:#aaa;display:flex;align-items:center;gap:8px;border-bottom:1px solid #333}.terminal-content{padding:12px;font-family:Consolas,Monaco,monospace;font-size:13px;color:#0f0;min-height:100px;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.success-message{display:flex;align-items:center;gap:10px;color:#4caf50;font-weight:500;margin-bottom:15px}.device-page-container{width:100%;box-sizing:border-box;padding:16px}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:16px}.page-header h1{margin:0;color:var(--text-primary);font-size:24px;font-weight:700;letter-spacing:-.5px}.refresh-btn-icon{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .2s}.refresh-btn-icon:hover{background:var(--bg-hover);color:var(--accent-color);border-color:var(--accent-color);transform:rotate(180deg)}.devices-flex-container{display:flex;flex-wrap:wrap;gap:24px;justify-content:flex-start;align-items:stretch}.modern-device-card{width:300px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px;transition:transform .2s,box-shadow .2s,border-color .2s;cursor:pointer;position:relative}.modern-device-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0003;border-color:#6366f180}.card-top{display:flex;align-items:center;gap:16px}.card-icon-wrapper{width:48px;height:48px;background:#6366f11a;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#818cf8;flex-shrink:0}.card-meta{display:flex;flex-direction:column;gap:2px;overflow:hidden}.card-title{margin:0;font-size:16px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-subtitle{font-size:12px;color:var(--text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.card-status-row{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.status-pill{font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px}.status-pill.online{background:#10b98126;color:#34d399}.status-pill.offline{background:#6b728026;color:#9ca3af}.last-seen{font-size:11px;color:var(--text-secondary)}.device-owner-hint{margin:0;padding:8px 0 4px;font-size:12px;color:var(--text-secondary);line-height:1.4}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto}.card-btn{padding:8px;font-size:12px;font-weight:600;border-radius:8px;cursor:pointer;background:transparent;transition:all .2s;border:1px solid transparent}.card-btn.edit{border-color:#6366f133;color:#818cf8}.card-btn.edit:hover{background:#6366f11a;border-color:#818cf8}.card-btn.delete{border-color:#ef444433;color:#f87171}.card-btn.delete:hover{background:#ef44441a;border-color:#f87171}@media (max-width: 600px){.devices-flex-container{flex-direction:column;flex-wrap:nowrap}.modern-device-card{width:100%}.page-header{flex-direction:column;align-items:flex-start}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;backdrop-filter:blur(4px)}.device-owner-modal{background:var(--bg-secondary, #ffffff);border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary, #0f172a)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary, #64748b);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;line-height:1}.modal-close:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #0f172a)}.deactivate-do-modal{background:var(--bg-secondary, #ffffff);border-radius:12px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.deactivate-do-content{padding:1.5rem}.warning-box{display:flex;gap:1rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;margin-bottom:1.5rem}.warning-box svg{color:#ef4444;flex-shrink:0}.warning-box strong{display:block;color:#ef4444;margin-bottom:.25rem}.warning-box p{margin:0;font-size:.9rem;color:var(--text-secondary)}.deactivate-info{margin-bottom:1.5rem}.deactivate-info p{margin:0 0 .5rem;color:var(--text-primary)}.deactivate-info ul{margin:0;padding-left:1.5rem;color:var(--text-secondary)}.deactivate-info li{margin-bottom:.25rem;font-size:.9rem}.password-confirm{margin-bottom:1rem}.password-confirm label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.password-confirm input{width:100%;padding:.75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:1rem;background:var(--bg-primary, #ffffff);color:var(--text-primary)}.password-confirm input:focus{outline:none;border-color:var(--accent-color, #6366f1);box-shadow:0 0 0 3px #6366f11a}.error-message{padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;margin-bottom:1rem;font-size:.9rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-secondary{padding:.75rem 1.5rem;border:1px solid var(--border-color, #e2e8f0);background:transparent;color:var(--text-secondary);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary, #f1f5f9)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{padding:.75rem 1.5rem;border:none;background:#ef4444;color:#fff;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.device-pairing{max-width:600px;margin:0 auto;padding:24px}.pairing-stepper{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:40px;padding:20px;background:var(--bg-secondary);border-radius:16px}.step{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.4;transition:all .3s ease}.step.active{opacity:1}.step.completed{opacity:.8}.step-number{width:40px;height:40px;border-radius:50%;background:var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:var(--text-secondary);transition:all .3s ease}.step.active .step-number{background:var(--accent-color);color:#fff}.step.completed .step-number{background:#10b981;color:#fff}.step.completed .step-number:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234caf50' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;width:16px;height:16px;display:inline-block;vertical-align:middle;margin-right:8px}.step-label{font-size:12px;color:var(--text-secondary);text-align:center;max-width:80px}.step-line{width:40px;height:2px;background:var(--border-color)}.pairing-step{text-align:center}.step-icon{font-size:64px;margin-bottom:20px}.pairing-step h2{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:16px}.pairing-step p{color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.requirements-box,.instructions-box{background:rgba(var(--bg-secondary-rgb),.8);border:1px solid var(--border-color);border-radius:12px;padding:20px;margin-bottom:24px;text-align:left}.requirements-box h4,.instructions-box h4{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.requirements-box ul,.instructions-box ol{margin:0;padding-left:0;list-style:none}.requirements-box li{display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary);padding:6px 0;font-size:14px}.requirements-box li>:first-child{flex-shrink:0;color:var(--success-color);margin-top:2px}.requirements-box li>span{flex:1;min-width:0}.requirements-box .device-owner-note{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--border-color);font-size:13px;color:var(--text-secondary);line-height:1.45}.requirements-box .device-owner-note strong{color:var(--text-primary)}.instructions-box ol{padding-left:20px;list-style:decimal}.instructions-box li{color:var(--text-secondary);padding:8px 0;font-size:14px;line-height:1.5}.pairing-info-cards{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.info-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px;text-align:left}.info-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.info-value{font-size:18px;font-weight:600;color:var(--text-primary);font-family:Consolas,monospace;word-break:break-all}.info-value.copyable{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:rgba(var(--bg-secondary-rgb),.5);border-radius:8px;cursor:pointer;transition:all .2s ease}.info-value.copyable:hover{background:#6366f126;border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 4px 12px #6366f11a}.info-value.token{font-size:14px}.copy-icon{flex-shrink:0;opacity:.5;transition:opacity .2s}.info-value.copyable:hover .copy-icon{opacity:1}.info-expires{font-size:13px;color:#10b981;margin-top:10px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:6px}.info-expires:before{content:"●";font-size:8px}.info-expires.warning{color:#f59e0b}.info-expires.critical{color:#ef4444;font-weight:700}.qr-section{margin:24px 0}.qr-section p{margin-bottom:16px}.qr-code{width:200px;height:200px;border-radius:12px;border:4px solid var(--border-color)}.primary-button{padding:14px 32px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #6366f14d}.primary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{padding:14px 32px;background:transparent;color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.secondary-button:hover:not(:disabled){background:var(--bg-secondary)}.button-group{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.pairing-step.success .success-icon{color:#10b981}.device-card-new{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#10b9811a,#10b9810d);border:1px solid rgba(16,185,129,.3);border-radius:16px;margin:24px auto;max-width:300px}.device-icon{font-size:40px}.device-info{text-align:left}.device-name{font-size:18px;font-weight:600;color:var(--text-primary)}.device-type{font-size:12px;color:var(--text-secondary);text-transform:uppercase}.device-status{font-size:12px;margin-top:4px}.device-status.online{color:#10b981}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}@media (max-width: 640px){.pairing-stepper{flex-wrap:wrap}.step-line,.step-label{display:none}.info-value{font-size:14px}.button-group{flex-direction:column}.primary-button,.secondary-button{width:100%}}.day-picker{display:flex;flex-direction:column;gap:12px}.day-picker-buttons{display:flex;gap:8px;flex-wrap:wrap}.day-toggle{width:44px;height:44px;border-radius:50%;border:2px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.day-toggle:hover{background:#667eea26;border-color:var(--accent-color);color:var(--accent-color)}.day-toggle:focus{outline:none;box-shadow:0 0 0 3px #667eea33}.day-toggle.selected{background:var(--accent-color);border-color:var(--accent-color);color:#fff;box-shadow:0 0 12px #667eea66}.day-toggle.selected:hover{background:#5a6fd6;border-color:#5a6fd6;color:#fff}.day-presets{display:flex;gap:16px;flex-wrap:wrap}.day-preset-link{background:none;border:none;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;padding:4px 0;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;transition:all .2s ease}.day-preset-link:hover{color:var(--accent-color);text-decoration-style:solid}.day-preset-link.active{color:var(--accent-color);text-decoration:none;font-weight:600}@media (max-width: 400px){.day-toggle{width:38px;height:38px;font-size:11px}.day-picker-buttons{gap:6px}.day-presets{gap:12px}.day-preset-link{font-size:11px}}.rule-form{margin:24px 0;padding:28px;background:#0f172a66;border-radius:16px;border:1px solid var(--glass-border, rgba(255, 255, 255, .08));display:flex;flex-direction:column;gap:28px;transform:none!important;transition:none!important}.rule-form:hover{transform:none!important;box-shadow:none!important}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:2px;display:block}.form-group small{font-size:.8rem;color:var(--text-tertiary, rgba(148, 163, 184, .8));margin-top:-4px;margin-bottom:4px;display:block}.input{padding:14px 16px;border:1px solid var(--border-color, rgba(0, 0, 0, .15));border-radius:12px;font-size:15px;background:#f1f5f9;color:#1e293b;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}.input::-moz-placeholder{color:#64748b}.input::placeholder{color:#64748b}.input:focus{outline:none;border-color:var(--accent-color);background:#e2e8f0;box-shadow:0 0 0 3px #6366f126}.button{padding:14px 28px;background:var(--accent-color);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.button:hover{filter:brightness(1.08)}.button-secondary{background:var(--text-secondary)}.button-success{background:#10b981}.tag-button{padding:8px 14px;background:#6366f11a;color:var(--accent-color);border:1px solid rgba(99,102,241,.2);border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.tag-button:hover{background:var(--accent-color);color:#fff}.tag-button.selected,.tag-button:disabled{opacity:.4;cursor:not-allowed}.suggested-apps{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.selected-apps-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.app-chip{display:inline-flex;align-items:center;background:var(--accent-color);color:#fff;padding:6px 12px;border-radius:16px;font-size:13px;font-weight:500;gap:6px}.app-chip svg{opacity:.7;cursor:pointer}.app-chip svg:hover{opacity:1}.schedule-target-selector{display:flex;gap:12px;margin-top:8px}.radio-option{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#0f172a66;border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:12px;cursor:pointer;transition:all .2s;flex:1}.radio-option:hover{background:#0f172a99;border-color:#fff3}.radio-option.selected{background:#6366f126;border-color:var(--accent-color);color:var(--accent-color)}.radio-option input[type=radio]{display:none}.rules-list h3{margin:0 0 20px;color:var(--text-primary);font-size:1.1rem}.rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.rule-card{background:#ffffff08;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;transition:all .2s ease}.rule-card:hover{background:#ffffff0f;border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.rule-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.rule-card-header h4{margin:0;color:var(--text-primary);font-size:1rem;line-height:1.4}.rule-card-title-group{display:flex;flex-direction:column;gap:2px}.rule-name{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.rule-type-subtitle{font-size:.8rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge{font-size:10px;padding:4px 10px;border-radius:6px;text-transform:uppercase;font-weight:700;letter-spacing:.5px;flex-shrink:0}.status-badge.active{background:#10b98126;color:#10b981}.status-badge.inactive{background:#ef444426;color:#ef4444}.rule-card-body{flex:1}.rule-card-body p{margin:6px 0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.network-blocked{color:#ef4444!important;font-weight:600;display:flex;align-items:center}.delete-button{align-self:flex-start;padding:8px 16px;background:transparent;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.delete-button:hover{background:#ef44441a;border-color:#ef4444}.rule-editor{background:var(--glass-bg, rgba(30, 41, 59, .7));backdrop-filter:var(--glass-blur, blur(16px));-webkit-backdrop-filter:var(--glass-blur, blur(16px));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:16px;padding:32px;box-shadow:0 8px 32px #0003}.rule-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:24px;flex-wrap:wrap}.header-title-group{display:flex;align-items:center;gap:12px}.rule-editor-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.rules-count-badge{background:var(--accent-color);color:#fff;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700;opacity:.9}.header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.device-select{padding:12px 16px;border:1px solid var(--border-color, rgba(0, 0, 0, .15));border-radius:12px;font-size:14px;background:#f1f5f9;color:#1e293b;font-weight:500;cursor:pointer;min-width:200px;transition:border-color .2s}.device-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f126}.action-buttons-group{display:flex;align-items:center;gap:12px}.refresh-btn-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--glass-border, rgba(255, 255, 255, .1));border-radius:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.refresh-btn-icon:hover{background:#ffffff1a;color:var(--text-primary)}.refresh-btn-icon .spinning{animation:spin 1s linear infinite}.add-rule-btn{display:flex;align-items:center;gap:8px;padding:0 20px;height:42px;background:var(--accent-color);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.add-rule-btn:hover{filter:brightness(1.1)}.add-rule-btn.active{background:var(--text-secondary)}.loading-small{text-align:center;padding:40px 20px;color:var(--text-secondary)}.rules-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;background:#ffffff05;border-radius:20px;border:2px dashed rgba(255,255,255,.06);margin:24px 0}.empty-state-icon{width:72px;height:72px;background:#6366f11a;color:var(--accent-color);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.rules-empty-state h3{margin:0 0 8px;color:var(--text-primary);font-size:1.15rem}.rules-empty-state p{margin:0;color:var(--text-secondary);font-size:.95rem;max-width:360px;line-height:1.5}.hidden-apps-section{margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.08)}.section-title{font-size:1rem;font-weight:600;margin-bottom:8px;color:var(--text-primary);display:flex;align-items:center}.section-description{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.hidden-apps-list{display:flex;flex-wrap:wrap;gap:12px}.hidden-app-item{display:flex;align-items:center;gap:12px;background:#0f172a66;padding:10px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.hidden-app-name{font-size:.9rem;font-weight:500;color:var(--text-primary)}.restore-button{background:transparent;border:1px solid var(--accent-color);color:var(--accent-color);padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.restore-button:hover{background:var(--accent-color);color:#fff}.empty-small{font-size:.9rem;color:var(--text-secondary);font-style:italic;padding:12px 0}@media (max-width: 768px){.rule-editor{padding:20px}.rule-editor-header{flex-direction:column;align-items:stretch;gap:16px}.header-actions{flex-direction:column;align-items:stretch}.device-select{width:100%;min-width:unset}.action-buttons-group{justify-content:flex-end}.rule-form{padding:20px;gap:24px}.schedule-target-selector{flex-direction:column}.rules-grid{grid-template-columns:1fr}}.metric-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:140px}.metric-label{font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.metric-value{font-size:28px;font-weight:800;color:var(--text-primary);line-height:1.2}.metric-value.huge{font-size:42px;background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.metric-value.app-name{font-size:22px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-value.muted{font-size:16px;color:var(--text-secondary)}.metric-subvalue{font-size:13px;color:var(--text-secondary);margin-top:4px}.metric-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:12px;margin-top:8px}.metric-badge.green{background:#10b98133;color:#10b981}.metric-badge.red{background:#ef444433;color:#ef4444}.metric-badge.badge-red{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.metric-badge.badge-green{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.metric-card.total-time{background:linear-gradient(135deg,#6366f11a,#a855f71a);border-color:#6366f14d}.limit-progress-container{width:100%;height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden;margin:8px 0}.limit-progress-bar{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:6px;transition:width .5s ease}.limit-progress-bar.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.limit-progress-bar.exceeded{background:linear-gradient(90deg,#ef4444,#f87171)}.limit-percentage{font-size:28px;font-weight:800;color:var(--text-primary);margin:4px 0}.weekly-chart{grid-column:span 2;min-height:280px}.apps-card{min-height:280px;display:flex;flex-direction:column}.apps-card h3{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary)}.apps-list{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:4px}.app-item{cursor:pointer;padding:10px 12px;border-radius:10px;background:#ffffff08;border:1px solid transparent;transition:all .2s ease}.app-item:hover{background:#ffffff14;border-color:var(--border-color);transform:translate(4px)}.app-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.app-icon-name{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.app-icon{font-size:18px;flex-shrink:0}.app-item .app-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.app-duration{font-size:14px;font-weight:700;color:#fff;background:#6366f14d;padding:2px 8px;border-radius:6px;flex-shrink:0}.app-bar-container{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:4px}.app-bar{height:100%;border-radius:2px;transition:width .3s ease}.app-limit-row{display:flex;align-items:center;gap:8px;margin-top:4px}.app-limit-bar-container{flex:1;height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.app-limit-bar{height:100%;border-radius:2px;background:linear-gradient(90deg,#10b981,#34d399);transition:width .3s ease}.app-limit-bar.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.app-limit-bar.critical,.app-limit-bar.exceeded{background:linear-gradient(90deg,#ef4444,#f87171)}.app-limit-text{font-size:10px;font-weight:500;color:var(--text-secondary);flex-shrink:0}.app-limit-text.warning{color:#f59e0b}.app-limit-text.critical,.app-limit-text.exceeded{color:#ef4444}.no-apps{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--text-secondary);padding:20px;gap:8px}.no-apps-icon{font-size:32px;opacity:.5}.top-app-display{display:flex;align-items:center;gap:10px;margin-bottom:4px}.top-app-icon{font-size:28px}.clickable-app-report{cursor:pointer;position:relative;transition:background-color .2s ease}.clickable-app-report:hover{background:#ffffff1f;box-shadow:0 4px 12px #0003}.app-meta-group{display:flex;align-items:center;gap:8px}.chevron-icon{font-size:20px;color:var(--text-secondary);opacity:.3;transition:all .2s ease;line-height:1;font-weight:300;margin-left:4px}.clickable-app-report:hover .chevron-icon{opacity:1;color:var(--accent-color);transform:translate(4px)}.process-monitor-panel{grid-column:1 / -1;background:linear-gradient(180deg,#0009,#0a0f14cc);border:1px solid rgba(16,185,129,.4);border-radius:8px;overflow:hidden;font-family:Consolas,Monaco,Courier New,monospace}.monitor-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#10b98126;border-bottom:1px solid rgba(16,185,129,.3)}.monitor-title{display:flex;align-items:center;gap:10px}.monitor-title h4{margin:0;font-size:14px;font-weight:600;color:#10b981;letter-spacing:.5px}.process-count{background:#10b981;color:#000;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}.monitor-timestamp{font-size:11px;color:#10b981cc}.pulse-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse-live 1.5s infinite;box-shadow:0 0 8px #10b981}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.4}}.process-table{max-height:300px;overflow-y:auto}.process-table-header{display:flex;justify-content:space-between;padding:8px 16px;background:#0006;border-bottom:1px solid rgba(255,255,255,.1);font-size:10px;font-weight:700;color:#ffffff80;letter-spacing:1px;text-transform:uppercase;position:sticky;top:0}.process-table-header .col-name{flex:1}.process-table-header .col-status{width:80px;text-align:right}.process-table-body{font-size:12px}.process-row{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s ease}.process-row:hover{background:#10b9811a}.process-row:nth-child(2n){background:#ffffff05}.process-row:nth-child(2n):hover{background:#10b9811a}.process-row .col-name{flex:1;color:#ffffffe6;font-weight:500}.process-row .col-status{width:80px;text-align:right;font-size:10px;font-weight:600}.process-row .col-status.running{color:#10b981}.process-table::-webkit-scrollbar{width:6px}.process-table::-webkit-scrollbar-track{background:#0000004d}.process-table::-webkit-scrollbar-thumb{background:#10b98166;border-radius:3px}.process-table::-webkit-scrollbar-thumb:hover{background:#10b98199}.reports-container{padding:24px;min-height:100vh}.reports-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.reports-header h2{margin:0;font-size:24px;font-weight:700;color:var(--text-primary)}.header-left{display:flex;align-items:center}.device-select{padding:10px 16px;border:1px solid var(--border-color);border-radius:10px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;min-width:160px}.device-select:focus{outline:none;border-color:var(--accent-color)}.bento-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto auto auto;gap:16px}.bento-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.bento-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.heatmap-card{grid-column:span 3}.bento-footer{grid-column:span 3;display:flex;justify-content:center;gap:40px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.footer-stat{display:flex;align-items:center;gap:8px}.footer-value{font-size:18px;font-weight:700;color:var(--text-primary)}.footer-label{font-size:12px;color:var(--text-secondary)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:var(--text-secondary);gap:16px}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}.chart-loading-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px}@media (max-width: 1024px){.bento-grid{grid-template-columns:repeat(2,1fr)}.metric-card:nth-child(3){grid-column:span 2}.weekly-chart,.apps-card,.heatmap-card,.bento-footer{grid-column:span 2}}@media (max-width: 768px){.reports-container{padding:12px;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.bento-grid{display:flex;flex-direction:column;gap:16px;width:100%}.bento-card,.metric-card,.weekly-chart,.apps-card,.heatmap-card,.bento-footer,.process-monitor-panel{grid-column:auto!important;width:100%;box-sizing:border-box;min-width:0}.metric-value.huge{font-size:36px}.bento-footer{flex-wrap:wrap;gap:16px;display:grid;grid-template-columns:repeat(3,1fr);padding:16px 12px;text-align:center}.footer-stat{flex-direction:column;gap:4px;justify-content:center}.footer-value{font-size:16px}.footer-label{font-size:11px}.monitor-header{flex-direction:column;align-items:flex-start;gap:12px}.process-table{max-height:400px}.process-table-header{font-size:11px;padding:10px 12px}.process-row{padding:12px}.process-row .col-name{font-size:13px}.process-row .col-status{font-size:11px}}@media (max-width: 480px){.reports-header{flex-direction:column;align-items:stretch}.device-select{width:100%}.metric-value.huge{font-size:32px}.metric-card{min-height:120px}}.smart-insights-card{background:var(--card-bg, #2d3436);border-radius:16px;padding:20px;color:#fff;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;gap:15px;min-height:200px;border:1px solid rgba(255,255,255,.05);transition:transform .2s ease}.insights-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.insights-header h3{margin:0;font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:8px;color:#a29bfe}.insights-tabs{display:flex;background:#0003;padding:4px;border-radius:8px;gap:4px}.insight-tab{background:transparent;border:none;color:#ffffff80;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s ease}.insight-tab:hover{color:#fff;background:#ffffff0d}.insight-tab.active{background:#6c5ce7;color:#fff;box-shadow:0 2px 8px #6c5ce766}.insight-content{flex:1;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.focus-layout{display:flex;align-items:center;gap:20px;margin-bottom:5px}.focus-chart-container{position:relative;width:120px;height:120px}.chart-center-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.4rem;font-weight:800;color:#a29bfe}.focus-details{display:flex;flex-direction:column;gap:10px;flex:1}.stat-box-small{background:#ffffff08;padding:8px 12px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,255,255,.05)}.stat-value-small{font-size:1.1rem;font-weight:700;color:#fdcb6e}.stat-label-small{font-size:.7rem;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.stat-subtext-centered{text-align:center;font-size:.7rem;margin-top:10px;color:#ffffff4d}.balance-content-refined{display:flex;flex-direction:column;gap:15px;padding:5px 0}.gauge-container{display:flex;align-items:center;gap:15px}.gauge-outer{flex:1;height:12px;background:#ffffff0d;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.gauge-inner{height:100%;border-radius:6px;transition:width 1s cubic-bezier(.175,.885,.32,1.275)}.gauge-score{font-size:1.8rem;font-weight:900;min-width:60px;text-align:right}.balance-info{display:flex;justify-content:space-between;align-items:center}.intensity-badge-new{padding:3px 10px;border-radius:12px;font-size:.7rem;font-weight:700;background:#ffffff0d;color:#fff9}.intensity-badge-new.high{color:#ff7675;background:#ff76751a}.intensity-badge-new.moderate{color:#fdcb6e;background:#fdcb6e1a}.intensity-badge-new.low{color:#55efc4;background:#55efc41a}.learning-banner{background:#6c5ce71a;border:1px dashed rgba(108,92,231,.4);border-radius:10px;padding:12px;display:flex;gap:12px;align-items:center;margin-bottom:15px;animation:pulse 2s infinite ease-in-out}.learning-icon{font-size:1.4rem}.learning-content strong{display:block;font-size:.85rem;color:#a29bfe}.learning-content p{margin:2px 0 0;font-size:.75rem;color:#fff9}@keyframes pulse{0%{border-color:#6c5ce766}50%{border-color:#6c5ce7cc}to{border-color:#6c5ce766}}.insight-info-trigger{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff9;padding:6px 12px;border-radius:20px;font-size:.75rem;cursor:pointer;align-self:center;margin-top:5px;transition:all .2s ease}.insight-info-trigger:hover{background:#ffffff1a;color:#fff}.insight-educational-panel{margin-top:15px;padding:15px;background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:15px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.edu-section h4{margin:0 0 5px;font-size:.9rem;color:#fdcb6e;display:flex;align-items:center;gap:6px}.edu-section p{margin:0;font-size:.75rem;line-height:1.4;color:#ffffffb3}.edu-section strong{color:#a29bfe}.anomaly-list{display:flex;flex-direction:column;gap:8px}.anomaly-item{display:flex;align-items:center;gap:10px;padding:10px;background:#ff76751a;border-radius:8px;font-size:.85rem;border-left:3px solid #ff7675}.anomaly-item.warning{background:#fdcb6e1a;border-left-color:#fdcb6e}.anomaly-item.info{background:#a29bfe1a;border-left-color:#a29bfe}.anomaly-item.error{background:#ff76751a;border-left-color:#ff7675}.no-anomalies{text-align:center;padding:20px;color:#fff6;font-style:italic}.usage-today{margin-bottom:var(--space-3, 12px)}.usage-primary{display:flex;align-items:baseline;gap:var(--space-2, 8px)}.usage-value{font-size:var(--font-size-2xl, 1.5rem);font-weight:var(--font-weight-bold, 700);color:var(--text-primary, #0f172a);font-variant-numeric:tabular-nums}.usage-label{font-size:var(--font-size-sm, .875rem);color:var(--text-secondary, #64748b)}.limit-chips{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);margin-bottom:var(--space-3, 12px)}.limit-chips-more{display:inline-flex;align-items:center;padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);color:var(--text-secondary, #64748b);background:var(--bg-tertiary, #f1f5f9);border-radius:var(--radius-md, 8px)}.limits-section-expanded .limit-item-expanded{padding:var(--space-3, 12px);background:var(--bg-secondary, #ffffff);border-radius:var(--radius-md, 8px);margin-bottom:var(--space-2, 8px)}.limits-section-expanded .limit-item-expanded:last-child{margin-bottom:0}.limits-section-expanded .limit-item-expanded.green{border-left:3px solid var(--color-success, #10b981)}.limits-section-expanded .limit-item-expanded.orange{border-left:3px solid var(--color-warning, #f59e0b)}.limits-section-expanded .limit-item-expanded.red{border-left:3px solid var(--color-error, #ef4444)}.limit-quick-actions{display:flex;gap:var(--space-2, 8px);margin-top:var(--space-2, 8px)}.limit-action-btn.subtract{color:var(--color-error, #ef4444)}.limit-action-btn.add,.limit-action-btn.add-more{color:var(--color-success, #10b981)}.app-quick-actions{display:flex;gap:var(--space-1, 4px)}.app-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);border-radius:var(--radius-sm, 6px);border:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #ffffff);cursor:pointer;transition:all var(--transition-fast, .15s)}.app-action-btn.block:hover:not(:disabled){background:#ef44441a;border-color:var(--color-error, #ef4444);color:var(--color-error, #ef4444)}.app-action-btn.limit:hover:not(:disabled){background:#6366f11a;border-color:var(--accent-color, #6366f1);color:var(--accent-color, #6366f1)}.app-action-btn.hide:hover:not(:disabled){background:#64748b1a;border-color:var(--text-secondary, #64748b);color:var(--text-secondary, #64748b)}.app-action-btn:disabled,.app-action-btn.pending{opacity:.5;cursor:not-allowed}.app-has-rule-badge{display:inline-flex;align-items:center;gap:2px;padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);color:var(--color-success, #10b981);background:#10b9811a;border-radius:var(--radius-full, 9999px)}.app-action-feedback{width:100%;padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);border-radius:var(--radius-sm, 6px);margin-top:var(--space-1, 4px)}.app-action-feedback.success{background:#10b9811a;color:var(--color-success, #10b981)}.app-action-feedback.error{background:#ef44441a;color:var(--color-error, #ef4444)}.actions-section{display:flex;flex-direction:column;gap:var(--space-2, 8px)}.action-btn-full{display:flex;align-items:center;justify-content:center;padding:var(--space-3, 12px);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);border-radius:var(--radius-md, 8px);border:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #ffffff);cursor:pointer;transition:all var(--transition-fast, .15s)}.action-btn-full:hover:not(:disabled){background:var(--bg-tertiary, #f1f5f9)}.action-btn-full:disabled{opacity:.5;cursor:not-allowed}.action-btn-full.unlock:hover:not(:disabled){border-color:var(--color-success, #10b981);color:var(--color-success, #10b981)}.action-btn-full.reset-pin:hover:not(:disabled){border-color:var(--color-warning, #f59e0b);color:var(--color-warning, #f59e0b)}.action-btn-full.resume:hover:not(:disabled){border-color:var(--accent-color, #6366f1);color:var(--accent-color, #6366f1)}.show-all-apps-btn{display:inline-flex;align-items:center;gap:var(--space-1, 4px);padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);color:var(--accent-color, #6366f1);background:transparent;border:1px solid var(--accent-color, #6366f1);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-fast, .15s)}.show-all-apps-btn:hover{background:#6366f11a}.device-card{background:var(--glass-bg, rgba(255, 255, 255, .7));backdrop-filter:var(--glass-blur, blur(12px));-webkit-backdrop-filter:var(--glass-blur, blur(12px));border:1px solid var(--glass-border, rgba(255, 255, 255, .3));border-radius:var(--radius-xl, 16px);padding:var(--space-5, 20px);cursor:pointer;transition:all var(--transition-slow, .3s);position:relative;min-width:0}.device-card:hover{box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1));transform:translateY(-2px)}.device-card.expanded{cursor:default}.device-card:not(.expanded){min-height:300px}.device-card.online{border-left:4px solid var(--color-success, #10b981)}.device-card.offline{border-left:4px solid var(--color-error, #ef4444);opacity:.8}.device-card.locked{border-left:4px solid var(--color-warning, #f59e0b)}.device-card.internet_paused{border-left:4px solid var(--color-warning-dark, #d97706)}.device-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3, 12px)}.device-identity{display:flex;align-items:center;gap:var(--space-3, 12px)}.device-type-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg-tertiary, #f1f5f9);border-radius:var(--radius-lg, 12px);color:var(--accent-color, #6366f1)}.device-name-group{display:flex;flex-direction:column;gap:var(--space-1, 4px)}.device-name{margin:0;font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #0f172a)}.device-status{display:inline-flex;align-items:center;gap:var(--space-1, 4px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500)}.device-status.green{color:var(--color-success, #10b981)}.device-status.red{color:var(--color-error, #ef4444)}.device-status.orange{color:var(--color-warning, #f59e0b)}.device-status.amber{color:var(--color-warning-dark, #d97706)}.status-icon{display:flex;align-items:center}.device-meta{text-align:right}.last-seen{font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #94a3b8)}.expand-indicator{text-align:center;padding-top:var(--space-2, 8px);margin-top:var(--space-2, 8px);border-top:1px solid var(--border-light, #f1f5f9)}.expand-arrow{font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #94a3b8);transition:color var(--transition-fast, .15s)}.device-card:hover .expand-arrow{color:var(--accent-color, #6366f1)}.device-details{margin-top:var(--space-4, 16px);padding-top:var(--space-4, 16px);border-top:1px solid var(--border-color, #e2e8f0)}.detail-section{margin-bottom:var(--space-4, 16px);padding:var(--space-3, 12px);background:var(--bg-tertiary, #f1f5f9);border-radius:var(--radius-md, 8px)}.detail-section:last-child{margin-bottom:0}.detail-item{display:flex;align-items:center;gap:var(--space-3, 12px);margin-bottom:var(--space-2, 8px)}.detail-item:last-child{margin-bottom:0}.detail-icon{color:var(--text-muted, #94a3b8)}.detail-content{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:var(--font-size-xs, .75rem);color:var(--text-secondary, #64748b)}.detail-value{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--text-primary, #0f172a)}.section-title{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0 0 var(--space-3, 12px) 0;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #0f172a)}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3, 12px)}.apps-list{display:flex;flex-direction:column;gap:var(--space-2, 8px)}.app-item-with-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--space-2, 8px);background:var(--bg-secondary, #ffffff);border-radius:var(--radius-md, 8px);gap:var(--space-2, 8px)}.app-item-main{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:200px}.top-app-icon-group{display:flex;align-items:center;gap:var(--space-2, 8px)}.top-app-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary, #f1f5f9);border-radius:var(--radius-md, 8px);color:var(--accent-color, #6366f1)}.top-app-name-details{display:flex;flex-direction:column}.top-app-name-internal{font-weight:var(--font-weight-medium, 500);color:var(--text-primary, #0f172a)}.top-app-window-title{font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #94a3b8)}.app-duration{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}@media (max-width: 767px){.device-card{padding:var(--space-4, 16px);border-radius:var(--radius-lg, 12px)}.device-card:hover{transform:none}.device-header{flex-direction:column;gap:var(--space-2, 8px)}.device-identity{width:100%}.device-type-icon{width:40px;height:40px}.device-name{font-size:var(--font-size-base, 1rem)}.device-meta{text-align:left;width:100%;padding-left:52px}.usage-value{font-size:var(--font-size-xl, 1.25rem)}.limit-chips{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:var(--space-1, 4px);padding-right:var(--space-2, 8px);min-width:0}.limit-chips>*{scroll-snap-align:start;flex-shrink:0}.detail-section{padding:var(--space-3, 12px)}.detail-item{flex-direction:column;align-items:flex-start;gap:var(--space-1, 4px)}.detail-icon{display:none}.section-header-row{flex-direction:column;align-items:flex-start;gap:var(--space-2, 8px)}.section-title{font-size:var(--font-size-sm, .875rem)}.show-all-apps-btn{width:100%;justify-content:center;padding:var(--space-2, 8px)}.limit-header{flex-direction:column;align-items:flex-start;gap:var(--space-1, 4px)}.limit-app-name{font-size:var(--font-size-sm, .875rem);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.limit-bar-container{height:8px}.limit-quick-actions{flex-wrap:wrap}.limit-action-btn{flex:1;min-width:60px;min-height:40px;justify-content:center;padding:var(--space-2, 8px);font-size:var(--font-size-sm, .875rem)}.app-item-with-actions{flex-direction:column;align-items:stretch}.app-item-main{min-width:auto}.top-app-icon-group{flex:1;min-width:0}.top-app-name-details{min-width:0;flex:1}.top-app-name-internal{font-size:var(--font-size-sm, .875rem);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-app-window-title{display:none}.app-quick-actions{width:100%;justify-content:stretch;gap:var(--space-2, 8px);margin-top:var(--space-2, 8px)}.app-action-btn{flex:1;min-height:40px;justify-content:center;padding:var(--space-2, 8px)}.action-btn-full{min-height:48px;font-size:var(--font-size-base, 1rem)}}@media (max-width: 374px){.device-card{padding:var(--space-3, 12px)}.device-type-icon{width:36px;height:36px}.device-meta{padding-left:48px}.usage-value{font-size:var(--font-size-lg, 1.125rem)}.limit-action-btn{font-size:var(--font-size-xs, .75rem);padding:var(--space-1, 4px) var(--space-2, 8px)}.top-app-name-internal{max-width:100px}}@media (min-width: 768px) and (max-width: 1023px){.app-item-with-actions{gap:var(--space-3, 12px)}.app-item-main{min-width:100%;margin-bottom:var(--space-2, 8px)}.app-quick-actions{width:100%;justify-content:flex-end}}.protection-section{background:var(--bg-tertiary, #f1f5f9);border-radius:var(--radius-md, 8px);padding:var(--space-3, 12px)}.protection-options{display:flex;flex-direction:column;gap:var(--space-2, 8px)}.protection-option{display:flex;align-items:flex-start;gap:var(--space-3, 12px);padding:var(--space-3, 12px);background:var(--bg-secondary, #ffffff);border:2px solid var(--border-light, #e2e8f0);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-fast, .15s)}.protection-option:hover{border-color:var(--accent-color, #6366f1);background:var(--bg-accent-subtle, rgba(99, 102, 241, .05))}.protection-option.active{border-color:var(--accent-color, #6366f1);background:var(--bg-accent-subtle, rgba(99, 102, 241, .08));box-shadow:0 0 0 4px #6366f11a}.protection-option input[type=radio]{margin-top:2px;accent-color:var(--accent-color, #6366f1);width:18px;height:18px;flex-shrink:0}.protection-option .option-content{display:flex;flex-direction:column;gap:var(--space-1, 4px)}.protection-option .option-content strong{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #0f172a)}.protection-option .option-content span{font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #94a3b8)}.protection-feedback{margin-top:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);border-radius:var(--radius-sm, 4px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);text-align:center}.protection-feedback.success{background:var(--color-success-bg, rgba(16, 185, 129, .1));color:var(--color-success, #10b981)}.protection-feedback.error{background:var(--color-error-bg, rgba(239, 68, 68, .1));color:var(--color-error, #ef4444)}.protection-feedback.sending{background:var(--bg-tertiary, #f1f5f9);color:var(--text-muted, #94a3b8)}.collapsible-header{-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .2s;border-radius:var(--radius-sm, 4px);padding:4px;margin:-4px}.collapsible-header:hover{background-color:var(--bg-hover, rgba(0, 0, 0, .05))}.status-badge{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:600;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 767px){.protection-option{padding:var(--space-2, 8px)}.protection-option input[type=radio]{width:16px;height:16px}}.limit-chip{display:inline-flex;align-items:center;gap:var(--space-1, 4px);padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);background:var(--bg-tertiary, #f1f5f9);border-radius:var(--radius-md, 8px);border:1px solid var(--border-color, #e2e8f0);cursor:default;transition:all var(--transition-fast, .15s)}.limit-chip[role=button]{cursor:pointer}.limit-chip[role=button]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.limit-chip.green{background:#10b9811a;border-color:#10b9814d}.limit-chip.orange{background:#f59e0b1a;border-color:#f59e0b4d}.limit-chip.red{background:#ef44441a;border-color:#ef44444d}.limit-chip-name{color:var(--text-primary, #0f172a);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.limit-chip-value{color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.limit-chip-indicator{display:flex;align-items:center}.dark .limit-chip-name{color:var(--text-primary, #f8fafc)}.dark .limit-chip-value{color:var(--text-secondary, #94a3b8)}.limit-progress-bar{padding:var(--space-3, 12px);border-radius:var(--radius-md, 8px);background:var(--bg-tertiary, #f1f5f9);margin-bottom:var(--space-2, 8px)}.limit-progress-bar.green{border-left:3px solid var(--color-success, #10b981)}.limit-progress-bar.orange{border-left:3px solid var(--color-warning, #f59e0b)}.limit-progress-bar.red{border-left:3px solid var(--color-error, #ef4444)}.limit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2, 8px)}.limit-app-name{font-weight:var(--font-weight-medium, 500);color:var(--text-primary, #0f172a)}.limit-text{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);font-variant-numeric:tabular-nums}.limit-text.green{color:var(--color-success, #10b981)}.limit-text.orange{color:var(--color-warning, #f59e0b)}.limit-text.red{color:var(--color-error, #ef4444)}.limit-bar-container{width:100%;height:6px;background:#0000001a;border-radius:var(--radius-full, 9999px);overflow:hidden;margin-bottom:var(--space-2, 8px)}.limit-bar{height:100%;border-radius:var(--radius-full, 9999px);transition:width var(--transition-slow, .3s)}.limit-bar.green{background:var(--color-success, #10b981)}.limit-bar.orange{background:var(--color-warning, #f59e0b)}.limit-bar.red{background:var(--color-error, #ef4444)}.limit-footer{display:flex;justify-content:flex-start}.limit-ok-badge,.limit-warning-badge,.limit-critical-badge,.limit-exceeded-badge{display:inline-flex;align-items:center;gap:var(--space-1, 4px);padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);border-radius:var(--radius-full, 9999px)}.limit-ok-badge{background:#10b98126;color:var(--color-success, #10b981)}.limit-warning-badge{background:#f59e0b26;color:var(--color-warning, #f59e0b)}.limit-critical-badge{background:#ef44441a;color:var(--color-error-light, #f87171)}.limit-exceeded-badge{background:#ef444426;color:var(--color-error, #ef4444)}.limit-quick-actions{display:flex;gap:var(--space-2, 8px);margin-top:var(--space-3, 12px)}.limit-action-btn{padding:var(--space-1, 4px) var(--space-3, 12px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);border-radius:var(--radius-md, 8px);border:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #ffffff);cursor:pointer;transition:all var(--transition-fast, .15s)}.limit-action-btn:hover:not(:disabled){background:var(--bg-tertiary, #f1f5f9)}.limit-action-btn:disabled,.limit-action-btn.pending{opacity:.5;cursor:not-allowed}.limit-action-btn.subtract{color:var(--color-error, #ef4444);border-color:#ef44444d}.limit-action-btn.add,.limit-action-btn.add-more{color:var(--color-success, #10b981);border-color:#10b9814d}.limit-action-feedback{margin-top:var(--space-2, 8px);padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);border-radius:var(--radius-sm, 6px)}.limit-action-feedback.success{background:#10b9811a;color:var(--color-success, #10b981)}.limit-action-feedback.error{background:#ef44441a;color:var(--color-error, #ef4444)}.limit-action-feedback.sending{background:#6366f11a;color:var(--accent-color, #6366f1)}.quick-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);padding:var(--space-3, 12px) 0 0 0;border-top:1px solid var(--border-light, rgba(255, 255, 255, .1));margin-top:var(--space-2, 8px)}.quick-actions.offline{justify-content:center;border-top:none}@media (min-width: 768px){.quick-actions:not(.offline){min-height:92px;align-items:flex-start}}.action-group{display:flex;gap:var(--space-2, 8px);flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);font-size:var(--font-size-sm, .8125rem);font-weight:var(--font-weight-medium, 500);border-radius:var(--radius-md, 8px);border:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #ffffff);color:var(--text-primary, #0f172a);cursor:pointer;transition:all var(--transition-fast, .15s);min-height:36px;min-width:110px;justify-content:center}.action-btn:hover:not(:disabled){background:var(--bg-tertiary, #f1f5f9);transform:translateY(-1px);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.action-btn:active:not(:disabled){transform:translateY(0)}.action-btn:disabled,.action-btn.pending{opacity:.5;cursor:not-allowed;transform:none}.action-btn.lock:hover:not(:disabled){border-color:var(--color-warning, #f59e0b);color:var(--color-warning, #f59e0b);background:#f59e0b0d}.action-btn.internet:hover:not(:disabled){border-color:var(--color-error, #ef4444);color:var(--color-error, #ef4444);background:#ef44440d}.action-btn.screenshot:hover:not(:disabled){border-color:var(--accent-color, #6366f1);color:var(--accent-color, #6366f1);background:#6366f10d}.action-feedback{width:100%;padding:var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);border-radius:var(--radius-md, 8px);text-align:center;margin-top:var(--space-2, 8px)}.action-feedback.sending{background:#6366f11a;color:var(--accent-color, #6366f1)}.action-feedback.success{background:#10b9811a;color:var(--color-success, #10b981)}.action-feedback.error{background:#ef44441a;color:var(--color-error, #ef4444)}.view-screenshot-btn{display:inline-flex;align-items:center;gap:var(--space-2, 6px);padding:var(--space-2, 8px) var(--space-3, 12px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);color:var(--text-secondary, #64748b);background:transparent;border:1px solid transparent;border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-fast, .15s);min-height:36px;margin-left:auto}.view-screenshot-btn:hover{color:var(--accent-color, #6366f1);background:#6366f10d;border-color:#6366f133;text-decoration:none}.offline-notice{font-size:var(--font-size-sm, .875rem);color:var(--text-muted, #94a3b8);font-style:italic}@keyframes pulse-glow{0%{box-shadow:0 0 #6366f166;border-color:#6366f166}70%{box-shadow:0 0 0 6px #6366f100;border-color:var(--accent-color);color:var(--accent-color);background:#6366f10d}to{box-shadow:0 0 #6366f100}}.pulse-attention{animation:pulse-glow 2s infinite;font-weight:600}@media (max-width: 767px){.quick-actions{flex-direction:column;align-items:stretch;gap:var(--space-3, 12px)}.action-group{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.action-btn{justify-content:center;flex-direction:column;gap:4px;font-size:11px;padding:8px 4px;min-width:0}.view-screenshot-btn{width:100%;justify-content:center;margin-left:0;border-color:var(--border-color)}}.status-overview{padding:16px 16px 80px;max-width:1200px;margin:0 auto;min-width:0}@media (min-width: 1024px){.status-overview{padding:24px}}.freshness-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:16px;border-radius:20px;background:rgba(var(--bg-secondary-rgb),.8);backdrop-filter:blur(8px);font-size:12px;width:-moz-fit-content;width:fit-content;transition:all .2s ease}.freshness-indicator:hover{background:rgba(var(--bg-secondary-rgb),1);box-shadow:0 2px 8px #0000001a}.freshness-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.freshness-indicator.green .freshness-dot{background:#10b981;box-shadow:0 0 8px #10b98180}.freshness-indicator.yellow .freshness-dot{background:#f59e0b;box-shadow:0 0 8px #f59e0b80}.freshness-indicator.orange .freshness-dot{background:#f97316;box-shadow:0 0 8px #f9731680}.freshness-indicator.gray .freshness-dot{background:#9ca3af}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.freshness-text{color:var(--text-secondary)}.device-filter{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;padding:8px 16px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.filter-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.global-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px;width:100%;box-sizing:border-box}.global-stat{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,var(--bg-secondary),rgba(var(--bg-secondary-rgb),.8));border-radius:14px;border:1px solid var(--border-color);min-width:0}.stat-icon{display:flex;align-items:center;justify-content:center}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.device-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;width:100%;min-width:0;align-items:start}@media (max-width: 1023px){.device-list{grid-template-columns:1fr}}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary);min-height:400px}.loading-spinner{width:40px;height:40px;border:3px solid rgba(var(--accent-color-rgb),.1);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-icon{color:#ef4444;margin-bottom:16px}.empty-icon{margin-bottom:16px;opacity:.5}.retry-button{margin-top:16px;padding:8px 24px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:opacity .2s}.retry-button:hover{opacity:.9}.error-timestamp{display:block;margin-top:12px;font-size:12px;opacity:.7}.all-apps-modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop, 900);animation:fadeIn var(--transition-fast, .15s) ease-out}.all-apps-modal{background:var(--bg-secondary, #ffffff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1));width:90vw;max-width:600px;max-height:85vh;display:flex;flex-direction:column;z-index:var(--z-modal, 1000);animation:slideUp var(--transition-normal, .2s) ease-out}.all-apps-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-6, 24px);border-bottom:1px solid var(--border-color, #e2e8f0)}.all-apps-modal .modal-header h3{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0 0 var(--space-2, 8px) 0;font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #0f172a)}.all-apps-modal .modal-description{font-size:var(--font-size-sm, .875rem);color:var(--text-secondary, #64748b);margin:0 0 var(--space-2, 8px) 0}.all-apps-modal .modal-device-name{font-size:var(--font-size-xs, .75rem);color:var(--accent-color, #6366f1);font-weight:var(--font-weight-medium, 500)}.all-apps-modal .modal-close-btn{background:transparent;border:none;color:var(--text-secondary, #64748b);cursor:pointer;padding:var(--space-2, 8px);border-radius:var(--radius-md, 8px);transition:all var(--transition-fast, .15s)}.all-apps-modal .modal-close-btn:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #0f172a)}.all-apps-modal .modal-subtitle{display:flex;justify-content:space-between;padding:var(--space-3, 12px) var(--space-6, 24px);font-size:var(--font-size-xs, .75rem);color:var(--text-secondary, #64748b);border-bottom:1px solid var(--border-light, #f1f5f9)}.all-apps-modal .apps-count{font-weight:var(--font-weight-medium, 500)}.all-apps-modal .modal-apps-list{flex:1;overflow-y:auto;padding:var(--space-4, 16px) var(--space-6, 24px)}.all-apps-modal .no-apps-message{text-align:center;padding:var(--space-8, 32px);color:var(--text-muted, #94a3b8)}.all-apps-modal .modal-app-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--space-3, 12px) 0;border-bottom:1px solid var(--border-light, #f1f5f9);gap:var(--space-2, 8px)}.all-apps-modal .modal-app-item:last-child{border-bottom:none}.all-apps-modal .modal-app-info{display:flex;align-items:center;gap:var(--space-4, 16px);flex:1;min-width:150px}.all-apps-modal .modal-app-name{font-weight:var(--font-weight-medium, 500);color:var(--text-primary, #0f172a)}.all-apps-modal .modal-app-duration{font-size:var(--font-size-sm, .875rem);color:var(--text-secondary, #64748b);font-variant-numeric:tabular-nums}.all-apps-modal .modal-app-actions{display:flex;gap:var(--space-2, 8px)}.all-apps-modal .modal-action-btn{display:inline-flex;align-items:center;padding:var(--space-1, 4px) var(--space-3, 12px);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);border-radius:var(--radius-md, 8px);border:none;cursor:pointer;transition:all var(--transition-fast, .15s)}.all-apps-modal .modal-action-btn.block{background:#ef44441a;color:var(--color-error, #ef4444)}.all-apps-modal .modal-action-btn.block:hover:not(:disabled){background:#ef444433}.all-apps-modal .modal-action-btn.limit{background:#6366f11a;color:var(--accent-color, #6366f1)}.all-apps-modal .modal-action-btn.limit:hover:not(:disabled){background:#6366f133}.all-apps-modal .modal-action-btn:disabled,.all-apps-modal .modal-action-btn.pending{opacity:.5;cursor:not-allowed}.all-apps-modal .modal-has-rule{display:inline-flex;align-items:center;font-size:var(--font-size-xs, .75rem);color:var(--color-success, #10b981);font-weight:var(--font-weight-medium, 500)}.all-apps-modal .modal-feedback{width:100%;padding:var(--space-1, 4px) var(--space-2, 8px);font-size:var(--font-size-xs, .75rem);border-radius:var(--radius-sm, 6px);margin-top:var(--space-1, 4px)}.all-apps-modal .modal-feedback.success{background:#10b9811a;color:var(--color-success, #10b981)}.all-apps-modal .modal-feedback.error{background:#ef44441a;color:var(--color-error, #ef4444)}.all-apps-modal .modal-feedback.sending{background:#6366f11a;color:var(--accent-color, #6366f1)}.all-apps-modal .modal-footer{padding:var(--space-4, 16px) var(--space-6, 24px);border-top:1px solid var(--border-color, #e2e8f0)}.all-apps-modal .modal-close-btn-full{width:100%;padding:var(--space-3, 12px);background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #0f172a);border:none;border-radius:var(--radius-md, 8px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-fast, .15s)}.all-apps-modal .modal-close-btn-full:hover{background:var(--border-color, #e2e8f0)}@media (max-width: 767px){.all-apps-modal{width:100vw;max-width:100vw;max-height:100vh;border-radius:0}.all-apps-modal .modal-header{padding:var(--space-4, 16px);position:sticky;top:0;background:var(--bg-secondary, #ffffff);z-index:10}.all-apps-modal .modal-header h3{font-size:var(--font-size-base, 1rem)}.all-apps-modal .modal-apps-list{padding:var(--space-3, 12px) var(--space-4, 16px)}.all-apps-modal .modal-app-item{flex-direction:column;align-items:stretch}.all-apps-modal .modal-app-actions{width:100%;margin-top:var(--space-2, 8px)}.all-apps-modal .modal-action-btn{flex:1;min-height:40px;justify-content:center}.all-apps-modal .modal-footer{position:sticky;bottom:0;background:var(--bg-secondary, #ffffff)}.all-apps-modal .modal-close-btn-full{min-height:48px}.all-apps-modal .modal-search-container{padding:var(--space-3, 12px) var(--space-4, 16px);flex-direction:column;align-items:stretch;gap:var(--space-2, 8px)}.all-apps-modal .modal-search-results{text-align:center}}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-apps-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8, 32px);color:var(--text-secondary, #64748b)}.all-apps-modal .modal-search-container{padding:var(--space-4, 16px) var(--space-6, 24px);border-bottom:1px solid var(--border-light, #f1f5f9);display:flex;align-items:center;gap:var(--space-3, 12px)}.all-apps-modal .modal-search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.all-apps-modal .modal-search-icon{position:absolute;left:var(--space-3, 12px);color:var(--text-muted, #94a3b8);pointer-events:none}.all-apps-modal .modal-search-input{width:100%;padding:var(--space-2, 8px) var(--space-3, 12px) var(--space-2, 8px) var(--space-10, 40px);font-size:var(--font-size-sm, .875rem);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-lg, 10px);background:var(--bg-primary, #ffffff);color:var(--text-primary, #0f172a);transition:all var(--transition-fast, .15s)}.all-apps-modal .modal-search-input:focus{outline:none;border-color:var(--accent-color, #6366f1);box-shadow:0 0 0 3px #6366f11a}.all-apps-modal .modal-search-input::-moz-placeholder{color:var(--text-muted, #94a3b8)}.all-apps-modal .modal-search-input::placeholder{color:var(--text-muted, #94a3b8)}.all-apps-modal .modal-search-clear{position:absolute;right:var(--space-2, 8px);background:transparent;border:none;color:var(--text-muted, #94a3b8);cursor:pointer;padding:var(--space-1, 4px);border-radius:var(--radius-sm, 6px);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast, .15s)}.all-apps-modal .modal-search-clear:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #0f172a)}.all-apps-modal .modal-search-results{font-size:var(--font-size-xs, .75rem);color:var(--text-secondary, #64748b);white-space:nowrap}.screenshot-modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop, 900);animation:fadeIn var(--transition-fast, .15s) ease-out}.screenshot-modal{background:var(--bg-secondary, #ffffff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1));width:90vw;max-width:900px;max-height:90vh;display:flex;flex-direction:column;z-index:var(--z-modal, 1000);animation:slideUp var(--transition-normal, .2s) ease-out}.screenshot-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-6, 24px);border-bottom:1px solid var(--border-color, #e2e8f0)}.screenshot-modal .modal-header h3{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0 0 var(--space-2, 8px) 0;font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #0f172a)}.screenshot-modal .modal-device-name{font-size:var(--font-size-xs, .75rem);color:var(--accent-color, #6366f1);font-weight:var(--font-weight-medium, 500)}.screenshot-modal .modal-close-btn{background:transparent;border:none;color:var(--text-secondary, #64748b);cursor:pointer;padding:var(--space-2, 8px);border-radius:var(--radius-md, 8px);transition:all var(--transition-fast, .15s)}.screenshot-modal .modal-close-btn:hover{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #0f172a)}.screenshot-modal .screenshot-viewer{flex:1;overflow:auto;padding:var(--space-4, 16px);display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary, #f1f5f9)}.screenshot-modal .full-screenshot{max-width:100%;max-height:60vh;border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1))}.screenshot-modal .no-screenshot{text-align:center;padding:var(--space-12, 48px);color:var(--text-muted, #94a3b8)}.screenshot-modal .modal-footer{padding:var(--space-4, 16px) var(--space-6, 24px);border-top:1px solid var(--border-color, #e2e8f0)}.screenshot-modal .modal-close-btn-full{width:100%;padding:var(--space-3, 12px);background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #0f172a);border:none;border-radius:var(--radius-md, 8px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-fast, .15s)}.screenshot-modal .modal-close-btn-full:hover{background:var(--border-color, #e2e8f0)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.filter-chips-row{display:flex;align-items:center;gap:10px;margin-bottom:24px;flex-wrap:wrap}.filter-icon{color:var(--text-secondary);flex-shrink:0}.filter-chip{padding:8px 16px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-chip:hover{background:var(--bg-primary);border-color:var(--chip-color, var(--text-secondary));color:var(--chip-color, var(--text-primary))}.filter-chip.active{background:var(--chip-bg, rgba(99, 102, 241, .15));border-color:var(--chip-color, var(--accent-color));color:var(--chip-color, var(--accent-color))}.alerts-section{flex:1}.alerts-grid{display:flex;flex-direction:column;gap:16px}.shield-alert-card{display:flex;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:all .25s ease;animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.shield-alert-card:hover{transform:translateY(-2px);background:var(--bg-secondary);box-shadow:0 4px 20px -5px #0000001a;border-color:var(--accent-color)}.alert-severity-stripe{width:4px;flex-shrink:0}.alert-card-content{flex:1;padding:20px;padding-left:48px!important;display:flex;flex-direction:column;gap:16px}.alert-card-header{display:flex;align-items:flex-start;gap:14px}.alert-icon-box{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert-meta{flex:1;display:flex;justify-content:space-between;align-items:center}.alert-app-info{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary);background:#8080801a;padding:6px 12px;border-radius:8px}.alert-timestamp{font-size:12px;color:var(--text-secondary)}.alert-body{display:flex;flex-direction:column;gap:12px}.alert-keyword-row{display:flex;align-items:center;gap:10px}.alert-label{font-size:14px;color:var(--text-secondary)}.alert-keyword-badge{font-size:15px;font-weight:700;color:#fff;background:#80808033;padding:4px 12px;border-radius:6px}.alert-detected-text-container{background:#8080800d;border-radius:10px;padding:14px 16px;border-left:3px solid var(--accent-color)}.alert-detected-text{font-size:14px;color:var(--text-primary);line-height:1.6;font-style:italic;margin:0}.alert-detected-text.truncated{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.expand-text-btn{background:transparent;border:none;color:var(--accent-color);font-size:13px;font-weight:600;cursor:pointer;margin-top:8px;padding:0;transition:color .2s}.expand-text-btn:hover{color:var(--text-primary)}.shield-proof-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#6366f11f;border:1px solid rgba(99,102,241,.25);border-radius:10px;color:var(--accent-color);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;align-self:flex-start}.shield-proof-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.keywords-section{display:flex;flex-direction:column;gap:24px}.keywords-header{margin-left:8px;margin-bottom:8px}.keywords-header h3{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.keywords-subtitle{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.6}.keywords-info-highlight{color:var(--accent-color);font-size:13px;display:block;margin-top:4px;font-weight:500}.categories-grid{display:flex;flex-direction:column;gap:12px}.category-section{background:var(--bg-secondary);border-radius:16px;overflow:hidden;border:1px solid var(--border-color);transition:all .2s ease}.category-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;background:transparent;border:none;border-bottom:1px solid transparent;cursor:pointer;transition:all .2s ease}.category-header:hover{background:#8080800d}.category-header-left{display:flex;align-items:center;gap:12px}.category-icon-box{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.category-label{font-size:15px;font-weight:600;color:var(--text-primary)}.category-count{padding:2px 10px;border-radius:12px;font-size:12px;font-weight:700}.category-chevron{color:var(--text-secondary);transition:transform .25s ease}.category-chevron.expanded{transform:rotate(90deg)}.category-content{padding:16px 20px 20px;border-top:1px solid var(--border-color);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.category-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;color:var(--text-secondary);font-size:14px}.keyword-chips-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.keyword-chip-modern{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid;transition:all .2s ease}.keyword-chip-modern:hover{transform:translateY(-1px)}.chip-text{font-size:14px;font-weight:500;color:var(--text-primary)}.chip-delete{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#8080801a;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;opacity:.6}.chip-delete:hover{background:#ef444433;color:#ef4444!important;opacity:1}.category-quick-add{display:flex;gap:10px;margin-top:4px}.quick-add-input{flex:1;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;transition:all .2s ease}.quick-add-input::-moz-placeholder{color:var(--text-secondary)}.quick-add-input::placeholder{color:var(--text-secondary)}.quick-add-input:focus{outline:none;border-color:var(--category-color);box-shadow:0 0 0 3px #6366f11a}.quick-add-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s ease}.quick-add-btn:hover{transform:scale(1.05);filter:brightness(1.1)}.global-add-section{background:var(--bg-secondary);border-radius:16px;padding:20px;border:1px solid var(--border-color)}.global-add-section h4{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:14px}.global-add-form{display:flex;gap:12px;flex-wrap:wrap}.global-add-input{flex:1;min-width:200px;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;transition:all .2s ease}.global-add-input::-moz-placeholder{color:var(--text-secondary)}.global-add-input::placeholder{color:var(--text-secondary)}.global-add-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f126}.global-add-select{padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.global-add-select:focus{outline:none;border-color:var(--accent-color)}.global-add-select option{background:var(--bg-secondary);color:var(--text-primary)}.global-add-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.global-add-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px #6366f180}.smart-shield-container{display:flex;flex-direction:column;height:100%;font-family:Inter,sans-serif;color:var(--text-primary)}.shield-loading-state{padding:32px;text-align:center;color:var(--text-secondary)}.shield-empty-devices{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px;text-align:center}.shield-empty-devices .empty-device-icon{color:var(--text-secondary);margin-bottom:16px}.shield-empty-devices h2{font-size:1.5rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.shield-empty-devices p{color:var(--text-secondary);max-width:400px}.shield-view-content{flex:1;padding:24px;overflow-y:auto;background:var(--bg-primary)}.shield-select-device-prompt{text-align:center;padding:48px;color:var(--text-secondary)}.shield-header{display:flex;justify-content:flex-start;padding:0 0 16px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.shield-tabs{display:flex;gap:8px;background:var(--bg-secondary);padding:4px;border-radius:12px;border:1px solid var(--border-color)}.shield-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.shield-tab:hover{color:var(--text-primary);background:#8080801a}.shield-tab.active{background:var(--accent-color);color:#fff}.shield-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid rgba(99,102,241,.2);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}.shield-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-icon-container{width:100px;height:100px;border-radius:50%;background:#6366f11a;display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:var(--accent-color);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #6366f133}50%{box-shadow:0 0 40px #6366f166}}.shield-empty-state h3{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.shield-empty-state p{font-size:14px;color:var(--text-secondary);max-width:300px}.shield-modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shield-modal-content{position:relative;background:var(--bg-secondary);border-radius:20px;overflow:hidden;max-width:90vw;max-height:85vh;box-shadow:0 25px 50px -12px #00000080;animation:modalSlideUp .3s ease-out;border:1px solid var(--border-color)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.shield-modal-content img{display:block;max-width:100%;max-height:80vh}.shield-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease;z-index:1}.shield-modal-close:hover{background:#ef4444cc;transform:rotate(90deg)}@media (max-width: 768px){.filter-chips-row{gap:8px;overflow-x:auto;padding-bottom:8px;flex-wrap:nowrap;width:100%;mask-image:linear-gradient(to right,black 90%,transparent 100%);-webkit-mask-image:linear-gradient(to right,black 90%,transparent 100%)}.filter-chip{padding:6px 16px;font-size:13px;flex-shrink:0}.alerts-controls-row{flex-direction:column;align-items:stretch;gap:16px}.bulk-actions{overflow-x:auto;padding-bottom:4px;width:100%}.alert-card-content{padding:16px;padding-left:48px!important}.alert-meta{flex-direction:column;align-items:flex-start;gap:8px}.global-add-form{flex-direction:column}.global-add-input,.global-add-select{min-width:auto;width:100%}.shield-view-header{flex-direction:column;align-items:flex-start;gap:20px;padding:20px 16px}.shield-view-title{font-size:22px}.shield-description-text{max-width:100%;font-size:13px}.device-selector-wrapper{width:100%;margin-top:0}.device-select{width:100%;padding:12px 16px}.shield-tabs{width:100%;overflow-x:auto;padding:4px}.shield-tab{flex:1;justify-content:center;white-space:nowrap}}.smart-shield-view{height:100%;display:flex;flex-direction:column}.shield-view-header{padding:24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:transparent}.shield-view-title{font-size:24px;font-weight:700;display:flex;align-items:center;gap:12px;color:var(--text-primary);margin:0}.shield-icon-container{position:relative;display:flex;align-items:center;justify-content:center}.shield-icon{font-size:30px;position:relative;z-index:10;display:block}.shield-icon-pulse{position:absolute;inset:0;background:#3b82f64d;filter:blur(8px);border-radius:50%;z-index:0;animation:shieldPulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shieldPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.shield-beta-badge{font-size:12px;background:linear-gradient(to right,#6366f1,#a855f7);color:#fff;padding:2px 10px;border-radius:9999px;font-weight:600;box-shadow:0 4px 6px -1px #6366f133;margin-left:8px;display:inline-block;vertical-align:middle}.shield-info-wrapper{position:relative;margin-left:8px;display:flex;align-items:center;cursor:help}.shield-info-icon{color:var(--text-secondary);transition:color .2s}.shield-info-wrapper:hover .shield-info-icon{color:var(--accent-color)}.shield-info-tooltip{position:absolute;left:50%;transform:translate(-50%);top:100%;margin-top:8px;width:280px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;z-index:50;opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.shield-info-tooltip p{margin:0;font-size:12px;color:var(--text-secondary);font-style:italic;line-height:1.4}.shield-info-wrapper:hover .shield-info-tooltip{opacity:1;visibility:visible}.shield-subtitle{margin-top:8px;font-size:14px;color:var(--text-secondary)}.shield-subtitle span{font-style:italic;opacity:.7}.device-selector-wrapper{position:relative;min-width:200px}.device-select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:10px 16px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;outline:none;transition:all .2s}.device-select:focus{box-shadow:0 0 0 2px #6366f180;border-color:var(--accent-color)}.device-select:hover{background:var(--bg-primary)}.device-select option{background:var(--bg-secondary);color:var(--text-primary);padding:8px}.alerts-controls-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.bulk-actions{display:flex;align-items:center;gap:12px}.select-all-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.select-all-btn:hover{background:#8080800d;color:var(--text-primary)}.select-all-btn.active{background:#6366f11a;color:var(--accent-color);border-color:#6366f14d}.bulk-delete-btn{display:flex;align-items:center;gap:8px;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.bulk-delete-btn:hover{background:#ef444433}.shield-alert-card{position:relative;cursor:pointer;transition:all .2s ease}.shield-alert-card.selected{box-shadow:0 0 0 2px var(--accent-color);background:#6366f10d}.alert-select-indicator{position:absolute;top:16px;left:16px;z-index:10}.select-checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-color);background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:all .2s;color:#fff}.shield-alert-card:hover .select-checkbox{border-color:var(--text-secondary)}.select-checkbox.checked{background:var(--accent-color);border-color:var(--accent-color)}.alert-delete-btn{background:transparent;border:none;color:var(--text-secondary);padding:8px;border-radius:8px;cursor:pointer;transition:all .2s;opacity:0;margin-left:auto}.shield-alert-card:hover .alert-delete-btn{opacity:1}.alert-delete-btn:hover{background:#ef44441a;color:#ef4444}.shield-loading-image,.shield-error-image{display:flex;align-items:center;justify-content:center;min-width:300px;min-height:200px;color:var(--text-secondary);font-size:14px;font-weight:500}.shield-error-image{color:#ef4444;flex-direction:column;gap:8px}.notification-dropdown{position:relative;display:inline-block}.notification-bell{background:none;border:none;font-size:1.5rem;cursor:pointer;position:relative;padding:8px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.notification-bell:hover{background:#ffffff1a}.notification-bell.has-notifications .bell-icon{animation:bell-swing 2s infinite ease-in-out;transform-origin:top center}@keyframes bell-swing{0%,to{transform:rotate(0)}20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}}.notification-badge{position:absolute;top:0;right:0;font-size:.7rem;font-weight:700;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:2px solid #2d3436}.notification-badge.critical{background-color:#ff4757}.notification-badge.warning{background-color:#ffa502}.notification-panel{position:absolute;top:100%;right:0;width:320px;background:#2d3436;border-radius:12px;box-shadow:0 10px 30px #00000080;border:1px solid rgba(255,255,255,.1);margin-top:10px;z-index:1000;overflow:hidden;animation:slide-down .2s ease-out}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{padding:15px;background:#0000004d;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.header-left{display:flex;align-items:center;gap:10px}.notification-header h3{margin:0;font-size:1rem;color:#fff;font-weight:700}.refresh-button{background:transparent;border:none;color:#fff;cursor:pointer;font-size:1rem;padding:4px 8px;border-radius:4px;transition:background .2s;opacity:.7}.refresh-button:hover{background:#ffffff1a;opacity:1}.refresh-button:disabled{opacity:.3;cursor:not-allowed}.notification-count{background:#6c5ce7;color:#fff;padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:700}.notification-list{max-height:400px;overflow-y:auto}.notification-item{display:flex;align-items:start;gap:12px;padding:15px;border-bottom:1px solid rgba(255,255,255,.05);transition:all .2s;position:relative;border-left:4px solid transparent}.notification-item:hover{background:#ffffff0d}.notification-item:last-child{border-bottom:none}.notification-item.error{background:#ff47571a;border-left-color:#ff4757}.notification-item.error:hover{background:#ff475726}.notification-item.warning{background:#ffa50214;border-left-color:#ffa502}.notification-item.warning:hover{background:#ffa5021f}.notification-item.info{border-left-color:#70a1ff;background:#70a1ff0d}.notification-item.error .notification-icon{background:#ff4757;color:#fff;box-shadow:0 0 10px #ff47574d}.notification-item.warning .notification-icon{background:#ffa502;color:#fff;box-shadow:0 0 10px #ffa5024d}.notification-item.info .notification-icon{background:#70a1ff;color:#fff;box-shadow:0 0 10px #70a1ff4d}.notification-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}.notification-content{flex:1;padding-right:20px}.notification-header-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:2px}.notification-title{font-weight:700;color:#fff;font-size:.95rem;flex:1}.notification-time{font-size:.75rem;color:#ffffff80;white-space:nowrap;font-variant-numeric:tabular-nums}.notification-message{display:block;font-size:.85rem;color:#ffffffe6;line-height:1.3}.dismiss-button{background:transparent;border:none;color:#fff6;cursor:pointer;font-size:.9rem;padding:5px;position:absolute;top:10px;right:10px;border-radius:4px;transition:all .2s;line-height:1}.dismiss-button:hover{background:#ffffff1a;color:#fff}.notification-empty{padding:40px 20px;text-align:center;color:#ffffff80;display:flex;flex-direction:column;align-items:center;gap:10px}.empty-icon{font-size:2rem;opacity:.5}.notification-loading{padding:20px;text-align:center;color:#ffffff80}.notification-footer{padding:12px 15px;background:#0000004d;font-size:.8rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.notification-summary{display:flex;gap:12px;font-weight:600}.summary-critical{color:#ff4757}.summary-warning{color:#ffa502}.clear-all-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 10px;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s}.clear-all-button:hover{background:#fff3;border-color:#ffffff4d}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:transparent}.notification-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 768px){.notification-panel{position:fixed;top:60px;left:10px;right:10px;width:auto;max-height:calc(100vh - 80px);display:flex;flex-direction:column}}.dashboard-container{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);overflow-x:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:12px}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:8px}.hamburger{position:relative;width:24px;height:2px;background:var(--text-primary);transition:all .3s ease}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0;width:24px;height:2px;background:var(--text-primary);transition:all .3s ease}.hamburger:before{top:-7px}.hamburger:after{top:7px}.hamburger.open{background:transparent}.hamburger.open:before{top:0;transform:rotate(45deg)}.hamburger.open:after{top:0;transform:rotate(-45deg)}.header-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--text-primary);margin:0;min-width:0}.title-logo{height:32px;width:auto;-o-object-fit:contain;object-fit:contain}.title-text{display:none}.title-subtitle{display:none;font-size:12px;font-weight:400;color:var(--text-secondary);margin-left:8px;padding-left:8px;border-left:1px solid var(--border-color)}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-right .theme-toggle,.header-right .logout-button,.header-right .notification-dropdown{flex-shrink:0}.theme-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;font-size:18px;transition:all .2s ease}.theme-toggle:hover{background:rgba(var(--bg-secondary-rgb),.8)}.logout-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.logout-button svg{color:inherit}.logout-text{display:none}@media (max-width: 480px){.dashboard-header{padding-left:var(--space-3);padding-right:var(--space-3)}}.status-footer{position:fixed;bottom:0;left:0;right:0;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:11px;color:var(--text-secondary);z-index:1000}.status-footer-left,.status-footer-right{display:flex;align-items:center;gap:16px}@media (max-width: 1023px){.status-footer{display:none}}.server-info-dot{width:6px;height:6px;background:#10b981;border-radius:50%;animation:pulse 2s ease-in-out infinite}.dashboard-layout{flex:1;display:flex;position:relative}.dashboard-nav{position:fixed;top:0;left:-280px;width:280px;height:100vh;z-index:200;transition:left .3s ease}.dashboard-nav.open{left:0}.nav-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;opacity:0;visibility:hidden;transition:all .3s ease}.dashboard-nav.open .nav-backdrop{opacity:1;visibility:visible}.nav-content{position:relative;width:280px;height:100%;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:80px var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:4px;z-index:1}.nav-item{display:flex;align-items:center;gap:12px;padding:16px 20px;background:transparent;border:none;border-radius:12px;color:var(--text-secondary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.nav-item:hover{background:rgba(var(--bg-secondary-rgb),.5);color:var(--text-primary)}.nav-item.active{background:linear-gradient(135deg,#6366f126,#a855f726);color:var(--accent-color)}.nav-icon{display:flex;align-items:center;justify-content:center}.nav-label{flex:1}.dashboard-content{flex:1;min-width:0;overflow-x:hidden;overflow-y:auto;padding-bottom:80px;max-height:calc(100vh - 60px)}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:stretch;background:linear-gradient(180deg,#0f172ad9,#0f172af2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(148,163,184,.15);padding:6px 12px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0));z-index:100;box-shadow:0 -4px 20px #0000004d}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;background:transparent;border:none;border-radius:12px;color:#94a3b8cc;font-size:10px;font-weight:500;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;min-height:56px}.bottom-nav-item:hover{color:#ffffffe6;background:#6366f11a}.bottom-nav-item.active{color:#fff;background:linear-gradient(135deg,#6366f133,#a855f726)}.bottom-nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:0 0 4px 4px}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;font-size:20px;transition:transform .2s ease}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.1);color:#a78bfa}.bottom-nav-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.bottom-nav-item.active .bottom-nav-label{color:#fff;opacity:1}@media (min-width: 640px){.dashboard-header{padding:14px 24px}.title-text,.title-subtitle,.logout-text{display:inline}.server-info-bar{display:flex;padding:6px 24px}}@media (min-width: 1024px){.mobile-menu-btn{display:none}.dashboard-nav{position:fixed;top:60px;left:0;width:260px;height:calc(100vh - 60px);z-index:50}.nav-backdrop{display:none}.nav-content{width:260px;padding:24px 16px;height:100%;overflow-y:auto}.mobile-bottom-nav{display:none}.dashboard-content{margin-left:260px;padding-bottom:50px;min-height:calc(100vh - 60px);max-height:calc(100vh - 60px)}}.dark .dashboard-header{background:linear-gradient(135deg,var(--bg-secondary),rgba(var(--bg-secondary-rgb),.9))}.dark .nav-content{background:linear-gradient(180deg,var(--bg-secondary),rgba(var(--bg-secondary-rgb),.95))}.dark .mobile-bottom-nav{background:linear-gradient(180deg,rgba(var(--bg-secondary-rgb),.95),var(--bg-secondary))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.initial-setup{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.setup-container{background:#fff;border-radius:12px;padding:40px;max-width:800px;width:100%;box-shadow:0 10px 40px #0003}.setup-container h1{color:#333;margin-bottom:10px;text-align:center}.setup-container>p{color:#666;text-align:center;margin-bottom:30px}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:30px}.mode-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:20px;cursor:pointer;transition:all .3s;text-align:center}.mode-card:hover{border-color:#667eea;background:#f0f4ff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.mode-card h3{color:#333;margin-bottom:10px}.mode-card>p{color:#666;margin:5px 0;font-size:14px}.mode-desc{font-size:12px!important;color:#999!important;margin-top:10px!important}.setup-input{width:100%;padding:14px;border:1px solid #e2e8f0;border-radius:8px;font-size:16px;margin-bottom:20px;box-sizing:border-box;background:#f8fafc;transition:all .2s}.setup-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.setup-button{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:12px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #667eea40}.setup-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 12px #667eea4d}.setup-button:disabled{opacity:.7;cursor:not-allowed;background:#cbd5e0;box-shadow:none}.setup-button.secondary{background:#fff;color:#4a5568;border:1px solid #cbd5e0;box-shadow:none}.setup-button.secondary:hover{background:#f7fafc;color:#2d3748;border-color:#a0aec0}.error{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #c33}body.dark-mode .setup-container{background:var(--card-bg);color:var(--text-color)}body.dark-mode .setup-container h1{color:var(--text-color)}body.dark-mode .mode-card{background:var(--rule-card-bg);border-color:var(--nav-border)}body.dark-mode .mode-card:hover{border-color:var(--nav-button-active-color);background:var(--card-bg)}body.dark-mode .input{background:var(--card-bg);border-color:var(--input-border);color:var(--text-color)}.achievements-page{min-height:100vh;background-color:#f9fafb}.achievements-header{background-color:#fff;box-shadow:0 1px 3px #0000001a;border-bottom:1px solid #e5e7eb}.achievements-header-content{max-width:1280px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem}.back-button{padding:.5rem;border-radius:.5rem;transition:background-color .2s;color:#4b5563}.back-button:hover{background-color:#f3f4f6}.achievements-title{font-size:1.5rem;font-weight:700;color:#111827;display:flex;align-items:center;gap:.5rem}.trophy-icon{width:1.5rem;height:1.5rem;color:#fbbf24}.achievements-content{max-width:1280px;margin:0 auto;padding:2rem 1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{border-radius:1rem;padding:1rem;color:#fff}.stat-card-primary{background:linear-gradient(135deg,#6366f1,#9333ea)}.stat-card-white{background-color:#fff;box-shadow:0 1px 3px #0000001a;border:1px solid #f3f4f6}.stat-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.stat-icon{width:1.25rem;height:1.25rem}.stat-label{font-size:.875rem;opacity:.9}.stat-label-dark{font-size:.875rem;color:#6b7280}.stat-value{font-size:1.875rem;font-weight:700}.stat-value-dark{font-size:1.875rem;font-weight:700;color:#111827}.stat-subtitle{font-size:.875rem;margin-top:.25rem}.stat-subtitle-muted{font-size:.875rem;color:#6b7280;margin-top:.25rem}.stat-progress{margin-top:.5rem;height:.5rem;background-color:#e5e7eb;border-radius:9999px;overflow:hidden}.stat-progress-bar{height:100%;background-color:#6366f1;border-radius:9999px;transition:width .5s ease}.rank-progress-card{background-color:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #f3f4f6;margin-bottom:2rem}.rank-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.rank-progress-title{display:flex;align-items:center;gap:.75rem}.target-icon{width:1.25rem;height:1.25rem;color:#6366f1}.rank-progress-text{font-weight:500;color:#111827}.rank-progress-remaining{font-size:.875rem;color:#6b7280}.rank-progress-bar-container{height:.75rem;background-color:#f3f4f6;border-radius:9999px;overflow:hidden}.rank-progress-bar-gradient{height:100%;background:linear-gradient(90deg,#6366f1,#9333ea);border-radius:9999px;transition:width .5s ease}.badges-section{background-color:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #f3f4f6}.badges-title{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:1.5rem}.loading-container{min-height:100vh;background-color:#f9fafb;display:flex;align-items:center;justify-content:center}.loading-spinner{width:3rem;height:3rem;border:4px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-container{min-height:100vh;background-color:#f9fafb;display:flex;align-items:center;justify-content:center}.error-content{text-align:center}.error-text{color:#dc2626;margin-bottom:.5rem}.error-link{color:#6366f1;text-decoration:underline}.error-link:hover{color:#4f46e5}.detail-modal-overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#00000080}.detail-modal{background-color:#fff;border-radius:1rem;padding:1.5rem;max-width:24rem;width:100%}.detail-modal-icon{width:6rem;height:6rem;border-radius:1rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center}.detail-modal-title{font-size:1.25rem;font-weight:700;text-align:center;color:#111827;margin-bottom:.5rem}.detail-modal-description{text-align:center;color:#4b5563;margin-bottom:1rem}.detail-modal-progress{margin-bottom:1rem}.detail-modal-progress-bar{height:.5rem;background-color:#e5e7eb;border-radius:9999px;overflow:hidden}.detail-modal-progress-fill{height:100%;background-color:#6366f1;border-radius:9999px}.detail-modal-progress-text{font-size:.875rem;color:#6b7280;text-align:center;margin-top:.25rem}.detail-modal-close{width:100%;padding:.5rem;background-color:#f3f4f6;border-radius:.5rem;color:#374151;font-weight:500;transition:background-color .2s}.detail-modal-close:hover{background-color:#e5e7eb}.App{min-height:100vh;overflow-x:hidden}/*! tailwindcss v4.2.0 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-inline:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.text-center{text-align:center}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-100{opacity:1}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:underline:hover{text-decoration-line:underline}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-secondary-rgb:255, 255, 255;--text-primary:#0f172a;--text-secondary:#64748b;--border-color:#e2e8f0;--accent-color:#6366f1;--error-color:#ef4444;--success-color:#10b981}.dark{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-secondary-rgb:30, 41, 59;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border-color:#334155;--accent-color:#818cf8;--error-color:#f87171;--success-color:#34d399}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}#root{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
