/* site-04-complaint-form.css: Flatpickr, complaint form, story editor (14-16).
   Part of the old site.css, split by sections (same order: _Styles.cshtml links them one after the other,
   so the cascade is exactly the same). */

/* =====================================================================
   14. FLATPICKR (date/time picker)
   ===================================================================== */

/* Input */
input.time-picker.form-control.cool-input,
input.time-picker.form-control.cool-input.flatpickr-input,
.flatpickr-alt-input.cool-input {
    background-color: #0f172a !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
}

    input.time-picker.form-control.cool-input:hover,
    input.time-picker.form-control.cool-input.flatpickr-input:hover,
    .flatpickr-alt-input.cool-input:hover {
        background-color: #1e293b !important;
        border-color: rgba(255, 255, 255, 0.35) !important;
        color: #ffffff !important;
    }

    input.time-picker.form-control.cool-input:focus,
    input.time-picker.form-control.cool-input.flatpickr-input:focus,
    .flatpickr-alt-input.cool-input:focus,
    .flatpickr-input.active:focus {
        background-color: #1e293b !important;
        color: #ffffff !important;
        border-color: #3b82f6 !important;
        box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25) !important;
    }

/* Dropdown panel */
.flatpickr-calendar {
    background: #0b1329 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.6) !important;
    color: #ffffff !important;
    border-radius: 0.5rem;
}

    .flatpickr-calendar.arrowTop:before,
    .flatpickr-calendar.arrowTop:after {
        border-bottom-color: #0b1329 !important;
    }

    .flatpickr-calendar.arrowBottom:before,
    .flatpickr-calendar.arrowBottom:after {
        border-top-color: #0b1329 !important;
    }

/* Header (month and year) */
.flatpickr-months {
    background: transparent !important;
    padding: 0.5rem 0.5rem 0 !important;
}

    .flatpickr-months .flatpickr-month {
        background: transparent !important;
        color: #ffffff !important;
        fill: #ffffff !important;
    }

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    color: #ffffff !important;
    background: #131f3d !important;
    font-weight: 600;
}

    .flatpickr-current-month .flatpickr-monthDropdown-months option {
        background: #0b1329 !important;
        color: #ffffff !important;
    }

.flatpickr-prev-month,
.flatpickr-next-month {
    color: #ffffff !important;
    fill: #ffffff !important;
}

    .flatpickr-prev-month:hover svg,
    .flatpickr-next-month:hover svg {
        fill: #3b82f6 !important;
    }

/* Weekdays */
.flatpickr-weekdays {
    background: transparent !important;
}

span.flatpickr-weekday {
    color: rgba(255, 255, 255, 0.65) !important;
    background: transparent !important;
    font-weight: 600;
}

/* Month days */
.flatpickr-day {
    color: #ffffff !important;
    background: transparent !important;
    border-color: transparent !important;
    border-radius: 0.375rem !important;
}

    .flatpickr-day:hover {
        background: rgba(255, 255, 255, 0.12) !important;
    }

    .flatpickr-day.today {
        border-color: #3b82f6 !important;
        background: rgba(59, 130, 246, 0.15) !important;
    }

    .flatpickr-day.selected,
    .flatpickr-day.selected:hover {
        background: #3b82f6 !important;
        border-color: #3b82f6 !important;
        color: #ffffff !important;
        font-weight: bold;
    }

    .flatpickr-day.prevMonthDay,
    .flatpickr-day.nextMonthDay {
        color: rgba(255, 255, 255, 0.3) !important;
    }

