@charset "UTF-8";
*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, object, iframe, figure, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, code, em, img, small, strike, strong, sub, sup, tt, b, u, i, ol, ul, li, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td, main, canvas, embed, footer, header, nav, section, video, dd, dl, dt {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none;
}

footer, header, nav, section, main {
  display: block;
}

html {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

a {
  text-decoration: none;
  cursor: pointer;
}

address {
  font-style: normal;
}

button {
  padding: 0;
  border: none;
  background: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

form {
  width: 100%;
}

input {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  appearance: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input::-webkit-calendar-picker-indicator {
  display: none;
}

input[type=number] {
  -moz-appearance: textfield;
}

input[type=search] {
  -webkit-appearance: none;
}

input[type=search]::-ms-clear,
input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

input[type=radio],
input[type=checkbox] {
  margin-top: 1px \9 ;
  line-height: normal;
  vertical-align: baseline;
}

input[type=radio] {
  -webkit-appearance: radio;
  border-radius: 50%;
}

input[type=checkbox] {
  -webkit-appearance: checkbox;
}

input[type=file] {
  display: block;
}

input[type=range] {
  display: block;
  width: 100%;
}

input[type=file]:focus,
input[type=radio]:focus,
input[type=checkbox]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

img {
  border: 0;
  margin: 0;
  vertical-align: middle;
  width: 100%;
  max-width: 100%;
  height: auto;
}

input,
textarea,
button,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

/*!
 * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fonts/fontawesome/fa-regular-400.eot");
  src: url("../fonts/fontawesome/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fontawesome/fa-regular-400.woff2") format("woff2"), url("../fonts/fontawesome/fa-regular-400.woff") format("woff"), url("../fonts/fontawesome/fa-regular-400.ttf") format("truetype"), url("../fonts/fontawesome/fa-regular-400.svg#fontawesome") format("svg");
}
.far {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}

@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../fonts/fontawesome/fa-solid-900.eot");
  src: url("../fonts/fontawesome/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fontawesome/fa-solid-900.woff2") format("woff2"), url("../fonts/fontawesome/fa-solid-900.woff") format("woff"), url("../fonts/fontawesome/fa-solid-900.ttf") format("truetype"), url("../fonts/fontawesome/fa-solid-900.svg#fontawesome") format("svg");
}
.fa,
.fas {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon/icomoon.eot?gcdba1");
  src: url("../fonts/icomoon/icomoon.eot?gcdba1#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?gcdba1") format("truetype"), url("../fonts/icomoon/icomoon.woff?gcdba1") format("woff"), url("../fonts/icomoon/icomoon.svg?gcdba1#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* 設定 icon 字體 */
[class^=icon-], [class*=" icon-"] {
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* 平滑渲染 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* SCSS Mixin 動態生成 icon */
/* 自動生成圖標 */
.icon-home::before {
  content: "\e92f";
  color: #454545;
  font-size: 32px;
}

.icon-finance::before {
  content: "\e930";
  color: #454545;
  font-size: 32px;
}

.icon-investment::before {
  content: "\e931";
  color: #454545;
  font-size: 32px;
}

.icon-payment::before {
  content: "\e932";
  color: #454545;
  font-size: 32px;
}

.icon-insurance::before {
  content: "\e933";
  color: #454545;
  font-size: 32px;
}

.icon-settings::before {
  content: "\e934";
  color: #454545;
  font-size: 32px;
}

.icon-receipt::before {
  content: "\e935";
  color: #454545;
  font-size: 32px;
}

.icon-list::before {
  content: "\e936";
  color: #454545;
  font-size: 32px;
}

.icon-bank::before {
  content: "\e937";
  color: #454545;
  font-size: 32px;
}

.icon-download::before {
  content: "\e938";
  color: #454545;
  font-size: 32px;
}

.icon-help::before {
  content: "\e939";
  color: #454545;
  font-size: 32px;
}

.icon-security::before {
  content: "\e93a";
  color: #454545;
  font-size: 32px;
}

.icon-logout::before {
  content: "\e900";
  color: #454545;
  font-size: 32px;
}

.icon-refund::before {
  content: "\e901";
  color: #454545;
  font-size: 20px;
}

a {
  color: #000000;
  text-underline-offset: 4px;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
a:hover {
  text-decoration: underline;
}

.blue {
  color: #0080CC;
}

.green {
  color: #70B603;
}

.hide {
  display: none;
}

.flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.show {
  display: block !important;
}

.invisible {
  visibility: hidden;
}

.overflow-hidden {
  overflow: hidden;
}

.hidden {
  display: none !important;
}

.red {
  color: #DF2229;
}

.bold {
  font-weight: bold;
}

.text-sm {
  font-size: 0.9em;
}

.info__block .red {
  color: #DF2229;
  font-weight: 600;
}

.gray-500 {
  color: #9C9C9C;
}

.gray-600 {
  color: #707070;
}

.gray-700 {
  color: #4A4A4A;
}

.green-700 {
  color: #0C9700;
}

.blue-400 {
  color: #0F6AC3;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
}

.justify {
  text-align: justify;
}

.flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-items {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}

.flex-row {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
}

.flex-start {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}

.flex-column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex-nowrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.nowrap {
  white-space: nowrap;
}

img {
  width: 100%;
  max-width: 100%;
  vertical-align: middle;
}

.drag-scroll {
  cursor: -webkit-grab;
  cursor: grab;
}
.drag-scroll.is-dragging {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

body {
  overflow: auto;
  font-size: 1em;
  letter-spacing: 1px;
  color: #454545;
  font-family: "微軟正黑體", "新細明體", Arial, Helvetica, sans-serif;
  line-height: 1;
  height: 100%;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.layout {
  background: url(../images/backgrounds/funbiz-bg.jpg) center top no-repeat, #f5f5f5;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100dvh;
  min-width: 320px;
}
.layout__container {
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 auto;
}
.layout__sidebar {
  width: 250px;
  height: 100%;
  position: relative;
  overflow: hidden;
  display: block;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-shadow: 2px 0 17px 7px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 0 17px 7px rgba(0, 0, 0, 0.2);
}
@media (max-width: 768px) {
  .layout__sidebar {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 3;
    background: white;
    -webkit-transform: translateX(-110%);
            transform: translateX(-110%); /* 預設隱藏 */
  }
  .layout__sidebar.show {
    -webkit-transform: translateX(0);
            transform: translateX(0); /* 顯示時滑動進入 */
  }
}
.layout__main {
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  min-width: 0;
  max-width: 960px;
  margin: 0px 12px;
  z-index: 2;
}
.layout__header {
  width: 100%;
}
.layout__content {
  width: 100%;
  background: #FFFFFF;
  background: #FFFFFF;
  -webkit-box-shadow: 0px 3px 2px 0px rgba(169, 169, 169, 0.3);
          box-shadow: 0px 3px 2px 0px rgba(169, 169, 169, 0.3);
  position: relative;
  margin-bottom: 60px;
}
.layout__content::after {
  content: "";
  height: 52px;
  width: 100%;
  background: url(../images/backgrounds/layout__content_shadow.png) center top no-repeat;
  background-size: contain;
  position: absolute;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  left: 50%;
  bottom: 0;
  opacity: 0.7;
}
.layout__footer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 768px) {
  .layout__main {
    margin: 0;
  }
  .layout__content {
    margin-bottom: 0px;
  }
  .layout__content::after {
    display: none;
  }
}

.header__content {
  padding: 12px 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 8px 0 0 0;
}
.header__breadcrumb {
  font-size: 0.9em;
  line-height: 1.3em;
  color: #000000;
  padding-bottom: 14px;
}
.header__breadcrumb .breadcrumb__link {
  text-underline-offset: 4px;
  color: #000000;
  white-space: nowrap;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.header__breadcrumb .breadcrumb__link:hover {
  text-decoration: underline;
}
.header__breadcrumb span.breadcrumb__link:hover {
  text-decoration: none;
}
.header__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
.header__title {
  font-size: 2em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
}
.header__title-blue {
  color: #0080CC;
}
.header__search {
  font-size: 1em;
  color: #FFFFFF;
  padding: 8px 13px;
  background: #0080CC;
  border-radius: 22px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: none;
}
.header__search .font-icon {
  margin-right: 4px;
}
.header__logout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
}
.header__logout:hover {
  text-decoration: none;
}
.header__logout:hover .icon-logout::before, .header__logout:hover span {
  color: #0080CC;
  text-decoration: none;
}
.header__logout a {
  text-decoration: none;
}
.header__logout .icon-logout::before {
  font-size: 40px;
  color: #454545;
  text-decoration: none;
}
.header__logout-text {
  color: #454545;
  line-height: 1.3em;
  white-space: nowrap;
  text-decoration: none;
  margin-left: -2px;
  font-weight: bold;
}

.header__mobile-top {
  background: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 18px 12px;
  -webkit-box-shadow: 0px 0px 7px 0px rgba(169, 169, 169, 0.3);
          box-shadow: 0px 0px 7px 0px rgba(169, 169, 169, 0.3);
  display: none;
}
.header__mobile-top .header__logo {
  width: 100px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
}
.header__mobile-top .header__logo img {
  width: 100%;
}
.header__mobile-top .header__logout .icon-logout::before {
  font-size: 32px;
}
.header__mobile-top .header__logout-text {
  font-size: 0.9em;
  margin-left: -2px;
}

/* 左側漢堡按鈕 */
.header__menu-button {
  z-index: 1;
  cursor: pointer;
}
.header__menu-button .font-icon {
  font-size: 26px;
  color: #454545;
}

@media (max-width: 768px) {
  .header__mobile-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header__content {
    padding: 12px 10px;
  }
  .header__search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header #pc-logout {
    display: none;
  }
}
.footer {
  width: 100%;
  background-color: #254A91;
  color: #FFFFFF;
  text-align: center;
  padding: 13px 10px;
  font-size: 13px;
  position: relative;
  z-index: 2;
}
.footer__copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px 0;
}
.footer__list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px 10px;
}
.footer__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 4px;
  white-space: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer__item a {
  line-height: 1.3em;
}
.footer__link {
  color: #FFFFFF; /* 文字顏色 */
  text-decoration: none;
  font-weight: 500;
  text-underline-offset: 4px;
}
@media (max-width: 768px) {
  .footer {
    font-size: 12px;
    letter-spacing: -0.1px;
  }
}
@media (max-width: 374px) {
  .footer {
    font-size: 12px;
    letter-spacing: -0.1px;
  }
  .footer__list {
    gap: 6px 6px;
  }
}

/* sidebar 側邊欄 */
.sidebar {
  width: 250px;
  background: rgb(254, 255, 255);
  padding-bottom: 120px;
  position: fixed;
  height: 100%;
  -webkit-box-shadow: 0 -22px 16px 0px rgba(169, 169, 169, 0.4);
          box-shadow: 0 -22px 16px 0px rgba(169, 169, 169, 0.4);
}
@media (max-width: 768px) {
  .sidebar {
    padding-bottom: 70px;
  }
}
.sidebar__top {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px 12px;
  border-bottom: 1px solid #e9e9e9;
  -webkit-box-shadow: 0px 1px 7px 0px rgba(169, 169, 169, 0.14);
          box-shadow: 0px 1px 7px 0px rgba(169, 169, 169, 0.14);
}
@media (max-width: 768px) {
  .sidebar__top {
    padding: 10.5px 12px;
  }
}
.sidebar__top .header__menu-button {
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  left: 12px;
  z-index: 1;
  display: none;
}
@media (max-width: 768px) {
  .sidebar__top .header__menu-button {
    display: block;
  }
}
.sidebar__logo {
  display: block;
  text-align: center;
  max-width: 130px;
}
.sidebar__logo-img {
  width: 100%;
}
@media (max-width: 768px) {
  .sidebar__logo {
    max-width: 100px;
  }
}
.sidebar__menu {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow-y: auto;
  max-height: 80%;
}
.sidebar__menu::-webkit-scrollbar {
  width: 8px;
  background: #EBEAEA;
  cursor: pointer;
}
.sidebar__menu::-webkit-scrollbar-thumb {
  background: #bfd1da;
  cursor: pointer;
  border-radius: 4px;
}
@media (max-width: 768px) {
  .sidebar__menu {
    max-height: 100%;
  }
}
.sidebar__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 9px 20px;
  color: #454545;
  text-decoration: none;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  cursor: pointer;
}
.sidebar__link:hover {
  color: #0080CC;
  text-decoration: none;
  background: #f4f4f4;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.sidebar__link:hover .sidebar__icon::before {
  color: #0080CC;
}
.sidebar__link.active {
  color: #0080CC;
}
.sidebar__link.active .sidebar__icon::before {
  color: #0080CC;
}
.sidebar__icon {
  width: 28px;
  margin-right: 10px;
  font-size: 32px;
  color: #999999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.sidebar__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.sidebar__group-label {
  display: block;
  padding: 8px 15px;
  color: #9d9d9d;
  padding: 15px 20px 15px 58px;
  min-height: 46px;
}

.sidebar__arrow {
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  font-size: 16px;
  color: #C4C4C4;
}
.sidebar__arrow-expanded {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.sidebar__submenu {
  list-style: none;
  display: none;
  border-top: 1px solid #e9e9e9;
  background: #f4f4f4;
}
.sidebar__submenu .sidebar__link {
  padding-left: 58px;
  min-height: 46px;
}
.sidebar__submenu .sidebar__link:hover {
  background: #EBEAEA;
}
.sidebar__submenu-show {
  border-top: 1px solid #e9e9e9;
  display: block;
  background: #e6e6e6;
}
.sidebar__submenu-show .sidebar__link {
  padding-left: 78px;
}
.sidebar__submenu-show .sidebar__link:hover {
  background: #C4C4C4;
}

.wrap__inner {
  width: 100%;
  background: #FFFFFF;
  padding: 30px 26px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (max-width: 768px) {
  .wrap__inner {
    padding: 16px 0px;
  }
}

/* 如果有篩選區塊時 */
.filter + .wrap__inner {
  padding: 20px 26px 30px;
}
@media (max-width: 991px) {
  .filter + .wrap__inner {
    padding: 0px 0px 16px;
  }
}

.form__error.form__common:not(.form__radio-group):not(.form__checkbox-group):not(.form__checkbox) {
  border-radius: 4px;
  outline: 1px solid #DF2229;
}
.form__error.form__common:not(.form__radio-group):not(.form__checkbox-group):not(.form__checkbox):focus {
  outline: 2px solid #DF2229;
}
.form__error.form__common:not(.form__radio-group):not(.form__checkbox-group):not(.form__checkbox):focus-within {
  outline: 2px solid #DF2229;
}

.form__error.form__common:not(.form__radio-group):not(.form__checkbox-group):not(.form__checkbox) .form__select:focus,
.form__error.form__common:not(.form__radio-group):not(.form__checkbox-group):not(.form__checkbox) .form__input:focus {
  outline: 2px solid #DF2229;
}

.form__errorText {
  position: absolute;
  color: #DF2229;
  font-size: 0.9em;
  top: -22%;
  right: 9px;
  padding: 0 4px;
  background: #FFFFFF;
  letter-spacing: 0.5px;
  line-height: 1.2;
  white-space: nowrap;
  display: none;
}

.form__errorMsg {
  font-size: 0.9em;
  color: #DF2229;
  width: 100%;
  line-height: 1.5;
  display: none;
}
.form__errorMsg--info {
  font-size: 0.9em;
  width: 100%;
  color: #454545;
  display: block;
}

/* 基本條列樣式 */
.info__block {
  margin-bottom: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  line-height: 1.5;
}
.info__block .form__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
@media (max-width: 991px) {
  .info__block .form__group .table {
    width: calc(100% + 52px);
    margin-left: -26px;
    max-width: unset;
  }
}
@media (max-width: 768px) {
  .info__block .form__group .table {
    width: calc(100% + 24px);
    margin-left: -12px;
    max-width: unset;
  }
}
.info__block .form__group-padding {
  padding: 20px 24px;
}
.info__block .form__group.blue {
  background-color: #f0f8fc;
  padding: 20px 24px;
}
.info__block .form__group.blue .info__label {
  min-width: 110px;
}
.info__block .form__group.horizontal {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 6px;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
}
.info__block .form__group.horizontal .form__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: unset;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(50% - 20px);
          flex: 1 1 calc(50% - 20px);
  min-width: 280px;
  max-width: 100%;
  border-bottom: 1px solid #dddddd;
  padding-bottom: 6px;
}
@media (max-width: 1119px) {
  .info__block .form__group.horizontal {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
  }
  .info__block .form__group.horizontal .form__row {
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.info__block .form__row {
  width: 95%;
}
@media (max-width: 768px) {
  .info__block {
    padding: 0px 12px;
  }
  .info__block .form__row {
    width: 100%;
  }
}
@media (max-width: 449px) {
  .info__block .form__group {
    gap: 16px;
  }
  .info__block .form__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2px;
  }
}

/* 通用行樣式 */
.form__row {
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 12px;
  position: relative;
}
.form__row > * {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
}
.form__row .info__label {
  color: #454545;
  font-size: 1em;
  font-weight: bold;
  padding: 8px;
  text-align: right;
  min-width: 142px;
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
  height: 40px;
}
.form__row .info__label--wide {
  /* 標籤欄位加寬版 */
  min-width: 170px;
}
.form__row .info__label .font-icon {
  font-size: 1em;
}
.form__row .info__value-wrapper {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}
.form__row .info__value-text {
  padding: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.form__row .info__value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1em;
  padding: 8px;
  border-radius: 4px;
  color: #454545;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  width: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
}
.form__row .info__value::-webkit-input-placeholder {
  color: #A0A0A0;
}
.form__row .info__value::-moz-placeholder {
  color: #A0A0A0;
}
.form__row .info__value:-ms-input-placeholder {
  color: #A0A0A0;
}
.form__row .info__value::-ms-input-placeholder {
  color: #A0A0A0;
}
.form__row .info__value::placeholder {
  color: #A0A0A0;
}
.form__row .info__value:has(.form__common) {
  padding-top: 0px;
  padding-bottom: 0px;
}
.form__row .info__value .form__checkbox-group {
  padding: 8px 0px;
  min-height: 40px;
}
.form__row .info__value > .form__checkbox {
  padding: 8px 0px;
  min-height: 40px;
}
.form__row .info__value .info__value-button {
  font-size: 1.3em;
  cursor: pointer;
  color: #0080CC;
  vertical-align: middle;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: -4px;
}
.form__row .info__value .form__common ~ .form__errorMsg {
  margin-top: -10px;
}
.form__row .info__value .form__checkbox-group ~ .form__errorMsg,
.form__row .info__value .form__radio-group ~ .form__errorMsg {
  margin-top: -18px;
}
.form__row .info__value-inline {
  display: inline;
  white-space: normal;
}
.form__row .info__value-inline a {
  word-break: break-all;
}
.form__row .info__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px;
}
.form__row .info__sub-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 8px 0px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}
.form__row .info__sub-row:has(.form__common) {
  padding: 0px;
  gap: 2px 12px;
}
.form__row .info__sub-row:has(.form__common ~ .form__errorMsg) {
  gap: 12px;
}
.form__row .info__sub-row:has(.form__radio-group, .form__checkbox-group):has(.form__input,
.form__textarea,
.form__tab-container,
.form__date-group) .form__errorMsg {
  margin-top: -10px;
}
.form__row .info__sub-label {
  white-space: nowrap;
  min-width: 46px;
}
@media (max-width: 768px) {
  .form__row {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .form__row .info__label {
    text-align: left;
  }
  .form__row .info__value .form-w240,
  .form__row .info__value .form-w340 {
    max-width: 100%;
  }
}
@media (max-width: 449px) {
  .form__row .info__label {
    color: #005C93;
    padding: 0px 8px;
  }
  .form__row .info__value {
    padding: 0px 8px 8px 8px;
  }
}

/* 水平線 */
.info__separator {
  border-bottom: 1px solid #e9e9e9;
  width: 100%;
  margin: 12px 0px;
}

/* 基本標題樣式 */
.info__title {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 8px;
  color: #000000;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  color: #454545;
}
@media (max-width: 449px) {
  .info__title {
    margin-bottom: 0px;
  }
}
.info__title::after {
  content: "";
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  margin-left: 12px;
  background-color: #e9e9e9;
}
.info__title.noline::after {
  display: none;
}

/* 小提示文字 */
.notice__text {
  font-size: 0.95em;
  padding: 0 8px;
  width: 100%;
  white-space: normal;
  line-height: 1.3;
}
.notice__text ul {
  padding-left: 20px;
  margin-top: 6px;
  list-style: square;
  line-height: 24px;
}
.notice__text li {
  color: #454545;
}

/* 備註區域 */
.notes__info {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.notes__info-title {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 12px;
}
.notes__info-list {
  list-style: square;
  padding-left: 1.5em;
  width: 98%;
  margin: 0 auto;
}
.notes__info-list.decimal {
  list-style: decimal;
}
.notes__info-item {
  font-size: 1em;
  margin-bottom: 8px;
  padding-left: 2px;
}
@media (max-width: 768px) {
  .notes__info-item {
    font-size: 0.95em;
  }
}
.notes__info .notes__labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
.notes__info .notes__labels .label-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 49%;
          flex: 1 1 49%;
}
@media (max-width: 575px) {
  .notes__info .notes__labels {
    gap: 10px;
  }
}

/* 備註區域 - 表格 */
.notes__table {
  margin-top: 6px;
  margin-bottom: 16px;
}
.notes__table-title {
  font-size: 0.95em;
  font-weight: bold;
  margin-bottom: 4px;
}
.notes__table table {
  font-size: 0.9em;
  border-collapse: collapse;
  vertical-align: middle;
  border: 1px solid #D8D8D8;
}
.notes__table table th {
  background-color: #f6f6f6;
  font-weight: bold;
}
.notes__table table th,
.notes__table table td {
  padding: 6px 12px;
  border: 1px solid #D8D8D8;
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .notes__table table th,
  .notes__table table td {
    padding: 6px 8px;
  }
}
.notes__table table .w-250 {
  max-width: 250px;
}
.notes__table table .w-250 span {
  white-space: nowrap;
}
.notes__table table#fee-table-container span {
  white-space: nowrap;
}

/* 色塊標籤 */
.label-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.95em;
  color: #333;
  gap: 8px;
  width: 100%;
}
.label-item .label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 80px;
  height: 26px;
  border-radius: 13px;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  font-weight: bold;
  font-size: 0.9em;
}
.label-item .label--red {
  background: #f24141;
}
.label-item .label--orange {
  background: #ff9c00;
}
.label-item .label--green {
  background: #3ab177;
}
.label-item .label--blue {
  background: #0080CC;
}
@media (max-width: 575px) {
  .label-item {
    width: 100%;
    font-size: 0.9em;
  }
}

