.access-disabled{min-height:100vh;display:grid;place-items:center;background:#f4f6f8;padding:24px}.access-disabled>div{max-width:520px;background:white;border:1px solid #dfe4ea;border-radius:24px;padding:34px;text-align:center;box-shadow:0 12px 40px rgba(24,39,56,.12)}
.user-create-top{display:inline-flex;align-items:center;gap:8px}.access-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.access-stat{background:#fff;border:1px solid #dfe4ea;border-radius:20px;padding:20px;display:grid;gap:5px;box-shadow:0 2px 7px rgba(16,47,77,.04)}.access-stat>span{width:42px;height:42px;border-radius:12px;background:#edf4ff;color:#2f72e8;display:grid;place-items:center;font-size:21px;margin-bottom:5px}.access-stat b{font-size:30px}.access-stat small{color:#657183;font-weight:750}
.user-access-list{display:grid;gap:12px}.user-access-card{background:#fff;border:1px solid #dfe4ea;border-radius:20px;padding:18px 20px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;box-shadow:0 2px 7px rgba(16,47,77,.04)}.user-access-card.inactive{opacity:.62}.user-access-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2f72e8,#174e9e);color:#fff;font-size:19px;font-weight:900}.user-access-main{min-width:0}.user-access-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-access-name>b{font-size:17px}.user-access-main>small{display:block;color:#6f7986;margin-top:3px}.user-access-actions{display:flex;gap:7px}.assigned-jobs{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.assigned-jobs span{background:#f2f5f8;border:1px solid #e1e6ec;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;color:#526070}.assigned-jobs em{font-style:normal;color:#9a6262;font-size:12px}
.role-pill,.inactive-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850}.role-admin{background:#e9efff;color:#1b5fd1}.role-project_manager{background:#e7f7f1;color:#14845d}.role-superintendent{background:#fff2e1;color:#a96112}.role-employee{background:#f2ecff;color:#7148c8}.role-viewer{background:#eef1f4;color:#5c6876}.inactive-pill{background:#fff0ed;color:#d14b3b}.role-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-permission-card{background:#fff;border:1px solid #dfe4ea;border-radius:18px;padding:17px}.role-permission-card p{margin:10px 0 0;color:#697382;line-height:1.45}
.rbac-modal{width:min(620px,94vw);max-height:88vh;overflow:auto}.role-explainer{background:#f6f8fb;border:1px solid #e0e6ed;border-radius:14px;padding:13px 14px;display:grid;gap:3px;margin:10px 0 16px}.role-explainer span{color:#677382;font-size:13px}.job-access-panel{border:1px solid #dfe4ea;border-radius:16px;padding:14px;margin:14px 0;background:#fbfcfd}.job-access-title{display:grid;gap:2px;margin-bottom:10px}.job-access-title span{font-size:12px;color:#75808e}.job-access-check{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:12px;cursor:pointer}.job-access-check:hover{background:#f2f6fb}.job-access-check input{margin-top:4px;width:18px;height:18px}.job-access-check span{display:grid;gap:2px}.job-access-check small{color:#788391}.active-toggle{display:flex;align-items:flex-start;gap:11px;background:#f6f8fb;border-radius:14px;padding:13px 14px;margin:14px 0}.active-toggle input{width:19px;height:19px;margin-top:3px}.active-toggle span{display:grid;gap:2px}.active-toggle small{color:#75808e}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:19px}.field small{font-weight:500;color:#778290}
body[data-access-role="viewer"] .task-card,body[data-access-role="employee"][data-access-page="schedule"] .task-card{cursor:default}body[data-access-role="viewer"] .task-card:hover,body[data-access-role="employee"][data-access-page="schedule"] .task-card:hover{transform:none;box-shadow:0 3px 10px rgba(19,38,58,.05)}.agreement-card.read-only{cursor:default}
@media(max-width:900px){.access-summary-grid{grid-template-columns:1fr 1fr}.role-permission-grid{grid-template-columns:1fr}.user-access-card{grid-template-columns:42px minmax(0,1fr)}.user-access-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:650px){.access-summary-grid{grid-template-columns:1fr 1fr}.user-create-top{display:none}.user-access-card{padding:15px}.rbac-modal{width:96vw}.assigned-jobs{max-height:84px;overflow:auto}}
