* { box-sizing: border-box; }
body { font-family: 'Segoe UI','Cairo',Tahoma,sans-serif; }
.form-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;background:#fff;color:inherit;width:100%;transition:border-color .15s,box-shadow .15s}
.dark .form-input{background:#1f2937;border-color:#374151;color:#f3f4f6}
.form-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.15)}
.form-label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.25rem;color:#4b5563}
.dark .form-label{color:#9ca3af}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem}
.dark .card{background:#111827;border-color:#1f2937}
.data-table{width:100%;font-size:.875rem;border-collapse:collapse}
.data-table th{text-align:start;padding:.625rem .75rem;font-weight:600;color:#6b7280;border-bottom:2px solid #e5e7eb;white-space:nowrap;background:#f9fafb}
.dark .data-table th{color:#9ca3af;border-bottom-color:#1f2937;background:#1f2937}
.data-table td{padding:.625rem .75rem;border-bottom:1px solid #f3f4f6;white-space:nowrap}
.dark .data-table td{border-bottom-color:#1f2937}
.data-table tbody tr:hover{background:#f9fafb}
.dark .data-table tbody tr:hover{background:#1f2937}
.table-wrapper{overflow-x:auto;border-radius:.75rem;border:1px solid #e5e7eb}
.dark .table-wrapper{border-color:#1f2937}
.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:.5rem;cursor:pointer;transition:background .15s,opacity .15s;border:none;white-space:nowrap}
.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover{background:#4338ca}
.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}
.dark .btn-secondary{background:#374151;color:#e5e7eb}.dark .btn-secondary:hover{background:#4b5563}
.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}
.btn-success{background:#22c55e;color:#fff}.btn-success:hover{background:#16a34a}
.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}
.btn-sm{padding:.25rem .625rem;font-size:.75rem}
.btn:disabled{opacity:.5;cursor:not-allowed}
.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;border-radius:.375rem;white-space:nowrap}
.badge-green{background:#dcfce7;color:#166534}.badge-red{background:#fee2e2;color:#991b1b}
.badge-yellow{background:#fef3c7;color:#92400e}.badge-blue{background:#dbeafe;color:#1e40af}
.badge-gray{background:#f3f4f6;color:#374151}.dark .badge-gray{background:#374151;color:#d1d5db}
.badge-purple{background:#f3e8ff;color:#6b21a8}
.nav-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s;color:#4b5563}
.dark .nav-item{color:#9ca3af}
.nav-item:hover{background:#f3f4f6}.dark .nav-item:hover{background:#1f2937}
.nav-item.active{background:#eef2ff;color:#4f46e5}.dark .nav-item.active{background:#312e81;color:#a5b4fc}
.nav-item svg{width:1.25rem;height:1.25rem;flex-shrink:0}
.stat-card{padding:1.25rem;border-radius:.75rem;background:#fff;border:1px solid #e5e7eb}
.dark .stat-card{background:#111827;border-color:#1f2937}
.stat-value{font-size:1.75rem;font-weight:700}
.stat-label{font-size:.8125rem;color:#6b7280;margin-top:.25rem}.dark .stat-label{color:#9ca3af}
.toast{padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);animation:slideIn .2s ease;max-width:360px}
.toast-success{background:#22c55e}.toast-error{background:#ef4444}.toast-info{background:#3b82f6}.toast-warning{background:#f59e0b}
@keyframes slideIn{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.tab-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-bottom:2px solid transparent;cursor:pointer;transition:border-color .15s,color .15s;color:#6b7280}
.dark .tab-btn{color:#9ca3af}
.tab-btn.active{border-bottom-color:#4f46e5;color:#4f46e5}.dark .tab-btn.active{color:#a5b4fc}
.section-title{font-size:1.125rem;font-weight:700;margin-bottom:1rem}
.empty-state{text-align:center;padding:3rem 1rem;color:#9ca3af}
.fade-in{animation:fadeIn .2s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}
[dir="rtl"] .sidebar{border-left:1px solid #e5e7eb;border-right:none}
[dir="ltr"] .sidebar{border-right:1px solid #e5e7eb;border-left:none}
[dir="rtl"] #sidebar{right:0;left:auto}
[dir="ltr"] #sidebar{left:0;right:auto}
[dir="rtl"] #sidebar.r-hidden{transform:translateX(100%)}
[dir="ltr"] #sidebar.r-hidden{transform:translateX(-100%)}
.leaflet-container{z-index:0!important}
.map-preview{height:200px;border-radius:.5rem;overflow:hidden}
.map-large{height:400px;border-radius:.75rem;overflow:hidden}
@media print{.no-print{display:none!important}body{background:#fff}.card{border:none}}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}
.perm-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.8125rem;cursor:pointer}
.dark .perm-item{border-color:#374151}
.perm-item:hover{background:#f9fafb}.dark .perm-item:hover{background:#1f2937}
.salary-comp-row{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:.5rem}
.dark .salary-comp-row{border-color:#374151}
.site-dropdown{font-size:.8125rem}
.site-dropdown>div{font-size:.8125rem}
#empSearch,#seSearch{max-width:300px}
