/* Login */
:root{--bg:#04101a;--bg2:#071628;--text:#eef3f9;--muted:#9fb0c7;--line:rgba(255,255,255,.08);--accent:#22c55e;--accent2:#16a34a;--shadow:0 24px 70px rgba(0,0,0,.35)}
    
    .btn{min-height:50px;border:0;border-radius:16px;background:linear-gradient(180deg,var(--accent),var(--accent2));color:#04101a;font-weight:950;font-size:15px;cursor:pointer;width:100%;box-shadow:0 16px 32px rgba(22,163,74,.18);padding:0 14px}.small-links a,.toggle{color:#d8ffe6;text-decoration:none;font-weight:800;background:none;border:0;padding:0;cursor:pointer;font:inherit}.status{margin-top:14px;min-height:22px;color:#d8ffe6;font-size:13px;line-height:1.45}.mode-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.mode-btn{height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--muted);font-weight:900;cursor:pointer}.mode-btn.active{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.32);color:#d8ffe6}

/* Reset Password */
:root{--bg:#04101a;--bg2:#071628;--text:#eef3f9;--muted:#9fb0c7;--line:rgba(255,255,255,.08);--accent:#22c55e;--accent2:#16a34a;--shadow:0 24px 70px rgba(0,0,0,.35)}
  html,body{min-height:100%;margin:0}
  .panel{width:min(460px,100%);border:1px solid var(--line);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:var(--shadow);padding:32px}.brand{display:flex;align-items:center;gap:14px;margin-bottom:34px}.brand img{width:64px;height:64px;border-radius:20px;object-fit:cover;box-shadow:0 18px 40px rgba(0,0,0,.24)}.brand-title{font-size:17px;font-weight:950;letter-spacing:.02em}h1{margin:0 0 10px;font-size:34px;line-height:1.05;letter-spacing:-.04em}p{margin:0 0 24px;color:var(--muted);line-height:1.5}.field input{height:50px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:var(--text);padding:0 14px;font:inherit;outline:none}.btn{min-height:52px;border:0;border-radius:16px;background:linear-gradient(180deg,var(--accent),var(--accent2));color:#04101a;font-weight:950;font-size:15px;cursor:pointer;width:100%;box-shadow:0 16px 32px rgba(22,163,74,.18);padding:0 14px}.btn:disabled{opacity:.6;cursor:not-allowed}.status{margin-top:16px;min-height:22px;color:#d8ffe6;font-size:13px;line-height:1.45}.status.error{color:#fecaca}.links{display:flex;justify-content:center;margin-top:18px}.links a{color:#d8ffe6;text-decoration:none;font-weight:850;font-size:13px}

/* Invite */
:root{--bg:#04101a;--bg2:#071628;--text:#eef3f9;--muted:#9fb0c7;--line:rgba(255,255,255,.08);--accent:#22c55e;--accent2:#16a34a;--shadow:0 24px 70px rgba(0,0,0,.35)}
    *{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 16% 12%,rgba(34,197,94,.12),transparent 28%),radial-gradient(circle at 88% 10%,rgba(59,130,246,.10),transparent 26%),linear-gradient(145deg,var(--bg),var(--bg2) 62%,#020814);color:var(--text);display:grid;place-items:center;padding:24px}
    .shell{width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:22px;align-items:stretch}.hero,.panel{border:1px solid var(--line);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:var(--shadow)}.hero{padding:42px;min-height:620px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;right:-120px;bottom:-140px;width:380px;height:380px;border-radius:50%;background:rgba(34,197,94,.11)}.brand{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.brand img{width:74px;height:74px;border-radius:22px;object-fit:cover;box-shadow:0 18px 40px rgba(0,0,0,.24)}.brand-title{font-size:18px;font-weight:950;letter-spacing:.02em}h1{position:relative;z-index:1;margin:70px 0 16px;font-size:clamp(42px,6vw,76px);line-height:.95;letter-spacing:-.06em;font-weight:950}.lead{position:relative;z-index:1;max-width:760px;margin:0;color:var(--muted);font-size:19px;line-height:1.55}.features{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:34px}.feature{min-height:96px;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:rgba(255,255,255,.035);padding:18px}.feature strong{display:block;color:#d8ffe6;font-size:14px;margin-bottom:8px}.feature span{display:block;color:var(--muted);font-size:13px;line-height:1.45}.panel{padding:30px;display:flex;flex-direction:column;justify-content:center}.panel h2{margin:0 0 8px;font-size:32px;line-height:1.05;letter-spacing:-.04em}.panel p{margin:0 0 24px;color:var(--muted);line-height:1.5}.field{display:grid;gap:8px;margin-bottom:14px}.field label{font-size:13px;font-weight:850;color:#d8ffe6}.field input{height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:var(--text);padding:0 14px;font:inherit;outline:none}.field input:focus{border-color:rgba(34,197,94,.45);box-shadow:0 0 0 4px rgba(34,197,94,.12)}.btn{height:50px;border:0;border-radius:16px;background:linear-gradient(180deg,var(--accent),var(--accent2));color:#04101a;font-weight:950;font-size:15px;cursor:pointer;width:100%;box-shadow:0 16px 32px rgba(22,163,74,.18)}.btn.secondary{margin-top:10px;background:rgba(255,255,255,.05);color:var(--text);border:1px solid rgba(255,255,255,.08);box-shadow:none}.note{margin-top:18px;color:var(--muted);font-size:13px;line-height:1.45}.note strong{color:#d8ffe6}.small-links{display:flex;gap:12px;justify-content:space-between;margin-top:18px;font-size:13px}.small-links a{color:#d8ffe6;text-decoration:none;font-weight:800}@media(max-width:900px){body{display:block}.shell{grid-template-columns:1fr}.hero{min-height:auto}.features{grid-template-columns:1fr}h1{margin-top:42px}.panel{min-height:auto}}

/* MFA safe root overscroll boundary — 2026-06-29
   Keeps normal wheel/touch scrolling. Only the document/root page containers stop browser rubber-band; inner cards/lists/tables are left free to pass wheel scroll to the page. */
html,
body{
  overscroll-behavior:none!important;
  overscroll-behavior-x:none!important;
  overscroll-behavior-y:none!important;
  scroll-behavior:auto!important;
}
.app,
.app-shell,
.shell,
.page-shell,
.page,
.main,
main,
.content,
.workspace,
.gps-page-shell{
  overscroll-behavior-y:none!important;
  overscroll-behavior-x:none!important;
  scroll-behavior:auto!important;
}
/* MFA wheel-safe inner scroll recovery — 2026-06-29
   Inner panels/lists/tables must not trap mouse-wheel scrolling at their edges; root containers above still stop the browser bounce. */
.panel,
.card,
.module,
.list,
.history-list,
.table-wrap,
.modal,
.modal-card,
.drawer,
.mobile-drawer,
.panel-roster .list,
.match-stats-list-inline,
.editor-scroll,
.preview-panel,
.daily-report-body,
.dropdown-menu,
.select-menu,
.roster-list{
  overscroll-behavior:auto!important;
  overscroll-behavior-x:auto!important;
  overscroll-behavior-y:auto!important;
}
