/* =========================================
   GLOBAL VARIABLES & RESET
========================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap');

:root {
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
    --background: #f4f7fb;
    --card-bg: #ffffff;
    --text: #333333;
    --text-light: #777777;
    --border: #e1e8ed;
}

* { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
    font-family: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
}

body { 
    background-color: var(--background); 
    color: var(--text); 
    line-height: 1.6;
}

/* =========================================
   FORMS, INPUTS & UTILS
========================================= */

input[type="text"], 
input[type="email"], 
input[type="password"], 
input[type="number"], 
input[type="tel"], 
select, 
textarea { 
    transition: all 0.3s;
}

input:focus:not(.readonly-input), select:focus, textarea:focus:not(.readonly-input) {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.readonly-input {
    background-color: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
    color: #475569 !important;
    cursor: not-allowed;
    opacity: 0.9;
}

/* Hide scrollbar for clean UI */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Admin Grid tweaks */
.admin-table { 
    width: 100%; 
    border-collapse: collapse; 
}

.admin-table th, .admin-table td { 
    border: 1px solid var(--border); 
}

.admin-table th { 
    background: #f8fafc; 
}

/* HTML2PDF PDF generation tweaks to preserve print quality */
#invoice-content {
    background: #ffffff;
}

@media print {
    body { background: white !important; }
    #invoice-container > button { display: none !important; }
    #invoice-content { box-shadow: none !important; border: none !important; margin: 0 !important; padding: 0 !important; }
}