        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            background-color: #FAF7F2;
            color: #261B12;
            -webkit-tap-highlight-color: transparent;
            background-image: radial-gradient(#E8DFC8 0.75px, transparent 0.75px);
            background-size: 20px 20px;
            overflow-x: hidden;
        }
        /* Mở khóa hoàn toàn cảm ứng chạm, đặt con trỏ và chọn chữ cho mọi ô nhập liệu trên Điện Thoại (iOS/Android) */
        input, textarea, select {
            -webkit-user-select: text !important;
            user-select: text !important;
            -webkit-touch-callout: default !important;
            pointer-events: auto !important;
            touch-action: manipulation;
        }
        /* Độ tương phản cao chuyên dụng đi đồng ngoài nắng (Phong Thuỷ Hoàng Thổ & Hổ Phách 1990) */
        .sun-card {
            background: #FFFFFF;
            border: 2.5px solid #382416;
            box-shadow: 0 4px 0 #382416;
            border-radius: 1.25rem;
        }
        .sun-btn {
            border: 2px solid #382416;
            box-shadow: 0 2.5px 0 #382416;
            border-radius: 0.875rem;
            transition: transform 0.08s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.08s ease, background-color 0.12s ease;
        }
        .sun-btn:active {
            transform: translateY(1.5px);
            box-shadow: 0 1px 0 #382416;
        }
        /* Hiệu ứng nảy lò xo (bouncy spring scale) cho iOS Floating Bottom Tab Bar */
        .ios-tab-btn {
            transition: transform 0.24s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
        }
        .ios-tab-btn:active { transform: scale(0.9); }
        .ios-tab-btn.tab-active-spring { transform: scale(1.03); }
        /* Hộp thoại Modal ổn định tuyệt đối tọa độ cảm ứng trên Điện Thoại (iOS Safari / Android Chrome) */
        #appMainWrapper {
            transform: none !important;
            filter: none !important;
        }
        body.sheet-open-depth {
            overflow: hidden;
        }
        .ios-bottom-sheet-backdrop {
            align-items: flex-start !important;
            padding: 0.75rem 0.5rem 1.5rem 0.5rem !important;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }
        .ios-bottom-sheet-panel {
            animation: none !important;
            transform: none !important;
            border-radius: 1.5rem !important;
            margin-top: 0.25rem !important;
            margin-bottom: auto !important;
            max-height: calc(100dvh - 1.5rem) !important;
            padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px)) !important;
            touch-action: manipulation;
            box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45) !important;
        }
        @media (min-width: 640px) {
            .ios-bottom-sheet-backdrop {
                align-items: center !important;
                padding: 1rem !important;
            }
            .ios-bottom-sheet-panel {
                margin-top: auto !important;
                border-radius: 1.75rem !important;
            }
        }

        /* ==================== APPLE LIQUID GLASS & THEME PHONG THỦY ==================== */
        .liquid-glass-dock {
            background: var(--lg-dock-bg, linear-gradient(135deg, rgba(36, 22, 12, 0.78) 0%, rgba(24, 14, 8, 0.85) 100%)) !important;
            backdrop-filter: blur(24px) saturate(200%) !important;
            -webkit-backdrop-filter: blur(24px) saturate(200%) !important;
            border: 1.5px solid var(--lg-dock-border, rgba(251, 191, 36, 0.38)) !important;
            box-shadow: 
                inset 0 1.5px 2px 0 rgba(255, 255, 255, 0.32),
                inset 0 -1.5px 2px 0 rgba(0, 0, 0, 0.5),
                var(--lg-dock-shadow, 0 16px 42px -4px rgba(18, 9, 3, 0.72)),
                0 4px 14px 0 rgba(0, 0, 0, 0.4) !important;
        }
        .liquid-glass-header {
            background: var(--lg-header-bg, linear-gradient(180deg, rgba(36, 22, 12, 0.82) 0%, rgba(24, 14, 8, 0.88) 100%)) !important;
            backdrop-filter: blur(20px) saturate(180%) !important;
            -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
            border-bottom: 2px solid var(--lg-header-border, rgba(245, 158, 11, 0.65)) !important;
            box-shadow: 
                inset 0 -1px 0 0 rgba(255, 255, 255, 0.15),
                var(--lg-header-shadow, 0 6px 24px -2px rgba(15, 8, 4, 0.45)) !important;
        }
        .liquid-glass-tab-active {
            background: var(--lg-tab-active-bg, linear-gradient(180deg, #FCD34D 0%, #F59E0B 100%)) !important;
            color: var(--lg-tab-active-color, #1C1008) !important;
            border: 1.5px solid #FFFFFF !important;
            box-shadow: 
                inset 0 1.5px 1.5px 0 rgba(255, 255, 255, 0.85),
                inset 0 -1.5px 2px 0 var(--lg-tab-active-inset, rgba(180, 83, 9, 0.45)),
                var(--lg-tab-active-shadow, 0 4px 14px rgba(245, 158, 11, 0.45)) !important;
        }
        .liquid-glass-tab-inactive {
            background: var(--lg-tab-inactive-bg, rgba(45, 26, 12, 0.55)) !important;
            border: 1px solid var(--lg-tab-inactive-border, rgba(251, 191, 36, 0.2)) !important;
            color: var(--lg-tab-inactive-color, #FDE68A) !important;
            box-shadow: inset 0 1px 1px 0 rgba(255, 255, 255, 0.15), 0 2px 5px rgba(0,0,0,0.25) !important;
        }
        /* Tối ưu mượt 60-120FPS khi vuốt cuộn trên Điện Thoại: tắt GPU blur nặng ở thanh cố định & nền chấm nhỏ */
        @media (hover: none) and (pointer: coarse) {
            body {
                background-image: none !important;
            }
            .liquid-glass-header,
            .liquid-glass-dock,
            .liquid-glass-toast {
                backdrop-filter: none !important;
                -webkit-backdrop-filter: none !important;
            }
        }
        .liquid-glass-tab-inactive:hover {
            background: var(--lg-tab-inactive-hover-bg, rgba(65, 38, 18, 0.65)) !important;
            color: var(--lg-tab-inactive-hover-color, #FEF08A) !important;
            border-color: var(--lg-tab-inactive-hover-border, rgba(251, 191, 36, 0.42)) !important;
        }
        .liquid-glass-toast {
            background: var(--lg-toast-bg, linear-gradient(135deg, rgba(28, 16, 8, 0.88) 0%, rgba(18, 10, 5, 0.94) 100%)) !important;
            backdrop-filter: blur(24px) saturate(200%) !important;
            -webkit-backdrop-filter: blur(24px) saturate(200%) !important;
            border: 1.5px solid var(--lg-toast-border, rgba(251, 191, 36, 0.45)) !important;
            box-shadow: 
                inset 0 1.5px 2px 0 rgba(255, 255, 255, 0.35),
                inset 0 -1px 1.5px 0 rgba(0, 0, 0, 0.5),
                var(--lg-toast-shadow, 0 14px 34px -2px rgba(0, 0, 0, 0.65)) !important;
            color: var(--lg-toast-color, #FDE68A) !important;
        }
        .theme-accent-text {
            color: var(--lg-accent-text, #FCD34D) !important;
        }
        .theme-accent-btn {
            background: var(--lg-accent-btn, #FBBF24) !important;
        }
        .theme-btn-primary {
            background: var(--theme-primary-btn-bg, var(--lg-accent-btn, linear-gradient(180deg, #FCD34D 0%, #F59E0B 100%))) !important;
            color: var(--theme-primary-btn-text, #1C1008) !important;
            border-color: #382416 !important;
        }
        .theme-btn-primary:hover {
            filter: brightness(1.08);
        }
        .theme-btn-primary:active {
            filter: brightness(0.96);
        }
        .theme-chip-active {
            background: var(--theme-active-chip-bg, var(--lg-accent-btn, #FBBF24)) !important;
            color: var(--theme-active-chip-text, #1C1008) !important;
            border-color: var(--theme-active-chip-border, #382416) !important;
        }
        .theme-chip-active:hover {
            filter: brightness(1.06);
        }
        /* Khung "Kiểm tra & Sửa Ngày Bay" và "Xem Ngày Cũ Hơn" tách biệt màu sắc theo chuẩn Phong Thuỷ */
        .theme-presave-control-panel {
            background: var(--theme-presave-panel-bg, linear-gradient(180deg, #2A190E 0%, #1B0F08 100%)) !important;
            border: 2.5px solid #382416 !important;
            box-shadow: inset 0 0 0 1.5px var(--theme-presave-panel-border, #F59E0B), 0 3px 0 #382416 !important;
            color: #FEF3C7 !important;
            overflow: hidden;
        }
        .theme-presave-date-preview {
            background: rgba(0, 0, 0, 0.45) !important;
            border: 1.5px solid var(--lg-header-border, rgba(245, 158, 11, 0.75)) !important;
            color: #FFFFFF !important;
        }
        /* Nút phụ / nút chưa chọn nằm trong khung nền đậm: ép nền Trắng sáng + chữ Đen đậm để nhìn cực rõ trên iPhone */
        .theme-panel-btn-inactive {
            background: #FFFFFF !important;
            color: #1C1008 !important;
            border: 2px solid #382416 !important;
            box-shadow: 0 2px 0 #382416 !important;
        }
        .theme-panel-btn-inactive:hover,
        .theme-panel-btn-inactive:active {
            background: #FEF3C7 !important;
            color: #1C1008 !important;
        }
        .theme-panel-status-badge {
            background: #A7F3D0 !important;
            color: #064E3B !important;
            border: 1.5px solid #064E3B !important;
        }
        .theme-panel-badge-history {
            background: #7DD3FC !important;
            color: #082F49 !important;
            border: 1.5px solid #082F49 !important;
        }
        .theme-panel-label {
            color: #FDE68A !important;
        }
        /* Chuẩn hóa ô chọn ngày <input type="date"> trên iPhone / iOS Safari không bao giờ tràn khung hoặc đè lên nút */
        input[type="date"] {
            -webkit-appearance: none !important;
            appearance: none !important;
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
            background-color: #FFFFFF !important;
            color: #1C1008 !important;
            min-height: 2.4rem;
            line-height: 1.25rem;
        }
        input[type="date"]::-webkit-date-and-time-value {
            text-align: center;
            margin: 0 auto;
        }
        /* Khung Danh sách Chủ ruộng phía dưới (Nền Sáng Phong Thuỷ dịu mắt, tương phản rõ với khung Ngày bay ở trên) */
        .theme-presave-farmer-card {
            background: var(--theme-soft-card-bg, linear-gradient(180deg, #FFFBEB 0%, #FEF3C7 100%)) !important;
            border: 2.5px solid #382416 !important;
            box-shadow: 0 3px 0 #382416 !important;
        }
        .theme-presave-soft-badge {
            background: var(--theme-soft-badge-bg, #FDE68A) !important;
            color: var(--theme-soft-badge-text, #1C1008) !important;
            border-color: #382416 !important;
        }
        .ios-grabber-area {
            width: 100%;
            padding: 0.3rem 0 0.55rem 0;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: grab;
            user-select: none;
            -webkit-user-select: none;
            touch-action: none;
            flex-shrink: 0;
        }
        .ios-grabber-area:active { cursor: grabbing; }
        .ios-grabber-pill {
            width: 44px;
            height: 5px;
            border-radius: 9999px;
            background-color: #CBD5E1;
            transition: background-color 0.15s ease, width 0.15s ease;
        }
        .ios-grabber-area:hover .ios-grabber-pill,
        .ios-grabber-area:active .ios-grabber-pill {
            background-color: #94A3B8;
            width: 54px;
        }
        /* Dynamic Island Capsule Pill Toast */
        @keyframes dynamicIslandDrop {
            0% { transform: translate(-50%, -130%) scale(0.75); opacity: 0; }
            65% { transform: translate(-50%, 4px) scale(1.03); opacity: 1; }
            100% { transform: translate(-50%, 0) scale(1); opacity: 1; }
        }
        @keyframes dynamicIslandCollapse {
            0% { transform: translate(-50%, 0) scale(1); opacity: 1; }
            100% { transform: translate(-50%, -130%) scale(0.75); opacity: 0; }
        }
        .dynamic-island-enter { animation: dynamicIslandDrop 0.38s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }
        .dynamic-island-leave { animation: dynamicIslandCollapse 0.25s cubic-bezier(0.32, 0.72, 0, 1) forwards; }
        @keyframes checkStrokeAnim {
            0% { stroke-dashoffset: 28; }
            100% { stroke-dashoffset: 0; }
        }
        .svg-check-anim {
            stroke-dasharray: 28;
            stroke-dashoffset: 28;
            animation: checkStrokeAnim 0.42s ease-out 0.1s forwards;
        }
        input[type="number"]::-webkit-inner-spin-button,
        input[type="number"]::-webkit-outer-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }
        @keyframes highlightPulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.02); background-color: #FDE68A; }
        }
        .flash-effect { animation: highlightPulse 0.45s ease-in-out 2; }
        .sun-scroll {
            overscroll-behavior-y: contain;
            -webkit-overflow-scrolling: touch;
        }
        @media (hover: none) and (pointer: coarse) {
            .sun-scroll .sun-btn:active {
                transform: none;
            }
        }
        .sun-scroll::-webkit-scrollbar { width: 8px; }
        .sun-scroll::-webkit-scrollbar-track { background: #F5EFEB; border-left: 2px solid #D6C2A7; border-radius: 8px; }
        .sun-scroll::-webkit-scrollbar-thumb { background: #8C6D53; border-radius: 8px; border: 2px solid #F5EFEB; }
        .sun-scroll::-webkit-scrollbar-thumb:hover { background: #6E4D33; }
