@font-face{font-family:CoconPro;src:url(/fonts/CoconPro-Light.woff2)format("woff2"),url(/fonts/CoconPro-Light.woff)format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:CoconPro;src:url(/fonts/CoconPro-Regular.woff2)format("woff2"),url(/fonts/CoconPro-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:CoconPro;src:url(/fonts/CoconPro-Bold.woff2)format("woff2"),url(/fonts/CoconPro-Bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--color-primary:#e31f2b;--color-primary-dark:#be1f28;--color-primary-light:#f26657;--color-havblaa:#224f94;--color-pool:#0575b8;--color-sydhav:#099fd6;--color-guld:#daa746;--color-soelv:#9ab5c6;--color-bronze:#ba854f;--color-white:#fff;--color-bg:#f5f5f7;--color-surface:#fff;--color-gray-100:#f0f0f2;--color-gray-200:#e2e2e6;--color-gray-300:#c8c8cf;--color-gray-400:#9898a3;--color-gray-500:#6e6e7a;--color-gray-600:#4a4a56;--color-gray-700:#2d2d3a;--color-gray-800:#1a1a2e;--color-gray-900:#0d0d1a;--color-success:#10b981;--color-warning:#f59e0b;--font-sans:"Gadugi", "Trebuchet MS", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"CoconPro", "Gadugi", "Trebuchet MS", sans-serif;--font-size-xs:.6875rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.625rem;--font-size-3xl:2rem;--font-size-4xl:2.75rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:900;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 12px 32px #0000001a;--shadow-xl:0 20px 48px #00000024;--header-height:3.5rem;--nav-height:5rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-gray-700);background:var(--color-bg);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.5}#root{flex-direction:column;min-height:100dvh;display:flex}a{color:var(--color-primary);transition:color .15s;text-decoration:none!important}a:hover{color:var(--color-primary-dark);text-decoration:none!important}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}input,select,textarea{font:inherit;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-white);width:100%;color:var(--color-gray-800);transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #e31f2b14}img{max-width:100%;height:auto;display:block}h1,h2,h3{color:var(--color-gray-900);letter-spacing:-.02em;line-height:1.15}h1{font-size:var(--font-size-2xl);font-weight:var(--weight-bold)}h2{font-size:var(--font-size-xl);font-weight:var(--weight-semibold)}h3{font-size:var(--font-size-lg);font-weight:var(--weight-semibold)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header{height:var(--header-height);background:var(--color-white);border-bottom:1px solid var(--color-gray-100);z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header__inner{width:100%;max-width:480px;padding:0 var(--space-5);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header__brand{align-items:center;gap:var(--space-3);display:flex}.header__logo{flex-shrink:0;width:auto;height:2rem}.header__title{font-size:var(--font-size-base);font-weight:var(--weight-bold);color:var(--color-gray-900);letter-spacing:-.01em}.header__logout{color:var(--color-gray-400);padding:var(--space-2);border-radius:var(--radius-sm);transition:color .15s}.header__logout:hover{color:var(--color-gray-700)}.bottom-nav{height:var(--nav-height);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--color-gray-100);z-index:100;padding-bottom:env(safe-area-inset-bottom);background:#ffffffe6;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{padding:var(--space-2) var(--space-5);color:var(--color-gray-300);-webkit-tap-highlight-color:transparent;border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:3px;text-decoration:none;transition:color .15s,transform .1s;display:flex}.bottom-nav__item:hover{color:var(--color-gray-600);text-decoration:none}.bottom-nav__item--active{color:var(--color-primary)}.bottom-nav__item--active .bottom-nav__label{font-weight:var(--weight-semibold)}.bottom-nav__label{font-size:var(--font-size-xs);font-weight:var(--weight-medium)}.offline-banner{top:var(--header-height,3.5rem);justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-gray-800);color:var(--color-gray-200);font-size:var(--font-size-xs);font-weight:var(--weight-semibold);z-index:200;animation:.3s slide-down;display:flex;position:fixed;left:0;right:0}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.layout{flex-direction:column;min-height:100dvh;display:flex}.layout__main{padding:var(--space-6) var(--space-5);padding-top:calc(var(--header-height) + var(--space-6));padding-bottom:calc(var(--nav-height) + var(--space-6) + env(safe-area-inset-bottom));flex:1;width:100%;max-width:480px;margin:0 auto}.landing{background:var(--color-gray-900);flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.landing__bg{pointer-events:none;background:radial-gradient(at 20%,#e31f2b26 0%,#0000 60%),radial-gradient(at 80% 20%,#e31f2b14 0%,#0000 50%);position:absolute;inset:0}.landing__left{padding:var(--space-8);flex:1;justify-content:center;align-items:center;display:flex;position:relative}.landing__content{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:360px;display:flex;position:relative}.landing__right{display:none}.landing__logo{margin-bottom:var(--space-6)}.landing__logo-img{width:auto;height:5rem}.landing__title{font-family:var(--font-display);font-size:var(--font-size-4xl);font-weight:var(--weight-black);color:var(--color-white);letter-spacing:-.03em;margin-bottom:var(--space-1)}.landing__title-dot{color:var(--color-primary)}.landing__subtitle{font-size:var(--font-size-base);color:var(--color-gray-400);margin-bottom:var(--space-10);font-weight:var(--weight-medium);letter-spacing:.02em;text-transform:uppercase}.landing__features{gap:var(--space-4);width:100%;margin-bottom:var(--space-10);flex-direction:column;display:flex}.landing__feature{align-items:center;gap:var(--space-4);text-align:left;color:var(--color-gray-300);font-size:var(--font-size-base);display:flex}.landing__feature-icon{border-radius:var(--radius-md);background:#ffffff0f;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.375rem;display:flex}.landing__login{justify-content:center;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-5) var(--space-6);background:var(--color-primary);color:var(--color-white);font-size:var(--font-size-lg);font-weight:var(--weight-bold);border-radius:var(--radius-lg);transition:background .2s,transform .1s;display:flex;box-shadow:0 4px 24px #e31f2b4d}.landing__login:hover{background:var(--color-primary-light)}.landing__login:active{transform:scale(.97)}.landing__hint{margin-top:var(--space-5);font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}@media (width>=768px){.landing{flex-direction:row}.landing__left{flex:none;width:50%}.landing__right{width:50%;padding:var(--space-12) var(--space-10);background:#ffffff08;border-left:1px solid #ffffff0f;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.landing__sidebar-title{font-size:var(--font-size-xs);font-weight:var(--weight-bold);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-6)}.landing__events{gap:var(--space-3);flex-direction:column;max-width:400px;display:flex}.landing-event{align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:#ffffff0a;border:1px solid #ffffff0f;display:flex}.landing-event__date{background:var(--color-primary);border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:3rem;height:3rem;display:flex}.landing-event__day{font-size:var(--font-size-lg);font-weight:var(--weight-black);color:var(--color-white);line-height:1}.landing-event__month{font-size:.5625rem;font-weight:var(--weight-bold);color:#fffc;letter-spacing:.06em}.landing-event__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.landing-event__title{font-size:var(--font-size-sm);font-weight:var(--weight-semibold);color:var(--color-gray-200);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.landing-event__location{font-size:var(--font-size-xs);color:var(--color-gray-500)}.landing-event__discipline{font-size:.5625rem;font-weight:var(--weight-bold);color:var(--color-gray-500);padding:2px var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;background:#ffffff0f;flex-shrink:0}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.15}}.skeleton-pulse{background:var(--color-gray-200);border-radius:var(--radius-md);animation:1.5s ease-in-out infinite pulse}.skeleton-timeline{gap:var(--space-4);flex-direction:column;display:flex}.skeleton-card{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-white);border:1px solid var(--color-gray-100);display:flex}.skeleton-card--hero{padding:var(--space-5)}.skeleton-card__date{border-radius:var(--radius-md);flex-shrink:0;width:3.5rem;height:3.5rem}.skeleton-card--hero .skeleton-card__date{width:4.5rem;height:4.5rem}.skeleton-card__body{gap:var(--space-2);flex-direction:column;flex:1;justify-content:center;display:flex}.skeleton-card__title{width:70%;height:1rem}.skeleton-card__subtitle{width:50%;height:.75rem}.skeleton-card__desc{width:90%;height:.75rem;margin-top:var(--space-1)}.skeleton-profile{gap:var(--space-6);flex-direction:column;display:flex}.skeleton-profile__header{width:40%;height:2rem}.skeleton-profile__section{gap:var(--space-3);flex-direction:column;display:flex}.skeleton-profile__line{width:100%;height:2.5rem}.skeleton-profile__line--short{width:60%}.home__greeting{margin-bottom:var(--space-8)}.home__hello{font-size:var(--font-size-sm);color:var(--color-gray-400);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1)}.home__heading{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--weight-black);letter-spacing:-.03em}.home__empty{text-align:center;padding:var(--space-16) 0;color:var(--color-gray-400)}.home__timeline{gap:var(--space-4);flex-direction:column;display:flex}.timeline-card{gap:var(--space-5);background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);color:inherit;box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-100);text-decoration:none;transition:transform .15s,box-shadow .2s;display:flex}.timeline-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.timeline-card:active{transform:translateY(0)}.hero-card{gap:var(--space-4);background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-6);color:inherit;box-shadow:var(--shadow-md);border:1px solid var(--color-gray-100);flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .2s;display:flex}.hero-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.hero-card__top{justify-content:space-between;align-items:center;display:flex}.hero-card__date-block{background:var(--color-primary);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;min-width:5.5rem;height:5.5rem;display:flex}.hero-card__day{font-size:var(--font-size-4xl);font-weight:var(--weight-black);color:var(--color-white);letter-spacing:-.02em;line-height:1}.hero-card__month{font-size:var(--font-size-sm);font-weight:var(--weight-bold);color:#ffffffd9;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.hero-card__meta{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.hero-card__countdown{font-size:var(--font-size-sm);font-weight:var(--weight-bold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em}.hero-card__title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--weight-black);color:var(--color-gray-900);letter-spacing:-.02em;line-height:1.2}.hero-card__desc{font-size:var(--font-size-sm);color:var(--color-gray-500);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.hero-card__footer{justify-content:space-between;align-items:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-100);display:flex}.hero-card__info{gap:var(--space-1);flex-direction:column;display:flex}.hero-card__info-item{font-size:var(--font-size-xs);color:var(--color-gray-500)}.hero-card__discipline{font-size:var(--font-size-xs);font-weight:var(--weight-semibold);color:var(--color-gray-500);background:var(--color-gray-100);padding:2px var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.timeline-card__date{background:var(--color-primary);border-radius:var(--radius-lg);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:4.5rem;height:4.5rem;display:flex}.timeline-card__day{font-size:var(--font-size-3xl);font-weight:var(--weight-black);color:var(--color-white);letter-spacing:-.02em;line-height:1}.timeline-card__month{font-size:var(--font-size-xs);font-weight:var(--weight-bold);color:#fffc;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.timeline-card__body{justify-content:center;gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.timeline-card__countdown{font-size:var(--font-size-xs);font-weight:var(--weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em}.timeline-card__title{font-size:var(--font-size-lg);font-weight:var(--weight-bold);color:var(--color-gray-900);white-space:nowrap;text-overflow:ellipsis;line-height:1.25;overflow:hidden}.timeline-card__details{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-gray-500);display:flex}.timeline-card__range{color:var(--color-gray-400)}.timeline-card__discipline{font-size:var(--font-size-xs);font-weight:var(--weight-semibold);color:var(--color-gray-500);background:var(--color-gray-100);padding:2px var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;display:inline-block}.timeline-card__footer-row{align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.timeline-card__status{margin-top:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--weight-bold);padding:2px var(--space-3);border-radius:var(--radius-full);align-self:flex-start;display:inline-block}.timeline-card__status--confirmed{color:#059669;background:#10b9811a}.timeline-card__status--pending{color:#d97706;background:#f59e0b1a}.spinner{padding:var(--space-16) 0;justify-content:center;align-items:center;display:flex}.spinner__ring{border:3px solid var(--color-gray-100);border-top-color:var(--color-primary);border-radius:50%;width:2.25rem;height:2.25rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.activity-detail__header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.activity-detail__back{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--color-gray-400);transition:color .15s;display:inline-flex}.activity-detail__back:hover{color:var(--color-primary)}.activity-detail__badge{font-size:var(--font-size-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:#e31f2b0f;display:inline-block}.activity-detail h1{font-size:var(--font-size-2xl);font-weight:var(--weight-black);letter-spacing:-.02em;margin-bottom:var(--space-6)}.activity-detail__info{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--color-gray-100);margin-bottom:var(--space-6)}.activity-detail__row{padding:var(--space-3) 0;justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.activity-detail__row+.activity-detail__row{border-top:1px solid var(--color-gray-100)}.activity-detail__row dt{font-size:var(--font-size-sm);color:var(--color-gray-400);font-weight:var(--weight-medium);flex-shrink:0}.activity-detail__row dd{font-size:var(--font-size-sm);font-weight:var(--weight-semibold);color:var(--color-gray-800);text-align:right}.activity-detail__map-link{color:var(--color-primary);font-weight:var(--weight-medium);word-break:break-word}.activity-detail__desc{color:var(--color-gray-500);margin-bottom:var(--space-6);line-height:1.65;font-size:var(--font-size-base)}.activity-detail__statuses{background:var(--color-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);margin-bottom:var(--space-6);overflow:hidden}.activity-detail__status-row{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);display:flex}.activity-detail__status-row+.activity-detail__status-row{border-top:1px solid var(--color-gray-100)}.activity-detail__status-icon{border-radius:var(--radius-full);width:1.5rem;height:1.5rem;font-size:var(--font-size-xs);font-weight:var(--weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.activity-detail__status-row--ok .activity-detail__status-icon{color:#059669;background:#10b9811f}.activity-detail__status-row--pending .activity-detail__status-icon{color:#d97706;background:#f59e0b1f}.activity-detail__status-label{font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--color-gray-700);flex:1}.activity-detail__status-value{font-size:var(--font-size-sm);font-weight:var(--weight-bold)}.activity-detail__status-row--ok .activity-detail__status-value{color:#059669}.activity-detail__status-row--pending .activity-detail__status-value{color:#d97706}.activity-detail__cta{background:var(--color-primary);color:var(--color-white);font-weight:var(--weight-bold);padding:var(--space-5);border-radius:var(--radius-lg);justify-content:center;align-items:center;transition:background .15s,transform .1s;display:flex;box-shadow:0 4px 16px #e31f2b33}.activity-detail__cta:hover{background:var(--color-primary-dark);text-decoration:none}.activity-detail__cta:active{transform:scale(.98)}.activity-detail__athletes{margin-top:var(--space-8)}.activity-detail__athletes h2{font-size:var(--font-size-lg);font-weight:var(--weight-bold);margin-bottom:var(--space-4);align-items:center;gap:var(--space-2);display:flex}.activity-detail__athletes-count{font-size:var(--font-size-xs);font-weight:var(--weight-bold);background:var(--color-gray-100);color:var(--color-gray-500);border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;display:inline-flex}.athlete-list{background:var(--color-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);list-style:none;overflow:hidden}.athlete-list__item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.athlete-list__item+.athlete-list__item{border-top:1px solid var(--color-gray-100)}.athlete-list__avatar{border-radius:var(--radius-full);background:var(--color-gray-100);width:2rem;height:2rem;color:var(--color-gray-600);font-size:var(--font-size-sm);font-weight:var(--weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.athlete-list__info{flex-direction:column;flex:1;min-width:0;display:flex}.athlete-list__name{font-size:var(--font-size-sm);font-weight:var(--weight-semibold);color:var(--color-gray-800)}.athlete-list__club{font-size:var(--font-size-xs);color:var(--color-gray-400)}.athlete-list__badge{border-radius:var(--radius-full);width:1.5rem;height:1.5rem;font-size:var(--font-size-xs);font-weight:var(--weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.athlete-list__badge--ok{color:#059669;background:#10b9811f}.athlete-list__badge--pending{color:#d97706;background:#f59e0b1f}.activity-detail__docs{margin-top:var(--space-10)}.activity-detail__docs h2{font-size:var(--font-size-lg);font-weight:var(--weight-bold);margin-bottom:var(--space-4)}.doc-list{gap:var(--space-3);flex-direction:column;list-style:none;display:flex}.doc-list__item{align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--space-4);display:flex}.doc-list__icon{flex-shrink:0;font-size:1.375rem}.doc-list__info{flex-direction:column;min-width:0;display:flex}.doc-list__name{font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--color-gray-800);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doc-list__meta{font-size:var(--font-size-xs);color:var(--color-gray-400)}.profile-page__header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.profile-page__header h1{font-size:var(--font-size-2xl);font-weight:var(--weight-black);letter-spacing:-.02em}.profile-page__toast{background:var(--color-success);color:var(--color-white);text-align:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--font-size-sm);font-weight:var(--weight-semibold)}.passport-warning{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--weight-medium);margin-top:var(--space-3);line-height:1.5;display:flex}.passport-warning--expired{color:#dc2626;background:#ef444414;border:1px solid #ef444433}.passport-warning--soon{color:#b45309;background:#f59e0b14;border:1px solid #f59e0b33}.profile-section{background:var(--color-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-4)}.profile-section h2{font-size:var(--font-size-sm);font-weight:var(--weight-bold);margin-bottom:var(--space-4);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em}.profile-fields{gap:var(--space-4);flex-direction:column;display:flex}.photo-upload{align-items:flex-start;gap:var(--space-4);display:flex}.photo-upload--document{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-gray-100)}.photo-upload__preview{background:var(--color-gray-100);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo-upload__preview--headshot{width:5rem;height:6.5rem}.photo-upload__preview--passport{width:6rem;height:4rem}.photo-upload__preview img{object-fit:cover;width:100%;height:100%}.photo-upload__placeholder{opacity:.4;font-size:1.5rem}.photo-upload__info{flex:1;min-width:0}.photo-upload__hint{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-bottom:var(--space-3);line-height:1.45}.photo-upload__btn{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);cursor:pointer;align-items:center;display:inline-flex}.photo-upload__input{display:none}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-size:var(--font-size-xs);color:var(--color-gray-400);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.03em}.field__value{font-size:var(--font-size-base);color:var(--color-gray-800);font-weight:var(--weight-medium)}.field__input{font-size:var(--font-size-base)}.field__textarea{font:inherit;border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);resize:vertical;width:100%;min-height:4rem}.field__textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #e31f2b14}.field__radio-group{gap:var(--space-5);display:flex}.field__radio{align-items:center;gap:var(--space-2);font-size:var(--font-size-base);cursor:pointer;display:flex}.field__radio input[type=radio]{width:auto;accent-color:var(--color-primary)}.profile-page__actions{gap:var(--space-3);margin-top:var(--space-6);display:flex}.btn{padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-weight:var(--weight-bold);font-size:var(--font-size-sm);transition:background .15s,transform .1s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.btn--primary{background:var(--color-primary);color:var(--color-white);flex:1;box-shadow:0 4px 12px #e31f2b33}.btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn--outline{border:1.5px solid var(--color-gray-200);color:var(--color-gray-600);background:var(--color-white)}.btn--outline:hover{border-color:var(--color-gray-300);background:var(--color-gray-100)}.documents-page h1{font-size:var(--font-size-2xl);font-weight:var(--weight-black);letter-spacing:-.02em;margin-bottom:var(--space-6)}.documents-page__groups{gap:var(--space-8);flex-direction:column;display:flex}.doc-group__title{font-size:var(--font-size-sm);font-weight:var(--weight-bold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3)}.doc-group__list{gap:var(--space-3);flex-direction:column;list-style:none;display:flex}.doc-item{align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow .15s;display:flex}.doc-item:hover{box-shadow:var(--shadow-md)}.doc-item__icon{flex-shrink:0;font-size:1.25rem}.doc-item__content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.doc-item__name{font-size:var(--font-size-sm);font-weight:var(--weight-medium);color:var(--color-gray-800);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doc-item__meta{font-size:var(--font-size-xs);color:var(--color-gray-400)}.doc-item__download{color:var(--color-gray-300);padding:var(--space-2);border-radius:var(--radius-sm);flex-shrink:0;transition:color .15s,background .15s}.doc-item__download:hover{color:var(--color-primary);background:#e31f2b0d}.confirm-page{min-height:100dvh;padding:var(--space-6);background:var(--color-gray-50);justify-content:center;align-items:center;display:flex}.confirm-page__card{background:var(--color-white);border-radius:var(--radius-xl);width:100%;max-width:480px;padding:var(--space-8);box-shadow:var(--shadow-lg)}.confirm-page__badge{font-size:var(--font-size-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-havblaa);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);margin-bottom:var(--space-4);background:#224f9414;display:inline-block}.confirm-page__title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--weight-black);color:var(--color-gray-900);margin-bottom:var(--space-5)}.confirm-page__info{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.confirm-page__row{align-items:baseline;gap:var(--space-3);display:flex}.confirm-page__row dt{font-size:var(--font-size-xs);font-weight:var(--weight-semibold);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em;min-width:5rem}.confirm-page__row dd{font-size:var(--font-size-sm);color:var(--color-gray-800);font-weight:var(--weight-medium)}.confirm-page__desc{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-gray-100);line-height:1.6}.confirm-page__prompt{margin-bottom:var(--space-6)}.confirm-page__prompt h2{font-size:var(--font-size-lg);font-weight:var(--weight-bold);color:var(--color-gray-900);margin-bottom:var(--space-2)}.confirm-page__prompt p{font-size:var(--font-size-sm);color:var(--color-gray-600)}.confirm-page__actions{gap:var(--space-3);flex-direction:column;display:flex}.confirm-page__btn{width:100%;padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);font-weight:var(--weight-bold);border-radius:var(--radius-lg);text-align:center;transition:background .2s,transform .1s}.confirm-page__btn:active{transform:scale(.97)}.confirm-page__btn--confirm{background:var(--color-primary);color:var(--color-white);box-shadow:0 4px 16px #e31f2b40}.confirm-page__btn--confirm:hover{background:var(--color-primary-dark)}.confirm-page__btn--decline{color:var(--color-gray-600);border:1px solid var(--color-gray-200);background:0 0}.confirm-page__btn--decline:hover{background:var(--color-gray-50);color:var(--color-gray-800)}.confirm-page__btn--cancel{color:var(--color-gray-500);font-weight:var(--weight-medium);padding:var(--space-3) var(--space-6);background:0 0}.confirm-page__btn--cancel:hover{color:var(--color-gray-700)}.confirm-page__btn:disabled{opacity:.4;pointer-events:none}.confirm-page__decline-form{gap:var(--space-4);flex-direction:column;display:flex}.confirm-page__decline-label{font-size:var(--font-size-sm);font-weight:var(--weight-semibold);color:var(--color-gray-800)}.confirm-page__decline-textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);resize:vertical;min-height:5rem;color:var(--color-gray-800);font-family:inherit;transition:border-color .2s}.confirm-page__decline-textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #e31f2b1a}.confirm-page__result{text-align:center;max-width:400px}.confirm-page__result-icon{border-radius:var(--radius-full);width:4rem;height:4rem;font-size:var(--font-size-2xl);font-weight:var(--weight-black);margin-bottom:var(--space-5);justify-content:center;align-items:center;display:inline-flex}.confirm-page__result--ok .confirm-page__result-icon{color:#16a34a;background:#22c55e1a}.confirm-page__result--declined .confirm-page__result-icon{color:var(--color-primary);background:#ef44441a}.confirm-page__result h1{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--weight-black);color:var(--color-gray-900);margin-bottom:var(--space-3)}.confirm-page__result p{font-size:var(--font-size-base);color:var(--color-gray-600);line-height:1.5}.confirm-page__sub{margin-top:var(--space-2);font-size:var(--font-size-sm)!important;color:var(--color-gray-500)!important}.confirm-page__link{margin-top:var(--space-6);font-size:var(--font-size-sm);font-weight:var(--weight-semibold);color:var(--color-primary);display:inline-block}.confirm-page__link:hover{text-decoration:underline}.club-confirm{min-height:100dvh;padding:var(--space-6);background:var(--color-gray-50);justify-content:center;align-items:center;display:flex}.club-confirm__card{background:var(--color-white);border-radius:var(--radius-xl);width:100%;max-width:480px;padding:var(--space-8);box-shadow:var(--shadow-lg)}.club-confirm__header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-gray-100);display:flex}.club-confirm__header-label{font-size:var(--font-size-sm);font-weight:var(--weight-bold);color:var(--color-gray-700)}.club-confirm__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--weight-black);color:var(--color-gray-900);margin-bottom:var(--space-3)}.club-confirm__intro{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-bottom:var(--space-6);line-height:1.6}.club-confirm__athlete{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-lg);margin-bottom:var(--space-6);display:flex}.club-confirm__athlete-avatar{border-radius:var(--radius-full);background:var(--color-primary);width:2.5rem;height:2.5rem;color:var(--color-white);font-weight:var(--weight-bold);font-size:var(--font-size-base);justify-content:center;align-items:center;display:flex}.club-confirm__athlete-name{font-size:var(--font-size-sm);font-weight:var(--weight-semibold);color:var(--color-gray-900);display:block}.club-confirm__athlete-club{font-size:var(--font-size-xs);color:var(--color-gray-500);display:block}.club-confirm__event{padding:var(--space-5);background:var(--color-gray-50);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.club-confirm__badge{font-size:var(--font-size-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-havblaa);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);margin-bottom:var(--space-3);background:#224f9414;display:inline-block}.club-confirm__event h2{font-size:var(--font-size-base);font-weight:var(--weight-bold);color:var(--color-gray-900);margin-bottom:var(--space-3)}.club-confirm__info{gap:var(--space-2);flex-direction:column;display:flex}.club-confirm__row{align-items:baseline;gap:var(--space-3);display:flex}.club-confirm__row dt{font-size:var(--font-size-xs);font-weight:var(--weight-semibold);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em;min-width:5rem}.club-confirm__row dd{font-size:var(--font-size-sm);color:var(--color-gray-800)}.club-confirm__btn{width:100%;padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);font-weight:var(--weight-bold);border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-white);transition:background .2s,transform .1s;box-shadow:0 4px 16px #e31f2b40}.club-confirm__btn:hover{background:var(--color-primary-dark)}.club-confirm__btn:active{transform:scale(.97)}.club-confirm__result{text-align:center;max-width:400px}.club-confirm__result-icon{border-radius:var(--radius-full);width:4rem;height:4rem;font-size:var(--font-size-2xl);font-weight:var(--weight-black);margin-bottom:var(--space-5);color:#16a34a;background:#22c55e1a;justify-content:center;align-items:center;display:inline-flex}.club-confirm__result h1{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--weight-black);color:var(--color-gray-900);margin-bottom:var(--space-3)}.club-confirm__result p{font-size:var(--font-size-base);color:var(--color-gray-600);line-height:1.5}.club-confirm__sub{margin-top:var(--space-2);font-size:var(--font-size-sm)!important;color:var(--color-gray-500)!important}