/* 提示小視窗 */
.tooltip,
.toast {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 800;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  display: none;
}
.tooltip.show,
.toast.show {
  opacity: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.tooltip .tooltip-content,
.tooltip .toast-content,
.toast .tooltip-content,
.toast .toast-content {
  background: #ffffff;
  color: #000000;
  border-radius: 6px;
  font-size: 0.95em;
  padding: 10px 15px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  position: absolute;
  line-height: 1.2;
  white-space: nowrap;
  max-width: 80%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  border: 1px solid rgba(0, 0, 0, 0.6509803922);
  -webkit-box-shadow: 1px 1px 5px 1px rgba(53, 51, 51, 0.38);
          box-shadow: 1px 1px 5px 1px rgba(53, 51, 51, 0.38);
}
.tooltip i,
.toast i {
  font-size: 16px;
}

/* 通用資訊摘要藍色區塊 */
.datablock__wrapper {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
@media (max-width: 768px) {
  .datablock__wrapper {
    padding: 0px 12px;
  }
}
.datablock__block {
  width: 100%;
  background-color: #f0f8fc;
  padding: 8px 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0px 32px;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .datablock__block {
    padding: 8px;
  }
}
.datablock__block-red {
  background-color: #FFF0F0;
}
.datablock__block-note {
  width: 100%;
  text-align: center;
  padding: 8px;
  background-color: #FFF0F0;
  color: #DF2229;
  font-weight: bold;
  line-height: 1.4;
}
.datablock__block-note i {
  margin-right: 2.5px;
  font-size: 0.95em;
}
@media (max-width: 449px) {
  .datablock__block-note {
    text-align: left;
    font-size: 0.95em;
  }
  .datablock__block-note i {
    font-size: 0.95em;
  }
}
.datablock__block-blue {
  width: 100%;
  text-align: center;
  padding: 8px;
  background-color: #f0f8fc;
  color: #005C93;
  font-weight: bold;
  line-height: 1.4;
}
.datablock__block-blue i {
  margin-right: 2.5px;
  font-size: 0.95em;
}
@media (max-width: 449px) {
  .datablock__block-blue {
    text-align: left;
    font-size: 0.95em;
  }
  .datablock__block-blue i {
    font-size: 0.95em;
  }
}
.datablock__note {
  font-size: 1em;
  font-weight: bold;
  color: #005C93;
  padding: 4px;
  line-height: 1.4;
}
.datablock__note i {
  margin-right: 2.5px;
  font-size: 0.95em;
}
.datablock__title {
  font-size: 1em;
  font-weight: bold;
  color: #005C93;
  white-space: nowrap;
  padding: 4px;
}
.datablock__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0px 24px;
  font-size: 0.95em;
}
.datablock__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  padding: 4px;
}
.datablock__label {
  font-weight: bold;
  color: #454545;
  white-space: nowrap;
}
.datablock__value {
  color: #005C93;
}

