body { background: radial-gradient(circle at 5% 0, rgba(229,37,33,.09), transparent 22rem), var(--dinsides-bg); }
.access-shell { width: min(1460px, calc(100% - 24px)); margin: 14px auto 40px; }
.access-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 26px; border-radius: 22px; color: #fff; background: linear-gradient(115deg, #111214 0%, #1b1c20 62%, #531210 100%); box-shadow: 0 16px 34px rgba(17,18,20,.12); }
.access-header h1 { margin: 6px 0 0; font-size: clamp(27px,3vw,42px); letter-spacing: -.04em; }
.access-header p { max-width: 760px; margin: 8px 0 0; color: #d5d7dc; font-size: 13px; line-height: 1.55; }
.access-header .button { min-width: 150px; min-height: 44px; font-size: 13px; }
.role-guide { margin-top: 14px; padding: 20px; border: 1px solid rgba(17,18,20,.08); border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(17,18,20,.04); }
.role-guide header h2 { margin: 5px 0 0; font-size: 21px; }
.role-guide header p { margin: 7px 0 0; color: #66707c; font-size: 13px; line-height: 1.5; }
.role-guide__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 15px; }
.role-guide__grid article { position: relative; min-height: 128px; padding: 17px; overflow: hidden; border: 1px solid #e1e5e9; border-radius: 14px; background: #fafbfc; }
.role-guide__grid article::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: #9aa3ad; }
.role-guide__grid article[data-role="admin"]::before { background: var(--dinsides-red); }
.role-guide__grid article[data-role="leader"]::before { background: #2c6fbd; }
.role-guide__grid article[data-role="coordinator"]::before { background: #7b51b0; }
.role-guide__grid article[data-role="trainer"]::before { background: #19845a; }
.role-guide__grid strong { font-size: 14px; }
.role-guide__grid p { margin: 8px 0 0; color: #67717d; font-size: 12px; line-height: 1.5; }
.access-admin { margin-top: 14px; }
.module-permission-picker { margin: 4px 0 0; padding: 15px; border: 1px solid #dfe3e8; border-radius: 13px; }
.module-permission-picker legend { padding: 0 7px; font-size: 11px; font-weight: 900; }
.module-permission-picker p { margin: 0 0 11px; color: #69727e; font-size: 10px; line-height: 1.45; }
.module-permission-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.module-permission-item { display: flex; align-items: flex-start; gap: 8px; min-height: 62px; padding: 10px; border: 1px solid #e2e6ea; border-radius: 10px; background: #fafbfc; cursor: pointer; }
.module-permission-item input { margin-top: 2px; accent-color: var(--dinsides-red); }
.module-permission-item strong,.module-permission-item small { display: block; }
.module-permission-item strong { font-size: 10px; }.module-permission-item small { margin-top: 3px; color: #737c88; font-size: 8px; line-height: 1.4; }
.module-permission-item.is-required { background: #fff5f4; border-color: #efc7c5; }
.module-chips { display: flex; flex-wrap: wrap; gap: 4px; min-width: 180px; }.module-chip { padding: 4px 6px; border-radius: 7px; color: #4e5865; background: #eef1f5; font-size: 8px; font-weight: 850; }
@media (max-width: 980px) { .role-guide__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.module-permission-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .access-header { align-items: stretch; flex-direction: column; }.access-header .button { width: 100%; }.role-guide__grid { grid-template-columns: 1fr; }.user-form-grid, .assignment-people-list, .module-permission-list { grid-template-columns: 1fr; } }
