/* ==================== CSP Phase 3: Inline Style Replacement ==================== */
/* 自動生成於: 2026-02-14 */
/* 階段: Stage 2-4 綜合 CSS utilities */

/* ===== Stage 3: Cursor utilities ===== */
.cursor-pointer { cursor: pointer; }
.btnDataHistory { cursor: pointer; }
.btnTestDataHistory { cursor: pointer; }

/* ===== Stage 4: Width utilities ===== */
.w-50px { width: 50px; }
.w-100px { width: 100px; }
.w-120px { width: 120px; }

/* ===== Stage 4: Min-width utilities ===== */
.min-w-120px { min-width: 120px; }
.min-w-150px { min-width: 150px; }
.min-w-180px { min-width: 180px; }
.min-w-200px { min-width: 200px; }

/* ===== Stage 4: Height utilities ===== */
.h-400px { height: 400px; }

/* ===== Stage 6: 額外尺寸 utilities ===== */
/* Padding */
.p-20px { padding: 20px; }
.pt-10px { padding-top: 10px; }

/* Max-width */
.max-w-150px { max-width: 150px; }
.max-w-180px { max-width: 180px; }
.max-w-200px { max-width: 200px; }
.max-w-220px { max-width: 220px; }
.max-w-300px { max-width: 300px; }

/* Height */
.h-6px { height: 6px; }
.h-38px { height: 38px; }

/* Min-width */
.min-w-60px { min-width: 60px; }

/* Width (rem) */
.w-3rem { width: 3rem; }
.h-3rem { height: 3rem; }

/* Font-size */
.fs-2em { font-size: 2em; }
.fs-47px { font-size: 47px; }

/* ===== Stage 6 批次 2: Table/Spinner/Icon/Readonly/Object-fit ===== */
/* Table spacing */
.table-separate-20 { border-collapse: separate; border-spacing: 0 20px; }

/* Spinner size */
.spinner-3rem { width: 3rem; height: 3rem; }

/* Image max-height */
.max-h-100px { max-height: 100px; }
.max-h-150px { max-height: 150px; }

/* Icon/Button width */
.w-1rem { width: 1rem; }

/* Readonly background */
.bg-readonly { background-color: #f8f9fa; }

/* Disabled background */
.bg-disabled { background-color: #dee2e6; }

/* Text decoration */
.text-underline { text-decoration: underline; }

/* Object fit */
.object-cover { object-fit: cover; }
.object-contain { object-fit: contain; }

/* Min-height */
.min-h-300px { min-height: 300px; }
.min-h-400px { min-height: 400px; }
.min-h-450px { min-height: 450px; }
.min-h-500px { min-height: 500px; }

/* Table column widths */
.w-15pct { width: 15%; }
.w-20pct { width: 20%; }
.w-25pct { width: 25%; }
.w-30pct { width: 30%; }
.w-35pct { width: 35%; }
.w-80px { width: 80px; }
.w-150px { width: 150px; }

/* QR Code sizes */
.qr-200 { width: 200px; height: 200px; }
.qr-240 { width: 240px; height: 240px; }

/* Max-width utilities */
.max-w-full { max-width: 100%; }

/* White-space */
.ws-nowrap { white-space: nowrap; }
.ws-pre-wrap { white-space: pre-wrap; }

/* Font-weight */
.fw-normal { font-weight: normal; }

/* ===== Stage 6b: Combination utilities ===== */
/* QR Code border styling */
.qr-bordered { max-width: 200px; border: 2px solid #dee2e6; border-radius: 8px; }
.qr-panel-right { border: 1px solid #dee2e6; border-radius: 0 8px 8px 0; }

/* Sticky alert overlay */
.sticky-alert { position: sticky; top: 0; z-index: 9999; border: none; }

/* Signature preview */
.sig-preview-sm { max-height: 100px; max-width: 300px; }

/* Background */
.bg-code { background-color: #f5f5f5; }

/* Button link plain */
.btn-link-plain { text-decoration: underline; padding: 0; border: none; background: none; color: inherit; }

/* ===== Stage 7: Industry Color Variables (CSP Fix) ===== */
.industry-forestry { --sort-bg: #4C956C; }
.industry-fishery { --sort-bg: #00B4D8; }
.industry-livestock { --sort-bg: #F07167; }




/* ===== Stage 8: Swiper CSP Fixes ===== */
.swiper-custom-container { min-height: 300px; transition: opacity 0.3s ease; }
.swiper-init-hidden { opacity: 0; }


/* Custom Utilities for CSP Compliance - Batch 2 */
.cursor-not-allowed { cursor: not-allowed; opacity: 0.5; }

/* Industry Colors - Sort Checked Background */
.industry-forestry-bg { --sort-checked-bg: #2D6A4F; }
.industry-fishery-bg { --sort-checked-bg: #00B4D8; }
.industry-livestock-bg { --sort-checked-bg: #F07167; }

/* Member Center Primary/Secondary Colors */
.industry-primary-forestry { --sort-checked-bg: #4C956C; }
.industry-primary-fishery { --sort-checked-bg: #00B4D8; }
.industry-primary-livestock { --sort-checked-bg: #F07167; }
.industry-secondary-forestry { --sort-checked-bg: #4C956C; }
.industry-secondary-fishery { --sort-checked-bg: #00B4D8; }
.industry-secondary-livestock { --sort-checked-bg: #F07167; }

/* Upgrade Link Background Colors */
.upgrade-link-1 { --upgrade-link-bg: #097E5E; }
.upgrade-link-2 { --upgrade-link-bg: #086F59; }
.upgrade-link-3 { --upgrade-link-bg: #075750; }

/* Card Main Colors */
.card-main-1 { --card-main-color: #0A8F64; }
.card-main-2 { --card-main-color: #097E5E; }
.card-main-3 { --card-main-color: #086F59; }
.card-main-4 { --card-main-color: #075750; }

/* Transaction Tab Backgrounds */
.trans-tab-agri { --transaction-tab-bg: #4C956C; }
.trans-tab-fishery { --transaction-tab-bg: #009EC2; }
.trans-tab-pork { --transaction-tab-bg: #993E01; }

/* Special Backgrounds */
.bg-loading-mask { mask-type: luminance; }
.bg-signature-success { background: linear-gradient(135deg, #d4edda, #c3e6cb); }
.bg-signature-preview { background: linear-gradient(135deg, #f8f9fa, #ffffff); border-radius: 8px; border-left: 3px solid var( --bs-primary); }
.bg-elderly-instruction { background: linear-gradient(135deg, #e8f5e8, #f0f8f0); border-left: 4px solid #28a745; border-radius: 8px; }
.bg-gray-200 { background-color: #dee2e6; }
.mask-luminance { mask-type: luminance; }

/* Kendo Editor Textarea */
.kendo-editor-textarea {
    width: 100%;
    height: 400px;
    font-family: Consolas, Monaco, monospace;
    font-size: 13px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

/* Lottie Player */
.lottie-loader { width: 50%; height: 50%; }

/* Drop Image */
.drop-image-preview { width: 100%; max-height: 100%; display: block; margin: auto; border-radius: 5px; }

/* Progress Bar */
.k-progress-bar-hidden { display: none; }

.w-0 { width: 0 !important; }

.flex-center-1 { display: flex; align-items: center; flex: 1; }
.flex-1-ellipsis { flex: 1; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }



/* LC-Grid2 Styles for CSP Compliance */
.lc-grid-row-blocked {
  pointer-events: none;
  opacity: 0.4;
}

.lc-grid-row-clickable {
  cursor: pointer;
}

.lc-grid-row-not-clickable {
  cursor: default;
}


