/* 自定义样式 */
body {
    font-family: 'Microsoft YaHei', Arial, sans-serif;
    overflow-x: hidden;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6,p,ul,li,.h1,.h2,.h3,.h4,.h5,.h6{ padding: 0; margin: 0; }

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

.ratio>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.ratio {
    position: relative;
    width: 100%;
}
.ratio::before {
    display: block;
    padding-top: var(--bs-aspect-ratio);
    content: "";
}
.ratio-1x1 {
    --bs-aspect-ratio: 100%;
}
.ratio-4x3 {
    --bs-aspect-ratio: 75%;
}
.rounded {
    border-radius: var(--bs-border-radius) !important;
}
.row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}
.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}
.ms-3 {
    margin-left: 1rem !important;
}
.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
}
.text-white {
    --bs-text-opacity: 1;
    color: #ffffff !important;
}

.btn-group>.btn-group:not(:last-child)>.btn, .btn-group>.btn.dropdown-toggle-split:first-child, .btn-group>.btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.btn-group-vertical>.btn, .btn-group>.btn {
    position: relative;
    flex: 1 1 auto;
}
.btn-check {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

/**********/
/* Custom */
/**********/

/* Accordion */
.accordion-button { background-color: #fff; padding: 1.75rem 0rem; }
.accordion-button:not(.collapsed) { box-shadow: inset 0 -1px 0 rgb(0 0 0 / 0%); }
.accordion-button:not(.collapsed),
.accordion-button:hover { background-color: #fff; color: #FF9800; }
.accordion-body{ background-color: #fff; padding: 0 0 1.75rem; }
.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FF9800'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    transform: rotate(-180deg)
}
.accordion-item{ background-color: #fff; border: 1px solid #e7eaf3; }
.accordion-body{ background-color: #fff; }

/* Background */
.bg-blue{ background: #6b9bf3; }
.bg-e9ebf2{ background: #e9ebf2; }
.bg-e9eefc{ background: #e9eefc; }
.bg-eff2f6{ background: #eff2f6; }
.bg-f4f7f9{ background: #f4f7f9; }
.bg-f5f9fc{ background: #f5f9fc; }
.bg-f7f7fc{ background: #f7f7fc; }
.bg-faeced{ background: #faeced; }
.bg-green{ background: #00b894; }
.bg-light{ background: #f5f9fc !important; }
.bg-muted{ background: #86878b; }
.bg-orange{ background: #e17055; }
.bg-red-light{ background: #f7dadb; }
.bg-red{ background: #FF9800; }

.bg-primary{ background: #e73836 !important; }

/* Badge */
.badge-notification{ background: #FF9800; border-radius: 3px; font-size: 12px; padding: 3px 5px; position: absolute; top: 0; right: 0; }

/* Border */
.border-20{ border-radius: 20px; }
.border-bottom-20{ border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; }
.border-bottom-e6e7ec{ border-bottom: 1px solid #e6e7ec; }
.border-bottom-eaeaea{ border-bottom: 1px solid #eaeaea; }
.border-bottom{ border-color: #e9eefc !important; }
.border-e6e7ec{ border: 1px solid #e6e7ec; }
.border-eaeaea{ border-color: #eaeaea; }
.border-light-dashed{ border: 1px dashed #e9eefc !important; }
.border-light{ border-color: #e9eefc !important; }
.border-side-e6e7ec{ border-left: 1px solid #e6e7ec; border-right: 1px solid #e6e7ec; }
.border-side{ border-left: 1px solid #e9eefc; border-right: 1px solid #e9eefc; }
.border-top-20{ border-top-left-radius: 20px; border-top-right-radius: 20px; }
.border-top{ border-color: #e9eefc !important; }
.border-transparent{ border-color: transparent; }

/* Button */
.btn{ padding: .6rem 1.2rem; }
.btn-group-red { background: #e9ebf2; border-color: transparent !important; color: #6c757d; }
.btn-group-red:hover, .btn-check:checked+.btn-group-red, .btn-group-red.active  { background: #FF9800; border-color: #FF9800; color: #fff; }
.btn-light-red, .btn-light-red:disabled{ background: rgba(205, 65, 74, .2); border-color: transparent; color: #b53a42 !important; }
.btn-light-red:hover,
.btn-light-red:focus{ background: #b53a42 !important; border-color: #b53a42 !important; color: #fff !important; }
.btn-light-sm:hover{ background: rgba(205, 65, 74, .15); border-color: transparent; color: #b53a42; }
.btn-light-sm{ background: rgba(205, 65, 74, .05); color: #FF9800; padding: .0rem .5rem; }
.btn-outline-black{ background: #fff; border-color: #e7eaf3; color: #212529; }
.btn-outline-black:hover, .btn-check:checked+.btn-outline-black, .btn-outline-black.active { background: #e7eaf3 !important; border-color: #e7eaf3; color: #212529; }
.btn-outline-muted{ background: #fff; border-color: #e9eefc; color: #6c757d; }
.btn-outline-muted:hover, .btn-check:checked+.btn-outline-muted, .btn-outline-muted.active { background: #e9eefc; border-color: #e9eefc; color: #111; }
.btn-outline-red{ background: #fff; border-color: #e9eefc; color: #6c757d; }
.btn-outline-red:hover, .btn-check:checked+.btn-outline-red, .btn-outline-red.active { background: #FF9800 !important; border-color: #FF9800 !important; color: #fff !important; }
.btn-outline-transparent{ background: transparent; border-color: rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .6); }
.btn-outline-transparent:hover, .btn-check:checked+.btn-outline-transparent, .btn-outline-transparent.active { background: rgba(255, 255, 255, .2); border-color: rgba(255, 255, 255, .1); color: #fff; }
.btn-red, .btn-red:disabled{ background: #FF9800 !important; border-color: #FF9800 !important; color: #fff !important; }
.btn-red-sm.disabled,
.btn-red-sm:hover,
.btn-red-sm:focus{ background: rgba(205, 65, 74, .15); border-color: transparent; color: #b53a42; }
.btn-red-sm{ background: rgba(205, 65, 74, .075); color: #FF9800; padding: .05rem .5rem !important; }
.btn-red:hover,
.btn-red:focus{ background: #b53a42 !important; border-color: #b53a42 !important; color: #fff !important; }
.btn-status-light:hover{ background: rgba(152, 167, 181, .15); color: rgba(152, 167, 181, 1);; cursor: pointer; }
.btn-status-light{ background: rgba(152, 167, 181, .1); color: rgba(152, 167, 181, 1); border-radius: 4px; font-size: 13px; font-weight: 600; padding: 3px 17px; text-align: center; text-decoration: none; }
.btn-status-red:hover{ background: rgba(246, 79, 119, .15); color: rgba(246, 79, 119, 1); cursor: pointer; }
.btn-status-red{ background: rgba(246, 79, 119, .1); color: rgba(246, 79, 119, 1); border-radius: 4px; font-size: 13px; font-weight: 600; padding: 3px 24px; text-align: center; text-decoration: none; }
.btn-att{ background: #f7f7fc; color: transparent; font-size: .875em; padding: 4px 6px; }
.btn-att-blue{ color: #6b9bf3; }
.btn-att-blue:hover{ background: #f1f1fc; color: #6b9bf3; }
.btn-att-green{ color: #169b82; }
.btn-att-green:hover{ background: #f1f1fc; color: #169b82; }
.btn-att-muted{ color: #6c757d; }
.btn-att-muted:hover{ background: #f1f1fc; color: #6c757d; }
.btn-att-orange{ color: #eb9651; }
.btn-att-orange:hover{ background: #f1f1fc; color: #eb9651; }
.btn-att-purple{ color: #885998; }
.btn-att-purple:hover{ background: #f1f1fc; color: #885998; }
.btn-att-red{ color: #FF9800; }
.btn-att-red:hover{ background: #f1f1fc; color: #FF9800; }
.btn-att-transparent{ color: transparent; }
.btn-att-transparent:hover{ background: #f1f1fc; color: transparent; }
.btn-att-yellow{ color: #e5af33; }
.btn-att-yellow:hover{ background: #f1f1fc; color: #e5af33; }
.btn-score, .btn-feedback{ background: #f7f7fc; padding: 2px 6px; width: 142px; }
.btn-score:hover, .btn-feedback:hover{ background: #f1f1fc; }
.btn-red-transparent{ border: 1px solid #FF9800; color: #FF9800; }
.btn-red-transparent:hover{ background: #FF9800; border: 1px solid #FF9800; color: #fff; }

.btn-primary {
    background: #e73836 !important;
    border-color: #e73836 !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background: #cf3231 !important; /* ~10% darker than #e73836 */
    border-color: #cf3231 !important;
    color: #fff !important;
    box-shadow: none !important;
    outline: none !important;
}

.btn-primary-sm {
    padding: .3rem .6rem !important;
}

/* Light variant */
.btn-primary-light {
    background: #fce7e7; /* light red tone */
    border: 1px solid #fce7e7;
    color: #e73836;
}

.btn-primary-light:hover,
.btn-primary-light:focus {
    background: #f9cfcf;
    border-color: #f9cfcf;
    color: #e73836;
}

/* Disabled State â€” flat, subtle, but readable */
.btn-primary-light:disabled,
.btn-primary-light.disabled {
    background: #f5d5d5; /* slightly darker muted tone */
    border-color: #f5d5d5; /* same as background for consistency */
    color: #e4a3a3;        /* softer red for text */
    cursor: not-allowed;
    pointer-events: none;
    opacity: 1;            /* don't use global opacity fade */
}

/* Card */
.card-hover:hover{ box-shadow: rgba(100, 100, 111, 0.05) 0px 7px 29px 0px; border-color: #dfe0e4 !important; cursor: pointer; }
.card-link-1 p{ color: #212121; }
.card-link-1:hover{ background: rgba(236, 238, 245, .8) !important; }
.card-link-1{ background: rgba(236, 238, 245, .4); }
.card-link:hover{ border-color: #dee8f5 !important; cursor: pointer; }
.card-link:hover{ box-shadow: rgba(100, 100, 111, 0.1) 0px 5px 25px 0px; cursor: pointer; }
.card-red-light{ background: rgba(205, 65, 74, .1); border: 1px dashed rgba(205, 65, 74, .5); }
.card-shadow{ border-radius: 0.25rem; border: 0; box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.04) 0px 0px 0px 1px; padding: 25px; }
.card-shadow{ border: 0; box-shadow: rgba(100, 100, 111, 0.02) 0px 7px 29px 0px; }

/* Date Picker */
.datepicker{ border-color: #e9eefc !important; font-size: 14px !important; padding: 10px !important; }
.datepicker table tr td.today{ background: rgba(181,58,66,.15) !important; }
.datepicker table tr td.active, .datepicker table tr td.active:hover{ background: #FF9800 !important; text-shadow: none !important; }

/* Date Range Picker */
.daterangepicker .calendar-table td, .daterangepicker .calendar-table th,
.daterangepicker .drp-selected,
.daterangepicker .ranges li,
.daterangepicker .drp-buttons .btn{ font-family: 'Titillium Web', sans-serif !important; font-size: 13px !important; }
.daterangepicker td.active, .daterangepicker td.active:hover,
.daterangepicker td.active.start-date.available,
.daterangepicker td.active.end-date.in-range.available { background: rgba(205,65,74,.9) !important; }
.daterangepicker td.available:hover, .daterangepicker td.in-range.available{ background: rgba(205,65,74,.075) !important; }
.daterangepicker td.off.ends.active.start-date.available, .daterangepicker td.off.ends.in-range.available{ background-color: inherit !important; }
.daterangepicker .ranges li:hover{ background: rgba(205,65,74,.075) !important; }
.daterangepicker .ranges li.active{ background: #FF9800 !important; }
.daterangepicker .drp-buttons .applyBtn{ background: #FF9800; border-color: #FF9800; }
.daterangepicker .drp-buttons .applyBtn:hover{ background: #b53a42; border-color: #b53a42; }

/* Dropdown */
.dropdown-red{ border-color: #e9eefc; }
.dropdown-red .dropdown-item:hover,
.dropdown-red .dropdown-item.active{ background: #eff2f6; color: #FF9800; }

/* Font Awesome */
.fa-circle-4{ font-size: 4px; vertical-align: middle; }

/* Font size */
.fs-5{ font-size: 5px; }
.fs-6{ font-size: 6px; }
.fs-7{ font-size: 7px; }
.fs-8{ font-size: 8px; }
.fs-9{ font-size: 9px; }
.fs-10{ font-size: 10px; }
.fs-11{ font-size: 11px; }
.fs-12{ font-size: 12px; }
.fs-13{ font-size: 13px; }
.fs-14{ font-size: 14px; }
.fs-15{ font-size: 15px; }
.fs-16{ font-size: 16px; }
.fs-17{ font-size: 17px; }
.fs-18{ font-size: 18px; }
.fs-19{ font-size: 19px; }
.fs-20{ font-size: 20px; }
.fs-21{ font-size: 21px; }
.fs-22{ font-size: 22px; }
.fs-23{ font-size: 23px; }
.fs-24{ font-size: 24px; }
.fs-25{ font-size: 25px; }
.fs-26{ font-size: 26px; }
.fs-27{ font-size: 27px; }
.fs-28{ font-size: 28px; }
.fs-29{ font-size: 29px; }
.fs-30{ font-size: 30px; }
.fs-31{ font-size: 31px; }
.fs-32{ font-size: 32px; }
.fs-33{ font-size: 33px; }
.fs-34{ font-size: 34px; }
.fs-35{ font-size: 35px; }
.fs-36{ font-size: 36px; }
.fs-37{ font-size: 37px; }
.fs-38{ font-size: 38px; }
.fs-39{ font-size: 39px; }
.fs-40{ font-size: 40px; }

/* Font weight */
.fw-200{ font-weight: 200; }
.fw-300{ font-weight: 300; }
.fw-400{ font-weight: 400; }
.fw-600{ font-weight: 600; }
.fw-700{ font-weight: 700; }

/* Form */
.form-check-input:checked{ border-color: #FF9800; background-color: #FF9800; }
.form-control{ border: 1px solid #e7eaf3; padding: .6rem 1rem; }
.form-control:hover, .form-control:active{ border: 1px solid #d5d8e1; }
.input-group-text{ background-color: #e7eaf3; border-color: #e7eaf3; }

#form-consultation .form-control{  background: transparent;  border-color: rgba(255, 255, 255, .1); color: #fff; }
#form-consultation .form-control:hover, #form-consultation .form-control:focus{ border-color: rgba(255, 255, 255, .5); }
#form-consultation .form-label{ color: rgba(255, 255, 255, .6); }
#form-consultation select option{ color: #1e2022; }
#form-consultation select:invalid{ color: rgba(255, 255, 255, .6); }
#form-consultation .btn-white{ background: #fff; color: #FF9800; }
#form-consultation .btn-white:hover{ background: rgba(255, 255, 255, .8) !important; color: #FF9800 !important; }

.form-label{ color: #6c757d; }
.form-border-bottom{ background: transparent; border: transparent; border-bottom: 1px solid #e9eefc; border-radius: 0; padding-left: 0; padding-right: 0; padding-top: 0; }
.form-border-bottom:hover, .form-border-bottom:focus{ background: transparent; border: transparent; border-bottom: 1px solid #6c757d; box-shadow: none; color: #212529; }
.form-check-input:checked{ border-color: #FF9800; background-color: #FF9800; }
.form-portal{ background: #ffffff !important; border: 1px solid #e9eefc !important; padding: .6rem .75rem .6rem 2.5rem; border-radius: .25rem; }
.form-portal:hover
.form-portal:focus{ background: #ffffff !important; border: 1px solid #e9eefc !important; padding: .6rem .75rem; border-radius: .25rem; }
.input-group-text{ background: #eff2f6; border: 1px solid #eff2f6; }
.input-group-dark .form-control{ background: #6c757d; border-color: #6c757d; padding: .6rem .75rem; border-radius: .25rem; }
.input-group-dark .input-group-text{ background: #6c757d; border: 1px solid #6c757d; }
.input-group-dark .form-control:hover, .input-group-dark .form-control:hover + .input-group-text{ background: #6c757d; border-color: #6c757d; }
.input-group-light .form-control{ background: #eaecf3; border: 1px solid #eaecf3; padding: .6rem .75rem; border-radius: .25rem; }
.input-group-light .input-group-text{ background: #eaecf3; border: 1px solid #eaecf3; }
.input-group-light .form-control:hover, .input-group-light .form-control:hover + .input-group-text{ background: #eaecf3; border-color: #eaecf3; }
.input-group-transparent .form-control{ background: transparent; border-color: #e9eefc; padding: .6rem .75rem; border-radius: .25rem; }
.input-group-transparent .input-group-text{ background: transparent; border: 0; border-bottom: 1px solid #e9eefc; border-radius: 0; padding-left: 0; padding-right: 0; }
.input-group-transparent .form-control:hover, .input-group-transparent .form-control:hover + .input-group-text{ background: transparent; border-color: #6c757d; }
input[type="file"].form-control.form-border-bottom { margin-top: 10px; padding-left: .75rem !important; }
input[readonly], input[readonly]:hover, input[readonly]:focus{ background: transparent !important; border-bottom: 1px solid #e9eefc !important; color: #6c757d; }

/* FullCalendar */
.calendar{ margin-bottom: 0px !important; }
.calendar a{ color: #6c757d; text-decoration: none; }
.fc-header-toolbar{ margin-bottom: 18px !important; }
.fc-toolbar-title{ font-size: 1rem !important; }
.fc-icon{ font-size: 1rem !important; height: 1em !important; line-height: 1 !important; width: 1.2em !important; }
.fc-button{ background: #FF9800 !important; border: 1px solid #FF9800 !important; color: #fff !important; line-height: 1 !important; padding: .5px !important; font-size: 9px !important; line-height: .5 !important; }
.fc-button:hover{ background: #b53a42 !important; border: 1px solid #b53a42 !important; }
.fc-prev-button{ border-top-left-radius: 4px !important; border-bottom-left-radius: 4px !important; }
.fc-next-button{ border-top-right-radius: 4px !important; border-bottom-right-radius: 4px !important; }
.fc-event-title{ font-size: 13px !important; }
.fc-theme-standard td, .fc-theme-standard th, .fc-scrollgrid, .fc-day{ border-color: #e6e7ec !important; }
.fc-col-header-cell-cushion{ font-weight: normal; }
.fc-day-today{ background: rgba(230, 231, 236, .6) !important; }
.fc-day a:hover{ text-decoration: none !important; }
.calendar-clickable .fc-event{ cursor: pointer; }

/* Height */
.height{ min-height: calc(100vh - 98px); max-height: calc(100vh - 98px); overflow-y: auto; }
.mh-104{ min-height: calc(100vh - 104px); }
.mh-203{ min-height: calc(100vh - 203px); }
.min-vh-100-105{ min-height: calc(100vh - 105px); }
.min-vh-100-lg{ height: 100vh; }

/* Image */
.img-150{ border-radius: 50%; height: 150px; min-width: 150px; width: 150px; object-fit: cover; }
.img-25{ border-radius: .25rem; height: 25px; width: 25px; min-height: 25px; min-width: 25px; object-fit: cover; }
.img-45{ border-radius: 50%; height: 45px; min-width: 45px; width: 45px; margin-right: 15px; margin-top: 3px; object-fit: cover; }
.img-46{ border-radius: .25rem; width: 46px; height: 46px; min-height: 46px; min-width: 46px; object-fit: cover; }
.img-48{ border-radius: .25rem; width: 48px; height: 48px; min-height: 48px; min-width: 48px; object-fit: cover; }
.img-70{ border-radius: 50%; height: 70px; width: 70px; margin-right: 15px; margin-top: 3px; object-fit: cover; }
.img-72{ border-radius: 0.25rem; width: 72px; height: 72px; min-height: 72px; min-width: 72px; object-fit: cover; }
.img-78{ border-radius: .25rem; width: 78px; height: 78px; object-fit: cover; }
.img-80{ width: 80px; height: 80px; }
.img-cover{ object-fit: cover; }
.img-datatable{ border-radius: 50%; height: 40px; width: 40px; margin-right: 10px; margin-top: 4px; object-fit: cover; }
.img-fit{ object-fit: cover; }
.img-letter-25{ background: #eff2f6; border-radius: .25rem; color: #6c757d; min-width: 25px; width: 25px; height: 25px; text-align: center; font-weight: 700; font-size: 14px; padding-top: 2px; }
.img-letter-78{ background: #e6e7ec; color: #6c757d; border-radius: 0.25rem; min-width: 78px; width: 78px; height: 78px; text-align: center; font-weight: 700; font-size: calc(2rem + .3vw); padding-top: 10px; }
.img-letter-lg{ background: #eff2f6; border-radius: .25rem; color: #6c757d; min-width: 78px; width: 78px; height: 78px; text-align: center; font-weight: 700; font-size: 40px; padding-top: 8px; }
.img-letters-lg{ background: #eff2f6; border-radius: .25rem; color: #6c757d; min-width: 78px; width: 78px; height: 78px; text-align: center; font-weight: 700; font-size: 32px; padding-top: 14px; }
.img-letter{ background: #eff2f6; border-radius: .25rem; color: #6c757d; min-width: 48px; width: 48px; height: 48px; text-align: center; font-weight: 700; font-size: 22px; padding-top: 8px; }
.img-missing-file{ background: #eff2f6; border-radius: .25rem; height: 78px; width: 78px; }

/* Line */
.line-card{ background: 0; border-top: 1px solid rgba(0,0,0,.2); }

/* Line height */
.lh-14{ line-height: 1.4; }
.lh-16{ line-height: 1.6; }

/* Link */
.link-att.disabled, .link-score.disabled, .link-trial.disabled, .link-feedback.disabled{ cursor: default; opacity: 1; }
.link-att:hover, .link-score:hover, .link-trial:hover, .link-feedback:hover{ opacity: .8; }
.link-black-red:hover{ color: #FF9800; text-decoration: none; }
.link-black-red{ color: #212529; text-decoration: none; }
.link-dark-red:hover{ color: #b53a42; }
.link-dark-red{ color: #212529; text-decoration: none; }
.link-green:hover{ color: #12826f; }
.link-green{ color: #169b82; text-decoration: none; }
.link-menu.active{ color: #ffffff; }
.link-menu:hover,
.link-menu{ color: #86878b; text-decoration: none; }
.link-muted-1:hover{ color: #6c757d; text-decoration: none; }
.link-muted-1{ color: #86878b; text-decoration: none; }
.link-muted-2-red:hover{ color: #FF9800; }
.link-muted-2-red{ color: #677787; text-decoration: none; }
.link-muted-red:hover{ color: #b53a42; }
.link-muted-red{ color: #6c757d; text-decoration: none; }
.link-opacity-7:hover{ opacity: .7; }
.link-opacity-9:hover{ opacity: .9; }
.link-opacity:hover{ opacity: .8; }
.link-opacity{ text-decoration: none; }
.link-red:hover{ color: #b53a42; cursor: pointer; }
.link-red:hover{ color: #b53a42; }
.link-red{ color: #FF9800; text-decoration: none; }
.link-red{ color: #FF9800; text-decoration: none; }

.link-primary {
    color: rgba(231, 56, 54, 1) !important;
    text-decoration: none !important;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.link-primary:hover,
.link-primary:focus {
    color: rgba(231, 56, 54, 0.9) !important;
    text-decoration: none !important;
    outline: none !important;
}

/* Margin */
.mt-25{ margin-top: 25px; }
.mt-30{ margin-top: 30px; }
.mt-35{ margin-top: 35px; }
.mt-80{ margin-top: 80px; }
.mt-n1{ margin-top: -1px; }
.mb-20{ margin-bottom: 20px; }

/* Nav */
.nav-menu .nav-link.active{ border: 1px solid #FF9800; background: #FF9800; color: #fff; }
.nav-menu .nav-link:hover{ color: #fff; }
.nav-menu .nav-link{ border: 1px solid transparent; border-radius: 0.25rem; color: #87CEEB; padding: .625rem 1rem; }
.nav-menu-sm .nav-link.active{ color: #FF9800 ; }
.nav-menu-sm .nav-link:hover{ color: #FF9800 ; }
.nav-menu-sm .nav-link{ color: #86878b; }
.nav-pills-red .nav-link.active{ background: #FF9800; color: #fff; padding: .6rem 1.2rem; }
.nav-pills-red .nav-link:hover{ color: #FF9800; }
.nav-pills-red .nav-link.active:hover{ color: #fff; }
.nav-pills-red .nav-link{ color: #8a8b8f; padding: .6rem 1.2rem; }
.nav-pills-red-3 .nav-link.active{ background: #FF9800; border: 1px solid rgba(205,65,74,.2); color: #fff; }
.nav-pills-red-3 .nav-link:hover{ color: #FF9800; }
.nav-pills-red-3 .nav-link{ background: transparent; border: 1px solid transparent; color: #677787; padding: .75rem 1.5rem; }
.nav-pills-red-lg .nav-link.active{ background: #FF9800; color: #fff; }
.nav-pills-red-lg .nav-link:hover{ color: #FF9800; }
.nav-pills-red-lg .nav-link{ color: #8a8b8f; padding: .75rem 1.5rem; }
.nav-red .nav-link.active{ border: 1px solid #FF9800; background: #FF9800; color: #fff; }
.nav-red .nav-link:hover{ color: #FF9800; }
.nav-red .nav-link{ background: transparent; border: 1px solid transparent; border-radius: 0.25rem; color: #86878b; padding: .625rem 1rem; }
.nav-tabs-rciis .nav-link.active,
.nav-tabs-rciis .nav-link.active:hover{ background: transparent !important; border: 1px solid #e6e7ec; border-bottom: 1px solid #f5f9fc !important; color: #FF9800 !important; }
.nav-tabs-rciis .nav-link:hover{ background: transparent; border-color: transparent; color: #FF9800; }
.nav-tabs-rciis .nav-link{ background: transparent; color: #6c757d; padding: .75rem 1.5rem; }
.nav-tabs-rciis{ border-bottom: 1px solid #e6e7ec; }
.nav-tabs-red .nav-link.active{ background: transparent !important; border-bottom: 2px solid #FF9800; color: #FF9800 !important; }
.nav-tabs-red .nav-link:hover{ background: transparent; color: #FF9800; }
.nav-tabs-red .nav-link{ background: transparent; border: 0; color: #6c757d; padding: .75rem 1.5rem; }
.nav-tabs-red{ border-color: #e9eefc; }
.navbar-main .dropdown-item:hover{ background: #f7f7fc; color: #FF9800; }
.navbar-main .nav-link.active{ color: #FF9800 !important; }
.navbar-main .nav-link:hover, 
.navbar-main .nav-link{ color: #1e2022 !important; }
.navbar-main .navbar-toggler{ border-color: #e7eaf3; }
.navbar-red .nav-link:hover, .navbar-red .nav-link.active{ color: #fff !important; }
.navbar-red .nav-link{ color: #4e555b !important; font-size: 1.25rem !important; }
.navbar-top .dropdown-item:hover{ background: #f7f7fc; color: #FF9800; }
.navbar-top .nav-link.active{ color: #FF9800 !important; }
.navbar-top .nav-link:hover, 
.navbar-top .nav-link{ color: #677787 !important; }
.navbar-top .navbar-toggler{ border-color: #e7eaf3; }
.topbar-red .dropdown-item:hover{ background: #f7f7fc; color: #FF9800; }
.topbar-red .nav-link:hover{ color: rgba(255, 255, 255, .9) !important; }
.topbar-red .nav-link{ color: #fff !important; }
.topbar-red{ background: #FF9800; }

#navbar-mobile { transition: transform 0.25s ease, opacity 0.25s ease; }
#navbar-mobile.navbar-hidden { transform: translateY(-100%); opacity: 0; }

/* Base link */
.nav-pills-red-light .nav-link {
    color: #8a8b8f;
    padding: .6rem 1.2rem;
    border-radius: .5rem;
    transition: background-color .2s ease, color .2s ease;
}

/* Hover */
.nav-pills-red-light .nav-link:hover {
    color: #e73836;
    background-color: #fce7e7; /* soft tint on hover */
}

/* Active */
.nav-pills-red-light .nav-link.active {
    background-color: #fce7e7; /* same tint as btn-primary-light */
    color: #e73836;
}

/* Active hover (optional: keep consistent with base hover) */
.nav-pills-red-light .nav-link.active:hover {
    background-color: #f9cfcf; /* slightly deeper tint */
    color: #e73836;
}

/* Disabled (optional for future-proofing, same philosophy) */
.nav-pills-red-light .nav-link.disabled,
.nav-pills-red-light .nav-link:disabled {
    background-color: #f5d5d5;
    color: #e4a3a3;
    cursor: not-allowed;
    pointer-events: none;
}

/* Padding */
.p-100{ padding: 100px; }
.p-20{ padding: 20px; }
.p-25-30{ padding: 25px 30px; }
.p-25{ padding: 25px; }
.p-30{ padding: 30px; }
.p-35{ padding: 35px; }
.p-36-35{ padding: 36px 35px 35px; }
.p-files{ padding: 1px 25px 25px 25px; }
.p-form{ padding: 25px 30px 10px; }
.p-read{ padding: 25px 30px 0px; }
.pb-100{ padding-bottom: 100px; }
.pt-100{ padding-top: 100px; }
.px-35{ padding-left: 35px; padding-right: 35px; }
.py-100{ padding-top: 100px; padding-bottom: 100px; }
.py-150{ padding-top: 150px; padding-bottom: 150px; }

/* Progress bar */
.progress-processing .progress-bar{ animation-name: animateBar; animation-iteration-count: 1; animation: animateBar 2s infinite; }
@keyframes animateBar{ 0% {transform: translateX(-100%);} 100% {transform: translateX(0);} }

/* Status */
.status{ border-radius: 4px; font-size: 13px; font-weight: 600; padding: 3px 8px; text-align: center; width: 94px; }
.status-blue{ background: rgba(106, 155, 243, .1); color: rgba(106, 155, 243, 1); }
.status-dark{ background: rgba(33, 37, 41, .2); color: rgba(33, 37, 41, .8); }
.status-green{ background: rgba(22,155,130,.1); color: rgba(22,155,130,.8); }
.status-green-outline{ background: transparent; border: 1px solid rgba(22,155,130,.2); color: rgba(22,155,130,.8); }
.status-light{ background: rgba(152, 167, 181, .1); color: rgba(152, 167, 181, 1); }
.status-orange{ background: rgba(230,126,35,.1); color: rgba(230,126,35,.8); }
.status-red{ background: rgba(246, 79, 119, .1); color: rgba(246, 79, 119, 1); }
.status-transparent{ background: transparent; border: 1px solid rgba(33, 37, 41, .1); color: rgba(33, 37, 41, .8); }

/* Summernote */
.note-editable{ color: #212529 !important; font-family: 'Titillium Web', sans-serif !important; font-size: 1rem !important; font-size: 400 !important; line-height: 1.5 !important; }
.note-editor .card-header, .note-editor .note-resizebar{ background: #f7f7fc; }
.summernote-description img{ max-width: 100%; }
.summernote-description a{ color: #FF9800 !important; }
.summernote-description a:hover{ color: #b53a42 !important; }

/* Table */
.table-att tr:last-child > td{ border: 0; padding-bottom: 0; }
.table-att td{ border-color: rgba(0, 0, 0, 0.075); border-style: dashed; padding-top: 12px; padding-bottom: 10px; text-align: center; vertical-align: middle; white-space: nowrap; }
.table-att td:first-child{ padding-left: 0; text-align: left; }
.table-att td:last-child{ padding-right: 0; text-align: left; }
.table-att thead td{ color: #212529; font-weight: 600; padding-top: 0; padding-bottom: 10px !important; text-transform: uppercase; }
.table-att th:first-child, 
.table-att td:first-child{ background-color: #fff; left: 0px; padding-right: 30px; z-index: 1; }

.table-attendance{ vertical-align: middle; white-space: nowrap; }
.table-attendance thead th{ background: #f7f7fc; color: #4e555b; border: hidden; padding-top: 25px; padding-bottom: 25px; text-align: center; }
.table-attendance tbody tr{ color: #4e555b; }
.table-attendance tbody td{ border-bottom: 1px solid #f7f7fc !important; padding-top: 12px; padding-bottom: 12px; vertical-align: middle; text-align: center; }
.table-attendance tbody tr:first-child td{ border: none; }
.table-attendance thead th:first-child, .table-attendance tbody td:first-child{ border-right: 1px solid #f7f7fc !important; left: 0; padding-left: 35px; position: absolute; width: 300px; }
.table-attendance thead th:last-child, .table-attendance tbody td:last-child{ padding-right: 35px; }
.table-attendance-scroller{ margin-left: 300px; }

.table-card{ width: 100% !important; }
.table-card th{ border: 0; padding: 15px; }
.table-card tbody td{ background: #fff; padding: 15px; vertical-align: middle; white-space: nowrap; }
.table-card tbody td:first-child{ border-top-left-radius: .325rem; border-bottom-left-radius: .325rem; }
.table-card tbody td:last-child{ border-top-right-radius: .325rem; border-bottom-right-radius: .325rem; }
.table-card tbody tr:last-child > td{ border: 0; }

.table-calendar { border-collapse: separate; border-spacing: 8px; }
.table-calendar th{ color: #677787; font-weight: 400 !important; }
.table-calendar td{ font-weight: 600 !important; height: 48px; width: 14.2857% !important; vertical-align: middle; }
.table-calendar td{ background: #f4f7f9; border-radius: 5px; line-height: 0px; }
.table-calendar tr:last-child{ border-bottom: hidden; }
.calendar-black{ background: #343a40 !important; border-radius: 5px; color: #fff !important; }
.calendar-blue{ background: #3a75a0 !important; border-radius: 5px; color: #fff !important; }
.calendar-red{ background: #c33434 !important; border-radius: 5px; color: #fff !important; }

.table-dashboard{ margin-bottom: 0; }
.table-dashboard thead td{ font-weight: 600; padding-top: 0; text-transform: uppercase; }
.table-dashboard td{ border: 0; padding-top: 2px; }
.table-dashboard td:first-child{ padding-left: 0; }
.table-dashboard td:last-child{ padding-right: 0; }
.table-dashboard tbody tr:last-child > td{ border: 0; padding-bottom: 0; }

.table-reg tr:last-child > td{ border: 0; padding-bottom: 0; }
.table-reg td{ border-color: rgba(0, 0, 0, 0.075); border-style: dashed; padding-top: 12px; padding-bottom: 10px; vertical-align: middle; white-space: nowrap; }
.table-reg td:first-child{ padding-left: 0; }
.table-reg td:last-child{ padding-right: 0; }
.table-reg thead td{ color: #212529; font-weight: 600; padding-top: 0; padding-bottom: 10px !important; text-transform: uppercase; }

.table-datatable{ width: 100% !important; }
.table-datatable tr:last-child > td{ border: 0; }
.table-datatable td{ border-color: rgba(0, 0, 0, 0.075); border-style: dashed; padding-top: 10px; padding-bottom: 10px; vertical-align: middle; white-space: nowrap; }
.table-datatable td:first-child{ padding-left: 0; }
.table-datatable td:last-child{ padding-right: 0; }
.table-datatable thead td{ color: #212529; font-weight: 600; padding-top: 0; padding-bottom: 15px !important; text-transform: uppercase; }
.pagination > li > a, .pagination > li > span{ background: #fff; border-color: #e9eefc !important; color: #6c757d; }
.pagination > li > a:hover{ color: #6c757d; }
.page-item.active .page-link{ background: #FF9800; border-color: #FF9800; }
.page-item.active .page-link:hover{ background: #b53a42; border-color: #b53a42; color: #fff; }
.dataTables_info{ color: #6c757d; }
        
.table-levels{ margin-bottom: 0; }
.table-levels td{ border-color: #f4f7f9; padding-bottom: 15px; padding-top: 15px; vertical-align: middle; }
.table-levels tr:last-child > td{ border: 0; }

.table-pathway tbody td{ padding-top: 12px; padding-bottom: 12px; vertical-align: middle; }

.table-schedule{ margin-bottom: 0; }
.table-schedule td{ border-color: #f4f7f9; padding-top: 20px; padding-bottom: 20px; vertical-align: middle; }
.table-schedule tr:last-child > td{ border: 0; }

/* Text color */
.att-blue{ color: #6b9bf3; }
.att-cyan { color: #2aa7c9; }
.att-dark{ color: #444444; }
.att-green{ color: #169b82; }
.att-muted{ color: #86878b; }
.att-orange{ color: #eb9651; }
.att-purple{ color: #885998; }
.att-red{ color: #FF9800; }
.att-transparent{ color: transparent; }
.att-yellow{ color: #e5af33; }
.calendar-absence{ color: #eb9651; }
.calendar-birthday{ color: #f76084; }
.calendar-business-trip{ color: #6b9bf3; }
.calendar-event{ color: #FF9800; }
.calendar-holiday{ color: #444444; }
.calendar-remote-work{ color: #86878b; }
.calendar-sick-day{ color: #885998; }
.calendar-vacation{ color: #00b894; }
.text-blue{ color: #0984e3; }
.text-green{ color: #00b894; }
.text-muted-1{ color: #86878b; }
.text-muted-2{ color: #677787; }
.text-muted-3{ color: rgba(103, 119, 135, .2); }
.text-orange{ color: #e17055; }
.text-purple{ color: #6c5ce7; }
.text-red{ color: #FF9800; }
.text-yellow{ color: #fdcb6e; }
.tier-bronze{ color: #cd7f32; }
.tier-gold{ color: #d4af37; }
.tier-silver{ color: #c0c0c0; }
.text-transparent{ color: transparent; }

/* Timeline */
.timeline{ padding: 0 0 0 40px; position: relative; }
.timeline, .timeline *{ box-sizing: border-box; }
.timeline::before{ background-color: rgba(103, 119, 135, .15); content: ""; position: absolute; top: 0; bottom: 0; left: 5px; width: 2px; }
.timeline .event{ margin-bottom: 5px; position: relative; }
.timeline .event::after{ content: ""; background: #fff; border: 2px solid #FF9800; width: 12px; height: 12px; border-radius: 50%; position: absolute; top: 20px; left: -40px; }

/*********/
/* Media */
/*********/

@media only screen and (max-width: 992px){

	/* Border */
	.border-side{ border: 0; }
	.border-side-e6e7ec{ border: 0; }

	/* Height */
	.height{ min-height: 0; }
	.min-vh-100-105{ min-height: 0; }
	.min-vh-100-lg{ height: auto; }
	.mh-104, .mh-203{ min-height: inherit; }

	/* Margin */
	.mt-80{ margin-top: 40px; }

	/* Nav */
	.nav-training-height{ max-height: 280px; }
	.navbar-red{ padding-left: 15px !important; padding-right: 15px !important; }

	/* Padding */
	.p-100{ padding: 50px; }
	.p-35{ padding: 25px; }
	.px-35{ padding-left: 25px; padding-right: 25px; }
	.py-100{ padding-top: 60px; padding-bottom: 60px; }

}

@media (min-width: 1400px) {
    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
	.col-xxl-3 {
        flex: 0 0 auto;
        width: 25%;
    }
	.col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
	.col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
}
@media (min-width: 992px) {
    .sticky-lg-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020;
    }
    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%;
    }
}
/* utilities */
.translate-middle {
    transform: translate(-50%, -50%) !important;
}
.start-50 {
    left: 50% !important;
}
.top-0 {
    top: 0 !important;
}
.bottom-0 {
    bottom: 0 !important;
}
.rounded {
    border-radius: var(--bs-border-radius) !important;
}
.bg-light {
    background-color: #f8f9fa !important;
}
.bg-dark {
    background-color: #212529 !important;
}
.bg-primary {
    background-color: #007bff !important;
}
.bg-secondary {
    background-color: #6c757d !important;
}
.bg-success {
    background-color: #28a745 !important;
}
.bg-danger {
    background-color: #dc3545 !important;
}
.bg-warning {
    background-color: #ffc107 !important;
}
.bg-info {
    background-color: #17a2b8 !important;
}
.text-end {
    text-align: right !important;
}
.ms-auto {
    margin-left: auto !important;
}

/* 响应式设计 */
@media (max-width: 768px) {
    .navbar-nav {
        margin-top: 10px;
    }
    
    .list-group {
        margin-top: 20px;
    }
}
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
table.dataTable {
    clear: both;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    max-width: none !important;
    border-collapse: separate !important;
    border-spacing: 0;
}
.table>tbody {
    vertical-align: inherit;
}

/* 引入Bootstrap图标 */
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css");
