﻿:root {
            --primary: #2563eb;
            --bg: #f8fafc;
        }
        body { 
            font-family: 'Inter', -apple-system, sans-serif; 
            background-color: var(--bg);
            overscroll-behavior-y: contain;
        }
        /* Safe Area Padding for iPhone Notch and Status Info */
        .safe-pt { padding-top: env(safe-area-inset-top); }
        .safe-pb { padding-bottom: env(safe-area-inset-bottom); }
        
        #sidebar { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
        .sidebar-active #sidebar { transform: translateX(0); }
        @media (min-width: 768px) {
            .sidebar-collapsed #sidebar { display: none; }
        }
        
        .glass {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .no-scrollbar::-webkit-scrollbar { display: none; }
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        input:focus, select:focus, textarea:focus {
            outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
        }

        .attachment-preview {
            width: 80px;
            height: 80px;
            object-fit: cover;
            border-radius: 12px;
            border: 2px solid #e2e8f0;
        }
        
        /* Robust fix for Date Input right padding on Mobile */
        input[type="date"] {
            position: relative;
            box-sizing: border-box;
            max-width: 100%;
            min-width: 0;
            padding-left: 1rem !important;
            padding-right: 2.75rem !important;
            text-align: left;
            -webkit-appearance: none;
            appearance: none;
        }
        input[type="date"]::-webkit-calendar-picker-indicator {
            position: absolute;
            right: 1rem;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            padding: 0;
            margin: 0;
        }
        input[type="date"]::-webkit-date-and-time-value {
            text-align: left;
            min-height: 1.5em;
        }

        @media (max-width: 480px) {
            input[type="date"] {
                font-size: 0.875rem;
                padding-left: 0.875rem !important;
                padding-right: 2.25rem !important;
            }
            input[type="date"]::-webkit-calendar-picker-indicator {
                right: 0.875rem;
            }
        }

        /* Modal Styles */
        #preview-modal.active, #alert-modal.active, #confirm-modal.active { display: flex; }

        /* Insight Table Styling */
        .insight-table th {
            padding: 1rem;
            border-bottom: 1px solid #f1f5f9;
            background: #f8fafc;
            color: #94a3b8;
            font-size: 10px;
            font-weight: 900;
            letter-spacing: 0.1em;
            text-align: left;
            text-transform: uppercase;
        }
        .insight-table td {
            padding: 1rem;
            border-bottom: 1px solid #f8fafc;
            color: #334155;
            font-size: 0.875rem;
            font-weight: 500;
        }
        .insight-table tr:hover { background: rgba(239, 246, 255, 0.3); }
