.access-ui{max-width:1100px;margin:auto;padding:1rem;color:#253d30;font:inherit;overflow-wrap:anywhere}
.access-ui *{box-sizing:border-box}
.access-ui h1{margin:0;font-size:1.7rem}
.access-ui h2{font-size:1.35rem;margin:.4rem 0}
.access-ui h3{font-size:1.1rem;margin:.3rem 0}
.access-ui h4{font-size:1rem;margin:.8rem 0 .35rem}
.access-ui p{line-height:1.5}
.access-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.access-header>div:last-child{display:flex;gap:.5rem;flex-wrap:wrap}
.access-ui button,.access-ui input,.access-ui select{font:inherit}
.access-ui button{min-height:48px;min-width:48px;padding:.45rem .85rem;border:1px solid #8ca98e;border-radius:.55rem;background:white;color:#245b3c;cursor:pointer}
.access-ui button:hover{background:#eef5ec}
.access-ui button:disabled{opacity:.55;cursor:not-allowed}
.access-ui button:focus-visible,.access-ui input:focus-visible,.access-ui select:focus-visible{outline:3px solid #df9b35;outline-offset:2px}
.access-ui input:not([type=checkbox]),.access-ui select{min-height:48px;max-width:100%;padding:.45rem;border:1px solid #a9baaa;border-radius:.45rem;background:#fff;color:#253d30}
.access-ui label{display:grid;gap:.3rem;min-width:0}
.access-ui [data-access-status]{background:#eef5ec;border-radius:.45rem;padding:.7rem;margin:.8rem 0}
.access-scope{font-size:.9rem;color:#496351}
.access-spaces{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}
.access-spaces button[aria-current=page]{background:#245b3c;color:#fff}
.access-spaces small{display:block;font-size:.75rem}
.access-space,.access-invitations{border:1px solid #d5e2d6;border-radius:.75rem;background:#fff;padding:1rem;margin:1rem 0;min-width:0}
.access-config{border-top:1px solid #d5e2d6;padding-top:1rem;margin-top:1rem}
.access-config>label{max-width:20rem}
.access-grant{border:1px solid #d5e2d6;border-radius:.5rem;margin:.65rem 0;padding:.65rem;display:flex;flex-wrap:wrap;gap:.75rem}
.access-grant legend{font-weight:600}
.access-grant label{flex:1 1 11rem}
.access-source{display:flex!important;align-items:center;gap:.6rem;min-height:48px}
.access-source input{width:20px;height:20px;flex:none}
.access-dirty{color:#8a4b17;font-weight:600}
.access-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.access-columns>section{border-top:1px solid #d5e2d6;padding-top:.75rem;min-width:0}
.access-courses,.access-events,.access-invitations ul{list-style:none;padding:0;margin:.5rem 0}
.access-courses li,.access-events li,.access-invitations li{min-height:48px;border-bottom:1px solid #e4ece4;padding:.5rem 0;display:flex;justify-content:space-between;gap:.5rem;align-items:center;flex-wrap:wrap}
.access-courses li>label{display:flex;align-items:center;gap:.5rem;min-height:48px}
.access-courses input[type=checkbox]{width:20px;height:20px;flex:none}
.access-course-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.access-events li{display:grid;gap:.2rem}
.access-events span{font-size:.85rem;color:#536455}
.access-ui form{display:grid;gap:.7rem;max-width:32rem;margin:1rem 0}
.access-ui form button{justify-self:start}
.access-invite-result{padding:.75rem;background:#f3f6ef;border-radius:.45rem}
.access-invite-result output{display:block;overflow-wrap:anywhere;font-family:monospace;padding:.5rem 0}
@media(max-width:700px){.access-ui{padding:.6rem}.access-columns{grid-template-columns:1fr}.access-space,.access-invitations{padding:.75rem}}

.access-ui [data-edit-course]{padding:.8rem;border:1px solid #8ca98e;border-radius:.55rem;background:#f3f6ef;min-width:0}
.access-ui [data-edit-course] input{width:100%;min-width:0}
.access-ui [data-edit-course] h4{margin:0}
