/* SENTINEL — Pages CSS (breaches, cve, advisories) */
@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Bebas+Neue&family=Barlow:wght@300;400;600&display=swap');
@import './shared.css';

/* ── Page Hero ── */
.page-hero{
  position:relative;z-index:10;
  padding:40px 24px 24px; text-align:center;
}
.page-hero h1{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(2.6rem,8vw,5.5rem);
  letter-spacing:6px; line-height:0.95;
  color:var(--text-strong); margin-bottom:12px;
}
.accent-block{color:var(--accent);display:block;text-shadow:0 0 50px rgba(0,245,196,0.35);}
.subtitle{
  font-size:0.78rem;color:var(--muted);
  letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;
}
@media(max-width:480px){
  .page-hero{padding:28px 16px 16px;}
  .subtitle{font-size:0.68rem;letter-spacing:1.5px;}
}

/* ── Page Content ── */
.page-content{
  position:relative;z-index:10;
  max-width:1200px; margin:0 auto;
  padding:0 24px 60px;
}
@media(max-width:480px){.page-content{padding:0 14px 40px;}}

.page-error{
  text-align:center;padding:60px 20px;
  color:var(--muted2);font-size:0.75rem;letter-spacing:2px;
}

/* ── CVE search section ── */
.cve-search-section{
  background:var(--surface);border:1px solid var(--border);
  padding:22px; margin-bottom:28px;
}
@media(max-width:480px){.cve-search-section{padding:14px;}}

.cve-search-header{
  font-family:'Share Tech Mono',monospace;
  font-size:0.6rem;color:var(--muted);
  letter-spacing:3px;margin-bottom:10px;text-transform:uppercase;
}
.cve-input{
  width:100%;
  background:var(--bg);border:1px solid var(--border2);
  color:var(--text);padding:9px 12px;
  font-family:'Share Tech Mono',monospace;
  font-size:0.78rem;letter-spacing:1px;outline:none;
  transition:border-color 0.2s;
}
.cve-input:focus{border-color:var(--accent);}
.cve-input::placeholder{color:var(--muted);}

.cve-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.cve-link-btn{
  display:inline-block;color:var(--muted2);text-decoration:none;
  font-family:'Share Tech Mono',monospace;
  font-size:0.62rem;letter-spacing:1.5px;
  padding:6px 12px;border:1px solid var(--border);transition:all 0.2s;
}
.cve-link-btn:hover{color:var(--accent);border-color:rgba(0,245,196,0.3);}

/* ── Toolbar (breaches / cve) ── */
.breach-toolbar,.advisory-toolbar{
  display:flex;align-items:center;gap:12px;
  margin-bottom:20px;flex-wrap:wrap;
}
.breach-source{
  display:flex;align-items:center;gap:8px;
  font-family:'Share Tech Mono',monospace;
  font-size:0.62rem;color:var(--muted);letter-spacing:2px;white-space:nowrap;
}
.breach-filters{
  display:flex;gap:8px;flex:1;min-width:0;flex-wrap:wrap;
}
.breach-search{
  flex:1;min-width:140px;
  background:var(--surface);border:1px solid var(--border2);
  color:var(--text);padding:8px 11px;
  font-family:'Share Tech Mono',monospace;
  font-size:0.7rem;letter-spacing:1px;outline:none;
  transition:border-color 0.2s;
}
.breach-search:focus{border-color:var(--accent);}
.breach-search::placeholder{color:var(--muted);}
.breach-select{
  background:var(--surface);border:1px solid var(--border2);
  color:var(--muted2);padding:8px 10px;
  font-family:'Share Tech Mono',monospace;
  font-size:0.65rem;letter-spacing:1px;outline:none;cursor:pointer;
}
.breach-count{
  font-family:'Share Tech Mono',monospace;
  font-size:0.62rem;color:var(--muted);letter-spacing:2px;white-space:nowrap;
}

