:root {
    --bg: #0b0d10;
    --panel: #111418;
    --fg: #e6edf3;
    --sub: #9aa4ae;
    --acc: #22b455;
    --muted: #889096;
    --link: #7cc1ff
}

* {
    box-sizing: border-box
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--fg);
    font: 15px/1.6 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial
}

a {
    color: var(--link);
    text-decoration: none
}

a:hover {
    text-decoration: underline
}

h1 {
    text-transform: none;
}

h2, h3, h4, h5, h6 {
    margin-top: 0;
    color: var(--fg);
    font-weight: 900
}

h2 {
    font-size: 22px;
    margin-bottom: 8px
}

h3 {
    font-size: 20px;
    margin-bottom: 6px
}

h4 {
    font-size: 18px;
    margin-bottom: 4px;
}

h5, h6 {
    font-size: 16px;
}   

p {
    margin-top: 0;
    margin-bottom: 16px;
    font-size: 16px;
    font-weight: normal;
}

/* Header tagline (h2) */

.hdr {
    padding: 20px 16px;
    border-bottom: 1px solid #1b1f24;
    background: #0b0d10;
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    h1 {
        margin: 0;
        font-size: 18px;
        line-height: 1;
    }
    h2 {
        margin: 0;
        margin-left: auto;      
        font-weight: 700;
        font-size: 18px;
        /* color: var(--sub); */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    p {
        margin: 0;
        font-size: 14px;
        color: var(--muted);
        font-weight: normal;
    }
}

.wrap {
    max-width: 980px;
    margin: 0 auto;
    padding: 24px 16px
}

.card {
    background: var(--panel);
    border: 1px solid #1b1f24;
    border-radius: 12px;
    padding: 16px 16px 20px;
    margin-bottom: 16px
}

label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    margin: .5rem 0 .25rem
}

input[type=text],
textarea {
    width: 100%;
    background: #0c0f13;
    border: 1px solid #20262c;
    color: var(--fg);
    border-radius: 8px;
    padding: 10px;
    font-family: ui-monospace, Menlo, Consolas, monospace
}

textarea {
    min-height: 160px
}

.grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px
}

button, a {
    font-size: 16px;
    text-transform: uppercase;
}

button:hover {
    text-decoration: underline;
}
.btn {
    background: #0c1116;
    border: 1px solid #2a3138;
    color: #c9d1d9;
    border-radius: 10px;
    padding: 10px 14px;
    font-weight: 800;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 14px;
}

.btn:hover {
    border-color: #3a444e
}

.btn-ghost {
    background: transparent;
    border: 1px dashed #2a3138
}

.btnrow {
    display: flex;
    gap: 12px
}

.muted {
    color: var(--muted);
    font-size: .9rem
}

.ok {
    display: inline-block;
    color: #22b455;
    font-weight: 900
}

.bad {
    display: inline-block;
    color: #ff6b6b;
    font-weight: 900
}

.err {
    color: #ffb3b3;
    margin: .25rem 0 0 .25rem
}

.field-err {
    border-color: #3a1a1a;
    background: #140e0e
}

.field-ok {
    border-color: #1a3a28;
    background: #0c1511
}

.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
}

.logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #e6edf3;
    text-decoration: none;
    font-weight: 900
}

.logo svg {
    width: 28px;
    height: 28px
}

.ftr {
    padding: 24px;
    text-align: center;
    color: var(--muted);
    display: grid;
    gap: 6px
}

.status {
    font-size: 14px;
    font-weight: 700;
}

.online {
    color: #22b455;
}
.offline {
    color: #d62828;
}

#statusBadge.status-online {
  color: #22b455; /* green */
}

#statusBadge.status-offline {
  color: #d62828; /* red */
}


/* Banner */
/* Banner */
.result-banner {
  position: sticky;
  top: 0;
  z-index: 50;
  /* brighter band + subtle separators */
  background: var(--panel);
  border-top: 1px solid #1b1f24;
  border-bottom: 1px solid #1b1f24;
  /* a tint by risk level added via .banner-high/mid/low below */
  padding: 14px 0;
  box-shadow: 0 1px 0 rgba(0,0,0,.25) inset, 0 -1px 0 rgba(0,0,0,.25) inset;
}

.result-wrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  gap: 12px;
}

/* title row */
.result-title {
  margin: 0;
  font-size: 18px;
  font-weight: 900;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.result-title .actions {
  display: flex;
  gap: 10px;
  margin-left: auto;
}

/* verdict pill */
.result-pill {
  display: inline-block;
  padding: .3rem .7rem;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .2px;
  line-height: 1;
  border: 1px solid transparent;
}
.result-high { background:#220d0d; color:#ffb3b3; border-color:#3a1a1a; }
.result-mid  { background:#2a2310; color:#ffe0a3; border-color:#3a2d17; }
.result-low  { background:#0e2217; color:#aff0c8; border-color:#1a3a28; }

/* band tint behind the card */
.banner-high { background: #2a0f0f; }
.banner-mid  { background: #2a210c; }
.banner-low  { background: #0f2a1c; }

/* inner “card” that lives INSIDE the banner */
.banner-panel {
  background: rgba(0,0,0,.15);
  border: 1px solid #1b1f24;
  border-radius: 14px;
  padding: 14px;
}

/* grid for rows and bars */
.banner-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.banner-row {
  display: grid;
  grid-template-columns: minmax(180px, 280px) 1fr minmax(48px, 60px);
  gap: 10px;
  align-items: center;
}

.banner-bar {
  height: 10px;
  background: #1e242b;
  border-radius: 999px;
  overflow: hidden;
}
.banner-bar > i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #3aaed8, #22b455);
}

/* CTA row for brand report links */
.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}


/* Cookie banner */
#cookieBanner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: #0c1116;
    border-top: 1px solid #1b1f24;
    color: #c9d1d9;
    padding: 12px 16px;
    display: none
}

#cookieBanner .inner {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between
}

.cb-btn {
    background: #0c1116;
    border: 1px solid #2a3138;
    color: #c9d1d9;
    border-radius: 8px;
    padding: 8px 12px;
    font-weight: 800;
    cursor: pointer
}

.cb-btn:hover {
    border-color: #3a444e
}

#cookieBanner a {
    color: var(--link);
    font-weight: 700
}

/* Responsive */

@media (max-width: 520px) {
  .hdr {
    gap: 10px;
    h2 {
        display: inline-block;   
    }
  }
}

@media (min-width:600px) {
    .grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 640px) {
    .banner-grid { 
        grid-template-columns: 1fr; 
    }
}

@media (min-width:768px) {
    .banner-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:900px) {
    .banner-grid {
        grid-template-columns: 1fr;
    }
}