﻿body {
    height: 100%;
    text-rendering: optimizeLegibility;
}

.dropzone {
    background: white;
    border-radius: 5px;
    border: 2px dashed rgb(0, 135, 247) !important;
    border-image: none;
}

/* ==========================================================================
   STUDENT ADMISSION — Modern Wizard UI
   v2.0 — Complete override of steps.css wizard-circle plugin defaults
   ========================================================================== */

/* ── Panel & Card Reset ── */
.sa-panel {
    border: none;
    box-shadow: none;
    background: transparent;
}

.sa-panel-body {
    padding: 0 !important;
}

.sa-card {
    border: none;
    box-shadow: none;
}

/* ── Page Header ── */
.sa-header {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 20px;
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 50%, #f0f9ff 100%);
    border-radius: 14px;
    margin-bottom: 24px;
    border: 1px solid #d1fae5;
}

.sa-header-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.sa-header-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    line-height: 1.3;
}

.sa-header-sub {
    font-size: 0.9rem;
    color: #64748b;
    margin: 4px 0 0;
}

/* ==========================================================================
   WIZARD STEP TABS — Full override with !important to beat steps.css
   steps.css uses: .wizard-content .wizard > .steps > ul  (specificity ~0,4,0)
   We use:         .wizard-content .wizard.wizard-circle > .steps > ul
   ========================================================================== */

/* ── Kill the connecting lines completely ── */
.wizard-content .wizard.wizard-circle > .steps > ul > li:before,
.wizard-content .wizard.wizard-circle > .steps > ul > li:after {
    display: none !important;
    content: none !important;
}

/* ── Kill the step number circle completely ── */
.wizard-content .wizard.wizard-circle > .steps .step,
.wizard-content .wizard.wizard-circle > .steps .number,
.wizard-content .wizard > .steps .step,
.wizard-content .wizard > .steps .number {
    display: none !important;
}

/* ── Steps container — flex pill bar ── */
.wizard-content .wizard.wizard-circle > .steps > ul,
.wizard-content .wizard > .steps > ul {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px;
    background: #f1f5f9;
    border-radius: 14px;
    margin: 0 0 28px 0;
    border: none;
    list-style: none;
    table-layout: auto !important;
}

/* ── Each step tab ── */
.wizard-content .wizard.wizard-circle > .steps > ul > li,
.wizard-content .wizard > .steps > ul > li {
    display: block !important;
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    text-align: center;
    position: relative;
    vertical-align: top;
}

/* ── Tab anchor — the clickable surface ── */
.wizard-content .wizard.wizard-circle > .steps > ul > li a,
.wizard-content .wizard > .steps > ul > li a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px !important;
    margin: 0 !important;
    padding-top: 12px !important;
    border-radius: 10px;
    font-weight: 600;
    font-size: 14px;
    color: #475569;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    border: none;
    background: transparent;
    white-space: nowrap;
    cursor: pointer !important;
    position: relative;
}

/* ── Tab hover (all states) ── */
.wizard-content .wizard.wizard-circle > .steps > ul > li a:hover,
.wizard-content .wizard > .steps > ul > li a:hover {
    background: rgba(255, 255, 255, 0.75);
    color: #0f172a;
}

/* ── Current / active tab ── */
.wizard-content .wizard.wizard-circle > .steps > ul > li.current > a,
.wizard-content .wizard.wizard-circle > .steps > ul > li.current > a:hover,
.wizard-content .wizard.wizard-circle > .steps > ul > li.current > a:focus,
.wizard-content .wizard > .steps > ul > li.current > a {
    background: #fff !important;
    color: #059669 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    cursor: default !important;
}

/* ── Completed / done tab ── */
.wizard-content .wizard.wizard-circle > .steps > ul > li.done > a,
.wizard-content .wizard > .steps > ul > li.done > a,
.wizard-content .wizard > .steps > ul > li.done > a:hover,
.wizard-content .wizard > .steps > ul > li.done > a:focus {
    color: #10b981 !important;
    cursor: pointer !important;
}

.wizard-content .wizard.wizard-circle > .steps > ul > li.done > a i.fa {
    color: #10b981;
}