/* ── Breach / CVE / Advisory cards ── */
.breach-card{
  background:var(--surface);border:1px solid var(--border);
  border-left:3px solid var(--accent2);
  padding:16px 18px;margin-bottom:6px;
  transition:background 0.15s;
}
.breach-card:hover{background:var(--surface2);}

.breach-card-header{
  display:flex;justify-content:space-between;
  align-items:flex-start;gap:8px;margin-bottom:8px;flex-wrap:wrap;
}
.breach-group-badge{
  font-family:'Share Tech Mono',monospace;
  font-size:0.58rem;letter-spacing:2px;
  color:var(--accent2);background:rgba(255,59,92,0.08);
  border:1px solid rgba(255,59,92,0.2);
  padding:2px 9px;text-transform:uppercase;
}
.breach-date{
  font-family:'Share Tech Mono',monospace;
  font-size:0.6rem;color:var(--muted);letter-spacing:1px;
}
.breach-victim{
  font-size:0.9rem;font-weight:600;
  color:var(--text-strong);margin-bottom:10px;line-height:1.4;
}
.advisory-desc{
  font-size:0.78rem;color:var(--muted2);
  line-height:1.6;margin-bottom:10px;
}
.breach-card-footer{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
}
.breach-link{
  font-family:'Share Tech Mono',monospace;
  font-size:0.6rem;color:var(--accent);
  text-decoration:none;letter-spacing:1.5px;
  margin-left:auto;transition:opacity 0.2s;
}
.breach-link:hover{opacity:0.7;}
@media(max-width:480px){
  .breach-link{margin-left:0;}
}

/* ── Filter bar (feed page) ── */
.filter-bar{
  position:relative;z-index:10;
  max-width:1200px;margin:0 auto 28px;
  padding:0 24px;
  display:flex;flex-wrap:wrap;gap:16px;
}
@media(max-width:480px){.filter-bar{padding:0 14px;gap:12px;}}

.filter-group{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.filter-label{
  font-family:'Share Tech Mono',monospace;
  font-size:0.58rem;color:var(--muted);
  letter-spacing:2px;white-space:nowrap;
}
.filter-pills{display:flex;gap:4px;flex-wrap:wrap;}
.fpill{
  font-family:'Share Tech Mono',monospace;
  font-size:0.58rem;letter-spacing:1.5px;
  padding:4px 9px;border:1px solid var(--border);
  color:var(--muted);cursor:pointer;
  transition:all 0.15s;user-select:none;
}
.fpill:hover{color:var(--accent);border-color:rgba(0,245,196,0.3);}
.fpill.active{color:var(--accent);border-color:rgba(0,245,196,0.4);background:rgba(0,245,196,0.07);}

/* ── Resource hub (advisories page) ── */
.hub-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:2px;margin-bottom:2px;
}
@media(max-width:700px){.hub-grid{grid-template-columns:1fr;}}

