*{box-sizing:border-box;margin:0;padding:0}:root{--red:#f33;--yellow:#fa0;--green:#0f8;--bg:#080808;--bg2:#0f0f0f;--bg3:#141414;--border:#1e1e1e;--border2:#2a2a2a;--text:#c8c8c8;--text2:#666;--font:"JetBrains Mono", "Courier New", monospace}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text);font-family:var(--font);font-size:12px;overflow:hidden}.phoenix-shell{background:var(--bg);flex-direction:column;width:100vw;height:100vh;display:flex}.top-bar{background:var(--bg2);border-bottom:1px solid var(--border2);z-index:100;justify-content:space-between;align-items:center;height:40px;min-height:40px;padding:0 16px;display:flex}.top-bar-left{align-items:center;gap:12px;display:flex}.logo{color:var(--green);letter-spacing:2px;font-size:14px;font-weight:700}.version,.top-bar-center{color:var(--text2);letter-spacing:1px;font-size:10px}.mission-status{text-transform:uppercase}.top-bar-right{letter-spacing:1px;align-items:center;gap:20px;font-size:11px;font-weight:700;display:flex}.chain-status{font-size:10px}.risk-badge{font-size:13px;font-weight:700}.conn-dot{font-size:11px}.conn-live{color:var(--green);animation:2s infinite pulse}.conn-dead{color:var(--red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.panel-grid{background:var(--border);flex:1;grid-template-columns:1fr 1.6fr 1fr;gap:1px;display:grid;overflow:hidden}.panel{background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.panel-header{background:var(--bg2);border-bottom:1px solid var(--border2);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.panel-label{color:var(--green);letter-spacing:2px;font-size:11px;font-weight:700}.panel-sub{color:var(--text2);letter-spacing:1px;font-size:9px}.panel-content{color:var(--text2);flex:1;padding:12px;font-size:11px;overflow:hidden auto}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text2)}.sev-critical{color:var(--red)}.sev-high{color:var(--red);opacity:.8}.sev-medium{color:var(--yellow)}.sev-low{color:var(--text)}.sev-info{color:var(--text2)}.card{background:var(--bg2);border:1px solid var(--border2);border-radius:2px;margin-bottom:8px;padding:10px 12px}.card-title{color:var(--text2);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:9px}.card-value{font-size:24px;font-weight:700;line-height:1}.card-sub{color:var(--text2);margin-top:4px;font-size:9px}.event-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:80px 60px 90px 1fr;gap:8px;padding:4px 6px;font-size:10px;display:grid}.event-row:hover{background:var(--bg2)}.event-time{color:var(--text2)}.event-source{color:var(--text)}.event-rule{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-msg{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hash{color:var(--text2);word-break:break-all;font-size:9px;font-family:var(--font)}.hash-valid{color:var(--green)}.hash-invalid{color:var(--red)}.status-dot{border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.dot-green{background:var(--green)}.dot-yellow{background:var(--yellow)}.dot-red{background:var(--red)}.btn{border:1px solid var(--border2);color:var(--text);font-family:var(--font);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:0 0;padding:4px 10px;font-size:10px}.btn:hover{border-color:var(--green);color:var(--green)}.btn-red{border-color:var(--red);color:var(--red)}.btn-red:hover{background:var(--red);color:var(--bg)}.px-portal{--px-bg:#07090f;--px-bg-2:#0c1018;--px-bg-3:#111520;--px-border:#ffffff12;--px-text:#e8eaf0;--px-text-muted:#6b7385;--px-text-dim:#3d4455;--px-orange:#f50;--px-orange-dim:#ff55001f;--px-orange-glow:#ff550059;--px-cyan:#00d4ff;--px-red:#ff3b3b;--px-green:#0f8;--px-radius:8px;background:var(--px-bg);width:100%;height:100%;color:var(--px-text);-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif;position:fixed;inset:0;overflow:hidden}.px-portal *,.px-portal :before,.px-portal :after{box-sizing:border-box}.px-portal:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ff550006 1px,#0000 1px),linear-gradient(90deg,#ff550006 1px,#0000 1px);background-size:50px 50px;animation:20s linear infinite px-grid-drift;position:fixed;inset:0}@keyframes px-grid-drift{0%{background-position:0 0}to{background-position:50px 50px}}.px-portal:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#ff55000f 0%,#ff550005 40%,#0000 70%);width:700px;height:700px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.px-access-banner{border-bottom:1px solid var(--px-border);z-index:100;letter-spacing:.08em;background:#0b0f1a;justify-content:space-between;align-items:center;padding:6px 24px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex;position:fixed;top:0;left:0;right:0}.px-access-left{align-items:center;gap:16px;display:flex}.px-access-title{color:var(--px-orange);font-weight:500}.px-access-version{color:var(--px-text-dim)}.px-access-warning{color:var(--px-red);font-weight:500}.px-access-right{color:var(--px-text-dim)}.px-layout{z-index:1;grid-template-columns:1fr 1fr;height:100vh;padding-top:33px;display:grid;position:relative}.px-left{border-right:1px solid var(--px-border);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.px-left:before{content:"";pointer-events:none;background:radial-gradient(circle,#ff55000d 0%,#0000 60%);width:500px;height:500px;position:absolute;top:-200px;right:-200px}.px-brand{align-items:center;gap:12px;display:flex}.px-brand-icon{flex-shrink:0;width:38px;height:38px}.px-brand-name{letter-spacing:-.02em;font-family:Syne,sans-serif;font-size:20px;font-weight:800}.px-brand-name span{color:var(--px-orange)}.px-left-center{flex-direction:column;flex:1;justify-content:center;padding:48px 0;display:flex}.px-portal-tag{color:var(--px-orange);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--px-orange-dim);background:var(--px-orange-dim);border-radius:4px;align-items:center;gap:6px;width:fit-content;margin-bottom:24px;padding:4px 12px;font-family:JetBrains Mono,monospace;font-size:11px;display:inline-flex}.px-portal-tag:before{content:"";background:var(--px-orange);border-radius:50%;width:5px;height:5px;animation:2s infinite px-pulse-dot}@keyframes px-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.px-portal-headline{letter-spacing:-.03em;margin-bottom:16px;font-family:Syne,sans-serif;font-size:clamp(32px,3vw,46px);font-weight:800;line-height:1.08}.px-portal-headline span{color:var(--px-orange)}.px-portal-sub{color:var(--px-text-muted);max-width:380px;margin-bottom:40px;font-size:15px;line-height:1.7}.px-mini-feed{flex-direction:column;gap:8px;display:flex}.px-mini-feed-header{color:var(--px-text-dim);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.px-mini-feed-header:before{content:"";background:var(--px-red);border-radius:50%;width:5px;height:5px;animation:1.4s infinite px-pulse-dot}.px-mini-event{background:var(--px-bg-2);border:1px solid var(--px-border);border-radius:var(--px-radius);border-left:2px solid #0000;align-items:center;gap:10px;padding:9px 12px;font-family:JetBrains Mono,monospace;font-size:10.5px;animation:.5s px-fade-in;display:flex}.px-mini-event.high{border-left-color:var(--px-red)}.px-mini-event.medium{border-left-color:#ffb830}.px-mini-event.info{border-left-color:var(--px-cyan)}.px-mini-event.low{border-left-color:var(--px-green)}@keyframes px-fade-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.px-mini-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.px-mini-event.high .px-mini-dot{background:var(--px-red);box-shadow:0 0 5px var(--px-red)}.px-mini-event.medium .px-mini-dot{background:#ffb830}.px-mini-event.info .px-mini-dot{background:var(--px-cyan)}.px-mini-event.low .px-mini-dot{background:var(--px-green)}.px-mini-event-text{color:var(--px-text-muted);flex:1}.px-mini-event-time{color:var(--px-text-dim);font-size:9.5px}.px-left-footer{color:var(--px-text-dim);letter-spacing:.06em;flex-direction:column;gap:4px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.px-chain-ok{color:var(--px-green);align-items:center;gap:5px;display:flex}.px-chain-ok:before{content:"";background:var(--px-green);border-radius:50%;width:5px;height:5px}.px-right{flex-direction:column;justify-content:center;align-items:center;padding:48px;display:flex;position:relative}.px-login-box{width:100%;max-width:400px}.px-login-header{margin-bottom:36px}.px-login-title{color:var(--px-text);margin-bottom:6px;font-family:Syne,sans-serif;font-size:26px;font-weight:800}.px-login-sub{color:var(--px-text-muted);font-size:14px}.px-form-group{margin-bottom:18px}.px-form-label{color:var(--px-text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-family:JetBrains Mono,monospace;font-size:10px;display:block}.px-form-input-wrap{position:relative}.px-form-input{background:var(--px-bg-2);border:1px solid var(--px-border);border-radius:var(--px-radius);width:100%;color:var(--px-text);outline:none;padding:13px 16px 13px 44px;font-family:DM Sans,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.px-form-input::placeholder{color:var(--px-text-dim)}.px-form-input:focus{border-color:var(--px-orange);box-shadow:0 0 0 3px #ff55001a}.px-input-icon{color:var(--px-text-dim);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.px-password-toggle{color:var(--px-text-dim);cursor:pointer;background:0 0;border:none;padding:2px;transition:color .2s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.px-password-toggle:hover{color:var(--px-text-muted)}.px-form-row-inline{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.px-remember-me{cursor:pointer;align-items:center;gap:8px;display:flex}.px-remember-me input[type=checkbox]{width:15px;height:15px;accent-color:var(--px-orange);cursor:pointer}.px-remember-me span{color:var(--px-text-muted);font-size:13px}.px-forgot-link{color:var(--px-orange);font-size:13px;text-decoration:none;transition:opacity .2s}.px-forgot-link:hover{opacity:.75}.px-btn-login{background:var(--px-orange);color:#fff;border-radius:var(--px-radius);cursor:pointer;width:100%;box-shadow:0 0 28px var(--px-orange-glow);letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:8px;padding:14px;font-family:Syne,sans-serif;font-size:15px;font-weight:700;transition:all .2s;display:flex}.px-btn-login:hover:not(:disabled){box-shadow:0 0 40px var(--px-orange-glow);background:#ff6a1a;transform:translateY(-1px)}.px-btn-login:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes px-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.px-login-divider{background:var(--px-border);height:1px;margin:28px 0}.px-security-badges{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.px-sec-badge{color:var(--px-text-dim);letter-spacing:.06em;align-items:center;gap:5px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.px-sec-badge svg{color:var(--px-green)}.px-form-error{border-radius:var(--px-radius);color:var(--px-red);background:#ff3b3b1a;border:1px solid #ff3b3b33;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:none}.px-form-error.show{display:flex}.px-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite px-spin}@keyframes px-spin{to{transform:rotate(360deg)}}.px-back-link{color:var(--px-text-dim);z-index:10;letter-spacing:.06em;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:11px;text-decoration:none;transition:color .2s;display:flex;position:fixed;bottom:28px;left:48px}.px-back-link:hover{color:var(--px-text-muted)}@media (width<=768px){.px-layout{grid-template-columns:1fr;overflow:auto}.px-left{display:none}.px-right{justify-content:flex-start;padding:80px 24px 32px}.px-login-box{max-width:100%}}
