
.ct-panel{border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.ct-form{display:grid;gap:18px;padding:22px 24px}
.ct-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ct-field{display:grid;gap:6px;min-width:0}
.ct-field.full{grid-column:1/-1}
.ct-field label{font-size:13px;font-weight:600;color:#374151}
.ct-field .ct-req{margin-right:3px;color:#c0392b}
.ct-input{width:100%;height:42px;padding:0 12px;font:inherit;font-size:14px;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:11px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.ct-input::placeholder{color:#9ca3af}
.ct-input:focus{border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.08)}
.ct-input.invalid{border-color:#c0392b!important;background:#fffafa}
.ct-field-error{display:block;margin-top:6px;font-size:12px;line-height:1.4;color:#c0392b}
textarea.ct-input{height:auto;min-height:104px;padding:11px 12px;resize:vertical}
select.ct-input{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236b7280' stroke-width='1.6'%3E%3Cpath d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 12px}

.ct-field .select2-container{width:100%!important}
.ct-field .select2-container--default .select2-selection--single{height:42px;padding:0 34px 0 12px;background:#fff;border:1px solid #e5e7eb;border-radius:11px;transition:border-color .2s ease,box-shadow .2s ease}
.ct-field .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0;line-height:40px;font-size:14px;color:#111827}
.ct-field .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#9ca3af}
.ct-field .select2-container--default .select2-selection--single .select2-selection__arrow{top:0;right:10px;height:40px;width:14px}
.ct-field .select2-container--default.select2-container--focus .select2-selection--single,
.ct-field .select2-container--default.select2-container--open .select2-selection--single{border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.08)}
.select2-dropdown{font-size:14px;border-color:#e5e7eb;border-radius:11px;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.select2-search--dropdown .select2-search__field{height:34px;padding:0 10px;font:inherit;font-size:14px;border:1px solid #e5e7eb;border-radius:9px;outline:none}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected=true]{background:#111827;color:#fff}

.ct-form-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-top:2px}
.ct-btn{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 22px;font-size:14px;font-weight:600;border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease,box-shadow .2s ease,transform .2s ease}
.ct-btn{color:#fff;background:#111827;border:1px solid #111827}
.ct-btn:hover{background:#000;border-color:#000;box-shadow:0 8px 18px rgba(17,24,39,.22);transform:translateY(-1px)}
.ct-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(17,24,39,.18)}
.ct-btn:disabled,
.ct-btn:disabled:hover{cursor:not-allowed;background:#9ca3af;border-color:#9ca3af;box-shadow:none;transform:none;opacity:1}
.ct-form-note{color:#6b7280;font-size:13px;text-align:center}
.ct-form-lead{margin:-12px 0 18px;text-align:center;font-size:14px;line-height:1.6;color:#6b7280}
.ct-msg{margin:0;padding:10px 12px;font-size:13px;line-height:1.5;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px}
.ct-msg.hidden{display:none}

.ct-legend{grid-column:1/-1;margin:2px 0 -6px;font-size:12px;font-weight:700;letter-spacing:.08em;color:#9ca3af}

@media (max-width:560px){
    .ct-form{padding:22px}
    .ct-form-grid{grid-template-columns:1fr}
    .ct-form-actions{align-items:stretch;flex-direction:column}
    .ct-btn{width:100%}
}
