:root { --fg:#1b1b1b; --bg:#fff; --muted:#4a4a4a; --accent:#0b5d3b; --accent-fg:#fff; --line:#c9c9c9;
        --notice:#fff4d6; --err:#9b1c1c; --soft:#f3f6f4; }
* { box-sizing: border-box; }
body { margin:0; font-family: "Segoe UI", Tahoma, "Noto Naskh Arabic", sans-serif; font-size:1.1rem;
       line-height:1.8; color:var(--fg); background:var(--bg); }
.skip { position:absolute; inset-inline-start:-9999px; }
.skip:focus { inset-inline-start:1rem; top:1rem; background:var(--accent); color:var(--accent-fg); padding:.5rem 1rem; z-index:10; }
header.site, footer.site { background:var(--soft); padding:.75rem 1rem; border-bottom:1px solid var(--line); }
footer.site { border-top:1px solid var(--line); border-bottom:0; font-size:.95rem; color:var(--muted); margin-top:2rem; }
.brand { margin:0; font-weight:700; }
nav ul { list-style:none; display:flex; flex-wrap:wrap; gap:1rem; padding:0; margin:.5rem 0 0; }
nav a { color:var(--accent); font-weight:600; }
nav a[aria-current="page"] { color:var(--fg); text-decoration:underline 3px; }
main { max-width:52rem; margin:0 auto; padding:1rem; }
main:focus, article:focus, section:focus { outline:none; }
a { color:var(--accent); }
:focus-visible { outline:3px solid #1a4fd6; outline-offset:2px; }
label { display:block; font-weight:600; margin-top:1rem; }
label.inline { display:inline-block; font-weight:400; margin-inline-end:1rem; }
input, textarea, select { width:100%; font:inherit; padding:.5rem; border:2px solid var(--muted); border-radius:6px; }
input[type=radio], input[type=checkbox] { width:auto; }
button { font:inherit; margin:.5rem 0 .25rem .5rem; padding:.55rem 1.1rem; min-height:44px; border-radius:6px;
         border:2px solid var(--accent); background:var(--accent); color:var(--accent-fg); cursor:pointer; }
button.secondary { background:var(--bg); color:var(--accent); }
fieldset { border:1px solid var(--line); border-radius:6px; margin-top:1rem; }
.msg { border:1px solid var(--line); border-radius:8px; padding:.5rem 1rem; margin:1rem 0; }
.msg.user { background:var(--soft); }
.msg h2 { font-size:1.05rem; margin:.25rem 0; }
.msg h3 { font-size:1rem; margin:.75rem 0 .25rem; }
.evidence li { margin-bottom:.5rem; }
.src, .help { color:var(--muted); font-size:.95rem; margin:0; }
.notice { background:var(--notice); padding:.5rem .75rem; border-radius:6px; }
.error, .flash .error { color:var(--err); font-weight:600; }
.flash .ok { color:var(--accent); font-weight:600; }
.status { color:var(--muted); }
.services { list-style:none; padding:0; }
.services li { border-bottom:1px solid var(--line); padding:.5rem 0; }
.services h3 { margin:0; font-size:1.05rem; }
table { border-collapse:collapse; width:100%; }
th, td { border:1px solid var(--line); padding:.4rem; text-align:start; vertical-align:top; }
pre.chunk { white-space:pre-wrap; background:var(--soft); padding:.5rem; border-radius:6px; }
@media (max-width: 600px) { body { font-size:1rem; } button { width:100%; margin-inline:0; } }
