/**
 * 取代散落在各頁的 style="..." 屬性（CSP style-src 拿掉 unsafe-inline 後，
 * 寫在標籤上的 style 屬性不受 nonce 保護，一律要改用 class + 外部 CSS）。
 * 這支檔案彙整「多處共用」的樣式；只在單一頁面用到的樣式則留在該頁自己的
 * CSS 檔（public/css/<同路徑>.css）裡，不放這裡以免造成無關頁面之間的耦合。
 */

/* ------- 通用小工具 ------- */
.u-hidden { display: none; }
.u-opacity-0 { opacity: 0; }
.u-cursor-pointer { cursor: pointer; }
.u-flex-row { flex-direction: row; }
.u-disabled-look { opacity: .5; cursor: not-allowed; }

/* 上傳圖片按鈕的 file input：徹底隱藏（而非只用 opacity:0 疊在按鈕上），
   避免 iOS Safari 選圖後在按鈕外緣畫出原生縮圖角標。搭配 label[for] 觸發選檔。 */
.btn.btn-file .upload-input-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
}

/* ------- 表格排序欄位寬度（DataTable 風格清單頁共用） ------- */
.th-w-10 { width: 10%; }
.th-w-12 { width: 12%; }
.th-w-14 { width: 14%; }
.th-w-15 { width: 15%; }
.th-w-17 { width: 17%; }
.th-w-18 { width: 18%; }
.th-w-19 { width: 19%; }
.th-w-20 { width: 20%; }
.th-w-40 { width: 40%; }
.th-w-60 { width: 60%; }
.th-sortable-10 { width: 10%; cursor: pointer; user-select: none; }
.th-sortable-15 { width: 15%; cursor: pointer; user-select: none; }
.th-sortable-18 { width: 18%; cursor: pointer; user-select: none; }
.th-sortable-19 { width: 19%; cursor: pointer; user-select: none; }
.th-sortable-20 { width: 20%; cursor: pointer; user-select: none; }

/* ------- 尺寸 ------- */
.u-w-140 { width: 140px; }
.u-max-w-120 { max-width: 120px; }
.u-max-w-700 { max-width: 700px; }
.u-minw-48 { min-width: 48px; }
.u-h-400 { height: 400px; }
.u-h-auto { height: auto; }
.u-chart-400 { width: 100%; height: 400px; }
.u-box-80 { width: 80px; height: 80px; }
.u-box-3rem { width: 3rem; height: 3rem; }
.u-box-2_5rem { width: 2.5rem; height: 2.5rem; }
.u-fs-14 { font-size: 14px; }
.u-fs-3rem { font-size: 3rem; }
.u-fs-4rem { font-size: 4rem; }
.u-aspect-6-4 { aspect-ratio: 6 / 4; }
.u-bottom-0 { bottom: 0px; }
.u-z-1050 { z-index: 1050; }

/* ------- 捲動區塊（超過高度顯示卷軸） ------- */
.u-scroll-140 { max-height: 140px; overflow-y: auto; }
.u-scroll-180 { max-height: 180px; overflow-y: auto; }
.u-scroll-320 { max-height: 320px; overflow-y: auto; }
.u-max-h-320 { max-height: 320px; }

/* ------- 文字/前景色 ------- */
.u-text-333 { color: #333; }
.u-pre-wrap-break { white-space: pre-wrap; word-break: break-word; }

/* ------- 顏色 / 品牌色 ------- */
.brand-navy-bg { background-color: #052f5a !important; }
.u-bg-gray-c3 { background-color: rgb(195, 195, 195); }
.badge-soft-red { background-color: #ffe4e6; border-color: #fca5a5; }
.tag-swatch-green { background-color: #17c850; border-radius: 0.5rem; }
.tag-swatch-green-solid { background-color: #17c850; border-color: #17c850; }

/* ------- 服務卡匯入結果：按鈕警告（serve-list.blade.php，PM 指定配色） ------- */
.import-warning__title {
    background: #fdecef;
    color: #8a2231;
    font-weight: 600;
    font-size: 14px;
    padding: 8px 14px;
    border-radius: 6px;
    margin: 0;
}

.import-warning__list {
    margin: 10px 0 0;
    padding-left: 20px;
    line-height: 1.7;
}

/* ------- 側邊欄選單目前項目高亮（sidebar-backend.blade.php） ------- */
.nav-active { background-color: slategray; }

/* ------- 卡片預覽固定尺寸（me/card-info.blade.php） ------- */
.card-preview-fixed-250 { max-width: 250px; min-width: 250px; width: 250px; }

/* ------- 表格固定版面（statistics.blade.php） ------- */
.table-fixed-full { table-layout: fixed; width: 100%; }
