/* HelloDigi Vulnerability Hub — small, local and free of third-party assets. */
.hdvh-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:22px; margin-bottom:24px; background:#fff; border:1px solid #d6e7e8; border-radius:18px; box-shadow:0 8px 25px #07314308; }
.hdvh-filters > div { min-width:0; }.hdvh-filters label { display:block; margin-bottom:6px; font-size:.8rem; font-weight:700; color:#214854; }
.hdvh-filters input:not([type="checkbox"]),.hdvh-filters select { width:100%; min-width:0; min-height:44px; padding:9px 10px; border:1px solid #c9dfe1; border-radius:9px; background:#f8fcfc; font:inherit; font-size:.8rem; }
.hdvh-filters input:focus,.hdvh-filters select:focus { outline:2px solid #008f96; outline-offset:2px; }
.hdvh-filters__actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }.hdvh-filters .hdvh-kev-control { display:flex; align-items:center; gap:6px; font-size:.72rem; }.hdvh-filters__actions button { border:0; padding:10px 18px; border-radius:9px; background:#00777e; color:#fff; font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; }.hdvh-filters__actions a { font-size:.7rem; }
.hdvh-filters__note { grid-column:1/-1; margin:0; color:#607780; font-size:.73rem; }
.hdvh-platform-tags { display:flex; flex-wrap:wrap; gap:6px; margin:15px 0; }.hdvh-platform-tags span { font-size:.75rem; border-radius:6px; padding:5px 9px; background:#eaf6f6; color:#165963; }
@media(max-width:900px){.hdvh-filters{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.hdvh-filters{grid-template-columns:1fr; padding:16px;}}
.hdvh-source-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:0 0 25px; font-size:.76rem; }
.hdvh-source-tabs a { padding:6px 12px; border:1px solid #c5dfe0; border-radius:999px; background:#fff; text-decoration:none; }
.hdvh-source-tabs span { color:#59737d; margin-inline-start:auto; direction:ltr; }
.hdvh-detection-rules { margin:0 29px 25px; padding:23px; border:1px solid #7fbec5; border-radius:16px; background:#ecf8f8; }
.hdvh-detection-rules h2 { font-size:1.2rem; }.hdvh-detection-rules p { margin:0 0 10px; }.hdvh-detection-rules small { color:#4d6872; }
.hdvh-content-note { padding:15px 29px 0; color:#526d79; font-size:.75rem; }
.hdvh-kev-badge { padding:3px 8px; border-radius:6px; background:#fce8ed; color:#a62038; font-size:.64rem; direction:ltr; }
.hdvh-search select { width:120px; min-width:0; font-size:.74rem; border:0; }
.hdvh-source-box bdi { overflow-wrap:anywhere; }.hdvh-date-row bdi { font-family:monospace; }
.hdvh-main { background: #f2f7f8; }
.hdvh-eyebrow { display: inline-flex; margin-bottom: 13px; color: #18c7c3; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .7rem; font-weight: 700; letter-spacing: .12em; direction: ltr; }
.hdvh-hero, .hdvh-detail-hero { overflow: hidden; color: #e9f8f8; background: radial-gradient(circle at 82% 18%, rgba(17, 207, 190, .18), transparent 26%), radial-gradient(circle at 12% 92%, rgba(46, 119, 208, .22), transparent 36%), linear-gradient(140deg, #061d2b, #0c3545 55%, #082831); }
.hdvh-hero { padding: 62px 0 68px; }
.hdvh-hero .breadcrumbs, .hdvh-detail-hero .breadcrumbs { margin-bottom: 31px; color: #b8d6dc; }
.hdvh-hero .breadcrumbs a, .hdvh-detail-hero .breadcrumbs a { color: #cbe5e9; }
.hdvh-main .breadcrumbs [aria-current="page"] { color: #cbe5e9; }
.hdvh-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, .62fr); align-items: center; gap: 62px; }
.hdvh-hero h1, .hdvh-detail-hero h1 { max-width: 760px; margin: 0 0 14px; color: #fff; font-size: clamp(2rem, 4vw, 3.55rem); line-height: 1.35; }
.hdvh-hero p { max-width: 720px; margin: 0; color: #c5dce1; font-size: 1.04rem; }
.hdvh-hero__panel { position: relative; padding: 25px; overflow: hidden; border: 1px solid rgba(125, 240, 226, .23); border-radius: 21px; background: rgba(3, 23, 34, .55); box-shadow: 0 28px 70px rgba(0, 0, 0, .16); }
.hdvh-hero__panel::before { position: absolute; top: -60px; left: -50px; width: 150px; height: 150px; border: 1px solid rgba(96, 226, 219, .18); border-radius: 50%; content: ""; }
.hdvh-hero__panel strong { position: relative; display: block; margin-bottom: 13px; color: #76eee6; font-size: 1.08rem; }
.hdvh-hero__panel ul { position: relative; display: grid; gap: 10px; padding: 0; margin: 0; color: #c6dbe0; font-size: .86rem; list-style: none; }
.hdvh-hero__panel li { display: grid; grid-template-columns: 17px 1fr; gap: 7px; }
.hdvh-hero__panel li::before { color: #53e1d6; content: "✓"; }
.hdvh-content-section { padding: 46px 0 82px; }
.hdvh-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 27px; color: #45616c; }
.hdvh-toolbar > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.hdvh-toolbar strong { color: #007c80; font-size: 1.45rem; }
.hdvh-toolbar span { font-size: .8rem; }
.hdvh-search { display: flex; width: min(100%, 405px); padding: 4px; border: 1px solid #d3e3e5; border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(7, 35, 49, .05); }
.hdvh-search input { min-width: 0; padding: 8px 11px; border: 0; background: transparent; box-shadow: none; }
.hdvh-search button { flex: 0 0 auto; padding: 7px 13px; border: 0; border-radius: 9px; color: #fff; background: #006f75; font: inherit; font-size: .8rem; font-weight: 700; }
.hdvh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19px; }
.hdvh-card { min-width: 0; border: 1px solid #d8e6e8; border-radius: 19px; background: #fff; box-shadow: 0 12px 30px rgba(7, 35, 49, .06); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.hdvh-card:hover { border-color: #a2d7d8; box-shadow: 0 20px 45px rgba(7, 35, 49, .13); transform: translateY(-4px); }
.hdvh-card__link { display: flex; flex-direction: column; min-height: 285px; padding: 20px; color: inherit; text-decoration: none; }
.hdvh-card__header, .hdvh-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.hdvh-card__id { display: block; margin: 21px 0 7px; color: #008d92; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .78rem; font-weight: 700; letter-spacing: .035em; direction: ltr; text-align: right; }
.hdvh-card h2 { display: -webkit-box; margin: 0 0 9px; overflow: hidden; color: #102e3b; font-size: 1.07rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.hdvh-card p { display: -webkit-box; margin: 0; overflow: hidden; color: #6b8189; font-size: .82rem; line-height: 1.85; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.hdvh-card__footer { margin-top: auto; padding-top: 15px; border-top: 1px solid #e5eeee; color: #587078; font-size: .7rem; }
.hdvh-card__footer span:last-child { color: #007d82; font-weight: 700; white-space: nowrap; }
.hdvh-card__footer b { padding-right: 3px; font-size: .94rem; }
.hdvh-severity { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 9px; border-radius: 999px; font-size: .68rem; font-weight: 700; }
.hdvh-severity--critical { color: #a62038; background: #fff0f2; }
.hdvh-severity--high { color: #a65311; background: #fff4e8; }
.hdvh-severity--medium { color: #88640b; background: #fff9de; }
.hdvh-severity--low { color: #22714d; background: #e9f8ee; }
.hdvh-severity--unknown { color: #586d75; background: #eef3f4; }
.hdvh-score { color: #527079; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .68rem; direction: ltr; }
.hdvh-empty { padding: 48px 30px; border: 1px dashed #b9d2d5; border-radius: 18px; color: #59727b; text-align: center; background: #fbfefe; }
.hdvh-empty h2 { color: #183743; font-size: 1.25rem; }
.hdvh-empty p { margin: 0; font-size: .88rem; }
.hdvh-xti-section { padding: 0 0 74px; }
.hdvh-xti-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 34px; padding: 35px; overflow: hidden; border-radius: 23px; color: #c9dce1; background: linear-gradient(130deg, #072331, #0d4147); box-shadow: 0 22px 54px rgba(3, 30, 40, .17); }
.hdvh-xti-card h2 { margin-bottom: 9px; color: #fff; font-size: 1.5rem; }
.hdvh-xti-card p { max-width: 650px; margin: 0; font-size: .86rem; }
.hdvh-xti-card__rules { display: grid; align-content: center; gap: 8px; padding: 19px 21px; border: 1px solid rgba(116, 239, 231, .22); border-radius: 14px; background: rgba(1, 22, 29, .3); font-size: .76rem; }
.hdvh-xti-card__rules strong { color: #76eee6; font-size: .9rem; }
.hdvh-xti-card__rules span { display: grid; grid-template-columns: 15px 1fr; gap: 6px; }
.hdvh-xti-card__rules span::before { color: #51dacb; content: "•"; }
.hdvh-detail-hero { padding: 38px 0 42px; }
.hdvh-detail-hero__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.hdvh-detail-hero__top > div:first-child { min-width: 0; }
.hdvh-detail-id { display: block; margin-bottom: 10px; color: #6fe7df; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .96rem; font-weight: 700; letter-spacing: .05em; direction: ltr; text-align: right; }
.hdvh-detail-hero h1 { max-width: 890px; margin: 0; font-size: clamp(1.65rem, 3.2vw, 2.7rem); }
.hdvh-risk-badge { display: grid; flex: 0 0 145px; gap: 2px; padding: 15px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 16px; background: rgba(1, 20, 29, .38); text-align: center; }
.hdvh-risk-badge span { color: #b8d9df; font-size: .7rem; }
.hdvh-risk-badge strong { font-size: 1.18rem; }
.hdvh-risk-badge small { color: #b8d9df; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .68rem; direction: ltr; }
.hdvh-risk-badge--critical strong { color: #ff8c9c; }.hdvh-risk-badge--high strong { color: #ffc276; }.hdvh-risk-badge--medium strong { color: #f4dc7d; }.hdvh-risk-badge--low strong { color: #87e6ae; }.hdvh-risk-badge--unknown strong { color: #dcebed; }
.hdvh-signal-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 29px; overflow: hidden; border: 1px solid rgba(185, 226, 228, .17); border-radius: 14px; background: rgba(185, 226, 228, .17); }
.hdvh-signal-row > div { min-width: 0; padding: 12px 15px; background: rgba(3, 31, 42, .49); }
.hdvh-signal-row span { display: block; margin-bottom: 3px; color: #9fbfc7; font-size: .68rem; }.hdvh-signal-row strong { display: block; overflow: hidden; color: #e4f2f3; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }.hdvh-signal-row .hdvh-yes { color: #75e6bb; }
.hdvh-detail-section { padding: 44px 0 78px; }
.hdvh-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 295px; gap: 27px; align-items: start; }
.hdvh-article { overflow: hidden; border: 1px solid #dce9eb; border-radius: 21px; background: #fff; box-shadow: 0 15px 38px rgba(7, 35, 49, .07); }
.hdvh-article__summary { padding: 22px 29px; border-bottom: 1px solid #dce9eb; background: linear-gradient(115deg, #ecfafa, #f8fcfc); }.hdvh-article__summary strong { color: #007a80; font-size: .88rem; }.hdvh-article__summary p { margin: 7px 0 0; color: #33515b; font-size: .95rem; }
.hdvh-entry-content { padding: 29px; color: #29444e; }.hdvh-entry-content h2 { margin-top: 1.7em; color: #0b5e67; font-size: 1.28rem; }.hdvh-entry-content h3 { color: #164957; font-size: 1.07rem; }.hdvh-entry-content ul, .hdvh-entry-content ol { padding-right: 23px; }.hdvh-entry-content a { overflow-wrap: anywhere; }
.hdvh-source-box { margin: 0 29px 29px; padding: 21px; border: 1px solid #cce3e4; border-radius: 15px; background: #f6fbfb; }.hdvh-source-box h2 { margin: 0 0 6px; color: #15404b; font-size: 1rem; }.hdvh-source-box p { margin: 0; color: #607980; font-size: .79rem; }.hdvh-source-box ul { display: grid; gap: 6px; padding-right: 20px; margin: 13px 0; font-size: .8rem; }.hdvh-source-box a { overflow-wrap: anywhere; }.hdvh-date-row { display: flex; flex-wrap: wrap; gap: 7px 17px; color: #5b747c; font-size: .7rem; }
.hdvh-sidebar { display: grid; gap: 17px; }.hdvh-sidebar section { padding: 20px; border: 1px solid #d8e7e8; border-radius: 17px; background: #fff; box-shadow: 0 10px 27px rgba(7, 35, 49, .05); }.hdvh-sidebar h2 { margin: 1px 0 10px; color: #113945; font-size: 1.03rem; }.hdvh-sidebar ol { display: grid; gap: 9px; padding-right: 19px; margin: 0; color: #4d6972; font-size: .78rem; }.hdvh-sidebar__xti { border-color: #0f6870 !important; color: #cde3e5; background: linear-gradient(145deg, #07323c, #075a60) !important; }.hdvh-sidebar__xti h2 { color: #fff; }.hdvh-sidebar__xti p { margin: 0 0 10px; font-size: .78rem; }.hdvh-sidebar__xti small { color: #a8d6d8; font-size: .66rem; }
.hdvh-home-section { padding: 58px 0; color: #d2e5e7; background: #061f2d; }.hdvh-home-shell { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: 48px; }.hdvh-home-intro h2 { margin-bottom: 9px; color: #fff; font-size: clamp(1.55rem, 3vw, 2.35rem); }.hdvh-home-intro p { max-width: 580px; margin-bottom: 20px; color: #b8d2d7; font-size: .9rem; }.hdvh-home-intro .button { background: #00a6a7; }.hdvh-home-intro .button:hover { background: #13c3bd; }.hdvh-home-list { display: grid; gap: 10px; }.hdvh-mini-card { display: grid; grid-template-columns: auto minmax(92px, .38fr) minmax(0, 1fr); align-items: center; gap: 12px; min-height: 63px; padding: 12px 15px; border: 1px solid rgba(135, 230, 223, .19); border-radius: 13px; color: #e9f8f8; text-decoration: none; background: rgba(1, 22, 32, .35); transition: background .2s ease, transform .2s ease; }.hdvh-mini-card:hover { color: #fff; background: rgba(17, 144, 145, .32); transform: translateX(-3px); }.hdvh-mini-card strong { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .76rem; direction: ltr; text-align: right; }.hdvh-mini-card small { overflow: hidden; color: #bad1d7; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }.hdvh-mini-card--empty { display: block; min-height: 100px; }.hdvh-mini-card--empty strong { display: block; margin-bottom: 5px; font-family: inherit; font-size: .9rem; direction: rtl; text-align: right; }.hdvh-mini-card--empty small { white-space: normal; }
@media (max-width: 900px) { .hdvh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.hdvh-detail-layout { grid-template-columns: 1fr; }.hdvh-sidebar { grid-template-columns: 1fr 1fr; }.hdvh-signal-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }.hdvh-home-shell { grid-template-columns: 1fr; gap: 27px; } }
@media (max-width: 680px) { .hdvh-hero { padding: 38px 0 45px; }.hdvh-hero__grid, .hdvh-xti-card { grid-template-columns: 1fr; gap: 25px; }.hdvh-toolbar { align-items: stretch; flex-direction: column; }.hdvh-search { width: 100%; }.hdvh-grid { grid-template-columns: 1fr; }.hdvh-card__link { min-height: 240px; }.hdvh-detail-hero { padding: 28px 0 31px; }.hdvh-detail-hero__top { align-items: stretch; flex-direction: column; gap: 18px; }.hdvh-risk-badge { grid-template-columns: auto 1fr auto; align-items: center; text-align: right; }.hdvh-signal-row { grid-template-columns: 1fr 1fr; }.hdvh-detail-section { padding: 26px 0 52px; }.hdvh-entry-content { padding: 22px; }.hdvh-source-box { margin: 0 22px 22px; }.hdvh-sidebar { grid-template-columns: 1fr; }.hdvh-home-section { padding: 42px 0; }.hdvh-mini-card { grid-template-columns: auto minmax(0, 1fr); }.hdvh-mini-card small { grid-column: 2; }.hdvh-xti-card { padding: 25px; } }
