/* KEV Remediation Deadline Calculator — scoped tool styles. Mobile-first.
   Result box is dark navy (design-system convention); coral accent for the headline. */

.kev-inputs { display: grid; gap: 14px; }
.kev-row { display: grid; gap: 6px; }
.kev-row > label { font-family: var(--rt-font-mono, ui-monospace, monospace); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--rt-ink-muted, #6b6760); font-weight: 600; }
.kev-inputs input[type="date"],
.kev-inputs input[type="number"],
.kev-inputs select {
    width: 100%; padding: 11px 12px; font-size: 15px; color: var(--rt-ink, #1a1814);
    background: #fff; border: 1px solid var(--rt-hairline, #ebebeb); border-radius: 10px; min-height: 44px;
}
.kev-inputs input:focus, .kev-inputs select:focus { outline: 2px solid var(--rt-accent, #e8622a); outline-offset: 1px; border-color: var(--rt-accent, #e8622a); }

/* mode toggle (segmented) */
.kev-modes { display: flex; gap: 0; border: 1px solid var(--rt-hairline, #ebebeb); border-radius: 10px; overflow: hidden; }
.kev-modes button { flex: 1 1 0; padding: 10px 12px; font-size: 13.5px; font-weight: 600; color: var(--rt-ink-muted, #6b6760); background: #fff; border: 0; cursor: pointer; min-height: 44px; }
.kev-modes button + button { border-left: 1px solid var(--rt-hairline, #ebebeb); }
.kev-modes button[aria-pressed="true"] { background: var(--rt-accent, #e8622a); color: #fff; }

/* window quick picks */
.kev-quick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.kev-quick button { padding: 6px 12px; font-size: 12.5px; font-weight: 600; color: var(--rt-ink, #1a1814); background: var(--rt-bg-inset, #f7f6f3); border: 1px solid var(--rt-hairline, #ebebeb); border-radius: 999px; cursor: pointer; min-height: 36px; }
.kev-quick button:hover { border-color: var(--rt-accent, #e8622a); }

.kev-error { margin-top: 14px; padding: 12px 14px; border-radius: 10px; background: #fdece7; border: 1px solid #f4c3b3; color: #9a3412; font-size: 14px; }

/* result box */
.kev-result { margin-top: 18px; border-radius: 14px; background: var(--rt-result-bg, #0D1B2A); color: var(--rt-result-ink, #fff); padding: 22px 20px; border-top: 5px solid var(--rt-result-muted, #c7d0db); }
.kev-result[data-sev="low"] { border-top-color: #3FB950; }
.kev-result[data-sev="med"] { border-top-color: #E3B341; }
.kev-result[data-sev="high"] { border-top-color: #F0883E; }
.kev-result[data-sev="crit"] { border-top-color: #F85149; }
.kev-verdict { font-size: 19px; line-height: 1.45; color: var(--rt-result-ink, #fff); margin: 0; }
.kev-verdict strong { color: var(--rt-accent, #e8622a); }
.kev-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.kev-badge { font-family: var(--rt-font-mono, ui-monospace, monospace); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; }
.kev-badge.crit { background: #B5302B; } .kev-badge.high { background: #B5611F; } .kev-badge.weekend { background: #2f4a63; } .kev-badge.hol { background: #6d4a91; }

.kev-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.kev-stat { background: rgba(255,255,255,.06); border-radius: 10px; padding: 12px; }
.kev-stat .v { display: block; font-size: 20px; font-weight: 700; color: #fff; line-height: 1.2; }
.kev-stat .l { font-family: var(--rt-font-mono, ui-monospace, monospace); font-size: 10px; color: var(--rt-result-muted, #c7d0db); text-transform: uppercase; letter-spacing: .03em; }
.kev-holnote { margin-top: 12px; font-size: 12px; color: var(--rt-result-muted, #c7d0db); }

/* CVE lookup */
.kev-cve-block { border-top: 1px dashed var(--rt-hairline, #ebebeb); padding-top: 14px; margin-top: 2px; }
.kev-cve-wrap { display: flex; gap: 8px; }
.kev-cve-wrap input { flex: 1; padding: 11px 12px; font-size: 15px; color: var(--rt-ink, #1a1814); background: #fff; border: 1px solid var(--rt-hairline, #ebebeb); border-radius: 10px; min-height: 44px; font-family: var(--rt-font-mono, ui-monospace, monospace); }
.kev-cve-wrap input:focus { outline: 2px solid var(--rt-accent, #e8622a); outline-offset: 1px; border-color: var(--rt-accent, #e8622a); }
.kev-cve-wrap button { padding: 0 18px; border-radius: 10px; border: 1px solid var(--rt-accent, #e8622a); background: var(--rt-accent, #e8622a); color: #fff; font-weight: 600; font-size: 13.5px; cursor: pointer; min-height: 44px; white-space: nowrap; }
.kev-cve-wrap button:disabled { opacity: .6; cursor: default; }
.kev-cve-note { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: var(--rt-ink-muted, #6b6760); }
.kev-cve-note.err { color: #9a3412; }

@media (min-width: 560px) {
    .kev-inputs { grid-template-columns: 1fr 1fr; }
    .kev-row-full { grid-column: 1 / -1; }
}
