/* ChangeFluent Quote Management (Theme-friendly UI)
   Uses Astra global colours if available. */
:root{
  --cfqm-primary: var(--ast-global-color-0, #307090);
  --cfqm-accent:  var(--ast-global-color-1, #b05050);
  --cfqm-border:  rgba(15,23,42,.12);
  --cfqm-muted:   rgba(15,23,42,.7);
  --cfqm-card:    rgba(255,255,255,.92);
}
.cfqm-wrap{max-width:1100px;margin:24px auto;padding:0 16px;}
.cfqm-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap;}
.cfqm-title{margin:0;font-size:26px;line-height:1.1;}
.cfqm-meta{color:var(--cfqm-muted);font-size:13px;}
.cfqm-card{background:var(--cfqm-card);border:1px solid var(--cfqm-border);border-radius:16px;padding:16px;margin:14px 0;box-shadow:0 1px 1px rgba(15,23,42,.03);}
.cfqm-subtitle{font-weight:700;color:var(--cfqm-primary);margin-bottom:10px;}
.cfqm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cfqm-grid-2-tight{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:900px){.cfqm-grid-2{grid-template-columns:1fr;}.cfqm-grid-2-tight{grid-template-columns:1fr;}}
.cfqm-field label{display:block;font-size:12px;color:var(--cfqm-muted);margin:10px 0 6px;}
.cfqm-field input,.cfqm-field textarea{width:100%;border:1px solid var(--cfqm-border);border-radius:12px;padding:10px 12px;background:#fff;color:inherit;}
.cfqm-inline label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cfqm-inline input[type="checkbox"]{transform:scale(1.1);}
.cfqm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center;}
.cfqm-btn{border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.cfqm-btn-primary{background:var(--cfqm-primary);color:#fff;}
.cfqm-btn-accent{background:var(--cfqm-accent);color:#fff;}
.cfqm-btn-ghost{background:transparent;border:1px solid var(--cfqm-border);color:inherit;}
.cfqm-link{color:var(--cfqm-primary);font-weight:700;text-decoration:none;}
.cfqm-link:hover{text-decoration:underline;}
.cfqm-note{color:var(--cfqm-muted);font-size:13px;margin-top:10px;}
.cfqm-hr{height:1px;background:var(--cfqm-border);margin:14px 0;}
.cfqm-kv{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--cfqm-border);}
.cfqm-kv-big strong{font-size:20px;}
.cfqm-kv span{color:var(--cfqm-muted);font-size:13px;}
.cfqm-table{width:100%;}
.cfqm-row{display:grid;grid-template-columns:40px 2fr 1.2fr 1fr 1.4fr 1fr .6fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(15,23,42,.06);align-items:center;}
.cfqm-row-head{font-weight:700;color:var(--cfqm-muted);font-size:12px;}
@media(max-width:900px){.cfqm-row{grid-template-columns:40px 1.4fr 1fr;}.cfqm-row > div:nth-child(n+4){display:none;}}
.cfqm-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid var(--cfqm-border);background:rgba(15,23,42,.04);}
.cfqm-badge-sent,.cfqm-badge-viewed{border-color:rgba(48,112,144,.35);background:rgba(48,112,144,.10);color:#1e3a8a;}
.cfqm-badge-approved{border-color:rgba(22,163,74,.35);background:rgba(22,163,74,.12);color:#166534;}
.cfqm-badge-partially_approved{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.14);color:#92400e;}
.cfqm-badge-amendment_requested,.cfqm-badge-expired{border-color:rgba(176,80,80,.35);background:rgba(176,80,80,.12);color:#7f1d1d;}
.cfqm-area{border:1px solid var(--cfqm-border);border-radius:16px;padding:12px;background:rgba(255,255,255,.75);margin:12px 0;}
.cfqm-area-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:10px;flex-wrap:wrap;}
.cfqm-hint{color:var(--cfqm-muted);font-size:12px;}
.cfqm-areas-list{display:flex;flex-direction:column;gap:10px;}
.cfqm-area-row{display:grid;grid-template-columns:1fr 120px;gap:12px;padding:12px;border:1px solid var(--cfqm-border);border-radius:16px;background:rgba(15,23,42,.03);}
@media(max-width:700px){.cfqm-area-row{grid-template-columns:1fr;}.cfqm-area-price{text-align:left;}}
.cfqm-area-price{font-weight:800;text-align:right;}
.cfqm-check{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;}
.cfqm-area-name{font-weight:800;}
.cfqm-scope{margin:6px 0 0;color:var(--cfqm-muted);font-size:13px;}
.cfqm-chip{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;border:1px solid var(--cfqm-border);white-space:nowrap;}
.cfqm-chip-included{background:rgba(48,112,144,.10);border-color:rgba(48,112,144,.25);}
.cfqm-chip-optional{background:rgba(176,80,80,.12);border-color:rgba(176,80,80,.25);}


/* Gate page offset to avoid fixed headers (Astra) */
.cfqm-gate{ margin-top: 150px; }
@media(max-width:700px){ .cfqm-gate{ margin-top: 120px; } }


/* Ensure checkboxes stay visually attached to their labels */
.cfqm-inline label{align-items:center;}
.cfqm-inline input[type="checkbox"]{margin:0;}


/* v0.3.2: Checkbox alignment + theme colour */
.cfqm-inline label{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  line-height:1.2;
  margin:0;
}
.cfqm-inline label input[type="checkbox"]{
  margin:0 !important;
  flex:0 0 auto;
  accent-color: var(--cfqm-primary);
  width:18px;
  height:18px;
}


/* v0.4.1: Trades Profile checkbox alignment */
.cfqm-profile-list label.cfqm-inline{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:6px 0 !important;
}
.cfqm-profile-list label.cfqm-inline input[type="checkbox"]{
  margin:0 !important;
  accent-color: var(--cfqm-primary);
}


/* v0.4.2: Fix Trades Profile checkbox layout across themes (mobile + desktop) */
.cfqm-profile-list{padding:12px;}
.cfqm-profile-item{margin:6px 0;}
.cfqm-profile-item label{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
}
.cfqm-profile-item label span{
  flex:1 1 auto;
  margin:0 !important;
  padding:0 !important;
  white-space:normal;
}
/* Force native checkbox rendering (avoid theme pseudo-checkboxes) */
.cfqm-profile-item input[type="checkbox"]{
  -webkit-appearance:auto !important;
  appearance:auto !important;
  position:static !important;
  opacity:1 !important;
  width:18px !important;
  height:18px !important;
  margin:0 !important;
  accent-color: var(--cfqm-primary);
}
