:root{--forest:#183c36;--sage:#e8f1ec;--ivory:#f7f5f0;--amber:#ddaa68;--ink:#28323b;--muted:#5d6873;--border:#e3e0d8;--error:#b4413c;--success:#2f7d5b;--warning:#b7791f;--ad:#f3ece1;--radius:12px;color:var(--ink);background:var(--ivory);font-family:Inter,system-ui,-apple-system,Segoe UI,Noto Sans Arabic,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--forest)}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--forest);color:#fff;flex-direction:column;gap:4px;padding:20px 14px;display:flex}.brand{align-items:center;gap:8px;margin:4px 10px 18px;font-size:18px;font-weight:700;display:flex}.brand small{opacity:.7;font-size:12px;font-weight:500}.nav a{color:#e8f1ec;border-radius:10px;padding:9px 12px;font-size:14px;text-decoration:none;display:block}.nav a.active,.nav a:hover{color:#fff;background:#ffffff1f}.sidebar .footer{opacity:.8;margin-top:auto;padding:10px;font-size:12px}main{max-width:1180px;padding:28px 36px}h1{margin:0 0 4px;font-size:24px}h2{margin:24px 0 10px;font-size:17px}.sub{color:var(--muted);margin:0 0 18px;font-size:14px}.card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:12px;padding:16px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grow{flex:1}.grid3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}input,select,textarea{font:inherit;color:var(--ink);border:1px solid var(--border);background:#fff;border-radius:10px;padding:8px 10px;font-size:14px}textarea{resize:vertical;min-height:70px}textarea[dir=rtl],input[dir=rtl]{text-align:right}button{font:inherit;border:1px solid var(--forest);background:var(--forest);color:#fff;cursor:pointer;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600}button.secondary{color:var(--forest);border-color:var(--border);background:#fff}button.danger{color:var(--error);background:#fff;border-color:#f0d2cf}button:disabled{opacity:.5;cursor:not-allowed}table{border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%;font-size:14px;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}th{background:var(--sage);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px}tr:last-child td{border-bottom:none}.badge{background:var(--sage);color:var(--forest);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.warn{color:var(--warning);background:#fbf0df}.badge.ok{color:var(--success);background:#e3f1ea}.badge.err{color:var(--error);background:#f8e5e3}.badge.ad{background:var(--ad);color:#7a5a2e}.notice{color:#1d4566;background:#e4eef6;border-radius:10px;margin-bottom:12px;padding:12px 14px;font-size:14px}.notice.warn{color:#6b4a14;background:#fbf0df}.notice.err{color:#6d221f;background:#f8e5e3}.center{place-items:center;min-height:100vh;display:grid}.login{width:380px}pre{white-space:pre-wrap;background:var(--ivory);border-radius:8px;max-height:240px;padding:8px;font-size:12px;overflow:auto}.muted{color:var(--muted);font-size:13px}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.bar{vertical-align:middle;background:#183c36;border-radius:4px;height:8px;margin-right:6px;display:inline-block}.journey{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.journey .step{background:#e6efeb;border-radius:4px;padding:2px 6px;font:12px/1.4 ui-monospace,monospace}.journey .step.event{background:#f6ead8}.journey .step+.step:before{content:none}
