.access-hero{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    padding:24px 26px;
    margin-bottom:18px;
    border:1px solid #dce4ef;
    border-radius:20px;
    background:linear-gradient(135deg,#fff,#f4f7fd)
}
.access-hero h2{
    margin:10px 0 6px;
    font-size:30px
}
.access-scope-card{
    min-width:320px;
    padding:16px;
    border:1px solid #e0e6ef;
    border-radius:14px;
    background:#fff
}
.access-scope-card form{
    display:grid;
    gap:10px
}
.access-scope-card label{
    font-weight:700
}
.access-scope-card select{
    width:100%;
    min-height:44px;
    padding:8px 10px;
    border:1px solid #dce4ef;
    border-radius:10px;
    background:#fff
}
.role-assignment-form{
    display:grid;
    gap:8px
}
.role-check-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px
}
.role-check-list label{
    display:flex;
    align-items:center;
    gap:6px;
    padding:6px 9px;
    border:1px solid #dfe6ef;
    border-radius:9px;
    background:#fff
}
.button-small{
    padding:8px 11px!important;
    min-height:auto!important
}
.table-link-button{
    border:0;
    background:none;
    color:#2559d8;
    cursor:pointer;
    font-weight:700
}
.access-create-panel{
    margin-top:22px;
    padding-top:20px;
    border-top:1px solid #e4e9f0
}
.access-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    align-items:end
}
.access-form-grid label{
    display:grid;
    gap:7px;
    font-weight:700
}
.access-form-grid input,
.access-role-name input{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid #dce4ef;
    border-radius:10px;
    background:#fff
}
.access-role-picker{
    grid-column:1/-1;
    display:grid;
    gap:8px
}
.access-role-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
}
.access-role-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:16px;
    border:1px solid #dfe6ef;
    border-radius:14px;
    background:#fbfcff
}
.access-role-card h4{
    margin:0
}
.role-title-row{
    display:flex;
    align-items:center;
    gap:8px
}
.access-role-name{
    display:grid;
    gap:7px;
    max-width:520px;
    margin-bottom:18px;
    font-weight:700
}
.permission-groups{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px
}
.permission-group{
    min-width:0;
    padding:14px;
    border:1px solid #dfe6ef;
    border-radius:14px
}
.permission-group legend{
    padding:0 7px;
    font-weight:800
}
.permission-row{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:10px;
    align-items:flex-start;
    padding:9px 4px;
    border-bottom:1px solid #eef1f5
}
.permission-row:last-child{
    border-bottom:0
}
.permission-row span{
    display:grid;
    gap:3px
}
.permission-row small{
    color:#7d8999
}
.permission-row em{
    font-size:11px;
    padding:4px 6px;
    border-radius:7px;
    background:#fff4dc;
    color:#9b6200;
    font-style:normal;
    font-weight:700
}
@media(max-width:1050px){
    .access-role-grid{
        grid-template-columns:1fr 1fr
    }
    .permission-groups{
        grid-template-columns:1fr
    }
}
@media(max-width:760px){
    .access-hero{
        flex-direction:column
    }
    .access-scope-card{
        min-width:0;
        width:100%
    }
    .access-form-grid{
        grid-template-columns:1fr
    }
    .access-role-grid{
        grid-template-columns:1fr
    }
}