/* ── Disabled / upcoming tabs — still look clickable ── */
.wizard-content .wizard.wizard-circle > .steps > ul > li.disabled > a,
.wizard-content .wizard.wizard-circle > .steps > ul > li.disabled > a:hover,
.wizard-content .wizard.wizard-circle > .steps > ul > li.disabled > a:focus,
.wizard-content .wizard > .steps > ul > li.disabled a,
.wizard-content .wizard > .steps > ul > li.disabled a:hover,
.wizard-content .wizard > .steps > ul > li.disabled a:focus {
    color: #94a3b8 !important;
    cursor: pointer !important;
    opacity: 1 !important;
}

.wizard-content .wizard.wizard-circle > .steps > ul > li.disabled > a:hover {
    color: #64748b !important;
    background: rgba(255, 255, 255, 0.5);
}

/* ── Step icons (Font Awesome) inside tab labels ── */
.wizard-content .wizard.wizard-circle > .steps > ul > li a i.fa {
    font-size: 14px;
    margin-right: 2px;
    flex-shrink: 0;
}

/* ==========================================================================
   WIZARD CONTENT AREA
   ========================================================================== */

.wizard-content .wizard > .content {
    overflow: hidden;
    position: relative;
    width: auto;
    padding: 0;
    margin: 0;
    font-size: 14px;
    color: #1e293b;
    line-height: 1.5;
}

.wizard-content .wizard > .content > .body {
    padding: 0 !important;
}

.wizard-content .wizard > .content > .title {
    position: absolute;
    left: -99999px;
}

/* ==========================================================================
   SECTION CARDS (inside each wizard step)
   ========================================================================== */

.tab-wizard .well.auto-card,
.tab-wizard .auto-card,
.wizard-content .well.auto-card,
.wizard-content .auto-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 18px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.tab-wizard .well.auto-card h5.text-success,
.tab-wizard .auto-card h5.text-success,
.wizard-content .well.auto-card h5.text-success,
.wizard-content .auto-card h5.text-success {
    font-size: 15px;
    font-weight: 700;
    color: #059669;
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #ecfdf5;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Labels inside wizard sections */
.wizard-content .fb-text-label,
.wizard-content .fb-date-label,
.wizard-content .fb-select-label,
.wizard-content label.control-label {
    font-weight: 600;
    font-size: 14px;
    color: #374151;
    margin-bottom: 6px;
}

/* Form controls inside wizard (exclude selectpicker) */
.wizard-content input.form-control,
.wizard-content textarea.form-control,
.wizard-content select.form-control:not(.selectpicker) {
    font-size: 14px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    padding: 8px 12px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wizard-content input.form-control:focus,
.wizard-content textarea.form-control:focus,
.wizard-content select.form-control:not(.selectpicker):focus {
    border-color: #10b981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12);
}

/* ==========================================================================
   WIZARD ACTION BUTTONS (Previous / Next / Finish)
   ========================================================================== */

.wizard-content .wizard > .actions {
    position: relative;
    display: block;
    text-align: right;
    padding: 16px 0 8px;
}

.wizard-content .wizard > .actions > ul {
    display: flex !important;
    float: none !important;
    gap: 10px;
    justify-content: flex-end;
    list-style: none;
    padding: 0;
    margin: 0;
}

.wizard-content .wizard > .actions > ul:after {
    display: none;
}

.wizard-content .wizard > .actions > ul > li {
    float: none !important;
    margin-left: 0 !important;
}

.wizard-content .wizard > .actions > ul > li > a {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 12px 36px !important;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.wizard-content .wizard > .actions > ul > li > a:hover {
    background: #f9fafb;
    border-color: #9ca3af;
    box-shadow: none;
}

/* Previous button */
.wizard-content .wizard > .actions > ul > li > a[href="#previous"] {
    background: #f8fafc !important;
    color: #475569 !important;
    border: 1px solid #d1d5db !important;
}

.wizard-content .wizard > .actions > ul > li > a[href="#previous"]:hover {
    background: #f1f5f9 !important;
    box-shadow: none !important;
}

/* Next button */
.wizard-content .wizard > .actions > ul > li > a[href="#next"] {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    color: #fff !important;
    border: none !important;
}

.wizard-content .wizard > .actions > ul > li > a[href="#next"]:hover {
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35) !important;
    transform: translateY(-1px);
}

/* Finish button */
.wizard-content .wizard > .actions > ul > li > a[href="#finish"],
.wizard-content .wizard > .actions > ul > li:last-child > a {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #fff !important;
    border: none !important;
}

.wizard-content .wizard > .actions > ul > li > a[href="#finish"]:hover,
.wizard-content .wizard > .actions > ul > li:last-child > a:hover {
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35) !important;
    transform: translateY(-1px);
}

/* Disabled action buttons */
.wizard-content .wizard > .actions > ul > li.disabled > a,
.wizard-content .wizard > .actions > ul > li.disabled > a:hover {
    background: #f1f5f9 !important;
    color: #94a3b8 !important;
    border: 1px solid #e2e8f0 !important;
    cursor: not-allowed;
    box-shadow: none !important;
    transform: none !important;
}

/* ==========================================================================
   ACTIVITY TABLE (inside admission form)
   ========================================================================== */

#tblActivities {
    font-size: 13px;
}

