.roster-wrapper.enhanced{position:relative;width:100%;padding-bottom:48px}.table-scroll{overflow-x:auto;overflow-y:visible;position:relative;padding-bottom:8px;scrollbar-color:#335777 #101a24}.table-scroll::-webkit-scrollbar{height:14px}.table-scroll::-webkit-scrollbar-track{background:#101a24;border-radius:10px;border:1px solid #1e3042}.table-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#264563,#325b84);border-radius:10px;border:2px solid #101a24}.table-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#2f5c85,#3f74a8)}.wide-content{position:relative;display:block;width:-moz-fit-content;width:fit-content;min-width:100%}.horizontal-fade{position:absolute;top:0;bottom:48px;width:46px;pointer-events:none;z-index:5;opacity:.85}.horizontal-fade.left{left:0;background:linear-gradient(90deg,#0d141c,rgba(13,20,28,0))}.horizontal-fade.right{right:0;background:linear-gradient(270deg,#0d141c,rgba(13,20,28,0))}.bottom-scroll{position:absolute;left:0;right:0;bottom:8px;height:18px;background:#0f1b26;border:1px solid #223445;border-radius:10px;overflow-x:auto;overflow-y:hidden;z-index:10}.bottom-scroll::-webkit-scrollbar-track{background:#0f1b26;border-radius:10px}.bottom-scroll-spacer{pointer-events:none}.team-block.improved-block{background:#13202c;border:1px solid #213142;border-radius:18px;margin-bottom:38px;padding:10px 14px 18px;box-shadow:0 4px 18px -6px rgba(0,0,0,.5);min-width:100%}.team-header-row{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 10px;margin-bottom:4px}.team-header-row h3{margin:0;font-size:.85rem;letter-spacing:.6px;font-weight:600;color:#e4edf5}.team-count{background:#213445;padding:4px 10px;font-size:.55rem;letter-spacing:.5px;color:#b7cad9;border-radius:14px;font-weight:500}.roster-table.better{border-collapse:separate;border-spacing:0;min-width:1400px;font-size:.76rem;line-height:1.25;color:#d2dde6}.roster-wrapper.compact .roster-table.better{font-size:.68rem}.roster-table.full-month .date-col,.roster-table.full-month td[data-idx]{min-width:72px}.roster-table th{position:-webkit-sticky;position:sticky;top:0;background:#1a2b38;font-weight:600;text-transform:uppercase;font-size:.6rem;letter-spacing:.7px;padding:11px 10px;z-index:4;border-bottom:1px solid #2c4255;color:#8fb1cc;white-space:nowrap}.roster-table td{padding:11px 12px;border-bottom:1px solid #1d2d3b;border-right:1px solid #1d2d3b;white-space:nowrap;font-weight:500;transition:background .15s}.roster-table tr:last-child td{border-bottom:none}.roster-table tbody tr:nth-child(odd){background:#10202c}.roster-table tbody tr:nth-child(2n){background:#142b37}.roster-table tbody tr:hover td{background:#1c3a4c}.sticky-col{position:-webkit-sticky;position:sticky;left:0;z-index:6;background:#162633;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:1px 0 0 0 #1d2d3b}.id-col{left:160px}.name-col{width:160px;max-width:160px}.shift-cell,.single-day-cell{text-align:center;font-weight:600;letter-spacing:.55px;cursor:default;color:#d7e5f0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.shift-cell.editable,.single-day-cell.editable{cursor:pointer}.shift-cell.editable:hover,.single-day-cell.editable:hover{background:#244154}.shift-cell.filled,.single-day-cell.filled{color:#f0f6fb}.shift-cell.compact,.single-day-cell.compact{padding:7px 8px}.shift-cell:focus-visible,.single-day-cell:focus-visible{outline:2px solid #4b86d8;outline-offset:-2px}.edit-popover{position:absolute;z-index:30;background:#0f1b26;border:1px solid #2b4459;border-radius:16px;padding:16px 18px 18px;box-shadow:0 18px 40px -14px rgba(0,0,0,.55),0 6px 14px -6px rgba(0,0,0,.5);animation:popIn .16s ease;max-width:320px}@keyframes popIn{0%{opacity:0;transform:translateY(-6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.edit-popover-inner{display:flex;flex-direction:column;gap:14px}.edit-popover-field label{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:1px;color:#7ea0bb;margin-bottom:6px;font-weight:600}.edit-popover-field select{width:100%;background:#162b3a;border:1px solid #325067;color:#e3eef6;padding:11px 14px;font-size:.82rem;border-radius:12px;letter-spacing:.4px;font-weight:500;outline:none;max-height:260px;overflow-y:auto;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.04)}.edit-popover-field select option{font-size:.8rem;padding:4px 6px}.edit-popover-field select:focus{border-color:#4b86d8;box-shadow:0 0 0 2px rgba(75,134,216,.35)}.edit-popover-actions{display:flex;justify-content:flex-end;gap:10px}.roster-wrapper .btn.tiny{font-size:.65rem;padding:7px 12px;border-radius:9px;letter-spacing:.5px;background:#23394d;border:1px solid #335069;color:#d8e8f6;cursor:pointer;transition:.18s}.roster-wrapper .btn.tiny:hover{background:#2d4a63}.roster-wrapper .btn.tiny.primary{background:#2d5f97;border-color:#447bbd;color:#fff}.roster-wrapper .btn.tiny.primary:hover{background:#3c75b6}.roster-table.single-day{min-width:580px}.day-col{min-width:160px;color:#8fb1cc;font-weight:600;letter-spacing:.6px}.bottom-scroll{scrollbar-color:#3a638f #0f1b26}.bottom-scroll::-webkit-scrollbar{height:14px}.bottom-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#2b5175,#3e6f9d);border-radius:10px;border:2px solid #0f1b26}.bottom-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#366893,#4d86b8)}.roster-wrapper.compact .roster-table td{padding:7px 9px}.roster-wrapper.compact .shift-cell,.roster-wrapper.compact .single-day-cell{letter-spacing:.4px}.empty{padding:28px;text-align:center;font-size:.8rem;color:#93acc1;border:1px dashed #2b4459;border-radius:14px;background:#111d27;margin-bottom:22px}.admin-auth-shell{position:relative;min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;color:#e5ecf4;overflow:hidden;background:#0c1218;display:flex;align-items:center;justify-content:center;padding:40px 28px}.admin-auth-gradient{background:radial-gradient(circle at 12% 18%,rgba(60,110,170,.25),transparent 60%),radial-gradient(circle at 85% 75%,rgba(70,130,190,.18),transparent 65%),linear-gradient(160deg,#0d141c,#111c27 55%,#0d141c);opacity:.9}.admin-auth-backdrop,.admin-auth-gradient{position:absolute;inset:0;pointer-events:none}.admin-auth-backdrop{background-image:repeating-linear-gradient(135deg,hsla(0,0%,100%,.02) 0 2px,transparent 2px 6px),linear-gradient(180deg,hsla(0,0%,100%,.03),transparent);mix-blend-mode:overlay}.admin-auth-wrapper{position:relative;z-index:5;width:100%;max-width:930px;background:rgba(20,31,43,.78);border:1px solid rgba(70,110,160,.25);border-radius:26px;padding:48px 54px 40px;-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);box-shadow:0 18px 42px -15px rgba(0,0,0,.65),0 4px 18px -8px rgba(0,0,0,.55),inset 0 0 0 1px hsla(0,0%,100%,.02);display:grid;grid-template-columns:minmax(320px,420px) minmax(280px,1fr);grid-gap:46px;gap:46px}@media (max-width:980px){.admin-auth-wrapper{grid-template-columns:1fr;padding:42px 36px 36px;max-width:640px}}.admin-auth-header{grid-column:1/span 1;display:flex;gap:18px;align-items:flex-start;margin-bottom:10px}.brand-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(160deg,#284463,#1a2c40);display:flex;align-items:center;justify-content:center;font-size:1.9rem;box-shadow:0 6px 18px -6px rgba(0,0,0,.5),inset 0 0 0 1px hsla(0,0%,100%,.06)}.brand-text h1{margin:4px 0 6px;font-size:1.9rem;font-weight:600;letter-spacing:.6px;background:linear-gradient(90deg,#e4eef7,#c5d3e1 45%,#9bb5cc);-webkit-background-clip:text;color:transparent}.brand-text h1 span{color:#76a9e6;background:linear-gradient(90deg,#6ca2e0,#4f81bc);-webkit-background-clip:text;color:transparent}.tagline{margin:0;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;color:#7ea2c1;font-weight:500}.admin-auth-form{grid-column:1;display:flex;flex-direction:column;gap:22px;position:relative}.form-field label{display:block;font-size:.7rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-weight:600;color:#86a5c2}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper .input-icon{position:absolute;left:12px;font-size:.9rem;opacity:.55;pointer-events:none;transition:.2s}.input-wrapper input{width:100%;background:#121c27;border:1px solid #2c3e52;color:#e7eef4;padding:13px 14px 13px 40px;font-size:.9rem;border-radius:12px;outline:none;transition:.22s;font-weight:500;letter-spacing:.4px}.input-wrapper input:focus{border-color:#4b86d8;background:#162536;box-shadow:0 0 0 3px rgba(75,134,216,.25)}.input-wrapper input:focus+.password-toggle,.input-wrapper input:focus~.input-icon{opacity:.85}.auth-message{display:flex;align-items:center;gap:10px;font-size:.75rem;padding:12px 14px;border-radius:12px;background:#2e1c1c;border:1px solid #5a2e30;color:#e9c5c5;letter-spacing:.4px;animation:fadeIn .3s ease}.auth-message.error span{font-size:.9rem}.auth-submit-btn{background:linear-gradient(90deg,#2f5f9b,#3d79c0);color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.6px;padding:15px 22px;border:none;border-radius:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:.28s;box-shadow:0 6px 18px -8px rgba(0,0,0,.55),0 2px 6px -2px rgba(0,0,0,.4);position:relative}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.auth-submit-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(26,75,140,.55),0 3px 10px -3px rgba(0,0,0,.55)}.auth-footer-links{margin-top:4px;text-align:left}.auth-footer-links .back-link{color:#7ca9e3;font-size:.75rem;letter-spacing:.5px;text-decoration:none;font-weight:500}.auth-footer-links .back-link:hover{text-decoration:underline;color:#a9c9f0}.admin-auth-footer{grid-column:2;display:flex;flex-direction:column;gap:30px;padding-top:6px}@media (max-width:980px){.admin-auth-footer{grid-column:1;margin-top:12px;border-top:1px solid hsla(0,0%,100%,.05);padding-top:24px;flex-direction:row;flex-wrap:wrap;gap:18px}}.foot-col h4{margin:0 0 6px;font-size:.65rem;text-transform:uppercase;letter-spacing:1.2px;color:#87a7c8;font-weight:600}.foot-col p{margin:0;font-size:.7rem;line-height:1.4;color:#a8c0d7;max-width:260px}.shake{animation:shake .45s cubic-bezier(.36,.07,.19,.97) both;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}@keyframes shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-6px)}40%,60%{transform:translateX(6px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.admin-auth-wrapper::-webkit-scrollbar{width:10px}.admin-auth-wrapper::-webkit-scrollbar-track{background:hsla(0,0%,100%,.04);border-radius:10px}.admin-auth-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#2b4c72,#233b57);border-radius:10px;border:2px solid rgba(0,0,0,.25)}.admin-auth-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#386395,#2b4c72)}