.opening-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at center,#1e293b,#0f172a);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .4s ease-out}.opening-container.exit{opacity:0}.opening-content{width:80%;max-width:320px;text-align:center}.opening-title-main{font-size:2.2rem;font-weight:900;color:#fff;letter-spacing:-1px;margin:0;font-style:italic;animation:slideIn .6s cubic-bezier(.22,1,.36,1)}.opening-subtitle{font-size:.75rem;color:#38bdf8;letter-spacing:3px;margin-top:5px;text-transform:uppercase;font-weight:700}.opening-loader{margin-top:50px}.loader-text{font-size:.65rem;color:#94a3b8;letter-spacing:2px;margin-bottom:8px}.loader-bar-bg{width:100%;height:2px;background:#ffffff1a;border-radius:1px;overflow:hidden}.loader-bar-fill{width:30%;height:100%;background:#38bdf8;box-shadow:0 0 8px #38bdf8;transition:width .4s ease-in-out}.loader-bar-fill.fill-complete{width:100%}.opening-footer{position:absolute;bottom:40px;left:0;width:100%;font-size:.7rem;color:#475569;letter-spacing:1px}@keyframes slideIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.login-container{height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.login-card{background:#1e293bb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:30px;border-radius:24px;border:1px solid rgba(255,255,255,.1);width:90%;max-width:400px;z-index:10;box-shadow:0 25px 50px -12px #00000080}.login-header{text-align:center;margin-bottom:25px}.login-header h2{color:#fff;font-size:1.6rem;margin:0}.login-header p{color:#a0aec0;font-size:.9rem;margin-top:5px}.pro-badge{background:#63b3ed;color:#1a202c;font-size:.7rem;padding:2px 6px;border-radius:4px;margin-left:5px;vertical-align:middle}.team-selector-label{display:block;color:#63b3ed;font-size:.8rem;font-weight:700;margin-bottom:10px;text-align:center;letter-spacing:.1rem}.carousel-viewport{position:relative;width:100%;height:160px;margin-bottom:10px;display:flex;justify-content:center;align-items:center;perspective:1200px;cursor:grab;overflow:visible;z-index:5}.carousel-viewport:active{cursor:grabbing}.carousel-stage{position:absolute;width:100px;height:100px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.23,1,.32,1)}.team-card{position:absolute;left:0;top:0;width:100px;height:100px;display:flex;justify-content:center;align-items:center;backface-visibility:visible;transform-style:preserve-3d;transition:opacity .3s ease;opacity:.4}.team-card.active{opacity:1}.team-icon-centered{width:90px!important;height:90px!important;background:#ffffff1a;border-radius:50%;display:flex!important;align-items:center;justify-content:center;border:4px solid transparent;overflow:hidden;transition:all .3s ease;position:relative;transform:translateZ(1px)}.team-card.active .team-icon-centered{border-color:#63b3ed;box-shadow:0 0 25px #63b3ed80;background:#63b3ed1a}.centered-logo{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;opacity:1!important;pointer-events:none}.logo-placeholder{font-size:2.5rem;color:#cbd5e0;font-weight:700;transform:translateZ(2px)}.selected-team-name{color:#fff;text-align:center;font-size:1rem;font-weight:700;height:1.2rem;margin-bottom:20px;text-shadow:0 0 10px rgba(99,179,237,.8)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#63b3ed;font-size:3rem;cursor:pointer;z-index:200;opacity:.5;transition:opacity .3s;padding:0 10px}.carousel-btn:hover{opacity:1}.carousel-btn.prev{left:-10px}.carousel-btn.next{right:-10px}.input-row{display:flex;gap:15px;margin-bottom:25px}.input-group{flex:1;display:flex;flex-direction:column}.input-group label{color:#94a3b8;font-size:.75rem;margin-bottom:8px;margin-left:4px}.input-group input{width:100%;box-sizing:border-box;padding:14px;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:14px;color:#fff;font-size:1.1rem;text-align:center;outline:none}.input-group input:focus{border-color:#63b3ed;background:#0f172acc}.checkbox-group{margin-bottom:25px}.checkbox-container{display:flex;align-items:center;color:#a0aec0;font-size:.85rem;cursor:pointer}.checkbox-container input{margin-right:10px;width:16px;height:16px;accent-color:#63b3ed}.login-button{width:100%;padding:18px;background:linear-gradient(135deg,#3182ce,#5a67d8);border:none;border-radius:16px;color:#fff;font-weight:700;font-size:1.1rem;cursor:pointer;transition:transform .2s}.login-button:active{transform:scale(.98)}.error-text{color:#fc8181;font-size:.8rem;text-align:center;margin-bottom:15px}.loading-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0f172a;color:#fff}.catchball-animation{display:flex;align-items:center;gap:60px;margin-bottom:30px}.glove{font-size:4rem}.ball{font-size:2rem;animation:toss-ball .8s infinite alternate ease-in-out}@keyframes toss-ball{0%{transform:translate(-50px)}to{transform:translate(50px)}}.loading-text{font-size:1rem;color:#63b3ed;font-weight:700}.top-header{display:flex;justify-content:space-between;align-items:center;padding:5px 12px;background-color:#1a202c;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;position:sticky;top:0;z-index:100;height:85px;box-sizing:border-box}.header-left{width:55px;display:flex;align-items:center}.system-logo{width:45px;height:45px;border-radius:8px;object-fit:contain;background:#ffffff0d}.header-center{flex:1;display:flex;justify-content:center;align-items:center}.team-identity-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0px}.header-team-logo{height:42px;width:auto;max-width:120px;object-fit:contain;margin-bottom:2px}.team-text-info{text-align:center;line-height:1}.team-name-display{color:#63b3ed;font-size:1.05rem;font-weight:900;margin:0}.team-id-display{color:#718096;font-size:.6rem;font-weight:700}.header-right{width:65px;display:flex;justify-content:flex-end}.user-profile-block{display:flex;flex-direction:column;align-items:center;justify-content:center}.avatar-wrapper{position:relative;width:48px;height:48px;margin-bottom:2px}.user-avatar{width:100%;height:100%;border-radius:50%;border:2px solid #63b3ed;object-fit:cover}.number-badge-tr{position:absolute;top:-4px;right:-4px;background:#63b3ed;color:#1a202c;font-size:.7rem;font-weight:900;padding:1px 4px;border-radius:6px;border:1.5px solid #1a202c;line-height:1}.user-name-label{color:#a0aec0;font-size:.75rem;font-weight:700;max-width:65px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-footer{position:fixed;bottom:0;left:0;width:100%;height:65px;background-color:#fff;border-top:1px solid #e0e0e0;display:flex;justify-content:center;align-items:center;z-index:1000;box-shadow:0 -2px 10px #0000000d}.footer-nav{display:flex;justify-content:space-around;align-items:center;width:100%;max-width:500px;height:100%;padding:0 10px}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:#666;font-size:.7rem;cursor:pointer;transition:all .2s;padding:5px;min-width:55px;outline:none}.nav-item.active{color:#007bff;font-weight:700;transform:translateY(-2px)}.nav-emoji{font-size:1.5rem;margin-bottom:2px;line-height:1.2}.nav-item:hover,.nav-item:active{color:#007bff}.nav-item.logout{color:#d9534f}.nav-item-container{position:relative;display:flex;flex-direction:column;align-items:center}.member-popup-menu{position:absolute;bottom:75px;left:50%;transform:translate(-50%);background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 5px 25px #0003;display:flex;flex-direction:column;min-width:180px;overflow:hidden;animation:fadeIn .2s ease-out;z-index:1100}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.popup-item{display:flex;align-items:center;gap:12px;padding:15px 20px;background:#fff;border:none;border-bottom:1px solid #eee;text-align:left;font-size:.95rem;color:#333;cursor:pointer;width:100%;transition:background-color .2s}.popup-emoji{font-size:1.2rem}.popup-item:last-child{border-bottom:none}.popup-item:hover{background-color:#f1f7ff}.popup-item:active{background-color:#e2efff}.admin-only{color:#f0ad4e;font-weight:700}.ml-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a;color:#fff;z-index:2000;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ml-header{display:flex;align-items:center;padding:15px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.1);height:60px;box-sizing:border-box}.ml-close-btn{background:none;border:none;color:#fff;font-size:1.5rem;width:40px;cursor:pointer;display:flex;justify-content:center;align-items:center}.ml-title{flex:1;text-align:center;font-size:1.1rem;margin:0 40px 0 0;font-weight:700;letter-spacing:1px}.ml-team-nav{display:flex;gap:12px;padding:15px;overflow-x:auto;background:#0003;-webkit-overflow-scrolling:touch}.ml-team-nav::-webkit-scrollbar{display:none}.ml-team-item{display:flex;flex-direction:column;align-items:center;min-width:65px;transition:all .3s ease;opacity:.5;cursor:pointer}.ml-team-item.active{opacity:1;transform:scale(1.05)}.ml-team-icon-wrap{width:50px;height:50px;border-radius:12px;background:#1e293b;overflow:hidden;border:2px solid transparent;margin-bottom:6px;display:flex;justify-content:center;align-items:center}.ml-team-item.active .ml-team-icon-wrap{border-color:#38bdf8;box-shadow:0 0 12px #38bdf866}.ml-team-icon{width:100%;height:100%;object-fit:contain;background:#fff}.ml-team-no-icon{font-size:.8rem;font-weight:700;color:#94a3b8}.ml-team-name{font-size:.65rem;white-space:nowrap;max-width:65px;overflow:hidden;text-overflow:ellipsis}.ml-main{flex:1;overflow-y:auto;padding:15px 15px 40px}.ml-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ml-card{background:#1e293b;border-radius:12px;padding:10px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.05);transition:background .2s}.ml-card:active{background:#334155}.ml-avatar-wrap{position:relative;width:44px;height:44px;flex-shrink:0}.ml-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.1)}.ml-number-badge{position:absolute;top:-4px;right:-4px;background:#38bdf8;color:#0f172a;font-size:.6rem;font-weight:700;padding:1px 5px;border-radius:6px;border:1.5px solid #1e293b;min-width:12px;text-align:center}.ml-card-right{display:flex;flex-direction:column;overflow:hidden}.ml-name{font-size:.85rem;font-weight:700;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ml-role{font-size:.65rem;color:#94a3b8;margin-top:2px}.ml-status{text-align:center;padding:40px;color:#64748b;font-size:.9rem}:root{--main-blue: #60a5fa;--bg-dark: #0f172a;--bg-input: #1e293b}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:#1a202c;color:#fff;-webkit-font-smoothing:antialiased}.app-viewport{min-height:100vh;display:flex;flex-direction:column}.app-header{position:fixed;top:0;width:100%;height:65px;background-color:#0f172a;display:flex;justify-content:space-between;align-items:center;padding:0 15px;box-sizing:border-box;border-bottom:1px solid #334155;z-index:100}.system-logo{width:50px;height:50px;border-radius:8px}.header-right-profile{display:flex;align-items:center;gap:12px}.user-details{text-align:right}.team-row{font-size:.75rem;color:#60a5fa;font-weight:700}.user-row{font-size:.9rem;margin-top:2px}.user-meta{font-size:.7rem;color:#94a3b8;margin-left:6px}.header-avatar{width:40px;height:40px;border-radius:50%;border:2px solid #60a5fa;object-fit:cover}.header h1{font-size:1.5rem;color:#60a5fa;margin-bottom:2rem;text-align:center;padding-top:2rem}.login-card,.profile-card{background-color:#0f172a;padding:2rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:90%;max-width:400px;margin:2rem auto}.form{display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.input-group label{color:#94a3b8;font-size:.9rem}input{padding:1rem;border-radius:8px;border:1px solid #334155;background-color:#1e293b;color:#fff;font-size:1.1rem;outline:none}input:focus{border-color:#60a5fa}button{padding:1rem;border-radius:8px;border:none;background-color:#3b82f6;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-color .2s}button:hover{background-color:#2563eb}button:disabled{background-color:#6b7280;cursor:not-allowed}.error-message{color:#ef4444;margin-top:1rem;font-size:.9rem;text-align:center}.profile-header{display:flex;align-items:center;gap:1.5rem;text-align:left}.profile-image{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #60a5fa}.profile-info h3{margin:0;font-size:1.5rem;color:#fff}.profile-info p{margin:0;color:#94a3b8;font-size:.9rem}.role-badge{display:inline-block;background-color:#334155;color:#60a5fa;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;margin-top:.5rem!important}.logout-button{margin-top:1.5rem;width:100%;background-color:#334155}.logout-button:hover{background-color:#475569}.bottom-nav{position:fixed;bottom:0;width:100%;height:70px;background-color:#0f172a;display:flex;justify-content:space-around;align-items:center;border-top:1px solid #334155;padding-bottom:env(safe-area-inset-bottom)}.nav-item{font-size:.75rem;color:#94a3b8;cursor:pointer}.logout-nav{color:#ef4444;font-weight:700}.dashboard-content{padding:85px 20px 100px;max-width:500px;margin:0 auto}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark light;color:#ffffffde;background-color:#1e293b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:block;min-height:100vh;overflow-x:hidden}#root{width:100%;min-height:100vh;margin:0;padding:0;text-align:center}
