@import"https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";@import"https://fonts.googleapis.com/css2?family=Libre+Barcode+39&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&display=swap";.nav-link{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;color:#ffffffb3;text-decoration:none;border-radius:var(--radius-sm);transition:var(--transition);cursor:pointer;border:none;background:none;width:100%;font-size:1rem;text-align:left;font-family:Outfit,sans-serif}@media (min-width: 48.0625rem){.sidebar{transform:translate(0)}.sidebar-overlay{display:none!important}}@media (min-width: 48.0625rem){.hamburger{display:none}}.header-actions{display:flex;align-items:center;gap:1.25rem}.user-info{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.user-role{font-size:.75rem;color:var(--text-muted)}.user-avatar{width:2.375rem;height:2.375rem;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;border:none;cursor:pointer;transition:var(--transition);font-size:.9rem}.user-avatar:hover{background:var(--primary-light);box-shadow:0 .25rem .625rem #2d5a274d}.dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);width:11.25rem;overflow:hidden;animation:slideInDown .2s ease;border:1px solid rgba(0,0,0,.05)}.dropdown-item{padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;color:var(--text-main);text-decoration:none;font-size:.9rem;cursor:pointer;background:none;border:none;width:100%;transition:var(--transition)}.dropdown-item:hover{background:#00000005;color:var(--primary)}.dropdown-divider{height:1px;background:#0000000d}@keyframes slideInDown{0%{transform:translateY(-.625rem);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 48rem){.user-info{display:none}}.modal-lg{max-width:56.25rem!important;width:95%!important}.details-content{display:flex;flex-direction:column;gap:2rem}.details-section h4{color:var(--primary-color);margin-bottom:1rem;font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.members-list-details{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:1rem}.members-list-details li{background:#ffffff0d;padding:.8rem;border-radius:.5rem;display:flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.1)}.history-table-container{background:#0003;border-radius:.5rem;border:1px solid rgba(255,255,255,.1);overflow-x:visible}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.history-table th{color:#fff;font-weight:600;background:#0000004d}.text-success{color:#2ecc71}.text-danger{color:#e74c3c}.edit-input{background:#0000004d;border:1px solid var(--primary-color);color:#fff;padding:.4rem;border-radius:.25rem;width:100%}.actions-cell{display:flex;gap:.5rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,0,.1);padding-bottom:1rem}.btn-close{background:transparent;border:none;color:#888;font-size:1.5rem;cursor:pointer;transition:color .3s}.btn-close:hover{color:#fff}.hide-on-mobile{display:table-cell}.show-on-mobile{display:none}.blur-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);display:flex;align-items:center;justify-content:center;z-index:9999}.blur-modal-content{background:#1a1a1a;padding:2rem;border-radius:.75rem;border:1px solid var(--primary-color);max-width:25rem;width:90%;box-shadow:0 .625rem 1.875rem #000c;text-align:center;color:#fff;max-height:85vh;overflow-y:auto}.blur-modal-content h3{color:var(--primary-color);margin-bottom:1.5rem}.blur-modal-content p{margin-bottom:1rem;font-size:1.1rem}.time-primary{font-weight:700;font-size:1.1rem}.date-secondary{font-size:.75rem;color:#888}@media (max-width: 48rem){.modal-lg{width:95%;max-height:90vh;overflow-y:auto}.history-table th,.history-table td{padding:.5rem}.history-table td{font-size:.9rem}.hide-on-mobile{display:none!important}.show-on-mobile{display:table-cell!important}}.modal-auth{max-width:26.25rem;padding:2rem}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header h3{font-size:1.5rem;color:var(--primary);margin-bottom:.5rem}.auth-header p{color:var(--text-muted);font-size:.9rem}.auth-error{background:#e74c3c1a;border:1px solid var(--error);color:var(--error);padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem}.btn-full{width:100%}.form-select{width:100%;padding:.75rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);font-size:1rem;font-family:Outfit,sans-serif;background:#fff;cursor:pointer}.form-select:focus{outline:none;border-color:var(--primary)}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.1)}.auth-footer p{color:var(--text-muted);font-size:.9rem}.text-link{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;padding:0;font-size:inherit}.role-options{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.role-option{display:flex;align-items:center;gap:1rem;padding:1rem;border:2px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);background:#fff}.role-option:hover{border-color:var(--primary-light)}.role-option.selected{border-color:var(--primary);background:#2d5a270d}.role-option i{font-size:1.5rem;color:var(--primary)}.role-option-info h4{font-size:1rem;margin-bottom:.25rem}.role-option-info p{font-size:.85rem;color:var(--text-muted)}.landing-auth{display:flex;gap:1rem}.landing-auth .btn{padding:.75rem 1.5rem}.user-menu{display:flex;align-items:center;gap:.75rem}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:600;font-size:.9rem;color:var(--text-main)}.user-role{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;cursor:pointer;border:2px solid transparent;transition:var(--transition)}.user-avatar:hover{border-color:var(--accent)}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:11.25rem;z-index:1000;overflow:hidden}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;width:100%;border:none;background:none;cursor:pointer;color:var(--text-main);font-size:.9rem;transition:var(--transition)}.dropdown-item:hover{background:var(--background)}.dropdown-item i{width:1.25rem;color:var(--text-muted)}.dropdown-divider{height:1px;background:#0000001a;margin:.5rem 0}.landing-page{position:relative;display:flex;justify-content:center;align-items:center;min-height:100vh;color:var(--text-light);padding:2rem;font-family:Inter,sans-serif;overflow:hidden}.landing-page-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;z-index:-2;animation:pulseBg 4s infinite ease-in-out}.landing-page-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:-1}@keyframes pulseBg{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@media (max-width: 48rem){.landing-page-bg{background-position:left center}}.landing-content{background:#ffffff26;-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);padding:4rem;border-radius:1.25rem;border:1px solid rgba(255,255,255,.2);text-align:center;max-width:37.5rem;width:100%;box-shadow:0 .625rem 1.875rem #0000004d;z-index:1}.landing-logo{max-width:9.375rem;margin-bottom:1.5rem;border-radius:50%}.landing-icon{font-size:4rem;color:var(--primary-color);margin-bottom:1.5rem}.landing-title{font-size:2.5rem;font-weight:700;margin-bottom:2rem;color:#fff;text-shadow:0 2px .25rem rgba(0,0,0,.5)}.landing-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem;text-align:left}.detail-item{display:flex;align-items:center;gap:1rem;font-size:1.1rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.detail-item i{color:var(--primary-color);width:1.5rem;text-align:center}.btn-large{padding:1rem 2.5rem;font-size:1.2rem;border-radius:1.875rem;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease}.btn-large:hover{transform:translateY(-2px);box-shadow:0 .3125rem .9375rem #2d5a2766}.flight-board{background-color:#0a0a0a;border-radius:.75rem;padding:1.5rem;font-family:Share Tech Mono,monospace;box-shadow:inset 0 0 1.25rem #000c,0 .625rem 1.875rem #00000080;color:#fff;border:.25rem solid #222}.flight-board-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #333;padding-bottom:1rem;margin-bottom:1.5rem}.flight-board-header h2{color:#f1c40f;font-size:2rem;letter-spacing:2px;margin:0;text-shadow:0 0 .625rem rgba(241,196,15,.3)}.btn-back-flight{background:transparent;color:#f1c40f;border:2px solid #f1c40f;border-radius:.5rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all .3s ease}.btn-back-flight:hover{background:#f1c40f33;transform:translate(-3px)}.live-indicator{display:flex;align-items:center;gap:.5rem;color:#2ecc71;font-weight:700;font-size:1.2rem;letter-spacing:2px}.pulse-dot{width:1rem;height:1rem;background-color:#2ecc71;border-radius:50%;box-shadow:0 0 #2ecc71b3;animation:pulse-green 1.5s infinite}.pulse-dot-small{width:.625rem;height:.625rem;background-color:#2ecc71;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:.5rem;box-shadow:0 0 #2ecc71b3;animation:pulse-green 1.5s infinite}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 #2ecc71b3}70%{transform:scale(1);box-shadow:0 0 0 .625rem #2ecc7100}to{transform:scale(.95);box-shadow:0 0 #2ecc7100}}.pulse-dot-small.waiting{background-color:#f1c40f;animation:pulse-yellow 1.5s infinite}@keyframes pulse-yellow{0%{transform:scale(.95);box-shadow:0 0 #f1c40fb3}70%{transform:scale(1);box-shadow:0 0 0 .625rem #f1c40f00}to{transform:scale(.95);box-shadow:0 0 #f1c40f00}}.pulse-dot-small.leading{background-color:#e74c3c;animation:pulse-red 1.5s infinite}@keyframes pulse-red{0%{transform:scale(.95);box-shadow:0 0 #e74c3cb3}70%{transform:scale(1);box-shadow:0 0 0 .625rem #e74c3c00}to{transform:scale(.95);box-shadow:0 0 #e74c3c00}}.pulse-dot-small.disqualified{background-color:#95a5a6;animation:pulse-gray 1.5s infinite}@keyframes pulse-gray{0%{transform:scale(.95);box-shadow:0 0 #95a5a6b3}70%{transform:scale(1);box-shadow:0 0 0 .625rem #95a5a600}to{transform:scale(.95);box-shadow:0 0 #95a5a600}}.flight-table-container{overflow-x:auto}.flight-table{width:100%;border-collapse:separate;border-spacing:0 .25rem}.flight-table th{text-align:left;padding:.75rem 1rem;color:#888;font-size:1rem;letter-spacing:1px;border-bottom:1px solid #333}.flight-table td{padding:1rem;background-color:#151515;font-size:1.5rem;letter-spacing:2px;border-top:1px solid #222;border-bottom:1px solid #222}.flight-table tr td:first-child{border-left:1px solid #222;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.flight-table tr td:last-child{border-right:1px solid #222;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.flight-number{color:#e74c3c;font-weight:700}.team-name{color:#f1c40f;text-shadow:0 0 .3125rem rgba(241,196,15,.2)}.leader-name{color:#ecf0f1}.points-col{color:#3498db;font-weight:700}.status-col{white-space:nowrap;vertical-align:middle}.empty-row{text-align:center!important;color:#555!important;font-size:1.2rem!important;padding:2rem!important}.flight-table tbody tr:hover td{background-color:#1a1a1a;border-color:#333}@media screen and (max-width: 48rem){.flight-table th,.flight-table td{padding:.5rem .25rem;font-size:.9rem}.flight-board-header h2{font-size:1.2rem}}.aviation-theme{min-height:100vh;background-color:#0d1b2a;background-image:radial-gradient(circle at 50% 50%,#1b263bcc,#0d1b2a),repeating-linear-gradient(0deg,transparent,transparent 1.1875rem,rgba(65,90,119,.1) 1.25rem),repeating-linear-gradient(90deg,transparent,transparent 1.1875rem,rgba(65,90,119,.1) 1.25rem);color:#e0e1dd;font-family:Courier New,Courier,monospace}.aviation-header{display:flex;align-items:center;padding:1rem 2rem;background:#0d1b2ae6;border-bottom:2px solid #415a77;box-shadow:0 .25rem .9375rem #00000080}.aviation-header h1{margin:0;flex:1;text-align:center;color:#778da9;text-transform:uppercase;letter-spacing:2px}.aviation-header h1 i{color:#e0e1dd;margin-right:.625rem}.btn-back{background:transparent;color:#778da9;border:1px solid #415a77;padding:.5rem 1rem;border-radius:.3125rem;cursor:pointer;font-family:inherit;transition:all .3s}.btn-back:hover{background:#415a77;color:#fff}.aviation-content{padding:2rem;max-width:75rem;margin:0 auto}.radar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:2rem}.radar-card{background:#1b263bcc;border:2px solid var(--team-color, #415a77);border-radius:.625rem;padding:1.5rem;display:flex;align-items:center;position:relative;overflow:hidden;box-shadow:0 0 .9375rem #00000080,inset 0 0 1.25rem #0000004d;transition:transform .3s}.radar-card:hover{transform:translateY(-.3125rem)}.radar-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.1) 180deg,transparent 360deg);animation:radar-sweep 4s linear infinite;pointer-events:none}@keyframes radar-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.radar-rank{font-size:2.5rem;font-weight:700;color:var(--team-color, #e0e1dd);opacity:.8;margin-right:1.5rem;text-shadow:0 0 .625rem var(--team-color)}.radar-info{flex:1;z-index:1}.radar-info h2{margin:0 0 .5rem;font-size:1.5rem;text-transform:uppercase}.radar-score{font-size:1.25rem;color:#778da9;font-weight:700}.radar-avatar{width:3.75rem;height:3.75rem;border-radius:50%;object-fit:cover;border:2px solid var(--team-color);z-index:1}.position-1{border-color:gold;box-shadow:0 0 1.25rem #ffd7004d}.position-1 .radar-rank{color:gold;text-shadow:0 0 .9375rem #ffd700}.users-container{padding:1rem}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:1rem;text-align:center!important;border-bottom:1px solid var(--border-color);word-wrap:break-word;overflow-wrap:break-word}@media (max-width: 48rem){.users-table th,.users-table td{padding:.5rem;font-size:.9rem;max-width:7.5rem;word-break:break-word}.users-table td.actions-cell-users{max-width:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;align-items:center}}.users-table th{background-color:var(--bg-light);font-weight:600;color:var(--text-dark)}.role-badge{padding:.25rem .75rem;border-radius:.9375rem;font-size:.85rem;font-weight:600}.role-admin{background-color:#ffebee;color:#c62828}.role-professor{background-color:#e3f2fd;color:#1565c0}.role-supervisor{background-color:#fff3e0;color:#ef6c00}.role-student{background-color:#e8f5e9;color:#2e7d32}.role-select{padding:.5rem;border:1px solid var(--border-color);border-radius:.3125rem;background-color:#fff;font-family:inherit;font-size:.9rem}.table-responsive{overflow-x:auto}.settings-container{padding:1rem;max-width:50rem;margin:0 auto}.settings-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.section-title{margin-top:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);color:var(--text-dark);font-size:1.2rem}.form-row{display:flex;gap:1.5rem}.form-row .form-group{flex:1}.checkbox-group{display:flex;align-items:center;gap:.5rem}.checkbox-group input[type=checkbox]{width:1.2rem;height:1.2rem;cursor:pointer}.checkbox-group label{margin-bottom:0;cursor:pointer}.approvals-container{padding:1rem}.approvals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.625rem,1fr));gap:1.5rem;padding:1rem}.approval-card{background:#fff;border-radius:.625rem;padding:1.5rem;box-shadow:0 .25rem .375rem #0000000d;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.approval-card .team-avatar{width:5rem;height:5rem;border-radius:50%;object-fit:cover;margin-bottom:.5rem}.approval-actions{display:flex;gap:.5rem;width:100%;margin-top:auto}.approval-actions .btn{flex:1;padding:.5rem;font-size:.9rem}.generated-plan-container{margin-top:2rem}.plan-header{text-align:center;margin-bottom:3rem}.plan-header h1{font-size:2.5rem;color:var(--text-main);letter-spacing:.15rem;margin-bottom:1rem;font-weight:800;text-transform:uppercase}.plan-info{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:1.1rem;color:var(--text-muted)}.dot-separator{color:var(--primary-color, var(--primary));font-size:1.5rem;line-height:1}.plan-info strong{color:var(--primary-color, var(--primary));margin-right:.3rem}.tickets-list{display:flex;flex-direction:column;gap:1.5rem}.premium-ticket{display:flex;background:#fff;border-radius:.8rem;box-shadow:0 5px 15px #0000001a;overflow:hidden;page-break-inside:avoid;color:#333;border:1px solid rgba(0,0,0,.1)}.ticket-main{flex:1;display:flex;flex-direction:column}.ticket-topbar{background:var(--primary-color, var(--primary));color:#fff;padding:.4rem 1.2rem;display:flex;justify-content:space-between;align-items:center;font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.05rem;line-height:1.3rem}.airline-name i{margin-right:.5rem;font-size:1rem}.ticket-body{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.ticket-title-large{display:flex;align-items:center;gap:.8rem;font-size:1.5rem;font-weight:800;color:var(--primary-color, var(--primary));line-height:1.1;text-transform:uppercase;margin-bottom:.2rem;word-break:break-word}.ticket-title-large i{font-size:1.8rem;color:var(--primary-color, var(--primary));transform:rotate(-15deg)}.ticket-challenge-details p{font-size:.9rem;color:#333;line-height:1.3;margin-bottom:.2rem}.ticket-challenge-details strong{color:var(--primary-color, var(--primary))}.ticket-passenger-row{display:flex;justify-content:space-between;padding-top:1.5rem;border-top:1px solid #eaeaea}.pass-box{display:flex;flex-direction:column}.pass-box small{font-size:.7rem;color:#95a5a6;text-transform:uppercase;margin-bottom:.3rem;letter-spacing:.05rem;font-weight:600}.pass-box strong{font-size:1.1rem;color:#2c3e50;font-weight:800}.ticket-rip{width:0;position:relative;border-left:2px dashed #bdc3c7}.ticket-rip:before,.ticket-rip:after{content:"";position:absolute;left:-1rem;width:2rem;height:2rem;background:var(--bg-main, #f5f6fa);border-radius:50%;border:1px solid rgba(0,0,0,.1);box-shadow:inset 0 0 5px #0000000d}.ticket-rip:before{top:-1rem}.ticket-rip:after{bottom:-1rem}@media print{.ticket-rip:before,.ticket-rip:after{background:#fff;box-shadow:none;border:1px solid #000}}.ticket-stub{width:280px;display:flex;flex-direction:column;background:#fff}.ticket-stub .ticket-topbar{justify-content:flex-end}.ticket-stub-body{padding:1rem;display:flex;flex-direction:column;height:100%;justify-content:space-between}.stub-pass{margin-bottom:.3rem}.stamp-area{display:flex;justify-content:center;align-items:center;flex:1;margin:.5rem 0}.stamp-circle{width:70px;height:70px;border:2px dashed #bdc3c7;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:#bdc3c7;text-transform:uppercase;transform:rotate(-15deg);letter-spacing:.05rem}.barcode-font{font-family:"Libre Barcode 39",monospace;font-size:3rem;color:#2c3e50;text-align:center;line-height:.6;margin-top:.5rem}@media print{@page{margin:10mm}body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;left:0;top:0;width:100%}.hide-on-print{display:none!important}.premium-ticket{box-shadow:none;border-color:#000}.ticket-topbar,.ticket-rip{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ticket-title-large i{color:#000}.ticket-rip{border-left-color:#000}.stamp-circle{border-color:#000}}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease}.popup-content{background:var(--surface);border-radius:var(--radius-md);padding:2rem;max-width:25rem;width:90%;text-align:center;box-shadow:var(--shadow-lg);transform:scale(1);animation:scaleIn .2s cubic-bezier(.175,.885,.32,1.275)}.popup-content h3{color:var(--text-main);margin-top:0;margin-bottom:1rem;font-size:1.5rem}.popup-content p{color:var(--text-main);margin-bottom:2rem;line-height:1.5;font-size:1.1rem}.popup-actions{display:flex;gap:1rem;justify-content:center}.popup-actions button{min-width:6.25rem;padding:.8rem 1.5rem;border-radius:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.app-container{display:flex;min-height:100vh}.main-content-wrapper{flex:1;min-height:100vh}@media (max-width: 48rem){.app-container{display:block}.main-content-wrapper{margin-left:0}}:root{--primary: var(--primary-color, #2c3e50);--primary-light: var(--primary-color-light, #34495e);--secondary: #88A070;--accent: #E67E22;--earth: #5D4037;--background: #FAF7F2;--surface: #FFFFFF;--text-main: #2C3E50;--text-muted: #7F8C8D;--error: #E74C3C;--success: #27AE60;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--shadow-sm: 0 .25rem .375rem rgba(0,0,0,.05);--shadow-md: 0 .625rem .9375rem -3px rgba(0,0,0,.1);--shadow-lg: 0 1.25rem 1.5625rem -.3125rem rgba(0,0,0,.1);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box;font-family:Outfit,sans-serif;scroll-behavior:smooth}textarea{resize:none;overflow:hidden;min-height:5rem;padding:.8rem;border-radius:.5rem;background:#0000000d;border:1px solid rgba(0,0,0,.2);color:var(--text-main);font-family:inherit;transition:border-color .3s;width:100%}textarea:focus{outline:none;border-color:var(--primary-color, #2ecc71)}body{background-color:var(--background);color:var(--text-main);line-height:1.6;overflow-x:hidden;min-height:100vh}.app-container{display:block;min-height:100vh}.sidebar{background-color:var(--primary);color:#fff;padding:2rem;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;width:17.5rem;z-index:1100;transform:translate(-100%);transition:var(--transition)}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1050;display:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.active{display:block}.brand{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.brand-icon{width:3rem;height:3rem;background:#ffffff1a;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.brand h2{font-size:1.3rem;font-weight:700}.nav-menu{list-style:none;flex-grow:1}.nav-item{margin-bottom:.5rem}.nav-link{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;color:#ffffffb3;text-decoration:none;border-radius:var(--radius-sm);transition:var(--transition);cursor:pointer;border:none;background:none;width:100%;font-size:1rem;text-align:left}.nav-link:hover{background:#ffffff0d}.nav-link.active{background:#ffffff26;color:#fff}.sidebar-footer{padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);color:#ffffff80}.header{background:var(--surface);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm)}.header-left{display:flex;align-items:center;gap:1rem}.hamburger{background:none;border:none;font-size:1.5rem;color:var(--primary);cursor:pointer;display:flex;align-items:center;padding:.5rem}.welcome-text h1{font-size:1.5rem;font-weight:700;color:var(--primary)}.welcome-text p{font-size:.9rem;color:var(--text-muted)}.main-content{padding:1.5rem;width:100%}.main-content-wrapper{width:100%}.btn{padding:.6rem 1.2rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:var(--transition);font-size:.95rem}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:#d35400}.btn-sm{padding:.4rem .8rem;font-size:.85rem}.btn-icon{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:var(--transition)}.btn-icon:hover{background:#0000000d;color:var(--error)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.375rem,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);padding:1.25rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center}.stat-card small{color:var(--text-muted);font-size:.85rem;display:block;margin-bottom:.25rem}.stat-card h2{font-size:1.5rem;color:var(--text-main)}.stat-card i{font-size:1.5rem;opacity:.7}.data-card{background:var(--surface);padding:1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.table-header h3{font-size:1.1rem;color:var(--text-main)}.text-link{color:var(--primary);font-size:.9rem;text-decoration:none;font-weight:600;cursor:pointer}.text-link:hover{text-decoration:underline}.text-muted{color:var(--text-muted)}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:1rem}.team-card{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding-top:1.5rem}.team-card .color-dot{width:3rem;height:3rem;border-radius:50%;margin-bottom:.5rem;border:3px solid rgba(0,0,0,.1)}.team-image{width:4rem;height:4rem;border-radius:50%;overflow:hidden;margin-bottom:.5rem;border:3px solid rgba(0,0,0,.1)}.team-image img{width:100%;height:100%;object-fit:cover}.team-card h3{font-size:1.1rem;margin-bottom:.25rem}.team-card p{color:var(--text-muted);font-size:.9rem}.team-card .btn-icon{position:static}.challenges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.25rem,1fr));gap:1rem}.challenge-card{display:flex;flex-direction:column;align-items:center;text-align:center}.challenge-card i{color:var(--primary);margin-bottom:.5rem}.challenge-card h4{font-size:1rem;margin-bottom:.25rem}.challenge-card p{color:var(--text-muted);font-size:.85rem;margin-bottom:.75rem}.table-container{width:100%;overflow-x:auto}.scoreboard-table{width:100%;border-collapse:collapse}.scoreboard-table th,.scoreboard-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.05)}.scoreboard-table th{color:var(--text-muted);font-weight:600;font-size:.85rem;text-transform:uppercase}.scoreboard-table td{font-size:.95rem}.team-info{display:flex;align-items:center;gap:.5rem}.color-dot{width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0}.team-rank-item{display:flex;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.team-rank-item:last-child{border-bottom:none}.rank-pos{font-weight:700;color:var(--primary);width:2.5rem}.team-rank-item .team-info{flex-grow:1;display:flex;align-items:center;gap:.5rem}.team-rank-image{width:1.5rem;height:1.5rem;border-radius:50%;object-fit:cover}.rank-score{font-weight:600;color:var(--accent)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal{background:var(--surface);padding:2rem;border-radius:var(--radius-md);width:100%;max-width:28.125rem;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal h3{margin-bottom:0;color:var(--text-main)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.05);padding-bottom:1rem}.btn-close{background:transparent;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;transition:var(--transition);padding:.25rem;display:flex;align-items:center;justify-content:center}.btn-close:hover{color:var(--text-main)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9rem;color:var(--text-main)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);font-size:1rem;font-family:Outfit,sans-serif;background:var(--surface);color:var(--text-main)}.form-group textarea{resize:vertical;min-height:5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions .btn{flex:1}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:3000;display:flex;flex-direction:column;gap:.5rem}.toast{background:var(--surface);padding:1rem 1.5rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.75rem;animation:slideIn .3s ease;border-left:.25rem solid var(--primary)}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--error)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 48rem){.hide-mobile{display:none}.stats-grid,.teams-grid,.challenges-grid{grid-template-columns:1fr}}@media (min-width: 48.0625rem){.sidebar{transform:translate(0)}.sidebar-overlay{display:none!important}.hamburger{display:none}.main-content-wrapper{margin-left:17.5rem;width:calc(100% - 17.5rem)}}.image-upload-container{width:100%;min-height:7.5rem}.image-upload-placeholder{width:100%;height:7.5rem;border:2px dashed rgba(0,0,0,.2);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);color:var(--text-muted)}.image-upload-placeholder:hover{border-color:var(--primary);background:#2d5a270d}.image-upload-placeholder i{font-size:2rem;margin-bottom:.5rem}.image-preview{width:100%;height:7.5rem;border-radius:var(--radius-sm);overflow:hidden;position:relative}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-image{position:absolute;top:.5rem;right:.5rem;background:#0009;color:#fff;border:none;border-radius:50%;width:1.75rem;height:1.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.remove-image:hover{background:var(--error)}.icon-select{display:flex;flex-wrap:wrap;gap:.5rem;max-height:7.5rem;overflow-y:auto;padding:.5rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);background:var(--surface)}.icon-option{width:2.5rem;height:2.5rem;border:2px solid transparent;border-radius:var(--radius-sm);background:var(--background);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.icon-option:hover{border-color:var(--primary-light);background:#2d5a271a}.icon-option.selected{border-color:var(--primary);background:#2d5a2733}.icon-option i{font-size:1.2rem;color:var(--primary)}.challenge-actions{display:flex;align-items:center;gap:.5rem;width:100%;justify-content:center}.challenge-actions .action-buttons{display:flex;gap:.25rem}.challenge-actions .action-buttons .btn-icon{position:static;padding:.4rem;font-size:.85rem}.challenge-actions .action-buttons .btn-icon:hover{color:var(--primary)}.challenge-actions .action-buttons .btn-icon:last-child:hover{color:var(--error)}.team-actions{display:flex;gap:.5rem;margin-top:.5rem}.team-actions .btn-icon:hover{color:var(--primary)}.team-actions .btn-icon:last-child:hover{color:var(--error)}.member-tag{display:flex;justify-content:space-between;align-items:center;background:#00000005;padding:.5rem .75rem;margin-bottom:.5rem;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.1);font-size:.95rem}.members-list{max-height:9.375rem;overflow-y:auto;padding-right:.3125rem}.members-list::-webkit-scrollbar{width:.25rem}.members-list::-webkit-scrollbar-thumb{background:#0000001a;border-radius:.625rem}.member-tag .remove-btn{color:var(--text-muted);cursor:pointer;background:none;border:none;font-size:1rem;opacity:0;transition:var(--transition)}.member-tag:hover .remove-btn{opacity:1;color:var(--error)}.fab-button{position:fixed;bottom:2rem;right:2rem;background:var(--primary-color, var(--primary));color:#fff;border:none;border-radius:3.125rem;padding:1rem 1.5rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 .625rem 1.5625rem #0003;cursor:pointer;z-index:5000;transition:var(--transition);font-weight:700;text-transform:uppercase;letter-spacing:.03125rem;font-size:.9rem}.fab-button i{font-size:1.2rem}.fab-button:hover{transform:translateY(-.3125rem) scale(1.05);background:var(--primary-color, var(--primary));filter:brightness(.9);box-shadow:0 .9375rem 1.875rem #0000004d}@media (max-width: 48rem){.fab-button{bottom:1.5rem;right:1.5rem;width:3.5rem;height:3.5rem;padding:0;justify-content:center;border-radius:50%}.fab-label{display:none}.fab-button i{font-size:1.5rem}}
