/**
 * NE Vault — Engineering Control Centre frontend form
 */
.ne-engineering-centre { max-width: 720px; margin: 0 auto; font-family: 'Poppins', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.ne-ec-tabs {
    display: flex;
    justify-content: center;
    gap: 0;
    margin-bottom: 24px;
    padding: 0 4px;
    background: #0c155a;
    border-radius: 10px;
    border-bottom: none;
    overflow-x: auto;
    scrollbar-width: none;
}
.ne-ec-tabs::-webkit-scrollbar { display: none; }
.ne-ec-tab, .ne-prf-tab {
    padding: 13px 22px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    cursor: pointer;
    font-family: 'Poppins', -apple-system, sans-serif;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,0.55) !important;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1;
}
.ne-ec-tab:hover, .ne-prf-tab:hover {
    color: rgba(255,255,255,0.9) !important;
    background: rgba(255,255,255,0.06) !important;
}
.ne-ec-tab.active, .ne-prf-tab.active {
    color: #FCD361 !important;
    border-bottom-color: #FCD361 !important;
    background: rgba(255,255,255,0.06) !important;
}
.ne-ec-form { position: relative; }
.ne-ec-panel { display: none; padding: 24px 0; }
.ne-ec-panel.active { display: block; }
.ne-ec-headline { font-size: 1.35em; margin: 0 0 8px 0; color: #111; }
.ne-ec-intro { color: #6b7280; margin: 0 0 20px 0; line-height: 1.5; font-size: 14px; }
.ne-ec-field { margin-bottom: 16px; }

/* Revision sub-type selector */
.ne-revision-type-options { display: flex; flex-direction: column; gap: 10px; }
.ne-revision-type-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.ne-revision-type-option:hover { border-color: #020873; background: #f8f9ff; }
.ne-revision-type-option.selected,
.ne-revision-type-option input:checked ~ .ne-revtype-content { color: #020873; }
.ne-revision-type-option input:checked + .ne-revtype-content,
.ne-revision-type-option.selected { border-color: #020873; background: #f0f3ff; }
.ne-revision-type-option input[type="radio"] { margin-top: 3px; flex-shrink: 0; accent-color: #020873; }
.ne-revtype-content { display: flex; flex-direction: column; gap: 3px; }
.ne-revtype-content strong { font-size: 14px; font-weight: 600; color: #111827; }
.ne-revtype-content span { font-size: 13px; color: #6b7280; line-height: 1.4; }
/* Revision tab: Select Vault Part — left-align and vertically centre text in box (SelectWoo/Select2) */
#panel-revision .select2-container .select2-selection,
#panel-revision .select2-container .select2-selection--single { display: flex; align-items: center; min-height: 38px; }
#panel-revision .select2-container .select2-selection__rendered { text-align: left; line-height: 1; }
.ne-ec-current-revision-wrap { text-align: center; }
.ne-ec-current-revision-text { margin: 0; font-size: 14px; color: #374151; }
.ne-ec-field label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 6px; color: #374151; }
.ne-ec-field .required { color: #dc2626; }
.ne-ec-field input[type="text"], .ne-ec-field input[type="number"], .ne-ec-field select, .ne-ec-field textarea { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 14px; }
.ne-ec-field textarea { min-height: 100px; resize: vertical; }
.ne-ec-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ne-ec-radio, .ne-ec-checkbox { display: inline-flex; align-items: center; gap: 8px; margin-right: 16px; font-weight: 400; cursor: pointer; }
.ne-ec-radio input, .ne-ec-checkbox input { margin: 0; }
.ne-material-preview { aspect-ratio: 4/3; background: #f3f4f6; border-radius: 8px; overflow: hidden; max-width: 280px; }
.ne-material-preview img { width: 100%; height: 100%; object-fit: cover; }
.ne-ec-warning { background: #fef3c7; border: 1px solid #f59e0b; border-radius: 8px; padding: 14px 16px; margin: 16px 0; font-size: 13px; color: #92400e; }
.ne-ec-actions { margin-top: 24px; padding-top: 20px; border-top: 1px solid #e5e7eb; }
.ne-ec-success { padding: 24px; text-align: center; }
.ne-ec-success-msg { color: #059669; font-weight: 500; margin-bottom: 16px; }
.ne-ec-success-actions { margin: 0; }
.ne-ec-success-actions .ne-btn { margin-top: 8px; }
.ne-ec-loading { position: absolute; inset: 0; background: rgba(255,255,255,0.95); display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 8px; z-index: 10; }
.ne-ec-loading .ne-loading-spinner { width: 40px; height: 40px; border: 3px solid #e5e7eb; border-top-color: #020873; border-radius: 50%; animation: ne-spin-form 0.8s linear infinite; }
@keyframes ne-spin-form { to { transform: rotate(360deg); } }
.ne-ec-error { color: #dc2626; }

@media (max-width: 600px) {
    .ne-ec-tabs { flex-wrap: wrap; }
    .ne-ec-row { grid-template-columns: 1fr; }
}
