/* GCMM Patch – Frontend readability + colors */
:root{
  --gcmm-text: #1e3a8a;
  --gcmm-muted: #64748b;
  --gcmm-border: #e5e7eb;
  --gcmm-bg: #ffffff;
  --gcmm-primary: #1e3a8a;
  --gcmm-accent: #16a34a; /* button green */
}

/* Base & container */
body, #gcmm-estimator, .gcmm-form, .gcmm-form-wrap{
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
               Inter, "Helvetica Neue", Arial;
  color: var(--gcmm-text);
  background-color: var(--gcmm-bg);
}

.gcmm-form-wrap{
  max-width: 980px;
  margin: 0 auto;
  background: var(--gcmm-bg);
  border: 1px solid var(--gcmm-border);
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(0,0,0,.06);
  padding: 24px;
}

.gcmm-form-wrap h2.gcmm-title{
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 12px;
  color: var(--gcmm-text);
}

/* Cards / sections */
.gcmm-section, .gcmm-total, .gcmm-card{
  background: #fff; /* white blocks */
  border-radius: 12px;
  border: 1px solid var(--gcmm-border);
  color: var(--gcmm-text);
  padding: 18px;
  margin-bottom: 16px;
}

/* Labels & help text */
.gcmm-label{
  font-weight: 700;
  color: var(--gcmm-text);
}
.gcmm-help{
  color: var(--gcmm-muted);
  font-size: 13px;
}

/* Inputs & selects */
.gcmm-input, .gcmm-select, .gcmm-textarea,
.gcmm-grid input, .gcmm-grid select, .gcmm-grid textarea{
  width: 100%;
  background: #fff;
  border: 1px solid var(--gcmm-border);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  color: var(--gcmm-text);
  transition: box-shadow .15s ease, border-color .15s ease;
}

.gcmm-input:focus, .gcmm-select:focus, .gcmm-textarea:focus,
.gcmm-grid input:focus, .gcmm-grid select:focus, .gcmm-grid textarea:focus{
  outline: none;
  border-color: #1e3a8a;            /* fallback for older parsers */
  border-color: var(--gcmm-primary);
  box-shadow: 0 0 0 3px rgba(30,58,138,.2);
}

/* Buttons */
.gcmm-button, .gcmm-btn{
  background: #1e3a8a;              /* fallback */
  background: var(--gcmm-primary);
  color: #fff;
  border-radius: 12px;
  padding: 14px 18px;
  font-weight: 800;
  border: none;
  cursor: pointer;
}
.gcmm-button:hover, .gcmm-btn:hover{
  background: #172554;
}

/* Totals */
.gcmm-total .gcmm-total-box{
  background: #fff;
  border: 1px solid var(--gcmm-border);
  border-radius: 12px;
  padding: 18px;
  font-weight: 800;
  color: var(--gcmm-text);
}

/* Grid & responsiveness */
.gcmm-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 720px){
  .gcmm-grid{ grid-template-columns: 1fr; }
}

/* Accordions / category headers */
.gcmm-accordion-header{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 16px;
  background:#fff;
  border:1px solid var(--gcmm-border);
  border-radius:10px;
  color: var(--gcmm-text);
  font-weight:700;
}
.gcmm-accordion-content{ padding: 14px 4px; }
