
/* 隱藏 Google reCAPTCHA 的 logo */
.grecaptcha-badge {
  display: none !important;
}

/* 隱藏 reCAPTCHA 的隱私權條款文字 */
.grecaptcha-badge + div {
  display: none !important;
}

/* 隱藏 reCAPTCHA 的隱私權條款連結 */
a[href*="google.com/recaptcha"] {
  display: none !important;
}

/* 隱藏 reCAPTCHA 的隱私權條款容器 */
div[style*="position: fixed"][style*="bottom: 0"] {
  display: none !important;
}

/* 隱藏 reCAPTCHA 的隱私權條款文字容器 */
div[style*="position: fixed"][style*="right: 0"] {
  display: none !important;
}


.login-container[data-v-47e3ffac] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

/* 確保 logo 容器有足夠空間 */
.logo-circle[data-v-47e3ffac] {
  position: relative;
  z-index: 1;
}

/* 手機版優化 */
@media (max-width: 600px) {
.login-container[data-v-47e3ffac] {
    padding: 12px;
}
}

/* 超小螢幕優化 */
@media (max-width: 480px) {
.login-container[data-v-47e3ffac] {
    padding: 8px;
}
}


.circular-fab[data-v-7b675d9a] {
  border-radius: 50% !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  box-shadow: 0 8px 25px rgba(244, 162, 97, 0.4) !important;
  transition: all 0.3s ease !important;
}
.circular-fab[data-v-7b675d9a]:hover {
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 12px 35px rgba(244, 162, 97, 0.6) !important;
}
.circular-fab .v-icon[data-v-7b675d9a] {
  font-size: 28px !important;
}

/* Vuetify 分頁樣式優化 */
.v-pagination[data-v-7b675d9a] {
  margin: 0 !important;
}
.v-pagination .v-pagination__item[data-v-7b675d9a] {
  min-width: 40px !important;
  height: 40px !important;
}
.v-pagination .v-pagination__item--is-active[data-v-7b675d9a] {
  background-color: #2A9D8F !important;
  color: white !important;
}

/* 數據表格樣式 */
.v-data-table[data-v-7b675d9a] {
  border-radius: 8px !important;
}
.v-data-table .v-data-table__wrapper[data-v-7b675d9a] {
  border-radius: 8px !important;
}

/* 浮動按鈕樣式 */
.fab-button[data-v-7b675d9a] {
  position: fixed !important;
  bottom: 80px !important; /* 提高位置避免被 reCAPTCHA 遮擋 */
  right: 24px !important;
  z-index: 1000 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.3s ease !important;
}
.fab-button[data-v-7b675d9a]:hover {
  transform: scale(1.05) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important;
}
/* 桌機：固定一個舒服的最小寬度；手機：滿版 */
/* 響應式篩選區域 */
.filter-container[data-v-7b675d9a] {
  margin-bottom: 16px;
}
.filter-row[data-v-7b675d9a] {
  margin-bottom: 8px;
}
.filter-row[data-v-7b675d9a]:last-child {
  margin-bottom: 0;
}

/* 桌面版一行佈局優化 */
@media (min-width: 960px) {
.filter-row.d-md-flex[data-v-7b675d9a] {
    margin-bottom: 0;
}
.filter-row.d-md-flex .v-col[data-v-7b675d9a] {
    margin-bottom: 0;
}
}

/* 按鈕樣式 */
.search-btn[data-v-7b675d9a]{
  min-width: 132px;
  padding-inline: 16px;
}
.search-btn[data-v-7b675d9a]:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
}
.search-btn-text[data-v-7b675d9a] {
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
}

/* 手機版樣式 */
@media (max-width: 768px) {
.search-btn[data-v-7b675d9a]{ 
    width: 100%; 
    min-width: auto;
}
  
  /* 手機版篩選區域優化 */
.filter-container[data-v-7b675d9a] {
    margin-bottom: 12px;
}
  
  /* 手機版搜尋擴展面板 */
.search-expansion-panel[data-v-7b675d9a] {
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    border: 1px solid #00695c !important;
    overflow: hidden !important;
}
.search-panel-title[data-v-7b675d9a] {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 0 16px !important;
    min-height: 56px !important;
    color: #00695c !important;
}
.search-panel-content[data-v-7b675d9a] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}
.search-text[data-v-7b675d9a] {
    font-weight: 500 !important;
    color: #00695c !important;
}
.search-panel-text[data-v-7b675d9a] {
    background: #ffffff !important;
    padding: 16px !important;
}
.search-form-content[data-v-7b675d9a] {
    background: #ffffff !important;
}
  
  /* 確保展開按鈕使用 teal-darken-2 顏色 */
.search-expansion-panel .v-expansion-panel-title__overlay[data-v-7b675d9a] {
    color: #00695c !important;
}
.search-expansion-panel .v-expansion-panel-title__icon[data-v-7b675d9a] {
    color: #00695c !important;
}
.search-expansion-panel .v-expansion-panel-title[data-v-7b675d9a]:hover {
    background-color: rgba(0, 105, 92, 0.04) !important;
}
.filter-row[data-v-7b675d9a] {
    margin-bottom: 12px;
}
.filter-row .v-col[data-v-7b675d9a] {
    margin-bottom: 0;
}
  
  /* 手機版標題區域優化 */
