@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&family=Inter:wght@300;400;500;600&display=swap);:root{--bg:#080a0d;--bg2:#0d1117;--bg3:#161b22;--bg4:#1c2128;--border:#1e2530;--border2:#2d3748;--text:#e6edf3;--muted:#6e7681;--dim:#30363d;--red:#00d4ff;--red2:#00d4ff1f;--red3:#00d4ff0f;--green:#00ff41;--green2:#00ff411a;--amber:#ffb800;--amber2:#ffb8001a;--blue:#79c0ff;--blue2:#79c0ff1a;--purple:#bc8cff;--critical:#f20;--high:#ff6b35;--medium:#ffb800;--low:#79c0ff;--info:#6e7681;--primary:#00d4ff;--primary2:#009ac2;--accent:#7c3aed}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:#080a0d;background:var(--bg);color:#e6edf3;color:var(--text);font-family:Inter,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#2d3748;background:var(--border2);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#30363d;background:var(--dim)}.mono{font-family:IBM Plex Mono,monospace}.text-critical{color:#f20;color:var(--critical)}.text-high{color:#ff6b35;color:var(--high)}.text-medium{color:#ffb800;color:var(--amber)}.text-low{color:#79c0ff;color:var(--blue)}.text-info{color:#6e7681;color:var(--info)}.text-muted{color:#6e7681;color:var(--muted)}.text-green{color:#00ff41;color:var(--green)}.badge{align-items:center;border-radius:2px;display:inline-flex;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 7px;text-transform:uppercase;white-space:nowrap}.badge-critical{animation:badge-pulse-critical 2s ease-in-out infinite;background:#ff220026;border:1px solid #ff220059;box-shadow:0 0 8px #ff220026;color:#f20;color:var(--critical)}@keyframes badge-pulse-critical{0%,to{box-shadow:0 0 6px #ff220026}50%{box-shadow:0 0 14px #ff220059}}.badge-high{background:#ff6b3526;border:1px solid #ff6b3559;color:#ff6b35;color:var(--high)}.badge-medium{background:#ffb8001a;background:var(--amber2);border:1px solid #ffb80059;color:#ffb800;color:var(--amber)}.badge-low{background:#79c0ff1a;background:var(--blue2);border:1px solid #79c0ff59;color:#79c0ff;color:var(--blue)}.badge-info{background:#6e76811a;border:1px solid #1e2530;border:1px solid var(--border);color:#6e7681;color:var(--muted)}.status-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:6px;width:6px}.status-running{animation:pulse-dot 1.5s infinite;background:#ffb800;background:var(--amber);box-shadow:0 0 8px #ffb800;box-shadow:0 0 8px var(--amber)}.status-completed{background:#00ff41;background:var(--green);box-shadow:0 0 6px #00ff414d}.status-failed{background:#f20;background:var(--critical);box-shadow:0 0 6px #f206}.status-pending{background:#6e7681;background:var(--muted)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.layout{display:flex;height:100vh;overflow:hidden}.sidebar{background:#0d1117;background:var(--bg2);border-right:1px solid #1e2530;border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:220px;position:relative;width:220px}.sidebar:before{background:linear-gradient(90deg,#00d4ff,#0000);background:linear-gradient(90deg,var(--red),#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.sidebar-logo{border-bottom:1px solid #1e2530;border-bottom:1px solid var(--border);padding:18px 16px 16px;position:relative}.sidebar-logo .logo{align-items:center;display:flex;font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:700;gap:8px;letter-spacing:.05em}.sidebar-logo .logo-img{border-radius:50%;flex-shrink:0;height:28px;object-fit:cover;width:28px}.sidebar-logo .logo span{color:#00d4ff;color:var(--red)}.sidebar-logo .version{color:#6e7681;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.12em;margin-left:36px;margin-top:3px;text-transform:uppercase}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:1px;overflow-y:auto;padding:10px 8px}.nav-section{color:#30363d;color:var(--dim);font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.15em;padding:12px 10px 6px;text-transform:uppercase}.nav-item{align-items:center;border:1px solid #0000;border-radius:3px;color:#6e7681;color:var(--muted);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:8px 10px;position:relative;transition:all .15s}.nav-item:hover{background:#161b22;background:var(--bg3);border-color:#1e2530;border-color:var(--border);color:#e6edf3;color:var(--text)}.nav-item.active{background:#00d4ff0f;background:var(--red3);border-color:#00d4ff33;color:#e6edf3;color:var(--text)}.nav-item.active:before{background:#00d4ff;background:var(--red);border-radius:1px;bottom:0;box-shadow:2px 0 8px #00d4ff66;content:"";left:-1px;position:absolute;top:0;width:2px}.nav-item svg{flex-shrink:0;height:15px;opacity:.8;width:15px}.nav-item.active svg,.nav-item:hover svg{opacity:1}.sidebar-footer{background:linear-gradient(0deg,#0003,#0000);border-top:1px solid #1e2530;border-top:1px solid var(--border);padding:12px 16px}.user-info{gap:8px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:#00d4ff1f;background:var(--red2);border:1px solid #00d4ff4d;border-radius:3px;color:#00d4ff;color:var(--red);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.user-name{font-size:12px;font-weight:600}.user-role{color:#6e7681;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow-y:auto}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1117;background:var(--bg2);border-bottom:1px solid #1e2530;border-bottom:1px solid var(--border);gap:12px;height:56px;min-height:56px;padding:0 24px;position:sticky;top:0;z-index:10}.topbar,.topbar-title{align-items:center;display:flex}.topbar-title{font-size:13px;font-weight:600;gap:8px;letter-spacing:.01em}.content{background-attachment:local;background-image:radial-gradient(#1e2530 1px,#0000 0);background-image:radial-gradient(var(--border) 1px,#0000 1px);background-size:24px 24px;flex:1 1;padding:24px}.card{background:#0d1117;background:var(--bg2);border:1px solid #1e2530;border:1px solid var(--border);border-radius:4px;transition:border-color .2s}.card:hover{border-color:#2d3748;border-color:var(--border2)}.card-header{border-bottom:1px solid #1e2530;border-bottom:1px solid var(--border);justify-content:space-between;padding:14px 20px}.card-header,.card-title{align-items:center;display:flex}.card-title{font-size:13px;font-weight:600;gap:8px}.card-body{padding:20px}.stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));margin-bottom:20px}.stat-card{background:#0d1117;background:var(--bg2);border:1px solid #1e2530;border:1px solid var(--border);border-radius:4px;overflow:hidden;padding:20px;position:relative;transition:border-color .2s,transform .15s}.stat-card:hover{border-color:#2d3748;border-color:var(--border2);transform:translateY(-1px)}.stat-card:before{background:#1e2530;background:var(--border);content:"";height:2px;left:0;position:absolute;right:0;top:0;transition:background .2s}.stat-card.critical:before{background:#f20;background:var(--critical);box-shadow:0 0 12px #f206}.stat-card.high:before{background:#ff6b35;background:var(--high);box-shadow:0 0 12px #ff6b3566}.stat-card.green:before{background:#00ff41;background:var(--green);box-shadow:0 0 12px #00ff414d}.stat-card.blue:before{background:#79c0ff;background:var(--blue);box-shadow:0 0 12px #79c0ff4d}.stat-card.amber:before{background:#ffb800;background:var(--amber);box-shadow:0 0 12px #ffb8004d}.stat-card.purple:before{background:#bc8cff;background:var(--purple);box-shadow:0 0 12px #bc8cff4d}.stat-card:after{background:#1e2530;background:var(--border);border-radius:50%;content:"";height:60px;opacity:.06;position:absolute;right:-20px;top:-20px;width:60px}.stat-card.critical:after{background:#f20;background:var(--critical);opacity:.08}.stat-card.green:after{background:#00ff41;background:var(--green);opacity:.06}.stat-card.blue:after{background:#79c0ff;background:var(--blue);opacity:.06}.stat-card.amber:after{background:#ffb800;background:var(--amber);opacity:.06}.stat-label{color:#6e7681;color:var(--muted);display:block;font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.stat-value{font-feature-settings:"tnum";font-size:clamp(22px,4vw,34px);font-variant-numeric:tabular-nums;font-weight:700;line-height:1;overflow-wrap:break-word;word-break:break-all}.stat-sub{color:#6e7681;color:var(--muted);font-size:11px;margin-top:5px}.table{border-collapse:collapse;width:100%}.table th{background:#161b22;background:var(--bg3);border-bottom:1px solid #1e2530;border-bottom:1px solid var(--border);color:#6e7681;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:500;letter-spacing:.12em;padding:10px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.table th:first-child{border-radius:0}.table td{border-bottom:1px solid #1e2530;border-bottom:1px solid var(--border);font-size:13px;padding:11px 16px;vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr{cursor:pointer;transition:background .1s}.table tbody tr:hover{background:#161b22;background:var(--bg3)}.btn{align-items:center;border:none;border-radius:2px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.02em;padding:7px 14px;transition:all .15s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:#00d4ff;background:var(--red);box-shadow:0 0 0 #00d4ff00;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));color:#fff;transition:background .15s,box-shadow .2s}.btn-primary:hover{background:#00b8e0;box-shadow:0 4px 20px #00d4ff4d}.btn-ghost{background:#0000;border:1px solid #1e2530;border:1px solid var(--border);color:#6e7681;color:var(--muted)}.btn-ghost:hover{background:#161b22;background:var(--bg3);border-color:#2d3748;border-color:var(--border2);color:#e6edf3;color:var(--text)}.btn-sm{font-size:11px;padding:4px 10px}.btn svg{height:14px;width:14px}.input{background:#161b22;background:var(--bg3);border:1px solid #1e2530;border:1px solid var(--border);border-radius:2px;color:#e6edf3;color:var(--text);font-size:13px;outline:none;padding:8px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus{border-color:#00d4ff;border-color:var(--red);box-shadow:0 0 0 3px #00d4ff1a}.input::placeholder,.label{color:#6e7681;color:var(--muted)}.label{display:block;font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.12em;margin-bottom:6px;text-transform:uppercase}.form-group{margin-bottom:16px}.terminal{background:#000;border:1px solid #1e2530;border:1px solid var(--border);border-radius:3px;color:#00ff41;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.9;overflow-y:auto;padding:0;position:relative}.terminal:before{background:#0a0a0a;border-bottom:1px solid #1a1a1a;color:#333;content:"● ● ●";display:block;font-size:9px;letter-spacing:3px;padding:8px 14px;position:sticky;top:0;z-index:1}.terminal-body{overflow:hidden;padding:12px 16px;position:relative}.terminal-body:after{animation:scanline 3s linear infinite;background:linear-gradient(90deg,#0000,#00d4ff,#0000);background:linear-gradient(90deg,#0000,var(--primary),#0000);content:"";height:1px;left:0;opacity:.4;position:absolute;right:0;top:0}@keyframes scanline{0%{transform:translateY(0)}to{transform:translateY(500px)}}.terminal .dim{color:#2a2a2a}.terminal .err{color:#00d4ff;color:var(--red)}.terminal .warn{color:#ffb800;color:var(--amber)}.terminal .success{color:#00ff41;color:var(--green)}.terminal .info{color:#79c0ff;color:var(--blue)}.modal-overlay{align-items:center;animation:overlay-in .15s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{animation:modal-in .2s cubic-bezier(.34,1.56,.64,1);background:#0d1117;background:var(--bg2);border:1px solid #2d3748;border:1px solid var(--border2);border-radius:4px;box-shadow:0 24px 64px #0009;max-height:90vh;max-width:520px;overflow-y:auto;width:100%}@keyframes modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{align-items:center;border-bottom:1px solid #1e2530;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 24px}.modal-title{font-size:14px;font-weight:600}.modal-body{padding:24px}.modal-footer{border-top:1px solid #1e2530;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:14px 24px}.severity-bar{border-radius:2px;display:flex;gap:2px;height:4px;overflow:hidden}.severity-segment{border-radius:1px;height:100%}.progress-track{background:#161b22;background:var(--bg3);border-radius:2px;height:4px;overflow:hidden}.progress-fill{border-radius:2px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.empty-state{color:#6e7681;color:var(--muted);padding:60px 24px;text-align:center}.empty-state svg{height:36px;margin-bottom:12px;opacity:.25;width:36px}.empty-state p{font-size:13px}.tag{border:1px solid #1e2530;border:1px solid var(--border);border-radius:2px;color:#6e7681;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:10px;padding:1px 6px}.divider{background:#1e2530;background:var(--border);height:1px;margin:16px 0}.loading{align-items:center;color:#6e7681;color:var(--muted);display:flex;font-size:13px;gap:8px;justify-content:center;padding:40px}.spinner{animation:spin .6s linear infinite;border:2px solid #1e2530;border-top-color:#00d4ff;border:2px solid var(--border);border-radius:50%;border-top-color:var(--red);flex-shrink:0;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .6s linear infinite;display:block}.recharts-tooltip-wrapper .recharts-default-tooltip{background:#161b22!important;background:var(--bg3)!important;border:1px solid #2d3748!important;border:1px solid var(--border2)!important;border-radius:3px!important;box-shadow:0 8px 24px #0006!important}.recharts-cartesian-axis-tick-value{fill:#6e7681!important;fill:var(--muted)!important;font-size:11px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#1e2530!important;stroke:var(--border)!important}.mobile-menu-btn{display:none}@media (max-width:768px){.sidebar{bottom:0;box-shadow:8px 0 32px #0009;left:-240px;min-width:240px;position:fixed;top:0;transition:left .25s cubic-bezier(.4,0,.2,1);width:240px;z-index:300}.sidebar.mobile-open{left:0}.mobile-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000a6;display:none;inset:0;position:fixed;z-index:299}.mobile-backdrop.mobile-open{display:block}.mobile-menu-btn{align-items:center;background:#161b22;background:var(--bg3);border:1px solid #1e2530;border:1px solid var(--border);border-radius:3px;color:#6e7681;color:var(--muted);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.mobile-menu-btn:hover{border-color:#2d3748;border-color:var(--border2);color:#e6edf3;color:var(--text)}.layout{flex-direction:column}.main{min-width:0;width:100%}.topbar{gap:8px;padding:0 12px}.topbar-title{font-size:12px}.content{background-size:18px 18px;padding:12px}.stat-grid{gap:8px;grid-template-columns:1fr 1fr}.kpi-grid,.module-grid{gap:8px!important;grid-template-columns:1fr 1fr!important}.activity-grid{gap:8px!important;grid-template-columns:1fr!important}.card>.table,.table-scroll{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.table td,.table th{font-size:11px;padding:8px 10px;white-space:nowrap}.modal{margin:0 12px;max-width:95vw}.card-header{padding:10px 14px}.card-body{padding:14px}.btn-sm .btn-label{display:none}.stat-card{padding:14px}.stat-value{font-size:clamp(20px,6vw,28px)}}
/*# sourceMappingURL=main.a4ab4520.css.map*/