.admin-shell { max-width: 1120px; margin: auto; padding: 1.5rem; }
.admin-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.admin-heading h1 { margin: .3rem 0; }
.admin-heading p { color: var(--muted); }
.admin-heading .button { text-decoration: none; white-space: nowrap; }
.admin-section { min-height: 24rem; }
.assignment-fieldset { margin: 1.5rem 0; }
.assignment-row { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: .75rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.access-preview { margin-top: 1rem; padding: 1rem; border-radius: .75rem; background: #f3f6f4; }
.access-preview h3 { margin: 0 0 .5rem; font-size: 1rem; }
.access-preview ul { margin: 0; padding-left: 1.25rem; }
.access-preview li + li { margin-top: .4rem; }
.facility-list { margin-top: 2rem; }
.facility-list h3 { margin-bottom: .5rem; }
.state-chip { display: inline-block; padding: .25rem .5rem; border-radius: .4rem; font-size: .75rem; font-weight: 800; background: #edf5f1; color: #12533e; }
.state-chip--inactive, .state-chip--failed { background: #fff0f0; color: #7d2020; }
.history-detail { max-width: 28rem; white-space: normal; overflow-wrap: anywhere; }
.sheet-success { display: grid; gap: .25rem; margin: 1rem 0; padding: 1rem; border: 1px solid #9ccab8; border-radius: .75rem; background: #edf8f2; color: #12533e; }
.sheet-success strong { font-size: 1rem; }
.sheet-preview { margin-top: 1.5rem; padding: 1rem; border: 1px solid var(--line); border-radius: .75rem; background: #f8faf9; }
.sheet-preview h3 { margin-top: 0; }
.sheet-preview h4 { margin-bottom: .35rem; }
.sheet-preview ul { margin-top: 0; padding-left: 1.25rem; }
.preview-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.preview-summary div { padding: .75rem; border-radius: .6rem; background: #fff; border: 1px solid var(--line); }
.preview-summary dt { color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.preview-summary dd { margin: .25rem 0 0; overflow-wrap: anywhere; }
.sheet-apply { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.sheet-apply .confirmation { margin: 1rem 0; }
@media (max-width: 760px) { .admin-heading { flex-direction: column; } .assignment-row { grid-template-columns: 1fr; align-items: stretch; } }
@media (max-width: 760px) { .preview-summary { grid-template-columns: 1fr 1fr; } }
