:root{--bg: #000000;--panel: #0b0b0c;--panel-2: #151517;--graphite: #1e1e21;--border: #232326;--text: #f2f2f2;--muted: #8a8a90;--ok: #3ddc84;--warn: #f5a623;--crit: #ff2a2a;--accent: #e10600;--accent-2: #ff2a2a;--accent-glow: rgba(255, 30, 30, .45);--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 8px;font-weight:600}h1{font-size:20px;letter-spacing:.01em}h2{font-size:16px}h3{font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100%}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;gap:6px}.brand{display:flex;align-items:center;margin:2px 0 16px 4px}.brand img{height:26px;width:auto;display:block;filter:drop-shadow(0 0 6px var(--accent-glow))}.nav a{display:block;padding:8px 10px;border-radius:6px;color:var(--text);border-left:2px solid transparent}.nav a:hover{background:var(--panel-2);text-decoration:none}.nav a.active{background:var(--panel-2);border-left-color:var(--accent);text-decoration:none}.sidebar .spacer{flex:1}.sidebar .me{font-size:12px;color:var(--muted);word-break:break-all}.main{padding:22px 26px;max-width:1300px}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1000px){.grid.cols-2,.grid.cols-3,.grid.cols-4,.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center}.brand{margin:0 10px 0 0}}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.card.tight{padding:10px 12px}.card header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;gap:8px}.kpi{display:flex;flex-direction:column;gap:2px}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.kpi .sub{color:var(--muted);font-size:12px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;color:#000}.badge.OK{background:var(--ok)}.badge.VARNING{background:var(--warn)}.badge.STOPPAD{background:var(--crit);color:#fff}.badge.neutral{background:var(--graphite);color:var(--muted);font-weight:500}.badge.open{background:var(--accent);color:#fff}.badge.accepted{background:#f2f2f2;color:#000}.badge.applied{background:var(--ok)}.badge.rejected{background:var(--graphite);color:var(--muted)}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:12px}.small{font-size:12px}.pos{color:var(--ok)}.neg{color:var(--crit)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:500;font-size:12px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:hover td{background:#ffffff06}button,.btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 12px;font-weight:600;cursor:pointer;font-size:13px;letter-spacing:.01em}button:hover{background:var(--accent-2);box-shadow:0 0 14px var(--accent-glow)}button:disabled{opacity:.5;cursor:default;box-shadow:none}button.secondary{background:var(--graphite);color:var(--text);border:1px solid var(--border)}button.secondary:hover{background:var(--panel-2);box-shadow:none}button.danger{background:transparent;color:var(--crit);border:1px solid var(--crit)}button.small{padding:4px 8px;font-size:12px}input,select,textarea{background:#000;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #e1060040}textarea{font-family:var(--mono);min-height:120px}label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.field{margin-bottom:10px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>*{flex:1}.row.end{justify-content:flex-end}.row.end>*{flex:0}.finding{padding:6px 10px;border-left:3px solid var(--border);margin:6px 0;background:var(--panel-2);border-radius:0 6px 6px 0}.finding.warning{border-color:var(--warn)}.finding.critical{border-color:var(--crit)}.finding.info{border-color:#5a5a60}.alert{padding:10px 12px;border-radius:6px;margin-bottom:10px}.alert.error{background:#ff2a2a1f;border:1px solid var(--crit)}.alert.ok{background:#3ddc841a;border:1px solid var(--ok)}.alert.info{background:var(--panel-2);border:1px solid var(--border)}.login{min-height:100%;display:grid;place-items:center;padding:20px;position:relative;overflow:hidden;background:#000}.login:before,.login:after{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;pointer-events:none;background-image:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.55) 50%,transparent 51%),radial-gradient(1px 1px at 78% 32%,rgba(255,255,255,.4) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 40% 70%,rgba(255,255,255,.5) 50%,transparent 51%),radial-gradient(1px 1px at 88% 82%,rgba(255,255,255,.35) 50%,transparent 51%),radial-gradient(1px 1px at 25% 88%,rgba(255,255,255,.45) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 60% 12%,rgba(255,90,90,.5) 50%,transparent 51%),radial-gradient(1px 1px at 5% 55%,rgba(255,255,255,.3) 50%,transparent 51%),radial-gradient(1px 1px at 95% 8%,rgba(255,255,255,.4) 50%,transparent 51%),radial-gradient(1px 1px at 50% 45%,rgba(255,255,255,.25) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 70% 92%,rgba(255,80,80,.4) 50%,transparent 51%);background-size:600px 600px;animation:drift 120s linear infinite;opacity:.8}.login:after{background-size:900px 900px;animation-duration:200s;animation-direction:reverse;opacity:.5}@keyframes drift{0%{transform:translateZ(0)}to{transform:translate3d(-600px,-600px,0)}}.login-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:28px;width:100%}.login-logo{perspective:900px;width:min(420px,80vw)}.login-logo img{width:100%;height:auto;display:block;transform-style:preserve-3d;animation:orbit 14s ease-in-out infinite,pulse 3.2s ease-in-out infinite;filter:drop-shadow(0 0 18px var(--accent-glow))}@keyframes orbit{0%{transform:rotateY(-14deg) rotateX(4deg) translateY(0)}50%{transform:rotateY(14deg) rotateX(-4deg) translateY(-8px)}to{transform:rotateY(-14deg) rotateX(4deg) translateY(0)}}@keyframes pulse{0%,to{filter:drop-shadow(0 0 14px rgba(255,30,30,.35))}50%{filter:drop-shadow(0 0 34px rgba(255,30,30,.75))}}.login .card{width:360px;max-width:100%;background:#080809d9;border:1px solid var(--border);box-shadow:0 0 0 1px #ff1e1e14,0 30px 80px #000c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(prefers-reduced-motion:reduce){.login:before,.login:after,.login-logo img{animation:none}}.logline{font-family:var(--mono);font-size:12px;padding:3px 6px;border-bottom:1px solid var(--border);white-space:pre-wrap;word-break:break-all}.logline .k{display:inline-block;min-width:110px;color:var(--muted)}.logline.OPEN .k,.logline.CLOSE .k{color:var(--text)}.logline.INSTANCE_ABORT .k,.logline.ORDER_FAILED .k,.logline.LOSS_PAUSE .k{color:var(--crit)}.logline.SKIP .k{color:var(--warn)}.chart{width:100%;height:auto;display:block}.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{background:var(--graphite);color:var(--text);border:1px solid var(--border)}.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}code{font-family:var(--mono);background:var(--panel-2);padding:1px 5px;border-radius:4px;font-size:12px}pre{font-family:var(--mono);font-size:12px;background:#000;padding:10px;border-radius:6px;overflow:auto;border:1px solid var(--border)}hr{border:none;border-top:1px solid var(--border);margin:14px 0}
