.security-live-progress{padding:18px;border:1px solid #e3d7ef;border-radius:14px;background:#faf7fd;margin:16px 0}.security-progress-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.security-progress-head span,.security-live-progress small{font-size:10px;color:#857092}.security-live-progress p{font-size:12px;line-height:2}.security-live-progress progress{width:100%;height:12px;accent-color:#80609f}.security-progress-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0}.security-progress-steps li{border:1px solid #e5dcea;border-radius:8px;padding:9px 6px;font-size:10px;color:#8e7c9a;background:#fff;text-align:center}.security-progress-steps li.current{border-color:#956cb0;background:#f0e6f9;color:#6b4189;font-weight:700}.security-progress-steps li.done{border-color:#9bc3ac;background:#eff8f2;color:#357850}.security-antivirus{border:1px solid #e1d6ea;padding:20px;margin:24px 0;border-radius:14px;background:#fff}.security-antivirus h2{font-size:19px}.security-antivirus>p{font-size:12px;line-height:2}.security-antivirus .av-unavailable{background:#fff1e6;color:#964b1f}.security-antivirus .av-ready{background:#e8f5ed;color:#2b7b4d}.security-upload-counts{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.security-upload-table{overflow:auto;max-height:450px}.security-upload-table table{width:100%;min-width:600px;border-collapse:collapse;font-size:11px}.security-upload-table th,.security-upload-table td{text-align:right;border-bottom:1px solid #ece4f3;padding:10px;vertical-align:top;max-width:330px;overflow-wrap:anywhere}.security-upload-table th{position:sticky;top:0;background:#f4eff8}.security-upload-table small{display:block;font-size:9px;color:#8c7799}.security-upload-table code{font-size:9px;word-break:break-all}.security-upload-table caption{text-align:right;font-size:11px;padding:8px}.security-antivirus .section-title{gap:10px;flex-wrap:wrap}@media(max-width:650px){.security-progress-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.security-live-progress,.security-antivirus{padding:14px}.security-antivirus h2{font-size:17px}}
.hardening-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.hardening-check,.decision-case{border:1px solid var(--border,#ddd);border-radius:12px;padding:16px;min-width:0;margin-block:12px}.hardening-check p,.decision-case p{overflow-wrap:anywhere}.hardening-check code{overflow-wrap:anywhere;white-space:pre-wrap}.hardening-state-fail{border-inline-start:4px solid #b53d4a}.hardening-state-pass{border-inline-start:4px solid #23836b}.hardening-state-review,.hardening-state-unknown{border-inline-start:4px solid #b38222}.report-decision-panel{margin-block:24px;padding:16px;background:var(--surface,#fafafa);border-radius:14px}.decision-timeline{padding-inline-start:24px}.decision-timeline li{padding:12px;overflow-wrap:anywhere}.hardening-summary{display:flex;flex-wrap:wrap;gap:12px;margin-block:16px}.hardening-controls{display:flex;flex-wrap:wrap;gap:8px}.hardening-check details{margin-block:12px}.hardening-check a{overflow-wrap:anywhere}.hardening-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
/* Compact security cards: color is accompanied by a text status. */
.security-card-grid,.hardening-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;align-items:start}.security-card{--security-accent:#7b8495;border:1px solid var(--line,#dce1eb);border-inline-start:4px solid var(--security-accent);border-radius:10px;background:var(--panel,#fff);min-width:0;margin:0;padding:0;overflow:hidden;font-size:12px;line-height:1.7}.security-card>summary{display:block;position:relative;cursor:pointer;padding:12px 14px 10px;padding-inline-end:32px;list-style:none;min-height:78px}.security-card>summary::-webkit-details-marker{display:none}.security-card>summary::after{content:'＋';position:absolute;inset-inline-end:12px;top:12px;color:var(--security-accent);font-size:17px}.security-card[open]>summary::after{content:'−'}.security-card>summary:focus-visible{outline:2px solid var(--security-accent);outline-offset:-3px}.security-card-title{display:flex;align-items:start;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;line-height:1.7;overflow-wrap:anywhere}.security-card-title bdi{min-width:0;overflow-wrap:anywhere}.security-card .security-urgency{display:inline-block;flex-shrink:0;border:1px solid currentColor;color:var(--security-accent);font-size:10px;font-weight:600;border-radius:5px;padding:1px 6px;margin-block:4px 2px;white-space:nowrap}.security-card-package{display:block;font-size:11px;overflow-wrap:anywhere;margin-top:3px}.security-card-hint{display:block;font-size:10px;color:var(--muted,#68758c);font-weight:400;margin-top:4px}.security-card-body{border-top:1px solid var(--line,#e3e7ef);padding:10px 14px;overflow-wrap:anywhere}.security-card-body p{font-size:12px;line-height:1.8;margin-block:6px}.security-card-body code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.security-card-body .description{white-space:pre-wrap;max-height:220px;overflow:auto}.security-card-body h4{font-size:12px;margin-block:10px 4px}.security-card-body details{margin-block:8px}.security-card.security-priority-critical{--security-accent:#b5273c}.security-card.security-priority-high,.security-card.security-control-fail{--security-accent:#bd4523}.security-card.security-priority-medium,.security-card.security-priority-moderate,.security-card.hardening-state-review{--security-accent:#946500}.security-card.security-priority-low{--security-accent:#27699d}.security-card.security-priority-unknown,.security-card.security-control-unknown,.security-card.security-control-not_assessed,.security-card.hardening-state-unknown{--security-accent:#68758c}.security-card.security-control-pass,.security-card.hardening-state-pass{--security-accent:#24724e}.security-card.hardening-state-fail{--security-accent:#b5273c}.hardening-check.security-card{border-inline-start-color:var(--security-accent)}#security-report>.dashboard-kpis{gap:10px}#security-report>.dashboard-kpis .dash-kpi{padding:12px;min-height:74px}#security-report>.dashboard-kpis .dash-kpi strong{font-size:22px}@media(min-width:1250px){.security-card-grid,.hardening-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.security-card-grid,.hardening-grid{grid-template-columns:minmax(0,1fr)}.security-card>summary{min-height:70px;padding:10px 12px;padding-inline-end:32px}.security-card-title{font-size:12px}.security-card .security-urgency{font-size:10px}}
/* Severity remains explicit in text, including when color cannot be perceived. */
.security-severity-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-block:18px}.security-severity-count{border:1px solid var(--line,#dce1eb);border-top:4px solid var(--security-accent,#68758c);border-radius:10px;padding:12px;background:var(--panel,#fff);color:var(--security-accent,#68758c);cursor:pointer}.security-severity-count strong,.security-severity-count span{display:block}.security-severity-count strong{font-size:26px}.security-severity-count span{font-size:12px}.security-priority-critical{--security-accent:#b21f38}.security-priority-high{--security-accent:#c02c3e}.security-priority-medium{--security-accent:#946500}.security-priority-low{--security-accent:#27699d}.security-priority-unknown{--security-accent:#68758c}.security-card.security-priority-high{--security-accent:#c02c3e;background:#fff5f5}.security-card.security-priority-critical{--security-accent:#b21f38;background:#fff0f2}.security-severity-group{margin-block:22px}.security-severity-group>h3{color:var(--security-accent);font-size:16px}.security-finding-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.security-finding-facts dt{font-weight:700;font-size:11px;margin-top:7px}.security-finding-facts dd{margin:0;font-size:12px;overflow-wrap:anywhere}.security-remediation-status{padding:8px;border-radius:7px;background:var(--surface,#f1f3f6)}@media(max-width:650px){.security-severity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.security-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-block:18px}.security-gauge{background:var(--panel,#fff);border:1px solid var(--line,#dce1eb);border-radius:14px;padding:14px;display:flex;align-items:center;flex-direction:column;cursor:pointer;min-width:0;color:var(--text,#273449)}.security-gauge svg{width:100%;max-width:260px;height:auto;direction:ltr}.security-gauge svg text{font-size:11px;fill:var(--muted,#68758c)}.security-gauge .security-gauge-value{font-size:34px;line-height:1.3;color:var(--security-accent)}.security-gauge>span{font-size:14px;font-weight:700}.security-gauge>small{font-size:11px;color:var(--muted,#68758c);margin-top:6px}.security-chart-note,.security-unknown-note{font-size:12px;line-height:2;padding:10px 14px;border-radius:9px;background:var(--surface,#f3f5f9)}.security-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.security-chart{background:var(--panel,#fff);border:1px solid var(--line,#dce1eb);border-radius:14px;padding:18px;min-width:0}.security-chart h3{font-size:15px;margin:0 0 12px}.security-chart p{font-size:11px;color:var(--muted,#68758c);line-height:1.9}.security-donut-layout{display:flex;align-items:center;justify-content:space-around;gap:20px}.security-donut{width:160px;max-width:45%;direction:ltr;flex-shrink:0}.security-donut text{font-size:20px;font-weight:700;fill:var(--text,#273449)}.security-chart-legend{flex:1;min-width:0}.security-chart-legend button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;color:inherit;padding:7px 0;font-size:12px;cursor:pointer;text-align:right}.security-chart-legend strong{margin-inline-start:auto}.security-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.security-legend-critical{background:#b21f38}.security-legend-high{background:#d23949}.security-legend-medium{background:#a37308}.security-legend-low{background:#27699d}.security-legend-unknown{background:#68758c}.security-scope-row{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:11px;margin-block:13px;overflow-wrap:anywhere}.security-scope-row progress{grid-column:1/-1;width:100%;height:9px;accent-color:#705bca}.security-gauge:focus-visible,.security-chart-legend button:focus-visible,.security-severity-count:focus-visible{outline:3px solid #705bca;outline-offset:3px}@media(max-width:650px){.security-gauges,.security-charts{grid-template-columns:1fr}.security-gauge{padding:10px}.security-gauge svg{max-width:220px}.security-donut-layout{gap:12px}}
.security-scan-card{box-sizing:border-box;width:100%;max-width:540px;margin-block:18px 24px;padding:18px;border:1px solid var(--line,#ddd5e9);border-radius:14px;background:var(--panel,#fff);box-shadow:0 4px 16px #46316b06}.security-scan-card>h2{font-size:17px;margin:0 0 5px}.security-scan-card .security-scan-intro{font-size:11px;color:var(--muted,#78658b);margin:0 0 12px}.security-scan-card #security-scan-form{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;max-width:none}.security-scan-card #security-scan-form>label{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:12px;line-height:1.9;margin:0}.security-scan-card #security-scan-form input[type=checkbox]{width:16px;height:16px;min-width:16px;padding:0;margin:4px 0 0;flex-shrink:0}.security-scan-card #security-scan-form>button{align-self:flex-start;width:auto;min-height:36px;padding:8px 16px;font-size:12px}.security-scan-help{font-size:11px;line-height:1.9;color:var(--muted,#78658b)}.security-scan-help summary{cursor:pointer}.security-scan-help p{font-size:11px;margin:6px 0}.security-scan-card>#security-agent-status,.security-scan-card>#security-status{font-size:11px;line-height:1.9;margin-block:10px}.security-scan-card .security-live-progress{padding:12px;margin-block:12px}.security-scan-card .security-progress-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-block:10px}.security-scan-card .security-progress-steps li{padding:6px 4px;font-size:9px}.security-scan-card .security-progress-head strong{font-size:12px}.security-scan-card #security-refresh button{font-size:11px;padding:6px 10px}.security-scan-card .security-live-progress:empty{display:none}@media(max-width:650px){.security-scan-card{padding:14px}.security-scan-card .security-progress-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.security-history-card{box-sizing:border-box;width:100%;max-width:none;margin-block:20px;padding:18px;border:1px solid #cdbce9;border-inline-start:5px solid #8060b1;border-radius:14px;background:linear-gradient(135deg,#f8f3ff,#eef3ff);color:#3e3158;box-shadow:0 4px 16px #7052a00a}.security-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.security-history-heading h2{margin:0;font-size:17px;color:#593e83}.security-history-heading .badge{background:#e7dcf8;color:#654792;font-size:11px}.security-history-card>label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.security-history-card>select{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;min-height:44px;border:1px solid #bba6d8;border-radius:9px;padding:9px 12px;background:#fff;color:#443259;font-family:inherit;font-size:12px;cursor:pointer}.security-history-card>select:focus-visible{outline:3px solid #b79bd8;outline-offset:2px}.security-history-card>p{font-size:11px;color:#78628e;line-height:1.8;margin:8px 0 12px}.security-history-state{display:inline-block;padding:5px 10px;border-radius:7px;background:#e6def2;color:#654d80;font-size:11px;line-height:1.8}.security-history-state[data-state=complete]{background:#dcebf9;color:#265b85}.security-history-state[data-state=partial]{background:#fff0cf;color:#805a10}.security-history-state[data-state=failed]{background:#fde1e5;color:#a02a40}.security-history-state[data-state=running],.security-history-state[data-state=queued]{background:#e6dbfc;color:#674398}@media(max-width:650px){.security-history-card{padding:14px}.security-history-card>select{font-size:11px}}
.security-operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-block:18px 24px}.security-operations-grid>.security-scan-card,.security-antivirus{--operation-accent:#8160b1;position:relative;box-sizing:border-box;min-width:0;width:100%;max-width:none;margin:0;padding:18px;border:1px solid #dfd4ee;border-top:3px solid var(--operation-accent);border-radius:14px;background:linear-gradient(145deg,#fff,#faf7ff);box-shadow:0 5px 20px #7052a010;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.security-antivirus{--operation-accent:#32877b;border-color:#cde4dd;background:linear-gradient(145deg,#fff,#f0faf7);box-shadow:0 5px 20px #32877b10}.security-antivirus[data-ready=false]{--operation-accent:#ac772b}.security-operations-grid>.security-scan-card::before,.security-antivirus::before{content:'';position:absolute;inset:0 0 auto;height:50px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,transparent,#8160b109);pointer-events:none}.security-antivirus::before{background:linear-gradient(90deg,transparent,#32877b0c)}.security-operations-grid>.security-scan-card:focus-within,.security-antivirus:focus-within{box-shadow:0 8px 26px #7052a01c}.security-operations-grid .security-antivirus h2{font-size:17px;margin:0}.security-operations-grid .security-antivirus .section-title{margin:0 0 12px;align-items:flex-start;gap:8px}.security-operations-grid .security-antivirus .section-title>.badge{font-size:10px;line-height:1.8;white-space:normal}.security-operations-grid .security-antivirus>p{font-size:12px;line-height:1.9;margin-block:10px}.security-operations-grid .security-antivirus>.form-help{font-size:10px}.security-av-details{font-size:11px;margin-block:12px;border-top:1px solid #dbe8e2;padding-top:10px;line-height:1.9}.security-av-details>summary{font-weight:700;cursor:pointer;color:#396b62}.security-av-details>p{font-size:11px;line-height:1.9}.security-av-details .security-upload-table{max-height:280px;margin-top:10px}.security-operations-grid .security-upload-counts{gap:6px;margin:10px 0}.security-operations-grid .security-upload-counts:empty{display:none}.security-operations-grid .security-upload-counts .badge{font-size:10px}@media(hover:hover){.security-operations-grid>.security-scan-card:hover,.security-antivirus:hover{transform:translateY(-2px);box-shadow:0 10px 28px #7052a020}.security-antivirus:hover{box-shadow:0 10px 28px #32877b20}}@media(max-width:850px){.security-operations-grid{grid-template-columns:1fr;gap:14px}.security-operations-grid>.security-scan-card,.security-antivirus{padding:14px}}@media(prefers-reduced-motion:reduce){.security-operations-grid>.security-scan-card,.security-antivirus{transition:none;transform:none!important}}

/* Full-width compact scan history, with stacked controls on small screens. */
@media(min-width:851px){.security-history-card{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,2fr) auto;grid-template-areas:"heading label state" "heading select state" "heading help state";column-gap:24px;row-gap:4px;padding:14px 18px;align-items:center}.security-history-heading{grid-area:heading;margin:0;justify-content:flex-start;flex-wrap:wrap}.security-history-card>label{grid-area:label;margin:0}.security-history-card>select{grid-area:select}.security-history-card>p{grid-area:help;margin:0}.security-history-state{grid-area:state;max-width:240px;overflow-wrap:anywhere}}

/* Recent scans share the operations row; antivirus occupies the next full row. */
.security-operations-grid>.security-history-card{display:block;min-width:0;width:100%;max-width:none;margin:0;padding:18px}.security-operations-grid>.security-history-card .security-history-heading{margin-bottom:14px;justify-content:space-between}.security-operations-grid>.security-history-card>label{margin-bottom:7px}.security-operations-grid>.security-history-card>p{margin:8px 0 12px}.security-operations-grid>.security-history-card .security-history-state{max-width:100%}.security-antivirus{margin-block:20px;width:100%;min-width:0;box-sizing:border-box}@media(max-width:850px){.security-operations-grid>.security-history-card{padding:14px}}

/* Compact selected report directly below recent scans. */
.security-history-card #security-selected-report{margin-top:14px;padding-top:12px;border-top:1px solid #cdbce9;min-width:0;font-size:12px;line-height:1.7}.security-history-card #security-report-title{font-size:14px;margin:0 0 8px;overflow-wrap:anywhere}.security-history-card #security-report-status:empty{display:none}.security-history-card #security-report .dashboard-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.security-history-card #security-report .dashboard-kpis .dash-kpi{padding:8px;min-height:0}.security-history-card #security-report .dashboard-kpis .dash-kpi strong{font-size:18px}.security-history-card #security-report p{font-size:12px;margin:6px 0;overflow-wrap:anywhere}.security-history-card #security-report table{font-size:11px}.security-history-card #security-report .security-card-grid{grid-template-columns:minmax(0,1fr)}

.security-ssh{margin-block:20px;padding:18px;border:1px solid var(--line,#ddd);border-top:3px solid #bd4523;border-radius:14px;background:var(--panel,#fff);min-width:0}.security-ssh h2{font-size:18px}.security-ssh>p{font-size:12px;line-height:1.9}.security-ssh .hardening-toolbar{margin-block:14px}.security-ssh .hardening-toolbar label{flex:1;min-width:180px}.security-ssh input{display:block;width:100%;box-sizing:border-box}.security-ssh .security-upload-table{max-height:520px}.security-ssh bdi{unicode-bidi:isolate}.security-ssh .section-title{flex-wrap:wrap;gap:12px}@media(max-width:650px){.security-ssh{padding:12px}}

.security-ssh td:first-child bdi{white-space:nowrap}@media(max-width:650px){.security-ssh table:has([data-ssh-rows]){min-width:0;width:100%}.security-ssh table:has([data-ssh-rows]) thead{display:none}.security-ssh [data-ssh-rows],.security-ssh [data-ssh-rows] tr{display:block}.security-ssh [data-ssh-rows] tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 4px;border-bottom:1px solid var(--line,#ddd)}.security-ssh [data-ssh-rows] td{display:flex;flex-direction:column;gap:5px;max-width:none;padding:4px;border:0;min-width:0}.security-ssh [data-ssh-rows] td::before{content:attr(data-label);font-size:10px;font-weight:700;color:var(--muted,#667)}.security-ssh [data-ssh-rows] td:nth-child(3),.security-ssh [data-ssh-rows] td:last-child{grid-column:1/-1}.security-ssh [data-ssh-rows] button{align-self:start;min-height:40px}}

.security-events{margin-block:20px;padding:18px;border:1px solid var(--line,#dce1eb);border-top:3px solid #27699d;border-radius:14px;min-width:0;background:var(--panel,#fff)}.security-events h2{font-size:18px}.security-events>p,.security-events>details{font-size:12px;line-height:1.9}.security-events .section-title{flex-wrap:wrap;gap:10px}.security-events .filters{flex-wrap:wrap}.security-event-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin-block:16px}.security-event-categories button{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line,#ddd);border-radius:10px;background:var(--surface,#f6f8fb);color:inherit;text-align:right;font:inherit;cursor:pointer}.security-event-categories button[aria-pressed=true]{border:2px solid #27699d}.security-event-categories span,.security-event-categories small{font-size:11px}.security-event-categories strong{font-size:23px}.security-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:18px}.security-event-card{padding:14px;border:1px solid var(--line,#dce1eb);border-radius:10px;min-width:0;overflow-wrap:anywhere;background:var(--panel,#fff)}.security-event-card h3{font-size:14px;margin:0}.security-event-card p,.security-event-card details{font-size:12px;line-height:1.9}.security-event-card>.section-title .badge{font-size:10px;white-space:normal}.security-event-card button{font-family:inherit;min-height:36px}.security-event-card [data-event-confirm]{margin-block:10px}.security-events>details{margin-block:12px}@media(max-width:850px){.security-event-list{grid-template-columns:minmax(0,1fr)}}@media(max-width:650px){.security-events{padding:12px}.security-event-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
