/* =============================================================================
 * people-access.css — the People & Access TAB, scoped to #tabAccess.
 * -----------------------------------------------------------------------------
 * This began as a standalone page's <style> block, including `*{}` and `body{}`
 * resets. It is a TAB inside admin_portal now, so those resets are dropped and every
 * remaining selector is scoped: an unscoped `.toolbar`, `.search` or bare `h1` here
 * would restyle the entire portal.
 *
 * ⚠️ The first generated version was scoped by "does the line end with {", which is
 * false for the single-line rules this sheet is written in — so nothing was scoped and
 * the file shipped with global `.wrap`/`h1` rules. It never reached a browser only
 * because a second bug left the <link> out. Generated by a real block walker now.
 *
 * :root stays unscoped on purpose: it defines custom properties, matches no element,
 * and scoping it would break every var() lookup inside the tab.
 * ========================================================================== */
:root {
  --bg:#f6f7f9;
  --card:#ffffff;
  --border:#e6e9ef;
  --border-soft:#eef0f5;
  --ink:#17203a;
  --ink-soft:#5b6478;
  --ink-faint:#98a0b3;
  --navy:#1b2540;
  --navy-hover:#242f52;
  --gold:#b97f10;
  --gold-bg:#fcf1d6;
  --green:#178a52;
  --green-bg:#e4f6ec;
  --red:#c24444;
  --red-bg:#fbeaea;
  --league:#1b2540;   --league-bg:#e9ecf4;
  --baseball:#2f62c4; --baseball-bg:#e8effb;
  --softball:#c2408f; --softball-bg:#fbe9f4;
  --rentals:#0f8a80;  --rentals-bg:#e2f4f2;
  --season:#8a5fd4;   --season-bg:#f0eafb;
  --note:#9a6b00;     --note-bg:#fff7e0; --note-border:#eeda9a;
  --radius:12px;
  --radius-sm:8px;
  --shadow:0 1px 2px rgba(23,32,58,.05),0 4px 14px rgba(23,32,58,.05);
  font-size:15px;
}
#tabAccess .wrap {max-width:1080px;margin:0 auto}
#tabAccess .page-head {display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
#tabAccess h1 {font-family:'Manrope',sans-serif;font-weight:800;font-size:1.65rem;letter-spacing:-.01em}
#tabAccess .page-sub {color:var(--ink-soft);font-size:.92rem;margin-top:2px}
#tabAccess .notes-toggle {background:none;border:1px dashed var(--note-border);color:var(--note);
  font:600 .78rem 'Inter',sans-serif;padding:6px 12px;border-radius:999px;cursor:pointer}
#tabAccess .notes-toggle:hover {background:var(--note-bg)}
#tabAccess.show-notes .note {display:inline-flex}
#tabAccess .note {display:none;align-items:center;gap:5px;background:var(--note-bg);border:1px solid var(--note-border);
  color:var(--note);font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:6px;vertical-align:middle;margin-left:8px}
#tabAccess .note::before {content:"✎";font-size:.7rem}
#tabAccess section {margin-top:44px}
#tabAccess .sec-head {display:flex;align-items:baseline;gap:10px;margin-bottom:4px}
#tabAccess .sec-head h2 {font-family:'Manrope',sans-serif;font-weight:800;font-size:1.22rem}
#tabAccess .sec-kicker {font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}
#tabAccess .sec-desc {color:var(--ink-soft);font-size:.9rem;margin-bottom:16px;max-width:64ch}
#tabAccess .coverage {display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:18px}
#tabAccess .cov-card {background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 14px;box-shadow:var(--shadow)}
#tabAccess .cov-card .cov-scope {font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
#tabAccess .cov-card .cov-who {font-size:.86rem;font-weight:600}
#tabAccess .cov-card .cov-more {font-size:.76rem;color:var(--ink-faint)}
#tabAccess .cov-league .cov-scope {color:var(--league)}
#tabAccess .cov-baseball .cov-scope {color:var(--baseball)}
#tabAccess .cov-softball .cov-scope {color:var(--softball)}
#tabAccess .cov-warn {border-style:dashed;border-color:#e3c98a;background:#fffdf5}
#tabAccess .cov-warn .cov-scope {color:var(--gold)}
#tabAccess .cov-warn .cov-who {color:var(--gold);font-weight:700}
#tabAccess .cov-grant {margin-top:4px;background:none;border:none;color:var(--baseball);font:600 .78rem 'Inter',sans-serif;
  cursor:pointer;padding:0}