/* 註解標記小字樣式（如：註1、註2） */
.note-mark {
  font-size: 0.75em;
  margin-left: 2px;
  vertical-align: text-top;
  white-space: nowrap;
}

/* 必填提示 */
.required > span:first-child {
  position: relative;
  display: inline-block;
}
.required > span:first-child::before {
  content: "*";
  color: #DF2229;
  position: absolute;
  left: -9px;
  top: 45%;
  top: -1%;
  font-size: 1em;
  pointer-events: none;
}

/* 公式統計區塊 */
.settle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 14px 8px;
  margin: 8px 0;
  font-size: 0.95em;
  position: relative;
}
.settle:has(.settle__bracket) {
  margin-top: 48px;
}
.settle__item {
  background-color: #fff;
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  text-align: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 127px;
}
.settle__item--result {
  overflow: hidden;
}
.settle__item--result .settle__label {
  background-color: #e5f2fa;
}
.settle__item--pullup {
  margin-left: auto;
}
.settle__label {
  display: block;
  background-color: #f6f6f6;
  padding: 6px 12px;
  border-bottom: 1px solid #D8D8D8;
}
.settle__value {
  padding: 10px 12px;
}
.settle__operator {
  font-size: 1.5em;
  -ms-flex-item-align: center;
      align-self: center;
  font-weight: bold;
  line-height: 1;
}
.settle__bracket {
  position: absolute;
  width: 65%;
  width: 590px;
  left: 0;
}
.settle__bracket::before {
  content: attr(data-caption);
  position: absolute;
  top: -46px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 0 6px;
  white-space: nowrap;
}
.settle__bracket::after {
  content: "";
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -21px;
  left: 50%;
  width: 99%;
  height: 16px;
  border-top: 1px solid #D8D8D8;
  border-left: 1px solid #D8D8D8;
  border-right: 1px solid #D8D8D8;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
@media (max-width: 991px) {
  .settle:has(.settle__bracket) {
    margin-top: 0px;
  }
  .settle__bracket {
    display: none;
  }
}
@media (max-width: 768px) {
  .settle {
    margin-block: 0px;
    font-size: 0.85em;
    gap: 12px 4px;
  }
}
@media (max-width: 575px) {
  .settle .settle__item {
    min-width: 80px;
  }
  .settle .settle__item .settle__label {
    padding: 6px 6px;
  }
  .settle .settle__item .settle__value {
    padding: 6px 6px;
  }
}

/* 通用loading 樣式 */
.loader {
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  z-index: 1000;
  background: #ffffff;
  padding: 30px 26px;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  height: 230px;
}

.sinopac-logo {
  width: 130px;
}
.sinopac-logo img {
  width: 100%;
}

.loading {
  margin-top: -30px;
  width: 150px;
}

@media (max-width: 768px) {
  .loader {
    padding: 26px 10px;
    height: 190px;
  }
  .sinopac-logo {
    width: 100px;
  }
  .loading {
    width: 150px;
    margin-top: -38px;
  }
}
/* 通用 Modal 樣式 */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 800;
  opacity: 0;
  padding: 0;
  border: none;
  display: none; /* 預設隱藏 */
}
.modal-open {
  overflow: hidden;
}
.modal.show {
  opacity: 1;
  display: block;
}
.modal__scrollable {
  overflow-y: auto;
}
.modal__scrollable .modal__content {
  -webkit-transform: unset;
          transform: unset;
  position: unset;
  margin: 60px auto;
}
@media (max-width: 768px) {
  .modal__scrollable .modal__content {
    margin: 40px auto;
  }
}
.modal__content {
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  background: #fff;
  max-width: 800px;
  width: 90%;
  border-radius: 8px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.modal__header {
  width: 100%;
  padding: 20px 20px 10px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f5f5f5;
}
.modal__close {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 20px;
  color: #666;
}
.modal__close .font-icon {
  font-size: 30px;
}
.modal__title {
  font-size: 1.2em;
  font-weight: bold;
  padding: 4px 12px 4px 0;
  color: #000000;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  line-height: 1.2;
}
.modal__title::after {
  content: "";
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  margin-left: 12px;
  background-color: #C4C4C4;
}
.modal__body {
  background: #ffffff;
  line-height: 1.5;
}
.modal__body-scroll {
  overflow-y: auto;
  max-height: 70vh;
}
.modal__body-scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  background: #EBEAEA;
  cursor: pointer;
}
.modal__body-scroll::-webkit-scrollbar-thumb {
  background: #C4C4C4;
  border-radius: 4px;
}
.modal__body h3.modal__subtitle {
  font-size: 1em;
  font-weight: bold;
  margin-top: 26px;
  margin-bottom: 4px;
}
.modal__body h3.modal__subtitle:first-of-type {
  margin-top: 0px;
}
.modal__body ul {
  padding-left: 1.5em;
  font-size: 0.95em;
  list-style: square;
}
.modal__body ul li {
  padding-left: 2px;
}
.modal__body ul.decimal {
  list-style: decimal;
}
.modal__body p {
  margin-bottom: 10px;
  font-size: 0.95em;
}
.modal__body ul:last-child {
  margin-bottom: 0px;
}
.modal__body p {
  font-size: 0.95em;
}
.modal__body a.blue {
  text-underline-offset: 4px;
}
.modal__body-common {
  padding: 20px;
}
.modal__footer {
  padding: 14px 16px 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  background: #f5f5f5;
  border-top: 1px solid #ddd;
}
@media (max-width: 768px) {
  .modal__header {
    padding: 12px 20px 10px;
  }
  .modal__title {
    font-size: 1.1em;
  }
  .modal__footer {
    padding: 16px 20px;
  }
}