.hub-section{
  background:var(--surface);border:1px solid var(--border);
  position:relative;overflow:hidden;
}
.hub-section::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
}
.hub-section.cisa::before   {background:linear-gradient(90deg,var(--accent3),transparent);}
.hub-section.pci::before    {background:linear-gradient(90deg,var(--accent2),transparent);}
.hub-section.hipaa::before  {background:linear-gradient(90deg,var(--accent4),transparent);}
.hub-section.ftc::before    {background:linear-gradient(90deg,#a855f7,transparent);}
.hub-section.cmmc::before   {background:linear-gradient(90deg,var(--accent),transparent);}
.hub-section.cis::before    {background:linear-gradient(90deg,var(--accent3),transparent);}
.hub-section.nist::before   {background:linear-gradient(90deg,var(--accent4),transparent);}
.hub-section.news::before   {background:linear-gradient(90deg,var(--accent2),transparent);}
.hub-section.span2{grid-column:span 2;}
@media(max-width:860px){.hub-section.span2{grid-column:span 1;}}

.section-title-bar{
  display:flex;align-items:center;gap:10px;
  padding:14px 20px 12px;border-bottom:1px solid var(--border);
}
.section-icon{font-size:1rem;width:24px;text-align:center;flex-shrink:0;}
.section-name{
  font-family:'Bebas Neue',sans-serif;
  font-size:1rem;letter-spacing:4px;color:var(--text-strong);flex:1;
}
.section-badge{
  font-family:'Share Tech Mono',monospace;
  font-size:0.5rem;letter-spacing:2px;
  padding:2px 7px;border:1px solid;text-transform:uppercase;white-space:nowrap;
}
.badge-gov   {color:var(--accent3);border-color:rgba(77,124,255,0.3);background:rgba(77,124,255,0.07);}
.badge-pci   {color:var(--accent2);border-color:rgba(255,59,92,0.3); background:rgba(255,59,92,0.07);}
.badge-health{color:var(--accent4);border-color:rgba(255,140,0,0.3); background:rgba(255,140,0,0.07);}
.badge-ftc   {color:#a855f7;       border-color:rgba(168,85,247,0.3);background:rgba(168,85,247,0.07);}
.badge-mil   {color:var(--accent); border-color:rgba(0,245,196,0.3); background:rgba(0,245,196,0.06);}
.badge-live  {color:var(--accent2);border-color:rgba(255,59,92,0.3); background:rgba(255,59,92,0.07);
              animation:pulseBadge 2s ease-in-out infinite;}
@keyframes pulseBadge{0%,100%{opacity:1}50%{opacity:0.5}}

.section-desc{font-size:0.73rem;color:var(--muted2);line-height:1.55;padding:10px 20px 0;}

.link-list{padding:6px 0 12px;}
.resource-link{
  display:flex;align-items:center;gap:10px;
  padding:8px 20px;text-decoration:none;color:var(--text);
  transition:background 0.15s;
}
.resource-link:hover{background:var(--surface2);}
.link-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.link-content{flex:1;min-width:0;}
.link-title{
  font-size:0.78rem;font-weight:600;color:var(--text-strong);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px;
}
.link-sub{
  font-family:'Share Tech Mono',monospace;
  font-size:0.56rem;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.link-tag{
  font-family:'Share Tech Mono',monospace;
  font-size:0.48rem;padding:1px 5px;
  border:1px solid var(--border);color:var(--muted);
  white-space:nowrap;flex-shrink:0;
}
.link-arrow{font-size:0.68rem;color:var(--muted);opacity:0;transition:opacity 0.15s,transform 0.15s;flex-shrink:0;}
.resource-link:hover .link-arrow{opacity:1;transform:translateX(2px);}

.news-links{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  padding:10px 14px 14px;gap:6px;
}
.news-link{
  display:flex;flex-direction:column;gap:3px;
  padding:10px 12px;text-decoration:none;color:var(--text);
  border:1px solid var(--border);transition:all 0.15s;
}
.news-link:hover{background:var(--surface2);border-color:var(--accent2);}
.news-link-label{font-family:'Share Tech Mono',monospace;font-size:0.54rem;color:var(--accent2);letter-spacing:1.5px;}
.news-link-title{font-size:0.76rem;font-weight:600;color:var(--text-strong);line-height:1.3;}
.news-link-sub{font-size:0.66rem;color:var(--muted2);}

.hub-intro{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;margin-bottom:20px;
  border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;
}
.hub-intro-left{
  font-family:'Share Tech Mono',monospace;
  font-size:0.6rem;color:var(--muted);letter-spacing:2px;
  display:flex;align-items:center;gap:8px;
}
.hub-intro-right{
  font-family:'Share Tech Mono',monospace;
  font-size:0.56rem;color:var(--muted);letter-spacing:1px;
}
@media(max-width:600px){.hub-intro-right{display:none;}}