#tabAccess .cov-grant:hover {text-decoration:underline}
#tabAccess .toolbar {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
#tabAccess .btn-primary {position:relative;background:var(--navy);color:#fff;border:none;border-radius:var(--radius-sm);
  font:600 .88rem 'Inter',sans-serif;padding:9px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
#tabAccess .btn-primary:hover {background:var(--navy-hover)}
#tabAccess .btn-primary .caret {font-size:.7rem;opacity:.8}
#tabAccess .search {flex:1;min-width:180px;max-width:320px;position:relative}
#tabAccess .search input {width:100%;padding:9px 12px 9px 34px;border:1px solid var(--border);border-radius:var(--radius-sm);
  font:400 .88rem 'Inter',sans-serif;background:var(--card);color:var(--ink)}
#tabAccess .search::before {content:"🔍";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:.8rem;opacity:.45}
#tabAccess .seg {display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--card)}
#tabAccess .seg button {background:none;border:none;font:600 .8rem 'Inter',sans-serif;color:var(--ink-soft);
  padding:7px 14px;cursor:pointer}
#tabAccess .seg button.on {background:var(--league-bg);color:var(--ink)}
#tabAccess .dropdown {position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:280px;background:var(--card);
  border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 32px rgba(23,32,58,.16);
  padding:6px;display:none;text-align:left}
#tabAccess .dropdown.open {display:block}
#tabAccess .dd-item {display:block;width:100%;background:none;border:none;text-align:left;padding:9px 12px;border-radius:var(--radius-sm);
  cursor:pointer;font-family:'Inter',sans-serif;color:var(--ink)}
#tabAccess .dd-item:hover {background:var(--bg)}
#tabAccess .dd-item .dd-name {font-weight:600;font-size:.88rem}
#tabAccess .dd-item .dd-sub {font-size:.76rem;color:var(--ink-faint)}
#tabAccess .dd-divider {height:1px;background:var(--border-soft);margin:5px 8px}
#tabAccess .people {background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
#tabAccess .person {padding:16px 20px;border-bottom:1px solid var(--border-soft)}
#tabAccess .person:last-child {border-bottom:none}
#tabAccess .person-head {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#tabAccess .avatar {width:36px;height:36px;border-radius:50%;background:var(--league-bg);color:var(--league);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;flex-shrink:0}
#tabAccess .p-name {font-weight:700;font-size:.98rem}
#tabAccess .p-email {font-size:.8rem;color:var(--ink-faint)}
#tabAccess .p-meta {margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#tabAccess .p-last {font-size:.78rem;color:var(--ink-faint)}
#tabAccess .icon-btn {background:none;border:1px solid var(--border);border-radius:var(--radius-sm);
  font:600 .78rem 'Inter',sans-serif;color:var(--ink-soft);padding:5px 11px;cursor:pointer}
#tabAccess .icon-btn:hover {background:var(--bg);color:var(--ink)}
#tabAccess .lock {color:var(--gold);font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;gap:4px}
#tabAccess .badge {display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;
  padding:3px 10px;border-radius:999px;letter-spacing:.02em}
#tabAccess .badge-owner {background:var(--gold-bg);color:var(--gold)}
#tabAccess .badge-active {background:var(--green-bg);color:var(--green)}
#tabAccess .badge-paused {background:var(--red-bg);color:var(--red)}
#tabAccess .badge-pending {background:var(--league-bg);color:var(--ink-soft)}
#tabAccess .grants {margin:10px 0 0 48px;display:flex;flex-direction:column;gap:8px}
#tabAccess .grant {display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);background:#fbfcfe}
#tabAccess .g-dot {width:9px;height:9px;border-radius:50%;flex-shrink:0}
#tabAccess .g-sentence {font-size:.88rem;font-weight:600}
#tabAccess .g-scope {font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:999px}
#tabAccess .s-league {background:var(--league-bg);color:var(--league)}
#tabAccess .s-baseball {background:var(--baseball-bg);color:var(--baseball)}
#tabAccess .s-softball {background:var(--softball-bg);color:var(--softball)}
#tabAccess .s-rentals {background:var(--rentals-bg);color:var(--rentals)}
#tabAccess .s-season {background:var(--season-bg);color:var(--season)}
#tabAccess .g-limited {width:100%;margin-left:19px;font-size:.78rem;color:var(--ink-soft);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#tabAccess .chip {background:var(--rentals-bg);color:var(--rentals);font-size:.72rem;font-weight:600;
  padding:2px 8px;border-radius:6px}
