.launch-page{align-items:center;background:linear-gradient(180deg,#086bcc,#0a1d44);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding-top:60px}.header-right{position:absolute;right:20px}.sign-in-text{color:#0c69c8;cursor:pointer;font-weight:600;margin-right:60px;margin-top:20px}.user-controls{align-items:center;display:flex;position:relative}.welcome-message{color:#0a1d44!important;margin-top:26px}.burger-menu{align-items:center;background-color:#0c69c8;border:1px solid #0c69c8;border-radius:4px;cursor:pointer;display:flex;justify-content:center;margin-right:40px;margin-top:30px;padding:10px;transition:background-color .25s,border-color .25s}.burger-menu:hover{background-color:#0b5cb0;border-color:#0b5cb0}.burger-menu:active{background-color:#094a92}.dropdown-menu{border:1px solid #e5e7eb;box-shadow:0 10px 22px #0000001f;color:#000;margin-right:17px;margin-top:10px;padding:8px;text-align:left;top:40px;width:170px;z-index:1002}.dropdown-item{border-radius:6px;cursor:pointer;padding:10px}.dropdown-item:hover{background-color:#f5f7fb}.video-container{height:90vh;margin-top:10px;overflow:hidden;position:relative;width:100%;z-index:0}video{height:100%;left:50%;object-fit:cover;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.video-container video{transition:opacity .2s ease-in-out}.video-container video.fade-out{opacity:0}.video-container video.fade-in{opacity:1}.content-container{color:#fff;margin-top:20px}.content-container,.footer{align-items:center;display:flex;flex-direction:column;width:100%}.footer{background:#fff;color:#000;margin-top:auto;padding:20px 0;text-align:center}.footer h2{color:#0a1d44;font-size:30px;margin-bottom:10px}.footer .buttons{display:flex;gap:20px;justify-content:center;margin-bottom:10px}.footer .store-button{height:auto;max-width:100%;width:150px}.footer .links{display:flex;gap:140px;justify-content:center;margin-top:10px}.footer .links a{color:#0a1d44;text-decoration:none}.footer .links a:hover{text-decoration:underline}.social-icons{display:flex;gap:20px;justify-content:center;margin-top:20px}.social-icons a{color:#0a1d44;font-size:24px}.modal{background:#00000080;height:100%;left:0;top:0;width:100%;z-index:1001}.modal-content{border-radius:12px;box-shadow:0 20px 40px #0003;padding:20px;position:relative;text-align:center;width:420px}.modal-logo{height:54px;margin-bottom:18px}.close{color:#000;font-size:24px;position:absolute;right:12px;top:12px}.close,.tab{cursor:pointer}.tab{background:#fff;border:1px solid #0c69c8;border-radius:8px;color:#0c69c8;font-weight:700;padding:8px 14px;transition:background-color .2s,color .2s,border-color .2s}.tab.active{background:#0c69c8;color:#fff}.modal-content form{align-items:center;display:flex;flex-direction:column;width:100%}.input-field,.modal-content form button,.password-container{box-sizing:border-box;margin:10px 20px;width:calc(100% - 40px)}.input-field{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:16px;outline:none;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s}.input-field::placeholder{color:#9aa3af}.input-field:focus{border-color:#0c69c8;box-shadow:0 0 0 3px #0c69c826}.password-container{background:#0000}.modal-content form button{background-color:#0c69c8;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.2px;padding:12px 14px;transition:background-color .2s,transform .05s}.modal-content form button:hover{background-color:#0a58a6}.modal-content form button:active{transform:translateY(1px)}.checkbox-row{align-items:center;color:#111827;display:flex;font-size:14px;gap:10px;justify-content:flex-start;margin:6px 20px 12px;text-align:left;width:calc(100% - 40px)}.checkbox-row input[type=checkbox]{accent-color:#0c69c8;height:18px;margin:0;width:18px}.checkbox-row label{line-height:1.2}.error{color:#c62828;font-size:14px;margin:4px 20px 8px;text-align:left;width:calc(100% - 40px)}.helper-link{color:#0c69c8;cursor:pointer;font-size:14px;margin-top:12px;text-decoration:underline}@media (max-width:768px){.footer .store-button{width:120px}.content-section{flex-direction:column;text-align:center}.content-section img{height:auto;margin:10px 0;width:100%}.footer .buttons,.footer .links{flex-direction:column;gap:10px}.footer .store-button{height:auto;width:200px}}@media (max-width:430px){.header img.logo{left:46%}.burger-menu{margin-right:20px}.modal-content{max-width:360px;padding:16px;width:92%}.sign-in-text{margin-right:30px;margin-top:20px}.welcome-message{font-size:11px}.password-container .eye-icon{right:12px}}.password-container{margin:10px 20px;position:relative;width:calc(100% - 40px)}.password-container .input-field{margin:0;padding-right:44px;width:100%}.password-container .eye-icon{color:#6b7280;cursor:pointer;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.password-container .eye-icon:hover{color:#374151}.modal-content form button:disabled{cursor:not-allowed;opacity:.6}body,html{height:100%;width:100%}.profile-page{align-items:center;background:linear-gradient(180deg,#086bcc,#0a1d44);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.burger-menu{color:#fff}.header{height:70px}.header-left{flex:1 1}.header-right{align-items:center;display:flex;flex:1 1;justify-content:flex-end}.header .logo{top:50%}.loading-container{align-items:center;display:flex;height:100vh;justify-content:center}.welcome-message{color:#fff;font-weight:700;margin-right:10px}.dropdown-menu{background-color:#fff;border:1px solid #ccc;border-radius:8px;padding:10px;position:absolute;right:20px;top:60px;z-index:1001}.dropdown-menu p{color:#0c69c8;cursor:pointer;margin:10px 0}.profile-header{align-items:center;display:flex;flex-direction:column;margin-bottom:30px;margin-top:120px;text-align:center}.profile-header input[type=file]{margin:10px 0}.profile-header h1,.profile-header h2{color:#fff;margin:10px 0 5px}.profile-img{border-radius:50%;height:150px;margin-bottom:20px;object-fit:cover;width:150px}.file-input-container{margin:10px 0;width:100%}.profile-section{background:#ffffff1a;border-radius:10px;color:#fff;margin-bottom:20px;max-width:600px;padding:20px;width:100%}.profile-section h3{border-bottom:2px solid #d5a419;color:#fff;margin-bottom:10px;padding-bottom:10px}.profile-section p,.profile-section ul{color:#fff;margin:10px 0}.profile-section ul{list-style-type:none;padding:0}.profile-section li{background:#fff3;border-radius:5px;color:#fff;cursor:pointer;margin-bottom:10px;padding:10px;transition:background-color .3s}.profile-section li:hover{background:#ffffff4d}.edit-btn,.update-btn{background-color:#0a1d44;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px;transition:background-color .3s}.edit-btn:hover,.update-btn:hover{background-color:#086bcc}.edit-btn:active,.update-btn:active{background-color:#064b8a}.edit-btn,.update-btn{margin-left:10px}.sport-details,.update-btn{margin-top:10px}.sport-details{background:#fff3;border-radius:5px;padding:10px}.sport-details p{color:#fff;margin:5px 0}.team-details{background:#fff3;border-radius:5px;margin-top:10px;padding:10px}.team-details p{color:#fff;margin:5px 0}.file-input-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:20px}#fileInput{margin-bottom:10px}.upload-instruction{color:#fff;font-size:14px;margin-top:5px}.custom-file-upload{background-color:#0a1d44;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:10px 20px;transition:background-color .3s ease,transform .3s ease}.custom-file-upload:hover{background-color:#d5a419;transform:scale(1.05)}#fileName{color:#fff;font-size:14px;margin-top:10px}.terms-page{align-items:center;display:flex;flex-direction:column;margin:0;padding:0;width:100%}.content,.terms-page{box-sizing:border-box}section{width:100%}h3,p{word-wrap:break-word}.privacy-policy-page{align-items:center;display:flex;flex-direction:column;margin:0;padding:0}p{color:#555;font-size:1em;line-height:1.6em}.support-page{align-items:center;display:flex;flex-direction:column;margin:0;padding:0}.logo{height:50px;margin-top:20px}.update-info{color:#666;font-size:1em;margin-top:10px;text-align:center}.content{margin-top:20px;max-width:800px;padding:20px;width:100%}section{margin-bottom:20px}h3{color:#333;font-size:1.5em;margin-bottom:10px}p,ul{color:#555;font-size:1em;line-height:1.6em}ul{list-style-type:disc;margin-left:20px}ul li{margin-bottom:10px}.contact-info{color:#333;margin-top:20px;text-align:center}.contact-info a{color:#3498db;text-decoration:none}.contact-info a:hover{text-decoration:underline}.email-button{background-color:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1em;margin:20px 0;padding:10px 20px}.email-button:hover{background-color:#2980b9}.faq-section{margin-top:30px}.feedback-section{margin-top:40px;text-align:center}textarea.feedback-textarea{border:1px solid #ccc;border-radius:5px;font-size:1em;height:120px;margin-bottom:20px;padding:10px;width:100%}.submit-button{border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1em;padding:10px 20px}.submit-button,.submit-button:hover{background-color:#3498db}.success-message{color:#3498db;font-size:1.1em;margin-top:15px}.header{justify-content:center;padding:10px 20px}.header img.logo{height:50px;left:48.5%;position:absolute;top:40%;transform:translate(-50%,-50%)}@media (max-width:430px){.header img.logo{left:46%}}.reset-page{align-items:center;background:linear-gradient(180deg,#086bcc,#0a1d44);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding-top:100px}.reset-container{background:#ffffff1a;border-radius:10px;box-shadow:0 4px 10px #0000004d;padding:30px}.reset-title{font-size:24px;margin-bottom:20px}.reset-error{color:#fff;font-size:16px;margin-top:20px}.reset-input{border:1px solid #ccc;border-radius:6px;margin-bottom:20px;width:80%}.reset-button,.reset-input{font-size:16px;padding:12px}.reset-button{background-color:#d5a419;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .3s ease;width:50%}.reset-button:hover{background-color:#0a1d44}.reset-container{max-width:400px;text-align:center;width:90%}.reset-loading{color:#fff;padding-top:100px;text-align:center}body,html{margin:0;overflow-x:hidden;padding:0}.sessions-page{background:linear-gradient(180deg,#086bcc,#0a1d44);box-sizing:border-box;color:#fff;font-size:14px;min-height:100vh;padding:100px 20px 20px}.sessions-page h1{color:#fff;font-size:24px;margin-bottom:30px;text-align:center}.sessions-list{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin:0 auto;max-width:1180px;width:100%}.session-card{background:#ffffff1a;border-radius:12px;box-sizing:border-box;color:#fff;padding:16px;position:relative;transition:transform .2s ease;width:280px}.share-icon{opacity:0;position:absolute;right:10px;top:10px;transition:opacity .2s ease}.session-card:hover .share-icon{opacity:1}@media (hover:none) and (pointer:coarse){.share-icon{opacity:1}}.session-card:hover{transform:translateY(-4px)}.session-card h2,.session-card p,.session-card strong{color:#fff;font-size:13px;margin:6px 0}.join-btn{background-color:#d5a419;border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-weight:700;margin:12px auto 0;padding:8px 16px;text-align:center;text-decoration:none;transition:background-color .3s ease;width:140px}.join-btn:hover{background-color:#e6b833}.sport-badge{background-color:#fff;border-radius:12px;color:#000;font-size:13px;font-weight:700;padding:4px 10px}.spots-left{color:#ff5f5f;font-size:15px;font-weight:700}.session-location-heading{color:#fff;font-size:16px;font-weight:700;margin-bottom:8px;text-align:center}.urgency{color:#ffcb05;font-weight:700;margin-bottom:6px;text-align:center}.session-details-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:12px 0}.session-details-row p{color:#fff;flex:1 1;margin:0;min-width:100px}.cta-container{background-color:#0c69c8;border-radius:12px;box-shadow:0 4px 12px #0003;color:#fff;margin:40px auto;max-width:500px;padding:30px;text-align:center}.cta-container h2{font-size:24px;margin-bottom:10px}.cta-container p{color:#fff;font-size:16px;margin-bottom:20px}.highlight-text{color:gold}.cta-button{background-color:#fff;border:none;border-radius:8px;color:#0c69c8;cursor:pointer;font-size:16px;font-weight:700;padding:12px 24px;transition:background-color .3s ease}.cta-button:hover{background-color:#f0f0f0}@media (max-width:600px){.sessions-page{padding-left:10px!important;padding-right:10px!important}.sessions-list{justify-content:center!important;max-width:100%!important;padding-left:0!important;padding-right:0!important}.session-card{margin:0 10px;max-width:none;width:280px}}.country-filter-mobile{display:inline-block;margin-left:12px;vertical-align:middle}@media (max-width:900px){.country-filter-mobile{display:block;margin-left:0;margin-top:12px;text-align:center}}.institute-page{background:linear-gradient(180deg,#f6faff,#eaf2ff 45%,#0a1d44);color:#0a1d44;min-height:100vh}:root{--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom)}.header{align-items:center;background-color:#fff;display:flex;height:calc(70px + env(safe-area-inset-top));height:calc(70px + var(--safe-top));justify-content:space-between;left:0;padding:calc(10px + env(safe-area-inset-top)) 20px 10px;padding-top:calc(10px + var(--safe-top));position:fixed;top:0;width:100%;z-index:1000}.header-left,.header-right{flex:1 1}.header .logo{height:50px;left:49%;position:absolute;top:calc(50% + env(safe-area-inset-top)/2);top:calc(50% + var(--safe-top)/2);transform:translate(-50%,-50%)}.institute-container{margin:0 auto;max-width:1200px;padding:calc(110px + env(safe-area-inset-top)) 24px calc(64px + env(safe-area-inset-bottom));padding:calc(110px + var(--safe-top)) 24px calc(64px + var(--safe-bottom))}.inst-switch{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.inst-scroll{gap:10px;overflow:auto;padding-bottom:6px}.inst-chip{border:1px solid #e5eef8;border-radius:999px;box-shadow:0 2px 10px #0a1d440f;padding:8px 12px}.inst-chip.active{box-shadow:0 6px 18px #0c69c826}.inst-chip-code{color:#6b7a99}.inst-chip-tag{background:#ecf4ff;border:1px solid #d7e5fb;border-radius:999px;color:#0c69c8}.inst-chip-tag.alt{background:#fff7e0;border-color:#f3e3a3;color:#7a5a00}.add-inst-btn{background:#0c69c8;border:1px solid #0c69c8;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:8px 12px}.add-inst-btn:hover{filter:brightness(1.05)}.topbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.topbar h1{color:#0a1d44;font-size:24px;margin:0}.filters{display:flex;flex-wrap:wrap;gap:10px}.filters input,.filters select{background:#fff;border:1px solid #e5eef8;border-radius:8px;color:#0a1d44;outline:none;padding:10px 14px;width:200px}.filters input::placeholder{color:#6b7a99}.metrics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 24px}.metric-card{background:#fff;border:1px solid #e5eef8;border-radius:12px;box-shadow:0 6px 22px #0a1d4414;color:#0a1d44;padding:20px;text-align:center}.metric-label{color:#3c4a6b;font-size:13px;margin:0}.metric-value{color:#0a1d44;font-size:22px;font-weight:800;margin:6px 0 0}.join-codes-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.code-card{background:#fff;border:1px solid #e5eef8;border-radius:12px;box-shadow:0 6px 22px #0a1d4414;color:#0a1d44;padding:20px}.code-card-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.code-card-head h3{margin:0}.code-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr auto}.code-row input{background:#fff;border:1px solid #e5eef8;border-radius:8px;color:#0a1d44;outline:none;padding:10px 14px}.primary-btn{background-color:#d5a419;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:10px 16px;transition:background-color .2s}.primary-btn:hover{background-color:#e6b833}.secondary-btn{background-color:#fff;border:1px solid #d7e5fb;border-radius:8px;color:#0c69c8;cursor:pointer;font-weight:700;padding:10px 16px;transition:background-color .2s}.secondary-btn:hover{background-color:#ecf4ff}.add-btn{background:#0c69c8;border:1px solid #0c69c8;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;margin-right:8px;padding:8px 12px}.add-btn:hover{filter:brightness(1.05)}.content-grid{grid-gap:100px;display:grid;gap:100px;grid-template-columns:2fr 1fr}.panel{background:#fff;border:1px solid #e5eef8;border-radius:12px;box-shadow:0 6px 22px #0a1d4414;color:#0a1d44;padding:20px}.panel-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.subtle{color:#6b7a99;font-size:12px}.inst-meta{align-items:flex-start;display:flex;gap:10px;margin-top:-30px}.inst-meta-code{color:#3c4a6b;font-size:12px}.inst-meta-type{color:#6b7a99;font-size:12px;text-transform:capitalize}.dept-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.dept-card{background:#fafcff;border:1px solid #e5eef8;border-radius:12px;cursor:pointer;padding:14px;transition:transform .15s ease,background-color .2s ease,box-shadow .2s}.dept-card:hover{background:#fdfeff;transform:translateY(-2px)}.dept-card.active{border-color:#0c69c8;box-shadow:0 6px 18px #0c69c826}.dept-head{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:auto 1fr auto}.dept-head h4{color:#0a1d44;font-size:16px;margin:0}.dept-subrow{align-items:center;display:flex;gap:10px;justify-content:flex-start;margin-top:6px}.dept-code{color:#6b7a99;font-size:12px}.dept-total{color:#0a1d44;font-weight:700;margin:0}.pill{border:1px solid #d7e5fb;border-radius:999px;font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase}.pill,.pill-students{background:#eef3fa;color:#0c69c8}.pill-students{border-color:#d7e5fb}.pill-teachers{background:#fff7e0;border-color:#f3e3a3;color:#7a5a00}.progress{background:#eef3fa;border-radius:999px;height:8px;margin:10px 0 8px;overflow:hidden;width:100%}.progress .bar{background:linear-gradient(90deg,#0c69c8,#d5a419);border-radius:999px;height:100%}.dept-top .mini-row{color:#0a1d44;display:flex;font-size:13px;gap:10px;justify-content:space-between;padding:4px 0}.mini-name{opacity:.95}.mini-steps{font-weight:700}.dept-expand{background:#fff;border:1px solid #e5eef8;border-radius:10px;margin-top:10px;padding:10px}.expand-head{display:flex;justify-content:space-between;margin-bottom:8px}.people-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}.person-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:28px 1fr auto}.person-row,.rank{align-items:center}.rank{background:#eef3fa;border-radius:6px;color:#0a1d44;display:flex;font-weight:800;height:24px;justify-content:center;width:24px}.person-main{display:flex;flex-direction:column;gap:6px}.person-name{color:#0a1d44;font-weight:700}.person-bar{background:#eef3fa;border-radius:999px;height:6px;overflow:hidden;width:100%}.person-bar .bar{background:#0c69c8;height:100%}.person-steps{color:#0a1d44;font-weight:800}.chip-btn{background:#f5f9ff;border:1px solid #d7e5fb;border-radius:999px;color:#0c69c8;cursor:pointer;font-size:14px;font-weight:700;padding:8px 14px}.chip-btn:hover{background:#ecf4ff}.leaderboard .leader-list{display:flex;flex-direction:column;gap:12px}.leader-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:36px 1fr auto}.badge{align-items:center;background:#eef3fa;border-radius:10px;color:#0a1d44;display:flex;font-weight:800;height:32px;justify-content:center;width:32px}.badge.gold{background:linear-gradient(135deg,gold,#e6b800);color:#0a1d44}.badge.silver{background:linear-gradient(135deg,silver,#d9d9d9);color:#0a1d44}.badge.bronze{background:linear-gradient(135deg,#cd7f32,#e09a5a);color:#0a1d44}.leader-name{color:#0a1d44;font-weight:700}.leader-steps{color:#0a1d44;font-weight:800}.rankings-panel{margin-top:24px}.rank-table{display:flex;flex-direction:column;gap:10px}.rank-row{grid-gap:12px;align-items:center;background:#fafcff;border:1px solid #e5eef8;border-radius:10px;display:grid;gap:12px;grid-template-columns:48px 1fr auto;padding:10px}.rank-medal{align-items:center;background:#eef3fa;border-radius:12px;color:#0a1d44;display:flex;font-weight:800;height:40px;justify-content:center;width:40px}.rank-medal.gold{background:linear-gradient(135deg,gold,#e6b800);color:#0a1d44}.rank-medal.silver{background:linear-gradient(135deg,silver,#d9d9d9);color:#0a1d44}.rank-medal.bronze{background:linear-gradient(135deg,#cd7f32,#e09a5a);color:#0a1d44}.rank-main{grid-gap:4px;display:grid;gap:4px;grid-template-rows:auto auto auto}.rank-name{color:#0a1d44;font-weight:800}.hash-bold-green{color:#0c69c8}.rank-geo{color:#6b7a99;font-size:12px}.rank-bar{background:#eef3fa;border-radius:999px;height:8px;margin-top:4px;overflow:hidden;width:100%}.rank-bar .bar{background:linear-gradient(90deg,#0c69c8,#d5a419);height:100%}.rank-steps{color:#0a1d44;font-weight:800;white-space:nowrap}.modal{align-items:center;background:#0a1d4459;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:2000}.modal-content{background:#fff;border:1px solid #e5eef8;border-radius:14px;box-shadow:0 12px 30px #0a1d442e;max-height:calc(100vh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100vh - 48px - var(--safe-top) - var(--safe-bottom));max-width:720px;overflow-y:auto;padding:28px 28px 32px;width:100%}.modal-head{align-items:center;display:flex;justify-content:center;margin-bottom:10px;margin-top:10px;position:relative}.modal-head h3{flex:1 1;margin:0;text-align:center}.modal-head .icon-btn{position:absolute;right:0}.inst-delete-btn,.inst-edit-btn{background:#0000;border:none;cursor:pointer;font-size:14px;padding:2px 4px}.inst-delete-btn{color:#d22}.inst-chip:hover .inst-delete-btn{opacity:1}.icon-btn{background:#f5f9ff;border:1px solid #d7e5fb;border-radius:10px;color:#0c69c8;cursor:pointer;padding:6px 10px}.icon-btn:hover{background:#ecf4ff}.form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 220px 220px;margin-bottom:12px}.form-row{display:flex;flex-direction:column;gap:6px}.form-row label{color:#3c4a6b;font-size:12px}.form-row input,.form-row select{border:1px solid #e5eef8;border-radius:8px;outline:none;padding:10px 12px}.switch{display:inline-block;height:24px;position:relative;width:44px}.switch input{height:0;opacity:0;width:0}.slider{background:#e5eef8;border-radius:24px;cursor:pointer;inset:0}.slider,.slider:before{position:absolute;transition:.2s}.slider:before{background:#fff;border-radius:50%;box-shadow:0 2px 6px #0a1d4433;content:"";height:18px;left:3px;top:3px;width:18px}.switch input:checked+.slider{background:#0c69c8}.switch input:checked+.slider:before{transform:translateX(20px)}.member-builder{margin-top:6px}.member-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.member-table{display:flex;flex-direction:column;gap:8px}.member-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 48px}.member-row.header{color:#6b7a99;font-size:12px;padding:0 4px}.member-row input{border:1px solid #e5eef8;border-radius:8px;outline:none;padding:10px 12px}.member-actions{align-items:center;display:flex;justify-content:center}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.primary-btn,.secondary-btn{min-width:100px;text-align:center}@media (max-width:1024px){.content-grid{grid-template-columns:1fr}}@media (max-width:820px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dept-grid,.join-codes-grid{grid-template-columns:1fr}.filters input,.filters select{width:100%}.rank-row{grid-template-columns:40px 1fr}.rank-steps{display:none}.form-grid{grid-template-columns:1fr}.member-row{grid-template-columns:1fr 48px}}@media (max-width:600px){.header .logo{height:42px;left:50%}.institute-container{padding:calc(90px + env(safe-area-inset-top)) 16px calc(56px + env(safe-area-inset-bottom));padding:calc(90px + var(--safe-top)) 16px calc(56px + var(--safe-bottom))}.topbar{gap:10px}.topbar h1{font-size:18px}.filters,.filters input,.filters select{width:100%}.inst-switch{align-items:stretch;flex-direction:column;gap:8px}.inst-scroll{gap:8px;padding-bottom:2px}.add-inst-btn{min-height:44px;width:100%}.content-grid{gap:16px;grid-template-columns:1fr}.metrics-grid{gap:12px;grid-template-columns:1fr}.panel{padding:14px}.leader-row{grid-template-columns:32px 1fr}.leader-steps{display:none}.rank-row{grid-template-columns:36px 1fr;padding:8px}.rank-steps{display:none}.add-btn,.chip-btn,.primary-btn,.secondary-btn{min-height:44px}.modal-actions{flex-direction:column;gap:10px}.modal-actions .primary-btn,.modal-actions .secondary-btn{width:100%}}@media (max-width:375px){.inst-chip{gap:6px;padding:6px 10px}.inst-chip-code{display:none}.dept-head h4{font-size:15px}}.dept-card,.panel,.rank-row{box-sizing:border-box}.dept-card{padding:14px 16px}.rank-row{padding:10px 16px}.dept-total,.leader-steps,.rank-steps{justify-self:end;padding-right:4px;white-space:nowrap}.dept-head{padding-inline:0}.dept-top .mini-row .mini-steps{padding-right:4px}.progress,.rank-bar{margin-right:4px}@media (max-width:600px){.leader-steps,.rank-steps{display:none}.rank-row{align-items:start;gap:8px;grid-template-areas:"medal main" ".     steps";grid-template-columns:36px 1fr;padding:10px 14px}.rank-medal{grid-area:medal}.rank-main{grid-area:main}.rank-steps{display:block;grid-area:steps;justify-self:end;margin-top:2px;padding-right:2px;white-space:nowrap}.rank-bar{margin-right:0}}.add-dept-members-btn{margin-left:auto}.member-builder .member-row input{width:100%}.dept-card .dept-media{border-radius:12px;height:auto;margin-top:12px;max-height:200px;overflow:hidden}.dept-card .dept-media img{background:#fff;border-radius:12px;height:100%;object-fit:contain;width:100%}.rank-media{border-radius:8px;flex-shrink:0;height:60px;margin-bottom:6px;overflow:hidden;width:100px}.rank-media img{display:block;height:100%;object-fit:cover;width:100%}.inst-scroll{display:flex;gap:16px;overflow-x:auto;padding:12px;scrollbar-color:#ccc #0000;scrollbar-width:thin}.inst-chip{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 6px #0000000d;flex-direction:column;gap:8px;max-width:220px;min-width:200px;padding:14px 16px;position:relative;transition:all .2s ease}.inst-chip,.inst-edit-btn{align-items:center;cursor:pointer;display:flex}.inst-edit-btn{background:#f3f4f6;border:none;border-radius:50%;color:#374151;font-size:12px;height:22px;justify-content:center;position:absolute;right:8px;top:8px;transition:background .2s ease,transform .1s ease;width:22px;z-index:2}.inst-edit-btn:hover{background:#0c69c8;color:#fff}.inst-chip:hover{box-shadow:0 4px 10px #00000014;transform:translateY(-2px)}.inst-chip.active{background:#f0f6ff;border-color:#0c69c8;box-shadow:0 0 0 2px #0c69c833}.inst-chip-img img{border-radius:8px;height:80px;object-fit:cover;width:120px}.inst-chip-content{align-items:center;display:flex;flex-direction:column;gap:4px;text-align:center}.inst-chip-name{word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden;white-space:normal}.inst-chip-code{color:#888;font-size:12px}.inst-chip-type{color:#444;font-size:12px;font-weight:600;margin-top:2px}.inst-chip-tag{background:#0c69c8;border-radius:12px;color:#fff;font-size:11px;font-weight:500;padding:2px 8px}.inst-chip-tag.alt{background-color:#d5a419;color:#fff}.inst-delete-btn{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#b91c1c;cursor:pointer;display:flex;font-size:12px;height:22px;justify-content:center;left:8px;position:absolute;top:8px;transition:background .2s ease,transform .1s ease;width:22px;z-index:2}.inst-delete-btn:hover{background:#dc2626;color:#fff}.inst-chip .inst-delete-btn,.inst-chip .inst-edit-btn{opacity:0;transform:scale(.95)}.inst-chip:hover .inst-delete-btn,.inst-chip:hover .inst-edit-btn{opacity:1;transform:scale(1)}.edit-inst-overlay{align-items:center;background:#0a1428a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.edit-inst-modal{animation:slideUp .25s ease;background:#fefefe;border-radius:14px;box-shadow:0 8px 28px #0003;max-width:90%;padding:24px;width:420px}.edit-inst-header h2{color:#0c69c8;font-size:1.4rem;margin:0}.edit-inst-header p{color:#555;font-size:.95rem;margin:4px 0 16px}.edit-inst-body label{color:#333;display:flex;flex-direction:column;font-size:.9rem;margin-bottom:16px}.edit-inst-body input,.edit-inst-body select{border:1px solid #ccc;border-radius:8px;font-size:.95rem;margin-top:6px;padding:10px 12px;transition:border .2s}.edit-inst-body input:focus,.edit-inst-body select:focus{border-color:#0c69c8;outline:none}.edit-inst-actions{display:flex;gap:10px;justify-content:flex-end}.edit-inst-cancel{background:#eee}.edit-inst-cancel,.edit-inst-save{border:none;border-radius:8px;cursor:pointer;padding:10px 16px}.edit-inst-save{background:#0c69c8;color:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.school-template-box{align-items:center;background:linear-gradient(90deg,#e6f0ff,#fff);border:2px solid #0c69c8;border-radius:12px;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding:12px}.school-template-info{align-items:center;display:flex;gap:10px}.school-template-icon{font-size:22px}.school-template-text{font-weight:700}.school-template-subtext{font-size:12px;opacity:.8}.school-template-btn{box-shadow:0 0 0 3px #0c69c840;transition:transform .15s ease,box-shadow .15s ease}.school-template-btn:hover{box-shadow:0 0 8px #0c69c866;transform:scale(1.05)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.21b9523b.css.map*/