/*
 * Bootstrap 4 → 5 相容層（115 年 jQuery／Bootstrap 弱點修補）
 * 載入順序：lib/bootstrap/css/bootstrap.min.css 之後。
 * 既有頁面仍使用 BS4 class 名稱與外觀，這裡對應到 BS5 的等效樣式，避免逐頁改寫。
 * BS2 版型另載入 bs2-legacy.css（在本檔之後，會覆蓋本檔）。
 * 新頁面請直接使用 BS5 class（ms-*／me-*／float-end／text-end／mb-3 …）。
 */

/* ---------- 間距：ml/mr/pl/pr → ms/me/ps/pe ---------- */
.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}
.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}
.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}
.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}

/* ---------- 浮動／對齊／字重 ---------- */
.float-left{float:left!important}.float-right{float:right!important}
.text-left{text-align:left!important}.text-right{text-align:right!important}
@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}}
@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}}
@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}}
.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}
.font-italic{font-style:italic!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* ---------- 表單 ---------- */
.form-group{margin-bottom:1rem}
.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}
.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}
.form-control-file{display:block;width:100%}
.custom-select{display:inline-block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;line-height:1.5;color:var(--bs-body-color);vertical-align:middle;background:var(--bs-body-bg) var(--bs-form-select-bg-img) no-repeat right .75rem center/16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);-webkit-appearance:none;appearance:none}

/* input-group-prepend／append：BS5 已移除包裝層，讓包裝層不影響排版 */
.input-group-prepend,.input-group-append{display:flex}
.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-prepend>.btn{border-top-right-radius:0;border-bottom-right-radius:0}
.input-group>.input-group-append>.input-group-text,.input-group>.input-group-append>.btn{border-top-left-radius:0;border-bottom-left-radius:0}
.input-group>.input-group-prepend+.form-control,.input-group>.input-group-prepend+.form-select{border-top-left-radius:0;border-bottom-left-radius:0}
.input-group>.input-group-append{margin-left:-1px}
.input-group>.input-group-prepend{margin-right:-1px}

/* ---------- 按鈕／徽章／其它元件 ---------- */
.btn-block{display:block;width:100%}
.btn-block+.btn-block{margin-top:.5rem}
.badge-primary{background-color:var(--bs-primary)}.badge-secondary{background-color:var(--bs-secondary)}.badge-success{background-color:var(--bs-success)}.badge-danger{background-color:var(--bs-danger)}.badge-warning{background-color:var(--bs-warning);color:#000}.badge-info{background-color:var(--bs-info);color:#000}.badge-light{background-color:var(--bs-light);color:#000}.badge-dark{background-color:var(--bs-dark)}
.badge-pill{border-radius:50rem}
.dropdown-menu-right{right:0;left:auto}
.dropdown-menu-right[data-bs-popper]{right:0;left:auto}
.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5;background:transparent;border:0;padding:0}
.close:hover{opacity:.75}
.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem}
.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}
.media{display:flex;align-items:flex-start}.media-body{flex:1}
.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}

