.access-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;margin-bottom:18px;border:1px solid #cfe0ee;border-radius:16px;background:linear-gradient(135deg,#f3f8fc,#fff)}
.access-intro h3{margin:0 0 6px;font:800 18px/1.2 Montserrat,sans-serif;color:var(--ink)}
.access-intro p{max-width:720px;margin:0;color:var(--ink3);font-size:13px;line-height:1.55}
.access-summary{display:flex;gap:8px;flex-wrap:wrap}
.access-summary span{padding:7px 10px;border:1px solid #d5e3ee;border-radius:9px;background:#fff;color:var(--ink2);font-size:12px;font-weight:700;white-space:nowrap}
.access-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}
.access-panel{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:0 2px 12px rgba(28,28,30,.04)}
.access-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border)}
.access-panel-head h3{margin:0;font-size:15px}
.access-profile-list{display:grid;gap:7px;padding:12px;max-height:690px;overflow:auto}
.access-profile-card{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;cursor:pointer}
.access-profile-card:hover{background:var(--surface)}
.access-profile-card.active{border-color:#b9d1e4;background:#eef6fc}
.access-profile-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff;font-size:16px}
.access-profile-card strong,.access-profile-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.access-profile-card strong{font-size:13px;color:var(--ink)}
.access-profile-card small{margin-top:2px;color:var(--ink3);font-size:11px}
.access-profile-card b{padding:2px 7px;border-radius:99px;background:#edf2f6;color:var(--ink3);font-size:10px}
.access-editor{padding:18px}
.access-editor-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) 90px;gap:12px;margin-bottom:16px}
.access-editor-grid .fg{margin:0}
.access-editor-grid input,.access-editor-grid textarea,.access-editor-grid select{width:100%}
.access-editor-grid textarea{min-height:42px;resize:vertical}
.access-matrix{overflow:auto;border:1px solid var(--border);border-radius:12px}
.access-matrix table{width:100%;min-width:760px;border-collapse:collapse;font-size:12px}
.access-matrix th{padding:10px 9px;background:var(--surface);color:var(--ink2);font-weight:700;text-align:center;border-bottom:1px solid var(--border)}
.access-matrix th:first-child{text-align:left;position:sticky;left:0;z-index:2}
.access-matrix td{padding:9px;border-bottom:1px solid #edf0f3;text-align:center}
.access-matrix td:first-child{position:sticky;left:0;background:#fff;text-align:left;font-weight:700;color:var(--ink);z-index:1}
.access-matrix input{width:17px;height:17px;accent-color:#0f4c81;cursor:pointer}
.access-scope{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.access-scope label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;color:var(--ink2);font-size:12px}
.access-scope select{margin-left:auto;max-width:150px}
.access-editor-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.access-editor-actions>div{display:flex;gap:8px}
.access-assignments{margin-top:18px}
.access-assignment-list{display:grid;gap:10px;padding:14px}
.access-person-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:11px}
.access-person-row strong,.access-person-row small{display:block}
.access-person-row small{margin-top:3px;color:var(--ink3);font-size:11px}
.access-profile-checks{display:flex;gap:6px;flex-wrap:wrap}
.access-profile-checks label{display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink2);font-size:11px;cursor:pointer}
.access-profile-checks label:has(input:checked){border-color:#8fb5d3;background:#eef6fc;color:#0f4c81;font-weight:700}
.access-empty{padding:28px;text-align:center;color:var(--ink3);font-size:13px}
.access-error{padding:16px;border:1px solid #f1caca;border-radius:11px;background:#fff7f7;color:#8f2f2f;font-size:13px;line-height:1.5}
@media(max-width:1000px){.access-layout{grid-template-columns:1fr}.access-profile-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.access-scope{grid-template-columns:1fr}.access-person-row{grid-template-columns:1fr}.access-person-row .btn{justify-self:start}}
@media(max-width:640px){.access-intro{display:block;padding:16px}.access-summary{margin-top:12px}.access-profile-list{grid-template-columns:1fr}.access-editor{padding:14px}.access-editor-grid{grid-template-columns:1fr}.access-editor-actions{align-items:stretch;flex-direction:column-reverse}.access-editor-actions>div{display:grid;grid-template-columns:1fr 1fr}.access-editor-actions>.btn{width:100%}}
