/* AIGN AICE Calculator – scoped styles (all selectors prefixed .aice- / [data-aice-calculator]) */

[data-aice-calculator]{
  --aice-teal:#0e4f48;
  --aice-teal-deep:#093530;
  --aice-gold:#b8893a;
  --aice-paper:#faf8f2;
  --aice-ink:#1d2926;
  --aice-line:rgba(14,79,72,.16);
  --aice-ok:#2e7d5b;
  --aice-warn:#b8893a;
  --aice-high:#b05c2a;
  --aice-crit:#9d2f2f;

  font-family:'Instrument Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--aice-ink);
  background:var(--aice-paper);
  border:1px solid var(--aice-line);
  border-radius:14px;
  padding:0;
  max-width:1080px;
  margin:0 auto;
  overflow:hidden;
  line-height:1.45;
  box-sizing:border-box;
}
[data-aice-calculator] *,
[data-aice-calculator] *::before,
[data-aice-calculator] *::after{ box-sizing:inherit; }

/* ---------- Header ---------- */
.aice-head{
  background:var(--aice-teal);
  color:var(--aice-paper);
  padding:28px 32px 24px;
}
.aice-eyebrow{
  font-family:'Martian Mono',ui-monospace,Menlo,monospace;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--aice-gold);
  margin:0 0 8px;
}
.aice-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:600;
  font-size:clamp(1.6rem,3.4vw,2.2rem);
  line-height:1.15;
  margin:0 0 6px;
  color:var(--aice-paper);
}
.aice-sub{
  margin:0;
  font-size:.92rem;
  color:rgba(250,248,242,.78);
  max-width:60ch;
}

/* ---------- Presets ---------- */
.aice-presets{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:16px 32px;
  background:var(--aice-teal-deep);
}
.aice-presets button{
  font-family:'Instrument Sans',sans-serif;
  font-size:.82rem;
  font-weight:600;
  color:var(--aice-paper);
  background:transparent;
  border:1px solid rgba(250,248,242,.35);
  border-radius:999px;
  padding:7px 16px;
  cursor:pointer;
  transition:background .15s,border-color .15s;
}
.aice-presets button:hover{ border-color:var(--aice-gold); }
.aice-presets button.aice-active{
  background:var(--aice-gold);
  border-color:var(--aice-gold);
  color:#2a1f0d;
}

/* ---------- Body & sections ---------- */
.aice-body{ padding:26px 32px 30px; }
.aice-section{ margin-bottom:28px; }
.aice-section:last-child{ margin-bottom:0; }
.aice-h{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:600;
  font-size:1.28rem;
  color:var(--aice-teal);
  margin:0 0 4px;
}
.aice-note{
  font-size:.8rem;
  color:rgba(29,41,38,.62);
  margin:0 0 14px;
  max-width:72ch;
}

/* ---------- Form grid ---------- */
.aice-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px 16px;
}
.aice-field label{
  display:block;
  font-family:'Martian Mono',ui-monospace,monospace;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--aice-teal);
  margin-bottom:5px;
}
.aice-field input,
.aice-field select{
  width:100%;
  font-family:'Instrument Sans',sans-serif;
  font-size:.92rem;
  color:var(--aice-ink);
  background:#fff;
  border:1px solid var(--aice-line);
  border-radius:8px;
  padding:8px 10px;
}
.aice-field input:focus,
.aice-field select:focus{
  outline:2px solid var(--aice-gold);
  outline-offset:1px;
  border-color:var(--aice-gold);
}
.aice-hint{
  font-size:.78rem;
  color:rgba(29,41,38,.6);
  background:rgba(184,137,58,.08);
  border-left:3px solid var(--aice-gold);
  border-radius:0 8px 8px 0;
  padding:9px 12px;
  margin-top:12px;
}

/* ---------- KPI rows ---------- */
.aice-kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;
}
.aice-kpi{
  background:#fff;
  border:1px solid var(--aice-line);
  border-radius:10px;
  padding:12px 14px;
}
.aice-kpi .aice-k-label{
  font-family:'Martian Mono',ui-monospace,monospace;
  font-size:.6rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(29,41,38,.55);
  margin-bottom:4px;
}
.aice-kpi .aice-k-val{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:600;
  font-size:1.35rem;
  color:var(--aice-teal);
  white-space:nowrap;
}
.aice-kpi.aice-kpi-em{ border-color:var(--aice-gold); background:rgba(184,137,58,.06); }
.aice-kpi.aice-kpi-em .aice-k-val{ color:var(--aice-gold); }

