.zm-apply-form { max-width: 520px; }
.zm-apply-form .form-group { margin-bottom: 16px; }
.zm-apply-form label { display: block; font-weight: 600; margin-bottom: 4px; font-size: .88rem; }
.zm-status-card { padding: 14px 18px; border-radius: 8px; margin: 16px 0; font-size: .95rem; }
.zm-status-active { background: #c6f6d5; color: #22543d; border: 1px solid #9ae6b4; }
.zm-status-pending { background: #feebc8; color: #7b341e; border: 1px solid #fbd38d; }
.zm-status-none { background: #fff5f5; color: #742a2a; border: 1px solid #fed7d7; }
.zm-plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin: 24px 0; }
.zm-plan-card { border: 1px solid #e2e8f0; border-radius: 10px; padding: 24px; text-align: center; }
.zm-plan-card h3 { margin: 0 0 8px; }
.zm-plan-price { font-size: 1.5rem; font-weight: 700; color: var(--primary, #2b6cb0); margin: 8px 0; }
.zm-plan-duration { font-size: .85rem; font-weight: 400; color: #718096; }
.zm-inline-gate { background: #f7fafc; border: 1px dashed #cbd5e0; border-radius: 6px; padding: 12px 16px; color: #4a5568; font-size: .9rem; }
.zm-notice { padding: 10px 14px; border-radius: 6px; margin: 12px 0; font-size: .88rem; }
.zm-notice-info { background: #ebf8ff; color: #2b6cb0; border: 1px solid #bee3f8; }
