.glm, .glm-launch {
  --glm-green: #3f6047;
  --glm-dark: #304c37;
  --glm-sage: #edf1eb;
  --glm-line: #d7ded3;
  --glm-ink: #303830;
  color: var(--glm-ink);
}
.glm-launch { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem; background:#f5f6f2; border:1px solid var(--glm-line); border-radius:.65rem; }
.glm .modal-content { border:1px solid var(--glm-line); border-radius:1rem; overflow:hidden; }
.glm .modal-header { background:var(--glm-sage); border-bottom:1px solid var(--glm-line); padding:1.5rem; gap:1rem; }
.glm .modal-header .btn-close { flex-shrink:0; padding:.65rem; }
.glm-eyebrow { color:var(--glm-green); text-transform:uppercase; letter-spacing:.13em; font-size:.68rem; font-weight:600; margin:0 0 .5rem; }
.glm .modal-title { font-family:Georgia, 'Times New Roman', serif; font-size:2rem; margin-bottom:.4rem; }
.glm #glm-intro { font-size:.9rem; color:#586454; }
.glm .modal-body { padding:1.5rem; }
.glm .modal-footer { background:#fafbf8; border-top:1px solid var(--glm-line); padding:1rem 1.5rem max(1rem, env(safe-area-inset-bottom)); }
.glm-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.25rem; padding:.3rem; border-radius:.55rem; background:var(--glm-sage); }
.glm-tabs .nav-link { color:var(--glm-green); min-height:44px; padding:.65rem .3rem; font-size:.9rem; }
.glm-tabs .nav-link.active { background:var(--glm-green); color:white; }
.glm-primary { --bs-btn-color:#fff; --bs-btn-bg:#3f6047; --bs-btn-border-color:#3f6047; --bs-btn-hover-color:#fff; --bs-btn-hover-bg:#304c37; --bs-btn-hover-border-color:#304c37; --bs-btn-active-color:#fff; --bs-btn-active-bg:#304c37; --bs-btn-active-border-color:#304c37; --bs-btn-disabled-bg:#3f6047; --bs-btn-disabled-color:#fff; min-height:44px; }
.glm-outline { --bs-btn-color:#3f6047; --bs-btn-border-color:#bac8b7; --bs-btn-hover-color:#304c37; --bs-btn-hover-bg:#edf1eb; --bs-btn-hover-border-color:#3f6047; min-height:44px; }
.glm-subtitle { font-family:Georgia,serif; font-size:1.35rem; }
.glm-note { padding:.85rem 1rem; border-radius:.5rem; background:var(--glm-sage); color:var(--glm-dark); font-size:.9rem; }
.glm .attachment-uploader { background:#f7f9f4; border:1.5px dashed #9daf96; border-radius:.7rem; }
.glm #attachment-heading, .glm #attachment-help { display:none; }
.glm .dd-file-name, .glm .form-check-label { overflow-wrap:anywhere; }
.glm .dd-file-details { min-width:0; }
.glm-row { display:grid; grid-template-columns:1.7rem minmax(0,2fr) minmax(0,1fr) 2.75rem; gap:.6rem; align-items:center; margin-bottom:.7rem; }
.glm-number { color:#65765f; font-size:.85rem; text-align:center; }
.glm-remove { min-width:44px; min-height:44px; color:#6b7466; }
.glm .form-control:focus { border-color:#80977a; box-shadow:0 0 0 .2rem rgb(63 96 71 / 15%); }
.glm .form-check-input:checked { background-color:var(--glm-green); border-color:var(--glm-green); }
.glm .form-check { margin:.65rem 0; }
.glm :focus-visible, .glm-launch :focus-visible { outline:2px solid #3f6047; outline-offset:3px; }
@media(max-width:575.98px) {
  .glm-launch { align-items:stretch; flex-direction:column; }
  .glm .modal-content { border:0; border-radius:0; }
  .glm .modal-header, .glm .modal-body { padding:1rem; }
  .glm .modal-title { font-size:1.7rem; }
  .glm .modal-footer { padding-left:1rem; padding-right:1rem; }
  .glm-row { grid-template-columns:1.2rem minmax(0,1fr) 2.75rem; gap:.4rem; padding:.7rem 0; border-bottom:1px solid var(--glm-line); }
  .glm-row .glm-name-wrap { grid-column:2; }
  .glm-row .glm-table-wrap { grid-column:2; grid-row:2; }
  .glm-row .glm-remove { grid-column:3; grid-row:1 / span 2; }
  .glm-tabs .nav-link { font-size:.8rem; }
}