#tabAccess .g-expiry {font-size:.74rem;color:var(--season);font-weight:600;display:inline-flex;align-items:center;gap:4px}
#tabAccess .g-actions {margin-left:auto;display:flex;gap:6px}
#tabAccess .g-actions button {background:none;border:none;cursor:pointer;font-size:.85rem;opacity:.45;padding:2px 4px}
#tabAccess .g-actions button:hover {opacity:1}
#tabAccess .pending-row {display:flex;align-items:center;gap:12px;padding:14px 20px;background:#fbfcfe;flex-wrap:wrap}
#tabAccess .pending-row .p-email {color:var(--ink-soft)}
#tabAccess .dir-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
#tabAccess .dir-card {background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
#tabAccess .dir-card .avatar {width:40px;height:40px}
#tabAccess .dir-role {font-weight:700;font-size:.92rem}
#tabAccess .dir-name {font-size:.86rem;color:var(--ink-soft)}
#tabAccess .dir-contact {font-size:.78rem;color:var(--ink-faint);margin-top:2px}
#tabAccess .dir-link {font-size:.78rem;font-weight:600;color:var(--baseball);margin-top:6px;display:inline-block;cursor:pointer}
#tabAccess .dir-link:hover {text-decoration:underline}
#tabAccess .dir-link.linked {color:var(--green);cursor:default}
#tabAccess .dir-link.linked:hover {text-decoration:none}
#tabAccess .dir-actions {margin-left:auto;display:flex;gap:6px}
#tabAccess .dir-actions button {background:none;border:none;cursor:pointer;font-size:.85rem;opacity:.4;padding:2px}
#tabAccess .dir-actions button:hover {opacity:1}
#tabAccess .sport-band {display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;
  padding:3px 11px;border-radius:999px;margin:16px 0 10px}
#tabAccess .groups {display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:26px}
#tabAccess .group-card {background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}
#tabAccess .group-card h4 {font-size:.92rem;font-weight:700;display:flex;align-items:center;gap:8px}
#tabAccess .group-card .g-desc {font-size:.76rem;color:var(--ink-faint);margin:2px 0 10px}
#tabAccess .member {font-size:.82rem;background:var(--bg);border-radius:var(--radius-sm);padding:6px 10px;display:flex;
  justify-content:space-between;gap:8px}
#tabAccess .member span {color:var(--ink-faint);font-size:.76rem}
#tabAccess .empty-member {font-size:.8rem;color:var(--ink-faint);font-style:italic;padding:6px 2px}
#tabAccess .group-foot {display:flex;justify-content:space-between;align-items:center;margin-top:10px}
#tabAccess .group-foot .cnt {font-size:.74rem;color:var(--ink-faint)}
#tabAccess .matrix-wrap {background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);
  overflow-x:auto}
#tabAccess table {border-collapse:collapse;width:100%;min-width:760px}
#tabAccess th, #tabAccess td {padding:11px 14px;font-size:.82rem;border-bottom:1px solid var(--border-soft);text-align:center}
#tabAccess th {font-size:.74rem;font-weight:700;color:var(--ink-soft)}
#tabAccess th:first-child, #tabAccess td:first-child {text-align:left}
#tabAccess td:first-child {font-weight:600}
#tabAccess td:first-child small {display:block;font-weight:400;color:var(--ink-faint);font-size:.72rem}
#tabAccess tr:last-child td {border-bottom:none}
#tabAccess input[type=checkbox] {width:15px;height:15px;accent-color:var(--navy)}
#tabAccess .col-sport {background:#fffaf0}
#tabAccess .matrix-note {font-size:.76rem;color:var(--ink-faint);padding:10px 16px}
#tabAccess button:focus-visible, #tabAccess input:focus-visible, #tabAccess a:focus-visible {outline:2px solid var(--baseball);outline-offset:2px}
#tabAccess .mock-footer {margin-top:60px;padding-top:18px;border-top:1px solid var(--border);font-size:.76rem;color:var(--ink-faint)}
@media (max-width:640px) {
#tabAccess .grants {margin-left:0}
#tabAccess .p-meta {margin-left:0;width:100%}


}
@media (prefers-reduced-motion: reduce) {

}
#tabAccess .gate-screen {max-width:520px;margin:14vh auto;background:var(--card);border:1px solid var(--border);
    border-radius:var(--radius);box-shadow:var(--shadow);padding:38px 30px;text-align:center}
