:root{--color-cream:#f6f0e3;--color-card:#fffaf0;--color-line:#e4d8c0;--color-sand:#eadfc9;--color-ink:#0e3a52;--color-muted:#3e5f73;--color-blue:#0b5f8a;--color-blue-dark:#0b4f73;--color-blue-tint:#d6eaf4;--color-yellow:#ffd500;--color-yellow-tint:#fff0a6;--color-gold:#8a6700;--color-ok:#2e7d4f;--font-display:"Bricolage Grotesque", "Cairo", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", "IBM Plex Sans Arabic", system-ui, sans-serif;--font-display-ar:"Cairo", "Bricolage Grotesque", system-ui, sans-serif;--font-display-ur:"Noto Nastaliq Urdu", "Cairo", serif;--touch-target-min:44px}*,:before,:after{box-sizing:border-box}body{background:var(--color-cream);color:var(--color-ink);font-family:var(--font-body);margin:0;line-height:1.6}:lang(ar){font-family:var(--font-display-ar)}:lang(ur){font-family:var(--font-display-ur);line-height:2}h1,h2{font-family:var(--font-display);margin:0;line-height:1.25}:lang(ar) h1,:lang(ar) h2{font-family:var(--font-display-ar)}:lang(ur) h1,:lang(ur) h2{font-family:var(--font-display-ur)}.bar{background:var(--color-card);border-block-end:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.bar h1{color:var(--color-blue-dark);font-size:1.25rem}main{max-inline-size:960px;margin-inline:auto;padding:1.5rem 1.25rem}.card{background:var(--color-card);border:1px solid var(--color-line);border-radius:12px;padding:1.25rem}.card h2{margin-block-end:.5rem;font-size:1.1rem}button{min-block-size:var(--touch-target-min);min-inline-size:var(--touch-target-min);cursor:pointer;border:1px solid var(--color-line);background:var(--color-card);color:var(--color-ink);font:inherit;border-radius:10px;padding-inline:1rem;font-weight:600}button:hover{background:var(--color-sand)}button:focus-visible{outline:3px solid var(--color-blue);outline-offset:2px}button[aria-pressed=true]{background:var(--color-yellow);border-color:var(--color-gold)}.langs{flex-wrap:wrap;gap:.5rem;display:flex}[data-state=ok]{color:var(--color-ok);font-weight:700}[data-state=down]{color:var(--color-gold);font-weight:700}.shell{grid-template-columns:220px 1fr;min-block-size:calc(100vh - 64px);display:grid}.side{background:var(--color-card);border-inline-end:1px solid var(--color-line);flex-direction:column;gap:.25rem;padding:1rem;display:flex}.side a{min-block-size:var(--touch-target-min);color:var(--color-ink);border-radius:10px;align-items:center;padding-inline:.75rem;font-weight:600;text-decoration:none;display:flex}.side a:hover{background:var(--color-sand)}.side a.active{background:var(--color-yellow)}.side a:focus-visible{outline:3px solid var(--color-blue);outline-offset:2px}.shell main{align-content:start;gap:1rem;max-inline-size:none;margin:0;padding:1.5rem;display:grid}.bar-tools{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.who{color:var(--color-blue-dark);font-weight:600}.loading{text-align:center;padding:2rem}@media (width<=800px){.shell{grid-template-columns:1fr}.side{border-inline-end:0;border-block-end:1px solid var(--color-line);flex-flow:wrap}}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-block-end:.75rem;display:flex}.card-head h2,.card-head h1{margin:0}.field{gap:.25rem;margin-block-end:.75rem;display:grid}.field label{font-weight:600}input,select,textarea{min-block-size:var(--touch-target-min);border:1px solid var(--color-line);color:var(--color-ink);font:inherit;background:#fff;border-radius:10px;max-inline-size:100%;padding-block:.25rem;padding-inline:.75rem}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-blue);outline-offset:1px}input[aria-invalid=true]{border-color:var(--color-gold)}button.primary{background:var(--color-yellow);border-color:var(--color-gold);color:var(--color-ink)}button.primary:hover{background:var(--color-yellow-tint)}button:disabled{opacity:.55;cursor:not-allowed}.problems{border-inline-start:4px solid var(--color-gold);background:var(--color-yellow-tint);border-radius:6px;margin-block:.5rem;padding:.5rem .75rem}.problems p,.problems ul{margin:0}.problems ul{padding-inline-start:1.25rem}.hint{color:var(--color-muted);margin-block:.25rem .75rem}.dialog{border-color:var(--color-gold);margin-block:1rem}.row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.inline-form{flex-wrap:wrap;align-items:end;gap:.75rem;margin-block-end:1rem;display:flex}.inline-form .field{margin:0}.check{min-block-size:var(--touch-target-min);align-items:center;gap:.5rem;display:flex}.check input{block-size:1.25rem;min-block-size:auto;inline-size:1.25rem}fieldset{border:1px solid var(--color-line);border-radius:10px;margin-block:.75rem;padding:.5rem .75rem}legend{color:var(--color-blue-dark);padding-inline:.25rem;font-weight:700}ul.plain{margin:0;padding:0;list-style:none}ul.perms{columns:2 260px;padding-inline-start:1.25rem}ul.modules li{border-block-end:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-block:.25rem;display:flex}li.muted{color:var(--color-muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;inline-size:100%}th,td{text-align:start;border-block-end:1px solid var(--color-line);vertical-align:top;padding:.5rem .75rem}th{color:var(--color-blue-dark)}pre{background:var(--color-sand);border-radius:6px;max-inline-size:60ch;padding:.5rem;font-size:.85rem;overflow:auto}code.uri{overflow-wrap:anywhere;margin-block:.5rem;display:block}.pager{justify-content:center;align-items:center;gap:1rem;margin-block-start:1rem;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.login{place-items:center;min-block-size:100vh;padding:1rem;display:grid}.login .card{inline-size:min(420px,100%)}.ok-note{border-inline-start:4px solid var(--color-ok);background:var(--color-card);border-radius:6px;margin-block:.5rem;padding:.5rem .75rem}.ok-note p{margin:0}.muted{color:var(--color-muted)}h3,h4{margin-block:.75rem .25rem}.chat{min-block-size:8rem;padding:.5rem 0}.bubble{background:var(--color-sand);border-radius:10px;margin:.5rem 0;padding:.5rem .75rem}.bubble.user{background:var(--color-yellow-tint)}textarea{min-block-size:5rem;font:inherit;padding:.5rem .75rem}
