.welcome-mode .app-shell{display:none}
.welcome-screen{display:none;min-height:100svh;position:relative;isolation:isolate;overflow:hidden;background:#041017 url('assets/flight-crew-promo.png') center center/cover no-repeat;color:#f8fafc}
.welcome-mode .welcome-screen{display:flex;align-items:center;justify-content:flex-end;padding:clamp(24px,5vw,82px)}
.welcome-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#03131a04 0%,#03131a12 52%,#03131adb 78%,#03131aec 100%),linear-gradient(0deg,#031017b0,transparent 22%)}
.welcome-content{position:absolute;inset:0;pointer-events:none}
.welcome-kicker{position:absolute;left:3%;top:3%;font:800 12px 'Barlow Condensed',sans-serif;letter-spacing:.28em;color:#d2f8f5;text-shadow:0 2px 14px #0016}
.welcome-bottom{position:absolute;left:clamp(24px,4vw,72px);bottom:clamp(20px,4vw,55px);display:flex;align-items:center;gap:24px;pointer-events:auto}
.welcome-bottom>span{font-size:10px;font-weight:800;letter-spacing:.2em;color:#d2e6e9;text-shadow:0 2px 12px #001}
.welcome-bottom i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#2dd4bf;vertical-align:middle;margin:0 8px}
.welcome-bottom button,.welcome-enter{border:1px solid #51e5dc;color:#dffdfa;background:#0a313ad9;border-radius:8px;padding:11px 16px;font-size:11px;font-weight:800;letter-spacing:.02em}
.welcome-bottom button:hover,.welcome-enter:hover{background:#145864}
.welcome-auth{position:relative;z-index:1;width:min(510px,100%);padding:42px 40px 32px;border:1px solid #23c8c8;border-radius:17px;background:linear-gradient(135deg,#061319f5,#071a21ed);box-shadow:0 25px 80px #000b,0 0 60px #11b5b018;backdrop-filter:blur(12px);text-align:center}
.welcome-logo{display:block;width:min(230px,75%);height:auto;max-height:105px;object-fit:contain;margin:0 auto 13px;filter:drop-shadow(0 6px 16px #2dd4bf33)}
.welcome-panel-kicker{font-size:9px;letter-spacing:.28em;font-weight:800;color:#2dd4bf;margin:0 0 15px}
.welcome-auth h1{font:800 clamp(31px,3vw,41px)/1.1 Inter,sans-serif;letter-spacing:-.05em;margin:0 0 7px}
.welcome-subtitle{font-size:15px;color:#b9ced4;margin:0 0 34px}
.welcome-form{text-align:left;display:grid;gap:9px}
.welcome-form label{font-size:12px;font-weight:600;color:#f5fafb;margin-top:10px}
.welcome-field{height:54px;border:1px solid #58717c;border-radius:10px;background:#0c222a;display:flex;align-items:center;gap:12px;padding:0 15px;transition:border-color .15s,box-shadow .15s}
.welcome-field:focus-within{border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf22}
.welcome-field span{font-size:20px;color:#d7f6f3}
.welcome-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:13px}
.welcome-field input::placeholder{color:#8299a2}
.welcome-field input:disabled{cursor:not-allowed;opacity:.7}
.welcome-field button{border:0;background:transparent;color:#a1b7bf;font-size:20px;padding:3px}
.welcome-signin{height:58px;margin-top:19px;border:0;border-radius:10px;background:linear-gradient(100deg,#10bfd1,#14ded7);color:#041e24;font-size:16px;font-weight:800;display:flex;justify-content:center;align-items:center;gap:15px;box-shadow:0 8px 28px #04cbd633}
.welcome-signin:hover{background:#63e9e4}
.welcome-status{min-height:35px;margin:14px 0 0;color:#a6bec5;font-size:11px;line-height:1.45}
.welcome-divider{height:1px;background:#35515a;margin:9px 0 19px}
.welcome-role{display:block;margin:auto;border:0;background:none;color:#2dd4bf;text-decoration:underline;font-weight:800;font-size:14px}
.welcome-enter{display:block;margin:21px auto 0;background:transparent;color:#b8d8de;border-color:#496872}
.brand-logo{width:46px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 8px #2dd4bf44)}
.welcome-top-link{border:1px solid #335766;border-radius:7px;background:#102c39;color:#9ef4ea;padding:8px 11px;font-size:10px;font-weight:800}
.welcome-top-link:hover{background:#165060}
@media(max-width:980px){.welcome-screen{background-position:42% center}.welcome-mode .welcome-screen{justify-content:center;padding:30px 18px}.welcome-shade{background:#03131aaa}.welcome-content{display:none}.welcome-auth{width:min(510px,100%);margin:auto}}
@media(max-width:600px){.welcome-screen{background-position:47% center}.welcome-mode .welcome-screen{align-items:flex-end;padding:15px}.welcome-auth{padding:25px 23px 20px;border-radius:15px;background:#06171ceb}.welcome-logo{width:160px;max-height:75px;margin-bottom:6px}.welcome-subtitle{margin-bottom:17px;font-size:13px}.welcome-field{height:49px}.welcome-signin{height:51px}.welcome-status{margin-top:10px}.welcome-enter{margin-top:15px}.brand-logo{width:31px;height:30px}.welcome-top-link{font-size:9px;padding:6px}}
/* Real sign-in: select fields, notes, pending state, and the coach's Team Access lists */
.welcome-auth{max-height:calc(100svh - 24px);overflow-y:auto}
.welcome-field select{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:13px}
.welcome-field select option{color:#102b38}
.welcome-field input[type=number]{appearance:textfield}
.welcome-note{font-size:11px;line-height:1.5;color:#8fa9b1;margin:12px 0 0}
.welcome-pending{text-align:left;font-size:13px;line-height:1.55;color:#d7e7ea}
.welcome-pending .welcome-enter{display:inline-block;margin:10px 8px 0 0}
.welcome-status.error{color:#ff9d9d}
.welcome-status.ok{color:#7ff0d6}
.access-list{display:grid;gap:10px}
.access-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;justify-content:space-between;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--elevated)}
.access-row strong{display:block;font-size:13px}
.access-row small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.access-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.access-actions select{max-width:220px}
.access-empty{color:var(--muted);font-size:12px;margin:0}
.access-reset{flex-basis:100%;word-break:break-all;font-size:11px;padding:8px 10px;border-radius:8px;background:#0a1e29;border:1px dashed var(--line);user-select:all}
.access-audit-row{font-size:11px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.access-audit-row b{color:var(--text)}
body.member-view .rail-link[data-view="access"]{display:none}
