.ghv-portal,
.ghv-portal * {
    box-sizing: border-box;
}

.ghv-portal {
    max-width: 960px;
    margin: 24px auto;
    color: #172033;
    font-family: inherit;
}

.ghv-heading {
    margin-bottom: 18px;
}

.ghv-eyebrow {
    margin: 0 0 6px;
    color: #0f766e;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.ghv-heading h2 {
    margin: 0;
    font-size: 30px;
    line-height: 1.2;
}

.ghv-heading p {
    max-width: 680px;
    margin: 8px 0 0;
    color: #526071;
}

.ghv-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.ghv-search-row input,
.ghv-field-grid input,
.ghv-field-grid select,
.ghv-field-grid textarea,
.ghv-full-field textarea {
    width: 100%;
    min-height: 44px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #172033;
    font-size: 15px;
    padding: 10px 12px;
}

.ghv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 0;
    border-radius: 8px;
    background: #0f766e;
    color: #fff !important;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    padding: 10px 16px;
    text-decoration: none !important;
}

.ghv-btn:hover,
.ghv-btn:focus {
    background: #115e59;
}

.ghv-btn-secondary {
    background: #334155;
}

.ghv-btn-secondary:hover,
.ghv-btn-secondary:focus {
    background: #1e293b;
}

.ghv-results {
    margin-top: 18px;
}

.ghv-results-stack {
    display: grid;
    gap: 16px;
}

.ghv-card,
.ghv-form {
    border: 1px solid #dbe3ed;
    border-radius: 8px;
    background: #fff;
    padding: 18px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

.ghv-alert {
    display: grid;
    gap: 3px;
    margin: 0 0 14px;
    border-radius: 8px;
    padding: 12px 14px;
}

.ghv-alert-success {
    border: 1px solid #86efac;
    background: #ecfdf5;
    color: #166534;
}

.ghv-alert-warning {
    border: 1px solid #facc15;
    background: #fffbeb;
    color: #854d0e;
}

.ghv-alert-error {
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.ghv-alert-info {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #1e40af;
}

.ghv-result-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.ghv-card-label,
.ghv-muted {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.ghv-result-card h3,
.ghv-form-head h3 {
    margin: 3px 0 6px;
    font-size: 22px;
    line-height: 1.25;
}

.ghv-badge,
.ghv-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 9px;
    white-space: nowrap;
}

.ghv-badge-success,
.ghv-status-approved,
.ghv-status-verified {
    border: 1px solid #86efac;
    background: #dcfce7;
    color: #166534;
}

.ghv-badge-muted,
.ghv-status-pending {
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
}

.ghv-status-rejected {
    border: 1px solid #fecaca;
    background: #fee2e2;
    color: #991b1b;
}

.ghv-detail-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0;
}

.ghv-detail-grid div {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: 10px;
}

.ghv-detail-grid dt {
    color: #64748b;
    font-size: 12px;
    margin: 0 0 4px;
}

.ghv-detail-grid dd {
    margin: 0;
    color: #172033;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.ghv-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.ghv-form {
    margin-top: 16px;
}

.ghv-form-head {
    margin-bottom: 14px;
}

.ghv-form-head p {
    margin: 0;
    color: #526071;
}

.ghv-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}


.ghv-field-grid select {
    appearance: auto;
}

.ghv-field-grid select:disabled {
    background: #f1f5f9;
    color: #64748b;
    cursor: not-allowed;
}

.ghv-field-grid label,
.ghv-full-field,
.ghv-check {
    display: grid;
    gap: 6px;
    color: #172033;
    font-weight: 700;
}

.ghv-field-grid span,
.ghv-full-field span {
    color: #b91c1c;
}

.ghv-full-field {
    margin-top: 14px;
}

.ghv-payment-box {
    border: 1px dashed #94a3b8;
    border-radius: 8px;
    background: #f8fafc;
    margin: 16px 0;
    padding: 14px;
}

.ghv-payment-box h4,
.ghv-payment-box p {
    margin: 0 0 8px;
}

.ghv-payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
}

.ghv-check {
    align-items: flex-start;
    grid-template-columns: auto 1fr;
    margin-top: 14px;
}

.ghv-check input {
    margin-top: 4px;
}

.ghv-form-result {
    margin-top: 14px;
}

.ghv-hidden {
    display: none !important;
}

.ghv-loading {
    opacity: .68;
    pointer-events: none;
}

.ghv-admin-wrap .ghv-admin-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
}

.ghv-admin-card {
    border: 1px solid #dcdcde;
    border-radius: 8px;
    background: #fff;
    padding: 16px;
}

.ghv-admin-card strong {
    display: block;
    color: #0f766e;
    font-size: 30px;
    line-height: 1;
    margin-bottom: 8px;
}

.ghv-admin-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0;
}

.ghv-admin-filter input[type="search"] {
    min-width: 260px;
}