/* 系統訊息 彈窗 (全站共用) */
#alertMessage .modal__content, .alertMessage .modal__content {
  max-width: 320px;
  width: 80%;
}
#alertMessage .modal__systemMessage, .alertMessage .modal__systemMessage {
  min-height: 150px;
  font-size: 1em;
  padding: 20px 20px;
  line-height: 1.5;
  max-height: 50vh;
}
#alertMessage .modal__footer, .alertMessage .modal__footer {
  padding: 12px 20px 14px;
}
#alertMessage .action__btn, .alertMessage .action__btn {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  max-width: 200px;
}

/* QRCode 樣式 */
.modal__qrcode {
  width: 90%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.modal__qrcode-download {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 12px;
}
.modal__qrcode-name {
  font-size: 1.1em;
  font-weight: bold;
  margin: 0 auto 16px;
  line-height: 1.3;
}
.modal__qrcode-storelogo {
  max-width: 170px;
  width: 55%;
  margin: 0 auto 16px;
}
.modal__qrcode-desc {
  margin: 0 auto 16px;
}
.modal__qrcode-desc .red {
  font-weight: 500;
}
.modal__qrcode-image {
  position: relative;
  text-align: center;
  max-width: 280px;
  max-height: 280px;
  width: 90%;
  padding: 10px;
  margin: 0 auto 8px;
  background: #EBEAEA;
  border-radius: 8px;
}
.modal__qrcode-image:before {
  content: "";
  background: url("../images/sinopac_logo_symbol.svg") no-repeat;
  background-position: center center;
  width: 21%;
  height: 21%;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.modal__qrcode-image--square-logo:before {
  background: url("../images/sinopac_logo_symbol_2.png") no-repeat;
}
.modal__qrcode-image .qrcode {
  position: relative;
}
.modal__qrcode-image .qrcode canvas {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.modal__qrcode-link {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #d8d8d8;
  margin: 6px 0 4%;
  border-radius: 5px;
  padding: 0px 10px;
  font-size: 16px;
  position: relative;
}
.modal__qrcode-linktext {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  border: none;
  font-size: 16px;
  color: #818181;
  padding: 6px 10px 6px 0;
  width: 100%;
  letter-spacing: 0;
}
.modal__qrcode-provider {
  font-size: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
}
.modal__qrcode-provider img {
  width: 90px;
  margin: 0 5px;
}
.modal__qrcode .font-icon {
  cursor: pointer;
  color: #0080CC;
  font-size: 1.4em;
}
.modal__qrcode .action__btn {
  min-width: 180px;
}
@media (max-width: 768px) {
  .modal__qrcode {
    width: 100%;
  }
  .modal__qrcode-name {
    font-size: 1.05em;
    margin: 0 auto 12px;
  }
  .modal__qrcode-link {
    margin: 0 auto 2%;
    padding: 0px 8px;
  }
  .modal__qrcode-linktext {
    padding: 4px 8px 4px 0;
    font-size: 0.95em;
  }
  .modal__qrcode-provider {
    font-size: 0.9em;
  }
  .modal__qrcode-provider img {
    width: 80px;
  }
  .modal__qrcode .font-icon {
    font-size: 1.2em;
  }
}

.pdf-export .modal__qrcode-download.modal__qrcode--print {
  font-size: 16px;
  -webkit-transition: font-size 1s ease;
  transition: font-size 1s ease;
}
.pdf-export .modal__qrcode-download.modal__qrcode--print .modal__qrcode-name {
  font-size: 1.1em;
  margin: 0 auto 16px;
}
.pdf-export .modal__qrcode-download.modal__qrcode--print .modal__qrcode-provider {
  font-size: 1em;
}
.pdf-export .modal__qrcode-download.modal__qrcode--print .modal__qrcode-provider img {
  width: 90px;
  margin: 0 5px;
}
.pdf-export .modal__qrcode-download.modal__qrcode--print .modal__qrcode-linktext {
  font-size: 16px;
}

/* 掃碼付款頁 QRCode 彈窗樣式 */
#storeQRCodeDialog .modal__content {
  max-width: 500px;
}
@media (max-width: 768px) {
  #storeQRCodeDialog .modal__body-common {
    padding: 10px 20px 20px;
  }
}

/* Login 登入說明頁 彈窗 */
#loginInfoDialog .modal__body {
  padding: 30px 36px;
}

/* 通用元件樣式 */
.form__common:disabled,
.form__common input:disabled,
.form__common select:disabled,
.form__common .disabled {
  background: #EBEAEA;
  cursor: initial;
}
.form__common:disabled.form__date-btn,
.form__common input:disabled.form__date-btn,
.form__common select:disabled.form__date-btn,
.form__common .disabled.form__date-btn {
  color: #9C9C9C;
  background: unset;
}
.form__common input:disabled + .form__checkbox__label .form__checkbox__box {
  background: #EBEAEA;
  border-color: #C4C4C4;
  cursor: initial;
}
.form__common input:disabled + .form__checkbox__label .form__checkbox__box::after {
  border: solid #C4C4C4;
  border-width: 0 2px 2px 0;
}

/* 日期區間輸入框 */
.form__date-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 4px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.form__date-label {
  font-weight: bold;
}
.form__date-input-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px 4px;
}
.form__date-input-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
}
.form__date-input-wrapper .form__date-input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 8px;
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  font-size: 0.95em;
  width: 100px;
  height: 40px;
}
.form__date-input-wrapper .form__date-input::-webkit-input-placeholder {
  color: #A0A0A0;
}
.form__date-input-wrapper .form__date-input::-moz-placeholder {
  color: #A0A0A0;
}
.form__date-input-wrapper .form__date-input:-ms-input-placeholder {
  color: #A0A0A0;
}
.form__date-input-wrapper .form__date-input::-ms-input-placeholder {
  color: #A0A0A0;
}
.form__date-input-wrapper .form__date-input::placeholder {
  color: #A0A0A0;
}
.form__date-btn {
  border: none;
  cursor: pointer;
  color: #0080CC;
  margin-left: 4px;
  width: 22.75px;
}
.form__date-btn .font-icon {
  font-size: 26px;
}
@media (max-width: 768px) {
  .form__date-input {
    width: 100%;
    max-width: 200px;
  }
  .form__date-btn .font-icon {
    font-size: 26px;
  }
}

/* input 輸入框 */
.form__input {
  padding: 8px;
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  font-size: 0.95em;
  height: 40px;
  min-width: 80px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.form__input::-webkit-input-placeholder {
  color: #A0A0A0;
}
.form__input::-moz-placeholder {
  color: #A0A0A0;
}
.form__input:-ms-input-placeholder {
  color: #A0A0A0;
}
.form__input::-ms-input-placeholder {
  color: #A0A0A0;
}
.form__input::placeholder {
  color: #A0A0A0;
}
.form__input-wrapper {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

/* input 輸入框 + 右側 icon */
.form__input-icon-wrapper {
  position: relative;
  display: inline-block;
}
.form__input-icon-wrapper .form__input {
  width: 100%;
}
@media (max-width: 768px) {
  .form__input-icon-wrapper {
    width: 100%;
  }
}
.form__input-icon-wrapper .form__input {
  padding-right: 26px;
}
.form__input-icon-wrapper .font-icon {
  position: absolute;
  top: 50%;
  right: 8px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #454545;
  font-size: 1.1em;
  pointer-events: auto;
}

/* select 下拉選單 */
.form__select-wrapper {
  position: relative;
  display: inline-block;
}
@media (max-width: 768px) {
  .form__select-wrapper {
    width: 100%;
  }
}
.form__select-wrapper .form__select {
  width: 100%;
  padding: 8px 26px 8px 8px;
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #FFFFFF;
  cursor: pointer;
  color: #454545;
  font-size: 0.95em;
  height: 40px;
}
.form__select-wrapper .form__select option {
  color: #454545;
}
.form__select-wrapper .form__select:invalid {
  color: #A0A0A0;
}
.form__select-wrapper .font-icon.fa-chevron-down {
  position: absolute;
  top: 50%;
  right: 8px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
  color: #A0A0A0;
  font-size: 14px !important;
}

/* radio 單選框群組 */
.form__radio-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px; /* 控制單選框之間的間距 */
  min-height: 40px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 單個單選框 */
}
.form__radio-group .form__radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.form__radio-group .form__radio input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid #D8D8D8; /* 外邊框顏色 */
  border-radius: 50%;
  position: relative;
  outline: none;
  cursor: pointer;
}
.form__radio-group .form__radio input[type=radio]:checked {
  border-color: #D8D8D8;
}
.form__radio-group .form__radio input[type=radio]:checked::after {
  content: "";
  display: block;
  width: 9px; /* 內圈圓的大小 */
  height: 9px;
  background: #0080CC;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.form__radio-group .form__radio input[type=radio]:disabled {
  cursor: initial;
}
.form__radio-group .form__radio input[type=radio]:disabled + label {
  cursor: initial;
}
.form__radio-group .form__radio input[type=radio]:disabled:checked {
  cursor: initial;
}
.form__radio-group .form__radio input[type=radio]:disabled:checked::after {
  background: #707070;
}
.form__radio-group .form__radio label {
  color: #454545;
  font-weight: bold;
  cursor: pointer;
  white-space: nowrap;
}

/* tabs 頁籤 */
.form__tab-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.form__tab-wrapper::-webkit-scrollbar {
  height: 5px;
  background: #EBEAEA;
  cursor: pointer;
}
.form__tab-wrapper::-webkit-scrollbar-thumb {
  background: #C4C4C4;
  border-radius: 4px;
}
.form__tab-container {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  width: 100%;
}
.form__tab-item {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  white-space: nowrap;
  padding: 8px 16px;
  border: 1px solid #D8D8D8;
  border-left: none;
  font-size: 0.95em;
  height: 40px;
  background: #FFFFFF;
  color: #454545;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  text-decoration: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.form__tab-item:first-child {
  border-left: 1px solid #D8D8D8;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.form__tab-item:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.form__tab-item:hover {
  background: #D8D8D8;
  text-decoration: none;
}
.form__tab-item--active {
  background: #0080CC;
  color: #FFFFFF;
  border-top: 1px solid #0080CC;
  border-bottom: 1px solid #0080CC;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.form__tab-item--active:hover {
  background: #005C93;
  color: #FFFFFF;
  border-top: 1px solid #005C93;
  border-bottom: 1px solid #005C93;
}
@media (max-width: 768px) {
  .form__tab .form__tab-wrapper {
    padding-bottom: 6px;
  }
}