/* Time picker */
.flatpickr-time {
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
    background: #0b1329 !important;
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

    .flatpickr-time input {
        color: #ffffff !important;
        font-weight: 600;
    }

    .flatpickr-time .flatpickr-time-separator,
    .flatpickr-time .flatpickr-am-pm {
        color: #ffffff !important;
    }

        .flatpickr-time input:hover,
        .flatpickr-time .flatpickr-am-pm:hover {
            background: rgba(255, 255, 255, 0.08) !important;
        }


/* =====================================================================
   15. COMPLAINT FORM (victims / accused)
   ===================================================================== */
.form-container {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 18px;
    padding: 24px;
    overflow: hidden;
    background: var(--panel);
    border: 1px solid #334155;
    border-radius: 14px;
    box-shadow: var(--form-shadow);
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

    .form-container h6 {
        color: #e2e8f0;
        font-size: 0.9rem;
        letter-spacing: 0;
    }

        .form-container h6 i {
            color: #38bdf8;
            margin-right: 5px;
        }

    .form-container hr {
        border: 0;
        border-top: 1px solid #334155;
        opacity: 1;
    }

/* --- "Same address" checkbox --- */
.same-address-box {
    padding: 1rem 1.25rem;
    background-color: rgba(30, 41, 59, 0.4);
    border: 1px solid #334155;
    border-left: 4px solid #3b82f6;
    border-radius: 8px;
    transition: all 0.2s ease-in-out;
}

    .same-address-box .form-check {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        margin: 0;
    }

    .same-address-box .form-check-input {
        flex: 0 0 auto;
        width: 20px;
        height: 20px;
        margin-top: 3px;
        background-color: #0f172a;
        border: 2px solid #64748b;
        border-radius: 5px;
        cursor: pointer;
        transition: all 0.2s;
    }

        .same-address-box .form-check-input:checked {
            background-color: #3b82f6;
            border-color: #3b82f6;
            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
        }

    .same-address-box .form-check-label {
        margin: 0;
        cursor: pointer;
        width: 100%;
    }

        .same-address-box .form-check-label > div {
            color: #f1f5f9;
            font-size: 0.95rem;
            font-weight: 600;
            letter-spacing: 0.01em;
        }

    .same-address-box small {
        display: block;
        margin-top: 4px;
        color: #94a3b8 !important;
        font-size: 0.82rem;
        line-height: 1.5;
    }

/* --- Victim and accused cards --- */
.victim-card,
.accused-card {
    position: relative;
    padding: 19px;
    margin-bottom: 14px;
    background: transparent;
    border: 1px solid #475569;
    border-radius: 12px;
    transition: border-color 0.2s ease;
}

.victim-card {
    animation: formCardIn 0.22s ease-out;
}

.victim-title,
.accused-title {
    color: #e2e8f0 !important;
    font-size: 0.92rem;
}

    .victim-title i,
    .accused-title i {
        color: #60a5fa;
    }

/* --- Remove buttons --- */
.remove-victim-btn,
.remove-accused-btn {
    border-radius: 7px !important;
    font-weight: 600;
}

.remove-accused-btn {
    color: #dc3545;
    border-color: rgba(220, 53, 69, 0.4);
    background-color: transparent;
    transition: all 0.2s ease-in-out;
}

    .remove-accused-btn:hover {
        background-color: rgba(220, 53, 69, 0.1);
        color: #dc3545;
        border-color: #dc3545;
    }

/* --- Add buttons --- */
#btnAddVictim,
#btnAddAccused {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 6px 12px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #94a3b8;
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

    #btnAddVictim:hover,
    #btnAddAccused:hover {
        color: #60a5fa;
        background-color: rgba(59, 130, 246, 0.1);
    }

    #btnAddVictim:active,
    #btnAddAccused:active {
        transform: scale(0.97);
    }


/* =====================================================================
   16. STORY EDITOR
   ===================================================================== */
.story-box {
    padding: 14px;
    background: linear-gradient(145deg, #f8fafc, #f1f5f9);
    border: 1px solid #dbe3ee;
    border-radius: 10px;
}

.story-toolbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 20px !important;
    padding-bottom: 9px;
    border-bottom: 1px solid #e2e8f0;
}

    .story-toolbar .btn {
        min-width: 34px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 7px;
        transition: all 0.18s ease;
    }

        .story-toolbar .btn:hover {
            color: #2563eb;
            background: #eff6ff;
            border-color: #93c5fd;
            transform: translateY(-1px);
        }

/* Must come after "form .cool-input:hover/:focus" */
.story-box textarea.cool-input {
    min-height: 700px;
    background: #fff;
    border-color: #cbd5e1;
    resize: vertical;
}

/* The editable page of the rich text editor (_RichTextEditor), like a sheet of paper */
.rte-area {
    display: block;
    max-width: 850px;
    margin: 0 auto;
    padding: 50px 60px !important;
    background-color: #ffffff !important;
    color: #111827 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 2px !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    line-height: 1.6;
    transition: none;
}

    .rte-area:focus {
        outline: none !important;
        border-color: #9ca3af !important;
        box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.2) !important;
    }
