/* Incident Readiness Lab. The shared Command Center stylesheet owns the site header and rail. */
.readiness-body .cyber-rail-nav a:first-child { border-left-color: transparent; background: transparent; color: var(--cyber-muted); }
.readiness-body .cyber-rail-nav a:first-child > span { color: var(--cyber-subtle); }
.readiness-body .cyber-rail-nav a[aria-current="page"] { border-left: 2px solid var(--cyber-cyan); background: #173c49; color: var(--cyber-cyan); }
.readiness-body .cyber-rail-nav a[aria-current="page"] > span { color: var(--cyber-cyan); }
.readiness-page { display: block; min-width: 0; padding: 0 24px 76px; }
.readiness-page .cyber-utility a { color: var(--cyber-muted); text-decoration: none; }
.readiness-page .cyber-utility a:hover { color: var(--cyber-cyan); }
.readiness-page :is(button, input, textarea, select):focus-visible { outline: 3px solid #f3c679; outline-offset: 2px; }
.readiness-heading { padding: 25px 0 19px; }
.readiness-kicker, .readiness-step { display: block; margin: 0 0 9px; color: var(--cyber-cyan); font-size: .65rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.readiness-heading h1 { margin: 0; font-size: clamp(2.1rem, 3.4vw, 3.35rem); line-height: 1.08; letter-spacing: -.05em; }
.readiness-heading h1 span { color: var(--cyber-cyan); }
.readiness-heading > p:last-child { max-width: 760px; margin: 9px 0 0; color: var(--cyber-muted); font-size: .86rem; }
.readiness-privacy { display: flex; align-items: center; gap: 14px; padding: 15px 18px; border: 1px solid #3a5c62; border-left: 3px solid var(--cyber-mint); border-radius: 7px; background: #122528; }
.privacy-mark { color: var(--cyber-mint); font-size: 1.2rem; align-self: flex-start; }
.readiness-privacy div { flex: 1; min-width: 0; }
.readiness-privacy h2 { margin: 0; font-size: .88rem; }
.readiness-privacy p { margin: 4px 0 0; color: #b8d1cd; font-size: .72rem; }
.readiness-privacy a { color: var(--cyber-mint); white-space: nowrap; font-size: .7rem; font-weight: 750; text-decoration: none; }
.readiness-privacy a:hover { text-decoration: underline; }
.readiness-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 16px 0 19px; }
.readiness-metrics > div { min-width: 0; padding: 16px; border: 1px solid var(--cyber-line); border-radius: 7px; background: var(--cyber-surface); }
.readiness-metrics span { display: block; color: var(--cyber-muted); font-size: .68rem; }
.readiness-metrics strong { display: block; margin: 6px 0 2px; font-size: clamp(1.55rem, 2.4vw, 2.2rem); font-variant-numeric: tabular-nums; line-height: 1.05; }
.readiness-metrics > div:nth-child(3) strong { color: #ffbf7e; }
.readiness-metrics small { color: var(--cyber-subtle); font-size: .61rem; line-height: 1.3; }
.readiness-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(255px, 300px); gap: 16px; align-items: start; }
.readiness-main, .readiness-side { display: grid; gap: 16px; min-width: 0; }
.readiness-panel { min-width: 0; padding: 21px; border: 1px solid var(--cyber-line); border-radius: 8px; background: #0f1927; }
.readiness-panel-head { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 14px; margin-bottom: 18px; }
.readiness-panel-head .readiness-step { margin: 4px 0 0; }
.readiness-panel h2 { margin: 0; font-size: clamp(1.2rem, 1.7vw, 1.65rem); line-height: 1.2; letter-spacing: -.03em; }
.readiness-panel-head p { margin: 7px 0 0; color: var(--cyber-muted); font-size: .75rem; }
.readiness-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.readiness-field { min-width: 0; }
.readiness-field-wide, .readiness-actions { grid-column: 1 / -1; }
.readiness-field label, .import-label { display: block; margin: 0 0 6px; color: #c3d1df; font-size: .69rem; font-weight: 750; }
.required { color: #f2bd8e; font-weight: 500; }
.readiness-field :is(input, textarea, select), #import-json { display: block; width: 100%; min-width: 0; min-height: 40px; padding: 9px 11px; border: 1px solid #3a4e65; border-radius: 5px; background: #0b1421; color: var(--cyber-ink); font: inherit; font-size: .76rem; line-height: 1.4; }
.readiness-field textarea { resize: vertical; }
.readiness-field :is(input, textarea)::placeholder { color: #8395a9; }
.readiness-page button { min-height: 40px; padding: 9px 13px; border: 1px solid #3a5269; border-radius: 5px; background: #17283b; color: var(--cyber-ink); font: inherit; font-size: .72rem; font-weight: 760; line-height: 1.3; cursor: pointer; }
.readiness-page button:hover { border-color: var(--cyber-cyan); background: #20384b; }
.readiness-page button:disabled { opacity: .47; cursor: not-allowed; }
.readiness-page .button-primary { border-color: #62cbdb; background: #67d7e8; color: #091722; }
.readiness-page .button-primary:hover { border-color: #a3f1f8; background: #a3f1f8; }
.readiness-page .button-danger { border-color: #91545b; background: #35202b; color: #ffd8d8; }
.readiness-page .button-danger:hover { border-color: #e89aa1; background: #4a2936; }
.readiness-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.form-message { color: var(--cyber-mint); font-size: .72rem; }
.scenario-strip { padding: 14px 16px; border: 1px solid #315369; border-radius: 6px; background: linear-gradient(135deg, #132e3e, #101d2c); }
.scenario-strip span { display: block; color: #91dce8; font-size: .59rem; font-weight: 850; letter-spacing: .14em; }
.scenario-strip strong { display: block; margin: 5px 0; font-size: 1rem; }
.scenario-strip p { margin: 0; color: #b9cbd9; font-size: .73rem; }
.inject-stage { margin: 13px 0; padding: 18px 19px; border: 1px solid #536874; border-left: 3px solid #f0af66; border-radius: 6px; background: #172332; }
.inject-topline { display: flex; justify-content: space-between; gap: 10px; color: #f1bd80; font-size: .62rem; font-weight: 850; letter-spacing: .12em; }
.inject-stage h3 { margin: 11px 0 7px; font-size: clamp(1.08rem, 1.6vw, 1.4rem); letter-spacing: -.025em; }
.inject-stage > p { margin: 0; color: #d2dfeb; font-size: .79rem; }
.inject-questions { margin-top: 15px; padding-top: 13px; border-top: 1px solid #394b5c; }
.inject-questions strong { color: #a5e4ef; font-size: .7rem; }
.inject-questions ul { margin: 7px 0 0; padding-left: 18px; color: #c4d1de; font-size: .74rem; }
.inject-questions li + li { margin-top: 4px; }
.inject-controls { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.inject-controls span { color: var(--cyber-muted); font-size: .68rem; }
.record-list { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.record-card { padding: 14px 16px; border: 1px solid #31475b; border-radius: 6px; background: #121f2e; overflow-wrap: anywhere; }
.record-card header { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.record-card h3 { margin: 0; font-size: .85rem; }
.record-card time, .record-card .record-meta { color: var(--cyber-muted); font-size: .64rem; }
.record-card p { margin: 7px 0 0; color: #c8d7e4; font-size: .73rem; }
.record-card strong { color: #a9e5eb; }
.record-card button { margin-top: 10px; min-height: 32px; padding: 6px 9px; font-size: .64rem; }
.empty-state { padding: 14px; margin: 0; border: 1px dashed #455b70; border-radius: 5px; color: var(--cyber-muted); font-size: .74rem; }
.checklist { display: grid; gap: 9px; }
.check-row { display: grid; grid-template-columns: minmax(0, 1fr) 145px; gap: 12px; padding: 13px 14px; border: 1px solid #31475b; border-radius: 6px; background: #121f2e; }
.check-row h3 { margin: 0 0 4px; font-size: .83rem; }
.check-row p { margin: 0; color: var(--cyber-muted); font-size: .7rem; }
.check-row label { display: block; margin-bottom: 5px; color: #c3d1df; font-size: .63rem; font-weight: 750; }
.check-row select, .check-row input { width: 100%; min-width: 0; min-height: 35px; padding: 7px 8px; border: 1px solid #3a4e65; border-radius: 4px; background: #0b1421; color: var(--cyber-ink); font: inherit; font-size: .68rem; }
.check-row .check-notes { grid-column: 1 / -1; }
.side-panel h2 { font-size: 1.15rem; }
.side-panel > p:not(.readiness-step), .side-panel li { color: #bfccda; font-size: .72rem; }
.side-panel ol, .side-panel ul { margin: 12px 0 0; padding-left: 19px; }
.side-panel li + li { margin-top: 7px; }
.side-panel > p:last-child { margin-bottom: 0; }
.lens-list { padding: 0 !important; list-style: none; }
.lens-list li { display: grid; gap: 2px; padding: 9px 0; border-bottom: 1px solid #2b4053; }
.lens-list strong { color: #a9e5eb; font-size: .7rem; }
.lens-list span { color: #bfccda; }
.case-panel { border-top: 3px solid #e5ad67; }
.case-panel h3 { margin: 14px 0 0; font-size: .73rem; }
.case-panel a, .source-panel a { display: block; margin-top: 12px; color: var(--cyber-cyan); font-size: .7rem; font-weight: 750; text-decoration: none; }
.case-panel a:hover, .source-panel a:hover { text-decoration: underline; }
.export-buttons { display: grid; gap: 8px; margin: 15px 0; }
.import-label { margin-top: 14px; }
#import-json { font-size: .68rem; }
#reset-exercise { width: 100%; margin-top: 12px; }
@media (max-width: 1100px) { .readiness-layout { grid-template-columns: minmax(0, 1fr); } .readiness-side { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .readiness-page { padding: 0 16px 58px; } .readiness-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .readiness-side { grid-template-columns: minmax(0, 1fr); } .readiness-panel-head { grid-template-columns: minmax(0, 1fr); gap: 4px; } .readiness-privacy { align-items: flex-start; flex-wrap: wrap; } .readiness-privacy a { margin-left: 26px; } }
@media (max-width: 520px) { .readiness-fields { grid-template-columns: minmax(0, 1fr); } .readiness-field-wide, .readiness-actions { grid-column: auto; } .check-row { grid-template-columns: minmax(0, 1fr); } .check-row .check-notes { grid-column: auto; } .inject-controls button { flex: 1; } .readiness-metrics > div { padding: 13px; } }
