.itkb-pulse{background:#0f172a;color:#f8fafc;padding:25px;border-radius:12px;font-family:'Segoe UI',system-ui,sans-serif;border:1px solid #1e293b;box-shadow:0 10px 15px -3px rgba(0,0,0,.5)}
.itkb-pulse *{box-sizing:border-box}
.itkb-pulse__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:15px}
.itkb-pulse__title{margin:0;color:#38bdf8;font-size:1.4rem;font-family:monospace;letter-spacing:1px;font-weight:700}
.itkb-pulse__timestamp{font-size:.7rem;color:#94a3b8;margin-top:6px;font-family:monospace;letter-spacing:.5px}
.itkb-pulse__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.itkb-pulse__row-count{font-size:.75rem;color:#64748b;font-family:monospace}
.itkb-btn{border-radius:6px;padding:8px 16px;cursor:pointer;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}
.itkb-btn--green{background:rgba(34,197,94,.1);border:1px solid #22c55e;color:#22c55e}
.itkb-btn--red{background:rgba(239,68,68,.1);border:1px solid #ef4444;color:#ef4444}
.itkb-btn--blue{background:rgba(56,189,248,.1);border:1px solid #38bdf8;color:#38bdf8;padding:12px 28px;font-size:.9rem}
.itkb-btn--solid{background:#38bdf8;color:#0f172a;border:0;padding:12px 28px;font-size:.9rem}
.itkb-status-badge{font-size:.75rem;padding:8px 16px;border-radius:6px;background:rgba(56,189,248,.1);border:1px solid #38bdf8;color:#38bdf8;font-weight:700}
.itkb-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}
.itkb-summary__card{background:#111827;border:1px solid #1e293b;border-radius:8px;padding:14px}
.itkb-summary__label{font-size:.68rem;color:#94a3b8;text-transform:uppercase;font-family:monospace;margin-bottom:8px}
.itkb-summary__value{font-size:1.45rem;font-weight:800;color:#f8fafc}
.itkb-summary__note{font-size:.75rem;color:#64748b;margin-top:5px}
.itkb-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;align-items:center}
.itkb-severity-buttons{display:flex;gap:6px;flex-wrap:wrap}
.itkb-sev-btn{padding:6px 12px;border-radius:4px;font-size:.7rem;font-weight:700;cursor:pointer;font-family:monospace;border:1px solid #334155;background:#1e293b;color:#94a3b8;opacity:.4}
.itkb-sev-btn.is-active{opacity:1;box-shadow:0 0 0 2px currentColor}
.itkb-sev-btn--critical{border-color:#ef4444;background:rgba(239,68,68,.1);color:#ef4444}
.itkb-sev-btn--high{border-color:#f59e0b;background:rgba(245,158,11,.1);color:#f59e0b}
.itkb-sev-btn--medium{border-color:#f97316;background:rgba(249,115,22,.1);color:#f97316}
.itkb-sev-btn--low{border-color:#22c55e;background:rgba(34,197,94,.1);color:#22c55e}
.itkb-sev-btn--na{border-color:#475569;background:rgba(71,85,105,.1);color:#64748b}
.itkb-input{background:#111827;border:1px solid #334155;color:#f8fafc;font-size:.8rem;padding:8px 12px;border-radius:4px;outline:none}
.itkb-input:focus{border-color:#38bdf8;box-shadow:0 0 0 2px rgba(56,189,248,.15)}
.itkb-input--keyword{flex:1;min-width:200px}
.itkb-input--small{width:90%;border-color:#1e293b;color:#94a3b8;font-size:.72rem;padding:5px 8px}
.itkb-column-filters{display:grid;grid-template-columns:180px 1fr 100px 140px;min-width:750px;margin-bottom:0}
.itkb-column-filters>div{padding:4px 15px}
.itkb-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #1e293b;background:#111827}
.itkb-table{width:100%;border-collapse:collapse;min-width:750px;table-layout:fixed;font-size:.9rem}
.itkb-table th{background:#1e293b;color:#38bdf8;font-size:.75rem;text-align:left;font-family:monospace;padding:12px 15px;border-bottom:2px solid #38bdf8;border-right:1px solid #334155}
.itkb-table th:last-child{border-right:0}
.itkb-table__id{width:180px}.itkb-table__sev{width:100px;text-align:center}.itkb-table__action{width:140px;text-align:center}
.itkb-table-sort{display:block;width:100%;background:transparent;border:0;color:inherit;font:inherit;text-align:inherit;cursor:pointer;padding:0}
.itkb-table-sort:hover{background:#2d3748}
.itkb-table td{padding:15px;border-bottom:1px solid #1e293b;border-right:1px solid #1e293b;vertical-align:middle}
.itkb-table td:last-child{border-right:0}
.itkb-table tr:hover{background:rgba(56,189,248,.03)}
.itkb-cve-id{font-weight:700;font-family:monospace;color:#f8fafc}
.itkb-vendor-name{font-weight:700;color:#38bdf8;font-size:1rem}.itkb-vendor-name.is-pending{color:#475569}
.itkb-reporter{font-size:.65rem;color:#64748b;margin-top:5px;font-family:monospace;text-transform:uppercase}
.itkb-cisa-badge{font-size:.58rem;background:rgba(34,197,94,.15);color:#22c55e;border:1px solid #22c55e;border-radius:3px;padding:1px 5px;margin-left:6px;vertical-align:middle}
.itkb-severity{text-align:center;font-family:monospace}.itkb-severity__score{font-weight:800;font-size:1.15rem}.itkb-severity__band{font-size:.6rem;margin-top:3px;opacity:.8}
.itkb-view-btn{background:rgba(56,189,248,.1);border:1px solid #38bdf8;color:#38bdf8;padding:8px 14px;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:700;width:100%}
.itkb-empty{padding:30px!important;text-align:center;color:#64748b;font-family:monospace}.itkb-error{padding:40px!important;text-align:center;color:#ef4444;font-weight:700}
.itkb-modal{position:fixed;z-index:99999;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.9);backdrop-filter:blur(10px);align-items:center;justify-content:center;padding:20px}
.itkb-modal:not([hidden]){display:flex}
.itkb-modal__inner{background:#1e293b;width:100%;max-width:900px;border-radius:12px;border:1px solid #38bdf8;overflow:hidden;box-shadow:0 0 60px rgba(56,189,248,.25)}
.itkb-modal__header{background:#0f172a;padding:20px 30px;border-bottom:1px solid #38bdf8;display:flex;justify-content:space-between;align-items:center}
.itkb-modal__title{margin:0;color:#38bdf8;font-family:monospace;font-size:1.4rem}
.itkb-modal__close{color:#94a3b8;cursor:pointer;font-size:2rem;line-height:1;background:transparent;border:0}
.itkb-modal__body{padding:30px;max-height:65vh;overflow-y:auto;color:#e2e8f0;scrollbar-width:thin}
.itkb-modal__meta{margin-bottom:25px;font-weight:700;border-left:4px solid #38bdf8;padding:10px 20px;color:#38bdf8;font-family:monospace;background:rgba(56,189,248,.05);line-height:1.8}
.itkb-modal__label{font-size:.75rem;color:#94a3b8;margin-bottom:10px;text-transform:uppercase;font-weight:700}
.itkb-modal__summary{white-space:pre-wrap;font-size:1.05rem;background:rgba(0,0,0,.4);padding:25px;border-radius:8px;border:1px solid #334155;line-height:1.8;font-family:'Segoe UI',sans-serif}
.itkb-modal__footer{background:#0f172a;padding:20px 30px;display:flex;justify-content:flex-end;gap:15px;flex-wrap:wrap}
.itkb-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width: 700px){.itkb-pulse{padding:16px}.itkb-summary{grid-template-columns:1fr}.itkb-column-filters{display:none}.itkb-pulse__actions,.itkb-filters,.itkb-input--keyword{width:100%}.itkb-btn,.itkb-status-badge{width:100%}.itkb-modal__body{padding:20px}.itkb-modal__footer{justify-content:stretch}.itkb-modal__footer .itkb-btn{width:100%}}

.itkb-modal-section {
    margin-bottom: 20px;
}

.itkb-modal-section-title {
    font-size: 0.72rem;
    color: #94a3b8;
    margin-bottom: 8px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.itkb-modal-section-body {
    background: rgba(0,0,0,0.35);
    border: 1px solid #334155;
    border-radius: 8px;
    padding: 16px;
    color: #e2e8f0;
    line-height: 1.6;
    font-size: 0.95rem;
    white-space: pre-wrap;
}

.itkb-modal-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 20px;
}

.itkb-modal-fact {
    background: rgba(15,23,42,0.75);
    border: 1px solid #334155;
    border-radius: 8px;
    padding: 12px;
}

.itkb-modal-fact-label {
    font-size: 0.65rem;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 5px;
}

.itkb-modal-fact-value {
    color: #f8fafc;
    font-size: 0.9rem;
    line-height: 1.4;
}

.itkb-admin-actions {
    margin: 0;
    padding: 16px 18px 16px 34px;
    background: rgba(56,189,248,0.06);
    border: 1px solid rgba(56,189,248,0.25);
    border-radius: 8px;
    color: #e2e8f0;
    line-height: 1.6;
}

.itkb-admin-actions li {
    margin-bottom: 8px;
}

.itkb-modal-disclaimer {
    margin-top: 18px;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #94a3b8;
    border-top: 1px solid #334155;
    padding-top: 12px;
}

@media (max-width: 700px) {
    .itkb-modal-facts {
        grid-template-columns: 1fr;
    }
}

.itkb-severity-banner {
    background: rgba(15,23,42,0.85);
    border: 1px solid #334155;
    border-left-width: 5px;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
}

.itkb-severity-banner__label {
    font-family: monospace;
    font-size: 1.4rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    margin-bottom: 6px;
}

.itkb-severity-banner__detail {
    color: #e2e8f0;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* ── Tablet (≤900px) ─────────────────────────────────────── */

@media (max-width: 900px) {

    .itkb-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .itkb-column-filters { grid-template-columns: 140px 1fr 90px 120px; }

    .itkb-modal__inner { max-width: 100%; }

}

/* ── Mobile (≤640px) ─────────────────────────────────────── */

@media (max-width: 640px) {

    /* Container */

    .itkb-pulse { padding: 12px; }

    /* Header: stack title + actions vertically */

    .itkb-pulse__header { flex-direction: column; gap: 10px; }

    .itkb-pulse__actions { width: 100%; justify-content: space-between; }

    .itkb-btn, .itkb-status-badge { flex: 1; text-align: center; }

    /* Summary: single column, tighter cards */

    .itkb-summary { grid-template-columns: 1fr; gap: 8px; margin-bottom: 12px; }

    .itkb-summary__card { padding: 10px 12px; }

    .itkb-summary__value { font-size: 1.25rem; }

    /* Filters: stack vertically, full width */

    .itkb-filters { flex-direction: column; gap: 8px; }

    .itkb-input--keyword { width: 100%; min-width: unset; }

    .itkb-severity-buttons { width: 100%; justify-content: flex-start; }

    .itkb-sev-btn { padding: 8px 10px; font-size: .72rem; }

    /* Column filters: collapse to stacked inputs instead of hiding */

    .itkb-column-filters {

        display: grid;

        grid-template-columns: 1fr 1fr;

        min-width: unset;

        gap: 6px;

        margin-bottom: 8px;

    }

    .itkb-column-filters > div { padding: 2px 4px; }

    .itkb-input--small { width: 100%; }

    /* Table: allow horizontal scroll with visible hint */

    .itkb-table-wrap {

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;

        border-radius: 6px;

    }

    .itkb-table { font-size: .8rem; }

    .itkb-table th, .itkb-table td { padding: 10px 8px; }

    .itkb-table__id { width: 130px; }

    .itkb-table__sev { width: 80px; }

    .itkb-table__action { width: 100px; }

    .itkb-view-btn { padding: 6px 10px; font-size: .7rem; }

    .itkb-vendor-name { font-size: .88rem; }

    /* Modal: full screen feel */

    .itkb-modal { padding: 0; align-items: flex-end; }

    .itkb-modal__inner {

        border-radius: 12px 12px 0 0;

        border-left: 0;

        border-right: 0;

        border-bottom: 0;

        max-height: 92vh;

        display: flex;

        flex-direction: column;

    }

    .itkb-modal__header { padding: 14px 16px; }

    .itkb-modal__title { font-size: 1.1rem; }

    .itkb-modal__body {

        padding: 16px;

        max-height: unset;

        flex: 1;

        overflow-y: auto;

    }

    .itkb-modal__footer { padding: 12px 16px; gap: 10px; justify-content: stretch; }

    .itkb-modal__footer .itkb-btn { width: 100%; }

    .itkb-modal-facts { grid-template-columns: 1fr; gap: 8px; }

    .itkb-modal__meta { padding: 8px 14px; font-size: .88rem; }

    .itkb-modal__summary { padding: 16px; font-size: .95rem; }

    .itkb-severity-banner { padding: 12px; }

    .itkb-severity-banner__label { font-size: 1.15rem; }

    /* Admin actions list */

    .itkb-admin-actions { padding: 12px 14px 12px 28px; }

}


/* ── Sticky action column ────────────────────────────────── */
.itkb-table th:last-child,
.itkb-table td:last-child {
    position: sticky;
    right: 0;
    background: #111827;
    box-shadow: -3px 0 6px rgba(0,0,0,0.4);
    z-index: 1;
}

.itkb-table th:last-child {
    background: #1e293b;
}

.itkb-table tr:hover td:last-child {
    background: #0f1f35;
}

/* ── v1.3.0: VIEW RECORD is now an <a>, restore button appearance ── */
a.itkb-view-btn,
a.itkb-view-btn:visited {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    text-decoration: none;
    color: #38bdf8;
    line-height: 1.2;
}

a.itkb-view-btn:hover,
a.itkb-view-btn:focus {
    background: rgba(56,189,248,0.2);
    color: #38bdf8;
    text-decoration: none;
}

/* ── v1.3.0: Server-rendered per-CVE detail block (?cve= views) ──── */
.itkb-cve-detail {
    background: #0f172a;
    color: #e2e8f0;
    border: 1px solid #1e293b;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 20px;
    font-family: 'Segoe UI', system-ui, sans-serif;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.5);
}

.itkb-cve-detail__breadcrumb {
    margin: 0 0 14px;
    font-size: 0.8rem;
    font-family: monospace;
}

.itkb-cve-detail__breadcrumb a,
.itkb-cve-detail__links a {
    color: #38bdf8;
    text-decoration: none;
}

.itkb-cve-detail__breadcrumb a:hover,
.itkb-cve-detail__links a:hover {
    text-decoration: underline;
    color: #38bdf8;
}

.itkb-cve-detail__title {
    margin: 0 0 18px;
    color: #38bdf8;
    font-family: monospace;
    font-size: 1.5rem;
    line-height: 1.3;
    letter-spacing: 0.5px;
}

.itkb-cve-detail h2 {
    font-size: 0.78rem;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin: 22px 0 8px;
}

.itkb-cve-detail p,
.itkb-cve-detail ul {
    background: rgba(0,0,0,0.35);
    border: 1px solid #334155;
    border-radius: 8px;
    padding: 14px 16px;
    margin: 0 0 4px;
    line-height: 1.6;
    font-size: 0.95rem;
    color: #e2e8f0;
}

.itkb-cve-detail ul {
    padding-left: 34px;
}

.itkb-cve-detail li {
    margin-bottom: 8px;
}

.itkb-cve-detail__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 6px;
}

.itkb-cve-detail__facts dt {
    font-size: 0.65rem;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 800;
    margin: 0;
    padding: 12px 12px 0;
    background: rgba(15,23,42,0.75);
    border: 1px solid #334155;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
}

.itkb-cve-detail__facts dd {
    color: #f8fafc;
    font-size: 0.9rem;
    line-height: 1.4;
    margin: 0 0 0;
    padding: 5px 12px 12px;
    background: rgba(15,23,42,0.75);
    border: 1px solid #334155;
    border-top: 0;
    border-radius: 0 0 8px 8px;
}

.itkb-cve-detail__breadcrumb,
.itkb-cve-detail .itkb-modal-disclaimer {
    background: transparent;
    border: 0;
    padding-left: 0;
    padding-right: 0;
}

/* Disclaimer inside the dark detail card keeps its gray tone legibly */
.itkb-cve-detail .itkb-modal-disclaimer {
    border-top: 1px solid #334155;
    border-radius: 0;
}

@media (max-width: 640px) {
    .itkb-cve-detail { padding: 14px; }
    .itkb-cve-detail__title { font-size: 1.15rem; }
    .itkb-cve-detail__facts { grid-template-columns: 1fr; gap: 8px; }
}
