.registration-container { padding: 30px 0; }
.registration-header { margin-bottom: 30px; }
.registration-header h3 { font-weight: 700; color: #212529; margin-bottom: 10px; }
.registration-header .lead { color: #6c757d; font-size: 16px; }
.registration-card { background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.08); margin-bottom: 25px; overflow: hidden; }
.registration-card .card-header { background: linear-gradient(135deg, #495057 0%, #343a40 100%); color: #fff; padding: 15px 20px; }
.registration-card .card-header h5 { margin: 0; font-weight: 600; font-size: 16px; color: #fff; }
.registration-card .card-header .card-icon { margin-right: 10px; opacity: 0.8; }
.registration-card .card-body { padding: 25px; }
.form-group { margin-bottom: 20px; }
.form-group label { font-weight: 600; color: #495057; margin-bottom: 8px; display: block; font-size: 14px; }
.form-group label .required-indicator { color: #dc3545; margin-left: 2px; }
.form-group .form-control { border-radius: 2px; border: 1px solid #ced4da; padding: 5px 10px; font-size: 14px; transition: border-color 0.2s, box-shadow 0.2s; }
.form-group .form-control:focus { border-color: #80bdff; box-shadow: 0 0 0 0.2rem rgba(0,123,255,.15); }
.form-group .form-text { font-size: 12px; color: #6c757d; margin-top: 5px; }
.form-group.has-error .form-control { border-color: #dc3545; }
.form-group.has-error .error-message { color: #dc3545; font-size: 12px; margin-top: 5px; }
.invoice-card { background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; margin-bottom: 25px; }
.invoice-card .table { margin: 0; }
.invoice-card .table thead th { background: #343a40; color: #fff; border: none; padding: 12px 15px; font-size: 13px; }
.invoice-card .table tbody td { padding: 10px 15px; font-size: 14px; border-color: #dee2e6; }
.invoice-card .table tfoot td { background: #e9ecef; font-weight: 600; }
.btn-submit { padding: 12px 40px; font-size: 16px; font-weight: 600; border-radius: 6px; }
.btn-submit:disabled { opacity: 0.7; cursor: not-allowed; }
.btn-submit .spinner { display: none; margin-right: 8px; }
.btn-submit.loading .spinner { display: inline-block; }
.btn-submit.loading .btn-text { opacity: 0.7; }
.alert-container { margin-bottom: 20px; }
.section-divider { border-top: 1px solid #e9ecef; margin: 20px 0; padding-top: 20px; }
.conditional-field { display: none; }
.conditional-field.active { display: block; }
@media (max-width: 768px) {
    .registration-card .card-body { padding: 15px; }
    .form-group { margin-bottom: 15px; }
}