/* ---------- BS4 配色與連結樣式（維持原畫面；BS5 主色、info、success 等色值不同，且連結預設有底線） ---------- */
:root{
  --bs-primary:#007bff;--bs-primary-rgb:0,123,255;
  --bs-success:#28a745;--bs-success-rgb:40,167,69;
  --bs-info:#17a2b8;--bs-info-rgb:23,162,184;
  --bs-dark:#343a40;--bs-dark-rgb:52,58,64;
  --bs-link-color:#007bff;--bs-link-color-rgb:0,123,255;
  --bs-link-hover-color:#0056b3;--bs-link-hover-color-rgb:0,86,179;
}
a{text-decoration:none}
a:hover{text-decoration:underline}
a.btn:hover,a.nav-link:hover,a.dropdown-item:hover,a.page-link:hover,a.list-group-item:hover,a.navbar-brand:hover,a.brand-link:hover{text-decoration:none}
.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#007bff;--bs-btn-border-color:#007bff;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0069d9;--bs-btn-hover-border-color:#0062cc;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0062cc;--bs-btn-active-border-color:#005cbf;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#007bff;--bs-btn-disabled-border-color:#007bff;--bs-btn-focus-shadow-rgb:38,143,255}
.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#28a745;--bs-btn-border-color:#28a745;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#218838;--bs-btn-hover-border-color:#1e7e34;--bs-btn-active-color:#fff;--bs-btn-active-bg:#1e7e34;--bs-btn-active-border-color:#1c7430;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#28a745;--bs-btn-disabled-border-color:#28a745;--bs-btn-focus-shadow-rgb:72,180,97}
.btn-info{--bs-btn-color:#fff;--bs-btn-bg:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#138496;--bs-btn-hover-border-color:#117a8b;--bs-btn-active-color:#fff;--bs-btn-active-bg:#117a8b;--bs-btn-active-border-color:#10707f;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#17a2b8;--bs-btn-disabled-border-color:#17a2b8;--bs-btn-focus-shadow-rgb:58,176,195}
.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#343a40;--bs-btn-border-color:#343a40;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#23272b;--bs-btn-hover-border-color:#1d2124;--bs-btn-active-color:#fff;--bs-btn-active-bg:#1d2124;--bs-btn-active-border-color:#171a1d;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#343a40;--bs-btn-disabled-border-color:#343a40}
.btn-outline-primary{--bs-btn-color:#007bff;--bs-btn-border-color:#007bff;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#007bff;--bs-btn-hover-border-color:#007bff;--bs-btn-active-color:#fff;--bs-btn-active-bg:#007bff;--bs-btn-active-border-color:#007bff;--bs-btn-disabled-color:#007bff;--bs-btn-disabled-border-color:#007bff}
.btn-outline-success{--bs-btn-color:#28a745;--bs-btn-border-color:#28a745;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#28a745;--bs-btn-hover-border-color:#28a745;--bs-btn-active-color:#fff;--bs-btn-active-bg:#28a745;--bs-btn-active-border-color:#28a745;--bs-btn-disabled-color:#28a745;--bs-btn-disabled-border-color:#28a745}
.btn-outline-info{--bs-btn-color:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#17a2b8;--bs-btn-hover-border-color:#17a2b8;--bs-btn-active-color:#fff;--bs-btn-active-bg:#17a2b8;--bs-btn-active-border-color:#17a2b8;--bs-btn-disabled-color:#17a2b8;--bs-btn-disabled-border-color:#17a2b8}

/* 表格：BS4 儲存格 padding 為 .75rem（.table-sm 為 .3rem），BS5 為 .5rem／.25rem */
.table>:not(caption)>*>*{padding:.75rem}
.table-sm>:not(caption)>*>*{padding:.3rem}

/* 格線間距：BS4 為 30px，BS5 為 1.5rem（24px） */
.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl,.row:not([class*="g-"]){--bs-gutter-x:30px}

/* 字型與 label：BS4 系統字型堆疊；BS4 reboot 的 label 為 inline-block 並留 .5rem 下距 */
:root{--bs-body-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}
label{display:inline-block;margin-bottom:.5rem}

/* 麵包屑：BS4 有灰底與 padding，BS5 無 */
.breadcrumb{padding:.75rem 1rem;background-color:#e9ecef;border-radius:.25rem}

/* 卡片：BS4 為固定 padding（BS5 以 .card 上的變數計算，card-body 不在 .card 內時 padding 會變 0） */
.card-body{padding:1.25rem}
.card-header,.card-footer{padding:.75rem 1.25rem}

/* 容器寬度：BS5 在 ≥1400px 多了 xxl（1320px），BS4 最寬為 1140px */
@media (min-width:1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1140px}}

/* 標題字級：BS5 在 1200px 以下會自動縮小（RFS），BS4 為固定字級 */
h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}

/* 表格儲存格背景／文字色：BS5 對每個儲存格上色，會蓋掉 GridView 加在 <tr> 上的 HeaderStyle／RowStyle class（如 td_s6、row_1）。
   恢復 BS4 行為：儲存格透明、文字色繼承自列。（--bs-table-color 設為 inherit 會使變數無效，color 回到繼承） */
.table{--bs-table-bg:transparent;--bs-table-color:inherit}

/* 巢狀表格：BS4 的 .table td／th 為後代選擇器，表格內的表格也有 padding 與上框線；BS5 只套直接子層 */
.table table td,.table table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}
.table-sm table td,.table-sm table th{padding:.3rem}
/* 垂直對齊：BS4 的 .table 儲存格明確設為 top（表頭為 bottom） */
.table td,.table th{vertical-align:top}
.table thead th{vertical-align:bottom}
.table-bordered table td,.table-bordered table th{border:1px solid #dee2e6}
