/*
 * CSP 遷移用共用樣式類別。
 * 原本散落在各檢視的內嵌 style="" / <style> 改為此處的 class，
 * 以便移除 CSP style-src 的 'unsafe-inline'。
 *
 * 重要：以 $.load() 注入 #right-content 的報表片段，其內嵌 <style>/style="" 會因
 * nonce 對不上（片段與主文件屬不同請求）而被 style-src 擋下，且 strict-dynamic 不適用於樣式，
 * 故所有片段樣式一律集中於此外部檔（由 _Layout 以 'self' 載入），不使用內嵌 <style>。
 */

/* --- 共用工具 --- */
.csp-w95 { width: 95%; }
.csp-w100 { width: 100%; }
.csp-minh10 { min-height: 10vh; }
/* #layoutAuthentication 的 CSS 規則是 min-height:100vh（ID 特異性），原本靠 inline style 壓過；
   遷移成 class 後 class 輸給 ID，導致整塊被撐成滿版。用 ID+class 提高特異性壓回 10vh。 */
#layoutAuthentication.csp-minh10 { min-height: 10vh; }
.csp-h530 { height: auto; }
.csp-h98 { height: auto; }
.csp-hidden { display: none; }
.csp-pointer { cursor: pointer; }
.csp-text-black { color: black; }
.csp-overflow-auto { overflow: auto; }
.csp-card-hdr-red { color: red; background-color: #fdf3f38f; }
.csp-scroll440 { overflow: auto; max-height: 440.56px; }
/* 報表匯出浮動面板（原 divExport 內嵌 style），初始隱藏、由 JS 顯示 */
.csp-divexport { background-color: #FFFFCC; position: fixed; top: 120px; left: 20%; width: 45%; border-width: thin; border-style: dashed; padding: 3px; display: none; text-align: left; }
/* 報表下鑽連結（原內嵌 style），Terminal 商店代號/終端機碼 */
.csp-drill-link { text-decoration: underline; color: Blue; cursor: pointer; }
.csp-bg-teal14 { background-color: #207b8d14; }
.csp-note10-red { font-size: 10pt; color: red; }
.csp-hint-cyan { color: #01afc2; font-size: 14px; font-weight: bold; }
.csp-warn-red14 { color: red; font-size: 14px; }
.csp-fs15 { font-size: 15px; }
.csp-fs13 { font-size: 13px; }
.csp-imgv { cursor: pointer; max-width: 240px; }

/* --- _Layout --- */
.csp-menu-btn { background-color: rgba(0, 134, 155, 0.5); color: white; }
.csp-menu-btn-abs { top: 80px; left: 40px; z-index: 10; }
.csp-right-content { margin: 0px auto; width: 100%; }

/* --- Main/IndexMenu --- */
.csp-msg-box { height: auto; margin: 8px; }
.csp-kai12 { font-family: "標楷體"; font-size: 12pt; }
.csp-flex-ml0 { display: flex !important; margin-left: 0 auto !important; }

/* --- Maintain 共用 --- */
.csp-w180-inline { width: 180px; display: inline; }
.csp-w60 { width: 60px; }
.csp-h250 { height: 250px; }
.csp-pl0 { padding-left: 0em; }
.csp-tblhdr-teal { background-color: #00869b94; color: white; }
.csp-note-gray-m8 { color: Gray; margin: 8px; }
.csp-w110-inline { width: 110px; display: inline; }
.csp-w125-inline { width: 125px; display: inline; }
.csp-w200-inline { width: 200px; display: inline; }
.csp-w130-iflex { width: 130px; display: inline-flex; }
.csp-m10 { margin: 10px; }
.csp-nodoc { padding-left: 3%; padding-top: 3%; text-align: left; }
.label-line-height { line-height: 38px; }
/* 原為此檢視內嵌 <style> 對 thead 的設定，改以 view 容器 class 限定範圍，避免全站外洩 */
.csp-mtnproggroup thead { position: sticky; top: 0; z-index: 1; background: #F1F1F1; }
/* 可重用：黏性表頭（原各檢視內嵌 <style> 的 thead sticky） */
.csp-sticky-thead thead { position: sticky; top: 0; z-index: 1; background: #F1F1F1; }
.csp-tbl-auto { table-layout: auto; }
.csp-w50 { width: 50px; }
.csp-w110 { width: 110px; }
.csp-teal-bold { color: #207B8D; font-weight: 900; }
.csp-lh34 { line-height: 34px; }
.csp-w47 { width: 47px; }
.csp-w70 { width: 70px; }
.csp-w220 { width: 220px; }
.csp-border-success { border: 5px var(--bs-success-border-subtle) solid; }
.csp-bg-teal { background-color: #00869b94; }

/* --- ScrSendMail/scrMailService（原內嵌 <style> 之自訂類別） --- */
.cursor-pointer { cursor: pointer; }
.w-100px { width: 100px; }
.w-59 { width: 59%; }

/* --- scrMailService --- */
.csp-inline { display: inline; }
.csp-m10-inline { margin: 10px; display: inline; }
.csp-inline-ml15 { display: inline; margin-left: 1.5rem; }
.csp-w265-inline-ml1 { width: 265px; display: inline; margin-left: 1rem; }
.csp-w20rem-hidden { width: 20rem; display: none; }

/* --- Rpt 共用工具（原內嵌 style="" / JS 字串內 style=""） --- */
.csp-h20-nowrap { height: 20px; white-space: nowrap; }
.csp-h40-nowrap { height: 40px; white-space: nowrap; }
.csp-dropdown-xxl { --bs-dropdown-min-width: 24rem; }
.csp-mso-samecell { mso-data-placement: same-cell; }
.csp-m0auto { margin: 0 auto; }
.csp-modal-200vh { --bs-modal-width: 200vh; }
.csp-color-gray { color: Gray; }
.csp-pl15 { padding-left: 15px; }
.csp-h80 { height: 80px; }
.csp-h60 { height: 60px; }
.csp-h40 { height: 40px; }
.csp-m0-175 { margin: 0px -175px; }
.csp-m0-170 { margin: 0px -170px; }
.csp-link-blue { text-decoration: underline; color: Blue; cursor: pointer; }
.csp-mw70 { max-width: 70%; }
.csp-iflex-w105 { display: inline-flex; width: 105px; }
.csp-iflex-w120 { display: inline-flex; width: 120px; }

/* =========================================================
 * Rpt 報表檢視：原各檢視內嵌 <style> 內容，逐一以 .csp-rptXXX 容器 class 限定範圍。
 * 因報表片段共用 #datatablesSimple / .tablepadding / .trYellow 等名稱且各報表數值不同，
 * 一律 scope 以避免跨報表互相污染。JS 以裸類名（'trYellow' 等）套用，元素位於 .csp-rptXXX 內仍可命中。
 * ========================================================= */
.csp-rpt004 .trPink { background-color: #ffdfdf; }
.csp-rpt004 .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt008 .tablepadding th, .csp-rpt008 .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt138 .trPink { background-color: #ffdfdf; color: blue; }
.csp-rpt138 .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt190h .trPink { background-color: #ffdfdf; color: blue; }
.csp-rpt190h .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt194a .form-check-input { float: none; width: 1.3rem; height: 1.3rem; }
.csp-rpt194a .form-check-input[type=radio] { width: 20px; height: 20px; border-radius: 50%; margin-left: 1.5em; }

.csp-rpt265m .trPink { background-color: #ffdfdf; color: blue; }
.csp-rpt265m .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt270a .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt270a1 .tablepadding th, .csp-rpt270a1 .tablepadding td { padding: 1px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt270m .tablepadding th, .csp-rpt270m .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt551a .tablepadding th, .csp-rpt551a .tablepadding td { padding: 1px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt600a .tablepadding th, .csp-rpt600a .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt600m .tablepadding th, .csp-rpt600m .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt602a .tablepadding th, .csp-rpt602a .tablepadding td { padding: 1px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt603a .tablepadding th, .csp-rpt603a .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt603b .tablepadding th, .csp-rpt603b .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt611a .tablepadding th, .csp-rpt611a .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }
.csp-rpt611a .trBlueFont { color: blue; }

.csp-rpt622a .tablepadding th, .csp-rpt622a .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt622b .tablepadding th, .csp-rpt622b .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }
.csp-rpt622b .titleColor,
.csp-rpt622b #datatablesSimple thead tr:nth-child(1) th:nth-child(1),
.csp-rpt622b #datatablesSimple thead tr:nth-child(1) th:nth-child(3),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(1) { background-color: #ededed !important; }
.csp-rpt622b #datatablesSimple thead tr:nth-child(1) th:nth-child(2),
.csp-rpt622b #datatablesSimple thead tr:nth-child(1) th:nth-child(4) { background-color: #FFFFE0 !important; }
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(3),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(5),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(7),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(9),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(11),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(13) { background-color: #f9cddd !important; }
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(2),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(4),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(6),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(8),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(10),
.csp-rpt622b #datatablesSimple thead tr:nth-child(2) th:nth-child(12) { background-color: #d6d8ff !important; }

.csp-rpt623a .tablepadding th, .csp-rpt623a .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }

.csp-rpt623b .tablepadding th, .csp-rpt623b .tablepadding td { padding: 1px !important; text-align: center !important; white-space: nowrap; }
.csp-rpt623b .titleColor,
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(1),
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(1) { background-color: #ededed !important; }
.csp-rpt623b .tbColor1,
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(2),
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(5),
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(8) { background-color: #FFFFE0 !important; }
.csp-rpt623b .tbColor2,
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(3),
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(6),
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(9) { background-color: #d6d8ff !important; }
.csp-rpt623b .tbColor3,
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(4),
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(7),
.csp-rpt623b #datatablesSimple2 thead tr:nth-child(2) th:nth-child(10) { background-color: #f9cddd !important; }

.csp-rpt649 .tablepadding th, .csp-rpt649 .tablepadding td { padding: 0px !important; text-align: center !important; white-space: nowrap; }
.csp-rpt649 .trYellow { background-color: lightyellow; color: blue; }
.csp-rpt649 .trPink { background-color: #ffdfdf; color: blue; }

.csp-rpt652a1 .tablepadding th, .csp-rpt652a1 .tablepadding td { padding: 1px !important; white-space: nowrap; }
.csp-rpt652a1 .tbhd { background-color: rgb(173,216,230); }

.csp-rpt652a2 .tablepadding th, .csp-rpt652a2 .tablepadding td { padding: 1px !important; white-space: nowrap; }
.csp-rpt652a2 .tbhd { background-color: rgb(173,216,230); }

.csp-rpt662a .tablepadding th, .csp-rpt662a .tablepadding td { padding: 1px !important; white-space: nowrap; }
.csp-rpt662a .tbhd { background-color: rgb(173,216,230); }

.csp-rpt662b .tablepadding th, .csp-rpt662b .tablepadding td { padding: 1px !important; white-space: nowrap; }
.csp-rpt662b .tbhd { background-color: rgb(173,216,230); }

.csp-rpt665d .trPink { background-color: #ffdfdf; color: blue; }
.csp-rpt665d .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt666d .trPink { background-color: #ffdfdf; color: blue; }
.csp-rpt666d .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt801m .trPink { background-color: #ffdfdf; color: blue; }
.csp-rpt801m .trYellow { background-color: lightyellow; color: blue; }

.csp-rptcardtype_g .trPink { background-color: #ffdfdf; color: blue; }
.csp-rptcardtype_g .trYellow { background-color: lightyellow; color: blue; }

.csp-rptcardtype_i .trPink { background-color: #ffdfdf; color: blue; }
.csp-rptcardtype_i .trYellow { background-color: lightyellow; color: blue; }

.csp-rptterminal_g .trPink { background-color: #ffdfdf; color: blue; }
.csp-rptterminal_g .trYellow { background-color: lightyellow; color: blue; }

.csp-rptterminal_i .trPink { background-color: #ffdfdf; }
.csp-rptterminal_i .trYellow { background-color: lightyellow; }

.csp-rpt743d .trPink { background-color: #ffdfdf; color: blue; }
.csp-rpt743d .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt744m .trPink { background-color: #ffdfdf; color: blue; }
.csp-rpt744m .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt746 .trPink { background-color: #ffdfdf; color: blue; }
.csp-rpt746 .trYellow { background-color: lightyellow; color: blue; }

.csp-rpt_526a .trPink { background-color: #ffdfdf; }
.csp-rpt_526a .trYellow { background-color: lightyellow; }
.csp-rpt_526a .bottom_sign { color: blue; margin: 15px; display: none; }

.csp-rpt_amountm .trPink { background-color: #ffdfdf; }
.csp-rpt_amountm .trYellow { background-color: lightyellow; }

/* --- Maintain/MtnUserProfile（原內嵌 <style>，含覆寫共用/Bootstrap 類別，限定於 view 容器） --- */
.csp-mtnuserprofile .pagination { cursor: pointer; }
.csp-mtnuserprofile .input-group-text { font-weight: bold; background-color: lightblue; width: 100px; margin: 0; justify-content: center; }
.csp-mtnuserprofile .updataModalDiv { display: flex; gap: 5px; margin: 5px; }
.csp-mtnuserprofile .container { min-width: 960px; }
@media screen and (max-width:1000px) {
    .csp-mtnuserprofile .updataModalDiv { display: block; }
    .csp-mtnuserprofile .input-group { margin: 10px 0; }
}

/* --- Qry/QryDownHistory --- */
.csp-note-gray { margin-top: 8px; margin-bottom: 8px; color: Gray; }
.dwBtn { color: blue; cursor: pointer; }
.tablepadding th,
.tablepadding td { padding: 1px !important; text-align: center !important; white-space: nowrap; }

/* --- Dsp/dspUserProfile --- */
.csp-w100-center { width: 100%; text-align: center; }
/* 原為此檢視內嵌 <style> 對 .input-group-text 的覆寫，改以 view 容器 class 限定範圍，避免全站外洩 */
.csp-dsp-userprofile .input-group-text { font-weight: bold; background-color: lightblue; width: 100px; margin: 0; justify-content: center; }
