/* People & roles, Invitations and related forms. Page-scoped (pp-*) on top of the dc-* card/table styles. */
.pp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pp-back{margin:0 0 4px}.pp-back a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}.pp-back a::before{content:"\2190";margin-right:6px}
.pp-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}.pp-filters input,.pp-filters select{margin-bottom:0}
.pp-skeleton{display:grid;gap:8px;margin:12px 0}.pp-skeleton span{display:block;height:40px;border-radius:10px;background:#eef1f5}
.pp-icon{display:inline-block;width:56px;height:56px;border-radius:28px;background:#eef1f5;position:relative}.pp-icon-search::before{content:"";position:absolute;left:17px;top:15px;width:16px;height:16px;border:3px solid #4a5568;border-radius:50%}.pp-icon-search::after{content:"";position:absolute;left:34px;top:34px;width:9px;height:3px;background:#4a5568;transform:rotate(45deg)}.pp-icon-mail::before{content:"";position:absolute;left:15px;top:18px;width:26px;height:20px;border:3px solid #4a5568;border-radius:4px;box-sizing:border-box}.pp-icon-mail::after{content:"";position:absolute;left:21px;top:16px;width:14px;height:14px;border-right:3px solid #4a5568;border-bottom:3px solid #4a5568;transform:rotate(45deg)}
.pp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;align-items:start}.pp-grid .dc-card{margin:0}.pp-side{display:grid;gap:20px}
.pp-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:12px 0 16px}.pp-kv dt{font-weight:700;color:var(--muted)}.pp-kv dd{margin:0;overflow-wrap:anywhere}
.pp-radios{display:flex;flex-wrap:wrap;gap:8px}.pp-radio{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-weight:600;cursor:pointer}.pp-radio:has(input:checked){border-color:#0e1a2b;font-weight:800}.pp-radio:has(input:disabled){opacity:.55;cursor:not-allowed}.pp-radio input{width:18px;height:18px;min-height:0;margin:0}
.pp-bundles{border:none;padding:0;margin:0}.pp-bundles legend{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:10px}
.pp-perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}.pp-perm-grid fieldset{margin:0;padding:12px 16px}
.pp-check{display:flex;gap:12px;align-items:flex-start;padding:8px 0}.pp-check input{width:22px;height:22px;min-height:0;margin:2px 0 0;flex:none}.pp-check label{font-weight:600}.pp-check .dc-sub{font-weight:400}.pp-check input:disabled+span{opacity:.6}.pp-check input[aria-invalid=true]{outline:3px solid #b91c1c;outline-offset:2px}
.pp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.pp-tabs button[aria-pressed=true]{background:#0e1a2b;color:#fff;border-color:#0e1a2b}
.pp-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0 16px}.pp-error{color:#b91c1c;font-weight:600;margin:-8px 0 14px}[aria-invalid=true]{border-color:#b91c1c}
.pp-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}.pp-layout .dc-card{margin:0}
.dc-pill.red{background:#ffe7e7;color:#b91c1c}.dc-pill.blue{background:#e5efff;color:#1e3a8a}.dc-pill.ink{background:#0e1a2b;color:#fff}.dc-pill.orange{background:#fff1e8;color:#9a3412}
.pp-support{display:inline-block;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:900px){.pp-grid,.pp-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.pp-filters{grid-template-columns:minmax(0,1fr)}.pp-kv{grid-template-columns:minmax(0,1fr)}.pp-kv dd{margin-bottom:6px}}
body[data-school-page] #message:empty{display:none}
.dc-table td,.dc-table th{overflow-wrap:normal}.dc-table td .dc-sub{overflow-wrap:anywhere}.dc-table td .button,.dc-table td button{white-space:nowrap}
@media(min-width:641px){#list-view .dc-table,#list-view .dc-table{min-width:760px}}
