
.glip-wrap { max-width: 640px; margin: 0 auto; padding: 1rem; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; }
.glip-header { background: #fff; border-radius: 16px; padding: 2rem; text-align: center; box-shadow: 0 2px 12px rgba(0,0,0,0.07); margin-bottom: 1rem; }
.glip-logo-main { display: block; max-width: 200px; height: auto; margin: 0 auto 1.25rem; }
.glip-title { font-size: 1.4rem; font-weight: 700; color: #1a6b3c; margin: 0 0 .25rem; }
.glip-sub { font-size: .88rem; color: #6b7280; line-height: 1.5; margin: 0; }
.glip-sub-logos { display: flex; align-items: center; justify-content: center; gap: 2rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #f0f0f0; flex-wrap: wrap; }
.glip-sub-logos img { height: 30px; width: auto; object-fit: contain; }
.glip-card { background: #fff; border-radius: 16px; padding: 1.75rem 2rem; box-shadow: 0 2px 12px rgba(0,0,0,0.07); margin-bottom: 1rem; }
.glip-section-label { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #1a6b3c; margin-bottom: 1rem; display: flex; align-items: center; gap: 8px; }
.glip-section-label::after { content: ""; flex: 1; height: 1px; background: #e5e7eb; }
.glip-field { margin-bottom: 1.25rem; }
.glip-field label { display: block; font-size: .82rem; font-weight: 600; color: #374151; margin-bottom: .4rem; }
.req { color: #dc2626; margin-left: 2px; }
.opt { font-weight: 400; color: #9ca3af; font-size: .78rem; }
.glip-field input[type="text"],
.glip-field input[type="email"],
.glip-field input[type="date"],
.glip-field input[type="number"],
.glip-field select,
.glip-field textarea { width: 100%; padding: 10px 14px; border: 1.5px solid #e5e7eb; border-radius: 10px; font-size: .9rem; color: #1a1a2e; background: #fff; transition: border-color .18s; font-family: inherit; outline: none; box-sizing: border-box; -webkit-appearance: none; appearance: none; }
.glip-field input:focus, .glip-field select:focus, .glip-field textarea:focus { border-color: #1a6b3c; box-shadow: 0 0 0 3px rgba(26,107,60,.1); }
.glip-field textarea { min-height: 80px; resize: vertical; }
.glip-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.glip-radio-group { display: flex; flex-direction: column; gap: 8px; }
.glip-radio-item { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: .9rem; color: #374151; padding: 8px 12px; border-radius: 8px; border: 1.5px solid #e5e7eb; transition: all .15s; }
.glip-radio-item:hover { border-color: #1a6b3c; background: #f0faf4; }
.glip-radio-item input[type="radio"] { width: 18px; height: 18px; accent-color: #1a6b3c; cursor: pointer; flex-shrink: 0; margin: 0; }
.glip-radio-item.selected { border-color: #1a6b3c; background: #f0faf4; }
.glip-upload-zone { border: 2px dashed #d1d5db; border-radius: 10px; padding: 1.5rem; text-align: center; cursor: pointer; position: relative; transition: all .18s; }
.glip-upload-zone:hover { border-color: #1a6b3c; background: #f7fdf9; }
.glip-upload-zone input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.glip-upload-icon { font-size: 2rem; margin-bottom: .5rem; }
.glip-upload-text { font-size: .85rem; color: #6b7280; }
.glip-upload-text strong { color: #1a6b3c; }
.glip-upload-preview { margin-top: 10px; font-size: .82rem; color: #1a6b3c; }
.glip-err { font-size: .78rem; color: #dc2626; margin-top: 5px; display: none; }
.glip-field.has-error input, .glip-field.has-error select, .glip-field.has-error textarea { border-color: #dc2626; }
.glip-field.has-error .glip-radio-group { border: 1.5px solid #dc2626; border-radius: 10px; padding: 8px; }
.glip-global-err { font-size: .85rem; color: #dc2626; margin-bottom: 10px; }
.glip-submit-wrap { padding-top: 1rem; }
.glip-btn { width: 100%; padding: 14px; background: linear-gradient(135deg,#1a6b3c,#0f4d2a); color: #fff; border: none; border-radius: 12px; font-size: 1rem; font-weight: 700; cursor: pointer; letter-spacing: .3px; transition: opacity .18s, transform .1s; }
.glip-btn:hover { opacity: .92; }
.glip-btn:active { transform: scale(.99); }
.glip-btn:disabled { background: #9ca3af; cursor: not-allowed; }
.glip-success { background: #fff; border-radius: 16px; padding: 3rem 2rem; text-align: center; box-shadow: 0 2px 12px rgba(0,0,0,0.07); margin-bottom: 1rem; }
.glip-check { width: 64px; height: 64px; background: #1a6b3c; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.25rem; font-size: 2rem; color: #fff; }
.glip-success h3 { font-size: 1.4rem; color: #1a1a2e; margin: 0 0 .5rem; }
.glip-success p { font-size: .9rem; color: #6b7280; line-height: 1.6; margin: 0; }
.glip-success strong { color: #1a6b3c; }
@media (max-width:480px) {
  .glip-card { padding: 1.25rem; }
  .glip-header { padding: 1.5rem 1.25rem 1.25rem; }
  .glip-sub-logos img { height: 24px; }
  .glip-sub-logos { gap: 1.25rem; }
}
