﻿:root {
    --primary-color: #7886A3; /*#afb7ca*/
    --secondary-color: #d6dbe4;
    --darkgray-color: #333333;
}

/* DEFAULTS
----------------------------------------------------------*/

body   
{
    background: #b6b7bc;
    font-size: .80em;
    font-family: "微軟正黑體", "Helvetica Neue", "Lucida Grande", "Segoe UI", Arial, Helvetica, Verdana, sans-serif;
    margin: 0px;
    padding: 0px;
    color: #696969;
}

a:link, a:visited
{
    /*color: #034af3;*/ /*[2020.04.20] 避免無法控制超連結顏色 */
    text-align: center;
    text-decoration: none;
}

a:hover
{
    color: #1d60ff;
    text-decoration: none;
}

a:active
{
    color: #034af3;
}

p
{
    margin-bottom: 10px;
    line-height: 1.6em;
    text-align: center;
}

img {
  border-style: none;
    border-color: inherit;
    border-width: 0px;
    text-align: center;
}

/* HEADINGS   
----------------------------------------------------------*/

h1, h2, h3, h4, h5, h6
{
    font-size: 1.5em;
    color: #666666;
    font-variant: small-caps;
    text-transform: none;
    font-weight: 200;
    margin-bottom: 0px;
}

h1
{
    font-size: 1.6em;
    padding-bottom: 0px;
    margin-bottom: 0px;
}

h2
{
    font-size: 1.5em;
    font-weight: 600;
}

h3
{
    font-size: 1.2em;
}

h4
{
    font-size: 1.1em;
}

h5, h6
{
    font-size: 1em;
}

/* this rule styles <h1> and <h2> tags that are the 
first child of the left and right table columns */
.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2
{
    margin-top: 0px;
}


/* PRIMARY LAYOUT ELEMENTS   
----------------------------------------------------------*/

.page
{
    width: 100%;
    background-color: #fff;
    margin: 0px;
    /*border: 1px solid #496077;*/
    min-width: 960px;
}

.page a
{
    color: #034af3;
}

.header
{
    position: relative;
    margin: 0px;
    padding: 0px;
}

.header h1
{
    font-weight: 700;
    margin: 0px;
    padding: 0px 0px 0px 20px;
    color: #f9f9f9;
    border: none;
    line-height: 2em;
    font-size: 2em;
}

.main
{
    padding: 0px;
    margin: 0px;
    min-height: 420px;
}

.leftCol
{
    padding: 6px 0px;
    margin: 12px 8px 8px 8px;
    width: 200px;
    min-height: 200px;
}

.footer
{
    color: #69b5e5;
    padding: 8px 0px 0px 0px;
    margin: 0px auto;
    text-align: center;
    line-height: normal;
}


/* TAB MENU   
----------------------------------------------------------*/

div.hideSkiplink
{
    background-color:#69b5e5;
    width:100%;
    padding: 0px;
    margin: 0px;
    line-height: 0.15em;
}

div.menu
{
    padding: 4px 0px 4px 8px;
}

div.menu ul
{
    list-style: none;
    margin: 0px;
    padding: 0px;
    width: auto;
}

div.menu ul li a, div.menu ul li a:visited
{
    background-color: #6580d0;
    border: 1px #ffffff solid;
    color: #ffffff;
    display: block;
    line-height: 1.55em;
    padding: 4px 20px;
    text-decoration: none;
    white-space: nowrap;
    text-align:left;
}

div.menu ul li a:hover
{
    background-color: #b2e0f0;
    color: #2222ee;
    text-decoration: none;
}

div.menu ul li a:active
{
    background-color: #465c71;
    color: #cfdbe6;
    text-decoration: none;
}

/* FORM ELEMENTS   
----------------------------------------------------------*/

fieldset
{
    margin: 1em 0px;
    padding: 1em;
    border: 1px solid #ccc;
}

fieldset p 
{
    margin: 2px 12px 10px 10px;
}

fieldset.login label, fieldset.register label, fieldset.changePassword label
{
    display: block;
}

fieldset label.inline 
{
    display: inline;
}

legend 
{
    font-size: 1.1em;
    font-weight: 600;
    padding: 2px 4px 8px 4px;
}

input.textEntry 
{
    width: 320px;
    border: 1px solid #ccc;
}

input.passwordEntry 
{
    width: 320px;
    border: 1px solid #ccc;
}

div.accountInfo
{
    width: 42%;
}

/* MISC  
----------------------------------------------------------*/

.clear
{
    clear: both;
}

.title
{
    display: block;
    float: left;
    text-align: left;
    width: auto;
    height:80px;
    vertical-align:middle;
}

.loginDisplay
{
    font-size: 1.1em;
    display: block;
    text-align: right;
    padding: 10px;
    color: White;
}

