/* الأدوار والصلاحيات — roles.js */
.rl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.rl-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;display:flex;flex-direction:column;gap:9px;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-width:0}
.rl-card:hover{border-color:var(--teal);box-shadow:0 2px 10px rgba(16,42,63,.07)}
.rl-card:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.rl-card.off{opacity:.7}
.rl-card-h{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rl-card-h b{font-size:14px;color:var(--ink)}
.rl-card-d{font-size:11.5px;color:var(--muted);line-height:1.6}
.rl-card-sc{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--ink-soft)}
.rl-card-sc b{color:var(--ink)}
.rl-card-n{display:flex;flex-wrap:wrap;gap:6px}
.rl-card-n span{font-size:10.5px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.rl-card-n b{color:var(--ink);font-size:11.5px}
.rl-card-f{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}
.rl-card-btns{display:flex;align-items:center;gap:5px}
.rl-card-go{color:var(--teal);font-weight:700}
.rl-tag{font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--pill);color:var(--ink-2);vertical-align:middle}
.rl-tag.sys{background:color-mix(in srgb,var(--teal) 12%,transparent);color:var(--teal)}
.rl-tag.own{background:color-mix(in srgb,var(--violet,#6B4FD8) 12%,transparent);color:var(--violet,#6B4FD8)}
.rl-tag.off{background:color-mix(in srgb,var(--high) 12%,transparent);color:var(--high)}
.rl-mine{font-size:11.5px;color:var(--muted)}
.rl-lock{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12px;margin-bottom:10px}

.rl-tabs{margin-bottom:12px}
.rl-tb{font-size:10px;font-weight:700;color:var(--muted);background:var(--pill);border-radius:999px;padding:1px 6px}
.pf-tabs button.on .rl-tb{color:var(--teal)}
.rl-body{padding-bottom:70px}
.rl-body.ro input{cursor:not-allowed}
.rl-note{font-size:11.5px;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:12px;line-height:1.7}
.rl-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.rl-q{flex:1 1 220px;min-width:180px;max-width:340px;padding:7px 11px;border:1px solid var(--line-2);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:12.5px}
.rl-chips{display:flex;flex-wrap:wrap;gap:4px}
.rl-chips button{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:4px 10px;font:inherit;font-size:11.5px;cursor:pointer}
.rl-chips button.on{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:700}

/* ① نطاق البيانات */
.rl-doms{display:flex;flex-direction:column;gap:10px}
.rl-dom{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;border-inline-start:4px solid var(--line-2)}
.rl-dom.lv-own{border-inline-start-color:var(--viz-3,#C77B1E)}
.rl-dom.lv-team{border-inline-start-color:var(--viz-2,#2E7D8F)}
.rl-dom.lv-all{border-inline-start-color:var(--viz-1,#1B6EA8)}
.rl-dom.lv-mixed{border-inline-start-color:var(--violet,#6B4FD8)}
.rl-dom-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rl-dom-h b,.rl-dm b{font-size:13px;color:var(--ink)}
.rl-dom-h .m,.rl-dm .m{font-size:11px;color:var(--muted);margin-top:2px}
.rl-dom-d{font-size:12px;color:var(--ink-soft);margin-top:8px;padding:7px 10px;background:var(--surface-2);border-radius:8px}
.rl-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--hover)}
.rl-seg button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:11.5px;padding:5px 10px;border-radius:8px;cursor:pointer}
.rl-seg button:hover:not(:disabled){color:var(--ink)}
.rl-seg button.on{background:var(--surface);color:var(--ink);font-weight:800;box-shadow:var(--sh)}
.rl-seg button.on.lv-none{color:var(--high)}
.rl-seg button:disabled{cursor:not-allowed}
.rl-dd{margin-top:8px}
.rl-dd summary{font-size:11.5px;color:var(--teal);cursor:pointer;font-weight:700}
.rl-dm{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px dashed var(--line)}
.rl-dm:last-child{border-bottom:0}

/* ② ③ النوافذ والأقسام */
.rl-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;align-items:start}
.rl-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin-bottom:12px}
.rl-cols .rl-box{margin-bottom:0}
.rl-box.dim{opacity:.62}
.rl-box-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.rl-box-h b{font-size:13px;color:var(--ink)}
.rl-box-h .num{font-size:11px;color:var(--muted);background:var(--pill);border-radius:999px;padding:1px 7px}
.rl-box-btns{margin-inline-start:auto;display:flex;gap:4px}
.rl-warn{font-size:10.5px;font-weight:700;color:var(--med);background:color-mix(in srgb,var(--med) 13%,transparent);border-radius:999px;padding:1px 8px}
.rl-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}
.rl-tile,.rl-act2{position:relative;display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);cursor:pointer;font-size:12px;color:var(--ink-soft);min-width:0}
.rl-tile.on,.rl-act2.on{border-color:color-mix(in srgb,var(--teal) 45%,var(--line));background:color-mix(in srgb,var(--teal) 7%,var(--surface));color:var(--ink)}
.rl-tile input,.rl-act2 input{position:absolute;opacity:0;width:0;height:0}
.rl-tk{flex:none;width:28px;height:16px;border-radius:99px;background:var(--line-2);position:relative;margin-top:1px;transition:background .15s}
.rl-tk:after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:inset-inline-start .15s}
.rl-tile input:checked+.rl-tk,.rl-act2 input:checked+.rl-tk{background:var(--teal)}
.rl-tile input:checked+.rl-tk:after,.rl-act2 input:checked+.rl-tk:after{inset-inline-start:14px}
.rl-tile input:focus-visible+.rl-tk,.rl-act2 input:focus-visible+.rl-tk{box-shadow:0 0 0 3px var(--teal-soft)}
.rl-tile input:disabled+.rl-tk,.rl-act2 input:disabled+.rl-tk{opacity:.5}
.rl-tn{display:flex;flex-direction:column;gap:2px;min-width:0}
.rl-tn small{font-size:10px;color:var(--med)}

/* ④ الإجراءات */
.rl-am{padding:9px 0;border-top:1px dashed var(--line)}
.rl-am:first-of-type{border-top:0}
.rl-am.dim{opacity:.55}
.rl-am-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.rl-am-h b{font-size:12.5px;color:var(--ink)}
.rl-acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px}

/* ⑤ الإضافة والتعديل والحذف */
.rl-crud table{width:100%}
.rl-crud th,.rl-crud td{padding:8px 12px}
.rl-crud .rl-cc{text-align:center;width:120px}
.rl-crud .na{color:var(--muted)}
.rl-crud .rl-gr td{background:var(--surface-2);font-size:11px;font-weight:800;color:var(--teal)}
.rl-crud tr.dim td{opacity:.55}
.rl-crud .m{font-size:10.5px;color:var(--muted)}
.rl-colbtn{display:flex;justify-content:center;gap:3px;margin-top:4px}
.rl-cb{display:inline-flex;cursor:pointer}
.rl-cb input{position:absolute;opacity:0;width:0;height:0}
.rl-cb span{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line-2);background:var(--surface);display:grid;place-items:center}
.rl-cb input:checked+span{background:var(--teal);border-color:var(--teal)}
.rl-cb input:checked+span:after{content:"✓";color:#fff;font-size:12px;font-weight:800}
.rl-cb input:disabled+span{opacity:.45;cursor:not-allowed}
.rl-cb input:focus-visible+span{box-shadow:0 0 0 3px var(--teal-soft)}

/* شريط الحفظ الثابت أسفل المحرّر */
.rl-save{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-top:12px;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px;box-shadow:0 6px 20px rgba(16,42,63,.12);font-size:12px;color:var(--muted)}
/* الأزرار في بداية الشريط — بعيداً عن الأزرار العائمة أسفل الشاشة */
.rl-save span{order:3;margin-inline-start:auto}
.rl-save.dirty{border-color:var(--med)}
.rl-save.dirty span{color:var(--med);font-weight:700}
@media (max-width:640px){.rl-cols{grid-template-columns:1fr}.rl-dom-h{flex-direction:column;align-items:flex-start}.rl-crud .rl-cc{width:auto}}
