:root{--purple:#391e6d;--purple-700:#2a1550;--green:#3fc441;--green-700:#2f9c33;--green-ink:#123a0f;--ink:#2d2d44;--mute:#6c6b82;--line:#e5e3ef;--page:#f6f5fb;--surface:#fff;--panel:#faf9fe;--link-ink:#391e6d;--danger-ink:#b23c3a;--danger-line:#f0d3d3;--danger-wash:#fbe6e6;--ok-ink:#2a7020;--ok-wash:#e6f7e2;--warn-ink:#6b4400;--warn-wash:#fff6e5;--warn-line:#f0c27a;--pending-ink:#735a08;--pending-wash:#fbf3d6;--badge-ink:#391e6d;--badge-wash:#ece9f6;--green-hover:#36b038;--disabled-ink:#5f5e74;--disabled-bg:#ebe9f2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--purple:#4a2a85;--purple-700:#9b7fe6;--green:#4fd152;--green-700:#2f9c33;--green-ink:#123a0f;--ink:#ece8f7;--mute:#a79fc0;--line:#2c2440;--page:#0f0c18;--surface:#191426;--panel:#191426;--link-ink:#9b7fe6;--danger-ink:#f08a85;--danger-line:#4a2b2b;--danger-wash:#2a1618;--ok-ink:#6fd86b;--ok-wash:#16301a;--warn-ink:#f2c572;--warn-wash:#2b2213;--warn-line:#6b5320;--pending-ink:#f2c572;--pending-wash:#2b2213;--badge-ink:#c4b2f5;--badge-wash:#2a2140;--green-hover:#45ba47;--disabled-ink:#a79fc0;--disabled-bg:#2c2440;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--purple:#4a2a85;--purple-700:#9b7fe6;--green:#4fd152;--green-700:#2f9c33;--green-ink:#123a0f;--ink:#ece8f7;--mute:#a79fc0;--line:#2c2440;--page:#0f0c18;--surface:#191426;--panel:#191426;--link-ink:#9b7fe6;--danger-ink:#f08a85;--danger-line:#4a2b2b;--danger-wash:#2a1618;--ok-ink:#6fd86b;--ok-wash:#16301a;--warn-ink:#f2c572;--warn-wash:#2b2213;--warn-line:#6b5320;--pending-ink:#f2c572;--pending-wash:#2b2213;--badge-ink:#c4b2f5;--badge-wash:#2a2140;--green-hover:#45ba47;--disabled-ink:#a79fc0;--disabled-bg:#2c2440;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0;font:15px/1.5 Helvetica Neue,Helvetica,Arial,sans-serif}.wrap{max-width:960px;margin:0 auto;padding:28px 20px}h2{letter-spacing:-.01em;color:var(--link-ink);margin:0 0 6px;font-family:Michroma,Helvetica Neue,Arial,sans-serif;font-size:16px;font-weight:400}.muted{color:var(--mute)}.err{color:var(--danger-ink)}.ok{color:var(--ok-ink)}pre.codeblock{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px}.note-warn{border:1px solid var(--warn-line);border-radius:6px;padding:8px 10px}::placeholder{color:var(--mute);opacity:1}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pp-logo{color:var(--purple);letter-spacing:.01em;white-space:nowrap;align-items:center;font-family:Michroma,Helvetica Neue,Arial,sans-serif;line-height:1;display:inline-flex}.pp-logo .pp-beat{flex:none;margin:0 -.05em;display:block}.pp-logo .pp-admin{color:var(--green)}.pp-logo.on-dark{color:#fff}.topbar{background:var(--purple)}.topbar .bar-inner{justify-content:space-between;align-items:center;gap:12px;max-width:960px;margin:0 auto;padding:15px 20px;display:flex}.btn-onpurple{color:#fff;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:8px;padding:8px 13px;font-size:14px;font-weight:600}.btn-onpurple:hover{background:#ffffff1f;border-color:#fff}.pa-lang{--pulse-lang-fg:#fff;--pulse-lang-border:#ffffff73;--pulse-lang-trigger-bg:transparent}.appswitch{position:relative}.appswitch-btn{cursor:pointer;text-align:start;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:inline-flex}.appswitch-chev{color:#ffffffa6;font-size:12px}.appswitch-btn:hover .appswitch-chev{color:#fff}.appswitch-scrim{z-index:40;position:fixed;inset:0}.appswitch-menu{top:calc(100% + 6px);z-index:41;background:#2c1656;border:1px solid #ffffff24;border-radius:10px;min-width:212px;padding:6px;position:absolute;inset-inline-start:0;box-shadow:0 10px 28px #0006}.appswitch-head{letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;padding:5px 10px 7px;font-size:11px;font-weight:700}.appswitch-item{color:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:13px;text-decoration:none;display:flex}a.appswitch-item:hover{background:#ffffff1a}.appswitch-item.on{color:var(--green);cursor:default}.appswitch-here{letter-spacing:.06em;text-transform:uppercase;color:#ffffffa6;font-size:10px;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:16px}.grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid .wide,.grid button{grid-column:1/-1}label{color:var(--mute);margin-bottom:4px;font-size:12px;display:block}input,select{background:var(--panel);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:8px;padding:9px 11px}input:focus,select:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #391e6d1f}select{width:auto}button{background:var(--green);color:var(--green-ink);cursor:pointer;border:0;border-radius:8px;padding:9px 14px;font-weight:700}button:hover{background:var(--green-hover)}button.ghost{color:var(--link-ink);border:1px solid var(--line);background:0 0;font-weight:600}button.ghost:hover{background:var(--panel);border-color:var(--link-ink)}button.danger{color:var(--danger-ink);border:1px solid var(--danger-line);background:0 0;font-weight:600}button.danger:hover{background:var(--danger-wash)}button.linkish{color:var(--link-ink);text-align:start;background:0 0;border:0;padding:0;font-weight:600}button.linkish:hover{text-decoration:underline}button.linkish.danger-ink{color:var(--danger-ink)}button:disabled,button:disabled:hover{background:var(--disabled-bg);color:var(--disabled-ink);cursor:default;text-decoration:none}button.ghost:disabled,button.danger:disabled,button.linkish:disabled,button.ghost:disabled:hover,button.danger:disabled:hover,button.linkish:disabled:hover{color:var(--disabled-ink);background:0 0}.tabs{flex-wrap:wrap;gap:8px;margin:10px 0 4px;display:flex}.tabsbar{flex-wrap:nowrap;align-items:flex-start;gap:12px;display:flex}.tabsbar>.tabs{flex:1;min-width:0}@media (width<=640px){.tabsbar{flex-wrap:wrap}.tabsbar>.tabs{flex:100%}.topbar .bar-inner{flex-wrap:wrap}.bar-actions,.bar-actions>span{flex-wrap:wrap;justify-content:flex-end}}.scopepick{flex:none;align-items:center;gap:8px;margin:10px 0 4px;display:flex}.scopepick .scopelbl{color:var(--mute);font-size:12px}.scopesel{padding:7px 10px;font-size:13px}.tab{color:var(--mute);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:8px 13px;font-weight:600}.tab:hover{color:var(--link-ink)}.tab.on{background:var(--surface);color:var(--link-ink);border-color:var(--green)}table.tbl{border-collapse:collapse;width:100%;margin-top:12px}.tbl th,.tbl td{text-align:start;border-bottom:1px solid var(--line);padding:10px 8px;font-size:14px}.tbl th{color:var(--mute);font-weight:600}.confirm-inline{background:var(--warn-wash);color:var(--warn-ink);border:1px solid var(--warn-line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px;font-size:12px;line-height:1.4;display:inline-flex}.confirm-inline b{font-weight:700}.confirm-inline button{padding:2px 10px;font-size:12px}.badge{background:var(--badge-wash);color:var(--badge-ink);border-radius:999px;margin-inline-end:6px;padding:2px 8px;font-size:11px;font-weight:600}.badge.active{background:var(--ok-wash);color:var(--ok-ink)}.badge.demo{background:var(--warn-wash,#fff4d6);color:var(--warn-ink,#7a4b00);letter-spacing:.04em}.badge.revoked,.badge.suspended{background:var(--danger-wash);color:var(--danger-ink)}.badge.pending{background:var(--pending-wash);color:var(--pending-ink)}.access-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.access-row:first-child{border-top:0}.access-name{align-items:center;gap:8px;font-weight:600;display:flex}.access-name .k{color:var(--mute);font-size:12px;font-weight:400}.pill{background:var(--panel);border:1px solid var(--line);color:var(--mute);border-radius:999px;padding:2px 8px;font-size:11px}.statcards{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.statcard{color:#fff;border-radius:12px;padding:20px 22px}.statcard .statnum{font-size:34px;font-weight:800;line-height:1}.statcard .statlbl{opacity:.92;margin-top:8px;font-size:13px}.statcard.c1{background:var(--purple)}.statcard.c2{background:#5a3aa6}.statcard.c3{background:var(--green);color:var(--green-ink)}.cardh{color:var(--link-ink);margin:0 0 10px;font-size:14px}@media (width<=720px){.statcards{grid-template-columns:1fr}}:root[dir=rtl] body,:root:lang(ar) body,:root:lang(ur) body{font-family:Noto Sans Arabic,Segoe UI,Tahoma,system-ui,sans-serif;line-height:1.6}[dir=rtl] .rtl-flip{display:inline-block;transform:scaleX(-1)}[dir=rtl] input:not([type]),[dir=rtl] input[type=text],[dir=rtl] input[type=search],[dir=rtl] textarea{unicode-bidi:plaintext}[dir=rtl] input[type=email],[dir=rtl] input[type=url],[dir=rtl] input[type=tel],[dir=rtl] input[type=password]{text-align:right;direction:ltr}.pp-logo,[dir=rtl] code,[dir=rtl] kbd,[dir=rtl] .mono{direction:ltr;unicode-bidi:isolate}.wrap.wide{max-width:1800px}.small{font-size:12px}.seg{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:4px;margin:12px 0 4px;padding:4px;display:inline-flex}.seg-btn{color:var(--mute);background:0 0;border:0;border-radius:7px;padding:6px 14px;font-weight:600}.seg-btn:hover{color:var(--link-ink);background:0 0}.seg-btn.on{background:var(--surface);color:var(--link-ink);box-shadow:0 0 0 1px var(--green)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.toolbar .grow{flex:260px;min-width:200px}label.inline{align-items:center;gap:6px;display:inline-flex}label.inline input{width:auto}.split{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.split.open{grid-template-columns:minmax(0,1fr) minmax(380px,520px)}@media (width<=1100px){.split.open{grid-template-columns:minmax(0,1fr)}}.tbl.rows tr.pick{cursor:pointer}.tbl.rows tr.pick:hover{background:var(--panel)}.tbl.rows tr.pick.on{background:var(--panel);box-shadow:inset 3px 0 0 var(--green)}.rowname{font-size:14px}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--line);color:var(--mute);background:0 0;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.chip.on{background:var(--ok-wash);color:var(--ok-ink);border-color:#0000}.chip.blocked{background:var(--danger-wash);color:var(--danger-ink);border-color:#0000}.chip.off{opacity:.55}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:calc(100vh - 24px);margin-top:12px;padding:16px;position:sticky;top:12px;overflow-y:auto}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.panel-sec{border-top:1px solid var(--line);padding:12px 0}.panel-sec h4{color:var(--mute);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:13px}.panel .row{flex-wrap:wrap;justify-content:flex-start}.tbl.compact th,.tbl.compact td{padding:6px;font-size:13px}.state.on{color:var(--ok-ink);font-weight:600}.state.blocked{color:var(--danger-ink);font-weight:600}.state.off{color:var(--mute)}.person{padding:6px 0}.person+.person{border-top:1px dashed var(--line)}.tbl.rows tr.grp td{background:var(--panel);border-bottom:1px solid var(--line);cursor:pointer;padding-block:6px}.tbl.rows tr.grp:hover td{background:var(--badge-wash)}.grantbox{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;margin-top:10px;padding:10px;display:flex}.grantbox select,.grantbox input{width:100%}.drawer-right{z-index:60;border-start-start-radius:12px;border-end-start-radius:12px;width:min(520px,100vw);margin:0;position:fixed;inset-block:0;inset-inline-end:0;overflow-y:auto;box-shadow:0 0 32px #00000038}
