/* FRP uses the ACT card, section, field and material-row components. */
body[data-page="frp"] main.page .act-calculator-intro {
  padding:16px 24px 16px 30px;
  margin-bottom:8px;
}
body[data-page="frp"] main.page .intro h1 { font-size:40px; line-height:1.05; margin-bottom:6px; }
body[data-page="frp"] main.page .intro .eyebrow { margin-bottom:4px; }
body[data-page="frp"] main.page .intro .lede { font-size:15px; line-height:1.5; }
.frp-card .act-type-card-head { align-items:end; }
.frp-card .act-type-name-wrap { flex:1 1 180px; max-width:300px; }
.frp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.frp-field { display:flex; flex-direction:column; justify-content:space-between; min-width:0; gap:6px; }
.frp-field .field-label { margin:0; line-height:1.4; }
.frp-field :is(input,select) { min-width:0; width:100%; height:44px; box-sizing:border-box; }
.frp-field .input-with-unit { height:44px; }
.frp-field input:disabled { color:#526675; background:#f1f4f6; opacity:1; }
.frp-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
.frp-choices label { min-width:0; }
body[data-page="frp"] main.page .frp-choices span { min-height:44px; display:flex; align-items:center; justify-content:center; padding:7px 6px; white-space:normal; text-align:center; font-size:12px; }
.frp-panel-row { grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr); }
.frp-run-row,.frp-opening-row { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(65px,.7fr) auto; align-items:end; gap:10px; margin:0 0 12px; }
.frp-opening-row { grid-template-columns:repeat(4,minmax(0,1fr)); }
.frp-opening-row .frp-remove-row { justify-self:start; }
body[data-page="frp"] main.page .frp-remove-row { min-height:44px; padding:8px; font-size:11px; }
.frp-add-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.frp-openings { margin-top:18px; padding-top:14px; border-top:1px solid #d7e0e5; }
.frp-openings h4,.frp-card .act-system-details-body h4 { font-size:13px; margin:16px 0 10px; }
.frp-section-note { margin-bottom:14px; }
.frp-trim-list { display:grid; gap:10px; }
.frp-trim-row { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(100px,.7fr); align-items:end; gap:14px; padding-bottom:10px; border-bottom:1px solid #e3e9ed; }
.frp-trim-row:last-child { border-bottom:0; padding-bottom:0; }
.frp-trim-control { min-width:0; }
.frp-trim-control .check-line { min-height:44px; font-size:12px; }
.frp-sealant-option { margin-top:18px; }
.frp-compatibility:empty { display:none; }
.frp-compatibility { margin-top:12px; }
body[data-page="frp"] main.page .frp-card-results { grid-template-columns:repeat(4,minmax(0,1fr)); }
.frp-input-error { grid-column:1 / -1; margin:0; color:#942d25; }

/* Group purchase lines with the shared ACT supplier-summary presentation. */
body[data-page="frp"] .act-summary-card { display:block; }
body[data-page="frp"] .act-summary-materials > div { align-items:baseline; }
body[data-page="frp"] .act-summary-materials span { overflow-wrap:anywhere; }
body[data-page="frp"] .act-summary-materials strong { flex:0 0 auto; }
.frp-summary-note { font-size:12px; line-height:1.5; }
body[data-page="frp"] .frp-summary-note { margin:16px 0; }
.frp-warning { margin:14px 2px 0; color:#617482; font-size:12px; line-height:1.5; }
.frp-cut-plan { padding-left:20px; font-size:12px; line-height:1.6; }
.frp-save-error { padding:14px; border:1px solid #e3b5ad; border-radius:10px; background:#fff4f1; color:#822b23; font-size:13px; line-height:1.5; }
.frp-save-error ul { margin:8px 0 0; padding-left:18px; }

/* Keep the user's compact save toolbar. */
@media screen {
  body[data-page="frp"] main.page .estimate-workspace { display:flex; align-items:center; gap:12px; padding:8px 12px; }
  body[data-page="frp"] main.page .estimate-workspace-main { display:contents; }
  body[data-page="frp"] main.page .estimate-workspace-copy { display:none; }
  body[data-page="frp"] main.page .estimate-workspace-actions { order:2; flex:0 0 auto; margin-left:auto; gap:6px; }
  body[data-page="frp"] main.page .estimate-workspace-status { order:1; flex:1; min-width:0; min-height:0; margin:0; color:#637383; font-size:11px; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
}
@media(max-width:700px) {
  body[data-page="frp"] main.page .act-calculator-intro { padding:14px 16px 14px 21px; }
  body[data-page="frp"] main.page .intro h1 { font-size:30px; }
  .frp-grid,.frp-panel-row { grid-template-columns:1fr; }
  .frp-run-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .frp-run-row > .frp-field:first-child { grid-column:1 / -1; }
  .frp-run-row .frp-remove-row { grid-column:1 / -1; justify-self:start; }
  .frp-opening-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .frp-trim-row { grid-template-columns:minmax(0,1fr) 94px; gap:10px; }
  body[data-page="frp"] main.page .frp-card-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-page="frp"] main.page .act-summary-materials > div { align-items:start; }
  body[data-page="frp"] main.page .estimate-workspace { flex-wrap:wrap; gap:5px; padding:8px; }
  body[data-page="frp"] main.page .estimate-workspace-actions { order:0; width:100%; justify-content:flex-end; }
  body[data-page="frp"] main.page .estimate-workspace-actions :is(.primary-button,.subtle-button) { flex:0 1 auto; min-height:36px; padding:7px 10px; }
  body[data-page="frp"] main.page .estimate-workspace-status { flex-basis:100%; }
}
.frp-trim-head,.frp-trim-row { display:grid; grid-template-columns:minmax(0,1fr) 60px 94px; gap:10px; align-items:center; }
.frp-trim-head { font-size:11px; font-weight:700; color:#617482; }
.frp-trim-control,.frp-auto-count { font-size:12px; color:#526575; }
.frp-auto-count { text-align:center; }
.frp-trim-row .field-label { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:700px) {
  .frp-trim-head,.frp-trim-row { grid-template-columns:minmax(0,1fr) 45px 94px; gap:8px; }
  .frp-trim-row input { padding-left:8px; padding-right:6px; }
}

/* Reserve room for the complete stock length beside its unit on narrow screens. */
body[data-page="frp"] main.page .frp-trim-row .input-with-unit { padding:0 8px; gap:4px; }
body[data-page="frp"] main.page .frp-trim-row .input-with-unit > input { padding-inline:0; appearance:textfield; }
body[data-page="frp"] main.page .frp-trim-row .input-with-unit > input::-webkit-inner-spin-button,
body[data-page="frp"] main.page .frp-trim-row .input-with-unit > input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }

/* The unit wrapper owns the border; its input stays inside the content box. */
body[data-page="frp"] main.page .input-with-unit > input {
  min-height:0;
  height:100%;
  background:transparent;
}

/* Allowance uses the Metal Framing component and its shared family tokens. */
body[data-page="frp"] main.page { --family-navy:var(--act-navy); --family-lime:var(--act-lime); }
body[data-page="frp"] .frp-card [hidden] { display:none !important; }
.frp-total-lf { font-size:1rem; font-weight:800; margin:14px 0; }
