.page-access-shell{display:grid;gap:1rem;padding:1.25rem;color:#f5f8fb}
.page-access-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #31506b}
.page-access-heading span{color:#f2cb05;font-size:.75rem;font-weight:800;letter-spacing:.12em}
.page-access-heading h1{margin:.25rem 0;font-size:clamp(1.8rem,3vw,2.7rem)}
.page-access-heading p{max-width:60rem;margin:0;color:#aac0d4}
.page-access-save{min-height:44px;padding:.85rem 1.2rem;border:0;border-radius:.8rem;color:#071421;background:#f2cb05;font-weight:900;cursor:pointer}
.page-access-save:disabled{opacity:.55}
.page-access-notice{display:grid;gap:.35rem;padding:.9rem 1rem;border:1px solid #7c6d16;border-radius:.85rem;background:#0e2135}
.page-access-notice span{color:#c2d1df}
.page-access-matrix-wrap{overflow:auto;max-width:100%;border:1px solid #31506b;border-radius:1rem;background:#0a1928;box-shadow:0 15px 36px rgba(0,0,0,.18)}
.page-access-matrix{width:100%;min-width:920px;border-collapse:separate;border-spacing:0}
.page-access-matrix th,.page-access-matrix td{padding:.7rem .85rem;border-right:1px solid rgba(65,96,122,.56);border-bottom:1px solid rgba(65,96,122,.56);text-align:center;vertical-align:middle}
.page-access-matrix tr:last-child>*{border-bottom:0}.page-access-matrix tr>*:last-child{border-right:0}
.page-access-matrix thead th{position:sticky;top:0;z-index:3;color:#f2cb05;background:#10273c;font-size:.7rem;letter-spacing:.06em}
.page-access-matrix thead th span,.page-access-matrix thead th small{display:block}
.page-access-matrix thead th small{margin-top:.18rem;color:#9eb4c8;font-size:.62rem;font-weight:600;letter-spacing:0}
.page-access-matrix .page-access-matrix__page{position:sticky;left:0;z-index:2;width:26%;min-width:215px;color:#f5f8fb;background:#102236;text-align:left}
.page-access-matrix thead .page-access-matrix__page{z-index:4}
.page-access-matrix__page strong,.page-access-matrix__page small{display:block}
.page-access-matrix__page strong{font-size:.82rem}.page-access-matrix__page small{margin-top:.16rem;color:#8faac0;font-size:.66rem}
.page-access-matrix__page mark{display:inline-flex;margin-top:.35rem;padding:.14rem .32rem;border-radius:.3rem;color:#ffdb59;background:rgba(242,203,5,.1);font-size:.53rem;font-weight:800;letter-spacing:.06em}
.page-access-matrix tbody tr:hover td{background:rgba(36,75,104,.2)}
.page-access-switch{display:inline-grid;grid-template-columns:auto 2.2rem;align-items:center;gap:.42rem;cursor:pointer}
.page-access-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.page-access-switch__track{position:relative;width:2.6rem;height:1.42rem;border:1px solid #587086;border-radius:999px;background:#21384c;transition:.16s ease}
.page-access-switch__track i{position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:#a7b7c5;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:.16s ease}
.page-access-switch input:checked+.page-access-switch__track{border-color:#f2cb05;background:rgba(242,203,5,.3)}
.page-access-switch input:checked+.page-access-switch__track i{left:calc(100% - 1rem - 2px);background:#f2cb05}
.page-access-switch input:focus-visible+.page-access-switch__track{outline:3px solid rgba(116,221,245,.42);outline-offset:2px}
.page-access-switch em{color:#91a6b8;font-size:.62rem;font-style:normal;font-weight:800}
.page-access-switch:has(input:checked) em{color:#f2cb05}
.page-access-matrix__unavailable span{color:#60778b;font-size:1.1rem}
.page-access-legend{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;color:#a9bccd;font-size:.7rem}
.page-access-legend span{display:inline-flex;align-items:center;gap:.38rem}.page-access-legend i{width:.62rem;height:.62rem;border-radius:50%;background:#60778b}.page-access-legend i.is-enabled{background:#f2cb05}.page-access-legend b{color:#60778b;font-size:.9rem}
.page-access-feedback{min-height:1.5rem;margin:0;font-weight:700}.page-access-feedback[data-state=success]{color:#54dbb2}.page-access-feedback[data-state=error],.page-access-alert{color:#ff8585}
@media(max-width:760px){.page-access-heading{align-items:stretch;flex-direction:column}.page-access-save{width:100%}.page-access-shell{padding:.75rem}}
