/*
 * SPVnet 2.0 - VD2025 Wizard Styles
 * Modern, clean wizard styling matching VD2025 design
 * Date: 2025-01-03
 */

/* ============================================
   KENDO WINDOW (MODAL)
   ============================================ */
body.vd2025-active .k-window.vd2025-wizard-window {
    border-radius: 12px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3) !important;
    border: none !important;
    overflow: hidden !important;
}

/* Make modal almost fullscreen with padding */
body.vd2025-active .k-window.vd2025-wizard-window.k-window-maximized {
    width: calc(100% - 40px) !important;
    height: calc(100% - 40px) !important;
    top: 20px !important;
    left: 20px !important;
    transform: none !important;
}

/* Modal header (title bar) */
body.vd2025-active .k-window.vd2025-wizard-window .k-window-titlebar {
    background: linear-gradient(135deg, #35aa47 0%, #2d8b3a 100%) !important;
    border: none !important;
    padding: 24px 32px !important;
    border-radius: 12px 12px 0 0 !important;
    min-height: 70px !important;
}

body.vd2025-active .k-window.vd2025-wizard-window .k-window-title {
    color: white !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* Close button (X) */
body.vd2025-active .k-window.vd2025-wizard-window .k-window-titlebar .k-window-action {
    width: 32px !important;
    height: 32px !important;
    border-radius: 6px !important;
    background: rgba(255,255,255,0.2) !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

body.vd2025-active .k-window.vd2025-wizard-window .k-window-titlebar .k-window-action:hover {
    background: rgba(255,255,255,0.3) !important;
    transform: scale(1.1) !important;
}

body.vd2025-active .k-window.vd2025-wizard-window .k-window-titlebar .k-window-action .k-icon {
    color: white !important;
    font-size: 16px !important;
}

/* Modal content */
body.vd2025-active .k-window.vd2025-wizard-window .k-window-content {
    background: #f8f9fa !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    padding: 0 !important;
}

/* ============================================
   WIZARD CONTAINER
   ============================================ */
body.vd2025-active #wizardBody {
    background: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    padding: 0 !important;
}

/* ============================================
   WIZARD HEADER (Modern Steppers)
   ============================================ */
/* VD2025: Esconder completamente o wizard-header antigo
   O novo stepper está no titlebar da modal Kendo */
body.vd2025-active .wizard-header {
    display: none !important;
}

/* Esconder também os callouts do progress bar antigo */
body.vd2025-active .callout,
body.vd2025-active .callout.calloutcurrent,
body.vd2025-active .callout.calloutactive {
    display: none !important;
}

/* Hide old ugly progress bar */
body.vd2025-active .wizard-header .progress {
    display: none !important;
}

/* Modern wizard steps container */
body.vd2025-active .wizard-steps {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 0 !important;
}

/* Individual step */
body.vd2025-active .wizard-step {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    position: relative !important;
}

/* Step circle */
body.vd2025-active .wizard-step .step-circle {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    background: #e9ecef !important;
    color: #6c757d !important;
    margin-bottom: 8px !important;
    transition: all 0.3s ease !important;
    z-index: 2 !important;
}

/* Active step circle */
body.vd2025-active .wizard-step.active .step-circle {
    background: linear-gradient(135deg, #35aa47 0%, #2d8b3a 100%) !important;
    color: white !important;
    box-shadow: 0 4px 12px rgba(53, 170, 71, 0.3) !important;
}

/* Completed step circle */
body.vd2025-active .wizard-step.completed .step-circle {
    background: linear-gradient(135deg, #35aa47 0%, #2d8b3a 100%) !important;
    color: white !important;
}

/* Step label */
body.vd2025-active .wizard-step .step-label {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #6c757d !important;
}

body.vd2025-active .wizard-step.active .step-label {
    color: #35aa47 !important;
    font-weight: 600 !important;
}

/* Progress line between steps */
body.vd2025-active .wizard-step:not(:last-child)::after {
    content: "" !important;
    position: absolute !important;
    top: 20px !important;
    left: calc(50% + 20px) !important;
    right: calc(-100% + 20px) !important;
    height: 3px !important;
    background: #e9ecef !important;
    z-index: 1 !important;
}

/* Progress line completed */
body.vd2025-active .wizard-step.completed:not(:last-child)::after {
    background: linear-gradient(90deg, #35aa47 0%, #2d8b3a 100%) !important;
}

/* ============================================
   WIZARD BODY (Content Area)
   ============================================ */
body.vd2025-active .wizard-body {
    padding: 30px !important;
    min-height: 400px !important;
    background: #ffffff !important;
}

/* ============================================
   WIZARD FOOTER (Buttons)
   ============================================ */
body.vd2025-active .wizard-footer {
    background: #f8f9fa !important;
    padding: 20px 30px !important;
    border-top: 1px solid #e9ecef !important;
    border-radius: 0 0 8px 8px !important;
    justify-content: space-between !important;
    align-items: center !important;
}

body.vd2025-active .wizard-footer .btn {
    padding: 10px 24px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    border: none !important;
    text-decoration: none !important;
}

body.vd2025-active .wizard-footer .btn.default {
    background: #6c757d !important;
    color: white !important;
}

body.vd2025-active .wizard-footer .btn.default:hover {
    background: #5a6268 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 8px rgba(108, 117, 125, 0.3) !important;
}

body.vd2025-active .wizard-footer .btn.green {
    background: linear-gradient(135deg, #35aa47 0%, #2d8b3a 100%) !important;
    color: white !important;
}

body.vd2025-active .wizard-footer .btn.green:hover {
    background: linear-gradient(135deg, #2d8b3a 0%, #35aa47 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(53, 170, 71, 0.3) !important;
}

body.vd2025-active .wizard-footer .btn.lightgreen {
    background: #76C043 !important;
    color: white !important;
}

body.vd2025-active .wizard-footer .btn.lightgreen:hover {
    background: #69AA3C !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(118, 192, 67, 0.3) !important;
}

/* ============================================
   FORM CONTROLS
   ============================================ */
body.vd2025-active .wizard-body .form-group {
    margin-bottom: 20px !important;
}

body.vd2025-active .wizard-body label {
    font-weight: 600 !important;
    color: #212529 !important;
    margin-bottom: 8px !important;
    font-size: 12px !important;
}

body.vd2025-active .wizard-body input[type="text"],
body.vd2025-active .wizard-body input[type="number"],
body.vd2025-active .wizard-body input[type="email"],
body.vd2025-active .wizard-body select,
body.vd2025-active .wizard-body textarea {
    border: 2px solid #e9ecef !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    transition: border-color 0.2s ease !important;
}

body.vd2025-active .wizard-body input:focus,
body.vd2025-active .wizard-body select:focus,
body.vd2025-active .wizard-body textarea:focus {
    border-color: #35aa47 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(53, 170, 71, 0.1) !important;
}

/* ============================================
   TABLES
   ============================================ */
body.vd2025-active .wizard-body table {
    border: 1px solid #e9ecef !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

body.vd2025-active .wizard-body table thead {
    background: linear-gradient(135deg, #35aa47 0%, #2d8b3a 100%) !important;
    color: white !important;
}

body.vd2025-active .wizard-body table thead th {
    padding: 12px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    border: none !important;
}

body.vd2025-active .wizard-body table tbody tr:hover {
    background: rgba(53, 170, 71, 0.05) !important;
}

body.vd2025-active .wizard-body table tbody td {
    padding: 12px !important;
    border-bottom: 1px solid #e9ecef !important;
}

/* ============================================
   KENDO CONTROLS
   ============================================ */
body.vd2025-active .k-dropdown,
body.vd2025-active .k-combobox,
body.vd2025-active .k-numerictextbox {
    border: 2px solid #e9ecef !important;
    border-radius: 6px !important;
}

body.vd2025-active .k-dropdown:hover,
body.vd2025-active .k-combobox:hover,
body.vd2025-active .k-numerictextbox:hover {
    border-color: #35aa47 !important;
}

/* ============================================
   VALIDATION
   ============================================ */
body.vd2025-active .field-validation-error {
    color: #dc3545 !important;
    font-size: 12px !important;
    margin-top: 4px !important;
    display: block !important;
}

body.vd2025-active .input-validation-error {
    border-color: #dc3545 !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 768px) {
    body.vd2025-active .wizard-header,
    body.vd2025-active .wizard-body,
    body.vd2025-active .wizard-footer {
        padding: 20px !important;
    }
}