.brand-text[data-v-7b675d9a] {
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
}
.logo-circle[data-v-7b675d9a] {
    width: 45px !important;
    height: 45px !important;
}
  
  /* 手機版卡片優化 */
.mobile-card[data-v-7b675d9a] {
    border-radius: 12px !important;
    transition: all 0.2s ease;
}
.mobile-card[data-v-7b675d9a]:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}
.mobile-info-grid[data-v-7b675d9a] {
    margin: 0 !important;
}
.mobile-info-grid .v-col[data-v-7b675d9a] {
    padding: 4px 8px !important;
}
  
  /* 手機版登出按鈕優化 */
.logout-btn[data-v-7b675d9a] {
    min-width: auto !important;
    padding: 8px !important;
}
.logout-btn .v-icon[data-v-7b675d9a] {
    font-size: 20px !important;
}
  
  /* 手機版卡片樣式 */
.mobile-cards[data-v-7b675d9a] {
    margin-top: 16px;
}
.mobile-card-content[data-v-7b675d9a] {
    border-top: 1px solid #e0e0e0;
    padding-top: 12px;
    margin-top: 8px;
}
  
  /* 手機版表格隱藏 */
.volunteer-table[data-v-7b675d9a] {
    display: none;
}
  
  /* 手機版浮動按鈕樣式 */
.fab-button[data-v-7b675d9a] {
    bottom: 24px !important; /* 手機版保持原位置 */
}
}

/* 桌面版樣式 */
@media (min-width: 769px) {
.mobile-cards[data-v-7b675d9a] {
    display: none;
}
.volunteer-table[data-v-7b675d9a] {
    display: block;
}
}

/* 平板樣式 */
@media (min-width: 600px) and (max-width: 768px) {
.search-btn[data-v-7b675d9a] {
    min-width: 100px;
}
.brand-text[data-v-7b675d9a] {
    font-size: 1.3rem !important;
}
.logo-circle[data-v-7b675d9a] {
    width: 55px !important;
    height: 55px !important;
}
}

/* 超小螢幕優化 */
@media (max-width: 480px) {
.brand-text[data-v-7b675d9a] {
    font-size: 1rem !important;
    margin-left: 8px !important;
}
.logo-circle[data-v-7b675d9a] {
    width: 40px !important;
    height: 40px !important;
}
.logout-btn[data-v-7b675d9a] {
    padding: 4px !important;
}
.logout-btn .v-icon[data-v-7b675d9a] {
    font-size: 18px !important;
}
}



/* 淺色 Drawer 設計 - 與主背景同色相，更乾淨 */
.admin-drawer[data-v-2bcaf4f2] {
  border-right: 1px solid #BFE4E1;
}
.admin-drawer[data-v-2bcaf4f2] .nav-active {
  background: #CCFBF1 !important;
  font-weight: 600;
}
.admin-drawer[data-v-2bcaf4f2] .nav-active .v-icon,
.admin-drawer[data-v-2bcaf4f2] .nav-active .v-list-item-title {
  color: #0D9488 !important;
}

