.buildit-cfc{--navy:#253447;--ink:#17202b;--muted:#657180;--line:#dfe5eb;--soft:#f6f8fa;--orange:#cf750c;--green:#166534;--red:#b42318;font-family:inherit;color:var(--ink);max-width:1100px;margin:32px auto}.buildit-cfc *{box-sizing:border-box}.buildit-cfc__header{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.buildit-cfc__eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}.buildit-cfc h2{font-size:clamp(28px,4vw,42px);line-height:1.08;margin:7px 0 9px;color:var(--navy)}.buildit-cfc p{margin:0;color:var(--muted);line-height:1.55}.buildit-cfc__edition{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;color:var(--navy)}.buildit-cfc__tabs{display:inline-flex;border:1px solid var(--line);border-radius:10px;padding:4px;background:#fff;margin-bottom:16px}.buildit-cfc__tabs button{border:0;background:transparent;padding:10px 14px;border-radius:7px;font:inherit;font-size:14px;font-weight:700;color:var(--muted);cursor:pointer}.buildit-cfc__tabs button.is-active{background:var(--navy);color:#fff}.buildit-cfc__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:18px}.buildit-cfc__panel,.buildit-cfc__results{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(37,52,71,.06)}.buildit-cfc__panel{padding:20px}.buildit-cfc__results{padding:20px;min-height:420px}.buildit-cfc__field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.buildit-cfc label>span,.buildit-cfc__conductor-row label>span{display:block;font-size:12px;font-weight:700;color:var(--navy);margin-bottom:6px}.buildit-cfc select,.buildit-cfc input[type=number]{width:100%;border:1px solid #cfd7df;border-radius:9px;background:#fff;padding:11px 12px;font:inherit;color:var(--ink);min-height:44px}.buildit-cfc select:focus,.buildit-cfc input:focus{outline:2px solid rgba(207,117,12,.18);border-color:var(--orange)}.buildit-cfc__toggle{display:flex;gap:10px;align-items:flex-start;margin:15px 0;padding:12px;border-radius:10px;background:var(--soft)}.buildit-cfc__toggle input{margin-top:3px}.buildit-cfc__toggle span{margin:0!important}.buildit-cfc__toggle strong,.buildit-cfc__toggle small{display:block}.buildit-cfc__toggle small{font-weight:400;color:var(--muted);margin-top:2px}.buildit-cfc__conductors-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}.buildit-cfc h3{margin:0 0 4px;color:var(--navy);font-size:17px}.buildit-cfc__conductors-head p{font-size:13px}.buildit-cfc__conductor-row{display:grid;grid-template-columns:82px 1fr 1.45fr 34px;gap:9px;align-items:end;padding:10px 0;border-top:1px solid #edf0f3}.buildit-cfc__remove{height:44px;border:0;border-radius:9px;background:#f3f4f6;color:#7b8490;font-size:24px;cursor:pointer}.buildit-cfc__remove:hover{background:#feeceb;color:var(--red)}.buildit-cfc__primary,.buildit-cfc__secondary,.buildit-cfc__link{font:inherit;font-weight:700;border-radius:9px;cursor:pointer}.buildit-cfc__primary{background:var(--orange);border:1px solid var(--orange);color:#fff;padding:12px 18px}.buildit-cfc__primary:hover{background:#b96408}.buildit-cfc__secondary{border:1px solid #ccd5de;background:#fff;color:var(--navy);padding:8px 11px}.buildit-cfc__link{background:transparent;border:0;color:var(--muted);padding:10px}.buildit-cfc__actions{display:flex;gap:7px;align-items:center;margin-top:18px}.buildit-cfc__error{color:var(--red)!important;font-weight:700;font-size:13px;margin-top:10px!important}.buildit-cfc__empty{height:100%;min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;color:var(--muted)}.buildit-cfc__empty strong{color:var(--navy);font-size:18px}.buildit-cfc__result-card{border-radius:13px;padding:18px;margin-bottom:20px;border:1px solid}.buildit-cfc__result-card.pass{background:#f0fdf4;border-color:#bbefc8}.buildit-cfc__result-card.fail{background:#fff3f2;border-color:#f4c7c2}.buildit-cfc__result-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}.buildit-cfc__result-main{display:block;font-size:27px;color:var(--navy);margin:4px 0 13px}.buildit-cfc__result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.buildit-cfc__result-metrics div{background:rgba(255,255,255,.72);padding:9px;border-radius:8px}.buildit-cfc__result-metrics span{display:block;color:var(--muted);font-size:11px}.buildit-cfc__result-metrics strong{font-size:15px}.buildit-cfc__table-wrap{overflow:auto;margin:8px 0 18px}.buildit-cfc table{width:100%;border-collapse:collapse;font-size:13px}.buildit-cfc th,.buildit-cfc td{text-align:left;padding:9px 8px;border-bottom:1px solid #e8edf1;white-space:nowrap}.buildit-cfc th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.buildit-cfc tr.is-recommended{background:#fff8ee}.buildit-cfc__status{font-weight:700}.buildit-cfc__status.pass{color:var(--green)}.buildit-cfc__status.fail{color:var(--red)}.buildit-cfc__total td{font-weight:800;color:var(--navy)}.buildit-cfc__result-note{font-size:12px!important}.buildit-cfc__footnote{margin-top:14px;padding:12px 14px;border-left:3px solid var(--orange);background:var(--soft);font-size:12px;line-height:1.5;color:var(--muted)}.buildit-cfc__footnote strong{color:var(--navy)}
@media(max-width:820px){.buildit-cfc{margin:20px auto}.buildit-cfc__header{display:block}.buildit-cfc__edition{display:inline-block;margin-top:10px}.buildit-cfc__grid{grid-template-columns:1fr}.buildit-cfc__results{min-height:auto}.buildit-cfc__field-row{grid-template-columns:1fr}.buildit-cfc__conductor-row{grid-template-columns:70px 1fr 34px}.buildit-cfc__conductor-row label:nth-child(3){grid-column:1/3}.buildit-cfc__remove{grid-column:3;grid-row:1}.buildit-cfc__result-metrics{grid-template-columns:1fr}.buildit-cfc__tabs{display:flex}.buildit-cfc__tabs button{flex:1}.buildit-cfc__conductors-head{align-items:flex-end}.buildit-cfc__secondary{white-space:nowrap}}
@media(max-width:520px){.buildit-cfc__panel,.buildit-cfc__results{padding:14px;border-radius:12px}.buildit-cfc__tabs{width:100%}.buildit-cfc__tabs button{font-size:12px;padding:9px 8px}.buildit-cfc__conductors-head{display:block}.buildit-cfc__secondary{margin-top:9px}.buildit-cfc__conductor-row{grid-template-columns:64px 1fr 34px}.buildit-cfc__actions{justify-content:space-between}.buildit-cfc__primary{flex:1}}

/* v1.1 QA fixes */
.buildit-cfc__conductor-row>*{min-width:0}.buildit-cfc__conductor-row select,.buildit-cfc__conductor-row input{min-width:0;max-width:100%}.buildit-cfc__remove{width:34px;min-width:34px;padding:0;justify-self:end}.buildit-cfc__remove:disabled{opacity:.35;cursor:not-allowed;background:#f3f4f6;color:#9aa3ad}.buildit-cfc__result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:821px){.buildit-cfc__conductor-row{grid-template-columns:72px minmax(100px,.9fr) minmax(160px,1.35fr) 34px}}
@media(max-width:820px){.buildit-cfc__result-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.buildit-cfc__result-metrics{grid-template-columns:1fr}}


/* v1.3.1: contextual explanation for published-table boundary cases */
.buildit-cfc__boundary-note {
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px solid rgba(37,52,71,.18);
  border-radius: 8px;
  background: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.45;
}
.buildit-cfc__boundary-note strong { font-weight: 700; }


/* v1.3.2: responsive containment fixes. Calculation/data logic unchanged. */
.buildit-cfc,
.buildit-cfc * { box-sizing:border-box; }
.buildit-cfc { width:100%; max-width:100%; min-width:0; overflow-x:hidden; }
.buildit-cfc__header,
.buildit-cfc__grid,
.buildit-cfc__panel,
.buildit-cfc__results,
.buildit-cfc__conductors,
.buildit-cfc__conductors-head,
.buildit-cfc__conductor-row,
.buildit-cfc__actions { min-width:0; max-width:100%; }
.buildit-cfc select,
.buildit-cfc input,
.buildit-cfc button { max-width:100%; }
.buildit-cfc__table-wrap {
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
.buildit-cfc__table-wrap table { width:max-content; min-width:100%; }
.buildit-cfc__table-wrap th,
.buildit-cfc__table-wrap td { white-space:nowrap; }

@media(max-width:820px){
  .buildit-cfc__conductors-head{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:10px;
  }
  .buildit-cfc__conductors-head>div{flex:1 1 220px;min-width:0}
  .buildit-cfc__conductors-head .buildit-cfc__secondary{
    flex:0 1 auto;
    max-width:100%;
    white-space:normal;
  }
  .buildit-cfc__conductor-row{
    grid-template-columns:minmax(60px,72px) minmax(0,1fr) 40px;
    width:100%;
  }
  .buildit-cfc__conductor-row label:nth-child(3){
    grid-column:1 / -1;
  }
  .buildit-cfc__remove{
    grid-column:3;
    grid-row:1;
    justify-self:end;
  }
  .buildit-cfc__actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    width:100%;
  }
  .buildit-cfc__actions>*{min-width:0}
  .buildit-cfc__primary{width:100%}
  .buildit-cfc__link{white-space:nowrap}
}

@media(max-width:520px){
  .buildit-cfc{margin-left:0;margin-right:0}
  .buildit-cfc__panel,.buildit-cfc__results{width:100%;max-width:100%}
  .buildit-cfc__conductors-head{
    display:grid;
    grid-template-columns:1fr;
  }
  .buildit-cfc__conductors-head .buildit-cfc__secondary{
    width:100%;
    margin-top:0;
  }
  .buildit-cfc__conductor-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    gap:9px;
    align-items:end;
  }
  .buildit-cfc__conductor-row label:nth-child(1),
  .buildit-cfc__conductor-row label:nth-child(2),
  .buildit-cfc__conductor-row label:nth-child(3){
    grid-column:1 / -1;
  }
  .buildit-cfc__conductor-row .buildit-cfc__remove{
    grid-column:2;
    grid-row:1;
    align-self:end;
  }
  .buildit-cfc__conductor-row label:nth-child(1){
    padding-right:52px;
  }
  .buildit-cfc__actions{
    grid-template-columns:1fr;
    gap:8px;
  }
  .buildit-cfc__actions .buildit-cfc__primary,
  .buildit-cfc__actions .buildit-cfc__link{
    width:100%;
    text-align:center;
  }
  .buildit-cfc__tabs{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
  }
  .buildit-cfc__tabs button{width:100%}
  .buildit-cfc__table-wrap{
    border:1px solid #e8edf1;
    border-radius:8px;
  }
}

@media(max-width:360px){
  .buildit-cfc__panel,.buildit-cfc__results{padding:12px}
  .buildit-cfc__result-main{font-size:24px}
}
