@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{font-size:14px}:root{--purple-primary: #7c3aed;--purple-dark: #6d28d9;--purple-neon: #a855f7;--purple-glow: #c084fc;--purple-soft: #ddd6fe;--purple-bg: #f5f3ff;--purple-bg2: #ede9fe;--ink: #0f0a1e;--text-dark: #1f1535;--text-mid: #4c3a6b;--text-light: #8b7ba8;--white: #ffffff}.homepage{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--white);color:var(--text-dark);overflow-x:hidden}.container{max-width:1320px;margin:0 auto;padding:0 2.5rem}.navbar{position:fixed;top:0;left:0;right:0;background:#ffffffb8;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border-bottom:1px solid rgba(124,58,237,.08);z-index:1000;transition:all .3s ease}.navbar.scrolled{box-shadow:0 10px 40px -10px #7c3aed1f;background:#ffffffeb;border-bottom-color:#7c3aed1f}.navbar .container{display:flex;justify-content:space-between;align-items:center;padding-top:.875rem;padding-bottom:.875rem}.logo{display:flex;align-items:center;gap:.625rem;text-decoration:none;color:var(--text-dark);font-weight:800;font-size:1.0625rem;letter-spacing:3px;position:relative}.logo:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:20px;background:linear-gradient(180deg,#7c3aed,#a855f7);border-radius:2px;box-shadow:0 0 8px #7c3aed80}.logo img{width:30px;height:30px}.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--text-dark)}.nav-links{display:flex;align-items:center;gap:2.25rem}.nav-links>a:not(.btn-signin){text-decoration:none;color:var(--text-mid);font-weight:500;font-size:.875rem;transition:color .3s ease;position:relative;padding:.25rem 0}.nav-links>a:not(.btn-signin):after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#7c3aed,#a855f7);transition:width .3s ease;border-radius:2px}.nav-links>a:not(.btn-signin):hover{color:var(--text-dark)}.nav-links>a:not(.btn-signin):hover:after{width:100%}.btn-signin{display:inline-flex!important;align-items:center;gap:.5rem;padding:.625rem 1.25rem!important;background:linear-gradient(135deg,#7c3aed,#a855f7)!important;color:#fff!important;border-radius:8px;font-weight:600;font-size:.875rem;text-decoration:none!important;transition:all .3s ease;box-shadow:0 6px 20px -5px #7c3aed80,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.15);position:relative;overflow:hidden}.btn-signin:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .6s ease}.btn-signin:hover{transform:translateY(-2px);box-shadow:0 10px 28px -5px #7c3aed99,inset 0 1px #ffffff4d;color:#fff!important}.btn-signin:hover:before{left:100%}.btn-signin svg{color:#fff}.hero{position:relative;padding:90px 0 40px;overflow:hidden;background:linear-gradient(180deg,#fff,#faf5ff)}.hero-eyebrow{display:inline-flex;align-items:center;gap:.625rem;margin-bottom:.875rem;font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:700;letter-spacing:2.5px;color:var(--purple-primary);text-transform:uppercase}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#7c3aed;box-shadow:0 0 0 4px #7c3aed26,0 0 10px #7c3aed80;animation:eyebrowPulse 2s ease-in-out infinite}@keyframes eyebrowPulse{0%,to{box-shadow:0 0 0 4px #7c3aed26,0 0 10px #7c3aed80}50%{box-shadow:0 0 0 6px #7c3aed14,0 0 14px #7c3aedb3}}.hero-terminal-strip{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem .875rem;background:#0f0a1e;color:#c4b5fd;font-family:JetBrains Mono,monospace;font-size:.75rem;margin-bottom:1rem;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);box-shadow:0 10px 30px -10px #0f0a1e66}.hero-terminal-strip .term-prompt{color:#34d399}.hero-terminal-strip .term-cursor{display:inline-block;width:6px;height:12px;background:#a855f7;animation:blink 1s step-end infinite;vertical-align:middle}@keyframes blink{50%{opacity:0}}.hero-bg-gradient{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(168,85,247,.15) 0%,transparent 40%),radial-gradient(circle at 80% 30%,rgba(124,58,237,.1) 0%,transparent 40%),radial-gradient(circle at 50% 80%,rgba(192,132,252,.1) 0%,transparent 40%);z-index:0}.hero-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(124,58,237,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.06) 1px,transparent 1px);background-size:50px 50px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);z-index:0;animation:gridDrift 25s linear infinite}@keyframes gridDrift{0%{background-position:0 0}to{background-position:50px 50px}}.hero-blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;z-index:0;animation:blobFloat 20s ease-in-out infinite}.hero-blob.blob-1{width:500px;height:500px;background:#c4b5fd;top:-150px;left:-100px}.hero-blob.blob-2{width:600px;height:600px;background:#e9d5ff;bottom:-200px;right:-200px;animation-delay:5s}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-40px) scale(1.15)}}.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center;position:relative;z-index:1}.hero-content-centered{position:relative;z-index:2}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid rgba(124,58,237,.2);color:var(--purple-primary);border-radius:50px;font-size:.8125rem;font-weight:600;margin-bottom:1.5rem;box-shadow:0 4px 20px #7c3aed1a;position:relative;overflow:hidden}.badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(168,85,247,.2),transparent);animation:badgeShine 3s ease-in-out infinite}@keyframes badgeShine{0%,to{left:-100%}50%{left:100%}}.hero h1{font-size:2.875rem;font-weight:800;line-height:1.05;color:var(--text-dark);margin-bottom:1rem;letter-spacing:-.03em;position:relative}.gradient-text{background:linear-gradient(135deg,#7c3aed,#a855f7,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;position:relative;font-weight:800;min-width:fit-content}@keyframes gradientShift{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.15) saturate(1.3)}}.hero-desc{font-size:.9375rem;line-height:1.6;color:var(--text-mid);margin-bottom:1.25rem;max-width:500px}.hero-buttons{display:flex;gap:.875rem;margin-bottom:1.5rem}.btn-primary{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;font-weight:600;font-size:.9375rem;text-decoration:none;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 30px -5px #7c3aed80,inset 0 1px #fff3;position:relative;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);letter-spacing:.02em}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 40px -5px #7c3aed99,inset 0 1px #ffffff4d}.btn-secondary{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;background:#fff;color:var(--purple-primary);border:1.5px solid rgba(124,58,237,.3);font-weight:600;font-size:.9375rem;text-decoration:none;cursor:pointer;transition:all .3s ease;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);letter-spacing:.02em}.btn-secondary:hover{border-color:var(--purple-primary);background:var(--purple-bg);transform:translateY(-3px);box-shadow:0 10px 25px -5px #7c3aed33}.hero-trust{display:flex;align-items:center;gap:1rem}.trust-avatars{display:flex}.avatar{width:32px;height:32px;border-radius:50%;border:2px solid white;margin-left:-8px;box-shadow:0 2px 8px #0000001a}.avatar:first-child{margin-left:0}.avatar-1{background:linear-gradient(135deg,#f472b6,#ec4899)}.avatar-2{background:linear-gradient(135deg,#a855f7,#7c3aed)}.avatar-3{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.avatar-4{background:linear-gradient(135deg,#34d399,#10b981)}.trust-stars{display:flex;gap:2px;margin-bottom:2px}.trust-text{font-size:.8125rem;color:var(--text-mid);line-height:1.3}.trust-text span{display:block;font-weight:500}.hero-dashboard{position:relative;perspective:1500px}.dashboard-mockup{background:linear-gradient(145deg,#fff,#faf5ff);border-radius:2px;box-shadow:0 40px 80px -20px #7c3aed59,0 0 0 1px #7c3aed26,inset 0 1px #fffc;overflow:hidden;transform:perspective(1500px) rotateY(-5deg) rotateX(3deg);transition:transform .6s ease;clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px);position:relative}.dashboard-mockup:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(168,85,247,.08) 50%,transparent 70%);pointer-events:none;animation:scanLine 4s ease-in-out infinite}@keyframes scanLine{0%,to{opacity:0;transform:translate(-100%)}50%{opacity:1;transform:translate(100%)}}.dashboard-mockup:hover{transform:perspective(1500px) rotateY(0) rotateX(0) scale(1.02)}.mockup-header{display:flex;align-items:center;gap:1rem;padding:.625rem 1rem;background:linear-gradient(90deg,#faf5ff,#f3e8ff);border-bottom:1px solid rgba(124,58,237,.15)}.mockup-dots{display:flex;gap:6px}.mockup-dots span{width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1px #0000001a}.mockup-dots span:nth-child(1){background:#fca5a5}.mockup-dots span:nth-child(2){background:#fcd34d}.mockup-dots span:nth-child(3){background:#86efac}.mockup-url{font-size:.75rem;color:var(--purple-primary);background:#fff;padding:5px 14px;border-radius:4px;flex:1;text-align:center;max-width:260px;font-family:JetBrains Mono,monospace;font-weight:500;border:1px solid rgba(124,58,237,.15);letter-spacing:.5px}.mockup-content{padding:1rem;background:linear-gradient(rgba(124,58,237,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.02) 1px,transparent 1px);background-size:20px 20px;background-color:#fdfcff}.mockup-stats{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-bottom:.75rem}.mockup-stat{background:#fff;border:1px solid rgba(124,58,237,.12);border-radius:2px;padding:.625rem .75rem;position:relative;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);box-shadow:0 2px 10px #7c3aed0d}.mockup-stat:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#7c3aed,#a855f7)}.mockup-stat-label{font-size:.625rem;color:var(--text-mid);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:.25rem;font-family:JetBrains Mono,monospace}.mockup-stat-value{font-size:1.25rem;font-weight:800;color:var(--text-dark);margin-bottom:.375rem;background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.mockup-stat-change{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:4px}.mockup-stat-change.positive{color:#059669;background:#d1fae5}.mockup-stat-bar{height:6px;background:#f3e8ff;border-radius:3px;overflow:hidden}.mockup-stat-bar-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a855f7,#c084fc);border-radius:3px;box-shadow:0 0 10px #a855f780;animation:barPulse 2s ease-in-out infinite}@keyframes barPulse{0%,to{opacity:1}50%{opacity:.85}}.mockup-chart{background:linear-gradient(180deg,#fff,#fdfbff);border:1px solid rgba(124,58,237,.12);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);margin-bottom:.625rem;padding:.625rem .75rem .5rem;position:relative;box-shadow:inset 0 1px #fffc}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px dashed rgba(124,58,237,.1)}.chart-title{display:flex;flex-direction:column;gap:2px}.chart-title-main{font-size:.8125rem;font-weight:800;color:var(--text-dark);letter-spacing:-.01em}.chart-title-sub{font-size:.625rem;color:var(--text-light);font-family:JetBrains Mono,monospace;letter-spacing:.5px}.chart-legend{display:flex;gap:.75rem;font-size:.625rem;font-weight:700;color:var(--text-mid);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.8px}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend-dot{width:9px;height:9px;border-radius:2px;display:inline-block}.legend-dot.blocked{background:linear-gradient(180deg,#a855f7,#6d28d9);box-shadow:0 0 8px #7c3aed80}.legend-dot.allowed{background:linear-gradient(180deg,#ede9fe,#c4b5fd);border:1px solid rgba(168,85,247,.3)}.chart-body{display:grid;grid-template-columns:22px 1fr;gap:6px;height:85px;margin-bottom:.375rem}.chart-yaxis{display:flex;flex-direction:column;justify-content:space-between;padding:1px 0;font-family:JetBrains Mono,monospace;font-size:.5625rem;color:var(--text-light);text-align:right;letter-spacing:.3px;font-weight:600}.chart-plot{position:relative;height:100%}.chart-grid{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;z-index:0}.chart-grid span{display:block;height:1px;background:repeating-linear-gradient(90deg,rgba(124,58,237,.12) 0 3px,transparent 3px 7px)}.chart-bars{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:4px;z-index:1}.chart-bar-group{flex:1;height:100%;display:flex;align-items:flex-end;position:relative}.chart-bar-stack{width:100%;position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;height:100%;transition:transform .25s ease,filter .25s ease;cursor:pointer}.chart-bar-stack:hover{transform:translateY(-4px);filter:brightness(1.1)}.chart-bar-allowed,.chart-bar-blocked{width:100%;animation:barRise 1s cubic-bezier(.22,1,.36,1) forwards;transform-origin:bottom;transform:scaleY(0);position:relative;overflow:hidden}.chart-bar-allowed{background:linear-gradient(180deg,#ede9fe,#c4b5fd);border:1px solid rgba(168,85,247,.25);border-radius:3px 3px 1px 1px}.chart-bar-blocked{background:linear-gradient(180deg,#c084fc,#a855f7,#7c3aed);box-shadow:0 0 10px #a855f780,inset 0 1px #ffffff4d;border-radius:2px 2px 3px 3px}.chart-bar-blocked:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 45%)}.chart-bar-blocked:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent)}.chart-bar-group:nth-child(1) .chart-bar-allowed{animation-delay:.7s}.chart-bar-group:nth-child(1) .chart-bar-blocked{animation-delay:.75s}.chart-bar-group:nth-child(2) .chart-bar-allowed{animation-delay:.78s}.chart-bar-group:nth-child(2) .chart-bar-blocked{animation-delay:.83s}.chart-bar-group:nth-child(3) .chart-bar-allowed{animation-delay:.86s}.chart-bar-group:nth-child(3) .chart-bar-blocked{animation-delay:.91s}.chart-bar-group:nth-child(4) .chart-bar-allowed{animation-delay:.94s}.chart-bar-group:nth-child(4) .chart-bar-blocked{animation-delay:.99s}.chart-bar-group:nth-child(5) .chart-bar-allowed{animation-delay:1.02s}.chart-bar-group:nth-child(5) .chart-bar-blocked{animation-delay:1.07s}.chart-bar-group:nth-child(6) .chart-bar-allowed{animation-delay:1.1s}.chart-bar-group:nth-child(6) .chart-bar-blocked{animation-delay:1.15s}.chart-bar-group:nth-child(7) .chart-bar-allowed{animation-delay:1.18s}.chart-bar-group:nth-child(7) .chart-bar-blocked{animation-delay:1.23s}.chart-bar-group:nth-child(8) .chart-bar-allowed{animation-delay:1.26s}.chart-bar-group:nth-child(8) .chart-bar-blocked{animation-delay:1.31s}.chart-bar-group:nth-child(9) .chart-bar-allowed{animation-delay:1.34s}.chart-bar-group:nth-child(9) .chart-bar-blocked{animation-delay:1.39s}.chart-bar-group:nth-child(6) .chart-bar-blocked{background:linear-gradient(180deg,#d8b4fe,#a855f7 40%,#6d28d9);box-shadow:0 0 15px #a855f7b3,inset 0 1px #fff6}@keyframes barRise{to{transform:scaleY(1)}}.chart-trendline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:0;animation:trendFadeIn .8s ease-out 1.5s forwards}@keyframes trendFadeIn{to{opacity:1}}.chart-trendline path:last-of-type{stroke-dasharray:280;stroke-dashoffset:280;animation:drawLine 1.8s cubic-bezier(.22,1,.36,1) 1.5s forwards;filter:drop-shadow(0 2px 4px rgba(124,58,237,.4))}@keyframes drawLine{to{stroke-dashoffset:0}}.chart-peak{position:absolute;top:-4px;left:55%;transform:translate(-50%);background:linear-gradient(135deg,#1f1535,#2d1b4e);color:#fff;padding:4px 8px;border-radius:4px;font-family:JetBrains Mono,monospace;box-shadow:0 6px 16px -4px #0f0a1e80;z-index:3;opacity:0;animation:peakIn .5s ease-out 2.5s forwards;white-space:nowrap;pointer-events:none}.chart-peak:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:#2d1b4e}@keyframes peakIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.peak-label{font-size:.5rem;font-weight:700;color:#c4b5fd;letter-spacing:.8px;margin-bottom:1px}.peak-value{font-size:.6875rem;font-weight:800;color:#fff;letter-spacing:.3px}.chart-xaxis{display:flex;justify-content:space-between;padding-left:28px;padding-top:.25rem;border-top:1px dashed rgba(124,58,237,.1);font-family:JetBrains Mono,monospace;font-size:.5625rem;color:var(--text-light);font-weight:600;letter-spacing:.3px}.mockup-activity{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .75rem;background:#fff;border:1px solid rgba(124,58,237,.12);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.activity-row{display:flex;align-items:center;gap:.625rem;font-size:.72rem;color:var(--text-dark);font-family:JetBrains Mono,monospace}.activity-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.activity-dot.green{background:#10b981;box-shadow:0 0 8px #10b981;animation:dotPulse 1.8s ease-in-out infinite}.activity-dot.purple{background:#a855f7;box-shadow:0 0 8px #a855f7}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.activity-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-mid)}.activity-time{color:var(--purple-primary);font-weight:700;flex-shrink:0}.chart-bar{flex:1;background:linear-gradient(180deg,#a855f7,#7c3aed);border-radius:3px 3px 0 0;min-height:10%;animation:chartGrow 1s ease-out forwards;transform-origin:bottom;transform:scaleY(0);box-shadow:0 0 10px #a855f74d;position:relative}.chart-bar:after{content:"";position:absolute;top:0;left:0;right:0;height:30%;background:linear-gradient(180deg,rgba(255,255,255,.3),transparent);border-radius:3px 3px 0 0}.chart-bar:nth-child(1){animation-delay:.8s}.chart-bar:nth-child(2){animation-delay:.9s}.chart-bar:nth-child(3){animation-delay:1s}.chart-bar:nth-child(4){animation-delay:1.1s}.chart-bar:nth-child(5){animation-delay:1.2s}.chart-bar:nth-child(6){animation-delay:1.3s}.chart-bar:nth-child(7){animation-delay:1.4s}.chart-bar:nth-child(8){animation-delay:1.5s}.chart-bar:nth-child(9){animation-delay:1.6s}@keyframes chartGrow{to{transform:scaleY(1)}}.floating-card{position:absolute;display:flex;align-items:center;gap:.75rem;background:#fff;padding:.875rem 1.125rem;border-radius:2px;box-shadow:0 20px 40px -10px #7c3aed4d,0 0 0 1px #7c3aed1a;z-index:10;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.floating-card.card-1{top:30px;left:-40px}.floating-card.card-2{bottom:40px;right:-30px}.floating-card-icon{width:38px;height:38px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #00000026}.floating-card-icon.shield{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98166}.floating-card-icon.activity{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #7c3aed66}.floating-card-title{font-size:.8125rem;font-weight:700;color:var(--text-dark);margin-bottom:2px}.floating-card-subtitle{font-size:.6875rem;color:var(--text-mid);font-family:JetBrains Mono,monospace}.hero-stats-bar{display:flex;align-items:center;justify-content:space-around;background:#fff;border:1px solid rgba(124,58,237,.15);padding:1rem 1.5rem;margin-top:2rem;box-shadow:0 15px 40px -10px #7c3aed26,inset 0 1px #ffffffe6;position:relative;z-index:1;clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px),0 16px)}.hero-stats-bar:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--purple-primary),transparent)}.stat-item{text-align:center;flex:1}.stat-item .stat-value{font-size:1.625rem;font-weight:800;background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem;line-height:1;letter-spacing:-.02em}.stat-item .stat-label{font-size:.75rem;color:var(--text-mid);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-family:JetBrains Mono,monospace}.stat-divider{width:1px;height:40px;background:linear-gradient(180deg,transparent,rgba(124,58,237,.3),transparent)}.section-header{text-align:center;margin-bottom:3rem}.section-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:#fff;border:1px solid rgba(124,58,237,.2);color:var(--purple-primary);font-size:.75rem;font-weight:700;letter-spacing:2px;margin-bottom:1.25rem;font-family:JetBrains Mono,monospace;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.section-tag:before{content:"//";color:var(--purple-neon)}.section-header h2{font-size:2.25rem;font-weight:800;color:var(--text-dark);margin-bottom:.875rem;letter-spacing:-.02em}.section-header p{font-size:1rem;color:var(--text-mid);max-width:560px;margin:0 auto}.section-header-fancy{margin-bottom:3.5rem;position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}.section-kicker{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.kicker-line{width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--purple-primary),transparent)}.kicker-text{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700;letter-spacing:3px;color:var(--purple-primary);text-transform:uppercase;position:relative;padding:.35rem .875rem;background:linear-gradient(135deg,#7c3aed14,#a855f71f);border:1px solid rgba(124,58,237,.2);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.section-header-fancy h2{font-size:3rem;font-weight:800;color:var(--text-dark);margin-bottom:1rem;letter-spacing:-.035em;line-height:1.1;position:relative;display:block;max-width:780px}.section-header-fancy h2 .heading-accent{background:linear-gradient(135deg,#7c3aed,#a855f7,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;display:inline-block}.section-header-fancy h2 .heading-accent:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:8px;background:linear-gradient(90deg,transparent,rgba(168,85,247,.3),transparent);filter:blur(4px);z-index:-1}.section-header-fancy p{font-size:1.0625rem;color:var(--text-mid);max-width:560px;margin:.5rem auto 0;line-height:1.6}.about{padding:90px 0;background:linear-gradient(180deg,#fff,#faf5ff);position:relative;overflow:hidden}.about-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(124,58,237,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);pointer-events:none}.about>.container{position:relative;z-index:1}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem;align-items:center}.about-visual{display:flex;align-items:center;justify-content:center;position:relative;min-height:480px}.about-orbit{position:relative;width:440px;height:440px;max-width:100%}.orbit-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1.5px dashed rgba(124,58,237,.25);transform:translate(-50%,-50%)}.orbit-ring.ring-1{width:180px;height:180px;border-color:#7c3aed59;animation:orbitSpin 18s linear infinite}.orbit-ring.ring-2{width:300px;height:300px;border-color:#a855f738;animation:orbitSpinReverse 28s linear infinite}.orbit-ring.ring-3{width:420px;height:420px;border-color:#c084fc2e;animation:orbitSpin 40s linear infinite}@keyframes orbitSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes orbitSpinReverse{0%{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}.orbit-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:#fff;color:var(--purple-primary);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);box-shadow:0 0 0 2px #7c3aed40,0 0 0 8px #7c3aed14,0 20px 50px -10px #7c3aed80;z-index:3}.orbit-core-logo{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(124,58,237,.35))}.orbit-core .core-label{font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:800;letter-spacing:2px}.core-pulse{position:absolute;inset:-6px;border-radius:inherit;clip-path:inherit;background:linear-gradient(135deg,#7c3aed99,#a855f799);opacity:.45;animation:corePulse 2.5s ease-out infinite;z-index:-1}@keyframes corePulse{0%{transform:scale(1);opacity:.5}to{transform:scale(1.4);opacity:0}}.orbit-node{position:absolute;top:50%;left:50%;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem .4rem .55rem;background:#fff;border:1px solid rgba(124,58,237,.18);color:var(--purple-primary);font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:700;letter-spacing:.5px;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);box-shadow:0 6px 18px -4px #7c3aed40;z-index:2;white-space:nowrap;animation:nodeFloat 4s ease-in-out infinite}.orbit-node svg{color:var(--purple-primary)}.orbit-node.node-1{transform:translate(-50%,-50%) translateY(-150px);animation-delay:0s}.orbit-node.node-2{transform:translate(-50%,-50%) translate(130px,-75px);animation-delay:.6s}.orbit-node.node-3{transform:translate(-50%,-50%) translate(130px,75px);animation-delay:1.2s}.orbit-node.node-4{transform:translate(-50%,-50%) translateY(150px);animation-delay:1.8s}.orbit-node.node-5{transform:translate(-50%,-50%) translate(-130px,75px);animation-delay:2.4s}.orbit-node.node-6{transform:translate(-50%,-50%) translate(-130px,-75px);animation-delay:3s}@keyframes nodeFloat{0%,to{filter:brightness(1);box-shadow:0 6px 18px -4px #7c3aed40}50%{filter:brightness(1.05);box-shadow:0 10px 24px -4px #7c3aed73}}.orbit-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.packet{position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:#a855f7;box-shadow:0 0 12px #a855f7,0 0 24px #a855f799;z-index:1}.packet.p1{animation:packetOrbit1 6s linear infinite}.packet.p2{animation:packetOrbit2 9s linear infinite;animation-delay:1.5s;background:#7c3aed;box-shadow:0 0 12px #7c3aed,0 0 24px #7c3aed99}.packet.p3{animation:packetOrbit1 8s linear infinite reverse;animation-delay:3s;background:#c084fc;box-shadow:0 0 12px #c084fc,0 0 24px #c084fc99}@keyframes packetOrbit1{0%{transform:translate(-50%,-50%) rotate(0) translate(90px) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg) translate(90px) rotate(-360deg)}}@keyframes packetOrbit2{0%{transform:translate(-50%,-50%) rotate(0) translate(150px) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg) translate(150px) rotate(-360deg)}}.about-content{max-width:600px}.about-kicker{justify-content:flex-start;margin-bottom:1.25rem}.about-title{font-size:2.5rem;font-weight:800;line-height:1.1;color:var(--text-dark);letter-spacing:-.02em;margin-bottom:1.25rem}.about-lead{font-size:1rem;line-height:1.7;color:var(--text-mid);margin-bottom:2.25rem}.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2.25rem}.about-pillar{display:flex;gap:.875rem;align-items:flex-start}.pillar-icon{flex-shrink:0;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7c3aed1a,#a855f714);color:var(--purple-primary);border:1px solid rgba(124,58,237,.18);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:all .3s ease}.about-pillar:hover .pillar-icon{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px -4px #7c3aed73}.pillar-body h3{font-size:.9375rem;font-weight:700;color:var(--text-dark);margin-bottom:.3rem;letter-spacing:-.01em}.pillar-body p{font-size:.8125rem;line-height:1.55;color:var(--text-mid);margin:0}.about-stats{display:flex;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;background:#fff;border:1px solid rgba(124,58,237,.15);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);box-shadow:0 10px 30px -10px #7c3aed26}.about-stat{display:flex;flex-direction:column;gap:.25rem}.about-stat-value{font-size:1.625rem;font-weight:800;color:var(--purple-primary);font-family:JetBrains Mono,monospace;line-height:1;letter-spacing:-.02em}.about-stat-value i{font-style:normal;font-size:.75em;opacity:.7;margin-left:1px}.about-stat-label{font-size:.6875rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:1px;font-family:JetBrains Mono,monospace}.about-stat-divider{width:1px;height:36px;background:linear-gradient(180deg,transparent,rgba(124,58,237,.25),transparent)}@media (max-width: 1024px){.about-grid{grid-template-columns:1fr;gap:3rem}.about-visual{order:1;min-height:400px}.about-content{order:2;max-width:none}.about-kicker{justify-content:center}.about-title,.about-lead{text-align:center}.about-stats{justify-content:center;flex-wrap:wrap}}@media (max-width: 640px){.about{padding:60px 0}.about-orbit{width:340px;height:340px}.orbit-ring.ring-1{width:140px;height:140px}.orbit-ring.ring-2{width:230px;height:230px}.orbit-ring.ring-3{width:320px;height:320px}.orbit-core{width:96px;height:96px}.orbit-node.node-1{transform:translate(-50%,-50%) translateY(-115px)}.orbit-node.node-2{transform:translate(-50%,-50%) translate(100px,-58px)}.orbit-node.node-3{transform:translate(-50%,-50%) translate(100px,58px)}.orbit-node.node-4{transform:translate(-50%,-50%) translateY(115px)}.orbit-node.node-5{transform:translate(-50%,-50%) translate(-100px,58px)}.orbit-node.node-6{transform:translate(-50%,-50%) translate(-100px,-58px)}.about-title{font-size:2rem}.about-pillars{grid-template-columns:1fr;gap:1.25rem}}.how-it-works{padding:80px 0;background:linear-gradient(180deg,#fff,#faf5ff,#fff);position:relative}.how-it-works:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(124,58,237,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%);pointer-events:none}.how-it-works>.container{position:relative;z-index:1}.steps-container{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative}.step-card{background:#fff;border:1px solid rgba(124,58,237,.15);padding:2rem 1.75rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);clip-path:polygon(20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%,0 20px);box-shadow:0 4px 20px #7c3aed0f}.step-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#7c3aed,#a855f7,#c084fc);transform:scaleX(0);transform-origin:left;transition:transform .5s ease}.step-card:hover:before{transform:scaleX(1)}.step-card:hover{transform:translateY(-10px);box-shadow:0 30px 60px -15px #7c3aed40;border-color:#7c3aed66}.step-number{position:absolute;top:1.5rem;right:1.75rem;font-size:3.5rem;font-weight:900;color:transparent;-webkit-text-stroke:1.5px rgba(124,58,237,.2);line-height:1;transition:all .3s ease;font-family:JetBrains Mono,monospace}.step-card:hover .step-number{-webkit-text-stroke:1.5px rgba(124,58,237,.5);transform:scale(1.1)}.step-icon{width:60px;height:60px;background:linear-gradient(135deg,#7c3aed,#a855f7);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1.5rem;box-shadow:0 12px 30px -5px #7c3aed80;transition:transform .4s ease;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);position:relative}.step-icon:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.2));clip-path:inherit}.step-card:hover .step-icon{transform:scale(1.1) rotate(-5deg)}.step-card h3{font-size:1.5rem;font-weight:800;color:var(--text-dark);margin-bottom:.75rem;letter-spacing:-.01em}.step-card>p{font-size:.9375rem;color:var(--text-mid);line-height:1.65;margin-bottom:1.5rem}.step-features{list-style:none;padding:1rem 0 0;margin:0;display:flex;flex-direction:column;gap:.625rem;border-top:1px dashed rgba(124,58,237,.2)}.step-features li{display:flex;align-items:center;gap:.625rem;font-size:.875rem;color:var(--text-dark);font-weight:500}.step-features li svg{color:var(--purple-primary);flex-shrink:0}.step-connector{position:absolute;top:50%;right:-2.5rem;transform:translateY(-50%);width:2.75rem;height:2.75rem;background:#fff;border:1px solid rgba(124,58,237,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--purple-primary);z-index:3;box-shadow:0 6px 20px #7c3aed33;animation:connectorPulse 2s ease-in-out infinite}@keyframes connectorPulse{0%,to{box-shadow:0 6px 20px #7c3aed33}50%{box-shadow:0 6px 30px #7c3aed66}}.features{padding:80px 0;background:#fff;position:relative}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}.feature-card{background:#fff;border:1px solid rgba(124,58,237,.12);padding:1.75rem;position:relative;overflow:hidden;clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}.feature-card:before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-top:16px solid rgba(124,58,237,.08);border-left:16px solid transparent;transition:all .3s ease}.feature-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(168,85,247,.08),transparent 60%);opacity:0;transition:opacity .4s ease;pointer-events:none}.feature-icon{width:52px;height:52px;background:linear-gradient(135deg,#f3e8ff,#e9d5ff);display:flex;align-items:center;justify-content:center;color:var(--purple-primary);margin-bottom:1.25rem;transition:all .4s ease;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);position:relative}.feature-card h3{font-size:1.25rem;font-weight:800;color:var(--text-dark);margin-bottom:.625rem;letter-spacing:-.01em}.feature-card p{font-size:.9375rem;color:var(--text-mid);line-height:1.65}.pricing{padding:80px 0;background:linear-gradient(180deg,#faf5ff,#fff);position:relative;overflow:hidden}.pricing:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(124,58,237,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.04) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);pointer-events:none}.pricing>.container{position:relative;z-index:1}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:stretch;margin-top:2rem;max-width:960px;margin-left:auto;margin-right:auto}.pricing-card{position:relative;background:#fff;border:1px solid rgba(124,58,237,.15);border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:1.125rem;transition:box-shadow .3s ease,transform .3s ease}.pricing-card:hover{box-shadow:0 20px 40px -10px #7c3aed2e;transform:translateY(-4px)}.pricing-card-featured{border-color:var(--purple-primary);background:linear-gradient(160deg,#faf5ff,#fff 60%);box-shadow:0 12px 40px -8px #7c3aed38}.pricing-badge{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.06em;padding:4px 14px;border-radius:999px;white-space:nowrap}.pricing-card-header{display:flex;flex-direction:column;gap:.5rem}.pricing-tier{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--purple-primary)}.pricing-price{display:flex;align-items:baseline;gap:.25rem}.pricing-amount{font-size:2.25rem;font-weight:800;color:var(--text-dark);letter-spacing:-.03em;line-height:1}.pricing-period{font-size:.9375rem;color:var(--text-mid);font-weight:500}.pricing-desc{font-size:.9rem;color:var(--text-mid);line-height:1.6;margin:0}.pricing-features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;flex:1}.pricing-features-list li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-dark)}.pricing-features-list li svg{color:var(--purple-primary);flex-shrink:0}.pricing-cta{display:block;text-align:center;padding:.75rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:700;text-decoration:none;transition:all .25s ease;cursor:pointer;margin-top:auto}.pricing-cta-primary{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none}.pricing-cta-primary:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);box-shadow:0 8px 20px -4px #7c3aed73;transform:translateY(-1px)}.pricing-cta-outline{background:transparent;color:var(--purple-primary);border:1.5px solid rgba(124,58,237,.4)}.pricing-cta-outline:hover{border-color:var(--purple-primary);background:#faf5ff;transform:translateY(-1px)}.cta{padding:70px 0;background:linear-gradient(135deg,#7c3aed,#6d28d9,#581c87);text-align:center;position:relative;overflow:hidden}.cta:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%)}.cta:after{content:"";position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(168,85,247,.4),transparent 60%);transform:translate(-50%,-50%);filter:blur(80px)}.cta>.container{position:relative;z-index:1}.cta h2{font-size:2.25rem;font-weight:800;color:#fff;margin-bottom:1rem;letter-spacing:-.02em}.cta p{font-size:1.125rem;color:#ffffffe6;margin-bottom:2.5rem}.cta-buttons{display:flex;gap:1rem;justify-content:center}.btn-primary.large,.btn-secondary.large{padding:1.125rem 2.25rem;font-size:1rem}.cta .btn-primary{background:#fff;color:var(--purple-primary);box-shadow:0 15px 40px #00000040}.cta .btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 50px #0000004d}.cta .btn-secondary{background:transparent;color:#fff;border-color:#ffffff4d}.cta .btn-secondary:hover{background:#ffffff1a;border-color:#fff;transform:translateY(-3px)}.footer{padding:70px 0 25px;background:linear-gradient(180deg,#fafafa,#f5f3ff);color:var(--text-mid);border-top:1px solid rgba(124,58,237,.12);position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--purple-primary) 30%,var(--purple-neon) 50%,var(--purple-primary) 70%,transparent);opacity:.6}.footer:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(124,58,237,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.03) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at top,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at top,black 20%,transparent 70%);pointer-events:none}.footer>.container{position:relative;z-index:1}.footer-content{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:3.5rem;margin-bottom:3rem}.footer-col{display:flex;flex-direction:column;gap:.75rem}.footer-col-brand{gap:1.25rem;max-width:420px}.footer-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem;position:relative}.footer-logo:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:22px;background:linear-gradient(180deg,#7c3aed,#a855f7);border-radius:2px;box-shadow:0 0 8px #7c3aed80}.footer-logo img{width:32px;height:32px}.footer-logo span{font-size:1.125rem;font-weight:800;color:var(--text-dark);letter-spacing:2.5px}.footer-tagline{color:var(--text-mid);font-size:.875rem;line-height:1.7;margin:0}.footer-badges{display:flex;flex-wrap:wrap;gap:.5rem}.footer-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .625rem;background:#fff;border:1px solid rgba(124,58,237,.18);color:var(--purple-primary);font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:700;letter-spacing:.5px;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);transition:all .25s ease}.footer-badge:hover{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 6px 16px -4px #7c3aed66}.footer-socials{display:flex;gap:.625rem}.footer-social{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(124,58,237,.15);color:var(--text-mid);text-decoration:none;transition:all .3s ease;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.footer-social:hover{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff!important;transform:translateY(-3px);border-color:transparent;box-shadow:0 10px 20px -5px #7c3aed73;padding-left:0!important}.footer-col h4{font-size:.75rem;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:2px;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;position:relative;padding-bottom:.5rem}.footer-col h4:after{content:"";position:absolute;left:0;bottom:0;width:24px;height:2px;background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:2px}.footer-col a{color:var(--text-mid);text-decoration:none;font-size:.875rem;transition:all .25s ease;position:relative;padding-left:0;display:inline-flex;align-items:center;gap:.4rem;width:fit-content}.footer-col a:before{content:"→";opacity:0;color:var(--purple-primary);transform:translate(-6px);transition:all .25s ease;font-size:.8rem}.footer-col a:hover{color:var(--purple-primary);padding-left:4px}.footer-col a:hover:before{opacity:1;transform:translate(0)}.footer-bottom{display:flex;justify-content:center;align-items:center;text-align:center;flex-wrap:wrap;gap:1rem;padding-top:1.75rem;border-top:1px solid rgba(124,58,237,.1);font-size:.8125rem;color:var(--text-light);font-family:JetBrains Mono,monospace}.footer-bottom p{margin:0}.footer-bottom-meta{display:inline-flex;align-items:center;gap:1.25rem}.footer-status{display:inline-flex;align-items:center;gap:.5rem;color:#059669;font-weight:600;letter-spacing:.3px}.status-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px #10b98133,0 0 8px #10b981;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{box-shadow:0 0 0 3px #10b98133,0 0 8px #10b981}50%{box-shadow:0 0 0 5px #10b98114,0 0 12px #10b981}}.footer-version{padding:.25rem .5rem;background:#fff;border:1px solid rgba(124,58,237,.15);color:var(--purple-primary);font-weight:700;font-size:.6875rem;letter-spacing:.5px;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)}@media (max-width: 1024px){.hero-inner{grid-template-columns:1fr;gap:3rem}.hero-dashboard{max-width:500px;margin:0 auto}.hero h1{font-size:2.75rem}.steps-container{grid-template-columns:1fr;gap:2rem}.step-connector{display:none}.features-grid{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:1fr 1fr 1fr;gap:2.5rem}.footer-col-brand{grid-column:1 / -1;max-width:none}}@media (max-width: 1024px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.menu-toggle{display:block}.nav-links{position:fixed;top:65px;left:0;right:0;background:#fff;flex-direction:column;padding:1.5rem;gap:1rem;border-bottom:1px solid rgba(124,58,237,.15);box-shadow:0 10px 30px #7c3aed1a;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.nav-links.active{transform:translateY(0);opacity:1;visibility:visible}.nav-links a{width:100%;padding:.75rem 0}.btn-signin{width:100%;justify-content:center}.hero{padding:100px 0 60px}.hero h1{font-size:2.25rem}.hero-desc{font-size:1rem}.hero-stats-bar{flex-wrap:wrap;gap:1.25rem;padding:1.5rem}.stat-divider{display:none}.stat-item{flex:1 1 40%}.stat-item .stat-value{font-size:1.5rem}.floating-card.card-1{left:-10px;top:-10px}.floating-card.card-2{right:-10px;bottom:-10px}.section-header h2{font-size:1.875rem}.features-grid,.pricing-grid{grid-template-columns:1fr}.cta h2{font-size:2rem}.cta-buttons{flex-direction:column;max-width:300px;margin:0 auto}.btn-primary.large,.btn-secondary.large{width:100%;justify-content:center}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;text-align:center}}@media (max-width: 480px){.hero h1{font-size:1.875rem}.hero-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}.floating-card{display:none}.dashboard-mockup{transform:none}}.auth-page-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#ede9fe;padding:clamp(12px,5vw,24px);font-family:Inter,Segoe UI,system-ui,sans-serif}.auth-card{display:flex;width:100%;max-width:850px;min-height:auto;aspect-ratio:16 / 10;min-aspect-ratio:auto;border-radius:clamp(10px,2vw,16px);background:linear-gradient(to right,#fff 50%,#4c1d95 50%);box-shadow:0 4px 16px #0000001f,0 16px 40px #0000002e,0 40px 80px #00000038,0 0 0 1px #8b5cf61f,0 8px 60px #6d28d940;overflow:hidden;transform:translateZ(0);isolation:isolate}.auth-left{flex:1;background:#fff;display:flex;flex-direction:column}.auth-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid #E5E7EB}.auth-nav-logo{display:flex;align-items:center}.auth-nav-logo-img{height:110px;width:auto;display:block}.auth-nav-links{display:flex;align-items:center;gap:6px}.auth-nav-link{font-size:.875rem;font-weight:500;color:#6b7280;text-decoration:none;padding:6px 12px;border-radius:8px;transition:color .2s ease,background .2s ease}.auth-nav-link:hover{color:#5b21b6;background:#ede9fe}.auth-nav-link.active{color:#5b21b6;background:#ddd6fe;font-weight:600}.auth-form-area{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(12px,2vw,24px) clamp(12px,2vw,32px)}.auth-form-inner{width:100%;max-width:340px}.auth-form-title{font-size:clamp(1.1rem,3.5vw,1.6rem);font-weight:800;color:#111827;margin:0 0 2px;letter-spacing:-.5px}.auth-form-subtitle{font-size:clamp(.65rem,1.8vw,.75rem);color:#6b7280;margin:0 0 12px}.auth-alert{padding:6px 10px;border-radius:8px;font-size:clamp(.65rem,1.4vw,.72rem);font-weight:500;margin-bottom:8px}.auth-alert.error{background:#fee2e2;border:1px solid #FCA5A5;color:#dc2626}.auth-alert.success{background:#dcfce7;border:1px solid #86EFAC;color:#16a34a}.auth-form{display:flex;flex-direction:column;gap:8px}.auth-field{display:flex;flex-direction:column;gap:2px}.auth-input-wrap{position:relative;display:flex;align-items:center;background:#f3f4f6;border-radius:8px;border:1.5px solid transparent;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;min-height:clamp(30px,3.5vw,36px);padding:0 clamp(5px,1vw,8px) 0 clamp(22px,2.5vw,28px)}.auth-input-wrap:focus-within{border-color:#6d28d9;box-shadow:0 0 0 4px #6d28d924,0 0 20px #6d28d91a;background:#fefefe}.auth-input-wrap.has-error{border-color:#ef4444}.auth-input-wrap.has-error:focus-within{box-shadow:0 0 0 4px #ef44441f}.auth-input-icon{position:absolute;left:clamp(7px,1vw,10px);top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;flex-shrink:0;transition:color .2s ease;width:clamp(10px,1.8vw,12px);height:clamp(10px,1.8vw,12px)}.auth-input-wrap:focus-within .auth-input-icon{color:#6d28d9}.auth-float-field{flex:1;position:relative;display:flex;align-items:center;min-height:auto}.auth-input{width:100%;padding:clamp(5px,.8vw,8px) 0 clamp(2px,.3vw,2px);background:transparent;border:none;outline:none;font-size:clamp(.62rem,1.5vw,.72rem);font-family:inherit;color:#111827;line-height:1.2}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:hover,.auth-input:-webkit-autofill:focus,.auth-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px #F3EFFE inset!important;box-shadow:0 0 0 1000px #f3effe inset!important;-webkit-text-fill-color:#111827!important;caret-color:#111827;transition:background-color 9999s ease-in-out 0s}.auth-float-label{position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:clamp(.6rem,1.4vw,.7rem);color:#9ca3af;pointer-events:none;transition:top .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),font-size .2s cubic-bezier(.4,0,.2,1),color .2s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1}.auth-input:focus~.auth-float-label,.auth-input:not(:placeholder-shown)~.auth-float-label{top:clamp(3px,.6vw,5px);transform:translateY(0);font-size:clamp(.48rem,1.1vw,.52rem);font-weight:600;letter-spacing:.025em}.auth-input-wrap:focus-within .auth-float-label{color:#6d28d9}.auth-input-wrap.has-error .auth-float-label{color:#ef4444}.auth-eye-btn{flex-shrink:0;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:3px;margin-left:2px;border-radius:50%;transition:color .2s ease,background .2s ease;width:clamp(26px,4vw,30px);height:clamp(26px,4vw,30px)}.auth-eye-btn:hover{color:#5b21b6;background:#6d28d914}.auth-error{font-size:clamp(.56rem,1.2vw,.62rem);color:#ef4444;padding-left:8px;margin-top:1px}.auth-extras{display:flex;align-items:center;justify-content:space-between;font-size:clamp(.6rem,1.3vw,.68rem);margin-top:3px}.auth-remember{display:flex;align-items:center;gap:5px;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.auth-checkbox{width:clamp(13px,2vw,15px);height:clamp(13px,2vw,15px);accent-color:#5B21B6;cursor:pointer}.auth-forgot{color:#5b21b6;text-decoration:none;font-weight:500;transition:color .2s ease}.auth-forgot:hover{color:#3b1179;text-decoration:underline}.auth-btn-primary{width:100%;padding:clamp(7px,1.5vw,10px);background:linear-gradient(110deg,#7c3aed,#5b21b6 35%,#4c1d95 65%,#6d28d9);background-size:220% 220%;background-position:0% 50%;color:#fff;border:none;border-radius:999px;font-size:clamp(.7rem,1.8vw,.8rem);font-weight:700;font-family:inherit;letter-spacing:.02em;cursor:pointer;transition:background-position .55s ease,box-shadow .3s ease,transform .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 15px #5b21b673,0 1px 3px #0003,inset 0 1px #ffffff26;margin-top:1px;position:relative;overflow:hidden}.auth-btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);background-size:200% 100%;background-position:-100% 0;transition:background-position .55s ease;border-radius:inherit;pointer-events:none}.auth-btn-primary:hover:not(:disabled):before{background-position:200% 0}.auth-ripple{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffffff73;transform:translate(-50%,-50%) scale(0);animation:authRipple .65s ease-out forwards;pointer-events:none}@keyframes authRipple{to{transform:translate(-50%,-50%) scale(60);opacity:0}}.auth-btn-primary:hover:not(:disabled){background-position:100% 50%;box-shadow:0 8px 28px #5b21b699,0 2px 8px #00000040,inset 0 1px #ffffff2e;transform:translateY(-2px) scale(1.018)}.auth-btn-primary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 3px 10px #5b21b666,0 1px 3px #0003;transition:transform .1s ease,box-shadow .1s ease}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{width:20px;height:20px;margin:0 auto;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:authSpin .75s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-redirect{text-align:center;font-size:.9rem;color:#6b7280;margin:0}.auth-redirect-link{color:#5b21b6;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-redirect-link:hover{color:#3b1179;text-decoration:underline}.auth-right{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.auth-right-bg{position:absolute;inset:-2px;background:linear-gradient(145deg,#5b21b6,#9680f0 30%,#6d28d9 55%,#b8aefb 75%,#4c1d95);background-size:250% 250%;animation:gradientShift 9s ease-in-out infinite;z-index:0}@keyframes gradientShift{0%{background-position:0% 30%}50%{background-position:100% 70%}to{background-position:0% 30%}}.auth-blob{position:absolute;border-radius:50%;filter:blur(64px);z-index:1}.auth-blob-1{width:clamp(200px,25vw,400px);height:clamp(200px,25vw,400px);background:#a78bfa80;top:clamp(-40px,-5vw,-80px);right:clamp(-30px,-5vw,-60px);animation:floatA 11s ease-in-out infinite alternate}.auth-blob-2{width:clamp(170px,20vw,340px);height:clamp(170px,20vw,340px);background:#5b21b6a6;bottom:clamp(-30px,-5vw,-60px);left:clamp(-25px,-5vw,-50px);animation:floatB 13s ease-in-out infinite alternate}.auth-blob-3{width:clamp(130px,18vw,260px);height:clamp(130px,18vw,260px);background:#c4b5fd59;top:35%;left:10%;animation:floatA 15s ease-in-out infinite alternate;animation-delay:-4s}.auth-blob-4{width:clamp(110px,15vw,220px);height:clamp(110px,15vw,220px);background:#6d28d98c;bottom:20%;right:8%;animation:floatB 12s ease-in-out infinite alternate;animation-delay:-6s}.auth-blob-4{width:220px;height:220px;background:#6d28d98c;bottom:20%;right:8%;animation:floatB 12s ease-in-out infinite alternate;animation-delay:-6s}@keyframes floatA{0%{transform:translateY(0) translate(0)}to{transform:translateY(-22px) translate(12px)}}@keyframes floatB{0%{transform:translateY(0) translate(0)}to{transform:translateY(18px) translate(-10px)}}.auth-ring{position:absolute;border-radius:50%;z-index:1}.auth-ring-1{width:clamp(200px,20vw,360px);height:clamp(200px,20vw,360px);top:50%;left:50%;transform:translate(-50%,-50%);border:1.5px solid rgba(220,210,255,.55);animation:spinCW 28s linear infinite}.auth-ring-2{width:clamp(280px,28vw,520px);height:clamp(280px,28vw,520px);top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(210,195,255,.4);animation:spinCCW 36s linear infinite}.auth-ring-3{width:clamp(360px,35vw,690px);height:clamp(360px,35vw,690px);top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(200,185,255,.25);animation:spinCW 48s linear infinite}@keyframes spinCW{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes spinCCW{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}.auth-right-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;justify-content:center}.auth-right-logo-wrap{background:transparent;padding:0;display:flex;align-items:center;justify-content:center;position:relative}.auth-logo-halo{position:absolute;border-radius:50%;pointer-events:none;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-logo-halo-outer{width:clamp(180px,18vw,320px);height:clamp(180px,18vw,320px);background:radial-gradient(circle,rgba(196,181,253,.35) 0%,transparent 70%)}.auth-logo-halo-inner{width:clamp(120px,12vw,200px);height:clamp(120px,12vw,200px);background:radial-gradient(circle,rgba(221,214,254,.55) 0%,transparent 65%)}.auth-right-logo{height:clamp(80px,12vw,160px);width:auto;max-width:clamp(110px,15vw,200px);display:block;position:relative;z-index:1;filter:drop-shadow(0 0 18px rgba(221,214,254,.7)) drop-shadow(0 0 40px rgba(196,181,253,.45)) drop-shadow(0 8px 24px rgba(109,40,217,.4))}.auth-right-tagline{font-size:1.35rem;font-weight:500;color:#ffffffe6;margin:0;line-height:1.7;letter-spacing:.01em}@media (max-width: 1024px){.auth-form-area{padding:clamp(20px,4vw,40px) clamp(20px,4vw,50px)}.auth-form-inner{max-width:380px}}@media (max-width: 768px){.auth-page-bg{padding:0;align-items:stretch}.auth-card{flex-direction:column;border-radius:0;min-height:100vh;max-width:100%;aspect-ratio:unset}.auth-right{min-height:180px;order:-1}.auth-left{flex:unset}.auth-form-area{padding:clamp(24px,4vw,32px) clamp(20px,4vw,24px) clamp(32px,5vw,48px)}.auth-nav{padding:clamp(12px,3vw,16px) clamp(16px,3vw,24px)}.auth-nav-links{gap:2px}.auth-nav-link{font-size:clamp(.7rem,2vw,.8rem);padding:5px 8px}.auth-form-inner{max-width:100%}}@media (max-width: 640px){.auth-form-area{padding:clamp(20px,3vw,28px) clamp(16px,3vw,20px)}.auth-nav-links .auth-nav-link:not(.active){display:none}.auth-right{min-height:140px}}@media (max-width: 480px){.auth-form-area{padding:clamp(16px,3vw,24px) clamp(12px,3vw,16px)}.auth-form-title{margin-bottom:4px}.auth-form-subtitle{margin-bottom:16px}.auth-nav-links .auth-nav-link:not(.active){display:none}.auth-right{min-height:120px}}.signup-card{min-height:auto;aspect-ratio:16 / 11;min-aspect-ratio:auto;max-width:850px}@media (max-width: 768px){.signup-card{aspect-ratio:unset;min-height:100vh}}.top-navbar{position:fixed;top:0;left:0;right:0;height:64px;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid #E5E7EB;z-index:1000;box-shadow:0 1px 3px #1018280d}.navbar-container{max-width:100%;height:100%;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.navbar-brand{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.navbar-logo-img{height:72px;width:auto;display:block}.brand-icon{color:#5b21b6}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:1.125rem;font-weight:700;color:#1f2933;line-height:1}.brand-subtitle{font-size:.7rem;color:#9ca3af;text-transform:uppercase;letter-spacing:1px}.navbar-links{display:flex;align-items:center;gap:.5rem;flex:1;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.navbar-links::-webkit-scrollbar{display:none}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;border-radius:10px;color:#6b7280;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap;position:relative}.nav-link:before{display:none}.nav-link:hover{color:#1f2933;background:#ede9fe}.nav-link:hover:before{display:none}.nav-link.active{color:#5b21b6;background:#c4b5fd;font-weight:700}.nav-link.active:before{display:none}.navbar-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.action-btn{position:relative;padding:.5rem;background:#ede9fe;border:1px solid #E5E7EB;border-radius:10px;color:#6b7280;cursor:pointer;transition:background .15s ease,color .15s ease}.action-btn:hover{background:#c4b5fd;border-color:#6d28d9;color:#5b21b6}.notification-badge{position:absolute;top:4px;right:4px;background:#f44;color:#fff;font-size:.7rem;font-weight:700;padding:2px 5px;border-radius:10px;min-width:18px;text-align:center}.user-menu-container{position:relative}.user-menu-btn{display:flex;align-items:center;gap:.75rem;padding:.4rem .875rem;background:#ede9fe;border:1px solid #E5E7EB;border-radius:10px;color:#1f2933;cursor:pointer;transition:background .15s ease}.user-menu-btn:hover{background:#eef2ef;border-color:#e5e7eb}.user-name{font-weight:600;font-size:.875rem;color:#1f2933}.user-menu-overlay{position:fixed;inset:0;z-index:1001}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:#fff;border:1px solid #E5E7EB;border-radius:14px;box-shadow:0 10px 30px #10182814;z-index:1002;overflow:hidden;-webkit-backdrop-filter:none;backdrop-filter:none}.user-menu-header{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#ede9fe;border-bottom:1px solid #E5E7EB}.user-menu-name{font-weight:700;color:#1f2933;font-size:1rem}.user-menu-email{font-size:.8125rem;color:#6b7280}.user-menu-role{display:inline-flex;align-items:center;gap:.25rem;margin-top:.25rem;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.user-menu-role.role-admin{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.user-menu-role.role-user{background:#c4b5fd;color:#5b21b6;border:1px solid #6D28D9}.user-menu-divider{height:1px;background:#e5e7eb}.user-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1.25rem;background:transparent;border:none;color:#374151;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease;text-align:left;font-size:.875rem}.user-menu-item:hover{background:#ede9fe;color:#1f2933}.mobile-menu-toggle{display:none;padding:.5rem;background:#ede9fe;border:1px solid #E5E7EB;border-radius:10px;color:#6b7280;cursor:pointer;transition:all .15s ease}.mobile-menu-toggle:hover{background:#c4b5fd;border-color:#6d28d9;color:#5b21b6}.mobile-overlay{display:none;position:fixed;inset:64px 0 0;background:#1f293366;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998}.mobile-sidebar{display:none;position:fixed;top:64px;right:0;width:280px;height:calc(100vh - 64px);background:#fff;border-left:1px solid #E5E7EB;box-shadow:-4px 0 20px #10182814;z-index:999;overflow-y:auto;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-sidebar-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem;background:#ede9fe;border-bottom:1px solid #E5E7EB}.mobile-nav-items{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.mobile-nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border:1px solid #E5E7EB;border-radius:10px;color:#374151;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.mobile-nav-item:hover,.mobile-nav-item.active{background:#c4b5fd;border-color:#6d28d9;color:#5b21b6}.mobile-sidebar-footer{padding:1rem;border-top:1px solid #E5E7EB;margin-top:auto}.mobile-logout-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;color:#dc2626;font-weight:600;cursor:pointer;transition:background .15s ease}.mobile-logout-btn:hover{background:#fee2e2;border-color:#dc2626}@media (max-width: 1200px){.navbar-links{gap:.25rem}.nav-link{padding:.75rem 1rem;font-size:.85rem}.user-name{display:none}}@media (max-width: 968px){.navbar-links{display:none}.action-btn:not(.mobile-menu-toggle){display:none}.user-menu-btn .user-name{display:none}.mobile-menu-toggle{display:flex}.mobile-overlay{display:block}.mobile-sidebar{display:flex;flex-direction:column}}@media (max-width: 480px){.navbar-container{padding:0 1rem}.brand-text{display:none}.mobile-sidebar{width:100%}}.dashboard-container{min-height:100vh;background:#f5f7f6;color:#1f2933;padding-top:64px}.dashboard-content{padding:2rem;max-width:1800px;margin:0 auto}.dashboard-hero{padding:1.5rem 2rem;background:#fff;border-radius:16px;margin-bottom:2rem;border:1px solid #E5E7EB;box-shadow:0 8px 20px #1018280d}.hero-content{display:flex;align-items:center;gap:1.5rem}.hero-icon{color:#5b21b6}.hero-title{margin:0;font-size:2rem;font-weight:700;color:#1f2933}.hero-subtitle{margin:.5rem 0 0;font-size:.9375rem;color:#6b7280;font-weight:400}.quick-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.quick-stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border-radius:14px;border:1px solid #E5E7EB;box-shadow:0 8px 20px #1018280d}.quick-stat-card.success{border-left:4px solid #22C55E}.quick-stat-card .stat-icon{color:#5b21b6}.stat-label{font-size:.8125rem;color:#6b7280;font-weight:500}.stat-value{font-size:1.375rem;font-weight:700;color:#1f2933!important}.dashboard-section{margin-bottom:3rem}.section-title{font-size:1.25rem;font-weight:700;color:#1f2933;margin-bottom:1.25rem;display:flex;align-items:center;gap:.75rem}.section-title:before{content:"";width:4px;height:20px;background:#6d28d9;border-radius:2px}.dashboard-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.dashboard-card{background:#fff;border-radius:16px;border:1px solid #E5E7EB;padding:1.25rem;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden;box-shadow:0 8px 20px #1018280d}.dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#6d28d9;opacity:0;transition:opacity .2s ease}.dashboard-card:hover:before{opacity:1}.dashboard-card:hover{background:#fff;border-color:#6d28d9;box-shadow:0 10px 28px #10182814;transform:none}.dashboard-card:hover .card-title,.dashboard-card:hover .card-description,.dashboard-card:hover .card-stats{color:inherit}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:2px solid;transition:all .3s ease}.dashboard-card:hover .card-icon{transform:scale(1.1) rotate(5deg)}.card-arrow{color:#9ca3af;transition:color .15s ease,transform .15s ease}.dashboard-card:hover .card-arrow{color:#5b21b6;transform:translate(4px)}.card-content{display:flex;flex-direction:column;gap:.5rem}.card-title{font-size:1.125rem;font-weight:700;color:#1f2933;margin:0}.card-description{font-size:.875rem;color:#6b7280;margin:0;line-height:1.5}.card-stats{font-size:.85rem;font-weight:600;margin-top:.5rem;padding-top:.75rem;border-top:1px solid #E5E7EB;color:var(--text-tertiary)}.overview-card{background:#fff;border-radius:14px;border:1px solid #E5E7EB;padding:1.25rem;box-shadow:0 8px 20px #1018280d}.overview-card h3{margin:0 0 1.25rem;font-size:1.0625rem;color:#1f2933;font-weight:600}.overview-stats{display:flex;flex-direction:column;gap:1rem}.overview-stat{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f5f7f6;border-radius:8px}.overview-label{color:var(--text-tertiary);font-size:.9rem;font-weight:500}.overview-value{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.overview-value.status-healthy{color:#22c55e}@media (max-width: 1200px){.dashboard-cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width: 768px){.dashboard-content{padding:1rem}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:.95rem}.dashboard-cards-grid,.overview-grid{grid-template-columns:1fr}}@media (max-width: 480px){.hero-content{flex-direction:column;text-align:center}.hero-title{font-size:1.5rem}.quick-stats-grid{grid-template-columns:1fr}}.admin-dashboard,.admin-dashboard *:not(::-webkit-scrollbar):not(::-webkit-scrollbar-thumb):not(::-webkit-scrollbar-track):not(.modal-content):not(.modal-overlay),.admin-dashboard *:before,.admin-dashboard *:after{text-shadow:none!important;filter:none!important;animation:none!important;-webkit-text-fill-color:inherit!important;background-clip:border-box!important;-webkit-background-clip:border-box!important}.admin-dashboard .admin-sidebar,.admin-dashboard .stat-card,.admin-dashboard .dashboard-card,.admin-dashboard .modal-content,.admin-dashboard .professional-rule-card,.admin-dashboard .rule-card-v2,.admin-dashboard .metric-card,.admin-dashboard .health-card{-webkit-text-fill-color:unset!important;filter:none!important;animation:unset!important}.admin-dashboard .tab-content,.admin-dashboard .sidebar-nav-item,.admin-dashboard .data-table tbody tr,.admin-dashboard .data-table td,.admin-dashboard .badge,.admin-dashboard .deployment-badge{animation:none!important;transition:none!important;transform:none!important;background-image:none!important;box-shadow:none!important}.admin-dashboard h1,.admin-dashboard h2,.admin-dashboard h3,.admin-dashboard h4,.admin-dashboard h5,.admin-dashboard h6{background:none!important;background-image:none!important;color:#1f2933!important}.admin-dashboard .sidebar-title h2{color:#fff!important}.admin-dashboard .sidebar-title p{color:#e2d9fd!important}.admin-dashboard code,.admin-dashboard pre,.admin-dashboard .pattern-display,.admin-dashboard .rule-pattern-box,.admin-dashboard .info-code,.admin-dashboard .detail-code{background:#f7f8f7!important;color:#5b21b6!important;border:1px solid #E5E7EB!important}.admin-dashboard .admin-content-header,.admin-dashboard .stat-card{box-shadow:0 1px 3px #0000000d!important}.admin-dashboard .stat-card:hover{box-shadow:0 4px 12px #00000014!important}.admin-dashboard .modal-content{box-shadow:0 10px 30px #1018280f!important;background:#fff!important;border:1px solid #E5E7EB!important}.admin-dashboard .stat-card .stat-value,.admin-dashboard .stat-card .stat-info .stat-value,.admin-dashboard .modal-header h3{color:#1f2933!important}.admin-dashboard .modal-overlay{background:#1f293380!important}.admin-dashboard .form-group{display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important}.admin-dashboard .form-group label{color:#374151!important}.admin-dashboard .form-group input[type=text],.admin-dashboard .form-group input[type=email],.admin-dashboard .form-group input[type=number],.admin-dashboard .form-group select,.admin-dashboard .form-group textarea{background:#fff!important;border:1px solid #E5E7EB!important;color:#1f2933!important;width:100%!important;padding:8px 12px!important;font-size:14px!important;border-radius:6px!important}.admin-dashboard .form-group select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B21B6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:right 8px center!important;background-size:20px!important;padding-right:32px!important}.admin-dashboard .form-group input:focus,.admin-dashboard .form-group select:focus,.admin-dashboard .form-group textarea:focus{border-color:#5b21b6!important;background:#fff!important}.admin-dashboard .form-group input:disabled,.admin-dashboard .form-group select:disabled,.admin-dashboard .form-group textarea:disabled{background:#f3f4f6!important;color:#9ca3af!important}.admin-dashboard .modal-header{border-bottom:1px solid #E5E7EB!important}.admin-dashboard .modal-actions{border-top:1px solid #E5E7EB!important}.admin-dashboard .modal-close:hover{background:#f7f8f7!important;color:#1f2933!important}.admin-dashboard .form-group select option{background:#fff!important;color:#1f2933!important;padding:8px 12px!important;line-height:1.5!important;max-width:100%!important;word-wrap:normal!important;white-space:normal!important}.admin-dashboard .form-group input::placeholder,.admin-dashboard .form-group textarea::placeholder{color:#b6bdc6!important}.admin-dashboard .form-group.checkbox input[type=checkbox]{accent-color:#5B21B6!important}.admin-dashboard .form-group.checkbox label{color:#374151!important}.admin-dashboard .modal-content p{color:#6b7280!important}.admin-dashboard .modal-overlay,.admin-dashboard .modal-content{animation:none!important}.admin-dashboard .stat-card .stat-label,.admin-dashboard .stat-card .stat-info .stat-label{color:#6b7280!important}.admin-dashboard .stat-sublabel{color:#9ca3af!important}.admin-dashboard .stat-refresh-btn{color:#5b21b6!important}.admin-dashboard .stat-refresh-btn:hover{color:#3b1179!important}::-webkit-scrollbar{width:8px!important;height:8px!important}::-webkit-scrollbar-track{background:#f5f7f6!important}::-webkit-scrollbar-thumb{background:#d1d5db!important;border-radius:4px!important}::-webkit-scrollbar-thumb:hover{background:#9ca3af!important}.admin-dashboard{display:flex;min-height:100vh;background:#f5f7f6;color:#1f2933;width:100%;max-width:100vw;overflow-x:hidden;position:relative}.admin-sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width, 248px);height:100vh;background:#160840;color:#e5ede9;display:flex;flex-direction:column;z-index:100;border-right:1px solid #2D1268;box-shadow:none}.sidebar-header{padding:16px 10px;border-bottom:1px solid #2D1268;display:flex;align-items:center;justify-content:center}.sidebar-logo{width:36px;height:36px;color:#6d28d9}.ad-sidebar-logo-img{width:120px;height:auto;display:block;margin:0 auto}.sidebar-title h2{margin:0;font-size:1.125rem;font-weight:700;color:#f0f4f1}.sidebar-title p{margin:.25rem 0 0;font-size:.7rem;color:#7a9e96;text-transform:uppercase;letter-spacing:.8px}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:0 14px;margin:0 10px 2px;height:44px;background:transparent;border:none;border-radius:12px;color:#ddd6fe;cursor:pointer;transition:background .15s ease,color .15s ease;font-size:.9rem;font-weight:500;width:calc(100% - 20px);text-align:left;font-family:var(--font-family, "Inter", sans-serif)}.sidebar-nav-item:hover{background:#ffffff1a!important;color:#fff!important}.sidebar-nav-item.active{background:#5b21b6!important;color:#fff!important;font-weight:600!important;box-shadow:none!important}.sidebar-nav-item svg{width:20px;height:20px}.sidebar-footer{padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;color:#e2d9fd;font-size:.875rem;cursor:pointer;transition:all .2s ease;background:transparent;border:none;border-top:1px solid #2D1268;width:100%;text-align:left;font-weight:500}.sidebar-footer:hover{color:#fff;background:#ffffff1a!important;background-image:none!important}.admin-main-content{margin-left:calc(var(--sidebar-width, 248px) + 16px);flex:1;padding:24px 24px 24px 0;min-height:100vh;position:relative;z-index:1;width:calc(100% - var(--sidebar-width, 248px) - 16px);box-sizing:border-box;overflow-x:hidden}.admin-content-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding:14px 20px;background:#fff;border-radius:16px;border:2px solid #D8C5FF;box-shadow:0 8px 20px #1018280d;width:100%;max-width:100%;box-sizing:border-box}.admin-dashboard .admin-main-content .admin-content-header .header-info h1{margin:0;font-size:1.5rem;font-weight:700;color:#1f2933!important;background-image:none!important;-webkit-background-clip:unset!important;background-clip:unset!important;-webkit-text-fill-color:#1F2933!important}.admin-dashboard .admin-main-content .admin-content-header .header-info p{margin:.25rem 0 0;color:#6b7280!important;font-size:.875rem}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:10px 16px;background:#5b21b6;border:none;border-radius:10px;color:#fff;cursor:pointer;transition:background .2s ease;font-size:.875rem;font-weight:600;font-family:var(--font-family, "Inter", sans-serif)}.refresh-button:hover:not(:disabled){background:#3b1179}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button.small{padding:.5rem 1rem;font-size:.85rem}.refresh-button svg.spinning{animation:spin 1s linear infinite}.reload-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#059669;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600}.reload-button:hover:not(:disabled){background:#047857;box-shadow:0 2px 8px #05966933}.reload-button:disabled{opacity:.5;cursor:not-allowed;background:#6b7280}.reload-button.small{padding:.5rem 1rem;font-size:.85rem}.message{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem;border-radius:6px;font-weight:500;background:#fff;border:1px solid}.message.success{border-color:#22c55e;color:#059669;background:#f0fdf4}.message.error{border-color:#ef4444;color:#dc2626;background:#fef2f2}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;width:100%;max-width:100%}.ud-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;width:100%}.ud-stat-card{background:#f3f0ff!important;border:2px solid #C4B5FD!important;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 12px #0000000d;min-width:0;box-sizing:border-box}.ud-stat-icon.green{background:#16a34a;box-shadow:0 4px 12px #16a34a59}.ud-stat-icon.red{background:#b91c1c;box-shadow:0 4px 12px #b91c1c59}.ud-stat-icon.purple{background:#7c3aed;box-shadow:0 4px 12px #7c3aed59}.ud-stat-icon.amber{background:#d97706;box-shadow:0 4px 12px #d9770659}.ud-stat-value{font-size:26px;font-weight:800;color:#1f2937;line-height:1;letter-spacing:-.5px;white-space:nowrap}.ud-stat-label{font-size:12px;font-weight:500;color:#6b7280;margin-top:4px;text-transform:uppercase;letter-spacing:.4px;white-space:normal;word-break:break-word}.stat-card{display:flex;align-items:center;gap:.75rem;padding:12px 14px;background:#fff;border-radius:16px;border:2px solid #D8C5FF;box-shadow:0 8px 20px #1018280d;width:100%;max-width:100%;min-width:0;box-sizing:border-box;position:relative;overflow:hidden;transition:box-shadow .2s ease}.stat-card:hover{box-shadow:0 10px 30px #10182814}.stat-card:before{display:none}.stat-card-purple,.stat-card-violet,.stat-card-lavender,.stat-card-light{background:#f3f0ff!important;border:2px solid #D8C5FF!important;border-radius:16px!important;padding:12px 14px!important;box-shadow:0 8px 20px #0000000d!important}.stat-card-purple:before{display:none}.stat-card-violet:before{display:none}.stat-card-lavender:before{display:none}.stat-card-light:before{display:none}.stat-card-purple .stat-value,.stat-card-violet .stat-value,.stat-card-lavender .stat-value,.stat-card-light .stat-value{color:#1f2937!important}.stat-card-purple .stat-label,.stat-card-violet .stat-label,.stat-card-lavender .stat-label,.stat-card-light .stat-label{color:#6b7280!important}.stat-card-light .stat-refresh-btn{background:#fff!important;border:1px solid #E5E7EB!important;color:#5b21b6!important;font-weight:600;padding:.625rem 1rem}.stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;flex-shrink:0}.stat-icon.users{color:#fff;background:#16a34a;border:none;box-shadow:0 4px 12px #16a34a59}.stat-icon.websites{color:#fff;background:#2563eb;border:none;box-shadow:0 4px 12px #2563eb59}.stat-icon.requests{color:#fff;background:#5b21b6;border:none;box-shadow:0 4px 12px #145c4c59}.stat-icon.waf{color:#fff;background:#7c3aed;border:none;box-shadow:0 4px 12px #7c3aed59}.stat-icon.alerts{color:#fff;background:#dc2626;border:none;box-shadow:0 4px 12px #dc262659}.stat-icon.blocked{color:#fff;background:#b91c1c;border:none;box-shadow:0 4px 12px #b91c1c59}.stat-icon.suricata{color:#fff;background:#d97706;border:none;box-shadow:0 4px 12px #d9770659}.stat-icon.refresh{color:#fff;background:#6b7280;border:none;box-shadow:0 4px 12px #6b728059}.stat-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.admin-dashboard .stat-card .stat-content .stat-value{font-size:1.375rem;font-weight:700;line-height:1;margin-bottom:.2rem;color:#1f2933!important;background:none!important;text-shadow:none!important;letter-spacing:-.5px;white-space:nowrap}.admin-dashboard .stat-card .stat-content .stat-label{font-size:.75rem;color:#6b7280!important;font-weight:500;letter-spacing:.3px;white-space:normal;word-break:break-word}.admin-dashboard .stat-card .stat-icon svg{width:20px;height:20px}.stat-card-purple .stat-content .stat-value,.stat-card-violet .stat-content .stat-value,.stat-card-lavender .stat-content .stat-value,.stat-card-light .stat-content .stat-value{color:#1f2933!important;text-shadow:none!important}.stat-card-purple .stat-content .stat-label,.stat-card-violet .stat-content .stat-label,.stat-card-lavender .stat-content .stat-label,.stat-card-light .stat-content .stat-label{color:#6b7280!important}.stat-sublabel{font-size:.7rem;color:#94a3b8;margin-top:.2rem}.stat-refresh-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background:#fff;border:1px solid #E5E7EB;border-radius:10px;color:#5b21b6;cursor:pointer;font-size:.8125rem;font-weight:600;width:100%;font-family:var(--font-family, "Inter", sans-serif)}.tab-content{background:#fff;border-radius:16px;padding:20px;border:2px solid #D8C5FF;box-shadow:0 8px 20px #1018280d;min-height:auto;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.overview-section{width:100%;max-width:100%;box-sizing:border-box}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.875rem;flex-wrap:wrap;gap:.75rem}.admin-dashboard .section-header h2{margin:0;color:#1f2933!important;font-size:1.125rem;font-weight:600;background:none!important;text-shadow:none!important}.search-box{display:flex;align-items:center;gap:.5rem;padding:0 12px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;min-width:250px;height:40px}.search-box svg{color:#9ca3af;width:16px;height:16px;flex-shrink:0}.search-box input{flex:1;background:transparent;border:none;color:#1f2933;outline:none;font-size:.875rem;height:100%;font-family:var(--font-family, "Inter", sans-serif)}.search-box input::placeholder{color:#b6bdc6}.table-container{overflow-x:auto;border-radius:16px;border:2px solid #D8C5FF;margin-top:.75rem;box-shadow:0 8px 20px #1018280d}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table thead{background:#f9fafb;border-bottom:1px solid #E5E7EB;position:sticky;top:0;z-index:1}.data-table th{padding:12px 16px;text-align:left;font-weight:600;color:#1f2933;white-space:nowrap;font-size:14px}.data-table td{padding:14px 16px;border-bottom:1px solid #ECEFEC;font-size:.875rem;color:#6b7280;vertical-align:middle}.data-table tbody tr{transition:background .15s ease;min-height:52px}.data-table tbody tr:hover{background:#f7f8f7}.data-table tbody tr:last-child td{border-bottom:none}.suricata-rule-details-row{background:#fafafa}.suricata-rule-details-row td{padding:0;border-bottom:1px solid #ECEFEC}.rule-details-panel{padding:20px 16px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.detail-group{display:flex;flex-direction:column;gap:6px}.detail-group label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-group .detail-value{font-size:14px;color:#1f2933;font-family:Fira Code,Courier New,monospace;padding:8px 12px;background:#fff;border-radius:4px;border:1px solid #E5E7EB}.expand-btn{color:#6b7280;transition:all .2s ease}.expand-btn:hover{color:#1f2933;background:#f3f4f6;border-radius:4px}.website-url{font-family:Fira Code,Courier New,monospace;font-size:.8125rem;color:#5b21b6}.badge{display:inline-flex;align-items:center;gap:.2rem;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid transparent}.badge.success{background:#dcfce7;color:#16a34a;border-color:#86efac}.badge.error{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.badge.warning{background:#fef3c7;color:#d97706;border-color:#fcd34d}.badge.info{background:#e0f2fe;color:#0284c7;border-color:#7dd3fc}.badge.secondary{background:#f3f4f6;color:#6b7280;border-color:#e5e7eb}.badge.admin{background:#e2d9fd;color:#5b21b6;border-color:#6d28d9}.badge.user{background:#f3f4f6;color:#6b7280;border-color:#e5e7eb}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:#94a3b8;gap:.5rem}.empty-state svg{width:48px;height:48px;opacity:.3}.loading-state{display:flex;align-items:center;justify-content:center;padding:2rem;color:#94a3b8}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:1.5rem}.health-card{padding:1.5rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0;text-align:center;box-shadow:0 1px 3px #0000000d}.health-card svg{width:48px;height:48px;margin-bottom:1rem}.health-card.success{border-color:#22c55e}.health-card.success svg{color:#22c55e}.health-card h3{margin:0 0 .5rem;font-size:1.1rem;color:#1f2933;font-weight:600}.health-card p{margin:0;color:#64748b;font-size:.875rem}.action-buttons-group{display:flex;gap:.375rem}.action-btn-small{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;cursor:pointer;transition:all .15s ease;border:1px solid;background:#fff}.action-btn-small.edit{border-color:#6d28d9;color:#5b21b6}.action-btn-small.edit:hover{background:#e2d9fd;border-color:#5b21b6;color:#5b21b6}.action-btn-small.delete{border-color:#ef4444;color:#ef4444}.action-btn-small.delete:hover{background:#ef4444;color:#fff}.action-btn-small.success{border-color:#22c55e;color:#22c55e}.action-btn-small.success:hover{background:#22c55e;color:#fff}.action-btn-small.warning{border-color:#f59e0b;color:#f59e0b}.action-btn-small.warning:hover{background:#f59e0b;color:#fff}.edit-button,.save-button,.cancel-button,.delete-button,.add-button{display:flex;align-items:center;gap:.5rem;padding:10px 16px;border-radius:10px;cursor:pointer;transition:background .15s ease;border:1px solid;font-size:.875rem;font-weight:600;font-family:var(--font-family, "Inter", sans-serif)}.edit-button.small,.save-button.small,.cancel-button.small{padding:6px 12px;font-size:.8125rem}.edit-button{background:#5b21b6;border-color:#5b21b6;color:#fff}.edit-button:hover{background:#3b1179;border-color:#3b1179}.save-button{background:#22c55e;border-color:#22c55e;color:#fff}.save-button:hover{background:#059669;border-color:#059669}.cancel-button{background:#fff;border-color:#e2e8f0;color:#64748b}.cancel-button:hover{background:#f8fafc;border-color:#cbd5e1}.delete-button{background:#ef4444;border-color:#ef4444;color:#fff}.delete-button:hover{background:#dc2626;border-color:#dc2626}.add-button{background:#5b21b6;border-color:#5b21b6;color:#fff}.add-button:hover{background:#3b1179;border-color:#3b1179}.rules-container{display:flex;flex-direction:column;gap:1.5rem}.global-toggle{padding:1rem 1.25rem;background:#f7f8f7;border-radius:12px;border:2px solid #D8C5FF}.global-toggle label{display:flex;align-items:center;gap:1rem;cursor:pointer;font-size:.9375rem;font-weight:600;color:#1f2933}.global-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#5B21B6}.rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.25rem;margin-top:1.5rem}.rule-card-v2{background:#fff;border-radius:8px;overflow:hidden;transition:all .2s ease;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.rule-card-v2:hover{border-color:#6d28d9;box-shadow:0 8px 20px #10182812}.rule-card-v2.rule-disabled{opacity:.6;background:#f8fafc}.rule-card-container{display:flex;flex-direction:column;height:100%}.rule-top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.rule-id-badge{display:flex;align-items:center;gap:.5rem;padding:4px 10px;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:8px;color:#6b7280;font-weight:600;font-size:.8rem}.rule-id-badge.ids-badge{background:#e2d9fd;border-color:#6d28d9;color:#5b21b6}.rule-status-chips{display:flex;gap:.5rem}.chip-severity,.chip-action,.chip-priority{padding:.35rem .65rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid}.chip-severity.sev-1{background:#dcfce7;color:#16a34a;border-color:#6ee7b7}.chip-severity.sev-2{background:#dcfce7;color:#166534;border-color:#86efac}.chip-severity.sev-3{background:#fef3c7;color:#d97706;border-color:#fcd34d}.chip-severity.sev-4{background:#fed7aa;color:#9a3412;border-color:#fdba74}.chip-severity.sev-5{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.chip-action.action-alert{background:#fef3c7;color:#d97706;border-color:#fcd34d}.chip-action.action-drop{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.chip-action.action-reject{background:#fed7aa;color:#9a3412;border-color:#fdba74}.chip-action.action-pass{background:#e0f2fe;color:#0284c7;border-color:#7dd3fc}.chip-priority.pri-1{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.chip-priority.pri-2{background:#fef3c7;color:#d97706;border-color:#fcd34d}.chip-priority.pri-3{background:#f3f4f6;color:#6b7280;border-color:#e5e7eb}.rule-content{flex:1;padding:1.25rem}.rule-category{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.8px;font-weight:700;margin-bottom:.75rem}.rule-message{font-size:.95rem;font-weight:600;color:#1f2933;margin:0 0 1rem;line-height:1.5}.rule-pattern-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.875rem;margin-top:1rem}.pattern-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:.5rem;display:block}.pattern-display{display:block;font-family:Fira Code,Monaco,Courier New,monospace;font-size:.85rem;color:#5b21b6;word-break:break-all;line-height:1.6}.rule-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-item.full{grid-column:1 / -1}.detail-label{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-value{font-size:.875rem;color:#1f2933;font-weight:500}.detail-code{display:block;background:#f7f8f7;border:1px solid #E5E7EB;border-radius:8px;padding:.625rem .875rem;font-family:Fira Code,Monaco,Courier New,monospace;font-size:.8125rem;color:#5b21b6;word-break:break-all;line-height:1.6}.http-tags{display:flex;gap:.5rem;flex-wrap:wrap}.http-tag{padding:.3rem .75rem;background:#e0f2fe;border:1px solid #7dd3fc;color:#0284c7;border-radius:999px;font-size:.75rem;font-weight:600}.rule-actions-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f8fafc;border-top:1px solid #e2e8f0}.action-left{display:flex;gap:.5rem}.action-right{display:flex;align-items:center;gap:.5rem}.btn-action{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s ease}.btn-action:hover{background:#f8fafc;transform:scale(1.05)}.btn-action.btn-edit:hover{background:#e2d9fd;border-color:#6d28d9;color:#5b21b6}.btn-action.btn-delete:hover{background:#fdd7d7;border-color:#f5a6a6;color:#c53030}.btn-action svg{width:14px;height:14px;stroke-width:2;flex-shrink:0}.switch-toggle{position:relative;display:inline-block;width:48px;height:24px}.switch-toggle input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;border:1px solid #94a3b8;transition:.3s;border-radius:24px}.switch-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background:#fff;transition:.3s;border-radius:50%}.switch-toggle input:checked+.switch-slider{background:#22c55e;border-color:#22c55e}.switch-toggle input:checked+.switch-slider:before{transform:translate(24px)}.switch-toggle input:disabled+.switch-slider{opacity:.5;cursor:not-allowed}.switch-label{font-size:.8125rem;color:#64748b;font-weight:500}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px}.rules-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.admin-sidebar{width:220px}.admin-main-content{margin-left:220px}}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(4,1fr);gap:8px}.stat-card{padding:1rem .75rem}.stat-icon{width:48px;height:48px}.admin-dashboard .stat-card .stat-content .stat-value{font-size:1.75rem}.rules-grid{grid-template-columns:1fr}.rule-top{flex-direction:column;gap:1rem;align-items:stretch}.rule-status-chips{justify-content:flex-start}.rule-actions-bar{flex-direction:column;gap:1rem}.action-left,.action-right{width:100%;justify-content:center}.detail-item{grid-column:1 / -1}.admin-sidebar{width:200px}.admin-main-content{margin-left:200px;padding:1.5rem 1rem}.stats-grid{grid-template-columns:repeat(4,1fr)}}.professional-rule-card{position:relative;background:#fff;border-radius:8px;overflow:hidden;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0}.professional-rule-card:hover{box-shadow:0 4px 12px #1e3a8a1a;border-color:#5b21b6}.professional-rule-card.disabled{opacity:.6;background:#f8fafc}.professional-rule-card.disabled:hover{transform:none;box-shadow:0 1px 3px #0000000d}.card-status-bar{height:4px;width:100%;background:#22c55e}.card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.25rem 1rem;gap:1rem}.card-title-section{display:flex;gap:1rem;align-items:flex-start;flex:1}.card-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#dcfce7;border-radius:8px;color:#22c55e;flex-shrink:0;border:1px solid #6ee7b7}.card-icon-wrapper.ids-icon{background:#e0f2fe;color:#5b21b6;border-color:#7dd3fc}.card-title-content{flex:1;min-width:0}.card-title{font-size:1.125rem;font-weight:600;color:#1f2933;margin:0 0 .25rem;letter-spacing:-.01em}.card-subtitle{font-size:.875rem;color:#64748b;margin:0;font-weight:400}.card-badges{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-start}.modern-badge{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border:1px solid}.modern-badge.severity-1{background:#4caf5026;color:#4caf50;border-color:#4caf504d}.modern-badge.severity-2{background:#8bc34a26;color:#8bc34a;border-color:#8bc34a4d}.modern-badge.severity-3{background:#ff980026;color:#ff9800;border-color:#ff98004d}.modern-badge.severity-4{background:#ff572226;color:#ff5722;border-color:#ff57224d}.modern-badge.severity-5{background:#f4433626;color:#f44336;border-color:#f443364d}.modern-badge.action-alert{background:#ff980026;color:#ff9800;border-color:#ff98004d}.modern-badge.action-drop{background:#f4433626;color:#f44336;border-color:#f443364d}.modern-badge.action-reject{background:#ff572226;color:#ff5722;border-color:#ff57224d}.modern-badge.action-pass{background:#2196f326;color:#2196f3;border-color:#2196f34d}.modern-badge.priority-1{background:#f4433626;color:#f44336;border-color:#f443364d}.modern-badge.priority-2{background:#ff980026;color:#ff9800;border-color:#ff98004d}.modern-badge.priority-3{background:#2196f326;color:#2196f3;border-color:#2196f34d}.modern-badge.status.enabled{background:#dcfce7;color:#16a34a;border-color:#6ee7b7}.modern-badge.status.disabled{background:#f1f5f9;color:#94a3b8;border-color:#cbd5e1}.card-body{padding:0 1.5rem 1rem}.alert-message-box{display:flex;gap:1rem;padding:1rem;background:#fef3c7;border-left:3px solid #f59e0b;border-radius:8px;margin-bottom:1rem}.alert-icon{color:#f59e0b;flex-shrink:0;margin-top:2px}.alert-content{flex:1;min-width:0}.alert-label{display:block;font-size:.75rem;color:#d97706;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-weight:600}.alert-text{margin:0;font-size:.9375rem;color:#78350f;line-height:1.5}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item.full-width{grid-column:1 / -1}.info-label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);transition:.3s;border-radius:28px}@media (max-width: 768px){.card-header{flex-direction:column;gap:1rem}.card-badges{width:100%}.info-grid{grid-template-columns:1fr}.card-footer{flex-direction:column;gap:1rem;align-items:stretch}.card-actions{width:100%;justify-content:center}.icon-button{flex:1;justify-content:center}.modern-toggle{align-self:center}}.rule-card{padding:1.5rem;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.rule-card:hover{border-color:#7dd3fc}.rule-card.disabled{opacity:.5}.rule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.rule-title{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.rule-title h3{margin:0;font-size:1.2rem}.severity-badge{padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;text-transform:uppercase}.severity-badge.low{background:#e0f2fe;color:#5b21b6}.severity-badge.medium{background:#ffaa001a;color:#fa0}.severity-badge.high{background:#ff6b6b1a;color:#ff6b6b}.severity-badge.critical{background:#ff00001a;color:red}.rule-description{color:#64748b;margin-bottom:1rem;line-height:1.5}.rule-details{display:flex;flex-direction:column;gap:.75rem}.rule-field{display:flex;flex-direction:column;gap:.5rem}.rule-field strong{color:#5b21b6;font-size:.9rem}.rule-field code{padding:.75rem;background:#f8fafc;border-radius:6px;font-family:Courier New,monospace;font-size:.9rem;color:#5b21b6;overflow-x:auto;border:1px solid #e2e8f0}.action-badge{padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;text-transform:uppercase;display:inline-block}.action-badge.block{background:#ff44441a;color:#f44}.action-badge.allow{background:#dcfce7;color:#16a34a;border:1px solid #6ee7b7}.action-badge.log{background:#e0f2fe;color:#5b21b6;border:1px solid #7dd3fc}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;transition:.3s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background-color:#22c55e}input:checked+.slider:before{transform:translate(26px)}.suricata-rules-list{display:flex;flex-direction:column;gap:1.5rem}.suricata-rule-card{background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.1);overflow:hidden}.suricata-rule-card .rule-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.suricata-rule-card h3{margin:0;font-family:Courier New,monospace;color:#5b21b6}.rule-meta{display:flex;align-items:center;gap:.75rem}.rule-content{padding:1rem}.rule-editor{width:100%;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:1rem;color:#1f2933;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;resize:vertical;min-height:200px}.rule-editor:focus{outline:none;border-color:#5b21b6;box-shadow:0 0 0 3px #2563eb1a}.rule-editor[readonly]{opacity:.7;cursor:default}@media (max-width: 768px){.admin-dashboard-container{padding:1rem;padding-top:80px}.admin-dashboard-header{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:repeat(4,1fr)}.admin-tabs{overflow-x:auto}.tab-content{padding:1rem}.search-box{min-width:100%}.table-container{font-size:.85rem}.data-table th,.data-table td{padding:.75rem .5rem}}.action-buttons-group{display:flex;gap:.5rem;align-items:center;justify-content:center}.action-btn-small{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:6px;border:1px solid;cursor:pointer;transition:all .2s ease;background:transparent}.action-btn-small.edit{color:#5b21b6;border-color:#7dd3fc}.action-btn-small.edit:hover{background:#e0f2fe;border-color:#5b21b6}.action-btn-small.delete{color:#f44;border-color:#ff44444d}.action-btn-small.delete:hover{background:#ff44441a;border-color:#f44}.action-btn-small.warning{color:#fa0;border-color:#ffaa004d}.action-btn-small.warning:hover{background:#ffaa001a;border-color:#fa0}.action-btn-small.success{color:#22c55e;border-color:#6ee7b7}.action-btn-small.success:hover{background:#dcfce7;border-color:#22c55e}.add-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#dcfce7;border:1px solid #6ee7b7;border-radius:8px;color:#16a34a;cursor:pointer;transition:all .3s ease;font-size:.95rem;font-weight:600}.add-button:hover{background:#a7f3d0;border-color:#22c55e;transform:translateY(-2px)}.rule-actions{display:flex;align-items:center;gap:.5rem}.delete-button{padding:.75rem 1.5rem;background:#ff44441a;border:1px solid #ff4444;border-radius:8px;color:#f44;cursor:pointer;transition:all .3s ease;font-size:.95rem}.delete-button:hover{background:#f443;transform:translateY(-2px)}.modal-overlay{position:fixed;inset:0;background:#1f293380;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.modal-content{background:#fff;border:2px solid #D8C5FF;border-radius:18px;padding:1.75rem;max-width:520px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #1018280f;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content.confirm{max-width:400px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #E5E7EB}.modal-header h3{margin:0;color:#1f2933;font-size:1.25rem;font-weight:700}.modal-content p{color:#6b7280;font-size:.9375rem;line-height:1.6;margin-bottom:1rem}.modal-close{background:transparent;border:none;color:#9ca3af;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s ease}.modal-close:hover{background:#f7f8f7;color:#1f2933}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:6px;color:#374151;font-weight:600;font-size:.875rem;font-family:var(--font-family, "Inter", sans-serif)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:10px 14px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;color:#1f2933;font-size:.9rem;transition:border-color .15s ease;font-family:var(--font-family, "Inter", sans-serif);height:40px}.form-group textarea{height:auto}.form-group select{cursor:pointer}.form-group select option{background:#fff;color:#1f2933;padding:.5rem}.form-group input::placeholder,.form-group textarea::placeholder{color:#b6bdc6}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#5b21b6;background:#fff;box-shadow:0 0 0 3px #145c4c14}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.form-group.checkbox{display:flex;align-items:center}.form-group.checkbox label{display:flex;align-items:center;gap:.75rem;margin:0;cursor:pointer}.form-group.checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#5B21B6}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #E5E7EB}.modal-actions button{padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid}.admin-dashboard *::-webkit-scrollbar{width:6px}.admin-dashboard *::-webkit-scrollbar-track{background:#f5f7f6!important}.admin-dashboard *::-webkit-scrollbar-thumb{background:#d1d5db!important;border-radius:4px}.admin-dashboard *::-webkit-scrollbar-thumb:hover{background:#9ca3af!important}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#f7f8f7!important}.modal-content::-webkit-scrollbar-thumb{background:#d1d5db!important;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#9ca3af!important}.action-badge{display:inline-block;padding:.3rem .75rem;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid}.action-badge.action-alert{background:#fef3c7;color:#d97706;border-color:#fcd34d}.action-badge.action-drop{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.action-badge.action-reject{background:#fed7aa;color:#9a3412;border-color:#fdba74}.action-badge.action-pass{background:#dcfce7;color:#16a34a;border-color:#6ee7b7}.flags-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.flag-badge{display:inline-block;padding:.3rem .75rem;background:#dcfce7;border:1px solid #6ee7b7;border-radius:12px;font-size:.75rem;font-weight:500;color:#16a34a}.modal-content.large{max-width:900px;max-height:90vh;overflow-y:auto}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.checkbox-group{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px;margin-bottom:1.5rem;border:1px solid #e2e8f0}.checkbox-group label{display:flex;align-items:center;gap:.5rem;color:#1f2933;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#5B21B6}.modal-content.large::-webkit-scrollbar{width:6px}.modal-content.large::-webkit-scrollbar-track{background:#f7f8f7!important}.modal-content.large::-webkit-scrollbar-thumb{background:#d1d5db!important;border-radius:4px}.modal-content.large::-webkit-scrollbar-thumb:hover{background:#9ca3af!important}.rule-card .rule-details{display:grid;gap:.75rem;margin-top:1rem}.rule-card .rule-field{display:flex;flex-direction:column;gap:.5rem}.rule-card .rule-field strong{color:#64748b;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.rule-card .rule-field code{background:#f8fafc;padding:.5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;color:#5b21b6;word-break:break-all;border:1px solid #e2e8f0}.section-header .action-buttons{display:flex;gap:.75rem;align-items:center}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.checkbox-group{flex-direction:column;gap:1rem}.modal-content.large{max-width:95vw;padding:1.5rem}.action-buttons{flex-direction:column;width:100%}.action-buttons button{width:100%}}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:2rem}.stats-row .stat-icon.active,.stats-row .stat-icon.warning{background:#fff3!important;color:#fff!important;border:2px solid rgba(255,255,255,.3)}.stat-info{flex:1;min-width:0}.card-info-block{display:flex;flex-direction:column;gap:.5rem}.info-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.info-value{font-size:.95rem;color:#1f2933;font-weight:600}.info-code{background:#f8fafc;padding:.625rem .875rem;border-radius:6px;font-family:Fira Code,Monaco,Courier New,monospace;font-size:.875rem;color:#5b21b6;border:1px solid #cbd5e1;word-break:break-all;line-height:1.5}.info-code.traffic-flow{color:#5b21b6;border-color:#7dd3fc}.severity-meter{position:relative;height:28px;background:#f1f5f9;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0}.severity-meter-fill{height:100%;transition:width .3s ease;border-radius:6px}.severity-meter-label{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);font-size:.75rem;font-weight:700;color:#fff}.modifier-badges{display:flex;gap:.5rem;flex-wrap:wrap}.modifier-badge{padding:.3rem .65rem;background:#e0f2fe;color:#5b21b6;border:1px solid #7dd3fc;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.card-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f8fafc;border-top:1px solid #e2e8f0}.card-actions{display:flex;gap:.5rem}.icon-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:600}.icon-button:hover{background:#f8fafc;border-color:#cbd5e1;color:#1f2933}.icon-button.edit:hover{background:#e0f2fe;border-color:#7dd3fc;color:#5b21b6}.icon-button.delete:hover{background:#fee2e2;border-color:#fca5a5;color:#ef4444}.modern-toggle{position:relative;display:inline-block;width:52px;height:28px}.modern-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;border:1px solid #94a3b8;transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.modern-toggle input:checked+.toggle-slider{background:#22c55e;border-color:#22c55e}.modern-toggle input:checked+.toggle-slider:before{transform:translate(24px)}.modern-toggle input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.status-badge{padding:.35rem .75rem;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid}.status-badge.active{background:#dcfce7;color:#16a34a;border-color:#6ee7b7}.status-badge.inactive{background:#f1f5f9;color:#94a3b8;border-color:#cbd5e1}.rule-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f8fafc;border-left:3px solid #cbd5e1;border-radius:6px;margin:1rem 0;color:#1f2933;font-size:.95rem}.rule-message svg{color:#64748b;flex-shrink:0}.pattern-code{background:#f8fafc!important;padding:.75rem 1rem!important;border-radius:6px!important;font-family:Fira Code,Courier New,monospace!important;font-size:.9rem!important;color:#5b21b6!important;border:1px solid #cbd5e1;word-break:break-all;display:block;margin-top:.5rem}.severity-bar{width:100%;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;margin-top:.5rem}.severity-fill{height:100%;transition:width .3s ease;border-radius:4px}.severity-fill.severity-1{background:#22c55e}.severity-fill.severity-2{background:#84cc16}.severity-fill.severity-3{background:#f59e0b}.severity-fill.severity-4{background:#f97316}.severity-fill.severity-5{background:#ef4444}.severity-badge.severity-1{background:#dcfce7;color:#16a34a;border-color:#6ee7b7}.severity-badge.severity-2{background:#d9f99d;color:#365314;border-color:#bef264}.severity-badge.severity-3{background:#fef3c7;color:#d97706;border-color:#fcd34d}.severity-badge.severity-4{background:#fed7aa;color:#9a3412;border-color:#fdba74}.severity-badge.severity-5{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.rule-title h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;color:#1f2933}.rule-title h3 svg{color:#22c55e}@media (max-width: 768px){.card-header{flex-direction:column;gap:1rem}.card-badges{width:100%}.info-grid{grid-template-columns:1fr}.card-footer{flex-direction:column;gap:1rem;align-items:stretch}.card-actions{width:100%;justify-content:center}.icon-button{flex:1;justify-content:center}}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:24px}.metric-card{background:#fff;border-radius:16px;padding:20px;border:2px solid #D8C5FF;box-shadow:0 8px 20px #1018280d;transition:box-shadow .2s ease}.metric-card:hover{box-shadow:0 10px 30px #10182814!important}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.metric-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.metric-primary .metric-icon{background:#5b21b6}.metric-success .metric-icon{background:#22c55e}.metric-warning .metric-icon{background:#ff7a59}.metric-info .metric-icon{background:#2d7d6e}.metric-trend{display:flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:6px;font-size:.875rem;font-weight:600}.metric-trend.positive{background:#dcfce7;color:#16a34a}.metric-trend.negative{background:#fee2e2;color:#dc2626}.metric-body h3{font-size:13px;font-weight:500;color:#6b7280!important;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:1.875rem;font-weight:700;color:#1f2933!important;line-height:1;margin-bottom:.25rem}.metric-label{font-size:.875rem;color:#9ca3af!important;margin:0}.metric-footer{margin-top:1rem}.metric-bar{width:100%;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.metric-bar-fill{height:100%;background:#5b21b6;border-radius:3px;transition:width .3s ease}.metric-bar-fill.success{background:#22c55e}.metric-bar-fill.warning{background:#ff7a59}.metric-bar-fill.info{background:#2d7d6e}.dashboard-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:.75rem;width:100%;max-width:100%}.dashboard-row .full-width{grid-column:1 / -1}.dashboard-card{background:#fff;border-radius:16px;border:2px solid #D8C5FF;box-shadow:0 8px 20px #1018280d;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}.dashboard-card.full-width{grid-column:1 / -1}.card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #ECEFEC}.card-title{display:flex;align-items:center;gap:.5rem;color:#1f2933!important}.card-title svg{color:#9ca3af}.card-title h3{font-size:.9375rem;font-weight:600;margin:0;color:#1f2933!important}.btn-text{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:transparent;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-text:hover{background:#f8fafc;border-color:#cbd5e1;color:#1f2933}.chart-timeframe{padding:.375rem .625rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#1f2933;font-size:.75rem;cursor:pointer;transition:all .2s ease}.chart-timeframe:hover{border-color:#cbd5e1}.card-body{padding:.625rem .875rem}.bar-chart{display:flex;align-items:flex-end;justify-content:space-between;height:110px;gap:.5rem;padding:.25rem 0;margin-bottom:.375rem}.bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:.375rem}.bar-stack{width:100%;height:90px;display:flex;flex-direction:column-reverse;gap:2px}.bar{width:100%;border-radius:4px 4px 0 0;transition:all .3s ease;cursor:pointer;min-height:4px}.bar:hover{opacity:.8}.bar-allowed{background:#9d4edd}.bar-blocked{background:#c77dff}.bar-label{font-size:.7rem;color:#64748b;font-weight:600}.chart-legend{display:flex;justify-content:center;gap:1.5rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#64748b}.legend-color{width:14px;height:14px;border-radius:4px}.legend-color.allowed{background:#9d4edd}.legend-color.blocked{background:#c77dff}.threat-stats{display:flex;flex-direction:column;gap:.875rem}.threat-item{display:flex;align-items:center;gap:.75rem}.threat-bar-container{flex:1}.threat-label{font-size:.75rem;font-weight:500;color:#475569;margin-bottom:.375rem}.threat-bar{width:100%;height:20px;background:#f1f5f9;border-radius:6px;overflow:hidden}.threat-bar-fill{height:100%;transition:width .5s ease;border-radius:6px}.threat-value{font-size:.75rem;font-weight:700;color:#1f2933;min-width:40px;text-align:right}.pie-chart-container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem 0}.pie-chart{width:150px;height:150px;flex-shrink:0}.pie-legend{flex:1;display:flex;flex-direction:column;gap:.75rem}.pie-legend-item{display:flex;align-items:center;gap:.625rem}.pie-legend-color{width:14px;height:14px;border-radius:3px;flex-shrink:0}.pie-legend-label{flex:1;font-size:.75rem;color:#475569;font-weight:500}.pie-legend-value{font-size:.75rem;font-weight:700;color:#1f2933;min-width:40px;text-align:right}.line-chart-container{padding:.25rem 0}.line-chart{width:100%;height:130px;display:block}.area-chart-container{padding:.25rem 0}.area-chart{width:100%;height:130px;display:block}.line-chart-legend{display:flex;justify-content:center;gap:2rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.line-chart-legend .legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}.line-chart-legend .legend-color{width:14px;height:14px;border-radius:3px}.threat-hbar-list{display:flex;flex-direction:column;gap:10px;padding:4px 0 8px}.threat-hbar-row{display:flex;align-items:center;gap:10px}.threat-hbar-label{font-size:.72rem;font-weight:500;color:#475569;width:100px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.threat-hbar-track{flex:1;height:10px;background:#f1f5f9;border-radius:99px;overflow:hidden}.threat-hbar-fill{height:100%;border-radius:99px;transition:width .5s ease}.threat-hbar-pct{font-size:.72rem;font-weight:700;color:#7209b7;width:32px;text-align:right;flex-shrink:0}.donut-chart-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.25rem 0}.donut-chart{width:150px;height:150px;position:relative}.donut-chart svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-center-value{font-size:2rem;font-weight:700;color:#1f2933;line-height:1}.donut-center-label{font-size:.7rem;color:#64748b;margin-top:.25rem}.donut-stats{display:flex;justify-content:center;gap:2rem;width:100%}.donut-stat-item{text-align:center}.donut-stat-value{font-size:1.25rem;font-weight:700;color:#1f2933}.donut-stat-label{font-size:.7rem;color:#64748b;margin-top:.25rem}.activity-list{display:flex;flex-direction:column;gap:.625rem;max-height:250px;overflow-y:auto}.activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#f7f8f7;border-radius:10px;border-left:3px solid #ECEFEC;transition:background .15s ease}.activity-item:hover{background:#f3f4f6}.activity-item.blocked{border-left-color:#ef4444}.activity-item.warning{border-left-color:#f59e0b}.activity-item.success{border-left-color:#22c55e}.activity-item.info{border-left-color:#2d7d6e}.activity-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-item.blocked .activity-icon{background:#fee2e2;color:#dc2626}.activity-item.warning .activity-icon{background:#fef3c7;color:#d97706}.activity-item.success .activity-icon{background:#dcfce7;color:#059669}.activity-item.info .activity-icon{background:#e0f2fe;color:#1d4ed8}.activity-content{flex:1;min-width:0}.activity-title{font-size:.8125rem;font-weight:600;color:#1f2933;margin-bottom:.2rem}.activity-meta{font-size:.7rem;color:#64748b;display:flex;align-items:center;gap:.375rem}.activity-badge{padding:.25rem .5rem;border-radius:6px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.activity-badge.blocked{background:#fee2e2;color:#dc2626}.activity-badge.warning{background:#fef3c7;color:#d97706}.activity-badge.success{background:#dcfce7;color:#059669}.activity-badge.info{background:#e0f2fe;color:#1d4ed8}.health-items{display:flex;flex-direction:column;gap:.625rem;max-height:250px;overflow-y:auto}.health-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:8px;transition:all .2s ease}.health-item:hover{background:#f1f5f9}.health-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0;animation:none!important}.health-item.healthy .health-indicator{background:#22c55e}.health-item.warning .health-indicator{background:#f59e0b}.health-item.error .health-indicator{background:#ef4444}.health-content{flex:1;min-width:0}.health-title{font-size:.8125rem;font-weight:600;color:#1f2933;margin-bottom:.2rem}.health-status{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:#64748b}.health-item.healthy .health-status{color:#059669}.health-item.warning .health-status{color:#d97706}.health-item.error .health-status{color:#dc2626}.health-value{font-size:.8125rem;font-weight:700;color:#1f2933;flex-shrink:0}.rule-deployment{margin:.5rem 0}.deployment-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.deployment-badge.ids-only{background:#e0f2fe;color:#3b1179;border:1px solid #bfdbfe}.deployment-badge.ips-detection{background:#fed7aa;color:#ea580c;border:1px solid #fdba74}.deployment-badge.ips-blocking{background:#fecaca;color:#dc2626;border:1px solid #fca5a5}.deployment-badge.unknown{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}@media (max-width: 900px){.stats-grid,.ud-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.dashboard-row{grid-template-columns:1fr}}@media (max-width: 768px){.stats-grid,.ud-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.metrics-grid,.dashboard-row{grid-template-columns:1fr}.bar-chart{height:100px;gap:.25rem}.bar-stack{height:80px}.activity-item{flex-direction:column;align-items:flex-start}.activity-badge{align-self:flex-start}}.waf-rules-table{width:100%}.waf-rules-table thead th{background:#f8fafc;color:#1f2933;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;padding:.875rem 1rem;border-bottom:2px solid #e2e8f0}.waf-rule-row{transition:all .2s ease;border-bottom:1px solid #e2e8f0;cursor:pointer;-webkit-user-select:none;user-select:none}.waf-rule-row:hover{background:#f8fafc}.waf-rule-row.expanded{background:#f1f5f9}.waf-rule-row.rule-disabled{opacity:.6}.waf-rule-row td{padding:1rem;vertical-align:middle}.waf-rule-row:hover .rule-message{color:#5b21b6}.waf-rule-row .rule-id-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;font-weight:600;font-size:.8rem;color:#475569}.waf-rule-row .rule-id-badge svg{color:#64748b}.waf-rule-row .rule-message{font-weight:500;color:#1f2933;font-size:.9rem;background:transparent;border:none;padding:0;margin:0;display:inline}.waf-rule-row .rule-category{display:inline-block;padding:.25rem .625rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;font-size:.8rem;color:#64748b;font-weight:500}.badge.severity{display:inline-flex;align-items:center;padding:.375rem .625rem;border-radius:6px;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.3px}.badge.severity.sev-5{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.badge.severity.sev-4{background:#fff7ed;color:#ea580c;border:1px solid #fdba74}.badge.severity.sev-3{background:#fefce8;color:#ca8a04;border:1px solid #fde047}.badge.severity.sev-2{background:#f0f9ff;color:#0284c7;border:1px solid #7dd3fc}.badge.severity.sev-1{background:#f8fafc;color:#64748b;border:1px solid #cbd5e1}.switch-toggle.compact{position:relative;display:inline-block;width:40px;height:22px;margin-right:.5rem;vertical-align:middle}.switch-toggle.compact input{opacity:0;width:0;height:0}.switch-toggle.compact .switch-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:22px}.switch-toggle.compact .switch-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.switch-toggle.compact input:checked+.switch-slider{background-color:#22c55e}.switch-toggle.compact input:checked+.switch-slider:before{transform:translate(18px)}.switch-toggle.compact input:disabled+.switch-slider{opacity:.5;cursor:not-allowed}.status-text{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-text.enabled{color:#22c55e}.status-text.disabled{color:#94a3b8}.action-buttons-inline{display:flex;gap:.5rem;align-items:center;justify-content:center}.no-actions{font-size:.75rem!important;color:#94a3b8!important;font-style:italic}.action-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:6px;border:1px solid;cursor:pointer;transition:all .2s ease;background:#fff}.action-btn-icon.edit{color:#5b21b6;border-color:#7dd3fc}.action-btn-icon.edit:hover{background:#e0f2fe;border-color:#5b21b6}.action-btn-icon.delete{color:#dc2626;border-color:#fca5a5}.action-btn-icon.delete:hover{background:#fee2e2;border-color:#dc2626}.expanded-row{background:#f8fafc;border-bottom:1px solid #e2e8f0}.expanded-row td{padding:0!important}.expanded-content{padding:1.5rem;border-top:2px solid #e2e8f0}.expanded-section{margin-bottom:1.5rem}.expanded-section:last-child{margin-bottom:0}.expanded-label{display:block;font-weight:600;color:#64748b;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.pattern-display{display:block;background:#f7f8f7;color:#5b21b6;padding:1rem;border-radius:10px;font-family:Fira Code,Courier New,monospace;font-size:.85rem;line-height:1.6;overflow-x:auto;border:1px solid #E5E7EB;word-break:break-all;white-space:pre-wrap}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.375rem;padding:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px}.detail-key{font-size:.75rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.detail-value{font-size:.9rem;color:#1f2933;font-weight:600}.suricata-rule-row{transition:all .2s ease;border-bottom:1px solid #e2e8f0;cursor:pointer;-webkit-user-select:none;user-select:none}.suricata-rule-row:hover{background:#f8fafc}.suricata-rule-row.expanded{background:#f1f5f9}.suricata-rule-row.rule-disabled{opacity:.6}.suricata-rule-row td{padding:1rem;vertical-align:middle}.suricata-rule-row .rule-message{font-weight:500;color:#0f172a;font-size:.9rem}.suricata-rule-row:hover .rule-message{color:#5b21b6}.suricata-rule-row .rule-id-badge.ids-badge{display:inline-flex;align-items:center;gap:.375rem;padding:4px 10px;background:#e2d9fd;border:1px solid #6D28D9;border-radius:8px;font-weight:600;font-size:.8rem;color:#5b21b6}.suricata-rule-row .rule-id-badge.ids-badge svg{color:#5b21b6}.badge.priority-1{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.badge.priority-2{background:#fff7ed;color:#ea580c;border:1px solid #fdba74}.badge.priority-3{background:#fefce8;color:#ca8a04;border:1px solid #fde047}.badge.warning{background:#fff7ed;color:#ea580c;border:1px solid #fdba74}.badge.error{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.badge.info{background:#f0f9ff;color:#0284c7;border:1px solid #7dd3fc}.deployment-badge{display:inline-flex;align-items:center;padding:.375rem .625rem;border-radius:6px;font-size:.8rem;font-weight:600;letter-spacing:.3px}.deployment-badge.ids-only{background:#e0f2fe;color:#3b1179;border:1px solid #7dd3fc}.deployment-badge.ips-detection{background:#fef3c7;color:#d97706;border:1px solid #fcd34d}.deployment-badge.ips-blocking{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.deployment-badge.unknown{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.http-tags{display:flex;flex-wrap:wrap;gap:.5rem}.http-tag{display:inline-block;padding:.25rem .5rem;background:#e0f2fe;color:#3b1179;border:1px solid #7dd3fc;border-radius:4px;font-size:.75rem;font-weight:600}.expanded-value{color:#1f2933;font-weight:500;font-size:.9rem}@media (max-width: 1200px){.waf-rules-table th,.waf-rule-row td,.suricata-rules-table th,.suricata-rule-row td{padding:.75rem .5rem;font-size:.85rem}}@media (max-width: 768px){.detail-grid{grid-template-columns:1fr}.action-buttons-inline{flex-direction:column;gap:.25rem}}.bar:hover{opacity:.85!important;filter:drop-shadow(0 4px 8px rgba(157,78,221,.25));transform:scaleY(1.02);transform-origin:bottom;transition:all .2s ease}.bar-stack{position:relative}.bar-stack:hover .bar{opacity:.8}.chart-info{display:flex;justify-content:space-around;gap:.5rem;padding:.5rem 0;border-top:1px solid #E0AAFF;margin-top:.5rem}.chart-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.chart-stat-value{font-size:1rem;font-weight:700;color:#9d4edd}.chart-stat-label{font-size:.75rem;color:#6b7280;font-weight:500}.pie-chart:hover{filter:drop-shadow(0 4px 12px rgba(157,78,221,.2));transition:filter .2s ease}.pie-legend-item:hover{background:#f3e8ff;border-radius:4px;padding:.25rem .5rem;margin:-.25rem -.5rem;transition:background .2s ease}.donut-chart:hover{filter:drop-shadow(0 4px 12px rgba(157,78,221,.2));transition:filter .2s ease}.donut-stat-item{padding:.75rem;border-radius:8px;background:#f3e8ff;border:1px solid #E0AAFF;transition:all .2s ease}.donut-stat-item:hover{border-color:#9d4edd;background:#f3e8ff;transform:translateY(-2px);box-shadow:0 4px 8px #9d4edd26}.line-chart:hover{filter:drop-shadow(0 4px 12px rgba(157,78,221,.2));transition:filter .2s ease}.line-chart circle:hover{r:6;filter:drop-shadow(0 2px 6px rgba(157,78,221,.3));transition:all .15s ease;cursor:pointer}.chart-card{transition:all .3s ease}.chart-card:hover{box-shadow:0 12px 32px #9d4edd1f!important}@media (max-width: 1024px){.pie-chart-container{flex-direction:column;align-items:center}.pie-legend{width:100%}.bar-chart{height:120px}.donut-chart-container{flex-direction:row;flex-wrap:wrap}}.alerts-tab-section{display:flex;flex-direction:column;gap:20px}.alerts-filter-card{background:#fff;border-radius:14px;border:2px solid #D8C5FF;box-shadow:0 4px 16px #5b21b60f;overflow:hidden}.alerts-filter-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#f8fafc;border-bottom:1.5px solid #E9D5FF}.alerts-filter-card-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#5b21b6;text-transform:uppercase;letter-spacing:.5px}.alerts-filter-card-title svg{color:#7c3aed}.alerts-filter-count{font-size:12px;font-weight:600;color:#7c3aed;background:#ede9fe;padding:3px 10px;border-radius:999px;border:1px solid #C4B5FD}.alerts-filter-card-body{display:flex;align-items:flex-end;gap:16px;padding:16px 20px;flex-wrap:wrap}.alerts-filter-field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:140px}.alerts-filter-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af}.alerts-filter-select{padding:9px 12px;border-radius:8px;border:1.5px solid #E5E7EB;background:#f9fafb;color:#1f2933;font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;outline:none;appearance:auto}.alerts-filter-select:focus,.alerts-filter-select:hover{border-color:#7c3aed;background:#fff;box-shadow:0 0 0 3px #7c3aed14}.alerts-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:#5b21b6;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;white-space:nowrap;align-self:flex-end}.alerts-refresh-btn:hover:not(:disabled){background:#4c1d95;box-shadow:0 4px 12px #5b21b64d}.alerts-refresh-btn:disabled{opacity:.55;cursor:not-allowed}@keyframes alerts-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alerts-spin{animation:none!important}.alerts-data-table{font-size:13px}.alerts-data-table .badge,.alerts-data-table tbody tr,.alerts-data-table td{transition:none!important;animation:none!important}.alerts-source-ip{font-size:12px;font-family:Fira Code,Courier New,monospace;background:#f3f0ff;color:#5b21b6;padding:3px 8px;border-radius:6px;border:1px solid #D8C5FF}.alerts-rule-cell{max-width:280px}.alerts-rule-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151;font-weight:500}.col-hits{text-align:right!important}.alerts-hits{text-align:right;font-weight:700;color:#1f2933}.alerts-time{font-size:12px;color:#9ca3af;white-space:nowrap}.alerts-sev-badge,.alerts-type-badge{font-size:11px;font-weight:700;letter-spacing:.5px;transition:none!important;animation:none!important}.alerts-type-badge.alerts-type-waf{background:#e0f2fe;color:#0284c7;border-color:#7dd3fc}.alerts-type-badge.alerts-type-suricata{background:#fef3c7;color:#d97706;border-color:#fcd34d}.alerts-type-badge.alerts-type-system{background:#f3f4f6;color:#6b7280;border-color:#e5e7eb}.alerts-action-badge{font-size:11px;font-weight:700;letter-spacing:.5px;transition:none!important;animation:none!important}.alerts-row-blocked td:first-child{border-left:3px solid #DC2626}.alerts-block-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:600;border:1.5px solid #fca5a5;background:#fee2e2;color:#dc2626;border-radius:6px;cursor:pointer;transition:all .15s ease;font-family:inherit;white-space:nowrap}.alerts-block-btn:hover{background:#dc2626;color:#fff;border-color:#dc2626;box-shadow:0 2px 8px #dc26264d}.alerts-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px}.alerts-page-info{font-size:13px;color:#6b7280;font-weight:500;min-width:120px;text-align:center}@media (max-width: 768px){.alerts-filter-card-body{flex-direction:column}.alerts-filter-field{width:100%}.alerts-refresh-btn{width:100%;justify-content:center}}@media (max-width: 480px){.stats-grid,.ud-stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:12px!important}.stat-icon{width:36px;height:36px}}.admin-dashboard *,.admin-dashboard *:before,.admin-dashboard *:after{animation:none!important;transition:none!important;transform:none!important;animation-play-state:paused!important;background-image:none!important}.admin-dashboard .badge,.admin-dashboard .action-badge,.admin-dashboard .status-badge,.admin-dashboard .alerts-action-badge,.admin-dashboard .alerts-sev-badge,.admin-dashboard .alerts-type-badge,.admin-dashboard span[class*=badge],.admin-dashboard .data-table .badge,.admin-dashboard .data-table .action-badge,.admin-dashboard .data-table .status-badge{animation:none!important;transition:none!important;transform:none!important;background-image:none!important;background-attachment:scroll!important;background-size:auto!important;-webkit-animation:none!important;-webkit-transition:none!important;-webkit-transform:none!important}.admin-dashboard svg.spinning,.admin-dashboard .health-indicator,.admin-dashboard .alerts-spin,.admin-dashboard .spin-loader{animation:none!important;animation-play-state:paused!important}@keyframes spin{0%{transform:none}to{transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:none}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:1}to{opacity:1}}@keyframes slideUp{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes alerts-spin{0%{transform:none}to{transform:none}}.idsips-container{min-height:100vh;background:#f5f7f6;color:var(--text-primary);padding-top:70px}.idsips-content{padding:2rem;max-width:1800px;margin:0 auto}.idsips-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px}.header-left,.header-right{display:flex;align-items:center;gap:1rem}.idsips-header h1{margin:0;font-size:1.8rem;font-weight:700}.idsips-header p{margin:.25rem 0 0;color:#e5e7eb;font-size:.9rem}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.status-badge.status-active{background:#22c55e26;color:#22c55e;border:1px solid #E5E7EB}.status-badge.status-error{background:#f443;color:#f44;border:1px solid rgba(255,68,68,.3)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.stat-card.alerts{border-color:#ff44444d;background:#ff44440d}.stat-card.alerts .stat-icon{color:#f44}.stat-card.active .stat-icon{color:#22c55e}.idsips-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.idsips-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:transparent;border:none;color:#6b7280;cursor:pointer;font-weight:600;border-bottom:3px solid transparent;transition:all .3s ease}.idsips-tabs .tab:hover{color:#22c55e;background:#22c55e26}.idsips-tabs .tab.active{color:#22c55e;border-bottom-color:#22c55e}.overview-grid .stat-card{padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #E5E7EB}.card-header h3{margin:0;color:#f5f7f6;font-size:1.1rem;font-weight:600}.card-icon{color:#22c55e;flex-shrink:0}.card-content{display:flex;flex-direction:column;gap:.75rem}.health-item,.stat-item,.protocol-item,.severity-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f7f8f7;border-radius:6px;transition:background .2s ease}.health-item:hover,.stat-item:hover,.protocol-item:hover,.severity-item:hover{background:#fff}.health-item span:first-child,.stat-item span:first-child,.protocol-item span:first-child{color:#e5e7eb;font-size:.9rem}.health-item .status,.stat-item .stat-value,.protocol-item .protocol-count,.severity-item .severity-count{font-weight:600;color:#f5f7f6}.status.active{color:#22c55e}.status.error{color:#f44}.stat-time{color:#9ca3af;font-family:Courier New,monospace;font-size:.85rem}.no-data{text-align:center;color:#9ca3af;font-style:italic;padding:2rem}.alerts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.alerts-header h3{margin:0;color:#f5f7f6;font-size:1.3rem}.alerts-count{padding:.5rem 1rem;background:#22c55e26;border:1px solid #E5E7EB;border-radius:20px;color:#22c55e;font-weight:600;font-size:.9rem}.alerts-list{display:flex;flex-direction:column;gap:1rem}.alert-item{padding:1.5rem;background:#fff;border-radius:12px;border:1px solid rgba(255,68,68,.2);transition:all .3s ease}.alert-item:hover{background:#ffffff12;border-color:#ff44444d}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #E5E7EB}.alert-severity{padding:.35rem .85rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.alert-severity.high,.alert-severity.severity-high{background:#f443;color:#f44}.alert-severity.medium,.alert-severity.severity-medium{background:#fa03;color:#fa0}.alert-severity.low,.alert-severity.severity-low{background:#22c55e26;color:#22c55e}.alert-timestamp{color:#9ca3af;font-family:Courier New,monospace;font-size:.85rem}.alert-body{display:flex;flex-direction:column;gap:.75rem}.alert-signature{color:#f5f7f6;font-weight:600;font-size:1.05rem}.alert-details{display:flex;align-items:center;gap:.75rem;color:#e5e7eb;font-size:.9rem;font-family:Courier New,monospace}.alert-category{color:#9ca3af;font-size:.85rem}.no-alerts{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.no-alerts-icon{color:#22c55e;margin-bottom:1rem;opacity:.5}.no-alerts h3{margin:0 0 .5rem;color:#f5f7f6}.no-alerts p{margin:0;color:#9ca3af}.alerts-table-container{overflow-x:auto;background:#fff;border-radius:12px;border:1px solid #E5E7EB}.alerts-table{width:100%;border-collapse:collapse}.alerts-table th{padding:1rem;background:#22c55e26;color:#22c55e;font-weight:600;text-align:left;border-bottom:2px solid rgba(34,197,94,.15);font-size:.9rem}.alerts-table td{padding:1rem;border-bottom:1px solid #E5E7EB;color:#e5e7eb;font-size:.9rem}.alerts-table tr:hover{background:#f7f8f7}.severity-badge.low,.severity-badge.severity-1,.severity-badge.severity-2,.severity-badge.severity-3{background:#22c55e26;color:#22c55e}.severity-badge.medium,.severity-badge.severity-4,.severity-badge.severity-5,.severity-badge.severity-6,.severity-badge.severity-7{background:#fa03;color:#fa0}.severity-badge.high,.severity-badge.severity-8,.severity-badge.severity-9{background:#f443;color:#f44}.severity-badge.critical,.severity-badge.severity-10{background:#8a2be233;color:#8a2be2}.protocol-badge{padding:.25rem .75rem;background:#22c55e26;border-radius:20px;font-size:.75rem;font-weight:600;color:#22c55e}.signature-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.rules-header h3{margin:0;color:#f5f7f6;font-size:1.3rem}.config-section,.rules-section{margin-top:1rem}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.config-card{padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB}.config-card h3{margin:0 0 1.5rem;color:#f5f7f6;font-size:1.1rem;padding-bottom:1rem;border-bottom:1px solid #E5E7EB}.config-items{display:flex;flex-direction:column;gap:1rem}.config-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f7f8f7;border-radius:6px}.config-item span:first-child{color:#e5e7eb;font-size:.9rem}.config-status{display:flex;align-items:center;gap:.5rem;font-weight:600}.config-status.success{color:#22c55e}.config-status.error{color:#f44}.config-path,.config-count{color:#f5f7f6;font-family:Courier New,monospace;font-size:.85rem}.reload-rules-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#22c55e26;border:1px solid #E5E7EB;border-radius:8px;color:#22c55e;cursor:pointer;font-weight:600;transition:all .3s ease}.reload-rules-btn:hover{background:#22c55e26;transform:translateY(-2px)}.reload-rules-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon{flex-shrink:0}.rules-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.rules-stat{padding:1.25rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB;display:flex;flex-direction:column;gap:.5rem}.rules-stat span:first-child{color:#e5e7eb;font-size:.9rem}.rules-count{color:#22c55e;font-size:1.8rem;font-weight:700}.rules-path{color:#f5f7f6;font-family:Courier New,monospace;font-size:.9rem;word-break:break-all}.rules-list p{color:#e5e7eb;margin:0 0 1rem;padding:1.25rem;background:#fff;border-radius:12px;border-left:3px solid #22C55E}.rules-list ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.rules-list li{padding:1rem 1.25rem;background:#fff;border-radius:8px;border:1px solid #E5E7EB;color:#e5e7eb;display:flex;align-items:center;gap:.75rem;transition:all .3s ease}.rules-list li:hover{background:#ffffff12;border-color:#22c55e26;transform:translate(5px)}.rules-list li:before{content:"✓";color:#22c55e;font-weight:700;font-size:1.2rem;flex-shrink:0}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;background:#fff;border:1px solid #E5E7EB;border-radius:8px;color:#f5f7f6;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#22c55e}.error-banner{background:#ff44441a;border:1px solid rgba(255,68,68,.3);color:#f44;padding:1rem;margin-bottom:1rem;border-radius:8px;display:flex;align-items:center;gap:.5rem}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.status-badge.online{background:#22c55e26;color:#22c55e}.status-badge.offline{background:#f443;color:#f44}.all-phases-section{background:#fff;border-radius:12px;border:1px solid #E5E7EB;padding:2rem;animation:fadeIn .4s ease-in}.all-phases-section .rules-table-container{overflow-x:auto;border-radius:8px;border:1px solid #E5E7EB;margin-top:1.5rem}.all-phases-section .rules-table{width:100%;border-collapse:collapse;font-size:.9rem}.all-phases-section .rules-table thead tr{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;border-bottom:2px solid #E5E7EB}.all-phases-section .rules-table th{padding:1rem;text-align:left;white-space:nowrap}.all-phases-section .rules-table tbody tr{border-bottom:1px solid #E5E7EB;transition:background-color .2s ease}.all-phases-section .rules-table tbody tr:hover{background-color:#f9fafb}.all-phases-section .rules-table td{padding:.875rem 1rem}.rule-sid{font-weight:600;color:var(--deep-purple);font-family:Courier New,monospace}.rule-protocol{font-weight:600;color:#667eea;font-size:.9rem}.rule-raw{font-family:Courier New,monospace;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;color:#374151;max-width:350px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:#666}.empty-state svg{color:#ccc;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:1.1rem;margin-bottom:1rem;color:#999}.empty-state button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease}.empty-state button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.firewall-container{min-height:100vh;background:#f5f7f6;color:var(--text-primary);padding-top:70px}.firewall-content{padding:2rem;max-width:1800px;margin:0 auto}.firewall-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB;box-shadow:0 2px 8px #1018280a}.header-icon{color:var(--medium-purple)}.firewall-header h1{margin:0;font-size:1.8rem;font-weight:700;color:var(--deep-purple)}.firewall-header p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.9rem}.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--medium-purple);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #1018280f}.refresh-btn:hover{background:var(--deep-purple);transform:translateY(-2px);box-shadow:0 4px 12px #5b21b64d}.stat-card{padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #1018280a}.stat-card.blocked{border-color:#dc26264d;background:#fef2f2}.stat-card.waf{border-color:var(--lavender);background:var(--very-pale-lavender)}.stat-icon{color:var(--medium-purple);flex-shrink:0}.stat-card.blocked .stat-icon{color:#dc2626}.stat-card.waf .stat-icon{color:var(--medium-purple)}.stat-value{font-size:2rem;font-weight:700;color:var(--deep-purple)}.firewall-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.attack-stats{display:flex;flex-direction:column;gap:.75rem}.attack-stat{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f7f8f7;border-radius:6px}.attack-label{color:#6b7280}.attack-value{font-weight:700;font-size:1.2rem;color:#22c55e}.quick-actions{display:flex;flex-direction:column;gap:.75rem}.action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#22c55e26;border:1px solid #E5E7EB;border-radius:8px;color:#22c55e;cursor:pointer;font-weight:600;transition:all .3s ease}.action-btn:hover{background:#22c55e26;transform:translate(5px)}.rules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.rules-header h3{margin:0;color:#22c55e}.add-rule-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#22c55e26;border:1px solid #E5E7EB;border-radius:8px;color:#22c55e;cursor:pointer;font-weight:600;transition:all .3s ease}.add-rule-btn:hover{background:#22c55e26;transform:translateY(-2px)}.rules-list{display:flex;flex-direction:column;gap:1rem}.rule-card{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB;transition:all .3s ease}.rule-card.disabled{opacity:.5;border-color:#e5e7eb}.rule-info{flex:1}.rule-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.severity-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.severity-badge.severity-1,.severity-badge.severity-2,.severity-badge.severity-3{background:#22c55e26;color:#22c55e}.severity-badge.severity-4,.severity-badge.severity-5,.severity-badge.severity-6,.severity-badge.severity-7{background:#fa03;color:#fa0}.severity-badge.severity-8,.severity-badge.severity-9,.severity-badge.severity-10{background:#f443;color:#f44}.rule-tags{padding:.25rem .75rem;background:#fff;border-radius:20px;font-size:.75rem;color:#e5e7eb}.rule-message{color:#f5f7f6;font-weight:600;margin-bottom:.5rem}.rule-pattern{display:block;padding:.5rem;background:#1f29334d;border-radius:6px;font-family:Courier New,monospace;font-size:.85rem;color:#e5e7eb;overflow-x:auto}.rule-actions{display:flex;gap:.5rem}.rule-actions button{padding:.5rem;background:#fff;border:1px solid #E5E7EB;border-radius:6px;color:#1f2933;cursor:pointer;transition:all .3s ease}.rule-actions button:hover{background:#f7f8f7;transform:scale(1.1)}.rule-actions .delete-btn:hover{background:#f443;border-color:#f44;color:#f44}.blocked-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.blocked-header h3{margin:0;color:#22c55e}.blocked-table-container{overflow-x:auto;background:#fff;border-radius:12px;border:1px solid #E5E7EB}.blocked-table{width:100%;border-collapse:collapse}.blocked-table th{padding:1rem;background:#22c55e26;color:#22c55e;font-weight:600;text-align:left;border-bottom:2px solid rgba(34,197,94,.15)}.blocked-table td{padding:1rem;border-bottom:1px solid #E5E7EB;color:#e5e7eb}.timestamp-cell{font-family:Courier New,monospace;color:#2d7d6e}.status-badge{padding:.25rem .75rem;border-radius:20px;font-weight:600;font-size:.85rem}.agent-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:#6b7280}.empty-state button{margin-top:1rem;padding:.75rem 1.5rem;background:#22c55e26;border:1px solid #E5E7EB;border-radius:8px;color:#22c55e;cursor:pointer;font-weight:600;transition:all .3s ease}.empty-state button:hover{background:#22c55e26}.modal-overlay{position:fixed;inset:0;background:#1f293380;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;border:1px solid #E5E7EB;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #E5E7EB}.modal-header h3{margin:0;color:#22c55e}.close-btn{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:6px;transition:all .3s ease}.close-btn:hover{background:#fff;color:#1f2933}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#22c55e;font-weight:600}.form-group input,.form-group select{width:100%;padding:.75rem;background:#fff;border:1px solid #E5E7EB;border-radius:8px;color:#f5f7f6;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#22c55e}.modal-footer{padding:1.5rem;border-top:1px solid #E5E7EB;display:flex;justify-content:flex-end;gap:1rem}.cancel-btn,.save-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#fff;border:1px solid #E5E7EB;color:#1f2933}.cancel-btn:hover{background:#f7f8f7}.save-btn{display:flex;align-items:center;gap:.5rem;background:#22c55e26;border:1px solid #E5E7EB;color:#22c55e}.save-btn:hover{background:#22c55e26}.all-phases-tab{background:#fff;border-radius:12px;border:1px solid #E5E7EB;padding:2rem;animation:fadeIn .4s ease-in}.rules-table-container{overflow-x:auto;border-radius:8px;border:1px solid #E5E7EB}.rules-table{width:100%;border-collapse:collapse;font-size:.9rem}.rules-table thead tr{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;border-bottom:2px solid #E5E7EB}.rules-table th{padding:1rem;text-align:left;white-space:nowrap}.rules-table tbody tr{border-bottom:1px solid #E5E7EB;transition:background-color .2s ease}.rules-table tbody tr:hover{background-color:#f9fafb}.rules-table td{padding:.875rem 1rem}.rule-id{font-weight:600;color:var(--deep-purple);font-family:Courier New,monospace}.phase-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap}.rule-msg{font-weight:500;color:#111827;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-pattern{font-family:Courier New,monospace;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;color:#374151;display:block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge.enabled{color:#22c55e;background:#22c55e1a;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-badge.disabled{color:#999;background:#f3f4f6;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600;white-space:nowrap}.severity-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600;white-space:nowrap}.severity-badge.severity-8{background:#ef444426;color:#dc2626}.severity-badge.severity-5{background:#f9731626;color:#ea580c}.severity-badge.severity-2{background:#22c55e26;color:#22c55e}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.compression-container{min-height:100vh;background:#f5f7f6;color:var(--text-primary);padding-top:70px}.compression-content{padding:2rem;max-width:1800px;margin:0 auto}.compression-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px}.compression-header h1{margin:0;font-size:1.8rem;font-weight:700}.compression-header p{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.stat-card.savings .stat-icon{color:#22c55e}.compression-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.metric-label{color:#6b7280}.metric-value{font-weight:700;font-size:1.2rem;color:#22c55e}.chart-fill{height:100%;background:linear-gradient(90deg,#22c55e,#2d7d6e);transition:width .5s ease}.chart-label{margin-top:.75rem;text-align:center;color:#6b7280;font-size:.9rem}.compression-impact{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.impact-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f7f8f7;border-radius:6px}.impact-label{color:#6b7280;font-size:.9rem}.impact-value{font-weight:700;font-size:1.3rem}.impact-value.before{color:#fa0}.impact-value.after{color:#22c55e}.impact-arrow{text-align:center;color:#22c55e;font-size:1.5rem;font-weight:700}.impact-savings{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#22c55e26;border:1px solid #E5E7EB;border-radius:6px;color:#22c55e;font-weight:600}.no-data{text-align:center;color:#ffffff80;font-style:italic;margin:1rem 0}.status-badge.success{background:#22c55e26;color:#22c55e}.settings-card h3{margin:0 0 1.5rem;color:#22c55e;font-size:1.2rem}.setting-label{font-weight:600;color:#1f2933}.setting-description{font-size:.85rem;color:#6b7280}.toggle input:checked+.toggle-slider{background-color:#22c55e}.setting-select,.setting-input{padding:.5rem 1rem;background:#fff;border:1px solid #E5E7EB;border-radius:6px;color:#1f2933;font-size:.9rem}.setting-select:focus,.setting-input:focus{outline:none;border-color:#22c55e}.deduplication-container{min-height:100vh;background:#f5f7f6;color:var(--text-primary);padding-top:70px}.deduplication-content{padding:2rem;max-width:1800px;margin:0 auto}.deduplication-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px}.header-icon{color:#5b21b6}.deduplication-header h1{margin:0;font-size:1.8rem;font-weight:700}.deduplication-header p{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#22c55e26;border:1px solid #E5E7EB;border-radius:8px;color:#5b21b6;cursor:pointer;font-weight:600;transition:all .3s ease}.stat-card.savings{border-color:#22c55e26;background:#22c55e26}.stat-card.ratio{border-color:#ffaa004d;background:#ffaa000d}.stat-icon{color:#5b21b6;flex-shrink:0}.stat-card.savings .stat-icon{color:#5b21b6}.stat-card.ratio .stat-icon{color:#fa0}.deduplication-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.tab-btn:hover{color:#5b21b6;background:#22c55e26}.tab-btn.active{color:#5b21b6;border-bottom-color:#5b21b6}.overview-card h3{margin:0 0 1rem;color:#5b21b6;font-size:1.2rem}.performance-metrics{display:flex;flex-direction:column;gap:.75rem}.metric{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f7f8f7;border-radius:6px}.metric-label{color:#e5e7eb;font-weight:500}.metric-value{font-weight:700;font-size:1.2rem;color:#5b21b6}.savings-chart{margin-top:1rem}.chart-bar{width:100%;height:40px;background:#fff;border-radius:20px;overflow:hidden}.chart-fill{height:100%;background:linear-gradient(90deg,#5b21b6,#2d7d6e);transition:width .5s ease}.chart-label{margin-top:.75rem;text-align:center;color:#e5e7eb;font-size:.9rem;font-weight:500}.logs-header h3{margin:0;color:#5b21b6}.logs-table th{padding:1rem;background:#22c55e26;color:#5b21b6;font-weight:600;text-align:left;border-bottom:2px solid rgba(34,197,94,.15)}.url-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Courier New,monospace;font-size:.85rem;color:#e5e7eb}.ratio-badge,.method-badge,.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.method-badge{background:#e0f2fe;color:#2d7d6e}.status-badge.success{background:#22c55e26;color:#5b21b6}.status-badge.error{background:#f443;color:#f44}.settings-card{padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB}.settings-card h3{margin:0 0 1.5rem;color:#5b21b6;font-size:1.2rem}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin-bottom:1rem;background:#f7f8f7;border-radius:8px}.setting-info{display:flex;flex-direction:column;gap:.25rem}.setting-label{font-weight:600;color:#f5f7f6}.setting-description{font-size:.85rem;color:#e5e7eb}.toggle{position:relative;display:inline-block;width:60px;height:30px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;transition:.4s;border-radius:30px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#1f2933;transition:.4s;border-radius:50%}.toggle input:checked+.toggle-slider{background-color:#5b21b6}.toggle input:checked+.toggle-slider:before{transform:translate(30px)}.setting-select,.setting-input{padding:.5rem 1rem;background:#fff;border:1px solid #E5E7EB;border-radius:6px;color:#f5f7f6;font-size:.9rem}.setting-select:focus,.setting-input:focus{outline:none;border-color:#5b21b6}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#9ca3af;text-align:center}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#5b21b6}.hit-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.hit-badge.hit{background:#22c55e26;color:#22c55e}.hit-badge.miss{background:#fa03;color:#fa0}.content-type-badge{padding:.25rem .75rem;background:#4f46e533;color:#a5b4fc;border-radius:12px;font-size:.75rem;font-weight:600}.model-info{margin-top:1.5rem}.model-details{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.model-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f7f8f7;border-radius:8px;border:1px solid #E5E7EB}.model-label{color:#6b7280;font-size:.9rem}.model-value{color:#5b21b6;font-weight:600;font-size:.9rem;text-align:right}.proxy-container{min-height:100vh;background:#f5f7f6;color:var(--text-primary);padding-top:70px}.proxy-content{padding:2rem;max-width:1800px;margin:0 auto}.proxy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px}.header-left{display:flex;align-items:center;gap:1rem}.header-icon{color:#22c55e}.proxy-header h1{margin:0;font-size:1.8rem;font-weight:700}.proxy-header p{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#22c55e26;border:1px solid #E5E7EB;border-radius:8px;color:#22c55e;cursor:pointer;font-weight:600;transition:all .3s ease}.refresh-btn:hover{background:#22c55e26;transform:translateY(-2px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB;display:flex;align-items:center;gap:1rem}.stat-card.active{border-color:#22c55e26;background:#22c55e26}.stat-card.latency{border:1px solid #7dd3fc;background:#e0f2fe}.stat-icon{color:#22c55e;flex-shrink:0}.stat-card.latency .stat-icon{color:#2d7d6e}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:2rem;font-weight:700;color:#f5f7f6}.stat-label{font-size:.85rem;color:#e5e7eb;font-weight:500}.proxy-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:transparent;border:none;color:#6b7280;cursor:pointer;font-weight:600;border-bottom:3px solid transparent;transition:all .3s ease}.tab-btn:hover{color:#22c55e;background:#22c55e26}.tab-btn.active{color:#22c55e;border-bottom-color:#22c55e}.tab-content{min-height:400px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.overview-card{padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB}.overview-card h3{margin:0 0 1rem;color:#22c55e;font-size:1.2rem}.health-metrics{display:flex;flex-direction:column;gap:.75rem}.health-metric{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f7f8f7;border-radius:6px}.health-label{color:#6b7280}.health-value{font-weight:700;font-size:1.2rem;color:#22c55e}.activity-summary{display:flex;flex-direction:column;gap:.75rem}.activity-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f7f8f7;border-radius:6px}.activity-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.activity-icon.success{background:#22c55e26;color:#22c55e}.activity-icon.warning{background:#fa03;color:#fa0}.activity-icon.error{background:#f443;color:#f44}.activity-text{color:#374151}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.logs-header h3{margin:0;color:#22c55e}.logs-table-container{overflow-x:auto;background:#fff;border-radius:12px;border:1px solid #E5E7EB}.logs-table{width:100%;border-collapse:collapse}.logs-table th{padding:1rem;background:#22c55e26;color:#22c55e;font-weight:600;text-align:left;border-bottom:2px solid rgba(34,197,94,.15)}.logs-table td{padding:1rem;border-bottom:1px solid #E5E7EB;color:#e5e7eb}.logs-table tbody tr:hover{background:#fff}.ip-cell{font-family:Courier New,monospace;color:#2d7d6e}.method-badge{padding:.25rem .75rem;background:#22c55e26;border-radius:20px;font-size:.75rem;font-weight:600;color:#22c55e}.url-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Courier New,monospace;font-size:.85rem}.status-badge{padding:.25rem .75rem;border-radius:20px;font-weight:700;font-size:.85rem;display:inline-block;min-width:50px;text-align:center}.latency-cell{font-family:Courier New,monospace;color:#38bdf8;font-weight:700;font-size:.9rem}.performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.performance-card{padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #E5E7EB}.performance-card h3{margin:0 0 1rem;color:#22c55e;font-size:1.2rem}.latency-stats,.throughput-stats{display:flex;flex-direction:column;gap:.75rem}.latency-stat,.throughput-stat{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f7f8f7;border-radius:6px}.latency-label,.throughput-label{color:#6b7280}.latency-value,.throughput-value{font-weight:700;font-size:1.2rem;color:#22c55e}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#fff6;text-align:center}.empty-state svg{margin-bottom:1rem;opacity:.3}.empty-state p{margin:.5rem 0;font-size:1.2rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#22c55e}.traffic-monitor{padding:94px 24px 24px;background:#f5f7f6;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.traffic-monitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.traffic-monitor-header h1{margin:0;color:var(--deep-purple);font-size:28px;font-weight:600}.header-controls{display:flex;align-items:center;gap:20px}.connection-status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;color:var(--text-secondary)}.status-indicator{width:8px;height:8px;border-radius:50%;background:#6b7280}.status-indicator.connecting{background:#ff7a59;animation:pulse 2s infinite}.status-indicator.connected{background:#22c55e}.status-indicator.disconnected{background:#ef4444}.realtime-toggle{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;color:var(--text-secondary)}.realtime-toggle input{cursor:pointer}.stats-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;padding:20px;border-radius:12px;border:1px solid #E5E7EB;border-left:4px solid var(--medium-purple);box-shadow:0 2px 8px #1018280a}.stat-card h3{margin:0 0 8px;font-size:14px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:24px;font-weight:700;color:#f5f7f6;margin-bottom:4px}.stat-value.success{color:#22c55e}.stat-value.error{color:#ef4444}.stat-value.warning{color:#ff7a59}.stat-detail,.stat-timeframe{font-size:12px;color:#9ca3af}.filters{background:#fff;padding:20px;border-radius:12px;border:1px solid #E5E7EB;margin-bottom:24px}.filter-group{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.filter-group select,.filter-group input{padding:8px 12px;border:1px solid #E5E7EB;background:#fff;color:#f5f7f6;border-radius:8px;font-size:14px;min-width:120px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#22c55e}.filter-toggles{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:16px}.filter-toggles label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer;color:#e5e7eb}.filter-toggles input{cursor:pointer}.clear-filters-btn{background:#fff;border:1px solid #E5E7EB;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;color:#e5e7eb;transition:all .2s}.clear-filters-btn:hover{background:#fff;color:#f5f7f6}.logs-container{background:#fff;border-radius:12px;border:1px solid #E5E7EB;overflow:hidden}.loading{text-align:center;padding:40px;color:#9ca3af;font-size:16px}.logs-table{width:100%;border-collapse:collapse;font-size:14px}.logs-table th{background:#22c55e26;color:#22c55e;font-weight:600;padding:12px;text-align:left;border-bottom:1px solid #E5E7EB;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.logs-table td{padding:12px;border-bottom:1px solid #E5E7EB;vertical-align:middle;color:#e5e7eb}.log-row.blocked{background-color:#ff44441a}.log-row.alert{background-color:#ffaa001a}.method-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.method-badge.get{background:#dbeafe;color:#3b1179}.method-badge.post{background:#dcfce7;color:#166534}.method-badge.put{background:#fef3c7;color:#92400e}.method-badge.delete{background:#fee2e2;color:#dc2626}.method-badge.patch{background:#c4b5fd;color:#5b21b6}.status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.status-badge.success{background:#dcfce7;color:#166534}.status-badge.warning{background:#fef3c7;color:#92400e}.status-badge.error{background:#fee2e2;color:#dc2626}.status-badge.critical{background:#fecaca;color:#991b1b}.status-badge.default{background:#f3f4f6;color:#374151}.url-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.security-indicators{display:flex;gap:4px;flex-wrap:wrap}.security-badge{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase}.security-badge.waf{background:#fee2e2;color:#dc2626}.security-badge.suricata{background:#fef3c7;color:#92400e}.security-badge.allowed{background:#dcfce7;color:#166534}.compression-badge{font-size:16px}.compression-badge.compressed{color:#22c55e}.compression-badge.not-compressed{color:#d1d5db}.no-data{text-align:center;padding:40px;color:#6b7280;font-size:16px}@media (max-width: 1024px){.traffic-monitor{margin-left:60px}}@media (max-width: 768px){.traffic-monitor{margin-left:0;padding:16px}.traffic-monitor-header{flex-direction:column;align-items:flex-start;gap:16px}.header-controls{flex-direction:column;align-items:flex-start;gap:12px}.stats-dashboard{grid-template-columns:1fr}.filter-group{flex-direction:column}.filter-group select,.filter-group input{width:100%}.filter-toggles{flex-direction:column;gap:12px}.logs-table{font-size:12px}.logs-table th,.logs-table td{padding:8px}.url-cell{max-width:120px}}.security-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;margin-right:4px;margin-bottom:2px}.waf-allowed{background:#dcfce7;color:#166534}.waf-blocked{background:#fee2e2;color:#dc2626}.waf-warned{background:#fef3c7;color:#d97706}.suricata-allowed{background:#dcfce7;color:#166534}.suricata-blocked{background:#fee2e2;color:#dc2626}.suricata-alert{background:#fef3c7;color:#d97706}.compression-badge.compressed{background:#dbeafe;color:#1d4ed8}.compression-badge.not-compressed{background:#f3f4f6;color:#6b7280}.page-container{min-height:100vh;background:#f5f7f6;padding:90px 20px 20px}.detailed-logs{background:#fff;border-radius:8px;border:1px solid #E5E7EB;height:calc(100vh - 40px);overflow:hidden;display:flex;flex-direction:column;padding:20px}.detailed-logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid #E5E7EB;padding-bottom:15px}.detailed-logs-header h3{margin:0;color:#f5f7f6;font-size:1.5rem}.filters select{padding:8px 12px;border:1px solid #E5E7EB;border-radius:4px;background:#fff;color:#f5f7f6;font-size:14px}.logs-list{flex:1;overflow-y:auto}.log-entry{border:1px solid #E5E7EB;border-radius:6px;margin-bottom:10px;background:#fff}.log-summary{padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.log-basic-info{display:flex;gap:12px;align-items:center;flex:1}.timestamp{font-size:12px;color:#9ca3af;min-width:150px}.method{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700;min-width:50px;text-align:center}.method-get{background:#e8f5e8;color:#2e7d2e}.method-post{background:#fff3cd;color:#856404}.method-put{background:#cce5ff;color:#004085}.method-delete{background:#f8d7da;color:#721c24}.url{font-family:monospace;font-size:13px;color:#e5e7eb;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ip{font-family:monospace;font-size:12px;color:#9ca3af;min-width:120px}.status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.status-badge.success{background:#d4edda;color:#155724}.status-badge.warning{background:#fff3cd;color:#856404}.status-badge.error{background:#f8d7da;color:#721c24}.status-badge.blocked{background:#f5c6cb;color:#721c24}.response-time{font-size:12px;color:#9ca3af;min-width:60px;text-align:right}.expand-icon{color:#9ca3af;font-size:12px;margin-left:8px}.log-details{padding:16px;background:#1018280f;border-top:1px solid #E5E7EB}.details-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:16px}.details-column{background:#fff;border-radius:6px;border:1px solid #E5E7EB}.details-column h4{margin:0 0 12px;padding:12px 16px;background:#22c55e26;border-bottom:1px solid #E5E7EB;font-size:14px;font-weight:600;color:#22c55e}.waf-info{padding:0}.waf-rule{padding:12px 16px;border-bottom:1px solid #E5E7EB}.waf-rule:last-child{border-bottom:none}.waf-rule.matched{background:#ff44441a;border-left:3px solid #ff4444}.waf-rule.not-matched{background:#22c55e26;border-left:3px solid #22C55E}.rule-name{font-weight:600;font-size:13px;color:#f5f7f6;margin-bottom:4px}.rule-pattern{font-family:monospace;font-size:12px;color:#e5e7eb;background:#1f29334d;padding:4px 6px;border-radius:3px;margin-bottom:8px;word-break:break-all}.rule-details{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.severity{padding:2px 6px;border-radius:3px;font-size:11px;font-weight:700;text-transform:uppercase}.severity.low{background:#d4edda;color:#155724}.severity.medium{background:#fff3cd;color:#856404}.severity.high{background:#f8d7da;color:#721c24}.severity.critical{background:#f5c6cb;color:#721c24}.category{padding:2px 6px;background:#fff;color:#e5e7eb;border-radius:3px;font-size:11px}.match-status{padding:2px 6px;border-radius:3px;font-size:11px;font-weight:700}.match-status.matched{background:#f8d7da;color:#721c24}.match-status.not-matched{background:#d4edda;color:#155724}.compression-info{padding:0}.compression-details{padding:16px}.compression-status{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:700;margin-bottom:12px;text-align:center}.compression-status.enabled{background:#d4edda;color:#155724}.compression-status.disabled{background:#f8d7da;color:#721c24}.compression-details>div{margin-bottom:6px;font-size:13px;color:#e5e7eb}.ids-info{padding:0}.ids-details{padding:16px}.ids-action{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:700;margin-bottom:12px;text-align:center}.ids-action.allowed{background:#d4edda;color:#155724}.ids-action.blocked{background:#f8d7da;color:#721c24}.alerts{margin-top:12px}.alert{padding:8px 12px;border:1px solid #E5E7EB;border-radius:4px;margin-bottom:8px;background:#fff}.alert:last-child{margin-bottom:0}.alert-signature{font-weight:600;font-size:13px;color:#f5f7f6;margin-bottom:6px}.alert-details{display:flex;gap:8px;flex-wrap:wrap}.rule-id{padding:2px 6px;background:#fff;color:#e5e7eb;border-radius:3px;font-size:11px;font-family:monospace}.block-reason{background:#ff44441a;color:#f44;padding:12px;border-radius:4px;margin-bottom:16px;border:1px solid rgba(255,68,68,.3)}.additional-info{background:#fff;padding:16px;border-radius:6px;border:1px solid #E5E7EB}.info-row{margin-bottom:8px;font-size:13px;color:#e5e7eb}.info-row strong{color:#f5f7f6;margin-right:8px}.no-logs{text-align:center;padding:40px;color:#9ca3af;font-style:italic}.loading{text-align:center;padding:40px;color:#9ca3af}@media (max-width: 768px){.page-container{margin-left:0;padding:10px}.detailed-logs{height:calc(100vh - 60px);padding:15px}.detailed-logs-header{flex-direction:column;gap:12px;align-items:stretch}.log-basic-info{flex-direction:column;gap:8px;align-items:flex-start}.details-grid{grid-template-columns:1fr;gap:12px}.timestamp,.ip,.response-time{min-width:auto}}.ud-shell{display:flex;height:100vh;overflow:hidden;background:#f3f0ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.ud-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;color:#3b1179;font-size:15px;font-weight:500}.ud-sidebar{width:240px;min-width:240px;background:#160840;display:flex;flex-direction:column;border-right:none;box-shadow:4px 0 16px #0000002e;overflow-y:auto}.ud-sidebar-header{display:flex;align-items:center;justify-content:center;padding:16px 10px;border-bottom:1px solid rgba(255,255,255,.07)}.ud-sidebar-logo{color:#6d28d9;flex-shrink:0}.ud-sidebar-logo-img{width:120px;height:auto;display:block;margin:0 auto}.ud-sidebar-header h2{font-size:17px;font-weight:700;color:#fff;margin:0;letter-spacing:-.3px}.ud-sidebar-header p{font-size:11px;color:#e2d9fd;margin:2px 0 0;font-weight:400}.ud-sidebar-nav{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:4px}.ud-nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:8px;border:none;background:transparent;color:#ddd6fe;font-size:14px;font-weight:500;cursor:pointer;text-align:left;transition:background .15s,color .15s;position:relative;font-family:inherit;width:100%}.ud-nav-item:hover{background:#ffffff1a;color:#fff}.ud-nav-item.active{background:#5b21b6!important;color:#fff!important;font-weight:600}.ud-nav-badge{margin-left:auto;background:#dc2626;color:#fff;font-size:11px;font-weight:700;padding:1px 6px;border-radius:10px;min-width:20px;text-align:center}.ud-sidebar-user{display:flex;align-items:center;gap:10px;padding:16px 16px 18px;border-top:1px solid rgba(255,255,255,.07)}.ud-avatar{width:34px;height:34px;border-radius:50%;background:#5b21b6;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.ud-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.ud-username{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ud-role{font-size:11px;color:#e2d9fd}.ud-logout{background:transparent;border:none;color:#e2d9fd;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s}.ud-logout:hover{color:#f87171}.ud-main{flex:1;overflow-y:auto;background:#f3f0ff}.ud-content{padding:28px 32px 40px;min-height:100%}.ud-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;gap:16px}.ud-page-header h1{font-size:24px;font-weight:700;color:#111827;margin:0 0 4px;letter-spacing:-.5px}.ud-page-header p{font-size:14px;color:#4b5563;margin:0}.ud-page-header strong{color:#111827}.ud-header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.ud-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.ud-stat-card{background:#fff!important;border:none!important;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #7c3aed14,0 6px 20px #0000000f;position:relative;overflow:hidden}.ud-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:16px 16px 0 0}.ud-stat-card.top-green:before{background:linear-gradient(90deg,#3b0764,#5b21b6)}.ud-stat-card.top-red:before{background:linear-gradient(90deg,#5b21b6,#7209b7)}.ud-stat-card.top-purple:before{background:linear-gradient(90deg,#7209b7,#9d4edd)}.ud-stat-card.top-amber:before{background:linear-gradient(90deg,#9d4edd,#c77dff)}.ud-stat-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.ud-stat-icon.green{background:#5b21b6;box-shadow:0 4px 12px #5b21b659}.ud-stat-icon.red{background:#7209b7;box-shadow:0 4px 12px #7209b759}.ud-stat-icon.purple{background:#9d4edd;box-shadow:0 4px 12px #9d4edd59}.ud-stat-icon.amber{background:#c77dff;box-shadow:0 4px 12px #c77dff59}.ud-stat-body{flex:1;min-width:0}.ud-stat-value{font-size:26px;font-weight:800;color:#5b21b6;line-height:1;letter-spacing:-.5px}.ud-stat-label{font-size:12px;font-weight:500;color:#6b7280;margin-top:4px;text-transform:uppercase;letter-spacing:.4px}.ud-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.ud-card{background:#fff;border:none;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #7c3aed14,0 4px 16px #0000000f}.ud-card-full{width:100%;margin-bottom:0}.ud-overview-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin-bottom:20px}@media (max-width: 900px){.ud-overview-bottom-row{grid-template-columns:1fr}}.ud-apps-simple-list{display:flex;flex-direction:column}.ud-apps-simple-row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid #F3F4F6;transition:background .12s}.ud-apps-simple-row:last-child{border-bottom:none}.ud-apps-simple-row:hover{background:#fafafa}.ud-apps-simple-index{width:24px;height:24px;border-radius:50%;background:#f3f0ff;color:#6366f1;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ud-apps-simple-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ud-apps-simple-name-row{display:flex;align-items:center;gap:8px;min-width:0}.ud-apps-simple-name{font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ud-apps-simple-url{font-size:11px;color:#6b7280;font-family:SFMono-Regular,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ud-apps-simple-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;flex-shrink:0;white-space:nowrap}.ud-apps-simple-status.live{background:#dcfce7;color:#15803d}.ud-apps-simple-status.down{background:#fee2e2;color:#b91c1c}.ud-apps-simple-status.untested{background:#fef3c7;color:#92400e}.ud-apps-simple-status svg{display:block;flex-shrink:0;align-self:center}.ud-apps-simple-status span{line-height:1;display:flex;align-items:center}.ud-pie-body{padding:20px 22px 22px}.ud-pie-inner{display:flex;flex-direction:row;align-items:center;gap:20px;min-height:220px}.ud-pie-svg-wrap{width:240px;height:240px;flex-shrink:0}.ud-pie-svg{width:100%;height:100%}.ud-pie-center-num{font-size:28px;font-weight:800;fill:#111827;font-family:inherit}.ud-pie-center-label{font-size:11px;fill:#9ca3af;font-family:inherit;text-transform:uppercase;letter-spacing:.08em}.ud-pie-legend-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:center}.ud-pie-leg-tile{display:flex;align-items:center;gap:8px;padding:12px;border-radius:10px;border:1px solid #F3F4F6}.ud-pie-leg-tile-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ud-pie-leg-tile-body{flex:1;display:flex;flex-direction:column;min-width:0}.ud-pie-leg-tile-num{font-size:20px;font-weight:800;line-height:1}.ud-pie-leg-tile-lbl{font-size:11px;color:#6b7280;font-weight:500;margin-top:3px}.ud-pie-leg-tile-pct{font-size:12px;font-weight:600;color:#9ca3af;flex-shrink:0}.ud-pie-empty{text-align:center;padding:40px 0;color:#6b7280;font-size:13px;display:flex;flex-direction:column;align-items:center;min-height:220px;justify-content:center}@media (max-width: 1100px){.ud-pie-inner{flex-direction:column;min-height:auto}.ud-pie-svg-wrap{width:170px;height:170px}.ud-pie-legend-grid{grid-template-columns:1fr 1fr;width:100%}}.ud-card-header{display:flex;align-items:center;gap:10px;padding:14px 18px 12px;border-bottom:1px solid #F3F4F6;background:#f3f0ff}.ud-card-header h3{font-size:14px;font-weight:600;color:#111827;margin:0;flex:1}.ud-card-header svg{color:#374151;flex-shrink:0}.ud-card-body{padding:16px 18px}.ud-hint{font-size:13px;color:#4b5563;margin:0 0 12px;line-height:1.5}.ud-proxy-info-strip{display:flex;flex-direction:column;gap:0;background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;overflow:hidden;margin-bottom:20px}.ud-proxy-info-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #E5E7EB}.ud-proxy-info-item:last-child{border-bottom:none}.ud-proxy-info-label{font-size:12px;font-weight:600;color:#6b7280;white-space:nowrap}.ud-proxy-info-value{display:flex;align-items:center;gap:6px;font-size:13px;color:#111827;font-weight:500}.ud-proxy-info-value code{font-size:12px;font-family:SF Mono,Fira Code,monospace;background:#eef2ff;color:#4338ca;padding:2px 8px;border-radius:5px}.ud-icon-btn{background:none;border:none;cursor:pointer;padding:3px;color:#9ca3af;display:flex;align-items:center;border-radius:4px;transition:color .15s}.ud-icon-btn:hover{color:#4b5563}.ud-apikeys-section-title{font-size:12px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.ud-apikeys-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;background:#f9fafb;border:1px dashed #D1D5DB;border-radius:10px;color:#9ca3af;font-size:13px;text-align:center}.ud-apikeys-empty p{margin:0}.ud-apikeys-list{display:flex;flex-direction:column;gap:10px}.ud-apikey-row{background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.ud-apikey-app-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#1f2937}.ud-apikey-app-name svg{color:#6b7280}.ud-apikey-value-wrap{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E5E7EB;border-radius:7px;padding:8px 10px}.ud-apikey-code{flex:1;font-size:12px;font-family:SF Mono,Fira Code,monospace;color:#374151;word-break:break-all;-webkit-user-select:all;user-select:all;background:none;min-width:0}.ud-apikey-copy-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:6px;border:1px solid #E5E7EB;background:#f3f4f6;color:#6b7280;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s}.ud-apikey-copy-btn:hover{background:#e5e7eb;color:#374151}n.ud-apikey-copy-btn.copied{background:#dcfce7;color:#15803d;border-color:#86efac}n.ud-apikey-toggle-btn{n display: inline-flex;n align-items: center;n justify-content: center;n padding: 5px 7px;n border-radius: 6px;n border: 1px solid #E5E7EB;n background: #F3F4F6;n color: #6B7280;n cursor: pointer;n flex-shrink: 0;n transition: all .15s;n}n.ud-apikey-toggle-btn:hover{background:#e5e7eb;color:#374151}.ud-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #F3F4F6}.ud-status-row:last-child{border-bottom:none}.ud-status-label{font-size:13px;color:#6b7280;font-weight:500;white-space:nowrap}.ud-status-value{font-size:13px;color:#111827;font-weight:500;text-align:right}.ud-code{font-size:12px;font-family:SF Mono,Fira Code,monospace;background:#f3f4f6;color:#1f2937;padding:2px 7px;border-radius:5px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.ud-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px}.ud-badge.success{background:#dcfce7;color:#15803d}.ud-badge.error{background:#fee2e2;color:#dc2626}.ud-badge.warning{background:#fef3c7;color:#d97706}.ud-badge-sm{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap;letter-spacing:.3px}.ud-apikey-box{display:flex;align-items:center;gap:8px;background:#f9fafb;border:1px solid #D1D5DB;border-radius:8px;padding:10px 12px;margin-bottom:10px}.ud-apikey-text{flex:1;font-size:12px;font-family:SF Mono,Fira Code,monospace;color:#1f2937;word-break:break-all;line-height:1.5}.ud-apikey-actions{display:flex;gap:6px;flex-shrink:0}.ud-hint-box{background:#f0fdf4;border:1px solid #BBF7D0;border-radius:7px;padding:8px 12px;font-size:12px;color:#166534;display:flex;align-items:center;gap:8px}.ud-hint-code{font-family:SF Mono,Fira Code,monospace;font-size:11px;word-break:break-all;color:#166534}.ud-apikey-display{background:#f9fafb;border:1px solid #D1D5DB;border-radius:8px;padding:14px;margin-bottom:12px}.ud-apikey-full{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #E5E7EB}.ud-apikey-full code{font-size:13px;font-family:SF Mono,Fira Code,monospace;color:#1f2937;word-break:break-all;line-height:1.6}.ud-apikey-btns{display:flex;gap:8px}.ud-btn-primary{display:inline-flex;align-items:center;gap:7px;background:#3b1179;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit;white-space:nowrap}.ud-btn-primary:hover:not(:disabled){background:#5b21b6}.ud-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ud-btn-secondary{display:inline-flex;align-items:center;gap:7px;background:#fff;color:#374151;border:1.5px solid #D1D5DB;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s;font-family:inherit;white-space:nowrap}.ud-btn-secondary:hover{border-color:#6b7280;background:#f9fafb}.ud-btn-secondary.active{background:#f0fdf4;border-color:#16a34a;color:#15803d}.ud-btn-text{background:transparent;border:none;cursor:pointer;font-size:13px;font-weight:600;color:#3b1179;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;font-family:inherit;transition:background .15s;margin-left:auto}.ud-btn-text:hover{background:#f3f4f6}.ud-btn-text.green{color:#15803d}.ud-btn-text.green:hover{background:#f0fdf4}.ud-icon-btn{background:transparent;border:1px solid #E5E7EB;border-radius:6px;padding:5px 7px;cursor:pointer;display:flex;align-items:center;color:#4b5563;transition:background .12s,border-color .12s;font-family:inherit}.ud-icon-btn:hover{background:#f3f4f6;border-color:#9ca3af}.ud-filters{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid #E5E7EB;border-radius:10px;margin-bottom:16px;box-shadow:0 1px 6px #0000000f}.ud-filters svg{color:#6b7280;flex-shrink:0}.ud-select{border:1.5px solid #D1D5DB;border-radius:7px;padding:6px 10px;font-size:13px;color:#374151;background:#fff;cursor:pointer;outline:none;font-family:inherit;transition:border-color .15s}.ud-select:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #6b72801a}.ud-select-app{background:linear-gradient(135deg,#6d28d9,#4c1d95);color:#fff;border-color:transparent;font-weight:600;padding:7px 12px}.ud-select-app option{background:#fff;color:#374151;font-weight:400}.ud-table-wrap{background:#fff;border:1px solid #E5E7EB;border-radius:12px;overflow:hidden;box-shadow:0 1px 6px #0000000f,0 4px 16px #0000000a}.ud-table{width:100%;border-collapse:collapse;font-size:13px}.ud-table thead{background:#f9fafb;border-bottom:2px solid #E5E7EB}.ud-table th{padding:11px 14px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.ud-table td{padding:11px 14px;border-bottom:1px solid #F3F4F6;vertical-align:middle}.ud-tr{transition:background .1s}.ud-tr:hover{background:#f9fafb}.ud-tr.expanded{background:#f0fdf4}.ud-ts{display:flex;align-items:center;gap:5px;color:#6b7280;font-size:12px;white-space:nowrap}.ud-method{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;font-family:monospace;letter-spacing:.5px}.ud-method-get{background:#dcfce7;color:#15803d}.ud-method-post{background:#dbeafe;color:#1d4ed8}.ud-method-put{background:#fef3c7;color:#b45309}.ud-method-delete{background:#fee2e2;color:#dc2626}.ud-method-patch{background:#e2d9fd;color:#7c3aed}.ud-url{color:#1f2937;max-width:240px;font-size:12px;font-family:monospace}.ud-status-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:2px 8px;border-radius:5px;font-family:monospace}.ud-threat{font-size:12px;font-weight:600;text-transform:uppercase}.ud-sec-icons{display:flex;gap:4px;align-items:center}.ud-sec-icon{display:flex;align-items:center;padding:3px 5px;border-radius:4px;font-size:11px}.ud-sec-icon.waf{background:#fee2e2;color:#dc2626}.ud-sec-icon.ids{background:#fef3c7;color:#d97706}.ud-sec-clean{color:#22c55e;display:flex}.ud-expand-btn{background:transparent;border:1px solid #E5E7EB;border-radius:5px;padding:3px 5px;cursor:pointer;color:#6b7280;display:flex;align-items:center}.ud-expand-btn:hover{background:#f3f4f6}.ud-opt-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap}.ud-opt-badge.compressed{background:#dcfce7;color:#15803d;border:1px solid #BBF7D0}.ud-opt-badge.deduplicated{background:#dbeafe;color:#1d4ed8;border:1px solid #BFDBFE}.ud-opt-badge.none{color:#9ca3af;font-weight:400}.ud-detail-row td{background:#f8fafc;padding:0!important}.ud-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:16px 24px;border-top:1px solid #E5E7EB}.ud-detail-grid-2{grid-template-columns:repeat(2,1fr)}.ud-detail-section{padding:0 16px 0 0}.ud-detail-section:first-child{padding-left:0}.ud-detail-section:not(:last-child){border-right:1px solid #E5E7EB;margin-right:16px}.ud-detail-section h4{font-size:12px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;display:flex;align-items:center;gap:6px}.ud-detail-item{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:4px 0;font-size:12px}.ud-detail-item span{color:#6b7280;flex-shrink:0}.ud-detail-item code{font-family:monospace;color:#1f2937;font-size:11px;text-align:right;word-break:break-all}.ud-ua{max-width:200px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ud-green{color:#15803d!important}.ud-alerts-list{display:flex;flex-direction:column;gap:12px}.ud-alert-card{background:#fff;border:1px solid #E5E7EB;border-radius:12px;padding:16px 18px;transition:box-shadow .15s;box-shadow:0 1px 4px #0000000d}.ud-alert-card.unread{background:#fffbf5}.ud-alert-card:hover{box-shadow:0 4px 16px #00000014}.ud-alert-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px}.ud-alert-badges{display:flex;gap:6px;flex-wrap:wrap}.ud-alert-time{display:flex;align-items:center;gap:5px;font-size:12px;color:#9ca3af;white-space:nowrap;flex-shrink:0}.ud-alert-title{font-size:15px;font-weight:700;color:#111827;margin:0 0 6px;line-height:1.3}.ud-alert-desc{font-size:13px;color:#4b5563;margin:0 0 10px;line-height:1.5}.ud-alert-rules-list{font-size:13px;color:#4b5563;margin:0 0 10px;padding-left:18px;line-height:1.7;list-style:disc}.ud-alert-rules-list li{margin-bottom:2px}.ud-alert-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#4b5563;margin-bottom:10px}.ud-alert-meta code{font-size:11px;font-family:monospace;background:#f3f4f6;padding:1px 5px;border-radius:3px;color:#1f2937}.ud-alert-rec{font-size:12px;color:#059669;background:#f0fdf4;border:1px solid #BBF7D0;border-radius:6px;padding:7px 10px;margin-bottom:10px;line-height:1.4}.ud-alert-foot{display:flex;align-items:center;padding-top:8px;border-top:1px solid #F3F4F6}.ud-alerts-section-header{margin-bottom:14px}.ud-alerts-section-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ud-alerts-section-title h2{font-size:16px;font-weight:600;color:#111827;margin:0}.ud-alerts-section-count{background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.ud-alerts-section-desc{font-size:12px;color:#6b7280;margin:0}.ud-alert-card-global{opacity:.9}.ud-alert-global-note{display:flex;align-items:center;gap:6px;font-size:11px;color:#9ca3af;background:#f9fafb;border-radius:6px;padding:6px 10px;margin-top:8px}.ud-alert-global-note--warn{color:#b45309;background:#fffbeb;border:1px solid #FDE68A}.ud-read-tag{display:flex;align-items:center;gap:5px;font-size:12px;color:#9ca3af}.ud-recent-alerts{display:flex;flex-direction:column;gap:8px}.ud-alert-mini{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:#f9fafb;border:1px solid #E5E7EB;transition:background .12s}.ud-alert-mini.unread{background:#fffbf5;border-color:#fde68a}.ud-alert-mini:hover{background:#f3f4f6}.ud-alert-mini-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.ud-alert-mini-body{flex:1;min-width:0}.ud-alert-mini-title{font-size:13px;font-weight:600;color:#111827;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ud-alert-mini-time{font-size:11px;color:#9ca3af}.uda-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:16px}.uda-header-left{display:flex;align-items:center;gap:14px}.uda-header-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#7c3aed,#4c1d95);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 6px 18px #6d28d959}.uda-title{font-size:20px;font-weight:800;color:#111827;margin:0 0 2px;letter-spacing:-.5px}.uda-subtitle{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.uda-refresh-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;background:#fff;border:1.5px solid #E5E7EB;color:#374151;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .18s;box-shadow:0 1px 4px #0000000f;white-space:nowrap;flex-shrink:0}.uda-refresh-btn:hover{background:#f5f3ff;border-color:#7c3aed;color:#7c3aed}.uda-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.uda-stat-chip{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;border:1.5px solid transparent;background:#fff;box-shadow:0 1px 4px #0000000d;transition:transform .15s,box-shadow .15s;cursor:default}.uda-stat-chip:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.uda-stat-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.uda-stat-info{display:flex;flex-direction:column}.uda-stat-value{font-size:22px;font-weight:800;line-height:1;margin-bottom:3px;letter-spacing:-.5px}.uda-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;opacity:.7}.uda-stat-critical{border-color:#c9a0a0}.uda-stat-critical .uda-stat-icon{background:#f5eeee;color:#8b3131}.uda-stat-critical .uda-stat-value,.uda-stat-critical .uda-stat-label{color:#7a2a2a}.uda-stat-high{border-color:#fed7aa}.uda-stat-high .uda-stat-icon{background:#fff7ed;color:#ea580c}.uda-stat-high .uda-stat-value,.uda-stat-high .uda-stat-label{color:#c2410c}.uda-stat-medium{border-color:#fef08a}.uda-stat-medium .uda-stat-icon{background:#fefce8;color:#ca8a04}.uda-stat-medium .uda-stat-value,.uda-stat-medium .uda-stat-label{color:#a16207}.uda-stat-low{border-color:#bbf7d0}.uda-stat-low .uda-stat-icon{background:#f0fdf4;color:#16a34a}.uda-stat-low .uda-stat-value,.uda-stat-low .uda-stat-label{color:#15803d}.uda-filters-bar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1.5px solid #E5E7EB;border-radius:12px;padding:10px 16px;margin-bottom:24px;gap:16px;box-shadow:0 1px 4px #0000000a;flex-wrap:wrap}.uda-filters-left{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;flex:1;min-width:0}.uda-filter-label{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;flex-shrink:0}.uda-filter-select{width:auto!important;height:auto!important;min-width:130px;max-width:200px;padding:7px 12px!important;border-radius:8px!important;border:1.5px solid #E5E7EB!important;background:#f9fafb!important;color:#374151!important;font-size:13px!important;font-family:inherit!important;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s;flex-shrink:0;appearance:auto}.uda-filter-select:focus{border-color:#7c3aed!important;box-shadow:0 0 0 3px #7c3aed1a}.uda-count-label{font-size:12px;font-weight:600;color:#9ca3af;white-space:nowrap;flex-shrink:0}.uda-empty{display:flex;flex-direction:column;align-items:center;padding:80px 24px;text-align:center}.uda-empty-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#ecfdf5,#d1fae5);display:flex;align-items:center;justify-content:center;color:#059669;margin-bottom:18px;box-shadow:0 4px 20px #05966926}.uda-empty h3{font-size:18px;font-weight:700;color:#111827;margin:0 0 6px}.uda-empty p{font-size:14px;color:#6b7280;margin:0}.uda-section-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1.5px solid #F3F4F6;gap:12px}.uda-section-title-block{flex:1;min-width:0}.uda-section-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.uda-section-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.uda-section-icon--network{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.uda-section-icon--waf{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}.uda-section-title{font-size:15px;font-weight:700;color:#111827;margin:0}.uda-section-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.1px}.uda-section-badge--network{background:#dbeafe;color:#1d4ed8}.uda-section-badge--waf{background:#ede9fe;color:#6d28d9}.uda-section-desc{font-size:12.5px;color:#6b7280;margin:0;line-height:1.5}.uda-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.uda-card{background:#fff;border-radius:14px;border:1.5px solid #E9E7F0;overflow:hidden;display:flex;box-shadow:0 1px 4px #0000000a,0 4px 12px #00000008;transition:box-shadow .2s,transform .2s}.uda-card:hover{box-shadow:0 4px 20px #6d28d91a,0 8px 28px #00000012;transform:translateY(-2px)}.uda-card--unread{background:linear-gradient(135deg,#fffdf5,#fffbeb);border-color:#fde68a}.uda-card--read{opacity:.85}.uda-card-stripe{width:4px;flex-shrink:0}.uda-card-body{flex:1;padding:14px 16px;min-width:0}.uda-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:6px}.uda-card-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.uda-card-time{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#9ca3af;white-space:nowrap;flex-shrink:0}.uda-card-title{font-size:13.5px;font-weight:700;color:#111827;margin:0 0 10px;line-height:1.35}.uda-card-meta{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.uda-meta-item{display:flex;align-items:center;gap:7px}.uda-meta-key{font-size:10.5px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;min-width:75px;flex-shrink:0}.uda-meta-ip{font-size:12px;font-family:Fira Code,ui-monospace,monospace;color:#1d4ed8;background:#eff6ff;padding:2px 7px;border-radius:5px;border:1px solid #BFDBFE}.uda-meta-val{font-size:12px;color:#374151;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}code.uda-meta-val{font-family:Fira Code,ui-monospace,monospace;background:#f3f4f6;padding:2px 6px;border-radius:4px;color:#1f2937;font-size:11.5px}.uda-blocked-tag{font-size:11px;font-weight:700;color:#8b3131;background:#f5eeee;border:1px solid #C9A0A0;padding:2px 9px;border-radius:20px;display:inline-flex;align-items:center;gap:4px}.uda-card-note{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:#9ca3af;background:#f9fafb;border-radius:8px;padding:8px 10px;margin-top:8px;line-height:1.45;border:1px solid #F3F4F6}.uda-card-note--warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.uda-card-actions{margin-top:10px;padding-top:10px;border-top:1px solid #F3F4F6;display:flex;gap:8px}.uda-badge{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:5px;white-space:nowrap;letter-spacing:.3px;text-transform:uppercase}.uda-badge--sev{border:1px solid transparent}.uda-badge--hits{background:#ede9fe;color:#7c3aed}.uda-badge--inline{margin-left:5px;font-size:10px}.uda-sev-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;border:1px solid transparent;letter-spacing:.3px;text-transform:uppercase}.uda-sev-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.uda-action-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid transparent;font-family:inherit;transition:all .16s}.uda-action-btn--read{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.uda-action-btn--read:hover{background:#dcfce7;border-color:#86efac}.uda-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;border:1.5px solid #E5E7EB!important;background:#f9fafb!important;color:#6b7280!important;cursor:pointer;transition:all .15s;flex-shrink:0;padding:0!important}.uda-icon-btn:hover{background:#f3f4f6!important;border-color:#d1d5db!important;color:#374151!important}.uda-icon-btn--danger{color:#8b3131!important;border-color:#c9a0a0!important;background:#f5eeee!important}.uda-icon-btn--danger:hover{background:#eddddd!important;border-color:#b88888!important;color:#6b2222!important}.uda-icon-btn:disabled{opacity:.35;cursor:not-allowed}.uda-status-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;letter-spacing:.2px;text-transform:uppercase}.uda-status-pill--read{background:#f0fdf4;color:#16a34a}.uda-status-pill--unread{background:#fef3c7;color:#d97706}.uda-ip-code{font-size:12px;font-family:Fira Code,ui-monospace,monospace;color:#1d4ed8;background:#eff6ff;padding:3px 8px;border-radius:5px;border:1px solid #BFDBFE}.uda-table-wrap{overflow-x:auto;border-radius:14px;border:1.5px solid #E9E7F0;box-shadow:0 1px 4px #0000000a,0 4px 14px #00000008;background:#fff}.uda-table{width:100%;border-collapse:collapse;font-size:13px}.uda-th{padding:13px 16px;text-align:left;font-size:10.5px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.7px;background:#fafafa;border-bottom:1.5px solid #F0EEF8;white-space:nowrap}.uda-th--center{text-align:center}.uda-tr{cursor:pointer;transition:background-color .13s;border-bottom:1px solid #F5F4FA;border-left:3px solid var(--sev-color, #E5E7EB)}.uda-tr:last-child{border-bottom:none}.uda-tr--read{background:#fff}.uda-tr--unread{background:#fdfcff}.uda-tr--read:hover{background:#f9fafb}.uda-tr--unread:hover{background:#f5f3ff}.uda-tr--expanded{background:#f5f3ff!important;border-bottom:none}.uda-td{padding:12px 16px;color:#374151;vertical-align:middle}.uda-td--rule{max-width:240px}.uda-rule-name{display:inline-block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#111827;font-size:13px;vertical-align:middle}.uda-td--time{font-size:12px;color:#9ca3af;white-space:nowrap}.uda-td--actions{text-align:center}.uda-tr-expand{border-bottom:1.5px solid #EDE9FE}.uda-expand-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;padding:20px 22px;background:linear-gradient(135deg,#f9f7ff,#f5f3ff);border-top:1px solid #EDE9FE}.uda-expand-col--full{grid-column:1 / -1}.uda-expand-foot{border-top:1px solid #EDE9FE;padding-top:14px}.uda-expand-heading{font-size:10px;font-weight:700;color:#7c3aed;text-transform:uppercase;letter-spacing:.8px;margin:0 0 8px;display:flex;align-items:center;gap:5px}.uda-expand-heading:before{content:"";display:inline-block;width:3px;height:12px;background:#7c3aed;border-radius:2px}.uda-expand-text{font-size:13px;color:#4b5563;margin:0;line-height:1.65}.uda-desc-list{margin:0;padding-left:16px;font-size:13px;color:#4b5563;line-height:1.75}.uda-desc-list li{margin-bottom:4px}.uda-detail-rows{display:flex;flex-direction:column;gap:8px}.uda-detail-row{display:flex;align-items:center;gap:10px;font-size:12.5px}.uda-detail-row span:first-child{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.4px;min-width:70px;flex-shrink:0}.uda-detail-row span:last-child{color:#1f2937;font-weight:500}.uda-detail-row code{font-family:Fira Code,ui-monospace,monospace;font-size:12px;background:#fff;border:1px solid #E5E7EB;padding:2px 7px;border-radius:5px;color:#4c1d95}.uda-rec-action{font-size:13px;color:#065f46;background:#ecfdf5;border:1px solid #A7F3D0;border-radius:10px;padding:11px 14px;line-height:1.65}.uda-footer-note{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:28px;padding:10px;font-size:12px;color:#9ca3af}.uda-modal-overlay{position:fixed;inset:0;background:#0f0a1e8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px}.uda-modal{background:#fff;border-radius:20px;padding:32px 28px 24px;width:100%;max-width:380px;box-shadow:0 24px 60px #0000002e,0 4px 16px #00000014;display:flex;flex-direction:column;align-items:center;text-align:center;border:1.5px solid #C9A0A0}.uda-modal-icon-wrap{width:56px;height:56px;border-radius:50%;background:#f5eeee;border:2px solid #C9A0A0;display:flex;align-items:center;justify-content:center;color:#8b3131;margin-bottom:16px}.uda-modal-title{font-size:18px;font-weight:800;color:#111827;margin:0 0 8px;letter-spacing:-.3px}.uda-modal-desc{font-size:14px;color:#6b7280;margin:0 0 24px;line-height:1.55}.uda-modal-actions{display:flex;gap:10px;width:100%}.uda-modal-cancel{flex:1;padding:10px 0!important;border-radius:10px!important;background:#f9fafb!important;border:1.5px solid #E5E7EB!important;color:#374151!important;font-size:14px!important;font-weight:600!important;cursor:pointer;font-family:inherit!important;transition:all .15s}.uda-modal-cancel:hover{background:#f3f4f6!important;border-color:#d1d5db!important}.uda-modal-confirm{flex:1;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;padding:10px 0!important;border-radius:10px!important;background:#8b3131!important;border:1.5px solid #8B3131!important;color:#fff!important;font-size:14px!important;font-weight:600!important;cursor:pointer;font-family:inherit!important;transition:all .15s}.uda-modal-confirm:hover{background:#6b2222!important;border-color:#6b2222!important}.ud-apps-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.ud-app-card-v2{background:#fff;border-radius:14px;border:1px solid #E5E7EB;box-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.ud-app-card-v2:hover{box-shadow:0 2px 8px #6366f11a,0 8px 24px #00000014;transform:translateY(-1px)}.ud-app-card-v2-header{display:flex;align-items:center;gap:14px;padding:18px 20px 14px;border-bottom:1px solid #F3F4F6;background:linear-gradient(135deg,#fafaff,#f5f3ff)}.ud-app-card-v2-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #6366f159}.ud-app-card-v2-title{flex:1;min-width:0}.ud-app-card-v2-title h3{font-size:15px;font-weight:700;color:#111827;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ud-app-card-v2-title p{font-size:12px;color:#6b7280;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ud-app-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;flex-shrink:0}.ud-app-status-badge.connected{background:#dcfce7;color:#15803d}.ud-app-status-badge.failed{background:#fee2e2;color:#b91c1c}.ud-app-status-badge.untested{background:#fef3c7;color:#92400e}.ud-app-msg{display:flex;align-items:center;gap:7px;font-size:12px;padding:8px 20px;border-bottom:1px solid transparent}.ud-app-msg.success{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.ud-app-msg.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.ud-app-card-v2-body{padding:16px 20px;flex:1}.ud-app-detail-list{display:flex;flex-direction:column;gap:10px}.ud-app-detail-item{display:flex;flex-direction:column;gap:3px}.ud-app-detail-key{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.ud-app-detail-val{font-size:13px;color:#1f2937;word-break:break-all}code.ud-app-detail-val{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;background:#f8fafc;border:1px solid #E5E7EB;border-radius:5px;padding:5px 8px;display:block}.ud-app-edit-form{display:flex;flex-direction:column;gap:0}.ud-app-card-v2-footer{display:flex;gap:8px;padding:12px 20px 16px;border-top:1px solid #F3F4F6;background:#fafafa;align-items:center}.ud-app-action-btn{font-size:12px!important;padding:7px 14px!important;flex:1}.ud-app-delete-btn{width:36px;height:36px;border-radius:8px;border:1.5px solid #FECACA;background:#fef2f2!important;color:#b91c1c!important;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;overflow:visible;transition:background .15s,border-color .15s}.ud-app-delete-btn svg{width:17px!important;height:17px!important;color:#b91c1c!important;stroke:#b91c1c!important;flex-shrink:0}.ud-app-delete-btn:hover{background:#fee2e2!important;border-color:#fca5a5}.ud-app-delete-btn:hover svg{color:#991b1b!important;stroke:#991b1b!important}.ud-app-delete-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 860px){.ud-apps-list{grid-template-columns:1fr}}.ud-apps-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ud-app-card{background:#fff;border:2px solid #6D28D9;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000d}.ud-app-card-header{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#f3f0ff;border-bottom:1px solid #F3F4F6}.ud-app-card-header h3{font-size:15px;font-weight:700;color:#111827;margin:0 0 5px}.ud-app-icon{width:44px;height:44px;border-radius:10px;background:#3b1179;display:flex;align-items:center;justify-content:center;color:#6d28d9;flex-shrink:0}.ud-app-details{padding:12px 18px;border-bottom:1px solid #F3F4F6;display:flex;flex-direction:column;gap:2px}.ud-app-detail-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #F3F4F6;font-size:13px}.ud-app-detail-row:last-child{border-bottom:none}.ud-app-detail-row span{color:#6b7280;font-weight:500;white-space:nowrap}.ud-app-detail-row code{font-family:monospace;font-size:11px;color:#1f2937;text-align:right;word-break:break-all}.ud-inline-key{display:flex;align-items:center;gap:6px;max-width:220px}.ud-inline-key code{font-family:monospace;font-size:11px;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}.ud-app-stats{display:flex;gap:0;border-bottom:1px solid #F3F4F6}.ud-app-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-right:1px solid #F3F4F6}.ud-app-stat:last-child{border-right:none}.ud-app-stat svg{color:#6b7280}.ud-app-stat span{font-size:18px;font-weight:700;color:#111827}.ud-app-stat small{font-size:11px;color:#9ca3af}.ud-app-actions{display:flex;gap:8px;padding:12px 16px}.ud-integration-card{background:#fff;border:2px solid #6D28D9;border-radius:12px;overflow:hidden}.ud-code-block{background:#f8fafc;border:1px solid #E5E7EB;border-radius:8px;margin-bottom:10px;overflow:hidden}.ud-code-block.highlight{border-color:#bbf7d0;background:#f0fdf4}.ud-code-label{font-size:11px;font-weight:600;color:#6b7280;padding:5px 12px;border-bottom:1px solid #E5E7EB;text-transform:uppercase;letter-spacing:.4px}.ud-code-block pre{margin:0;padding:10px 12px;overflow-x:auto}.ud-code-block pre code{font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.6;color:#1f2937}.ud-info-box{display:flex;gap:10px;align-items:flex-start;background:#eff6ff;border:1px solid #BFDBFE;border-radius:8px;padding:10px 12px;font-size:13px;color:#1d4ed8}.ud-info-box svg{flex-shrink:0;margin-top:1px}.ud-info-box p{margin:0;line-height:1.4}.ud-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;align-items:start}.ud-settings-grid.ud-settings-row{grid-template-columns:repeat(3,1fr)!important}@media (max-width: 1200px){.ud-settings-grid.ud-settings-row{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 700px){.ud-settings-grid.ud-settings-row{grid-template-columns:1fr!important}}.ud-settings-grid .ud-card:last-child{grid-column:auto}.ud-settings-stack{display:flex;flex-direction:column;gap:16px}.ud-settings-stack .ud-card{width:100%}.ud-form-group{margin-bottom:14px}.ud-form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.ud-required{color:#dc2626;margin-left:2px}.ud-input{width:100%;padding:9px 12px;border:1.5px solid #D1D5DB;border-radius:8px;font-size:13px;color:#1f2937;outline:none;transition:border-color .15s;font-family:inherit;box-sizing:border-box}.ud-input:focus{border-color:#3b1179}.ud-field-hint{font-size:12px;color:#6b7280;margin:5px 0 0}.ud-msg{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:7px;font-size:13px;font-weight:500;margin-bottom:14px}.ud-msg.success{background:#f0fdf4;border:1px solid #BBF7D0;color:#166534}.ud-msg.error{background:#fef2f2;border:1px solid #FECACA;color:#991b1b}.ud-wizard-steps{display:flex;align-items:center;gap:0;margin-bottom:28px}.ud-wizard-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;opacity:.38;transition:opacity .2s}.ud-wizard-step.active{opacity:1}.ud-wizard-step.done{opacity:.85}.ud-wizard-step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#6366f126;color:#6366f1;border:2px solid rgba(99,102,241,.2);transition:background .2s,border-color .2s}.ud-wizard-step.active .ud-wizard-step-circle{background:#6366f1;border-color:#6366f1;color:#fff;box-shadow:0 0 0 4px #6366f126}.ud-wizard-step.done .ud-wizard-step-circle{background:#22c55e;border-color:#22c55e;color:#fff}.ud-wizard-step-label{font-size:11px;font-weight:500;color:#6b7280;text-align:center;white-space:nowrap}.ud-wizard-step.active .ud-wizard-step-label{color:#6366f1;font-weight:600}.ud-wizard-step.done .ud-wizard-step-label{color:#22c55e}.ud-wizard-connector{flex:1;height:2px;background:#6366f126;margin-bottom:20px;transition:background .2s}.ud-wizard-connector.done{background:#22c55e}.ud-wizard-complete{display:flex;flex-direction:column;align-items:center;padding:20px 24px 12px;text-align:center;max-width:800px;margin:0 auto}.ud-wizard-complete-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#22c55e33,#22c55e14);border:2px solid rgba(34,197,94,.4);display:flex;align-items:center;justify-content:center;color:#22c55e;margin-bottom:20px;box-shadow:0 0 0 12px #22c55e14}.ud-wizard-complete-title{font-size:22px;font-weight:700;color:#111827;margin:0 0 8px;letter-spacing:-.01em}.ud-wizard-complete-subtitle{font-size:15px;color:#6b7280;margin:0 0 28px;max-width:100%;line-height:1.6}.ud-wizard-complete-card{width:100%;max-width:100%;background:#f9fafb;border:1px solid #E5E7EB;border-radius:12px;overflow:hidden;margin-bottom:20px}.ud-wizard-complete-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-size:13px}.ud-wizard-complete-row:not(:last-child){border-bottom:1px solid #E5E7EB}.ud-wizard-complete-row-label{display:flex;align-items:center;gap:6px;color:#6b7280;font-weight:500;flex-shrink:0}.ud-wizard-complete-row-value{font-weight:600;color:#111827;text-align:right}.ud-wizard-complete-key{display:flex;align-items:center;gap:8px}.ud-wizard-complete-key code{font-family:Fira Mono,Courier New,monospace;font-size:12px;color:#374151;background:#e5e7eb;padding:3px 8px;border-radius:5px;letter-spacing:.03em}.ud-wizard-complete-badge{display:inline-flex;align-items:center;gap:5px;background:#dcfce7;color:#166534;border:1px solid #BBF7D0;border-radius:999px;font-size:12px;font-weight:600;padding:3px 10px}.ud-wizard-complete-hint{font-size:13px;color:#6b7280;margin:0 0 20px;max-width:100%;line-height:1.5;font-weight:500}.ud-wizard-complete-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;width:100%;margin-top:8px}.ud-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1px solid #D1D5DB;background:#fff;color:#6b7280;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.ud-copy-btn:hover{background:#f3f4f6;color:#374151;border-color:#9ca3af}.ud-wizard-info-box{display:flex;align-items:flex-start;gap:8px;background:#6366f114;border:1px solid rgba(99,102,241,.22);color:#4338ca;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5}.ud-wizard-info-box strong{color:#3730a3}.ud-wizard-info-box code{background:#6366f11f;color:#312e81;padding:1px 5px;border-radius:5px;font-size:12px}.ud-wizard-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.ud-wizard-help-card{background:#f8fafc;border:1px solid #E2E8F0;border-radius:10px;padding:10px 12px}.ud-wizard-help-card h4{font-size:12px;margin:0 0 6px;color:#111827;font-weight:700}.ud-wizard-help-card p{font-size:12px;color:#475569;margin:0 0 5px;line-height:1.45}.ud-wizard-help-card ul{margin:0;padding-left:16px;display:grid;gap:4px}.ud-wizard-help-card li{font-size:12px;color:#475569;line-height:1.4}.ud-wizard-help-card code{background:#eef2ff;color:#4338ca;padding:1px 4px;border-radius:4px;font-size:11px}.ud-wizard-integration-block{width:100%;max-width:100%;margin:0 0 20px;border:none;border-radius:14px;background:#fff;overflow:hidden;text-align:left;box-shadow:0 4px 6px #4f46e526,0 10px 24px #4f46e533}.ud-wizard-integration-head{padding:22px 24px 18px;border-bottom:2px solid #E5E7EB;background:linear-gradient(135deg,#f8f9ff,#f3f4f6)}.ud-integration-header-content{display:flex;flex-direction:column;gap:12px}.ud-integration-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}.ud-integration-title-row>div{flex:1;display:flex;flex-direction:column;gap:6px}.ud-integration-title{display:block;font-size:14px;font-weight:700;color:#111827;letter-spacing:-.01em}.ud-integration-desc{margin:4px 0 0;font-size:13px;color:#4b5563;line-height:1.5}.ud-copy-btn-large{display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;padding:6px 8px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;opacity:1}.ud-copy-btn-large:hover{background:#1f41f0;box-shadow:0 4px 12px #3b82f64d}.ud-wizard-integration-meta{display:flex;align-items:center;gap:8px}.ud-meta-badge{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:5px 10px;border-radius:6px;white-space:nowrap}.ud-meta-axios{background:#dbeafe;color:#0369a1;border:1px solid #BAE6FD}.ud-meta-proxy{background:#dcfce7;color:#166534;border:1px solid #BBFF00}.ud-code-block-wrapper{position:relative}.ud-code-block-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.1),transparent);pointer-events:none}.ud-wizard-integration-block pre{margin:0;padding:20px 24px;overflow-x:auto;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px}.ud-wizard-integration-block code{color:#1f2937;font-size:12px;line-height:1.8;font-family:Fira Code,Courier New,monospace;white-space:pre-wrap;text-shadow:none;word-break:break-word;overflow-wrap:break-word;display:block;background:transparent}.ud-wizard-endpoint-card{width:100%;max-width:100%;margin:0 0 20px;border:1px solid #C7D2FE;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);padding:14px 16px;text-align:left;box-shadow:0 8px 18px #4f46e514}.ud-wizard-endpoint-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ud-wizard-endpoint-label{font-size:12px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.ud-wizard-endpoint-value{display:flex;align-items:center;gap:8px;min-width:0}.ud-wizard-endpoint-value code{background:#e0e7ff;color:#1e1b4b;border-radius:6px;padding:5px 9px;font-size:12px;font-family:Fira Mono,Courier New,monospace;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ud-wizard-endpoint-hint{margin:8px 0 0;font-size:12px;color:#64748b;line-height:1.45}.ud-wizard-next-steps{width:100%;max-width:100%;margin:0 0 20px;text-align:left;background:#f8fafc;border:1px solid #E2E8F0;border-radius:10px;padding:14px 16px}.ud-wizard-next-steps h4{margin:0 0 12px;font-size:14px;font-weight:700;color:#111827;letter-spacing:-.01em}.ud-wizard-next-steps ol{margin:0;padding-left:20px;display:grid;gap:8px}.ud-wizard-next-steps li{font-size:13px;color:#475569;line-height:1.6}.ud-wizard-next-steps code{background:#eef2ff;color:#4338ca;padding:1px 4px;border-radius:4px;font-size:11px}@media (max-width: 860px){.ud-wizard-help-grid{grid-template-columns:1fr}.ud-wizard-endpoint-row{flex-direction:column;align-items:flex-start}.ud-wizard-endpoint-value{width:100%}.ud-wizard-endpoint-value code{max-width:100%}}.ud-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;text-align:center;color:#9ca3af}.ud-empty svg{color:#d1d5db}.ud-empty h3{font-size:17px;font-weight:700;color:#374151;margin:0}.ud-empty p{font-size:14px;color:#6b7280;margin:0}.ud-empty-inline{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;text-align:center;color:#9ca3af}.ud-empty-inline svg{color:#d1d5db}.ud-empty-inline p{font-size:13px;color:#6b7280;margin:0}@keyframes ud-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ud-spin{animation:ud-spin 1s linear infinite}@media (max-width: 900px){.ud-stats-grid{grid-template-columns:repeat(2,1fr)}.ud-row-2,.ud-apps-grid{grid-template-columns:1fr}.ud-settings-grid:not(.ud-settings-row){grid-template-columns:1fr}.ud-settings-grid .ud-card:last-child{grid-column:1}.ud-detail-grid{grid-template-columns:1fr}.ud-detail-section:not(:last-child){border-right:none;border-bottom:1px solid #E5E7EB;padding-bottom:10px;margin-bottom:10px;margin-right:0}}@media (max-width: 640px){.ud-sidebar{width:200px;min-width:200px}.ud-content{padding:20px 16px 32px}.ud-stats-grid{grid-template-columns:1fr 1fr}}.ud-modal-overlay{position:fixed;inset:0;background:#0f172a8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.ud-modal{background:#fff;border-radius:16px;box-shadow:0 0 0 1px #0000000f,0 8px 24px #0000001a,0 32px 64px #0000001f;max-width:560px;width:100%;overflow:hidden}.ud-modal-danger-bar{height:4px;background:linear-gradient(90deg,#7c3aed,#6d28d9)}.ud-modal-content{padding:28px 28px 24px;display:flex;flex-direction:column;gap:16px}.ud-modal-icon-wrap{display:flex;align-items:center;justify-content:center}.ud-modal-icon-ring{width:52px;height:52px;border-radius:50%;background:#f5f3ff;border:2px solid #DDD6FE;color:#7c3aed;display:flex;align-items:center;justify-content:center}.ud-modal-text{display:flex;flex-direction:column;gap:8px;text-align:center}.ud-modal-title{font-size:18px;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em}.ud-modal-body{font-size:14px;color:#64748b;line-height:1.65;margin:0}.ud-modal-app-name{font-weight:600;color:#1e293b;background:#f1f5f9;padding:1px 7px;border-radius:5px;border:1px solid #E2E8F0;font-family:SF Mono,Fira Code,monospace;font-size:13px}.ud-modal-warning-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#6d28d9;background:#f5f3ff;border:1px solid #DDD6FE;border-radius:20px;padding:4px 10px;margin:0 auto}.ud-modal-actions{display:flex;gap:10px;padding-top:4px;border-top:1px solid #F1F5F9;margin-top:4px}.ud-modal-cancel-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:9px;border:1px solid #E2E8F0;background:#f8fafc;color:#475569;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.ud-modal-cancel-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.ud-modal-delete-btn{flex:1.4;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:9px;border:none;background:#7c3aed;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:0 1px 3px #7c3aed4d,0 4px 12px #7c3aed26}.ud-modal-delete-btn:hover{background:#6d28d9;box-shadow:0 1px 3px #6d28d966,0 4px 14px #6d28d933;transform:translateY(-1px)}.ud-modal-delete-btn:active{transform:translateY(0)}.graph-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.graph-card{background:#fff;border:none;border-radius:16px;box-shadow:0 8px 20px #1018280d;overflow:hidden;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}.graph-card:hover{box-shadow:0 12px 28px #7209b71a;transform:translateY(-2px)}.graph-card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #ECEFEC}.graph-card-title-section{display:flex;align-items:center;gap:8px;color:#1f2933}.graph-card-title-section svg{color:#9ca3af}.graph-card-title-section h3{margin:0;font-size:.9375rem;font-weight:600;color:#1f2933}.graph-card-period{font-size:.75rem;color:#6b7280;font-weight:500}.chart-svg{width:100%;height:140px;margin:8px 0;border-radius:0}.threat-bars{display:flex;flex-direction:column;gap:10px;margin:8px 0}.threat-bar-item{display:flex;align-items:center;gap:8px;font-size:12px}.threat-bar-label{flex:0 0 80px;color:#333;font-weight:500}.threat-bar-container{flex:1;height:8px;background:#ffffff0d;border-radius:4px;overflow:hidden}.threat-bar{height:100%;border-radius:2px;transition:width .3s;min-width:2px}.threat-bar-count{flex:0 0 30px;text-align:right;color:#333;font-weight:600}.stacked-bars{display:flex;gap:2px;margin:8px 0;align-items:flex-end;height:60px}.stacked-bar-item{flex:1;display:flex;flex-direction:column;gap:4px;align-items:center}.stacked-bars-inner{display:flex;width:100%;height:32px;border-radius:3px;overflow:hidden;background:#ffffff0d}.stacked-bar-blocked{background:linear-gradient(90deg,#ff5252,#ff6b6b);transition:width .3s}.stacked-bar-allowed{background:linear-gradient(90deg,#0f8,#00bfff);transition:width .3s}.stacked-bar-label{font-size:10px;color:#666;font-weight:500}.distribution-bars{display:flex;flex-direction:column;gap:10px;margin:8px 0}.distribution-bar-item{display:flex;align-items:center;gap:8px;font-size:12px}.distribution-bar-label{flex:0 0 70px;color:#333;font-weight:500;font-size:11px}.distribution-bar-container{flex:1;height:12px;background:#ffffff0d;border-radius:4px;overflow:hidden}.distribution-bar{height:100%;border-radius:2px;transition:width .3s;min-width:2px}.distribution-bar-percentage{flex:0 0 35px;text-align:right;color:#222;font-weight:600;font-size:11px}.severity-bars{display:flex;flex-direction:column;gap:10px;margin:8px 0}.severity-bar-item{display:flex;align-items:center;gap:8px;font-size:12px}.severity-bar-label{flex:0 0 70px;font-weight:600;font-size:11px}.severity-bar-container{flex:1;height:14px;background:#ffffff0d;border-radius:4px;overflow:hidden;box-shadow:inset 0 1px 2px #0003}.severity-bar{height:100%;border-radius:2px;transition:width .3s;min-width:2px}.severity-bar-count{flex:0 0 35px;text-align:right;color:#222;font-weight:600;font-size:11px}.pie-chart-container{display:flex;flex-direction:column;gap:10px;padding:10px 16px;align-items:center;justify-content:center;flex:1}.pie-chart{width:140px;height:140px;flex-shrink:0}.pie-slice{cursor:pointer;transition:filter .2s}.pie-slice:hover{filter:brightness(1.15)}.pie-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;min-width:0;width:100%;max-width:200px}.pie-legend-item{display:flex;align-items:center;gap:6px;font-size:11px}.pie-legend-color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.pie-legend-label{color:#475569;font-weight:500;flex:1}.pie-legend-count{color:#1f2933;font-weight:700;min-width:30px;text-align:right}.graph-stats-row{display:flex;justify-content:space-around;gap:8px;padding:8px 16px 12px;border-top:1px solid #E0AAFF;margin-top:4px}.graph-stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.graph-stat-label{font-size:.75rem;color:#6b7280;font-weight:500}.graph-stat-value{font-size:1rem;font-weight:700;color:#9d4edd}@media (max-width: 1919px){.graph-cards-grid{grid-template-columns:repeat(2,1fr);gap:14px}.graph-card{padding:14px}.graph-card-title-section h3{font-size:13px}.threat-bar-label{flex:0 0 75px}.distribution-bar-label,.severity-bar-label{flex:0 0 65px}.chart-svg{height:120px}}@media (max-width: 1199px){.graph-cards-grid{grid-template-columns:repeat(2,1fr);gap:12px}.graph-card{padding:12px}.graph-card-title-section h3{font-size:12px}.threat-bar-label{flex:0 0 60px;font-size:11px}.threat-bar-count{font-size:11px}.distribution-bar-label{flex:0 0 60px;font-size:10px}.distribution-bar-percentage{font-size:10px}.severity-bar-label{flex:0 0 60px;font-size:10px}.severity-bar-count{font-size:10px}.pie-chart-container{gap:10px;margin:10px 0}.pie-chart{width:120px;height:120px}.pie-legend{gap:4px}.pie-legend-item{font-size:10px}.pie-legend-color{width:8px;height:8px}.chart-svg{height:110px}.stacked-bars{height:50px}.stacked-bars-inner{height:24px}}@media (max-width: 767px){.graph-cards-grid{grid-template-columns:1fr;gap:10px}.graph-card{padding:10px}.graph-card-title-section h3{font-size:11px}.graph-card-period{font-size:10px}.threat-bar-label{flex:0 0 50px;font-size:10px}.threat-bar-count{flex:0 0 25px;font-size:10px}.distribution-bar-label{flex:0 0 50px;font-size:9px}.distribution-bar-percentage{flex:0 0 30px;font-size:9px}.severity-bar-label{flex:0 0 50px;font-size:9px}.severity-bar-count{flex:0 0 30px;font-size:9px}.pie-chart-container{gap:8px;margin:8px 0}.pie-chart{width:110px;height:110px}.pie-legend{gap:3px}.pie-legend-item{font-size:9px}.pie-legend-color{width:8px;height:8px}.chart-svg{height:100px}.stacked-bars{height:40px;gap:1px}.stacked-bars-inner{height:20px}.stacked-bar-label{font-size:9px}.graph-stats-row{gap:6px;margin-top:10px;padding-top:10px}.graph-stat-label{font-size:10px}.graph-stat-value{font-size:12px}}@media (max-width: 480px){.graph-cards-grid{grid-template-columns:1fr;gap:8px}.graph-card{padding:8px}.graph-card-title-section h3{font-size:10px}.graph-card-period{font-size:9px}.threat-bar-item{gap:6px;font-size:11px}.threat-bar-label{flex:0 0 40px;font-size:9px}.threat-bar-count{flex:0 0 20px;font-size:9px}.distribution-bar-item{gap:6px;font-size:10px}.distribution-bar-label{flex:0 0 40px;font-size:8px}.distribution-bar-percentage{flex:0 0 25px;font-size:8px}.severity-bar-item{gap:6px;font-size:10px}.severity-bar-label{flex:0 0 40px;font-size:8px}.severity-bar-count{flex:0 0 25px;font-size:8px}.pie-chart-container{gap:6px;margin:8px 0}.pie-chart{width:90px;height:90px}.pie-legend{gap:2px}.pie-legend-item{font-size:8px;gap:4px}.pie-legend-color{width:7px;height:7px}.pie-legend-label{min-width:40px}.pie-legend-count{min-width:20px;font-size:8px}.chart-svg{height:70px}.stacked-bars{height:35px;gap:1px}.stacked-bars-inner{height:16px}.stacked-bar-label{font-size:8px}.graph-stats-row{gap:4px;margin-top:8px;padding-top:8px}.graph-stat-label{font-size:9px}.graph-stat-value{font-size:11px}}.admin-controls{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.users-table-container{background:#fff;border-radius:16px;border:1px solid #E5E7EB;overflow:hidden}.users-table-wrapper{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:#1f29334d}.users-table th{padding:1rem;text-align:left;color:#22c55e;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid rgba(34,197,94,.15)}.users-table tbody tr{border-bottom:1px solid #E5E7EB;transition:background .2s ease}.user-row:hover{background:#f7f8f7}.user-row.banned{background:#ff44440d;opacity:.7}.users-table td{padding:1rem;color:#e5e7eb;font-size:.9rem;vertical-align:middle}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#2d7d6e);color:#1f2933;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.user-name{font-weight:600;color:#f5f7f6;font-size:.95rem}.user-email{color:#9ca3af;font-size:.85rem;font-family:Fira Code,monospace}.role-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-weight:700;font-size:.75rem;text-transform:uppercase}.role-admin{background:#f443;color:#f44;border:1px solid rgba(255,68,68,.3)}.role-user{background:#e0f2fe;color:#2d7d6e;border:1px solid #7dd3fc}.backend-status{display:flex;flex-direction:column;gap:.25rem}.backend-url{color:#e5e7eb;font-family:Fira Code,monospace;font-size:.85rem;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-indicator{font-size:.75rem;font-weight:600;text-transform:capitalize}.not-configured{color:#6b7280;font-style:italic;font-size:.85rem}.date-cell{color:#9ca3af;font-size:.85rem;font-family:Fira Code,monospace}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-weight:700;font-size:.75rem;text-transform:uppercase}.status-badge.active{background:#22c55e26;color:#22c55e;border:1px solid #E5E7EB}.status-badge.inactive{background:#94a3b833;color:#9ca3af;border:1px solid rgba(148,163,184,.3)}.status-badge.banned{background:#f443;color:#f44;border:1px solid rgba(255,68,68,.3)}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:1px solid;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.ban{background:#ff44441a;border-color:#ff44444d;color:#f44}.action-btn.ban:hover:not(:disabled){background:#f443;transform:translateY(-2px)}.action-btn.unban{background:#22c55e26;border-color:#22c55e26;color:#22c55e}.action-btn.unban:hover:not(:disabled){background:#22c55e26;transform:translateY(-2px)}.action-btn.reset{background:#ffaa001a;border-color:#ffaa004d;color:#fa0}.action-btn.reset:hover:not(:disabled){background:#fa03;transform:translateY(-2px)}.action-btn.view{background:#e0f2fe;border:1px solid #7dd3fc;color:#2d7d6e}.action-btn.view:hover:not(:disabled){background:#e0f2fe;transform:translateY(-2px)}@media (max-width: 1200px){.users-table{font-size:.85rem}.users-table th,.users-table td{padding:.75rem}.action-buttons{flex-direction:column}.action-btn{width:100%;justify-content:center}}@media (max-width: 768px){.quick-stats-grid{grid-template-columns:repeat(2,1fr)}.backend-url{max-width:150px}}.app{min-height:100vh;background:var(--bg-app);position:relative;font-family:var(--font-family)}:root{--bg-app: #EDE9FE;--bg-surface: #FFFFFF;--bg-sidebar: #3B1179;--bg-panel: #EDE9FE;--bg-input: #FFFFFF;--bg-neutral-bar: #DDD6FE;--text-primary: #111827;--text-secondary: #6B7280;--text-muted: #9CA3AF;--text-placeholder: #B6BDC6;--border-main: #E5E7EB;--border-soft: #DDD6FE;--green-light: #6D28D9;--green-hover: #7C3AED;--green-dark: #5B21B6;--green-darker: #3B1179;--green-emerald: #6D28D9;--green-teal: #5B21B6;--mint-glow: #DDD6FE;--purple-primary: #5B21B6;--purple-deep: #3B1179;--purple-accent: #6D28D9;--purple-light: #EDE9FE;--purple-border: #C4B5FD;--purple-muted: #A78BFA;--red: #EF4444;--red-bg: #FEE2E2;--yellow: #FDE68A;--purple: #E9D5FF;--orange: #FF7A59;--shadow-card: 0 8px 20px rgba(16, 24, 40, .05);--shadow-card-lg: 0 10px 30px rgba(16, 24, 40, .06);--shadow-tooltip: 0 10px 25px rgba(16, 24, 40, .08);--radius-sm: 8px;--radius-md: 10px;--radius-card: 16px;--radius-cardlg: 18px;--radius-full: 999px;--sidebar-width: 248px;--navbar-height: 68px;--font-family: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--badge-success-bg: #DCFCE7;--badge-success-text: #16A34A;--badge-warn-bg: #FEF3C7;--badge-warn-text: #D97706;--badge-danger-bg: #FEE2E2;--badge-danger-text: #DC2626;--badge-info-bg: #E0F2FE;--badge-info-text: #0284C7;--badge-muted-bg: #F3F4F6;--badge-muted-text: #6B7280;--chart-primary: #5B21B6;--chart-secondary: #6D28D9;--chart-bar-1: #DDD6FE;--chart-bar-2: #FF7A59;--chart-bar-3: #C4B5FD;--bg-primary: #F5F7F6;--bg-secondary: #F7F8F7;--bg-tertiary: #EAECE8;--bg-card: #FFFFFF;--bg-terminal: #F7F8F7;--deep-purple: #1F2933;--medium-purple: #145C4C;--light-purple: #2D7D6E;--lavender: #B6E17D;--pale-lavender: #E5E7EB;--very-pale-lavender: #F7F8F7;--purple-accent: #145C4C;--soft-purple: #2D7D6E;--neon-purple: #145C4C;--purple-glow: #2D7D6E;--matrix-green: #22C55E;--warning-orange: #FF7A59;--glass-bg: rgba(255, 255, 255, .98);--glass-border: #E5E7EB;--card-shadow: 0 8px 20px rgba(16, 24, 40, .05);--glow-purple: none;--glow-lavender: none;--glow-soft: none;--shadow-deep: 0 8px 20px rgba(16, 24, 40, .05);--border-primary: 1px solid #E5E7EB;--border-secondary: 1px solid #E5E7EB;--border-purple: 1px solid #E5E7EB;--border-cyber: 1px solid #E5E7EB;--text-tertiary: #9CA3AF;--text-danger: #DC2626;--text-warning: #D97706;--text-success: #16A34A;--neon-cyan: #2D7D6E;--neon-pink: #FF7A59;--cyber-red: #EF4444;--glow-matrix: none;--glow-cyan: none;--glow-pink: none;--glow-danger: none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-family);line-height:1.6;overflow-x:hidden;position:relative;min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top left,rgba(182,225,125,.18),transparent 35%),radial-gradient(circle at bottom right,rgba(45,125,110,.1),transparent 40%);z-index:-2;pointer-events:none}body:after{content:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f5f7f6}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);color:var(--text-primary);font-weight:700;line-height:1.2}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}input,textarea,select{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-main);padding:10px 14px;border-radius:var(--radius-md);font-family:var(--font-family);font-size:14px;transition:border-color .2s ease;width:100%;height:40px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--green-teal)}input::placeholder,textarea::placeholder{color:var(--text-placeholder)}label{color:#374151;font-family:var(--font-family);font-weight:500;font-size:.875rem;display:block;margin-bottom:6px}.card{background:var(--bg-surface);border:1px solid var(--border-main);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px}.card:hover{box-shadow:var(--shadow-card-lg)}button,.btn{background:var(--green-dark);color:inherit;border:none;padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);font-weight:600;font-size:.9rem;transition:background .2s ease}button:hover,.btn:hover{background:var(--green-darker)}button:active,.btn:active{transform:none}a{color:var(--green-teal);text-decoration:none;transition:color .2s ease}a:hover{color:var(--green-dark)}.status-online{color:var(--green-emerald)}.status-offline{color:var(--red)}.status-warning{color:#d97706}code,pre{background:var(--bg-panel);color:var(--text-primary);font-family:Fira Code,Courier New,monospace;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-main);font-size:.875rem}.text-center{text-align:center}.text-primary{color:var(--text-primary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--green-emerald)}.text-danger{color:var(--red)}.text-warning{color:#d97706}.badge-success{background:var(--badge-success-bg);color:var(--badge-success-text)}.badge-warn{background:var(--badge-warn-bg);color:var(--badge-warn-text)}.badge-danger{background:var(--badge-danger-bg);color:var(--badge-danger-text)}.badge-info{background:var(--badge-info-bg);color:var(--badge-info-text)}.badge-muted{background:var(--badge-muted-bg);color:var(--badge-muted-text)}:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}::selection{background:#b6e17d66;color:var(--text-primary)}#root{min-height:100vh;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.spinning{animation:spin 1s linear infinite}@media (max-width: 768px){h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}}
