.ransomware-lab { background: radial-gradient(ellipse at 70% 0%, #16334d 0, transparent 55%), #08111f; line-height: 1.55; }
.ransomware-lab .topbar { width: min(1440px, calc(100% - 48px)); border-bottom: 1px solid var(--line); }
.brand-sub { color: var(--muted); font-size: 11px; letter-spacing: .12em; margin-left: 10px; }
.badge { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #386259; color: #a1edce; border-radius: 5px; padding: 4px 9px; font: 11px/1.5 Consolas, monospace; letter-spacing: .07em; }
.lab-page { width: min(1440px, calc(100% - 48px)); margin: 0 auto; padding: 36px 0; }
.intro { max-width: 920px; padding: 32px 0 24px; }
.intro h1 { font-size: clamp(38px, 6vw, 68px); line-height: 1.05; letter-spacing: -.04em; }
.intro .eyebrow { color: var(--accent-2); }
.intro .lead { max-width: 750px; }
.lab-meta { display: flex; gap: 25px; flex-wrap: wrap; color: #c0cfe0; font-size: 13px; margin: 25px 0; }
.lab-panel { border: 1px solid var(--line); border-radius: 10px; padding: 24px; background: #101b2ddd; }
.lab-panel h2 { font-size: 24px; }
.mode-fieldset { border: 0; padding: 0; margin: 0; }
.mode-fieldset legend { font-size: 22px; font-weight: 700; margin-bottom: 18px; }
.mode-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mode-card { position: relative; display: grid; grid-template-columns: 20px 1fr; align-content: start; gap: 10px; border: 1px solid #35455f; border-radius: 8px; padding: 24px 20px; min-height: 172px; cursor: pointer; background: #111e32; }
.mode-card:has(input:checked) { border: 2px solid #66caff; padding: 23px 19px; background: #132b43; box-shadow: 0 0 0 3px #57b8ff0c; }
.mode-card input { margin: 6px 0 0; accent-color: #57b8ff; width: 17px; height: 17px; }
.mode-card strong { display: block; font-size: 19px; margin-bottom: 7px; }
.mode-card span span { color: #b2c2d6; font-size: 14px; }
.start-options { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 18px; margin-top: 24px; }
.muted, small { color: #abbdd1; }
.fineprint { margin-top: 24px; color: #96acc4; font-size: 13px; }
.ransomware-lab button, .ransomware-lab input, .ransomware-lab select, .ransomware-lab textarea { font: inherit; }
.ransomware-lab button, .lab-link { border: 1px solid #3b526e; background: #1a2d46; color: #edf5ff; border-radius: 6px; padding: 9px 14px; cursor: pointer; min-height: 42px; }
.ransomware-lab button.primary { background: #72cbff; color: #061827; border-color: #72cbff; font-weight: 750; }
.ransomware-lab button:hover, .lab-link:hover { border-color: #8bd4ff; filter: brightness(1.1); }
.ransomware-lab :focus-visible { outline: 3px solid #b4e6ff; outline-offset: 3px; }
.ransomware-lab input:not([type=radio]):not([type=checkbox]), .ransomware-lab select, .ransomware-lab textarea { display: block; width: 100%; color: #eef5ff; background: #091525; border: 1px solid #40546f; border-radius: 5px; padding: 10px; margin-top: 5px; }
.ransomware-lab textarea { min-height: 88px; resize: vertical; }
.ransomware-lab input[type=checkbox] { accent-color: #72cbff; width: 18px; height: 18px; }
.seed-label { max-width: 230px; font-size: 13px; }
.resume { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 20px; border-color: #55876f; }
.session-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 20px; }
.session-header h1 { font-size: 25px; margin: 0; line-height: 1.3; letter-spacing: -.025em; }
.session-header p { font-size: 13px; margin: 5px 0 0; color: #a7bcd1; }
.button-row { display: flex; gap: 9px; flex-wrap: wrap; margin: 14px 0; }
.session-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 18px; align-items: start; }
.session-layout.unguided { grid-template-columns: 1fr; }
.desktop { position: relative; min-height: 680px; overflow: hidden; border: 1px solid #385270; border-radius: 10px; background: radial-gradient(ellipse at 70% 40%, #205484aa, transparent 65%), linear-gradient(140deg, #102c47, #0b1729); box-shadow: 0 22px 60px #0005; }
.desktop::before { content: ''; position: absolute; width: 260px; height: 240px; top: 180px; right: 15%; border: 1px solid #64c5ff22; transform: skewY(-12deg); box-shadow: 35px 30px 0 #4cacdb09, 70px 60px 0 #4cacdb06; pointer-events: none; }
.desktop-top { padding: 10px 18px; background: #08142588; color: #acc5de; font: 11px Consolas, monospace; letter-spacing: .07em; display: flex; justify-content: space-between; }
.desktop-icons { display: grid; grid-template-columns: repeat(2, 110px); gap: 8px; padding: 18px; position: relative; }
.ransomware-lab .desktop-icon { background: transparent; border: 1px solid transparent; padding: 8px 4px; text-align: center; border-radius: 5px; min-height: 83px; font-size: 11px; overflow-wrap: anywhere; }
.desktop-icon:hover { background: #8abfea22; }
.desktop-icon .glyph { display: block; margin: 0 auto 5px; width: 35px; height: 38px; border: 1px solid #9dc7e0; border-radius: 4px; background: linear-gradient(145deg, #4c7c9c, #284568); color: white; font: 700 13px/36px Consolas, monospace; box-shadow: 2px 3px 5px #0003; }
.desktop-icon .glyph.folder { background: #b9954a; border-color: #e7c773; color: #192436; height: 29px; margin-top: 9px; line-height: 28px; }
.desktop-icon .glyph.note { background: #f0e4c9; color: #533a24; border-color: #fff3d9; }
.desktop-apps { position: absolute; right: 18px; bottom: 85px; max-width: 360px; display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.desktop-apps button { background: #0c2038dd; font-size: 13px; }
.desktop-watermark { position: absolute; right: 30px; top: 90px; color: #91c0e666; font-size: 12px; letter-spacing: .22em; text-align: right; }
.desktop-watermark strong { display: block; font-size: 24px; letter-spacing: -.03em; }
.taskbar { position: absolute; bottom: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; background: #081321ed; border-top: 1px solid #3d5a74; }
.taskbar-group { display: flex; align-items: center; gap: 7px; }
.taskbar button { padding: 6px 10px; min-height: 36px; font-size: 12px; }
.taskbar time { font: 12px/1.5 Consolas, monospace; text-align: right; color: #bfd0e0; }
.incident-sidebar { padding: 20px; }
.incident-sidebar h2 { font-size: 19px; }
.incident-sidebar ol { list-style: none; padding: 0; margin: 20px 0; }
.incident-sidebar li { padding: 9px 0; font-size: 13px; color: #a5b9cd; border-bottom: 1px solid #23374a; }
.incident-sidebar li.done { color: #8ee4bd; }
.incident-sidebar li.current { color: #fff; font-weight: 700; }
.incident-sidebar progress { width: 100%; accent-color: #73ccff; }
.colleague { padding: 13px; border-left: 2px solid #6fcaff; background: #10283b; font-size: 13px; margin-top: 16px; }
.colleague strong { color: #8ad4ff; display: block; margin-bottom: 7px; }
.lab-dialog { padding: 0; width: min(780px, calc(100% - 28px)); max-height: 86vh; border: 1px solid #66809b; border-radius: 9px; background: #111e30; color: #eef5ff; box-shadow: 0 30px 120px #000a; }
.lab-dialog::backdrop { background: #02091266; }
.window-title { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; background: #1a2c43; border-bottom: 1px solid #3b526c; }
.window-title h2 { font-size: 15px; margin: 0; }
.window-title button { min-height: 32px; padding: 2px 10px; }
.window-content { padding: 24px; }
.window-content h3 { font-size: 18px; }
.window-content p { color: #b9c9da; }
.window-content pre { padding: 18px; border: 1px solid #443d38; background: #1f211f; color: #ede4cd; font-size: 13px; overflow-wrap: anywhere; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.form-grid .wide { grid-column: 1 / -1; }
.form-grid label { font-size: 13px; color: #c2d1e0; }
.data-list { display: grid; grid-template-columns: 150px 1fr; gap: 10px; margin: 0 0 20px; font-size: 14px; }
.data-list dt { color: #a8bdd1; }
.data-list dd { margin: 0; overflow-wrap: anywhere; }
.table-scroll { overflow-x: auto; }
.ransomware-lab table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.ransomware-lab th { color: #9fb9d2; font-weight: 500; }
.ransomware-lab td, .ransomware-lab th { padding: 12px 10px; border-bottom: 1px solid #2d425a; }
.ransomware-lab td button { font-size: 12px; min-height: 34px; }
.signal { color: #ffce82; }
.evidence-item { padding: 12px; border: 1px solid #35546a; margin-top: 10px; border-radius: 5px; overflow-wrap: anywhere; font-size: 13px; }
.checks { display: grid; gap: 15px; }
.checks label { display: flex; align-items: center; gap: 12px; }
.result-top { display: grid; grid-template-columns: 180px 1fr; gap: 30px; align-items: center; margin: 24px 0; }
.score-orb { border: 5px solid #64c7f6; border-radius: 50%; width: 170px; height: 170px; display: grid; align-content: center; text-align: center; background: #0c2236; }
.score-orb strong { font-size: 48px; line-height: 1.2; }
.score-orb small { margin-top: 6px; color: #9ec7dc; font-size: 11px; }
.assessment-status { color: #b4d5e8; }
.manual-assessment { border-color: #826840; background: linear-gradient(145deg,#192737,#202933); }
.manual-assessment > .eyebrow { color: #edc487; }
.manual-status { padding: 12px; border: 1px solid #7d6646; border-radius: 6px; color: #f6d8a9; background: #393020; }
.result-top h1 { font-size: clamp(28px, 4vw, 42px); line-height: 1.1; }
.result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.result-grid h2 { font-size: 22px; }
.feedback-item { padding: 12px 0; border-bottom: 1px solid #2a4056; font-size: 14px; }
.feedback-item p { margin: 5px 0 0; color: #b2c5d8; }
.timeline { padding: 0; list-style: none; }
.timeline li { border-left: 2px solid #385775; padding: 0 0 20px 18px; margin-left: 8px; }
.timeline time { color: #91bddf; font: 12px Consolas, monospace; }
.timeline p { margin: 4px 0; color: #b6c8da; font-size: 13px; }
.risk { color: #ffb4a5; }
.correct { color: #9be4c0; }
#notice { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 10; max-width: min(660px, calc(100% - 32px)); }
#notice:not(:empty) { padding: 13px 20px; background: #203c53; border: 1px solid #78b6da; border-radius: 8px; box-shadow: 0 8px 40px #0008; }
.inline-notice { padding: 12px; background: #1d354c; border-left: 3px solid #81cfff; font-size: 13px; margin-top: 18px; }
@media (max-width: 1000px) { .session-layout { grid-template-columns: 1fr; } .incident-sidebar ol { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; } }
@media (max-width: 680px) {
  .lab-page, .ransomware-lab .topbar { width: calc(100% - 28px); }
  .ransomware-lab .topbar { gap: 15px; }
  .brand-sub { display: none; }
  .mode-grid, .result-grid, .form-grid { grid-template-columns: 1fr; }
  .mode-card { min-height: 125px; }
  .lab-panel { padding: 18px; }
  .intro { padding-top: 5px; }
  .desktop { min-height: 810px; }
  .desktop-apps { left: 15px; bottom: 120px; justify-content: flex-start; }
  .desktop-watermark { top: 75px; right: 15px; font-size: 9px; }
  .desktop-watermark strong { font-size: 16px; }
  .desktop-icons { grid-template-columns: repeat(2, 96px); }
  .taskbar { flex-wrap: wrap; }
  .result-top { grid-template-columns: 1fr; }
  .data-list { grid-template-columns: 110px 1fr; }
  .window-content { padding: 17px; }
}
@media print { .topbar, .button-row, #notice { display: none; } .result-grid { display: block; } .lab-panel { break-inside: avoid; margin-bottom: 20px; } }

/* Dual-system incident room */
.systems-heading { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.45fr); gap: 16px; margin: 0 0 9px; color: #8da6bd; font: 700 11px/1.4 Consolas, monospace; letter-spacing: .08em; text-transform: uppercase; }
.systems-heading span { display: flex; align-items: center; gap: 9px; }
.systems-heading b { display: inline-grid; place-items: center; width: 25px; height: 25px; border: 1px solid #3a536c; border-radius: 50%; color: #76cbfb; }
.dual-system-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.45fr); gap: 16px; align-items: stretch; }
.system-switcher { display: flex; align-items: stretch; justify-content: flex-start; gap: 12px; margin: 0 0 14px; }
.system-segments { display: flex; overflow: hidden; border: 1px solid #2b3d54; border-radius: 11px; background: #0d1726; }
.ransomware-lab .system-segments button { display: grid; min-width: 176px; min-height: 56px; align-content: center; gap: 3px; padding: 7px 15px; border: 0; border-right: 1px solid #2b3d54; border-radius: 0; color: #7f96ad; background: transparent; text-align: left; }
.ransomware-lab .system-segments button:last-child { border-right: 0; }
.system-segments button span { color: #9fb2c5; font-size: 11px; font-weight: 800; }
.system-segments button code { color: #7394b2; font: 12px/1.3 Consolas,monospace; }
.ransomware-lab .system-segments button.active { color: #fff; background: linear-gradient(135deg,#103630,#102c35); box-shadow: inset 0 -3px #38e2ae; }
.ransomware-lab .system-segments button.active.danger { background: linear-gradient(135deg,#3b171b,#2b1824); box-shadow: inset 0 -3px #ff515b; }
.system-segments button.active span { color: #fff; }
.system-segments button.active code { color: #9cebd2; }
.system-segments button.active.danger code { color: #ffabb0; }
.ransomware-lab .system-switch-action { display: inline-flex; min-width: 270px; align-items: center; justify-content: center; gap: 11px; padding: 0 20px; border: 1px solid #237c61; border-radius: 11px; color: #4ce4b0; background: #0c2a26; font-weight: 800; }
.system-switch-action .nova-icon { width: 22px; height: 22px; }
.ransomware-lab .system-switch-action:hover { border-color: #45d7a7; background: #103832; filter: none; }
.single-system-layout { grid-template-columns: minmax(0,1fr); }
.single-system-layout .machine { width: 100%; }
.single-system-layout .machine[hidden] { display: none!important; }
.machine { min-width: 0; overflow: hidden; border: 1px solid #324b66; border-radius: 10px; background: #0a1422; box-shadow: 0 24px 70px #0006; }
.machine-bar { min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 15px; background: #0b1626; border-bottom: 1px solid #2d435a; }
.machine-bar > div { display: grid; grid-template-columns: 12px auto; column-gap: 9px; align-items: center; }
.machine-bar strong { font-size: 13px; letter-spacing: .03em; }
.machine-bar small { grid-column: 2; color: #8299af; font-size: 10px; }
.machine-light { grid-row: 1 / 3; width: 8px; height: 8px; border-radius: 50%; box-shadow: 0 0 12px currentColor; }
.machine-light.danger { color: #ff3b48; background: currentColor; }
.machine-light.safe { color: #40d998; background: currentColor; }
.machine-state { flex: 0 0 auto; padding: 4px 7px; border: 1px solid #8a3038; border-radius: 4px; color: #ff9098; background: #43141a55; font: 700 9px/1.4 Consolas, monospace; letter-spacing: .06em; }
.machine-state.safe { color: #83e6bc; border-color: #2b7056; background: #123b2c66; }
.victim-desktop { min-height: 735px; border: 0; border-radius: 0; background: radial-gradient(circle at 87% 50%, #168be788 0 2%, transparent 24%), linear-gradient(126deg, #03142c 0%, #063e73 52%, #0b8bdd 100%); }
.victim-desktop::before { width: 280px; height: 280px; top: 150px; right: 4%; border: 2px solid #73ceff66; box-shadow: 28px 24px 0 #5ab7f311, 56px 48px 0 #5ab7f30a; }
.finance-icons { grid-template-columns: repeat(2, 94px); gap: 6px; padding: 14px 10px; max-width: 210px; z-index: 1; }
.finance-icons .desktop-icon { color: white; text-shadow: 0 2px 3px #001a; }
.desktop-icon .glyph.bin { color: #86d0ff; background: linear-gradient(145deg,#dce9ef,#597185); }
.ransom-popup { position: absolute; z-index: 2; top: 78px; left: 25%; width: 70%; max-width: 535px; overflow: hidden; border: 1px solid #ff2c34; border-radius: 7px; background: radial-gradient(circle at 80% 0, #4c0000, transparent 45%), linear-gradient(145deg,#210203,#3a0608); box-shadow: 0 18px 70px #000d, 0 0 22px #ff172633; color: #fff; }
.ransom-popup > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 13px; background: #5a080bdd; border-bottom: 1px solid #ca2027; font-size: 11px; }
.ransom-popup > header strong { font-size: 11px; letter-spacing: .03em; }
.ransom-body { display: grid; grid-template-columns: 74px 1fr; gap: 16px; align-items: center; padding: 22px 22px 14px; }
.lock-mark { display: grid; place-items: center; width: 70px; height: 76px; color: #2b0305; background: linear-gradient(145deg,#ff6d72,#ed202b); border-radius: 8px; font-size: 40px; box-shadow: 0 0 35px #e6222c55; }
.ransom-body h2 { margin: -5px 0 4px; color: #ff3b42; font: 900 clamp(27px,3vw,40px)/1 Consolas, monospace; letter-spacing: -.04em; }
.ransom-body p { margin: 0; color: #e7d9d9; font-size: 12px; }
.ransom-body .ransom-kicker { color: #fff; font: 900 15px/1.2 Consolas, monospace; }
.ransom-demand, .ransom-timer { margin: 0 20px 11px; padding: 11px 13px; border: 1px solid #a92228; border-radius: 5px; background: #210608cc; }
.ransom-demand { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; }
.ransom-demand span, .ransom-timer span { color: #ff7b80; font: 700 9px/1.4 Consolas, monospace; letter-spacing: .06em; }
.ransom-demand strong { color: #ff5258; font-size: 17px; }
.ransom-demand code { grid-column: 1 / -1; color: #dbb9ba; font-size: 9px; overflow-wrap: anywhere; }
.ransom-timer { text-align: center; }
.ransom-timer strong { display: block; color: #ff4149; font: 700 25px/1.1 Consolas, monospace; letter-spacing: .08em; }
.ransom-actions { display: flex; gap: 8px; padding: 0 20px 17px; }
.ransom-actions button { flex: 1; min-height: 36px; padding: 7px; border-color: #b5282f; background: #651117; font-size: 10px; }
.ransom-actions button:last-child { background: #eb2832; border-color: #ff525a; font-weight: 800; }
.ransom-popup > footer { padding: 8px 14px; border-top: 1px solid #8e1b20; color: #ff8589; background: #300608; font: 700 8px/1.4 Consolas, monospace; letter-spacing: .05em; text-align: center; }
.victim-taskbar { z-index: 3; }
.resolvedesk-shell { min-height: 735px; background: #edf1f5; color: #172331; }
.resolvedesk-top { min-height: 65px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 16px; color: #eaf3fb; background: linear-gradient(95deg,#0b2339,#102f49); border-bottom: 3px solid #20b779; }
.resolvedesk-brand { display: flex; align-items: center; gap: 10px; }
.resolvedesk-brand > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; color: #06291d; background: #43dfa1; font: 900 20px Consolas, monospace; }
.resolvedesk-brand strong, .resolvedesk-brand small { display: block; }
.resolvedesk-brand strong { font-size: 17px; letter-spacing: -.02em; }
.resolvedesk-brand small { color: #8fabc1; font: 700 8px/1.4 Consolas, monospace; letter-spacing: .1em; }
.resolvedesk-stats { display: flex; align-items: center; gap: 16px; color: #94adc2; font: 700 8px/1.4 Consolas, monospace; }
.resolvedesk-stats span { text-align: center; }
.resolvedesk-stats b { display: block; color: white; font-size: 15px; }
.resolvedesk-stats .operator-avatar { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #52738e; border-radius: 50%; color: #dceaf4; font-size: 10px; }
.resolvedesk-main { display: grid; grid-template-columns: 118px minmax(0,1fr); min-height: 670px; }
.resolvedesk-nav { padding: 13px 8px; background: #10283c; }
.ransomware-lab .resolvedesk-nav button { width: 100%; display: flex; align-items: center; gap: 9px; min-height: 40px; padding: 7px 9px; border: 0; border-radius: 5px; color: #9fb4c6; background: transparent; font-size: 10px; text-align: left; }
.resolvedesk-nav button span { width: 17px; color: #65d2a7; font-size: 14px; text-align: center; }
.ransomware-lab .resolvedesk-nav button:hover, .ransomware-lab .resolvedesk-nav button.active { color: #fff; background: #1d425e; box-shadow: inset 3px 0 #49d7a1; }
.resolvedesk-workspace { min-width: 0; padding: 19px; background: #eef2f5; }
.workspace-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid #cbd5dd; }
.workspace-head p { margin: 0 0 3px; color: #6e8495; font: 700 8px/1.3 Consolas, monospace; letter-spacing: .1em; }
.workspace-head h2 { margin: 0; color: #182b3b; font-size: 20px; }
.ticket-chip { padding: 5px 8px; color: #08734d; background: #d8f5e9; border: 1px solid #8dd8bd; border-radius: 4px; font: 700 9px Consolas, monospace; }
.workspace-content { padding-top: 14px; }
.workspace-content h3 { color: #172b3b; font-size: 15px; }
.workspace-content p { color: #526777; font-size: 11px; }
.workspace-content pre { max-height: 165px; overflow: auto; padding: 11px; color: #bdebd8; background: #102436; border: 1px solid #25485f; font-size: 9px; }
.workspace-content .form-grid { gap: 9px; }
.workspace-content label { color: #405767; font-size: 10px; }
.workspace-content input:not([type=radio]):not([type=checkbox]), .workspace-content select, .workspace-content textarea { color: #142534; background: #fff; border-color: #b8c7d1; padding: 7px; font-size: 10px; }
.workspace-content textarea { min-height: 61px; }
.workspace-content table { color: #243847; font-size: 9px; }
.workspace-content td, .workspace-content th { padding: 8px 6px; border-color: #cbd5dc; }
.workspace-content button { min-height: 32px; padding: 6px 9px; border-color: #7892a5; color: #173448; background: #fff; font-size: 9px; }
.workspace-content button.primary { color: #fff; background: #0e7653; border-color: #0e7653; }
.workspace-content .evidence-item { color: #354d5e; background: #fff; border-color: #b8cbd7; font-size: 9px; }
.workspace-content .button-row { margin: 9px 0; gap: 6px; }
.workspace-content .data-list { grid-template-columns: 110px 1fr; gap: 7px; color: #263b49; font-size: 10px; }
.workspace-content .data-list dt { color: #6a7e8c; }
.workspace-content .checks { gap: 9px; color: #314958; font-size: 10px; }
.horizontal-guide { display: grid; grid-template-columns: 210px minmax(0,1fr) 240px; gap: 20px; align-items: start; margin-top: 18px; }
.horizontal-guide ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; margin: 0; }
.horizontal-guide .colleague { margin: 0; }
.simulation-workspace { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; align-items: start; }
.simulation-workspace.with-walkthrough, .simulation-workspace.with-phases { grid-template-columns: minmax(0,1fr) 340px; }
.vm-stage { min-width: 0; }
.phase-overview { position: sticky; top: 14px; margin: 0; padding: 20px; border-color: #31546c; background: linear-gradient(145deg,#0d1c2b,#102532); }
.phase-overview > .eyebrow { margin: 0 0 6px; }
.phase-overview h2 { margin: 0 0 14px; }
.phase-progress { display: grid; gap: 8px; color: #c3d8e6; font-size: 12px; }
.incident-sidebar.phase-overview ol { display: grid; grid-template-columns: 1fr; gap: 5px; margin: 18px 0 0; }
.incident-sidebar.phase-overview li { display: flex; align-items: center; gap: 11px; padding: 10px; border: 1px solid transparent; border-radius: 7px; }
.phase-overview .phase-number { display: grid; place-items: center; flex: 0 0 29px; height: 29px; border: 1px solid #355168; border-radius: 50%; font: 700 11px Consolas,monospace; }
.phase-overview li strong { display: block; font-size: 12px; font-weight: 600; }
.phase-overview li small { display: block; margin-top: 3px; font-size: 10px; color: #89a4b9; }
.incident-sidebar.phase-overview li.current { border-color: #467a9d; background: #16354b; }
.phase-overview li.current .phase-number { border-color: #73ccff; color: #a8dfff; }
.phase-overview li.done .phase-number { border-color: #339e78; color: #65e3b2; background: #103b32; }
.phase-overview li.done small { color: #6ccda9; }
.walkthrough-guide { position: sticky; top: 14px; display: grid; grid-template-columns: 1fr; gap: 18px; align-items: start; margin: 0; padding: 18px; border-color: #2d7e67; background: linear-gradient(145deg,#0d1c2b,#102b32); box-shadow: 0 14px 34px #0004, inset 4px 0 #42e0aa; }
.walkthrough-progress { display: grid; gap: 7px; }
.walkthrough-progress p { margin: 0; }
.walkthrough-progress strong { color: #fff; font: 800 15px/1.25 Consolas,monospace; }
.walkthrough-progress progress { width: 100%; accent-color: #42e0aa; }
.walkthrough-instruction { min-width: 0; padding-top: 16px; border-top: 1px solid #315265; }
.walkthrough-instruction > span { color: #56e5b5; font: 800 9px/1.3 Consolas,monospace; letter-spacing: .12em; }
.walkthrough-instruction h2 { margin: 4px 0 9px; color: #fff; font-size: 18px; }
.incident-sidebar .walkthrough-instruction ol { display: flex; flex-direction: column; gap: 7px; margin: 0; padding: 0; list-style: none; counter-reset: route; }
.incident-sidebar .walkthrough-instruction li { display: flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid #315065; border-radius: 6px; color: #d8e7f1; background: #091724; font-size: 11px; counter-increment: route; }
.walkthrough-instruction li::before { content: counter(route); display: grid; flex: 0 0 18px; height: 18px; place-items: center; border-radius: 50%; color: #062219; background: #50dfae; font: 900 10px Consolas,monospace; }
.walkthrough-instruction p { margin: 8px 0 0; color: #8db3c5; font-size: 10px; }
.walkthrough-guide details { align-self: stretch; padding: 10px 12px; border: 1px solid #2b4659; border-radius: 7px; background: #0a1825; }
.walkthrough-guide summary { cursor: pointer; color: #acd0df; font-size: 11px; font-weight: 700; }
.walkthrough-phases { display: grid; gap: 4px; margin-top: 9px; }
.walkthrough-phases span { color: #8099aa; font-size: 9px; }.walkthrough-phases span.done { color: #62deb2; }.walkthrough-phases span.current { color: #fff; font-weight: 800; }
.ransomware-lab .guide-focus { position: relative; z-index: 8; outline: 3px solid #50efb5!important; outline-offset: 3px; animation: guidePulse 1.15s ease-in-out infinite; }
@keyframes guidePulse { 0%,100% { box-shadow: 0 0 0 2px #50efb533,0 0 10px #50efb555; } 50% { box-shadow: 0 0 0 8px #50efb511,0 0 24px #50efb5aa; } }
@media (prefers-reduced-motion: reduce) { .ransomware-lab .guide-focus { animation: none; } }
@media (max-width: 1180px) {
  .systems-heading { display: none; }
  .dual-system-layout { grid-template-columns: 1fr; }
  .victim-desktop, .resolvedesk-shell { min-height: 680px; }
  .horizontal-guide { grid-template-columns: 1fr; }
  .simulation-workspace.with-walkthrough, .simulation-workspace.with-phases { grid-template-columns: 1fr; }
  .walkthrough-guide, .phase-overview { position: static; }
}
@media (max-width: 680px) {
  .system-switcher { display: grid; }
  .system-segments { width: 100%; }
  .ransomware-lab .system-segments button { flex: 1; min-width: 0; padding-left: 11px; padding-right: 11px; }
  .ransomware-lab .system-switch-action { width: 100%; min-width: 0; min-height: 50px; }
  .machine-bar { align-items: flex-start; }
  .machine-state { white-space: nowrap; }
  .victim-desktop { min-height: 720px; }
  .ransom-popup { top: 165px; left: 5%; width: 90%; }
  .ransom-body { grid-template-columns: 52px 1fr; padding: 16px 14px 11px; gap: 11px; }
  .lock-mark { width: 50px; height: 55px; font-size: 28px; }
  .ransom-demand, .ransom-timer { margin-left: 12px; margin-right: 12px; }
  .ransom-actions { padding-left: 12px; padding-right: 12px; }
  .resolvedesk-top { align-items: flex-start; }
  .resolvedesk-stats span:not(.operator-avatar) { display: none; }
  .resolvedesk-main { grid-template-columns: 1fr; }
  .resolvedesk-nav { display: flex; overflow-x: auto; padding: 8px; }
  .ransomware-lab .resolvedesk-nav button { flex: 0 0 88px; justify-content: center; flex-direction: column; gap: 3px; min-height: 55px; }
  .resolvedesk-workspace { padding: 14px; }
  .horizontal-guide ol { grid-template-columns: 1fr; }
  .walkthrough-guide { padding: 14px; }
}

/* NOVA OS werkplek, overgenomen uit de bestaande Simulate IT-desktopstructuur. */
.nova-icon { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }
.windowsDesktop.nova-workspace { position: relative; min-height: 735px; overflow: hidden; border: 0; border-radius: 0; color: #fff; background: radial-gradient(circle at 35% 35%,rgba(31,132,255,.75),transparent 19%),radial-gradient(circle at 56% 42%,rgba(58,166,255,.65),transparent 23%),radial-gradient(circle at 62% 62%,rgba(17,78,196,.8),transparent 28%),linear-gradient(135deg,#061321 0%,#0b1f46 42%,#020711 100%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); font-family: "Segoe UI", Arial, sans-serif; }
.windowsWallpaper { position: absolute; inset: 0; background: linear-gradient(130deg,transparent 0 34%,rgba(77,175,255,.32) 34% 37%,transparent 37% 100%),linear-gradient(38deg,transparent 0 46%,rgba(25,108,255,.42) 46% 53%,transparent 53% 100%),radial-gradient(ellipse at 50% 52%,rgba(30,137,255,.35),transparent 38%); pointer-events: none; }
.windowsUserBadge { position: absolute; top: 18px; right: 18px; z-index: 3; display: flex; align-items: center; gap: 9px; max-width: 250px; padding: 8px 10px; border: 1px solid rgba(125,214,255,.22); border-radius: 12px; background: rgba(7,17,32,.62); color: #eaf6ff; box-shadow: 0 12px 30px rgba(0,0,0,.24); backdrop-filter: blur(10px); }
.windowsUserBadge > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#38bdf8,#2563eb); }
.windowsUserBadge > span .nova-icon { width: 22px; height: 22px; }
.windowsUserBadge b,.windowsUserBadge small { display: block; }
.windowsUserBadge b { font-size: 12px; }.windowsUserBadge small { color: #bcd4e7; font-size: 10px; }
.windowsDesktopIcons { position: absolute; top: 20px; left: 18px; z-index: 2; display: grid; grid-template-columns: repeat(2,88px); gap: 14px 9px; }
.windowsStartMenu { position: absolute; left: 50%; bottom: 67px; z-index: 7; display: none; width: min(520px,82%); min-height: 390px; box-sizing: border-box; padding: 22px 27px 0; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.14); border-radius: 15px; color: #eaf3ff; background: linear-gradient(145deg,rgba(20,59,154,.97),rgba(22,31,68,.98)); box-shadow: 0 26px 80px rgba(0,0,0,.55); backdrop-filter: blur(16px); }
.windowsStartMenu.open { display: grid; grid-template-rows: auto auto 1fr auto auto; gap: 15px; }
.windowsStartMenu .windowsSearch { display: grid; grid-template-columns: 20px 1fr; align-items: center; gap: 9px; height: 43px; padding: 0 12px; border: 1px solid #60a5fa; border-radius: 7px; color: #b8c9e3; background: rgba(5,18,46,.92); }
.windowsStartMenu .windowsSearch .nova-icon { width: 17px; height: 17px; }
.windowsStartMenu .windowsSearch input { width: 100%; height: 100%; border: 0; outline: 0; color: #eaf2ff; background: transparent; font: 13px "Segoe UI",Arial,sans-serif; }
.windowsStartMenu .windowsSearch input::placeholder { color: #b8c9e3; }
.windowsStartMenu h3 { margin: 0; font-size: 13px; }
.windowsPinned { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-content: start; gap: 15px 10px; }
.ransomware-lab .windowsPinned button { display: grid; justify-items: center; gap: 6px; min-width: 0; min-height: 76px; padding: 8px 3px; border: 0; color: #fff; background: transparent; font-size: 10px; text-align: center; }
.ransomware-lab .windowsPinned button:hover { border: 0; background: rgba(111,173,255,.2); filter: none; }
.windowsPinned button > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; color: #fff; background: linear-gradient(145deg,#38bdf8,#2563eb); box-shadow: 0 9px 18px rgba(0,0,0,.24); }
.windowsPinned button > span .nova-icon { width: 28px; height: 28px; }
.windowsPinned button b { max-width: 100%; overflow-wrap: anywhere; }
.windowsPinned button[hidden] { display: none; }
.windowsRecommended { display: grid; grid-template-columns: auto 1fr 1fr; gap: 10px; align-items: center; color: #c9dcf3; font-size: 10px; }
.windowsRecommended b { color: #fff; }
.windowsRecommended span { padding: 8px; border-radius: 6px; background: rgba(255,255,255,.07); overflow-wrap: anywhere; }
.windowsStartMenu > footer { display: flex; align-items: center; justify-content: space-between; margin: 0 -27px; padding: 10px 22px; border-top: 1px solid rgba(255,255,255,.1); background: rgba(5,13,32,.35); }
.windowsStartMenu > footer > span { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.windowsStartMenu > footer .nova-icon { width: 20px; height: 20px; }
.ransomware-lab .windowsStartMenu > footer button { display: grid; place-items: center; min-height: 32px; padding: 6px; border: 0; color: #eaf3ff; background: transparent; }
.ransomware-lab .windowsDesktopIcon { width: 88px; min-height: 78px; padding: 5px 3px; border: 0; color: #fff; background: transparent; text-align: center; text-shadow: 0 2px 4px rgba(0,0,0,.7); }
.ransomware-lab .windowsDesktopIcon:hover,.ransomware-lab .windowsDesktopIcon:focus-visible { border: 0; background: rgba(90,178,255,.22); filter: none; }
.ransomware-lab .windowsDesktopIcon.selected { background: rgba(90,178,255,.22); }
.windowsDesktopIcon > span { display: grid; place-items: center; width: 43px; height: 43px; margin: 0 auto 6px; border-radius: 8px; color: #fff; background: linear-gradient(145deg,#38bdf8,#2563eb); box-shadow: 0 9px 18px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.28); }
.windowsDesktopIcon > span .nova-icon { width: 31px; height: 31px; }
.windowsDesktopIcon b { display: block; font-size: 10px; line-height: 1.25; font-weight: 600; overflow-wrap: anywhere; }
.windowsDesktopIcon.folder > span { color: #805900; background: linear-gradient(#ffd95a 0 32%,#f7b928 33% 100%); }
.windowsDesktopIcon.sheet > span { background: linear-gradient(145deg,#23a66f,#087a50); }
.windowsDesktopIcon.document > span,.windowsDesktopIcon.note > span { color: #3173b4; background: linear-gradient(145deg,#fff,#dbeafe); }
.windowsDesktopIcon.recycle > span { color: #1689ce; background: linear-gradient(145deg,#effaff,#86d7fb); }
.nova-context-menu { position: fixed; z-index: 10000; width: min(330px,calc(100vw - 20px)); overflow: hidden; padding: 7px; border: 1px solid rgba(255,255,255,.72); border-radius: 10px; color: #20242a; background: rgba(244,246,250,.96); box-shadow: 0 18px 55px rgba(0,0,0,.32),inset 0 1px #fff; font: 13px/1.25 "Segoe UI",Arial,sans-serif; backdrop-filter: blur(22px); }
.context-file-name { display: flex; align-items: center; gap: 10px; padding: 8px 10px 10px; border-bottom: 1px solid #d8dce2; }
.context-file-name > .nova-icon { flex: 0 0 28px; width: 28px; height: 28px; color: #12845e; }
.context-file-name span,.context-file-name b,.context-file-name small { display: block; min-width: 0; }.context-file-name b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.context-file-name small { margin-top: 2px; color: #747b85; font-size: 10px; }
.context-quick { display: grid; grid-template-columns: repeat(5,1fr); padding: 6px 0; border-bottom: 1px solid #d8dce2; }
.nova-context-menu button { border: 0; color: #20242a; background: transparent; font: inherit; cursor: default; }
.nova-context-menu button:hover,.nova-context-menu button:focus-visible { outline: 0; background: #e3e7ed; }
.nova-context-menu button:disabled { opacity: .4; pointer-events: none; }
.context-quick button { display: grid; min-width: 0; place-items: center; gap: 4px; padding: 7px 2px; border-radius: 5px; font-size: 9px; }
.context-quick button span { color: #1678c2; font-size: 20px; }.context-quick button .nova-icon { width: 21px; height: 21px; }.context-quick button b { max-width: 58px; overflow-wrap: anywhere; font-weight: 400; }
.context-list { padding-top: 5px; }.context-list hr { margin: 5px 7px; border: 0; border-top: 1px solid #d8dce2; }
.context-list button { display: grid; grid-template-columns: 25px minmax(0,1fr) auto auto; width: 100%; align-items: center; gap: 8px; min-height: 36px; padding: 6px 9px; border-radius: 5px; text-align: left; }
.context-list button span { display: grid; place-items: center; color: #1678c2; font-size: 18px; }.context-list button .nova-icon { width: 18px; height: 18px; }.context-list button b { font-weight: 400; }.context-list button kbd { color: #6f7580; background: transparent; font: 11px "Segoe UI",Arial,sans-serif; }.context-list button em { color: #656b74; font-size: 21px; font-style: normal; line-height: 1; }
.file-properties { text-align: center; }.properties-file-icon { display: grid; width: 68px; height: 68px; margin: 0 auto 10px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg,#24ad78,#087a50); }.properties-file-icon .nova-icon { width: 46px; height: 46px; }.file-properties h3 { overflow-wrap: anywhere; }
.windowsAppWindow { position: absolute; z-index: 4; overflow: hidden; border: 1px solid rgba(255,255,255,.36); border-radius: 12px; background: #f8fafc; color: #111827; box-shadow: 0 22px 70px rgba(0,0,0,.45); }
.windowsAppWindow.hidden { display: none!important; }
.windowsWindowBar { display: flex; align-items: center; height: 34px; box-sizing: border-box; padding: 0 0 0 11px; color: #111827; background: #eef2f7; border-bottom: 1px solid #d6dbe3; }
.window-app-icon { display: grid; place-items: center; width: 23px; height: 23px; margin-right: 8px; color: #2563eb; }
.window-app-icon .nova-icon { width: 19px; height: 19px; }
.windowsWindowControls { display: flex; align-items: stretch; height: 100%; margin-left: auto; }
.ransomware-lab .windowsWindowControls button { width: 40px; min-height: 0; height: 100%; padding: 0; border: 0; border-radius: 0; color: #111; background: transparent; }
.ransomware-lab .windowsWindowControls button:hover { color: #111; background: #dbeafe; filter: none; }
.ransomware-lab .windowsWindowControls button:last-child:hover { color: #fff; background: #e81123; }
.windowsTaskbar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 6; display: flex; align-items: center; justify-content: center; gap: 9px; height: 54px; background: rgba(13,24,44,.84); border-top: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(14px); }
.ransomware-lab .windowsStartButton,.ransomware-lab .windowsTaskIcon { display: grid; place-items: center; width: 38px; min-width: 38px; height: 38px; min-height: 38px; padding: 0; border: 0; border-radius: 9px; color: #dff2ff; background: rgba(255,255,255,.08); }
.ransomware-lab .windowsStartButton { color: #1679e8; background: linear-gradient(145deg,#fff,#dbeafe); box-shadow: 0 3px 12px rgba(0,87,255,.35); }
.windowsStartButton .nova-icon { width: 28px; height: 28px; stroke-width: 3.8; }
.windowsTaskIcon .nova-icon { width: 22px; height: 22px; }
.ransomware-lab .windowsTaskIcon.active { background: rgba(59,130,246,.42); box-shadow: inset 0 -2px #60a5fa; }
.windowsTray { position: absolute; right: 14px; display: flex; align-items: center; gap: 8px; color: #d6e6ff; font-size: 10px; font-weight: 700; }
.windowsTray > .nova-icon,.windowsTray button .nova-icon { width: 18px; height: 18px; }
.ransomware-lab .windowsTray button { display: grid; place-items: center; min-height: 30px; padding: 4px; border: 0; color: inherit; background: transparent; }
.victim-desktop.windowsDesktop { min-height: 735px; }
.victim-desktop.windowsDesktop::before { content: none; }
.victim-desktop .finance-icons { top: 18px; left: 12px; max-width: 200px; }
.victim-desktop .ransom-popup.windowsAppWindow { top: 78px; left: 25%; width: 70%; height: auto; max-width: 535px; color: #fff; background: radial-gradient(circle at 80% 0,#4c0000,transparent 45%),linear-gradient(145deg,#210203,#3a0608); border-color: #ff2c34; }
.victim-desktop .ransom-popup .windowsWindowBar { color: #fff; background: #5a080b; border-bottom-color: #ca2027; }
.victim-desktop .ransom-popup .window-app-icon { color: #ff646b; }
.victim-desktop .ransom-popup .windowsWindowControls button { color: #fff; }
.lock-mark .nova-icon { width: 48px; height: 48px; stroke-width: 3.4; }
.operator-desktop { min-height: 735px; }
.resolvedeskNovaWindow.windowsAppWindow { top: 44px; left: 20px; right: 20px; bottom: 64px; width: auto; height: auto; max-width: none; }
.resolvedesk-window-icon { border-radius: 5px; color: #06291d; background: #43dfa1; font: 900 13px Consolas,monospace; }
.resolvedeskNovaWindow .resolvedesk-shell { height: calc(100% - 34px); min-height: 0; }
.resolvedeskNovaWindow .resolvedesk-top { min-height: 58px; }
.resolvedeskNovaWindow .resolvedesk-main { height: calc(100% - 61px); min-height: 0; }
.resolvedeskNovaWindow .resolvedesk-workspace { overflow: auto; }
.resolvedesk-nav .nova-icon { width: 17px; height: 17px; }
.resolvedesk-nav button span { display: grid; place-items: center; }
.edrNovaWindow.windowsAppWindow { top: 44px; left: 20px; right: 20px; bottom: 64px; width: auto; height: auto; max-width: none; background: #09131e; }
.operator-desktop .windowsAppWindow.maximized { top: 0; right: 0; bottom: 52px; left: 0; border-radius: 0; }
.edr-window-icon { color: #57e5af; background: #103b32; border-radius: 5px; }
.edrApp { height: calc(100% - 34px); overflow: auto; color: #dbe8f2; background: #08131e; font-family: "Segoe UI",Arial,sans-serif; }
.edrHeader { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 22px; border-bottom: 1px solid #1c3447; background: linear-gradient(95deg,#0b1d2d,#102d3e); }
.edrProduct { display: flex; align-items: center; gap: 13px; }
.edrProduct > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; color: #06251a; background: linear-gradient(145deg,#5af0b7,#27bf87); box-shadow: 0 8px 25px #2bd39730; }
.edrProduct .nova-icon { width: 29px; height: 29px; }
.edrProduct small,.edrProduct h2,.edrProduct p { display: block; margin: 0; }
.edrProduct small { color: #58dbaa; font: 700 8px/1.4 Consolas,monospace; letter-spacing: .12em; }
.edrProduct h2 { margin-top: 2px; color: #fff; font-size: 21px; }
.edrProduct p { margin-top: 2px; color: #8fa8bb; font-size: 10px; }
.edrHealth { display: grid; grid-template-columns: 9px auto; align-items: center; gap: 2px 8px; padding: 8px 12px; border: 1px solid #275448; border-radius: 8px; background: #0d2a25; }
.edrHealth i,.sensor-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #48e7a9; box-shadow: 0 0 10px #48e7a9; }
.edrHealth i { grid-row: 1 / 3; }.edrHealth span { color: #8eb2a4; font-size: 8px; }.edrHealth b { color: #6af0bc; font: 700 10px Consolas,monospace; }
.edrMetrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 15px 18px; }
.edrMetrics article { padding: 12px 14px; border: 1px solid #1d394c; border-radius: 8px; background: #0d2030; }
.edrMetrics article.critical { border-color: #63323b; background: #2a171f; }
.edrMetrics span,.edrMetrics b,.edrMetrics small { display: block; }.edrMetrics span { color: #87a0b4; font-size: 9px; }.edrMetrics b { margin: 4px 0; color: #eaf5fc; font: 700 21px Consolas,monospace; }.edrMetrics small { color: #5f7d92; font-size: 8px; }.edrMetrics .critical b { color: #ff7780; }
.edrToolbar { display: flex; justify-content: space-between; gap: 12px; padding: 0 18px 13px; border-bottom: 1px solid #1a3142; }
.edrToolbar > div { display: flex; gap: 5px; }
.ransomware-lab .edrToolbar button { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 6px 10px; border: 1px solid #29475c; color: #aac0d0; background: #102536; font-size: 9px; }
.ransomware-lab .edrToolbar button.active { color: #071b14; border-color: #4de2ad; background: #4de2ad; font-weight: 800; }
.edrToolbar button .nova-icon { width: 15px; height: 15px; }
.edrLayout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(250px,.75fr); min-height: 390px; }
.edrEndpoints { min-width: 0; padding: 16px 12px 20px 18px; border-right: 1px solid #1a3142; }
.edrDetails { padding: 16px 18px; background: #0a1825; }
.edrSectionTitle { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.edrSectionTitle small { color: #557b91; font: 700 7px/1.3 Consolas,monospace; letter-spacing: .12em; }.edrSectionTitle h3 { margin: 2px 0 0; color: #eaf4fb; font-size: 14px; }.edrSectionTitle > span { color: #718da0; font-size: 8px; }
.edrTable { overflow: hidden; border: 1px solid #1d3a4c; border-radius: 7px; }
.edrTableHead,.edrEndpointRow { display: grid; grid-template-columns: minmax(150px,1.25fr) minmax(120px,1fr) 85px 72px; align-items: center; gap: 8px; }
.edrTableHead { min-height: 30px; padding: 0 10px; color: #638197; background: #0b1a27; font: 700 7px Consolas,monospace; letter-spacing: .07em; text-transform: uppercase; }
.ransomware-lab .edrEndpointRow { width: 100%; min-height: 58px; padding: 7px 10px; border: 0; border-top: 1px solid #183044; border-radius: 0; color: #b9ccda; background: #0d2130; text-align: left; }
.ransomware-lab .edrEndpointRow:hover,.ransomware-lab .edrEndpointRow.selected { border-color: #245b6d; background: #123247; filter: none; box-shadow: inset 3px 0 #45dbaa; }
.edrEndpointRow > span { min-width: 0; font-size: 9px; overflow-wrap: anywhere; }.edrEndpointRow > span:first-child { display: grid; grid-template-columns: 11px 1fr; align-items: center; gap: 2px 6px; }.edrEndpointRow > span:first-child small { grid-column: 2; }.edrEndpointRow b,.edrEndpointRow small { display: block; }.edrEndpointRow b { color: #eaf4fb; font-size: 10px; }.edrEndpointRow small { margin-top: 2px; color: #668499; font-size: 7px; }.edrEndpointRow em { color: #5ddcb0; font-style: normal; font-size: 8px; }
.edrEndpointRow .alert-high,.severityHigh { color: #ff7a83; font-weight: 800; }.edrEndpointRow .alert-clean,.severityClean { color: #55dba9; font-weight: 800; }.severityHigh,.severityClean { padding: 4px 7px; border: 1px solid currentColor; border-radius: 4px; font: 700 8px Consolas,monospace; }
.edrDetails dl { display: grid; grid-template-columns: 75px 1fr; gap: 0; margin: 0 0 12px; border: 1px solid #1b3749; }.edrDetails dt,.edrDetails dd { margin: 0; padding: 7px 8px; border-bottom: 1px solid #172f40; font-size: 8px; }.edrDetails dt { color: #658297; background: #0b1b29; }.edrDetails dd { color: #c2d3df; }.edrDetails dd .sensor-dot { margin-right: 5px; }
.ransomware-lab .edrDetails > button { width: 100%; min-height: 35px; color: #071a13; border-color: #4de2ad; background: #4de2ad; font-size: 9px; }
.edrContainment { padding: 9px; border: 1px solid #294557; border-radius: 6px; color: #7f9aad; font-size: 9px; }.edrContainment.done { display: flex; align-items: center; gap: 7px; color: #5ce3b3; border-color: #286b55; background: #0d2b25; }.edrContainment .nova-icon { width: 17px; height: 17px; }
.edrDetails h4 { margin: 16px 0 8px; color: #d9e8f2; font-size: 10px; }.edrDetails ol { margin: 0; padding: 0; list-style: none; }.edrDetails li { display: grid; grid-template-columns: 55px 1fr; gap: 7px; padding: 7px 0; border-bottom: 1px solid #142b3b; color: #9eb4c4; font-size: 8px; }.edrDetails time { color: #56d9aa; font-family: Consolas,monospace; }.edrEmpty { padding: 30px; color: #6e879a; text-align: center; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.system-switcher { flex-wrap: wrap; }
.system-segments { max-width: 100%; }
.recovery-desktop-shell[hidden] { display: none; }
.recovery-clean-desktop { position: absolute; top: 180px; left: 27%; right: 8%; max-width: 580px; padding: 25px; border: 1px solid #76c9e650; border-radius: 14px; background: #0d253ae8; box-shadow: 0 15px 45px #0004; }
.recovery-clean-desktop > span { display: inline-grid; place-items: center; width: 50px; height: 50px; margin-bottom: 15px; border-radius: 14px; background: #174e43; color: #6ce4b1; }
.recovery-clean-desktop .nova-icon { width: 32px; height: 32px; }
.recovery-clean-desktop h2 { margin: 0 0 10px; font-size: 23px; color: #fff; }
.recovery-clean-desktop p { color: #c1d9ec; font-size: 13px; line-height: 1.6; }
.recovery-regie-status { display: grid; gap: 8px; margin: 18px 0; padding: 14px; border: 1px solid #c5d5e2; border-radius: 7px; background: #fff; color: #374b5f; font-size: 12px; }
.incident-observations { margin: 22px 0; padding: 15px; border: 1px solid #c5d5e2; border-radius: 7px; background: #fff; }
.incident-observations h3 { margin: 0 0 8px; }
.incident-observations p { white-space: pre-wrap; overflow-wrap: anywhere; }
.incident-observations small, #incident-symptoms-help { color: #506b82; font-size: 11px; line-height: 1.5; }
@media (max-width: 680px) {
  .recovery-clean-desktop { top: 275px; left: 12px; right: 12px; padding: 20px; }
  .system-segments button code { font-size: 9px; }
  .system-segments button span { font-size: 10px; }
}
@media (max-width: 1180px) {
  .windowsDesktop.nova-workspace,.victim-desktop.windowsDesktop,.operator-desktop { min-height: 700px; }
}
@media (max-width: 680px) {
  .windowsUserBadge { top: 12px; right: 10px; max-width: 170px; }
  .windowsUserBadge small { display: none; }
  .windowsDesktopIcons { grid-template-columns: repeat(2,82px); }
  .windowsStartMenu { width: 92%; min-height: 420px; padding-left: 18px; padding-right: 18px; }
  .windowsPinned { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .windowsRecommended { grid-template-columns: 1fr; }
  .windowsStartMenu > footer { margin-left: -18px; margin-right: -18px; }
  .ransomware-lab .windowsDesktopIcon { width: 82px; }
  .victim-desktop .ransom-popup.windowsAppWindow { top: 175px; left: 5%; width: 90%; }
  .resolvedeskNovaWindow.windowsAppWindow { top: 54px; left: 8px; right: 8px; bottom: 64px; }
  .edrNovaWindow.windowsAppWindow { top: 54px; left: 8px; right: 8px; bottom: 64px; }
  .edrMetrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .edrLayout { grid-template-columns: 1fr; }
  .edrEndpoints { border-right: 0; border-bottom: 1px solid #1a3142; }
  .edrTableHead,.edrEndpointRow { grid-template-columns: minmax(115px,1.2fr) minmax(95px,1fr) 68px; }
  .edrTableHead span:last-child,.edrEndpointRow > span:last-child { display: none; }
  .edrToolbar { align-items: stretch; flex-direction: column; }
  .resolvedeskNovaWindow .resolvedesk-top { min-height: 54px; }
  .resolvedeskNovaWindow .resolvedesk-main { height: calc(100% - 57px); }
  .operator-desktop { min-height: 860px!important; }
  .windowsTray time { display: none; }
}
