@font-face{font-family:Safaa;src:url('/assets/safaa.woff') format('woff');font-display:swap}
:root{color-scheme:only light;--paper:#f8f8f6;--ink:#151515;--muted:#595959;--line:#d6d6d1;--control-line:#85857e;--wash:#eeeee9;--dark:#101010;--radius:8px;font-family:Safaa,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:5px}button:disabled{opacity:.55;cursor:wait}::selection{background:#242424;color:white}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}button,input,select{min-height:48px;border:1px solid var(--control-line);border-radius:var(--radius);padding:8px 14px;background:white;color:var(--ink)}input{caret-color:var(--ink);min-width:0}button:hover:not(:disabled){background:#e8e8e3}input:focus,select:focus{border-color:#333}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:500;line-height:1.45}h2{font-size:20px;font-weight:500}h3{font-size:17px;font-weight:500}p{max-width:72ch}small,.muted{color:var(--muted);font-size:14px}.skip{position:fixed;top:-100px;right:16px;padding:12px;background:white;z-index:50}.skip:focus{top:16px}.sidebar{position:fixed;right:0;top:0;bottom:0;width:236px;background:var(--dark);color:white;padding:30px 22px;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:18px;padding-bottom:34px}.brand img{object-fit:contain}.brand span{font-size:17px}.nav-toggle{display:none}nav{display:flex;flex-direction:column;gap:4px}nav a{padding:10px 14px;min-height:48px;text-decoration:none;border-radius:var(--radius);color:#bfbfbf}nav a:hover{background:#222;color:white}nav a[aria-current=page]{background:#303030;color:white}.sidebar-bottom{margin-top:auto;padding-top:36px;display:grid;gap:12px;font-size:14px}.sidebar-bottom a{display:flex;justify-content:space-between;padding:10px 14px}.sidebar-bottom button{background:transparent;color:white;border-color:#4e4e4e;text-align:right}.sidebar-bottom button:hover{background:#252525}.sidebar-bottom p{color:#bfbfbf;font-size:12px;padding-inline:14px}main#main{margin-right:236px;padding:42px 40px 24px;max-width:1800px;min-height:100svh}.page-header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:32px}.page-header p{margin-top:8px;color:var(--muted)}.workspace-status{font-size:14px;border:1px solid var(--line);padding:4px 12px;border-radius:20px;white-space:nowrap}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-block:1px solid var(--line);padding:20px 0}.toolbar label{display:grid;gap:4px;font-size:14px}.toolbar input{direction:ltr;max-width:175px}.toolbar button{background:var(--ink);color:white;border-color:var(--ink)}.toolbar button:hover:not(:disabled){background:#3b3b3b}.toolbar p{font-size:14px;color:var(--muted);margin-right:auto;margin-bottom:13px}.feedback{min-height:24px;font-size:14px;margin:12px 0;color:var(--muted)}.report-section{margin:28px 0 40px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-heading p{font-size:14px;color:var(--muted);margin-top:4px}.columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(275px,1fr);gap:32px}.table-wrap{overflow:auto;border-block:1px solid var(--line);background:white}table{border-collapse:collapse;width:100%;font-size:15px;text-align:right}th,td{padding:14px 16px;border-bottom:1px solid #e9e9e5;vertical-align:top}th{font-size:13px;font-weight:500;color:var(--muted);background:#f4f4f0}tr:last-child td{border-bottom:0}td.number{font-family:Safaa,Arial,sans-serif;font-variant-numeric:tabular-nums;font-size:21px;white-space:nowrap}.metric-table td:first-child{width:42%}.metric-table td:last-child{font-size:14px;color:var(--muted);max-width:310px}.source-note{font-size:14px;color:var(--muted);margin-top:12px}.empty{padding:28px 24px;background:#efefeb;min-height:154px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:10px}.empty h3{font-size:18px}.empty p{font-size:14px;color:var(--muted)}.empty a{margin-top:4px}.connections{border-top:1px solid var(--line)}.connection{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 16px;padding:18px 0;border-bottom:1px solid var(--line)}.connection p{font-size:14px;color:var(--muted);grid-column:1/-1}.connection .detail{font-size:14px;direction:ltr;unicode-bidi:plaintext;text-align:right}.status{display:inline-flex;align-items:center;gap:7px;font-size:14px;white-space:nowrap;border:1px solid #c6c6c0;border-radius:20px;padding:3px 10px;background:white}.status:before{content:'';width:6px;height:6px;border-radius:50%;background:#9b9b95}.status.verified:before,.status.connected_read_only:before{background:#164832}.status.error:before{background:#8b3636}.status.stale:before{background:#7a6816}.connection-actions{display:flex;gap:16px;font-size:14px;grid-column:1/-1}.chart{background:white;border:1px solid var(--line);padding:20px 14px 12px}.chart svg{display:block;width:100%;height:180px;color:#1b1b1b}.chart-labels{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}details{margin-top:16px}summary{cursor:pointer;min-height:48px;display:list-item;padding:10px 0;font-size:14px}.notes{padding-inline-start:22px;font-size:14px;color:var(--muted);max-width:80ch}.notes li{margin-bottom:10px}.workspace-footer{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:20px;margin-top:48px;font-size:14px;color:var(--muted)}.evidence-row{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.evidence-row p{font-size:14px;color:var(--muted)}.loading{padding:20px 0}.loading span{display:block;background:#e3e3de;height:48px;margin:12px 0;max-width:85%}.loading span:nth-child(2){max-width:65%}.loading p{font-size:14px;color:var(--muted)}.login-layout{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--dark);color:white;display:flex;flex-direction:column;align-items:start;justify-content:center;padding:64px max(40px,10%);gap:32px}.login-brand h1{font-size:44px;line-height:1.5}.login-brand p{color:#c7c7c7;max-width:30ch}.login-brand a{font-size:14px;margin-top:24px}.login-section{align-self:center;width:min(430px,100%);padding:48px 32px;justify-self:center}.login-section h2{font-size:26px}.login-section>p{font-size:14px;color:var(--muted);margin:8px 0 30px}.login-section form{display:grid;gap:10px}.login-section form input{width:100%;margin-bottom:14px}.login-section button{background:var(--ink);color:white}.login-section button:hover:not(:disabled){background:#333}.login-section .login-note{font-size:14px;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.login-page input[autocomplete=username]{direction:ltr;text-align:right}
.sidebar :focus-visible,.login-brand :focus-visible{outline-color:white}
.nav-toggle:hover:not(:disabled){background:#252525}
@media(min-width:1600px){main#main{padding-inline:64px}.columns{gap:48px}}
@media(max-width:1080px){.columns{grid-template-columns:1fr}.sidebar{width:205px;padding-inline:16px}main#main{margin-right:205px;padding:32px 24px}.toolbar p{width:100%;margin:0}.brand{gap:12px}}
@media(max-width:800px){.sidebar{position:relative;width:auto;padding:14px 20px;overflow:visible}.brand{padding:0;gap:14px}.brand img{width:40px;height:46px}.brand span{font-size:16px}.nav-toggle{display:block;background:transparent;color:white;border-color:#626262;min-height:48px;margin-right:auto;padding:4px 12px}.sidebar nav{display:none;padding-top:18px}.sidebar nav.open{display:grid;grid-template-columns:1fr 1fr}.sidebar-bottom{display:none}.sidebar:has(nav.open) .sidebar-bottom{display:grid;padding-top:18px}main#main{margin:0;padding:26px 20px}.page-header{margin-bottom:22px}.workspace-status{display:none}.page-header h1{font-size:26px}.page-header p{font-size:14px}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toolbar label{min-width:0}.toolbar input,.toolbar select{width:100%;max-width:none}.toolbar p{grid-column:1/-1}.toolbar button{padding-inline:8px}.report-section{margin-bottom:32px}.section-heading{align-items:start}.section-heading p{font-size:13px}.metric-table td:last-child{min-width:145px}.metric-table td:first-child{min-width:125px}th,td{padding:12px}.workspace-footer{flex-direction:column;gap:6px}.evidence-row{grid-template-columns:1fr;gap:6px}.login-layout{grid-template-columns:1fr}.login-brand{padding:28px;gap:14px}.login-brand img{width:55px;height:64px}.login-brand h1{font-size:27px}.login-brand h1 br{display:none}.login-brand p{max-width:45ch;font-size:14px}.login-brand a{margin-top:4px}.login-section{padding:32px 24px}.login-section h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.heatmap-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:24px}.heatmap-filters label{display:grid;gap:6px;font-size:14px}.heatmap-filters button{background:var(--ink);color:white}.heatmap-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:32px;margin:24px 0}.heatmap-layout h3{margin-bottom:16px}.heatmap-map{text-align:center;direction:ltr}.heatmap-map svg{display:block;width:100%;max-width:260px;height:auto;border:1px solid var(--line);margin:10px auto}.heatmap-map p{font-size:14px;color:var(--muted);direction:rtl}.heatmap-notice{font-size:14px;border-inline-start:3px solid var(--ink);padding:12px 16px;margin-top:16px;background:#efefeb}
.heatmap-filters button:hover:not(:disabled){background:#3b3b3b}
@media(max-width:800px){.heatmap-layout{grid-template-columns:1fr;gap:24px}.heatmap-filters{display:grid;grid-template-columns:1fr;gap:12px}.heatmap-filters select{width:100%;min-width:0}.heatmap-map svg{max-width:230px}}

/* Local Impeccable refinement: report context and accessible reading. */
.nav-group{display:grid;gap:3px}.nav-group+.nav-group{margin-top:14px}.nav-label{font-size:14px;color:#bfbfbf;padding:0 14px 4px}
.range-summary{margin-top:18px;font-size:14px;color:var(--muted)}.range-summary:empty{display:none}.range-summary bdi{font-variant-numeric:tabular-nums;color:var(--ink)}
.range-pending{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px}.range-pending p{color:var(--ink)}.range-pending button{background:transparent;font-size:14px}
.toolbar input[aria-invalid=true]{border-color:var(--ink);border-width:2px}.toolbar input,.toolbar select{font-size:16px}
.columns>*,.heatmap-layout>*,.connection>*{min-width:0}.connection-actions{align-items:center;flex-wrap:wrap;gap:8px 20px}.connection-actions a{display:inline-flex;align-items:center;min-height:48px}.connection .detail{overflow-wrap:anywhere}.connection .status{white-space:normal}
.table-wrap{max-width:100%;overscroll-behavior-inline:contain;scrollbar-color:var(--control-line) var(--wash)}table{font-variant-numeric:tabular-nums}td{overflow-wrap:anywhere}td bdi{unicode-bidi:isolate}
.table-wrap[data-scrollable=true]::before{content:'يمكن تمرير الجدول أفقيًا لعرض بقية الأعمدة';display:block;font-size:14px;color:var(--muted);padding:10px 12px;background:var(--wash)}
.login-section .password-toggle{background:transparent;color:var(--ink);justify-self:start;font-size:14px;margin-top:-14px;margin-bottom:8px}.login-section .password-toggle:hover{background:var(--wash)}
.login-section input[aria-invalid=true]{border:2px solid var(--ink)}.login-section form[aria-busy=true]{cursor:wait}.login-section input:disabled{opacity:.75}
@media(max-width:800px){.sidebar nav.open{gap:20px 12px}.nav-group+.nav-group{margin:0}.nav-label{padding-inline:10px}nav a{padding-inline:10px}.range-pending{gap:8px}.range-pending button{width:100%}.toolbar button{font-size:16px}.section-heading p{font-size:14px}}
@media(max-width:440px){.connection{grid-template-columns:1fr}.connection .status{justify-self:start}.heatmap-filters button{width:100%}.sidebar nav.open{grid-template-columns:1fr}}
@media(forced-colors:active){.status:before{background:CanvasText}.table-wrap,.empty,.range-pending{border:1px solid CanvasText}}