/* Logo 和品牌按鈕樣式 */
.brand-button[data-v-2bcaf4f2] {
  text-transform: none !important;
  letter-spacing: normal !important;
  min-height: 48px !important;
}
.brand-button[data-v-2bcaf4f2]:hover {
  background-color: rgba(15, 118, 110, 0.08) !important;
}
.logo-circle[data-v-2bcaf4f2] {
  border-radius: 50%;
  background: linear-gradient(135deg, #0D9488, #14B8A6);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.3);
  margin-right: 12px;
}
.logo-img[data-v-2bcaf4f2] {
  width: 40px;
  height: 40px;
  -o-object-fit: contain;
     object-fit: contain;
  margin-right: 12px;
}

/* 工具欄背景和文字顏色 */
.admin-drawer[data-v-2bcaf4f2] .v-toolbar {
  background: #E3F4F2 !important; /* 與抽屜背景一致 */
  color: #0F766E !important;
}

/* 按鈕顏色修復 - 移除橘色 */
.admin-drawer[data-v-2bcaf4f2] .v-btn {
  color: #0F766E !important;
  background: transparent !important;
}
.admin-drawer[data-v-2bcaf4f2] .v-btn:hover {
  background-color: rgba(15, 118, 110, 0.08) !important;
  color: #0F766E !important;
}
.admin-drawer[data-v-2bcaf4f2] .v-btn:before {
  background: transparent !important;
}
.admin-drawer[data-v-2bcaf4f2] .v-btn .v-btn__overlay {
  background: transparent !important;
}

/* 群組標題樣式 */
.admin-drawer[data-v-2bcaf4f2] .group-header {
  font-weight: 600;
  cursor: pointer;
}
.admin-drawer[data-v-2bcaf4f2] .group-header:hover {
  background-color: rgba(15, 118, 110, 0.08) !important;
}

/* 子項目縮排樣式 */
.admin-drawer[data-v-2bcaf4f2] .ml-4 {
  margin-left: 16px !important;
  padding-left: 8px !important;
}

/* 手機版優化 */
@media (max-width: 960px) {
.admin-drawer[data-v-2bcaf4f2] .v-list-item {
    min-height: 48px !important;
}
.admin-drawer[data-v-2bcaf4f2] .v-icon {
    font-size: 20px !important;
}
.admin-drawer[data-v-2bcaf4f2] .v-list-item-title {
    font-size: 16px !important;
}
}

/* 安全區:避免被底部浮窗/瀏海擋到 */
.pb-safe[data-v-2bcaf4f2] {
  padding-bottom: calc(env(safe-area-inset-bottom, 0) + 12px);
}

/* 登出按鈕居中樣式 */
.d-flex.justify-center[data-v-2bcaf4f2] {
  display: flex !important;
  justify-content: center !important;
}

/* 選中態維持你原本的 teal 風格 */
.admin-drawer[data-v-2bcaf4f2] .nav-active {
  background: #CCFBF1 !important;
  font-weight: 600;
}
.admin-drawer[data-v-2bcaf4f2] .nav-active .v-icon,
.admin-drawer[data-v-2bcaf4f2] .nav-active .v-list-item-title {
  color: #0D9488 !important;
}


/* 桌面版導航抽屜 - 固定在頂部 */
.navigation-container-fixed[data-v-7a3d8dae] {
  position: fixed;
  top: 24px;
  left: 24px;
  right: 24px;
  z-index: 1000;
  max-width: 350px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  animation: slideDown-7a3d8dae 0.3s ease;
}
@keyframes slideDown-7a3d8dae {
from {
    opacity: 0;
    transform: translateY(-20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.standalone-drawer[data-v-7a3d8dae] {
  position: relative !important;
  width: 100% !important;
  box-shadow: none !important;
  border-radius: 12px;
}
.standalone-drawer[data-v-7a3d8dae] .v-navigation-drawer {
  position: relative !important;
  width: 100% !important;
  transform: none !important;
  box-shadow: none !important;
  border-radius: 12px;
}
.standalone-drawer[data-v-7a3d8dae] .v-toolbar {
  box-shadow: none !important;
  border-radius: 12px 12px 0 0;
}
.standalone-drawer[data-v-7a3d8dae] .v-list {
  padding: 8px !important;
  background: transparent !important;
}
.standalone-drawer[data-v-7a3d8dae] .v-list-item {
  margin: 2px 8px !important;
  border-radius: 8px !important;
}

/* Breadcrumb 樣式 - 選項 A 透明/白底設計 */
.v-breadcrumbs[data-v-7a3d8dae] {
  margin-bottom: 16px;
  padding: 0 !important;
}
.v-breadcrumbs[data-v-7a3d8dae] .v-breadcrumbs-item {
  color: #0F766E !important;
  font-weight: 500;
  text-decoration: none;
}
.v-breadcrumbs[data-v-7a3d8dae] .v-breadcrumbs-item:hover {
  color: #0D9488 !important;
  text-decoration: underline;
}
.v-breadcrumbs[data-v-7a3d8dae] .v-breadcrumbs-item--disabled {
  color: #64748B !important;
  font-weight: 600;
}
.v-breadcrumbs[data-v-7a3d8dae] .v-breadcrumbs-divider {
  color: #0F766E !important;
  margin: 0 8px;
}

/* 手機版 breadcrumb 優化 */
@media (max-width: 960px) {
.v-breadcrumbs[data-v-7a3d8dae] {
    margin-bottom: 12px;
    padding: 0 4px !important;
}
.v-breadcrumbs[data-v-7a3d8dae] .v-breadcrumbs-item {
    font-size: 14px !important;
}
.v-breadcrumbs[data-v-7a3d8dae] .v-breadcrumbs-divider {
    margin: 0 6px !important;
    font-size: 14px !important;
}
}

/* 手機版工具列樣式 */
.mobile-toolbar[data-v-7a3d8dae] {
  background: white !important;
  border-radius: 8px;
  margin-bottom: 16px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* 手機版導航抽屜樣式 */
.mobile-drawer[data-v-7a3d8dae] {
  position: fixed !important;
  z-index: 1000 !important;
}

/* FAB 樣式 */
.fab[data-v-7a3d8dae] {
  position: fixed !important;
  right: 16px !important;
  bottom: calc(env(safe-area-inset-bottom, 0) + 16px) !important;
  border-radius: 9999px !important;
  z-index: 100 !important;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3) !important;
}

/* Safe Area 支援 */
.page[data-v-7a3d8dae] {
  padding-top: max(env(safe-area-inset-top), 12px);
  padding-bottom: max(env(safe-area-inset-bottom), 12px);
}

/* Breadcrumb 對齊優化 */
.v-toolbar[data-v-7a3d8dae] {
  align-items: center !important;
  min-height: 48px !important;
  padding: 0 !important;
}
.v-toolbar .v-btn[data-v-7a3d8dae] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 40px !important;
  width: 40px !important;
  margin: 0 !important;
}
.v-toolbar .v-breadcrumbs[data-v-7a3d8dae] {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
  height: 40px !important;
  margin: 0 !important;
}
.v-toolbar .v-breadcrumbs .v-breadcrumbs-item[data-v-7a3d8dae] {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

/* 手機版卡片優化 */
@media (max-width: 960px) {
.dialog-card[data-v-7a3d8dae] {
    padding: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
.mobile-toolbar[data-v-7a3d8dae] {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}
}

/* 手機版 toolbar 可點擊暗示 */
.mobile-toolbar-clickable[data-v-7a3d8dae] {
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}
.mobile-toolbar-clickable[data-v-7a3d8dae]:hover {
  background-color: rgba(13, 148, 136, 0.05) !important;
}
.mobile-toolbar-clickable[data-v-7a3d8dae]:active {
  background-color: rgba(13, 148, 136, 0.1) !important;
}


  /* 桌面版導航抽屜 - 固定在頂部 */
.navigation-container-fixed[data-v-cee47782] {
    position: fixed;
    top: 24px;
    left: 24px;
    right: 24px;
    z-index: 1000;
    max-width: 350px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    animation: slideDown-cee47782 0.3s ease;
}
@keyframes slideDown-cee47782 {
from {
      opacity: 0;
      transform: translateY(-20px);
}
to {
      opacity: 1;
      transform: translateY(0);
}
}
.standalone-drawer[data-v-cee47782] {
    position: relative !important;
    width: 100% !important;
    box-shadow: none !important;
    border-radius: 12px;
}
.standalone-drawer[data-v-cee47782] .v-navigation-drawer {
    position: relative !important;
    width: 100% !important;
    transform: none !important;
    box-shadow: none !important;
    border-radius: 12px;
}
.standalone-drawer[data-v-cee47782] .v-toolbar {
    box-shadow: none !important;
    border-radius: 12px 12px 0 0;
}
.standalone-drawer[data-v-cee47782] .v-list {
    padding: 8px !important;
    background: transparent !important;
}
.standalone-drawer[data-v-cee47782] .v-list-item {
    margin: 2px 8px !important;
    border-radius: 8px !important;
}
  
  /* Breadcrumb 樣式 - 選項 A 透明/白底設計 */
.v-breadcrumbs[data-v-cee47782] {
    margin-bottom: 16px;
    padding: 0 !important;
}
.v-breadcrumbs[data-v-cee47782] .v-breadcrumbs-item {
    color: #0F766E !important;
    font-weight: 500;
    text-decoration: none;
}
.v-breadcrumbs[data-v-cee47782] .v-breadcrumbs-item:hover {
    color: #0D9488 !important;
    text-decoration: underline;
}
.v-breadcrumbs[data-v-cee47782] .v-breadcrumbs-item--disabled {
    color: #64748B !important;
    font-weight: 600;
}
.v-breadcrumbs[data-v-cee47782] .v-breadcrumbs-divider {
    color: #0F766E !important;
    margin: 0 8px;
}
  
  /* 手機版 breadcrumb 優化 */
@media (max-width: 960px) {
.v-breadcrumbs[data-v-cee47782] {
      margin-bottom: 12px;
      padding: 0 4px !important;
}
.v-breadcrumbs[data-v-cee47782] .v-breadcrumbs-item {
      font-size: 14px !important;
}
.v-breadcrumbs[data-v-cee47782] .v-breadcrumbs-divider {
      margin: 0 6px !important;
      font-size: 14px !important;
}
}
  
  /* 手機版工具列樣式 */
.mobile-toolbar[data-v-cee47782] {
    background: white !important;
    border-radius: 8px;
    margin-bottom: 16px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
  
  /* 手機版導航抽屜樣式 */
.mobile-drawer[data-v-cee47782] {
    position: fixed !important;
    z-index: 1000 !important;
}
  
  /* FAB 樣式 */
.fab[data-v-cee47782] {
    position: fixed !important;
    right: 16px !important;
    bottom: calc(env(safe-area-inset-bottom, 0) + 16px) !important;
    border-radius: 9999px !important;
    z-index: 100 !important;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3) !important;
}
  
  /* Safe Area 支援 */
.page[data-v-cee47782] {
    padding-top: max(env(safe-area-inset-top), 12px);
    padding-bottom: max(env(safe-area-inset-bottom), 12px);
}
  
  /* Breadcrumb 對齊優化 */
.v-toolbar[data-v-cee47782] {
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 !important;
}
.v-toolbar .v-btn[data-v-cee47782] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    width: 40px !important;
    margin: 0 !important;
}
.v-toolbar .v-breadcrumbs[data-v-cee47782] {
    display: flex !important;
    align-items: center !important;
    line-height: 1 !important;
    height: 40px !important;
    margin: 0 !important;
}
.v-toolbar .v-breadcrumbs .v-breadcrumbs-item[data-v-cee47782] {
    display: flex !important;
    align-items: center !important;
    line-height: 1 !important;
}
  
  /* 手機版卡片優化 */
@media (max-width: 960px) {
.dialog-card[data-v-cee47782] {
      padding: 16px !important;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
.mobile-toolbar[data-v-cee47782] {
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}
}
  
  /* 手機版 toolbar 可點擊暗示 */
.mobile-toolbar-clickable[data-v-cee47782] {
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}
.mobile-toolbar-clickable[data-v-cee47782]:hover {
    background-color: rgba(13, 148, 136, 0.05) !important;
}
.mobile-toolbar-clickable[data-v-cee47782]:active {
    background-color: rgba(13, 148, 136, 0.1) !important;
}
  

  /* 桌面版導航抽屜 - 固定在頂部 */
.navigation-container-fixed[data-v-5636da5d] {
    position: fixed;
    top: 24px;
    left: 24px;
    right: 24px;
    z-index: 1000;
    max-width: 350px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    animation: slideDown-5636da5d 0.3s ease;
}
@keyframes slideDown-5636da5d {
from {
      opacity: 0;
      transform: translateY(-20px);
}
to {
      opacity: 1;
      transform: translateY(0);
}
}
.standalone-drawer[data-v-5636da5d] {
    position: relative !important;
    width: 100% !important;
    box-shadow: none !important;
    border-radius: 12px;
}
.standalone-drawer[data-v-5636da5d] .v-navigation-drawer {
    position: relative !important;
    width: 100% !important;
    transform: none !important;
    box-shadow: none !important;
    border-radius: 12px;
}
.standalone-drawer[data-v-5636da5d] .v-toolbar {
    box-shadow: none !important;
    border-radius: 12px 12px 0 0;
}
.standalone-drawer[data-v-5636da5d] .v-list {
    padding: 8px !important;
    background: transparent !important;
}
.standalone-drawer[data-v-5636da5d] .v-list-item {
    margin: 2px 8px !important;
    border-radius: 8px !important;
}
  
  /* Breadcrumb 樣式 - 選項 A 透明/白底設計 */
.v-breadcrumbs[data-v-5636da5d] {
    margin-bottom: 16px;
    padding: 0 !important;
}
.v-breadcrumbs[data-v-5636da5d] .v-breadcrumbs-item {
    color: #0F766E !important;
    font-weight: 500;
    text-decoration: none;
}
.v-breadcrumbs[data-v-5636da5d] .v-breadcrumbs-item:hover {
    color: #0D9488 !important;
    text-decoration: underline;
}
.v-breadcrumbs[data-v-5636da5d] .v-breadcrumbs-item--disabled {
    color: #64748B !important;
    font-weight: 600;
}
.v-breadcrumbs[data-v-5636da5d] .v-breadcrumbs-divider {
    color: #0F766E !important;
    margin: 0 8px;
}
  
  /* 手機版 breadcrumb 優化 */
@media (max-width: 960px) {
.v-breadcrumbs[data-v-5636da5d] {
      margin-bottom: 12px;
      padding: 0 4px !important;
}
.v-breadcrumbs[data-v-5636da5d] .v-breadcrumbs-item {
      font-size: 14px !important;
}
.v-breadcrumbs[data-v-5636da5d] .v-breadcrumbs-divider {
      margin: 0 6px !important;
      font-size: 14px !important;
}
}
  
  /* 手機版工具列樣式 */
.mobile-toolbar[data-v-5636da5d] {
    background: white !important;
    border-radius: 8px;
    margin-bottom: 16px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
  
  /* 手機版導航抽屜樣式 */
.mobile-drawer[data-v-5636da5d] {
    position: fixed !important;
    z-index: 1000 !important;
}
  
  /* FAB 樣式 */
.fab[data-v-5636da5d] {
    position: fixed !important;
    right: 16px !important;
    bottom: calc(env(safe-area-inset-bottom, 0) + 16px) !important;
    border-radius: 9999px !important;
    z-index: 100 !important;
    box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3) !important;
}
  
  /* Safe Area 支援 */
.page[data-v-5636da5d] {
    padding-top: max(env(safe-area-inset-top), 12px);
    padding-bottom: max(env(safe-area-inset-bottom), 12px);
}
  
  /* Breadcrumb 對齊優化 */
.v-toolbar[data-v-5636da5d] {
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 !important;
}
.v-toolbar .v-btn[data-v-5636da5d] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    width: 40px !important;
    margin: 0 !important;
}
.v-toolbar .v-breadcrumbs[data-v-5636da5d] {
    display: flex !important;
    align-items: center !important;
    line-height: 1 !important;
    height: 40px !important;
    margin: 0 !important;
}
.v-toolbar .v-breadcrumbs .v-breadcrumbs-item[data-v-5636da5d] {
    display: flex !important;
    align-items: center !important;
    line-height: 1 !important;
}
  
  /* 手機版卡片優化 */
@media (max-width: 960px) {
.dialog-card[data-v-5636da5d] {
      padding: 16px !important;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
.mobile-toolbar[data-v-5636da5d] {
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}
}
  
  /* 手機版 toolbar 可點擊暗示 */
.mobile-toolbar-clickable[data-v-5636da5d] {
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}
.mobile-toolbar-clickable[data-v-5636da5d]:hover {
    background-color: rgba(13, 148, 136, 0.05) !important;
}
.mobile-toolbar-clickable[data-v-5636da5d]:active {
    background-color: rgba(13, 148, 136, 0.1) !important;
}
  

.login-container[data-v-0c905500] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

/* 確保 logo 容器有足夠空間 */
.logo-circle[data-v-0c905500] {
  position: relative;
  z-index: 1;
}
.brand-card[data-v-0c905500] {
  background: white;
  border-radius: 16px;
  width: 100%;
}
.brand-text[data-v-0c905500] {
  color: #2A9D8F;
}
.brand-button[data-v-0c905500] {
  background: linear-gradient(90deg, #F4A261, #E76F51) !important;
  color: white !important;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}
.brand-button[data-v-0c905500]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(244, 162, 97, 0.4) !important;
}

/* 手機版優化 */
@media (max-width: 600px) {
.login-container[data-v-0c905500] {
    padding: 12px;
}
}

/* 超小螢幕優化 */
@media (max-width: 480px) {
.login-container[data-v-0c905500] {
    padding: 8px;
}
}


.login-container[data-v-bfd43b52] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

/* 確保 logo 容器有足夠空間 */
.logo-circle[data-v-bfd43b52] {
  position: relative;
  z-index: 1;
  width: 120px;
  height: 120px;
  margin: 0 auto;
  border-radius: 50%;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.logo-img[data-v-bfd43b52] {
  width: 100px;
  height: 100px;
  -o-object-fit: contain;
     object-fit: contain;
}
.brand-card[data-v-bfd43b52] {
  background: white;
  border-radius: 16px;
}
.brand-text[data-v-bfd43b52] {
  color: #2A9D8F;
}
.brand-button[data-v-bfd43b52] {
  background: linear-gradient(90deg, #F4A261, #E76F51) !important;
  color: white !important;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}
.brand-button[data-v-bfd43b52]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(244, 162, 97, 0.4) !important;
}

/* 手機版優化 */
@media (max-width: 600px) {
.login-container[data-v-bfd43b52] {
    padding: 12px;
}
}

/* 超小螢幕優化 */
@media (max-width: 480px) {
.login-container[data-v-bfd43b52] {
    padding: 8px;
}
}

/* 全域樣式 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Roboto', 'Noto Sans TC', sans-serif;
  line-height: 1.6;
  color: #333;
}

/* 自訂捲軸樣式 */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* 工具類別 */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

/* 響應式工具類別 */
@media (max-width: 600px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 600px) and (max-width: 960px) {
  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 960px) {
  .hidden-md {
    display: none !important;
  }
}


/* 全域品牌樣式 */
.brand-gradient {
  background: linear-gradient(180deg, #5EC5C9 0%, #2A9D8F 100%);
  min-height: 100vh;
  position: relative;
}

/* 品牌文字顏色 - 僅應用於特定元素 */
.brand-text {
  color: #2A9D8F !important; /* text-teal-darken-2 */
}

/* 保持特定元素的原始顏色 */
.brand-button,
.v-btn.brand-button {
  color: white !important;
}

/* 其他全域樣式 */
.brand-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
}

.brand-button {
    background: linear-gradient(90deg, #F4A261, #E76F51) !important;
    color: white !important;
    transition: all 0.3s ease;
    border: none;
}
  
.brand-button:hover {
    background: linear-gradient(90deg, #E76F51, #F4A261) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(244, 162, 97, 0.4) !important;
}

/* Logo 圓圈樣式 */
.logo-circle {
  width: clamp(180px, 40vh, 520px);
  height: clamp(180px, 40vh, 520px);
  border-radius: 50%;
  margin: 0 auto 24px auto;
  /* 改用半透明漸層，更柔和自然 */
  background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 70%);
  box-shadow: 0 0 60px rgba(255,255,255,.6);
  display: flex; 
  align-items: center; 
  justify-content: center;
}

.logo-circle img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Dialog 樣式 */
.dialog-card {
  background: #fff;
  box-shadow: 0 10px 28px rgba(42,157,143,0.25);
}

.dialog-title {
  background-color: white !important;
  border-bottom: 1px solid rgba(42,157,143,0.18);
}

/* Dialog 標題文字和圖標使用 teal-darken-2 */
.dialog-title .brand-text {
  color: #0D9488 !important;
}

.dialog-title .v-icon {
  color: #0D9488 !important;
}

.dialog-title span {
  color: #0D9488 !important;
}

/* 對話框遮罩效果 */
:deep(.v-overlay__scrim) {
  backdrop-filter: blur(2px);
}

/* 文字按鈕樣式 */
.btn-text {
  margin-top: 12px;
  color: #5C6B73 !important;
  font-size: 0.85rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.btn-text:hover {
  color: #2A9D8F !important;
  text-decoration: underline;
}

.v-btn.v-btn--icon:hover {
    background-color: rgba(42, 157, 143, 0.1); /* 淡綠 hover 底色 */
}

/* teal-darken-2 和 primary 顏色按鈕 - 統一處理 */
/* 有背景色的按鈕使用白色文字 */
.v-btn[class*="teal-darken-2"]:not(.v-btn--variant-text):not(.v-btn--variant-outlined),
.v-btn.bg-teal-darken-2:not(.v-btn--variant-text):not(.v-btn--variant-outlined),
.v-btn[class*="bg-teal-darken-2"]:not(.v-btn--variant-text):not(.v-btn--variant-outlined),
.v-btn.bg-primary:not(.v-btn--variant-text):not(.v-btn--variant-outlined) {
    color: white !important;
}

.v-btn[class*="teal-darken-2"]:not(.v-btn--variant-text):not(.v-btn--variant-outlined) *,
.v-btn.bg-teal-darken-2:not(.v-btn--variant-text):not(.v-btn--variant-outlined) *,
.v-btn[class*="bg-teal-darken-2"]:not(.v-btn--variant-text):not(.v-btn--variant-outlined) *,
.v-btn.bg-primary:not(.v-btn--variant-text):not(.v-btn--variant-outlined) * {
    color: white !important;
}

/* text 和 outlined variant 的按鈕使用 teal-darken-2 顏色 */
.v-btn.v-btn--variant-text[class*="teal-darken-2"],
.v-btn.v-btn--variant-outlined[class*="teal-darken-2"],
.v-btn.v-btn--variant-text[color="primary"],
.v-btn.v-btn--variant-outlined[color="primary"] {
    color: #0D9488 !important;
}

.v-btn.v-btn--variant-text[class*="teal-darken-2"] *,
.v-btn.v-btn--variant-outlined[class*="teal-darken-2"] *,
.v-btn.v-btn--variant-text[color="primary"] *,
.v-btn.v-btn--variant-outlined[color="primary"] * {
    color: #0D9488 !important;
}

/* v-fab 按鈕（FAB）teal-darken-2 顏色 - 確保圖標是白色 */
.v-fab[class*="teal-darken-2"],
.v-fab.bg-teal-darken-2,
.v-fab[class*="bg-teal-darken-2"],
.v-fab.color-teal-darken-2 {
    color: white !important;
}

.v-fab[class*="teal-darken-2"] .v-icon,
.v-fab.bg-teal-darken-2 .v-icon,
.v-fab[class*="bg-teal-darken-2"] .v-icon,
.v-fab.color-teal-darken-2 .v-icon,
.v-fab[class*="teal-darken-2"] .v-fab__icon,
.v-fab.bg-teal-darken-2 .v-fab__icon,
.v-fab[class*="bg-teal-darken-2"] .v-fab__icon,
.v-fab.color-teal-darken-2 .v-fab__icon {
    color: white !important;
}

/* 確保表格文字顏色為黑色（包括表頭和內容） */
.v-data-table,
.v-data-table__wrapper,
.v-table,
.v-table__wrapper {
    color: #212121 !important;
}

/* 表格表頭文字顏色 */
.v-data-table__thead th,
.v-data-table__thead .v-data-table-header,
.v-table__thead th,
.v-table__thead .v-table-header {
    color: #212121 !important;
}

/* 表格內容文字顏色 */
.v-data-table__tbody td,
.v-data-table__tbody .v-data-table__td,
.v-table__tbody td,
.v-table__tbody .v-table__td {
    color: #212121 !important;
}

/* 表格內所有文字元素 */
.v-data-table .v-data-table__td,
.v-data-table .v-data-table__th,
.v-data-table td,
.v-data-table th,
.v-table .v-table__td,
.v-table .v-table__th,
.v-table td,
.v-table th {
    color: #212121 !important;
}

/* 覆蓋 table-text 類的灰色 */
.v-data-table.table-text,
.v-data-table .table-text,
.v-table.table-text,
.v-table .table-text {
    color: #212121 !important;
}

.v-data-table.table-text .v-data-table__td,
.v-data-table.table-text .v-data-table__th,
.v-data-table .table-text,
.v-table.table-text .v-table__td,
.v-table.table-text .v-table__th,
.v-table .table-text {
    color: #212121 !important;
}

/* 響應式設計 */
@media (max-width: 600px) {
  .logo-circle { 
    width: clamp(160px, 38vh, 320px) !important;
    height: clamp(160px, 38vh, 320px) !important;
    margin-bottom: 16px; 
  }
  .brand-card { 
    padding: 20px !important; 
  }
}

/* 超小螢幕優化 */
@media (max-width: 480px) {
  .logo-circle { 
    width: clamp(120px, 30vh, 250px) !important;
    height: clamp(120px, 30vh, 250px) !important;
    margin-bottom: 12px; 
  }
}

/* 平板優化 */
@media (min-width: 601px) and (max-width: 1024px) {
  .logo-circle { 
    width: clamp(200px, 45vh, 400px) !important;
    height: clamp(200px, 45vh, 400px) !important;
  }
}

/* ========== 美化增強樣式 ========== */

/* 卡片美化 - 統一卡片樣式 */
.v-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 16px !important;
}

.v-card:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12) !important;
  transform: translateY(-2px);
}

/* 表格美化 - 改善數據表格視覺效果 */
.v-data-table {
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.v-data-table__thead {
  background: linear-gradient(135deg, #E3F4F2 0%, #F0FDFA 100%) !important;
}

.v-data-table__thead th {
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
  padding: 16px !important;
}

.v-data-table__tbody tr {
  transition: all 0.2s ease !important;
}

.v-data-table__tbody tr:hover {
  background-color: #F0FDFA !important;
  transform: scale(1.01);
}

.v-data-table__tbody tr:nth-child(even) {
  background-color: #FAFAFA !important;
}

.v-data-table__tbody tr:nth-child(even):hover {
  background-color: #F0FDFA !important;
}

/* 按鈕美化 - 改善按鈕樣式和交互效果 */
.v-btn {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  font-weight: 500 !important;
}

.v-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.v-btn:active {
  transform: translateY(0);
}

/* 表單元素美化 */
.v-text-field,
.v-autocomplete,
.v-select {
  transition: all 0.3s ease !important;
}

.v-text-field:focus-within,
.v-autocomplete:focus-within,
.v-select:focus-within {
  transform: translateY(-1px);
}

.v-text-field .v-field--focused,
.v-autocomplete .v-field--focused,
.v-select .v-field--focused {
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.15) !important;
}

/* Tab 美化 */
.v-tabs {
  border-radius: 12px 12px 0 0 !important;
}

.v-tab {
  transition: all 0.3s ease !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  color: rgba(0, 0, 0, 0.87) !important; /* 默認黑色文字 */
}

.v-tab:hover {
  background-color: rgba(13, 148, 136, 0.08) !important;
}

/* Tab 選中時保持黑色文字，不要白色 */
.v-tab--selected,
.v-tab.v-tab--selected,
.v-tabs .v-tab--selected {
  color: rgba(0, 0, 0, 0.87) !important; /* 選中時也是黑色 */
  background-color: transparent !important;
}

/* Tab 選中時的圖標和文字都保持黑色 */
.v-tab--selected .v-icon,
.v-tab.v-tab--selected .v-icon,
.v-tabs .v-tab--selected .v-icon {
  color: rgba(0, 0, 0, 0.87) !important;
}

.v-tab--selected .v-tab__slider {
  background-color: #0D9488 !important; /* teal-darken-2 下劃線 */
}

/* Dialog 美化 */
.v-dialog > .v-card {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.v-dialog .v-card-title {
  background: linear-gradient(135deg, #0D9488 0%, #14B8A6 100%);
  color: white !important;
  padding: 20px 24px !important;
  font-weight: 600 !important;
}

/* 輸入框美化 */
.v-field {
  border-radius: 8px !important;
}

.v-field--focused {
  box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.2) !important;
}

/* 圖標按鈕美化 */
.v-btn--icon {
  transition: all 0.2s ease !important;
}

.v-btn--icon:hover {
  background-color: rgba(13, 148, 136, 0.1) !important;
  transform: scale(1.1);
}

/* 已由上面的統一規則處理 */

/* 確保 toolbar 中的 menu 按鈕 icon 顏色正確 */
.v-toolbar .v-btn[color="teal-darken-2"] .v-icon,
.v-toolbar .v-btn.color-teal-darken-2 .v-icon {
  color: #0D9488 !important; /* teal-darken-2 */
}

/* 分頁美化 */
.v-pagination {
  margin-top: 16px !important;
}

.v-pagination__item {
  transition: all 0.2s ease !important;
}

.v-pagination__item:hover {
  transform: scale(1.1);
}

/* 過渡動畫 */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

.slide-enter-active,
.slide-leave-active {
  transition: all 0.3s ease;
}

.slide-enter-from {
  transform: translateX(-20px);
  opacity: 0;
}

.slide-leave-to {
  transform: translateX(20px);
  opacity: 0;
}

/* 加載動畫美化 */
.v-progress-linear {
  border-radius: 4px !important;
}

/* 搜索卡片美化 */
.search-card {
  border-radius: 16px !important;
  transition: all 0.3s ease !important;
}

.search-card:hover {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1) !important;
}

/* Expansion Panel 美化 */
.v-expansion-panel {
  border-radius: 12px !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
}

.v-expansion-panel:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Chip 美化 */
.v-chip {
  transition: all 0.2s ease !important;
}

.v-chip:hover {
  transform: scale(1.05);
}

/* 滾動條美化 */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: #F5F5F5;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #0D9488 0%, #14B8A6 100%);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, #14B8A6 0%, #0D9488 100%);
}
/* 志工時數管理系統 - 字型規範 */

/* 主要字型設定 */
:root {
  /* 中文字型優先順序 - 思源體優先 */
  --font-chinese: 'Source Han Sans TC', 'Noto Sans TC', 'Microsoft JhengHei', 'PingFang TC', 'Hiragino Sans GB', sans-serif;
  
  /* 英文字型優先順序 */
  --font-english: 'Inter', 'Roboto', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  
  /* 混合字型（推薦） - 思源體 + Inter */
  --font-primary: 'Inter', 'Source Han Sans TC', 'Noto Sans TC', 'Microsoft JhengHei', sans-serif;
  
  /* 字重設定 */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* 字體大小 */
  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.875rem;   /* 14px */
  --font-size-base: 1rem;     /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --font-size-3xl: 1.875rem;  /* 30px */
  --font-size-4xl: 2.25rem;   /* 36px */
}

/* 全域字型設定 */
body {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 標題字型 */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-semibold);
  line-height: 1.3;
  color: #2c3e50;
}

/* 頁面標題 */
.page-title {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-3xl);
  color: #00695c;
  letter-spacing: -0.025em;
}

/* 卡片標題 */
.card-title {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xl);
  color: #2c3e50;
}

/* 表單標籤 */
.form-label {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-sm);
  color: #374151;
}

/* 按鈕文字 */
.btn-text {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.025em;
}

/* 表格文字 */
.table-text {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-sm);
  color: #4b5563;
}