/* Checkbox 勾選框 */
.form__checkbox {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  vertical-align: middle;
}
.form__checkbox-group {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  vertical-align: middle;
}
.form__checkbox__input {
  display: none;
}
.form__checkbox__input:checked + .form__checkbox__label .form__checkbox__box {
  border-color: #0080CC;
  background: #FFFFFF;
}
.form__checkbox__input:checked + .form__checkbox__label .form__checkbox__box::after {
  opacity: 1;
}
.form__checkbox__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 4px;
}
.form__checkbox__box {
  position: relative;
  width: 19px;
  height: 19px;
  border: 2px solid #9C9C9C;
  border-radius: 4px;
  background: #FFFFFF;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.form__checkbox__box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 0px;
  width: 6px;
  height: 11.5px;
  border: solid #0080CC;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  opacity: 0;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.form__checkbox__box.small {
  width: 16px;
  height: 16px;
}
.form__checkbox__box.small::after {
  left: 4px;
  top: -2px;
  border-width: 0 2px 2px 0;
}
.form__checkbox__text {
  white-space: nowrap;
}

/* textarea 樣式 */
.form__textarea {
  padding: 8px;
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  font-size: 0.95em;
  min-height: 100px;
  resize: none;
}
.form__textarea::-webkit-input-placeholder {
  color: #A0A0A0;
}
.form__textarea::-moz-placeholder {
  color: #A0A0A0;
}
.form__textarea:-ms-input-placeholder {
  color: #A0A0A0;
}
.form__textarea::-ms-input-placeholder {
  color: #A0A0A0;
}
.form__textarea::placeholder {
  color: #A0A0A0;
}
.form__textarea::-webkit-scrollbar {
  width: 10px;
  background: #EBEAEA;
  cursor: pointer;
}
.form__textarea::-webkit-scrollbar-thumb {
  background: #C4C4C4;
  border-radius: 4px;
}

/* 檔案上傳框 樣式 */
.form__file-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  overflow: hidden;
  height: 40px;
  width: 100%;
}
.form__file-wrapper:focus-within {
  outline: 2px solid;
}
.form__file-wrapper .form__file {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}
.form__file-wrapper .form__file-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  font-size: 0.95em;
  height: 100%;
  cursor: pointer;
}
.form__file-wrapper .form__file-name {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 8px 12px;
}
.form__file-wrapper .form__file-btn {
  background: #e9e9e9;
  border-left: 1px solid #D8D8D8;
  padding: 8px 20px;
  white-space: nowrap;
  border-radius: 4px;
  font-weight: bold;
  letter-spacing: 2px;
}

.form-w80 {
  width: 100%;
  max-width: 80px;
  min-width: 80px;
}
.form-w100 {
  width: 100%;
  max-width: 100px;
}
.form-w130 {
  width: 100%;
  max-width: 130px;
}
.form-w150 {
  width: 100%;
  max-width: 150px;
}
.form-w180 {
  width: 100%;
  max-width: 180px;
}
.form-w200 {
  width: 100%;
  max-width: 200px;
}
.form-w220 {
  width: 100%;
  max-width: 220px;
}
.form-w240 {
  width: 100%;
  max-width: 240px;
}
.form-w300 {
  width: 100%;
  max-width: 300px;
}
.form-w340 {
  width: 100%;
  max-width: 340px;
}
.form-full-width {
  width: 100%;
}

/* 通用按鈕基本樣式*/
.btn {
  cursor: pointer;
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #D8D8D8;
  padding: 8px 10px;
}

.actions__btn-group {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
}

.actions__btn-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.actions__btn-item .red {
  font-weight: 500;
}

/* 主按鈕樣式*/
.action__btn {
  font-size: 16px;
  min-width: 140px;
  text-align: center;
  line-height: 1.4;
}
.action__btn:active {
  border: none;
}
.action__btn-primary {
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  background: #0080CC;
  color: #FFFFFF;
  border: none;
}
.action__btn-primary:hover {
  background: #005C93;
  text-decoration: none;
}
.action__btn-primary:disabled, .action__btn-primary:disabled:hover {
  color: #FFFFFF;
  background: #afceec;
  pointer-events: none;
}
.action__btn-secondary {
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  background: #FFFFFF;
  color: #000000;
  border: 1px solid #D8D8D8;
}
.action__btn-secondary:hover {
  background: #0080CC;
  color: #FFFFFF;
  border: 1px solid #0080CC;
  text-decoration: none;
}
.action__btn-secondary:disabled, .action__btn-secondary:disabled:hover {
  color: #bfc0c1;
  background: #FFFFFF;
  border: 1px solid #D8D8D8;
  pointer-events: none;
}
@media (max-width: 374px) {
  .action__btn {
    min-width: 100px;
    width: 100%;
  }
}

.filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #FFFFFF;
  font-size: 16px;
  white-space: nowrap;
}
.filter__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.filter__form:has(+ .header__search) ~ .header__search {
  display: none;
}
@media (max-width: 991px) {
  .filter__form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.filter__form-tabs, .filter__group {
  width: 70%;
  padding: 30px 12px 30px 26px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  z-index: 1;
  font-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  line-height: 1.5;
}
@media (max-width: 991px) {
  .filter__form-tabs, .filter__group {
    width: 100%;
    padding: 20px 12px 20px;
  }
}
.filter__form-tabs { /* 特例：篩選區含 tabsInput，手機版也需顯示 */ }
.filter__form-tabs .filter__group {
  width: 100%;
  padding: 0;
}
.filter__group .form__row {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.filter__group .notice__text {
  padding: 0px;
}
@media (max-width: 991px) {
  .filter__group .form__row:has(.form__radio-group.form__common + .form__common) {
    gap: 2px 12px;
  }
  .filter__group .form-w80, .filter__group .form-w100, .filter__group .form-w130, .filter__group .form-w150, .filter__group .form-w180, .filter__group .form-w200, .filter__group .form-w220, .filter__group .form-w240, .filter__group .form-w300, .filter__group .form-w340 {
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .filter .filter__group,
  .filter .filter__btn {
    display: none;
  }
}

/* 查詢按鈕區塊 */
.filter__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 30px 26px;
  position: relative;
  max-width: 198px;
  width: 100%;
}
.filter__btn::before {
  content: "";
  height: 100%;
  width: 26px;
  background: url(../images/backgrounds/filter__actions_shadow.jpg) center top no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  bottom: 0;
}
@media (max-width: 991px) {
  .filter__btn {
    max-width: 100%;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0px 12px 20px;
  }
  .filter__btn::before {
    display: none;
  }
}

/* 搜尋結果 */
.filter__result {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px 26px;
  background-color: #f5f5f5;
  color: #454545;
  gap: 4%;
  background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), color-stop(70%, #f4f4f4), color-stop(90%, #e7e7e7), to(#e2e2e2));
  background: linear-gradient(to bottom, #f4f4f4 0%, #f4f4f4 70%, #e7e7e7 90%, #e2e2e2 100%);
}
.filter__result:empty {
  /* 無搜尋結果-純灰色裝飾 */
  padding: 8px 26px;
}
.filter__result-summary {
  /* 第一款：完整模式 */
  padding: 12px 26px 14px;
}
.filter__result-summary .filter__result-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.filter__result-summary .filter__result-title span {
  font-weight: 500;
  font-size: 1.5em;
  color: #9C9C9C;
  letter-spacing: 1px;
  line-height: 1.1;
  margin-left: 2px;
}
.filter__result-summary .filter__result-icon {
  width: 70px;
  margin-right: 5px;
}
.filter__result-summary .filter__result-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  font-size: 0.95em;
}
.filter__result-summary .filter__result-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  color: #9C9C9C;
  padding-bottom: 10px;
  border-bottom: 1px solid #C4C4C4;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  line-height: 1.6;
}
.filter__result-summary .filter__result-details {
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 10px;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  color: #4A4A4A;
}
.filter__result-summary .filter__result-item {
  font-weight: bold;
}
.filter__result-summary .filter__result-item .filter__result-value {
  white-space: break-spaces;
  word-break: break-word;
}
.filter__result-simple {
  /* 第二款：簡易模式 */
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.filter__result-simple .filter__simple-info {
  font-weight: bold;
}
.filter__result-simple .filter__simple-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
}
.filter__result-simple .filter__simple-buttons .filter__simple-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  text-decoration: none;
  color: #0080CC;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
}
.filter__result-simple .filter__simple-buttons .filter__simple-button .font-icon {
  margin-right: 3px;
  font-size: 16px;
}
.filter__result-simple .filter__simple-buttons .filter__simple-button:hover {
  color: #005C93;
}
@media (max-width: 768px) {
  .filter__result {
    padding: 18px 12px;
  }
  .filter__result:empty {
    padding: 4px 26px;
  }
  .filter__result .filter__result-title,
  .filter__result .filter__result-content {
    display: none;
  }
  .filter__result .filter__result-details {
    margin-top: 0px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .filter__result-simple {
    padding: 14px 12px;
    font-size: 0.95em;
  }
  .filter__result-simple .filter__simple-buttons .filter__simple-button .filter__simple-icon {
    font-size: 20px;
  }
}

/* 表單樣式表 */
.table {
  width: 100%;
  max-width: 100%;
  line-height: 1.5;
  overflow-x: auto;
}
.table::-webkit-scrollbar {
  height: 8px;
  width: 8px;
  background: #EBEAEA;
  cursor: pointer;
}
.table::-webkit-scrollbar-thumb {
  background: #C4C4C4;
  border-radius: 4px;
}
.table__content {
  width: 100%;
  border-collapse: collapse;
}
.table thead {
  /* 表頭樣式 */
  background: #0080CC;
  color: #fff;
  font-size: 0.92em;
}
.table thead th {
  position: relative;
  padding: 14px 12px;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}
.table tbody {
  /* 表格內容樣式 */
  font-size: 0.9em;
}
.table tbody tr {
  border-bottom: 1px solid #e9e9e9;
}
.table tbody tr:nth-child(odd) {
  background-color: #FFFFFF;
}
.table tbody tr:nth-child(even) {
  background-color: #f0f8fc;
}
.table tbody tr td {
  padding: 12px 12px;
  text-align: center;
  vertical-align: middle;
}
.table tbody tr td a.blue {
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.table tbody tr td a.blue:hover {
  text-underline-offset: 4px;
  color: #254A91;
}
.table tbody tr td a:has(.font-icon):hover {
  text-decoration: none;
}
.table tbody tr td .font-icon {
  width: 17px;
}
@media (max-width: 768px) {
  .table {
    font-size: 0.9em;
  }
  .table .hide-mobile {
    display: none !important;
  }
  .table thead th {
    padding: 14px 8px;
  }
  .table tbody tr td {
    padding: 12px 8px;
  }
}
.table .arrow {
  /* 表格內箭頭 */
  padding: 14px 26px 14px 12px;
  background: #005C93;
  cursor: pointer;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.table .arrow::after {
  content: "\f0d7";
  font-family: "Font Awesome 5 Free";
  font-size: 16px;
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.table .arrow:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.table .arrow.rotate::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.table .w100 {
  /* 通用寬度類別 */
  width: 100px;
}
.table .w150 {
  width: 150px;
}
.table .w200 {
  width: 200px;
}
.table .w250 {
  width: 250px;
}
.table th.truncate {
  text-align: center;
}
.table .truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  word-break: break-word;
  overflow-wrap: break-word;
}
.table .flex-wrap-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  vertical-align: middle;
}
.table .col-left {
  text-align: left;
}
.table .col-left p {
  line-height: 1.25;
  margin-bottom: 10px;
}
.table .col-left p:last-child {
  margin-bottom: 0;
}
.table .col-left-nowrap {
  text-align: left;
}
.table .col-left-nowrap p {
  white-space: nowrap;
}
.table .date-range {
  line-height: 1.25;
}
.table .col-center {
  text-align: center;
}
.table .col-right {
  text-align: right;
}
.table .word-break {
  word-break: break-word;
  overflow-wrap: break-word;
}
.table .min-width-100 {
  min-width: 100px;
}
.table .min-width-120 {
  min-width: 120px;
}
.table .min-width-140 {
  min-width: 140px;
}
.table .min-width-150 {
  min-width: 150px;
}
.table .min-width-160 {
  min-width: 160px;
}
.table .has-note-mark {
  display: inline-block;
  padding: 8px 12px 20px;
  text-align: center;
}
.table .has-note-mark span {
  display: block;
  position: relative;
}
.table .has-note-mark .note-mark {
  position: absolute;
  right: 12px;
  top: 28px;
  font-size: 10.5px;
}
@media (max-width: 768px) {
  .table .has-note-mark {
    padding: 8px 8px 22px;
  }
  .table .has-note-mark .note-mark {
    right: 8px;
    top: 27px;
  }
}
.table .label-item {
  /* 表格內 - 色塊標籤 */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 4px;
}
.table .label-item .label {
  min-width: 74px;
  height: 22px;
  font-weight: normal;
  line-height: 0;
}
.table .action {
  /* 表格內「操作欄」樣式，像是 接受/拒絕/明細 等功能按鈕區 */
}
.table .action a {
  white-space: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 2px;
}
.table .action a:has(.font-icon):hover {
  text-decoration: none;
}
.table .action a .font-icon {
  width: 17px;
  font-size: 1.18em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.table .action a .font-icon ~ span {
  font-size: 1em;
}
.table .action a .fa-edit:before {
  font-size: 0.92em;
}
.table .action a .fa-trash-alt {
  margin-left: -1px;
}
.table .action a .fa-check {
  font-size: 1.15em;
}
.table .action a .fa-times {
  font-size: 1.28em;
}
.table .action span {
  line-height: 1.5;
}
.table .action-inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px 8px;
}
.table .action-inner-column, .table .action-inner-cloumn {
  /* cloumn 拼字錯誤，html classname 已提出修正，以防萬一怕後端還沒套用到先留著，之後會刪掉 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px 8px;
}
.table .action-inner-column a .font-icon, .table .action-inner-cloumn a .font-icon {
  font-size: 1.05em;
}
.table .action-inner-column a .fa-check, .table .action-inner-cloumn a .fa-check {
  font-size: 0.97em;
  margin-top: 2px;
}
.table .action-inner-column a .fa-times, .table .action-inner-cloumn a .fa-times {
  font-size: 1.2em;
}
.table .action-inner-column a .fa-file-alt, .table .action-inner-cloumn a .fa-file-alt {
  margin-top: 1.2px;
}
.table .action-inner-column a .fa-arrow-alt-circle-down, .table .action-inner-cloumn a .fa-arrow-alt-circle-down {
  margin-top: 3px;
}
.table .action-inner-column a .fa-shield-alt, .table .action-inner-cloumn a .fa-shield-alt {
  margin-top: 1.2px;
}
.table .action-inner-column a .fa-undo-alt, .table .action-inner-cloumn a .fa-undo-alt {
  font-size: 0.95em;
  margin-top: 1px;
}
.table .action-inner-column a .fa-times-circle, .table .action-inner-cloumn a .fa-times-circle {
  font-size: 1.2em;
}
.table .action-inner-column a .fas.fa-vote-yea, .table .action-inner-cloumn a .fas.fa-vote-yea {
  font-size: 0.97em;
  margin-top: 2px;
}
.table .action-inner-column:has(> span):has(> i), .table .action-inner-column:has(> span):has(> a), .table .action-inner-cloumn:has(> span):has(> i), .table .action-inner-cloumn:has(> span):has(> a) {
  gap: 0px 8px;
}
.table .text-wrap {
  display: inline-block;
  width: 2.5em;
  word-break: break-word;
  white-space: normal;
  line-height: 1.35;
}
.table .dropdown-menu .font-icon {
  width: 17px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.table .dropdown-menu .fa-times {
  font-size: 1.24em;
  margin-top: 1px;
}
@media (max-width: 768px) {
  .table .col-short {
    width: 20%;
  }
  .table .col-medium {
    width: 30%;
  }
  .table .col-long {
    width: 50%;
  }
}

/* 頁籤 */
.pagination {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.95em;
  white-space: nowrap;
  gap: 16px;
  margin: 10px auto 30px;
  background: #FFFFFF;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
.pagination .btn {
  padding: 10px;
}
.pagination__info {
  color: #454545;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.pagination__controls {
  color: #454545;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagination__controls button {
  border: 1px solid #e0e0e0;
  background-color: #FFFFFF;
  color: #454545;
  cursor: pointer;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.pagination__controls button:hover:not(:disabled) {
  color: #fff;
  background: #0080CC;
}
.pagination__controls button:disabled, .pagination__controls button:disabled:hover {
  color: #bfc0c1;
}
.pagination__controls .pagination__prev,
.pagination__controls .pagination__next {
  min-width: 60px;
}
.pagination__controls .pagination__page {
  width: 36px;
  text-align: center;
}
.pagination__controls .pagination__page.pagination-active {
  background: #0080CC;
  color: #fff;
  border-color: #0080CC;
}

.pagination:has(+ .info__block) {
  margin-bottom: 40px;
}

@media (max-width: 1200px) {
  .pagination {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .pagination__controls {
    position: unset;
    -webkit-transform: unset;
            transform: unset;
  }
}
@media (max-width: 991px) {
  .pagination .pagination__controls {
    gap: 5px;
  }
  .pagination .pagination__controls .pagination__page {
    width: 30px;
  }
  .pagination .btn {
    padding: 8px;
    font-size: 0.9em;
  }
}
.dropdown-menu {
  position: relative;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5px;
}
.dropdown-menu .font-icon {
  font-size: 18px;
  color: #454545;
}
.dropdown-menu .font-icon:hover {
  color: #0080CC;
}
.dropdown-menu:hover .dropdown-list {
  display: block;
}

/* 下拉選單 */
.dropdown-list {
  position: fixed;
  background: #fff;
  -webkit-box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: none;
}
.dropdown-list li {
  list-style: none;
}
.dropdown-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 7px 14px;
  font-size: 1em;
  text-decoration: none;
  color: #333;
  cursor: pointer;
  white-space: nowrap;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.dropdown-list li a .font-icon {
  font-size: 16px;
  margin-right: 5px !important;
  color: #454545;
  width: 17px;
}
.dropdown-list li a span {
  font-size: 14px;
}
.dropdown-list li a:hover {
  background-color: #f0f8fc;
  color: #0080CC;
}
.dropdown-list li a:hover i {
  color: #0080CC;
}
.dropdown-list li:first-child a {
  padding-top: 9px;
}
.dropdown-list li:last-child a {
  padding-bottom: 9px;
}

/* Tippy.js 產生的 Tooltip 樣式調整 */
.tippy-box {
  white-space: normal; /* 確保 <br> 換行生效 */
  word-break: break-word;
  background-color: #454545;
  color: white;
  font-size: 0.85em;
  font-weight: 500;
  max-width: 300px !important;
  width: 100%;
}
.tippy-box .tippy-content {
  padding: 8px 10px;
  text-align: left;
}
.tippy-box .tippy-content ul { /* 前面為符號自訂icon */
  font-size: 0.7em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.tippy-box .tippy-content ul li {
  position: relative;
  padding-left: 1.6em;
}
.tippy-box .tippy-content ul li::before {
  content: "\f073";
  font-family: "Font Awesome 5 Free"; /* 引用 Font Awesome */
  font-weight: 900; /* 確保是 solid 版本 */
  position: absolute;
  left: 0;
  top: 1px;
  color: #ffd27c;
}
.tippy-box .tippy-content ol { /* 前面符號為數字 */
  font-size: 0.7em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-left: 1.55em;
  list-style-type: decimal;
  padding-left: 0.18em;
}
.tippy-box .tippy-content li {
  line-height: 1.5;
}

/* Tooltip 隱藏內容區塊（須獨立放置） */
.tooltip-list {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  height: 0;
  overflow: hidden;
}
.tooltip-list-title {
  font-size: 0.7em;
  line-height: 1.5;
  display: block;
  margin-bottom: 2px;
}
.tooltip-list-title .tooltip-list-title-icon {
  color: #ffd27c;
  margin-right: 0.5em;
  width: 12.5px;
}

.tippy-arrow {
  color: #454545;
}

.system {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 25vh;
  padding: 1em;
}
.system .info__block {
  margin-bottom: 0px;
  padding: 0;
}
.system__container {
  width: 100%;
}
.system__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 36px;
}
.system__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 160px;
  width: 33%;
}
.system__icon .system__img {
  width: 100%;
}
.system__content {
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: left;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.system__title {
  font-size: 1.5em;
  font-weight: 700;
  color: #454545;
  margin-bottom: 8px;
}
.system__info {
  margin-bottom: 20px;
}
.system__info-item {
  font-size: 0.95em;
  color: #9C9C9C;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .system {
    padding: 0.8em;
  }
  .system__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
  .system__content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .system__title {
    font-size: 1.3em;
    text-align: center;
  }
  .system .action__btn {
    margin: 0 auto;
  }
}

/* 登入頁 */
.login {
  width: 100%;
  background: #F3F3F3;
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 320px;
}
.login__section {
  max-width: 1280px;
  width: 98%;
  background-size: contain;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-image: url(../images/backgrounds/funbiz-login-bg.png);
  background-repeat: no-repeat;
  background-color: #F3F3F3;
  background-position: calc(100% + 25px) 38%;
}
@media (max-width: 1399px) {
  .login__section {
    background-size: 95.5%;
    background-position: calc(100% + 130px) 80%;
    margin-left: auto;
    margin-right: 0;
  }
}
@media (max-width: 991px) {
  .login__section {
    background-position: calc(100% + 170px) 70%;
    background-size: 105%;
  }
}
@media (max-width: 768px) {
  .login__section {
    width: 100%;
    margin: 0 auto;
  }
}
@media (max-width: 575px) {
  .login__section {
    width: 100%;
    background: unset;
  }
}
.login__logo {
  width: 100%;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.login__logo img {
  max-width: 150px;
}
@media (max-width: 575px) {
  .login__logo {
    -webkit-box-shadow: 0 0 18px 3px rgba(169, 169, 169, 0.5);
            box-shadow: 0 0 18px 3px rgba(169, 169, 169, 0.5);
    margin-bottom: 15px;
  }
  .login__logo img {
    max-width: 130px;
  }
}
.login__form {
  max-width: 300px;
  width: 100%;
}
.login__form-title {
  font-size: 1.2em;
  font-weight: bold;
}
@media (max-width: 575px) {
  .login__form {
    max-width: 100%;
  }
}
.login__info {
  font-size: 0.9em;
  color: #A0A0A0;
  line-height: 1.2;
}
.login__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-weight: 500;
}
@media (max-width: 575px) {
  .login__links {
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
  }
}
@media (max-width: 374px) {
  .login__links {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.login__links a,
.login__links .login__link {
  color: #454545;
  cursor: pointer;
}
.login__links a:hover,
.login__links .login__link:hover {
  text-underline-offset: 4px;
  text-decoration: underline;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  color: #0080CC;
}
.login .form__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  background: #FFFFFF;
  padding: 20px;
  position: relative;
  -webkit-box-shadow: 0px 3px 20px 1px rgba(169, 169, 169, 0.3);
          box-shadow: 0px 3px 20px 1px rgba(169, 169, 169, 0.3);
  margin-bottom: 30px;
}
.login .form__group::after {
  content: "";
  height: 52px;
  width: 100%;
  background: url(../images/backgrounds/layout__content_shadow.png) center top no-repeat;
  background-size: contain;
  position: absolute;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  left: 50%;
  bottom: 0;
}
@media (max-width: 768px) {
  .login .form__group {
    margin-bottom: 0px;
  }
}
.login .form__row {
  gap: 6px;
}
.login .form__row .info__value {
  padding: 0;
}
.login .form__row .info__value .form__common ~ .form__errorMsg {
  margin-bottom: -10px;
}
.login .form__row .input-wrapper {
  position: relative;
  width: 100%;
}
.login .form__common {
  width: 100%;
}
.login .captcha a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 100%;
  width: 126px;
  height: 40px;
}
.login .captcha img {
  width: 100%;
  height: 100%;
}
.login #btnLogin {
  max-width: 100%;
}
.login__title {
  padding-top: 10%;
}
.login__title-text {
  margin: 0 auto;
  width: 100%;
  padding: 10px 15px;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  border-radius: 5px;
  background: radial-gradient(circle, rgb(243, 243, 243) 20%, rgba(243, 243, 243, 0.3) 60%, rgba(243, 243, 243, 0.5) 80%, rgba(243, 243, 243, 0) 100%);
}
.login__title-main {
  font-weight: bold;
  font-size: 3.55em;
  white-space: nowrap;
  margin-bottom: 14px;
}
.login__title-sub {
  font-weight: 500;
  font-size: 1.5em;
  line-height: 1.3;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.login__title-sub span {
  white-space: nowrap;
}
@media (max-width: 1399px) {
  .login__title {
    padding-right: 8%;
    padding-top: 7%;
  }
  .login__title-main {
    font-size: 3.3em;
    margin-bottom: 12px;
  }
}
@media (max-width: 991px) {
  .login__title {
    padding-right: 0;
    padding-top: 10%;
  }
  .login__title-text {
    width: 88%;
    margin: 20px auto;
  }
  .login__title-main {
    font-size: 5.1785714286vw;
    margin-bottom: 1.4285714286vw;
  }
  .login__title-sub {
    font-size: 2.5vw;
  }
}
@media (max-width: 768px) {
  .login__title {
    padding-top: 12%;
  }
  .login__title-main {
    font-size: 5.5357142857vw;
    margin-bottom: 1.4285714286vw;
  }
  .login__title-sub {
    font-size: 2.6785714286vw;
  }
}
@media (max-width: 575px) {
  .login__title {
    display: none;
  }
}

.cookies {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 100;
  background: #e9e9e9;
  color: #000000;
  padding: 16px 20px;
  -webkit-box-shadow: 0px -3px 8px 2px rgba(40, 41, 47, 0.2);
          box-shadow: 0px -3px 8px 2px rgba(40, 41, 47, 0.2);
}
@media (max-width: 768px) {
  .cookies {
    padding: 12px 16px;
  }
}
.cookies-notice {
  max-width: 1280px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.4;
  font-size: 1em;
}
@media (max-width: 768px) {
  .cookies-notice {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 0.95em;
    gap: 8px;
  }
}
.cookies-notice-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: #005C93;
}
.cookies-notice-text .font-icon {
  margin-right: -2px;
}
.cookies-notice__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
@media (max-width: 768px) {
  .cookies-notice__buttons {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}
.cookies-notice__buttons .btn {
  min-width: 90px;
  font-size: 0.95em;
  padding: 6px;
  height: unset;
}
.cookies-notice__buttons .action__btn-secondary {
  border: 1px solid #005C93;
  color: #005C93;
}
.cookies-notice__buttons .action__btn-secondary:hover {
  background: #005C93;
  color: #FFFFFF;
  text-decoration: none;
}

/* 連結收款相關頁面 */
.linkPayment .table-credit-install .form__checkbox-group {
  margin-top: 10px;
}
.linkPayment .table-credit-install .form__checkbox-group .form__checkbox__box {
  border-color: #64bcef;
}
.linkPayment .table-credit-install .form__checkbox-group .form__checkbox__box::after {
  border: solid #64bcef;
  border-width: 0 2px 2px 0;
}
.linkPayment #payerInfo .info__sub {
  border-top: 1px solid #D8D8D8;
}
.linkPayment #payerInfo > .info__sub:first-child {
  border-top: none !important;
  border-bottom: none !important;
  padding-bottom: 0px !important;
}
.linkPayment #payerInfo > .info__sub:last-child {
  border-bottom: 1px solid #D8D8D8;
  padding-bottom: 12px;
}
.linkPayment #payerInfo .email-plus, .linkPayment #payerInfo .email-minus {
  margin-left: auto;
}

@media (max-width: 768px) {
  .linkPayment .filter__date-label {
    display: none;
  }
}
/* LinkPayment 連結收款頁 批次新增 彈窗 */
#batchAddDialog .modal__body {
  padding: 30px 36px;
}
#batchAddDialog .step-upload,
#batchAddDialog .btn-back,
#batchAddDialog .btn-submit {
  display: none;
}
#batchAddDialog .info__block {
  margin-bottom: 0px;
  gap: 30px;
}
#batchAddDialog .info__block .form__row {
  width: 100%;
}
#batchAddDialog .info__block .info__separator {
  margin: 0;
}
#batchAddDialog .info__block .info__value {
  max-width: 70%;
}
@media (max-width: 768px) {
  #batchAddDialog .info__block .info__value {
    max-width: unset;
  }
}
#batchAddDialog .info__block .form__row .info__value:has(li) {
  padding: 0px 0px;
}
#batchAddDialog .notes__info {
  gap: 0px;
}
#batchAddDialog .notes__info .info__title {
  font-size: 1em;
}
#batchAddDialog .table--payment-method tbody tr:first-child td {
  padding-top: 8.5px;
}
#batchAddDialog .table--payment-method tbody tr:nth-child(even) {
  background-color: unset;
}
#batchAddDialog .table--payment-method tbody tr:last-child {
  border-bottom: none;
}
#batchAddDialog .table--payment-method tbody tr td {
  white-space: nowrap;
}
#batchAddDialog .table--payment-method .lightbox-checkbox {
  padding-left: 0px;
  text-align: left;
}
#batchAddDialog .file-upload-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 12px 12px;
}
#batchAddDialog .table--upload-preview {
  overflow-y: auto;
  max-height: 430px;
}
#batchAddDialog .table--upload-preview thead {
  position: sticky;
  top: 0;
  z-index: 1;
}
#batchAddDialog .table--upload-preview tbody tr td {
  text-align: left;
  vertical-align: top;
}
#batchAddDialog .table--upload-preview .col-name {
  min-width: 150px;
}
#batchAddDialog .table--upload-preview .col-note {
  min-width: 220px;
}
#batchAddDialog .table--upload-preview .col-email {
  max-width: 200px;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}
