/* ============================================================================
   access-control.css — styles for the shared access gate (access-control.js).
   Kept in a real stylesheet (not JS-injected) so it works under a strict
   Content-Security-Policy (style-src 'self'), which WD Logistics enforces via
   a meta tag. Inline style="" attributes and injected <style> blocks would be
   refused under that CSP; a same-origin .css file is allowed.
   Uses the host app's Design System v2 CSS variables with safe fallbacks.
   ============================================================================ */
.ac-overlay{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px;
  background:var(--ink,#0f1720);overflow:auto;
  font-family:"IBM Plex Sans Arabic","Segoe UI","Noto Sans Arabic",Tahoma,system-ui,sans-serif}
.ac-card{background:var(--panel,#fff);color:var(--text,#1a2432);border:1px solid var(--line,#dde4ec);
  border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.25);width:100%;max-width:400px;padding:26px 24px}
.ac-card-wide{max-width:none;margin-top:14px}
.ac-logo{display:inline-block;background:linear-gradient(135deg,var(--teal,#1a8079),var(--teal-2,#146069));
  color:#fff;font-weight:700;font-size:12px;letter-spacing:.06em;padding:6px 11px;border-radius:8px}
.ac-h{font-size:19px;font-weight:700;margin:16px 0 4px}
.ac-sub{font-size:12.5px;color:var(--muted,#4a5a70);margin-bottom:18px;line-height:1.5}
.ac-field{margin-bottom:13px}
.ac-field label{display:block;font-size:12px;color:var(--muted,#4a5a70);margin-bottom:5px}
.ac-field input{width:100%;background:var(--ink,#f4f6f9);border:1px solid var(--line,#dde4ec);
  color:var(--text,#1a2432);font:inherit;font-size:14px;padding:9px 11px;border-radius:8px}
.ac-field input:focus{outline:2px solid var(--teal,#1a8079);outline-offset:2px}
.ac-pw{position:relative}
.ac-pw button{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:var(--muted,#4a5a70);font-size:11px;cursor:pointer}
.ac-btn{width:100%;background:var(--teal,#1a8079);color:#fff;border:none;font:inherit;font-weight:600;
  font-size:14px;padding:11px;border-radius:9px;cursor:pointer;margin-top:6px}
.ac-btn:hover{filter:brightness(1.08)}
.ac-btn:focus-visible{outline:2px solid var(--teal,#1a8079);outline-offset:2px}
.ac-err{color:var(--bad,#c02a37);font-size:12.5px;margin-top:10px;min-height:16px}
.ac-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--line,#dde4ec);
  font-size:10.5px;color:var(--muted,#7a8ba0);line-height:1.55}
.ac-foot-plain{margin-top:16px;font-size:10.5px;color:var(--muted,#7a8ba0);line-height:1.55}
.ac-copyright{margin-top:10px;text-align:center;font-size:11px;font-weight:600;letter-spacing:.02em;
  color:var(--teal,#1a8079);opacity:.9}
/* discreet in-app copyright, bottom corner, never blocks clicks */
.ac-site-credit{position:fixed;bottom:6px;left:10px;z-index:5;font-size:10px;font-weight:600;
  letter-spacing:.02em;color:var(--muted,#7a8ba0);opacity:.55;pointer-events:none;
  background:rgba(127,139,160,.08);padding:2px 8px;border-radius:10px}
.ac-langtoggle{background:none;border:1px solid var(--line,#dde4ec);color:var(--muted,#4a5a70);
  font:inherit;font-size:11px;padding:4px 10px;border-radius:7px;cursor:pointer;float:inline-end}

/* admin page */
.ac-admin table{width:100%;border-collapse:collapse;font-size:13px}
.ac-admin th,.ac-admin td{padding:9px 10px;border-bottom:1px solid var(--line,#dde4ec);text-align:start}
.ac-admin th{color:var(--muted,#4a5a70);font-size:11.5px;text-transform:uppercase}
.ac-chip{display:inline-block;font-size:10.5px;padding:2px 8px;border-radius:20px;
  background:var(--teal-tint,#e6f2f0);color:var(--teal,#1a8079);font-weight:600}
.ac-pagegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:8px 0}
.ac-pagegrid label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text,#1a2432)}
.ac-mini{padding:5px 11px;font-size:12px;border-radius:7px;border:1px solid var(--line,#dde4ec);
  background:var(--ink,#f4f6f9);color:var(--text,#1a2432);cursor:pointer;font:inherit}
.ac-mini.primary{background:var(--teal,#1a8079);color:#fff;border-color:var(--teal,#1a8079)}
.ac-mini.danger{color:var(--bad,#c02a37);border-color:var(--bad,#c02a37)}

/* small layout helpers (replace former inline styles for CSP compliance) */
.ac-row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.ac-h0{margin:0}
.ac-subname{font-size:11px;color:var(--muted,#7a8ba0)}
.ac-end{text-align:end;white-space:nowrap}
.ac-lastlogin{font-size:11.5px;color:var(--muted,#7a8ba0)}
.ac-check-row{display:flex;align-items:center;gap:8px;font-size:13px;margin:8px 0}
.ac-pages-lbl{font-size:12px;color:var(--muted,#4a5a70);margin:6px 0}
.ac-actions{display:flex;gap:8px;margin-top:8px}

/* module -> screens permission accordion (admin editor) */
.ac-mod{border:1px solid var(--line,#dde4ec);border-radius:9px;margin:8px 0;overflow:hidden}
.ac-mod-head{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 10px;background:var(--ink,#f4f6f9)}
.ac-mod-toggle{flex:1;display:flex;align-items:center;gap:8px;background:none;border:0;
  cursor:pointer;font:inherit;font-size:13.5px;font-weight:600;color:var(--text,#1a2432);text-align:start;padding:0}
.ac-mod-caret{font-size:11px;color:var(--muted,#4a5a70);width:12px;display:inline-block}
.ac-mod-count{font-size:10.5px;padding:2px 8px;border-radius:20px;font-weight:600;
  background:var(--teal-tint,#e6f2f0);color:var(--teal,#1a8079)}
.ac-mod-all{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted,#4a5a70);white-space:nowrap;cursor:pointer}
.ac-mod-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;padding:10px}
.ac-mod-body.ac-collapsed{display:none}
.ac-screen{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text,#1a2432)}
.ac-disabled{opacity:.4;pointer-events:none}
.ac-admin-hint{display:none;font-size:12px;color:var(--muted,#4a5a70);
  background:var(--teal-tint,#e6f2f0);border-radius:7px;padding:8px 10px;margin:6px 0}
.ac-admin-hint.ac-show{display:block}

/* shared upload-activity log (admin) */
.ac-activity{margin-top:22px;padding-top:16px;border-top:1px solid var(--line,#dde4ec)}
.ac-activity table{width:100%;border-collapse:collapse;margin-top:8px}
.ac-activity th,.ac-activity td{padding:8px 10px;border-bottom:1px solid var(--line,#dde4ec);text-align:start;font-size:12.5px}
.ac-activity th{color:var(--muted,#4a5a70);font-size:11px;text-transform:uppercase;letter-spacing:.02em}

/* danger zone: reset all data (admin) */
.ac-danger{margin-top:22px;padding:14px;border:1px solid var(--bad,#c02a37);border-radius:9px;
  background:rgba(192,42,55,.05)}
.ac-danger .ac-h0{color:var(--bad,#c02a37)}
.ac-mini.danger.armed{background:var(--bad,#c02a37);color:#fff;font-weight:700}

@media (prefers-reduced-motion:reduce){.ac-btn{transition:none}}
