/* Custom Scrollbars */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

/* UI Elements */
.glass-panel { background: rgba(30, 41, 59, 0.7); backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 8px 32px -4px rgba(0, 0, 0, 0.3); }
.glass-header { background: rgba(15, 23, 42, 0.85); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

/* Form Inputs */
.e-input { width: 100%; background: rgba(15, 23, 42, 0.5); border: 1px solid rgba(255, 255, 255, 0.1); color: #f8fafc; border-radius: 0.375rem; padding: 0.5rem 0.75rem; font-size: 0.875rem; transition: all 0.2s; }
.e-input:focus:not(:disabled) { outline: none; border-color: #6366f1; box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2); }
.e-input::placeholder { color: #64748b; }

/* Phone Input Overrides */
.iti { width: 100%; display: block; }
.iti__flag-container { padding-left: 8px; }
.iti__selected-flag { background: transparent !important; border-radius: 0.375rem 0 0 0.375rem; }
.iti__country-list { background-color: #1e293b; border: 1px solid #334155; color: #f8fafc; white-space: normal; }
.iti__country:hover { background-color: #334155; }

/* Custom Checkboxes */
.e-checkbox { appearance: none; width: 1rem; height: 1rem; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 0.25rem; background: rgba(15, 23, 42, 0.5); cursor: pointer; position: relative; transition: all 0.2s; }
.e-checkbox:checked { background: #6366f1; border-color: #6366f1; }
.e-checkbox:disabled { opacity: 0.4; cursor: not-allowed; }
.e-checkbox:checked::after { content: ''; position: absolute; left: 4px; top: 1px; width: 5px; height: 10px; border: solid white; border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* Utilities */
.drag-over { background: rgba(99, 102, 241, 0.15) !important; border: 1px dashed #6366f1 !important; }
.hide { display: none !important; }

/* Invoice Print Mode */
@media print {
    body.print-mode > *:not(#invoice-print-zone) { display: none !important; }
    #invoice-print-zone { display: block !important; position: relative; width: 100%; background: white !important; color: black !important; padding: 0; }
    * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
    @page { margin: 1cm; }
}