.loginDisplay a:link
{
    color: white;
}

.loginDisplay a:visited
{
    color: white;
}

.loginDisplay a:hover
{
    color: white;
}

.failureNotification
{
    font-size: 1.2em;
    color: Red;
}

.bold
{
    font-weight: bold;
}

.submitButton
{
    text-align: right;
    padding-right: 10px;
}
.normalbutton
{
    background-color: var(--primary-color);
    color: #ffffff;
    border-width: 1px;
    border-style: solid;
    text-decoration:none;
    padding:5px;
}

.normalbutton2 {
    background-color: var(--secondary-color);
    color: var(--darkgray-color);
    border-width: 1px;
    border-style: solid;
    text-decoration: none;
    padding: 5px;
    margin: 0px 5px 5px 0px;
    font-size: small; /* 這個有需要保留*/
    white-space: nowrap; /*強制不換行*/
}

/* ========== 區域 ========== */
.noticepanel
{
    width:100%; 
    padding:10px; 
    border:1px gray solid; 
    background-color: #eeeeee; margin:5px 0px;
    color:Black;
}
.formBlock_left, .formBlock_buttonleft  {
    text-align: left;
    background-color: #f8f9fa;
    padding: 10px;
    border-radius: 6px;
    margin-top: 5px;
    border-left: 2px solid var(--primary-color);
    line-height: 1.6;
}
.formBlock_buttonleft {
    line-height: 2.0;
}

.formElement{
    /*display: block;*/
    width: 98%;
    max-width: 800px;
    padding: 3px 10px;
    /*margin: 5px 0px 0px 0px; /* 上5下20 => [2022.11.26] v 1.3.0929，下30 */
    /*font-size: 14px;*/
    line-height: 1.6; /*42857143;*/
    color: #3366FF; /* [2023.10.01] v 1.3.1083，原本是 #555555 */

    border: 0px;
    border-bottom: 1px solid #cccccc; /* [2023.10.01] v 1.3.1083，以灰色取代原本的紫色#550055，紫色太強烈 */
    border-radius: 0px; /* [2023.10.01] v 1.3.1083，強制不要圓角，針對 safari，https://huanyichuang.com/blog/styling-select-dropdown/ */
}

/* ========== 分隔線 ========== */
.seperator1
{
    BORDER-TOP: #00686b 1px dashed; 
    OVERFLOW: hidden; 
    HEIGHT: 1px;
}
.seperator2
{
    BORDER-TOP: #dddddd 1px dashed; 
    OVERFLOW: hidden; 
    HEIGHT: 1px;
}
.seperator3
{
    BORDER-TOP: #aaaaaa 1px dashed; 
    OVERFLOW: hidden; 
    HEIGHT: 1px;
}

/* ========== 表格 ========== */
table 
{
    border-collapse: collapse;  /* 避免 Table 表格 TD 之間有空隙 */
    border-spacing: 0;
}
.tableCellTitle
{
    border-color: #dddddd;
    border-style:solid;
    border-width:1px;
    padding:5px;
}
.tableCellTitleC
{
    border-color: #dddddd;
    border-style:solid;
    border-width:1px;
    padding:5px;
    text-align:center;
    /*min-width:60px;*/ /* 有些欄位內容很短，例如 ID */
}
.tableCellTitleR
{
    border-color: #dddddd;
    border-style:solid;
    border-width:1px;
    padding:5px;
    text-align:right;
    /*min-width:60px;*/ /* 有些欄位內容很短，例如 ID */
}
.tableCell
{
    border-color: #dddddd;
    border-style:solid;
    border-width:1px;
    padding:5px;
}
.tableCellC
{
    border-color: #dddddd;
    border-style:solid;
    border-width:1px;
    padding:5px;
    text-align:center;
}
.tableCellR
{
    border-color: #dddddd;
    border-style:solid;
    border-width:1px;
    padding:5px;
    text-align:right;
}
.tablecellBorderR /* Cell 的右邊有線條區隔*/
{   
    border-right-color: #eeccee;
    border-right-style:solid;
    border-right-width:1px;
    padding: 3px 5px;
}
.tablecellClear
{
    padding: 3px 3px;
}
.tableCellPaddingLoose {
    padding: 10px 0px;
}

/* ========== 表格斜線 ========== */
/*table tr.crossed
{
   background-image: linear-gradient(to bottom right,  transparent calc(50% - 1px), red, transparent calc(50% + 1px)); 
}
table td.crossed
{
   background-image: linear-gradient(to bottom right,  transparent calc(50% - 1px), red, transparent calc(50% + 1px)); 
}*/

