
:root{--bg:#eef6f2;--panel:#ffffff;--p2:#f3f8f5;--line:#d5e3dc;--txt:#0f1f17;--mut:#4d5f57;--g:#0f8a4a;--gd:#0b6b39;--neon:#2ee67a;--cy:#0b84c6;--warn:#b26b00;--bad:#d33a3a;--pu:#6d4bd8;--shadow:0 1px 2px #0f3d2614,0 4px 14px #0f3d260f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.55 system-ui,Segoe UI,Roboto,sans-serif;display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.mono,code,td.m{font-family:ui-monospace,Consolas,monospace}code{color:var(--g)}
aside.lab-nav{background:var(--panel);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh}
.logo{font:800 19px ui-monospace,Consolas,monospace;color:var(--g);margin:0 6px 16px}.logo small{display:block;color:var(--mut);font:500 12px system-ui;letter-spacing:.08em;text-transform:uppercase}
aside.lab-nav button.nav{display:flex;gap:10px;align-items:center;background:transparent;border:1px solid transparent;color:var(--mut);padding:10px 12px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;text-align:left}
aside.lab-nav button.nav:hover{background:var(--p2);color:var(--txt)}aside.lab-nav button.nav.on{background:#e3f5ea;color:var(--g);border-color:var(--gd)}
.cnt{margin-left:auto;background:var(--g);color:#ffffff;border-radius:99px;padding:0 8px;font-size:12px;font-weight:800}
.player{margin-top:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}
.lvl{display:flex;align-items:center;gap:10px}.lvl b{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--g),var(--cy));color:#ffffff;font:800 18px ui-monospace,Consolas,monospace}
.xpbar{height:10px;background:#e3ece7;border-radius:6px;overflow:hidden;margin:8px 0 4px}.xpbar i{display:block;height:100%;background:linear-gradient(90deg,var(--g),var(--cy));transition:width .6s}
.small{font-size:13px;color:var(--mut)}main{padding:22px 30px 60px;max-width:none;width:100%}body.siem-notes-open main{max-width:1200px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin:14px 0}
h2{font-size:18px;margin:0 0 12px;color:var(--g)}h3{font-size:16px;margin:16px 0 8px}.mut{color:var(--mut)}
.tag{display:inline-block;padding:2px 10px;border-radius:99px;background:#eaf1ed;margin:2px 6px 2px 0;font-size:13px}.hi{background:#fff1d6;color:var(--warn)}.ok{background:#ddf5e6;color:var(--g)}.badt{background:#fde7e7;color:var(--bad)}.pu{background:#efe8ff;color:var(--pu)}.prog{background:#e3efff;color:#1f5fbf}
.pinpop{position:fixed;z-index:1200;width:330px;max-height:60vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.2);padding:6px}
.pinpop .pph{padding:6px 8px 8px;font-size:13px;border-bottom:1px solid var(--line);margin-bottom:4px}
.ppr{display:flex;gap:9px;align-items:flex-start;width:100%;margin:0;text-align:left;background:none;border:0;border-radius:8px;padding:7px 8px;cursor:pointer;color:var(--txt);font:inherit;box-shadow:none}
.ppr:hover{background:var(--p2)}.ppr.on{background:#e3f5ea}.ppc{flex:none;width:18px;height:18px;margin-top:1px;border:1.5px solid var(--line);border-radius:5px;display:grid;place-items:center;font-size:12px;line-height:1;color:#fff}
.ppr.on .ppc{background:var(--g);border-color:var(--g)}.ppt{display:flex;flex-wrap:wrap;gap:2px 4px;align-items:center;min-width:0}.ppt .tag{margin:0;font-size:11px;padding:1px 7px}
.ppt .small{flex-basis:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn.s.pinned{background:var(--g);color:#fff}
.pph2{display:flex;justify-content:space-between;align-items:center;gap:10px}.pph2 h2{margin:0}#pinpanel table,#actpanel table{margin-top:10px}
/* pinned evidence = the SIEM List view, same dark Splunk look as #siem.splk */
#pinpanel .pinev{margin-top:12px;background:#171d21;border:1px solid #3c444d;border-radius:12px;color:#c3cbd4;font-size:13px}#pinpanel .pinev>table{margin:0;width:100%;border-collapse:collapse}
#pinpanel .pinev th{color:#818d99;font-weight:600;font-size:12px;text-align:left;padding:8px;border-bottom:1px solid #3c444d;background:#0b0c0e}#pinpanel .pinev td{padding:8px;border-bottom:1px solid #2a3036;vertical-align:top;color:#c3cbd4}
#pinpanel .pinev tr:last-child>td{border-bottom:0}#pinpanel .pinev td.exc,#pinpanel .pinev th.exc{width:18px;padding:8px 2px;text-align:center}#pinpanel .pinev td.tcol{white-space:nowrap;width:96px;font-size:12px}
#pinpanel .pinev .ex{background:none;border:0;color:#818d99;cursor:pointer;font-size:15px;padding:0 4px;transition:transform .12s;box-shadow:none}#pinpanel .pinev tr.open .ex{transform:rotate(90deg);color:#fff}
#pinpanel .pinev .evmsg{color:#e6edf3;word-break:break-word}#pinpanel .pinev .evp{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 10px}
#pinpanel .pinev .pill{font:12px ui-monospace,Consolas,monospace;color:#8fb8de}#pinpanel .pinev .small{color:#818d99}#pinpanel .pinev .pid{margin-top:4px}
#pinpanel .pinev .evd{margin:8px 0 2px;width:auto;min-width:60%;border:1px solid #3c444d;border-collapse:collapse}#pinpanel .pinev .evd th,#pinpanel .pinev .evd td{padding:3px 8px;border-bottom:1px solid #2a3036;background:none;font:12px ui-monospace,Consolas,monospace}
#pinpanel .pinev .evd.hidden{display:none}#pinpanel .pinev .btn.s{background:transparent;color:#c3cbd4;border:1px solid #3c444d;box-shadow:none}#pinpanel .pinev .btn.s:hover{border-color:#818d99}.tscroll{overflow-x:auto}
.actwarn{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fff4dc;border:1px solid #f3cf86;color:#7a4b00}.actwarn.ok{background:#e3f5ea;border-color:#9fd9b6;color:var(--gd)}
.tag.w{background:#fff4dc;color:var(--warn)}.qhelp{margin-top:3px}.qhelp .tag{font-size:11px;padding:0 7px}body.dark .tag.w{background:rgba(245,184,61,.14)}
.hint.pmode{background:#f2edff;border-color:#cbbcf5;color:#4b2fa8}.sol ul{margin:6px 0 8px;padding-left:18px}.sol li{margin:4px 0}
.actlist{margin:10px 0 0;padding-left:4px;list-style:none}.actlist li{margin:4px 0}.lv1{background:#ddf5e6;color:var(--g)}.lv2{background:#e3ecff;color:#2f5bb7}.lv3{background:#fde7e7;color:var(--bad);font-weight:600}
    .hero{background:radial-gradient(700px 260px at 90% -20%,#2ee67a66 0,transparent 60%),linear-gradient(135deg,#0b6b39,#0f8a4a 55%,#13a35b);border:1px solid var(--gd);border-radius:18px;padding:34px 34px 28px;position:relative;overflow:hidden}
.hero .kicker{font:700 13px ui-monospace,Consolas,monospace;color:var(--g);letter-spacing:.15em}.hero h1{font-size:40px;line-height:1.15;margin:10px 0 12px;max-width:760px}.hero h1 em{font-style:normal;color:var(--g)}
.hero p{font-size:18px;color:#c9d3dc;max-width:680px;margin:0 0 22px}.alert{display:inline-flex;gap:8px;align-items:center;background:#fde7e7;color:#c22a2a;border-radius:99px;padding:4px 14px;font-weight:700;font-size:14px;margin-bottom:6px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--bad);animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.25}}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:14px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.stat b{display:block;font:800 28px ui-monospace,Consolas,monospace;color:var(--g)}.stat span{color:var(--mut);font-size:14px}
.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}@media(max-width:1000px){.grid2{grid-template-columns:1fr}}
.steps3{display:flex;flex-direction:column;gap:10px}.step{display:flex;gap:14px;align-items:center;background:var(--p2);border-radius:12px;padding:12px 16px;font-size:15px;line-height:1.45}.step .n{flex:0 0 40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#e3f5ea;color:var(--g);font:800 16px ui-monospace,Consolas,monospace}.step b{color:var(--txt)}
.badges{display:flex;flex-wrap:wrap;gap:10px}.badge{display:flex;gap:10px;align-items:center;background:var(--p2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:200px}.badge.lock{opacity:.45;filter:grayscale(1)}.badge .ic{font-size:22px}
dl{display:grid;grid-template-columns:190px 1fr;gap:6px 14px;margin:0}dt{color:var(--mut)}
input,select,textarea{width:100%;background:#ffffff;color:var(--txt);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:15px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gd);border-color:var(--g)}label{display:block;margin:14px 0 6px;font-weight:600}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--mut);font-weight:600}
tr.pin{background:#e6f7ec}tr.click{cursor:pointer}tr.click:hover{background:#f0f7f3}tr.me{background:#e6f7ec}
.btn{background:var(--g);color:#ffffff;border:0;padding:11px 22px;border-radius:10px;font-weight:800;cursor:pointer;font-size:15px}.btn.big{font-size:17px;padding:14px 28px}
.btn:hover{filter:brightness(1.1)}.btn.s{background:transparent;color:var(--g);border:1px solid var(--g);padding:5px 12px;font-size:13px}.btn.g{background:transparent;color:var(--txt);border:1px solid var(--line)}
.btn.w{background:transparent;color:var(--warn);border:1px solid var(--warn)}.btn.r{background:transparent;color:var(--bad);border:1px solid var(--bad)}
.score{font:800 40px ui-monospace,Consolas,monospace}.pass{color:var(--g)}.fail{color:var(--bad)}.warnc{color:var(--warn)}
.bar{height:10px;background:#eaf1ed;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:var(--g)}
.hidden{display:none!important}.sub{display:flex;border-bottom:1px solid var(--line);margin-bottom:6px}.sub button{background:transparent;color:var(--mut);border:0;border-bottom:2px solid transparent;padding:10px 16px;cursor:pointer;font-size:15px;font-weight:700}.sub button.on{color:var(--g);border-color:var(--g)}
.hint{background:#fff6e0;border:1px solid #f0d48a;border-radius:10px;padding:12px 14px;margin:8px 0;color:#6b4a00}.sol{background:#f2edff;border:1px solid #cbbcf5;border-radius:10px;padding:14px 18px;margin-top:10px}.sol li{margin:6px 0}
.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;z-index:9}.toast{background:var(--panel);border:1px solid var(--g);border-radius:12px;padding:12px 16px;box-shadow:0 8px 28px #0f3d2626;max-width:340px;cursor:pointer;animation:pop .3s}
@keyframes pop{from{transform:translateY(12px);opacity:0}}.new{color:#ffffff;background:var(--g);border-radius:6px;font-weight:800;font-size:11px;padding:1px 6px;margin-left:6px}
.verdict{border-radius:14px;padding:18px 22px;margin-top:14px;border:1px solid}.v-malicious{background:#fdeaea;border-color:#f2b5b5}.v-suspicious{background:#fff6e0;border-color:#f0d48a}.v-clean{background:#e6f7ec;border-color:#a8dcbc}.v-internal,.v-unknown{background:var(--p2);border-color:var(--line)}
.verdict .big{font:800 28px ui-monospace,Consolas,monospace;text-transform:uppercase}.ticker{font-family:ui-monospace,Consolas,monospace;font-size:14px}.ticker div{padding:6px 0;border-bottom:1px dashed var(--line)}
.modal{position:fixed;inset:0;background:#0f2a1f66;display:grid;place-items:center;z-index:20;backdrop-filter:blur(3px)}
.mbox{background:var(--panel);border:1px solid var(--line);border-radius:20px;width:min(640px,92vw);padding:26px 28px;box-shadow:0 20px 60px #0f3d2633}
.float{animation:fl 2.4s ease-in-out infinite}@keyframes fl{50%{transform:translateY(-8px)}}.spin{transform-origin:center;animation:sp 6s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.mfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}.chk{display:flex;gap:8px;align-items:center;margin:0;font-weight:500;color:var(--mut);cursor:pointer}.chk input{width:18px;height:18px;accent-color:var(--g)}
.spin2{display:inline-block;width:16px;height:16px;border:2px solid #d5e3dc;border-top-color:var(--g);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-3px;margin-right:8px}
#intro{position:fixed;inset:0;z-index:30;background:#2f3b8f;display:flex;flex-direction:column;transition:background .6s}
#intro .scenes{flex:1;position:relative}#intro .beat{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 24px 10px;opacity:0;pointer-events:none;transform:translateX(40px) scale(.98);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.8,.2,1)}#intro .beat.past{transform:translateX(-40px) scale(.98)}
#intro .beat.on{opacity:1;pointer-events:auto;transform:none}#intro svg{width:min(640px,90vw);max-height:52vh}#intro h2{font-size:clamp(24px,3.4vw,38px);color:#fff;text-align:center;margin:18px 0 8px;max-width:900px}#intro h2 em{font-style:normal;color:#ffd166}
#intro p{font-size:clamp(16px,1.6vw,20px);color:#dbe2ff;text-align:center;max-width:720px;margin:0}#skip{position:absolute;top:18px;right:20px;z-index:2;color:#fff;border-color:#fff5}
.introbar{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px 16px 26px}.introbar .btn.g{color:#fff;border-color:#fff5}
.dots{display:flex;gap:8px}.dots i{width:11px;height:11px;border-radius:50%;background:#ffffff40;cursor:pointer;transition:all .3s}.dots i.on{background:#ffd166;width:32px;border-radius:6px}
.endctl{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:22px}.endctl .chk{color:#dbe2ff}
.beat.on .pop{animation:popin .5s both cubic-bezier(.3,1.6,.6,1)}@keyframes popin{from{transform:scale(0);opacity:0}}.beat .pop{transform-box:fill-box;transform-origin:center}
.beat.on .drop{animation:dropin .6s both cubic-bezier(.3,1.4,.6,1)}@keyframes dropin{from{transform:translateY(-60px);opacity:0}}
.beat.on .slideL{animation:slin .7s .5s both}@keyframes slin{from{transform:translateX(60px);opacity:0}}
.fore{transform-box:view-box;transform-origin:0 0}.beat.on .fore{animation:wave .9s .5s ease-in-out infinite alternate}@keyframes wave{from{transform:rotate(-14deg)}to{transform:rotate(22deg)}}
.beat.on .scan{animation:scan 2.2s ease-in-out infinite alternate}@keyframes scan{from{transform:translate(-210px,-110px)}to{transform:translate(0,0)}}
.beat.on .link{stroke-dashoffset:200;animation:draw 1s .5s forwards}@keyframes draw{to{stroke-dashoffset:0}}
.beat.on .spinS{transform-origin:300px 170px;animation:sp 5s linear infinite}.beat.on .grow{transform-origin:50% 100%;transform-box:fill-box;animation:grow .7s both}@keyframes grow{from{transform:scaleY(0)}}
.beat.on .type{animation:typ 1s steps(13) both}@keyframes typ{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){#intro *{animation:none!important;transition:none!important}}

#intro{transition:background .7s ease,opacity .55s ease}#intro.fadeout{opacity:0;pointer-events:none}body.twj-auth #intro{visibility:hidden}
body.appin main,body.appin aside.lab-nav{animation:appin .6s ease both}@keyframes appin{from{opacity:0;transform:scale(.985)}}
.beat.on .drawA{stroke-dashoffset:140;animation:draw .7s .7s forwards}.beat.on .bob{animation:bob 2.6s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-6px)}}
.beat.on .blink{transform-box:fill-box;transform-origin:center;animation:blink 3.2s infinite}@keyframes blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
/* live app ambience */
main section:not(.hidden){animation:fadeup .35s ease both}@keyframes fadeup{from{opacity:0;transform:translateY(8px)}}
.card,.stat,.badge,.step{transition:transform .18s ease,box-shadow .18s ease,border-color .18s}.card:hover,.stat:hover,.badge:hover,.step:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f3d261f;border-color:#9fd1b4}
.stat{animation:fadeup .45s ease both}.stat:nth-child(2){animation-delay:.05s}.stat:nth-child(3){animation-delay:.1s}.stat:nth-child(4){animation-delay:.15s}.stat:nth-child(5){animation-delay:.2s}.stat:nth-child(6){animation-delay:.25s}
.bar i,.xpbar i{transform-origin:left;animation:barin .9s cubic-bezier(.2,.8,.2,1) both}@keyframes barin{from{transform:scaleX(0)}}
tbody tr{animation:fadeup .3s ease both}#tb tr{animation:none}#tb.fresh tr{animation:fadeup .3s ease both}.ticker div.fresh{animation:tick .6s ease both;background:#e6f7ec}@keyframes tick{from{opacity:0;transform:translateX(-16px)}}
.toast{animation:slidein .4s cubic-bezier(.2,.9,.3,1.2)}@keyframes slidein{from{transform:translateX(120%);opacity:0}}
.hero{background-size:140% 140%;animation:heroglow 12s ease-in-out infinite alternate}@keyframes heroglow{to{background-position:30% 20%}}
#onum{display:inline-block;transition:transform .3s}#onum.bump{transform:scale(1.25)}
.btn{transition:transform .12s ease,filter .15s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px) scale(.98)}
aside.lab-nav button.nav{transition:background .15s,color .15s,transform .15s}aside.lab-nav button.nav:hover{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.card,.stat,.badge{box-shadow:var(--shadow)}aside.lab-nav{box-shadow:1px 0 0 var(--line)}aside.lab-nav button.nav.on{color:var(--gd)}
.hero{border:0;color:#fff;box-shadow:0 10px 30px #0b6b3940}.hero h1{color:#fff}.hero h1 em{color:#b9ffd4}.hero p{color:#e4fbed}.hero .kicker{color:#b9ffd4}
.hero .alert{background:#ffffff;color:#c22a2a}.hero .btn{background:#fff;color:var(--gd)}.hero .btn.g{background:transparent;color:#fff;border:1px solid #ffffffaa}
.logo{color:var(--gd)}.dot{background:var(--bad)}#online .dot{background:var(--neon)!important;box-shadow:0 0 0 3px #2ee67a33}
.xpbar i{background:linear-gradient(90deg,var(--neon),var(--cy))}.lvl b{background:linear-gradient(135deg,var(--g),var(--cy))}.score.pass{color:var(--g)}
.stat b{color:var(--gd)}.cnt{background:var(--neon);color:#073b1f}.new{background:var(--neon);color:#073b1f}
input,select,textarea{background:#fff}input:focus,select:focus,textarea:focus{outline-color:#2ee67a88}
.verdict .big.fail{color:var(--bad)}.hint{color:#6b4a00}.toast{background:#fff;color:var(--txt)}
.ticker div.fresh{background:#e6f7ec}tr.pin td{background:#e6f7ec}
a{color:var(--cy);font-weight:600}a:hover{color:var(--gd)}

/* DARK MODE (Account > Theme) */
body.dark{--bg:#0e1613;--panel:#16211c;--p2:#1c2a23;--line:#2b3b34;--txt:#e8f1ec;--mut:#a3b6ac;--g:#34d27a;--gd:#5be59a;--neon:#2ee67a;--cy:#5cc8ff;--warn:#f5b83d;--bad:#ff7070;--pu:#b48cff;--shadow:0 1px 2px #0007,0 4px 14px #0005}
body.dark .btn{color:#06210f}body.dark .btn.g,body.dark .btn.s,body.dark .btn.w,body.dark .btn.r{color:var(--txt);background:transparent}body.dark .btn.s{color:var(--g)}body.dark .btn.w{color:var(--warn)}body.dark .btn.r{color:var(--bad)}
body.dark #solyes{color:#fff}body.dark :is(input,select,textarea):where(:not(#siem *,.az-portal *,.aws-console *,.cs-console *,.def-portal *,.ad-console *,.fw-console *,.soar-console *)){background:#0f1814}
body.dark .tag{background:#24332c}body.dark .hi{background:#3a2a0a}body.dark .ok{background:#123a24}body.dark .badt{background:#3a1515}body.dark .pu{background:#2a1f45}body.dark .prog{background:#16294a;color:#9dc2ff}body.dark .ppr.on{background:#123a24}body.dark .actwarn{background:#3a2a0a;border-color:#6b4b10;color:#ffd58a}body.dark .actwarn.ok{background:#123a24;border-color:#1f6b40;color:#9fe3b8}body.dark .lv1{background:#123a24}body.dark .lv2{background:#1a2a4a;color:#9db8ff}body.dark .lv3{background:#3a1515}
body.dark .bar,body.dark .xpbar{background:#24332c}body.dark aside.lab-nav button.nav.on{background:#123a24}body.dark .step .n{background:#123a24}
body.dark tr.click:hover{background:#1f2e27}body.dark tr.pin td,body.dark tr.me,body.dark .ticker div.fresh{background:#143022}
body.dark .hint{background:#2e250f;border-color:#5b4a1a;color:#ffe2a3}body.dark .sol{background:#1f1834;border-color:#4a3a78}
body.dark .v-malicious{background:#2c1414;border-color:#7a2a2a}body.dark .v-suspicious{background:#2e250f;border-color:#6b5520}body.dark .v-clean{background:#112a1d;border-color:#22603c}
body.dark .toast{background:var(--panel)}body.dark .modal{background:#000a}body.dark .cnt,body.dark .new{color:#06210f}
body.dark .card:hover,body.dark .stat:hover,body.dark .badge:hover{border-color:#3d5a4c}
.qbar{display:flex;gap:8px;align-items:center;background:var(--p2);border:1px solid var(--line);border-radius:12px;padding:8px}.qbar .prompt{color:var(--g);font-weight:800;padding:0 4px}
.qbar input{flex:1;border:0;background:transparent;font-size:15px;padding:8px 4px}.qbar input:focus{outline:none}.qbar select{width:auto;padding:8px}
.siemgrid{display:grid;grid-template-columns:250px 1fr;gap:14px;align-items:start}@media(max-width:900px){.siemgrid{grid-template-columns:1fr}}
.fieldsp{position:sticky;top:12px;max-height:80vh;overflow:auto;padding:16px}.fld{border-bottom:1px solid var(--line);padding:6px 0}.fld summary{display:flex;justify-content:space-between;cursor:pointer;font-weight:600;padding:4px 2px}
.fv{position:relative;display:flex;justify-content:space-between;gap:6px;padding:5px 8px;margin:3px 0;border-radius:6px;cursor:pointer;font-size:13px;overflow:hidden}.fv:hover{background:var(--p2)}
.fv i{position:absolute;left:0;bottom:0;height:2px;background:var(--g);opacity:.6}.fv span{position:relative}
.qhelp{margin-top:12px;background:var(--p2);border:1px solid var(--line);border-radius:10px;padding:12px 16px}.qhelp td{padding:6px 8px}
#chatb{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;border:0;background:var(--g);color:#fff;font-size:26px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.22);z-index:900;transition:transform .2s}#chatb:hover{transform:scale(1.07)}
.cdot{position:absolute;top:6px;right:6px;width:12px;height:12px;border-radius:50%;background:var(--neon);border:2px solid var(--panel)}
#chatp{position:fixed;right:22px;bottom:92px;width:340px;max-width:calc(100vw - 30px);height:460px;max-height:70vh;background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden;z-index:901;animation:cpop .2s ease-out}
#chatp.hidden{display:none}@keyframes cpop{from{opacity:0;transform:translateY(12px)}}
.chead{display:flex;gap:10px;align-items:center;padding:12px 14px;background:var(--g);color:#fff}.chead .small{color:#e6fff0}.chead button{margin-left:auto;background:none;border:0;color:#fff;font-size:16px;cursor:pointer}
.cav{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center}
#cmsgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--p2)}
.cm{max-width:82%;padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.4;white-space:pre-wrap}.cm.bot{background:var(--panel);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}.cm.me{background:var(--g);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.typing span{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:var(--mut);animation:tb 1s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes tb{50%{transform:translateY(-4px);opacity:.4}}
.cquick{display:flex;gap:6px;flex-wrap:wrap;padding:6px 10px;border-top:1px solid var(--line)}.cquick a{font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--g)}
#cform{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line)}#cform input{flex:1}
#mbar,#scrim{display:none}.chbtn{background:none;border:0;color:#fff;font-size:17px;cursor:pointer;min-width:40px;min-height:40px;border-radius:8px}.chbtn:hover{background:rgba(255,255,255,.15)}.chead button#chatx{margin-left:0}#ccases{margin-left:auto}
#ccase{padding:10px 12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;background:var(--panel)}#ccase.hidden{display:none}#ccase textarea{resize:vertical;font:inherit}.btn.ghost{background:transparent;color:var(--txt);border:1px solid var(--line)}
.caserow{padding:10px 0;border-bottom:1px solid var(--line)}
@media(max-width:820px){
 body{display:block;font-size:16px}
 #mbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:800;background:var(--panel);border-bottom:1px solid var(--line);padding:calc(6px + env(safe-area-inset-top)) 12px 6px;min-height:56px}
 #mbar b{color:var(--g);font-size:16px}#mxp{margin-left:auto}
 #hamb{min-width:44px;min-height:44px;font-size:22px;border:1px solid var(--line);border-radius:10px;background:var(--p2);color:var(--txt);cursor:pointer}
 aside.lab-nav{position:fixed;left:0;top:0;bottom:0;width:min(82vw,300px);height:100%;z-index:850;transform:translateX(-105%);transition:transform .25s ease;overflow-y:auto;padding-top:calc(18px + env(safe-area-inset-top))}
 body.navopen aside.lab-nav{transform:none;box-shadow:8px 0 30px rgba(0,0,0,.25)}
 body.navopen #scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:840}
 aside.lab-nav button.nav{min-height:48px;font-size:16px}
 main{padding:14px 14px 96px;max-width:100%}
 h1{font-size:28px!important;line-height:1.2}h2{font-size:21px}h3{font-size:18px}
 .card{padding:16px}.small{font-size:14px}
 input,select,textarea{font-size:16px!important}
 .btn,button.btn{min-height:44px}.btn.s{min-height:44px;padding:10px 14px}
 .siemgrid{grid-template-columns:1fr}.fieldsp{position:static;max-height:240px}
 .qbar{flex-wrap:wrap}.qbar input{flex:1 1 100%;min-height:44px}.qbar select{flex:1}.qbar .prompt{display:none}
 .qtry{display:flex;gap:8px;overflow-x:auto;font-size:0!important;padding-bottom:4px;-webkit-overflow-scrolling:touch}.qtry .qx{flex:0 0 auto;font-size:14px;white-space:nowrap;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:10px 14px!important;line-height:1.2!important;background:var(--p2)}
 .toasts{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom))}.toast{max-width:none}.qtry .qx{min-height:44px;display:inline-flex;align-items:center}
 table{font-size:14px}td,th{padding:8px 10px}
 .grid2,.grid3{grid-template-columns:1fr!important}.stats{grid-template-columns:repeat(2,1fr)!important;gap:10px}.stat{padding:12px 14px}
 main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
 #cog{min-width:44px;min-height:44px}.qbar select{min-height:44px}.qx{padding:10px 2px;line-height:1.9}label.chk{min-height:44px;display:inline-flex;align-items:center;gap:8px}label.chk input{width:22px;height:22px}
 #chatb{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:54px;height:54px}
 #chatp{left:0;right:0;bottom:0;top:auto;width:100%;max-width:100%;height:78vh;max-height:none;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}
 body.chatopen #chatb{display:none}
 .cm{font-size:15px;max-width:88%}.cquick a{font-size:14px;padding:9px 12px}#cform input{min-height:44px}
}
@media(max-width:420px){h1{font-size:24px!important}main{padding:12px 10px 92px}.card{padding:14px;border-radius:12px}}
#intro{z-index:2000!important}#solmodal,.modal{z-index:1900!important}#toast,.toast{z-index:2100}
.toasts{bottom:96px!important;z-index:950!important}
/* TWJ SIEM module styles. Search page layout follows a classic enterprise-SIEM search app (2026-11-03 visual redo):
   global bar + app bar (dark in both themes), then a light content area that flips with the lab's body.dark theme. All colours are variables. */
.tcustom{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.tcustom input{width:auto;padding:6px}
.tl{display:flex;align-items:flex-end;gap:1px;margin:6px 0 2px}.tl b{flex:1 1 0;min-width:0;cursor:pointer;min-height:1px}
.tl .h0{height:1px}.tl .h1{height:10%}.tl .h2{height:20%}.tl .h3{height:30%}.tl .h4{height:40%}.tl .h5{height:50%}.tl .h6{height:60%}.tl .h7{height:70%}.tl .h8{height:80%}.tl .h9{height:90%}.tl .h10{height:100%}
.fv i.w0{width:0}.fv i.w1{width:10%}.fv i.w2{width:20%}.fv i.w3{width:30%}.fv i.w4{width:40%}.fv i.w5{width:50%}.fv i.w6{width:60%}.fv i.w7{width:70%}.fv i.w8{width:80%}.fv i.w9{width:90%}.fv i.w10{width:100%}
mark.hl{background:#ffe58a;color:inherit;border-radius:2px;padding:0 1px}
/* ---- theme tokens: light (default) and dark (body.dark) ---- */
#siem.splk{--sbg:#eef1f3;--spn:#fff;--sp:#fff;--ssd:#f7f8fa;--sln:#c3cbd4;--sln2:#e1e6eb;--stx:#3c444d;--shd:#1d2125;--smu:#6b7785;--sin:#1d2125;--sinb:#a7b1bc;
 --sgr:#4f9a31;--sgrh:#43842a;--sbl:#1a9ce0;--slk:#1a6fb5;--shov:#eef4fa;--sexp:#f2f4f5;--spin:#e6f4dd;--sbtn:#fff;--sbtnb:#c3cbd4;--shl:#ffe58a;--sgrid:#e7ebee;--sax:#a7b1bc;
 --stl:#5ba33d;--stlh:#3f8a24;--sjk:#a3271f;--sjv:#0f7b6c;--sjn:#1a6fb5;--sph:#e1e6eb;--sphc:#3c444d;--sfail:#c4372b;
 --qcmd:#1a5fb4;--qpipe:#7d3fb5;--qstr:#0f7b6c;--qop:#c4372b;--qkw:#b35900;--qfn:#7d3fb5;--qbad:#d0312d;--qph:#8a94a0;color-scheme:light}
body.dark #siem.splk{--sbg:#171d21;--spn:#1b2226;--sp:#0b0c0e;--ssd:#1f2529;--sln:#3c444d;--sln2:#2a3036;--stx:#c3cbd4;--shd:#fff;--smu:#8f9ba6;--sin:#e6edf3;--sinb:#3c444d;
 --sgr:#5ba33d;--sgrh:#4c8a32;--sbl:#1a9ce0;--slk:#4fa8e6;--shov:#1f2933;--sexp:#232a2f;--spin:#1d2a17;--sbtn:#2b3033;--sbtnb:#3c444d;--shl:#8a6a00;--sgrid:#262c31;--sax:#5c6773;
 --stl:#5ba33d;--stlh:#7cc35c;--sjk:#ec8a7a;--sjv:#4fd1b5;--sjn:#79b8ff;--sph:#2b3033;--sphc:#c3cbd4;--sfail:#e85b5b;
 --qcmd:#58a6ff;--qpipe:#d2a8ff;--qstr:#a5d6ff;--qop:#ff7b72;--qkw:#ff9e64;--qfn:#d2a8ff;--qbad:#f85149;--qph:#8b949e;color-scheme:dark}
#siem.splk{background:var(--sbg);color:var(--stx);border:1px solid var(--sln);border-radius:4px;padding:0 0 12px;font:13px/1.4 "Helvetica Neue",Arial,sans-serif;max-width:100%;overflow:hidden;overflow:clip;position:relative;isolation:isolate}
/* overlays stay inside the SIEM window: give it room while a dialog or the Add Panel flyout is open */
#siem.splk{min-height:640px}#siem.splk:has(>.repdlg:not(.hidden)),#siem.splk:has(.sdash.dflyon){min-height:max(640px,94vh)}
#siem.splk .mono,#siem.splk .m,#siem.splk code{font-family:Menlo,Consolas,"Roboto Mono",monospace;font-size:12px}
#siem.splk a{color:var(--slk)}#siem.splk .small,#siem.splk .mut{color:var(--smu);font-size:12px}#siem.splk .fail{color:var(--sfail)}
#siem.splk mark.hl{background:var(--shl);color:inherit;border-radius:0}
#siem.splk .card{background:transparent;border:0;box-shadow:none;border-radius:0;padding:10px 16px;margin:0;transform:none;color:var(--stx)}
#siem.splk .card:hover{transform:none;box-shadow:none}
/* ---- global bar + app bar: dark in both themes ---- */
#siem.splk .sgbar{display:flex;align-items:center;gap:2px;background:#101214;height:36px;padding:0 10px;white-space:nowrap;overflow-x:auto;scrollbar-width:none;font-size:12px;color:#c3cbd4}
#siem.splk .sbrand{font-size:15px;font-weight:300;color:#fff;margin-right:14px;letter-spacing:.02em}#siem.splk .sbrand b{font-weight:700;color:#6cc04a}
#siem.splk .sgbar .sgm{color:#c3cbd4;padding:4px 8px;border-radius:3px;text-decoration:none}#siem.splk .sgbar .sgm:hover,#siem.splk .sgbar .sgm[aria-expanded=true]{color:#fff;background:#2b3033}
#siem.splk .sgr{margin-left:auto;display:flex;align-items:center;gap:2px}
#siem.splk .sgbadge{display:inline-block;min-width:16px;height:16px;line-height:16px;border-radius:8px;background:#dc4e41;color:#fff;font-size:10px;font-weight:700;text-align:center;padding:0 4px;margin:0 1px}
#siem.splk .sfind{width:130px;height:24px;margin:0 0 0 8px;padding:0 8px;background:#262b30;border:1px solid #3c444d;border-radius:3px;color:#e6edf3;font-size:12px;box-shadow:none}#siem.splk .sfind::placeholder{color:#8f9ba6}#siem.splk .sfind:focus{outline:0;border-color:#1a9ce0}
#siem.splk .sapp{display:flex;align-items:stretch;gap:2px;background:#3a434c;height:44px;padding:0 10px;white-space:nowrap;overflow-x:auto;scrollbar-width:none;border:0}
#siem.splk a.snav{display:flex;align-items:center;color:#d8dee4;padding:0 12px;font-size:14px;border-bottom:3px solid transparent;text-decoration:none;cursor:pointer}
#siem.splk a.snav:hover{color:#fff;background:rgba(255,255,255,.06)}#siem.splk a.snav.on{color:#fff;border-bottom-color:#6cc04a}
#siem.splk .sapptitle{margin-left:auto;display:flex;align-items:center;gap:8px;padding-left:14px;color:#fff;font-size:14px;font-weight:500}
#siem.splk .sapptile{width:26px;height:26px;border-radius:4px;background:#5ba33d;color:#fff;display:grid;place-items:center}
/* ---- page header + search bar ---- */
#siem.splk .shead{padding:12px 16px 2px}
#siem.splk .sph{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;margin:0 0 10px}
#siem.splk h2{font-size:24px;font-weight:400;color:var(--shd);margin:0;letter-spacing:0;text-transform:none;background:none;-webkit-text-fill-color:var(--shd)}
#siem.splk .sphl{display:flex;align-items:center;gap:18px;font-size:13px}#siem.splk .sphl a{text-decoration:none}#siem.splk .sphl a:hover{text-decoration:underline}
#siem.splk .qbar{display:flex;align-items:stretch;gap:0;border:1px solid var(--sinb);border-radius:3px;background:var(--sp);padding:0;min-height:38px;box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}
#siem.splk .qbar:focus-within{border-color:var(--sbl)}
#siem.splk .qbar .prompt{display:none}
#siem.splk .qbar textarea{flex:1 1 auto;min-width:0;border:0;border-radius:0;background:var(--sp);color:var(--sin);padding:9px 10px;box-shadow:none;outline:0;font-size:13px;resize:none;line-height:1.45;min-height:38px;max-height:5.2em;overflow-y:auto;font-family:inherit}
#siem.splk .qbar select{flex:0 0 auto;width:auto;max-width:44%;margin:0;border:0;border-left:1px solid var(--sinb);border-radius:0;background-color:var(--sbtn);color:var(--stx);padding:0 28px 0 12px;font-size:13px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--smu) 50%),linear-gradient(135deg,var(--smu) 50%,transparent 50%);background-position:calc(100% - 15px) 17px,calc(100% - 10px) 17px;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer;box-shadow:none}
#siem.splk .qbar select:hover{background-color:var(--shov)}
#siem.splk .qbar #qrun{flex:0 0 46px;border:0;border-radius:0 2px 2px 0;background:var(--sgr);color:#fff;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:none;transform:none;margin:0}
#siem.splk .qbar #qrun:hover{background:var(--sgrh)}
#siem.splk .qtrybar{margin-top:6px}#siem.splk .qtrybar a#qtrytog{text-decoration:none}#siem.splk .qtry{margin-top:6px}
#siem.splk .qhelp{margin-top:6px;background:var(--spn);border:1px solid var(--sln);color:var(--stx);padding:8px 10px;border-radius:3px}
#siem.splk .qhelp td{border-bottom:1px solid var(--sln2);padding:3px 8px}#siem.splk .qhelp code{background:var(--sexp);padding:0 3px;border-radius:2px}
#siem.splk input[type=datetime-local]{background:var(--sp);color:var(--sin);border:1px solid var(--sln);border-radius:2px}
#siem.splk .btn{background:var(--sbtn);color:var(--stx);border:1px solid var(--sbtnb);border-radius:3px;box-shadow:none;font-weight:500;transform:none}
#siem.splk .btn.s{padding:2px 8px;font-size:11px}#siem.splk .btn:hover{background:var(--shov)}#siem.splk .btn:disabled{opacity:.4}
#siem.splk .btn.pinned{border-color:var(--sgr);color:var(--sgr)}
/* status row */
#siem.splk .sstat{display:flex;justify-content:space-between;align-items:center;gap:6px 14px;flex-wrap:wrap;margin:10px 0 0;font-size:12px}
#siem.splk .jobline{margin:0;color:var(--stx)}#siem.splk .jobline b{color:var(--shd);font-weight:700}#siem.splk .jok{color:var(--sgr);font-weight:700}
#siem.splk .jobline .sgm,#siem.splk .sjob .sgm{color:var(--slk);text-decoration:none;margin-left:10px}#siem.splk .sjob .sgm{margin:0}
#siem.splk .sjob{display:flex;align-items:center;gap:10px}#siem.splk .sjic{display:inline-flex;gap:3px}
#siem.splk .sic{width:26px;height:22px;display:grid;place-items:center;padding:0;background:var(--sbtn);border:1px solid var(--sbtnb);border-radius:3px;color:var(--stx);cursor:pointer}
#siem.splk .sic:hover:not(:disabled){background:var(--shov)}#siem.splk .sic:disabled{opacity:.4;cursor:default}
/* ---- tabs, timeline, results toolbar ---- */
#siem.splk .sbody{padding:4px 16px 0}
#siem.splk .stabs{display:flex;gap:0;border-bottom:1px solid var(--sln);margin:0 0 8px;overflow-x:auto;scrollbar-width:none}
#siem.splk .stab{color:var(--stx);font-weight:400;font-size:14px;padding:8px 14px;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;border-radius:0;background:none;cursor:pointer;white-space:nowrap}
#siem.splk .stab.on{color:var(--shd);border-bottom-color:var(--sbl);font-weight:500}#siem.splk .stab:hover{color:var(--slk)}
#siem.splk .tlwrap{background:var(--spn);border:1px solid var(--sln2);border-radius:2px;padding:5px 10px 4px;margin:0 0 6px}
#siem.splk .tlbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:12px}#siem.splk .tlbar a{text-decoration:none;color:var(--slk)}#siem.splk .tlbar a.off{color:var(--smu);opacity:.55;cursor:default}
#siem.splk #tlcap{margin-left:auto;color:var(--smu)}
#siem.splk .tl{height:40px;border-bottom:1px solid var(--sax);background:repeating-linear-gradient(to top,transparent 0,transparent 9px,var(--sgrid) 9px,var(--sgrid) 10px)}
#siem.splk .tl b{background:var(--stl);border-radius:0}#siem.splk .tl b:hover{background:var(--stlh)}#siem.splk .tl b.z{background:transparent}
#siem.splk .tl.tsel b:not(.sel){opacity:.35}#siem.splk .tl b.sel{background:var(--stlh)}
#siem.splk[data-tl=full] .tl{height:84px}#siem.splk[data-tl=hidden] .tl,#siem.splk[data-tl=hidden] .tlax{display:none}
#siem.splk .tlax{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--smu)}
#siem.splk .sctl{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0;padding:4px 0 6px;font-size:12px;color:var(--stx)}
#siem.splk .sctl select{width:auto;margin:0;border:0;background:transparent;color:var(--slk);padding:2px 2px;font-size:12px;cursor:pointer;box-shadow:none}
#siem.splk .sctl .sgm{color:var(--slk);text-decoration:none}#siem.splk .chk{color:var(--stx);font-size:12px}
#siem.splk .pager{margin-left:auto;display:flex;align-items:center;gap:2px}
#siem.splk .pgb{background:transparent;border:1px solid transparent;color:var(--slk);border-radius:3px;padding:2px 8px;font-size:12px;cursor:pointer;min-width:26px;line-height:18px}
#siem.splk .pgb:disabled{color:var(--smu);opacity:.55;cursor:default}#siem.splk .pgb.on{border-color:var(--sln);background:var(--spn);color:var(--shd);font-weight:600}
#siem.splk .pgb:hover:not(:disabled):not(.on){background:var(--shov)}#siem.splk .pgel{color:var(--smu);padding:0 3px}
/* ---- fields sidebar + results ---- */
#siem.splk .siemgrid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;margin:0 16px;border-top:1px solid var(--sln2);align-items:stretch}
#siem.splk .fieldsp{background:var(--ssd);border-right:1px solid var(--sln2);padding:8px 12px 14px;min-height:300px}
#siem.splk .fhdr{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}#siem.splk .fhdr a{text-decoration:none}
#siem.splk .fgh{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--smu);margin:14px 0 4px;text-transform:uppercase}
#siem.splk .fld{margin:0;border:0;background:none;padding:0}
#siem.splk .fld .fsum{display:flex;align-items:baseline;gap:6px;padding:2px 4px;cursor:pointer;font-size:12px;border-radius:2px;text-decoration:none}
#siem.splk .fld .fsum:hover{background:var(--shov)}
#siem.splk .ft{flex:0 0 12px;width:12px;text-align:center;color:var(--smu);font:11px Menlo,Consolas,monospace}
#siem.splk .fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--slk)}#siem.splk .fc{color:var(--smu);font-size:11px}
#siem.splk .fld.open{background:var(--spn);border:1px solid var(--sln);margin:3px 0;padding-bottom:4px;box-shadow:0 2px 6px rgba(0,0,0,.08)}
#siem.splk .fdh{display:flex;justify-content:space-between;gap:4px 8px;flex-wrap:wrap;padding:4px 6px;font-size:11px;color:var(--smu);border-bottom:1px solid var(--sln2);margin-bottom:2px}
#siem.splk .fselq a{margin-left:4px;padding:0 5px;border-radius:2px;text-decoration:none}#siem.splk .fselq a.on{background:var(--sbl);color:#fff}
#siem.splk .fv{position:relative;display:flex;justify-content:space-between;gap:6px;padding:2px 6px 3px;font-size:12px;cursor:pointer;color:var(--stx)}
#siem.splk .fv i{position:absolute;left:6px;bottom:0;height:2px;background:var(--sgr);opacity:.8}#siem.splk .fv:hover{background:var(--shov)}
#siem.splk .fmore{display:block;margin-top:12px;font-size:12px;text-decoration:none}
#siem.splk .sres{padding:0 0 0 12px;min-width:0}#siem.splk .stblw{overflow-x:auto}
#siem.splk .fshow{display:none}#siem.splk.nof[data-tab=events] .fshow{display:inline-block;margin:6px 0;font-size:12px;text-decoration:none}
/* Hide Fields / non-Events tabs: the sidebar column slides shut (grid-template-columns transition) */
#siem.splk .siemgrid{transition:grid-template-columns .25s ease}#siem.splk .fieldsp{overflow:hidden;min-width:0;transition:padding .25s ease,opacity .2s ease}
#siem.splk.nof .siemgrid,#siem.splk:not([data-tab=events]) .siemgrid{grid-template-columns:0px minmax(0,1fr)}#siem.splk.nof .fieldsp,#siem.splk:not([data-tab=events]) .fieldsp{padding-left:0;padding-right:0;border-right-width:0;opacity:0;visibility:hidden;transition:padding .25s ease,opacity .2s ease,visibility 0s .25s}
#siem.splk.nof .sres,#siem.splk:not([data-tab=events]) .sres{padding-left:0}
#siem.splk .spat,#siem.splk .svz{padding:4px 0 8px}
#siem.splk table{width:100%;border-collapse:collapse;background:var(--spn);font-size:12px;border:0;border-radius:0}
#siem.splk th{background:var(--spn);color:var(--shd);font-weight:600;text-align:left;border-bottom:1px solid var(--sln);padding:6px 8px;font-size:12px;text-transform:none;letter-spacing:0;position:static}
#siem.splk td{border-bottom:1px solid var(--sln2);padding:6px 8px;vertical-align:top;color:var(--stx);background:transparent}
#siem.splk tbody tr:hover>td{background:var(--shov)}#siem.splk tr.open>td{background:var(--sexp)}
#siem.splk tr.pin>td{background:var(--spin)!important;box-shadow:none}
#siem.splk th.sortable{cursor:pointer;white-space:nowrap;color:var(--slk)}#siem.splk .sarr{margin-left:5px;color:var(--smu);font-size:10px}
#siem.splk td.exc,#siem.splk th.exc{width:18px;padding:6px 2px;text-align:center}
#siem.splk .ex{background:none;border:0;color:var(--smu);cursor:pointer;font-size:15px;line-height:1;padding:0 4px;transition:transform .2s ease}#siem.splk tr.open .ex{transform:rotate(90deg);color:var(--shd)}
#siem.splk td.tcol,#siem.splk th.tcol{white-space:nowrap;width:96px;color:var(--stx);font-size:12px}#siem.splk td.pcol,#siem.splk th.pcol{width:1%;white-space:nowrap;text-align:right}
#siem.splk td.ev{word-break:break-word}
#siem.splk .evj{font-size:12px;line-height:1.6;color:var(--stx);white-space:normal}
#siem.splk .jb{padding-left:2.2em}
#siem.splk .jt{color:var(--slk);text-decoration:none;font-size:11px}#siem.splk .jk{color:var(--sjk);font-weight:700}
#siem.splk .jv{color:var(--sjv)}#siem.splk .jn{color:var(--sjn)}#siem.splk .jclk{cursor:pointer}#siem.splk .jclk:hover{text-decoration:underline}
#siem.splk .jraw{display:inline-block;margin-top:3px;font-size:11px;text-decoration:none}
#siem.splk .evf2{margin-top:6px;font-size:12px;color:var(--smu);display:flex;flex-wrap:wrap;align-items:center;row-gap:2px}
#siem.splk .ff{white-space:nowrap}#siem.splk .fva{color:var(--stx);cursor:pointer}#siem.splk .fva:hover{color:var(--slk);text-decoration:underline}
#siem.splk .fsep{display:inline-block;width:0;height:12px;margin:0 10px;border-left:1px dotted var(--smu);font-size:0;overflow:hidden}
#siem.splk .raw{white-space:pre-wrap;word-break:break-all;font-size:12px;color:var(--stx)}
#siem.splk.nowrap td.ev,#siem.splk.nowrap .evj,#siem.splk.nowrap .raw{white-space:nowrap;word-break:normal}
#siem.splk .evd{margin:8px 0 2px;width:auto;min-width:60%;border:1px solid var(--sln)}#siem.splk .evd th{padding:3px 8px}#siem.splk .evd td{padding:2px 8px}#siem.splk .evd.hidden{display:none}
#siem.splk .tag{background:var(--sexp);color:var(--stx);border:1px solid var(--sln);border-radius:2px}
#siem.splk .pathd{margin:2px 0 8px}#siem.splk .pattab td:last-child{white-space:nowrap}#siem.splk .pph{background:var(--sph);color:var(--sphc);border-radius:3px;padding:0 4px;font-size:11px}
#siem.splk .sempty{padding:36px 10px;text-align:center;color:var(--stx)}#siem.splk .sempty code{background:var(--sexp);padding:1px 4px;border-radius:2px}
#siem.splk .vzbar{display:flex;gap:4px;margin:0 0 8px}
#siem.splk .svz .dchart{background:var(--spn)}#siem.splk .svz .dchart .dax{fill:var(--smu)}#siem.splk .svz .dchart .dat,#siem.splk .svz .dchart .dlg{fill:var(--stx)}#siem.splk .svz .dchart .dgrid{stroke:var(--sgrid)}#siem.splk .svz .dchart .daxl{stroke:var(--sax)}
@media(max-width:900px){#siem.splk .siemgrid,#siem.splk.nof .siemgrid,#siem.splk:not([data-tab=events]) .siemgrid{grid-template-columns:minmax(0,1fr)}#siem.splk.nof .fieldsp,#siem.splk:not([data-tab=events]) .fieldsp{display:none}#siem.splk .fieldsp{border-right:0;border-bottom:1px solid var(--sln2);min-height:0;max-height:260px;overflow-y:auto}#siem.splk .sres{padding-left:0}#siem.splk .qbar select{max-width:40%;padding-right:24px}#siem.splk .sapptitle{display:none}#siem.splk td.tcol{width:auto}}
@media(max-width:700px){#siem.splk .qbar{flex-wrap:wrap}#siem.splk .qwrap{flex:1 1 100%}#siem.splk .qbar select{flex:1 1 auto;max-width:none;min-height:38px;border-left:0;border-top:1px solid var(--sinb)}#siem.splk .qbar #qrun{flex:0 0 52px;min-height:38px;border-radius:0 0 2px 0}#siem.splk .sgr .sgm:not([data-m=help]),#siem.splk .sfind{display:none}#siem.splk .card,#siem.splk .shead{padding-left:10px;padding-right:10px}#siem.splk .siemgrid{margin:0 10px}#siem.splk .pager{margin-left:0}#siem.splk .sstat{align-items:flex-start}#siem.splk #tlcap{margin-left:0}#siem.splk .tcustom input{flex:1 1 100%}}
/* ---- SIEM menu (top bar, Job, Format…): absolute inside #siem, follows the theme ---- */
.smenu{--mbg:#fff;--mtx:#3c444d;--mmu:#6b7785;--mln:#c3cbd4;--mhv:#eef4fa;position:absolute;z-index:9500;min-width:210px;max-width:min(380px,92vw);max-height:60vh;overflow-y:auto;background:var(--mbg);color:var(--mtx);border:1px solid var(--mln);border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.2);padding:4px 0;font:13px/1.4 "Helvetica Neue",Arial,sans-serif}
body.dark .smenu{--mbg:#212527;--mtx:#c3cbd4;--mmu:#8f9ba6;--mln:#3c444d;--mhv:#2c3238;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.smenu.hidden{display:none}
.smenu a{display:block;position:relative;padding:6px 14px 6px 28px;color:var(--mtx);text-decoration:none}.smenu a:hover{background:var(--mhv)}
.smenu a.on:before{content:"✓";position:absolute;left:10px;color:#5ba33d;font-weight:700}.smenu a.dis{opacity:.5;cursor:default}.smenu a.dis:hover{background:none}
.smenu small{display:block;font-size:11px;color:var(--mmu)}.smenu code{font:11px Menlo,Consolas,monospace}
.smh{padding:8px 14px 2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mmu)}.smt{padding:5px 14px;font-size:12px;color:var(--mtx)}.smenu .fail{color:#e85b5b}
.qtrybar a#qtrytog{text-decoration:none}
.notesfab{display:none}
.notesrail{position:fixed;top:70px;right:12px;bottom:auto;height:33vh;min-height:120px;max-height:50vh;width:280px;overflow:hidden;display:flex;flex-direction:column;color:#2b2600;border:1px solid #e3cf6a;border-top:8px solid #c9a227;border-radius:4px;padding:4px 10px 14px;box-sizing:border-box;z-index:800;background:#fff8c4;box-shadow:0 4px 14px rgba(0,0,0,.25);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.notesrail:before{display:none}
.notesgrip{position:absolute;left:0;right:0;bottom:0;height:12px;cursor:ns-resize;touch-action:none;display:flex;align-items:center;justify-content:center;background:transparent}.notesgrip:before{content:"";width:40px;height:4px;border-radius:3px;background:#c9a227;opacity:.7}.notesgrip:hover:before,.notesgrip:focus:before{width:60px;opacity:1}.notesrail.ncol .notesgrip{display:none}
body>.notesrail{left:auto}.notesrail.hidden,.notesfab.hidden{display:none!important}
.notesbody{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0}
.notestab{display:none;writing-mode:vertical-rl;background:#ffe98a;color:#3a3000;border:1px solid #d9c15a;border-radius:4px;padding:10px 4px;cursor:pointer;font-weight:600}
.notesrail.ncol{position:fixed;left:auto;width:34px;top:30%;bottom:auto;right:0;padding:0;overflow:visible;background:none;border:0;box-shadow:none;transform:none}.notesrail.ncol:before{display:none}.notesrail.ncol .notesbody{display:none}.notesrail.ncol .notestab{display:block;font-size:14px;box-shadow:-3px 3px 10px rgba(0,0,0,.35)}
.notespg{display:flex;gap:4px;align-items:center;padding:2px 0 5px;margin-bottom:2px;border-bottom:1px dashed #e3cf6a}.notesrail{color-scheme:light}.notespg option{background:#fffbe0;color:#2b2600}
.notessubj{flex:none;width:100%;height:auto;margin:0 0 2px;padding:3px 0;background:transparent!important;color:#2b2600!important;border:0!important;border-bottom:1px solid #e3cf6a!important;border-radius:0;box-shadow:none!important;outline:0;font:700 13px system-ui,-apple-system,"Segoe UI",sans-serif}.notessubj::placeholder{color:#a39a6a;font-weight:400;font-style:italic}
#notesp .notespg select{flex:1;min-width:0;width:auto;height:24px;margin:0;font:12px system-ui,-apple-system,"Segoe UI",sans-serif;padding:0 4px;background:#fff3a0;color:#3a3000;border:1px solid #d9c15a;border-radius:4px}#notesp .notespg .btn.s{flex:none;min-width:24px;height:24px;min-height:24px;margin:0;padding:0 6px;background:#fff3a0;color:#3a3000;border:1px solid #d9c15a;font-size:12px;line-height:22px}#notesp .notespg .btn.s:disabled{opacity:.4;cursor:default}
/* the lab's dark theme restyles every select/input/.btn; the sticky note stays yellow in both themes */
#notesp .notespg select:focus,#notesp .notessubj:focus{outline:2px solid #c9a227;outline-offset:1px;border-color:#c9a227}#notesp .noteshd .btn{color:#3a3000}
.noteshd{display:flex;justify-content:space-between;align-items:center;color:#2b2600;font-weight:700;padding:0 0 2px;font-size:12px}.notesrail .noteshd button{background:#fff3a0;color:#3a3000;border:1px solid #d9c15a}#notetext,.notesp textarea{flex:1;min-height:0;width:100%;height:100%;box-sizing:border-box;margin:0;padding:4px 0;background:#fff8c4!important;background-color:#fff8c4!important;color:#000!important;caret-color:#000;border:0!important;outline:0;box-shadow:none!important;resize:none;font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;white-space:pre-wrap;overflow-y:auto}.notesp textarea::placeholder{color:#8a8a7a;font-style:italic;opacity:1}
@media(max-width:600px){#siem.splk .siemgrid{grid-template-columns:1fr}.notesrail,.notesrail.ncol{display:none;height:auto!important;width:auto;padding:10px;background:#fff8c4;border-top:8px solid #c9a227;overflow-y:auto;position:fixed;top:auto;transform:none;left:8px;right:8px;bottom:72px;max-height:65vh;z-index:950;border:1px solid #d9c15a;border-top:8px solid #c9a227;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.4);min-height:0}.notesrail.mopen{display:flex;flex-direction:column;height:50vh!important}.notesrail.ncol .notesbody{display:flex}.notestab,.notesrail.ncol .notestab{display:none}.notesfab{display:inline-block;position:fixed;left:12px;bottom:16px;z-index:950;background:#ffe98a;color:#3a3000;border:1px solid #d9c15a;box-shadow:0 4px 12px rgba(0,0,0,.3);font-weight:600}}
@media(prefers-reduced-motion:reduce){.notesrail:before{transform:none!important;transition:none}}

/* search bar syntax highlight: transparent textarea text over a mirrored <pre> */
#siem .qwrap{position:relative;flex:1 1 auto;min-width:0;display:flex}
#siem .qwrap textarea{flex:1 1 auto;position:relative;z-index:1;background:transparent!important;color:transparent!important;caret-color:var(--sin);-webkit-text-fill-color:transparent}
#siem .qwrap textarea::placeholder{color:var(--qph);-webkit-text-fill-color:var(--qph)}
#siem #qhl{position:absolute;inset:0;margin:0;padding:9px 10px;font-size:13px;line-height:1.45;font-family:inherit;white-space:pre-wrap;word-wrap:break-word;overflow:hidden;color:var(--sin);background:var(--sp);pointer-events:none;border:0;box-sizing:border-box}
#siem #qhl .spl-cmd{color:var(--qcmd);font-weight:600}#siem #qhl .spl-pipe{color:var(--qpipe);font-weight:700}#siem #qhl .spl-str{color:var(--qstr)}#siem #qhl .spl-op{color:var(--qop)}#siem #qhl .spl-kw{color:var(--qkw)}#siem #qhl .spl-fn{color:var(--qfn)}#siem #qhl .spl-bad{color:var(--qbad);text-decoration:underline wavy}

/* Reports & Alerts (Save As → Report, reports list) */
.splk .qsavew{position:relative;display:inline-flex}
.splk .qsavem{position:absolute;right:0;top:calc(100% + 4px);min-width:150px;background:var(--spn);border:1px solid var(--sln);border-radius:3px;box-shadow:0 8px 20px rgba(0,0,0,.2);z-index:30;padding:4px 0}
.splk .qsavem a{display:block;padding:7px 14px;color:var(--stx);text-decoration:none}.splk .qsavem a:hover{background:var(--shov)}
.splk .srep{padding:14px 18px}.splk .srep h2{margin:0 0 6px}.splk .repbar{display:flex;align-items:center;gap:10px;margin:10px 0}.splk .repbar input{flex:0 1 260px;margin:0;background:var(--sp);border:1px solid var(--sln);color:var(--sin);border-radius:3px;padding:5px 8px}.splk .repbar .btn{margin-left:auto}
.splk .reptab{width:100%;border-collapse:collapse}.splk .reptab th{text-align:left;font-weight:600;color:var(--shd);border-bottom:1px solid var(--sln);padding:7px 8px;font-size:12px;background:var(--spn)}.splk .reptab td{padding:8px;border-bottom:1px solid var(--sln2);font-size:13px;vertical-align:top}
.splk .reptab .rx{text-decoration:none;font-weight:700;display:inline-block;width:14px}.splk .repx td{background:var(--sexp)}.splk .repx dl{display:grid;grid-template-columns:110px 1fr;gap:4px 12px;margin:2px 0}.splk .repx dt{color:var(--smu)}.splk .repx dd{margin:0;word-break:break-word}
.repdlg{--rbg:#fff;--rin:#fff;--rln:#c3cbd4;--rtx:#3c444d;--rhd:#1d2125;--rmu:#6b7785;--rbt:#f2f4f5;position:absolute;inset:0;z-index:9000;background:rgba(0,0,0,.45);display:block;color-scheme:light;font:13px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.repdlg.hidden{display:none}
body.dark .repdlg,.repdlg.dsk{--rbg:#171d21;--rin:#0b0c0e;--rln:#3c444d;--rtx:#c3cbd4;--rhd:#fff;--rmu:#818d99;--rbt:#212527;background:rgba(0,0,0,.55);color-scheme:dark}
.repdlg>.repbox{position:sticky;top:10vh;margin:10vh auto 24px}
.repbox{box-sizing:border-box;width:min(560px,calc(100% - 24px));background:var(--rbg);border:1px solid var(--rln);border-radius:4px;box-shadow:0 20px 50px rgba(0,0,0,.4);padding:18px 20px;color:var(--rtx)}
.repbox h3{margin:0 0 10px;color:var(--rhd);font-size:17px;font-weight:500;letter-spacing:0;text-transform:none;background:none;-webkit-text-fill-color:var(--rhd)}.repbox p{margin:6px 0}.repbox .small{color:var(--rmu);font-size:12px}
.repbox label{display:block;margin:10px 0 4px;font-size:12px;color:var(--rmu)}.repbox label b{color:#e8656d}
.repbox input,.repbox textarea,.repbox select{width:100%;box-sizing:border-box;background:var(--rin);border:1px solid var(--rln);color:var(--rtx);border-radius:3px;padding:6px 8px;font:13px inherit}.repbox .mono{font-family:Menlo,Consolas,monospace;font-size:12px}
.repbox #rep-err{color:#e8656d;min-height:1em}.repbtns{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.repbox .btn{border:1px solid var(--rln);background:var(--rbt);color:var(--rtx);border-radius:3px;padding:6px 14px;font:600 13px inherit;cursor:pointer;box-shadow:none;transform:none}.repbox .btn:not(.s){background:#5ba33d;border-color:#5ba33d;color:#fff}

/* Select Fields modal (#sfdlg, inside #siem; theme via the --s* tokens) */
#siem.splk .sfdlg>.sfbox{width:min(920px,calc(100% - 24px));max-height:80vh;display:flex;flex-direction:column;padding:16px 18px;background:var(--spn);border-color:var(--sln);color:var(--stx)}
#siem.splk .sfhd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}#siem.splk .sfhd h3{margin:0;color:var(--shd);-webkit-text-fill-color:var(--shd)}
#siem.splk .sfclose{background:none;border:0;color:var(--smu);font-size:17px;line-height:1;padding:4px 7px;border-radius:3px;cursor:pointer}#siem.splk .sfclose:hover{color:var(--shd);background:var(--shov)}
#siem.splk .sfbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
#siem.splk .sfbox .btn{padding:5px 12px;font-size:12px;background:var(--sbtn);border:1px solid var(--sbtnb);color:var(--stx)}#siem.splk .sfbox .btn.sfsel{background:transparent;border-color:var(--sbl);color:var(--slk)}
#siem.splk .sfbox .btn:hover{background:var(--shov)}
#siem.splk .sfbox label.sfcov{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--stx)}#siem.splk .sfbox .sfcov select{width:auto;padding:4px 6px;background:var(--sp);color:var(--sin);border-color:var(--sln)}
#siem.splk .sfq{position:relative;display:inline-flex;align-items:center}#siem.splk .sfbox .sfq input{width:220px;padding:5px 28px 5px 8px;background:var(--sp);color:var(--sin);border-color:var(--sln)}#siem.splk .sfq svg{position:absolute;right:9px;color:var(--smu);pointer-events:none}
#siem.splk .sfext{margin-left:auto;font-size:12px;color:var(--smu);opacity:.6;cursor:not-allowed}
#siem.splk .sfcnt{margin:0 0 6px}
#siem.splk .sfbody{flex:1;min-height:0;overflow:auto;border:1px solid var(--sln);border-radius:3px}
#siem.splk .sftab{width:100%;border-collapse:collapse;font-size:12px}
#siem.splk .sftab th{position:sticky;top:0;z-index:1;background:var(--sexp);color:var(--shd);font-weight:600;padding:7px 8px;border-bottom:1px solid var(--sln);white-space:nowrap}
#siem.splk .sftab td{padding:5px 8px;border-bottom:1px solid var(--sln2);vertical-align:middle;color:var(--stx)}
#siem.splk .sftab tr.sfxr>td{padding:0;border-bottom:0}#siem.splk .sftab tr.sfxr:hover>td{background:transparent}
#siem.splk .sftab input[type=checkbox]{width:auto;margin:0;vertical-align:middle}
#siem.splk .sftab .exc{width:22px;padding:5px 2px;text-align:center}#siem.splk .sftab .sfck{width:46px;white-space:nowrap}
#siem.splk .sftab td.sfn,#siem.splk .sftab td.sfcv{position:relative;width:130px;padding-right:76px}
#siem.splk .sfb{position:absolute;right:8px;top:50%;height:8px;margin-top:-4px;width:0;border-radius:1px;background:#1a9ce0}
#siem.splk .sfb.w1{width:6px}#siem.splk .sfb.w2{width:12px}#siem.splk .sfb.w3{width:18px}#siem.splk .sfb.w4{width:24px}#siem.splk .sfb.w5{width:30px}#siem.splk .sfb.w6{width:36px}#siem.splk .sfb.w7{width:42px}#siem.splk .sfb.w8{width:48px}#siem.splk .sfb.w9{width:54px}#siem.splk .sfb.w10{width:60px}
#siem.splk .sfb.c0{background:#b9dcf5}#siem.splk .sfb.c1{background:#7cc0ee}#siem.splk .sfb.c2{background:#3fa3e6}#siem.splk .sfb.c3{background:#1a8ad4}#siem.splk .sfb.c4{background:#0f6fb5}
#siem.splk .sfx{padding:6px 12px 10px 76px;background:var(--sexp)}
#siem.splk .sfvals{width:auto;min-width:50%;border-collapse:collapse;background:transparent}#siem.splk .sfvals th{position:static;background:transparent;padding:3px 12px 3px 0;border-bottom:1px solid var(--sln)}#siem.splk .sfvals td{padding:3px 12px 3px 0;border-bottom:1px solid var(--sln2)}
@media(max-width:700px){#siem.splk .sfbox .sfq input{width:150px}#siem.splk .sfext{margin-left:0}#siem.splk .sftab td.sfn,#siem.splk .sftab td.sfcv{width:auto;padding-right:8px}#siem.splk .sfb{display:none}}

/* SIEM Dashboards (Splunk Classic / Simple XML look, dark theme). #sdash lives in #siem.splk; .dsk = overlays hoisted to <body> */
.dsk,#siem.splk .sdash{--spn:#1b2226;--sln2:#2a3036;--shd:#fff;--sin:#e6edf3;--sinb:#3c444d;--sgrh:#4c8a32;--shov:#1f2933;--sexp:#232a2f;--spin:#1d2a17;--sbtn:#2b3033;--sbtnb:#3c444d;--shl:#8a6a00;--sgrid:#262c31;--sax:#5c6773;--sfail:#e85b5b;--sbg:#171d21;--sp:#0b0c0e;--ssd:#212527;--sln:#3c444d;--stx:#c3cbd4;--smu:#818d99;--sgr:#5ba33d;--sbl:#1a9ce0;--slk:#4fa8e6;color-scheme:dark;font:13px/1.45 "Helvetica Neue",Arial,sans-serif}
#siem.splk .sdash{padding:12px 16px 18px}#siem.splk .sdash.hidden{display:none}
#siem.splk .sdash h2{margin:0 0 4px}#siem.splk .sdash .mono{font-family:Menlo,Consolas,monospace;font-size:12px}
#siem.splk .sdash .btn.dgo,.dsk .btn.dgo{background:var(--sgr);border-color:var(--sgr);color:#fff}#siem.splk .sdash .btn.dgo:hover{background:#4c8a32}
.dbox .btn.ddanger{background:#c84535!important;border-color:#c84535!important}
.dlhd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.dlhd p{margin:2px 0 0}
#siem.splk .sdash .dseg,.dsk .dseg{display:inline-flex;border:1px solid var(--sln);border-radius:3px;overflow:hidden}
#siem.splk .sdash .dseg button,.dsk .dseg button{background:#1d2125;color:var(--stx);border:0;border-right:1px solid var(--sln);padding:4px 12px;font:12px inherit;cursor:pointer;border-radius:0;box-shadow:none;margin:0}
#siem.splk .sdash .dseg button:last-child,.dsk .dseg button:last-child{border-right:0}#siem.splk .sdash .dseg button.on,.dsk .dseg button.on{background:#3c444d;color:#fff}
#siem.splk .sdash .repbar .dseg{margin-left:4px}#siem.splk .sdash .repbar input{margin-left:auto}
/* dashboard header + edit bar */
.dhd{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:4px 0 10px}.dhd .dtitle{display:flex;align-items:center;gap:6px}.ddesc{margin:2px 0 0;color:var(--stx)}
.dact{display:flex;gap:6px}#siem.splk .sdash .dact .btn{padding:4px 12px}
.debar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:#0b0c0e;border:1px solid var(--sln);border-radius:3px;padding:8px 10px;margin:0 0 12px}
.dehd{display:flex;align-items:center;gap:12px}.dehd b{color:#fff;font-size:14px;font-weight:600}.detools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}#siem.splk .sdash .detools .btn{padding:4px 12px}
.dtheme{display:inline-flex;align-items:center;gap:6px;margin:0 6px}.dtog{display:inline-block;width:26px;height:14px;border-radius:7px;background:var(--sgr);position:relative}.dtog:after{content:"";position:absolute;right:2px;top:2px;width:10px;height:10px;border-radius:50%;background:#fff}
#siem.splk .dicon,.dsk .dicon{background:none;border:0;color:var(--smu);cursor:pointer;padding:2px;display:inline-flex;align-items:center;box-shadow:none;margin:0}#siem.splk .dicon:hover,.dsk .dicon:hover{color:#fff}
.dsrc{width:100%;box-sizing:border-box;min-height:420px;background:#0b0c0e;color:#e6edf3;border:1px solid var(--sln);border-radius:3px;padding:10px;font:12px/1.5 Menlo,Consolas,monospace;tab-size:2;resize:vertical}
.dsrcerr{background:#3b1d1d;border:1px solid #c84535;color:#f3b3ab;padding:7px 10px;margin:0 0 8px;border-radius:3px}
.dempty{border:1px dashed var(--sln);border-radius:3px;padding:28px;text-align:center;color:var(--smu);margin:8px 0}
/* fieldset (inputs) */
.dfs{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;margin:0 0 12px}.dfs.hidden{display:none}
.dinp{position:relative;display:flex;flex-direction:column;gap:3px;min-width:150px;max-width:340px}.dinp.ed{border:1px dashed var(--sln);padding:6px 46px 6px 8px;border-radius:3px}
.dilab{font-size:12px;color:var(--stx)}
#siem.splk .sdash .dinp input.din,#siem.splk .sdash .dinp select,.dsk select,.dsk input:not([type=checkbox]):not([type=radio]),.dsk textarea{background:#0b0c0e;color:#e6edf3;border:1px solid var(--sln);border-radius:3px;padding:5px 8px;font:13px inherit;box-shadow:none;min-height:0;height:auto;width:100%;box-sizing:border-box}
#siem.splk .sdash .dinp select{min-width:150px}.dsk textarea.mono,.dsk input.mono{font:12px Menlo,Consolas,monospace}
.dopts{display:flex;flex-wrap:wrap;gap:4px 12px}.dopts label{display:inline-flex;align-items:center;gap:4px;color:var(--stx);font-size:13px}
.dms{display:flex;flex-wrap:wrap;gap:4px;align-items:center;background:#0b0c0e;border:1px solid var(--sln);border-radius:3px;padding:3px}#siem.splk .sdash .dms select{border:0;min-width:110px;flex:1;padding:2px 4px}
.dpill{display:inline-flex;align-items:center;gap:2px;background:#2b3033;border:1px solid var(--sln);border-radius:2px;padding:0 0 0 6px;font-size:12px;color:#fff}
#siem.splk .dpill button{background:none;border:0;color:var(--smu);cursor:pointer;padding:0 5px;font-size:14px;line-height:18px;box-shadow:none;margin:0}#siem.splk .dpill button:hover{color:#fff}
.dlink{display:flex;flex-wrap:wrap}#siem.splk .dlink button{background:#1d2125;border:1px solid var(--sln);color:var(--stx);padding:4px 10px;margin:0 -1px 0 0;font-size:12px;cursor:pointer;border-radius:0;box-shadow:none}#siem.splk .dlink button.on{background:var(--sbl);border-color:var(--sbl);color:#fff}
.dsub .btn{align-self:flex-start;padding:5px 16px}
.ditools{position:absolute;top:4px;right:4px;display:flex;gap:2px}#siem.splk .ditools button{background:#2b3033;border:1px solid var(--sln);color:var(--stx);border-radius:2px;padding:1px;cursor:pointer;display:inline-flex;box-shadow:none;margin:0}#siem.splk .ditools button:hover{color:#fff;background:#3c444d}
/* rows + panels */
.drows{display:flex;flex-direction:column;gap:10px}.drow{display:flex;gap:10px;min-width:0}
.dpanel{position:relative;flex:1 1 0;min-width:0;background:var(--ssd);border:1px solid #2c3236;border-radius:3px;padding:8px 10px 10px;display:flex;flex-direction:column}
.dph{display:flex;align-items:center;gap:6px;min-height:22px;margin:0 0 6px}.dph h3{margin:0;font-size:14px;font-weight:600;color:#fff;letter-spacing:0;text-transform:none;background:none;-webkit-text-fill-color:#fff}
.dph.ed{cursor:grab;background:#2b3033;margin:-8px -10px 8px;padding:5px 8px;border-bottom:1px solid var(--sln);border-radius:3px 3px 0 0;touch-action:none;user-select:none}
.dgrip{flex:0 0 10px;padding:0 3px;height:16px;background:radial-gradient(circle,#818d99 1px,transparent 1.5px) 0 0/5px 5px}
#siem.splk .sdash input.dptitle{flex:0 1 300px;min-width:40px;margin-right:auto;background:transparent;border:1px solid transparent;color:#fff;font:600 14px inherit;padding:2px 4px;border-radius:2px;box-shadow:none;height:auto}#siem.splk .sdash input.dptitle:hover,#siem.splk .sdash input.dptitle:focus{border-color:var(--sln);background:#0b0c0e}
#siem.splk .sdash input.dptitle::placeholder{color:var(--smu);font-style:italic;font-weight:400}
.dptools{display:flex;gap:2px;align-items:center}#siem.splk .dptools button{background:none;border:1px solid transparent;color:var(--stx);padding:3px;border-radius:2px;cursor:pointer;display:inline-flex;box-shadow:none;margin:0}#siem.splk .dptools button:hover{border-color:var(--sln);background:#3c444d;color:#fff}
.dref{font-size:12px;margin-right:2px}
.dpb{flex:1;min-height:60px;padding:0 4px;overflow:hidden}.dpb.dclick [data-r],.dpb.dclick [data-dx]{cursor:pointer}
.dpf{position:absolute;right:6px;bottom:4px;display:flex;gap:2px;opacity:0;transition:opacity .15s}.dpanel:hover .dpf,.dpf:focus-within{opacity:1}
#siem.splk .dpf button{background:#2b3033;border:1px solid var(--sln);color:var(--stx);border-radius:2px;padding:2px;cursor:pointer;display:inline-flex;box-shadow:none;margin:0}#siem.splk .dpf button:hover{color:#fff}
.dmsg{color:var(--smu);padding:22px 6px;text-align:center;font-size:13px}.dmsg.derr,.dsk .derr{color:#e8656d}.dmsg code{color:var(--stx)}
.ddragging{opacity:.35;outline:2px dashed var(--sbl)}body.ddragmode,body.ddragmode *{cursor:grabbing!important;user-select:none}
.dghost{position:absolute;z-index:9500;pointer-events:none;background:#2b3033;border:1px solid var(--sbl);color:#fff;padding:6px 10px;border-radius:3px;box-shadow:0 8px 20px rgba(0,0,0,.5);max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ddrop{position:absolute;z-index:9400;pointer-events:none;background:var(--sbl,#1a9ce0);background:#1a9ce0;border-radius:2px;box-shadow:0 0 6px #1a9ce0}.ddrop.bad{background:#c84535;box-shadow:0 0 6px #c84535}
/* visualizations */
.dtw{overflow-x:auto}#siem.splk .sdash table.dtab{width:100%;border-collapse:collapse;font-size:12px}#siem.splk .sdash .dtab th{background:#171d21;color:#fff;font-weight:600;text-align:left;padding:5px 8px;border-bottom:1px solid var(--sln);white-space:nowrap}
#siem.splk .sdash .dtab td{padding:4px 8px;border-bottom:1px solid #2c3236;white-space:pre-wrap;word-break:break-word}#siem.splk .sdash .dtab.nowrap td{white-space:nowrap}#siem.splk .sdash .dtab th.dnum,#siem.splk .sdash .dtab td.dnum{text-align:right;font-variant-numeric:tabular-nums}
#siem.splk .sdash .dtab td.drn{color:var(--smu);width:1%;white-space:nowrap}#siem.splk .sdash .dpb.dclick .dtab tbody tr:hover td{background:#1f2933;color:#fff}
.dpgr{display:flex;justify-content:flex-end;gap:2px;margin-top:6px;flex-wrap:wrap}#siem.splk .dpgb{background:none;border:0;color:var(--slk);padding:2px 6px;font-size:12px;cursor:pointer;border-radius:2px;box-shadow:none;margin:0}#siem.splk .dpgb.on{background:#3c444d;color:#fff}#siem.splk .dpgb:disabled{color:var(--smu);cursor:default}
.dev{display:flex;flex-direction:column}.devr{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px;padding:5px 0;border-bottom:1px solid #2c3236}.devt{color:var(--smu)}.devm{color:#e6edf3;word-break:break-word;white-space:pre-wrap}
.devf{display:flex;flex-wrap:wrap;gap:2px 12px;color:var(--smu);font:11px Menlo,Consolas,monospace;margin-top:2px}.dpb.dclick .devr:hover{background:#1f2933}
.dchart{display:block;max-width:100%}.dchart text{font:11px "Helvetica Neue",Arial,sans-serif}.dchart .dax{fill:#a6b0bb}.dchart .dat{fill:#c3cbd4;font-weight:600}.dchart .dlg{fill:#c3cbd4}
.dchart .dgrid{stroke:#2f363b;stroke-width:1}.dchart .daxl{stroke:#5c6773;stroke-width:1}.dpb.dclick .dchart [data-dx]:hover{opacity:.8}
.dsv{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 4px;gap:2px}.dsvn{font-size:44px;font-weight:300;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums}
.dsvt{font-size:13px;color:var(--smu)}.dsvt.up{color:#e8a33d}.dsvt.dn{color:#5ba33d}.dsvl{color:var(--stx);font-size:13px}.dspark{margin-top:6px}
/* overlays on <body> */
.dpop{position:absolute;z-index:9200;min-width:190px;max-width:300px;background:#212527;border:1px solid #3c444d;border-radius:3px;box-shadow:0 8px 24px rgba(0,0,0,.55);padding:4px 0;color:#c3cbd4}.dpop.hidden{display:none}
.dpmenu{display:flex;flex-direction:column}.dpmenu button{display:flex;align-items:center;gap:8px;background:none;border:0;color:#c3cbd4;text-align:left;padding:7px 14px;font:13px inherit;cursor:pointer}
.dpmenu button:hover:not(:disabled){background:#2c3238;color:#fff}.dpmenu button.on{color:#fff;background:#1a3a4f}.dpmenu button:disabled{color:#5c6773;cursor:default}
.dpform{display:flex;flex-direction:column;gap:6px;padding:8px 12px}.dpform b{color:#fff;font-weight:600}.dpform label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#818d99}.dpform .dchk{flex-direction:row;align-items:center;color:#c3cbd4;font-size:13px}.dpform .small{color:#818d99;font-size:12px;margin:0}
.dbox{width:min(600px,calc(100% - 24px));max-height:80vh;overflow:auto}.dbox .dseg{margin-top:2px}.dbox code{font:12px Menlo,Consolas,monospace;color:#c3cbd4}.dbox .dchk{display:flex;align-items:center;gap:6px;color:#c3cbd4;font-size:13px;margin-top:12px}
.dbuild{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dbuild button{display:flex;flex-direction:column;gap:2px;text-align:left;background:#0b0c0e;border:1px solid #3c444d;color:#c3cbd4;border-radius:3px;padding:10px;cursor:pointer;font:12px inherit}.dbuild button b{color:#fff;font-size:13px}.dbuild button.on{border-color:#1a9ce0;box-shadow:inset 0 0 0 1px #1a9ce0}.dbuild button:disabled{opacity:.45;cursor:not-allowed}
.ditab{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;min-height:260px}.ditab nav{display:flex;flex-direction:column;border-right:1px solid #3c444d;padding-right:8px}
.ditab nav button{background:none;border:0;color:#c3cbd4;text-align:left;padding:7px 8px;font:13px inherit;cursor:pointer;border-radius:2px}.ditab nav button.on{background:#3c444d;color:#fff}.ditab section.hidden{display:none}.ditab section>label:first-child{margin-top:0}
.dstat{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;margin-bottom:6px}.dsthd{display:grid;grid-template-columns:1fr 1fr 22px;gap:6px;margin-bottom:4px}
#siem.splk:has(>.sdash:not(.hidden)){background:#1a1c20}
.dflyw{position:absolute;left:0;top:0;bottom:0;width:min(340px,92%);z-index:8800;pointer-events:none}
.dfly{position:sticky;top:0;height:min(100vh,100%);pointer-events:auto;background:#171d21;border-right:1px solid #3c444d;box-shadow:8px 0 30px rgba(0,0,0,.5);display:flex;flex-direction:column;color:#c3cbd4}.dfly.hidden{display:none}
.dfhd{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #3c444d}.dfhd b{color:#fff;font-size:15px;font-weight:500}
.dfbody{overflow:auto;padding:8px 0;flex:1}.dfsec{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #2c3236;color:#fff;padding:9px 14px;font:600 13px inherit;cursor:pointer}.dfsec .small{color:#818d99;font-weight:400}
.dflist{display:flex;flex-direction:column;padding:2px 0 6px}.dflist button{display:flex;align-items:center;gap:8px;background:none;border:0;color:#4fa8e6;text-align:left;padding:6px 14px 6px 26px;font:13px inherit;cursor:pointer}.dflist button:hover{background:#212527;color:#fff}
.dflist p,.dfbody>p{margin:4px 14px 8px 26px;color:#818d99;font-size:12px}.dfgrp{padding:6px 14px 2px 26px;color:#818d99}
.dfbody h4{margin:4px 14px 8px;color:#fff;font-size:15px;font-weight:500}.dfbody label{display:flex;flex-direction:column;gap:4px;margin:8px 14px;font-size:12px;color:#818d99}.dfbody .derr{margin:4px 14px}.dfbody>p.small{margin:4px 14px}
.dfback{background:none;border:0;color:#4fa8e6;padding:4px 14px;cursor:pointer;font:13px inherit}.dfbody .btn.dgo{margin:6px 14px;padding:6px 14px;border-radius:3px;border:1px solid #5ba33d;font:600 13px inherit;cursor:pointer}
@media(max-width:760px){.drow{flex-direction:column}.devr{grid-template-columns:1fr}.ditab{grid-template-columns:1fr}.ditab nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid #3c444d;padding:0 0 6px}.dinp{max-width:100%}}
.dbox input[type=checkbox],.dpop input[type=checkbox]{width:auto;margin:0}.repbox.dbox .btn.s{background:#212527;color:#c3cbd4;border-color:#3c444d}.repbox.dbox .btn.s:hover{background:#2c3238;color:#fff}
/* Reference format (Jono's Splunk Classic screenshot, 2026-11-03): dark #1a1c20 page, black panels edge to edge with small gaps,
   small bold white panel titles, grey rounded Edit / Export / … buttons, Single Value colour blocks with big white numbers */
#siem.splk .sdash{background:#1a1c20}
#siem.splk .sdash .dhd .dtitle{font-size:24px;color:#fff}
#siem.splk .sdash .dact .btn{background:#3c444d;border:0;border-radius:4px;color:#fff;padding:5px 14px;font-size:13px}#siem.splk .sdash .dact .btn:hover{background:#4f5a65}
.drows{gap:6px}.drow{gap:6px}
.dpanel{background:#000;border:0;border-radius:2px}
.dph h3{font-size:13px;font-weight:700}
.dchart .dgrid{stroke:#3c444d}.dchart .dax{fill:#c3cbd4}
.dsvn{font-size:52px;font-weight:400}
.dpb.dblock{margin:0 -10px -10px;padding:0;border-radius:0 0 2px 2px;display:flex}
.dpb.dblock .dsv{flex:1;min-height:150px;padding:18px 8px}.dpb.dblock .dsvn{font-size:60px;font-weight:500;color:#fff}.dpb.dblock .dsvl,.dpb.dblock .dsvt{color:#fff;opacity:.9}.dpb.dblock .dspark path{stroke:#fff}
.dfs .dhidef{align-self:flex-end;padding:0 0 7px;font-size:12px;color:var(--slk);text-decoration:none}.dfs .dhidef:hover{text-decoration:underline}.dfs.dfsoff{margin-bottom:6px}
.dinp.dsub{min-width:0}

/* Firewall app — basic, vendor-neutral console */
.fw-console{display:flex;flex-direction:column;background:#f5f6f8;color:#1f2937;font:13px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;border:1px solid #d9dde3;border-radius:10px;overflow:hidden;min-height:560px;position:relative}
body.org-portal-open .fw-console{flex:1;min-height:0;height:calc(100dvh - var(--orgtop,56px));border:0;border-radius:0}
.fw-top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#1f2937;color:#f9fafb}.fw-top b{font-size:15px;letter-spacing:.01em}.fw-dev{color:#9ca3af;font-size:12px}
.fw-body{display:flex;flex:1;min-height:0}
.fw-nav{width:190px;flex:none;background:#fff;border-right:1px solid #e5e7eb;padding:12px 8px;display:flex;flex-direction:column;gap:2px}
.fw-nav a{display:flex;justify-content:space-between;padding:8px 12px;border-radius:7px;color:#374151;cursor:pointer;font-weight:500}.fw-nav a:hover{background:#f3f4f6}
.fw-nav a.on{background:#fff4ec;color:#c2410c}.fw-nav a b{background:#e5e7eb;color:#374151;border-radius:99px;padding:0 7px;font-size:11px;font-weight:600}.fw-nav a.on b{background:#fed7aa;color:#9a3412}
.fw-main{flex:1;min-width:0;overflow:auto;padding:18px 22px}
.fw-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}.fw-h h2{margin:0;font-size:18px;color:#111827}
.fw-mut{color:#6b7280;font-weight:400;font-size:12px}.fw-sub{display:block;color:#9ca3af;font-size:11px}
.fw-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.fw-bar input,.fw-bar select,.fw-mbox input{height:32px;border:1px solid #d1d5db;border-radius:6px;padding:0 10px;font:13px inherit;background:#fff;color:#111827;width:auto}
.fw-bar input{flex:1;min-width:220px;max-width:420px}.fw-bar input:focus,.fw-mbox input:focus{outline:2px solid #fdba74;border-color:#f97316}
.fw-pg{margin-left:auto;color:#6b7280;white-space:nowrap}.fw-pg button{border:1px solid #d1d5db;background:#fff;border-radius:6px;width:28px;height:28px;cursor:pointer}.fw-pg button:disabled{opacity:.4;cursor:default}
.fw-tw{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:auto}
.fw-t{width:100%;border-collapse:collapse}.fw-t th{position:sticky;top:0;background:#f9fafb;text-align:left;font-weight:600;color:#4b5563;font-size:12px;padding:8px 10px;border-bottom:1px solid #e5e7eb;white-space:nowrap}
.fw-t td{padding:7px 10px;border-bottom:1px solid #f1f2f4;vertical-align:top}.fw-t tr:hover td{background:#fafafa}.fw-t .m{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;white-space:nowrap}.fw-t .r{text-align:right}.fw-t .b{font-weight:600}
.fw-act{display:inline-block;padding:1px 8px;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.fw-act.allow{background:#dcfce7;color:#166534}.fw-act.deny{background:#fee2e2;color:#991b1b}
.fw-blk{display:inline-block;padding:2px 8px;border-radius:6px;background:#1f2937;color:#fff;font-size:11px;font-weight:600}
.fw-btn{border:1px solid #d1d5db;background:#fff;color:#1f2937;border-radius:6px;padding:4px 10px;font:500 12px inherit;cursor:pointer;white-space:nowrap}.fw-btn:hover{border-color:#9ca3af}
.fw-btn.pri{background:#f97316;border-color:#f97316;color:#fff}.fw-btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}
.fw-lnk{color:#c2410c;cursor:pointer;margin-left:6px}.fw-who{font-weight:600}.fw-who.auto{color:#6d28d9}.fw-who.user{color:#0f766e}
.fw-msg{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:8px;padding:8px 12px;margin-bottom:10px}
.fw-modal{position:absolute;inset:0;background:rgba(17,24,39,.35);display:grid;place-items:center;z-index:5}
.fw-mbox{background:#fff;border-radius:12px;width:min(460px,92%);padding:20px 22px;box-shadow:0 20px 50px rgba(0,0,0,.25)}.fw-mbox h3{margin:0 0 8px}.fw-mbox label{display:block;margin-top:10px;font-weight:600;font-size:12px}.fw-mbox input{width:100%;margin-top:4px}
.fw-warn{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:8px 10px}
.fw-mfoot{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.org-tile.fw{background:#1f2937;color:#f9fafb;border-color:#1f2937}.org-tile.fw small{color:#d1d5db}
.org-tile.soar{background:#0b1220;color:#f9fafb;border-color:#0b1220}.org-tile.soar small{color:#cbd5e1}
@media(max-width:760px){.fw-body{flex-direction:column}.fw-nav{width:auto;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid #e5e7eb}.fw-main{padding:12px}}

/* SOAR — Splunk SOAR 6-style console, DARK (Jono 2026-11-03, from his reference screenshots): black header with the green splunk> tile,
   "Home ▾" section menu, slate panels; Visual Playbook Editor flows top → bottom on a dotted near-black canvas. Own tokens (--s-*). */
.soar-console{--s-bg:#0b0c0e;--s-panel:#22272e;--s-panel2:#2b3139;--s-line:#3a414b;--s-line2:#2c323a;--s-txt:#e3e6ea;--s-mut:#9aa3ad;--s-acc:#3c9bff;--s-accd:#1a7ae0;--s-ok:#5cc05c;--s-bad:#f06a6a;
  --s-canvas:#151617;--s-blk:#26282c;--s-side:#0f1012;
  display:flex;flex-direction:column;background:var(--s-bg);color:var(--s-txt);font:13px/1.45 "Proxima Nova",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;border:1px solid #23272d;border-radius:10px;overflow:hidden;min-height:620px;position:relative;color-scheme:dark}
body.org-portal-open .soar-console{flex:1;min-height:0;height:calc(100dvh - var(--orgtop,56px));border:0;border-radius:0}
.soar-console .ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.soar-console code{background:#2c3138;color:#d6dde5;border-radius:4px;padding:0 4px;font-size:11.5px}
.sr-mut{color:var(--s-mut);font-size:12px;font-weight:400}.sr-mut .bad,.bad{color:#ff9b9b}.sr-sp{flex:1}.m{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
/* header */
.sr-top{display:flex;align-items:center;gap:12px;padding:0 14px 0 10px;height:52px;background:#000;color:#e8eaed;flex:none;border-bottom:1px solid #1d2025}
.sr-top .org-back{flex:none}
.sr-logo{align-self:stretch;display:grid;place-items:center;padding:0 16px;background:#18a058;color:#fff;font:800 16px/1 -apple-system,"Segoe UI",sans-serif;letter-spacing:.06em;margin-left:2px}
.sr-prod{font-size:17px;font-weight:600;color:#fff;letter-spacing:.02em}
.sr-search{display:flex;align-items:center;gap:6px;border:1px solid #4a5059;border-radius:3px;padding:0 8px;height:32px;width:300px;max-width:30vw;background:#000;color:#cfd4da}
.sr-search input{border:0!important;background:transparent!important;outline:none!important;padding:0!important;flex:1;min-width:0;color:#fff}
.sr-search.in{background:#15181c;height:30px}
.sr-inst{color:#cfd4da;font-size:12.5px;white-space:nowrap}.sr-inst b{color:#fff;margin-right:4px}.sr-user{color:#fff;font-weight:600}
.sr-sub{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#3a424c;flex:none;position:relative;z-index:20}
.sr-nav{position:relative}.sr-navbtn{display:flex;align-items:center;gap:8px;min-width:190px;background:#2b323a;border:1px solid #57606b;color:#fff;border-radius:3px;padding:6px 10px;font:500 14px inherit;cursor:pointer}
.sr-navbtn span{flex:1;text-align:left}.sr-navbtn i{font-style:normal;color:#cfd4da;font-size:11px}
.sr-menu{position:absolute;top:calc(100% + 2px);left:0;min-width:210px;background:#4b545f;border:1px solid #616b77;border-radius:3px;box-shadow:0 10px 26px rgba(0,0,0,.5);padding:4px 0;z-index:30}
.sr-menu a{text-decoration:none;display:flex;align-items:center;gap:12px;padding:9px 14px;color:#fff;cursor:pointer;font-size:14px}.sr-menu a:hover,.sr-menu a.on{background:#5c6672}
.sr-audit{color:#9fd29f;cursor:pointer;font:12px ui-monospace,Menlo,monospace}
.sr-body{flex:1;min-height:0;overflow:auto;background:var(--s-bg)}.soar-console.is-vpe .sr-body{overflow:hidden;display:flex}
/* pages */
.sr-page{padding:18px 22px;max-width:1500px}.sr-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.sr-h h1{font-size:20px;margin:0;font-weight:600;color:#f1f3f5}
.sr-crumb{color:var(--s-acc);cursor:pointer;font-weight:500;white-space:nowrap}
.sr-panel{background:var(--s-panel);border:1px solid var(--s-line2);border-radius:3px;margin-bottom:16px}.sr-panel.pad{padding:14px 16px}.sr-panel.flat{padding:0}
.sr-panel h3{margin:0 0 10px;font-size:14px;color:#f1f3f5}
.sr-ph{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-bottom:1px solid #1b1f24;font-size:15px;color:#f1f3f5;position:relative}.sr-ph small{position:absolute;right:16px;color:var(--s-mut);font-size:12px}
.sr-roi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:22px 10px}.sr-roi div{text-align:center;padding:4px 12px;border-left:1px solid #3a414b}.sr-roi div:first-child{border-left:0}
.sr-roi b{display:block;font-size:40px;font-weight:500;color:#fff;line-height:1.1}.sr-roi span{color:#d7dce1;font-size:14px}
.sr-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sr-grid2 .sr-panel{min-height:220px}.sr-grid2 .sr-t{margin:0}
.sr-empty{color:#cfd4da;text-align:center;padding:30px 10px;margin:0}
.sr-help p{margin:0;padding:14px 16px;color:#c3cad2}
.sr-tabs2{display:flex;gap:2px;border-bottom:1px solid var(--s-line);margin-bottom:12px}.sr-tabs2 a{padding:9px 16px;color:#cfd4da;cursor:pointer;border-bottom:3px solid transparent;font-size:14px}.sr-tabs2 a.on{color:#fff;border-bottom-color:var(--s-acc)}
.sr-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.sr-widgets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.sr-w{background:var(--s-panel);border:1px solid var(--s-line2);border-radius:3px;padding:10px 14px;min-height:96px}
.sr-w h5{margin:0 0 8px;text-align:center;font-size:13px;font-weight:500;color:#f1f3f5}.sr-top3{display:flex;justify-content:space-around;gap:8px}.sr-top3 b{display:block;font-size:24px;color:#fff;font-weight:500;text-align:center}.sr-top3 span{color:var(--s-mut);font-size:11.5px;display:block;text-align:center}
.sr-leg{list-style:none;margin:0;padding:0;font-size:12px;display:grid;gap:3px}.sr-leg li{display:flex;align-items:center;gap:6px;text-transform:capitalize}.sr-leg li b{margin-left:auto;font-weight:600}
.sr-leg i{width:9px;height:9px;border-radius:50%;background:#8a96a3}.sr-leg i.d-high{background:#f06a6a}.sr-leg i.d-medium{background:#f5c33b}.sr-leg i.d-low{background:#5cc05c}.sr-leg i.d-new{background:#3c9bff}.sr-leg i.d-open{background:#f5a623}.sr-leg i.d-closed{background:#8a96a3}
/* buttons + fields */
.sr-btn{border:1px solid var(--s-line);background:var(--s-panel2);color:var(--s-txt);border-radius:3px;padding:5px 12px;font:500 12.5px inherit;cursor:pointer;white-space:nowrap}.sr-btn:hover{border-color:#5a626d;background:#323943}.sr-btn:disabled{opacity:.5;cursor:default}
.sr-btn.pri{background:var(--s-accd);border-color:var(--s-accd);color:#fff}.sr-btn.pri:hover{background:#2f8cf0}.sr-btn.up{text-transform:uppercase;font-weight:700;letter-spacing:.02em}
.sr-btn.danger{color:#ff9b9b;border-color:#5a3438;background:#2a1f22}.sr-btn.on{background:#1d3550;border-color:var(--s-acc);color:#cfe6ff}
.soar-console input,.soar-console select,.soar-console textarea{border:1px solid #4a515b;border-radius:3px;padding:5px 8px;font:12.5px inherit;background:#15171a;color:var(--s-txt);width:auto;max-width:100%;box-sizing:border-box}
.soar-console input::placeholder,.soar-console textarea::placeholder{color:#6d7681}
.soar-console input:focus,.soar-console select:focus,.soar-console textarea:focus{outline:2px solid #2d5f93;border-color:var(--s-acc)}
.soar-console textarea.mono{font:13px/1.6 ui-monospace,Menlo,Consolas,monospace;background:#000;color:#e8eaed}
.sr-panel label,.vpe-side label{display:block;margin:10px 0 4px;font-weight:600;font-size:12px;color:#cdd3da}.sr-panel textarea,.sr-panel input:not([type=checkbox]):not([type=number]){width:100%}
.sr-io{display:flex;gap:6px;margin-bottom:4px;align-items:center}.sr-io input{flex:1;width:auto}.sr-io a{cursor:pointer;color:#7d8793}
.sr-chk{display:flex!important;align-items:center;gap:6px;font-weight:500!important;margin:4px 16px 4px 0!important}.sr-chk input[type=checkbox]{width:auto}.sr-chk input[type=number]{width:72px!important}
.sr-panel h4,.vpe-side h4{margin:16px 0 6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--s-mut)}
/* tables + badges */
.sr-tw{overflow:auto;max-height:calc(100dvh - 420px);min-height:200px}.sr-t{width:100%;border-collapse:collapse}
.sr-t th{text-align:left;font-weight:600;color:#cfd4da;font-size:12px;padding:9px 10px;border-bottom:1px solid var(--s-line);background:var(--s-panel);white-space:nowrap;position:sticky;top:0}.sr-t.up th{text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.sr-t td{padding:9px 10px;border-bottom:1px solid var(--s-line2);vertical-align:middle}.sr-t .r{text-align:right;white-space:nowrap}.sr-t tr.click{cursor:pointer}.sr-t tr.click:hover td{background:#2a313a}
.sr-lnk{color:var(--s-acc);cursor:pointer;font-weight:500}.sr-tag{display:inline-block;background:#2c3138;color:#b9c2cc;border-radius:3px;padding:0 6px;font-size:11px;font-weight:600}
.sr-sev{display:inline-block;padding:1px 8px;border-radius:3px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.sr-sev.sv-medium{background:#f5c33b;color:#1b1b1b}.sr-sev.sv-high{background:#e5484d;color:#fff}.sr-sev.sv-low{background:#5cc05c;color:#0d1a0d}
.sr-st{display:inline-block;padding:1px 0;font-size:12.5px;text-transform:capitalize;color:#e3e6ea}.sr-st.st-failed{color:#ff9b9b}.sr-st.st-success{color:#9fe0a7}.sr-st.st-running{color:#ffd98a}
.sr-tlp{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10.5px;font-weight:800;background:#f5a623;color:#1b1b1b}
/* event (container) */
.sr-ev{display:flex;flex-direction:column;min-height:100%}
.sr-evh{display:flex;align-items:center;gap:16px;padding:14px 22px;background:#262c33;border-bottom:1px solid #1b1f24;flex-wrap:wrap}.sr-evt{min-width:0}.sr-evt h1{margin:2px 0;font-size:19px;font-weight:600;color:#fff}
.sr-fld{display:flex;align-items:center;gap:8px;color:#e3e6ea;font-size:13.5px;white-space:nowrap}.sr-fld select{min-width:150px;padding:6px 8px}
.sr-evtabs{display:flex;align-items:stretch;gap:0;background:#262c33;border-bottom:1px solid #1b1f24;padding:0 14px 0 0}
.sr-evtabs>a{display:flex;align-items:center;gap:6px;padding:12px 26px;color:#e3e6ea;cursor:pointer;border-right:1px solid #1b1f24;border-bottom:3px solid transparent;font-size:14px}.sr-evtabs>a.on{border-bottom-color:var(--s-acc)}.sr-evtabs>a span{color:var(--s-mut);font-size:12px}
.sr-evtabs select{align-self:center;margin-right:8px}.sr-evtabs .sr-btn{align-self:center}
.sr-evbody{padding:4px 22px 22px}
.sr-art{border-bottom:1px solid #2a3038}.sr-arow{display:flex;align-items:center;gap:22px;padding:11px 8px;cursor:pointer}.sr-arow:hover{background:#1a1e23}.sr-arow>span:nth-child(2){width:36px}.sr-arow>span:nth-child(3){width:90px;color:#cfd4da}
.sr-cb{width:16px;height:16px;border-radius:3px;background:#59616b;flex:none}
.sr-akv{display:grid;grid-template-columns:140px 1fr;gap:8px 18px;margin:0 0 14px 64px;padding:6px 0 6px 22px;border-left:2px solid #3a414b}.sr-akv dt{font-weight:700;color:#e3e6ea}.sr-akv dd{margin:0;word-break:break-all;color:#e3e6ea}
/* apps */
.sr-apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.sr-app{background:var(--s-panel);border:1px solid var(--s-line2);border-radius:3px;padding:14px;cursor:pointer;display:grid;grid-template-columns:44px 1fr;column-gap:12px;row-gap:2px;align-items:center}
.sr-app:hover{border-color:var(--s-acc)}.sr-al{grid-row:span 3;width:44px;height:44px;border-radius:6px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:12px;background:#56616d}
.sr-al[data-c=splunk]{background:#18a058}.sr-al[data-c=ti]{background:#7b5cff}.sr-al[data-c=firewall]{background:#f97316}.sr-al[data-c=crowdstrike]{background:#b91c1c}.sr-al[data-c=entra]{background:#0078d4}.sr-al[data-c=ad]{background:#2563eb}.sr-al[data-c=aws]{background:#0f766e}.sr-al[data-c=o365]{background:#0f6cbd}
.sr-app b{font-size:13px;color:#f1f3f5}.sr-app small{color:var(--s-mut)}.sr-app em{font-style:normal;color:#7d8793;font-size:11.5px}.sr-actdoc{border-top:1px solid var(--s-line2);padding-top:6px}.sr-actdoc h4{text-transform:none;letter-spacing:0;font-size:13px;color:#f1f3f5}
/* --- VPE header (inside .sr-top) --- */
.sr-pbn{display:flex;align-items:center;gap:6px;color:#9aa3ad;margin-left:10px}.sr-pbn input{font:500 16px inherit!important;color:#fff!important;background:transparent!important;border:1px solid transparent!important;min-width:240px;padding:3px 6px!important}.sr-pbn input:hover,.sr-pbn input:focus{border-color:#4a515b!important}
.sr-zoom{display:flex;gap:2px}.sr-top .sr-btn{background:#16181b}.sr-top .sr-btn.pri{background:var(--s-accd);border-radius:16px;padding:6px 18px}
/* --- VPE --- */
.vpe{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}
.vpe-body{flex:1;display:flex;min-height:0}
.vpe-side{width:350px;flex:none;background:var(--s-side);border-right:1px solid #24272c;overflow:auto;display:flex;flex-direction:column;min-height:0}
.vpe-addh{display:flex;align-items:center;padding:18px 16px 8px}.vpe-addh h3{margin:0;font-size:18px;color:#fff;font-weight:700}
.vpe-sec{padding:6px 16px 14px;border-bottom:1px solid #24272c}.vpe-sec h6{margin:8px 0 8px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#cfd4da}
.vpe-pal{display:flex;align-items:center;gap:12px;padding:8px 4px;cursor:grab;user-select:none;font-weight:700;touch-action:none;border-radius:4px;color:#fff}.vpe-pal:hover{background:#1b1e22}
.vpe-pal .grip,.fp-row .grip{font-style:normal;color:#5e6670;letter-spacing:-2px;font-size:12px}.vpe-pal em{font-style:normal;width:15px;height:15px;border:1.5px solid #8b9097;border-radius:50%;display:grid;place-items:center;font-size:10px;color:#8b9097;font-weight:700}
.vpe-mi{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:4px;color:#fff;flex:none}.vpe-mi .ic{width:16px;height:16px}
.t-action.vpe-mi,.t-action .vpe-ico{background:#6fdc6a;color:#0f2a10}.t-playbook.vpe-mi,.t-playbook .vpe-ico{background:#d63ee0}.t-cf.vpe-mi,.t-cf .vpe-ico{background:#9b4df2}
.t-filter.vpe-mi,.t-filter .vpe-ico{background:#5b8cf6}.t-decision.vpe-mi,.t-decision .vpe-ico{background:#32d3bd;color:#062a24}.t-format.vpe-mi,.t-format .vpe-ico{background:#f0496d}.t-prompt.vpe-mi,.t-prompt .vpe-ico{background:#f6b62b;color:#2b1d00}
.vpe-hint{font-size:11.5px;color:var(--s-mut);line-height:1.55;padding:10px 16px;margin:0}.vpe-hint kbd{background:#2c3138;border:1px solid var(--s-line);border-radius:3px;padding:0 3px;font-size:10.5px}
.vpe-side textarea{width:100%}
.vpe-wrap{flex:1;min-width:0;overflow:auto;background-color:var(--s-canvas);background-image:radial-gradient(#3a3d42 1px,transparent 1.2px);background-size:22px 22px;position:relative}
.vpe-canvas{position:relative;transform-origin:0 0}.vpe-svg{position:absolute;left:0;top:0;overflow:visible}
.vpe-conn{fill:none;stroke:#8b9097;stroke-width:2;pointer-events:none}.vpe-conn.sel{stroke:var(--s-acc);stroke-width:3}.vpe-conn.tmp{stroke:var(--s-acc);stroke-dasharray:6 4}
.vpe-hit{fill:none;stroke:transparent;stroke-width:14;cursor:pointer;pointer-events:stroke}
/* blocks: card (icon tile + TYPE + name), diamond (filter/decision), start/end */
.vpe-blk{position:absolute;box-sizing:border-box;cursor:move;user-select:none;touch-action:none;color:var(--s-txt)}
.vpe-card,.vpe-se{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--s-blk);border:2px solid transparent;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.45)}
.vpe-card:hover,.vpe-se:hover{border-color:#4a4f57}.vpe-blk.sel.vpe-card,.vpe-blk.sel.vpe-se{border-color:#e0457b}
.vpe-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:4px;color:#fff;flex:none}.vpe-ico .ic{width:20px;height:20px}
.vpe-se .vpe-ico{background:#3b3f45;color:#e3e6ea}.vpe-se{align-items:center}
.vpe-bt{min-width:0;display:flex;flex-direction:column;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
.vpe-bt em{font-style:normal;font-size:11px;font-weight:700;color:#aab1b9;letter-spacing:.06em}.vpe-bt b{font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vpe-bt small{color:#8b9097;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.vpe-se .vpe-bt{font-family:inherit}.vpe-se .vpe-bt b{font-size:14px}
.vpe-dia{display:grid;place-items:center}.vpe-dsh{position:absolute;inset:12px;background:var(--s-blk);border:2px solid transparent;transform:rotate(45deg);border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.45)}
.vpe-dia:hover .vpe-dsh{border-color:#4a4f57}.vpe-blk.sel .vpe-dsh{border-color:#e0457b}.vpe-dia .vpe-ico{position:relative;width:30px;height:30px}
.vpe-dn{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;font-family:ui-monospace,Menlo,monospace;white-space:nowrap;pointer-events:none}
.vpe-dn em{font-style:normal;font-size:10px;font-weight:700;color:#aab1b9;letter-spacing:.06em}.vpe-dn b{font-size:12px;color:#fff}
.vpe-blk.st-success .vpe-ico{box-shadow:0 0 0 3px #5cc05c}.vpe-blk.st-failed .vpe-ico{box-shadow:0 0 0 3px #f06a6a}.vpe-blk.st-skipped{opacity:.45}
.vpe-badge{position:absolute;top:-9px;right:-9px;background:#e3e6ea;color:#111;border-radius:99px;font-size:10.5px;font-weight:700;padding:1px 6px;z-index:2}
.vpe-in,.vpe-port{position:absolute;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#fff;border:3px solid var(--s-canvas);box-sizing:border-box;z-index:2}
.vpe-in{top:-8px}.vpe-port{bottom:-8px;cursor:crosshair;box-shadow:0 0 0 1px #8b9097}.vpe-port:hover{background:var(--s-acc);box-shadow:0 0 0 2px var(--s-acc)}
.vpe-plus{position:absolute;left:calc(50% + 14px);bottom:-10px;width:18px;height:18px;border-radius:50%;background:#26282c;border:1px solid #8b9097;color:#e3e6ea;display:grid;place-items:center;font-weight:700;font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s;z-index:3}
.vpe-blk:hover .vpe-plus{opacity:1}.vpe-plus:hover{background:var(--s-acc);color:#fff;border-color:var(--s-acc)}
.vpe-pill{position:absolute;z-index:4;font:600 11.5px/1 -apple-system,"Segoe UI",sans-serif!important;border-radius:99px!important;padding:4px 8px!important;border:0!important;cursor:pointer;max-width:220px}
.vpe-pill.p-a{background:#5fd3b0!important;color:#06261d!important}.vpe-pill.p-b{background:#a98bf5!important;color:#1b0f3a!important}.vpe-pill.p-e{background:#c3c8ce!important;color:#16191d!important}
.vpe-menu{position:absolute;background:#1b1d21;border:1px solid var(--s-line);border-radius:6px;box-shadow:0 10px 28px rgba(0,0,0,.55);padding:6px;z-index:6;width:180px}.vpe-menu a{color:#e3e6ea;display:flex;gap:10px;align-items:center;padding:6px 8px;border-radius:4px;cursor:pointer;font-weight:600}.vpe-menu a:hover{background:#2b2f35}
.vpe-ghost{position:fixed;z-index:9999;pointer-events:none;background:#26282c;color:#fff;border:1px solid #3c9bff;border-radius:4px;padding:6px 10px;box-shadow:0 6px 16px rgba(0,0,0,.45);font:600 12.5px -apple-system,Segoe UI,sans-serif;display:flex;gap:8px;align-items:center}
/* block config panel (left, replaces "Add" while a block is selected — as in SOAR 6) */
.cfg-h{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 6px}.cfg-h>div{flex:1;min-width:0}.cfg-h em{font-style:normal;font-size:11.5px;font-weight:600;color:#aab1b9;letter-spacing:.05em}
.cfg-h h3{margin:2px 0 0;font-size:18px;color:#fff;word-break:break-all}.cfg-x{cursor:pointer;color:#cfd4da;font-size:20px;line-height:1;padding:2px 4px}.cfg-x:hover{color:#fff}
.cfg-tabs{display:flex;gap:22px;padding:4px 16px 0;border-bottom:1px solid #24272c}.cfg-tabs a{padding:8px 0;color:#9aa3ad;cursor:pointer;font-weight:600;font-size:14px;border-bottom:2px solid transparent}.cfg-tabs a.on{color:#fff;border-bottom-color:#fff}
.cfg-b{padding:10px 16px 16px;flex:1}.cfg-b>select,.cfg-b>input,.cfg-b>textarea,.vpe-cond>select{width:100%}
.cfg-f{display:flex;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid #24272c;position:sticky;bottom:0;background:var(--s-side)}.cfg-f .sr-btn{padding:7px 18px;background:transparent;border-color:#cfd4da;color:#fff}.cfg-f .sr-btn.danger{border-color:#5a3438;color:#ff9b9b}
.vpe-side .req{color:#ff8a8a}
.vpe-cond{border:1px solid #2c3036;border-radius:4px;padding:8px;margin:10px 0;display:grid;gap:6px;background:#15171a}
.vpe-cl{display:flex;align-items:center;gap:8px}.vpe-cl input{flex:1;min-width:0;font-weight:600}.vpe-cl a{cursor:pointer;color:#8b9097}.vpe-cn{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#5fd3b0;color:#06261d;font-weight:800;font-size:11px;flex:none}
.fp-list{margin-top:12px;display:grid;gap:8px}.fp-row{display:grid;grid-template-columns:12px 14px minmax(0,1fr) 18px 18px;gap:8px;align-items:start}.fp-row>.grip,.fp-i{padding-top:7px}.fp-i{font-weight:600;color:#e3e6ea}
.fp-x,.fp-add{cursor:pointer;color:#cfd4da;font-size:15px;padding-top:5px;text-align:center}.fp-x:hover,.fp-add:hover{color:#fff}
.sr-dpl{margin:4px 0;padding-left:18px;font-size:12px}.sr-dpl li{margin:3px 0;word-break:break-all}
.dp-row{display:flex;align-items:stretch;border:1px solid #4a515b;border-radius:3px;background:#000}.dp-row:focus-within{border-color:var(--s-acc)}
.dp-row input{flex:1;min-width:0;border:0!important;background:transparent!important;outline:none!important;padding:7px 10px!important;font-size:13px!important}
.dp-btn{flex:none;border:0;background:transparent;color:#cfd4da;font:400 20px/1 -apple-system,sans-serif;padding:0 10px;cursor:pointer}.dp-btn.on,.dp-btn:hover{color:#fff;background:#1d3550}
.dp-pop{margin:4px 0 8px;border:1px solid var(--s-line);border-radius:4px;background:#15171a;max-height:320px;overflow:auto;padding:6px}
.dp-g{margin-bottom:6px}.dp-g>b{display:block;font-size:11px;color:#5fd3b0;text-transform:uppercase;letter-spacing:.04em;padding:4px 4px 2px}
.dp-g a{display:flex;justify-content:space-between;gap:6px;padding:3px 4px;border-radius:3px;cursor:pointer;align-items:baseline}.dp-g a:hover{background:#232a33}.dp-g a code{background:none;padding:0;word-break:break-all}.dp-g a i{font-style:normal;color:#7d8793;font-size:10.5px;flex:none}
/* debugger (bottom, resizable) */
.vpe-debug{flex:none;height:230px;min-height:90px;border-top:1px solid #2c3036;background:#08090a;color:#d7dde4;display:flex;flex-direction:column;position:relative}
.vpe-grip{position:absolute;left:0;right:0;top:-5px;height:10px;cursor:ns-resize;z-index:5}.vpe-grip::after{content:"";position:absolute;left:50%;top:3px;width:44px;height:4px;margin-left:-22px;border-radius:2px;background:#4a515b}.vpe-grip:hover::after{background:var(--s-acc)}
.vpe-dh{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#121417;border-bottom:1px solid #23262b;flex:none;flex-wrap:wrap}.vpe-dh label{display:flex;gap:6px;align-items:center;color:var(--s-mut)}.vpe-dh input{width:110px}
.vpe-log{flex:1;min-height:0;overflow:auto;padding:6px 12px;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace}.vpe-log .lg{display:flex;gap:8px;background:none}.vpe-log .lg span{color:#6c7a89;flex:none}.vpe-log .lg b{color:#8ab4f8;flex:none;font-weight:500}.vpe-log pre{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit}
.vpe-log .lg-ok pre{color:#9fd29f}.vpe-log .lg-error pre{color:#ff9b9b}.vpe-log .lg-warn pre{color:#f5c26b}.vpe-log .lg-debug pre{color:#b7c3d0}.vpe-log .lg-info pre{color:#d7dde4}
.sr-evbody .vpe-log{background:#08090a;color:#d7dde4;border-radius:4px;max-height:300px;margin-top:10px}
/* --- custom function editor --- */
.cf-grid{display:grid;grid-template-columns:330px 1fr;gap:14px}.cf-main{min-width:0}
.cf-ed{display:flex;border:1px solid var(--s-line);border-radius:4px;overflow:hidden;background:#08090a;height:440px}
.cf-gut{margin:0;padding:10px 8px;background:#101215;color:#5b6672;text-align:right;font:12.5px/1.55 ui-monospace,Menlo,Consolas,monospace;overflow:hidden;user-select:none;min-width:38px}
.soar-console .cf-ed textarea#soar-code{flex:1;border:0;border-radius:0;background:#08090a;color:#e6edf3;font:12.5px/1.55 ui-monospace,Menlo,Consolas,monospace;padding:10px 12px;resize:none;white-space:pre;overflow:auto;tab-size:4;outline:none;width:auto}
.cf-test{margin-top:12px}.cf-out,.cf-err,.cf-api{margin:4px 0;background:#15171a;border:1px solid var(--s-line2);border-radius:4px;padding:8px;font:12px/1.5 ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto;color:#d6dde5}.cf-err{background:#2a1a1d;border-color:#5a3438;color:#ffb4b4}.cf-api{font-size:11px}
@media(max-width:1100px){.sr-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}.sr-grid2{grid-template-columns:1fr}.sr-inst{display:none}}
@media(max-width:900px){.cf-grid{grid-template-columns:1fr}.vpe-side{width:280px}.sr-search{display:none}}
.orgroot .soar-console :is(h1,h2,h3){color:#f1f3f5}.orgroot .soar-console a:not(.sr-lnk):not(.sr-crumb):not(.org-back){text-decoration:none}
.dp-row input::-webkit-calendar-picker-indicator{display:none!important}

/* ===== 2026-11-03 round 3: picker bar, Add panel collapse, action browser, Start/End config ===== */
.vpe-addh{justify-content:space-between}.vpe-addx{border:0;background:transparent;color:#cfd4da;cursor:pointer;padding:4px;border-radius:4px;display:grid;place-items:center}.vpe-addx:hover{background:#1b1e22;color:#fff}.vpe-addx .ic{width:20px;height:20px}
.vpe-side.mini{width:44px;align-items:center;padding-top:14px}
.vpe-bar{position:absolute;z-index:6;display:flex;gap:8px;padding:14px 18px;background:#2a2c31;border-radius:4px;box-shadow:0 8px 22px rgba(0,0,0,.55)}
.vpe-bar a{position:relative;cursor:pointer;display:block;border-radius:5px}.vpe-bar a:hover .vpe-mi{outline:2px solid #fff;outline-offset:1px}
.vpe-bar .vpe-mi{width:34px;height:34px;border-radius:4px}.vpe-bar .vpe-mi .ic{width:19px;height:19px}
.vpe-bar a:hover::after{content:attr(data-l);position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);background:#0b0c0e;color:#fff;font:600 12px -apple-system,"Segoe UI",sans-serif;padding:4px 8px;border-radius:4px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.5);pointer-events:none}
.cfx-seg{display:inline-flex;border:1px solid #4a515b;border-radius:4px;overflow:hidden;margin:2px 0 6px}.cfx-seg a{padding:6px 18px;cursor:pointer;color:#aab1b9;font-weight:600;background:#15171a}.cfx-seg a.on{background:#2b3139;color:#fff;box-shadow:inset 0 0 0 1px #cfd4da}
.act-seg{margin-top:6px}.act-q{width:100%!important;max-width:none!important;margin:8px 0}.act-list{display:grid;gap:2px}
.act-g h6{margin:12px 0 4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#cfd4da}.act-g h6 span{color:var(--s-mut);text-transform:none;letter-spacing:0;font-weight:400}
.act-it{display:flex;align-items:center;gap:10px;padding:6px;border-radius:4px;cursor:pointer}.act-it:hover{background:#1b1e22}.act-it .sr-al{width:28px;height:28px;font-size:11px;grid-row:auto}
.act-it>span:last-child{display:flex;flex-direction:column;min-width:0}.act-it b{color:#fff;font-size:13px}.act-it small{color:var(--s-mut);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.act-sel{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #2c3036;border-radius:4px;background:#15171a;margin:6px 0 10px}.act-sel .sr-al{width:34px;height:34px;grid-row:auto}.act-sel>div{flex:1;min-width:0;display:flex;flex-direction:column}.act-sel b{color:#fff}.act-sel small{color:var(--s-mut);font-size:11.5px}
.cfg-b h4 span{color:var(--s-mut);font-weight:400;text-transform:none;letter-spacing:0}
.vpe-dh .dbgin{width:150px}
/* ===== Custom function editor (SOAR layout) ===== */
.soar-console.is-cf .sr-body,.soar-console.is-inv .sr-body{overflow:hidden;display:flex}
.cfx{display:flex;flex:1;min-height:0}.cfx-side{width:400px;flex:none;overflow:auto;padding:16px 20px;background:#1d2127;border-right:1px solid #111}
.cfx-side h2{margin:6px 0 4px;font-size:18px;color:#fff;font-weight:600}.cfx-side h3{margin:22px 0 8px;font-size:15px;color:#fff;font-weight:700}
.cfx-side>input,.cfx-side>textarea{width:100%}.cfx-side label{display:block;margin:12px 0 5px;font-size:13px;color:#e3e6ea;font-weight:500}.cfx-side label em{font-style:normal;display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#8b9097;color:#1d2127;font-size:10px;font-weight:800;margin-left:4px}
.cfx-card{position:relative;background:#2a2f36;border-radius:4px;padding:6px 16px 14px;margin-bottom:10px}.cfx-card input{width:100%}.cfx-card .req{color:#e3e6ea;margin-left:1px}
.cfx-x{position:absolute;right:10px;top:8px;cursor:pointer;color:#aab1b9;font-size:14px}.cfx-x:hover{color:#fff}
.cfx-add{display:inline-block;color:var(--s-acc);cursor:pointer;font-weight:600;margin:2px 0 4px}
.cfx-api{margin-top:20px;border-top:1px solid #2c3036;padding-top:10px}.cfx-api summary{cursor:pointer;color:#cfd4da;font-weight:600}.cfx-api pre{margin:8px 0 0;background:#15171a;border:1px solid #2c3036;border-radius:4px;padding:8px;font:11px/1.5 ui-monospace,Menlo,monospace;white-space:pre-wrap;color:#d6dde5}
.cfx-main{flex:1;min-width:0;display:flex;flex-direction:column;background:#1e2127}
.cfx-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #111;background:#1d2127;flex:none}.cfx-bar>b{color:#fff;font-family:ui-monospace,Menlo,monospace}.cfx-bar .lk{width:11px;height:11px;vertical-align:-1px}
.soar-console .cf-ed{flex:1;min-height:0;display:flex;align-items:flex-start;overflow:auto;background:#1e2127;border:0;border-radius:0;height:auto;padding:10px 0 40px}
.cf-gut{flex:none;min-width:58px;padding:0 10px 0 6px;text-align:right;color:#5c6370;user-select:none;font:13px/20px ui-monospace,"SF Mono",Menlo,Consolas,monospace;background:transparent;position:sticky;left:0;z-index:1;background:#1e2127}
.cf-gut span{display:flex;justify-content:flex-end;align-items:center;gap:3px;height:20px}.lk{width:12px;height:12px;fill:none;stroke:#7b8494;stroke-width:2.4;stroke-linejoin:round}
.cf-code{flex:1;min-width:0;padding-left:8px}
.cf-hdr,.cf-hl,.soar-console .cf-bw textarea#soar-code{margin:0;font:13px/20px ui-monospace,"SF Mono",Menlo,Consolas,monospace;tab-size:4;white-space:pre;letter-spacing:0;padding:0;border:0}
.cf-hdr{color:#abb2bf;opacity:.92}.cf-bw{position:relative;width:max-content;min-width:100%}.cf-hl{color:#abb2bf;pointer-events:none}
.soar-console .cf-bw textarea#soar-code{position:absolute;inset:0;width:100%;height:100%;resize:none;overflow:hidden;background:transparent;color:transparent;caret-color:#fff;outline:none;border-radius:0}
.soar-console .cf-bw textarea#soar-code::selection{background:rgba(97,175,239,.3);color:transparent}
.py-k{color:#c678dd}.py-f{color:#61afef}.py-fn{color:#61afef}.py-s{color:#98c379}.py-c{color:#7f848e;font-style:italic}.py-n{color:#d19a66}.py-b{color:#56b6c2}.py-p{color:#e06c75}.py-o{color:#56b6c2}
/* ===== Investigation (event) page ===== */
.sr-ctx{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.06em;color:#fff;margin-left:auto;font-size:13px}.sr-ctx+.sr-sp{flex:1}
.iv{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}
.iv-h{display:flex;align-items:center;gap:14px;padding:10px 18px;background:#262c33;border-bottom:1px solid #15181c;flex:none;flex-wrap:wrap}
.iv-back{display:grid;place-items:center;width:30px;height:30px;border:1px solid #4a515b;border-radius:4px;color:#fff;cursor:pointer;font-size:20px;line-height:1}
.iv-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.iv-b{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:3px;font-size:10.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.iv-b .ic{width:12px;height:12px}.b-kind{background:#1a7ae0;color:#fff}.b-lbl{background:#4b545f;color:#fff}.b-sev{background:#f5c33b;color:#1b1b1b}.b-sev.sv-high{background:#e5484d;color:#fff}.b-sev.sv-low{background:#5cc05c;color:#0d1a0d}.b-tlp{background:#f5a623;color:#1b1b1b}
.iv-id{color:#cfd4da;font-size:12px;margin-left:4px}.iv-ti h1{margin:4px 0 0;font-size:18px;font-weight:600}
.iv-body{flex:1;display:flex;min-height:0}
.iv-side{width:320px;flex:none;display:flex;flex-direction:column;background:#2b3139;border-right:1px solid #15181c;min-height:0}
.iv-stabs{display:flex;border-bottom:1px solid #1d2127}.iv-stabs a{padding:11px 16px;color:#fff;font-weight:600;border-bottom:3px solid var(--s-acc)}
.iv-feed{flex:1;overflow:auto;padding:8px 0}.iv-it{display:flex;gap:10px;padding:8px 14px;border-bottom:1px solid #333a43}.iv-it[data-soar]{cursor:pointer}.iv-it[data-soar]:hover{background:#323a44}
.iv-ic{display:grid;place-items:center;width:24px;height:24px;border-radius:4px;flex:none;background:#6b5bd6;color:#fff}.iv-ic .ic{width:14px;height:14px}
.iv-it.k-pb .iv-ic,.iv-it.k-ok .iv-ic{background:#1a7ae0}.iv-it.k-bad .iv-ic{background:#c4383d}.iv-it.k-cmt .iv-ic{background:#4b545f}.iv-it.k-edit .iv-ic{background:#4b545f}.iv-it.k-art .iv-ic{background:#7b5cd6}
.iv-it p{margin:0;color:#e3e6ea;font-size:12.5px;word-break:break-word}.iv-it small{color:var(--s-mut);font-size:11px}
.iv-cmt{display:flex;gap:6px;padding:10px;border-top:1px solid #1d2127;align-items:flex-end}.iv-cmt textarea{flex:1;resize:vertical;min-height:36px}
.iv-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;background:#1d2127}
.iv-tabs{display:flex;align-items:stretch;background:#262c33;border-bottom:1px solid #15181c;padding-right:12px;flex:none}
.iv-tabs>a{display:flex;align-items:center;gap:6px;padding:12px 26px;color:#e3e6ea;cursor:pointer;border-right:1px solid #1b1f24;border-bottom:3px solid transparent;font-size:14px}.iv-tabs>a.on{border-bottom-color:var(--s-acc)}.iv-tabs>a span{color:var(--s-mut);font-size:12px}
.iv-pw{position:relative;align-self:center}.iv-pick{position:absolute;right:0;top:calc(100% + 6px);width:300px;background:#22272e;border:1px solid #3a414b;border-radius:4px;box-shadow:0 10px 26px rgba(0,0,0,.5);padding:8px;z-index:20}
.iv-pick h5{margin:2px 4px 6px;color:#cfd4da;font-size:12px}.iv-pick a{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;cursor:pointer;color:#e3e6ea}.iv-pick a:hover{background:#2f3640}.iv-pick a span{flex:1}.iv-pick a i{font-style:normal;color:var(--s-acc);font-weight:700;font-size:12px}
.iv-pane{flex:1;overflow:auto;padding:12px 18px 24px}.iv-tip{margin:12px 2px}
.ivtl{overflow-x:auto;background:#262c33;border:1px solid #1b1f24;border-radius:3px;padding:14px 14px 6px}
.ivtl-track{display:flex;gap:18px;align-items:flex-end;min-height:180px;border-bottom:2px solid #4b545f;position:relative;padding-bottom:4px;width:max-content;min-width:100%}
.ivtl-col{display:flex;flex-direction:column;align-items:flex-start;gap:6px;position:relative;padding-bottom:22px;min-width:150px}
.ivtl-chips{display:flex;flex-direction:column;gap:4px}.ivtl-chip{display:flex;align-items:center;gap:6px;background:#1b1f24;border:1px solid #3a414b;border-radius:3px;padding:2px 8px 2px 2px;color:#e3e6ea;font-size:11.5px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ivtl-chip[data-soar]{cursor:pointer}.ivtl-chip[data-soar]:hover{border-color:var(--s-acc)}.ivtl-chip span{display:grid;place-items:center;width:18px;height:18px;border-radius:2px;background:#6b5bd6;color:#fff;flex:none}.ivtl-chip span .ic{width:12px;height:12px}
.ivtl-chip.k-pb span{background:#1a7ae0}.ivtl-chip[class*="k-blk"] span{background:#1a7ae0}.ivtl-chip.st-failed span{background:#c4383d}.ivtl-chip.k-end span,.ivtl-chip.k-cmt span,.ivtl-chip.k-edit span{background:#4b545f}
.ivtl-dot{position:absolute;left:10px;bottom:-8px;width:12px;height:12px;border-radius:50%;background:#cfd4da;border:2px solid #262c33}.ivtl-t{position:absolute;left:0;bottom:-30px;color:var(--s-mut);font-size:11px;white-space:nowrap}
.ivtl{padding-bottom:34px}
.iv-log{margin-top:14px;background:#08090a;border:1px solid #23262b;border-radius:4px}.iv-lh{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #23262b}.iv-log .vpe-log{max-height:360px}
/* ===== SIEM asset saved searches ===== */
.sr-src{border:1px solid #2c3036;border-radius:4px;padding:8px 12px 12px;margin:8px 0;background:#1d2127}.sr-srch{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sr-srcg{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:10px}.sr-srcg input,.sr-srcg select{width:100%}
@media(max-width:1100px){.sr-srcg{grid-template-columns:1fr 1fr}.cfx-side{width:320px}.iv-side{width:260px}}
/* ===== Prompt dialog (body-level, outside .soar-console) ===== */
.sr-prompt-ov{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.6);display:grid;place-items:center;color-scheme:dark;font:13px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.sr-prompt{width:min(520px,92vw);background:#22272e;color:#e3e6ea;border:1px solid #3a414b;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.6);padding:18px 20px}
.sr-ph2{display:flex;gap:12px;align-items:center}.sr-ph2 em{display:block;font-style:normal;font-size:11px;color:#9aa3ad;letter-spacing:.04em}.sr-ph2 b{color:#fff;font-size:15px}
.sr-prompt .vpe-mi{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:4px;background:#f6b62b;color:#2b1d00}.sr-prompt .ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sr-pm{white-space:pre-wrap;background:#15171a;border:1px solid #2c3036;border-radius:4px;padding:12px;margin:14px 0 6px;font-size:14px}.sr-prompt .sr-mut{color:#9aa3ad;font-size:12px}
.sr-pa{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}.sr-pa input{flex:1;min-width:160px;border:1px solid #4a515b;border-radius:3px;padding:7px 9px;background:#15171a;color:#e3e6ea}.sr-pa .sr-sp{flex:1}
.sr-prompt .sr-btn{border:1px solid #3a414b;background:#2b3139;color:#e3e6ea;border-radius:3px;padding:7px 16px;font:600 13px inherit;cursor:pointer}.sr-prompt .sr-btn.pri{background:#1a7ae0;border-color:#1a7ae0;color:#fff}
/* ===== Apps → assets, Settings → Label Settings ===== */
.sr-appn{display:flex;align-items:center;gap:10px;cursor:pointer}.sr-appn .sr-al{grid-row:auto;width:34px;height:34px}.sr-appn>span:last-child{display:flex;flex-direction:column}.sr-appn b{color:#fff}.sr-appn small{color:var(--s-mut)}
.sr-h .sr-al{grid-row:auto;width:32px;height:32px}.sr-h h3{margin:0}
.as-tabs{display:flex;gap:0;border-bottom:1px solid var(--s-line)}.as-tabs a{padding:12px 22px;cursor:pointer;color:#cfd4da;font-weight:600;border-bottom:3px solid transparent}.as-tabs a.on{color:#fff;border-bottom-color:var(--s-acc)}
.as-body{padding:6px 20px 10px;max-width:760px}.as-body>input,.as-body>select{width:100%}.as-body input:disabled{opacity:.6}.as-body .req{color:#ff8a8a}
.as-rep{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:8px 10px;background:#15171a;border:1px solid #2c3036;border-radius:3px}.as-rep code{white-space:pre-wrap;word-break:break-all}
.as-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--s-line2)}
.st{display:flex;min-height:100%}.st-nav{width:240px;flex:none;background:#1d2127;border-right:1px solid #111;padding:14px 0}.st-nav h5{margin:0 16px 10px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--s-mut)}
.st-grp{display:block;padding:8px 16px;color:#fff;font-weight:600;cursor:pointer}.st-it{display:block;padding:8px 16px 8px 34px;color:#cfd4da;cursor:pointer}.st-it.on{background:#2b3139;color:#fff;box-shadow:inset 3px 0 0 var(--s-acc)}
.st-main{flex:1;min-width:0;padding:18px 22px;max-width:1100px}
/* hover ✕ (delete block), undo, approvals */
.vpe-x{position:absolute;top:-10px;right:-10px;width:22px;height:22px;border-radius:50%;background:#2b2e33;border:1px solid #5a606a;color:#e3e6ea;display:grid;place-items:center;font-size:11px;font-weight:700;cursor:pointer;opacity:0;transition:opacity .12s;z-index:4}
.vpe-blk:hover .vpe-x{opacity:1}.vpe-x:hover{background:#c4383d;border-color:#c4383d;color:#fff}
.vpe-dia .vpe-x{top:-2px;right:-2px}
.sr-bell{position:relative;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#cfd4da;cursor:pointer}.sr-bell:hover{background:#1d2026;color:#fff}.sr-bell .ic{width:18px;height:18px}
.sr-bell.on{color:#f6b62b}.sr-bell b{position:absolute;top:-2px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#e5484d;color:#fff;font-size:10.5px;display:grid;place-items:center;box-sizing:border-box}
.apr-st{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:700}.apr-pending{background:#f6b62b;color:#2b1d00}.apr-responded{background:#1f3a24;color:#9fe0a7}.apr-expired{background:#3a3f46;color:#cfd4da}
.apr-msg{max-width:420px;white-space:pre-wrap;word-break:break-word}
.iv-tabs>a span.pend{background:#f6b62b;color:#2b1d00;border-radius:9px;padding:0 6px;font-weight:700}
.vpe-log .lg-act{margin-left:auto;flex:none;color:#f6b62b;font-weight:700;cursor:pointer;white-space:nowrap}.vpe-log .lg-act:hover{text-decoration:underline}
.iv-it.k-apr .iv-ic{background:#c98a00}
.iv-tk{margin-left:8px;color:#9fd0ff;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none}.iv-tk:hover{text-decoration:underline}
.sr-al[data-c=itsm]{background:#2f6f4f}
/* Events list: multi-select + bulk action bar (slides in via TwjMotion when the first event is ticked) */
.sr-t .sr-ck{width:34px;padding-right:0;cursor:default}.sr-ck input{width:15px;height:15px;margin:0;accent-color:var(--s-acc);cursor:pointer;vertical-align:middle}
.sr-t tr.sel td{background:#1d2a3a}.sr-t tr.sel:hover td{background:#22324a}
.sr-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:#1b2635;border-bottom:1px solid var(--s-acc)}
.sr-bulk-n{color:#cfe6ff;font-weight:600}.sr-bulk-n b{font-variant-numeric:tabular-nums}.sr-bulk-sep{width:1px;align-self:stretch;background:var(--s-line);margin:0 4px}
.sr-bulk select{background:var(--s-panel2);color:var(--s-txt);border:1px solid var(--s-line);border-radius:3px;padding:4px 8px;font:12.5px inherit;color-scheme:dark}
.sr-bulk select:disabled{opacity:.5}
.sr-bulk-pg{margin:0;padding:7px 12px;background:var(--s-panel2);border-bottom:1px solid var(--s-line2);font-size:12.5px;color:var(--s-txt)}.sr-bulk-pg .pg-ok{color:var(--s-ok)}.sr-bulk-pg .pg-bad{color:var(--s-bad)}
.sr-prompt .sr-btn.danger{background:#a3323b;border-color:#a3323b;color:#fff}.sr-prompt .sr-btn.danger:hover{background:#bd3b45}

/* ===== Careers: ranks, role badges, achievements (apps/careers.js) ===== */
.cr-me{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.cr-me h2{margin:2px 0 4px}.cr-mid{min-width:0}.cr-emb svg{display:block;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}
.cr-myroles{max-width:330px}.cr-badgerow{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.cr-bbtn{border:0;background:transparent;padding:2px;border-radius:10px;cursor:pointer;line-height:0;transition:transform .15s var(--mo-e),background-color .15s}
.cr-bbtn:hover,.cr-bbtn:focus-visible{transform:translateY(-2px);background:var(--p2)}
.cr-hex{display:block;transition:filter .2s,opacity .2s}.cr-hex.lock{filter:grayscale(1);opacity:.32}
.cr-bar{display:block;height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin:8px 0 6px;min-width:80px}
.cr-bar i{display:block;height:100%;width:0;border-radius:99px;background:var(--c,var(--g));transition:width .5s var(--mo-e)}
.cr-tabs{margin-top:-4px}.cr-tabs button.on{font-weight:700}
.cr-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.cr-chip{border:1px solid var(--line);background:var(--p2);color:var(--txt);border-radius:99px;padding:5px 12px;font-size:13px;cursor:pointer}
.cr-chip.on{background:var(--c,var(--g));border-color:var(--c,var(--g));color:#fff}.cr-chip:not(.on):hover{border-color:var(--c,var(--g))}
.cr-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 4px;border-radius:99px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid var(--c);color:var(--txt);background:color-mix(in srgb,var(--c) 14%,transparent)}
.cr-pill svg{display:block}
.cr-mini{display:inline-flex;gap:3px;flex-wrap:wrap}.cr-mini svg{display:block}
.cr-table td{vertical-align:middle}.cr-prog{min-width:160px}.cr-prog .cr-bar{display:inline-block;width:110px;vertical-align:middle;margin:0 8px 0 0}
.cr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.card.cr-track{margin:0;border-top:4px solid var(--c)}.card.cr-track.got{box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 45%,transparent),var(--shadow)}
.cr-th{display:flex;align-items:center;gap:12px}.cr-th h3{margin:0}.cr-count{margin-left:auto;font-weight:700}
.cr-ach{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.cr-ach li{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center}
.cr-tick{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff}
.cr-ach li.done .cr-tick{background:var(--c);border-color:var(--c)}.cr-ach li.done b{color:var(--c)}
.cr-toast{display:flex;gap:10px;align-items:center}
.cr-acct{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:820px){.cr-me{grid-template-columns:auto 1fr}.cr-myroles{grid-column:1/-1;max-width:none}.cr-table{font-size:13px}.cr-table th:nth-child(4),.cr-table td:nth-child(4),.cr-table th:nth-child(5),.cr-table td:nth-child(5){display:none}}
.cr-bot{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.02em;vertical-align:1px;color:var(--mut,#667085);background:var(--p2);border:1px dashed var(--line)}
.cr-table tr.bot td{opacity:.92}
.cr-hidden{margin:8px 0 0;padding:6px 10px;border-radius:8px;background:var(--p2);border:1px solid var(--line)}
.cr-owed{margin-top:2px}.cr-foot{margin:10px 0 0}

/* settings module styles (poc/apps/settings.js): Settings page = left sub-nav + panes. Uses the page tokens (--acc, --line …). */
.set-top{margin:4px 0 6px}.set-top h1{font-size:28px;margin:0 0 2px}.set-top p{margin:0}
.set-wrap{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;align-items:start}
.set-nav{position:sticky;top:18px;display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.set-nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid transparent;color:var(--mut);padding:10px 12px;border-radius:10px;font:600 15px system-ui,Segoe UI,Roboto,sans-serif;cursor:pointer;transition:background .15s,color .15s}
.set-nav button:hover{background:var(--p2);color:var(--txt)}
.set-nav button.on{background:var(--accs,#e3f5ea);color:var(--acc2,var(--g))}
.set-nav button:focus-visible{outline:2px solid var(--acc,var(--g));outline-offset:1px}
.set-nav .ni{width:22px;text-align:center}
.set-body{min-width:0;max-width:860px}
.set-hero{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.set-av b{width:64px;height:64px;font-size:28px;border-radius:16px}
.set-hero-t{flex:1;min-width:240px}.set-hero-t h2{margin:0}.set-hero-t .xpbar{max-width:420px}
.set-form{max-width:460px}.set-form label{margin:12px 0 4px}.set-form label input{display:block;margin-top:6px;font-weight:400}.set-form label .small{display:block;font-weight:400;margin-top:4px}
.set-form input[readonly]{background:var(--p2);color:var(--mut);cursor:default}
.set-lbl{margin-top:14px}.set-sel{max-width:320px}
.set-code{max-width:220px;font:600 20px ui-monospace,Consolas,monospace!important;letter-spacing:.18em}
.set-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.set-msg{min-height:0;margin:8px 0 0;font-size:14px}.set-msg:empty{margin:0}.set-msg.err{color:var(--bad)}.set-msg.ok{color:var(--g)}
.set-confirm{font-weight:600;color:var(--bad);margin:0 0 8px}
.set-dl{display:grid;grid-template-columns:170px minmax(0,1fr);gap:6px 14px;margin:8px 0 12px}.set-dl dt{color:var(--mut)}.set-dl dd{margin:0;overflow-wrap:anywhere}
.set-tbl{width:100%;border-collapse:collapse;font-size:14px}.set-tbl td .small{display:block}.set-tbl td .small:empty{display:none}.set-tbl td span.small{display:inline;margin-left:4px}
.set-steps{margin:0 0 12px;padding-left:20px}.set-steps li{margin:4px 0}
.set-mfa-grid{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;margin-bottom:8px}
.set-qrbox{flex:none;width:208px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px}
.set-qr{display:block;width:100%;height:auto}.set-qr rect{fill:#111}.set-qr rect.bg{fill:#fff}
.set-key{font-size:18px;letter-spacing:.06em;padding:10px 12px;background:var(--p2);border:1px dashed var(--line);border-radius:10px;overflow-wrap:anywhere;user-select:all;max-width:340px}
.set-rc{display:grid;grid-template-columns:repeat(2,minmax(0,170px));gap:8px 18px;list-style:none;padding:14px 18px;margin:10px 0;background:var(--p2);border:1px dashed var(--line);border-radius:12px;font-size:16px;user-select:all}
.set-danger{border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}.set-danger h2{color:var(--bad)}
@media (max-width:900px){.set-wrap{grid-template-columns:1fr}.set-nav{position:static;flex-direction:row;flex-wrap:wrap}.set-nav button{width:auto}}
.set-body .btn:disabled{opacity:.5;cursor:default;filter:none}
.set-methods{list-style:none;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:8px}.set-methods li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--p2)}.set-methods li>div{flex:1;min-width:0;overflow-wrap:anywhere}.set-methods .tag{margin:0}.set-mi{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--panel);border:1px solid var(--line);font-weight:800}
/* Security > Advanced: the authenticator-app option, folded away (passkeys are the recommended way; Jono 2026-11-03) */
.set-adv{margin-top:2px}
.set-adv>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);color:var(--txt);transition:background .15s}
.set-adv>summary::-webkit-details-marker{display:none}
.set-adv>summary:hover{background:var(--p2)}
.set-adv>summary .small{color:var(--mut);margin-right:auto}
.set-adv>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg);transition:transform .25s ease;margin:-4px 4px 0}
.set-adv[open]>summary::after{transform:rotate(225deg);margin-top:4px}
.set-adv[open]>summary{margin-bottom:14px}
.set-adv[open]>.card{animation:set-adv-in .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes set-adv-in{from{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.set-adv[open]>.card{animation:none}.set-adv>summary::after{transition:none}}
/* "Confirm it's you" before changing sign-in methods or deleting the account */
.set-reauth{border:1px solid var(--line);background:var(--p2);border-radius:12px;padding:12px 14px;margin:0 0 12px;animation:set-adv-in .25s ease both}
.set-reauth .set-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}

/* tabintro module styles: first-visit tab explainer (poc/apps/tabintro.js) */
#tabintro{--ti-card:#ffffff;--ti-txt:#1d1d1f;--ti-mut:#5f6068;--ti-line:rgba(17,17,26,.1);--ti-chip:rgba(123,92,255,.1);--ti-scrim:rgba(18,16,40,.38);
 position:fixed;inset:0;z-index:2050;display:grid;place-items:center;padding:16px}
body.dark #tabintro{--ti-card:#1b1b23;--ti-txt:#f2f2f6;--ti-mut:#a6a6b2;--ti-line:rgba(255,255,255,.1);--ti-chip:rgba(180,140,255,.14);--ti-scrim:rgba(0,0,0,.55)}
#tabintro.hidden{display:none}
#tabintro .ti-scrim{position:absolute;inset:0;background:var(--ti-scrim);-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);animation:tiScrim .32s ease both}
#tabintro .ti-card{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--ti-card);color:var(--ti-txt);border:1px solid var(--ti-line);border-radius:22px;
 padding:26px 28px 22px;box-shadow:0 30px 80px -20px rgba(20,10,60,.45),0 2px 6px rgba(0,0,0,.08);animation:tiIn .32s cubic-bezier(.2,.8,.2,1) both}
#tabintro.out{pointer-events:none}
#tabintro.out .ti-scrim{animation:tiScrimOut .22s ease both}
#tabintro.out .ti-card{animation:tiOut .2s ease both}
/* the blur itself eases in (and out) with the tint, so the page goes soft gradually instead of snapping */
@keyframes tiScrim{from{opacity:0;-webkit-backdrop-filter:blur(0) saturate(100%);backdrop-filter:blur(0) saturate(100%)}}
@keyframes tiScrimOut{to{opacity:0;-webkit-backdrop-filter:blur(0) saturate(100%);backdrop-filter:blur(0) saturate(100%)}}
@keyframes tiIn{from{opacity:0;transform:translateY(14px) scale(.96)}}
@keyframes tiOut{to{opacity:0;transform:translateY(8px) scale(.97)}}
#tabintro .ti-hd{display:flex;align-items:center;gap:14px;margin-bottom:14px}
#tabintro .ti-ic{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:var(--ti-chip)}
#tabintro .ti-hd small{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc,var(--g))}
#tabintro h2{margin:2px 0 0;font-size:22px;line-height:1.2;color:var(--ti-txt)}
#tabintro .ti-bd{font-size:15px;line-height:1.55;color:var(--ti-txt)}
#tabintro .ti-bd p{margin:0 0 10px}
#tabintro .ti-bd ul{margin:0 0 10px;padding-left:20px}#tabintro .ti-bd li{margin:4px 0}
#tabintro .ti-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px}
#tabintro .ti-stack div{border:1px solid var(--ti-line);border-radius:12px;padding:8px 11px}
#tabintro .ti-stack dt{font-weight:700;font-size:14px;color:var(--ti-txt)}#tabintro .ti-stack dd{margin:1px 0 0;font-size:12.5px;color:var(--ti-mut)}
#tabintro .ti-note{font-size:12.5px;color:var(--ti-mut);border-top:1px solid var(--ti-line);padding-top:10px;margin:6px 0 0}
#tabintro .ti-ft{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
#tabintro .ti-ft .chk{color:var(--ti-mut);font-size:14px}
#tabintro #ti-ok{min-width:96px}
@media (max-width:480px){#tabintro .ti-card{padding:22px 18px 18px}#tabintro .ti-stack{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){#tabintro .ti-scrim,#tabintro .ti-card{animation:none!important}}

/* tour module styles: first-run portal walkthrough (poc/apps/tour.js) */
#tour{--tr-card:#ffffff;--tr-txt:#1d1d1f;--tr-mut:#5f6068;--tr-line:rgba(17,17,26,.1);--tr-chip:rgba(123,92,255,.1);--tr-scrim:rgba(18,16,40,.55);--tr-ring:var(--acc,var(--g));
 position:fixed;inset:0;z-index:2040;animation:trIn .3s ease both}
body.dark #tour{--tr-card:#1b1b23;--tr-txt:#f2f2f6;--tr-mut:#a6a6b2;--tr-line:rgba(255,255,255,.1);--tr-chip:rgba(180,140,255,.14);--tr-scrim:rgba(0,0,0,.66)}
#tour.hidden{display:none}
#tour.out{pointer-events:none;animation:trOut .24s ease both}
/* the dim is an SVG mask with two rounded holes: the spotlight, and the menu item of the section you're on.
   tour.js eases both holes, their rings and the card every frame */
#tour .tr-dim{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#tour .tr-fill{fill:var(--tr-scrim)}
#tour .tr-spot{position:fixed;border-radius:14px;pointer-events:none;box-shadow:0 0 0 3px var(--tr-ring);animation:trRing 2.4s ease-in-out infinite;transition:opacity .25s ease}
#tour .tr-spot.none{opacity:0;animation:none}
#tour .tr-here{position:fixed;border-radius:12px;pointer-events:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--tr-ring) 75%,transparent);opacity:0;transition:opacity .3s ease}
#tour .tr-here.on{opacity:1}
#tour .tr-here span{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
 color:#fff;background:var(--tr-ring);padding:4px 9px;border-radius:999px;box-shadow:0 6px 16px -6px rgba(20,10,60,.5)}
#tour .tr-here span::before{content:"";position:absolute;left:-4px;top:50%;width:8px;height:8px;background:inherit;transform:translateY(-50%) rotate(45deg);border-radius:1px}
#tour .tr-card{position:fixed;width:min(380px,calc(100vw - 32px));background:var(--tr-card);color:var(--tr-txt);border:1px solid var(--tr-line);border-radius:20px;
 padding:18px 20px 14px;box-shadow:0 30px 80px -20px rgba(20,10,60,.5),0 2px 6px rgba(0,0,0,.08)}
#tour .tr-card.swap .tr-hd,#tour .tr-card.swap .tr-bd{animation:trSwap .34s ease both}
#tour .tr-hd{display:flex;align-items:center;gap:12px;margin-bottom:10px}
#tour .tr-ic{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:22px;background:var(--tr-chip)}
#tour .tr-ttl{flex:1;min-width:0}
#tour .tr-hd small{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tr-ring)}
#tour h2{margin:2px 0 0;font-size:19px;line-height:1.2;color:var(--tr-txt)}
#tour .tr-x{flex:none;align-self:flex-start;width:30px;height:30px;border-radius:50%;border:0;background:transparent;color:var(--tr-mut);font-size:22px;line-height:1;cursor:pointer}
#tour .tr-x:hover{background:var(--tr-chip);color:var(--tr-txt)}
#tour .tr-bd{font-size:14.5px;line-height:1.55}
#tour .tr-bd p{margin:0 0 8px}#tour .tr-bd ul{margin:0 0 8px;padding-left:18px}#tour .tr-bd li{margin:3px 0}
#tour .tr-bar{height:4px;border-radius:4px;background:var(--tr-line);overflow:hidden;margin:10px 0 12px}
#tour .tr-bar i{display:block;height:100%;width:0;border-radius:4px;background:var(--tr-ring);transition:width .45s cubic-bezier(.2,.8,.2,1)}
#tour .tr-ft{display:flex;align-items:center;gap:8px}#tour .tr-sp{flex:1}
#tour .tr-ft .btn{padding:8px 16px;font-size:14px}
#tour .tr-skip{border:0;background:transparent;color:var(--tr-mut);font-size:13px;font-weight:600;cursor:pointer;padding:6px 2px;text-decoration:underline;text-underline-offset:3px}
#tour .tr-skip:hover{color:var(--tr-txt)}
@keyframes trIn{from{opacity:0}}
@keyframes trOut{to{opacity:0}}
@keyframes trSwap{from{opacity:0;transform:translateY(6px)}}
@keyframes trRing{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--tr-ring) 55%,transparent)}}
@media (prefers-reduced-motion:reduce){#tour,#tour *{animation:none!important;transition:none!important}}

.orgroot{font-family:"Segoe UI","Segoe UI Web",-apple-system,Helvetica,Arial,sans-serif;color:#323130}
.org-land{padding:28px 8px}.org-land h2{font-family:inherit;margin:0 0 4px}.org-land .sub{color:#8a94a6;font-size:13px;margin:0 0 22px}
.org-tiles{display:flex;gap:28px;flex-wrap:wrap}.org-tile{width:220px;height:220px;border-radius:14px;border:1px solid #d0d7de;background:#fff;color:#1b1b1b;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font:600 17px "Segoe UI",Arial,sans-serif;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:transform .12s,box-shadow .12s}
.org-tile:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.28)}.org-tile small{font-weight:400;font-size:12px;color:#605e5c;text-align:center;padding:0 14px;line-height:1.35}
/* toolstack role (Jono 2026-11-03): what each Org app is for in the security stack */
.org-tile .org-cat{font:600 10.5px/1.3 "Segoe UI",Arial,sans-serif;font-style:normal;letter-spacing:.02em;text-align:center;max-width:190px;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.07);color:#3b3a39;margin-top:-4px}
.org-tile:is(.aws,.cs,.def,.ad,.fw,.soar) .org-cat{background:rgba(255,255,255,.16);color:#fff}
body.dark .org-tile:not(.aws):not(.cs):not(.def):not(.ad):not(.fw):not(.soar) .org-cat{background:rgba(255,255,255,.12);color:#e6e9ee}.org-tile.aws{background:#12343b;color:#fff;border-color:#12343b}.org-tile.aws small{color:#d5dbdb}
.org-tile svg{width:84px;height:84px}
.org-tile.cs{background:#101114;color:#fff;border-color:#2a2b30}.org-tile.cs small{color:#b9bcc4}.org-tile.def{background:#4854c7;color:#fff;border-color:#4854c7}.org-tile.def small{color:#e3e5fb}.org-tile.ad{background:#0b5cab;color:#fff;border-color:#0b5cab}.org-tile.ad small{color:#d6e6f8}
/* ---- motion tokens (Notes rail, portals, modals, side panels) ---- */
:root{--mo-d:.24s;--mo-e:cubic-bezier(.2,.7,.2,1)}
main{max-width:100vw;transition:max-width var(--mo-d) var(--mo-e),padding var(--mo-d) var(--mo-e)}
.notesrail:not(.hidden){animation:moSlideL var(--mo-d) var(--mo-e)}.notesrail.ncol:not(.hidden){animation:moFade var(--mo-d) var(--mo-e)}
.modal:not(.hidden),.org-modal{animation:moFade var(--mo-d) var(--mo-e)}.org-mbox,.modal:not(.hidden) .mbox{animation:moPop var(--mo-d) var(--mo-e)}
.cs-side,.def-fly{animation:moSlideL var(--mo-d) var(--mo-e)}.cs-fly{animation:moSlideL var(--mo-d) var(--mo-e)}
@keyframes moSlideL{from{opacity:0;transform:translateX(24px)}}@keyframes moFade{from{opacity:0}}@keyframes moPop{from{opacity:0;transform:scale(.96)}}@keyframes moDrop{from{opacity:0;transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){main,.notesrail,.modal,.org-modal,.org-mbox,.cs-side,.def-fly,.cs-fly{transition:none!important;animation:none!important}}
/* ---- lab-wide motion (Jono 2026-11-03: "anything that expands or moves around gets a smooth animation") ----
   Open/close/expand of anything toggled with .hidden is animated by TwjMotion (head script); this CSS adds state colour
   transitions (zero specificity, so any component's own transition wins) and an entrance for floating menus/popovers that
   are created on demand. Uses the individual `translate`/`scale` properties so a component's own transform is kept. */
:where(button,a,input,select,textarea,summary,[role=tab],[role=button],[role=menuitem],.nav,.chip,.pill,.tab){transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s}
:where(.o-pop,.aws-pop,.aws-smenu,.cs-pop,.az-pmenu,.ad-menu,.fd-menu,.pinpop,.vpe-bar,.vpe-menu,.sr-menu,.dp-pop,.smenu,.dpop,.ddrop,.dpmenu,[role=menu],[role=listbox],[role=tooltip]){animation:moIn .16s var(--mo-e)}
:where([aria-expanded]) :where(.chev,.caret,.ex){transition:transform .2s var(--mo-e)}
@keyframes moIn{from{opacity:0;translate:0 -6px;scale:.98}}
/* ---- remediation buttons + confirm ---- */
.org-rem{display:inline-flex;gap:6px;flex-wrap:wrap;margin:0 8px}.rem.done{opacity:.75}.org-modal{position:fixed;inset:0;background:#0007;display:flex;align-items:center;justify-content:center;z-index:90}
.org-mbox{background:#fff;color:#222;border-radius:8px;padding:20px 24px;max-width:460px;box-shadow:0 10px 40px #0006}.org-mbox h3{margin:0 0 8px}.org-mbox .r{text-align:right;margin-top:14px}.org-siem.pri{background:#0078d4;color:#fff;border-color:#0078d4}
/* ---- CrowdStrike Falcon (2026-11-02 Claude: real-console chrome — ☰ menu over the page, module rail + flyouts, light/dark theme; refs ops/refs/crowdstrike-*.png) ---- */
.cs-console{--cs-bg:#ececed;--cs-card:#fff;--cs-bd:#d9d9dc;--cs-tx:#1c1c1e;--cs-mut:#68686e;--cs-row:#f6f6f7;--cs-hov:#e5f4f5;--cs-selr:#d3eef0;--cs-link:#0b6a99;--cs-mono:"SFMono-Regular",Menlo,Consolas,monospace;
 background:var(--cs-bg);color:var(--cs-tx);font:13px -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;display:flex;flex-direction:column;flex:1;min-height:0;height:100%;position:relative;overflow:hidden}
.cs-console.dark{--cs-bg:#121213;--cs-card:#1d1d1f;--cs-bd:#343438;--cs-tx:#e6e6e8;--cs-mut:#9c9ca3;--cs-row:#232326;--cs-hov:#14302f;--cs-selr:#183c3b;--cs-link:#5ec2ef}
.cs-top{background:#141415;color:#ececee;height:50px;display:flex;align-items:center;gap:12px;padding:0 16px 0 10px;flex:none;position:relative;z-index:32;border-bottom:1px solid #000}
.cs-top svg{fill:currentColor;display:block}
.cs-org{color:#9c9ca3;font-size:11.5px;border:1px solid #38383c;border-radius:3px;padding:2px 7px;cursor:pointer;white-space:nowrap}.cs-org:hover{color:#fff;border-color:#68686e}
.cs-ham{cursor:pointer;padding:5px;border-radius:4px;color:#f2f2f4}.cs-ham:hover,.cs-ham.on{background:#323235}
.cs-bc{display:flex;align-items:center;gap:10px;min-width:0;flex:1;white-space:nowrap;font-size:14.5px;overflow:hidden}.cs-bc .mod{font-weight:600;color:#fff;cursor:pointer}.cs-bc .vs{width:1px;height:20px;background:#55555a;flex:none}.cs-bc .pg{color:#cfcfd4;overflow:hidden;text-overflow:ellipsis}.cs-bc a.pg{cursor:pointer}.cs-bc a:hover{text-decoration:underline}.cs-bc .sep{color:#77777d}.cs-mi{color:#f2f2f4;flex:none}.cs-bm{cursor:pointer;color:#cfcfd4;flex:none}
.cs-search{flex:0 1 320px;border:1px solid #a0a0a6;border-radius:3px;height:32px;display:flex;gap:8px;align-items:center;justify-content:center;padding:0 10px;color:#fff;cursor:text}.cs-search input{background:none;border:0;color:#fff;outline:0;width:64px;font-size:14.5px;padding:0}.cs-search input::placeholder{color:#f2f2f4}.cs-search:focus-within{border-color:#fff;justify-content:flex-start}.cs-search:focus-within input{width:100%}
.cs-tr{flex:1;display:flex;justify-content:flex-end;gap:20px;align-items:center}.cs-tr a{cursor:pointer;color:#f2f2f4;position:relative}.cs-tr a:hover{color:#fff}.cs-tr i{position:absolute;top:-7px;right:-10px;background:#e0182d;color:#fff;font:600 9.5px/15px sans-serif;border-radius:8px;padding:0 4px;min-width:15px;text-align:center}
.cs-um{position:absolute;right:52px;top:46px;background:#262628;color:#e6e6e8;border:1px solid #3a3a3e;border-radius:4px;box-shadow:0 8px 24px #0009;padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:12.5px;z-index:40;min-width:240px}.cs-um span{color:#a3a3a9}.cs-um hr{border:0;border-top:1px solid #3a3a3e;margin:6px 0;width:100%}.cs-um a{cursor:pointer;color:#5ec2ef}
.cs-body{display:flex;flex:1;min-height:0;position:relative}
.cs-scrim{position:absolute;inset:0;z-index:28}
.cs-rail{position:absolute;left:0;top:0;bottom:0;width:260px;background:#222224;color:#e6e6e8;overflow:auto;padding:6px 0 48px;z-index:30;box-shadow:2px 0 10px #0006}
.cs-ri{display:flex;align-items:center;gap:14px;padding:11px 16px 11px 13px;cursor:pointer;font-size:14.5px;border-left:3px solid transparent;color:#dcdce0}.cs-ri:hover{background:#2e2e31}.cs-ri.on{color:#fff;font-weight:600}.cs-ri.op{background:#353538;border-left-color:#3aa0d8;color:#fff}.cs-ri .i{color:#c8c8cd;flex:none;display:flex}.cs-ri svg{fill:currentColor}
.cs-rx{position:absolute;bottom:10px;right:10px;background:#38383c;border-radius:3px;padding:3px 4px;cursor:pointer;color:#dcdce0;display:flex}.cs-rx svg{fill:currentColor}.cs-rx:hover{background:#48484d}
.cs-fly{position:absolute;left:260px;top:0;bottom:0;width:300px;background:#303033;color:#e6e6e8;z-index:30;overflow:auto;box-shadow:6px 0 18px #0007;padding:4px 18px 20px}
.cs-fly h3{font-size:19px;font-weight:500;margin:16px 0 8px;color:#fff;padding-bottom:14px;border-bottom:1px solid #48484c}
.cs-fs{font-weight:600;font-size:14.5px;padding:14px 0 6px;display:flex;align-items:center;gap:4px;cursor:pointer;color:#fff;user-select:none}.cs-fs .cv{display:flex}.cs-fs .cv svg{fill:currentColor}.cs-fs .cv.up{transform:rotate(-90deg)}
.cs-fn{padding:9px 8px;margin:0 -8px;cursor:pointer;color:#d6d6db;font-size:14px;border-radius:3px;display:flex;align-items:center;gap:8px}.cs-fn:hover{background:#3e3e42;color:#fff}.cs-fn.cur{background:#3e3e42;color:#fff;box-shadow:inset 3px 0 #3aa0d8}
.cs-fsep{height:1px;background:#48484c;margin:12px 0 2px}
.cs-main{flex:1;min-width:0;padding:14px 16px 18px;overflow:auto;background:var(--cs-bg)}
.cs-main h1{font-size:20px;font-weight:500;margin:2px 0 12px;color:var(--cs-tx)}.cs-main h1 small{color:var(--cs-mut);font-size:13px;font-weight:400}
.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin-bottom:12px}
.cs-w,.cs-panel,.cs-dhead{background:var(--cs-card);border:1px solid var(--cs-bd);border-radius:4px;box-shadow:0 1px 2px #0000000d}
.cs-w{padding:16px 18px;min-height:180px;display:flex;flex-direction:column;position:relative}.cs-w.click{cursor:pointer}
.cs-w h2,.cs-panel h2{font-size:16px;font-weight:500;margin:0 0 4px;color:var(--cs-tx)}.wsub{color:var(--cs-mut);font-size:12.5px;margin-bottom:8px}
.cs-kb{position:absolute;top:12px;right:12px;color:var(--cs-mut);padding:4px;border-radius:3px;display:flex;cursor:pointer;background:var(--cs-row)}.cs-kb svg{fill:currentColor}
.cs-panel{padding:16px 18px;overflow:auto;min-width:0;margin-bottom:12px;position:relative}.cs-panel h2{margin-bottom:12px}.cs-panel h2+.wsub{margin-top:-8px}
.cs-big{font-size:36px;font-weight:300;margin:4px 0 6px}
.cs-sr{display:flex;justify-content:space-between;padding:3px 0;font-size:13px}.cs-sr:hover{color:var(--cs-link)}
.cs-hl{list-style:none;margin:0;padding:0}.cs-hl li{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--cs-bd)}.cs-hl a{color:var(--cs-link);font-family:var(--cs-mono);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.cs-tot{display:flex;justify-content:space-between;margin-top:auto;padding-top:10px;font-size:15px}.cs-tot b{font-weight:500}
.cs-nodata{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:20px;color:var(--cs-tx);padding:16px 0}.cs-nodata svg{fill:currentColor}
.cs-tbl{width:100%;border-collapse:separate;border-spacing:0 6px}.cs-tbl th{text-align:left;color:var(--cs-tx);font-weight:400;font-size:12px;padding:2px 16px}.cs-tbl td{padding:12px 16px;background:var(--cs-card);border-top:1px solid var(--cs-bd);border-bottom:1px solid var(--cs-bd);color:var(--cs-tx);box-shadow:0 1px 3px #00000012}.cs-tbl td:first-child{border-left:1px solid var(--cs-bd);border-radius:3px 0 0 3px}.cs-tbl td:last-child{border-right:1px solid var(--cs-bd);border-radius:0 3px 3px 0}.cs-tbl tr.click{cursor:pointer}.cs-tbl tr.click:hover td{background:var(--cs-hov)}
.cs-tbl a,.cs-link{color:var(--cs-link);text-decoration:underline;cursor:pointer}.cs-mono{font-family:var(--cs-mono);font-size:12.5px}
.cs-tt{display:inline-flex;align-items:center;gap:6px}.cs-inf{display:flex}.cs-inf svg{fill:var(--cs-tx)}
.cs-bars{display:flex;flex-direction:column;gap:8px}.cs-bar{display:grid;grid-template-columns:180px 1fr 44px;gap:12px;align-items:center;font-size:13px;cursor:pointer}.cs-bar .t{height:24px;background:var(--cs-row);overflow:hidden}.cs-bar .t i{display:block;height:100%}.cs-bar b{text-align:right;font-weight:500}.cs-bar:hover span:first-child{color:var(--cs-link);text-decoration:underline}
.cs-bar .c0{background:#c04a7f}.cs-bar .c1{background:#3e96a0}.cs-bar .c2{background:#8a63c4}.cs-bar .c3{background:#e08a30}.cs-bar .c4{background:#4a7fd1}.cs-bar .c5{background:#5aa65c}
.cs-ptitle,.cs-htabs{background:#141415;margin:-14px -16px 0}.cs-ptitle{padding:14px 18px 4px}.cs-ptitle h1{color:#fff!important;margin:0!important}
.cs-htabs{display:flex;gap:32px;padding:0 18px;border-bottom:1px solid #2a2a2d}.cs-htabs span{color:#cfcfd4;font-size:14.5px;padding:14px 4px 11px;cursor:pointer;border-bottom:3px solid transparent}.cs-htabs span.on{color:#fff;font-weight:600;border-bottom-color:#2fc2d8}
.cs-hbar{display:flex;gap:6px;align-items:center;background:#141415;padding:10px 12px;margin:0 -16px}.cs-hbar .b{background:#2c2c2f;color:#ececee;border:0;border-radius:3px;height:34px;padding:0 12px;font-size:14px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px}.cs-hbar .b svg{fill:currentColor}.cs-hbar .b:hover{background:#3a3a3e}.cs-hbar .b b{font-weight:400;font-size:16px}
.cs-hq{flex:1;display:flex;align-items:center;gap:6px;background:#1d1d1f;border:1px solid #333336;border-radius:3px;min-height:36px;padding:3px 4px;min-width:0;flex-wrap:wrap}.cs-sa{display:flex;align-items:center;gap:6px;background:#2c2c2f;border-radius:3px;padding:0 10px;height:28px;color:#ececee}.cs-sa svg{fill:currentColor;flex:none}.cs-sa input{background:none;border:0;outline:0;color:#fff;font-size:14px;width:140px}.cs-sa input::placeholder{color:#ececee}.cs-hq .b{height:28px}
.cs-pill{display:inline-flex;gap:8px;align-items:center;background:#0f4a55;color:#e3fbff;border-radius:3px;padding:4px 8px;font-size:12.5px;white-space:nowrap}.cs-pill a{cursor:pointer;opacity:.8}.cs-pill a:hover{opacity:1}
.cs-hbar .ap{background:#bdf0f7;color:#0c3a41;font-weight:600}.cs-hbar .ap:hover{background:#8fe3ef}.cs-hbar .cl[disabled]{color:#76767c;background:#232325;cursor:default}.cs-hbar .oc{color:#ececee;font-size:14px;padding:0 6px;white-space:nowrap}
.cs-fcards{display:flex;gap:2px;background:#141415;padding:2px 12px 16px;margin:0 -16px;overflow-x:auto}.cs-fcards>div{flex:0 0 200px;height:190px;overflow:auto;background:#1d1d1f;padding:0 12px 8px}.cs-fcards h4{margin:0 -12px 10px;font-size:14px;font-weight:600;color:#f2f2f4;background:#252527;padding:11px 12px;position:sticky;top:0}
.cs-fcards label{display:flex;justify-content:space-between;gap:8px;color:#e0e0e4;font-size:13.5px;margin:8px 0;cursor:pointer}.cs-fcards label span{display:flex;gap:8px;align-items:flex-start;flex:1;min-width:0}.cs-fcards label input{margin:2px 0 0;flex:none;width:auto;height:auto;accent-color:#2fc2d8}.cs-fcards label i{font-style:normal;color:#a3a3a9}
.cs-hcount{background:#141415;color:#ececee;font-size:14px;padding:14px 18px;margin:0 -16px;border-top:1px solid #000}
.cs-split{display:flex;align-items:flex-start;margin:0 -16px -18px;min-height:calc(100% - 40px);background:var(--cs-card)}.cs-hwrap{flex:1;min-width:0;overflow-x:auto}
.cs-htbl{width:100%;border-collapse:collapse;background:var(--cs-card);font-size:13.5px;color:var(--cs-tx)}.cs-htbl th{text-align:left;font-weight:400;padding:15px 12px;border-bottom:1px solid var(--cs-bd);white-space:nowrap;cursor:pointer;background:var(--cs-card);position:sticky;top:0;z-index:1}.cs-htbl th:nth-child(n+3)::before{content:"";position:absolute;left:0;top:50%;height:16px;margin-top:-8px;width:1px;background:var(--cs-bd)}
.cs-htbl th .sg{color:var(--cs-mut);font-size:11px;margin-left:8px}.cs-htbl td{padding:17px 12px;border-bottom:1px solid var(--cs-bd);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.cs-htbl tbody tr{cursor:pointer}.cs-htbl tbody tr:nth-child(even) td{background:var(--cs-row)}.cs-htbl tbody tr:hover td{background:var(--cs-hov)}.cs-htbl tr.sel td{background:var(--cs-selr)!important}.cs-htbl .ck{width:20px;padding-left:16px}.cs-htbl .ck input{width:auto;height:auto;margin:0}.cs-none{text-align:center;color:var(--cs-mut);padding:48px!important}
.cs-hstub{background:var(--cs-card);padding:60px;color:var(--cs-mut);text-align:center;margin:0 -16px}
.cs-side{width:390px;flex:none;align-self:stretch;background:var(--cs-card);border-left:1px solid var(--cs-bd);padding:16px 18px;overflow:auto;box-shadow:-4px 0 12px #0000001f;color:var(--cs-tx)}
.cs-sh{display:flex;justify-content:space-between;align-items:center;font-size:17px;margin-bottom:8px}.cs-x{cursor:pointer;color:var(--cs-mut);font-size:15px}.cs-side h3{font-size:15px;font-weight:600;margin:6px 0}.cs-sdesc{color:var(--cs-mut);font-size:12.5px;margin:0 0 8px;line-height:1.45}
.cs-online{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--cs-mut);margin-bottom:4px}
.cs-fh{padding:14px 0 6px;color:var(--cs-tx);font-size:13.5px;font-weight:600;border-top:1px solid var(--cs-bd);margin-top:10px;display:flex;justify-content:space-between}.cs-fh a{font-weight:400}.cs-mini{font-size:12.5px;margin:6px 0}
.cs-cont{display:inline-block;padding:1px 8px;border-radius:3px;background:#dcf2e2;color:#1d6b33;font-size:11.5px}.cs-cont.on{background:#c7161d;color:#fff}.cs-acts{margin:12px 0;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cs-btn{background:#2c2c2f;color:#fff;border:0;border-radius:3px;padding:7px 14px;cursor:pointer;font-weight:600;font-size:12.5px}.cs-btn:hover{background:#3a3a3e}.cs-btn.pri{background:#bdf0f7;color:#0c3a41}.cs-btn.pri:hover{background:#8fe3ef}.cs-btn.done{background:#8a8a90}
.cs-st{display:inline-block;padding:2px 9px;border-radius:10px;font-size:12px;border:1px solid;white-space:nowrap}.cs-st.s-new{color:#1d6fd1;border-color:#9cc3f2}.cs-st.s-prog{color:#a35d00;border-color:#f0c27a}.cs-st.s-closed{color:var(--cs-mut);border-color:var(--cs-bd)}
.cs-console.dark .cs-st.s-new{color:#7fb6ff;border-color:#2f5d99}.cs-console.dark .cs-st.s-prog{color:#f5b860;border-color:#7a5520}.cs-console.dark .cs-cont{background:#1f3a27;color:#8fdba3}.cs-console.dark .cs-cont.on{background:#c7161d;color:#fff}
.cs-xp{font-weight:600}.cs-xp.crit{color:#c7161d}.cs-xp.high{color:#d96a0b}.cs-xp.med{color:#a8840f}.cs-xp.low{color:#3d7be0}
.cs-dhead{padding:16px 20px;margin-bottom:12px}.cs-dtop{display:flex;gap:14px;align-items:center;font-size:13px;flex-wrap:wrap}.cs-did{margin-left:auto;color:var(--cs-mut);font:12px var(--cs-mono)}.cs-dhead h1{margin:12px 0 4px}.cs-dhead p{margin:0 0 12px;color:var(--cs-mut)}
.cs-dmeta{display:flex;gap:36px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--cs-bd);border-bottom:1px solid var(--cs-bd);margin-bottom:12px}.cs-dmeta small{display:block;color:var(--cs-mut);font-size:11.5px;margin-bottom:4px}
.cs-dacts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cs-dgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px}.cs-dgrid .cs-panel{margin-bottom:0}.cs-dgrid+.cs-panel{margin-top:12px}.cs-panel h2~h2{margin-top:8px}
.cs-tree{padding:8px 0}.cs-tn{display:flex;align-items:center;gap:10px;border:1px solid var(--cs-bd);border-radius:4px;padding:10px 14px;background:var(--cs-row);width:max-content;max-width:100%;position:relative;margin-bottom:22px}.cs-tn small{color:var(--cs-mut)}.cs-tn .ti{display:flex}.cs-tn .ti svg{fill:currentColor}.cs-tn.l1{margin-left:36px}.cs-tn.l2{margin-left:72px;margin-bottom:0}.cs-tn+.cs-tn::before{content:"";position:absolute;left:-20px;top:-23px;width:19px;height:44px;border-left:2px solid var(--cs-bd);border-bottom:2px solid var(--cs-bd)}.cs-tn.hit{border-color:#e0182d;box-shadow:0 0 0 1px #e0182d}
.cs-props{display:grid;grid-template-columns:150px 1fr;gap:8px 12px;font-size:12.5px;margin:4px 0 14px}.cs-props dt{color:var(--cs-mut)}.cs-props dd{margin:0;word-break:break-all}
.cs-empty{background:var(--cs-card);border:1px solid var(--cs-bd);border-radius:4px;padding:60px 30px;text-align:center;color:var(--cs-mut)}.cs-empty svg{fill:var(--cs-mut)}.cs-empty h2{color:var(--cs-tx);font-size:17px;font-weight:500;margin:12px 0 6px}
.cs-hex{display:inline-block;width:14px;height:16px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);vertical-align:-3px;margin-right:6px;background:#888}.cs-hex.crit{background:#c7161d}.cs-hex.high{background:#f58220}.cs-hex.med{background:#f2c94c}.cs-hex.low{background:#3d7be0}.cs-hex.info{background:#8a8d94}.cs-sv{white-space:nowrap}.cs-sv small{display:block;color:#6b6e77;margin-left:20px}
.cs-sev{padding:1px 7px;border-radius:3px;font-size:11px;font-weight:600}.cs-sev.crit{background:#c7161d;color:#fff}.cs-sev.high{background:#f58220;color:#111}.cs-sev.med{background:#f2c94c;color:#111}.cs-sev.low{background:#3d7be0;color:#fff}.cs-sev.info{background:#8a8d94;color:#fff}
.orgroot .cs-main h1{color:var(--cs-tx)}.orgroot .def-main h1{color:#242424}
/* ---- Active Directory Users and Computers (MMC look) ---- */
.ad-console{background:#fff;color:#000;font:12px "Segoe UI",Tahoma,Arial,sans-serif;display:flex;flex-direction:column;min-height:640px;border:1px solid #6d6d6d;position:relative;user-select:none;box-shadow:0 2px 10px #0003}
.ad-title{background:#fff;height:30px;display:flex;align-items:center;gap:7px;padding:0 0 0 8px;font-size:12px}.ad-title svg{flex:none}.ad-wc{margin-left:auto;display:flex;height:100%}.ad-wc a{width:46px;display:flex;align-items:center;justify-content:center;cursor:default;color:#000;font-size:13px}.ad-wc a:hover{background:#e5e5e5}.ad-wc a.x:hover{background:#e81123;color:#fff}
.ad-menu{display:flex;align-items:center;background:#fff;padding:0 2px;height:20px;position:relative;z-index:6}.ad-menu>span{position:relative}.ad-menu>span>a{display:block;padding:2px 7px;cursor:default;color:#000}.ad-menu>span>a:hover,.ad-menu>span>a.on{background:#cce8ff;outline:1px solid #99d1ff}
.ad-dd,.ad-cm{position:absolute;top:100%;left:0;min-width:210px;background:#f2f2f2;border:1px solid #ccc;box-shadow:2px 2px 4px #0004;padding:2px;z-index:30}.ad-cm{position:fixed;top:0}.ad-mi{display:flex;gap:10px;padding:3px 24px 3px 26px;cursor:default;color:#000;white-space:nowrap}.ad-mi:hover{background:#91c9f7}.ad-mi.dis{color:#999;pointer-events:none}.ad-mi b{font-weight:600}.ad-mi .k{margin-left:auto;color:#555;padding-left:20px}.ad-ms{border-top:1px solid #d7d7d7;margin:3px 2px}
.ad-tb{display:flex;align-items:center;gap:1px;padding:2px 4px;background:#fff;border-top:1px solid #e3e3e3;border-bottom:1px solid #d9d9d9;height:28px}.ad-tb a{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;cursor:default}.ad-tb a:hover{background:#e5f3ff;border-color:#cce8ff}.ad-tb a.dis{opacity:.35;pointer-events:none}.ad-tb i{width:1px;height:20px;background:#d0d0d0;margin:0 4px}
.ad-find{margin-left:auto;display:flex;align-items:center;gap:4px;color:#333}.ad-find input{border:1px solid #7a7a7a;padding:1px 4px;width:200px;font:inherit;height:18px}
.ad-body{display:flex;flex:1;min-height:0;border-top:1px solid #a0a0a0;background:#f0f0f0;gap:4px;padding-top:2px}.ad-tree{width:250px;flex:none;background:#fff;border:1px solid #828790;overflow:auto;padding:2px 0;font-size:12.5px}.ad-tree.hid{display:none}
.ad-tn{display:flex;align-items:center;gap:4px;height:20px;padding-right:8px;white-space:nowrap;cursor:default}.ad-tn .tw{width:14px;text-align:center;color:#555;font-size:9px;flex:none}.ad-tn span.l{padding:0 2px;border:1px solid transparent}.ad-tn:hover span.l{background:#e5f3ff}.ad-tn.on span.l{background:#cce8ff;border-color:#99d1ff}
.ad-tn{padding-left:2px}.ad-tn.d1{padding-left:16px}.ad-tn.d2{padding-left:32px}.ad-tn.d3{padding-left:48px}
.ad-list{flex:1;min-width:0;background:#fff;border:1px solid #828790;overflow:auto;overflow-y:scroll}
.ad-tbl{width:100%;border-collapse:collapse;table-layout:auto;font-size:12.5px}.ad-tbl th{text-align:left;font-weight:400;color:#000;border-right:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;padding:4px 6px;background:#fff;position:sticky;top:0;z-index:1}.ad-tbl th:hover{background:#d9ebf9}.ad-tbl td{padding:2px 6px;white-space:nowrap;max-width:420px;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}.ad-tbl td:first-child{display:flex;align-items:center;gap:4px}.ad-tbl tr.click{cursor:default}.ad-tbl tr.click:hover td{background:#e5f3ff}.ad-tbl tr.sel td{background:#cce8ff}.ad-tbl a{color:inherit;text-decoration:none}
.ad-ico{position:relative;display:inline-flex;width:16px;height:16px;flex:none}.ad-ico .dn{position:absolute;right:-2px;bottom:-2px;width:9px;height:9px;border-radius:50%;background:#fff;border:1px solid #333;font-size:7px;line-height:8px;text-align:center;color:#000}
.ad-status{height:20px;border-top:1px solid #d9d9d9;padding:2px 8px;background:#f0f0f0;color:#000;display:flex;gap:16px}.ad-status span+span{border-left:1px solid #c8c8c8;padding-left:10px}
.ad-dlg{position:absolute;top:60px;left:50%;transform:translateX(-50%);width:410px;background:#f0f0f0;border:1px solid #6d6d6d;box-shadow:0 4px 16px #0005;z-index:20;display:flex;flex-direction:column}.ad-dlg .ad-title{height:28px}.ad-tabs{display:flex;padding:8px 8px 0;gap:0;flex-wrap:wrap}.ad-tabs a{padding:3px 9px;border:1px solid #d9d9d9;border-bottom:0;background:#f0f0f0;cursor:default;margin-right:-1px}.ad-tabs a.on{background:#fff;position:relative;top:1px;border-color:#adadad}
.ad-pg{margin:0 8px;background:#fff;border:1px solid #adadad;padding:10px 12px;min-height:250px;max-height:52vh;overflow:auto}.ad-pg h4{margin:0 0 10px;display:flex;align-items:center;gap:8px;font-weight:400;font-size:12.5px;padding-bottom:8px;border-bottom:1px solid #ddd}
.ad-props{display:grid;grid-template-columns:130px 1fr;gap:6px 8px;margin:0}.ad-props dt{color:#000}.ad-props dd{margin:0;border:1px solid #ababab;padding:1px 4px;background:#fff;word-break:break-all;min-height:16px}.ad-gb{border:1px solid #d5dfe5;padding:8px;margin:10px 0 4px;position:relative}.ad-gb>span{position:absolute;top:-8px;left:8px;background:#fff;padding:0 3px}.ad-gb p{margin:2px 0 8px;color:#333}
.ad-btn{background:#e1e1e1;border:1px solid #adadad;padding:2px 10px;min-width:74px;cursor:default;font:inherit;color:#000}.ad-btn:hover{background:#e5f1fb;border-color:#0078d7}.ad-btn.done{color:#555}.ad-dbtn{display:flex;justify-content:flex-end;gap:7px;padding:10px 8px}.ad-acts{display:flex;flex-wrap:wrap;gap:6px}.ad-acts .org-rem{margin:0}
.ad-mbr{width:100%;border-collapse:collapse;border:1px solid #ababab}.ad-mbr th{text-align:left;font-weight:400;border-bottom:1px solid #e5e5e5;padding:2px 5px}.ad-mbr td{padding:1px 5px}
.ad-console .org-modal{position:absolute;background:#0000}.ad-console .org-mbox{background:#f0f0f0;color:#000;border:1px solid #6d6d6d;border-radius:0;box-shadow:0 4px 16px #0005;padding:0;width:400px;font:12px "Segoe UI",Tahoma,sans-serif}.ad-console .org-mbox h3{margin:0;background:#fff;font:12px "Segoe UI";padding:7px 10px}.ad-console .org-mbox p{padding:12px 14px;margin:0;background:#fff;border-top:1px solid #eee}.ad-console .org-mbox .r{padding:10px;text-align:right}.ad-console .org-mbox .org-siem{background:#e1e1e1;border:1px solid #adadad;border-radius:0;color:#000;padding:2px 12px;min-width:74px;font:inherit}.ad-console .org-mbox .org-siem.pri{border-color:#0078d7}
.ad-fd{position:absolute;top:70px;left:50%;transform:translateX(-50%);width:600px;max-width:96%;background:#f0f0f0;border:1px solid #6d6d6d;box-shadow:0 6px 20px #0005;z-index:22;display:flex;flex-direction:column}.ad-fd .ad-title{height:30px}.fd-menu{background:#f0f0f0}
.fd-top{display:flex;align-items:center;gap:6px;padding:8px 10px}.fd-sel{font:inherit;border:1px solid #7a7a7a;background:#fff;height:22px;width:160px}.fd-wide{flex:1;width:auto}.fd-top .ad-btn{min-width:86px}
.fd-mid{display:flex;gap:10px;padding:0 10px 10px}.fd-tabs{flex:1}.fd-tabs .ad-tabs{padding:0}.fd-pg{background:#fff;border:1px solid #adadad;padding:16px 12px;min-height:130px}.fd-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.fd-row label{width:80px}.fd-in{flex:1;font:inherit;border:1px solid #7a7a7a;height:20px;padding:0 3px}.fd-note{color:#444;margin:4px 0}
.fd-btns{width:96px;display:flex;flex-direction:column;gap:8px;padding-top:20px}.fd-btns .ad-btn{width:100%}.fd-btns .ad-btn:disabled{color:#999;border-color:#ccc;background:#ddd}.fd-def{border:1px solid #0078d7!important;box-shadow:inset 0 0 0 1px #0078d7}.fd-ico{margin-top:14px;text-align:center}
.ad-fd select,.ad-fd input,.ad-fd option{color:#000!important;background:#fff!important;border-radius:0!important;font:12px "Segoe UI",Tahoma,sans-serif!important;-webkit-text-fill-color:#000;padding:0 3px!important;min-height:0!important}
.ad-fd label{font-weight:400!important;color:#000!important;margin:0!important;font-size:12px!important}.ad-tabs a{color:#000!important;font-weight:400!important;text-decoration:none}.fd-top #fdtype{width:200px}.fd-row label{width:80px}
.fd-res{background:#fff;border-top:1px solid #a0a0a0;max-height:34vh;overflow:auto;overflow-y:scroll;margin:0}.fd-st{border-top:1px solid #d9d9d9}
body.org-portal-open .ad-console{flex:1;min-height:0;height:calc(100dvh - var(--orgtop,56px));border:0;box-shadow:none}
/* ---- Microsoft Defender (2026-11-02: security.microsoft.com light shell, Email & collaboration nav, card home) ---- */
.def-portal{background:#faf9f8;color:#242424;font:14px "Segoe UI","Segoe UI Web",sans-serif;display:flex;flex-direction:column;min-height:640px;border:1px solid #e1dfdd;position:relative}
.def-top{background:#fff;color:#242424;height:48px;display:flex;align-items:center;gap:12px;padding:0 12px;flex:none;border-bottom:1px solid #e1dfdd}.def-waffle{font-size:18px;color:#424242;width:24px;text-align:center}.def-brand{font-weight:600;font-size:15px;cursor:pointer}.def-search{flex:0 1 460px;margin:0 auto;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;padding:5px 10px;display:flex;gap:6px;color:#616161}.def-search input{border:0;flex:1;outline:0;background:none}.def-ic{color:#424242;letter-spacing:10px}.def-av{background:#4f52b2;color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.def-body{display:flex;flex:1;min-height:0}.def-nav{width:236px;flex:none;background:#fff;border-right:1px solid #e1dfdd;padding:6px 0;overflow:auto;font-size:14px}.def-nav .ham{padding:6px 16px;color:#424242}.def-nav .grp{padding:14px 16px 4px;font-weight:600;color:#242424;display:flex;justify-content:space-between}.def-nav .it{padding:7px 16px 7px 18px;cursor:pointer;display:flex;gap:10px;align-items:center;border-left:3px solid transparent;color:#242424}.def-nav .it .i{width:18px;color:#616161;text-align:center}.def-nav .it.nest{padding-left:46px}.def-nav .it:hover{background:#f5f5f5}.def-nav .it.on{background:#ebebeb;border-left-color:#0f6cbd;font-weight:600}.def-nav .it.par{cursor:default}
.def-main{flex:1;min-width:0;padding:14px 28px;overflow:auto;background:#faf9f8}.def-crumb{color:#616161;font-size:12px;margin-bottom:6px}.def-crumb a{color:#0f6cbd;cursor:pointer}.def-main h1{font-size:24px;font-weight:600;margin:4px 0 12px}
.def-bar{display:flex;gap:18px;color:#242424;margin:0 0 16px;font-size:13px}.def-bar span{cursor:default}.def-bar b{color:#0f6cbd;font-weight:400}
.def-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.def-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px 18px;box-shadow:0 1px 2px #0000000f;display:flex;flex-direction:column;min-height:170px}.def-card h3{font-size:15px;font-weight:600;margin:0 0 4px}.def-card small{color:#616161;display:block}.def-card b{font-size:32px;font-weight:600;color:#242424;display:block;margin:10px 0 2px}.def-card span{color:#616161;font-size:12px}.def-card .go{margin-top:auto;align-self:flex-start;border:1px solid #d1d1d1;background:#fff;border-radius:4px;padding:5px 12px;cursor:pointer;font-weight:600;font-size:13px}.def-card .go:hover{background:#f5f5f5}.def-meter{height:8px;background:#e0e0e0;border-radius:4px;margin:8px 0;overflow:hidden}.def-meter i{display:block;height:100%;width:62%;background:#0f6cbd}
.def-tabs{border-bottom:1px solid #e1dfdd;margin-bottom:10px}.def-tabs span{display:inline-block;padding:6px 14px}.def-tabs span.on{border-bottom:2px solid #0f6cbd;font-weight:600}
.def-filter{width:100%;max-width:420px;border:1px solid #8a8886;padding:6px 10px;border-radius:4px;background:#fff}.def-cnt{color:#605e5c;margin:8px 0}
.def-tbl{width:100%;border-collapse:collapse;background:#fff}.def-tbl th{text-align:left;font-weight:600;border-bottom:1px solid #e1dfdd;padding:8px}.def-tbl td{padding:8px;border-bottom:1px solid #f0f0f0}.def-tbl tr.click{cursor:pointer}.def-tbl tr.click:hover td{background:#f5f5f5}.def-tbl a{color:#0f6cbd}
.def-fly{border-left:3px solid #0f6cbd;padding-left:16px;background:#fff}.def-acts{margin:10px 0}.def-btn{background:#0f6cbd;color:#fff;border:0;border-radius:4px;padding:6px 14px;cursor:pointer}.def-btn.done{background:#8a8886}
.def-xq{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;margin-bottom:10px}.def-xh{font-weight:600;margin-bottom:8px}.def-xh span{font-weight:400;color:#616161;font-size:12px;margin-left:8px}.def-xg{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px 12px}.def-xg label{display:flex;flex-direction:column;font-size:12px;color:#424242;gap:3px}.def-xg input,.def-xg select{border:1px solid #d1d1d1;border-radius:4px;padding:5px 8px;font:inherit;font-size:13px;background:#fff}.def-xa{margin-top:10px;display:flex;gap:8px;align-items:center}.def-xa span{color:#616161;font-size:12px}.def-btn.sec{background:#fff;color:#242424;border:1px solid #d1d1d1}.def-err{color:#c50f1f!important}
.def-props{display:grid;grid-template-columns:170px 1fr;gap:4px 10px}.def-props dt{color:#605e5c}.def-props dd{margin:0;word-break:break-all}
body.org-portal-open .cs-console,body.org-portal-open .def-portal{flex:1;min-height:0;height:calc(100dvh - var(--orgtop,56px));border:0}
body.org-portal-open .def-nav,body.org-portal-open .def-main,body.org-portal-open .cs-main,body.org-portal-open .cs-rail{overflow:auto}
/* ---- Azure (2026-11-02 Claude: portal.azure.com chrome — blade header, searchable resource menu, command bar, filter pills, context pane) ---- */
.az-portal{background:#fff;display:flex;flex-direction:column;font:13px "Segoe UI","Segoe UI Web",-apple-system,Helvetica,Arial,sans-serif;color:#323130;position:relative;flex:1;min-height:0}
.az-topbar{background:#0078d4;color:#fff;height:40px;display:flex;align-items:center;gap:4px;padding:0 0 0 2px;flex:none;position:relative;z-index:12}.az-topbar svg{display:block}
.az-ham{padding:11px 12px;cursor:pointer;color:#fff}.az-ham:hover,.az-icons a:hover{background:#106ebe}.az-brand{font-weight:600;font-size:15px;white-space:nowrap;cursor:pointer;padding:0 16px 0 4px}
.az-search{flex:1;max-width:640px;margin:0 auto;background:#2b88d8;border:1px solid #6cb8f6;border-radius:2px;height:28px;display:flex;align-items:center;padding:0 8px;gap:8px;color:#fff}.az-search:focus-within{background:#fff;color:#323130;border-color:#fff}
.az-search input{background:transparent;border:0;color:inherit;outline:0;flex:1;font:inherit;font-size:13.5px;padding:0;height:100%}.az-search input::placeholder{color:#e1effa}.az-search:focus-within input::placeholder{color:#605e5c}
.az-icons{display:flex;align-items:center;height:100%}.az-icons a{padding:0 11px;height:100%;display:flex;align-items:center;color:#fff;cursor:pointer}
.az-prof{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.25;text-align:right;padding:0 10px;height:100%}.az-prof b{font-weight:600}.az-av{width:28px;height:28px;border-radius:50%;background:#c8c6c4;color:#323130;display:flex;align-items:center;justify-content:center;font-weight:600}
.az-scrim{position:absolute;inset:40px 0 0;z-index:10;background:#0002}.az-pmenu{position:absolute;top:40px;left:0;bottom:0;width:270px;background:#fff;z-index:11;box-shadow:4px 0 14px #0003;padding:8px 0}.az-pmh{font-size:12px;color:#605e5c;padding:12px 18px 6px}.az-pmi{display:flex;gap:12px;align-items:center;padding:9px 18px;cursor:pointer;font-size:13.5px}.az-pmi:hover{background:#f3f2f1}.az-pmi span{display:flex}
.az-crumb{padding:10px 24px 0;font-size:13px;background:#fff;display:flex;align-items:center;flex:none}.az-crumb a{color:#0078d4;cursor:pointer;text-decoration:none}.az-crumb a:hover{text-decoration:underline}.az-crumb span{color:#323130}.az-crumb .sep{color:#605e5c;margin:0 8px}.az-org{font-size:11.5px;border:1px solid #c8c6c4;border-radius:2px;padding:1px 6px;margin-right:14px;color:#605e5c!important}
.az-home{padding:4px 48px 30px;overflow:auto;flex:1}.az-h2{font:600 16px "Segoe UI",sans-serif;color:#323130;margin:22px 0 12px}
.az-svcs{display:flex;gap:4px;flex-wrap:wrap}.az-svc{width:104px;text-align:center;padding:12px 4px;cursor:pointer;color:#323130;font-size:12.5px;line-height:1.3}.az-svc:hover{background:#f3f2f1}.az-svc .ic{display:flex;justify-content:center;margin-bottom:8px}
.az-rec{max-width:900px}.az-rec a{display:inline-flex;gap:8px;align-items:center}
.az-bh{display:flex;align-items:center;gap:12px;padding:12px 24px 10px;flex:none}.az-bh .ic{display:flex}.az-bh h1{font:600 20px "Segoe UI",sans-serif;margin:0;color:#323130;display:flex;align-items:center;gap:10px}.az-bh small{color:#605e5c;font-size:12px}.az-pin{color:#605e5c;display:flex;cursor:pointer}.az-close{margin-left:auto;color:#605e5c;cursor:pointer;padding:6px}
.az-blade{display:flex;flex:1;min-height:0;border-top:1px solid #edebe9}
.az-rail{width:220px;background:#fff;border-right:1px solid #edebe9;padding:8px 0;flex:none;overflow:auto}.az-ms{display:flex;align-items:center;gap:6px;margin:0 10px 8px;border:1px solid #8a8886;border-radius:2px;padding:0 6px;height:26px;color:#605e5c}.az-ms input{border:0;outline:0;flex:1;min-width:0;font:inherit;background:none;color:#323130}.az-ms span{display:flex;cursor:pointer}
.az-rail .grp{font-size:12px;color:#605e5c;padding:12px 14px 4px}.az-rail div.it{padding:7px 14px;cursor:pointer;display:flex;gap:10px;align-items:center;font-size:13px}.az-rail div.it:hover{background:#f3f2f1}.az-rail div.it.on{background:#e1dfdd;font-weight:600}.az-rail .it span{display:flex}.az-me{padding:8px 14px;color:#605e5c}
.az-main{flex:1;min-width:0;background:#fff;padding:0 24px 20px;overflow:auto}
.az-cmd{display:flex;gap:2px;border-bottom:1px solid #edebe9;padding:6px 0;margin:0 0 12px;font-size:13px;align-items:center;flex-wrap:wrap}.az-cmd a{cursor:pointer;display:flex;gap:6px;align-items:center;padding:5px 8px;color:#323130}.az-cmd a svg{color:#0078d4}.az-cmd a:hover{background:#f3f2f1}.az-cr{margin-left:auto}
.az-cbtn{background:none;border:0;padding:5px 10px;font:inherit;font-size:13px;color:#0078d4;cursor:pointer}.az-cbtn:hover{background:#f3f2f1}.az-cbtn.done{color:#107c10}
.az-fbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.az-fq{display:flex;align-items:center;gap:6px;border:1px solid #8a8886;border-radius:2px;padding:0 8px;height:28px;width:260px;color:#605e5c}.az-fq input{border:0;outline:0;flex:1;min-width:0;font:inherit;background:none;color:#323130}
.az-pill{display:inline-flex;align-items:center;gap:8px;background:#e1dfdd;border-radius:12px;padding:3px 12px;font-size:12.5px}.az-pill.st{background:#f3f2f1}.az-pill a{cursor:pointer;color:#605e5c}
.az-addf{position:relative}.az-addf>a{display:inline-flex;gap:6px;align-items:center;color:#323130;cursor:pointer;padding:3px 12px;border-radius:12px;background:#deecf9}.az-addf>a svg{color:#0078d4}
.az-cnt{color:#605e5c;font-size:12.5px;margin:8px 0 2px}
.az-tbl{width:100%;border-collapse:collapse;font-size:13px}.az-tbl th{text-align:left;font-weight:600;padding:9px 8px;border-bottom:1px solid #edebe9;color:#323130;background:#fff;position:sticky;top:0;white-space:nowrap}.az-tbl td{padding:8px;border-bottom:1px solid #f3f2f1;color:#323130;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.az-tbl tr.click{cursor:pointer}.az-tbl tr.click:hover td{background:#f3f2f1}.az-tbl tr.sel td{background:#deecf9}.az-tbl a{color:#0078d4;cursor:pointer}.az-none{text-align:center;color:#605e5c;padding:30px!important}
.az-nm{display:inline-flex;gap:8px;align-items:center}.az-avs{width:24px;height:24px;border-radius:50%;background:#0078d4;color:#fff;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex:none}.az-avs.g{background:#8764b8}.az-avs.a{border-radius:4px;background:#038387}.az-avs.r{background:#ca5010}.az-avs.big{width:56px;height:56px;font-size:20px}
.az-stx{display:inline-flex;gap:6px;align-items:center}.az-stx svg{flex:none}
.az-side{width:440px;flex:none;border-left:1px solid #edebe9;background:#fff;padding:14px 20px;overflow:auto;box-shadow:-6px 0 14px #0000001a}.az-sh{display:flex;justify-content:space-between;align-items:center}.az-sh h2{font:600 18px "Segoe UI",sans-serif;margin:0}.az-sh a{cursor:pointer;color:#605e5c}.az-sacts{margin-top:14px}
.az-props{display:grid;grid-template-columns:190px 1fr;gap:8px 18px;font-size:13px;margin-top:8px}.az-props dt{color:#605e5c}.az-props dd{margin:0;word-break:break-word;color:#323130}
.az-card{border:1px solid #edebe9;border-radius:4px;padding:16px 20px;max-width:960px}.az-ov{display:flex;gap:16px;align-items:center;margin:0 0 6px}.az-ov span{color:#605e5c}
.az-tabs{display:flex;gap:22px;border-bottom:1px solid #edebe9;margin:4px 0 14px}.az-tabs span{padding:8px 2px;cursor:pointer}.az-tabs span.on{border-bottom:2px solid #0078d4;font-weight:600}
.az-chip{display:inline-block;background:#f3f2f1;border-radius:2px;padding:2px 8px;margin:2px 4px 2px 0;font-size:12px}
.org-siem{background:none;border:1px solid currentColor;border-radius:2px;padding:3px 10px;font:inherit;cursor:pointer;color:inherit}
/* ---- AWS (2026-11-02 Claude: Console chrome per ops/refs/aws-console-ref.png — Cloudscape panels, property filter, split panel) ---- */
.aws-console{background:#f2f3f3;display:flex;flex-direction:column;font:14px Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#000716;position:relative;flex:1;min-height:0}
.aws-topnav{background:#161d26;color:#fff;height:40px;display:flex;align-items:center;gap:12px;padding:0 14px;font-size:12.5px;flex:none;position:relative;z-index:12}.aws-topnav svg{display:block}
.aws-logo{font:600 16px Inter,system-ui,sans-serif;letter-spacing:.01em;cursor:pointer;line-height:1;white-space:nowrap}.aws-logo b{color:#5eead4;font-weight:800}
.aws-grid{cursor:pointer;color:#d1d5db;padding:4px;border-radius:4px}.aws-grid:hover,.aws-grid.on{color:#fff;background:#2a3442}
.aws-search{flex:1;max-width:560px;background:#0f141a;border:1px solid #8d99a8;border-radius:8px;height:28px;display:flex;align-items:center;padding:0 10px;gap:8px;color:#b6bec9}.aws-search:focus-within{border-color:#539fe5}.aws-search input{background:transparent;border:0;color:#fff;flex:1;outline:0;font:inherit;font-size:13px;padding:0;height:100%}.aws-search input::placeholder{color:#b6bec9}.aws-kbd{color:#b6bec9;font:11px Arial;margin-left:-4px}
.aws-ticons{display:flex;gap:16px;margin-left:auto;align-items:center}.aws-ticons a{color:#d1d5db;cursor:pointer}.aws-ticons a:hover{color:#fff}.aws-reg,.aws-acct{white-space:nowrap;font-weight:700;color:#fff}.aws-acct{font-weight:400}
.aws-scrim{position:fixed;inset:0;z-index:13}.aws-smenu{position:absolute;top:40px;left:60px;width:360px;background:#fff;color:#000716;border-radius:0 0 8px 8px;box-shadow:0 6px 18px #0004;z-index:14;padding:10px 0}.aws-smenu .hd{font-weight:700;padding:6px 18px 10px;border-bottom:1px solid #e9ebed}.aws-smenu .it{display:flex;gap:12px;align-items:center;padding:10px 18px;cursor:pointer}.aws-smenu .it:hover{background:#f2f8fd}.aws-smenu small{display:block;color:#5f6b7a;font-size:12px}
.aws-sub{background:#fff;border-bottom:1px solid #e9ebed;height:38px;display:flex;align-items:center;gap:12px;padding:0 16px;font-size:13.5px;flex:none}.aws-sub .ham{color:#414d5c;cursor:pointer;display:flex}.aws-sub a{color:#0972d3;cursor:pointer}.aws-sub .sep{color:#5f6b7a}.aws-org{font-size:11.5px;border:1px solid #c6c6cd;border-radius:6px;padding:1px 7px;color:#5f6b7a!important}
.aws-body{display:flex;flex:1;min-height:0}
.aws-nav{width:250px;background:#fff;border-right:1px solid #e9ebed;padding:18px 0;flex:none;font-size:14px}.aws-nav .hd{font-weight:700;font-size:17px;padding:0 20px 16px 24px;display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #e9ebed;margin-bottom:12px}.aws-nav .hd a{color:#414d5c;cursor:pointer;display:flex}.aws-nav .grp{font-weight:700;padding:10px 24px 6px}.aws-nav div.it{padding:5px 24px 5px 36px;color:#414d5c;cursor:pointer}.aws-nav div.it:hover{color:#0972d3}.aws-nav div.it.on{color:#0972d3;font-weight:700}
.aws-main{flex:1;min-width:0;padding:20px 28px;overflow:auto}
.aws-h1{display:flex;align-items:center;gap:10px;margin-bottom:16px}.aws-h1 h1{font:700 24px Inter,system-ui,sans-serif;margin:0}.aws-h1 small,.aws-ph small,.aws-wh h2 small{color:#0972d3;font-size:12px;font-weight:700;margin-left:6px}.aws-h1 .r{margin-left:auto;display:flex;gap:8px}
.aws-cards{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}.aws-card{background:#fff;border-radius:16px;box-shadow:0 1px 1px #001c244d,1px 1px 1px #001c2426,-1px 1px 1px #001c2426;padding:14px 20px 0;display:flex;flex-direction:column}
.aws-wh{display:flex;align-items:center;gap:8px;margin-bottom:14px}.aws-wh h2{font:700 18px Inter,system-ui,sans-serif;margin:0;flex:1}.aws-wh .drag,.aws-wh .kb{color:#8d99a8;display:flex}
.aws-rv{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;padding-bottom:16px}.aws-rv div{display:flex;gap:10px;align-items:center;color:#0972d3;cursor:pointer;font-size:14px}.aws-rv div:hover span{text-decoration:underline}
.aws-wf{border-top:1px solid #e9ebed;margin:auto -20px 0;padding:12px;text-align:center;font-weight:700}.aws-wf a{color:#0972d3;cursor:pointer}
.aws-sub2{color:#5f6b7a;font-size:13px;margin-bottom:8px}.aws-score{font:700 40px Arial;color:#8d6605;margin:2px 0 10px}.aws-kv{display:flex;justify-content:space-between;border-top:1px solid #e9ebed;padding:8px 0;font-size:14px}.aws-kv a,.aws-wl a{color:#0972d3;cursor:pointer}.aws-wl p{font-size:13px;color:#414d5c;margin:4px 0 14px}
.aws-btn{background:#14b8a6;color:#000716;border:0;border-radius:20px;padding:5px 18px;font:700 14px Inter,system-ui,sans-serif;cursor:pointer}.aws-btn:hover{background:#0d9488}.aws-btn.sec{background:#fff;color:#0972d3;border:2px solid #0972d3;padding:3px 16px}.aws-btn.sec:hover{background:#f2f8fd}.aws-btn.done{background:#e9ebed;color:#5f6b7a;border-color:#e9ebed}
.aws-split{display:flex;gap:16px;align-items:flex-start}.aws-split>.aws-panel{flex:1;min-width:0}
.aws-panel{background:#fff;border-radius:16px;box-shadow:0 1px 1px #001c244d,1px 1px 1px #001c2426,-1px 1px 1px #001c2426;padding:0 0 8px;margin-bottom:20px}.aws-ph{display:flex;align-items:center;gap:10px;padding:16px 20px 10px}.aws-ph h2{font:700 18px Inter,system-ui,sans-serif;margin:0}.aws-ph .aws-cnt{color:#5f6b7a;font-weight:400}.aws-ph .r{margin-left:auto;display:flex;gap:8px}
.aws-pf{display:flex;align-items:center;gap:12px;padding:0 20px 10px}.aws-pfi{flex:0 1 520px;display:flex;align-items:center;gap:8px;border:2px solid #7d8998;border-radius:8px;padding:0 10px;height:32px;color:#5f6b7a}.aws-pfi:focus-within{border-color:#0972d3}.aws-pfi input{border:0;outline:0;flex:1;min-width:0;font:inherit;background:none;color:#000716}.aws-pfp{position:relative}.aws-pfp>a{color:#0972d3;cursor:pointer;font-weight:700;white-space:nowrap}.aws-pg{margin-left:auto;color:#5f6b7a;display:flex;gap:8px;align-items:center}.aws-pg b{color:#0972d3}
.aws-tokens{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:0 20px 10px}.aws-tok{display:inline-flex;gap:8px;align-items:center;border:1px solid #7d8998;border-radius:4px;padding:2px 8px;font-size:13px}.aws-tok a{cursor:pointer;color:#414d5c}.aws-tokens>a{color:#0972d3;cursor:pointer;font-weight:700;font-size:13px}
.aws-tbl{width:100%;border-collapse:collapse;font-size:14px}.aws-tbl th{text-align:left;padding:10px 12px;border-bottom:1px solid #c6c6cd;font-weight:700;color:#414d5c;background:#fff;white-space:nowrap;position:sticky;top:0}.aws-tbl th+th{box-shadow:inset 1px 0 0 #e9ebed}.aws-tbl td{padding:10px 12px;border-bottom:1px solid #e9ebed;color:#000716;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.aws-tbl tr.click{cursor:pointer}.aws-tbl tr.click:hover td{background:#f2f8fd}.aws-tbl tr.sel td{background:#f2f8fd;box-shadow:inset 0 1px 0 #0972d3,inset 0 -1px 0 #0972d3}.aws-tbl a{color:#0972d3}
.aws-empty{text-align:center;color:#5f6b7a;padding:30px!important}
.aws-st{display:inline-flex;gap:6px;align-items:center}.aws-st.running{color:#037f0c}.aws-st.stopped{color:#d91515}.aws-st.other{color:#5f6b7a}.aws-pub{color:#d91515;font-weight:700}
.aws-gs{font-weight:700}.aws-gs.high{color:#d91515}.aws-gs.medium{color:#0d9488}.aws-gs.low{color:#0972d3}
.aws-side{width:400px;flex:none;background:#fff;border-radius:16px;box-shadow:0 1px 1px #001c244d,1px 1px 1px #001c2426;padding:16px 20px}.aws-sh{display:flex;justify-content:space-between}.aws-sh a{cursor:pointer;color:#414d5c}.aws-side h2{font:700 18px Arial;margin:10px 0 6px;word-break:break-all}.aws-side h3{font:700 15px Arial;margin:14px 0 4px;border-top:1px solid #e9ebed;padding-top:12px}.aws-side p{color:#414d5c;font-size:13px}
.aws-tabs{display:flex;gap:4px;border-bottom:1px solid #e9ebed;padding:0 20px}.aws-tabs span{padding:12px 14px;cursor:pointer;font-weight:700;color:#414d5c}.aws-tabs span.on{color:#0972d3;border-bottom:3px solid #0972d3}
.aws-props{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;padding:16px 20px;font-size:14px;margin:0}.aws-props.one{grid-template-columns:1fr;padding:6px 0}.aws-props dt{color:#5f6b7a;font-weight:700;margin-bottom:2px}.aws-props dd{margin:0;word-break:break-all}
.aws-json{margin:0 20px 12px;background:#fafafa;border:1px solid #e9ebed;border-radius:8px;padding:12px;font:12.5px/1.5 Menlo,Consolas,monospace;overflow:auto;max-height:420px}
/* ---- shared portal search dropdown + filter popovers (2026-11-02 Claude) ---- */
.o-gs{position:relative}.o-gs input{min-width:0}
.o-gsd{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:360px;max-height:430px;overflow:auto;background:#fff;color:#1f1f1f;border:1px solid #c8c6c4;border-radius:6px;box-shadow:0 8px 24px #0004;z-index:60;padding:6px 0;font:13px -apple-system,"Segoe UI",Helvetica,Arial,sans-serif;text-align:left}
.o-gsg{font-size:11px;font-weight:600;color:#616161;padding:8px 14px 4px;text-transform:uppercase;letter-spacing:.04em}
.o-gsr{padding:7px 14px;cursor:pointer;display:flex;flex-direction:column;gap:1px}.o-gsr b{font-weight:500;color:#1f1f1f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o-gsr small{color:#666;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.o-gsr:hover,.o-gsr.on{background:#eef4fb}.o-gse{padding:14px;color:#666}
.o-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:240px;max-height:340px;overflow:auto;background:#fff;color:#1f1f1f;border:1px solid #c8c6c4;border-radius:6px;box-shadow:0 8px 24px #0003;padding:6px 0;font-size:13px;font-weight:400;text-align:left;white-space:nowrap}
.o-ph{font-weight:600;padding:6px 14px 8px;border-bottom:1px solid #eee;margin-bottom:4px}.o-ph a{cursor:pointer;margin-right:6px;color:#0078d4}
.o-pi{display:flex;justify-content:space-between;gap:16px;padding:7px 14px;cursor:pointer}.o-pi:hover,.o-pv:hover{background:#f3f2f1}.o-pi i{font-style:normal;color:#888}
.o-pv{display:flex;gap:8px;align-items:center;padding:6px 14px;cursor:pointer}.o-pv input{width:auto;height:auto;margin:0}.o-pv span{flex:1;overflow:hidden;text-overflow:ellipsis;max-width:320px}.o-pv i{font-style:normal;color:#888}.o-pe{padding:10px 14px;color:#888}
.cs-pop{background:#2a2a2d;color:#ececee;border-color:#3a3a3e}.cs-pop .o-ph{border-color:#3a3a3e}.cs-pop .o-pi:hover,.cs-pop .o-pv:hover{background:#38383c}.cs-pop .o-ph a{color:#5ec2ef}.aws-pop .o-ph a{color:#0972d3}
.cs-af{position:relative;display:inline-flex}.cs-hbar .oc{cursor:pointer}.cs-hbar .oc.on{color:#2fc2d8}
.orgroot tbody tr{animation:none}.orgroot h1,.orgroot h2{color:#16191f}.az-portal h1,.az-portal .az-h2{color:#323130}.orgroot .org-land h2{color:var(--g)}body.dark .orgroot .org-land .sub{color:#aab}body.dark .az-tbl tr.click:hover td,body.dark .aws-tbl tr.click:hover td{background:#f2f8fd}.aws-empty{padding:40px;text-align:center;color:#5f6b7a}
body.org-portal-open main{padding:0!important;max-width:none!important;min-width:0}body.org-portal-open #org,body.org-portal-open #orgroot{display:flex;flex-direction:column;height:calc(100dvh - var(--orgtop,56px));overflow:hidden}body.org-portal-open #org{animation:none}
body.org-portal-open .az-portal,body.org-portal-open .aws-console{flex:1;min-height:0;height:calc(100dvh - var(--orgtop,56px));border:0}
body.org-portal-open .az-blade,body.org-portal-open .aws-body,body.org-portal-open .az-home{flex:1;min-height:0}
body.org-portal-open .az-blade,body.org-portal-open .aws-body{display:flex;overflow:hidden}body.org-portal-open .az-rail,body.org-portal-open .aws-nav{overflow:auto;flex:none}
body.org-portal-open .az-main,body.org-portal-open .aws-main{flex:1;min-width:0;overflow:auto}body.org-portal-open .az-home{overflow:auto}
body.wcbusy,body.wcbusy *{cursor:progress!important}.wc-spin{display:inline-block;width:10px;height:10px;margin:0 6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:wcs .6s linear infinite;vertical-align:-1px}@keyframes wcs{to{transform:rotate(360deg)}}
@media(max-width:900px){.aws-cards{grid-template-columns:1fr}.az-rail,.aws-nav{display:none}.aws-props{grid-template-columns:1fr 1fr}}
/* ===== Frosted theme (2026-11-02, Jono: "Apple style like my website, focus on the frosted look") =====
   Last in the cascade on purpose: it re-skins the lab SHELL (sidebar, cards, home, queue, tickets, modals, chat, toasts).
   The SIEM (#siem.splk) and the Org vendor portals keep their own product looks; the Notes rail stays a yellow sticky note.
   Violet --acc is the brand accent (techwithjono.com); --g stays green for success/pass states. */
:root{--bg:#f5f5f7;--panel:rgba(255,255,255,.62);--p2:rgba(255,255,255,.5);--line:rgba(17,17,26,.08);--txt:#1d1d1f;--mut:#6e6e73;
  --acc:#7b5cff;--acc2:#5a3fd8;--accs:rgba(123,92,255,.12);--glass:rgba(255,255,255,.58);--glass2:rgba(255,255,255,.78);--gedge:rgba(255,255,255,.75);
  --blur:saturate(180%) blur(22px);--shadow:0 1px 1px rgba(0,0,0,.03),0 10px 30px -8px rgba(30,20,80,.10);
  --m1:#e1ecff;--m2:#fef4e1;--m3:#f0e4fb}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg)}
/* tighter tracking only on display text: body-wide letter-spacing made the SIEM search's highlight layer drift from its textarea */
h1,h2,h3,.hero p,.stat b,.logo{letter-spacing:-.015em}
body::before{content:"";position:fixed;inset:-10%;z-index:-1;pointer-events:none;background:
  radial-gradient(at 82% 18%,var(--m1) 0,transparent 48%),radial-gradient(at 12% 92%,var(--m2) 0,transparent 46%),radial-gradient(at 42% 40%,var(--m3) 0,transparent 52%);
  animation:frdrift 26s ease-in-out infinite alternate}
@keyframes frdrift{to{transform:translate3d(-3%,2%,0) scale(1.05)}}
/* glass surfaces */
aside.lab-nav,.card,.stat,.player,.badge,.mbox,.toast,#chatp,.org-tile{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--gedge);box-shadow:var(--shadow)}
aside.lab-nav{border-width:0 1px 0 0;border-right-color:rgba(255,255,255,.6);box-shadow:1px 0 0 var(--line)}
.card{border-radius:20px}.stat,.player,.badge{border-radius:16px}.mbox{border-radius:24px;background:var(--glass2)}#chatp{background:var(--glass2)}
.stat b{letter-spacing:-.02em}
h2{color:var(--txt);letter-spacing:-.015em}h1,h3{letter-spacing:-.02em}code{color:var(--acc2)}.kicker{color:var(--acc)}
/* navigation */
aside.lab-nav button.nav{border-radius:12px}aside.lab-nav button.nav:hover{background:rgba(255,255,255,.55)}
aside.lab-nav button.nav.on{background:var(--accs);color:var(--acc2);border-color:transparent}
.cnt{background:var(--acc)}
.lvl b{background:linear-gradient(135deg,var(--acc),#b48cff)}.xpbar{background:rgba(17,17,26,.07)}.xpbar i{background:linear-gradient(90deg,var(--acc),#b48cff)}
/* controls */
.btn{background:var(--acc);border-radius:980px;font-weight:600;box-shadow:0 6px 18px -6px rgba(123,92,255,.55)}.btn:hover{filter:brightness(1.06)}
.btn.s,.btn.g{background:rgba(255,255,255,.6);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--txt);border:1px solid var(--line);box-shadow:none}
.btn.s{color:var(--acc2)}.btn.w{background:rgba(255,244,220,.75);color:var(--warn);box-shadow:none}.btn.r{background:rgba(253,231,231,.75);color:var(--bad);box-shadow:none}
.btn.s.pinned{background:var(--g);color:#fff;border-color:transparent}
/* frosted fields only in the lab's own surfaces; :where() keeps specificity low and the SIEM + vendor portals keep their product inputs */
:where(.card,.mbox,#chatp,.hero) :is(input:not([type=checkbox]):not([type=radio]),select,textarea):where(:not(#siem *,.orgroot *)){background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:12px}
:where(.card,.mbox,#chatp,.hero) :is(input,select,textarea):focus:where(:not(#siem *,.orgroot *)){outline:3px solid rgba(123,92,255,.25);border-color:var(--acc)}
.sub button.on{color:var(--acc2);border-bottom-color:var(--acc)}
tr.click:hover{background:rgba(123,92,255,.06)}
.tag{background:rgba(17,17,26,.06)}
#chatb{background:linear-gradient(135deg,var(--acc),#b48cff);box-shadow:0 10px 26px -8px rgba(123,92,255,.6)}
.modal{background:rgba(20,16,40,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.pinpop{background:var(--glass2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--gedge);border-radius:16px}
.ppr:hover{background:rgba(255,255,255,.6)}.ppr.on{background:rgba(31,157,85,.10)}
/* home hero: frosted panel over its own colour glow, dark type */
.hero{background:radial-gradient(520px 260px at 92% -10%,rgba(123,92,255,.28) 0,transparent 60%),radial-gradient(420px 220px at 0% 120%,rgba(46,196,182,.22) 0,transparent 60%),var(--glass2);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--gedge);color:var(--txt);box-shadow:var(--shadow);border-radius:24px}
.hero h1{color:var(--txt)}.hero h1 em{color:var(--acc)}.hero p{color:var(--mut)}.hero .kicker{color:var(--acc)}
.hero .btn{background:var(--acc);color:#fff}.hero .btn.g{background:rgba(255,255,255,.6);color:var(--txt);border:1px solid var(--line)}.hero .alert{background:rgba(253,231,231,.85)}
/* dark: the same glass, smoked */
body.dark{--bg:#0b0b10;--panel:rgba(30,30,38,.55);--p2:rgba(255,255,255,.05);--line:rgba(255,255,255,.08);--txt:#f5f5f7;--mut:#a1a1aa;
  --acc:#9d85ff;--acc2:#b8a6ff;--accs:rgba(157,133,255,.16);--glass:rgba(30,30,38,.55);--glass2:rgba(34,34,44,.72);--gedge:rgba(255,255,255,.08);
  --shadow:0 1px 1px rgba(0,0,0,.3),0 14px 34px -10px rgba(0,0,0,.6);--m1:#22195a;--m2:#0f2a3d;--m3:#3a1840}
body.dark::before{opacity:.75}
body.dark aside.lab-nav{border-right-color:rgba(255,255,255,.06)}body.dark aside.lab-nav button.nav:hover{background:rgba(255,255,255,.06)}
body.dark .btn{color:#fff}body.dark .btn.s,body.dark .btn.g{background:rgba(255,255,255,.06);color:var(--txt)}body.dark .btn.s{color:var(--acc2)}
body.dark .btn.w{background:rgba(245,184,61,.12);color:var(--warn)}body.dark .btn.r{background:rgba(255,112,112,.12);color:var(--bad)}
body.dark :where(.card,.mbox,#chatp,.hero) :is(input:not([type=checkbox]):not([type=radio]),select,textarea):where(:not(#siem *,.orgroot *)){background:rgba(255,255,255,.06)}
body.dark .xpbar{background:rgba(255,255,255,.08)}body.dark .tag{background:rgba(255,255,255,.08)}body.dark tr.click:hover{background:rgba(157,133,255,.08)}
body.dark .cnt,body.dark .new{color:#fff}body.dark .modal{background:rgba(0,0,0,.35)}
body.dark .hero{background:radial-gradient(520px 260px at 92% -10%,rgba(157,133,255,.30) 0,transparent 60%),radial-gradient(420px 220px at 0% 120%,rgba(46,196,182,.18) 0,transparent 60%),var(--glass2)}
body.dark .hero .btn.g{background:rgba(255,255,255,.06);color:var(--txt)}
@media(prefers-reduced-motion:reduce){body::before{animation:none}}
/* Vendor portals are fenced off from the lab theme (light/dark + frosted): they keep the original tokens they were built
   against, in both modes, so search boxes, table headers, links and icons look like the real product. */
:is(.az-portal,.aws-console,.cs-console,.def-portal,.ad-console,.fw-console),body.dark :is(.az-portal,.aws-console,.cs-console,.def-portal,.ad-console,.fw-console){--bg:#eef6f2;--panel:#ffffff;--p2:#f3f8f5;--line:#d5e3dc;--txt:#0f1f17;--mut:#4d5f57;--g:#0f8a4a;--gd:#0b6b39;--neon:#2ee67a;--cy:#0b84c6;--warn:#b26b00;--bad:#d33a3a;--pu:#6d4bd8;color-scheme:light}
.cs-console.dark,body.dark .cs-console.dark{color-scheme:dark}
/* "← Back to Org" is LAB navigation, not vendor chrome: one obvious violet pill in every portal (Jono: make it more obvious) */
a.org-back{display:inline-flex;align-items:center;gap:4px;flex:none;background:#7b5cff!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:5px 13px!important;margin:0 12px 0 0;
  font:600 12.5px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;text-decoration:none!important;white-space:nowrap;cursor:pointer;box-shadow:0 4px 12px -4px rgba(123,92,255,.65);transition:filter .15s,transform .15s}
a.org-back:hover{filter:brightness(1.12);transform:translateY(-1px)}a.org-back:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ad-title a.org-back{margin:0 10px 0 auto;padding:2px 10px!important;font-size:11.5px!important}   /* Falcon's own product dark theme keeps dark native controls */
.logo{color:var(--txt)}.stat b{color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;font-weight:700}
.step{background:rgba(255,255,255,.5);border:1px solid var(--gedge)}.step .n{background:var(--accs);color:var(--acc2);border-radius:12px}
.fresh{background:var(--accs)}
body.dark aside.lab-nav button.nav.on{background:var(--accs);color:var(--acc2);border-color:transparent}body.dark .ticker div.fresh,.ticker div.fresh{background:var(--accs)}body.dark tr.me{background:var(--accs)}
body.dark .step{background:rgba(255,255,255,.04)}body.dark .step .n{background:var(--accs)}body.dark .fresh{background:var(--accs)}

/* Dark mode: the plain (Entra) Org tile sits on dark glass, so its text must be light (branded tiles keep their own colours) */
body.dark .org-tile:not(.aws):not(.cs):not(.def):not(.ad):not(.fw):not(.soar){color:#f2f4f7}body.dark .org-tile:not(.aws):not(.cs):not(.def):not(.ad):not(.fw):not(.soar) small{color:#b8bfc9}
/* ITSM: automation markers, ticket activity */
.autob{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:#ede9fe;color:#5b21b6;font:600 11px/1.6 inherit;letter-spacing:0;text-transform:none;vertical-align:1px}
body.dark .autob{background:rgba(139,92,246,.22);color:#d8ccff}.tag.soar{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}body.dark .tag.soar{background:rgba(139,92,246,.22);color:#d8ccff;border-color:transparent}
.itsm-add{display:flex;gap:8px;align-items:flex-end;margin:6px 0 10px}.itsm-add textarea{flex:1;min-height:44px}
.autoclose{margin:0 0 8px;padding:8px 12px;border-radius:10px;background:#ede9fe;color:#5b21b6;font-weight:600}body.dark .autoclose{background:rgba(139,92,246,.22);color:#d8ccff}
.itsm-feed{list-style:none;margin:0;padding:0;display:grid;gap:8px}.itsm-feed li{display:flex;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.itsm-feed li.auto{border-color:#ddd6fe;background:rgba(139,92,246,.06)}.itsm-feed p{margin:0;white-space:pre-wrap;word-break:break-word}.itsm-feed small{color:var(--mut)}.itsm-ic{flex:none}
/* Collapsible lab sidebar (Jono 2026-11-03): expanded by default; collapsed = 68px icon rail; the grid column animates, so every page
   (and the Org app window) re-fits smoothly. Choice saved in TwjSettings "navCollapsed". Desktop only: phones keep the drawer. */
.navcol{display:none}
@media(min-width:821px){
 body{transition:grid-template-columns .3s cubic-bezier(.2,.7,.2,1)}body.navc{grid-template-columns:68px 1fr}
 aside.lab-nav{overflow:hidden;transition:padding .3s cubic-bezier(.2,.7,.2,1)}body.navc aside.lab-nav{padding:18px 10px}
 aside.lab-nav .logo{display:flex;align-items:center;white-space:nowrap;position:relative}
 .lgm{display:inline-block;flex:none;width:32px;height:32px;border-radius:8px;vertical-align:middle}#mbar .lgm{width:26px;height:26px;border-radius:7px;margin-top:-3px}
 .navcol{display:grid;place-items:center;margin-left:auto;width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--mut);font:700 15px/1 system-ui,sans-serif;cursor:pointer;flex:none;transition:transform .3s,background .15s,color .15s}
 .navcol:hover{background:var(--p2);color:var(--txt)}body.navc .navcol{transform:rotate(180deg);margin:10px auto 0}
 body.navc aside.lab-nav .logo{flex-direction:column;margin:0 0 12px}
 aside.lab-nav .lgt,aside.lab-nav .nl{display:inline-block;max-width:180px;overflow:hidden;white-space:nowrap;vertical-align:bottom;transition:max-width .3s cubic-bezier(.2,.7,.2,1),opacity .2s}
 body.navc aside.lab-nav .lgt,body.navc aside.lab-nav .nl{max-width:0;opacity:0}
 aside.lab-nav button.nav{position:relative;white-space:nowrap;transition:background .15s,color .15s,transform .15s,padding .3s,gap .3s}
 aside.lab-nav .ni{flex:none;width:22px;text-align:center}
 body.navc aside.lab-nav button.nav{padding:10px 0;gap:0;justify-content:center}body.navc aside.lab-nav button.nav:hover{transform:none}
 body.navc aside.lab-nav .cnt{position:absolute;top:2px;right:2px;margin:0;padding:0 5px;font-size:10px;line-height:16px}
 #online{transition:opacity .2s,max-height .3s,margin .3s;max-height:40px;overflow:hidden}body.navc #online{opacity:0;max-height:0;margin:0!important}
 .player .lvl>div,.player .xpbar,.player>.small,.player>div.small{transition:opacity .2s}
 body.navc .player{padding:8px 4px}body.navc .player .lvl{flex-direction:column;gap:6px}
 body.navc .player .lvl>div,body.navc .player .xpbar,body.navc .player>.small,body.navc .player>div.small{display:none}
 body.navc #cog{margin:0}
}
/* Account settings cog (player card): a borderless icon button like the nav icons (.ni, 15px), centred on the level-badge row;
   the collapsed rail stacks it under the badge. Phones keep the 44px tap target (@media max-width:820px). */
.player .lvl>div{flex:1;min-width:0}#pname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cog{flex:none;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--mut);font-size:15px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
#cog .cogi{display:block;transition:rotate .3s var(--mo-e)}#cog:hover .cogi{rotate:45deg}#cog:hover,#cog:focus-visible{background:rgba(255,255,255,.55);border-color:var(--line);color:var(--txt)}body.dark #cog:hover,body.dark #cog:focus-visible{background:rgba(255,255,255,.06)}
/* Support chat can be hidden like the Notes rail: "Hide ›" in the chat header tucks the 💬 button into a slim right-edge tab;
   the tab (or Account › Preferences) brings it back. Saved in TwjSettings "chatHidden". */
#chattab{position:fixed;right:0;bottom:calc(34px + env(safe-area-inset-bottom));z-index:900;display:grid;place-items:center;width:30px;height:44px;padding:0 0 0 2px;border:1px solid var(--gedge);border-right:0;border-radius:12px 0 0 12px;background:var(--glass2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--txt);font-size:16px;line-height:1;cursor:pointer;box-shadow:-3px 3px 12px rgba(0,0,0,.18);transition:width .15s}
#chattab:hover,#chattab:focus-visible{width:38px}.chead .chhide{margin-left:0;font-size:13px;font-weight:700;padding:0 6px;white-space:nowrap}
.chead{gap:8px}.chead .chbtn{min-width:34px}@media(max-width:820px){.chead .chbtn{min-width:40px}}
/* Trademark / simulation notices */
.labfoot{margin:28px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--mut);text-align:center}body.org-portal-open .labfoot{display:none}
.org-land .sub.orgdisc{display:block;font-size:13px;margin-bottom:4px;line-height:1.5}
.ob-sim{flex:none;padding:3px 10px;border-radius:999px;background:#2a2b2f;color:#c4c7cc;font:600 11px -apple-system,"Segoe UI",sans-serif;white-space:nowrap;cursor:help}
@media(max-width:1000px){.ob-sim{display:none}}
/* Org app = a browser window */
body.org-portal-open .obw{display:flex;flex-direction:column;flex:1;min-height:0;background:#202124;color-scheme:dark}
.ob-tabs{display:flex;align-items:flex-end;gap:10px;height:36px;padding:0 12px;background:#202124;flex:none}
.ob-dots{display:flex;gap:7px;align-self:center;margin-right:6px}.ob-dots i{width:12px;height:12px;border-radius:50%;background:#ff5f57}.ob-dots i:nth-child(2){background:#febc2e}.ob-dots i:nth-child(3){background:#28c840}
.ob-tab{display:flex;align-items:center;gap:8px;height:30px;min-width:200px;max-width:280px;padding:0 10px 0 12px;background:#35363a;border-radius:9px 9px 0 0;color:#e8eaed;font:500 12.5px -apple-system,"Segoe UI",sans-serif}
.ob-fav{display:grid;place-items:center;width:16px;height:16px;flex:none}.ob-fav svg{width:16px;height:16px}.ob-tt{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ob-tx{color:#9aa0a6;cursor:pointer;font-size:12px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;text-decoration:none}.ob-tx:hover{background:#4a4b4f;color:#fff}
.ob-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#35363a;border-bottom:1px solid #18191b;flex:none}
.ob-org{border:0;border-radius:999px;background:#8b5cf6;color:#fff;font:700 13px -apple-system,"Segoe UI",sans-serif;padding:7px 16px;cursor:pointer;box-shadow:0 0 0 2px rgba(167,139,250,.35);white-space:nowrap;margin-right:4px}.ob-org:hover{background:#7c3aed}
.ob-nb{border:0;background:transparent;color:#e8eaed;width:30px;height:30px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer}.ob-nb:hover:not(:disabled){background:#4a4b4f}.ob-nb:disabled{color:#6f7175;cursor:default}
.ob-url{flex:1;min-width:0;display:flex;align-items:center;gap:2px;height:30px;padding:0 14px;border-radius:999px;background:#202124;color:#9aa0a6;font:13px -apple-system,"Segoe UI",sans-serif;white-space:nowrap;overflow:hidden}
.ob-url b{color:#e8eaed;font-weight:400}.ob-lock{font-size:11px;margin-right:6px;filter:grayscale(1)}.ob-sch{color:#9aa0a6}
body.org-portal-open .ob-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}
body.org-portal-open .ob-view>*{flex:1;min-height:0;height:auto!important;border-radius:0!important}
.ob-view .org-back{display:none!important}
@media(max-width:700px){.ob-dots,.ob-sch{display:none}.ob-tab{min-width:0}.ob-org{padding:6px 10px;font-size:12px}}
/* Org portal = "another environment" (Jono 2026-11-03): a pulsing frame while any Org app is open */
body.org-portal-open #orgroot{position:relative}
body.org-portal-open #orgroot::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:60;border:3px solid #a78bfa;box-shadow:inset 0 0 0 1px #7c3aed,inset 0 0 18px rgba(139,92,246,.45);animation:orgpulse 2.4s ease-in-out infinite}
@keyframes orgpulse{0%,100%{border-color:rgba(167,139,250,.95);box-shadow:inset 0 0 0 1px rgba(124,58,237,.9),inset 0 0 22px rgba(139,92,246,.5)}50%{border-color:rgba(167,139,250,.35);box-shadow:inset 0 0 0 1px rgba(124,58,237,.3),inset 0 0 6px rgba(139,92,246,.15)}}
@media(prefers-reduced-motion:reduce){body.org-portal-open #orgroot::after{animation:none}}
/* Home (2026-11-04): since your last visit, needs your attention, your standing */
.hm-since h2 .small{font-weight:500}
.hm-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.hm-chip{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--p2);display:flex;flex-direction:column;gap:2px;animation:fadeup .45s ease both}
.hm-chip b{font:800 24px ui-monospace,Consolas,monospace;color:var(--txt)}.hm-chip span{font-weight:600;color:var(--txt)}.hm-chip small{color:var(--mut)}
.hm-chip.up b{color:var(--g)}.hm-chip.down b{color:var(--bad)}.hm-chip.hm-new b{color:var(--cy)}
#home .grid2>*,#home .hm-list,#home .hm-row{min-width:0} /* long ticket titles truncate instead of widening the page (1,200 px minimum) */
.hm-list{display:flex;flex-direction:column;gap:6px}
.hm-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer;color:var(--txt);font:inherit;transition:background .15s,border-color .15s,transform .15s}
.hm-row:hover{background:var(--p2);border-color:var(--g);transform:translateX(2px)}.hm-row .hm-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-tier{display:flex;gap:14px;align-items:center;margin-bottom:12px}.hm-tier>div{flex:1}
.hm-badge{flex:none;display:grid;place-items:center;min-width:92px;height:92px;padding:0 8px;border-radius:18px;font-weight:800;text-align:center;color:#fff;background:var(--tc,var(--g));box-shadow:0 8px 22px -10px var(--tc,var(--g))}
.hm-bar{height:8px;border-radius:99px;background:var(--p2);overflow:hidden;margin:8px 0 4px}.hm-bar i{display:block;height:100%;width:0;background:var(--g);border-radius:99px;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.hm-board{display:flex;flex-direction:column;gap:4px;margin:4px 0 10px}
.hm-board>div{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px}.hm-board>div b{flex:1}.hm-board>div.me{background:var(--p2);outline:1px solid var(--g)}
@media (prefers-reduced-motion:reduce){.hm-chip{animation:none}.hm-bar i{transition:none}}
/* Queue: the beginner ramp note (level 3 tickets unlock after a few easier ones; server rule in api/src/lab/queue.js) */
.qramp{display:flex;align-items:center;gap:14px;border-left:4px solid var(--acc,var(--g))}.qramp .qr-ic{font-size:26px;flex:none}.qramp p{margin:2px 0 0}
.qramp .qr-dots{display:flex;gap:6px;margin-top:8px}.qramp .qr-dots i{width:26px;height:6px;border-radius:4px;background:var(--line)}.qramp .qr-dots i.on{background:var(--acc,var(--g))}

.csp-s0{display:flex !important;align-items:center !important;gap:8px !important;margin:-6px 6px 12px !important;font-size:13px !important;color:var(--mut) !important}
.csp-s1{background:var(--g) !important}
.csp-s2{font-weight:700 !important}
.csp-s3{width:0 !important}
.csp-s4{margin-top:6px !important}
.csp-s5{grid-column:span 3 !important}
.csp-s6{width:100% !important}
.csp-s7{--bg:#2f3b8f !important}
.csp-s8{--bg:#16706b !important}
.csp-s9{animation-delay:.1s !important}
.csp-s10{animation-delay:.5s !important}
.csp-s11{animation-delay:.9s !important}
.csp-s12{--bg:#a3561f !important}
.csp-s13{animation-delay:.4s !important}
.csp-s14{animation-delay:.8s !important}
.csp-s15{animation-delay:1.2s !important}
.csp-s16{--bg:#1f5f8f !important}
.csp-s17{animation-delay:1.4s !important}
.csp-s18{--bg:#5b3a8f !important}
.csp-s19{animation-delay:.3s !important}
.csp-s20{animation-delay:.7s !important}
.csp-s21{animation-delay:1.1s !important}
.csp-s22{--bg:#2f7a45 !important}
.csp-s23{animation-delay:.6s !important}
.csp-s24{color:#d33 !important}
.csp-s25{background:#d33 !important}
.csp-s26{color:var(--pu) !important}
.csp-s27{background:var(--pu) !important}
.csp-s28{display:flex !important;gap:8px !important}
.csp-s29{font-size:18px !important}
.csp-s30{margin:8px 0 !important}
.csp-s31{max-width:360px !important}
[data-w="0"]{width:0%}[data-w="1"]{width:1%}[data-w="2"]{width:2%}[data-w="3"]{width:3%}[data-w="4"]{width:4%}[data-w="5"]{width:5%}[data-w="6"]{width:6%}[data-w="7"]{width:7%}[data-w="8"]{width:8%}[data-w="9"]{width:9%}[data-w="10"]{width:10%}[data-w="11"]{width:11%}[data-w="12"]{width:12%}[data-w="13"]{width:13%}[data-w="14"]{width:14%}[data-w="15"]{width:15%}[data-w="16"]{width:16%}[data-w="17"]{width:17%}[data-w="18"]{width:18%}[data-w="19"]{width:19%}[data-w="20"]{width:20%}[data-w="21"]{width:21%}[data-w="22"]{width:22%}[data-w="23"]{width:23%}[data-w="24"]{width:24%}[data-w="25"]{width:25%}[data-w="26"]{width:26%}[data-w="27"]{width:27%}[data-w="28"]{width:28%}[data-w="29"]{width:29%}[data-w="30"]{width:30%}[data-w="31"]{width:31%}[data-w="32"]{width:32%}[data-w="33"]{width:33%}[data-w="34"]{width:34%}[data-w="35"]{width:35%}[data-w="36"]{width:36%}[data-w="37"]{width:37%}[data-w="38"]{width:38%}[data-w="39"]{width:39%}[data-w="40"]{width:40%}[data-w="41"]{width:41%}[data-w="42"]{width:42%}[data-w="43"]{width:43%}[data-w="44"]{width:44%}[data-w="45"]{width:45%}[data-w="46"]{width:46%}[data-w="47"]{width:47%}[data-w="48"]{width:48%}[data-w="49"]{width:49%}[data-w="50"]{width:50%}[data-w="51"]{width:51%}[data-w="52"]{width:52%}[data-w="53"]{width:53%}[data-w="54"]{width:54%}[data-w="55"]{width:55%}[data-w="56"]{width:56%}[data-w="57"]{width:57%}[data-w="58"]{width:58%}[data-w="59"]{width:59%}[data-w="60"]{width:60%}[data-w="61"]{width:61%}[data-w="62"]{width:62%}[data-w="63"]{width:63%}[data-w="64"]{width:64%}[data-w="65"]{width:65%}[data-w="66"]{width:66%}[data-w="67"]{width:67%}[data-w="68"]{width:68%}[data-w="69"]{width:69%}[data-w="70"]{width:70%}[data-w="71"]{width:71%}[data-w="72"]{width:72%}[data-w="73"]{width:73%}[data-w="74"]{width:74%}[data-w="75"]{width:75%}[data-w="76"]{width:76%}[data-w="77"]{width:77%}[data-w="78"]{width:78%}[data-w="79"]{width:79%}[data-w="80"]{width:80%}[data-w="81"]{width:81%}[data-w="82"]{width:82%}[data-w="83"]{width:83%}[data-w="84"]{width:84%}[data-w="85"]{width:85%}[data-w="86"]{width:86%}[data-w="87"]{width:87%}[data-w="88"]{width:88%}[data-w="89"]{width:89%}[data-w="90"]{width:90%}[data-w="91"]{width:91%}[data-w="92"]{width:92%}[data-w="93"]{width:93%}[data-w="94"]{width:94%}[data-w="95"]{width:95%}[data-w="96"]{width:96%}[data-w="97"]{width:97%}[data-w="98"]{width:98%}[data-w="99"]{width:99%}[data-w="100"]{width:100%}
.bar i[data-tone="bad"]{background:var(--bad)}.bar i[data-tone="warn"]{background:var(--warn)}.bar i[data-tone="g"]{background:var(--g)}
