/* Sheet 04 - live bid review. Extends style.css, overrides nothing. */

.section-audit{ background:rgba(70,89,106,.04); }

.audit-shell{ max-width:960px; }

/* --- locked --- */

.audit-lock{
  background:var(--paper-lift);
  border:1px solid var(--ink);
  border-left:4px solid var(--redline);
  padding:26px;
  max-width:560px;
}

.audit-lock h3{ margin:0 0 .5em; }
.audit-lock p{ color:var(--ink-soft); font-size:.95rem; }

.audit-lock-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
.audit-lock-row input{
  flex:1 1 200px;
  font-family:var(--mono);
  font-size:16px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:14px;
  background:var(--paper);
  color:var(--ink);
  border:1.5px solid var(--rule);
  border-radius:2px;
}
.audit-lock-row input:focus{ border-color:var(--ink); outline:none; }

/* --- form --- */

.audit-form{
  background:var(--paper-lift);
  border:1px solid var(--ink);
  padding:26px;
}

.audit-label{
  display:block;
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--steel);
  margin:0 0 9px;
}

.audit-field{ margin-bottom:22px; }
.audit-field:last-of-type{ margin-bottom:0; }

.audit-side{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--rule);
  border:1.5px solid var(--ink);
  border-radius:2px;
  overflow:hidden;
}

.audit-side button{
  appearance:none;
  background:var(--paper);
  border:0;
  cursor:pointer;
  padding:15px 14px;
  text-align:left;
  font-family:var(--body);
  color:var(--ink);
  transition:background .15s ease, color .15s ease;
}
.audit-side button:hover{ background:rgba(191,50,38,.07); }

.audit-side b{
  display:block;
  font-family:var(--display);
  font-weight:700;
  font-size:.98rem;
  margin-bottom:2px;
}
.audit-side span{ font-size:.82rem; color:var(--ink-soft); }

.audit-side button[aria-pressed="true"]{ background:var(--ink); color:var(--paper-lift); }
.audit-side button[aria-pressed="true"] span{ color:#B6BBC0; }

.audit-two{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

.audit-input,
.audit-text{
  width:100%;
  font-family:var(--body);
  font-size:16px;
  padding:14px;
  background:var(--paper);
  color:var(--ink);
  border:1.5px solid var(--rule);
  border-radius:2px;
}
.audit-input:focus,
.audit-text:focus{ border-color:var(--ink); outline:none; }

.audit-text{
  font-family:var(--mono);
  font-size:14px;
  line-height:1.6;
  min-height:260px;
  resize:vertical;
}

.audit-hint{
  font-family:var(--mono);
  font-size:.72rem;
  color:var(--steel);
  margin:8px 0 0;
}

.audit-go{ margin-top:24px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.audit-go .btn[disabled]{ opacity:.5; pointer-events:none; }

.audit-status{
  font-family:var(--mono);
  font-size:.78rem;
  color:var(--steel);
  margin:0;
}

/* --- working --- */

.audit-bar{
  height:3px;
  background:var(--rule);
  margin-top:20px;
  overflow:hidden;
}
.audit-bar i{
  display:block;
  height:100%;
  width:34%;
  background:var(--redline);
  animation:auditrun 1.15s ease-in-out infinite;
}
@keyframes auditrun{
  0%{ transform:translateX(-105%); }
  100%{ transform:translateX(320%); }
}

/* --- result --- */

.audit-out{ margin-top:34px; }

.audit-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 26px;
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--steel);
  padding-bottom:14px;
  margin-bottom:20px;
  border-bottom:1px solid var(--rule);
}
.audit-meta b{ color:var(--ink); font-weight:500; }

.audit-verdict{
  font-size:1.05rem;
  line-height:1.6;
  max-width:62ch;
  margin:0 0 26px;
  padding-left:16px;
  border-left:3px solid var(--redline);
}

.audit-clean{
  font-family:var(--mono);
  font-size:.8rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--paper-lift);
  background:var(--steel);
  display:inline-block;
  padding:5px 10px;
  border-radius:2px;
}

.sev{
  display:inline-block;
  font-family:var(--mono);
  font-size:.58rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:1px 5px;
  border-radius:2px;
  margin-left:8px;
  vertical-align:middle;
  border:1px solid currentColor;
}
.sev-high{ color:var(--redline); }
.sev-medium{ color:#9A6410; }
.sev-low{ color:var(--steel); }

.audit-asks{
  margin-top:30px;
  background:var(--paper-lift);
  border:1px solid var(--ink);
  padding:24px 26px 26px;
}
.audit-asks h3{
  padding-bottom:.55em;
  margin-bottom:.4em;
  border-bottom:2px solid var(--ink);
}
.audit-asks ol{ margin:0; padding-left:20px; }
.audit-asks li{ padding:9px 0; color:var(--ink-soft); font-size:.95rem; }

.audit-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }

/* --- failure card. never a fake result. --- */

.audit-fail{
  background:var(--ink);
  color:var(--paper-lift);
  border-left:5px solid var(--redline);
  padding:26px;
}
.audit-fail h3{ margin:0 0 .5em; font-size:1.25rem; }
.audit-fail p{ color:#C9CDD1; font-size:.96rem; max-width:58ch; }
.audit-fail .audit-code{
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.12em;
  color:#7C8288;
  margin:0 0 14px;
}
.audit-fail-row{ display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
.audit-fail .btn-outline{ color:var(--paper-lift); border-color:var(--paper-lift); }
.audit-fail .btn-outline:hover{ background:var(--paper-lift); color:var(--ink); }
.audit-fail .btn-call{
  background:var(--redline);
  border-color:var(--redline);
  color:var(--paper-lift);
  text-decoration:none;
}

.hidden{ display:none !important; }

@media (max-width:720px){
  .audit-side{ grid-template-columns:1fr; }
  .audit-two{ grid-template-columns:1fr; }
  .audit-form,
  .audit-lock,
  .audit-fail{ padding:20px; }
  .audit-text{ min-height:220px; }
}

@media (prefers-reduced-motion:reduce){
  .audit-bar i{ animation:none; width:100%; }
}
