:root{--color-primary:#1e4d8c;--color-primary-dark:#16386a;--color-on-primary:#fff;--color-secondary:#3b6fb5;--color-accent:#e08b2d;--color-accent-dark:#c5741a;--color-background:#eef1f6;--color-surface:#fff;--color-foreground:#1a2a44;--color-muted:#e4eaf3;--color-text-muted:#5a6b85;--color-border:#c3cfe0;--color-destructive:#c0392b;--color-warning:#d97706;--color-ring:#1e4d8c;--color-header-label:#f0b64a;--sidebar-width:260px;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px rgba(19,78,74,.06),0 1px 3px rgba(19,78,74,.08);--shadow-md:0 4px 12px rgba(19,78,74,.1);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-heading:"Noto Sans Arabic","Noto Sans",sans-serif;--font-body:"Noto Sans Arabic","Noto Sans",sans-serif;--transition:.18s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{direction:rtl;overflow-x:hidden}body{background:var(--color-background);color:var(--color-foreground);font-family:var(--font-body);font-size:15px;line-height:1.65;max-width:100%;-webkit-font-smoothing:antialiased}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{font-family:inherit;font-size:.95rem}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.3}:focus-visible{outline:3px solid var(--color-ring);outline-offset:2px}.btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:var(--space-2);justify-content:center;min-height:44px;padding:.5rem 1rem;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover:not(:disabled){background:var(--color-accent-dark)}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-foreground)}.btn-secondary:hover:not(:disabled){background:var(--color-muted)}.btn-danger{background:var(--color-destructive);color:#fff}.btn-danger:hover:not(:disabled){opacity:.92}.btn-ghost{background:transparent;color:var(--color-foreground)}.btn-ghost:hover:not(:disabled){background:var(--color-muted)}.btn-sm{font-size:.82rem;min-height:36px;padding:.3rem .7rem}.btn-icon{padding:0;width:44px}.card{padding:var(--space-5)}.card,.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{border-top:3px solid var(--color-accent);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);transition:box-shadow var(--transition),transform var(--transition)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .stat-value{color:var(--color-primary-dark);font-size:1.6rem;font-variant-numeric:tabular-nums;font-weight:700}.stat-card .stat-label{color:var(--color-text-muted);font-size:.82rem;font-weight:500}.table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto;-webkit-overflow-scrolling:touch}table.data-table{border-collapse:collapse;font-size:.875rem;width:100%}table.data-table th{background:var(--color-primary);border:1px solid var(--color-primary-dark);color:var(--color-header-label);font-weight:700;padding:.6rem 1rem;position:sticky;text-align:right;top:0;white-space:nowrap;z-index:1}table.data-table td{border:1px solid var(--color-border);padding:.55rem 1rem;vertical-align:middle}table.data-table tbody tr:nth-child(2n) td{background:#f4f7fc}table.data-table tr:hover td{background:#e9f0fa}table.data-table .cell-muted{color:var(--color-text-muted)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}.form-control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-foreground);min-height:44px;padding:.5rem .75rem;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1e4d8c33;outline:none}.form-row{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters-bar{align-items:flex-end;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-4)}.filters-bar .filter-field{flex:1;min-width:140px}.filters-bar .filter-field label{color:var(--color-text-muted);display:block;font-size:.75rem;font-weight:600;margin-bottom:.25rem}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-4)}.pagination button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-weight:500;min-height:40px;padding:.4rem .85rem}.pagination button:hover:not(:disabled){background:var(--color-muted)}.pagination .page-info{color:var(--color-text-muted);font-size:.85rem}.modal-overlay{align-items:center;background:#134e4a73;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:1000}.modal{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:90vh;max-width:640px;overflow-y:auto;padding:var(--space-5);width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding-bottom:var(--space-3)}.alert,.modal-header{margin-bottom:var(--space-4)}.alert{border-radius:var(--radius-sm);font-size:.9rem;padding:.75rem 1rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.empty-state,.loading{align-items:center;color:var(--color-text-muted);display:flex;justify-content:center;padding:3rem;text-align:center}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:600;padding:.15rem .55rem}.badge-primary{background:#dbe6f5;color:var(--color-primary)}.badge-success{background:#dcfce7;color:#15803d}.badge-muted{background:var(--color-muted);color:var(--color-text-muted)}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5)}.page-header h2{color:var(--color-primary-dark);font-size:1.45rem}.page-header .subtitle{color:var(--color-text-muted);font-size:.9rem;margin-top:.2rem}.skip-link{background:var(--color-primary);border-radius:var(--radius-sm);color:#fff;padding:.5rem 1rem;position:absolute;right:var(--space-4);top:-100px;z-index:2000}.skip-link:focus{top:var(--space-4)}.bar-chart{display:flex;flex-direction:column;gap:.55rem}.bar-row{align-items:center;display:grid;font-size:.85rem;gap:var(--space-3);grid-template-columns:minmax(80px,140px) 1fr auto}.bar-label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{background:var(--color-muted);border-radius:999px;height:10px;overflow:hidden}.bar-fill{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:999px;height:100%;min-width:2px;transition:width .4s ease}.bar-value{color:var(--color-primary-dark);font-variant-numeric:tabular-nums;font-weight:600;min-width:3ch;text-align:left}.access-card{background:linear-gradient(160deg,var(--color-primary),var(--color-primary-dark));border:1px solid var(--color-primary-dark);border-radius:var(--radius);box-shadow:var(--shadow-md);color:#fff;padding:var(--space-4) var(--space-5)}.access-card .access-title{border-bottom:1px solid hsla(0,0%,100%,.25);color:#fff;font-size:1.05rem;font-weight:700;margin-bottom:var(--space-3);padding-bottom:var(--space-3);text-align:center}.access-grid{display:grid;gap:var(--space-3) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.access-field{align-items:baseline;display:flex;gap:var(--space-2);min-width:0}.access-field .lbl{color:var(--color-header-label);font-size:.85rem;font-weight:700;white-space:nowrap}.access-field .val{background:#ffffff1f;flex:1;font-size:.9rem;font-weight:500;min-width:0;overflow:hidden;padding:.15rem .55rem;text-overflow:ellipsis;white-space:nowrap}.access-bar,.access-field .val{border-radius:var(--radius-sm);color:#fff}.access-bar{align-items:center;background:var(--color-primary);display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-3);padding:.5rem .9rem}.access-bar h3{color:#fff;font-size:.98rem;margin:0}.access-bar+.filters-bar{border-top-left-radius:0;border-top-right-radius:0;margin-top:calc(var(--space-3)*-1)}.access-bar:has(+.filters-bar){border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:0}@media(max-width:900px){.filters-bar{gap:var(--space-2);padding:var(--space-3)}}@media(max-width:640px){body{font-size:14px}.page-header{align-items:stretch;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.page-header h2{font-size:1.25rem}.page-header .subtitle{font-size:.85rem}.page-header .btn,.page-header .header-actions{width:100%}.page-header .header-actions{display:flex}.page-header .header-actions .btn{flex:1}.filters-bar{align-items:stretch;flex-direction:column}.filters-bar .filter-field{min-width:0;width:100%}.filters-bar .btn,.filters-bar .reset-btn{width:100%}table.data-table{font-size:.8rem}table.data-table th{padding:.5rem .6rem}table.data-table td{padding:.45rem .6rem}.card{padding:var(--space-4)}.access-grid{gap:var(--space-2);grid-template-columns:1fr}.access-card{padding:var(--space-3) var(--space-4)}.form-row{gap:var(--space-3);grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.pagination{flex-wrap:wrap;gap:var(--space-2);justify-content:center}.summary-row{gap:.4rem 1rem}}@media(max-width:400px){.access-bar{flex-wrap:wrap}table.data-table{font-size:.75rem}}