/* ========== Loader ========== */
.loaderoverlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /*background-color: rgba(0,0,0,0.3);*/
    background-color: rgba(128, 128, 128 ,0.5);
    z-index: 99999;
    cursor: pointer;
}

.loaderimage{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: .5;
}

.loaderimage2
{
    /* MasterPage 在 Mobile 裝置 */
    position: absolute;
    top: 300px;
    left: 200px;
    transform: translate(-50%,-50%);
    opacity: .5;
}
/* ========== 系統通知 ========== */
.notifyBlock 
{
    /*border: 1px solid #9370db; */
    margin: 4px 4px;
    padding: 6px 6px;
    /*background-color:#CCCCFF;*/
    /*background-color: var(--secondary-color);*/
    background-color: #E7EFFC;
    
    border-radius:5px;
    font-size: small;   /*[2022.03.02]*/
}
/* ========== RadioButton (單一選項，保留圓形選取區域) ========== */
.radio-button {
    display: inline-flex;
    align-items: center;
    margin-right: 5px;
    margin-bottom: 5px;
    background-color: white;
    border: 1px dotted #ccc;
    border-radius: 4px;
    padding: 0; /* 移除 padding，改由 label 控制 */
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    height: 40px;
    box-sizing: border-box;
    width: 98%;
}

    .radio-button:hover {
        background-color: #e0e0e0;
        border-color: #999;
    }

    .radio-button input[type="radio"] {
        margin: 0 6px 0 8px;
        cursor: pointer;
        accent-color: var(--primary-color);
        position: relative;
        /*z-index: 2;*/
    }

    .radio-button label {
        cursor: pointer;
        font-weight: normal;
        white-space: nowrap;
        padding: 4px 8px 4px 0;
        flex: 1;
    }

        /* 讓整個區塊都可點擊 */
        .radio-button label::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            /*z-index: 1;*/
        }

    /* 選取後的樣式 */
    .radio-button:has(input[type="radio"]:checked) {
        background-color: var(--secondary-color);
        box-shadow: inset 0 0 0 2px var(--primary-color); /* 使用內陰影模擬 5px 內邊框 */
    }

        .radio-button:has(input[type="radio"]:checked) label {
            color: var(--primary-color);
        }
/* ========== RadioButtonList ========== */
.radio-button-list input[type="radio"] {
    display: none; /* 隱藏原本的圓圈 */
}

.radio-button-list label {
    display: inline-block;
    padding: 4px 6px;
    margin-right: 2px;
    background-color: white;
    border: 1px dotted #ccc;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: normal;
    min-width: 45px; /* [2026.03.08] 固定最小寬度，確保選項不會太窄 */
    text-align: center; /* [2026.03.08] 置中對齊選項文字 */
}

    .radio-button-list label:hover {
        background-color: #e0e0e0;
        border-color: #999;
    }

.radio-button-list input[type="radio"]:checked + label {
    background-color: var(--secondary-color);
    box-shadow: inset 0 0 0 2px var(--primary-color); /* 使用內陰影模擬 5px 內邊框 */
    color: var(--darkgray-color);
}
/* ========== CheckBoxList ========== */
.checkbox-button-list {
    display: inline-flex;
    align-items: center;
    margin-right: 5px;
    margin-bottom: 5px;
    background-color: white;
    border: 1px dotted #ccc;
    border-radius: 4px;
    padding: 0; /* 移除 padding，改由 label 控制 */
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative; /* 讓 label 可以定位 */
    /*height: 40px; /* [2026.03.08] 固定高度 */
    box-sizing: border-box; /* 確保 border 包含在高度內 */
}

    .checkbox-button-list:hover {
        /*background-color: #e0e0e0;
        border-color: #999;*/
    }

    .checkbox-button-list input[type="checkbox"] {
        margin: 0 6px 0 8px;
        cursor: pointer;
        accent-color: var(--primary-color);
        position: relative;
        /*z-index: 2; /* 確保 checkbox 可點擊 */
    }

    .checkbox-button-list label {
        cursor: pointer;
        font-weight: normal;
        white-space: nowrap;
        padding: 4px 8px 4px 0; /* padding 移到 label */
        flex: 1; /* 讓 label 佔滿剩餘空間 */
    }

        /* 讓整個區塊都可點擊 - 使用偽元素覆蓋整個區域 */
        .checkbox-button-list label::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            /*z-index: 1;*/
        }

    /* 勾選後的樣式 */
    .checkbox-button-list:has(input[type="checkbox"]:checked) {
        background-color: var(--secondary-color);
        box-shadow: inset 0 0 0 2px var(--primary-color); /* 使用內陰影模擬 5px 內邊框 */
    }

        .checkbox-button-list:has(input[type="checkbox"]:checked) label {
            color: var(--darkgray-color); 
        }