/* 小字體（提示、說明） */
.text-caption {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-xs);
  color: #6b7280;
  line-height: 1.4;
}

/* 數字顯示優化 */
.number-display {
  font-family: 'Inter', 'Roboto Mono', 'SF Mono', 'Monaco', 'Inconsolata', monospace;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.025em;
}

/* 思源體專用樣式 */
.source-han-sans {
  font-family: 'Source Han Sans TC', 'Noto Sans TC', 'Microsoft JhengHei', sans-serif;
  font-feature-settings: 'liga' 1, 'kern' 1;
  text-rendering: optimizeLegibility;
}

/* 思源體標題樣式 */
.source-han-title {
  font-family: 'Source Han Sans TC', 'Noto Sans TC', sans-serif;
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

/* 思源體正文樣式 */
.source-han-body {
  font-family: 'Source Han Sans TC', 'Noto Sans TC', sans-serif;
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  letter-spacing: 0.01em;
}

/* 響應式字型調整 */
@media (max-width: 768px) {
  .page-title {
    font-size: var(--font-size-2xl);
  }
  
  .card-title {
    font-size: var(--font-size-lg);
  }
}

/* 深色模式字型調整 */
@media (prefers-color-scheme: dark) {
  h1, h2, h3, h4, h5, h6 {
    color: #f8fafc;
  }
  
  .page-title {
    color: #10b981;
  }
  
  .table-text {
    color: #d1d5db;
  }
}