/* ---------- Scaling table ---------- */
.aice-table{ width:100%; border-collapse:collapse; font-size:.88rem; }
.aice-table th,
.aice-table td{
  text-align:right;
  padding:8px 12px;
  border-bottom:1px solid var(--aice-line);
}
.aice-table th:first-child,
.aice-table td:first-child{ text-align:left; }
.aice-table th{
  font-family:'Martian Mono',ui-monospace,monospace;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--aice-teal);
  font-weight:500;
}
.aice-table td{ font-variant-numeric:tabular-nums; }

/* ---------- Governance questions ---------- */
.aice-q{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid var(--aice-line);
  font-size:.9rem;
}
.aice-q:last-child{ border-bottom:0; }
.aice-toggle{ display:inline-flex; border:1px solid var(--aice-line); border-radius:999px; overflow:hidden; flex:0 0 auto; }
.aice-toggle button{
  font-family:'Instrument Sans',sans-serif;
  font-size:.78rem;
  font-weight:600;
  border:0;
  background:#fff;
  color:rgba(29,41,38,.55);
  padding:6px 14px;
  cursor:pointer;
}
.aice-toggle button.aice-on{ background:var(--aice-teal); color:var(--aice-paper); }
.aice-toggle button:focus-visible{ outline:2px solid var(--aice-gold); outline-offset:-2px; }

/* ---------- Badges ---------- */
.aice-badges{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;
}
.aice-badge{
  background:#fff;
  border:1px solid var(--aice-line);
  border-radius:10px;
  padding:12px 14px;
  text-align:center;
}
.aice-badge .aice-b-label{
  font-family:'Martian Mono',ui-monospace,monospace;
  font-size:.6rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(29,41,38,.55);
  margin-bottom:6px;
}
.aice-badge-val{
  display:inline-block;
  font-weight:700;
  font-size:.95rem;
  padding:4px 12px;
  border-radius:999px;
  color:#fff;
  background:var(--aice-teal);
}
.aice-c-ok{ background:var(--aice-ok); }
.aice-c-warn{ background:var(--aice-warn); }
.aice-c-high{ background:var(--aice-high); }
.aice-c-crit{ background:var(--aice-crit); }

.aice-gapbar{
  height:8px;
  background:rgba(14,79,72,.12);
  border-radius:999px;
  overflow:hidden;
  margin-top:14px;
}
.aice-gapbar > span{
  display:block;
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--aice-ok),var(--aice-warn),var(--aice-crit));
  transition:width .25s ease;
}

/* ---------- Verdict ---------- */
.aice-verdicts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.aice-verdict{
  text-align:center;
  font-size:.8rem;
  font-weight:600;
  color:rgba(29,41,38,.5);
  background:#fff;
  border:1px dashed var(--aice-line);
  border-radius:10px;
  padding:11px 8px;
}
.aice-verdict.aice-active{
  border:2px solid var(--aice-gold);
  background:rgba(184,137,58,.1);
  color:var(--aice-teal);
}
.aice-rationale{
  font-size:.92rem;
  background:#fff;
  border-left:3px solid var(--aice-teal);
  border-radius:0 10px 10px 0;
  padding:14px 16px;
  margin:0;
}

/* ---------- Summary strip ---------- */
.aice-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px 28px;
  background:var(--aice-teal);
  color:var(--aice-paper);
  padding:18px 32px;
  font-family:'Martian Mono',ui-monospace,monospace;
  font-size:.72rem;
  letter-spacing:.04em;
}
.aice-strip b{ color:var(--aice-gold); font-weight:700; }

/* ---------- Disclaimer ---------- */
.aice-disclaimer{
  font-size:.72rem;
  color:rgba(29,41,38,.55);
  padding:14px 32px 20px;
  margin:0;
}

@media (max-width:640px){
  .aice-head,.aice-body,.aice-strip,.aice-disclaimer{ padding-left:18px; padding-right:18px; }
  .aice-presets{ padding-left:18px; padding-right:18px; }
  .aice-q{ flex-direction:column; align-items:flex-start; gap:8px; }
}
@media (prefers-reduced-motion:reduce){
  [data-aice-calculator] *{ transition:none!important; }
}
