@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
@font-face{font-family:Maison Neue Extended;src:url(/assets/fonts/MaisonNeueExtended-Bold.woff2)format("woff2"),url(/assets/fonts/MaisonNeueExtended-Bold.woff)format("woff")}@font-face{font-family:Maison Neue;src:url(/assets/fonts/MaisonNeue-Book.woff2)format("woff2"),url(/assets/fonts/MaisonNeue-Book.woff)format("woff");font-weight:400}@font-face{font-family:Maison Neue;src:url(/assets/fonts/MaisonNeue-Demi.woff2)format("woff2"),url(/assets/fonts/MaisonNeue-Demi.woff)format("woff");font-weight:500}@font-face{font-family:Maison Neue;src:url(/assets/fonts/MaisonNeue-Bold.woff2)format("woff2"),url(/assets/fonts/MaisonNeue-Bold.woff)format("woff");font-weight:700}:root{--color-primary:#00880d;--color-primary-dark:#00660a;--color-primary-light:#eaffea;--color-secondary:#00aed6;--color-success:#00880d;--color-danger:#ea001f;--color-warning:#f06400;--color-bg:#fff;--color-bg-card:#fff;--color-bg-hover:#f1f2f4;--color-border:#e8e8e8;--color-text:#1c1d1d;--color-text-muted:#494a4a;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--shadow-card:0px 4px 16px #0000000a;--shadow-hover:0px 16px 40px #00000014;--font-sans:"Maison Neue", "Inter", system-ui, sans-serif;--font-display:"Maison Neue Extended", "Inter", system-ui, sans-serif;--transition:.25s ease}h1,h2,h3,h4,h5,h6,.page-title,.hero__title,.detail-title,.auth-card__title,.feature-card h3{font-family:var(--font-display)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.main-content{min-height:calc(100vh - 80px);padding-top:80px}.page-container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.page-container--narrow{max-width:640px}.page-header{margin-bottom:2rem}.page-title{margin-bottom:.5rem;font-size:2rem;font-weight:700}.page-subtitle{color:var(--color-text-muted);font-size:1rem}.logo-img{width:auto;height:52px;display:block}@media (min-width:768px){.logo-img{height:60px}}.logo-img--large{height:60px;margin:0 auto 1.5rem}.logo-img--white{filter:brightness(0)invert()}.navbar{z-index:99999;background:#fff;width:100%;height:80px;padding:0;transition:all .5s ease-in-out;position:fixed;top:0;left:0;box-shadow:0 0 40px #0000000f}.navbar__container{align-items:center;max-width:1280px;height:100%;margin:0 auto;padding:0 24px;display:flex}.navbar__logo{flex-shrink:0;align-items:center;margin-right:auto;padding:16px 0;display:flex}.navbar-toggler{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;padding:0;display:none}.navbar-toggler:focus{box-shadow:none;outline:none}.navbar-toggler-bar{background:var(--color-text);transform-origin:50%;border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.navbar-toggler-bar:first-child,.navbar-toggler-bar:nth-child(3){transition:transform .3s,opacity .3s,top .3s}.navbar-toggler.is-open .navbar-toggler-bar:first-child{transform:translateY(7px)rotate(45deg)}.navbar-toggler.is-open .navbar-toggler-bar:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-toggler.is-open .navbar-toggler-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar-collapse{align-items:center;display:flex}.navbar__links{align-items:center;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.navbar__link{font-family:var(--font-display);color:var(--color-text-muted);white-space:nowrap;align-items:center;height:80px;padding:0 1rem;font-size:.975rem;font-weight:700;line-height:80px;text-decoration:none;transition:color .3s;display:inline-flex;position:relative}.navbar__link:hover{color:var(--color-text)}.navbar__link--active,.navbar__link--active:hover{color:var(--color-primary)}.navbar__link--active:after{content:"";background-color:var(--color-primary);border-radius:4px 4px 0 0;width:100%;height:4px;display:block;position:absolute;bottom:0;left:0}.navbar__auth{flex-shrink:0;align-items:center;gap:.75rem;margin-left:1rem;display:flex}.navbar__btn{font-family:var(--font-display);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:48px;justify-content:center;align-items:center;height:44px;padding:10px 20px;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}.navbar__btn--login{color:var(--color-primary);border:1.5px solid var(--color-primary)}.navbar__btn--login:hover{background:var(--color-primary);color:#fff}.navbar__btn--register{background:var(--color-primary);color:#fff;border:1.5px solid var(--color-primary)}.navbar__btn--register:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.navbar__btn--logout{color:var(--color-danger);border:1.5px solid var(--color-danger)}.navbar__btn--logout:hover{background:var(--color-danger);color:#fff}@media (max-width:767px){.main-content{padding-top:80px}.navbar-toggler{display:flex}.navbar-collapse{opacity:0;pointer-events:none;background:#fff;flex-direction:column;align-items:flex-start;width:100%;max-height:0;padding-bottom:1.5rem;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s;position:absolute;top:80px;left:0;overflow:hidden;box-shadow:0 8px 24px #00000014}.navbar-collapse.show{opacity:1;pointer-events:auto;max-height:600px}.navbar__links{flex-direction:column;align-items:flex-start;width:100%;padding:.5rem 0}.navbar__link{width:100%;height:auto;padding:1rem 1.5rem;font-size:1rem;line-height:1}.navbar__link--active:after{display:none}.navbar__link--active:before{content:"";background-color:var(--color-primary);border-radius:0 4px 4px 0;width:4px;height:100%;display:block;position:absolute;top:0;left:0}.navbar__link:hover{color:var(--color-text);background:#00880d0d}.navbar__link--active,.navbar__link--active:hover{color:var(--color-primary);background:#00880d0d}.navbar__auth{flex-direction:column;align-items:stretch;gap:.5rem;width:100%;margin-left:0;padding:.5rem 1.5rem 0}.navbar__btn{justify-content:center;width:100%}}.footer-top{background-color:var(--color-text);color:#fff;padding:4rem 1.5rem}.footer-top .container{grid-template-columns:repeat(1,1fr);gap:3rem;max-width:1200px;margin:0 auto;display:grid}@media (min-width:768px){.footer-top .container{grid-template-columns:repeat(3,1fr)}}.footer-top .logo-image{font-size:1.5rem;font-weight:700;font-family:var(--font-display);margin-bottom:1.5rem}.footer-top .social-media a{color:#aaa;margin-bottom:.5rem;transition:color .2s;display:block}.footer-top .social-media a:hover{color:#fff}.footer-top .link-list ul{padding:0;list-style:none}.footer-top .link-list li{margin-bottom:.75rem}.footer-top .link-list a{color:#aaa;transition:color .2s}.footer-top .link-list a:hover{color:#fff}.footer-bottom{color:#888;text-align:center;background-color:#111;padding:1.5rem;font-size:.875rem}.footer-bottom span{margin:0 4px}.btn{font-family:var(--font-display);transition:all var(--transition);border:none;border-radius:48px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.75rem;font-size:.95rem;font-weight:700;display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.btn--outline{background:var(--color-bg);color:var(--color-primary);border:2px solid var(--color-primary);padding:calc(.85rem - 2px) calc(1.75rem - 2px)}.btn--outline:hover{background:var(--color-primary-light)}.btn--full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--danger-outline{color:var(--color-danger);border:2px solid var(--color-danger);background:0 0;padding:calc(.85rem - 2px) calc(1.75rem - 2px)}.btn--danger-outline:hover{background:var(--color-danger);color:#fff}.input-wrapper{flex-direction:column;gap:.4rem;display:flex}.input-label{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.input-required{color:var(--color-danger)}.input-field{background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);width:100%;transition:border-color var(--transition);outline:none;padding:.65rem .875rem;font-size:.9rem}.input-field:focus{border-color:var(--color-primary)}.input-field.input-error{border-color:var(--color-danger)}.input-error-msg{color:var(--color-danger);font-size:.8rem}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-card{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:2rem;display:flex}.auth-card{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;max-width:440px;padding:2.5rem}.auth-card__title{margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.auth-card__subtitle{color:var(--color-text-muted);margin-bottom:1.5rem}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.auth-card__footer{text-align:center;color:var(--color-text-muted);margin-top:1.5rem;font-size:.875rem}.auth-card__link{color:var(--color-primary);font-weight:600}.auth-card__link:hover{text-decoration:underline}.alert{border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.alert--error{border:1px solid var(--color-danger);color:#fca5a5;background:#ef44441a}.alert--success{border:1px solid var(--color-success);color:#86efac;background:#22c55e1a}.alert--info{border:1px solid var(--color-secondary);color:#7dd3fc;background:#0ea5e91a}.card-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;display:grid}@media (max-width:768px){.card-grid{grid-template-columns:1fr}}.competition-card--horizontal{border-radius:var(--radius-md);transition:all var(--transition);background:#fff;border:1px solid #eaeaea;align-items:center;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 4px 12px #00000008}.competition-card--horizontal:hover{border-color:#10b981;box-shadow:0 10px 20px #0000000d}.comp-card-poster{border-radius:var(--radius-sm);border:1px solid #f1f5f9;flex-shrink:0;justify-content:center;align-items:center;width:140px;height:140px;display:flex;overflow:hidden}.comp-card-poster img{object-fit:cover;width:100%;height:100%}.comp-card-content{flex-direction:column;flex:1;gap:.5rem;display:flex}.comp-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.comp-card-badge{color:#fff;background:#38bdf8;border-radius:10px;padding:.35rem 1rem;font-size:.8rem;font-weight:700}.comp-card-status{color:#16a34a;font-size:.85rem;font-weight:700}.comp-card-title{color:#0f172a;margin:.25rem 0;font-size:1.35rem;font-weight:700}.comp-card-info{color:#475569;font-size:.95rem}.comp-card-meta{color:#64748b;align-items:center;font-size:.9rem;display:flex}.comp-card-actions{gap:12px;margin-top:1rem;display:flex}.comp-card-actions .btn{justify-content:center;align-items:center;display:inline-flex;border-radius:50px!important;padding:.6rem 1.5rem!important;font-size:.9rem!important;font-weight:700!important}.comp-card-actions .btn--primary{color:#fff;background-color:#059669;border:none}.comp-card-actions .btn--outline{color:#059669;background-color:#0000;border:2px solid #059669}@media (max-width:640px){.competition-card--horizontal{flex-direction:column;align-items:stretch;gap:1rem;padding:1.25rem}.comp-card-poster{aspect-ratio:4/5;width:100%;height:auto}.comp-card-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:.5rem;display:grid}.comp-card-actions .btn{white-space:nowrap;width:100%!important;padding:.6rem .75rem!important;font-size:.825rem!important}.team-member-list-item{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.team-member-list-item button{align-self:flex-end!important}.competition-team-row{flex-direction:column!important;align-items:stretch!important}.competition-team-row-left{flex-direction:row!important;align-items:flex-start!important}.competition-team-row-btn{text-align:center;width:100%!important}}.team-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition);flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.team-card:hover{border-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 8px 32px #0ea5e926}.team-card__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.team-card__name{font-size:1.05rem;font-weight:600}.team-card__slot{white-space:nowrap;font-size:.8rem}.slot--available{color:var(--color-success)}.slot--full{color:var(--color-danger)}.team-card__desc{color:var(--color-text-muted);font-size:.875rem}.team-card__competition{color:var(--color-text-muted);font-size:.8rem}.team-card__footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.team-card__avatars{gap:-4px;display:flex}.team-card__avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;border:2px solid var(--color-bg-card);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:-6px;font-size:.7rem;font-weight:700;display:flex}.team-card__avatar:first-child{margin-left:0}.team-card__avatar--more{background:var(--color-bg-hover);color:var(--color-text-muted)}.team-card__join-hint{color:var(--color-primary-light);font-size:.8rem}.home-page{padding:0}.hero{text-align:center;background:var(--color-bg);background-image:radial-gradient(var(--color-bg-hover) 2px, transparent 2px);background-size:32px 32px;flex-direction:column;justify-content:center;align-items:center;min-height:75vh;padding:6rem 1.5rem 4rem;display:flex}.hero__title{color:var(--color-text);margin-bottom:1.5rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1}.hero__subtitle{font-size:1.25rem;font-family:var(--font-sans);color:var(--color-text-muted);max-width:640px;margin:0 auto 3.5rem}.hero__cta{flex-wrap:wrap;justify-content:center;gap:1.25rem;display:flex}.section-head{text-align:center;max-width:640px;margin:0 auto 3rem;padding:0 1.5rem}.section-head__title{font-family:var(--font-display);color:var(--color-text);margin-bottom:.75rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700}.section-head__sub{font-family:var(--font-sans);color:var(--color-text-muted);font-size:1.05rem;line-height:1.6}.features-section{padding:5rem 0 4rem}.features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 1.5rem;display:grid}.feature-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;transition:all var(--transition);box-shadow:var(--shadow-card);padding:2rem}.feature-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.feature-card__icon{margin-bottom:1rem;font-size:2.5rem;display:block}.feature-card h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.feature-card p{color:var(--color-text-muted);font-size:.9rem}.back-link{color:var(--color-text-muted);transition:color var(--transition);align-items:center;margin-bottom:1.5rem;font-size:.875rem;display:inline-flex}.back-link:hover{color:var(--color-text)}.detail-header{margin-bottom:2rem}.detail-title{margin:.5rem 0;font-size:2rem;font-weight:700}.detail-deadline,.detail-teamsize,.detail-competition,.detail-members{color:var(--color-text-muted);margin-top:.4rem;font-size:.9rem}.detail-description{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:2rem;padding:1.5rem}.detail-description h2,.detail-teams h2,.members-section h2{margin-bottom:1rem;font-size:1.25rem;font-weight:600}.detail-teams,.members-section{margin-top:2rem}.members-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.member-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.member-card__avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:flex}.member-card__info{flex-direction:column;display:flex}.member-card__name{font-size:.875rem;font-weight:500}.member-card__role{color:var(--color-text-muted);font-size:.75rem}.join-section{margin-top:2rem}.dashboard-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.dashboard-grid{grid-template-columns:1fr 1fr}}.dashboard-section h2{border-bottom:1px solid var(--color-border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem;font-weight:600}.request-list{flex-direction:column;gap:.75rem;display:flex}.request-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.request-item__team{font-size:.9rem;font-weight:500}.request-item__date{color:var(--color-text-muted);font-size:.75rem}.request-item__status{font-size:.8rem;font-weight:600}.status--pending{color:var(--color-warning)}.status--accepted{color:var(--color-success)}.status--rejected{color:var(--color-danger)}.loader-wrapper{flex-direction:column;align-items:center;gap:.75rem;padding:3rem;display:flex}.loader-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:.8s linear infinite spin}.loader--sm{width:24px;height:24px}.loader--md{width:40px;height:40px}.loader--lg{width:56px;height:56px}.loader-text{color:var(--color-text-muted);font-size:.875rem}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999999;background:#0006;justify-content:center;align-items:center;padding:16px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-container{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;width:100%;max-width:600px;max-height:90vh;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 20px 40px #00000026}.modal-header{border-bottom:1px solid var(--color-border);z-index:10;background:#fff;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{font-size:1.25rem;font-weight:700;font-family:var(--font-display);color:var(--color-text)}.modal-close{background:var(--color-bg-hover);color:var(--color-text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.modal-close:hover{background:var(--color-danger);color:#fff}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:640px){.modal-overlay{align-items:flex-end;padding:10px}.modal-container{border-radius:20px 20px 0 0;max-height:85vh}.modal-form-grid{grid-template-columns:1fr}.modal-body{padding:1.25rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.empty-text{color:var(--color-text-muted);font-size:.9rem}.badge{color:var(--color-primary-light);background:#6366f126;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.team-details-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}.request-item-container{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;justify-content:space-between;align-items:center;padding:16px;display:flex}@media (max-width:600px){.team-details-grid{grid-template-columns:1fr;gap:16px}.request-item-container{flex-direction:column;align-items:flex-start;gap:16px}.request-item__actions{gap:8px;width:100%;display:flex}.request-item__actions button{flex:1;padding:10px!important}.team-header-card{padding:24px!important}.team-header-card h1{margin-top:10px;padding-right:0!important;font-size:1.5rem!important}.edit-team-btn{justify-content:center;width:100%;margin-bottom:16px;position:static!important}}