#batchAddDialog .table--upload-preview thead th {
  position: sticky;
  top: 0;
  z-index: 1;
}
@media (max-width: 991px) {
  #batchAddDialog .table--payment-method {
    width: 100%;
    margin-left: unset;
  }
}
@media (max-width: 768px) {
  #batchAddDialog .modal__body {
    padding: 30px 20px;
  }
  #batchAddDialog .info__block {
    padding: 0;
  }
  #batchAddDialog .info__title {
    margin-bottom: 0px;
  }
  #batchAddDialog .form__group {
    gap: 16px;
  }
  #batchAddDialog .form__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2px;
  }
  #batchAddDialog .form__row .info__label {
    color: #005C93;
    padding: 0px 8px;
  }
  #batchAddDialog .form__row .info__value {
    padding: 0px 8px 8px 8px;
  }
  #batchAddDialog .form__row .form__input {
    width: 100%;
  }
  #batchAddDialog .table--payment-method {
    margin-left: unset;
    width: 100%;
  }
}
@media (max-width: 575px) {
  #batchAddDialog .file-upload-section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #batchAddDialog .file-upload-section .btn-upload {
    min-width: 100px;
    width: 100%;
  }
}
@media (max-width: 374px) {
  #batchAddDialog .modal__content {
    width: 95%;
  }
  #batchAddDialog .modal__body {
    padding: 20px 10px;
  }
}

