﻿.form-card {
    border: 1px solid rgba(0,0,0,.08);
    transition: transform .08s ease, box-shadow .08s ease, border-color .08s ease;
    border-radius: 16px;
}

    .form-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 30px rgba(0,0,0,.08);
        border-color: rgba(0,0,0,.18);
    }

.icon-circle {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(13,110,253,.10);
    color: #0d6efd;
    font-size: 20px;
}

.disabled-card {
    pointer-events: none;
    opacity: .55;
}

:root {
    --ddp-accent: #2f6fed; /* primary accent */
    --ddp-accent-soft: rgba(47,111,237,.12);
    --ddp-ink: #0f172a; /* slate-900-ish */
    --ddp-muted: #64748b; /* slate-500-ish */
    --ddp-border: rgba(15, 23, 42, .08);
    --ddp-shadow: 0 10px 25px rgba(2, 6, 23, .06);
    --ddp-shadow-sm: 0 4px 12px rgba(2, 6, 23, .06);
}

/* Page background (subtle) */
body {
    background: linear-gradient(180deg, rgba(47,111,237,.04) 0%, rgba(15,23,42,0) 220px);
}

/* Title */
h3.mb-0 {
    color: var(--ddp-ink);
    letter-spacing: .2px;
}

.text-muted {
    color: var(--ddp-muted) !important;
}

/* Cards: cleaner + consistent */
.card {
    border: 1px solid var(--ddp-border);
    border-radius: 14px;
    box-shadow: var(--ddp-shadow-sm);
}

    .card .card-body {
        padding: 1.1rem 1.15rem;
    }

/* Section headings */
h5, h6 {
    color: var(--ddp-ink);
}

    h6.text-uppercase {
        letter-spacing: .08em;
    }

/* Inputs */
.form-label {
    color: var(--ddp-ink);
    font-weight: 600;
    font-size: .9rem;
}

.form-select, .select2-container--bootstrap-5 .select2-selection {
    border-radius: 12px !important;
    border-color: rgba(15, 23, 42, .14) !important;
    min-height: 44px;
}

    .form-select:focus,
    .select2-container--bootstrap-5.select2-container--focus .select2-selection {
        border-color: rgba(47,111,237,.55) !important;
        box-shadow: 0 0 0 .2rem rgba(47,111,237,.15) !important;
    }

/* Buttons */
.btn-outline-secondary {
    border-radius: 12px;
    border-color: rgba(15, 23, 42, .18);
}

    .btn-outline-secondary:hover {
        background: rgba(15, 23, 42, .05);
        border-color: rgba(15, 23, 42, .22);
    }

/* Badges */
.badge {
    border-radius: 999px;
    padding: .45em .7em;
    font-weight: 600;
}

.bg-dark {
    background: #111827 !important;
}

/* Left panel detail labels */
#schoolInfo .text-muted {
    font-size: .9rem;
}

#schoolInfo strong {
    color: var(--ddp-ink);
}

/* Empty state - nicer */
#schoolInfoEmpty {
    background: rgba(15, 23, 42, .03);
    border: 1px dashed rgba(15, 23, 42, .18);
    padding: .9rem;
    border-radius: 12px;
}

/* Forms hint badge */
#formsHint.bg-success {
    background: rgba(22, 163, 74, .12) !important;
    color: #166534 !important;
    border: 1px solid rgba(22, 163, 74, .20);
}

#formsHint.bg-secondary {
    background: rgba(100, 116, 139, .12) !important;
    color: #334155 !important;
    border: 1px solid rgba(100, 116, 139, .20);
}

/* Form cards: hover, disabled, click feel (assumes your partial uses .form-card) */
.form-card {
    border-radius: 14px;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
    border: 1px solid var(--ddp-border);
    box-shadow: 0 6px 18px rgba(2, 6, 23, .05);
    position: relative;
    overflow: hidden;
}

    .form-card:hover {
        transform: translateY(-2px);
        box-shadow: var(--ddp-shadow);
        border-color: rgba(47,111,237,.25);
    }

/* Disabled state */
.disabled-card {
    opacity: .55;
    filter: grayscale(.2);
    pointer-events: none;
}

    .disabled-card::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(255,255,255,.55);
    }

/* Optional: subtle accent strip on top of cards for a premium feel */
.card::before {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(90deg, var(--ddp-accent), rgba(47,111,237,.15));
    opacity: .65;
}

/* --- Select2 single: fix double-line + vertical alignment --- */
.select2-container--bootstrap-5 .select2-selection--single {
    height: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    padding: .375rem .75rem !important; /* bootstrap-like */
    box-sizing: border-box;
}

    .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
        line-height: 1.25 !important; /* normal text line-height */
        padding-left: 0 !important;
        padding-right: 2.25rem !important; /* leave room for arrow */
    }

    .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
        height: 44px !important;
    }

    .select2-container--bootstrap-5 .select2-selection--single .select2-selection__clear {
        margin-right: .5rem !important;
        align-self: center;
    }