#tabAccess .gate-screen h2 {margin:0 0 10px;color:var(--ink)}
#tabAccess .gate-screen p {color:var(--ink-soft);font-size:.9rem;line-height:1.55;margin:0 0 20px}
#tabAccess .loading {padding:60px;text-align:center;color:var(--ink-faint)}
#tabAccess .empty {padding:34px;text-align:center;color:var(--ink-faint);font-size:.9rem;
    border:1px dashed var(--border);border-radius:var(--radius)}
#tabAccess .stub {border:1px dashed var(--note-border);background:var(--note-bg);color:var(--note);
    padding:14px 16px;border-radius:var(--radius-sm);font-size:.82rem;line-height:1.5}
#tabAccess .uic-linkout {display:flex;align-items:center;gap:12px;padding:13px 16px;background:var(--card);
    border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:var(--radius-sm);
    margin-top:14px;font-size:.86rem;color:var(--ink-soft)}
#tabAccess .uic-linkout a {color:var(--navy);font-weight:700;text-decoration:none}
#tabAccess .uic-linkout a:hover {text-decoration:underline}
#tabAccess.has-nav-standard {padding-top:74px}
@media (max-width:640px) {
#tabAccess.has-nav-standard {padding-top:66px}
 
}
#tabAccess .toast {position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);
    color:#fff;padding:12px 22px;border-radius:8px;font-size:.86rem;z-index:99;box-shadow:var(--shadow)}
#tabAccess .toast.err {background:var(--red)}
#tabAccess .sheet-back {position:fixed;inset:0;background:rgba(23,32,58,.42);z-index:100;
    display:flex;align-items:center;justify-content:center;padding:20px}
#tabAccess .sheet {background:var(--card);border-radius:var(--radius);box-shadow:0 12px 44px rgba(23,32,58,.22);
    width:100%;max-width:520px;max-height:88vh;overflow:auto}
#tabAccess .sheet-hd {padding:18px 22px 14px;border-bottom:1px solid var(--border-soft)}
#tabAccess .sheet-hd h3 {font-family:'Manrope',sans-serif;font-size:1.02rem;color:var(--ink);margin:0 0 4px}
#tabAccess .sheet-hd p {font-size:.8rem;color:var(--ink-faint);margin:0}
#tabAccess .sheet-bd {padding:18px 22px}
#tabAccess .sheet-bd label {display:block;font-size:.76rem;font-weight:600;color:var(--ink-soft);
    text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}
#tabAccess .sheet-bd input, #tabAccess .sheet-bd select {width:100%;padding:9px 11px;border:1px solid var(--border);
    border-radius:var(--radius-sm);font:inherit;font-size:.88rem;color:var(--ink);background:var(--card)}
#tabAccess .sheet-row {margin-bottom:16px}
#tabAccess .sheet-sentence {background:var(--league-bg);color:var(--league);padding:11px 14px;
    border-radius:var(--radius-sm);font-size:.86rem;font-weight:600;line-height:1.45}
#tabAccess .sheet-areas {margin-top:10px;font-size:.78rem;color:var(--ink-soft);line-height:1.6}
#tabAccess .sheet-areas b {color:var(--ink)}
#tabAccess .sheet-warn {margin-top:10px;background:var(--note-bg);border:1px solid var(--note-border);
    color:var(--note);padding:10px 13px;border-radius:var(--radius-sm);font-size:.78rem;line-height:1.5}
#tabAccess .sheet-ft {padding:14px 22px 18px;border-top:1px solid var(--border-soft);
    display:flex;gap:10px;justify-content:flex-end}
#tabAccess .sheet-ft button {padding:9px 18px;border-radius:var(--radius-sm);font:inherit;font-size:.86rem;
    font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--ink-soft)}
#tabAccess .sheet-ft button.primary {background:var(--navy);border-color:var(--navy);color:#fff}
#tabAccess .sheet-ft button.primary:hover {background:var(--navy-hover)}
#tabAccess .sheet-ft button[disabled] {opacity:.5;cursor:not-allowed}