/* LinkPayment 連結收款頁 Email預覽 彈窗 */
#emailPreviewDialog .emailPreview {
  color: #454545;
  width: 100%;
}
#emailPreviewDialog .emailPreview__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-bottom: 1px solid #ddd;
  padding-bottom: 12px;
  background: #f5f5f5;
  padding: 0 20px;
  border-bottom: 1px solid #ddd;
}
#emailPreviewDialog .emailPreview__title {
  font-size: 1em;
  font-weight: bold;
  border-top: 1px solid #ddd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12px 0px;
  width: 100%;
}
#emailPreviewDialog .emailPreview__title .font-icon {
  font-size: 20px;
  margin-right: 4px;
}
#emailPreviewDialog .emailPreview__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
#emailPreviewDialog .emailPreview__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
#emailPreviewDialog .emailPreview__container {
  padding: 0 20px;
}
#emailPreviewDialog .emailPreview__container-header {
  border-bottom: 5px solid #cc0002;
  padding: 10px 10px 5px;
}
#emailPreviewDialog .emailPreview__container-logo {
  max-width: 150px;
  margin: 0 20px;
}
#emailPreviewDialog .emailPreview__container-logo img {
  width: 100%;
}
#emailPreviewDialog .emailPreview__body {
  padding: 20px;
  text-align: left;
  line-height: 1.3;
}
#emailPreviewDialog .emailPreview__details {
  margin: 0 20px;
  padding-bottom: 10px;
  font-size: 0.95em;
  line-height: 1.5;
}
#emailPreviewDialog .emailPreview__details p {
  margin-bottom: 10px;
}
#emailPreviewDialog .emailPreview__details-name {
  margin-left: 5px;
}
#emailPreviewDialog .emailPreview__details-shopname {
  margin: 0 5px;
}
#emailPreviewDialog .emailPreview__button {
  display: inline-block;
  font-size: 14px;
  padding: 9px;
  max-width: 280px;
  width: 100%;
  background-color: #e41c0f;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  text-align: center;
  margin: 20px 0;
  white-space: nowrap;
}
#emailPreviewDialog .emailPreview__notice {
  font-size: 0.9em;
}
#emailPreviewDialog .emailPreview__notice p {
  margin-bottom: 20px;
}
#emailPreviewDialog .emailPreview__notice p:last-child {
  margin-bottom: 0px;
}
#emailPreviewDialog .emailPreview__label {
  background: #9C9C9C;
  padding: 2px 10px;
  border-radius: 30px;
  color: #FFFFFF;
  margin-right: 6px;
  line-height: 2;
}
#emailPreviewDialog .emailPreview__footer {
  text-align: center;
  padding: 20px;
  background: #254a91;
  color: #FFFFFF;
  font-size: 0.9em;
  margin-bottom: 10px;
}
#emailPreviewDialog .emailPreview__footer p {
  margin-bottom: 0px;
}
@media (max-width: 768px) {
  #emailPreviewDialog .modal__content .font-icon {
    font-size: 28px;
  }
  #emailPreviewDialog .modal__header {
    padding: 16px 16px 10px 16px;
  }
  #emailPreviewDialog .modal__title {
    font-size: 1em;
  }
  #emailPreviewDialog .emailPreview__title {
    font-size: 0.95em;
  }
  #emailPreviewDialog .emailPreview__title .font-icon {
    font-size: 22px;
  }
  #emailPreviewDialog .emailPreview__header {
    padding: 0 16px;
  }
  #emailPreviewDialog .emailPreview__container {
    padding: 0 16px;
  }
  #emailPreviewDialog .emailPreview__body {
    padding: 16px;
  }
  #emailPreviewDialog .emailPreview__details {
    margin: 0px;
  }
  #emailPreviewDialog .emailPreview__footer {
    font-size: 14px;
  }
}

/* 帳戶總覽頁面 */
.home {
  color: #454545;
}
.home__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.home__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 991px) {
  .home__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border: none;
    gap: 10px;
  }
}
.home__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 16px 20px;
  gap: 4px;
  position: relative;
  color: #454545;
}
.home__block:not(:first-child) {
  border-left: 1px solid #D8D8D8;
}
.home__block::before {
  content: "";
  width: 60px;
  height: 60px;
  display: block;
  margin-bottom: 8px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 5%;
  top: 12%;
}
.home__block--income::before {
  background-image: url("../images/icons/page-icon/default/icon-income.svg");
}
.home__block--refund::before {
  background-image: url("../images/icons/page-icon/default/icon-refund.svg");
}
.home__block--allot::before {
  background-image: url("../images/icons/page-icon/default/icon-allot.svg");
  width: 64px;
  height: 64px;
}
@media (max-width: 991px) {
  .home__block {
    border-radius: 4px;
    border: 1px solid #D8D8D8;
  }
  .home__block::before {
    width: 65px;
    height: 65px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .home__block--allot::before {
    width: 70px;
    height: 70px;
  }
}
.home__label {
  font-size: 1.1em;
  font-weight: bold;
}
.home__label .fa-question-circle {
  margin-left: 5px;
  cursor: help;
}
.home__label .tippy-box {
  width: 300px;
}
.home__label .tippy-box li:nth-child(1)::before {
  content: "\f073"; /* fa-calendar-alt */
}
.home__label .tippy-box li:nth-child(2)::before {
  content: "\f51e"; /* fa-coins */
}
.home__label .tippy-box li:nth-child(3)::before {
  content: "\f058"; /* fa-check-circle */
}
.home__value {
  line-height: 36px;
}
.home__value span {
  font-size: 1.9em;
  font-weight: bold;
  margin-right: 3px;
}
.home__link {
  text-decoration: underline;
}
.home__note {
  font-size: 0.95em;
}
.home__note ul {
  padding-left: 20px;
  margin-top: 6px;
  list-style: square;
  line-height: 24px;
}
.home__note li {
  color: #454545;
}

/* 定期定額管理明細頁 */
.regularDetail .stop-btn {
  margin-left: auto;
  letter-spacing: 3px;
  min-width: 110px;
  padding-right: 5px;
}
.regularDetail .form__group.horizontal .form__row {
  border-bottom: 1px solid #dddddd;
}
.regularDetail .form__group.horizontal .form__row:nth-child(7),
.regularDetail .form__group.horizontal .form__row:nth-child(8) {
  border-bottom: none;
}
@media (max-width: 1119px) {
  .regularDetail .form__group.horizontal .form__row:nth-child(7),
  .regularDetail .form__group.horizontal .form__row:nth-child(8) {
    border-bottom: 1px solid #dddddd;
  }
  .regularDetail .form__group.horizontal .form__row:last-child {
    border-bottom: none;
  }
}
@media (max-width: 449px) {
  .regularDetail .stop-btn {
    margin: auto;
    padding: 8px 10px;
    min-width: 140px;
  }
  .regularDetail .form__group.blue {
    padding: 0px 12px 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .regularDetail .form__group.horizontal {
    gap: 0;
  }
  .regularDetail .form__group.horizontal .form__row {
    padding: 12px 0;
  }
  .regularDetail .form__group.horizontal .form__row .info__label {
    height: unset;
    min-width: 100px;
    padding: 0 8px 0 0;
    font-size: 0.95em;
  }
  .regularDetail .form__group.horizontal .form__row .info__value {
    padding: 0px;
    font-size: 0.95em;
  }
}

/* 跨境交易 > 款明細頁 */
.O2O_StoreSettle .download-btn {
  margin-left: auto;
  letter-spacing: 3px;
  min-width: 110px;
  padding-right: 5px;
}
.O2O_StoreSettle .form__group.blue .info__label {
  min-width: 140px;
}
.O2O_StoreSettle .form__group.horizontal .form__row {
  border-bottom: 1px solid #dddddd;
}
.O2O_StoreSettle .form__group.horizontal .form__row:nth-child(5),
.O2O_StoreSettle .form__group.horizontal .form__row:nth-child(6) {
  border-bottom: none;
}
@media (max-width: 1119px) {
  .O2O_StoreSettle .form__group.horizontal .form__row:nth-child(5),
  .O2O_StoreSettle .form__group.horizontal .form__row:nth-child(6) {
    border-bottom: 1px solid #dddddd;
  }
  .O2O_StoreSettle .form__group.horizontal .form__row:last-child {
    border-bottom: none;
  }
}
@media (max-width: 449px) {
  .O2O_StoreSettle .download-btn {
    margin: auto;
    padding: 8px 10px;
    min-width: 140px;
  }
  .O2O_StoreSettle .form__group.blue {
    padding: 0px 12px 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .O2O_StoreSettle .form__group.horizontal {
    gap: 0;
  }
  .O2O_StoreSettle .form__group.horizontal .form__row {
    padding: 12px 0;
  }
  .O2O_StoreSettle .form__group.horizontal .form__row .info__label {
    height: unset;
    min-width: 120px;
    padding: 0 8px 0 0;
    font-size: 0.95em;
  }
  .O2O_StoreSettle .form__group.horizontal .form__row .info__value {
    padding: 0px;
    font-size: 0.95em;
  }
}

.O2O_Refund .info__label {
  min-width: 190px;
}

/* 跨境交易 > 款明細頁 */
.O2O_StoreQRCode .actions__btn-item .action__btn {
  min-width: 160px;
}
@media (max-width: 991px) {
  .O2O_StoreQRCode .info__label {
    min-width: 90px;
  }
}
@media (max-width: 768px) {
  .O2O_StoreQRCode .actions__btn-item .action__btn {
    min-width: unset;
  }
}

#modal__qrcode-price {
  text-align: center;
  display: none;
}
#modal__qrcode-price #modal__qrcode-amount {
  font-size: 2em;
  font-weight: bold;
  color: #DF2229;
}

#btnBackToEdit {
  display: none;
}

#modal-setAmount .modal__body {
  min-height: 120px;
  font-size: 1em;
  padding: 30px;
  line-height: 1.5;
  max-height: 50vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#modal-setAmount .form__currency {
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#modal-setAmount .form__input {
  -webkit-box-flex: unset;
      -ms-flex-positive: unset;
          flex-grow: unset;
}

@media (max-width: 1119px) {
  .O2O_SMS .info__value-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}