

:root {
    --jc-blue: #1B365D;
    --jc-blue-dark: #16294A;
    --jc-gold: #A89968;
    --jc-light-bg: #f7f8fa;
    --jc-border: #A89968;
}

.jc-blue {
    color: #1B365D; /* Juniata Blue */
}

.jc-gold-border {
    border: 2px solid #BFA46F;
    border-radius: 8px;
    background-color: #fff;
}



/* ----------------------------------------------------------
   CUSTOM RADIO BUTTONS
----------------------------------------------------------- */
.jc-radio {
    border: 2px solid var(--jc-blue) !important;
    width: 1.15em;
    height: 1.15em;
    cursor: pointer;
}
.jc-radio:focus {
    border-color: var(--jc-blue) !important;
    box-shadow: 0 0 0 3px rgba(27, 54, 93, 0.25) !important;
}
.jc-radio:checked {
    background-color: var(--jc-gold) !important;
    border-color: var(--jc-blue) !important;
}

/* ----------------------------------------------------------
   CUSTOM CHECKBOXES
----------------------------------------------------------- */
.jc-checkbox {
    width: 1.2em;
    height: 1.2em;
    border: 2px solid var(--jc-blue) !important;
    border-radius: 3px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-color: white;
    position: relative;
	flex-shrink: 0;
}
.jc-checkbox:focus {
    box-shadow: 0 0 0 3px rgba(27, 54, 93, 0.25) !important;
    outline: none;
}
.jc-checkbox:checked {
    background-color: var(--jc-gold) !important;
    border-color: var(--jc-blue) !important;
}
.jc-checkbox:checked::after {
    content: "✔";
    color: var(--jc-blue);
    font-size: 0.9em;
    font-weight: 700;
    position: absolute;
    top: -2px;
    left: 2px;
}

/* ----------------------------------------------------------
   PAGE BASE STYLES
----------------------------------------------------------- */
body {
    background: var(--jc-light-bg) !important;
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

/* ----------------------------------------------------------
   FORM WRAPPER
----------------------------------------------------------- */
.form-wrapper {
    background: #ffffff;
    border-radius: 14px;
    padding: 35px 40px;
    border: 2px solid var(--jc-gold);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* ----------------------------------------------------------
   TITLES
----------------------------------------------------------- */
.page-title {
    font-size: 1.9rem;
    font-weight: 700;
    color: var(--jc-blue);
    border-left: 8px solid var(--jc-gold);
    padding-left: 15px;
    margin-bottom: 30px;
}

.section-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 15px;
    color: var(--jc-blue);
    border-left: 5px solid var(--jc-gold);
    padding-left: 10px;
}

.form-label {
    font-weight: 600;
    color: var(--jc-blue);
}

/* ----------------------------------------------------------
   INPUTS + SELECTS + TEXTAREAS
----------------------------------------------------------- */
.form-control,
.form-select,
textarea,
input[type="text"],
input[type="date"],
input[type="number"] {
    padding: 10px 12px;
    border-radius: 8px;
    border: 1.5px solid var(--jc-gold) !important;
    font-size: 0.95rem;
    background-color: #fff;
}

.form-control:focus,
.form-select:focus,
textarea:focus {
    border-color: var(--jc-gold) !important;
    box-shadow: 0 0 0 3px rgba(168, 153, 104, 0.25) !important;
    outline: none;
}

/* ----------------------------------------------------------
   BUTTONS
----------------------------------------------------------- */

/* PRIMARY BUTTON (Submit) */
.btn-primary {
    background-color: var(--jc-blue) !important;
    border-color: var(--jc-blue) !important;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 8px;
}
.btn-primary:hover {
    background-color: var(--jc-blue-dark) !important;
    border-color: var(--jc-blue-dark) !important;
}

/* SECONDARY BUTTON (Add Row, Add Course, etc.) → NOW JUNIATA BLUE */
.btn-secondary {
    background-color: var(--jc-blue) !important;
    border-color: var(--jc-blue) !important;
    color: #fff !important;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 8px;
}
.btn-secondary:hover {
    background-color: var(--jc-blue-dark) !important;
    border-color: var(--jc-blue-dark) !important;
}

/* ----------------------------------------------------------
   TABLES
----------------------------------------------------------- */

table.table td {
    position: relative;
}

.slo-dropdown-wrapper .dropdown-menu {
    position: absolute !important;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: 260px;
    overflow-y: auto;
    z-index: 2000; /* higher than table + buttons */
}



.dropdown-menu {
    max-height: 260px;
    overflow-y: auto;
}


/* ---------------------------------------------
   Existing table input styling (unchanged)
---------------------------------------------- */

table.table td input,
table.table td select {
    border: 1.5px solid var(--jc-gold) !important;
    border-radius: 6px;
    padding: 6px;
}

table.table thead {
    background: var(--jc-blue) !important;
    color: #fff !important;
}


/* ----------------------------------------------------------
   ALERTS (Info Box)
   Now using Juniata Blue theme
----------------------------------------------------------- */
.alert-info {
    background: #e7edf5 !important; /* soft Juniata blue */
    color: var(--jc-blue) !important;
    border: 1.5px solid var(--jc-blue) !important;
    border-left-width: 6px !important;
    font-weight: 500;
}

.slo-dropdown-btn {
    border: 1.5px solid var(--jc-gold) !important;
    border-radius: 8px;
    background-color: #fff;
    color: var(--jc-blue);
    padding: 10px 12px;
    font-size: 0.95rem;
}

.slo-dropdown-btn:focus,
.slo-dropdown-btn.show {
    border-color: var(--jc-gold) !important;
    box-shadow: 0 0 0 3px rgba(168, 153, 104, 0.25) !important;
}

.slo-dropdown-btn.btn-outline-secondary {
    border-color: var(--jc-gold) !important;
}

.slo-dropdown-btn.show {
    border-color: var(--jc-gold) !important;
}

.slo-dropdown-wrapper {
    position: relative;
}

.slo-row {
    border: 2px solid var(--jc-gold);
    border-radius: 12px;
    background: #fff;
}


.slo-dropdown-wrapper .dropdown-menu {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.slo-dropdown-wrapper .dropdown-item {
    white-space: normal !important;
    word-break: break-word;
    align-items: flex-start;
}

/* Make label text wrap correctly */
.slo-dropdown-wrapper .dropdown-item span {
    display: block;
    line-height: 1.4;
}


/* =========================================
   Decision Reason 
========================================= */

.alert.decision-reason {
    max-width: 100%;
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
}
.alert.decision-reason {
    max-width: 960px;
}


.jc-gold-border {
    border: 2px solid #a89968; 
}








