:root{--color-primary: #6256d9;--color-primary-hover: #5147c7;--color-primary-light: #eeecff;--color-primary-border: #cdc7f3;--brand-ink: #4941c7;--color-sidebar: #0d172a;--color-sidebar-secondary: #16233a;--shell-ink: #aab5cb;--shell-ink-strong: #f4f6fa;--sidebar-w: 17.5rem;--color-background: #f6f7f9;--color-surface: #ffffff;--color-text: #111827;--color-text-secondary: #667085;--color-text-faint: #98a2b3;--color-border: #e4e7ec;--color-border-strong: #d0d5dd;--color-success: #12b76a;--color-success-bg: #ecfdf3;--color-success-border: #abefc6;--color-warning: #f79009;--color-warning-bg: #fffaeb;--color-warning-border: #fedf89;--color-danger: #f04438;--color-danger-hover: #d92d20;--color-danger-bg: #fef3f2;--color-danger-border: #fecdca;--color-info: #2e90fa;--color-info-bg: #eff8ff;--color-info-border: #b2ddff;--radius-sm: .5rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-full: 999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0 2px 8px rgba(16, 24, 40, .04);--shadow-md: 0 2px 10px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 32px -12px rgba(16, 24, 40, .18);--ring: rgba(98, 86, 217, .16);--font: "Inter", "Noto Sans Arabic", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--accent: var(--color-primary);--accent-strong: var(--color-primary-hover);--accent-soft: var(--color-primary-light);--accent-border: var(--color-primary-border);--ink: var(--color-text);--ink-soft: var(--color-text-secondary);--ink-faint: var(--color-text-faint);--surface: var(--color-surface);--surface-muted: var(--color-background);--surface-tinted: #fbfbfe;--border: var(--color-border);--border-strong: var(--color-border-strong);--shell-bg: var(--color-sidebar);--shell-bg-soft: var(--color-sidebar-secondary);--ok: var(--color-success);--ok-soft: var(--color-success-bg);--ok-border: var(--color-success-border);--warn: var(--color-warning);--warn-soft: var(--color-warning-bg);--warn-border: var(--color-warning-border);--danger: var(--color-danger);--danger-strong: var(--color-danger-hover);--danger-soft: var(--color-danger-bg);--danger-border: var(--color-danger-border);--info: var(--color-info)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font);font-size:.875rem;line-height:1.43;color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1{font-size:clamp(1.5rem,1.25rem + .9vw,1.75rem);font-weight:700}h2{font-size:1.125rem;font-weight:600}h3{font-size:.95rem;font-weight:600}h1,h2,h3{margin:0;letter-spacing:-.01em;color:var(--color-text)}p{margin:0}a{color:var(--color-primary)}code{padding:.1em .45em;border-radius:.35em;font-size:.82em;background:var(--color-primary-light);color:var(--brand-ink)}::selection{background:var(--color-primary-light)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}.muted{color:var(--color-text-secondary)}.center{text-align:center}.right{text-align:end}.hint{margin:.15rem 0 0;font-size:.815rem;line-height:1.4;color:var(--color-text-faint)}.hint.error{color:var(--color-danger);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.5rem;padding:.4rem 1rem;font:inherit;font-size:.875rem;font-weight:600;line-height:1.2;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-hover);box-shadow:var(--shadow-xs)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.btn.primary:hover:not(:disabled){color:#fff;background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn.danger{color:#fff;background:var(--color-danger);border-color:var(--color-danger)}.btn.danger:hover:not(:disabled){color:#fff;background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn.ghost{background:transparent;border-color:transparent;color:var(--color-primary)}.btn.ghost:hover:not(:disabled){background:var(--color-primary-light);border-color:transparent}.btn.tiny{min-height:1.9rem;padding:.18rem .7rem;font-size:.78rem;border-radius:var(--radius-sm)}.btn:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--ring)}.card{padding:var(--spacing-xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.page{display:grid;gap:var(--spacing-xl);animation:rise .22s ease both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.page-head h1 small{margin-inline-start:.6rem;font-size:.72em;font-weight:500;color:var(--color-text-secondary)}.page.narrow{max-width:38rem}.filters,.search{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.search input,.filters input[name=search]{flex:1 1 13rem}.search input,.filters input[name=search]{padding-inline-start:2.3rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left .7rem center;background-size:1rem}[dir=rtl] .search input,[dir=rtl] .filters input[name=search]{background-position:right .7rem center}.summary-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;font-size:.815rem;color:var(--color-text-secondary)}.summary-bar strong{color:var(--color-text);font-weight:600}input,select,textarea{font:inherit;font-size:.875rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-height:2.625rem;padding:.4rem .7rem;transition:border-color .16s ease,box-shadow .16s ease;max-width:100%}textarea{resize:vertical;min-height:auto;padding-block:.5rem}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--ring)}input.invalid{border-color:var(--color-danger)}input[type=checkbox]{accent-color:var(--color-primary);width:1rem;height:1rem;min-height:auto}label{font-weight:600;font-size:.84rem;color:var(--color-text)}label>input,label>select,label>textarea{width:100%;font-weight:400}.form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form label{display:flex;flex-direction:column;gap:.25rem;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md) var(--spacing-lg)}@media(max-width:47.99rem){.form-grid{grid-template-columns:1fr}}.alert{display:flex;align-items:center;gap:.5rem;margin:0;padding:.6rem .9rem;font-size:.86rem;font-weight:600;border-radius:var(--radius-md);border:1px solid transparent}.alert.error{color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.alert.ok{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success-border)}.alert.info{color:var(--color-info);background:var(--color-info-bg);border-color:var(--color-info-border)}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.table{width:100%;min-width:44rem;border-collapse:collapse;background:transparent;font-size:.845rem}.table thead th{position:sticky;top:0;z-index:1;padding:.65rem .85rem;text-align:start;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--color-text-secondary);background:var(--color-surface);border-bottom:1px solid var(--color-border);white-space:nowrap}.table tbody td{padding:.62rem .85rem;border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.row,.table tbody tr[data-link]{cursor:pointer;transition:background .15s ease}.table tbody tr.row:hover td,.table tbody tr[data-link]:hover td{background:#f8f8fe}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.table th.sortable:hover{color:var(--color-primary-hover)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .6rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.badge:before{content:"";width:.36em;height:.36em;border-radius:50%;background:currentColor;opacity:.85}.badge.ok{color:var(--color-success);background:var(--color-success-bg)}.badge.warn{color:var(--color-warning);background:var(--color-warning-bg)}.badge.danger{color:var(--color-danger);background:var(--color-danger-bg)}.badge.info{color:var(--color-info);background:var(--color-info-bg)}.badge.off{color:var(--color-text-secondary);background:var(--color-background)}.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{display:inline-block;padding:.22rem .68rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:var(--brand-ink);background:var(--color-primary-light)}.chip-role{color:var(--color-warning);background:var(--color-warning-bg)}.chip-link{color:var(--color-primary);text-decoration:none;font-weight:600;padding:.42rem .9rem;border-radius:var(--radius-full);background:var(--color-primary-light);transition:box-shadow .16s ease}.chip-link:hover{box-shadow:var(--shadow-sm)}.pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.83rem;color:var(--color-text-secondary)}.pager-summary{min-width:0}.pager-pages{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}.page-btn{min-width:2rem;height:2rem;padding:0 .5rem;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:.82rem;font-weight:600;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.page-btn:hover:not(:disabled):not(.active){border-color:var(--color-primary);color:var(--color-primary-hover)}.page-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;cursor:default}.page-btn:disabled{opacity:.5;cursor:not-allowed}.pager-ellipsis{padding:0 .25rem;color:var(--color-text-faint)}nav.pager:not(:has(.pager-pages)){justify-content:center}.tabs{display:flex;flex-wrap:wrap;gap:.3rem;padding:.28rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow-x:auto}.tab{border:none;background:transparent;padding:.45rem .95rem;border-radius:calc(var(--radius-lg) - .3rem);font:inherit;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:background .2s ease,color .2s ease}.tab:hover{color:var(--color-primary-hover);background:var(--color-primary-light)}.tab.selected,.tab.active{background:var(--color-primary);color:#fff}.overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:var(--spacing-lg);background:#10182880;animation:fade .18s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.dialog{width:min(34rem,100%);max-height:min(92vh,46rem);overflow-y:auto;display:flex;flex-direction:column;gap:.9rem;padding:clamp(1.1rem,3vw,1.5rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop .22s cubic-bezier(.2,.8,.2,1) both}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.dialog-close{font-size:.95rem;line-height:1;padding:.32rem .6rem}.actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-top:.25rem}.actions.end{justify-content:flex-end}.spinner{width:1rem;height:1rem;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-viewport{position:fixed;z-index:90;inset-block-end:1.25rem;inset-inline-end:1.25rem;display:flex;flex-direction:column;gap:.5rem;max-width:min(22rem,calc(100vw - 2.5rem))}.toast{display:flex;align-items:center;gap:.55rem;padding:.65rem .85rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);animation:toast-in .2s cubic-bezier(.2,.8,.2,1) both}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.toast-dot{flex-shrink:0;width:.55rem;height:.55rem;border-radius:50%;background:var(--color-text-faint)}.toast.success{border-color:var(--color-success-border)}.toast.success .toast-dot{background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-bg)}.toast.error{border-color:var(--color-danger-border)}.toast.error .toast-dot{background:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-bg)}.toast-message{flex:1;min-width:0}.toast-close{flex-shrink:0;border:none;background:none;cursor:pointer;padding:.1rem .3rem;font-size:.95rem;line-height:1;color:var(--color-text-faint);border-radius:.4rem}.toast-close:hover{color:var(--color-text);background:var(--color-background)}.table tbody td.muted.center:before{content:"";display:block;margin:.5rem auto .55rem;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--color-primary-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236256d9' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3M8.5 11h5'/%3E%3C/svg%3E") center / 1.3rem no-repeat}@media(max-width:47.99rem){.filters{flex-direction:column;align-items:stretch}.filters .btn{width:100%}.overlay{padding:.6rem;align-items:end}.dialog{width:100%;max-height:88vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.toast-viewport{inset-inline:.75rem;inset-block-end:.75rem;max-width:none}.page-head{flex-direction:column;align-items:stretch;gap:.6rem}.page-head .btn,.page-head a.btn{width:100%}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.kpi{padding:.85rem .9rem}.kpi-value{font-size:1.45rem}}@media(max-width:30rem){.page{gap:.9rem}.card{padding:var(--spacing-lg)}.table{min-width:34rem}.kpis,.grid-2{grid-template-columns:1fr}.pager{justify-content:center}.pager span{order:3;width:100%;text-align:center}}@media(max-height:32rem){.dialog{max-height:92vh}}