.ghv-admin-table td,
.ghv-admin-table th {
    vertical-align: top;
}

.ghv-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.ghv-settings-table {
    max-width: 720px;
}

.ghv-settings-table th {
    width: 180px;
}

@media (max-width: 860px) {
    .ghv-detail-grid,
    .ghv-admin-wrap .ghv-admin-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ghv-search-row,
    .ghv-field-grid,
    .ghv-payment-grid,
    .ghv-detail-grid,
    .ghv-admin-wrap .ghv-admin-cards {
        grid-template-columns: 1fr;
    }

    .ghv-heading h2 {
        font-size: 24px;
    }

    .ghv-result-top,
    .ghv-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .ghv-btn {
        width: 100%;
    }
}

/* v3 professional admin dashboard and member photo */
.ghv-result-photo {
    width: 86px;
    height: 104px;
    border: 1px solid #dbe3ed;
    border-radius: 10px;
    overflow: hidden;
    flex: 0 0 auto;
    background: #f8fafc;
}
.ghv-result-photo img { width: 100%; height: 100%; object-fit: cover; }

.ghv-admin-app { --ghv-navy:#08244a; --ghv-blue:#2563eb; --ghv-green:#16a34a; --ghv-orange:#f59e0b; --ghv-purple:#7c3aed; --ghv-cyan:#0891b2; }
.ghv-admin-titlebar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:12px 0 20px; }
.ghv-admin-titlebar h1 { margin:0; font-size:24px; font-weight:800; }
.ghv-admin-titlebar p { margin:4px 0 0; color:#64748b; font-size:18px; }
.ghv-admin-date { background:#fff; border:1px solid #dbe3ed; border-radius:8px; padding:10px 14px; color:#334155; box-shadow:0 4px 14px rgba(15,23,42,.05); }
.ghv-admin-stat-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin:16px 0 20px; }
.ghv-stat-card { border:1px solid #dbe3ed; border-radius:12px; background:#fff; padding:18px; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.ghv-stat-card strong { display:block; font-size:30px; line-height:1; color:#0f172a; margin-bottom:6px; }
.ghv-stat-card span { display:block; color:#334155; margin-bottom:10px; }
.ghv-stat-card a { text-decoration:none; font-weight:700; }
.ghv-stat-blue { background:linear-gradient(135deg,#eff6ff,#fff); border-color:#bfdbfe; }
.ghv-stat-green { background:linear-gradient(135deg,#f0fdf4,#fff); border-color:#bbf7d0; }
.ghv-stat-orange { background:linear-gradient(135deg,#fff7ed,#fff); border-color:#fed7aa; }
.ghv-stat-purple { background:linear-gradient(135deg,#faf5ff,#fff); border-color:#ddd6fe; }
.ghv-stat-cyan { background:linear-gradient(135deg,#ecfeff,#fff); border-color:#a5f3fc; }
.ghv-admin-dashboard-grid { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 280px; gap:16px; }
.ghv-admin-panel { background:#fff; border:1px solid #dbe3ed; border-radius:12px; padding:16px; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.ghv-panel-head { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.ghv-panel-head h2, .ghv-admin-panel h2 { margin:0 0 12px; font-size:18px; font-weight:800; }
.ghv-panel-head h2 { margin:0; }
.ghv-quick-actions { display:grid; align-content:start; gap:10px; }
.ghv-quick { display:block; color:#fff !important; text-decoration:none; font-weight:800; border-radius:8px; padding:12px 14px; box-shadow:0 5px 14px rgba(15,23,42,.12); }
.ghv-q-green { background:#16a34a; } .ghv-q-blue { background:#2563eb; } .ghv-q-purple { background:#7c3aed; } .ghv-q-orange { background:#f59e0b; } .ghv-q-cyan { background:#0891b2; }
.ghv-admin-two-col { display:grid; grid-template-columns:minmax(300px, .8fr) minmax(280px, .6fr); gap:16px; margin:16px 0; }
.ghv-admin-form { display:grid; gap:12px; }
.ghv-admin-form label { display:grid; gap:6px; font-weight:700; color:#1e293b; }
.ghv-admin-form input, .ghv-admin-form select, .ghv-admin-form textarea { width:100%; border:1px solid #cbd5e1; border-radius:8px; padding:8px 10px; min-height:38px; }
.ghv-admin-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ghv-admin-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ghv-admin-modern-table { border-radius:12px; overflow:hidden; box-shadow:0 8px 24px rgba(15,23,42,.05); }
@media(max-width:1200px){ .ghv-admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));} .ghv-admin-dashboard-grid{grid-template-columns:1fr;} }
@media(max-width:782px){ .ghv-admin-stat-grid,.ghv-admin-two-col,.ghv-admin-grid-2,.ghv-admin-grid-3{grid-template-columns:1fr;} .ghv-admin-titlebar{align-items:flex-start; flex-direction:column;} }
