:root{--ngf-blue: #b1d6e1;--ngf-blue-deep: #84b4c3;--ngf-blue-soft: #e8f3f6;--ngf-ink: #1f5a6b;--ngf-beige: #d7d2c4;--ngf-beige-soft: #eeebe3;--ngf-red: #8b0000;--ink: #1b1b1b;--muted: #5d5d5d;--line: #d9d6cf;--bg: #faf9f6;--card: #ffffff;--ok: #1f6f43;--warn: #9a6400;--err: #a31919;--radius: 8px;--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .04);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:var(--ngf-ink)}h1{font-size:1.5rem;margin:0 0 1rem}h2{font-size:1.15rem;margin:0 0 .75rem}h3{font-size:1rem;margin:0 0 .5rem;color:var(--ngf-ink)}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:ui-monospace,Cascadia Mono,Menlo,monospace}.topbar{display:flex;align-items:center;gap:1.25rem;padding:.5rem 1.25rem;background:var(--ngf-blue);border-bottom:6px solid var(--ngf-beige);position:sticky;top:0;z-index:10}.topbar img{height:40px}.topbar nav{display:flex;gap:.25rem;flex-wrap:wrap;flex:1}.topbar nav a{text-decoration:none;color:var(--ink);padding:.4rem .7rem;border-radius:6px;font-weight:500}.topbar nav a:hover{background:var(--ngf-beige)}.topbar nav a.active{background:var(--ngf-red);color:#fff}.topbar .who{text-align:right;font-size:.85rem}main{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;margin-bottom:1rem}.row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.row>*{flex:1 1 160px}.spread{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--ngf-beige-soft)}tr.link:hover td{background:var(--ngf-blue-soft);cursor:pointer}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem}input,select,textarea{width:100%;font:inherit;padding:.5rem .6rem;border:1px solid #bdb8ad;border-radius:6px;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid var(--ngf-blue);border-color:var(--ngf-ink)}input[type=checkbox]{width:auto}.field{margin-bottom:.75rem}.hint{font-size:.8rem;color:var(--muted);margin-top:.2rem}button,.btn{font:inherit;font-weight:600;padding:.55rem 1rem;border-radius:6px;border:1px solid #6c9fb0;background:var(--ngf-blue-deep);color:#000;cursor:pointer;text-decoration:none;display:inline-block}button:hover{background:var(--ngf-blue)}button:disabled{opacity:.55;cursor:default}button.secondary,.btn.secondary{background:#fff;color:#000;border-color:var(--ngf-blue-deep)}button.secondary:hover{background:var(--ngf-blue-soft)}button.link{background:none;border:none;color:var(--ngf-ink);padding:0;font-weight:500;text-decoration:underline}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.alert{padding:.65rem .9rem;border-radius:6px;margin-bottom:1rem}.alert.error{background:#fdecec;color:var(--err);border:1px solid #f3c2c2}.alert.ok{background:#e9f6ee;color:var(--ok);border:1px solid #bfe3cc}.alert.info{background:var(--ngf-blue-soft);border:1px solid var(--ngf-blue)}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:var(--ngf-beige)}.badge.draft{background:#eee}.badge.synced{background:var(--ngf-blue)}.badge.reviewed{background:#fde7b0}.badge.signed,.badge.released{background:#cdebd8}.badge.provisional{background:#fde7b0;color:var(--warn)}.badge.status{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-width:7rem;min-height:2.4rem;padding:.35rem 1.25rem;font-size:.9rem;line-height:1;text-transform:capitalize;border-radius:999px}.auth-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--ngf-beige-soft),var(--bg))}.auth-band{background:var(--ngf-blue);border-bottom:6px solid var(--ngf-beige);padding:1rem 1.25rem;text-align:center;font-size:1.35rem;font-weight:700;letter-spacing:.02em;color:#000}.auth-wrap{flex:1;display:grid;place-items:center;padding:1.5rem 1rem}.auth-card{width:100%;max-width:420px}.auth-card .brand{text-align:center;margin-bottom:1rem}.auth-card .brand img{height:90px}.qr{display:flex;justify-content:center;margin:1rem 0}.qr svg{width:220px;height:220px}.grid2{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem;align-items:start}@media(max-width:900px){.grid2{grid-template-columns:1fr}}.sticky{position:sticky;top:76px}.kv{display:grid;grid-template-columns:1fr auto auto;gap:.2rem .75rem;font-size:.9rem}.kv .k{color:var(--muted)}.kv .v{font-weight:600;text-align:right}.kv .p{color:var(--muted);text-align:right;min-width:3.5rem}.kv .hdr{font-size:.7rem;text-transform:uppercase;color:var(--muted)}.stages td input{min-width:70px}.prev{font-size:.75rem;color:var(--muted);margin-top:.15rem}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem .25rem;margin:0 0 1rem;background:var(--card)}legend{font-weight:700;color:var(--ngf-ink);padding:0 .35rem}@media print{:root,body{background:#fff}.topbar,.no-print{display:none!important}main{padding:0;max-width:none}.card{box-shadow:none;border:none}}.roles-guide summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.5rem}.roles-guide summary::-webkit-details-marker{display:none}.roles-guide summary:before{content:"▸";color:var(--ngf-ink);transition:transform .15s}.roles-guide[open] summary:before{transform:rotate(90deg)}.roles-guide summary h2{margin:0}.roles-guide[open] summary{margin-bottom:.75rem}.role-defs{margin:0 0 1rem;display:grid;gap:.5rem}.role-defs>div{display:grid;grid-template-columns:11rem 1fr;gap:.75rem}.role-defs dt{font-weight:700;color:var(--ngf-ink)}.role-defs dd{margin:0}@media(max-width:600px){.role-defs>div{grid-template-columns:1fr;gap:0}}.table-scroll{overflow-x:auto}table.access th:not(:first-child),table.access td.acc{text-align:center;white-space:nowrap}table.access td.acc.yes{color:var(--ok);font-weight:700}table.access td.acc.no{color:#b0aca3}table.access td.acc.own{color:var(--warn);font-weight:600;font-size:.85rem}.field-bar{gap:.75rem}.field-bar strong{font-size:1.05rem}.offline-banner{margin:0;border-radius:0;text-align:center}input.pin{font-size:1.6rem;letter-spacing:.5em;text-align:center;max-width:16rem}.field-search{max-width:360px;font-size:1.05rem;padding:.65rem .75rem}.field-events{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.field-events .card{margin:0}.field-event-link{display:block;text-decoration:none;color:inherit}.field-roster td{padding-top:.8rem;padding-bottom:.8rem}.walkin{border-top:1px solid var(--line);padding-top:.5rem}@media(pointer:coarse){input,select,textarea{font-size:16px;min-height:44px}button,.btn{min-height:44px}}.nav-count{display:inline-block;margin-left:.35rem;min-width:1.3rem;padding:0 .35rem;border-radius:999px;background:var(--ngf-red);color:#fff;font-size:.72rem;line-height:1.3rem;text-align:center}.review-card h3 a{color:inherit}table.compare tr.flagged td{background:#fff8e6}.find-person{margin-top:.75rem}.find-person summary{cursor:pointer;color:var(--ngf-ink)}.badge.void{background:#e2e2e2;color:#555;text-decoration:line-through}