#tblActivities thead th {
    background: #f8fafc;
    font-weight: 600;
    color: #374151;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: 2px solid #e5e7eb;
    padding: 10px 12px;
}

#tblActivities tbody td {
    vertical-align: middle;
    padding: 10px 12px;
}

#activityListWrapper {
    animation: saFadeIn 0.3s ease;
}

/* ==========================================================================
   DOCUMENT UPLOAD TABLE
   ========================================================================== */

#documentsTable thead td {
    background: #f8fafc;
    font-weight: 600;
    font-size: 12px;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 10px 12px;
    border-bottom: 2px solid #e5e7eb;
}

/* ==========================================================================
   DROPZONE AREA
   ========================================================================== */

.wizard-content .dropzone {
    border: 2px dashed #93c5fd !important;
    border-radius: 12px;
    background: #f0f9ff;
    padding: 30px 20px;
    text-align: center;
    color: #3b82f6;
    font-weight: 500;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.wizard-content .dropzone:hover {
    border-color: #3b82f6 !important;
    background: #eff6ff;
}

/* ==========================================================================
   MODAL (Document details)
   ========================================================================== */

#documentDetailsModal .modal-header {
    background: #f8fafc;
    border-bottom: 1px solid #e5e7eb;
    padding: 16px 20px;
}

#documentDetailsModal .modal-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #0f172a;
}

#documentDetailsModal .modal-body {
    padding: 20px;
}

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */

@keyframes saFadeIn {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
    .wizard-content .wizard.wizard-circle > .steps > ul,
    .wizard-content .wizard > .steps > ul {
        flex-direction: column;
        gap: 4px;
    }

    .wizard-content .wizard.wizard-circle > .steps > ul > li,
    .wizard-content .wizard > .steps > ul > li {
        flex: none;
    }

    .wizard-content .wizard.wizard-circle > .steps > ul > li a,
    .wizard-content .wizard > .steps > ul > li a {
        justify-content: flex-start !important;
        padding: 10px 14px !important;
    }

    .sa-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        padding: 16px 18px;
    }

    .sa-header-title {
        font-size: 1.15rem;
    }

    .wizard-content .wizard > .actions > ul {
        flex-direction: column;
    }

    .wizard-content .wizard > .actions > ul > li > a {
        width: 100%;
        justify-content: center;
    }

    .tab-wizard .well.auto-card,
    .tab-wizard .auto-card,
    .wizard-content .well.auto-card,
    .wizard-content .auto-card {
        padding: 16px;
    }
}

/* General text sizing for wizard body content */
.wizard-content .form-group label,
.wizard-content .form-group > label {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.wizard-content small {
    font-size: 13px;
    color: #64748b;
}

.wizard-content h5 {
    font-size: 16px;
}

/* Radio & checkbox labels */
.wizard-content .radio label,
.wizard-content .radio-inline,
.wizard-content .checkbox label {
    font-size: 14px;
    font-weight: 500;
}

.wizard-content input[type="radio"],
.wizard-content input[type="checkbox"] {
    transform: scale(1.1);
    margin-right: 6px;
}

@media (max-width: 480px) {
    .wizard-content .wizard.wizard-circle > .steps > ul > li a,
    .wizard-content .wizard > .steps > ul > li a {
        font-size: 12px;
        padding: 8px 10px !important;
    }
}
