.header{background:transparent;box-shadow:none;position:sticky;top:0;z-index:100;transition:all .3s ease}.header--scrolled{background:#fff;box-shadow:0 2px 8px #00000014}.header__container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.header__logo-nav{display:flex;align-items:center;gap:2rem}.header__logo{display:block;text-decoration:none;color:#005ec2;font-weight:700;font-size:1.25rem;cursor:pointer}.header__logo-image{height:40px;width:auto;transition:filter .3s ease}.header__logo-text{white-space:nowrap}.header__nav{display:flex;gap:2rem}.header__nav-link{text-decoration:none;color:#fffffff2;font-weight:500;font-size:1rem;transition:color .3s ease;position:relative;padding:.5rem 0;white-space:nowrap}.header__nav-link:hover{color:#fff}.header--scrolled .header__nav-link{color:#4b5563}.header--scrolled .header__nav-link:hover,.header__nav-link--active{color:#005ec2}.header__nav-link--active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#005ec2;border-radius:2px}.header__actions{display:flex;gap:1rem}.header__btn{padding:.625rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap}.header__btn--login{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.8)}.header__btn--login:hover{background:#ffffff26;border-color:#fff}.header--scrolled .header__btn--login{color:#005ec2;border-color:#005ec2}.header--scrolled .header__btn--login:hover{background:#e6f2ff}.header__btn--register{background:#fff;color:#005ec2;border:2px solid white}.header__btn--register:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 4px 8px #ffffff4d}.header--scrolled .header__btn--register{background:#005ec2;color:#fff;border-color:#005ec2}.header--scrolled .header__btn--register:hover{background:#004a99;border-color:#004a99;box-shadow:0 4px 8px #005ec24d}.header__user-info{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff3;border-radius:8px;color:#fff;font-weight:500;font-size:.9375rem;transition:all .3s ease}.header--scrolled .header__user-info{background:#e6f2ff;color:#005ec2}.header__btn--logout{background:transparent;color:#fffffff2;border:2px solid rgba(255,255,255,.8);display:flex;align-items:center;gap:.5rem}.header__btn--logout:hover{background:#ffffff26;border-color:#fff;color:#fff}.header--scrolled .header__btn--logout{color:#dc2626;border-color:#dc2626}.header--scrolled .header__btn--logout:hover{background:#fef2f2}@media (max-width: 1024px){.header__nav{gap:1.5rem}.header__nav-link{font-size:.9375rem}}@media (max-width: 768px){.header__container{padding:1rem 1.5rem;flex-wrap:wrap}.header__logo{font-size:1.125rem}.header__nav{order:3;flex-basis:100%;justify-content:space-around;gap:1rem;padding-top:1rem}.header--scrolled .header__nav{border-top-color:#e5e7eb}.header__nav-link{font-size:.875rem}.header__actions{gap:.75rem}.header__btn{padding:.5rem 1rem;font-size:.875rem}.header__user-info{font-size:.8125rem;padding:.5rem .75rem}}.footer{background:#1f2937;color:#e5e7eb;padding:3rem 0 1.5rem}.footer__container{max-width:1400px;margin:0 auto;padding:0 2rem}.footer__content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem}.footer__section{display:flex;flex-direction:column;gap:1rem}.footer__logo{display:flex;align-items:center;gap:.75rem;color:#fff;font-weight:400;font-size:1.25rem;margin-bottom:.5rem;letter-spacing:-.2px}.footer__logo-icon{color:#005ec2}.footer__description{color:#9ca3af;line-height:1.7;margin:0;font-size:.9375rem;font-weight:300;letter-spacing:.2px}.footer__heading{font-size:1.125rem;font-weight:400;color:#fff;margin:0 0 .5rem;letter-spacing:-.1px}.footer__links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.625rem}.footer__link{color:#9ca3af;text-decoration:none;font-size:.9375rem;transition:color .2s ease;font-weight:300;letter-spacing:.2px}.footer__link:hover{color:#005ec2}.footer__social{display:flex;gap:1rem}.footer__social-link{width:40px;height:40px;border-radius:8px;background:#374151;color:#9ca3af;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s ease}.footer__social-link:hover{background:#005ec2;color:#fff;transform:translateY(-2px)}.footer__bottom{padding-top:2rem;border-top:1px solid #374151;text-align:center}.footer__copyright{color:#9ca3af;font-size:.875rem;margin:0;font-weight:300;letter-spacing:.2px}@media (max-width: 1024px){.footer__content{grid-template-columns:1fr 1fr;gap:2rem}}@media (max-width: 768px){.footer{padding:2.5rem 0 1.5rem}.footer__container{padding:0 1.5rem}.footer__content{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer__section{gap:.75rem}.footer__logo{font-size:1.125rem}.footer__heading{font-size:1rem}.footer__bottom{padding-top:1.5rem}}.home-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#e8ecf1)}.home-page__content{flex:1}.hero{padding:12rem 2rem 8rem;text-align:center;background:radial-gradient(circle at 20% 50%,rgba(255,215,0,.1) 0%,transparent 50%),radial-gradient(circle at 80% 30%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 50% 80%,rgba(0,200,255,.12) 0%,transparent 50%),linear-gradient(135deg,#001f3d,#003d7a 25%,#005ec2 75%,#0077ed);color:#fff;position:relative;min-height:100vh;margin-top:-80px;display:flex;align-items:center;justify-content:center}.hero__container{max-width:1200px;margin:0 auto;position:relative;z-index:2}.hero__title{font-size:5rem;font-weight:300;margin:0 0 1rem;line-height:1.2;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);letter-spacing:-1px}.hero__subtitle{font-size:1.5rem;font-weight:300;margin:0 0 3rem;line-height:1.6;max-width:700px;margin-left:auto;margin-right:auto;opacity:.9;text-shadow:0 1px 4px rgba(0,0,0,.2);letter-spacing:.5px}.hero__cta{margin-top:3rem;display:flex;justify-content:center;align-items:center}.hero__cta-button{display:inline-flex;align-items:center;justify-content:center;padding:1.25rem 3.5rem;background:linear-gradient(135deg,#fff,#f8fafc);color:#005ec2;text-decoration:none;border-radius:50px;font-size:1.2rem;font-weight:600;letter-spacing:.5px;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff4d,inset 0 1px #fffc;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid rgba(255,255,255,.5);position:relative;overflow:hidden;text-transform:uppercase}.hero__cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(0,94,194,.1) 50%,transparent 100%);transition:left .6s ease}.hero__cta-button:hover:before{left:100%}.hero__cta-button:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 16px 48px #0006,0 0 0 1px #ffffff80,inset 0 1px #ffffffe6,0 0 20px #005ec24d;background:linear-gradient(135deg,#f8fafc,#fff);border-color:#fffc}.hero__cta-button:active{transform:translateY(-2px) scale(1.01)}.about-section{padding:6rem 2rem;background:linear-gradient(to bottom,#fff,#f8fafc)}.about-container{max-width:900px;margin:0 auto}.about-title{font-size:2.5rem;font-weight:300;color:#001f3d;text-align:center;margin-bottom:3rem;letter-spacing:-.5px}.about-content{display:flex;flex-direction:column;gap:1.5rem}.about-text{font-size:1.125rem;line-height:1.8;color:#334155;margin:0;text-align:center;font-weight:300;letter-spacing:.2px}.process-section{padding:6rem 2rem;background:linear-gradient(135deg,#001f3d,#003d7a,#005ec2);position:relative;overflow:hidden}.process-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(0,119,237,.1) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(0,94,194,.1) 0%,transparent 50%);pointer-events:none}.process-container{max-width:1200px;margin:0 auto;position:relative;z-index:1}.process-title{font-size:2.5rem;font-weight:300;color:#fff;text-align:center;margin-bottom:1rem;letter-spacing:-.5px}.process-subtitle{font-size:1.125rem;color:#fffc;text-align:center;margin-bottom:4rem;font-weight:300}.process-timeline{display:flex;flex-direction:column;gap:2rem;max-width:800px;margin:0 auto}.process-phase{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2.5rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;position:relative}.process-phase:hover{transform:translateY(-8px);background:#ffffff14;border-color:#fff3;box-shadow:0 20px 40px #0000004d}.phase-number{position:absolute;top:-20px;left:2.5rem;font-size:3rem;font-weight:200;color:#ffffff26;line-height:1;letter-spacing:-2px}.phase-content{position:relative}.phase-icon-wrapper{width:64px;height:64px;background:#ffffff1a;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.2)}.phase-icon{color:#fff}.phase-title{font-size:1.75rem;font-weight:400;color:#fff;margin-bottom:1rem;letter-spacing:-.3px}.phase-description{font-size:1rem;line-height:1.7;color:#fffc;margin-bottom:2rem;font-weight:300}.phase-features{display:flex;flex-direction:column;gap:.875rem}.phase-feature{display:flex;align-items:center;gap:.75rem;color:#ffffffe6;font-size:.9375rem;font-weight:300}.feature-icon{color:#fbbf24;flex-shrink:0}.process-divider{display:flex;justify-content:center;align-items:center;position:relative;margin:1rem 0}.divider-line{display:none}.divider-icon{font-size:1.5rem;color:#fff;font-weight:300;transform:rotate(90deg)}.hero__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:.875rem 2rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:400;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;letter-spacing:.3px}.btn--primary{background:#fff;color:#005ec2;box-shadow:0 4px 12px #00000026}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.btn--secondary{background:transparent;color:#fff;border:2px solid white}.btn--secondary:hover{background:#ffffff1a;transform:translateY(-2px)}.btn--large{padding:1rem 2.5rem;font-size:1.125rem}.features{padding:5rem 2rem}.features__container{max-width:1200px;margin:0 auto}.features__title{font-size:2.5rem;font-weight:300;text-align:center;margin:0 0 3rem;color:#1f2937;letter-spacing:-.5px}.features__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 4px 12px #00000014;transition:all .3s ease;text-align:center}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 28px #00000026}.feature-card__icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#005ec2,#004a99);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff}.feature-card__title{font-size:1.5rem;font-weight:400;margin:0 0 1rem;color:#1f2937;letter-spacing:-.3px}.feature-card__description{font-size:.9375rem;line-height:1.7;color:#6b7280;margin:0;font-weight:300;letter-spacing:.2px}.cta{padding:5rem 2rem;background:linear-gradient(135deg,#004a99,#005ec2);color:#fff;text-align:center}.cta__container{max-width:800px;margin:0 auto}.cta__title{font-size:2.5rem;font-weight:300;margin:0 0 1rem;line-height:1.3;letter-spacing:-.5px}.cta__description{font-size:1.0625rem;line-height:1.7;margin:0 0 2rem;opacity:.9;font-weight:300;letter-spacing:.2px}@media (max-width: 768px){.hero{padding:8rem 1.5rem 4rem;min-height:100vh}.hero:before{width:100%;opacity:.15}.hero__title{font-size:2.5rem}.hero__subtitle{font-size:1.125rem;letter-spacing:.3px;margin-bottom:2rem}.hero__cta-button{font-size:1rem;padding:1rem 2.5rem}.about-section{padding:4rem 1.5rem}.about-title{font-size:2rem}.about-text{font-size:1rem;line-height:1.7}.process-section{padding:4rem 1.5rem}.process-title{font-size:2rem}.process-subtitle{font-size:1rem;margin-bottom:3rem}.process-timeline{gap:1.5rem}.process-phase{padding:2rem}.phase-title{font-size:1.5rem}.phase-description{font-size:.9375rem}.process-divider{margin:.5rem 0}.features{padding:3rem 1.5rem}.features__title{font-size:2rem}.features__grid{grid-template-columns:1fr;gap:1.5rem}.feature-card{padding:2rem}.cta{padding:3rem 1.5rem}.cta__title{font-size:2rem}.cta__description{font-size:1rem}}.form-group label{font-size:.875rem;font-weight:400;color:#1a202c;letter-spacing:.2px}.input-wrapper{display:flex;align-items:center;gap:.75rem;height:50px;padding:0 .75rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:all .2s}.input-wrapper:focus-within{border-color:#005ec2;box-shadow:0 0 0 3px #005ec21a}.input-wrapper svg{color:#718096;flex-shrink:0}.input-wrapper input{flex:1;border:none!important;outline:none!important;box-shadow:none!important;font-size:.9375rem;color:#1a202c;background:transparent;font-weight:300;letter-spacing:.2px}.input-wrapper input:focus{outline:none!important;border:none!important;box-shadow:none!important;background:transparent!important}.input-wrapper input:focus-visible{outline:none!important;border:none!important;box-shadow:none!important}.input-wrapper input:active{outline:none!important;border:none!important;box-shadow:none!important}.input-wrapper input::-moz-placeholder{color:#a0aec0}.input-wrapper input::placeholder{color:#a0aec0}.field-hint{font-size:.75rem;color:#718096;margin:0;letter-spacing:.2px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#005ec2,#0073e6);padding:2rem 1rem}.login-container{width:100%;max-width:450px}.login-card{background:#fff;border-radius:16px;padding:3rem 2.5rem;box-shadow:0 20px 60px #0000004d}.login-card h1{font-size:2rem;font-weight:300;color:#1a202c;margin:0 0 .5rem;text-align:center;letter-spacing:-.3px}.login-subtitle{color:#718096;text-align:center;margin:0 0 2rem;font-size:.9375rem;font-weight:300;letter-spacing:.2px;line-height:1.6}.login-form{display:flex;flex-direction:column;gap:0}.login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.login-form .form-group label{font-size:.875rem;font-weight:400;color:#1a202c;letter-spacing:.2px}.login-form .input-wrapper{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:all .2s}.login-form .input-wrapper:focus-within{border-color:#005ec2;box-shadow:0 0 0 3px #005ec21a}.login-form .input-wrapper svg{color:#718096;flex-shrink:0}.login-form .input-wrapper input{flex:1;border:none;outline:none;box-shadow:none;font-size:.9375rem;color:#1a202c;background:transparent;font-weight:300;letter-spacing:.2px}.login-form .input-wrapper input:focus{outline:none;border:none;box-shadow:none}.login-form .input-wrapper input::-moz-placeholder{color:#a0aec0}.login-form .input-wrapper input::placeholder{color:#a0aec0}.login-form .error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c00;font-size:.875rem}.login-form .btn-primary{padding:.875rem 1.5rem;background:linear-gradient(135deg,#005ec2,#0073e6);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:400;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #005ec233;letter-spacing:.3px}.login-form .btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #005ec24d;transform:translateY(-1px)}.login-form .btn-primary:disabled{opacity:.6;cursor:not-allowed}.register-link{text-align:center;color:#718096;font-size:.875rem;margin:1.5rem 0 0;font-weight:300;letter-spacing:.2px}.register-link a{color:#005ec2;font-weight:400;text-decoration:none}.register-link a:hover{text-decoration:underline}@media (max-width: 640px){.login-card{padding:2rem 1.5rem}.login-card h1{font-size:1.5rem}}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#005ec2,#0073e6);padding:2rem 1rem}.register-container{width:100%;max-width:450px}.register-card,.success-card{background:#fff;border-radius:16px;padding:3rem 2.5rem;box-shadow:0 20px 60px #0000004d}.register-card h1{font-size:2rem;font-weight:300;color:#1a202c;margin:0 0 .5rem;text-align:center;letter-spacing:-.3px}.register-subtitle{color:#718096;text-align:center;margin:0 0 2rem;font-size:.9375rem;font-weight:300;letter-spacing:.2px;line-height:1.6}.register-form{display:flex;flex-direction:column;gap:0}.register-form .error-message{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#c53030;font-size:.875rem}.register-form .error-message svg{flex-shrink:0}.register-form .info-note{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#e6f2ff;border:1px solid #b3d9ff;border-radius:8px;color:#004085;font-size:.8125rem;line-height:1.5;margin-bottom:1rem}.register-form .info-note svg{flex-shrink:0;margin-top:.125rem}.register-form .btn-primary,.success-card .btn-primary{padding:.875rem 1.5rem;background:linear-gradient(135deg,#005ec2,#0073e6);color:#fff;border:none;border-radius:8px;font-weight:400;font-size:.9375rem;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none;text-align:center;display:inline-block;letter-spacing:.3px}.register-form .btn-primary:hover:not(:disabled),.success-card .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #005ec266}.register-form .btn-primary:active:not(:disabled),.success-card .btn-primary:active:not(:disabled){transform:translateY(0)}.register-form .btn-primary:disabled,.success-card .btn-primary:disabled{opacity:.6;cursor:not-allowed}.login-link{text-align:center;color:#718096;font-size:.875rem;margin:1.5rem 0 0;font-weight:300;letter-spacing:.2px}.login-link a{color:#005ec2;font-weight:400;text-decoration:none}.login-link a:hover{text-decoration:underline}.success-card{text-align:center}.success-icon{color:#48bb78;margin:0 auto 1.5rem}.success-card h2{font-size:1.75rem;font-weight:300;color:#1a202c;margin:0 0 1rem;letter-spacing:-.3px}.success-card p{color:#4a5568;margin:0 0 1rem;line-height:1.7;font-weight:300;letter-spacing:.2px}.success-card p strong{color:#2d3748}.success-description{font-size:.875rem;margin-bottom:2rem!important}.file-upload-label{display:block;cursor:pointer;border:2px dashed #cbd5e0;border-radius:12px;overflow:hidden;transition:all .3s}.file-upload-label:hover{border-color:#005ec2;background:#f7fafc}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:.75rem;color:#718096;text-align:center}.upload-placeholder svg{color:#a0aec0}.upload-placeholder span{font-weight:400;color:#4a5568;letter-spacing:.2px}.upload-placeholder small{font-size:.75rem;color:#a0aec0}.avatar-preview{position:relative;width:100%;aspect-ratio:1;max-height:300px}.avatar-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity .3s;color:#fff;font-weight:400;letter-spacing:.3px}@media (max-width: 640px){.register-card,.success-card{padding:2rem 1.5rem}.register-card h1{font-size:1.5rem}.upload-placeholder{padding:2rem 1rem}}.confirm-email-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#005ec2,#0073e6);padding:2rem 1rem}.confirm-container{width:100%;max-width:500px}.confirm-card{background:#fff;border-radius:16px;padding:3rem 2.5rem;box-shadow:0 20px 60px #0000004d;text-align:center}.status-icon{margin:0 auto 1.5rem}.status-icon.loading{color:#005ec2;animation:spin 1s linear infinite}.status-icon.success{color:#48bb78}.status-icon.error{color:#f56565}.confirm-card h1{font-size:2rem;font-weight:700;color:#1a202c;margin:0 0 1rem}.confirm-card p{color:#4a5568;margin:0 0 1rem;line-height:1.6;font-size:1rem}.info-message{font-size:.95rem;color:#2d3748;margin-top:.5rem!important;margin-bottom:.5rem!important;font-weight:500}.action-buttons{display:flex;gap:1rem;margin-top:2rem;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.875rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none;display:inline-block}.btn-primary{background:linear-gradient(135deg,#005ec2,#0073e6);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #005ec266}.btn-secondary{background:#fff;color:#005ec2;border:2px solid #005ec2}.btn-secondary:hover{transform:translateY(-2px);background:#f7fafc}@media (max-width: 640px){.confirm-card{padding:2rem 1.5rem}.confirm-card h1{font-size:1.5rem}.action-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.group-voting-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:20px;transition:all .3s ease;display:flex;flex-direction:column;height:100%}.group-voting-card:hover{border-color:#3b82f6;box-shadow:0 8px 20px #3b82f61a;transform:translateY(-2px)}.group-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.group-title-section{flex:1}.group-title-section h3{margin:0 0 8px;font-size:20px;font-weight:700;color:#1f2937}.group-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.group-type-badge.pair{background:#dbeafe;color:#1e40af}.group-type-badge.trio{background:#d1fae5;color:#065f46}.group-vote-count{background:#f3f4f6;color:#374151;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600}.group-members{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;flex:1}.group-member-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f9fafb;border-radius:12px;transition:background .2s}.group-member-item:hover{background:#f3f4f6}.member-position-badge{width:28px;height:28px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.group-member-avatar{width:48px;height:48px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0;border:2px solid white;box-shadow:0 2px 4px #0000001a}.group-member-avatar.placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:20px;font-weight:600}.group-member-info{flex:1;min-width:0}.group-member-name{margin:0;font-size:15px;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-member-talent{margin:2px 0 0;font-size:13px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voting-actions{display:flex;flex-direction:column;gap:12px;margin-top:auto}.current-vote-indicator{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:10px 16px;border-radius:10px;text-align:center;font-weight:600;font-size:14px}.point-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.point-btn{padding:12px;border:2px solid #e5e7eb;background:#fff;border-radius:10px;font-size:18px;font-weight:700;color:#6b7280;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.point-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.point-btn.active{border-color:#3b82f6;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.remove-vote-btn{padding:10px 16px;border:2px solid #fecaca;background:#fff;border-radius:10px;font-size:14px;font-weight:600;color:#dc2626;cursor:pointer;transition:all .2s}.remove-vote-btn:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.remove-vote-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 768px){.group-voting-card{padding:16px}.group-card-header{flex-direction:column;align-items:flex-start;gap:8px}.group-title-section h3{font-size:18px}.point-buttons{gap:6px}.point-btn{padding:10px;font-size:16px}}.nomination-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(to bottom,#f8fafc,#fff)}.no-employees,.no-groups{grid-column:1 / -1;text-align:center;padding:64px 32px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;align-items:center;gap:16px}.no-groups svg{color:#cbd5e1}.no-groups h3{margin:0;font-size:24px;color:#334155;font-weight:600}.no-employees p,.no-groups p{font-size:18px;color:#64748b;margin:8px 0}.no-employees p:first-child{font-weight:400;color:#334155;font-size:20px;letter-spacing:-.2px}.header-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.view-toggle{display:flex;gap:8px;background:#f1f5f9;padding:4px;border-radius:10px}.view-toggle button{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.view-toggle button:hover{color:#334155}.view-toggle button.active{background:#fff;color:#3b82f6;box-shadow:0 1px 2px #0000000d}.create-group-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633;text-decoration:none}.create-group-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d;color:#fff}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px;margin-top:32px}.nomination-page__content{flex:1}.voting-content-section{max-width:1400px;width:100%;margin:0 auto;padding:64px 32px}.voting-content-container{width:100%}.nomination-header{text-align:center;margin-bottom:64px}.nomination-header h1{font-size:48px;font-weight:300;color:#1e293b;margin-bottom:24px;letter-spacing:-1px}.employee-card .btn{width:calc(100% - 32px);margin:0 16px 16px;padding:10px 20px;font-size:14px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;padding:40px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}.modal-content h2{font-size:24px;font-weight:400;color:#1e293b;margin-bottom:24px;letter-spacing:-.3px}.modal-content .form-group{margin-bottom:20px}.modal-content .form-group label{display:block;font-size:14px;font-weight:400;color:#1e293b;margin-bottom:8px;letter-spacing:.2px}.modal-content .form-group input,.modal-content .form-group textarea{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:15px;color:#1e293b;transition:all .2s;font-family:inherit;font-weight:300;letter-spacing:.2px}.modal-content .form-group input:focus,.modal-content .form-group textarea:focus{outline:none;border-color:#005ec2;box-shadow:0 0 0 3px #005ec21a}.modal-content .form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.nomination-page .btn,.nominee-card .btn,.modal-content .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:400;cursor:pointer;transition:all .2s;letter-spacing:.3px}.nomination-page .btn--primary,.nominee-card .btn--primary,.modal-content .btn--primary{background:linear-gradient(135deg,#005ec2,#0077ed);color:#fff;box-shadow:0 2px 8px #005ec233}.nomination-page .btn--primary:hover,.nominee-card .btn--primary:hover,.modal-content .btn--primary:hover{box-shadow:0 4px 12px #005ec24d;transform:translateY(-1px)}.nomination-page .btn--secondary,.nominee-card .btn--secondary,.modal-content .btn--secondary{background:#fff;color:#005ec2;border:1px solid #e2e8f0}.nomination-page .btn--secondary:hover,.nominee-card .btn--secondary:hover,.modal-content .btn--secondary:hover{background:#f8fafc;border-color:#005ec2}@media (max-width: 768px){.nomination-page__content{padding:60px 20px 40px}.nomination-header h1{font-size:32px}.timer-card{font-size:16px;padding:12px 24px}.employees-section{padding:24px}.employees-header{flex-direction:column;align-items:flex-start}.search-box{width:100%}.employees-grid{grid-template-columns:1fr}.modal-content{padding:24px}}.phase-indicator{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1.5rem;border-radius:16px;position:relative;overflow:hidden}.phase-indicator:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:.1;background:linear-gradient(45deg,transparent,rgba(255,255,255,.5),transparent);animation:shimmer 3s infinite}.nomination-phase{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:3px solid rgba(255,255,255,.2)}.final-phase{background:linear-gradient(135deg,gold,#ffed4e);color:#1a202c;border:3px solid rgba(255,215,0,.3);box-shadow:0 8px 32px #ffd7004d}.phase-icon{width:3rem;height:3rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));position:relative;z-index:1}.crown-icon{color:#b8860b!important;animation:pulse-crown 2s infinite}.phase-indicator h2{font-size:1.75rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1}.phase-description{font-size:1.1rem;margin:.25rem 0 0;opacity:.95;font-weight:500;position:relative;z-index:1}.final-note{display:block;margin-top:.5rem;font-weight:600;color:#b8860b;text-shadow:0 1px 2px rgba(0,0,0,.1)}.voting-instructions{background:#fffffff2;padding:1.25rem;border-radius:12px;margin-top:1rem;border-left:4px solid #667eea;box-shadow:0 4px 12px #0000000d}.final-phase+.voting-instructions{border-left-color:gold;background:#fff7edf2}@keyframes shimmer{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}@keyframes pulse-crown{0%,to{transform:scale(1);filter:drop-shadow(0 2px 8px rgba(184,134,11,.3))}50%{transform:scale(1.05);filter:drop-shadow(0 4px 12px rgba(184,134,11,.5))}}.final-phase~* .group-card{border:2px solid rgba(255,215,0,.3);box-shadow:0 8px 25px #ffd70026;position:relative}.final-phase~* .group-card:before{content:"🎭";position:absolute;top:-8px;right:-8px;font-size:1.5rem;background:linear-gradient(135deg,gold,#ffed4e);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #ffd70066;border:2px solid white;z-index:10}@media (max-width: 768px){.phase-indicator{flex-direction:column;text-align:center;padding:1.25rem}.phase-indicator h2{font-size:1.5rem}.phase-description{font-size:1rem}.phase-icon{width:2.5rem;height:2.5rem}}.hero-section{padding:8rem 2rem 6rem;text-align:center;background:radial-gradient(circle at 20% 50%,rgba(255,215,0,.1) 0%,transparent 50%),radial-gradient(circle at 80% 30%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 50% 80%,rgba(0,200,255,.12) 0%,transparent 50%),linear-gradient(135deg,#001f3d,#003d7a 25%,#005ec2 75%,#0077ed);color:#fff;position:relative;margin-top:-80px;display:flex;align-items:center;justify-content:center}.hero-section.final-phase{background:radial-gradient(circle at 20% 50%,rgba(255,215,0,.2) 0%,transparent 50%),radial-gradient(circle at 80% 30%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 50% 80%,rgba(255,140,0,.15) 0%,transparent 50%),linear-gradient(135deg,#b8860b,#daa520 25%,gold 75%,#ffed4e);color:#1a1a1a}.hero-container{max-width:1200px;margin:0 auto;position:relative;z-index:1}.hero-content{max-width:600px;margin:0 auto}.phase-badge{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff26;padding:.75rem 1.5rem;border-radius:50px;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);font-weight:600;margin-bottom:2rem;text-transform:uppercase;letter-spacing:.5px}.final-phase .phase-badge{background:#0000001a;border:1px solid rgba(0,0,0,.2)}.phase-badge-icon{width:1.2rem;height:1.2rem}.hero-title{font-size:3.5rem;font-weight:300;margin:0 0 1rem;text-shadow:0 4px 20px rgba(0,0,0,.3);letter-spacing:-1px}.hero-subtitle{font-size:1.25rem;margin:0 0 2rem;opacity:.9;font-weight:300;line-height:1.6}.hero-period-info{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:2rem;margin-bottom:3rem;max-width:500px;margin-left:auto;margin-right:auto}.final-phase .hero-period-info{background:#0000000d;border:1px solid rgba(0,0,0,.1)}.period-title{font-size:1.5rem;font-weight:300;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.period-dates{font-size:1rem;opacity:.9;display:flex;flex-direction:column;gap:.5rem;font-weight:300}.period-date{display:flex;align-items:center;justify-content:center;gap:.5rem}.calendar-icon{width:1.2rem;height:1.2rem}.hero-stats{display:flex;justify-content:center;gap:3rem;margin-top:2rem}.stat-item{text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:300;margin-bottom:.5rem;text-shadow:0 4px 20px rgba(0,0,0,.3)}.stat-label{font-size:.9rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px;font-weight:300}@media (max-width: 768px){.hero-section{padding:6rem 1rem 4rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-period-info{padding:1.5rem;max-width:90%}.period-title{font-size:1.3rem}.period-dates{font-size:.9rem}.hero-stats{gap:2rem}.stat-number{font-size:2rem}}@media (max-width: 480px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-stats{flex-direction:column;gap:1.5rem}.phase-badge{font-size:.8rem;padding:.5rem 1rem}}.timer-display{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1rem 1.5rem;font-size:1.1rem;font-weight:500;margin-top:1rem}.final-phase .timer-display{background:#0000001a;border:1px solid rgba(0,0,0,.2)}.timer-display svg{flex-shrink:0}.timer-display span{line-height:1}@media (max-width: 768px){.timer-display{font-size:1rem;padding:.875rem 1.25rem}}.voting-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(to bottom,#f8fafc,#fff)}.voting-page .header{background:#fff!important;box-shadow:0 2px 8px #00000014!important;transition:none!important}.voting-page .header__nav-link{color:#4b5563!important}.voting-page .header__nav-link:hover{color:#005ec2!important}.voting-page .header__btn--login{color:#005ec2!important;border-color:#005ec2!important}.voting-page .header__btn--login:hover{background:#e6f2ff!important}.voting-page .header__btn--register{background:#005ec2!important;color:#fff!important;border-color:#005ec2!important}.voting-page .header__btn--register:hover{background:#004a99!important;border-color:#004a99!important;box-shadow:0 4px 8px #005ec24d!important}.voting-page .header__user-info{background:#e6f2ff!important;color:#005ec2!important}.voting-page .header__btn--logout{color:#dc2626!important;border-color:#dc2626!important}.voting-page .header__btn--logout:hover{background:#fef2f2!important}.voting-page__content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:80px 32px 64px}.voting-header{text-align:center;margin-bottom:64px;display:flex;flex-direction:column;align-items:center;gap:24px}.voting-header h1{font-size:48px;font-weight:300;color:#1e293b;letter-spacing:-1px;margin:0}.voting-subtitle{font-size:20px;color:#64748b;font-weight:300;letter-spacing:.2px;margin:0}.timer-card{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,#005ec2,#0077ed);color:#fff;padding:16px 32px;border-radius:12px;font-size:18px;font-weight:400;box-shadow:0 4px 12px #005ec233;letter-spacing:.3px}.timer-card svg{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.points-tracker{display:inline-flex;align-items:center;gap:16px;padding:16px 32px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;box-shadow:0 4px 15px #667eea4d}.points-tracker .points-label{color:#ffffffe6;font-weight:500;font-size:18px;letter-spacing:.3px}.points-tracker .points-value{color:#fff;font-size:28px;font-weight:700}.points-tracker .points-value.complete{color:#4ade80}.phase-message{text-align:center;padding:48px 32px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px}.phase-message p{font-size:18px;color:#64748b;line-height:1.7;font-weight:300;letter-spacing:.2px}.no-period{text-align:center;padding:80px 32px}.no-period h2{font-size:32px;color:#1e293b;margin-bottom:16px;font-weight:300;letter-spacing:-.5px}.no-period p{font-size:18px;color:#64748b;font-weight:300;letter-spacing:.2px}.employees-section{background:#fff;padding:40px;border-radius:16px;box-shadow:0 2px 8px #0000000f}.employees-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;flex-wrap:wrap;gap:20px}.employees-header h2{font-size:32px;font-weight:300;color:#1e293b;margin-bottom:8px;letter-spacing:-.5px}.voting-instructions{font-size:15px;color:#64748b;line-height:1.7;margin:0;font-weight:300;letter-spacing:.2px}.voting-instructions strong{color:#005ec2;font-weight:500}.search-box{display:flex;align-items:center;gap:12px;background:#f8fafc;padding:10px 16px;border-radius:8px;border:1px solid #e2e8f0;min-width:250px}.search-box svg{color:#64748b;flex-shrink:0}.search-box input{border:none;background:none;outline:none;flex:1;font-size:15px;color:#1e293b;font-weight:300;letter-spacing:.2px}.search-box input::-moz-placeholder{color:#94a3b8}.search-box input::placeholder{color:#94a3b8}.employees-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.no-employees{grid-column:1 / -1;text-align:center;padding:64px 32px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a}.no-employees p{font-size:18px;color:#64748b;margin:8px 0}.employee-card{background:#fff;border-radius:16px;overflow:hidden;border:2px solid #e2e8f0;transition:all .3s;display:flex;flex-direction:column}.employee-card:hover{box-shadow:0 8px 24px #005ec226;transform:translateY(-4px);border-color:#005ec2}.employee-card--voted{border-color:#0077ed;background:linear-gradient(to bottom,#f0f7ff,#fff)}.employee-image{width:100%;aspect-ratio:1;overflow:hidden;background:#f1f5f9;position:relative}.employee-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vote-badge{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,#005ec2,#0077ed);color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;box-shadow:0 2px 8px #005ec24d;letter-spacing:.3px}.employee-info{padding:16px;flex:1;display:flex;flex-direction:column;gap:8px}.employee-info h3{font-size:18px;font-weight:400;color:#1e293b;margin:0;letter-spacing:-.3px}.employee-talent{font-size:14px;color:#64748b;line-height:1.6;margin:0;flex:1;font-weight:300;letter-spacing:.2px}.point-controls{display:flex;gap:6px;padding:12px 16px 16px;flex-wrap:wrap;align-items:center}.point-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s;letter-spacing:.2px}.point-btn:hover:not(:disabled){border-color:#005ec2;color:#005ec2;transform:translateY(-2px);box-shadow:0 4px 12px #005ec226}.point-btn:active:not(:disabled){transform:translateY(0)}.point-btn:disabled{opacity:.4;cursor:not-allowed}.point-btn svg{color:currentColor}.point-btn--small{padding:8px 12px}.point-btn--clear{background:#fee2e2;color:#dc2626;border-color:#fecaca;margin-left:auto}.point-btn--clear:hover:not(:disabled){background:#fecaca;border-color:#dc2626;color:#991b1b}@media (max-width: 768px){.voting-page__content{padding:60px 20px 40px}.voting-header h1{font-size:32px}.timer-card{font-size:16px;padding:12px 24px}.points-tracker{padding:12px 24px}.points-tracker .points-label{font-size:16px}.points-tracker .points-value{font-size:24px}.employees-section{padding:24px}.employees-header{flex-direction:column;align-items:flex-start}.search-box{width:100%}.employees-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.bulk-upload-modal{width:100%;max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e2e8f0}.modal-header h2{font-size:24px;font-weight:400;color:#1e293b;letter-spacing:-.3px;margin:0}.modal-close{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-body{padding:32px;overflow-y:auto;flex:1}.upload-instructions{background:#f8fafc;padding:20px;border-radius:12px;margin-bottom:24px;border:1px solid #e2e8f0}.upload-instructions p{margin:0 0 12px;color:#475569;font-size:14px;font-weight:400}.upload-instructions ul{margin:0 0 16px 20px;padding:0}.upload-instructions li{margin:8px 0;color:#64748b;font-size:14px;line-height:1.6}.upload-instructions strong{color:#1e293b;font-weight:500}.download-sample-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;color:#005ec2;border:1px solid #005ec2;border-radius:8px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s}.download-sample-btn:hover{background:#e6f2ff}.file-upload-area{margin-bottom:24px}.file-select-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:40px 20px;background:#f8fafc;color:#64748b;border:2px dashed #cbd5e1;border-radius:12px;font-size:16px;font-weight:400;cursor:pointer;transition:all .2s}.file-select-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#475569}.upload-errors,.upload-warnings{margin-bottom:24px;padding:16px;border-radius:12px}.upload-errors{background:#fef2f2;border:1px solid #fecaca}.upload-warnings{background:#fffbeb;border:1px solid #fde68a}.error-header,.warning-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#dc2626}.warning-header{color:#d97706}.upload-errors ul,.upload-warnings ul{margin:0;padding:0 0 0 20px}.upload-errors li,.upload-warnings li{margin:6px 0;font-size:14px;color:#7f1d1d;line-height:1.6}.upload-warnings li{color:#78350f}.upload-preview{margin-bottom:24px}.upload-preview h3{font-size:18px;font-weight:400;color:#1e293b;margin:0 0 16px}.preview-table-container{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.preview-table{width:100%;border-collapse:collapse}.preview-table thead{background:#f8fafc}.preview-table th{text-align:left;padding:12px 16px;font-size:14px;font-weight:500;color:#475569;border-bottom:1px solid #e2e8f0}.preview-table td{padding:12px 16px;font-size:14px;color:#1e293b;border-bottom:1px solid #f1f5f9}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table tbody tr:hover{background:#f8fafc}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.preview-note{padding:12px 16px;margin:0;background:#f8fafc;color:#64748b;font-size:13px;text-align:center;border-top:1px solid #e2e8f0}.upload-result{display:flex;align-items:center;gap:12px;padding:16px;background:#dcfce7;border:1px solid #86efac;border-radius:12px;color:#166534;margin-bottom:24px}.upload-result strong{font-weight:500}.upload-result p{margin:0;font-size:14px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 32px;border-top:1px solid #e2e8f0}.btn-primary,.btn-secondary{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.admin-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(to bottom,#f1f5f9,#fff)}.admin-page .header{background:#fff!important;box-shadow:0 2px 8px #00000014!important;transition:none!important}.admin-page .header__nav-link{color:#4b5563!important}.admin-page .header__nav-link:hover{color:#005ec2!important}.admin-page .header__btn--login{color:#005ec2!important;border-color:#005ec2!important}.admin-page .header__btn--login:hover{background:#e6f2ff!important}.admin-page .header__btn--register{background:#005ec2!important;color:#fff!important;border-color:#005ec2!important}.admin-page .header__btn--register:hover{background:#004a99!important;border-color:#004a99!important;box-shadow:0 4px 8px #005ec24d!important}.admin-page .header__user-info{background:#e6f2ff!important;color:#005ec2!important}.admin-page .header__btn--logout{color:#dc2626!important;border-color:#dc2626!important}.admin-page .header__btn--logout:hover{background:#fef2f2!important}.admin-page__content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:80px 32px 64px}.loading,.access-denied{text-align:center;padding:80px 32px}.access-denied h2{font-size:32px;color:#1e293b;margin-bottom:16px;font-weight:300;letter-spacing:-.5px}.access-denied p{font-size:18px;color:#64748b;font-weight:300;letter-spacing:.2px}.admin-header{display:flex;align-items:center;gap:16px;margin-bottom:48px}.admin-header svg{color:#005ec2}.admin-header h1{font-size:36px;font-weight:300;color:#1e293b;letter-spacing:-.7px}.admin-section{background:#fff;padding:32px;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.section-header h2{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:400;color:#1e293b;letter-spacing:-.3px}.section-header svg{color:#005ec2}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s;letter-spacing:.2px}.admin-btn svg{color:inherit}.admin-btn--primary{background:linear-gradient(135deg,#005ec2,#0077ed);color:#fff;box-shadow:0 2px 8px #005ec233}.admin-btn--primary:hover{box-shadow:0 4px 12px #005ec24d;transform:translateY(-1px)}.admin-btn--secondary{background:#fff;color:#64748b;border:1px solid #e2e8f0}.admin-btn--secondary:hover{background:#f8fafc;border-color:#cbd5e1}.admin-btn--success{background:#10b981;color:#fff}.admin-btn--success:hover{background:#059669}.admin-btn--warning{background:#f59e0b;color:#fff}.admin-btn--warning:hover{background:#d97706}.admin-btn--danger{background:#ef4444;color:#fff}.admin-btn--danger:hover{background:#dc2626}.periods-grid{display:grid;gap:20px}.period-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:24px;transition:all .2s}.period-card.active{border-color:#10b981;background:#f0fdf4}.period-card .period-info h3{font-size:20px;font-weight:400;color:#1e293b;margin-bottom:12px;letter-spacing:-.2px}.period-dates{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#64748b;margin-bottom:16px;font-weight:300;letter-spacing:.2px}.period-dates strong{color:#1e293b}.period-actions{display:flex;gap:8px;flex-wrap:wrap}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.category-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s}.category-card.active{border-color:#10b981;background:#f0fdf4}.category-info h3{font-size:18px;font-weight:400;color:#1e293b;margin-bottom:8px;letter-spacing:-.2px}.category-info p{font-size:14px;color:#64748b;line-height:1.7;margin-bottom:8px;font-weight:300;letter-spacing:.2px}.display-order{display:inline-block;font-size:12px;color:#005ec2;font-weight:500;background:#dbeafe;padding:4px 8px;border-radius:4px;margin-bottom:12px;letter-spacing:.2px}.category-actions{display:flex;gap:8px;flex-wrap:wrap}.edit-form{display:flex;flex-direction:column;gap:12px}.edit-form input,.edit-form textarea{padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;font-family:inherit;font-weight:300;letter-spacing:.2px}.edit-form input:focus,.edit-form textarea:focus{outline:none;border-color:#005ec2;box-shadow:0 0 0 3px #005ec21a}.edit-actions{display:flex;gap:8px}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-modal-content{background:#fff;border-radius:16px;padding:32px;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.admin-modal-content h2{font-size:24px;font-weight:400;color:#1e293b;margin-bottom:24px;letter-spacing:-.3px}.admin-form{display:flex;flex-direction:column;gap:20px}.admin-form-group{display:flex;flex-direction:column;gap:8px}.admin-form-group label{font-size:14px;font-weight:400;color:#1e293b;letter-spacing:.2px}.admin-form-group input,.admin-form-group textarea{padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:15px;color:#1e293b;font-family:inherit;transition:all .2s;font-weight:300;letter-spacing:.2px}.admin-form-group input:focus,.admin-form-group textarea:focus{outline:none;border-color:#005ec2;box-shadow:0 0 0 3px #005ec21a}.admin-form-group textarea{resize:vertical;min-height:80px}.admin-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}@media (max-width: 768px){.admin-page__content{padding:60px 20px 40px}.admin-header h1{font-size:28px}.admin-section{padding:20px}.section-header{flex-direction:column;align-items:flex-start}.categories-grid{grid-template-columns:1fr}.period-actions,.category-actions{flex-direction:column}.admin-btn{width:100%}.admin-modal-content{padding:24px}.admin-form-actions{flex-direction:column}}.admin-tabs{display:flex;gap:8px;border-bottom:2px solid #e2e8f0;margin-bottom:32px;overflow-x:auto}.admin-tab{padding:14px 24px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:15px;font-weight:400;color:#64748b;cursor:pointer;transition:all .2s;white-space:nowrap;letter-spacing:.2px}.admin-tab:hover{color:#005ec2;background:#f8fafc}.admin-tab--active{color:#005ec2;border-bottom-color:#005ec2}.admin-tab-content{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.period-form-container{background:#fff;padding:32px;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px}.period-form h3{font-size:24px;font-weight:400;color:#1e293b;margin-bottom:24px;letter-spacing:-.3px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:400;color:#475569;margin-bottom:8px;letter-spacing:.2px}.form-group input,.form-group textarea,.admin-select,.admin-input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:15px;font-family:inherit;transition:all .2s;font-weight:300;letter-spacing:.2px}.form-group input:focus,.form-group textarea:focus,.admin-select:focus,.admin-input:focus{outline:none;border-color:#005ec2;box-shadow:0 0 0 3px #005ec21a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000000f;border-left:4px solid #cbd5e1}.stat-card--primary{border-left-color:#005ec2}.stat-card--success{border-left-color:#10b981}.stat-card--warning{border-left-color:#f59e0b}.stat-label{font-size:13px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.7px;margin-bottom:8px}.stat-value{font-size:36px;font-weight:300;color:#1e293b;letter-spacing:-.5px}.stat-value-small{font-size:18px;font-weight:400;color:#1e293b;margin-bottom:4px;letter-spacing:-.2px}.stat-subtext{font-size:13px;color:#64748b;font-weight:300;letter-spacing:.2px}.controls-bar{display:flex;gap:16px;align-items:center;flex-wrap:nowrap;margin-bottom:24px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;width:100%}.controls-bar--extended{gap:12px}.control-group{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.control-group label{font-size:14px;font-weight:400;color:#475569;white-space:nowrap;letter-spacing:.2px}.admin-select{min-width:200px}.add-user-btn,.bulk-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#005ec2,#0077ed);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;letter-spacing:.2px;box-shadow:0 2px 8px #005ec233;height:44px}.add-user-btn:hover,.bulk-upload-btn:hover{box-shadow:0 4px 12px #005ec24d;transform:translateY(-1px)}.search-box-admin{display:flex;align-items:center;gap:8px;background:#f8fafc;padding:10px 16px;border-radius:8px;border:1px solid #e2e8f0;flex:1;min-width:250px}.search-box-admin input{border:none;background:transparent;outline:none;font-size:15px;width:100%;padding:0;font-weight:300;letter-spacing:.2px}.search-box-admin svg{color:#64748b}.table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:#fff}.admin-table th{padding:16px 20px;text-align:left;font-size:13px;font-weight:500;color:#475569;text-transform:uppercase;letter-spacing:.7px;border-bottom:2px solid #e2e8f0}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .2s}.admin-table th.sortable:hover{background:#f1f5f9}.admin-table th svg{display:inline-block;vertical-align:middle;margin-left:4px;opacity:.5}.admin-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .2s}.admin-table tbody tr:hover{background:#fafbfc}.admin-table td{padding:16px 20px;font-size:14px;color:#334155;font-weight:300;letter-spacing:.2px}.cell-bold{font-weight:400;color:#1e293b}.cell-subtext{font-size:13px;color:#64748b;margin-top:2px}.user-cell,.date-cell{display:flex;flex-direction:column;gap:2px}.time-subtext{font-size:12px;color:#94a3b8}.vote-badge{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:4px 10px;background:#e2e8f0;color:#475569;font-size:13px;font-weight:600;border-radius:6px}.vote-badge--success{background:#d1fae5;color:#065f46}.vote-badge--warning{background:#fef3c7;color:#92400e}.vote-badge--neutral{background:#f1f5f9;color:#64748b}.vote-details-list{display:flex;flex-direction:column;gap:4px}.vote-detail-item{display:inline-block;padding:4px 8px;background:#f1f5f9;border-radius:4px;font-size:13px;color:#475569}.points-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;background:linear-gradient(135deg,#005ec2,#0077ed);color:#fff;font-size:13px;font-weight:700;border-radius:20px;white-space:nowrap}.points-badge--large{padding:8px 16px;font-size:14px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding:24px;background:#fff;border-radius:0 0 12px 12px;margin-top:-1px}.pagination-info{font-size:14px;color:#64748b;font-weight:500}.loading-state{text-align:center;padding:60px 20px;font-size:16px;color:#64748b}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px}.period-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.period-card__header h3{font-size:20px;font-weight:400;color:#1e293b;margin:0;letter-spacing:-.2px}.period-badge{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.7px}.period-badge--active{background:#d1fae5;color:#065f46}.period-badge--inactive{background:#f1f5f9;color:#64748b}.period-card__dates{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.date-group{display:flex;flex-direction:column;gap:4px}.date-group strong{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.date-group span{font-size:14px;color:#1e293b}.period-card__actions{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 768px){.admin-tabs{flex-direction:column;gap:4px}.admin-tab{border-bottom:none;border-left:3px solid transparent;text-align:left}.admin-tab--active{border-bottom-color:transparent;border-left-color:#005ec2}.stats-grid{grid-template-columns:1fr}.controls-bar,.control-group{flex-direction:column;align-items:stretch}.admin-select,.search-box-admin{width:100%;min-width:0}.form-row{grid-template-columns:1fr}.table-container{overflow-x:auto}.admin-table{min-width:800px}}.user-management{display:flex;flex-direction:column;gap:24px}.user-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.user-table{width:100%;border-collapse:collapse}.user-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.user-table th{padding:16px;text-align:left;font-size:13px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.user-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .2s}.user-table tbody tr:hover{background:#f8fafc}.user-table td{padding:16px;font-size:14px;color:#1e293b;vertical-align:middle}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #e2e8f0}.user-avatar--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#005ec2,#0077ed);color:#fff;font-weight:600;font-size:16px}.user-name{font-weight:500;color:#1e293b}.email-cell,.date-cell{display:flex;align-items:center;gap:8px;color:#64748b}.email-cell svg,.date-cell svg{flex-shrink:0;color:#94a3b8}.text-muted{color:#94a3b8;font-style:italic}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px}.status-badge--success{background:#d1fae5;color:#065f46}.status-badge--warning{background:#fed7aa;color:#92400e}.status-badge--primary{background:#dbeafe;color:#1e40af}.action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.action-btn--success{background:#10b981;color:#fff}.action-btn--success:hover:not(:disabled){background:#059669}.action-btn--danger{background:#ef4444;color:#fff}.action-btn--danger:hover:not(:disabled){background:#dc2626}.action-btn:disabled{opacity:.5;cursor:not-allowed}.info-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:16px 20px}.info-box p{margin:0;font-size:14px;color:#0c4a6e;line-height:1.6}.info-box strong{font-weight:600;color:#075985}.toast{position:fixed;bottom:-100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:16px 24px;border-radius:12px;font-size:15px;font-weight:500;box-shadow:0 10px 25px #00000026;transition:bottom .3s ease-out,opacity .3s ease-out;z-index:9999;max-width:90%;opacity:0}.toast--visible{bottom:32px;opacity:1}.toast--success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.toast--error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.toast svg{flex-shrink:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-width:500px;width:90%;max-height:90vh;overflow:hidden;animation:slideUp .2s ease-out}.modal-header{display:flex;align-items:center;gap:12px;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1f2937}.modal-icon{flex-shrink:0}.modal-icon--warning{color:#f59e0b}.modal-body{padding:16px 24px 24px}.modal-body p{margin:0;line-height:1.6;color:#4b5563}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:0 24px 24px}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;letter-spacing:.2px}.btn-primary{background:linear-gradient(135deg,#005ec2,#0077ed);color:#fff;box-shadow:0 2px 8px #005ec233}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #005ec24d;transform:translateY(-1px)}.btn-secondary{background:#fff;color:#64748b;border:1px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.modal-close{background:none;border:none;cursor:pointer;padding:8px;color:#64748b;transition:color .2s}.modal-close:hover{color:#1e293b}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-text-short{display:none}.btn-text-full{display:inline}@media (max-width: 768px){.btn-text-short{display:inline}.btn-text-full{display:none}.period-card__actions{flex-wrap:wrap;gap:.5rem}.admin-btn{min-width:auto;flex:1}}.profile-completion-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 1rem}.completion-container{width:100%;max-width:500px}.completion-card{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 20px 60px #0000004d}.completion-header{text-align:center;margin-bottom:2rem}.header-icon{color:#667eea;margin-bottom:1rem}.completion-card h1{font-size:1.875rem;font-weight:300;color:#1f2937;margin-bottom:.5rem;letter-spacing:-.3px}.completion-subtitle{color:#6b7280;font-size:.9375rem;line-height:1.7;font-weight:300;letter-spacing:.2px}.completion-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:400;color:#374151;font-size:.9375rem;letter-spacing:.2px}.field-hint{color:#6b7280;font-size:.875rem;margin-top:.25rem;font-weight:300;letter-spacing:.1px}.input-wrapper{position:relative;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:8px;transition:all .2s;background:#fff}.input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-wrapper svg{color:#9ca3af;flex-shrink:0}.input-wrapper input{flex:1;border:none;outline:none;font-size:.9375rem;color:#1f2937;font-weight:300;letter-spacing:.2px}.input-wrapper input::-moz-placeholder{color:#9ca3af}.input-wrapper input::placeholder{color:#9ca3af}.file-upload-wrapper{margin-top:.5rem}.file-upload-label{display:block;cursor:pointer;border:2px dashed #d1d5db;border-radius:12px;overflow:hidden;transition:all .2s;background:#f9fafb}.file-upload-label:hover{border-color:#667eea;background:#f3f4f6}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:.75rem;color:#6b7280}.upload-placeholder svg{color:#9ca3af}.upload-placeholder span{font-weight:400;font-size:.9375rem;letter-spacing:.2px}.upload-placeholder small{font-size:.875rem;color:#9ca3af}.avatar-preview{position:relative;aspect-ratio:1;overflow:hidden}.avatar-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#fff;opacity:0;transition:opacity .2s}.avatar-preview:hover .upload-overlay{opacity:1}.upload-overlay span{font-weight:400;letter-spacing:.3px}.error-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9375rem;font-weight:300;letter-spacing:.2px}.btn-primary{padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:400;cursor:pointer;transition:all .2s;margin-top:.5rem;letter-spacing:.3px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.completion-card{padding:2rem 1.5rem}.completion-card h1{font-size:1.5rem}}.create-team-page{min-height:100vh;background:linear-gradient(135deg,#3182ce,#2c5282);padding:0;display:flex;flex-direction:column}.create-team-container{max-width:900px;margin:0 auto;padding:0 1.5rem 2rem;flex:1}.page-header{text-align:center;color:#fff;margin-bottom:3rem;margin-top:0;padding-top:2rem;animation:fadeInDown .6s ease-out}.page-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.page-header p{font-size:1.1rem;opacity:.95;max-width:600px;margin:0 auto}.team-form-card{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .6s ease-out}.form-section{margin-bottom:2rem}.form-section h2{font-size:1.5rem;color:#1a202c;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.form-section h2 svg{color:#3182ce}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#2d3748;margin-bottom:.5rem;font-size:.95rem}.form-group input[type=text],.form-group textarea{width:100%;padding:.875rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s;font-family:inherit}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{min-height:100px;resize:vertical}.team-size-selector{display:flex;gap:1rem;margin-bottom:1.5rem}.size-option{flex:1;padding:1.5rem;border:2px solid #e2e8f0;border-radius:16px;background:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.size-option:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea1a,#764ba21a);opacity:0;transition:opacity .3s}.size-option:hover:before{opacity:1}.size-option:hover{border-color:#3182ce;transform:translateY(-4px);box-shadow:0 8px 20px #667eea33}.size-option.selected{border-color:#3182ce;background:linear-gradient(135deg,#3182ce,#2c5282);color:#fff;transform:scale(1.05);box-shadow:0 10px 30px #667eea66;animation:teamSizeSelected .5s ease-out}@keyframes teamSizeSelected{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1.05)}}.size-option h3{font-size:1.5rem;margin-bottom:.5rem;font-weight:700;position:relative;z-index:1}.size-option p{font-size:.875rem;opacity:.85;position:relative;z-index:1;font-weight:500}.member-selection{margin-top:1.5rem}.member-slot{margin-bottom:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#f7fafc,#fff);border-radius:16px;border:2px solid #e2e8f0;transition:all .3s;box-shadow:0 2px 8px #0000000d}.member-slot:hover{border-color:#cbd5e0;box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.member-slot h3{font-size:1.15rem;color:#2d3748;margin-bottom:1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.member-slot h3:before{content:attr(data-position);width:32px;height:32px;background:linear-gradient(135deg,#3182ce,#2c5282);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.member-search{position:relative;margin-bottom:.75rem}.member-search input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}.member-search svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#a0aec0}.member-search input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #667eea1a}.member-list{max-height:450px;overflow-y:auto;border:2px solid #e2e8f0;border-radius:12px;background:linear-gradient(135deg,#fafbfc,#f0f4f8);padding:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.member-card{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;border-radius:12px;background:#fff;border:2px solid #e2e8f0;overflow:hidden;box-shadow:0 2px 8px #00000014;position:relative}.member-card:hover{transform:translateY(-8px) scale(1.02);border-color:#3182ce;box-shadow:0 12px 24px #667eea40}.member-card.selected{border-color:#3182ce;border-width:3px;box-shadow:0 8px 32px #667eea66;transform:scale(1.02)}.card-photo{background:linear-gradient(135deg,#3182ce,#2c5282);padding:2rem 1rem 1.5rem;display:flex;justify-content:center;align-items:center;position:relative}.member-avatar{width:90px;height:90px;border-radius:50%;background:#fff;color:#3182ce;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2rem;box-shadow:0 4px 12px #00000026;transition:all .3s;border:4px solid white}.member-avatar-img{width:90px;height:90px;border-radius:50%;-o-object-fit:cover;object-fit:cover;box-shadow:0 4px 12px #00000026;transition:all .3s;border:4px solid white}.member-card:hover .member-avatar,.member-card:hover .member-avatar-img{transform:scale(1.1);box-shadow:0 6px 20px #0003}.card-info{padding:1rem;text-align:center;background:#fff}.card-name{font-weight:700;color:#2d3748;font-size:1rem;margin-bottom:.5rem;line-height:1.3}.card-talent{font-size:.875rem;color:#3182ce;font-weight:600;padding:.35rem .75rem;background:linear-gradient(135deg,#f0f4ff,#e8ecff);border-radius:12px;display:inline-block}.member-card.selected .card-photo{background:linear-gradient(135deg,#48bb78,#38a169)}.member-card.selected .card-name{color:#3182ce}.member-card.selected .card-talent{background:linear-gradient(135deg,#3182ce,#2c5282);color:#fff}.selected-member{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#3182ce,#2c5282);border:2px solid #3182ce;border-radius:12px;margin-top:.75rem;box-shadow:0 8px 24px #667eea4d;animation:slideIn .4s ease-out;position:relative;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.selected-member:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);animation:shimmer 3s infinite}@keyframes shimmer{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(0)}}.selected-member .member-avatar{width:60px;height:60px;background:#fff;color:#3182ce;font-size:1.5rem;box-shadow:0 6px 16px #0003}.selected-member .member-info{flex:1;z-index:1}.selected-member .member-info .name{color:#fff;font-size:1.15rem}.selected-member .member-info .talent{color:#ffffffe6}.selected-member .member-info .talent:before{content:"✨"}.remove-member-btn{padding:.65rem;background:#ffffff40;border:2px solid rgba(255,255,255,.5);border-radius:8px;cursor:pointer;color:#fff;transition:all .3s;z-index:1;display:flex;align-items:center;justify-content:center}.remove-member-btn:hover{background:#ffffff59;transform:scale(1.1) rotate(90deg);border-color:#fff}.form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #f7fafc}.btn{flex:1;padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#3182ce,#2c5282);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#e2e8f0;color:#2d3748}.btn-secondary:hover{background:#cbd5e0}.error-message{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.success-message{background:#c6f6d5;color:#22543d;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.member-list::-webkit-scrollbar{width:8px}.member-list::-webkit-scrollbar-track{background:#e2e8f0;border-radius:4px}.member-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3182ce,#2c5282);border-radius:4px;-webkit-transition:background .3s;transition:background .3s}.member-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#6a3f8b)}.no-results{padding:2rem 1rem;text-align:center;color:#718096;font-style:italic}@media (max-width: 768px){.create-team-page{padding:1rem 0}.page-header h1{font-size:2rem}.team-form-card{padding:1.5rem}.team-size-selector,.form-actions{flex-direction:column}.member-item{padding:.875rem}.member-avatar{width:48px;height:48px;font-size:1.15rem}}.active-countdown{margin-bottom:2rem;display:flex;justify-content:center}.countdown-timer-compact{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;border-radius:50px;box-shadow:0 8px 25px #667eea66;animation:pulse-glow 2s infinite;position:relative;overflow:hidden}.countdown-timer-compact:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.15),transparent);animation:shimmer 3s infinite}.timer-icon{width:1.5rem;height:1.5rem;position:relative;z-index:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.timer-text{font-size:1.25rem;font-weight:700;position:relative;z-index:1;text-shadow:0 1px 3px rgba(0,0,0,.3);letter-spacing:.05em}@keyframes pulse-glow{0%,to{box-shadow:0 8px 25px #667eea66;transform:scale(1)}50%{box-shadow:0 8px 35px #667eea99;transform:scale(1.02)}}.countdown-section{text-align:center;padding:2rem 0}.countdown-header{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem}.countdown-icon{width:2.5rem;height:2.5rem;color:#3182ce;filter:drop-shadow(0 2px 4px rgba(49,130,206,.3))}.countdown-header h2{font-size:2rem;font-weight:700;color:#1a202c;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.1)}.countdown-timer{margin:2rem 0;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 10px 30px #667eea4d;position:relative;overflow:hidden}.countdown-timer:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 3s infinite}.timer-display{font-size:2.5rem;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);position:relative;z-index:1;letter-spacing:.05em}.countdown-description{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}.countdown-description p{display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#4a5568;font-weight:500;margin:0;padding:.75rem 1.5rem;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:12px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.countdown-description p:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.countdown-description p svg{color:#3182ce;filter:drop-shadow(0 1px 2px rgba(49,130,206,.2))}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}@media (max-width: 768px){.countdown-header h2{font-size:1.5rem}.countdown-icon{width:2rem;height:2rem}.timer-display{font-size:1.8rem}.countdown-description p{font-size:1rem;padding:.625rem 1rem}}.live-vote-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0f172a,#1e293b,#334155);position:relative;overflow-x:hidden}.live-vote-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(255,215,0,.08) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(59,130,246,.08) 0%,transparent 40%);pointer-events:none;z-index:0}.live-vote-content{flex:1;position:relative;z-index:1}.loading-state,.access-denied,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:#cbd5e1;padding:2rem}.loading-state .spin-animation,.access-denied svg,.empty-state svg{color:#fbbf24;margin-bottom:1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-animation{animation:spin 1s linear infinite}.access-denied h2,.empty-state h3{color:#fff;margin-bottom:.5rem}.hero-section{text-align:center;padding:6rem 2rem 3rem;position:relative}.hero-title{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:3.5rem;font-weight:800;color:#fff;margin:0 0 1rem;text-shadow:0 0 40px rgba(251,191,36,.5)}.hero-icon{color:#fbbf24;filter:drop-shadow(0 0 20px rgba(251,191,36,.6))}.hero-subtitle{font-size:1.5rem;color:#cbd5e1;margin:0;font-weight:400}.controls-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;max-width:1400px;margin:0 auto 2rem;padding:1.5rem 2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px}.controls-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.last-update,.votes-remaining{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#cbd5e1}.last-update svg{color:#fbbf24}.votes-remaining{padding:.5rem 1rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:8px;font-weight:600}.votes-remaining svg{color:#fbbf24}.controls-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.draw-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #10b9814d;font-size:1rem}.draw-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}.draw-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.auto-refresh-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#cbd5e1;font-size:.875rem}.auto-refresh-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e293b;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #fbbf244d}.refresh-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #fbbf2480}.vote-reveal-card{max-width:1400px;margin:0 auto 2rem;padding:0 2rem;animation:slideDown .4s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes moveUp{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.vote-reveal-content{background:linear-gradient(135deg,#fbbf2433,#f59e0b33);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid #fbbf24;border-radius:16px;padding:2rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 10px 40px #fbbf244d;animation:cardFlip .6s ease-out}@keyframes cardFlip{0%{transform:rotateY(90deg) scale(.8);opacity:0}50%{transform:rotateY(45deg) scale(.9)}to{transform:rotateY(0) scale(1);opacity:1}}@keyframes pulseCard{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.vote-reveal-content svg{color:#fbbf24;flex-shrink:0;animation:sparkle 1s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:.8}}.vote-reveal-text{font-size:1.25rem;color:#fff;font-weight:400}.vote-reveal-text strong{font-weight:700;color:#fbbf24}.competitors-section{max-width:1400px;margin:0 auto;padding:0 2rem 4rem}.section-title{display:flex;align-items:center;gap:.75rem;font-size:2rem;font-weight:700;color:#fff;margin-bottom:2rem}.section-title svg{color:#60a5fa}.groups-list{display:grid;gap:1.5rem}.group-card{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;transition:all 1.2s cubic-bezier(.4,0,.2,1)}.group-card:hover{transform:translate(10px);border-color:#fff3;box-shadow:0 10px 30px #0000004d}.group-card-pulse{animation:pulseCard 1.2s ease-out,moveUp 1.2s ease-out;border-color:#fbbf24!important;box-shadow:0 0 30px #fbbf2480!important}.rank-badge{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;flex-shrink:0;color:#fff;transition:all 1.2s cubic-bezier(.4,0,.2,1)}.rank-badge-top{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 15px #fbbf2466}.rank-badge-normal{background:linear-gradient(135deg,#fff3,#ffffff1a)}.group-card-content{flex:1;min-width:0}.group-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.group-header h3{font-size:1.25rem;color:#fff;margin:0;font-weight:700}.type-badge{padding:.25rem .75rem;background:#3b82f633;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;font-size:.75rem;font-weight:700;text-transform:uppercase}.group-members-compact{display:flex;gap:1rem;flex-wrap:wrap}.member-chip{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;padding:.5rem .75rem;border-radius:8px;transition:all .2s ease}.member-chip:hover{background:#ffffff1a}.member-chip-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#3b82f6);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:.875rem;flex-shrink:0}.member-chip-info{display:flex;flex-direction:column}.member-chip-name{font-weight:600;color:#fff;font-size:.875rem}.member-chip-talent{font-size:.75rem;color:#cbd5e1}.group-votes{display:flex;flex-direction:column;gap:.75rem;padding-left:1.5rem;border-left:2px solid rgba(255,255,255,.1)}.vote-stat{display:flex;align-items:center;gap:.5rem;color:#fbbf24}.vote-stat svg{flex-shrink:0}.vote-number{font-size:1.5rem;font-weight:800;color:#fff;transition:all .3s ease}.group-card-pulse .vote-number{animation:countUp .6s ease-out}@keyframes countUp{0%{transform:scale(1.5);color:#fbbf24}to{transform:scale(1);color:#fff}}.vote-stat-final{color:#f59e0b}@media (max-width: 768px){.hero-title{font-size:2.5rem;flex-direction:column}.controls-bar{flex-direction:column;align-items:stretch}.controls-info,.controls-actions{justify-content:space-between;width:100%}.vote-reveal-card{padding:0 1rem}.vote-reveal-content{flex-direction:column;text-align:center;padding:1.5rem}.vote-reveal-text{font-size:1rem}.group-card{flex-direction:column;align-items:flex-start}.group-votes{flex-direction:row;padding-left:0;padding-top:1rem;border-left:none;border-top:2px solid rgba(255,255,255,.1);width:100%}}@media (max-width: 480px){.hero-section{padding:4rem 1rem 2rem}.hero-title{font-size:2rem}.competitors-section{padding:0 1rem 3rem}.draw-button,.refresh-button{padding:.6rem 1rem;font-size:.875rem}}.game-voting-page{min-height:100vh;background:linear-gradient(135deg,#1e40af,#2563eb,#3b82f6);padding:2rem 1rem}.game-container{max-width:900px;margin:0 auto}.game-card{background:#fff;border-radius:24px;padding:3rem;box-shadow:0 20px 60px #0000004d;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.info-screen h1{font-size:2.5rem;color:#2d3748;margin-bottom:1rem;text-align:center}.info-screen .subtitle{font-size:1.25rem;color:#4a5568;text-align:center;margin-bottom:3rem}.info-content{margin-bottom:3rem}.info-box{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:4px solid #2563eb;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}.info-box h3{color:#2d3748;font-size:1.25rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.info-box p{color:#4a5568;line-height:1.6}.info-highlight{background:linear-gradient(135deg,#fef5e7,#fdebd0);border-left-color:#f59e0b;border:2px solid #f59e0b}.points-display{display:flex;justify-content:center;gap:.75rem;margin:2rem 0;align-items:center}.point-badge{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;box-shadow:0 4px 12px #2563eb66}.finalists-screen h1{font-size:2rem;color:#2d3748;margin-bottom:.5rem;text-align:center}.finalist-groups-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem;max-height:400px;overflow-y:auto;padding:.5rem}.finalist-card{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #cbd5e1;border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative}.finalist-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #2563eb33;border-color:#2563eb}.rank-badge-small{position:absolute;top:-10px;right:-10px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;box-shadow:0 4px 12px #f59e0b66}.finalist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.finalist-header h3{font-size:1.25rem;color:#2d3748;margin:0}.group-type-badge{background:#2563eb;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.finalist-members{display:flex;flex-direction:column;gap:.75rem}.finalist-member{display:flex;align-items:center;gap:.75rem}.allocation-screen h1{font-size:2.25rem;color:#2d3748;text-align:center;margin-bottom:2rem}.strategy-options{display:grid;gap:2rem;margin-bottom:3rem}.strategy-card{border:3px solid #e2e8f0;border-radius:16px;padding:2rem;cursor:pointer;transition:all .3s ease;background:#fff}.strategy-card:hover{border-color:#2563eb;transform:translateY(-4px);box-shadow:0 12px 24px #2563eb33}.strategy-card.selected{border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 8px 20px #2563eb4d}.strategy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.strategy-header h3{font-size:1.5rem;color:#2d3748;display:flex;align-items:center;gap:.5rem}.strategy-points{display:flex;gap:.5rem}.mini-point{width:32px;height:32px;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.strategy-card p{color:#4a5568;line-height:1.6}.creation-screen h1{font-size:2rem;color:#2d3748;text-align:center;margin-bottom:1rem}.creation-subtitle{text-align:center;color:#4a5568;margin-bottom:2rem;font-size:1.1rem}.points-tracker{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;padding:1.5rem;border-radius:12px;text-align:center;margin-bottom:2rem;box-shadow:0 4px 12px #2563eb4d}.points-tracker h3{margin-bottom:.5rem;font-size:1.25rem}.points-tracker .large-points{font-size:3rem;font-weight:700}.group-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.type-option{border:3px solid #e2e8f0;border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff}.type-option:hover{border-color:#2563eb;transform:translateY(-2px)}.type-option.selected{border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 4px 12px #2563eb33}.type-option h3{font-size:1.5rem;margin-bottom:.5rem;color:#2d3748}.type-option p{color:#4a5568}.member-selector{margin-bottom:2rem}.member-slot-game{margin-bottom:1.5rem}.member-slot-game h4{font-size:1.125rem;color:#2d3748;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.search-input-game{position:relative;margin-bottom:.75rem}.search-input-game input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s}.search-input-game input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.search-input-game svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#a0aec0}.member-results{max-height:300px;overflow-y:auto;border:2px solid #e2e8f0;border-radius:8px;background:#f7fafc}.member-option{padding:1rem;border-bottom:1px solid #e2e8f0;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:1rem}.member-option:last-child{border-bottom:none}.member-option:hover{background:#fff}.member-avatar-game{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0}.member-details{flex:1}.member-details .name{font-weight:600;color:#2d3748;display:block}.member-details .talent{font-size:.9rem;color:#718096}.selected-member-display{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #2563eb;border-radius:8px;padding:1rem;display:flex;align-items:center;gap:1rem}.selected-member-display .remove-btn{margin-left:auto;background:#f56565;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.selected-member-display .remove-btn:hover{background:#e53e3e;transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.duplicate-modal{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0006;animation:modalSlide .3s ease-out}@keyframes modalSlide{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.duplicate-modal h2{color:#2d3748;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.duplicate-modal p{color:#4a5568;line-height:1.6;margin-bottom:1.5rem}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.game-btn{padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.game-btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary-game{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 4px 12px #2563eb4d}.btn-primary-game:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #2563eb66}.btn-secondary-game{background:#fff;color:#4a5568;border:2px solid #e2e8f0}.btn-secondary-game:hover:not(:disabled){border-color:#cbd5e0;background:#f7fafc}.btn-danger-game{background:#f56565;color:#fff}.btn-danger-game:hover:not(:disabled){background:#e53e3e;transform:translateY(-2px)}.btn-success-game{background:#48bb78;color:#fff}.btn-success-game:hover:not(:disabled){background:#38a169;transform:translateY(-2px)}.button-row{display:flex;gap:1rem;margin-top:2rem}.button-row .game-btn{flex:1}.error-message-game{background:#fff5f5;border:2px solid #fc8181;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.success-message-game{background:#f0fff4;border:2px solid #68d391;color:#22543d;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.progress-indicator{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem}.progress-dot{width:12px;height:12px;border-radius:50%;background:#e2e8f0;transition:all .3s}.progress-dot.active{background:#2563eb;width:32px;border-radius:6px}@media (max-width: 768px){.game-card{padding:2rem 1.5rem}.info-screen h1{font-size:2rem}.group-type-selector,.modal-actions{grid-template-columns:1fr}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.inline{display:inline}.flex{display:flex}.table{display:table}.hidden{display:none}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.loading-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#001f3d,#003d7a 25%,#005ec2 75%,#0077ed);position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999}.loading-logo-container{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center}.loading-logo{width:180px;height:auto;animation:logoShine 2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,255,255,.5))}@keyframes logoShine{0%,to{filter:drop-shadow(0 0 20px rgba(255,255,255,.5)) brightness(1)}50%{filter:drop-shadow(0 0 40px rgba(255,255,255,.9)) brightness(1.3)}}
