:root{--bg:#f4f6f8;--panel:#fff;--text:#17202a;--muted:#667085;--line:#dfe4ea;--accent:#132f4c;--accent2:#0f766e}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.layout{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:#0d1f33;color:#fff;padding:24px 18px}.brand{font-size:24px;font-weight:800;letter-spacing:3px;margin-bottom:30px}.nav a{display:block;padding:11px 12px;border-radius:8px;margin:5px 0;color:#dbe7f3}.nav a:hover{background:#173654}.main{padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px}.metric{font-size:30px;font-weight:750;margin-top:8px}.muted{color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line);font-size:14px}th{color:var(--muted);font-weight:600}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cfd6de;border-radius:8px;background:#fff}label{display:block;font-size:13px;font-weight:650;margin:10px 0 5px}.btn{display:inline-block;background:var(--accent);color:white;border:0;border-radius:8px;padding:10px 15px;cursor:pointer}.btn.secondary{background:var(--accent2)}.filters,.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e8eef5;font-size:12px}.login-wrap{max-width:420px;margin:10vh auto}.rtl{direction:rtl}.rtl th,.rtl td{text-align:right}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{display:none}.cards{grid-template-columns:1fr 1fr}.grid2,.filters,.form-grid{grid-template-columns:1fr}}@media(max-width:520px){.cards{grid-template-columns:1fr}.main{padding:16px}}

/* v1.1 data-ops helpers */
.stack label{display:block;margin-top:8px;font-size:13px;color:#555}
.stack input{width:100%;box-sizing:border-box}
pre{margin:0}
