.ncs-registration-wrap { 
    max-width: 900px; margin: 40px auto; padding: 0 20px; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; 
}
.ncs-reg-card { background: #fff; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); padding: 30px; margin-bottom: 30px; border: 1px solid #eee; }
.ncs-reg-card-title { margin-top: 0; margin-bottom: 25px; font-size: 1.4rem; color: #1a1a1a; border-bottom: 2px solid #f0f0f0; padding-bottom: 10px; font-weight: 600; }
.ncs-reg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ncs-reg-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 15px; }
.ncs-reg-field label { font-weight: 600; font-size: 0.9rem; color: #444; }
.ncs-reg-field input, .ncs-reg-field select, .ncs-reg-field textarea { 
    padding: 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 1rem; 
    transition: all 0.2s; background: #fafafa; width: 100%; box-sizing: border-box;
    height: 48px;
}
.ncs-reg-field textarea { height: auto; padding: 12px; }
.ncs-reg-field select {
    appearance: none; -webkit-appearance: none; -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat; background-position: right 12px center; background-size: 16px;
    padding-right: 40px; line-height: 1.5;
}
.ncs-reg-field input:focus, .ncs-reg-field select:focus, .ncs-reg-field textarea:focus { border-color: #ff4b6b; outline: none; background: #fff; box-shadow: 0 0 0 3px rgba(255,75,107,0.1); }
.ncs-reg-field.full-width { grid-column: span 2; }
.ncs-error-text { color: #f44336; font-size: 0.8rem; font-weight: 500; margin-top: 4px; padding-left: 5px; animation: fadeIn 0.2s; }
.ncs-input-error { border-color: #f44336 !important; background: #fff8f8 !important; }
@keyframes zoomIn { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }
.cropper-control-btn {
    background: #fff; border: 1px solid #ddd; border-radius: 4px; padding: 5px 12px;
    font-size: 1.2rem; cursor: pointer; transition: all 0.2s; color: #444; 
    display: flex; align-items: center; justify-content: center; min-width: 44px;
}
.cropper-control-btn:hover { background: #f0f0f0; border-color: #bbb; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
.ncs-reg-uploads { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ncs-reg-btn { background: #ff4b6b; color: #fff; padding: 18px 40px; border: none; border-radius: 10px; font-size: 1.1rem; font-weight: 600; cursor: pointer; transition: all 0.3s; width: 100%; box-shadow: 0 4px 15px rgba(255,75,107,0.3); }
.ncs-reg-btn:hover { background: #e6395b; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,75,107,0.4); }
.ncs-notice { padding: 25px; border-radius: 12px; margin-bottom: 30px; display: flex; align-items: flex-start; gap: 15px; }
.ncs-notice-success { background: #e8f5e9; color: #2e7d32; border-left: 6px solid #4caf50; }
.ncs-notice-error { background: #ffebee; color: #c62828; border-left: 6px solid #f44336; }
.ncs-notice .dashicons { font-size: 24px; width: 24px; height: 24px; }
.required { color: #f44336; }
.ncs-spinner-small {
    width: 18px; height: 18px;
    border: 2px solid rgba(255,75,107,0.2);
    border-top-color: #ff4b6b;
    border-radius: 50%;
    animation: ncs-spin 0.8s linear infinite;
}
@keyframes ncs-spin { to { transform: rotate(360deg); } }
.ncs-payment-options { display: flex; gap: 15px; margin-bottom: 25px; }
.ncs-payment-radio { flex: 1; cursor: pointer; }
.ncs-payment-radio input { display: none; }
.ncs-payment-radio-btn {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 10px; padding: 20px; border: 2px solid #eee; border-radius: 12px;
    transition: all 0.3s; color: #666; font-weight: 500; text-align: center;
    background: #fafafa;
}
.ncs-payment-radio-btn .dashicons { font-size: 30px; width: 30px; height: 30px; margin-bottom: 5px; }
.ncs-payment-radio input:checked + .ncs-payment-radio-btn {
    border-color: #ff4b6b; background: #fff5f6; color: #ff4b6b;
    box-shadow: 0 4px 15px rgba(255, 75, 107, 0.1);
}
#utr_ref_input:read-only { background: #f0f0f0; cursor: not-allowed; opacity: 0.8; }
@media (max-width: 800px) { 
    .ncs-reg-grid, .ncs-reg-uploads, .ncs-payment-options { grid-template-columns: 1fr; flex-direction: column; } 
    .ncs-reg-field.full-width { grid-column: auto; } 
    .ncs-reg-card { padding: 20px; }
    .ncs-reg-card-title { font-size: 1.2rem; }
    #payment-verify-status { font-size: 0.9rem; padding: 15px; }
    #utr_ref_input { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; }
}
