:root { color: #17304d; font: 16px/1.45 system-ui, sans-serif; background: #f4f8fc; }
main { max-width: 820px; margin: 3rem auto; padding: 2rem; background: #fff; border: 1px solid #c7d9eb; border-radius: 18px; }
h1 { margin-top: 0; }
form { display: flex; gap: .6rem; flex-wrap: wrap; margin: 1.5rem 0; }
input, button { font: inherit; border: 1px solid #aac5df; border-radius: 8px; padding: .65rem .8rem; min-height: 44px; }
input { flex: 1 1 18rem; }
button { cursor: pointer; color: #fff; background: #176fba; border-color: #176fba; font-weight: 700; }
button[data-active="false"] { color: #245378; background: #edf4fb; border-color: #c7d9eb; }
button[data-delete-email] { color: #9a3d34; background: #fff5f3; border-color: #e2b8b2; }
.notice { min-height: 1.5rem; color: #a34a22; }
.identity { color: #526b86; }
.identity button { padding: .35rem .2rem; min-height: 44px; color: #176fba; background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
.invite { padding: .8rem; background: #edf5fc; border-radius: 10px; overflow-wrap: anywhere; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: .75rem .4rem; border-bottom: 1px solid #e1ebf4; }
td:last-child { text-align: right; }
@media (max-width: 600px) { main { margin: 0; padding: 1rem; border: 0; border-radius: 0; } }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: .5rem; top: -4rem; padding: .6rem .9rem; color: #fff; background: #176fba; border-radius: 8px; z-index: 10; }
.skip-link:focus { top: .5rem; }
main:focus { outline: none; }
:focus-visible { outline: 3px solid #0b4f8a; outline-offset: 2px; }
td button + button { margin-left: .4rem; }
td { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  td:last-child { text-align: left; }
  td:last-child button { margin: .15rem .4rem .15rem 0; }
  button, input { width: 100%; }
  td button, .identity button { width: auto; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
td:nth-child(2) { white-space: nowrap; }
.identity { display: flex; flex-wrap: wrap; align-items: center; column-gap: .5rem; }
